System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及批量數據處理,尤其涉及任務調度方法、裝置、存儲介質及計算機程序產品。
技術介紹
1、隨著互聯網和大數據時代的到來,數據規模急劇膨脹,對數據存儲和處理能力提出更高的要求。分布式云架構為實現服務的高可用和數據庫性能提升,對數據進行分庫管理。特別是對于較大體量的數據拆多個分庫存儲,不同分庫部署不同的應用服務。但逐個分庫數據串行批處理或者匯總統計,無法有效利用多分庫的優勢,并行執行批處理任務,導致批處理性能低下。除此之外,串行處理方式也難以應對接口超時、實現多分庫批處理任務的觸發,影響整體批處理任務的執行。
2、因此,如何并行調度多分庫批處理任務以有效提升批處理性能,成為本申請亟須解決的技術問題。
3、上述內容僅用于輔助理解本申請的技術方案,并不代表承認上述內容是現有技術。
技術實現思路
1、本申請的主要目的在于提供一種任務調度方法、裝置、存儲介質及計算機程序產品,旨在解決如何并行調度多分庫批處理任務以有效提升批處理性能的技術問題。
2、為實現上述目的,本申請提出一種任務調度方法,所述方法包括:
3、獲取批處理任務發起指令并根據所述批處理任務發起指令以樹狀結構管理方式注冊調度任務;
4、將所述調度任務登記至消息隊列或后臺線程進行分庫批處理執行,得到分庫批處理執行結果;
5、根據所述分庫批處理執行結果更新樹狀調度任務控制記錄;
6、同步所述樹狀調度任務控制記錄至調度庫以觸發下一批處理調度任務。
>7、在一實施例中,所述獲取批處理任務發起指令并根據所述批處理任務發起指令以樹狀結構管理方式注冊調度任務的步驟包括:
8、獲取批處理任務發起指令;
9、根據所述批處理任務發起指令調用登記調度任務接口,通過所述登記調度任務接口以樹狀結構管理方式生成樹狀調度任務控制記錄;
10、將所述樹狀調度任務控制記錄寫入調度庫并判斷是否需要進行跨分庫處理;
11、若需要進行跨分庫處理,則將所述樹狀調度任務控制記錄同步至分庫以進行調度任務注冊;
12、若不需要進行跨分庫處理,則直接進行調度任務注冊。
13、在一實施例中,所述將所述調度任務登記至消息隊列或后臺線程進行分庫批處理執行,得到分庫批處理執行結果的步驟包括:
14、將所述調度任務登記至消息隊列或后臺線程以配置消息隊列消費者或線程池;
15、通過所述消息隊列消費者或所述線程池調取對應的分庫批處理執行程序執行分庫批處理,得到分庫批處理執行結果。
16、在一實施例中,所述通過所述消息隊列消費者或所述線程池調取對應的分庫批處理執行程序執行分庫批處理的步驟之后包括:
17、當所述分庫批處理的執行時間超過執行告警時長時,將所述調度任務對應的樹狀調度任務控制記錄保持為待執行狀態,并設置超時未執行告警和自動重試機制。
18、在一實施例中,所述根據所述分庫批處理執行結果更新樹狀調度任務控制記錄的步驟包括:
19、根據所述分庫批處理執行結果更新當前調度任務控制記錄結果并判斷是否存在第一上層調度任務;
20、當存在第一上層調度任務時,基于所述當前調度任務控制記錄結果向上更新所述第一上層調度任務的成功子任務數和失敗子任務數,得到第一上層調度任務控制記錄結果;
21、根據第一上層調度任務控制記錄結果判斷是否存在第二上層調度任務;
22、當存在第二上層調度任務時,基于所述第一上層調度任務控制記錄結果向上更新所述第二上層調度任務的成功子任務數和失敗子任務數,得到第二上層調度任務控制記錄結果;
23、根據所述當前調度任務控制記錄結果、所述第一上層調度任務控制記錄結果、所述第二上層調度任務控制記錄結果更新樹狀調度任務控制記錄。
24、在一實施例中,所述同步所述樹狀調度任務控制記錄至調度庫以觸發下一批處理調度任務的包括:
25、將所述樹狀調度任務控制記錄同步至調度庫以樹狀管理方式更新調度庫任務控制記錄;
26、將下一批處理任務自動登記為所述調度任務的兄弟任務或子任務。
27、在一實施例中,所述將所述樹狀調度任務控制記錄同步至調度庫以樹狀管理方式更新調度庫任務控制記錄的步驟包括:
28、當所述樹狀調度任務控制記錄同步至調度庫的同步執行結果異常時,啟動自動重試機制,所述同步執行結果包括執行時長和同步結果;
29、當所述樹狀調度任務控制記錄同步至調度庫的同步執行結果正常時,以樹狀管理方式更新調度庫任務控制記錄。此外,為實現上述目的,本申請還提出一種任務調度裝置,所述任務調度裝置包括:
30、調度任務注冊模塊,用于獲取批處理任務發起指令并根據所述批處理任務發起指令注冊調度任務;
31、分庫批處理執行模塊,用于將所述調度任務登記至消息隊列進行分庫批處理執行,得到分庫批處理執行結果;
32、控制記錄更新模塊,用于根據所述分庫批處理執行結果更新樹狀調度任務控制記錄;
33、下一批處理調度任務觸發模塊,用于同步所述樹狀調度任務控制記錄至調度庫以觸發下一批處理調度任務。
34、此外,為實現上述目的,本申請還提出一種存儲介質,所述存儲介質為計算機可讀存儲介質,所述存儲介質上存儲有計算機程序,所述計算機程序被處理器執行時實現如上文所述的任務調度方法的步驟。
35、此外,為實現上述目的,本申請還提供一種計算機程序產品,所述計算機程序產品包括計算機程序,所述計算機程序被處理器執行時實現如上文所述的任務調度方法的步驟。
36、本申請提出的一個或多個技術方案,至少具有以下技術效果:
37、通過獲取的批處理任務發起指令注冊調度任務,注冊的調度任務支持樹狀結構管理(父-子-孫),允許將復雜的批處理任務拆解為更小的、易于管理的子任務。將調度任務登記至消息隊列或后臺線程進行分庫批處理執行,通過將任務發送到消息隊列,使得每個數據庫或數據庫分區可以獨立地、同時地處理其分配到的任務,從而顯著提高批處理的整體性能。分庫批處理完成后,根據執行結果更新樹狀調度任務控制記錄,實時掌握每個任務的執行情況,并為后續處理提供準確的數據支持。將分庫的樹狀調度任務控制記錄同步回調度庫后,根據用戶需要觸發并登記下一批處理調度任務,從而實現了批處理任務的連續執行和自動化管理,進一步提高了處理效率。進而實現并行調度多分庫批處理任務并有效提升批處理性能。
本文檔來自技高網...【技術保護點】
1.一種任務調度方法,其特征在于,所述方法包括:
2.如權利要求1所述的方法,其特征在于,所述獲取批處理任務發起指令并根據所述批處理任務發起指令以樹狀結構管理方式注冊調度任務的步驟包括:
3.如權利要求1所述的方法,其特征在于,所述將所述調度任務登記至消息隊列或后臺線程進行分庫批處理執行,得到分庫批處理執行結果的步驟包括:
4.如權利要求3所述的方法,其特征在于,所述通過所述消息隊列消費者或所述線程池調取對應的分庫批處理執行程序執行分庫批處理,得到分庫批處理執行結果的步驟之后還包括:
5.如權利要求1所述的方法,其特征在于,所述根據所述分庫批處理執行結果更新樹狀調度任務控制記錄的步驟包括:
6.如權利要求1所述的方法,其特征在于,所述同步所述樹狀調度任務控制記錄至調度庫以觸發下一批處理調度任務的包括:
7.如權利要求6所述的方法,其特征在于,所述將所述樹狀調度任務控制記錄同步至調度庫以樹狀管理方式更新調度庫任務控制記錄的步驟包括:
8.一種任務調度裝置,其特征在于,所述裝置包括:
9.
10.一種計算機程序產品,其特征在于,所述計算機程序產品包括計算機程序,所述計算機程序被處理器執行時實現如權利要求1至7中任一項所述的任務調度方法的步驟。
...【技術特征摘要】
1.一種任務調度方法,其特征在于,所述方法包括:
2.如權利要求1所述的方法,其特征在于,所述獲取批處理任務發起指令并根據所述批處理任務發起指令以樹狀結構管理方式注冊調度任務的步驟包括:
3.如權利要求1所述的方法,其特征在于,所述將所述調度任務登記至消息隊列或后臺線程進行分庫批處理執行,得到分庫批處理執行結果的步驟包括:
4.如權利要求3所述的方法,其特征在于,所述通過所述消息隊列消費者或所述線程池調取對應的分庫批處理執行程序執行分庫批處理,得到分庫批處理執行結果的步驟之后還包括:
5.如權利要求1所述的方法,其特征在于,所述根據所述分庫批處理執行結果更新樹狀調度任務控制記錄的步驟包括:
6.如權利...
【專利技術屬性】
技術研發人員:劉俊金,金昌,
申請(專利權)人:招商銀行股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。