[發明專利]基于消息隊列的分布式定時任務調度方法及系統在審
| 申請號: | 202210230632.1 | 申請日: | 2022-03-09 |
| 公開(公告)號: | CN114741167A | 公開(公告)日: | 2022-07-12 |
| 發明(設計)人: | 林君;謝德壽;陳小雷;林鎮勛;牛京杰;查道鵬 | 申請(專利權)人: | 博思數采科技發展有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/54;G06F3/06 |
| 代理公司: | 福州創蔚來知識產權代理有限公司 35290 | 代理人: | 魏慶宇 |
| 地址: | 350200 福建省福州市長樂*** | 國省代碼: | 福建;35 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 消息 隊列 分布式 定時 任務 調度 方法 系統 | ||
本發明涉及一種基于消息隊列的分布式定時任務調度方法,它包括以下步驟:S1.定時任務生產模塊根據不同調度消息類型創建不同的定時任務并投遞消息;S2.定時任務處理模塊對定時任務生產模塊投遞的定時任務進行調度;S3.定時任務配置模塊內設置死信隊列以及一組具有不同時間粒度的延時隊列;S4.延時隊列對進入的定時任務指定生存時間;S5.定時任務消費模塊對死信隊列進行監聽消費。本發明的優點在于:本發明可在不使用數據庫對定時調度任務進行數據持久化的情況下,由業務系統根據實際業務場景創建不同類型定時任務調度任務,保障定時場景下業務的時效性及完整性,同時避免了在分布式集群環境下定時任務重復調度的問題。
技術領域
本發明涉及計算機技術領域,具體為一種基于消息隊列的分布式定時任務調度方法及系統。
背景技術
隨著政府大力推進電子化政府采購系統建設,在電子招標投標活動過程中使用到定時任務調度的場景越來越多。在現有電子招投標系統投標活動過程中,針對項目投標截止時間前48小時提醒未投標供應商上傳投標文件、供應商報名成功后5分鐘未下載標書提醒、遠程開標前30分鐘提醒報名供應商進入開標大廳、供應商評標等候大廳叫號超時等場景,需使用定時功能進行任務調度。
目前比較流行的分布式定時任務框架有Quartz,xx-job等,它們有各自的優缺點,比如Quartz支持數據存儲型的定時任務,任務維護性較高,缺點是Quartz依賴數據庫集群,有庫表依賴,是較為古老的實現方式,XX-job支持彈性擴容、故障遷移,缺點是框架本身較重,不夠純粹,也是有庫表依賴,需要維護的信息項較多。
若使用純粹的延時隊列實現定時任務,由于隊列的特性是先進先出(FIFO),假設所有消息都在同一個隊列中,只會優先消費處于隊列最上面的一條消息,若第一條消息未到期則后面已到期的消息都要進行等待,在第一條消息消費后才會消費下一條消息數據。
發明內容
本發明的目的在于提供一種高性能、高可用的基于消息隊列的分布式定時任務調度方法及系統。
本發明的目的通過如下技術方案實現:
一種基于消息隊列的分布式定時任務調度方法,它包括以下步驟:
S1.定時任務生產模塊根據不同調度消息類型創建不同的定時任務并投遞消息;
S2.定時任務處理模塊對定時任務生產模塊投遞的定時任務進行調度,達到執行時間后執行定時任務調度,否則投遞至定時任務配置模塊;
S3.定時任務配置模塊內設置死信隊列以及一組具有不同時間粒度的延時隊列;定時任務處理模塊調度時,計算當前時間與定時任務執行時間的時間差值,將定時任務投遞至與其時間差值間隔最近的下一級延時隊列;
S4.延時隊列對進入的定時任務指定生存時間,生存時間與延時隊列的時間粒度一致,定時任務在到達生存時間后進入死信隊列;
S5.定時任務消費模塊對死信隊列進行監聽消費,并判斷是否對定時任務進行二次投遞;定時任務需要二次投遞時,返回定時任務處理模塊,并重復步驟S2-S5,直至定時任務達到執行時間,觸發執行定時任務調度。
一種基于消息隊列的分布式定時任務調度系統,它包括
定時任務生產模塊,其根據不同調度消息類型創建不同的定時任務并投遞消息;
定時任務配置模塊,其用于配置死信隊列以及一組具有不同時間粒度的延時隊列;延時隊列對進入的定時任務指定生存時間,生存時間與延時隊列的時間粒度一致,定時任務在到達生存時間后進入死信隊列;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于博思數采科技發展有限公司,未經博思數采科技發展有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210230632.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種新能源車輛電池充電站
- 下一篇:一種碳化硅MCT器件及其制造方法與應用





