一種不同文件格式的數據比對系統及方法
【專利摘要】本發明提供一種不同文件格式的數據比對系統及方法,其中系統包括用于獲取A平臺和B平臺中業務數據模板的數據獲取模塊、用于從對應的存儲空間中提取需要對比的業務數據的數據提取模塊、用于將提取的業務數據放入緩存或放入數據庫中進行比較的數據比較模塊和用于將差異數據根據設定的格式生成對比文件的數據生成模塊;本發明數據比對系統不用具體關心業務數據,數據比對與業務本身分離,只需要各個業務負責人按照文件對應格式進行配置即可進行數據處理,處理之后,差異數據按照規定格式入庫或生成文件,方便后期分析和處理,與之前的流程相比,極大程度上簡化了處理數據的步驟,降低了運維成本,提高了工作效率。
【專利說明】
-種不同文件格式的數據比對系統及方法
技術領域
[0001] 本發明主要設及數據處理技術領域,具體設及一種不同文件格式的數據比對系統 及方法。
【背景技術】
[0002] 目前各地區移動NGBOSS系統,用戶使用的積分數據本地區有一套數據中屯、,而積 分平臺也有一份用戶的積分數據中屯、。由于積分平臺和各地區系統的獨立性,再加上業務 受理時異步處理、系統或數據庫故障等原因,導致部分用戶的積分數據在兩個平臺之間的 同步時出現異常。所W,兩個平臺的數據需要定期(按天、按周或按月等)進行比對,并對差 異數據進行分析和處理。
[0003] 而類似運樣的兩套系統兩份數據中屯、的業務有很多,經常設及到數據一致性的比 對。由于運些業務本身業務邏輯的差異性,每類業務集團平臺或地區平臺下發的數據文件 格式各不相同,數據庫取值SQL腳本也各不相同,所W,每次新增一個業務數據的一致性比 較的需求,各地區都要新增一套程序進行處理,成本較高。
【發明內容】
[0004] 本發明所要解決的技術問題是提供一種不同文件格式的數據比對系統及方法,數 據比對系統不用具體關屯、業務數據,數據比對與業務本身分離,只需要各個業務負責人按 照文件對應格式進行配置即可進行數據處理,處理之后,差異數據按照規定格式入庫或生 成文件,方便后期分析和處理,與之前的流程相比,極大程度上簡化了處理數據的步驟,降 低了運維成本,提高了工作效率。
[0005] 本發明解決上述技術問題的技術方案如下:一種不同文件格式的數據比對系統, 包括數據獲取模塊、數據提取模塊、數據比較模塊和數據生成模塊,
[0006] 所述數據獲取模塊,用于啟動進程,并根據業務id或利用循環讀取方式獲取A平臺 和B平臺中業務數據模板,其中,A平臺的業務數據模板和B平臺的業務數據模板的格式不 同;
[0007] 所述數據提取模塊,用于根據業務數據模板判斷A平臺和B平臺的數據格式,再分 別根據判斷出的數據格式從對應的存儲空間中提取需要對比的業務數據;
[000引所述數據比較模塊,用于根據預設的數據量闊值將提取的業務數據放入緩存或放 入數據庫中進行比較,從而獲得差異數據;
[0009] 所述數據生成模塊,用于將所述差異數據根據設定的格式生成對比文件并保存。
[0010] 本發明的有益效果是:數據比對系統不用具體關屯、業務數據,數據比對與業務本 身分離,只需要各個業務負責人按照文件對應格式進行配置即可進行數據處理,處理之后, 差異數據按照規定格式入庫或生成文件,方便后期分析和處理,與之前的流程相比,極大程 度上簡化了處理數據的步驟,降低了運維成本,提高了工作效率。
[0011] 在上述技術方案的基礎上,本發明還可W做如下改進。
[0012] 進一步,所述數據獲取模塊包括檢測單元、第一獲取單元和第二獲取單元,
[0013] 所述檢測單元,用于檢測是否配置業務id,如果配置,則發送第一獲取指令至第一 獲取單元,否則發送第二獲取指令至第二獲取單元;
[0014] 所述第一獲取單元,用于接收到第一獲取指令后,根據業務id在預設的查詢配置 表中匹配對應該業務id的模板信息,并從A平臺或B平臺中獲取該模板信息對應的業務數據 模板;
[0015] 所述第二獲取單元,用于接收到第二獲取指令后,利用循環讀取方式在預設的查 詢配置表中逐一讀取模板信息,并從A平臺或B平臺中獲取各個模板信息的業務數據模板。
[0016] 采用上述進一步方案的有益效果是:從不同平臺獲取不同格式的數據進行處理, 兼容性強。
[0017] 進一步,所述數據提取模塊中,根據業務數據模板在預設的模板配置表中判斷A平 臺和B平臺的數據格式,若數據格式為文件格式,則連接到對應主機提取文件格式的業務數 據,若數據格式為數據串格式,則連接到對應數據庫提取數據串格式的業務數據。數據格式 可包括sql數據串格式、文本格式、xml數據串格式等。
[0018] 采用上述進一步方案的有益效果是:可支持多種數據格式,兼容多種主流數據庫。
[0019] 進一步,所述數據比較模塊包括判斷單元、緩存比較單元和數據庫比較單元,
[0020] 所述判斷單元,用于根據預設的數據量闊值判斷提取的業務數據的大小是否達到 數據量闊值,如果未達到,則發送第一比較指令至緩存比較單元,否則發送第二比較指令至 數據庫比較單元;
[0021] 所述緩存比較單元,用于根據第一比較指令將業務數據Wkey-value的數據形式 進行改寫,再將改寫的業務數據載入應用緩存中進行比較,從而獲得差異數據;
[0022] 所述數據庫比較單元,用于根據第二比較指令將業務數據Wkey-value的數據形 式進行改寫,再將改寫的業務數據載入數據庫臨時表中進行比較,從而獲得差異數據。
[0023] 采用上述進一步方案的有益效果是:按照數據量大小在應用緩存或數據庫中進行 比對,數據量較大時能夠保證系統穩定,防止數據丟失。
[0024] 進一步,所述緩存比較單元中,改寫的業務數據包括k巧值和value值,將k巧值保 存至MAP_A應用緩存中,將value值保存至MAtB應用緩存中,再循環遍歷各個k巧值并與 value值進行比較,從而獲得差異數據;
[0025] 所述數據庫比較單元中,改寫的業務數據包括k巧值和value值,將k巧值保存至數 據庫148_4臨時表中,將value值保存至數據庫148_8臨時表中,再循環遍歷各個k巧值并與 value值進行比較,從而獲得差異數據。
[0026] 采用上述進一步方案的有益效果是:按照數據量大小在應用緩存或數據庫中進行 比對,數據量較大時能夠保證系統穩定,防止數據丟失。
[0027] 本發明解決上述技術問題的另一技術方案如下:一種不同文件格式的數據比對方 法,包括如下步驟:
[0028] 步驟SI:啟動進程,并根據業務id或利用循環讀取方式獲取A平臺和B平臺中業務 數據模板,其中,A平臺的業務數據模板和B平臺的業務數據模板的格式不同;
[0029] 步驟S2:根據業務數據模板判斷A平臺和B平臺的數據格式,再分別根據判斷出的 數據格式從對應的存儲空間中提取需要對比的業務數據;
[0030]步驟S3:根據預設的數據量闊值將提取的業務數據放入緩存或放入數據庫中進行 比較,從而獲得差異數據;
[0031 ]步驟S4:將所述差異數據根據設定的格式生成對比文件并保存。
[0032] 在上述技術方案的基礎上,本發明還可W做如下改進。
[0033] 進一步,實現步驟Sl的具體步驟為:
[0034] 步驟SlOl:檢測是否配置業務id,如果配置,則執行步驟102,否則執行步驟103;
[0035] 步驟S102:根據業務id在預設的查詢配置表中匹配對應該業務id的模板信息,并 從A平臺或B平臺中獲取該模板信息對應的業務數據模板;
[0036] 步驟S103:利用循環讀取方式在預設的查詢配置表中逐一讀取模板信息,并從A平 臺或B平臺中獲取各個模板信息的業務數據模板。
[0037] 進一步,所述步驟S2中,根據業務數據模板在預設的模板配置表中判斷A平臺和B 平臺的數據格式,若數據格式為文件格式,則連接到對應主機提取文件格式的業務數據,若 數據格式為數據串格式,則連接到對應數據庫提取數據串格式的業務數據。
[0038] 進一步,實現步驟S3的具體步驟為:
[0039] 步驟S301:根據預設的數據量闊值判斷提取的業務數據的大小是否達到數據量闊 值,如果未達到,則執行步驟S302,否則步驟S303;
[0040] 步驟S302:根據第一比較指令將業務數據Wkey-value的數據形式進行改寫,再將 改寫的業務數據載入應用緩存中進行比較,從而獲得差異數據;
[0041] 步驟S303:根據第二比較指令將業務數據Wkey-value的數據形式進行改寫,再將 改寫的業務數據載入數據庫臨時表中進行比較,從而獲得差異數據。
[0042] 進一步,所述步驟S302中,改寫的業務數據包括k巧值和value值,將k巧值保存至 MP_A應用緩存中,將value值保存至MP_B應用緩存中,再循環遍歷各個k巧值并與value值 進行比較,從而獲得差異數據;
[0043] 所述步驟S303中,改寫的業務數據包括k巧值和value值,將k巧值保存至數據庫 1八8_4臨時表中,將value值保存至數據庫148_8臨時表中,再循環遍歷各個k巧值并與value 值進行比較,從而獲得差異數據。
【附圖說明】
[0044] 圖1為本發明系統的模塊框圖;
[0045] 圖2為本發明方法的方法流程圖;
[0046] 圖3為本發明方法實施例的方法流程圖。
【具體實施方式】
[0047] W下結合附圖對本發明的原理和特征進行描述,所舉實例只用于解釋本發明,并 非用于限定本發明的范圍。
[0048] 如圖1所示,一種不同文件格式的數據比對系統,包括數據獲取模塊、數據提取模 塊、數據比較模塊和數據生成模塊,
[0049] 所述數據獲取模塊,用于啟動進程,并根據業務id或利用循環讀取方式獲取A平臺 和B平臺中業務數據模板,其中,A平臺的業務數據模板和B平臺的業務數據模板的格式不 同;
[0050] 所述數據提取模塊,用于根據業務數據模板判斷A平臺和B平臺的數據格式,再分 別根據判斷出的數據格式從對應的存儲空間中提取需要對比的業務數據;
[0051] 所述數據比較模塊,用于根據預設的數據量闊值將提取的業務數據放入緩存或放 入數據庫中進行比較,從而獲得差異數據;
[0052] 所述數據生成模塊,用于將所述差異數據根據設定的格式生成對比文件并保存。
[0053] 所述數據獲取模塊包括檢測單元、第一獲取單元和第二獲取單元,
[0054] 所述檢測單元,用于檢測是否配置業務id,如果配置,則發送第一獲取指令至第一 獲取單元,否則發送第二獲取指令至第二獲取單元;
[0055] 所述第一獲取單元,用于接收到第一獲取指令后,根據業務id在預設的查詢配置 表中匹配對應該業務id的模板信息,并從A平臺或B平臺中獲取該模板信息對應的業務數據 模板;
[0056] 所述第二獲取單元,用于接收到第二獲取指令后,利用循環讀取方式在預設的查 詢配置表中逐一讀取模板信息,并從A平臺或B平臺中獲取各個模板信息的業務數據模板。
[0057] 所述數據提取模塊中,根據業務數據模板在預設的模板配置表中判斷A平臺和B平 臺的數據格式,若數據格式為文件格式,則連接到對應主機提取文件格式的業務數據,若數 據格式為數據串格式,則連接到對應數據庫提取數據串格式的業務數據。數據格式可包括 sql數據串格式、文本格式、xml數據串格式等。
[005引所述數據比較模塊包括判斷單元、緩存比較單元和數據庫比較單元,
[0059] 所述判斷單元,用于根據預設的數據量闊值判斷提取的業務數據的大小是否達到 數據量闊值,如果未達到,則發送第一比較指令至緩存比較單元,否則發送第二比較指令至 數據庫比較單元;
[0060] 所述緩存比較單元,用于根據第一比較指令將業務數據Wkey-value的數據形式 進行改寫,再將改寫的業務數據載入應用緩存中進行比較,從而獲得差異數據;
[0061] 所述數據庫比較單元,用于根據第二比較指令將業務數據Wkey-value的數據形 式進行改寫,再將改寫的業務數據載入數據庫臨時表中進行比較,從而獲得差異數據。
[0062] 所述緩存比較單元中,改寫的業務數據包括k巧值和value值,將k巧值保存至MAP_ A應用緩存中,將value值保存至MP_B應用緩存中,再循環遍歷各個k巧值并與value值進行 比較,從而獲得差異數據;
[0063] 所述數據庫比較單元中,改寫的業務數據包括k巧值和value值,將k巧值保存至數 據庫148_4臨時表中,將value值保存至數據庫148_8臨時表中,再循環遍歷各個k巧值并與 value值進行比較,從而獲得差異數據。
[0064] 如圖2所示,一種不同文件格式的數據比對方法,包括如下步驟:
[0065] 步驟SI:啟動進程,并根據業務id或利用循環讀取方式獲取A平臺和B平臺中業務 數據模板,其中,A平臺的業務數據模板和B平臺的業務數據模板的格式不同;
[0066] 步驟S2:根據業務數據模板判斷A平臺和B平臺的數據格式,再分別根據判斷出的 數據格式從對應的存儲空間中提取需要對比的業務數據;
[0067] 步驟S3:根據預設的數據量闊值將提取的業務數據放入緩存或放入數據庫中進行 比較,從而獲得差異數據;
[0068] 步驟S4:將所述差異數據根據設定的格式生成對比文件并保存。
[0069] 實現步驟Sl的具體步驟為:
[0070] 步驟SlOl:檢測是否配置業務id,如果配置,則執行步驟102,否則執行步驟103;
[0071] 步驟S102:根據業務id在預設的查詢配置表中匹配對應該業務id的模板信息,并 從A平臺或B平臺中獲取該模板信息對應的業務數據模板;
[0072] 步驟S103:利用循環讀取方式在預設的查詢配置表中逐一讀取模板信息,并從A平 臺或B平臺中獲取各個模板信息對應的業務數據模板。
[0073] 所述步驟S2中,根據業務數據模板在預設的模板配置表中判斷A平臺和B平臺的數 據格式,若數據格式為文件格式,則連接到對應主機提取文件格式的業務數據,若數據格式 為數據串格式,則連接到對應數據庫提取數據串格式的業務數據。
[0074] 實現步驟S3的具體步驟為:
[0075] 步驟S301:根據預設的數據量闊值判斷提取的業務數據的大小是否達到數據量闊 值,如果未達到,則執行步驟S302,否則步驟S303;
[0076] 步驟S302:根據第一比較指令將業務數據Wkey-value的數據形式進行改寫,再將 改寫的業務數據載入應用緩存中進行比較,從而獲得差異數據;
[0077] 步驟S303:根據第二比較指令將業務數據Wkey-value的數據形式進行改寫,再將 改寫的業務數據載入數據庫臨時表中進行比較,從而獲得差異數據。
[0078] 所述步驟S302中,改寫的業務數據包括k巧值和value值,將k巧值保存至 用緩存中,將value值保存至MAP_B應用緩存中,再循環遍歷各個k巧值并與value值進行比 較,從而獲得差異數據;
[0079] 所述步驟S303中,改寫的業務數據包括k巧值和value值,將k巧值保存至數據庫 1八8_4臨時表中,將value值保存至數據庫148_8臨時表中,再循環遍歷各個k巧值并與value 值進行比較,從而獲得差異數據。
[0080] 如圖3所示,數據比對方法具體操作步驟為:
[0081 ] 步驟001:開始;
[0082] 步驟002:啟動進程doBalanceBusi,根據配置文件Cfg,連接對應的數據獲取基本 的對比配置信息;
[0083] 步驟003:檢測是否配置業務id,如果配置,則執行步驟004,否則執行步驟005;
[0084] 步驟004:根據業務id在預設的查詢配置表Cs_BalanceRela_Dict中匹配對應該業 務id的模板信息,并從A平臺或B平臺中獲取該模板信息對應的業務數據模板;
[00化]步驟005:利用循環讀取方式在預設的查詢配置表Cs_BalanceRela_Dict中逐一讀 取模板信息,并從A平臺或B平臺中獲取該模板信息對應的業務數據模板;
[00化]步驟006:根據業務數據模板在預設的模板配置表Cs_BalanceTemplate_Dict中判 斷A平臺和B平臺的數據格式,執行步驟007;
[0087] 步驟007:若數據格式為文件格式,則連接到對應主機提取文件格式的業務數據, 若數據格式為數據串格式,則連接到對應數據庫提取數據串格式的業務數據;
[0088] 步驟008:根據預設的數據量闊值判斷提取的業務數據的大小是否達到數據量闊 值,如果未達到,則執行步驟009,否則步驟OlO;
[0089] 步驟009:將業務數據Wk巧-value的數據形式進行改寫,改寫的業務數據包括key 值和value值,將k巧值保存至MAP_A應用緩存中,將value值保存至MAP_B應用緩存中,再循 環遍歷各個k巧值并與value值進行比較,從而獲得差異數據;
[0090] 步驟010:將業務數據Wk巧-value的數據形式進行改寫,改寫的業務數據包括key 值和value值,將key值保存至數據庫148_4臨時表中,將value值保存至數據庫TAB_B臨時表 中,再循環遍歷各個k巧值并與value值進行比較,從而獲得差異數據;
[0091] 步驟011:將差異數據根據設定的格式生成對比文件并保存。
[0092] 步驟012:結束。
[0093] 步驟Oll中,將差異數據寫入流水表Cs_BalanceResult_YYYYMM中或文件表Cs_ BalanceFileFiX-Dict 中。
[0094] 具體的,查詢配置表Cs_BalanceRela_Dict可設置為:
[0095]
[0凸
[0凸
[0103]
[01
[0105] 本系統維護的頻率低,新增數據比對需求,按照上面的配置規則進行配置,業務配 置人員配置好,定期對差異結果進行分析即可。
[0106] W上所述僅為本發明的較佳實施例,并不用W限制本發明,凡在本發明的精神和 原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
【主權項】
1. 一種不同文件格式的數據比對系統,其特征在于,包括數據獲取模塊、數據提取模 塊、數據比較模塊和數據生成模塊, 所述數據獲取模塊,用于啟動進程,并根據業務id或利用循環讀取方式獲取A平臺和B 平臺中業務數據模板,其中,A平臺的業務數據模板和B平臺的業務數據模板的格式不同; 所述數據提取模塊,用于根據業務數據模板判斷A平臺和B平臺的數據格式,再分別根 據判斷出的數據格式從對應的存儲空間中提取需要對比的業務數據; 所述數據比較模塊,用于根據預設的數據量閾值將提取的業務數據放入緩存或放入數 據庫中進行比較,從而獲得差異數據; 所述數據生成模塊,用于將所述差異數據根據設定的格式生成對比文件并保存。2. 根據權利要求1所述的一種不同文件格式的數據比對系統,其特征在于,所述數據獲 取模塊包括檢測單元、第一獲取單元和第二獲取單元, 所述檢測單元,用于檢測是否配置業務id,如果配置,則發送第一獲取指令至第一獲取 單元,否則發送第二獲取指令至第二獲取單元; 所述第一獲取單元,用于接收到第一獲取指令后,根據業務id在預設的查詢配置表中 匹配對應該業務id的模板信息,并從A平臺或B平臺中獲取該模板信息對應的業務數據模 板; 所述第二獲取單元,用于接收到第二獲取指令后,利用循環讀取方式在預設的查詢配 置表中逐一讀取模板信息,并從A平臺或B平臺中獲取各個模板信息的業務數據模板。3. 根據權利要求1所述的一種不同文件格式的數據比對系統,其特征在于,所述數據提 取模塊中,根據業務數據模板在預設的模板配置表中判斷A平臺和B平臺的數據格式,若數 據格式為文件格式,則連接到對應主機提取文件格式的業務數據,若數據格式為數據串格 式,則連接到對應數據庫提取數據串格式的業務數據。4. 根據權利要求1所述的一種不同文件格式的數據比對系統,其特征在于,所述數據比 較模塊包括判斷單元、緩存比較單元和數據庫比較單元, 所述判斷單元,用于根據預設的數據量閾值判斷提取的業務數據的大小是否達到數據 量閾值,如果未達到,則發送第一比較指令至緩存比較單元,否則發送第二比較指令至數據 庫比較單元; 所述緩存比較單元,用于根據第一比較指令將業務數據以key-value的數據形式進行 改寫,再將改寫的業務數據載入應用緩存中進行比較,從而獲得差異數據; 所述數據庫比較單元,用于根據第二比較指令將業務數據以key-value的數據形式進 行改寫,再將改寫的業務數據載入數據庫臨時表中進行比較,從而獲得差異數據。5. 根據權利要求4所述的一種不同文件格式的數據比對系統,其特征在于,所述緩存比 較單元中,改寫的業務數據包括key值和value值,將key值保存至MAP_A應用緩存中,將 value值保存至MAP_B應用緩存中,再循環遍歷各個key值并與value值進行比較,從而獲得 差異數據; 所述數據庫比較單元中,改寫的業務數據包括key值和value值,將key值保存至數據庫 時表中,將value值保存至數據庫時表中,再循環遍歷各個key值并與value 值進行比較,從而獲得差異數據。6. -種不同文件格式的數據比對方法,其特征在于,包括如下步驟: 步驟S1:啟動進程,并根據業務id或利用循環讀取方式獲取A平臺和B平臺中業務數據 模板,其中,A平臺的業務數據模板和B平臺的業務數據模板的格式不同; 步驟S2:根據業務數據模板判斷A平臺和B平臺的數據格式,再分別根據判斷出的數據 格式從對應的存儲空間中提取需要對比的業務數據; 步驟S3:根據預設的數據量閾值將提取的業務數據放入緩存或放入數據庫中進行比 較,從而獲得差異數據; 步驟S4:將所述差異數據根據設定的格式生成對比文件并保存。7. 根據權利要求6所述的一種不同文件格式的數據比對方法,其特征在于,實現步驟S1 的具體步驟為: 步驟S101:檢測是否配置業務id,如果配置,則執行步驟102,否則執行步驟103; 步驟S102:根據業務id在預設的查詢配置表中匹配對應該業務id的模板信息,并從A平 臺或B平臺中獲取該模板信息對應的業務數據模板; 步驟S103:利用循環讀取方式在預設的查詢配置表中逐一讀取模板信息,并從A平臺或 B平臺中獲取各個模板信息的業務數據模板。8. 根據權利要求6所述的一種不同文件格式的數據比對方法,其特征在于,所述步驟S2 中,根據業務數據模板在預設的模板配置表中判斷A平臺和B平臺的數據格式,若數據格式 為文件格式,則連接到對應主機提取文件格式的業務數據,若數據格式為數據串格式,則連 接到對應數據庫提取數據串格式的業務數據。9. 根據權利要求6所述的一種不同文件格式的數據比對方法,其特征在于,實現步驟S3 的具體步驟為: 步驟S301:根據預設的數據量閾值判斷提取的業務數據的大小是否達到數據量閾值, 如果未達到,則執行步驟S302,否則步驟S303; 步驟S302:根據第一比較指令將業務數據以key-value的數據形式進行改寫,再將改寫 的業務數據載入應用緩存中進行比較,從而獲得差異數據; 步驟S303:根據第二比較指令將業務數據以key-value的數據形式進行改寫,再將改寫 的業務數據載入數據庫臨時表中進行比較,從而獲得差異數據。10. 根據權利要求6所述的一種不同文件格式的數據比對方法,其特征在于,所述步驟 S302中,改寫的業務數據包括key值和value值,將key值保存至MAP_A應用緩存中,將value 值保存至MAP_B應用緩存中,再循環遍歷各個key值并與value值進行比較,從而獲得差異數 據; 所述步驟S303中,改寫的業務數據包括key值和value值,將key值保存至數據庫TAB_A 臨時表中,將value值保存至數據庫時表中,再循環遍歷各個key值并與value值進 行比較,從而獲得差異數據。
【文檔編號】G06F17/30GK106021301SQ201610290710
【公開日】2016年10月12日
【申請日】2016年5月5日
【發明人】李建華
【申請人】北京思特奇信息技術股份有限公司