日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

linq 清除一条数据中的某个字段值_B端通用批量数据导入方案设计

發(fā)布時間:2023/12/2 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linq 清除一条数据中的某个字段值_B端通用批量数据导入方案设计 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

點(diǎn)擊上方藍(lán)色字體,關(guān)注我

B端通用批量數(shù)據(jù)導(dǎo)入方案設(shè)計

文 | 3548字

估計閱讀 | 9分鐘

引題

B端產(chǎn)品經(jīng)常遇到大量數(shù)據(jù)錄入的需求。如春季招聘完成后,給新招的120個員工建立員工檔案,并創(chuàng)建員工帳號。如果逐條將大量的數(shù)據(jù)錄入系統(tǒng),將花費(fèi)用戶不少的時間。

新員工的員工信息通常會填寫在一個excel表格中,人力在匯總后,錄入系統(tǒng)。

如果逐個錄入,每創(chuàng)建一個員工的員工檔案,有以下幾個步驟:

1. 打開創(chuàng)建員工檔案的表單頁;

2. 對照著員工信息,在表單中輸入員工姓名、手機(jī)號、身份證號······;

3. 保存數(shù)據(jù);

4. 打開新的表單頁,重復(fù)以上操作。

如果錄入1個員工需要1分鐘,120個員工,就需要花費(fèi)2個小時。

與此同時,用戶在大量地、重復(fù)做同樣的操作時,犯錯的概率也會增加。這導(dǎo)致錄入的數(shù)據(jù)可能出現(xiàn)問題。

將張三的身份證號,錯誤地粘貼到了李四的員工檔案中,或者填寫到其他的字段中。

在批量數(shù)據(jù)錄入場景下,數(shù)據(jù)導(dǎo)入功能,用戶可以將正確的原始數(shù)據(jù)整理到表格中,快速導(dǎo)入到數(shù)據(jù)庫。有效解決“逐條數(shù)據(jù)錄入效率低下”和“操作失誤導(dǎo)致數(shù)據(jù)錯誤”問題。

如何設(shè)計批量數(shù)據(jù)導(dǎo)入功能?

用戶在批量導(dǎo)入數(shù)據(jù)前,需要先將要錄入系統(tǒng)的數(shù)據(jù),整理成導(dǎo)入文件。再將導(dǎo)入文件上傳到系統(tǒng)中,系統(tǒng)完成數(shù)據(jù)校驗后,再將導(dǎo)入文件中的數(shù)據(jù),寫入數(shù)據(jù)庫。

從這個流程可以得出,批量數(shù)據(jù)導(dǎo)入功能的核心點(diǎn)有:合理設(shè)計導(dǎo)入模版、明確數(shù)據(jù)校驗規(guī)則、異步導(dǎo)入數(shù)據(jù)、導(dǎo)入結(jié)果處理。

1.合理設(shè)計導(dǎo)入模版

由于excel具備強(qiáng)大的批量數(shù)據(jù)處理能力和便捷的操作體驗,用excel整理導(dǎo)入文件是最合適的方式。

但用戶自己并不清楚導(dǎo)入數(shù)據(jù)要如何整理導(dǎo)入文件中。因此,我們需要設(shè)計一個導(dǎo)入模版,按業(yè)務(wù)數(shù)據(jù)表的格式要求,對要導(dǎo)入的數(shù)據(jù)進(jìn)行格式規(guī)范,確保要導(dǎo)入的數(shù)據(jù)合法。

員工信息表中“性別”字段的要求是:必填、枚舉類型(男、女)。若導(dǎo)入表格中對應(yīng)列的值出現(xiàn)了空值或“不詳”,則數(shù)據(jù)非法。

導(dǎo)入非法的數(shù)據(jù),就會導(dǎo)致業(yè)務(wù)數(shù)據(jù)出現(xiàn)錯誤。

在設(shè)計導(dǎo)入模版時,要根據(jù)業(yè)務(wù)的實際情況,梳理出所有的字段,確定每個字段的格式要求,并給出對應(yīng)的提示信息。具體要求如下:

1. 明確字段格式:關(guān)鍵字段都要有明確的要求,以引導(dǎo)用戶準(zhǔn)確整理導(dǎo)入文件。如手機(jī)號字段必須是11位數(shù)字,性別必須是男、女中的一個值;

2. 精確到最小顆粒:導(dǎo)入模版中的每一列,都要精確到最小顆粒,盡量不要將多個字段混在一列中,否則在校驗數(shù)據(jù)時,必須要先拆分單元格的內(nèi)容,才能對單個數(shù)據(jù)值進(jìn)行校驗,增加數(shù)據(jù)校驗的復(fù)雜度。如省、市、區(qū)應(yīng)該分3列,而不是一列導(dǎo)入;

3. 在表格中給出填寫規(guī)范提示信息,以減少用戶填寫錯誤的概率。

在導(dǎo)入數(shù)據(jù)前,要引導(dǎo)用戶下載導(dǎo)入模版,并按模版中的格式要求,整理好需要錄入系統(tǒng)的數(shù)據(jù)。

▋2.明確數(shù)據(jù)校驗規(guī)則

2.1導(dǎo)入文件格式校驗

數(shù)據(jù)校驗的第一步,是校驗導(dǎo)入文件的格式是否正確。如果導(dǎo)入文件格式只支持excel,而用戶上傳了pdf格式的文件,那導(dǎo)入一定無法完成。

2.2導(dǎo)入文件表頭校驗

格式校驗沒問題后,再校驗導(dǎo)入文件表頭是否與數(shù)據(jù)表中,需要導(dǎo)入的字段是否匹配。

表頭校驗的方法是:將導(dǎo)入文件的表頭每個字段與數(shù)據(jù)表需要導(dǎo)入的字段逐一比對,檢查同一序號對應(yīng)列的字段名是否一致。只有導(dǎo)入文件所有字段序號和字段名與數(shù)據(jù)表完全一致時,導(dǎo)入文件表頭校驗才匹配。

導(dǎo)入文件中第一列是“手機(jī)號”,但數(shù)據(jù)表第一列是“姓名”,即為不匹配;

導(dǎo)入文件第一列是“手機(jī)號”,數(shù)據(jù)表第一列是“手機(jī)號碼”,也是不匹配。

數(shù)據(jù)導(dǎo)入時,系統(tǒng)會按照字段名進(jìn)行匹配,將導(dǎo)入文件中的數(shù)據(jù),寫入數(shù)據(jù)表中對應(yīng)位置的、同名的字段中。

若不匹配,在數(shù)據(jù)導(dǎo)入時,導(dǎo)入文件中的數(shù)據(jù)無法找到對應(yīng)的數(shù)據(jù)表字段,從而無法導(dǎo)入。

2.3導(dǎo)入文件字段值校驗

表頭校驗正常后,再對導(dǎo)入文件中具體的字段值做校驗,確認(rèn)其是否合法。

如果不對字段值進(jìn)行合法性校驗,直接導(dǎo)入到數(shù)據(jù)表中,就有可能導(dǎo)致業(yè)務(wù)數(shù)據(jù)錯誤,甚至引發(fā)嚴(yán)重事故。

導(dǎo)入文件中“獎勵積分”列的值,本來應(yīng)該填寫?yīng)剟畹姆e分?jǐn)?shù)量,但被錯誤地填入了用戶手機(jī)號,結(jié)果導(dǎo)致每個用戶發(fā)放了100多億個積分。

字段值校驗的方法是:根據(jù)數(shù)據(jù)表對各個字段值的格式定義,逐個檢查導(dǎo)入文件中的對應(yīng)字段的值是否合法。字段值校驗可能會遇到以下不合法的情況:

1. 基本要求不滿足:導(dǎo)入模版中有要求值的字符類型、字符長度、業(yè)務(wù)規(guī)則限制,但導(dǎo)入文件就中的值不滿足。若強(qiáng)行導(dǎo)入,會導(dǎo)致數(shù)據(jù)錯誤。如導(dǎo)入模版要求是11位數(shù)字,導(dǎo)入文件的值是中英文的字符;

2. 找不到匹配的值:導(dǎo)入文件中的部分字段的值,要求在已有數(shù)據(jù)表中存在,但數(shù)據(jù)表中查不到。若強(qiáng)行導(dǎo)入,會導(dǎo)致該數(shù)據(jù)找不到對應(yīng)的歸屬主體。如導(dǎo)入文件中“用戶ID”的值,在用戶表中找不到;

3. 與其他字段的值不匹配:某幾個字段的值之間有聯(lián)動關(guān)系,但導(dǎo)入文件中的值聯(lián)動關(guān)系錯誤。若強(qiáng)行導(dǎo)入,會導(dǎo)致對應(yīng)數(shù)據(jù)錯亂。如導(dǎo)入文件有員工籍貫所在地,分省、市、區(qū)3列,若省的值為廣東,則該條數(shù)據(jù)中,市的值必須是廣東省的地級市,不允許出現(xiàn)了其他省的市。

數(shù)據(jù)校驗完成后,根據(jù)數(shù)據(jù)校驗結(jié)果,決定是否導(dǎo)入數(shù)據(jù),或?qū)肽男┬械臄?shù)據(jù)。對于所有列的值都合法的數(shù)據(jù)行,可以直接導(dǎo)入;而數(shù)據(jù)行的任意一列的值不合法,則該行數(shù)據(jù)無法導(dǎo)入。

▋3.使用異步方式,快速導(dǎo)入正確數(shù)據(jù)

在批量錄入數(shù)據(jù)的場景下,用戶的核心需求是:快速將數(shù)據(jù)錄入系統(tǒng)。產(chǎn)品方案應(yīng)該要圍繞該核心需求來設(shè)計。

3.1 字段值完全正確的數(shù)據(jù)行,可以直接導(dǎo)入

在執(zhí)行數(shù)據(jù)導(dǎo)入前,我們有必要先確定導(dǎo)入文件中,每一行的數(shù)據(jù)都完全正確嗎?其實并不需要。

用戶在整理導(dǎo)入文件時,難免會出一些小錯誤。比如導(dǎo)入文件有100行數(shù)據(jù),某1行數(shù)據(jù)的某個值錯誤,但剩下的99行數(shù)據(jù)的值都是正確的。

如果要求所有數(shù)據(jù)都完全正確,才能被導(dǎo)入,那就會導(dǎo)致完全正確的大部分?jǐn)?shù)據(jù),不能更“及時”地錄入系統(tǒng)中,必須要將其中極少數(shù)錯誤的數(shù)據(jù)修正后,重新檢驗數(shù)據(jù),再嘗試導(dǎo)入。

更高效的做法是:導(dǎo)入文件中,字段值完全正確的數(shù)據(jù)行,可以直接導(dǎo)入,而錯誤的部分?jǐn)?shù)據(jù)行,提供下載功能,讓用戶修改后,重新導(dǎo)入。

3.2覆蓋更新已有數(shù)據(jù)

在系統(tǒng)導(dǎo)入過程中,若某條數(shù)據(jù)在系統(tǒng)中已經(jīng)存在,而導(dǎo)入文件也包含了該條數(shù)據(jù),此時應(yīng)該如何處理?

在產(chǎn)品的角度看,通常有三種處理方式:

1. 不允許導(dǎo)入。若用戶需要更新該條數(shù)據(jù),就需要先刪除已有數(shù)據(jù)再重新導(dǎo)入,或到系統(tǒng)中修改;

2. 詢問用戶是否要覆蓋已有數(shù)據(jù)。系統(tǒng)要找出已存在的數(shù)據(jù),標(biāo)記兩者之間的差異,用戶選擇是否要更新后,自動執(zhí)行;

3. 直接覆蓋已有數(shù)據(jù)。用戶無需做任何處理。

很明顯,第3種處理方式的用戶操作成本及研發(fā)成本都是更低的。

導(dǎo)入5月份的考試成績時,通過學(xué)號查詢,發(fā)現(xiàn)張三的成績已經(jīng)導(dǎo)入過了。此時,將根據(jù)導(dǎo)入數(shù)據(jù),更新張三的成績。

采用這種方式,默認(rèn)了需要導(dǎo)入的數(shù)據(jù),比系統(tǒng)中已存在的數(shù)據(jù)更及時、更準(zhǔn)確。因此,我們必須要用戶:若檢測到導(dǎo)入數(shù)據(jù)在數(shù)據(jù)表中已存在,則更新該條數(shù)據(jù)。

3.3 系統(tǒng)異步處理

如果需要導(dǎo)入的數(shù)據(jù)量大,且系統(tǒng)性能不足,系統(tǒng)就要花費(fèi)較長的時間來處理。在等待系統(tǒng)處理完成期間,用戶想關(guān)掉導(dǎo)入頁面,去做其他操作,怎么辦?

從研發(fā)的角度看,系統(tǒng)處理數(shù)據(jù),通常有同步和異步兩種方式。

所謂的同步,指發(fā)起請求后,后端必須立即響應(yīng),處理完成時返回結(jié)果。而異步,指的是發(fā)起請求后,后端會先接收請求,并在“自己”方便的時候進(jìn)行處理,處理完成后,再返回結(jié)果。

如果使用同步方式,就會導(dǎo)致用戶等待時間過長,甚至最后可能因為超時而導(dǎo)入失敗,給用戶帶來極大的負(fù)面感受。而使用異步方式導(dǎo)入,用戶上傳文件后,即可關(guān)閉導(dǎo)入窗口,放心地去做其他操作,且不會因超時而導(dǎo)入失敗。

異步導(dǎo)入,既避免用戶浪費(fèi)時間等待,又降低了導(dǎo)入失敗的概率,用戶體驗明顯更好。

▋4.顯示導(dǎo)入結(jié)果,引導(dǎo)下載導(dǎo)入失敗數(shù)據(jù)

數(shù)據(jù)導(dǎo)入完成后,需顯示導(dǎo)入結(jié)果,告知用戶導(dǎo)入成功了多少、失敗了多少。

對于導(dǎo)入失敗的數(shù)據(jù),提供下載導(dǎo)入失敗數(shù)據(jù)的入口,并在導(dǎo)出文件中標(biāo)記出不正確的值。這樣,用戶可以在修正后,重新導(dǎo)入。

批量導(dǎo)入方案的優(yōu)點(diǎn)

上文描述的批量導(dǎo)入方案,不僅能滿足用戶批量錄入數(shù)據(jù)的需求,還能低成本地復(fù)用到其他功能模塊。

使用異步的方式來導(dǎo)入,用戶將導(dǎo)入文件上傳到系統(tǒng)后,即可放心地去做別的工作,數(shù)據(jù)導(dǎo)入完成后,再來查看導(dǎo)入結(jié)果。大幅度提升了數(shù)據(jù)錄入效率。

當(dāng)另一個功能模塊也需要用到數(shù)據(jù)導(dǎo)入功能時,只需要修改導(dǎo)入模版和字段值校驗規(guī)則,即完成產(chǎn)品方案設(shè)計和開發(fā)。有效提升了產(chǎn)品方案輸出和功能開發(fā)的效率,降低人力成本。

總結(jié)

批量數(shù)據(jù)導(dǎo)入能快速將數(shù)據(jù)錄入系統(tǒng),降低企業(yè)的人力成本。在設(shè)計產(chǎn)品方案時,應(yīng)該在確保導(dǎo)入性能足夠的條件下,避免用戶等待,并降低產(chǎn)品和研發(fā)的人力成本,提高用戶和產(chǎn)品研發(fā)團(tuán)隊的工作效率。

5年產(chǎn)品經(jīng)理

專注后臺產(chǎn)品方向

長按掃碼加好友

總結(jié)

以上是生活随笔為你收集整理的linq 清除一条数据中的某个字段值_B端通用批量数据导入方案设计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。