[發明專利]集群任務協調方法、系統和裝置在審
| 申請號: | 201610286549.0 | 申請日: | 2016-05-03 |
| 公開(公告)號: | CN107341051A | 公開(公告)日: | 2017-11-10 |
| 發明(設計)人: | 董旭 | 申請(專利權)人: | 北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/50 |
| 代理公司: | 北京英賽嘉華知識產權代理有限責任公司11204 | 代理人: | 王達佐,馬曉亞 |
| 地址: | 100080 北京市海淀區杏石口路6*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 集群 任務 協調 方法 系統 裝置 | ||
技術領域
本申請涉及計算機技術領域,尤其涉及集群任務協調方法、系統和裝置。
背景技術
在互聯網和電子商務領域,許多應用系統中的任務是相互聯系的,例如某些任務需要拆分成多個子任務到多個節點進行分別處理,或者某些定時任務具有排他性,這需要將上述各任務進行協調處理。
在現有技術中,應用系統通常采用quatz集群或消息隊列進行任務協調。其中,quatz集群是通過預先在任務中嵌入相應的控制代碼,而后使用如數據庫等公共資源進行任務的協調,quatz集群通常只能在任務處理節點中選取一個節點來處理任務,即上述quatz集群通常僅支持獨占任務的協調處理;消息隊列通常是利用自身的信息分發特性實現任務簡單的分發協調,并且消息隊列通常也是將任務分發到某一個節點進行任務處理,即消息隊列也僅支持獨占任務的協調處理。但是,通常應用系統中不僅包括獨占任務,還包括需要多個節點同時處理的并行任務,由此可見,這里還需要一種可以協調并行任務的方法。
發明內容
本申請的目的在于提出一種改進的集群任務協調方法、系統和裝置,來解決以上背景技術部分提到的技術問題。
第一方面,本申請提供了一種集群任務協調方法,所述方法包括:包含多個節點的集群啟動時,zookeeper服務器從所述集群的各所述節點中確定一個主節點和多個從節點;各所述節點向所述zookeeper服務器注冊該節點待執行任務的任務信息,且所述主節點從所述 zookeeper服務器獲取各所述任務的任務信息,其中,所述任務信息包括該節點待執行任務的觸發條件;當所述主節點根據所述任務信息確定第一任務被觸發時,所述主節點從各所述從節點中確定用于執行所述第一任務的至少一個第一從節點,其中,所述第一任務為在所述zookeeper服務器注冊的任意一個任務;所述主節點向所述第一從節點分配所述第一任務。
在一些實施例中,所述任務信息包括任務類型信息,其中,所述任務類型包括獨占任務和并行任務;所述主節點從各所述從節點中確定用于執行所述第一任務的至少一個第一從節點,包括:若所述第一任務為獨占任務,則所述主節點從各所述從節點中確定用于執行所述第一任務的一個第一從節點;若所述第一任務為并行任務,則所述第一任務包含多個子任務,所述主節點從各所述從節點中確定用于執行各所述子任務的多個第一從節點。
在一些實施例中,所述方法還包括:當所述主節點根據所述任務信息確定第一任務被觸發時,所述主節點生成所述第一任務的會話,其中,所述會話用于監控所述第一任務的處理進程。
在一些實施例中,所述方法還包括:所述任務信息還包括該節點待執行任務耗時最大閾值;所述方法還包括:基于所述第一任務的會話,所述主節點獲取所述第一任務的耗時長度;當所述第一任務的耗時長度大于該第一任務耗時最大閾值時,所述會話標記所述第一任務超時。
在一些實施例中,所述方法還包括:當所述第一任務超時或失敗時,所述主節點確定用于執行該第一任務的至少一個第二從節點;以及所述主節點向所述第二從節點分配所述第一任務。
第二方面,本申請提供了一種集群任務協調系統,所述系統包括:zookeeper服務器,用于從所述集群的各節點中確定一個主節點和多個從節點,存儲各所述節點待執行任務的任務信息,其中,所述任務信息包括該節點待執行任務的觸發條件;所述主節點,用于從所述zookeeper服務器獲取各所述任務的任務信息,以及當確定任意一任務被觸發時,將該任務分配到對應的從節點;所述從節點,用于執行所 述主節點分配的任務。
在一些實施例中,所述主節點還用于生成所述任務的會話,根據所述會話確定處理超時或失敗的任務,并為所述超時或失敗的任務重新分配對應的從節點。
第三方面,本申請提供了一種集群定時任務協調系統,所述裝置包括:主從節點確定模塊,配置用于包含多個節點的集群啟動時,zookeeper服務器從所述集群的各所述節點中確定一個主節點和多個從節點;任務信息注冊模塊,配置用于各所述節點向所述zookeeper服務器注冊該節點待執行任務的任務信息,且所述主節點從所述zookeeper服務器獲取各所述任務的任務信息,其中,所述任務信息包括該節點待執行任務的觸發條件;第一從節點確定模塊,配置用于當所述主節點根據所述任務信息確定第一任務被觸發時,所述主節點從各所述從節點中確定用于執行所述第一任務的至少一個第一從節點,其中,所述第一任務為在所述zookeeper服務器注冊的任意一個任務;第一任務分配模塊,配置用于所述主節點向所述第一從節點分配所述第一任務。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司,未經北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610286549.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:基于動態線程池的服務處理方法和裝置
- 下一篇:一種消息處理方法及裝置





