[發明專利]一種基于RPC及線程鎖的分布式定時任務調度方法有效
| 申請號: | 202010615472.3 | 申請日: | 2020-06-25 |
| 公開(公告)號: | CN111752696B | 公開(公告)日: | 2023-09-12 |
| 發明(設計)人: | 嚴東;李耀;田駿;彭磊;楊志文 | 申請(專利權)人: | 武漢眾邦銀行股份有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/54 |
| 代理公司: | 成都正煜知識產權代理事務所(普通合伙) 51312 | 代理人: | 李龍 |
| 地址: | 432200 湖北省武漢市黃陂區盤龍城經濟開發區漢*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 rpc 線程 分布式 定時 任務 調度 方法 | ||
1.一種基于RPC及線程鎖的分布式定時任務調度方法,其特征在于,包括以下步驟:
步驟1:新建定時任務執行器,得到任務執行器JobHandler,在任務執行器中開發job類,job類中定義了定時任務的時間表達式、定時任務的具體執行方法、定時任務的返回結果集,并最終得到處理結果;
步驟2:在調度中心里,新建調度任務,調度任務用于定義調度的方法名稱、時間、對應的job類、調度的超時時間、失敗后的處理方式;
步驟3:調度中心的調度任務通過已注冊的各任務執行器上報任務,將調度任務存到數據庫中,執行時會從數據庫中取出調度任務,執行具體任務;
步驟4:任務執行器采取集群部署,調度中心會感知在線的所有執行器,每次請求時,會按照順序對執行器發出RPC心跳檢測請求,第一個檢測為存活狀態的執行器會被選定并發送調度請求;
步驟5:任務執行器接收到調度請求后,會根據調度請求實例化一個任務線程,執行任務線程中具體的作業程序處理方法,成功后返回SUCCESS響應消息;
步驟6:調度時,會在日志中心記錄一條任務日志,包括任務信息、調度信息、執行信息,任務日志可在日志中心按照日期和狀態檢索查看并得知定時任務執行結果,至此,整個調度任務周期結束;
調度相應的調度任務時,采用線程池方式實現,執行時取出線程并加鎖,避免線程被占用而引起阻塞,具體包括以下步驟:
步驟A.1:調度中心添加一個已上報的定時調度任務到quartz中,quartz是一個完全由Java編寫的開源作業調度框架;
步驟A.2:quartz通過快慢線程池去執行已實例化的觸發器,1分鐘內若有10次運行超過500ms就會啟動慢線程池,否則就進入快線程池;
步驟A.3:通過定時調度任務在實例化時由調度中心分配的任務ID字段查詢數據庫中保存的定時任務信息,將任務實例裝載到線程池中,并調用執行觸發程序;
步驟A.4:從數據庫中獲取任務的線程阻塞策略,默認是serial?execution串行執行,根據任務ID對定時任務執行線程加鎖,并繼續遞交給執行器執行。
2.根據權利要求1所述的一種基于RPC及線程鎖的分布式定時任務調度方法,其特征在于,步驟1具體包括:
步驟1.1:使用spring容器環境新建定時任務執行器,執行器的配置文件需定義任務執行器名稱,所在服務器的ip地址和自定義端口;
步驟1.2:在spring?bean實例中,開發job方法,此job方法的Java類格式要求為”public?ReturnTString?execute(String?param)”;
步驟1.3:為job方法添加注解”@Job(value=”自定義的jobhandler名稱,init=”JobHandler初始化方法”,destroy=”JobHandler銷毀方法”)”,該注解可以在執行類啟動時,在Java虛擬機中自動識別并按照注解的定義來初始化和銷毀執行方法,注解value值對應的是調度中心新建調度任務的名稱,init對應調度任務的初始化方法,destroy對應調度任務的銷毀方法;
步驟1.4:配置完成后,Java虛擬機會根據注解信息生成作業處理程序,通過調度中心新建的任務也會以作業處理程序的形式存在于任務執行器中,Java虛擬機會掃描步驟1.3中添加的注解,發現任務并注入到執行容器中。
3.根據權利要求1所述的一種基于RPC及線程鎖的分布式定時任務調度方法,其特征在于,步驟2具體包括:
步驟2.1:進入調度中心,在任務執行器中選擇步驟1中定義的執行器名稱,任務描述簡述定時任務的執行目的,定時任務的阻塞策略,cron定義定時任務的定時執行時間規則,定義執行器中的任務方法名稱;
步驟2.2:配置完成并保存后,此調度任務會在數據庫新增一條定時任務信息,定時調度任務新增成功。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢眾邦銀行股份有限公司,未經武漢眾邦銀行股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010615472.3/1.html,轉載請聲明來源鉆瓜專利網。





