基于插件處理的數(shù)據(jù)裝配方法
【專利摘要】本發(fā)明公開了一種基于插件處理的數(shù)據(jù)裝配方法,屬于數(shù)據(jù)處理領(lǐng)域。本發(fā)明方法通過對(duì)數(shù)據(jù)文件進(jìn)行業(yè)務(wù)定義、規(guī)則配置、統(tǒng)一清洗,基于“插件化”和“渠道表動(dòng)態(tài)自定義”的手段,對(duì)數(shù)據(jù)進(jìn)行360°全方位稽核。本發(fā)明可隨時(shí)不斷增加新業(yè)務(wù)渠道,在不必變更數(shù)據(jù)和程序的情況下,方便且靈活的擴(kuò)大樣本范圍,推動(dòng)數(shù)據(jù)的準(zhǔn)確性,且可以在不重復(fù)開發(fā)的情況,依靠配置文件和動(dòng)態(tài)表創(chuàng)建,即可完成對(duì)數(shù)據(jù)文件進(jìn)行處理,不需要數(shù)據(jù)庫的后期加工,即可不斷推進(jìn)數(shù)據(jù)的準(zhǔn)確性,實(shí)現(xiàn)全方位的綜合服務(wù)。
【專利說明】基于插件處理的數(shù)據(jù)裝配方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種數(shù)據(jù)裝配方法,尤其是一種對(duì)數(shù)據(jù)之間的有用交叉信息部分進(jìn)行處理,利用插件靈活性和動(dòng)態(tài)組表定義方式,進(jìn)行多個(gè)方向和多維度的數(shù)據(jù)裝配方法,屬于數(shù)據(jù)處理領(lǐng)域。
【背景技術(shù)】
[0002]目前在各類應(yīng)用系統(tǒng)中,對(duì)數(shù)據(jù)的加工方式可分為以下三個(gè)表現(xiàn)方式:一是以傳統(tǒng)數(shù)據(jù)庫或數(shù)據(jù)倉庫為工作區(qū),運(yùn)用商務(wù)智能BI方式對(duì)庫內(nèi)數(shù)據(jù)進(jìn)行再加工、分析、報(bào)表統(tǒng)計(jì)等;二是運(yùn)用大數(shù)據(jù)處理方式,依靠HADOOP平臺(tái)工具集,進(jìn)行數(shù)據(jù)分析處理;三是在分布事務(wù)中間件的基礎(chǔ)上,聯(lián)結(jié)多個(gè)數(shù)據(jù)庫,從業(yè)務(wù)層次上利用程序或服務(wù)進(jìn)行整合、展示,并且常以存儲(chǔ)過程為手段。
[0003]以日常使用的市民卡為例,在當(dāng)前互聯(lián)網(wǎng)時(shí)代背影下,系統(tǒng)更強(qiáng)調(diào)圍繞著數(shù)據(jù)進(jìn)行,隨著市民卡承載的業(yè)務(wù)種類越來越多,信息交叉和變動(dòng)過程日益頻繁,使得準(zhǔn)確定位和研判業(yè)務(wù)歷史軌跡變得很有價(jià)值,但實(shí)際卻很困難,實(shí)際應(yīng)用中要求能快速對(duì)每條數(shù)據(jù)進(jìn)行逐條梳理,形成唯一的市民信息人口庫,而當(dāng)前商務(wù)智能軟件更側(cè)重于對(duì)雜亂數(shù)據(jù)存儲(chǔ)后的再提取、統(tǒng)計(jì)過程,與這一需求場(chǎng)景沖突,所以要求加強(qiáng)數(shù)據(jù)導(dǎo)入的前期程序處理能力。現(xiàn)有的新興大數(shù)據(jù)處理HADOOP強(qiáng)調(diào)的是數(shù)據(jù)集群存儲(chǔ)和統(tǒng)計(jì)分析能力,對(duì)具備業(yè)務(wù)關(guān)聯(lián)和共性的數(shù)據(jù),無法在前期快速提供關(guān)聯(lián)性數(shù)據(jù)的深度清洗策略。從更廣泛的數(shù)據(jù)加工常規(guī)方法來觀察,當(dāng)前市場(chǎng)上數(shù)據(jù)處理的核心思想是原始數(shù)據(jù)集中存儲(chǔ)后的再加工,針對(duì)于如市民信息人口庫此類的前期數(shù)據(jù)整理,以往只能在數(shù)據(jù)文件階段進(jìn)行簡(jiǎn)單的格式清洗,或通過專門程序進(jìn)行目標(biāo)文件內(nèi)的數(shù)據(jù)比對(duì)、加工、合并,缺乏一種能夠在各種數(shù)據(jù)文件入庫前,靈活接受不同格式新老文件,同時(shí)完成文件和庫內(nèi)的數(shù)據(jù)關(guān)聯(lián)處理。在實(shí)際應(yīng)用中,這種在數(shù)據(jù)庫之前的前置加工辦法無法與庫內(nèi)存量數(shù)據(jù)的進(jìn)行深度聯(lián)動(dòng)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明所要解決的技術(shù)問題在于克服現(xiàn)有技術(shù)的缺陷,提供一種能在存儲(chǔ)前對(duì)不同來源的原始數(shù)據(jù)對(duì)象實(shí)施數(shù)據(jù)間的橫向、數(shù)據(jù)內(nèi)的縱向、數(shù)據(jù)外的外部交叉策略,對(duì)數(shù)據(jù)進(jìn)行充分的關(guān)聯(lián)加工后入庫存儲(chǔ),實(shí)現(xiàn)數(shù)據(jù)最大程度的多維檢查、合并操作的基于插件處理的數(shù)據(jù)裝配方法。
[0005]本發(fā)明的基本構(gòu)思為:基于插件處理的數(shù)據(jù)裝配辦法,面向的是不同來源的相關(guān)業(yè)務(wù)原始數(shù)據(jù)對(duì)象,設(shè)計(jì)渠道多步驟加工和階段稽核的統(tǒng)一過程,拋棄以往傳統(tǒng)數(shù)據(jù)無序加工的方式(依靠程序或存儲(chǔ)過程專項(xiàng)進(jìn)行),通過定義和梳理出業(yè)務(wù)數(shù)據(jù)間橫向維、業(yè)務(wù)數(shù)據(jù)內(nèi)縱向維、跨多業(yè)務(wù)數(shù)據(jù)聯(lián)動(dòng)其它斜向維的數(shù)據(jù)特征,從多個(gè)角度觀察,依靠業(yè)務(wù)人員定義策略和加工規(guī)則,形成對(duì)數(shù)據(jù)的360°全方位稽核,從而建立一種360°稽核的思想,簡(jiǎn)單來說,這種思想主要是利用不同維度觀察數(shù)據(jù)內(nèi)涵,落實(shí)到對(duì)應(yīng)不同類型插件上承載不同類型的稽核操作。具體做法為,對(duì)單一業(yè)務(wù)數(shù)據(jù)文件對(duì)象與標(biāo)準(zhǔn)待裝配數(shù)據(jù)的關(guān)系進(jìn)行深入遞進(jìn)分析,即與當(dāng)前其他業(yè)務(wù)同質(zhì)數(shù)據(jù)的橫向關(guān)系,與同類文件歷史數(shù)據(jù)的縱向關(guān)系,與其他業(yè)務(wù)間接的引申關(guān)系(通過多個(gè)交叉數(shù)據(jù)提取結(jié)果),對(duì)數(shù)據(jù)加工關(guān)系進(jìn)行充分定義,在此基礎(chǔ)上運(yùn)用“插件化”的技術(shù)進(jìn)行流水加工,匯總、更新相關(guān)數(shù)據(jù),通過“渠道表動(dòng)態(tài)自定義”的手段,即每個(gè)業(yè)務(wù)渠道套表不需事前規(guī)劃限定,當(dāng)前渠道表名稱和字段的名稱、類型、大小、個(gè)數(shù)等定義,只在業(yè)務(wù)接口開通前按需通過頁面動(dòng)態(tài)建立,最終外部數(shù)據(jù)將持久化存儲(chǔ)在對(duì)應(yīng)的業(yè)務(wù)渠道各表中,解決了不同來源業(yè)務(wù)數(shù)據(jù)入庫前的前置清洗(過程統(tǒng)一和策略自定義)和業(yè)務(wù)數(shù)據(jù)獨(dú)立通道化加工存儲(chǔ)之問題,可持續(xù)疊加出一份數(shù)據(jù)標(biāo)準(zhǔn)集。
[0006]為了解決上述技術(shù)問題,本發(fā)明提供的基于插件處理的數(shù)據(jù)裝配方法,包括以下步驟:
1)、搭建功能插件,所述功能插件包括數(shù)據(jù)裝載器、業(yè)務(wù)過濾器插件、橫向規(guī)則比較器和縱向規(guī)則對(duì)比器,所述數(shù)據(jù)裝載器,用于完成配置文件所指定的數(shù)據(jù)字段讀取工作,并根據(jù)業(yè)務(wù)定義進(jìn)行文件檢查;所述業(yè)務(wù)過濾器,用于按通用或?qū)S靡?guī)則對(duì)業(yè)務(wù)進(jìn)行特征鑒別,并依業(yè)務(wù)特征進(jìn)行過濾;所述橫向規(guī)則比較器,用于對(duì)同質(zhì)字段的當(dāng)前不同業(yè)務(wù)渠道數(shù)據(jù)比較;所述縱向規(guī)則對(duì)比器,用于對(duì)同業(yè)務(wù)渠道數(shù)據(jù)與歷史數(shù)據(jù)對(duì)比;
2)、建立各業(yè)務(wù)渠道;
3)、導(dǎo)入數(shù)據(jù)進(jìn)行清洗處理后存儲(chǔ):
31)、初始化工作線程與功能插件,讀取業(yè)務(wù)渠道中的配置文件和規(guī)則表,獲得功能插件及規(guī)則集合;
32)、啟動(dòng)數(shù)據(jù)提取線程獲取原始數(shù)據(jù)文件,所述原始數(shù)據(jù)文件包括業(yè)務(wù)文件和交易數(shù)據(jù)文件;
33)、啟動(dòng)數(shù)據(jù)分揀線程加載數(shù)據(jù)裝載器,獲取文件并驗(yàn)證后根據(jù)文件的業(yè)務(wù)定義導(dǎo)入內(nèi)存;
34)、啟動(dòng)業(yè)務(wù)歸整線程加載業(yè)務(wù)過濾器,根據(jù)業(yè)務(wù)特征分別對(duì)數(shù)據(jù)進(jìn)行格式過濾;
35)、啟動(dòng)稽核線程進(jìn)入對(duì)數(shù)據(jù)進(jìn)行稽核;
36)、啟動(dòng)入庫線程將稽核后的數(shù)據(jù)持久化存儲(chǔ)。
[0007]本發(fā)明中,所述功能插件還包括引申規(guī)則定義器,所述引申規(guī)則定義器用于對(duì)多個(gè)相關(guān)數(shù)據(jù)進(jìn)行復(fù)雜推導(dǎo)加工。
[0008]本發(fā)明中,所述步驟2)中各業(yè)務(wù)渠道的建立過程為:
21)、獲得業(yè)務(wù)文件的格式樣本,分析文件類型、各業(yè)務(wù)字段內(nèi)含和特征;
22)、增加新的渠道,定義對(duì)應(yīng)的渠道業(yè)務(wù)表、工作表字段名、類型,調(diào)用腳本創(chuàng)建各表;
23)、定義需要的稽核器及其所運(yùn)行的業(yè)務(wù)規(guī)則集合,描述各業(yè)務(wù)子規(guī)則工作對(duì)象字段和策略方法;
24)、配置渠道控制參數(shù)和數(shù)據(jù)裝配的參數(shù)文件;
25)、啟用渠道,開放接口,導(dǎo)入業(yè)務(wù)數(shù)據(jù)文件。
[0009]本發(fā)明中,所述步驟35)的數(shù)據(jù)稽核具體過程為:
所述步驟35)的具體過程為:
351)、稽核第一階段:加載橫向規(guī)則比較器插件,依次取出規(guī)則對(duì)象,稽核與其他業(yè)務(wù)的同質(zhì)字段一致性,進(jìn)行算術(shù)或邏輯運(yùn)算;
352)、稽核第二階段:完成步驟351)后,加載縱向規(guī)則對(duì)比器插件,檢查各原始表的數(shù)據(jù)和同一業(yè)務(wù)渠道歷史表的數(shù)據(jù),確定所述數(shù)據(jù)的有效狀態(tài),并進(jìn)行相互關(guān)系判斷。
[0010]本發(fā)明中,所述步驟35)的數(shù)據(jù)稽核具體過程還包括:
353)、稽核第三階段:完成步驟352)后,根據(jù)定義,選擇加載引申規(guī)則定義器插件,檢查指定關(guān)聯(lián)業(yè)務(wù)表、關(guān)聯(lián)字段、轉(zhuǎn)化規(guī)則關(guān)系,執(zhí)行高階加工的指定邏輯動(dòng)作。
[0011]本發(fā)明的有益效果在于:(I)、本發(fā)明數(shù)據(jù)清洗過程使用插件化,采用靈活的規(guī)則和業(yè)務(wù)關(guān)系自定義方式,使每個(gè)業(yè)務(wù)數(shù)據(jù)文件在本通道內(nèi)得到全面的入庫前稽核,多個(gè)業(yè)務(wù)并行,最終形成單一指定業(yè)務(wù)目標(biāo)的唯一準(zhǔn)確基礎(chǔ)表,也可以根據(jù)數(shù)據(jù)追蹤用戶不同業(yè)務(wù)歷史變更軌跡,其不需要對(duì)數(shù)據(jù)進(jìn)行復(fù)雜的后期加工和整理,不斷推進(jìn)數(shù)據(jù)的準(zhǔn)確性,擴(kuò)展了數(shù)據(jù)的渠道信息量;(2)、本發(fā)明中各線程和功能插件間配合運(yùn)行,系統(tǒng)中插件的實(shí)際存在方式是動(dòng)態(tài)庫組件,由不同的工作線程啟動(dòng)后調(diào)用,工作線程只獨(dú)立運(yùn)行于一個(gè)渠道系統(tǒng)之中,串行處理,以防止數(shù)據(jù)交叉和不一致,但不同渠道系統(tǒng)之間并行運(yùn)行,線程無關(guān),不發(fā)生直接約束,提升了數(shù)據(jù)的準(zhǔn)確率和可信度;(3)、本發(fā)明方法有利于隨時(shí)不斷增加新業(yè)務(wù)渠道,在不必變更數(shù)據(jù)和程序的情況下,方便且靈活的擴(kuò)大樣本范圍,推動(dòng)數(shù)據(jù)結(jié)果的準(zhǔn)確性。
【專利附圖】
【附圖說明】
[0012]圖1為本發(fā)明基于插件處理的數(shù)據(jù)裝配方法的流程圖;
圖2為本發(fā)明中數(shù)據(jù)裝載器插件的工作流程圖;
圖3為本發(fā)明中業(yè)務(wù)過濾器插件的工作流程圖;
圖4為本發(fā)明中橫向規(guī)則比較器插件的工作流程圖;
圖5是本發(fā)明中縱向規(guī)則對(duì)比器插件的工作流程圖;
圖6是本發(fā)明中引申規(guī)則定義器插件的工作流程圖。
【具體實(shí)施方式】
[0013]下面以市民卡業(yè)務(wù)為例結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。
[0014]為了實(shí)施本發(fā)明的數(shù)據(jù)裝配方法,需要進(jìn)行“插件化”和渠道參數(shù)設(shè)置(包含“渠道表動(dòng)態(tài)自定義”創(chuàng)建過程)兩項(xiàng)準(zhǔn)備過程,最終通過程序自動(dòng)對(duì)數(shù)據(jù)進(jìn)行5步驟3階段的清洗和稽核動(dòng)作。
[0015]第一項(xiàng)準(zhǔn)備工作:“插件化”。需要組織開發(fā)功能插件,以完成對(duì)數(shù)據(jù)的“360°稽核”,其中功能插件分5個(gè),對(duì)應(yīng)功能為:
①數(shù)據(jù)裝載器,完成配置文件所指定的數(shù)據(jù)字段讀取工作,并根據(jù)業(yè)務(wù)定義進(jìn)行文件檢查,數(shù)據(jù)裝載器的工作流程如圖2所示。主要內(nèi)容為通過線程控制數(shù)據(jù)裝載器的啟停,同一渠道內(nèi)部只能串行運(yùn)行,防止數(shù)據(jù)交叉,數(shù)據(jù)裝載器CLoadData類實(shí)例對(duì)象作為工作區(qū)域,每次數(shù)據(jù)裝載前會(huì)清空,subBussinessFormMap容器負(fù)責(zé)從參數(shù)配置文件對(duì)應(yīng)的CChannelCfg類對(duì)象實(shí)例中提取待加工數(shù)據(jù)文件特征,區(qū)分普通數(shù)據(jù)文件或匯總記錄文件(可以有多種類型文件共同組成),將文件的內(nèi)容映射至容器中,同時(shí)檢查文件的相關(guān)合法性和業(yè)務(wù)完整性,若有錯(cuò)誤觸發(fā)告警,當(dāng)文件特征或內(nèi)容格式發(fā)生變化時(shí),可以通過強(qiáng)制刷新重啟數(shù)據(jù)裝載器,從而重新構(gòu)建CLoadData和subBussinessFormMap對(duì)象。
[0016]②業(yè)務(wù)過濾器,完成通用和專用規(guī)則鑒別,并依業(yè)務(wù)特征進(jìn)行粗過濾,此步驟主要為了后期不同數(shù)據(jù)類型的同質(zhì)數(shù)據(jù)處理,其工作流程如圖3所示。主要內(nèi)容同上為串行運(yùn)行,即與同一業(yè)務(wù)渠道內(nèi)其他線程形成上下約束關(guān)系,當(dāng)本線程運(yùn)行時(shí)相關(guān)聯(lián)的上下線程必須處于停止?fàn)顟B(tài),防止數(shù)據(jù)干擾,但不同渠道間線程無關(guān),通過線程控制業(yè)務(wù)過濾器的啟停,首次運(yùn)行將新建業(yè)務(wù)過濾器CBussinessFilter類實(shí)例對(duì)象,每次插件工作前會(huì)清空該對(duì)象,保障工作區(qū)域的有效性,然后從數(shù)據(jù)庫中業(yè)務(wù)過濾器內(nèi)容表TD_RULECHANGE取出外部、內(nèi)部字段值及業(yè)務(wù)對(duì)象號(hào)ID、業(yè)務(wù)對(duì)象號(hào)類型等配置內(nèi)容,根據(jù)業(yè)務(wù)對(duì)象號(hào)類型來區(qū)分出通用型(如第三方交易數(shù)據(jù))和市民卡專項(xiàng)型,對(duì)應(yīng)構(gòu)建通用業(yè)務(wù)對(duì)象集或市民卡專項(xiàng)業(yè)務(wù)對(duì)象集,在完成以上初始化環(huán)境步驟后,開始接受業(yè)務(wù)過濾請(qǐng)求,根據(jù)業(yè)務(wù)對(duì)象加工數(shù)據(jù),主要是對(duì)數(shù)據(jù)大小、長度、范圍、類型、格式,進(jìn)行常規(guī)處理,為下一階段的數(shù)據(jù)加工,提供規(guī)范數(shù)據(jù),同時(shí)若接收到業(yè)務(wù)過濾器內(nèi)容表變更消息或其他重要變化,觸發(fā)強(qiáng)制刷新重啟業(yè)務(wù)過濾器,重新構(gòu)建插件工作環(huán)境。
[0017]③橫向規(guī)則比較器,對(duì)固定字段進(jìn)行算術(shù)比較、邏輯比較,其工作流程如圖4所示;主要內(nèi)容為同上為串行運(yùn)行,通過線程控制橫向規(guī)則比較器的啟停,首次運(yùn)行將新建橫向規(guī)則比較器CFixedRuleFilter類實(shí)例對(duì)象,每次插件工作前會(huì)清空該對(duì)象,保障工作區(qū)域的有效性,然后從固定值定義表TD_V ALUEC0MPARE取出當(dāng)前渠道所有算術(shù)比較、邏輯比較橫向規(guī)則對(duì)象號(hào)RID、值域范圍、比較方式,置入fixedValueRuleMap容器中,從固定字段定義表TD_RULECOMPARE,取出當(dāng)前渠道所屬對(duì)比表、字段、比較方式,置入fixedFieldRuleMap容器中,檢查橫向規(guī)則比較器中各規(guī)則對(duì)象關(guān)系是否有效,無效告警休目民,錯(cuò)誤記入CLKLog類對(duì)象,若有效則完成橫向規(guī)則比較器的初始化環(huán)境搭建,開始接受業(yè)務(wù)稽核請(qǐng)求(第I階段),根據(jù)橫向規(guī)則對(duì)象稽核數(shù)據(jù),主要是對(duì)不同業(yè)務(wù)渠道的同質(zhì)數(shù)據(jù)進(jìn)行數(shù)據(jù)大小、邏輯與或非操作,根據(jù)結(jié)果更新數(shù)據(jù)庫內(nèi)相關(guān)表信息,同時(shí)若接收到相關(guān)規(guī)則參數(shù)表變更消息或其他重要變化,觸發(fā)強(qiáng)制刷新重啟業(yè)務(wù)過濾器,重新構(gòu)建插件工作環(huán)境。
[0018]④縱向規(guī)則對(duì)比器,對(duì)比當(dāng)前子業(yè)務(wù)的當(dāng)前快照表、歷史表,進(jìn)行業(yè)務(wù)前置、互斥關(guān)系、時(shí)間關(guān)系等判斷,其工作流程如圖5所示;主要內(nèi)容為同上為串行運(yùn)行,通過線程控制縱向規(guī)則對(duì)比器啟停,首次運(yùn)行將新建縱向規(guī)則對(duì)比器CTynamicRuleFilter類實(shí)例對(duì)象,每次插件工作前會(huì)清空該對(duì)象,保障工作區(qū)域的有效性,然后從CChannelFiles實(shí)例對(duì)象中獲取當(dāng)前渠道操作對(duì)象表,從TD_RULERELAT1N得到當(dāng)前渠道所屬業(yè)務(wù)前置、互斥關(guān)系,時(shí)間關(guān)系,置入dynamicRuleMap容器中,檢查縱向規(guī)則對(duì)比器中各規(guī)則對(duì)象關(guān)系是否有效,無效告警休眠,錯(cuò)誤記入CLKLog類對(duì)象,若有效則完成縱向規(guī)則對(duì)比器的初始化環(huán)境搭建,開始接受業(yè)務(wù)稽核請(qǐng)求(第2階段),根據(jù)縱向規(guī)則對(duì)象稽核數(shù)據(jù),主要是對(duì)當(dāng)前數(shù)據(jù)和同一業(yè)務(wù)渠道的歷史數(shù)據(jù)進(jìn)行前置、互斥關(guān)系、時(shí)間關(guān)系等判斷,根據(jù)結(jié)果更新數(shù)據(jù)庫內(nèi)相關(guān)表信息,同時(shí)若接收到相關(guān)規(guī)則參數(shù)表變更消息或其他重要變化,觸發(fā)強(qiáng)制刷新重啟業(yè)務(wù)過濾器,重新構(gòu)建插件工作環(huán)境。
[0019]⑤引申規(guī)則定義器,取出源、目標(biāo)對(duì)象之間的規(guī)則定義,進(jìn)行取字符串方式、組合方式、算術(shù)方式、推演方式等復(fù)雜的附加特定業(yè)務(wù)加工,根據(jù)需要進(jìn)行選擇,其工作流程如圖6所示;主要內(nèi)容為同上為串行運(yùn)行,通過線程控制引申規(guī)則定義器的啟停,首次運(yùn)行將新建引申規(guī)則定義器CExtendRuleFilter類實(shí)例對(duì)象,每次插件工作前會(huì)清空該對(duì)象,保障工作區(qū)域的有效性,然后從CChannelFiles實(shí)例對(duì)象中獲取當(dāng)前渠道操作對(duì)象表,從引申規(guī)則定義表TD_RULEEXTEND,取出源、目標(biāo)對(duì)象之間引申關(guān)系所屬表、字段及數(shù)據(jù)定義方式,置入extendValueRuleMap容器中,按對(duì)象的不同類型分別構(gòu)建字符串、組合、算術(shù)、推演等方式,并檢查對(duì)象之間的有效性,無效告警休眠,錯(cuò)誤記入CLKLog類對(duì)象,若有效則完成引申規(guī)則定義器的初始化環(huán)境搭建,開始接受業(yè)務(wù)稽核請(qǐng)求(第3階段),根據(jù)引申規(guī)則定義器稽核數(shù)據(jù),主要是根據(jù)業(yè)務(wù)要求對(duì)多個(gè)不同業(yè)務(wù)渠道關(guān)聯(lián)數(shù)據(jù)進(jìn)行相關(guān)性分析,根據(jù)結(jié)果更新數(shù)據(jù)庫內(nèi)相關(guān)表信息,同時(shí)若接收到相關(guān)規(guī)則參數(shù)表變更消息或其他重要變化,觸發(fā)強(qiáng)制刷新重啟業(yè)務(wù)過濾器,重新構(gòu)建插件工作環(huán)境。
[0020]以上5個(gè)插件,由渠道提供獨(dú)立工作的線程管理各插件,在不同工作步驟和階段環(huán)節(jié)中加載,共同形成“5步驟,3階段”數(shù)據(jù)裝配總體流程,如圖1所示;5步驟對(duì)應(yīng)5個(gè)控制線程:提取、分揀(內(nèi)調(diào)數(shù)據(jù)裝載器)、歸整(內(nèi)調(diào)業(yè)務(wù)過濾器)、稽核(分三個(gè)階段,按需調(diào)用前文針對(duì)數(shù)據(jù)稽核的另三個(gè)插件)、入庫線程;5個(gè)線程中同一時(shí)刻一個(gè)線程運(yùn)行時(shí),上下相關(guān)線程必須處于停止?fàn)顟B(tài);其中3階段由稽核線程按照“360°稽核”的思想,按需加載和執(zhí)行三個(gè)插件:橫向規(guī)則比較器、縱向規(guī)則對(duì)比器、引申規(guī)則定義器,依次串行處理,也就是說,對(duì)于業(yè)務(wù)數(shù)據(jù)相互間的各種關(guān)聯(lián)關(guān)系,可以根據(jù)當(dāng)前待加入的業(yè)務(wù)渠道抽象出自定義參數(shù)配置文件,通過參數(shù)和插件配合的方式靈活調(diào)整,驅(qū)動(dòng)一個(gè)或多個(gè)插件共同完成對(duì)業(yè)務(wù)數(shù)據(jù)的梳理工作,最終搭建出城市信息人口庫的標(biāo)準(zhǔn)集合,持續(xù)動(dòng)態(tài)更新。
[0021]第二項(xiàng)準(zhǔn)備工作:渠道參數(shù)設(shè)置。是指在完成插件開發(fā)后,根據(jù)某個(gè)業(yè)務(wù)渠道的加入申請(qǐng),實(shí)時(shí)建立各業(yè)務(wù)渠道,即為接口數(shù)據(jù)文件提供加工處理的通道,并且為保障該通道能準(zhǔn)確進(jìn)行數(shù)據(jù)清洗處理,需要定義配置文件和規(guī)則表(通過頁面進(jìn)行渠道增加、表和字段定義、規(guī)則定義,同時(shí)利用腳本動(dòng)態(tài)創(chuàng)建本渠道各表,而渠道運(yùn)行控制可在主機(jī)不同目錄下復(fù)制并修改配置文件channel, cfg),以便為插件工作提供參數(shù),為數(shù)據(jù)存儲(chǔ)提供動(dòng)態(tài)業(yè)務(wù)表。上述規(guī)則表結(jié)構(gòu)因業(yè)務(wù)文件未知,而設(shè)定為不區(qū)別字段名的腳本動(dòng)態(tài)創(chuàng)建,本發(fā)明采用“渠道表動(dòng)態(tài)自定義”的手段,實(shí)現(xiàn)了操作員自定義配置完成,動(dòng)態(tài)創(chuàng)建渠道表,這樣可以實(shí)現(xiàn)插件過濾器與具體業(yè)務(wù)無關(guān),插件過濾器調(diào)用的規(guī)則由業(yè)務(wù)人員(維護(hù)人員配合錄入)預(yù)設(shè)和增加,擺脫程序的定制開發(fā),有利用系統(tǒng)的后期擴(kuò)展和業(yè)務(wù)增長的自適應(yīng),最終保證市民信息人口庫的持續(xù)準(zhǔn)確。其參數(shù)配置文件和業(yè)務(wù)規(guī)則表的工作流程具體如下:
①獲得業(yè)務(wù)文件的格式樣本,分析文件類型、各業(yè)務(wù)字段內(nèi)含和特征;
②從頁面增加渠道,定義對(duì)應(yīng)的渠道業(yè)務(wù)表、工作表字段名、類型,利用腳本創(chuàng)建各表,根據(jù)業(yè)務(wù)文件數(shù)據(jù)內(nèi)容修改參數(shù)配置文件(確定數(shù)據(jù)裝載器和業(yè)務(wù)過濾器的工作內(nèi)容);
③定義3階段對(duì)應(yīng)各稽核器所包含的規(guī)則,描述規(guī)則處理內(nèi)容和策略,若加載橫向規(guī)則比較器,可定義當(dāng)前某業(yè)務(wù)字段與其它渠道同質(zhì)字段的操作關(guān)系,進(jìn)行加減、大小、時(shí)間、邏輯與、邏輯或、邏輯非等策略,確定對(duì)主基礎(chǔ)表的更改結(jié)果;若加載縱向規(guī)則比較器,可定義當(dāng)前某業(yè)務(wù)字段與歷史業(yè)務(wù)字段的操作關(guān)系,可進(jìn)行加減、大小、時(shí)間關(guān)系等策略,確定對(duì)當(dāng)前渠道主表和歷史表的更新方式;若加載引申規(guī)則定義器,可定義當(dāng)前業(yè)務(wù)字段與主基礎(chǔ)表、其它渠道主表的一個(gè)或多個(gè)字段的關(guān)聯(lián)關(guān)系,進(jìn)行區(qū)間判斷、條件前置推導(dǎo)等操作,確定對(duì)主基礎(chǔ)表和當(dāng)前渠道主表的結(jié)果更新路徑;
④配置渠道控制參數(shù)和數(shù)據(jù)裝配的參數(shù)文件channel,cfg,按照業(yè)務(wù)文件的實(shí)際內(nèi)容進(jìn)行每個(gè)字段的類型、大小定義,并對(duì)各數(shù)據(jù)字段的格式檢查、轉(zhuǎn)換方式進(jìn)行參數(shù)說明,以保障后期數(shù)據(jù)裝載器從文件中正確提取數(shù)據(jù),業(yè)務(wù)過濾器對(duì)數(shù)據(jù)進(jìn)行通用格式預(yù)處理;
⑤啟用渠道,開放接口,導(dǎo)入業(yè)務(wù)數(shù)據(jù)文件,將經(jīng)過數(shù)據(jù)裝配各環(huán)節(jié)的清洗后,向本渠道各表(主要為渠道業(yè)務(wù)主表、渠道交易主表、渠道業(yè)務(wù)歷史表、渠道交易歷史表)注入有效數(shù)據(jù),同時(shí)更新主基礎(chǔ)表。
[0022]最后,在上述兩項(xiàng)準(zhǔn)備工作完成的基礎(chǔ)上,實(shí)施數(shù)據(jù)裝配過程。在完成插件和渠道的準(zhǔn)備工作后,可以按預(yù)定(由參數(shù)配置文件和業(yè)務(wù)規(guī)則表具體定義和描述決定)的數(shù)據(jù)裝配辦法,進(jìn)行清洗處理。基于插件處理的數(shù)據(jù)裝配辦法核心是插件及其參數(shù)配置外置化,即插件只負(fù)責(zé)對(duì)指定規(guī)則定義表和參數(shù)配置文件的讀取、更新、完整性和一致性檢查,實(shí)際執(zhí)行內(nèi)容由參數(shù)配置(參數(shù)配置文件和業(yè)務(wù)規(guī)則定義表共同組成)控制;插件靜態(tài)表現(xiàn)形式為動(dòng)態(tài)庫或服務(wù)(實(shí)際運(yùn)行時(shí)其擁有自身的管理線程,可方便消息同步和協(xié)調(diào)一致),參數(shù)配置文件描述出當(dāng)前渠道的業(yè)務(wù)字段組成和對(duì)象來源,規(guī)則定義表對(duì)每一個(gè)字段對(duì)象定義了加工策略和方法;插件需按照不同的類型進(jìn)行歸類,對(duì)應(yīng)步驟的工作線程決定是否加載插件進(jìn)入工作狀態(tài),而它的實(shí)際行為過程由對(duì)應(yīng)的參數(shù)配置文件和規(guī)則定義表具體內(nèi)容決定;插件在開發(fā)階段完成事前編碼,而參數(shù)配置文件和規(guī)則定義表在系統(tǒng)運(yùn)行中根據(jù)業(yè)務(wù)發(fā)展需要適時(shí)增加。由此形成插件的統(tǒng)一開發(fā)與參數(shù)配置的外置化(由維護(hù)人員根據(jù)系統(tǒng)運(yùn)行和接入需要增加),這種數(shù)據(jù)裝配辦法通過加載插件分別執(zhí)行不同類型的清洗,這一數(shù)據(jù)裝配辦法的數(shù)據(jù)清洗工作流程如下:
①初始化工作線程與插件環(huán)境,讀取通道配置文件channel,cfg和規(guī)則表,獲得插件及規(guī)則集合,主要包含啟動(dòng)程序?qū)嵗?,根?jù)參數(shù)配置動(dòng)態(tài)構(gòu)建工作環(huán)境,掃描數(shù)據(jù)源中單元文件準(zhǔn)備開展工作;
②開展“5步3階段”的數(shù)據(jù)清洗流程,即總體分為5個(gè)串行加工步驟,其中第4步驟稽核操作又細(xì)分為3個(gè)階段的自定義數(shù)據(jù)清洗方式,首先進(jìn)行步驟I提取操作,數(shù)據(jù)提取線程collectFile獲取原始數(shù)據(jù)文件,包含業(yè)務(wù)文件和交易數(shù)據(jù)文件;
③步驟2分揀操作,數(shù)據(jù)分揀線程separat1nData加載數(shù)據(jù)裝載器CLoadData插件,獲取文件大小、創(chuàng)建時(shí)間、行數(shù)等屬性信息,驗(yàn)證是否符合業(yè)務(wù)定義(即參數(shù)配置文件指定的業(yè)務(wù)字段格式、大小),正確后將指定文件按業(yè)務(wù)定義導(dǎo)入內(nèi)存;
④步驟3歸整操作,業(yè)務(wù)歸整線程StandardData加載業(yè)務(wù)過濾器CBussinessFilter插件,根據(jù)通用業(yè)務(wù)或?qū)S脴I(yè)務(wù)對(duì)象,分別對(duì)數(shù)據(jù)進(jìn)行常規(guī)格式過濾;
⑤當(dāng)進(jìn)入步驟4稽核操作時(shí),稽核又被細(xì)分為3個(gè)階段的數(shù)據(jù)清洗方式,首先啟動(dòng)稽核線程auditData進(jìn)入稽核I階段,加載橫向規(guī)則比較器CfixedRuleFilter插件,依次取出規(guī)則對(duì)象,稽核與其他業(yè)務(wù)的同質(zhì)字段一致性,進(jìn)行算術(shù)或邏輯運(yùn)算;
⑥上節(jié)處理結(jié)束后,進(jìn)入稽核2階段,加載縱向規(guī)則對(duì)比器CdynamicRuleFilter插件,檢查各原始表、歷史表的數(shù)據(jù),確定有效狀態(tài),進(jìn)行業(yè)務(wù)前置、互斥關(guān)系、時(shí)間關(guān)系等判斷;
⑦完成上述兩階段的清洗后,根據(jù)稽核的階段定義選擇(是否進(jìn)行其它方向附加復(fù)雜稽核),若不需要?jiǎng)t跳過至第⑧步,若選擇需要?jiǎng)t進(jìn)入稽核3階段,加載引申規(guī)則定義器CextendRuleFilter插件,檢查指定關(guān)聯(lián)業(yè)務(wù)表、關(guān)聯(lián)字段、轉(zhuǎn)化規(guī)則關(guān)系,執(zhí)行指定字符串方式、組合方式、算術(shù)方式、推演方式等深入加工的邏輯動(dòng)作;
⑧最后進(jìn)行步驟5入庫操作,啟動(dòng)入庫線程downStat1n將精細(xì)化加工后的數(shù)據(jù)持久化存儲(chǔ),操作業(yè)務(wù)對(duì)應(yīng)的動(dòng)態(tài)表,更新主基礎(chǔ)表、渠道業(yè)務(wù)表、交易數(shù)據(jù)工作表,備份原始數(shù)據(jù)區(qū)。
[0023]通過以上的插件開發(fā),渠道定義和配置,業(yè)務(wù)動(dòng)態(tài)表創(chuàng)建,啟動(dòng)渠道開展數(shù)據(jù)清洗,即可對(duì)某類業(yè)務(wù)數(shù)據(jù)文件,進(jìn)行統(tǒng)一數(shù)據(jù)裝配辦法下的加工處理,形成市民信息人口庫,并且,可以在未來,通過配置,完成對(duì)新業(yè)務(wù)數(shù)據(jù)文件的處理工作,以渠道的方式加入,不需要進(jìn)行反復(fù)開發(fā)工作,而其中插件化處理的數(shù)據(jù)裝配辦法,是保證系統(tǒng)實(shí)現(xiàn)的核心環(huán)節(jié)。
[0024]本發(fā)明涉及線程和插件配合運(yùn)行,系統(tǒng)中插件的工作方式是擁有自身的管理線程,加載動(dòng)態(tài)庫組件,由不同步驟的工作線程啟動(dòng)后調(diào)用,工作線程只獨(dú)立運(yùn)行于一個(gè)渠道系統(tǒng)之中,串行處理,以防止數(shù)據(jù)交叉和不一致,但不同渠道系統(tǒng)之間并行運(yùn)行,線程無關(guān),因?yàn)椴煌乐g業(yè)務(wù)是相互區(qū)別的子類,不發(fā)生直接約束。
[0025]以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下還可以做出若干改進(jìn),這些改進(jìn)也應(yīng)視為本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種基于插件處理的數(shù)據(jù)裝配方法,其特征在于包括以下步驟: 1)、搭建功能插件,所述功能插件包括數(shù)據(jù)裝載器、業(yè)務(wù)過濾器插件、橫向規(guī)則比較器和縱向規(guī)則對(duì)比器,所述數(shù)據(jù)裝載器,用于完成配置文件所指定的數(shù)據(jù)字段讀取工作,并根據(jù)業(yè)務(wù)定義進(jìn)行文件檢查;所述業(yè)務(wù)過濾器,用于按通用或?qū)S靡?guī)則對(duì)業(yè)務(wù)進(jìn)行特征鑒別,并依業(yè)務(wù)特征進(jìn)行過濾;所述橫向規(guī)則比較器,用于對(duì)同質(zhì)字段的當(dāng)前不同業(yè)務(wù)渠道數(shù)據(jù)比較;所述縱向規(guī)則對(duì)比器,用于對(duì)同業(yè)務(wù)渠道數(shù)據(jù)與歷史數(shù)據(jù)對(duì)比; 2)、建立各業(yè)務(wù)渠道; 3)、導(dǎo)入數(shù)據(jù)進(jìn)行清洗處理后存儲(chǔ): 31)、初始化工作線程與功能插件,讀取業(yè)務(wù)渠道中的配置文件和規(guī)則表,獲得功能插件及規(guī)則集合; 32)、啟動(dòng)數(shù)據(jù)提取線程獲取原始數(shù)據(jù)文件,所述原始數(shù)據(jù)文件包括業(yè)務(wù)文件和交易數(shù)據(jù)文件; 33)、啟動(dòng)數(shù)據(jù)分揀線程加載數(shù)據(jù)裝載器,獲取文件并驗(yàn)證后根據(jù)文件的業(yè)務(wù)定義導(dǎo)入內(nèi)存; 34)、啟動(dòng)業(yè)務(wù)歸整線程加載業(yè)務(wù)過濾器,根據(jù)業(yè)務(wù)特征分別對(duì)數(shù)據(jù)進(jìn)行格式過濾; 35)、啟動(dòng)稽核線程進(jìn)入對(duì)數(shù)據(jù)進(jìn)行稽核; 36)、啟動(dòng)入庫線程將稽核后的數(shù)據(jù)持久化存儲(chǔ)。
2.根據(jù)權(quán)利要求1所述的基于插件處理的數(shù)據(jù)裝配方法,其特征在于:所述功能插件還包括引申規(guī)則定義器,所述引申規(guī)則定義器用于對(duì)多個(gè)相關(guān)數(shù)據(jù)進(jìn)行復(fù)雜推導(dǎo)加工。
3.根據(jù)權(quán)利要求1所述的基于插件處理的數(shù)據(jù)裝配方法,其特征在于所述步驟2)中各業(yè)務(wù)渠道的建立過程為: 21)、獲得業(yè)務(wù)文件的格式樣本,分析文件類型、各業(yè)務(wù)字段內(nèi)含和特征; 22)、增加新的渠道,定義對(duì)應(yīng)的渠道業(yè)務(wù)表、工作表字段名、類型,調(diào)用腳本創(chuàng)建各表; 23)、定義需要的稽核器及其所運(yùn)行的業(yè)務(wù)規(guī)則集合,描述各業(yè)務(wù)子規(guī)則工作對(duì)象字段和策略方法; 24)、配置渠道控制參數(shù)和數(shù)據(jù)裝配的參數(shù)文件; 25)、啟用渠道,開放接口,導(dǎo)入業(yè)務(wù)數(shù)據(jù)文件。
4.根據(jù)權(quán)利要求1至3任一項(xiàng)所述的基于插件處理的數(shù)據(jù)裝配方法,其特征在于所述步驟35)的具體過程為: 351)、稽核第一階段:加載橫向規(guī)則比較器插件,依次取出規(guī)則對(duì)象,稽核與其他業(yè)務(wù)的同質(zhì)字段一致性,進(jìn)行算術(shù)或邏輯運(yùn)算; 352)、稽核第二階段:完成步驟351)后,加載縱向規(guī)則對(duì)比器插件,檢查各原始表的數(shù)據(jù)和同一業(yè)務(wù)渠道歷史表的數(shù)據(jù),確定所述數(shù)據(jù)的有效狀態(tài),并進(jìn)行相互關(guān)系判斷。
5.根據(jù)權(quán)利要求4所述的基于插件處理的數(shù)據(jù)裝配方法,其特征在于所述步驟35)的具體過程還包括: 353)、稽核第三階段:完成步驟352)后,根據(jù)定義選擇加載引申規(guī)則定義器插件,檢查指定關(guān)聯(lián)業(yè)務(wù)表、關(guān)聯(lián)字段、轉(zhuǎn)化規(guī)則關(guān)系,執(zhí)行高階加工的指定邏輯動(dòng)作。
【文檔編號(hào)】G06F9/445GK104317624SQ201410611351
【公開日】2015年1月28日 申請(qǐng)日期:2014年11月4日 優(yōu)先權(quán)日:2014年11月4日
【發(fā)明者】葛海歐, 張旺, 楊智敏, 路晉平, 孫力斌 申請(qǐng)人:南京聯(lián)創(chuàng)科技集團(tuán)股份有限公司