欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

分布式定時(shí)任務(wù)管理方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)與流程

文檔序號(hào):40510643發(fā)布日期:2024-12-31 13:19閱讀:13來(lái)源:國(guó)知局
分布式定時(shí)任務(wù)管理方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)與流程

本發(fā)明涉及分布式系統(tǒng)管理及金融科技領(lǐng)域,尤其涉及一種分布式定時(shí)任務(wù)管理方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。


背景技術(shù):

1、隨著金融行業(yè)業(yè)務(wù)的快速發(fā)展和服務(wù)應(yīng)用的擴(kuò)展,金融機(jī)構(gòu)后端服務(wù)集群中的定時(shí)任務(wù)數(shù)量從幾個(gè)增長(zhǎng)到了幾十甚至上百個(gè)。為滿足業(yè)務(wù)需求,定時(shí)任務(wù)的分布式管理變得尤為重要。然而,傳統(tǒng)的定時(shí)任務(wù)管理系統(tǒng),如elasticjob,逐漸暴露出其在擴(kuò)展性和性能方面的不足。

2、金融系統(tǒng)中,曾廣泛使用elasticjob來(lái)實(shí)現(xiàn)分布式定時(shí)任務(wù)調(diào)度,依賴于zookeeper進(jìn)行節(jié)點(diǎn)管理和任務(wù)協(xié)調(diào)。然而,隨著任務(wù)數(shù)量的增加,該方案面臨了以下幾個(gè)關(guān)鍵問(wèn)題:

3、對(duì)象初始化類別繁多:不同的定時(shí)任務(wù)對(duì)象初始化類別過(guò)多,導(dǎo)致系統(tǒng)在任務(wù)初始化過(guò)程中復(fù)雜度增加。

4、加載耗時(shí)與內(nèi)存消耗問(wèn)題:隨著定時(shí)任務(wù)的增多,系統(tǒng)在啟動(dòng)和加載任務(wù)時(shí)耗時(shí)過(guò)長(zhǎng),并且大量消耗內(nèi)存資源,影響系統(tǒng)性能。

5、依賴性問(wèn)題:elasticjob和zookeeper的依賴關(guān)系緊密,并且版本要求嚴(yán)格,導(dǎo)致項(xiàng)目在開(kāi)發(fā)和部署過(guò)程中變得過(guò)于復(fù)雜和臃腫。

6、因此,當(dāng)前金融機(jī)構(gòu)對(duì)定時(shí)任務(wù)管理方案提出了更高的要求,不僅需要解決任務(wù)調(diào)度的擴(kuò)展性問(wèn)題,還必須優(yōu)化任務(wù)加載的效率,減少系統(tǒng)資源的占用。此外,需要尋找一種更輕量級(jí)的分布式任務(wù)管理方案,以降低系統(tǒng)對(duì)zookeeper和elasticjob等中間件的過(guò)度依賴,實(shí)現(xiàn)更加靈活的任務(wù)調(diào)度和管理。


技術(shù)實(shí)現(xiàn)思路

1、本發(fā)明的主要目的在于提供一種分布式定時(shí)任務(wù)管理方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),旨在解決現(xiàn)有技術(shù)在分布式定時(shí)任務(wù)管理中難以保證任務(wù)在多個(gè)節(jié)點(diǎn)之間的一致性,容易出現(xiàn)重復(fù)執(zhí)行或漏執(zhí)行的技術(shù)問(wèn)題。

2、為實(shí)現(xiàn)上述目的,本發(fā)明提供一種分布式定時(shí)任務(wù)管理方法,包括:

3、基于spring?boot創(chuàng)建項(xiàng)目,配置redis用于存儲(chǔ)和管理分布式定時(shí)任務(wù),并定義定時(shí)任務(wù)基類以啟動(dòng)定時(shí)任務(wù)調(diào)度功能;

4、在所述定時(shí)任務(wù)基類中使用@scheduled注解定義任務(wù)的執(zhí)行計(jì)劃,設(shè)立任務(wù)管理機(jī)制,配置任務(wù)的執(zhí)行范圍和線程號(hào),生成每個(gè)分布式定時(shí)任務(wù)的唯一標(biāo)識(shí);

5、記錄每個(gè)分布式定時(shí)任務(wù)的任務(wù)狀態(tài)信息,包括任務(wù)的執(zhí)行時(shí)間、執(zhí)行頻率和唯一標(biāo)識(shí);

6、在定時(shí)任務(wù)基類中定義任務(wù)的執(zhí)行方法,基于所述執(zhí)行時(shí)間和所述執(zhí)行頻率觸發(fā)任務(wù);

7、通過(guò)切面編程攔截分布式定時(shí)任務(wù)的執(zhí)行過(guò)程,在任務(wù)執(zhí)行前根據(jù)任務(wù)狀態(tài)信息判斷執(zhí)行條件;

8、在任務(wù)執(zhí)行過(guò)程中,生成并記錄任務(wù)的執(zhí)行信息,更新至redis,以反映任務(wù)的進(jìn)展;

9、在任務(wù)執(zhí)行完成時(shí),將任務(wù)的執(zhí)行過(guò)程信息整合為最終的執(zhí)行狀態(tài)信息,并更新至redis,用于記錄任務(wù)的執(zhí)行情況。

10、在一個(gè)實(shí)施例中,設(shè)立任務(wù)管理機(jī)制,配置任務(wù)的執(zhí)行范圍和線程號(hào),包括:

11、創(chuàng)建自定義注解redisjob,用于標(biāo)記需要分布式管理的定時(shí)任務(wù);

12、在redisjob注解中設(shè)定任務(wù)的分布式執(zhí)行屬性,用于判斷任務(wù)是否需要在多個(gè)節(jié)點(diǎn)之間協(xié)調(diào)執(zhí)行;

13、在redisjob注解中配置任務(wù)的執(zhí)行范圍,確定任務(wù)執(zhí)行時(shí)所使用的資源或目標(biāo)服務(wù);

14、在redisjob注解中指定任務(wù)的線程號(hào),用于控制任務(wù)在多個(gè)線程中的執(zhí)行順序;

15、在redisjob注解中設(shè)定任務(wù)是否為單節(jié)點(diǎn)執(zhí)行;

16、在任務(wù)調(diào)度過(guò)程中,依據(jù)redisjob注解中的配置信息,確定任務(wù)的分布式執(zhí)行方式,并根據(jù)所述分布式執(zhí)行方式將分布式定時(shí)任務(wù)分配至設(shè)定的節(jié)點(diǎn)或線程上執(zhí)行。

17、在一個(gè)實(shí)施例中,通過(guò)切面編程攔截分布式定時(shí)任務(wù)的執(zhí)行過(guò)程,包括:

18、使用aspect實(shí)現(xiàn)環(huán)繞攔截方法,攔截帶有redisjob注解的分布式定時(shí)任務(wù);

19、將basescheduleobject信息存儲(chǔ)在redis中,將schedulehashmap數(shù)據(jù)存儲(chǔ)在本地服務(wù)中;

20、通過(guò)攔截的redisjob注解的方法名,從basescheduleobject和scheduleobject中提取任務(wù)的執(zhí)行參數(shù),并根據(jù)提取的執(zhí)行參數(shù)管理分布式定時(shí)任務(wù)的執(zhí)行方式;

21、根據(jù)提取的執(zhí)行參數(shù),執(zhí)行分布式定時(shí)任務(wù)。

22、在一個(gè)實(shí)施例中,定義定時(shí)任務(wù)基類以啟動(dòng)定時(shí)任務(wù)調(diào)度功能,包括:

23、創(chuàng)建定時(shí)任務(wù)基類,并作為spring?bean注入應(yīng)用上下文,用于管理和執(zhí)行分布式定時(shí)任務(wù);

24、在所述定時(shí)任務(wù)基類中添加@enablescheduling注解,啟用定時(shí)任務(wù)調(diào)度功能,使任務(wù)按照預(yù)定的時(shí)間周期執(zhí)行;

25、若任務(wù)需要在多個(gè)線程中并行執(zhí)行,在所述定時(shí)任務(wù)基類中添加@enableasync注解,啟用異步執(zhí)行功能。

26、在一個(gè)實(shí)施例中,記錄每個(gè)分布式定時(shí)任務(wù)的任務(wù)狀態(tài)信息,包括:

27、定義基礎(chǔ)任務(wù)狀態(tài)對(duì)象basescheduleobject,用于存儲(chǔ)分布式定時(shí)任務(wù)的基礎(chǔ)信息;

28、在spring?boot應(yīng)用初始化時(shí),將基礎(chǔ)任務(wù)狀態(tài)對(duì)象basescheduleobject與所述定時(shí)任務(wù)調(diào)度功能關(guān)聯(lián);

29、在基礎(chǔ)任務(wù)狀態(tài)對(duì)象basescheduleobject中配置包括任務(wù)的執(zhí)行時(shí)間、執(zhí)行狀態(tài)和執(zhí)行節(jié)點(diǎn)的任務(wù)屬性;

30、創(chuàng)建擴(kuò)展任務(wù)狀態(tài)對(duì)象scheduleobject,并通過(guò)scheduleobject繼承basescheduleobject的結(jié)構(gòu);

31、在擴(kuò)展任務(wù)狀態(tài)對(duì)象scheduleobject中配置分布式任務(wù)的執(zhí)行參數(shù);

32、將擴(kuò)展任務(wù)狀態(tài)對(duì)象scheduleobject與定時(shí)任務(wù)調(diào)度功能綁定;

33、調(diào)整擴(kuò)展任務(wù)狀態(tài)對(duì)象scheduleobject中的任務(wù)配置信息,以與任務(wù)執(zhí)行過(guò)程一致。

34、在一個(gè)實(shí)施例中,通過(guò)切面編程攔截分布式定時(shí)任務(wù)的執(zhí)行過(guò)程,包括:

35、在定時(shí)任務(wù)通過(guò)@scheduled注解觸發(fā)時(shí),通過(guò)切面攔截帶有redisjob注解的分布式定時(shí)任務(wù)的執(zhí)行;

36、切面從redisjob注解中提取分布式定時(shí)任務(wù)的執(zhí)行條件,并從redis中讀取分布式定時(shí)任務(wù)的當(dāng)前狀態(tài);

37、基于所述分布式定時(shí)任務(wù)的當(dāng)前狀態(tài)和執(zhí)行條件,判斷分布式定時(shí)任務(wù)是否需要繼續(xù)執(zhí)行;

38、若分布式定時(shí)任務(wù)符合執(zhí)行條件,則執(zhí)行分布式定時(shí)任務(wù),若分布式定時(shí)任務(wù)執(zhí)行失敗,則根據(jù)分布式定時(shí)任務(wù)的重試配置決定是否重新執(zhí)行,并記錄分布式定時(shí)任務(wù)的執(zhí)行結(jié)果;

39、如果分布式定時(shí)任務(wù)不符合執(zhí)行條件,則跳過(guò)執(zhí)行。

40、在一個(gè)實(shí)施例中,基于spring?boot創(chuàng)建項(xiàng)目,配置redis用于存儲(chǔ)和管理分布式定時(shí)任務(wù),包括:

41、創(chuàng)建spring?boot項(xiàng)目,引入支持定時(shí)任務(wù)調(diào)度和redis存儲(chǔ)的依賴;

42、在項(xiàng)目配置文件中,定義redis連接參數(shù),包括主機(jī)地址、端口號(hào)和認(rèn)證信息;

43、初始化redis工具類,用于在分布式環(huán)境中存儲(chǔ)和讀取任務(wù)狀態(tài);

44、在任務(wù)執(zhí)行前,從redis讀取任務(wù)的當(dāng)前執(zhí)行狀態(tài),判斷任務(wù)是否符合執(zhí)行條件,在任務(wù)執(zhí)行后更新任務(wù)的最新執(zhí)行狀態(tài);

45、通過(guò)redis一致性機(jī)制,在多個(gè)節(jié)點(diǎn)間同步任務(wù)的執(zhí)行狀態(tài)。

46、進(jìn)一步地,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種分布式定時(shí)任務(wù)管理設(shè)備,所述分布式定時(shí)任務(wù)管理設(shè)備包括存儲(chǔ)器、處理器以及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的分布式定時(shí)任務(wù)管理程序,所述分布式定時(shí)任務(wù)管理程序被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述所述的分布式定時(shí)任務(wù)管理方法的步驟。

47、進(jìn)一步地,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種計(jì)算機(jī)存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)上存儲(chǔ)有分布式定時(shí)任務(wù)管理程序,所述分布式定時(shí)任務(wù)管理程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上所述的分布式定時(shí)任務(wù)管理方法的步驟。

48、有益效果:本發(fā)明涉及一種分布式定時(shí)任務(wù)管理方法,基于spring?boot創(chuàng)建項(xiàng)目,配置redis進(jìn)行任務(wù)的存儲(chǔ)與管理,定義定時(shí)任務(wù)基類以實(shí)現(xiàn)定時(shí)任務(wù)調(diào)度功能。使用@scheduled注解設(shè)定任務(wù)執(zhí)行計(jì)劃,配置任務(wù)的執(zhí)行范圍與線程號(hào),生成唯一標(biāo)識(shí),并記錄任務(wù)狀態(tài)信息,包括執(zhí)行時(shí)間與執(zhí)行頻率。在任務(wù)執(zhí)行前,通過(guò)切面攔截任務(wù),根據(jù)狀態(tài)信息判斷是否執(zhí)行,執(zhí)行過(guò)程中生成任務(wù)執(zhí)行信息并實(shí)時(shí)更新至redis。任務(wù)執(zhí)行結(jié)束后,將執(zhí)行過(guò)程信息整合為最終的執(zhí)行狀態(tài)信息,并同步至redis。在多個(gè)節(jié)點(diǎn)間,借助redis實(shí)現(xiàn)任務(wù)狀態(tài)共享與一致性管理。本發(fā)明有效避免了任務(wù)的重復(fù)執(zhí)行或漏執(zhí)行現(xiàn)象,提升了分布式任務(wù)的執(zhí)行效率與系統(tǒng)的穩(wěn)定性。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
大悟县| 塔河县| 绥宁县| 海林市| 彭水| 安仁县| 五大连池市| 长武县| 太原市| 禄丰县| 肇庆市| 木兰县| 镇康县| 泗洪县| 开原市| 安平县| 沙田区| 陵水| 洪湖市| 赣州市| 河北区| 喜德县| 盐城市| 仁怀市| 道孚县| 公主岭市| 呼和浩特市| 东乡县| 西吉县| 临泽县| 崇信县| 麻城市| 昆明市| 吉木萨尔县| 巴林左旗| 保康县| 米脂县| 凉城县| 常山县| 大姚县| 平湖市|