亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

一、業(yè)務(wù)背景

最近遇到這樣一個場景:在業(yè)務(wù)正式開始前1-2天,需要導(dǎo)入一批來自合作渠道的數(shù)據(jù),在業(yè)務(wù)周期結(jié)束后,再將同一批數(shù)據(jù)導(dǎo)出,交付給渠道方;

簡單理解,就是數(shù)據(jù)的「導(dǎo)入」和「導(dǎo)出」;

但是場景復(fù)雜度的高低與否,與實(shí)現(xiàn)流程和邏輯的復(fù)雜度并無什么必然聯(lián)系,數(shù)據(jù)在「導(dǎo)入」和「導(dǎo)出」之間,通常還會橫著復(fù)雜的「業(yè)務(wù)邏輯」;

數(shù)據(jù)如果只是在文件和單表直接來回?fù)v騰,解決的方案簡直花里胡哨,然而在應(yīng)用中數(shù)據(jù)導(dǎo)入導(dǎo)出,更多還是要集成業(yè)務(wù)需求,自然也就繞不開業(yè)務(wù)的處理邏輯;

二、場景分析

1、文件特征

文件:「Excel」類型,并且表頭是固定格式,字段內(nèi)容雖然有要求,但是難免存在細(xì)微的誤差問題;

內(nèi)容:條數(shù)「1000」以內(nèi),單條數(shù)據(jù)「150+」個字段,業(yè)務(wù)結(jié)束后導(dǎo)出,會添加業(yè)務(wù)結(jié)果和明細(xì)相關(guān)字段,最終在「200」個字段左右;

2、業(yè)務(wù)特征

文件導(dǎo)入后,數(shù)據(jù)在業(yè)務(wù)之間流轉(zhuǎn)時,需要構(gòu)建相應(yīng)的主體結(jié)構(gòu),比如基礎(chǔ)的「客戶檔案」,「業(yè)務(wù)檔案」,業(yè)務(wù)處理過程中會生成「明細(xì)」,處理完成后會生成「結(jié)果」;

3、數(shù)據(jù)規(guī)則

【客戶檔案】

數(shù)據(jù)在入庫的過程中,需要校驗(yàn)「客戶歸屬」問題,庫內(nèi)已有的客戶基于「跟進(jìn)時間」執(zhí)行「更新邏輯」,庫內(nèi)沒有的客戶需要「新增」并「分配跟進(jìn)人員」;

【業(yè)務(wù)檔案】

跟隨「客戶檔案」的邏輯,如果客戶更新,則「業(yè)務(wù)檔案」更新,如果客戶不更新,則「業(yè)務(wù)檔案」不更新,如果客戶新增,則「業(yè)務(wù)檔案」直接新增即可;

【數(shù)據(jù)校驗(yàn)】

客戶的「基礎(chǔ)檔案」和「業(yè)務(wù)檔案」的入庫邏輯,完全遵守產(chǎn)品體系現(xiàn)有的限制規(guī)則,在邏輯攔截時盡量輸出全面的攔截原因,方便商務(wù)人員對文件數(shù)據(jù)進(jìn)行修改調(diào)整;

三、流程設(shè)計

1、業(yè)務(wù)流程

業(yè)務(wù)流程從整體上可以拆分四段來看:動作確認(rèn)、動作監(jiān)聽、數(shù)據(jù)處理、業(yè)務(wù)處理;

【動作確認(rèn)】

  • 「導(dǎo)入」應(yīng)用前端完成文件上傳OSS的處理,向應(yīng)用后端提交數(shù)據(jù)導(dǎo)入的請求,接收請求后會異步處理;
  • 「異常記錄下載」會實(shí)時響應(yīng),功能上看就是一個單表導(dǎo)出,需要返回業(yè)務(wù)攔截和異常信息;
  • 「導(dǎo)出」因?yàn)榻桓稌r間不確定性,所以由商務(wù)人員手動觸發(fā)導(dǎo)出,后端組裝完成后提交OSS文件服務(wù)器,等待下載;

【動作監(jiān)聽】

  • 「導(dǎo)入」和「導(dǎo)出」的動作監(jiān)聽,進(jìn)而觸發(fā)相應(yīng)的流程邏輯;

【數(shù)據(jù)處理】

  • 「客戶檔案」提交給客戶服務(wù)處理,如果處理失敗,無法圍繞客戶構(gòu)建業(yè)務(wù)流,直接中斷全部流程;
  • 「業(yè)務(wù)檔案」提交給業(yè)務(wù)服務(wù)處理,這里指業(yè)務(wù)屬性的資料信息,并非場景流程;

【業(yè)務(wù)處理】

  • 「數(shù)據(jù)導(dǎo)入」的真正目的,依賴系統(tǒng)的處理能力,從而實(shí)現(xiàn)相應(yīng)的業(yè)務(wù)流程,在過程中會生成關(guān)鍵明細(xì)和結(jié)果數(shù)據(jù);

2、導(dǎo)入流程

  • 【1】應(yīng)用后端接收用戶提交的「導(dǎo)入」請求,動作接收成功后立即響應(yīng);
  • 【2】完成「導(dǎo)入」記錄的存儲之后,通過MQ消息隊(duì)列,解耦文件數(shù)據(jù)的處理流程;
  • 【3】對文件進(jìn)行解析,讀取源數(shù)據(jù)并存儲到明細(xì)表;
  • 【4】遍歷明細(xì)數(shù)據(jù)分別實(shí)現(xiàn)「客戶」和「業(yè)務(wù)」的檔案存儲,此處會把失敗原因最大限度回寫到明細(xì)記錄中,方便商務(wù)二次導(dǎo)入;
  • 【5】完成數(shù)據(jù)入庫后,更新「導(dǎo)入」動作的狀態(tài),最核心的是提供失敗記錄的明細(xì)和下載功能;

3、導(dǎo)出流程

  • 【1】應(yīng)用后端接收用戶提交的「導(dǎo)出」請求,動作接收成功后立即響應(yīng),初始狀態(tài)為:「處理中」;
  • 【2】完成「導(dǎo)出」記錄的存儲之后,通過MQ消息隊(duì)列,解耦文件的「創(chuàng)建」和「上傳」流程;
  • 【3】文件數(shù)據(jù)分為兩部分,文件原內(nèi)容和業(yè)務(wù)處理結(jié)果,組裝為新的數(shù)據(jù)結(jié)構(gòu);
  • 【4】創(chuàng)建新的文件,涉及數(shù)據(jù)表頭的合并,數(shù)據(jù)內(nèi)容的合并,以及「Excel」的格式構(gòu)建,從而完成文件的生成過程;
  • 【5】將生成的文件上傳到文件服務(wù)器,由商務(wù)人員自行下載并導(dǎo)出,然后交付給渠道方;

四、結(jié)構(gòu)設(shè)計

數(shù)據(jù)導(dǎo)入的表結(jié)構(gòu),是由具體業(yè)務(wù)場景決定的,此處就不做展示了;這里只看一看導(dǎo)入導(dǎo)出的調(diào)度表結(jié)構(gòu),即操作記錄和狀態(tài)以及數(shù)據(jù)明細(xì)的存儲;

【動作記錄】

存儲「導(dǎo)入」和「導(dǎo)出」的請求記錄,都涉及文件信息的管理,至于「業(yè)務(wù)ID」和「批次ID」是指集成業(yè)務(wù)的處理流程,同時也可以基于該「ID」限制同批次下的重復(fù)動作,降低不必要的資源占用;

【數(shù)據(jù)明細(xì)】

在「導(dǎo)入」的時候,對文件數(shù)據(jù)的臨時記錄表,方便對數(shù)據(jù)的多次讀取和處理,避免流程中斷導(dǎo)致文件的重復(fù)解析;

在「導(dǎo)出」的時候,需要依賴原數(shù)據(jù)的構(gòu)建新的「Excel」文件,在交付渠道方時保證原內(nèi)容的不變,只新增系統(tǒng)中業(yè)務(wù)的處理明細(xì)和結(jié)果;

五、實(shí)踐總結(jié)

雖然對于「Excel」或者其他文件的「導(dǎo)入」和「導(dǎo)出」的參考案例很多;

但是在研發(fā)實(shí)踐中,這依舊是一個不容易實(shí)現(xiàn)的過程,在數(shù)據(jù)和文件互相搬運(yùn)的過程中,如何與「業(yè)務(wù)場景」進(jìn)行平穩(wěn)的集成,才是真正的復(fù)雜邏輯;

從開始工作直到現(xiàn)在,關(guān)于「導(dǎo)入」和「導(dǎo)出」的實(shí)現(xiàn)方案參考或者落地過很多個,整體可以從兩個方向考慮;

應(yīng)用系統(tǒng)

通常文件格式是「Excel」、「word」、「Pdf」等,并且涉及的數(shù)據(jù)體量并不大,采取「異步」的方式解耦即可;

對于文件的「導(dǎo)入」來說,需要重點(diǎn)考慮的邏輯,在于如何與業(yè)務(wù)平穩(wěn)集成,在出現(xiàn)問題時,能夠給產(chǎn)品頁面準(zhǔn)確的信息反饋,從而提高文件的二次處理效率;

對于數(shù)據(jù)的「導(dǎo)出」來說,是一個「高危」的操作,通常是不分配大量數(shù)據(jù)的導(dǎo)出「權(quán)限」,如果有需求則要對數(shù)據(jù)進(jìn)行計算分「批次」導(dǎo)出;

【數(shù)據(jù)系統(tǒng)】

數(shù)據(jù)體量較大的情況下,不推薦從應(yīng)用系統(tǒng)考慮「優(yōu)化」的策略;

如何確定「數(shù)據(jù)體量較大」的臨界值,需要測試系統(tǒng)的處理能力,系統(tǒng)業(yè)務(wù)流量高峰時,去「并發(fā)」執(zhí)行導(dǎo)入和導(dǎo)出,從而得出合理的數(shù)值,不過大部分產(chǎn)品都是限制單文件最大「5000」條;

從分布式架構(gòu)中組裝大量的數(shù)據(jù)并「導(dǎo)出」文件,其資源占用過高,并非主流的實(shí)踐方案;

當(dāng)下比較常見的方式,直接從「數(shù)據(jù)層面」入手,搭建「傳輸」或「轉(zhuǎn)換」的通道,以「API」或者「頁面入口」的方式,觸發(fā)流程即可;

在數(shù)據(jù)體量超過應(yīng)用系統(tǒng)的處理能力時,會搭建專用的「數(shù)據(jù)傳輸通道」來處理;

這種模式在數(shù)據(jù)型業(yè)務(wù)中很常用,可以隔離大量數(shù)據(jù)的「IO流」操作,確保應(yīng)用系統(tǒng)運(yùn)行的安全穩(wěn)定,也可以極大提升數(shù)據(jù)和文件互相搬運(yùn)的處理效率;

分享到:
標(biāo)簽:數(shù)據(jù)
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定