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

11 評論 20687 瀏覽 137 收藏 15 分鐘

編輯導(dǎo)語:B端產(chǎn)品往往有大量數(shù)據(jù)的需求錄入,如果逐條將數(shù)據(jù)錄入系統(tǒng),將會花費不少的時間。同時,在大量重復(fù)同樣的操作時,也會增加犯錯的概率,導(dǎo)致錄入的數(shù)據(jù)出現(xiàn)問題。為例解決這個問題,本文作者試想在批量數(shù)據(jù)錄入場景下,通過數(shù)據(jù)導(dǎo)入功能,用戶將正確的數(shù)據(jù)整理到表格中,快速導(dǎo)入到數(shù)據(jù)庫,希望能給大家?guī)硪恍﹩l(fā)。

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

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

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

  1. 打開創(chuàng)建員工檔案的表單頁
  2. 對照著員工信息,在表單中輸入員工姓名、手機號、身份證號······
  3. 保存數(shù)據(jù)
  4. 打開新的表單頁,重復(fù)以上操作。

如果錄入1個員工需要1分鐘,那120個員工,就需要花費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ù)錯誤”問題。

1. 如何設(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)入功能的核心點有:合理設(shè)計導(dǎo)入模版、明確數(shù)據(jù)校驗規(guī)則、異步導(dǎo)入數(shù)據(jù)、導(dǎo)入結(jié)果處理。

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

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

但用戶自己并不清楚導(dǎo)入數(shù)據(jù)要如何整理導(dǎo)入文件中,因此我們需要設(shè)計一個導(dǎo)入模版,按業(yè)務(wù)數(shù)據(jù)表的格式要求,對要導(dǎo)入的數(shù)據(jù)進行格式規(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)入文件。如手機號字段必須是11位數(shù)字,性別必須是男、女中的一個值;
  2. 精確到最小顆粒:導(dǎo)入模版中的每一列,都要精確到最小顆粒,盡量不要將多個字段混在一列中,否則在校驗數(shù)據(jù)時,必須要先拆分單元格的內(nèi)容,才能對單個數(shù)據(jù)值進行校驗,增加數(shù)據(jù)校驗的復(fù)雜度。如省、市、區(qū)應(yīng)該分3列,而不是一列導(dǎo)入;
  3. 在表格中給出填寫規(guī)范提示信息,以減少用戶填寫錯誤的概率。

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

1.2 明確數(shù)據(jù)校驗規(guī)則

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

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

1.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)入文件中第一列是“手機號”,但數(shù)據(jù)表第一列是“姓名”,即為不匹配;
  • 導(dǎo)入文件中第一列是“手機號”,數(shù)據(jù)表第一列是“手機號碼”,也是不匹配。

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

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

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

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

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

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

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

字段值校驗可能會遇到以下不合法的情況:

  • 基本要求不滿足:導(dǎo)入模版中有要求值的字符類型、字符長度、業(yè)務(wù)規(guī)則限制,但導(dǎo)入文件就中的值不滿足。若強行導(dǎo)入,會導(dǎo)致數(shù)據(jù)錯誤。如導(dǎo)入模版要求是11位數(shù)字,導(dǎo)入文件的值是中英文的字符;
  • 找不到匹配的值:導(dǎo)入文件中的部分字段的值,要求在已有數(shù)據(jù)表中存在,但數(shù)據(jù)表中查不到。若強行導(dǎo)入,會導(dǎo)致該數(shù)據(jù)找不到對應(yīng)的歸屬主體。如導(dǎo)入文件中“用戶ID”的值,在用戶表中找不到;
  • 與其他字段的值不匹配:某幾個字段的值之間有聯(lián)動關(guān)系,但導(dǎo)入文件中的值聯(lián)動關(guān)系錯誤。若強行導(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)入。

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

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

1.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)入。

1.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ù),更新張三的成績。

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

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

如果需要導(dǎo)入的數(shù)據(jù)量大,且系統(tǒng)性能不足,系統(tǒng)就要花費較長的時間來處理。

在等待系統(tǒng)處理完成期間,用戶想關(guān)掉導(dǎo)入頁面,去做其他操作,怎么辦?

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

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

如果使用同步方式,就會導(dǎo)致用戶等待時間過長,甚至最后可能因為超時而導(dǎo)入失敗,給用戶帶來極大的負面感受。

而使用異步方式導(dǎo)入,用戶上傳文件后,即可關(guān)閉導(dǎo)入窗口,放心地去做其他操作,且不會應(yīng)超時而導(dǎo)入失敗。

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

1.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)入。

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

上文描述的批量導(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ā)的效率,降低人力成本。

3. 總結(jié)

批量數(shù)據(jù)導(dǎo)入能快速將數(shù)據(jù)錄入系統(tǒng),降低企業(yè)的人力成本。

在設(shè)計產(chǎn)品方案時,應(yīng)該在確保導(dǎo)入性能足夠的條件下,避免用戶等待,并降低產(chǎn)品和研發(fā)的人力成本,提高用戶和產(chǎn)品研發(fā)團隊的工作效率。

#專欄作家#

誓博,微信公眾號:產(chǎn)品慎思錄。人人都是產(chǎn)品經(jīng)理專欄作家。5年產(chǎn)品經(jīng)驗,電商售后平臺后端產(chǎn)品負責(zé)人。

本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于CC0協(xié)議。

專欄作家

誓博,微信公眾號:產(chǎn)品慎思錄。人人都是產(chǎn)品經(jīng)理專欄作家。7年產(chǎn)品經(jīng)驗,專注電商交易系統(tǒng)方向。

本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。

題圖來自 Unsplash,基于 CC0 協(xié)議。

該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 最近在思考樹結(jié)構(gòu)如何做導(dǎo)入呢?有些內(nèi)容數(shù)據(jù)校驗還跟系統(tǒng)有關(guān)系

    來自浙江 回復(fù)
  2. 看完后有兩個疑問。1.在文件上傳后已經(jīng)做過一次校驗,把不符合規(guī)范的數(shù)據(jù)篩選掉了,在導(dǎo)入時為什么還會出現(xiàn)導(dǎo)入失?。?.異步操作可以把當(dāng)前頁面關(guān)閉掉,那導(dǎo)入成功后需要有哪些操作呢?

    來自福建 回復(fù)
    1. 同問1

      來自重慶 回復(fù)
    2. 是不是因為在文件上傳時,成功導(dǎo)入了符合規(guī)范的數(shù)據(jù),不符合規(guī)范的數(shù)據(jù)不是“被篩選掉”,暫時無法導(dǎo)入,暫存在某個地方,最后導(dǎo)入文件導(dǎo)入完成后,再提示導(dǎo)入失敗的數(shù)據(jù)?(好像是這樣)

      來自重慶 回復(fù)
  3. 1、導(dǎo)入是否提高效率,一體兩面,不好說,許多不一定通過導(dǎo)入形式,,如果導(dǎo)入一行信息里,有幾十個字段,且要保證每個字段必錄和準(zhǔn)確性,這樣導(dǎo)入前基礎(chǔ)模板數(shù)據(jù)維護就是漫長比對,轉(zhuǎn)移過程,最后是否可以導(dǎo)入還是個未知數(shù),要檢測字段屬性太多。
    2、導(dǎo)入更多應(yīng)用場景和作用是,換了不同廠家系統(tǒng),又沒有升級工具,這樣異構(gòu)系統(tǒng)之間,最簡潔快速就是EXCEL模板導(dǎo)入
    3、軟件設(shè)計中各類自出資料,檔案,業(yè)務(wù)單據(jù)數(shù)據(jù)導(dǎo)入,難點在于導(dǎo)入功能出現(xiàn)錯誤時候,給與相對準(zhǔn)確提示,目前國內(nèi)頭部企業(yè),關(guān)于導(dǎo)入錯誤提示,內(nèi)部開發(fā)是納入KPI考核,基本做到提示95以上準(zhǔn)確率,,

    來自四川 回復(fù)
  4. 看似“不起眼”的小功能,其實暗藏玄機。

    來自日本 回復(fù)
  5. 我是新增和修改分開導(dǎo)入,避免修改時校驗老數(shù)據(jù)重復(fù),批量修改前批量導(dǎo)出,導(dǎo)出修改后才能導(dǎo)入

    來自浙江 回復(fù)
    1. 兩種方式都能解決問題,看適合哪一種。

      來自廣東 回復(fù)
  6. 內(nèi)容挺不錯的,就是開頭那段背景描述感覺沒到點子上,文中的批量導(dǎo)入并無法解決信息錄入的效率問題。因為從簡歷錄入到系統(tǒng)和從簡歷錄入到excel上的時間和犯錯概率是一樣的。

    來自江蘇 回復(fù)
    1. 試一試就知道了。每條數(shù)據(jù)單獨錄入,有多少操作,批量導(dǎo)入有多少操作,差距很大。

      來自廣東 回復(fù)
    2. 導(dǎo)入功能主要根源不在于錄入到excel和錄入到系統(tǒng)的問題, 而是大多數(shù)的數(shù)據(jù)存儲都是通過excel來儲存,拿的的數(shù)據(jù)格式就是excel格式的,所以批量效率搞得根源在這。

      來自廣東 回復(fù)