[發明專利]一種任務同步方法有效
| 申請號: | 201410418045.0 | 申請日: | 2014-08-22 |
| 公開(公告)號: | CN104182283B | 公開(公告)日: | 2018-07-10 |
| 發明(設計)人: | 陳鵬 | 申請(專利權)人: | 北京京東尚科信息技術有限公司 |
| 主分類號: | G06F9/52 | 分類號: | G06F9/52 |
| 代理公司: | 北京德琦知識產權代理有限公司 11018 | 代理人: | 王一斌;王琦 |
| 地址: | 100080 北京市海淀區杏石口路6*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 集中存儲設備 任務執行信息 分布式系統 同步執行 存儲 申請 | ||
本申請公開了一種任務同步方法,該方法中利用一集中存儲設備存儲分布式系統中各實例的任務執行信息,每個實例通過周期性地從該集中存儲設備中獲取其他實例的任務執行信息,可以及時掌握各實例的步驟執行狀態,從而可以實現任務在各實例間的同步執行。采用本發明,可以避免新增實例時對原有實例正常運行的影響,且易于實現。
技術領域
本發明涉及分布式應用技術,特別是涉及一種分布式應用系統中的任務同步方法。
背景技術
目前,對于步驟運算數據量非常大且有時間要求的業務應用,通常使用分布式系統實現。具體而言,對于一個業務應用,如果有若干步驟需要在指定時間內完成且需要計算的數據量非常大,該業務應用的執行將需要由分布在多臺機器上的多個實例共同完成。該類業務應用中的各步驟通常需要按照先后順序執行,即一個步驟必須在前一步驟的所有執行實例完成后才能開始執行。
在實際應用中,每個實例執行某個步驟的計算任務很難在同一時間完成。例如,當分布在N臺服務器上的M個實例共同執行步驟P1時,假設給每個實例分配同樣多的計算任務(如10萬條數據),因為服務器本身配置的原因或網絡IO的原因,造成實例1計算10萬條記錄需要10分鐘,而實例2完成10萬條記錄可能需要11分鐘,并且實際上也存在計算數據條數不能絕對平均的分配給M個實例的情況;再假設如果給每個實例設置一個完成任務的時間點,比如凌晨3點整完成P1步驟中的任務,也可能因為同樣的原因,存在部分實例無法在指定時間內完成的情況(這種情況在實際的分布式系統運行中出現的概率較高)。
基于以上原因,為了確保各步驟按照先后順序執行,需要實現在各個實例之間多個任務步驟的同步。各個實例需要在等待其他實例都完成了相同步驟的任務后才能開始下個步驟的任務。例如:當執行步驟P1時,從實例1到實例M,在分別完成所分配任務后需要各自等待,直到最后一個完成P1步驟任務的實例執行完成后(也就意味著P1步驟任務已經全部完成),各個實例在判斷到P1步驟全部完成后自己開始執行P2步驟的任務,同P1一樣,當全部實例都完成各自的P2步驟任務后,再開始執行下一個步驟P3,依次類推,從而實現每個任務步驟執行的同步。
目前,在分布式應用場景下,每個實例完成一項任務步驟工作后,是通過廣播的方式通知其他實例本實例的步驟執行狀態信息,從而實現了將每個實例的任務執行情況信息同步到全部實例。
上述采用廣播方式實現的實例間任務同步的方法,需要每個實例知道其他實例的存在,才可以將信息廣播給其他實例中。對于正在線上運行的系統,當動態增加了新實例時,需要老的實例重新配置才能知道該新實例的存在,因此,新實例的增加可能會引起老實例的線上重啟。
另外,廣播方式需要每個實例開發通訊的接口,接收其他實例傳播來的任務執行信息,要從應用開發實現上確保通訊的及時性和可用性,技術實現有一定的復雜度。一旦信息在傳播過程中丟失,會造成整個任務同步機制受影響,計劃業務將無法執行,存在有較大風險。
由此可見,現有的采用廣播方式實現的任務同步方法存在新增實例時影響原有實例的正常運行以及通訊技術要求高、實現復雜度高等問題。
發明內容
有鑒于此,本發明的主要目的在于提供一種任務同步方法,該方法應用于分布式應用系統中,可避免新增實例時對原有實例正常運行的影響,且易于實現。
為了達到上述目的,本發明提出的技術方案為:
一種任務同步方法,該方法應用于分布式系統中,包括:
當執行業務應用任務的每個實例啟動后,將本實例的實例信息記錄在系統的集中存儲設備中;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京東尚科信息技術有限公司,未經北京京東尚科信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410418045.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:風扇測試板
- 下一篇:一種用于高超聲速飛行器考核的仿真測試平臺及控制方法





