System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 延时任务的执行方法、装置、设备、存储介质及产品制造方法及图纸_技高网

延时任务的执行方法、装置、设备、存储介质及产品制造方法及图纸

技术编号:44814283 阅读:6 留言:0更新日期:2025-03-28 20:01
本申请公开了一种延时任务的执行方法、装置、设备、存储介质及产品,涉及计算机技术领域,公开了延时任务的执行方法,包括:每隔预设第一间隔时间,对存储在预设关系型数据库中的延时任务进行扫描,得到各延时任务的任务信息,其中,所述延时任务预存储于所述关系型数据库中,所述任务信息包括任务参数和执行策略;若所述任务参数满足预设的执行条件,则通过预设的执行器执行相应的延时任务,得到任务执行结果;若所述任务执行结果为执行失败,则基于所述执行策略,对所述延时任务进行处理,得到目标处理结果。本申请提出数据库轮询的实现方式,不需要引入复杂的中间件,以此降低了执行分布式延时任务的系统复杂度。

【技术实现步骤摘要】

本申请涉及计算机,尤其涉及延时任务的执行方法、装置、设备、存储介质及产品


技术介绍

1、目前,随着计算机技术的发展,企业面临着用户量激增、高并发挑战以及业务逻辑复杂度的攀升等问题,这要求传统的任务调度机制进行现代化改进。基于此技术人员提出分布式延时任务体系解决以上问题,其中,分布式延时任务体系的构建,旨在解决高可用性、容错恢复、可伸缩性、负载均衡、弹性调度及数据一致性等核心难题。

2、相关技术中,通常是采用消息队列的方式,也即系统模块间通过消息队列传输消息和数据,实现分布式延时任务处理。但是该方法中在额外引入消息队列后,需要增加相应的维护和管理机制,也即提高了整体系统的复杂度,导致执行分布式延时任务的系统复杂度高。

3、上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。


技术实现思路

1、本申请的主要目的在于提供一种延时任务的执行方法,旨在解决相关技术中执行分布式延时任务的系统复杂度高的技术问题。

2、为实现上述目的,本申请提出一种延时任务的执行方法,所述延时任务的执行的方法包括:

3、每隔预设第一间隔时间,对存储在预设关系型数据库中的延时任务进行扫描,得到各延时任务的任务信息,其中,所述延时任务预存储于所述关系型数据库中,所述任务信息包括任务参数和执行策略;

4、若所述任务参数满足预设的执行条件,则通过预设的执行器执行相应的延时任务,得到任务执行结果;

5、若所述任务执行结果为执行失败,则基于所述执行策略,对所述延时任务进行处理,得到目标处理结果。

6、可选地,所述基于所述执行策略,对所述延时任务进行处理,得到目标处理结果的步骤,包括:

7、基于所述执行策略,确定执行间隔时间和重试次数阈值;

8、在经过所述执行间隔时间后,对所述延时任务进行重试处理,得到重试执行结果;

9、判断所述重试执行结果是否为执行失败,若所述重试执行结果为执行失败,则确定当前重试次数,并判断所述当前重试次数是否超过所述重试次数阈值;

10、若所述当前重试次数未超过所述重试次数阈值,则返回所述在经过所述执行间隔时间后,对所述延时任务进行重试处理,得到重试执行结果的步骤,直至所述重试执行结果为执行成功或者当前重试次数超过所述重试次数阈值才停止任务处理,得到目标处理结果。

11、可选地,所述若所述当前重试次数未超过所述重试次数阈值,则返回所述在经过所述执行间隔时间后,对所述延时任务进行重试处理,得到重试执行结果的步骤,直至所述重试执行结果为执行成功或者当前重试次数超过所述重试次数阈值才停止任务处理,得到目标处理结果的步骤,包括:

12、若所述当前重试次数未超过所述重试次数阈值,则基于预设的新增时长,对所述执行间隔时间进行时长增加,得到时长增加后的执行间隔时间;

13、基于所述时长增加后的执行间隔时间,返回所述在经过所述执行间隔时间后,对所述延时任务进行重试处理,得到重试执行结果的步骤,直至所述重试执行结果为执行成功或者当前重试次数超过所述重试次数阈值才停止任务处理,得到目标处理结果。

14、可选地,所述通过预设的执行器执行相应的延时任务,得到任务执行结果的步骤,包括:

15、获取预设的执行器集合中各执行器的配置参数,并基于所述任务参数和所述配置参数,确定分配策略;

16、基于所述分配策略,从所述执行器集合中选取相应的目标执行器,并将所述延时任务分配至相应的目标执行器;

17、通过所述目标执行器执行相应的延时任务,得到任务执行结果。

18、可选地,所述每隔预设第一间隔时间,对预设关系型数据库中的延时任务进行扫描,得到各延时任务的任务信息的步骤之前,所述方法包括:

19、在生成延时任务后,确定所述延时任务的任务参数;

20、基于所述任务参数,生成所述延时任务的执行策略;

21、将带有所述执行策略的延时任务存储至预设关系型数据库。

22、可选地,所述目标处理结果包括延迟任务处理信息,所述若所述任务执行结果为执行失败,则基于所述执行策略,对所述延时任务进行处理,得到目标处理结果的步骤之后,所述方法包括:

23、将各所述延迟任务处理信息进行价值分类,得到不同价值的延迟任务处理信息,其中,价值高的延迟任务处理信息的生命周期长;

24、将价值更高的延迟任务处理信息存储至覆盖周期更长的资源池中,将价值更低的延迟任务处理信息存储至覆盖周期更短的资源池中;

25、每隔预设第二间隔时间,对所述资源池中满足删除条件的延迟任务处理信息进行删除,得到删除后的资源池。

26、此外,为实现上述目的,本申请还提出一种延时任务的执行装置,所述延时任务的执行装置包括:

27、扫描模块,用于每隔预设第一间隔时间,对存储在预设关系型数据库中的延时任务进行扫描,得到各延时任务的任务信息,其中,所述延时任务预存储于所述关系型数据库中,所述任务信息包括任务参数和执行策略;

28、执行模块,用于若所述任务参数满足预设的执行条件,则通过预设的执行器执行相应的延时任务,得到任务执行结果;

29、处理模块,用于若所述任务执行结果为执行失败,则基于所述执行策略,对所述延时任务进行处理,得到目标处理结果。

30、此外,为实现上述目的,本申请还提出一种延时任务的执行设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如上文所述的延时任务的执行方法的步骤。

31、此外,为实现上述目的,本申请还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述的延时任务的执行方法的步骤。

32、此外,为实现上述目的,本申请还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如上文所述的延时任务的执行方法的步骤。

33、本申请提出的一个或多个技术方案,至少具有以下技术效果:

34、与相关技术中通常是采用消息队列的方式,也即系统模块间通过消息队列传输消息和数据,实现分布式延时任务处理。但是该方法中在额外引入消息队列后,需要增加相应的维护和管理机制,也即提高了整体系统的复杂度,导致执行分布式延时任务的系统复杂度高相比,本申请每隔预设第一间隔时间,对存储在预设关系型数据库中的延时任务进行扫描,得到各延时任务的任务信息,其中,所述延时任务预存储于所述关系型数据库中,所述任务信息包括任务参数和执行策略;若所述任务参数满足预设的执行条件,则通过预设的执行器执行相应的延时任务,得到任务执行结果;若所述任务执行结果为执行失败,则基于所述执行策略,对所述延时任务进行处理,得到目标处理结果。可理解的是,本申请提出设置保存有延时任务信本文档来自技高网...

【技术保护点】

1.一种延时任务的执行方法,其特征在于,所述延时任务的执行的方法包括:

2.如权利要求1所述的延时任务的执行方法,其特征在于,所述基于所述执行策略,对所述延时任务进行处理,得到目标处理结果的步骤,包括:

3.如权利要求2所述的延时任务的执行方法,其特征在于,所述若所述当前重试次数未超过所述重试次数阈值,则返回所述在经过所述执行间隔时间后,对所述延时任务进行重试处理,得到重试执行结果的步骤,直至所述重试执行结果为执行成功或者当前重试次数超过所述重试次数阈值才停止任务处理,得到目标处理结果的步骤,包括:

4.如权利要求1所述的延时任务的执行方法,其特征在于,所述通过预设的执行器执行相应的延时任务,得到任务执行结果的步骤,包括:

5.如权利要求1所述的延时任务的执行方法,其特征在于,所述每隔预设第一间隔时间,对预设关系型数据库中的延时任务进行扫描,得到各延时任务的任务信息的步骤之前,所述方法包括:

6.如权利要求1-5任一项所述的延时任务的执行方法,其特征在于,所述目标处理结果包括延迟任务处理信息,所述若所述任务执行结果为执行失败,则基于所述执行策略,对所述延时任务进行处理,得到目标处理结果的步骤之后,所述方法包括:

7.一种延时任务的执行装置,其特征在于,所述装置包括:

8.一种延时任务的执行设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如权利要求1至6中任一项所述的延时任务的执行方法的步骤。

9.一种存储介质,其特征在于,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的延时任务的执行方法的步骤。

10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的延时任务的执行方法的步骤。

...

【技术特征摘要】

1.一种延时任务的执行方法,其特征在于,所述延时任务的执行的方法包括:

2.如权利要求1所述的延时任务的执行方法,其特征在于,所述基于所述执行策略,对所述延时任务进行处理,得到目标处理结果的步骤,包括:

3.如权利要求2所述的延时任务的执行方法,其特征在于,所述若所述当前重试次数未超过所述重试次数阈值,则返回所述在经过所述执行间隔时间后,对所述延时任务进行重试处理,得到重试执行结果的步骤,直至所述重试执行结果为执行成功或者当前重试次数超过所述重试次数阈值才停止任务处理,得到目标处理结果的步骤,包括:

4.如权利要求1所述的延时任务的执行方法,其特征在于,所述通过预设的执行器执行相应的延时任务,得到任务执行结果的步骤,包括:

5.如权利要求1所述的延时任务的执行方法,其特征在于,所述每隔预设第一间隔时间,对预设关系型数据库中的延时任务进行扫描,得到各延时任务的任务信息的步骤之前,所述方法包括:

6.如权...

【专利技术属性】
技术研发人员:王品皓仝浩男鲁阳
申请(专利权)人:浙江极氪智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1