[發明專利]一種基于隊列的云平臺任務分配方法有效
| 申請號: | 201710396757.0 | 申請日: | 2017-05-31 |
| 公開(公告)號: | CN107301085B | 公開(公告)日: | 2020-10-23 |
| 發明(設計)人: | 汪深海 | 申請(專利權)人: | 樹根互聯技術有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/50;G06F9/52 |
| 代理公司: | 成都魚爪智云知識產權代理有限公司 51308 | 代理人: | 代述波 |
| 地址: | 510000 廣東省廣州市*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 隊列 平臺 任務 分配 方法 | ||
本發明提供一種基于隊列的云平臺任務分配方法,所述隊列包括用于存儲云平臺中所有任務的資源任務隊列和用于存儲節點的所有任務的節點任務隊列,其中,每一個節點均對應一個節點任務隊列,所述方法包括:任務接收線程接收用戶提交的請求并將所述請求以任務的形式放入資源任務隊列;任務調度線程從所述資源任務隊列調取第一任務,并根據所述第一任務的操作節點將所述第一任務放入對應的節點任務隊列;任務分發線程從所述節點任務隊列取出所述第一任務并將所述第一任務分發到所述第一任務的操作節點以執行所述第一任務。
技術領域
本發明涉及云計算領域,特別是一種基于隊列的云平臺任務分配方法。
背景技術
云平臺中針對同一個資源的任務需要串行執行,而針對不同資源的任務則可以并行執行,云平臺中必須要處理好串行任務與并行任務才能正確地協調平臺中的各項資源。
目前,要處理好云平臺中的串行與并行任務,必須采用內部鎖或者采用第三方的分布式協調服務。但采用內部鎖會造成系統資源的浪費并可能有死鎖的風險,并且不利于系統的業務規模的擴展;而采用分布式協調服務會對云平臺的運維管理要求更高。
發明內容
為了解決上述問題,本發明提供了一種基于隊列的云平臺任務分配方法,所述隊列包括用于存儲云平臺中所有任務的資源任務隊列和用于存儲節點的任務的節點任務隊列,其中,每一個所述節點均對應一個所述節點任務隊列,所述方法包括:
任務接收線程接收用戶提交的請求并將所述請求以任務的形式放入資源任務隊列;
任務調度線程從所述資源任務隊列調取第一任務,并根據所述第一任務的操作節點將所述第一任務放入對應的節點任務隊列;
任務分發線程從所述節點任務隊列取出所述第一任務并將所述第一任務分發到所述第一任務的操作節點以執行所述第一任務。
優選地,當所述任務調度線程從所述資源任務隊列調取所述第一任務時,所述資源任務隊列可以繼續放入其他任務,但不能被繼續調取任務;當被調取的所述第一任務完成后,所述資源任務隊列可以被繼續調取其他任務。
優選地,所述節點任務隊列包含計數器,每當所述任務分發線程從所述節點任務隊列取出一個任務后,所述計數器會自動增加直至達到上限值。
優選地,當所述計數器達到上限值時,所述節點任務隊列可以被繼續放入其他任務,但不能被讀取任務。
進一步,當取出的任務被執行完成后,所述計數器的值會減少,此時所述節點任務隊列可以繼續被讀取其他任務。
本發明還提供一種基于隊列的云平臺任務分配管理系統,所述隊列包括資源任務隊列和節點任務隊列,所述資源任務隊列用于存儲云平臺中的所有任務,所述節點任務隊列用于存儲該節點的所有任務,其特征在于,
所述云平臺任務分配管理系統包括:
任務接收線程,用于接收用戶提交的請求并將所述請求以任務的形式放入所述資源任務隊列里;
任務調度線程,用于從所述資源任務隊列調取第一任務,并根據所述第一任務的操作節點將所述第一任務放入對應的所述節點任務隊列;
任務分發線程,用于從所述節點任務隊列取出所述第一任務并將所述第一任務分發到所述第一任務的操作節點以執行所述第一任務。
通過本發明的云平臺任務分配方法和系統,能夠實現無鎖的任務機制,并能夠減少云平臺中的資源消耗,避免死鎖;同時,能夠動態分配任務,對任務進行統一管理,有效降低云平臺的業務邏輯的耦合性,有利于云平臺的部署和運維。
附圖說明
圖1為本發明流程圖。
具體實施方式
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于樹根互聯技術有限公司,未經樹根互聯技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710396757.0/2.html,轉載請聲明來源鉆瓜專利網。





