[發明專利]一種任務分發系統及方法在審
| 申請號: | 201710278268.5 | 申請日: | 2017-04-25 |
| 公開(公告)號: | CN108733471A | 公開(公告)日: | 2018-11-02 |
| 發明(設計)人: | 周蒞濤;謝紹光;秦偉;陳天立;陳立志 | 申請(專利權)人: | 深圳市優網科技有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F17/30 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 王寶筠 |
| 地址: | 518057 廣東省深圳市南山區*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 任務執行器 任務分發 任務分發器 任務發送 設置模塊 預設規則 實時性 預加載 加鎖 死鎖 | ||
本發明公開了一種任務分發系統及方法,該系統包括設置模塊、任務分發器和任務執行器,其中,設置模塊,用于對待執行的任務進行預加載處理,并選取處理后的某個待執行任務進行加樂觀鎖處理,將所述加鎖后的待執行的任務發送至任務分發器;任務分發器,用于通過預設規則選擇任務執行器,并將所述待執行的任務發送至所述任務執行器,任務執行器,用于對所述待執行的任務進行任務分發處理。通過本發明實現了提高任務分發的實時性和減少死鎖的目的。
技術領域
本發明涉及數據處理技術領域,特別是涉及基于隊列的任務并行分發機制的一種任務分發系統及方法。
背景技術
隨著移動互聯網技術的迅速發展和網絡的不斷升級,面臨大數據量的任務處理時,如果采用串行任務的處理方式就會拉長任務的處理時間,所以運行商一般會對采集的數據采用并行處理方式,為了提高任務分發處理的效果也對并行處理能力提出了更高的要求。
在現有技術中,對于并行任務處理的主要采用基于多線程的并發任務的處理方法,即把不同的任務分配給操作系統某個進程的多個線程去處理,在處理過程中為了避免多線程之間任務爭用的問題,通常會通過數據庫行級鎖的方式實現,但是行級鎖也有一定的缺點,比如開銷大和加鎖慢,特別是在并發度較大的情況下會出現死鎖,降低了任務分發的實時性。
發明內容
針對于上述問題,本發明提供一種任務分發系統及方法,實現了提高任務分發的實時性和減少死鎖的目的。
為了實現上述目的,根據本發明的第一方面,提供了一種任務分發系統,該系統設置模塊、任務分發器和任務執行器,其中,
所述設置模塊,用于對待執行的任務進行預加載處理,并選取處理后的某個待執行任務進行加樂觀鎖處理,將所述加鎖后的待執行的任務發送至所述任務分發器;
所述任務分發器,用于通過預設規則選擇所述任務執行器,并將所述待執行的任務發送至所述任務執行器,其中,所述預設規則為選擇負載最輕的任務執行器;
所述任務執行器,用于對所述待執行的任務進行任務分發處理。
優選的,所述設置模塊包括預加載單元和加鎖單元,其中,
所述預加載單元,用于按照預設的待執行任務的加載數量,將所述待執行的任務從數據庫中加載到內存的待執行隊列中;
加鎖單元,用于在所述待執行任務隊列中按照優先級選取某個待執行的任務,將所述待執行的任務采用樂觀鎖進行鎖住,并將所述加鎖后的待執行的任務發送至所述任務分發器中。
優選的,所述任務分發器包括獲取單元、選擇單元和發送單元,其中,
所述獲取單元,用于判斷所述任務執行器是否正在執行任務分發,如果否,則獲取所述任務執行器;
所述選擇單元,用于在獲取到的所述任務執行器中選擇負載最小的任務執行器作為待操作的任務執行器;
所述發送單元,用于將待執行的任務發送至所述待操作的任務執行器中。
優選的,所述設置模塊還包括解鎖單元,其中,
當所述任務分發器對所述待執行的任務進行分發處理后,所述解鎖單元,用于將所述待執行的任務進行解鎖,其中,所述解鎖為將所述待執行任務在所述待執行隊列中進行刪除。
根據本發明的第二方面,提供了一種任務分發方法,該方法適用于本發明第一方面所述的任務分發系統,所述任務分發系統包括設置模塊、任務分發器和任務執行器,該方法包括:
所述設置模塊對待執行的任務進行預加載處理,并選取處理后的某個待執行任務進行加樂觀鎖處理,將所述加鎖后的待執行的任務發送至所述任務分發器;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市優網科技有限公司,未經深圳市優網科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710278268.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種分布式任務調度系統及方法
- 下一篇:一種任務創建方法及裝置





