[發明專利]一種分布式系統任務執行的方法和裝置有效
| 申請號: | 201710270128.3 | 申請日: | 2017-04-24 |
| 公開(公告)號: | CN108733469B | 公開(公告)日: | 2021-09-03 |
| 發明(設計)人: | 高平;孔文杰;冷維偉;邢磊 | 申請(專利權)人: | 北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/50 |
| 代理公司: | 中原信達知識產權代理有限責任公司 11219 | 代理人: | 張一軍;姜勁 |
| 地址: | 100195 北京市海淀區杏石口路6*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 分布式 系統 任務 執行 方法 裝置 | ||
本發明提供一種分布式系統任務執行的方法和裝置,能夠將控制任務流和結果數據流分離開來,解決了任務調度者的系統瓶頸問題,減少了系統資源消耗,提高了系統可靠性。本發明的分布式系統任務執行的方法,包括:任務發起者創建任務并將任務發送給任務調度者;任務調度者接收任務并將任務分發給任務處理者;任務處理者接收并執行任務,并保存任務的執行結果;任務發起者從保存的執行結果中獲取任務的執行結果。
技術領域
本發明涉及計算機技術領域,尤其涉及一種分布式系統任務執行的方法和裝置。
背景技術
分布式任務處理系統是為了提高任務的并行處理速度,將多個自主的、相互連接的計算機在一個高級操作系統協調下共同完成同一任務的計算機系統。
現有的分布式任務處理系統以Gearman為例,如圖1所示,是現有的Gearman任務分發系統的實現原理框圖。一個Gearman任務的處理過程涉及三個角色:Client、JobServer和Worker。其中:
Client,任務的發起者,創建需要被執行的任務然后發送給任務的調度者JobServer;
JobServer,任務的調度者,用來負責協調把任務的發起者Client發出的任務請求轉發給合適的任務的處理者Worker執行,并在Worker出現異常的時候重新派發任務,JobServer只負責分派任務,無業務處理邏輯;
Worker,任務的處理者,真正執行任務的角色,接收到JobServer分派的任務后,調用相應的代理商Agent來完成工作。
在圖1所示的Gearman任務分發系統中,任務的流向如圖1中實線所示,是按照Client→Job Server→Worker的順序,而相應的結果數據流向如圖1中的虛線所示,是按照Worker→Job Server→Client的順序反方向往上層流動的。
在實現本發明過程中,發明人發現現有技術中至少存在如下問題:
1、JobServer是整個系統中負載最重的節點,單機性能會嚴重影響整個系統的性能;
2、Client、JobServer、Worker之間的通信會帶來大量的系統資源消耗,當Client需要多次獲取結果數據時,會帶來巨大的系統負擔;
3、系統可靠性低,如果Worker故障,會影響在該Worker上運行的歷史數據的獲取。
發明內容
有鑒于此,本發明實施例提供一種分布式系統任務執行的方法和裝置,能夠將控制任務流和結果數據流分離開來,解決了任務調度者的系統瓶頸問題,減少了系統資源消耗,提高了系統可靠性。
為實現上述目的,根據本發明實施例的一個方面,提供了一種分布式系統任務執行的方法。
一種分布式系統任務執行的方法,包括:任務發起者創建任務并將所述任務發送給任務調度者;所述任務調度者接收所述任務并將所述任務分發給任務處理者;所述任務處理者接收并執行所述任務,并保存所述任務的執行結果;所述任務發起者從保存的所述執行結果中獲取所述任務的執行結果。
可選地,所述任務的執行結果是通過按照預定的結果處理規則對所述任務的執行日志進行處理得到。
可選地,所述結果處理規則包括:從所述執行日志中抽取所述任務對應的數據字段,并將所述數據字段作為所述任務的執行結果。
可選地,還包括:根據所述執行日志監控所述任務的執行狀態,并當所述執行日志出現異常時進行異常處理以及向所述任務發起者發送預警消息。
可選地,所述任務發起者通過輪詢的方式獲取所述任務的執行結果。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司,未經北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710270128.3/2.html,轉載請聲明來源鉆瓜專利網。





