[發明專利]分布式任務調度方法、裝置、電子設備、存儲介質在審
| 申請號: | 201810970188.0 | 申請日: | 2018-08-23 |
| 公開(公告)號: | CN110858158A | 公開(公告)日: | 2020-03-03 |
| 發明(設計)人: | 陳東偉 | 申請(專利權)人: | 北京京東金融科技控股有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48 |
| 代理公司: | 北京律智知識產權代理有限公司 11438 | 代理人: | 袁禮君;闞梓瑄 |
| 地址: | 100176 北京市經濟技*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 分布式 任務 調度 方法 裝置 電子設備 存儲 介質 | ||
本發明提供一種分布式任務調度方法、裝置、電子設備、存儲介質,分布式任務調度方法包括:根據任務鏈條中各任務的依賴關系的順序,對所述任務鏈條的每個任務:根據當前任務的觀察狀態及當前任務所依賴的所有任務的執行狀態觸發當前任務的執行;以及在當前任務執行完成時觸發變更依賴當前任務的所有任務的觀察狀態。本發明提供的方法及裝置可以提高任務執行效率。
技術領域
本發明涉及計算機應用技術領域,尤其涉及一種分布式任務調度方法、裝置、電子設備、存儲介質。
背景技術
目前,各個系統的后臺都會有具有處理相應任務的工作機,通常每個工作機都是獨立的,相互之間沒有依賴關系。對于具有簡單的依賴的工作機,通常會由一個工作機調度來實現。
目前通用單機的方案是使用spring(開放源代碼的設計層面框架)scheduler(調度程序)或者quartz(實現定時任務的開源項目)定時執行工作機,且并不支持復雜任務調度。
然而,在各系統的具體實現中,通常需要工作機處理多個任務,且多個任務之間會有復雜的依賴關系。現有的任務處理方式會預估各任務的執行時間,若當前任務所依賴的任務已經執行到預估執行時間時,預估當前任務的執行時間,并執行當前任務。這樣的實現方式會使整個任務鏈條的執行時間很長,或者是當前任務未執行完,依賴當前任務的下一個任務就執行了,由此,導致生產事故。同時,這樣的實現方式,配置復雜而且需要經常查看任務執行時長,再次去調整各個任務的時間,耗時費力,無法保證真正的正確按照流程執行。
發明內容
本發明為了克服上述相關技術存在的缺陷,提供一種分布式任務調度方法、裝置、電子設備、存儲介質,進而至少在一定程度上克服由于相關技術的限制和缺陷而導致的一個或者多個問題。
根據本發明的一個方面,提供一種分布式任務調度方法,應用于包括多個工作機的分布式任務執行系統,所述分布式任務調度方法包括:
根據任務鏈條中各任務的依賴關系的順序,對所述任務鏈條的每個任務:
根據當前任務的觀察狀態及當前任務所依賴的所有任務的執行狀態觸發當前任務的執行;以及
在當前任務執行完成時觸發變更依賴當前任務的所有任務的觀察狀態。
可選地,在執行所述任務鏈條中的任務之前,還包括:
獲取所述任務鏈條中各任務的依賴關系,其中,所述任務鏈條中各任務的觀察狀態設置預設為不允許被觀察;
設置所述任務鏈條的起始任務的觀察狀態為允許被觀察。
可選地,所述獲取任務鏈條中各任務的依賴關系的步驟,由搶占到所述任務鏈條的分布式初始化鎖的工作機執行。
可選地,所述根據當前任務的觀察狀態及當前任務所依賴的所有任務的執行狀態觸發當前任務的執行的步驟包括:
若當前任務的觀察狀態為允許被觀察,且當前任務依賴的所有任務被執行完成時,則將當前任務下發至任務數據庫;
自任務數據庫表搶占到當前任務對應的分布式任務鎖的工作機,根據任務數據庫中儲存的當前任務的任務配置信息執行當前任務。
可選地,自任務數據庫表搶占到依賴同一任務的不同任務對應的分布式任務鎖的多個工作機并行執行。
可選地,所述任務數據庫儲存有任務流程表,所述任務流程表至少儲存各任務的任務標識、執行狀態、觀察狀態。
可選地,所述將當前任務下發至任務數據庫的步驟,由搶占到當前任務的任務分發鎖的工作機執行;
搶占到當前任務的任務分發鎖的工作機還監控當前任務的執行狀態,并將當前任務的執行狀態更新至所述任務流程表中以供當前任務的執行狀態被觀察。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京東金融科技控股有限公司,未經北京京東金融科技控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810970188.0/2.html,轉載請聲明來源鉆瓜專利網。





