[發(fā)明專利]基于Redis的分布式定時(shí)調(diào)度系統(tǒng)和方法有效
| 申請(qǐng)?zhí)枺?/td> | 202110574672.3 | 申請(qǐng)日: | 2021-05-26 |
| 公開(公告)號(hào): | CN113032131B | 公開(公告)日: | 2021-08-31 |
| 發(fā)明(設(shè)計(jì))人: | 李太友;宋晨;李文澤;趙健軍;郭昊 | 申請(qǐng)(專利權(quán))人: | 天津中新智冠信息技術(shù)有限公司 |
| 主分類號(hào): | G06F9/48 | 分類號(hào): | G06F9/48 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 300456 天津市濱海新區(qū)中新生態(tài)城中成*** | 國省代碼: | 天津;12 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 redis 分布式 定時(shí) 調(diào)度 系統(tǒng) 方法 | ||
本發(fā)明實(shí)施例公開了一種基于Redis的分布式定時(shí)調(diào)度系統(tǒng)和方法,該系統(tǒng)中,若當(dāng)前任務(wù)搶占線程搶占預(yù)設(shè)關(guān)鍵字,則當(dāng)前定時(shí)任務(wù)調(diào)度節(jié)點(diǎn)為定時(shí)任務(wù)調(diào)度主節(jié)點(diǎn);當(dāng)前任務(wù)續(xù)約線程持續(xù)進(jìn)行定時(shí)任務(wù)調(diào)節(jié)主節(jié)點(diǎn)續(xù)約操作;若續(xù)約操作執(zhí)行失敗,則下一個(gè)定時(shí)任務(wù)調(diào)度節(jié)點(diǎn)為定時(shí)任務(wù)調(diào)度主節(jié)點(diǎn),下一個(gè)任務(wù)續(xù)約線程持續(xù)進(jìn)行定時(shí)任務(wù)調(diào)度主節(jié)點(diǎn)續(xù)約操作;定時(shí)任務(wù)調(diào)度主節(jié)點(diǎn)向定時(shí)任務(wù)執(zhí)行節(jié)點(diǎn)發(fā)送調(diào)度請(qǐng)求;定時(shí)任務(wù)執(zhí)行節(jié)點(diǎn)接收調(diào)度請(qǐng)求,執(zhí)行相應(yīng)的定時(shí)任務(wù)執(zhí)行操作,本發(fā)明實(shí)施例的技術(shù)方案使得定時(shí)任務(wù)的調(diào)度不再依賴數(shù)據(jù)庫及數(shù)據(jù)庫鎖,減少了數(shù)據(jù)庫的頻繁讀寫以及加解鎖的操作,實(shí)現(xiàn)主備調(diào)度節(jié)點(diǎn)的無縫切換,提高了定時(shí)任務(wù)的調(diào)度效率。
技術(shù)領(lǐng)域
本發(fā)明實(shí)施例涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種基于Redis的分布式定時(shí)調(diào)度系統(tǒng)和方法。
背景技術(shù)
定時(shí)任務(wù)調(diào)度是一種按照指定時(shí)間策略周期性執(zhí)行任務(wù)的應(yīng)用業(yè)務(wù)系統(tǒng)或模塊,是應(yīng)用軟件中一個(gè)常見的模塊,用于處理需重復(fù)并周期性調(diào)用的任務(wù),定時(shí)任務(wù)調(diào)度一般被用于數(shù)據(jù)同步、交易對(duì)賬、異常處理等場(chǎng)景中。為了保證高可用和高容錯(cuò)性,大規(guī)模的云平臺(tái)或者服務(wù)器集群通常采用分布式架構(gòu),因此分布式定時(shí)任務(wù)調(diào)度應(yīng)運(yùn)而生。
現(xiàn)有分布式定時(shí)任務(wù)調(diào)度工具很多都具有性能瓶頸,效率低下,比如知名的分布式調(diào)度工具Quartz,樂觀情況下每秒的調(diào)度大概在300筆左右,其依賴數(shù)據(jù)庫及數(shù)據(jù)庫鎖,只能滿足少批量的任務(wù)調(diào)度,難以支撐高并發(fā)的調(diào)度。
發(fā)明內(nèi)容
本發(fā)明提供一種基于Redis的分布式定時(shí)調(diào)度系統(tǒng)和方法,避免了對(duì)數(shù)據(jù)庫的頻繁讀寫以及加解數(shù)據(jù)庫鎖的操作過程,提高了定時(shí)任務(wù)的調(diào)度效率。
一方面,本發(fā)明實(shí)施例提供了一種基于Redis的分布式定時(shí)調(diào)度系統(tǒng),包括至少兩個(gè)定時(shí)任務(wù)調(diào)度節(jié)點(diǎn)、定時(shí)任務(wù)執(zhí)行節(jié)點(diǎn)和定時(shí)任務(wù)調(diào)度策略配置模塊,每個(gè)定時(shí)任務(wù)調(diào)度節(jié)點(diǎn)包括任務(wù)搶占線程和任務(wù)續(xù)約線程,其中,
每個(gè)任務(wù)搶占線程持續(xù)執(zhí)行預(yù)設(shè)關(guān)鍵字搶占操作,所述預(yù)設(shè)關(guān)鍵字用于確定定時(shí)任務(wù)調(diào)度主節(jié)點(diǎn);
若當(dāng)前任務(wù)搶占線程搶占預(yù)設(shè)關(guān)鍵字,則當(dāng)前任務(wù)搶占線程將當(dāng)前定時(shí)任務(wù)調(diào)度節(jié)點(diǎn)設(shè)置為定時(shí)任務(wù)調(diào)度主節(jié)點(diǎn);
當(dāng)前任務(wù)續(xù)約線程持續(xù)進(jìn)行定時(shí)任務(wù)調(diào)節(jié)主節(jié)點(diǎn)續(xù)約操作;
若續(xù)約操作執(zhí)行失敗,則下一個(gè)任務(wù)搶占線程將下一個(gè)定時(shí)任務(wù)調(diào)度節(jié)點(diǎn)設(shè)置為定時(shí)任務(wù)調(diào)度主節(jié)點(diǎn),所述下一個(gè)任務(wù)搶占線程為下一次搶占預(yù)設(shè)關(guān)鍵字對(duì)應(yīng)的線程;
下一個(gè)任務(wù)續(xù)約線程持續(xù)進(jìn)行定時(shí)任務(wù)調(diào)度主節(jié)點(diǎn)續(xù)約操作;
定時(shí)任務(wù)調(diào)度主節(jié)點(diǎn)根據(jù)任務(wù)調(diào)度策略配置模塊預(yù)先配置的任務(wù)調(diào)度策略,向定時(shí)任務(wù)執(zhí)行節(jié)點(diǎn)發(fā)送調(diào)度請(qǐng)求,以執(zhí)行定時(shí)任務(wù)執(zhí)行節(jié)點(diǎn)的調(diào)度任務(wù);
定時(shí)任務(wù)執(zhí)行節(jié)點(diǎn)接收調(diào)度請(qǐng)求,并執(zhí)行相應(yīng)的定時(shí)任務(wù)執(zhí)行操作。
另一方面,本發(fā)明實(shí)施例還提供了一種基于Redis的分布式定時(shí)調(diào)度方法,由本發(fā)明實(shí)施例任一所述的基于Redis的分布式定時(shí)調(diào)度系統(tǒng)執(zhí)行,包括:
每個(gè)任務(wù)搶占線程持續(xù)執(zhí)行預(yù)設(shè)關(guān)鍵字搶占操作,所述預(yù)設(shè)關(guān)鍵字用于確定定時(shí)任務(wù)調(diào)度主節(jié)點(diǎn);
若當(dāng)前任務(wù)搶占線程搶占預(yù)設(shè)關(guān)鍵字,則當(dāng)前任務(wù)搶占線程將當(dāng)前定時(shí)任務(wù)調(diào)度節(jié)點(diǎn)設(shè)置為定時(shí)任務(wù)調(diào)度主節(jié)點(diǎn);
當(dāng)前任務(wù)續(xù)約線程持續(xù)進(jìn)行定時(shí)任務(wù)調(diào)節(jié)主節(jié)點(diǎn)續(xù)約操作;
若續(xù)約操作執(zhí)行失敗,則下一個(gè)任務(wù)搶占線程將下一個(gè)定時(shí)任務(wù)調(diào)度節(jié)點(diǎn)設(shè)置為定時(shí)任務(wù)調(diào)度主節(jié)點(diǎn),所述下一個(gè)任務(wù)搶占線程為下一次搶占預(yù)設(shè)關(guān)鍵字對(duì)應(yīng)的線程;
下一個(gè)任務(wù)續(xù)約線程持續(xù)進(jìn)行定時(shí)任務(wù)調(diào)度主節(jié)點(diǎn)續(xù)約操作;
定時(shí)任務(wù)調(diào)度主節(jié)點(diǎn)根據(jù)任務(wù)調(diào)度策略配置模塊預(yù)先配置的任務(wù)調(diào)度策略,向任務(wù)執(zhí)行節(jié)點(diǎn)發(fā)送調(diào)度請(qǐng)求,以執(zhí)行任務(wù)執(zhí)行節(jié)點(diǎn)調(diào)度任務(wù);
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于天津中新智冠信息技術(shù)有限公司,未經(jīng)天津中新智冠信息技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110574672.3/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- Redis的主從切換方法、裝置及redis系統(tǒng)
- 一種redis管理虛擬IP地址的方法、裝置及redis系統(tǒng)
- 一種Redis集群容量調(diào)整的方法、裝置及存儲(chǔ)介質(zhì)
- 一種保障redis集群可用性的方法
- 一種Redis集群的高可用方法及裝置
- 一種redis節(jié)點(diǎn)主從切換方法及裝置
- 一種大數(shù)據(jù)場(chǎng)景下消息處理的方法及終端
- Redis集群處理方法、裝置、電子設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 一種應(yīng)用于Redis客戶端的查詢請(qǐng)求過濾方法及Redis客戶端
- Redis緩存刷新方法及裝置





