定时任务的执行方法及其装置、电子设备制造方法及图纸

技术编号:36910542 阅读:16 留言:0更新日期:2023-03-18 09:28
本发明专利技术公开了一种定时任务的执行方法及其装置、电子设备,其中,该执行方法包括:接收发布端发布的任务调整请求,基于调整类型,调整预设分布式服务的预设目录中与任务标识关联的节点信息,得到调整结果,控制预设分布式服务将调整结果发布给消费服务集合中的每个消费服务,在定时任务到达执行时间的情况下,将争夺到分布式锁的消费服务作为目标服务,控制目标服务执行调整后的定时任务。本发明专利技术解决了相关技术中任务分配的逻辑较为复杂,无法保证分配的合理性的技术问题。证分配的合理性的技术问题。证分配的合理性的技术问题。

【技术实现步骤摘要】
定时任务的执行方法及其装置、电子设备


[0001]本专利技术涉及数据处理
,具体而言,涉及一种定时任务的执行方法及其装置、电子设备。

技术介绍

[0002]实际应用中,设定好的定时任务往往需要进行动态调整。相关技术中,往往采用XXL

Job框架和Elastic

Job框架解决定时任务的动态调整问题。其中,
[0003]XXL

Job框架是一个开源的分布式定时任务框架,其调度中心和执行器是相互分离,分开部署的,两者通过HTTP(Hyper Text Transfer Protocol,即超文本传输协议)协议进行通信。调度中心负责管理调度信息,按照调度配置发出调度请求,自身不承担业务代码。调度系统与任务解耦,提高了系统可用性和稳定性,同时调度系统性能不再受限于任务模块。执行模块(执行器)负责接收调度中心的执行请求、终止请求和日志请求等,任务模块专注于任务的执行等操作。
[0004]Elastic

Job框架是去中心化的任务调度框架,并引入了分片的概念,即将一个任务划分成多个分片,然后由多个执行的机器分别领取这些分片来执行。当多个节点运行时,会先选择一个主节点,当到达执行时间后,每个实例开始执行任务,主节点负责分片的划分,其它节点等待划分完成,主节点将划分后的结果存放到Zookeeper(是一个分布式的,开放源码的分布式应用程序协调服务)中,然后每个节点再从Zookeeper中获取划分好的分片项,将分片信息作为参数,传入到本地的任务函数中,从而执行任务。
[0005]然而,虽然基于XXL

Job框架和Elastic

Job框架的方案都能够解决定时任务的动态调整,但是以上两种方案中无论是调度中心对定时任务的调度还是主节点对任务的分片,都是任务分配程序对任务的分配处理,任务分配的逻辑较为复杂,无法保证分配的合理性。
[0006]针对上述的问题,目前尚未提出有效的解决方案。

技术实现思路

[0007]本专利技术实施例提供了一种定时任务的执行方法及其装置、电子设备,以至少解决相关技术中任务分配的逻辑较为复杂,无法保证分配的合理性的技术问题。
[0008]根据本专利技术实施例的一个方面,提供了一种定时任务的执行方法,包括:接收发布端发布的任务调整请求,其中,所述任务调整请求用于调整定时任务,所述任务调整请求携带有任务信息,所述任务信息至少包括:任务标识、执行时间、调整类型;基于所述调整类型,调整预设分布式服务的预设目录中与所述任务标识关联的节点信息,得到调整结果;控制所述预设分布式服务将所述调整结果发布给消费服务集合中的每个消费服务,其中,所述消费服务是预先订阅所述预设目录的服务;在所述定时任务到达所述执行时间的情况下,将争夺到分布式锁的所述消费服务作为目标服务,控制所述目标服务执行调整后的所述定时任务。
[0009]可选地,在接收发布端发布的任务调整请求之前,还包括:在分布式系统启动的情况下,控制所述分布式系统中的每个所述消费服务订阅所述预设分布式服务的所述预设目录,建立所述消费服务与所述预设目录之间的订阅通道,其中,所述消费服务通过所述订阅通道监听所述预设分布式服务发布的所述调整结果。
[0010]可选地,在接收发布端发布的任务调整请求之后,还包括:将所述任务调整请求的所述任务信息写入至预设数据库,其中,所述任务信息还包括:执行业务信息;将所述任务信息同步至所述预设分布式服务的所述预设目录。
[0011]可选地,基于所述调整类型,调整预设分布式服务的预设目录中与所述任务标识关联的节点信息的步骤,包括:在所述调整类型为创建类型或者修改类型的情况下,在所述预设目录中查询所述任务标识指示的子任务,得到第一查询结果;在所述第一查询结果指示所述预设目录中不存在所述子任务的情况下,在预设目录中创建所述子任务的节点信息;在所述第一查询结果指示所述预设目录中存在所述子任务的情况下,修改所述子任务的所述节点信息。
[0012]可选地,基于所述调整类型,调整预设分布式服务的预设目录中与所述任务标识关联的节点信息的步骤,还包括:在所述调整类型为删除类型的情况下,在所述预设目录中查询所述任务标识指示的子任务,得到第二查询结果;在所述第二查询结果指示所述预设目录中存在所述子任务的情况下,删除所述子任务的所述节点信息。
[0013]可选地,所述调整结果的类型包括下述至少之一:创建调整结果、修改调整结果、删除调整结果,在控制所述预设分布式服务将所述调整结果发布给消费服务集合中的每个消费服务之后,还包括:在所述调整结果为所述创建调整结果的情况下,所述消费服务基于所述创建调整结果,在所述定时任务中增添所述任务标识指示的子任务;在所述调整结果为所述修改调整结果的情况下,所述消费服务基于所述修改调整结果,修改所述定时任务中所述任务标识指示的子任务;在所述调整结果为所述删除调整结果的情况下,所述消费服务基于所述删除调整结果,删除所述定时任务中所述任务标识指示的子任务。
[0014]可选地,将争夺到分布式锁的所述消费服务作为目标服务,控制所述目标服务执行调整后的所述定时任务的步骤,包括:计算每个所述消费服务的执行权重值;基于所述执行权重值,计算所述消费服务的服务延时值;对所有所述服务延时值进行排序,确定最小服务延时值指示的所述消费服务为争夺到所述分布式锁的所述目标服务;控制所述目标服务基于执行业务信息,执行调整后的所述定时任务。
[0015]可选地,计算每个所述消费服务的执行权重值的步骤,包括:获取所述消费服务的空闲处理器数量以及空闲内存数量;基于第一调整参数、第二调整参数、所述空闲处理器数量以及所述空闲内存数量,计算所述消费服务的执行权重值。
[0016]根据本专利技术实施例的另一方面,还提供了一种定时任务的执行装置,包括:接收单元,用于接收发布端发布的任务调整请求,其中,所述任务调整请求用于调整定时任务,所述任务调整请求携带有任务信息,所述任务信息至少包括:任务标识、执行时间、调整类型;调整单元,用于基于所述调整类型,调整预设分布式服务的预设目录中与所述任务标识关联的节点信息,得到调整结果;发布单元,用于控制所述预设分布式服务将所述调整结果发布给消费服务集合中的每个消费服务,其中,所述消费服务是预先订阅所述预设目录的服务;执行单元,用于在所述定时任务到达所述执行时间的情况下,将争夺到分布式锁的所述
消费服务作为目标服务,控制所述目标服务执行调整后的所述定时任务。
[0017]可选地,所述执行装置还包括:第一订阅模块,用于在接收发布端发布的任务调整请求之前,在分布式系统启动的情况下,控制所述分布式系统中的每个所述消费服务订阅所述预设分布式服务的所述预设目录,建立所述消费服务与所述预设目录之间的订阅通道,其中,所述消费服务通过所述订阅通道监听所述预设分布式服务发布的所述调整结果。
[0018]可选地,所述执行装置还包括:第一写入模块,用于在接收发布端发本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种定时任务的执行方法,其特征在于,包括:接收发布端发布的任务调整请求,其中,所述任务调整请求用于调整定时任务,所述任务调整请求携带有任务信息,所述任务信息至少包括:任务标识、执行时间、调整类型;基于所述调整类型,调整预设分布式服务的预设目录中与所述任务标识关联的节点信息,得到调整结果;控制所述预设分布式服务将所述调整结果发布给消费服务集合中的每个消费服务,其中,所述消费服务是预先订阅所述预设目录的服务;在所述定时任务到达所述执行时间的情况下,将争夺到分布式锁的所述消费服务作为目标服务,控制所述目标服务执行调整后的所述定时任务。2.根据权利要求1所述的执行方法,其特征在于,在接收发布端发布的任务调整请求之前,还包括:在分布式系统启动的情况下,控制所述分布式系统中的每个所述消费服务订阅所述预设分布式服务的所述预设目录,建立所述消费服务与所述预设目录之间的订阅通道,其中,所述消费服务通过所述订阅通道监听所述预设分布式服务发布的所述调整结果。3.根据权利要求1所述的执行方法,其特征在于,在接收发布端发布的任务调整请求之后,还包括:将所述任务调整请求的所述任务信息写入至预设数据库,其中,所述任务信息还包括:执行业务信息;将所述任务信息同步至所述预设分布式服务的所述预设目录。4.根据权利要求1所述的执行方法,其特征在于,基于所述调整类型,调整预设分布式服务的预设目录中与所述任务标识关联的节点信息的步骤,包括:在所述调整类型为创建类型或者修改类型的情况下,在所述预设目录中查询所述任务标识指示的子任务,得到第一查询结果;在所述第一查询结果指示所述预设目录中不存在所述子任务的情况下,在预设目录中创建所述子任务的节点信息;在所述第一查询结果指示所述预设目录中存在所述子任务的情况下,修改所述子任务的所述节点信息。5.根据权利要求1所述的执行方法,其特征在于,基于所述调整类型,调整预设分布式服务的预设目录中与所述任务标识关联的节点信息的步骤,还包括:在所述调整类型为删除类型的情况下,在所述预设目录中查询所述任务标识指示的子任务,得到第二查询结果;在所述第二查询结果指示所述预设目录中存在所述子任务的情况下,删除所述子任务的所述节点信息。6.根据权利要求1所述的执行方法,其特征在于,所述调整结果的类型包括下述至少之一:创建调整结果、修改调整...

【专利技术属性】
技术研发人员:张志华韦云川吕闯有吴灿强陈宇川
申请(专利权)人:山石网科通信技术股份有限公司
类型:发明
国别省市:

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

1