本發(fā)明涉及計算機技術(shù)技術(shù),尤其涉及一種熱插拔式的業(yè)務單據(jù)增量捕獲方法。
背景技術(shù):
在以數(shù)據(jù)為核心的時代背景下,數(shù)據(jù)采集成為信息化建設的重點基礎性工作之一,為進一步滿足企業(yè)大數(shù)據(jù)應用和創(chuàng)新提供了基礎保障,因信息化建設的時期和廠商不同,導致企業(yè)中存在若干系統(tǒng),系統(tǒng)與系統(tǒng)在架構(gòu)和技術(shù)上差異較大,如何便捷有效的將數(shù)據(jù)從不同系統(tǒng)中按照增量原則進行抽取是面臨的主要問題。
目前業(yè)內(nèi)主要的做法是采用ETL、數(shù)據(jù)交換等工具來實現(xiàn),而這些工具也是基于信息系統(tǒng)的數(shù)據(jù)差異比對。受不同時期、不同廠家的設計理念和架構(gòu)的影響,建設的軟件系統(tǒng)沒有考慮大數(shù)量時代下數(shù)據(jù)集并的需要,系統(tǒng)不能滿足增量捕獲的條件,所以無法支持此類工具的正常使用。
在此背景下,需要提出并實現(xiàn)一種不需要修改目標信息系統(tǒng)的前提下,提供業(yè)務數(shù)據(jù)增量捕獲所需的差異比對信息,從而滿足目標系統(tǒng)數(shù)據(jù)增量捕獲的需求。
技術(shù)實現(xiàn)要素:
為了解決以上技術(shù)問題,本發(fā)明提出了一種熱插拔式的業(yè)務單據(jù)增量捕獲方法,在不需要修改目標信息系統(tǒng)的前提下,提供業(yè)務數(shù)據(jù)增量捕獲所需的差異比對信息,從而滿足目標系統(tǒng)數(shù)據(jù)增量捕獲的需求。
本發(fā)明通過配置捕獲目標、捕獲時機和捕獲策略,通過捕獲器實現(xiàn)業(yè)務系統(tǒng)的業(yè)務數(shù)據(jù)自動捕獲。不需要改造信息管理軟件系統(tǒng),可以配置增量捕獲的時機和策略,支持功能在目標系統(tǒng)上熱插拔式,可以方便定制日志記錄策略。如下表
1、捕獲器定義
捕獲器是業(yè)務單據(jù)捕獲程序?qū)嶓w,捕獲器實體中定義了捕獲目標業(yè)務數(shù)據(jù)表邏輯、捕獲信息內(nèi)容邏輯、以及捕獲過程記錄邏輯等,捕獲器的執(zhí)行依賴于數(shù)據(jù)庫增量調(diào)度程序調(diào)度啟動,并通過數(shù)據(jù)觸發(fā)進行喚醒捕獲器,以下是捕獲器實體定義。
捕獲器由定義捕獲業(yè)務數(shù)據(jù)目標邏輯、捕獲業(yè)務數(shù)據(jù)信息邏輯、定義捕獲數(shù)據(jù)存儲邏輯、定義捕獲執(zhí)行記錄邏輯四部分組成。
捕獲器定義步聚如下:
步驟一:定義捕獲業(yè)務數(shù)據(jù)目標邏輯是捕獲器的第一部分,用于識別捕獲哪個目標業(yè)務數(shù)據(jù)的核心邏輯,是捕獲器能夠順利捕獲正常業(yè)務增量數(shù)據(jù)的基礎。
步驟二:定義捕獲業(yè)務數(shù)據(jù)信息邏輯,此步是基于步驟一實現(xiàn),用于定義捕獲器具體捕獲的業(yè)務數(shù)據(jù)。
步驟三:定義捕獲數(shù)據(jù)存儲邏輯,經(jīng)過步驟二的執(zhí)行,成功捕獲增量數(shù)據(jù)后,通過此步完成將捕獲的增量數(shù)據(jù)進行存儲。
步驟四:定義捕獲執(zhí)行記錄邏輯,此步是將捕獲器執(zhí)行情況進行存儲。捕獲器執(zhí)行步驟如下:
步驟一:捕獲器監(jiān)聽程序監(jiān)聽增量捕獲器配置的目標業(yè)務數(shù)據(jù)實體。
步驟二:業(yè)務數(shù)據(jù)實體發(fā)生變化,監(jiān)聽程序根據(jù)配置中的捕獲時機進行匹配。
步驟三:匹配成功,捕獲器執(zhí)行捕獲邏輯。
步驟四:重復執(zhí)行步驟一到步驟三。
2、存儲業(yè)務增量記錄實體定義
存儲業(yè)務增量記錄實體用于保存捕獲器捕獲的業(yè)務增量信息,業(yè)務增量記錄實體定義如下表:
3、存儲捕獲執(zhí)行記錄實體定義
存儲捕獲執(zhí)行記錄實體用于保存捕獲器執(zhí)行過程信息,存儲捕獲執(zhí)行記錄實體定義如下表:
4、增量捕獲配置
增量捕獲配置是用于定義捕獲目標、捕獲時機和捕獲策略的功能,保證捕獲器正確捕獲并捕獲正確信息的關(guān)鍵。
捕獲目標:定義捕獲的目標業(yè)務數(shù)據(jù)實體。
捕獲時機:定義滿足捕獲執(zhí)行的前提,命中后捕獲邏輯執(zhí)行。
捕獲策略:簡單捕獲和完整捕獲兩部分,簡單捕獲也稱為非全量捕獲,根據(jù)需要來配置抓取業(yè)務數(shù)據(jù)實體的數(shù)據(jù)塊;完整捕獲也稱為全量捕獲,將業(yè)務數(shù)據(jù)增量數(shù)據(jù)全部捕獲存儲。
以下是增量捕獲配置表:
5、數(shù)據(jù)庫增量調(diào)度程序
數(shù)據(jù)庫增量調(diào)度程序用于調(diào)度捕獲器的執(zhí)行,是數(shù)據(jù)增量捕獲技術(shù)首先運行的程序。
為滿足不同平臺和不同產(chǎn)品的二次開發(fā)需要,直接監(jiān)控系統(tǒng)數(shù)據(jù)層,不受平臺和產(chǎn)品系統(tǒng)的限制。為了滿足用戶對于系統(tǒng)運行連續(xù)性的要求,本設計采用“熱插拔式”。特別適合于在已有軟件系統(tǒng)中針對業(yè)務數(shù)據(jù)進行增量捕獲的場景。采用本技術(shù),既保障了現(xiàn)有系統(tǒng)的穩(wěn)定性和連續(xù)性,又較好的實現(xiàn)業(yè)務數(shù)據(jù)的增量捕獲。
該方法具有以下特點:
在不修改目標系統(tǒng)功能情況下,實現(xiàn)目標系統(tǒng)業(yè)務增量數(shù)據(jù)及變更數(shù)據(jù)的自動記錄;
管理員通過設定的開關(guān)和參數(shù)動態(tài)控制業(yè)務數(shù)據(jù)增量捕獲時機及捕獲策略;
增量捕獲執(zhí)行日志的記錄,便于捕獲異常跟蹤和反向追溯;
不受目標系統(tǒng)的架構(gòu)限制,本發(fā)明有配置簡單、兼容性好、接口易擴展等特點,具有良好的推廣應用價值。
附圖說明
圖1是本發(fā)明方法中業(yè)務單據(jù)增量捕獲過程視圖。
具體實施方式
下面對本發(fā)明的內(nèi)容進行更加詳細的闡述:
場景:以下為某供應鏈管理系統(tǒng)中用到的采購訂單信息自動捕獲增量信息的舉例。
步驟:
1、打開增量捕獲配置,填寫采購訂單為目標業(yè)務數(shù)據(jù)實體。
2、填寫捕獲時機,采購訂單的捕獲時機為新增和更新采購訂單。
3、填寫捕獲策略為簡單捕獲,填寫捕獲采購訂單的變更時間、變更內(nèi)容等。
4、啟動數(shù)據(jù)庫增量調(diào)度程序,程序啟動后調(diào)用捕獲器執(zhí)行。
5、捕獲器運行,讀取增量捕獲配置表,根據(jù)配置進入監(jiān)聽狀態(tài)。
6、監(jiān)聽采購訂單發(fā)生變化后,啟動捕獲邏輯執(zhí)行。
7、將捕獲的業(yè)務增量信息和捕獲器執(zhí)行信息分別寫入存儲實體中。
綜上所述,通過提供可配置和可擴展的捕獲配置,使得應用程序可以根據(jù)實際情況靈活配置。捕獲增量數(shù)據(jù)完全自動化,無需人工干預。捕獲環(huán)節(jié)中加強了對異常的處理,發(fā)生異常之后,程序會根據(jù)規(guī)則自動記錄捕獲器執(zhí)行過程,便于問題跟蹤及反向追溯查詢。
增量捕獲的安裝部署不影響現(xiàn)有系統(tǒng)功能和業(yè)務數(shù)據(jù);
增量捕獲內(nèi)容、捕獲時機及捕獲策略支持靈活配置;
增量捕獲日志支持簡單記錄和完整記錄,便于不同級別的問題排查和反向追溯;
不受目標系統(tǒng)架構(gòu)和軟件平臺限制;
對目標系統(tǒng)功能無任何修改的情況下,動態(tài)的實現(xiàn)業(yè)務數(shù)據(jù)的增量捕獲。
實現(xiàn)熱插拔式配置,可以隨時根據(jù)需要添加或者取消增量捕獲的對象,設定增量捕獲的策略。
每次捕獲增量數(shù)據(jù)時,都記錄捕獲成功的數(shù)據(jù)。當存在一條數(shù)據(jù)多次捕獲時,在日志中可以查詢到每次捕獲的數(shù)據(jù)間的差異,方便進行問題的排查等操作。
直接通過數(shù)據(jù)庫層監(jiān)控,來實現(xiàn)數(shù)據(jù)的增量控制,對用戶的應用、系統(tǒng)的穩(wěn)定性、系統(tǒng)的安全均無影響。