System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及數據處理,尤其涉及一種批量數據處理方法、裝置及電子設備、計算機程序產品。
技術介紹
1、隨著計算機和網絡技術的快速發展和普及,信息系統在銀行業務中扮演著越來越重要的角色。銀行數字化轉型深入推進,客戶服務能力不斷提升,客戶辦理業務的時間和空間范圍也日益擴大。因此,如何保證信息系統能夠全天候、無間斷地為客戶提供服務,是各家銀行面臨的共同挑戰。
2、目前,同業針對賬務類系統普遍采用“雙日期、雙余額”的技術方案。這種方案通過設置兩個日期(最后交易日和上次交易日)和兩組余額(帳戶余額、上次帳戶余額以及相關的余額方向),來實現跨日交易處理和數據供數。這種方案目前存在一些缺點,首先是表結構設計較為復雜,需要增加多個字段和索引,特別對于交易量大的系統而言,會極大增加數據庫的存儲空間和維護成本;其次是日終或供數邏輯判斷較為繁瑣,需要考慮多種情況,對于和關聯系統涉及批量數據交互較多時,可能會造成數據不一致或者性能下降,影響數據的準確性和及時性;另外對于管理類系統而言,由于交易并發量較低,使用這種方案會導致系統設計過于復雜和運維成本過高。
技術實現思路
1、本申請實施例提供了一種批量數據處理方法、裝置及電子設備、計算機程序產品,以減少批處理過程中的數據冗余,降低系統實現不間斷服務的復雜性。
2、本申請實施例采用下述技術方案:
3、第一方面,本申請實施例提供一種批量數據處理方法,所述批量數據處理方法包括:
4、攔截業務操作請求,所述業務操作請求為對
5、在所述業務數據庫處于跑批狀態的情況下,根據所述業務操作請求更新業務操作緩存表,所述業務操作緩存表用于緩存與業務操作相關的數據;
6、根據所述業務操作緩存表和批處理作業鏈信息確定待重跑的批處理作業鏈;
7、對所述待重跑的批處理作業鏈進行重跑,得到批處理結果。
8、可選地,所述在所述業務數據庫處于跑批狀態的情況下,根據所述業務操作請求更新業務操作緩存表包括:
9、在所述業務數據庫處于跑批狀態的情況下,確定所述業務數據庫是否處于強制跑批狀態;
10、在所述業務數據庫未處于強制跑批狀態的情況下,確定所述業務數據庫的數據表是否存在寫入鎖;
11、在不存在寫入鎖或者寫入鎖釋放后,對所述業務操作請求進行解析,得到業務操作請求的解析結果,所述解析結果包括業務操作內容、業務操作類型以及業務操作影響的數據;
12、根據所述業務操作請求的解析結果更新所述業務操作緩存表;
13、其中,所述業務操作緩存表中存儲有業務操作所影響的業務數據表的表名、業務操作類型、攔截時間以及數據處理狀態。
14、可選地,所述根據所述業務操作請求的解析結果更新業務操作緩存表包括:
15、若所述業務操作類型為修改,則根據修改語句中包含的字段數據查找其他字段的數據,并將修改語句中包含的字段數據和查找到的其他字段數據拼接成完整的字段數據保存至所述業務操作緩存表中;
16、若所述業務操作類型為插入,則將插入語句中包含的字段數據直接保存至所述業務操作緩存表中;
17、若所述業務操作類型為刪除,則根據刪除語句中包含的字段數據刪除已插入所述業務操作緩存表中的數據。
18、可選地,所述根據所述業務操作緩存表和批處理作業鏈信息確定待重跑的批處理作業鏈包括:
19、在所述業務數據庫處于跑批狀態的情況下,讀取所述業務操作緩存表,獲取未處理狀態的業務數據表的表名;
20、根據所述未處理狀態的業務數據表的表名以及所述批處理作業鏈信息,確定待重跑的批處理作業鏈。
21、可選地,所述根據所述未處理狀態的業務數據表的表名以及所述批處理作業鏈信息,確定待重跑的批處理作業鏈包括:
22、獲取所述批處理作業鏈信息,所述批處理作業鏈信息包括作業鏈的執行狀態和作業鏈的input作業信息,所述執行狀態包括已運行結束的作業鏈、運行中的作業鏈以及排隊中的作業鏈;
23、將所述未處理狀態的業務數據表的表名與所述作業鏈的input作業信息進行匹配,確定待重跑的批處理作業鏈。
24、可選地,所述對所述待重跑的批處理作業鏈進行重跑,得到批處理結果包括:
25、對待重跑的批處理作業鏈中的運行中的作業鏈和排隊中的作業鏈,調用作業鏈停止接口來停止運行和排隊;
26、啟動所述待重跑的批處理作業鏈的input作業進行重跑,得到待重跑的批處理作業鏈的重跑結果;
27、將所述待重跑的批處理作業鏈的重跑結果寫入批處理結果臨時表中;
28、在所有待重跑的批處理作業鏈均重跑完成的情況下,對所有待重跑的批處理作業鏈關聯的業務數據表加鎖并暫停關聯系統的業務操作;
29、將所述批處理結果臨時表中的重跑結果寫入所述業務數據表中,并在寫入完成后釋放所述業務數據表的鎖。
30、可選地,所述啟動所述待重跑的批處理作業鏈的input作業進行重跑,得到待重跑的批處理作業鏈的重跑結果包括:
31、確定所述待重跑的批處理作業鏈的數據抽取方式;
32、在所述待重跑的批處理作業鏈的數據抽取方式為增量方式的情況下,根據所述業務緩存表抽取增量數據;
33、根據所述增量數據和所述待重跑的批處理作業鏈已抽取的數據進行重跑,得到待重跑的批處理作業鏈的重跑結果。
34、第二方面,本申請實施例還提供一種批量數據處理裝置,所述批量數據處理裝置包括:
35、攔截組件,用于攔截業務操作請求,所述業務操作請求為對業務數據庫中的數據進行變更操作的請求,在所述業務數據庫處于跑批狀態的情況下,根據所述業務操作請求更新業務操作緩存表,所述業務操作緩存表用于緩存與業務操作相關的數據;
36、處理組件,用于根據所述業務操作緩存表和批處理作業鏈信息確定待重跑的批處理作業鏈,對所述待重跑的批處理作業鏈進行重跑,得到批處理結果。
37、第三方面,本申請實施例還提供一種電子設備,包括:
38、處理器;以及
39、被安排成存儲計算機可執行指令的存儲器,所述可執行指令在被執行時使所述處理器執行前述之任一所述批量數據處理方法。
40、第四方面,本申請實施例還提供一種計算機程序產品,包括計算機程序或指令,所述計算機程序或指令被處理器執行時實現所述前述任一所述批量數據處理方法。
41、本申請實施例采用的上述至少一個技術方案能夠達到以下有益效果:本申請實施例的批量數據處理方法,先攔截業務操作請求,業務操作請求為對業務數據庫中的數據進行變更操作的請求;在業務數據庫處于跑批狀態的情況下,根據業務操作請求更新業務操作緩存表,業務操作緩存表用于緩存與業務操作相關的數據;根據業務操作緩存表和批處理作業鏈信息確定待重跑的批處理作業鏈;對待重跑的批處理作業鏈進行重跑,本文檔來自技高網...
【技術保護點】
1.一種批量數據處理方法,其特征在于,所述批量數據處理方法包括:
2.根據權利要求1所述批量數據處理方法,其特征在于,所述在所述業務數據庫處于跑批狀態的情況下,根據所述業務操作請求更新業務操作緩存表包括:
3.根據權利要求2所述批量數據處理方法,其特征在于,所述根據所述業務操作請求的解析結果更新業務操作緩存表包括:
4.根據權利要求1所述批量數據處理方法,其特征在于,所述根據所述業務操作緩存表和批處理作業鏈信息確定待重跑的批處理作業鏈包括:
5.根據權利要求4所述批量數據處理方法,其特征在于,所述根據所述未處理狀態的業務數據表的表名以及所述批處理作業鏈信息,確定待重跑的批處理作業鏈包括:
6.根據權利要求1所述批量數據處理方法,其特征在于,所述對所述待重跑的批處理作業鏈進行重跑,得到批處理結果包括:
7.根據權利要求6所述批量數據處理方法,其特征在于,所述啟動所述待重跑的批處理作業鏈的input作業進行重跑,得到待重跑的批處理作業鏈的重跑結果包括:
8.一種批量數據處理裝置,其特征在于,所述批量數
9.一種電子設備,包括:
10.一種計算機程序產品,包括計算機程序或指令,所述計算機程序或指令被處理器執行時實現所述權利要求1~7之任一所述批量數據處理方法。
...【技術特征摘要】
1.一種批量數據處理方法,其特征在于,所述批量數據處理方法包括:
2.根據權利要求1所述批量數據處理方法,其特征在于,所述在所述業務數據庫處于跑批狀態的情況下,根據所述業務操作請求更新業務操作緩存表包括:
3.根據權利要求2所述批量數據處理方法,其特征在于,所述根據所述業務操作請求的解析結果更新業務操作緩存表包括:
4.根據權利要求1所述批量數據處理方法,其特征在于,所述根據所述業務操作緩存表和批處理作業鏈信息確定待重跑的批處理作業鏈包括:
5.根據權利要求4所述批量數據處理方法,其特征在于,所述根據所述未處理狀態的業務數據表的表名以及所述批處...
【專利技術屬性】
技術研發人員:夏康,許冶,黃福成,吳紅奎,鮑遠來,
申請(專利權)人:中國郵政儲蓄銀行股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。