[發明專利]一種分布式任務調度的方法和系統在審
| 申請號: | 201910163677.X | 申請日: | 2019-03-05 |
| 公開(公告)號: | CN111666134A | 公開(公告)日: | 2020-09-15 |
| 發明(設計)人: | 廖耀華 | 申請(專利權)人: | 北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48 |
| 代理公司: | 中原信達知識產權代理有限責任公司 11219 | 代理人: | 張一軍;張效榮 |
| 地址: | 100086 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 分布式 任務 調度 方法 系統 | ||
1.一種分布式任務調度的方法,其特征在于,包括:
接收來自一個或多個服務器對任務的任務鎖定對象的一個或多個查詢請求;
在數據庫中查詢所述任務鎖定對象;
響應于查詢到所述任務鎖定對象,從所述數據庫讀取與所述任務鎖定對象相關的記錄并將所述記錄發送到所述一個或多個服務器,所述記錄包括任務鎖定狀態和特定版本號;
接收來自所述一個或多個服務器中的第一服務器的對所述任務的第一更新數據,所述第一更新數據包括第一版本號;
響應于確定所述第一版本號與所述特定版本號相同,使用所述第一更新數據對所述數據庫執行第一更新;以及
當所述一個或多個服務器中的第二服務器發生錯誤事件時,使得所述一個或多個服務器中的其他服務器觸發監聽事件,其中,所述第一服務器和所述第二服務器相同或不同。
2.根據權利要求1所述的方法,其特征在于,其中,在接收來自一個或多個服務器對任務的任務鎖定對象的一個或多個查詢請求之前還包括:
創建與檢查服務器相對應的父節點;以及
在所述父節點下創建與所述一個或多個服務器相對應的一個或多個子節點,其中所述父節點在列表中維護其下當前存活的所有子節點。
3.根據權利要求2所述的方法,其特征在于,其中,所述一個或多個子節點是其所對應的所述一個或多個服務器的IP地址列表。
4.根據權利要求2所述的方法,其特征在于,其中,所述父節點和所述一個或多個子節點是EPHEMERAL類型節點。
5.根據權利要求2所述的方法,其特征在于,其中,使得所述一個或多個服務器中的其他服務器觸發監聽事件進一步包括:
從所述列表中刪除與所述第二服務器相對應的第二子節點得到新的列表;
向所述新的列表中的子節點發送所述新的列表;
接收來自與所述新的列表中的子節點相對應的服務器的鎖查詢請求,其中所述鎖查詢請求是關于所述第二子節點是否持有未釋放的鎖;
根據所述鎖查詢請求對所述數據庫進行查詢;以及
響應于查詢到所述第二子節點持有未釋放的鎖,釋放所述鎖,其中所述鎖是針對所述任務的樂觀鎖。
6.根據權利要求5所述的方法,其特征在于,其中,當所述第二子節點持有未釋放的鎖時,所述任務的任務鎖定狀態為1。
7.根據權利要求5所述的方法,其特征在于,其中,釋放所述鎖進一步包括:將所述任務的任務鎖定狀態置為0。
8.根據權利要求1所述的方法,其特征在于,其中,在接收來自一個或多個服務器對任務的任務鎖定對象的一個或多個查詢請求之前還包括:
接收所述一個或多個服務器的IP地址;
根據所述IP地址在數據庫中查詢任務鎖定狀態為1的任務;以及
響應于查詢到所述任務鎖定狀態為1的所述任務,將所述任務的所述任務鎖定狀態置為0。
9.根據權利要求1所述的方法,其特征在于,其中,在在數據庫中查詢所述任務鎖定對象之后還包括:
響應于沒有查詢到所述任務鎖定對象,向所述數據庫寫入與所述任務鎖定對象相關的記錄。
10.根據權利要求1或9所述的方法,其特征在于,其中,所述記錄至少包括以下字段:任務類型字段、任務描述字段、任務鎖定狀態字段和版本號字段。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司,未經北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910163677.X/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種呼叫重定向方法和裝置
- 下一篇:金屬掩膜及其打孔方法





