[發(fā)明專利]一種基于RPC及線程鎖的分布式定時任務(wù)調(diào)度方法有效
| 申請?zhí)枺?/td> | 202010615472.3 | 申請日: | 2020-06-25 |
| 公開(公告)號: | CN111752696B | 公開(公告)日: | 2023-09-12 |
| 發(fā)明(設(shè)計)人: | 嚴(yán)東;李耀;田駿;彭磊;楊志文 | 申請(專利權(quán))人: | 武漢眾邦銀行股份有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/54 |
| 代理公司: | 成都正煜知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 51312 | 代理人: | 李龍 |
| 地址: | 432200 湖北省武漢市黃陂區(qū)盤龍城經(jīng)濟開發(fā)區(qū)漢*** | 國省代碼: | 湖北;42 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 rpc 線程 分布式 定時 任務(wù) 調(diào)度 方法 | ||
本發(fā)明涉及信息技術(shù)領(lǐng)域,提供了一種基于RPC及線程鎖的分布式定時任務(wù)調(diào)度方法。的目的在于解決傳統(tǒng)的定時任務(wù)產(chǎn)生堆積,導(dǎo)致定時任務(wù)執(zhí)行準(zhǔn)確性和頻率性出現(xiàn)故障的問題。主要方案包括,新建定時任務(wù)執(zhí)行器;在調(diào)度中心里,新建調(diào)度任務(wù);調(diào)度中心的調(diào)度任務(wù)通過已注冊的各任務(wù)執(zhí)行器上報任務(wù),將調(diào)度任務(wù)存到數(shù)據(jù)庫中,執(zhí)行時會從數(shù)據(jù)庫中取出調(diào)度任務(wù),執(zhí)行具體任務(wù);對執(zhí)行器發(fā)出RPC心跳檢測請求,第一個檢測為存活狀態(tài)的執(zhí)行器會被選定并發(fā)送調(diào)度請求;任務(wù)執(zhí)行器接收到調(diào)度請求后,會根據(jù)調(diào)度請求實例化一個任務(wù)線程,執(zhí)行任務(wù)線程中具體的作業(yè)程序處理方法,成功后返回SUCCESS響應(yīng)消息。
技術(shù)領(lǐng)域
本發(fā)明涉及信息技術(shù)領(lǐng)域,提供了一種基于RPC及線程鎖的分布式定時任務(wù)調(diào)度方法。
背景技術(shù)
定時任務(wù)調(diào)度是一種按照指定時間策略周期性執(zhí)行任務(wù)的應(yīng)用業(yè)務(wù)系統(tǒng)或模塊,是應(yīng)用軟件中一個常見的模塊,用于處理需重復(fù)并周期性調(diào)用的任務(wù),定時任務(wù)調(diào)度一般被用于數(shù)據(jù)同步、交易對賬、異常處理等場景中。
傳統(tǒng)的定時任務(wù)通常都是在不同的主機獨立運行的,隨著定時任務(wù)量的增加,運行定時任務(wù)需要的資源就會相應(yīng)增加,到一定的任務(wù)量會導(dǎo)致性能瓶頸,任務(wù)量產(chǎn)生堆積,導(dǎo)致定時任務(wù)執(zhí)行準(zhǔn)確性和頻率性出現(xiàn)故障。
將定時任務(wù)系統(tǒng)擴展到一個分布式集群中是一種可行的改進(jìn)方法,但由于分布式系統(tǒng)的復(fù)雜性,導(dǎo)致分布式定時任務(wù)系統(tǒng)的穩(wěn)定性和可靠性都難以保證。
發(fā)明內(nèi)容
本發(fā)明的目的在于解決傳統(tǒng)的定時任務(wù)通常都是在不同的主機獨立運行的,隨著定時任務(wù)量的增加,運行定時任務(wù)需要的資源就會相應(yīng)增加,到一定的任務(wù)量會導(dǎo)致性能瓶頸,任務(wù)量產(chǎn)生堆積,導(dǎo)致定時任務(wù)執(zhí)行準(zhǔn)確性和頻率性出現(xiàn)故障的問題。
本發(fā)明為解決上述技術(shù)問題,采用以下技術(shù)方案:
一種基于RPC及線程鎖的分布式定時任務(wù)調(diào)度方法,其特征在于,包括以下步驟:
步驟1:新建定時任務(wù)執(zhí)行器,得到任務(wù)執(zhí)行器JobHandler,在任務(wù)執(zhí)行器中開發(fā)job類,job類中定義了定時任務(wù)的時間表達(dá)式、定時任務(wù)的具體執(zhí)行方法、定時任務(wù)的返回結(jié)果集,并最終得到處理結(jié)果;
步驟2:在調(diào)度中心里,新建調(diào)度任務(wù),調(diào)度任務(wù)用于定義調(diào)度的方法名稱、時間、對應(yīng)的job類、調(diào)度的超時時間、失敗后的處理方式;
步驟3:調(diào)度中心的調(diào)度任務(wù)通過已注冊的各任務(wù)執(zhí)行器上報任務(wù),將調(diào)度任務(wù)存到數(shù)據(jù)庫中,執(zhí)行時會從數(shù)據(jù)庫中取出調(diào)度任務(wù),執(zhí)行具體任務(wù);
步驟4:任務(wù)執(zhí)行器采取集群部署,調(diào)度中心會感知在線的所有執(zhí)行器,每次請求時,會按照順序?qū)?zhí)行器發(fā)出RPC心跳檢測請求,第一個檢測為存活狀態(tài)的執(zhí)行器會被選定并發(fā)送調(diào)度請求;
步驟5:任務(wù)執(zhí)行器接收到調(diào)度請求后,會根據(jù)調(diào)度請求實例化一個任務(wù)線程,執(zhí)行任務(wù)線程中具體的作業(yè)程序處理方法,成功后返回SUCCESS響應(yīng)消息;
步驟6:調(diào)度時,會在日志中心記錄一條任務(wù)日志,包括任務(wù)信息、調(diào)度信息、執(zhí)行信息,任務(wù)日志可在日志中心按照日期和狀態(tài)檢索查看并得知定時任務(wù)執(zhí)行結(jié)果,至此,整個調(diào)度任務(wù)周期結(jié)束。
上述技術(shù)方案中,調(diào)度相應(yīng)的調(diào)度任務(wù)時,采用線程池方式實現(xiàn),執(zhí)行時取出線程并加鎖,避免線程被占用而引起阻塞。
上述技術(shù)方案中,步驟1具體包括:
步驟1.1:使用spring容器環(huán)境新建定時任務(wù)執(zhí)行器,執(zhí)行器的配置文件需定義任務(wù)執(zhí)行器名稱,所在服務(wù)器的ip地址和自定義端口;
步驟1.2:在spring?bean實例中,開發(fā)job方法,此job方法的Java類格式要求為”public?ReturnTStringexecute(String?param)”;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于武漢眾邦銀行股份有限公司,未經(jīng)武漢眾邦銀行股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010615472.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種遠(yuǎn)程過程調(diào)用請求的處理方法和裝置
- 一種基于Web引擎的遠(yuǎn)程過程調(diào)用系統(tǒng)及實現(xiàn)方法
- 一種網(wǎng)絡(luò)設(shè)備中的遠(yuǎn)程過程調(diào)用方法及網(wǎng)絡(luò)設(shè)備
- 基于TR069協(xié)議的CPE配置方法及裝置
- RPC請求、RPC請求處理方法、裝置以及設(shè)備
- 一種優(yōu)化方法、計算機設(shè)備和存儲介質(zhì)
- 一種優(yōu)化方法、計算機設(shè)備和存儲介質(zhì)
- RPC接口升級中流量切換方法、系統(tǒng)、設(shè)備及存儲介質(zhì)
- RPC接口調(diào)用方法及裝置
- 一種遠(yuǎn)程過程調(diào)用RPC服務(wù)調(diào)用方法和相關(guān)裝置
- 在多線程處理器中用于高速線程間中斷的方法和設(shè)備
- 一種多線程系統(tǒng)中實現(xiàn)實時監(jiān)控各線程狀態(tài)的方法
- 移動終端系統(tǒng)線程池實現(xiàn)方法及裝置
- 一種基于策略模式的信號發(fā)生器多線程管理方法
- 多線程并發(fā)處理方法和多線程并發(fā)處理系統(tǒng)
- 分布式系統(tǒng)的線程管理方法和裝置
- 線程執(zhí)行方法、裝置、終端及存儲介質(zhì)
- 線程監(jiān)控方法、裝置、電子設(shè)備及計算機可讀存儲介質(zhì)
- 一種多核系統(tǒng)中多線程調(diào)度方法、裝置及設(shè)備
- 線程間通信方法、裝置、電子設(shè)備及存儲介質(zhì)





