[發(fā)明專利]應(yīng)用系統(tǒng)多服務(wù)集群下定時(shí)任務(wù)調(diào)度方法有效
| 申請(qǐng)?zhí)枺?/td> | 202211682914.1 | 申請(qǐng)日: | 2022-12-27 |
| 公開(kāi)(公告)號(hào): | CN115934287B | 公開(kāi)(公告)日: | 2023-09-12 |
| 發(fā)明(設(shè)計(jì))人: | 裴俊楓;王宗 | 申請(qǐng)(專利權(quán))人: | 無(wú)錫錫銀金科信息技術(shù)有限責(zé)任公司 |
| 主分類號(hào): | G06F9/48 | 分類號(hào): | G06F9/48;G06F9/52;G06F16/2455;G06F16/23;G06F16/27 |
| 代理公司: | 無(wú)錫市匯誠(chéng)永信專利代理事務(wù)所(普通合伙) 32260 | 代理人: | 朱曉林 |
| 地址: | 214000 江蘇省無(wú)錫市*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 應(yīng)用 系統(tǒng) 服務(wù) 集群 定時(shí) 任務(wù) 調(diào)度 方法 | ||
1.一種應(yīng)用系統(tǒng)多服務(wù)集群下定時(shí)任務(wù)調(diào)度方法,其特征在于,所述方法包括:
接收指令創(chuàng)建任務(wù),將任務(wù)對(duì)應(yīng)數(shù)據(jù)存入數(shù)據(jù)庫(kù)并同步到redis緩存中;
任務(wù)核心線程啟動(dòng)并完成數(shù)據(jù)同步后,查詢所述redis緩存的任務(wù)列表,根據(jù)任務(wù)列表中各任務(wù)的狀態(tài)信息更新可執(zhí)行任務(wù)列表;其中,任務(wù)列表中包含有所有創(chuàng)建且未執(zhí)行完畢的任務(wù)和對(duì)應(yīng)狀態(tài)信息,所述可執(zhí)行任務(wù)列表中包含有任務(wù)核心線程確定的具備執(zhí)行條件的任務(wù);所述redis緩存還包含有任務(wù)列表對(duì)應(yīng)的爭(zhēng)搶鎖列表,所述爭(zhēng)搶鎖列表包括所有服務(wù)對(duì)任務(wù)的爭(zhēng)搶狀態(tài);所述狀態(tài)信息至少包括每個(gè)任務(wù)的爭(zhēng)搶鎖id、任務(wù)id、任務(wù)參數(shù)、定時(shí)信息、執(zhí)行類名、任務(wù)重試次數(shù)及最大重試次數(shù)、任務(wù)當(dāng)前狀態(tài)、前序任務(wù)列表和后續(xù)任務(wù)列表;所述前序任務(wù)列表和所述后續(xù)任務(wù)列表中包含有執(zhí)行該任務(wù)需要的前序任務(wù)和后續(xù)任務(wù);所述定時(shí)信息為觸發(fā)該任務(wù)爭(zhēng)搶機(jī)制的時(shí)間;更新所述可執(zhí)行任務(wù)列表具體包括:
輪詢所述redis緩存的任務(wù)列表,根據(jù)所述定時(shí)信息確定新觸發(fā)任務(wù),根據(jù)任務(wù)當(dāng)前狀態(tài)、爭(zhēng)搶鎖id及爭(zhēng)搶狀態(tài)、任務(wù)重試次數(shù)及最大重試次數(shù)確定可執(zhí)行任務(wù);
基于可執(zhí)行任務(wù)和新觸發(fā)任務(wù)更新所述可執(zhí)行任務(wù)列表;其中,可執(zhí)行任務(wù)為歷史執(zhí)行失敗的任務(wù),且執(zhí)行次數(shù)小于最大重試次數(shù),集群服務(wù)器包含若干服務(wù),所述可執(zhí)行任務(wù)列表中的任務(wù)對(duì)應(yīng)爭(zhēng)搶鎖狀態(tài)為未占用狀態(tài),任務(wù)當(dāng)前狀態(tài)為未執(zhí)行狀態(tài);
更新所述可執(zhí)行任務(wù)列表后,基于任務(wù)類型和任務(wù)參數(shù)對(duì)所述可執(zhí)行任務(wù)列表中的所有任務(wù)進(jìn)行歸類,將存在關(guān)聯(lián)條件的任務(wù)建立各自的所述前序任務(wù)列表及所述后續(xù)任務(wù)列表;
基于redis分布式機(jī)制獲取所述可執(zhí)行任務(wù)列表對(duì)應(yīng)的任務(wù)鎖爭(zhēng)搶列表,通過(guò)爭(zhēng)搶鎖機(jī)制和任務(wù)的前序條件完成情況確定目標(biāo)任務(wù);具體包括:
核對(duì)所述可執(zhí)行任務(wù)列表中各個(gè)候選任務(wù)對(duì)應(yīng)前序任務(wù)的完成狀態(tài),并將前序任務(wù)未完成的候選任務(wù)濾除,獲得中間任務(wù)列表;
基于redis分布式機(jī)制對(duì)所有中間任務(wù)執(zhí)行多任務(wù)爭(zhēng)搶,將爭(zhēng)搶到的所述中間任務(wù)作為所述目標(biāo)任務(wù),同步更新所述目標(biāo)任務(wù)的任務(wù)重試次數(shù)、執(zhí)行信息時(shí)間、以及最晚完成時(shí)間;
當(dāng)所述目標(biāo)任務(wù)在最晚完成時(shí)間內(nèi)未完成執(zhí)行任務(wù)時(shí),爭(zhēng)搶鎖自動(dòng)失效;所述執(zhí)行信息時(shí)間為目標(biāo)服務(wù)爭(zhēng)搶到鎖的時(shí)間,且搶到鎖后的爭(zhēng)搶鎖更新為已占用狀態(tài);其中,任務(wù)核心線程移交任務(wù)到本地線程池中執(zhí)行后進(jìn)入休眠狀態(tài),休眠完成后繼續(xù)獲取當(dāng)前的所述中間任務(wù)列表;當(dāng)所述中間任務(wù)列表不存在滿足執(zhí)行條件的任務(wù)時(shí)結(jié)束線程,否則繼續(xù)根據(jù)所述中間任務(wù)列表執(zhí)行爭(zhēng)搶任務(wù);
對(duì)所述目標(biāo)任務(wù)創(chuàng)建子任務(wù)線程,并放到本地線程池中異步執(zhí)行和同步所述redis緩存,子任務(wù)線程和任務(wù)核心線程分屬不同線程池,任務(wù)核心線程是常駐線程池,用于調(diào)度和承擔(dān)各個(gè)任務(wù)的實(shí)現(xiàn),全局線程池用于子任務(wù)線程的創(chuàng)建和調(diào)度,具體包括:
對(duì)所述目標(biāo)任務(wù)創(chuàng)建子任務(wù)線程,并在本地線程池中執(zhí)行;
根據(jù)任務(wù)參數(shù)執(zhí)行內(nèi)容,并記錄日志信息;
執(zhí)行完成后根據(jù)結(jié)果更新所述redis緩存中的任務(wù)列表,用于任務(wù)核銷(xiāo);
當(dāng)所述目標(biāo)任務(wù)包含有所述后續(xù)任務(wù)列表時(shí),讀取并更新所述redis緩存中任務(wù)列表和所述可執(zhí)行任務(wù)列表,繼續(xù)通過(guò)爭(zhēng)搶鎖執(zhí)行后續(xù)任務(wù)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于無(wú)錫錫銀金科信息技術(shù)有限責(zé)任公司,未經(jīng)無(wú)錫錫銀金科信息技術(shù)有限責(zé)任公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211682914.1/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 在線應(yīng)用平臺(tái)上應(yīng)用間通信的回調(diào)應(yīng)答方法、應(yīng)用及在線應(yīng)用平臺(tái)
- 應(yīng)用使用方法、應(yīng)用使用裝置及相應(yīng)的應(yīng)用終端
- 應(yīng)用管理設(shè)備、應(yīng)用管理系統(tǒng)、以及應(yīng)用管理方法
- 能力應(yīng)用系統(tǒng)及其能力應(yīng)用方法
- 應(yīng)用市場(chǎng)的應(yīng)用搜索方法、系統(tǒng)及應(yīng)用市場(chǎng)
- 使用應(yīng)用的方法和應(yīng)用平臺(tái)
- 應(yīng)用安裝方法和應(yīng)用安裝系統(tǒng)
- 使用遠(yuǎn)程應(yīng)用進(jìn)行應(yīng)用安裝
- 應(yīng)用檢測(cè)方法及應(yīng)用檢測(cè)裝置
- 應(yīng)用調(diào)用方法、應(yīng)用發(fā)布方法及應(yīng)用發(fā)布系統(tǒng)
- 服務(wù)票據(jù)發(fā)行系統(tǒng)及服務(wù)票據(jù)發(fā)行服務(wù)
- 出租服務(wù)服務(wù)器和出租服務(wù)系統(tǒng)
- 服務(wù)開(kāi)放方法及系統(tǒng)、服務(wù)開(kāi)放服務(wù)器
- 基于服務(wù)券服務(wù)的在線企業(yè)服務(wù)平臺(tái)
- 退稅服務(wù)系統(tǒng)、退稅服務(wù)平臺(tái)及其服務(wù)方法
- 服務(wù)亭(服務(wù)驛站)
- 公共服務(wù)自助服務(wù)機(jī)
- 服務(wù)提供服務(wù)器、服務(wù)提供系統(tǒng)以及服務(wù)提供方法
- 服務(wù)提供服務(wù)器、服務(wù)提供系統(tǒng)以及服務(wù)提供方法
- 服務(wù)提供服務(wù)器、服務(wù)提供系統(tǒng)以及服務(wù)提供方法
- 一種集群調(diào)度呼叫業(yè)務(wù)中主叫終端信息顯示方法
- 更新網(wǎng)絡(luò)流量管理設(shè)備同時(shí)維持有效性
- 與集群調(diào)度系統(tǒng)進(jìn)行通信的方法、群集接入網(wǎng)關(guān)及系統(tǒng)
- 一種管理集群通信系統(tǒng)資源的方法
- 基于Kubernetes和OpenStack容器云平臺(tái)多集群構(gòu)建方法、介質(zhì)、設(shè)備
- 一種容災(zāi)系統(tǒng)、容災(zāi)處理方法、監(jiān)控節(jié)點(diǎn)和備份集群
- 一種ETCD集群恢復(fù)方法、系統(tǒng)、設(shè)備及計(jì)算機(jī)介質(zhì)
- 混合云場(chǎng)景下保證可用集群數(shù)量的方法、裝置及系統(tǒng)
- 一種集群拓?fù)涓路椒?、系統(tǒng)、設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 集群切換方法、集群切換裝置、電子設(shè)備及可讀存儲(chǔ)介質(zhì)





