分布式定时任务管理方法、装置、设备及存储介质制造方法及图纸

技术编号:33556308 阅读:46 留言:0更新日期:2022-05-26 22:53
本申请提供了一种分布式定时任务管理方法、装置、设备及存储介质,其应用于分布式系统,该分布式系统包括多个节点和预先建立的redis消息队列,每个节点均向redis消息队列订阅消息,其中方法包括:当分布式系统中任一节点接收到的定时任务的操作请求时,节点将操作请求发送至redis消息队列;分布式系统中所有节点接收redis消息队列发送的操作请求,并根据操作请求查询自身在运行定时任务时,根据操作请求对定时任务执行相应的操作。其解决了现有的分布式定时任务方案中同一任务多节点无法运行和管理的问题,可以完成包括同一任务多节点、同一任务单节点运行的共同管理要求。同一任务单节点运行的共同管理要求。同一任务单节点运行的共同管理要求。

【技术实现步骤摘要】
分布式定时任务管理方法、装置、设备及存储介质


[0001]本申请涉及分布式定时任务
,特别是涉及一种分布式定时任务管理方法、装置、设备及存储介质。

技术介绍

[0002]大多数系统都会遇到关于定时任务相关的功能,例如定时备份数据库,定时修改某些信息,订单30分钟自动消单等,它是每个互联网系统的重要功能部分,可以满足周期性执行任务的需求。
[0003]随着互联网技术的发展,对系统的可靠性愈发重视,由此诞生的集群解决方案从根本性上解决了问题,但是却让定时任务的运行变的更为复杂。业内对集群定时任务有着很多非常优秀的解决技术,比如xxl

job,支持集群,支持负载均衡,支持job补偿,支持动态定时规则,支持job日志等,但是这类技术会加大开发成本,增加系统复杂度。以xxl

job为例,接入后需要在数据库创建16张相关数据表,需要配置调度中心,需要引入相关资源等,并且需要开发人员对该技术有一定的知识储备。
[0004]基于redis实现分布式定时任务在行业内也是一种可行的实现方案,redis接入方便快速,是绝大部分系统的基础架构选项,所以基于redis实现的分布式定时任务方案,并不会为了需要接入redis而产生额外开发成本。不过目前现有的方案只能对单个任务在单个节点进行管理,针对可重复执行的任务,不能同一个任务在多个节点运行,并进行有效且便捷的管理。

技术实现思路

[0005]本申请提供一种分布式定时任务管理方法、装置、设备及存储介质,以解决现有的分布式定时任务方案中同一任务多节点无法运行和管理的问题。
[0006]为解决上述技术问题,本申请采用的一个技术方案是:提供一种分布式定时任务管理方法,其应用于分布式系统,该分布式系统包括多个节点和预先建立的redis消息队列,每个节点均向redis消息队列订阅消息,包括:当分布式系统中任一节点接收到的定时任务的操作请求时,节点将操作请求发送至redis消息队列;
[0007]分布式系统中所有节点接收redis消息队列发送的操作请求,并根据操作请求查询自身在运行定时任务时,根据操作请求对定时任务执行相应的操作。
[0008]作为本申请的进一步改进,分布式系统中所有节点接收redis消息队列发送的操作请求,并根据操作请求查询自身在运行定时任务时,根据操作请求对定时任务执行相应的操作还包括:
[0009]当自身节点执行不可同时执行的定时任务请求时,判断当前节点IP是否为当前节点IP的任务,
[0010]若是,则当前节点对列表数据进行分析,对当前节点IP为自身的任务进行续约操作,更新续约时间为当前时间;
[0011]若否,判断该节点的续约时间与当前时间是否满足续约条件,若满足,则将续约节点IP的任务修改为当前节点IP的任务,继续进行当前节点IP续约处理。
[0012]作为本申请的进一步改进,判断该节点的续约时间与当前时间是否满足续约条件,若满足,则将续约节点IP的任务修改为当前节点IP的任务,继续进行当前节点IP续约处理还包括:
[0013]该节点的续约时间与当前时间不满足续约条件时,则当前节点不执行续约操作。
[0014]作为本申请的进一步改进,将续约节点IP的任务修改为当前节点IP的任务,继续进行当前节点IP续约处理具体包括:
[0015]当redis有不可同时执行定时任务请求的操作请求时,会自动调用任务处理请求来处理发布的数据;
[0016]任务处理请求首先将该操作请求添加到消息队列中,同时轮询该消息队列,消息队列中有数据时就取出消息队列中的数据进行发布,进行当前节点IP续约处理。
[0017]作为本申请的进一步改进,分布式系统中所有节点接收redis消息队列发送的操作请求,并根据操作请求查询自身在运行定时任务时,根据操作请求对定时任务执行相应的操作具体包括:
[0018]当可同时执行的定时任务第一节点加入分布式系统时,第一节点向所加入的最下层的组中所有节点发送第一节点加入信息,第一节点加入信息包括第一节点的节点标识;
[0019]可同时执行的定时任务第一节点所加入的最下层的组的公共节点接收到第一节点加入信息后,向公共节点所在的上一层的组中所有节点发送第一节点加入信息,以使得其它的公共节点将第一节点加入信息传递至分布式系统中的所有可同时执行的任务执行节点;
[0020]可同时执行的任务执行节点接收任务处理请求,根据预设定时任务执行逻辑执行相应的任务执行操作,得到任务执行结果。
[0021]作为本申请的进一步改进,当第一节点所加入的最下层的组的公共节点向公共节点所在的上一层的组中所有节点发送第一节点加入信息包括:
[0022]第一节点所加入的最下层的组的公共节点根据其所在的上一层的组的组播地址,采用组播的方式向公共节点所在的上一层的组中所有节点发送第一节点加入信息。
[0023]作为本申请的进一步改进,分布式系统中所有节点接收redis消息队列发送的操作请求,并根据操作请求查询自身在运行定时任务时,根据操作请求对定时任务执行相应的操作之后还包括:
[0024]任务执行节点将任务执行结果存储至任务执行日志中。
[0025]为解决上述技术问题,本申请采用的另一个技术方案是:提供一种分布式定时任务管理装置,包括:发送模块,当分布式系统中任一节点接收到的定时任务的操作请求时,节点将操作请求发送至redis消息队列;
[0026]执行模块,分布式系统中所有节点接收redis消息队列发送的操作请求,并根据操作请求查询自身在运行定时任务时,根据操作请求对定时任务执行相应的操作。
[0027]为解决上述技术问题,本申请采用的再一个技术方案是:提供一种计算机设备,计算机设备包括处理器、与处理器耦接的存储器,存储器中存储有程序指令,程序指令被处理器执行时,使得处理器执行上述中任一项的分布式定时任务管理方法的步骤。
[0028]为解决上述技术问题,本申请采用的再一个技术方案是:提供一种存储介质,存储有能够实现上述中任一项的分布式定时任务管理方法的程序指令。
[0029]本申请的有益效果是:本申请的分布式定时任务管理方法其应用于分布式系统,该分布式系统包括多个节点和预先建立的redis消息队列,每个节点均向redis消息队列订阅消息,当分布式系统中任一节点接收到的定时任务的操作请求时,节点将操作请求发送至redis消息队列后,分布式系统中所有节点接收redis消息队列发送的操作请求,并根据操作请求查询自身在运行定时任务时,再根据操作请求对定时任务执行相应的操作。其解决了现有的分布式定时任务方案中同一任务多节点无法运行和管理的问题,可以完成包括同一任务多节点、同一任务单节点运行的共同管理要求。
附图说明
[0030]图1是本专利技术实施例的分布式定时任务管理方法的流程示意图;
[0031]图2是本专利技术另一实施例的分布式定时任务管理方法的流程示意图;
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式定时任务管理方法,其特征在于,其应用于分布式系统,该分布式系统包括多个节点和预先建立的redis消息队列,每个节点均向redis消息队列订阅消息,其包括:当分布式系统中任一节点接收到的定时任务的操作请求时,所述节点将所述操作请求发送至redis消息队列;分布式系统中所有节点接收所述redis消息队列发送的操作请求,并根据所述操作请求查询自身在运行所述定时任务时,根据所述操作请求对所述定时任务执行相应的操作。2.根据权利要求1所述的分布式定时任务管理方法,其特征在于,所述分布式系统中所有节点接收所述redis消息队列发送的操作请求,并根据所述操作请求查询自身在运行所述定时任务时,根据所述操作请求对所述定时任务执行相应的操作还包括:当所述自身节点执行不可同时执行的定时任务请求时,判断当前节点IP是否为所述当前节点IP的任务,若是,则所述当前节点对列表数据进行分析,对所述当前节点IP为自身的任务进行续约操作,更新续约时间为当前时间;若否,判断该节点的续约时间与当前时间是否满足续约条件,若满足,则将续约节点IP的任务修改为所述当前节点IP的任务,继续进行所述当前节点IP续约处理。3.根据权利要求2所述的分布式定时任务管理方法,其特征在于,所述判断该节点的续约时间与当前时间是否满足续约条件,若满足,则将续约节点IP的任务修改为所述当前节点IP的任务,继续进行所述当前节点IP续约处理还包括:所述该节点的续约时间与当前时间不满足续约条件时,则所述当前节点不执行续约操作。4.根据权利要求2所述的分布式定时任务管理方法,其特征在于,所述将续约节点IP的任务修改为所述当前节点IP的任务,继续进行所述当前节点IP续约处理具体包括:当redis有所述不可同时执行定时任务请求的操作请求时,会自动调用任务处理请求来处理发布的数据;所述任务处理请求首先将该操作请求添加到消息队列中,同时轮询该消息队列,消息队列中有数据时就取出消息队列中的数据进行发布,进行所述当前节点IP续约处理。5.根据权利要求1所述的分布式定时任务管理方法,其特征在于,所述分布式系统中所有节点接收所述redis消息队列发送的操作请求,并根据所述操作请求查询自身在运行所述定时任务时,根据所述操作请求对所述定时任务执行相应的操作...

【专利技术属性】
技术研发人员:张灵
申请(专利权)人:深圳壹账通智能科技有限公司
类型:发明
国别省市:

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

1