自動聚合冗余系統交易數據的系統及其處理器和方法
【技術領域】
[0001]本發明屬于性能監控領域,具體為一種自動聚合冗余系統交易數據的系統和方法。
【背景技術】
[0002]隨著社會科技的發展,網絡已成為企業,尤其是金融企業不可或缺的核心組成部分。
[0003]出于災備的目的,一般銀行、券商、網絡運營商、大型的互聯網公司都會建設兩個數據中心。一個是主數據中心用于承擔用戶的業務,一個是備份數據中心用于備份主數據中心的數據、配置、業務等。主備數據中心之間一般有熱備、冷備、雙活三種備份方式。
[0004]熱備的情況下,只有主數據中心承擔用戶的業務,此時備數據中心對主數據中心進行實時的備份,當主數據中心故障以后,備數據中心可以自動接管主數據中心的業務,用戶的業務不會中斷,所以也感覺不到數據中心的切換。冷備的情況下,也是只有主數據中心承擔業務,但是備用數據中心不會對主數據中心進行實時備份,這時可能是周期性的進行備份或者干脆不進行備份,如果主數據中心故障了,用戶的業務就會中斷。
[0005]在以上兩種備份方式下,備用數據中心只做備份造成資源的浪費。所以分布式雙活中心已經成為當前的技術熱點并被廣泛采用,其運作模式見圖1。
[0006]X方有A、B兩個數據中心,A與B互為分布式雙活數據中心。
[0007]Y方有C、D兩個數據中心,C與D互為分布式雙活數據中心。
[0008]當作為X方的A中心有交易請求要將數據發往C中心后,作為Y方的C中心有兩種選擇:1、直接響應X方請求并返還數據給X方(A或B都可);2、分發接收到的數據給D中心,由D中心響應X方請求。
[0009]這樣處理數據的好處是:1、主備兩個數據中心都同時承擔用戶的業務;2、主備兩個數據中心互為備份,并且進行實時備份。
[0010]—般情況下,業務交易由交易請求和交易響應組成,一次請求、響應的交互完成一筆交易。然而在現實情況中有一種情況:作為Y方,如果在C中心接收數據信息傳送的請求,D中心響應數據信息,對于監控系統來說如何把這一組異地的數據交易請求和響應關聯起來成為了難點。這增加了企業對于整體業務性能分析的困難,也制約了分布式雙活數據中心監控領域的發展。
【發明內容】
[0011]針對現有技術中的缺陷,本發明的目的是提供一種自動聚合冗余系統交易數據的系統和方法。
[0012]根據本發明提供的一種處理器,包括如下裝置:
[0013]分發模塊,用于從數據包中提取業務交易記錄,并將異地處理器或者所在的本地處理器認定為該業務交易記錄的處理方;
[0014]數據處理模塊,用于匯聚交易雙方的業務交易記錄,并對業務交易記錄中的請求記錄和響應記錄進行關聯后生成交易信息。
[0015]優選地,所述數據處理模塊,包括如下裝置:
[0016]隊列形成裝置,用于將交易一方的業務交易記錄排列形成隊列M,將交易另一方的業務交易記錄排列形成隊列N ;
[0017]關鍵字確認裝置,用于確定交易關鍵字;
[0018]排序裝置,用于將隊列M中的請求記錄和隊列N中的響應記錄聚集到結果處理集SI中,其中,隊列M中的請求記錄和隊列N中的響應記錄分別按照交易關鍵字的先后順序排列;將隊列M中的響應記錄和隊列N中的請求記錄聚集到結果處理集S2中,其中,隊列M中的響應記錄和隊列N中的請求記錄分別按照交易關鍵字的先后順序排列;
[0019]關聯裝置,用于在結果處理集S1、結果處理集S2中,分別將順序序號相同的請求記錄與響應記錄建立一對一的關聯關系。
[0020]優選地,所述數據處理模塊,還包括如下裝置:
[0021]有效性判斷裝置,用于判斷關聯的請求記錄與響應記錄之間時間戳的差值是否在時間容錯閾值范圍內,若是,則認定該請求記錄與響應記錄關聯有效,否則,丟棄該請求記錄與響應記錄;
[0022]交易信息生成裝置,用于根據有效關聯的請求記錄與響應記錄生成交易信息。
[0023]優選地,還包括如下任一個或任多個裝置:
[0024]接收模塊,用于實時監聽偵測數據鏈路中的數據包,并全采樣數據包至本地緩存;相應地,分發模塊本地緩存的數據包中提取業務交易記錄;
[0025]時鐘同步模塊,用于根據所在當地的同步系統時間,為數據包添加時間戳;
[0026]傳輸模塊,用于在處理方不是本地處理器時,將本地業務交易記錄傳送到處理方;
[0027]輸出模塊,用于將交易信息傳輸給本地處理器的存儲模塊和/或異地處理器的存儲模塊;
[0028]呈現模塊,用于展示交易信息。
[0029]優選地,交易關鍵字包括:時間戳、交易單號、流水號、返回碼或者用于確定交易的業務字段。
[0030]根據本發明提供的一種自動聚合冗余系統交易數據的系統,包括至少兩個上述的處理器,這兩個處理器分別記為處理器甲、處理器乙;
[0031]處理器甲、處理器乙互為異地處理器;
[0032]優選地,處理器甲用于部署在交易雙方的主數據中心之間;
[0033]處理器乙用于部署在交易雙方的從數據中心之間。
[0034]優選地,在處理器甲、處理器乙之間,通過管理通道交換各自的系統性能報告,并將系統性能較高者確認為處理方。
[0035]根據本發明提供的一種處理方法,所述處理方法是利用上述的處理器實現的。
[0036]根據本發明提供的一種自動聚合冗余系統交易數據的方法,所述自動聚合冗余系統交易數據的方法,是利用上述的自動聚合冗余系統交易數據的系統實現的。
[0037]與現有技術相比,本發明具有如下的有益效果:
[0038]1、本發明解決了異地交易請求與響應時間不同步的問題;
[0039]2、本發明解決異地交易請求和響應關聯的問題;
[0040]3、本發明不影響數據信息的傳遞及數據中心的系統性能;
[0041]4、本發明系統開銷小,易部署;
[0042]5、本發明準確計算并確定關聯交易且完整統計。
【附圖說明】
[0043]通過閱讀參照以下附圖對非限制性實施例所作的詳細描述,本發明的其它特征、目的和優點將會變得更明顯:
[0044]圖1為分布式雙活數據中心模式圖。
[0045]圖2為本系統部署圖。
[0046]圖3為本系統模塊關系圖。
[0047]圖4為數據處理模塊操作步驟圖。
[0048]圖5為數據處理模塊-匯聚步驟說明圖。
[0049]圖6為數據處理模塊-重排步驟說明圖。
[0050]圖7為數據處理模塊-關聯步驟說明圖。
【具體實施方式】
[0051]下面結合具體實施例對本發明進行詳細說明。以下實施例將有助于本領域的技術人員進一步理解本發明,但不以任何形式限制本發明。應當指出的是,對本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變化和改進。這些都屬于本發明的保護范圍。
[0052]如圖2所示,本發明提供的系統部署有處理器甲、處理器乙,分別部署在交易一方X的數據中心A和交易另一方Y的數據中心C之間的數據鏈路上、交易一方X的數據中心B和交易另一方Y的數據中心D之間的數據鏈路上。處理器甲監聽偵測數據中心A和數據中心C之間的數據通信情況,處理器乙則監聽偵測數據中心B和數據中心D之間的數據通信情況。其中處理甲和處理乙的功能和系統構造相同,雙方基于數據中心間的管理通道進行數據通信。
[0053]如圖3所示,處理甲、處理乙均包括如下模塊:
[0054]時鐘同步模塊,用于根據所在當地的同步系統時間,為數據包添加時間戳;時鐘同步模塊同步當地的系統時間,可基于NTP、GTP、PTP或其他網絡時間同步協議(誤差ms級),并給被接收或者發送的所有數據包信息打上精準時間戳(誤差ns級)。
[0055]接收模塊,用于實時監聽偵測數據鏈路中的數據包,并全采樣數據包至本地緩存;相應地,分發模塊本地緩存的數據包中提取業務交易記錄;
[0056]分發模塊,用于從數據包中提取業務交易記錄,并將異地處理器或者所在的本地處理器認定為該業務交易記錄的處理方;
[0057]傳輸模塊,用于在處理方不是本地處理器時,將本地業務交易記錄傳送到處理方;
[0058]數據處理模塊,用于匯聚交易雙方的業務交易記錄,并對業務交易記錄中的請求記錄和響應記錄進行關聯后生成交易信息。
[0059]輸出模塊,用于將交易信息傳輸給本地處理器的存儲模塊和/或異地處理器的存儲模塊;例如,輸出模塊將交易信息分成相同的兩份,一份傳輸給本地數據庫模塊,另一份通過管理通道傳輸給異地系統的數據庫模塊;
[0060]數據庫模塊,用于根據各關鍵字段(時間戳、交易單號或流水號、返回碼等)創建不同的數據庫表;將輸出后的交易信息存儲至本地不同的表中;兩地數據庫間互相備份,防止數據丟失;
[0061]呈現模塊,用于展示交易信息;例如,呈現模塊調取數據庫中的交易信息,通過數據處理模塊選定的交易關鍵字查詢,呈現交易的統計結果。
[0062]從而將異地的兩個交易記錄通過時間戳和交易關鍵字匹配準確地關聯在一起,并呈現在性能管理人員面前。
[0063]進一步地,所述分發模塊對本地緩存中的數據包信息進行字段剝離,摘取其中的業務交易記錄并摒棄其他冗余數據;(業務交易記錄是用于描述、辨別業務信息的一組字段集合,這些字段集合一般由以下字段,但并不僅限于以下字段構成:1、時間戳:記錄這條交易產生的時間點;2、交易單號或流水號:用于辨別可以關聯在一起的交易請求記錄、交易響應記錄;3、返回碼:表示交易的結果、狀態,例如,成功、失敗,以及失敗原因;)
[0064]所述分發模塊還查看本