[發明專利]異步任務調度方法、服務器及存儲介質有效
| 申請號: | 201711114514.X | 申請日: | 2017-11-13 |
| 公開(公告)號: | CN107957903B | 公開(公告)日: | 2020-11-10 |
| 發明(設計)人: | 張小松;李小軍;沈陽 | 申請(專利權)人: | 中國平安財產保險股份有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/50 |
| 代理公司: | 深圳市君勝知識產權代理事務所(普通合伙) 44268 | 代理人: | 王永文;劉文求 |
| 地址: | 518000 廣東省深*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 異步 任務 調度 方法 服務器 存儲 介質 | ||
本發明公開了異步任務調度方法、服務器及存儲介質中,異步任務調度方法使用開源異步任務調度工具搭建異步調度框架,在異步調度框架的配置文件中配置異步任務所需的各項配置參數;進行異步任務處理時,從待處理任務表中抓取預設量的任務并處理;將處理成功的任務轉移至成功表,失敗的任務轉移至失敗表,需重試的任務退回至待處理任務表;在待處理任務表中設置批次號對待處理任務進行隔離,多臺服務器根據批次號分別抓取對應的待處理任務;進行多線程處理時,為異步任務配置一線程池,將一批次抓取的多個待處理任務分給線程池中不同的線程處理,并輸出處理結果。通過隔離可防止同一任務被多臺服務器重復處理,使用線程池提升了單個服務器處理能力。
技術領域
本發明涉及計算機技術領域,具體涉及異步任務調度方法、服務器及存儲介質。
背景技術
Java程序常用的開源異步任務調度工具主要是Quartz,有集群和非集群兩種運行模式。
集群模式是指同一時刻只會有一臺服務器在啟動任務調度,以防止不同服務器不會因為搶任務導致沖突。缺點是在待處理任務數據量大的情況下會出現處理不過來,即使增加服務器也無法處理。
非集群模式是指多臺服務器并行調度,效率是集群模式的n倍,n為服務器數量。缺點是服務器搶任務會導致一個任務在不同服務器上運行多次。另外若異步任務數量巨大,也會處理不過來,除非添加大量服務器,資源利用率無法進一步提升。
因此,現有技術還有待于改進和發展。
發明內容
鑒于上述現有技術的不足之處,本發明的目的在于提供一種異步任務調度方法、服務器及存儲介質,可使每臺服務器的處理效率至少能提升10倍(和線程池大小有關,根據不同實際場景可配置不同的線程池大小),還能保證各應用服務器不會抓取到相同的任務。
為了達到上述目的,本發明采取了以下技術方案:
一種異步任務調度方法,其包括如下步驟:
使用開源異步任務調度工具搭建異步調度框架,在所述異步調度框架的配置文件中配置異步任務所需的各項配置參數;
進行異步任務處理時,從待處理任務表中抓取預設量的任務并處理;將處理成功的任務轉移至成功表,失敗的任務轉移至失敗表,需重試的任務退回至待處理任務表;
在待處理任務表中設置批次號對待處理任務進行隔離,多臺服務器根據批次號分別抓取對應的待處理任務;
進行多線程處理時,為異步任務配置一線程池,將一批次抓取的多個待處理任務分給線程池中不同的線程進行處理,并輸出處理結果。
在所述的異步任務調度方法中,所述配置參數用于表示異步任務的處理方式,包括:
是否需要失敗重試,重試次數,每次抓取待處理任務的數量,是否需要使用多線程,任務調度頻率的大小和線程池的大小。
在所述的異步任務調度方法中,在所述異步調度框架的配置文件中配置異步任務所需的各項配置參數的步驟中,配置異步任務的每次抓取待處理任務的數量時,通過定時調度程序來定時讀取配置文件并更新到程序中。
在所述的異步任務調度方法中,所述進行異步任務處理時,從待處理任務表中抓取預設量的任務并處理;將處理成功的任務轉移至成功表,失敗的任務轉移至失敗表,需重試的任務退回至待處理任務表的步驟包括:
進行異步任務處理時,從待處理任務表中抓取預設量的任務至處理表中并進行處理;
若處理成功則將該任務轉移至成功表,若處理失敗則根據配置參數判斷是否需要重試;
若不需要重試,則轉移該任務至失敗表中;若需要重試,則將該任務退回至待處理任務表、并將該任務的重試次數加1,返回進行異步任務處理時的步驟。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國平安財產保險股份有限公司,未經中國平安財產保險股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711114514.X/2.html,轉載請聲明來源鉆瓜專利網。





