云平臺基于日志實現(xiàn)交易回放和重做的系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機軟件技術(shù)領(lǐng)域,尤其涉及云平臺應(yīng)用系統(tǒng)領(lǐng)域,具體是指一種云平臺基于日志實現(xiàn)交易回放和重做的系統(tǒng)及方法。
【背景技術(shù)】
[0002]隨著云平臺技術(shù)的發(fā)展越來越成熟,一些企業(yè)和機構(gòu)也更愿意把業(yè)務(wù)系統(tǒng)放到云服務(wù)上運行。在云平臺微服務(wù)的架構(gòu)下,應(yīng)用部署相對比較零散,日志也沒有做到統(tǒng)一規(guī)整。業(yè)務(wù)系統(tǒng)在日常運行交易處理中不可避免會有異常情況的發(fā)生。可能會遇到如下三個普遍性的問題和需求:業(yè)務(wù)系統(tǒng)交易異常需要一個統(tǒng)一處理和報送的機制、異常后排查問題需要將發(fā)生異常的業(yè)務(wù)進行回放、交易數(shù)據(jù)需要通過交易重做來核對。因此,需要有一套系統(tǒng)性的方法來解決交易時異常預警、事后業(yè)務(wù)回放和交易重做等一系列問題。
[0003]針對此需求,目前各大金融領(lǐng)域的企業(yè)有傳統(tǒng)的解決方案。在異常捕獲和報送功能的實現(xiàn)方案,一般采用的是在代碼級別捕獲異常后進行處理和報送,每個系統(tǒng)有著獨立的報送程序。在交易重現(xiàn)和交易重做的實現(xiàn)方案,一般采用線下模擬的方式。例如:將線上的數(shù)據(jù)庫和文件系統(tǒng)等備份到磁盤,再將磁盤的數(shù)據(jù)導入線下環(huán)境執(zhí)行一遍后和線上數(shù)據(jù)做比對,得出交易結(jié)果。
[0004]上述傳統(tǒng)的異常捕獲和報送方案,存在以下弊端:首先,異常分析和報送程序依附于原系統(tǒng)上,當異常處理壓力較大時,會對原系統(tǒng)造成很大的影響,甚至更嚴重的會導致宕機事故。其次,當一個企業(yè)擁有多個系統(tǒng)時,異常不能統(tǒng)一收集、分析和報送,不利于歸總整理。
[0005]上述傳統(tǒng)的交易重現(xiàn)和交易重做方案,存在以下弊端:首先,一般交易系統(tǒng)數(shù)據(jù)庫和文件系統(tǒng)的數(shù)據(jù)量非常大,備份和還原的整個過程會消耗大量時間,導致效率不高。其次,此方案無法重復執(zhí)行驗證,操作不方便。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的是克服了上述現(xiàn)有技術(shù)中異常和日志分布零散、交易重現(xiàn)和重做執(zhí)行效率低下、操作不便的缺點,提供了一種能夠?qū)崿F(xiàn)統(tǒng)一日志收集、異常報送以及高效率的交易重現(xiàn)和交易重做、具有更廣泛應(yīng)用范圍的云平臺基于日志實現(xiàn)交易回放和重做的系統(tǒng)及方法。
[0007]為了實現(xiàn)上述目的,本發(fā)明的云平臺基于日志實現(xiàn)交易回放和重做的系統(tǒng)及方法具有如下構(gòu)成:
[0008]該云平臺基于日志實現(xiàn)交易回放和重做的系統(tǒng),其主要特點是,所述的實現(xiàn)交易回放和重做的系統(tǒng)包括:
[0009]日志記錄推送引擎,用以記錄業(yè)務(wù)系統(tǒng)的異常運行日志、正常運行日志和交易記錄日志并將記錄的日志文件推送至日志分析報送模塊;
[0010]日志分析報送模塊,用以接收推送的日志文件并分析得到異常運行數(shù)據(jù)、正常運行數(shù)據(jù)或交易進行數(shù)據(jù)以及將異常運行數(shù)據(jù)報送至業(yè)務(wù)系統(tǒng)管理員;
[0011]日志查看導出模塊,用以根據(jù)用戶選擇的條件查詢用戶所需要的日志內(nèi)容或交易信息并將查詢結(jié)果導出為報表;
[0012]交易回放和重做引擎,用以根據(jù)用戶選擇需要回放或重做的交易提取所述的交易進行數(shù)據(jù)并執(zhí)行交易回放或交易重做。
[0013]較佳地,所述的日志記錄推送弓I擎包括:
[0014]日志記錄單元,用以配置日志記錄規(guī)則并記錄業(yè)務(wù)系統(tǒng)的異常運行日志、正常運行日志和交易記錄日志;
[0015]日志推送引擎,用以將記錄的日志文件推送至日志分析報送模塊。
[0016]更佳地,所述的日志分析報送模塊包括:
[0017]日志收集單元,用以接收所述的日志推送引擎推送的日志文件;
[0018]日志分析單元,用以根據(jù)所述的日常記錄單元配置的日志記錄規(guī)則對日志文件進行分析得到異常運行數(shù)據(jù)、正常運行數(shù)據(jù)或交易進行數(shù)據(jù);
[0019]異常報送單元,用以當分析異常運行日志時將異常運行數(shù)據(jù)報送至業(yè)務(wù)系統(tǒng)管理員。
[0020]較佳地,所述的日志查看導出模塊包括:
[0021]日志查詢單元,用以根據(jù)用戶選擇的條件從日志索引中查詢用戶需要的日志內(nèi)容并進行展示;
[0022]交易查詢單元,用以通過用戶選擇的條件從日志提取的交易進行數(shù)據(jù)中查詢需要的交易信息并進行展示;
[0023]結(jié)果報表導出單元,用以將用戶查詢的內(nèi)容生成結(jié)果報表。
[0024]較佳地,所述的交易回放和重做引擎包括:
[0025]交易環(huán)境初始化數(shù)據(jù)生成單元,用以根據(jù)用戶選擇需要回放或重做的交易提取所述的交易進行數(shù)據(jù),以及根據(jù)提取的交易進行數(shù)據(jù)和配置的規(guī)則,生成數(shù)據(jù)庫初始化腳本;
[0026]業(yè)務(wù)系統(tǒng)交易回放代理單元,用以根據(jù)需要回放的交易的數(shù)據(jù)庫初始化腳本執(zhí)行交易回放;
[0027]業(yè)務(wù)系統(tǒng)交易重做代理單元,用以根據(jù)需要重做的交易的數(shù)據(jù)庫初始化腳本執(zhí)行交易重做;
[0028]交易重做結(jié)果比對單元,用以將重做的結(jié)果與原結(jié)果進行比對生成數(shù)據(jù)比對報表。
[0029]本發(fā)明還涉及一種基于所述的實現(xiàn)交易回放和重做的系統(tǒng)于云平臺基于日志實現(xiàn)交易回放和重做的方法,其特征在于,所述的方法包括以下步驟:
[0030](I)所述的日志記錄推送引擎記錄業(yè)務(wù)系統(tǒng)的異常運行日志、正常運行日志和交易記錄日志并將記錄的日志文件推送至日志分析報送模塊;
[0031](2)所述的日志分析報送模塊接收推送的日志文件并分析得到異常運行數(shù)據(jù)、正常運行數(shù)據(jù)或交易進行數(shù)據(jù)以及將異常運行數(shù)據(jù)報送至業(yè)務(wù)系統(tǒng)管理員
[0032](3)所述的日志查看導出模塊根據(jù)用戶選擇的條件查詢用戶所需要的日志內(nèi)容或交易信息并將查詢結(jié)果導出為報表;
[0033](4)所述的交易回放和重做引擎根據(jù)用戶選擇需要回放的交易提取所述的交易進行數(shù)據(jù)并執(zhí)行交易回放;
[0034](5)所述的交易回放和重做引擎根據(jù)用戶選擇需要重做的交易提取所述的交易進行數(shù)據(jù)并執(zhí)行交易重做。
[0035]較佳地,所述的日志記錄推送引擎包括日志記錄單元和日志推送引擎,所述的步驟(I)包括以下步驟:
[0036](1-1)將所述的日志記錄推送引擎部署到各業(yè)務(wù)系統(tǒng)中,并初始化運行環(huán)境;
[0037](1-2)所述的日志記錄單元中配置異常運行日志記錄規(guī)則,修改原業(yè)務(wù)系統(tǒng)的日志記錄功能邏輯,使業(yè)務(wù)系統(tǒng)異常后的錯誤信息按照配置的規(guī)則寫入日志文件;
[0038](1-3)所述的日志記錄單元中配置正常運行日志記錄規(guī)則,修改原業(yè)務(wù)系統(tǒng)的日志記錄功能邏輯,使業(yè)務(wù)系統(tǒng)正常運行的日志記錄按照配置的規(guī)則寫入日志文件;
[0039](1-4)所述的日志記錄單元中配置交易類日志記錄規(guī)則,修改原業(yè)務(wù)系統(tǒng)的日志記錄功能邏輯,使業(yè)務(wù)系統(tǒng)將交易數(shù)據(jù)按照配置的規(guī)則寫入日志文件;
[0040](1-5)所述的日志推送引擎中配置日志推送參數(shù)并將日志文件推送至日志分析報送模塊。
[0041]更佳地,所述的日志分析報送模塊包括日志收集單元、日志分析單元和異常報送單元,所述的步驟(2)包括以下步驟:
[0042](2-1)部署日志分析報送模塊并初始化運行環(huán)境;
[0043](2-2)所述的日志收集單元接收各個所述的日志記錄推送引擎推送過來的日志內(nèi)容并存儲;
[0044](2-3)所述的日志分析單元根據(jù)所述的日志記錄單元中的日志記錄規(guī)則分析日志內(nèi)容;
[0045](2-4)所述的日志分析單元中判斷分析到的日志的類型,如果是異常運行日志,則繼續(xù)步驟(2-5),如果是正常運行日志,則繼續(xù)步驟(2-6),如果是交易記錄日志,則繼續(xù)步驟(2-7);
[0046](2-5)所述的日志分析單元提取異常運行數(shù)據(jù)并存儲和建立查詢索引,然后繼續(xù)步驟(2-8);
[0047](2-6)所述的日志分析單元提取正常運行數(shù)據(jù)并存儲和建立查詢索引,然后繼續(xù)步驟⑶;
[0048](2-7)所述的日志分析單元提取交易進行數(shù)據(jù)并存儲和建立查詢索引,然后繼續(xù)步驟⑶;
[0049](2-8)所述的異常報送單元將日志分析單元中得到的異常運行的數(shù)據(jù)向業(yè)務(wù)系統(tǒng)管理員報送。
[0050]較佳地,所述的日志查看導出模塊包括日志查詢單元、交易查詢單元和結(jié)果報表導出單元,所述的步驟(3)包括以下內(nèi)容:
[0051](3-1)所述的日志查詢單元中根據(jù)用戶選擇的日志查詢條件和索引匹配到用戶需要的日志內(nèi)容并進行展示;
[0052](3-2)所述的交易查詢單元中根據(jù)用戶選擇的交易查詢條件分析得到用戶需要的交易信息并進行展示;
[0053](3-3)所述的結(jié)果報表導出單元中將查詢結(jié)果選擇導出報表文件供離線查看。
[0054]較佳地,所述的交易回放和重做引擎包括交易環(huán)境初始化數(shù)據(jù)生成單元和業(yè)務(wù)系統(tǒng)交易回放代理單元,所述的步驟(4)包括以下步驟:
[0055](4-1)部署原業(yè)務(wù)系統(tǒng)環(huán)境,部署并啟動交易回放和重做引擎;
[0056](4-2)所述的交易環(huán)境初始化數(shù)據(jù)生成單元選擇需要回放的交易,提取所述的日志分析報送模塊中所記錄的交易進行數(shù)據(jù);
[0057](4-3)所述的交易環(huán)境初始化數(shù)據(jù)生成單元根據(jù)提取的交易進行數(shù)據(jù)和日志記錄單元配置的日志記錄規(guī)則,生成數(shù)據(jù)庫初始化腳本;
[0058](4-4)所述的交易環(huán)境初始化數(shù)據(jù)生成單元將數(shù)據(jù)庫初始化腳本發(fā)送到業(yè)務(wù)系統(tǒng)交易回放代理單元中;
[0059](4-5)所述業(yè)務(wù)系統(tǒng)交易回放代理單元接收數(shù)據(jù)庫初始化腳本以及當前交易的配置數(shù)據(jù);
[0060](4-6)所述業(yè)務(wù)系統(tǒng)交易回放代理單元執(zhí)行數(shù)據(jù)庫初始化腳本以及初始化交易運行環(huán)境;
[00