logo好方法网

分布式系统定时任务的处理方法、装置及存储介质


技术摘要:
本发明公开了一种分布式系统定时任务的处理方法、装置及存储介质。该方法包括:获取作业全局信息,作业全局信息包括命名空间下的多个定时任务;根据多个定时任务生成定时任务列表;将多个定时任务与数据库中相同名称的命名空间下的定时任务进行对比,得到多个定时任务  全部
背景技术:
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,Elastic-Job 是基于Zookepper和Quartz(扩特兹作业调度框架)开发的开源的Java分布式定时任务,解 决了Quartz不支持分布式的弊端,JKOP-JOB是一款基于Elastic-Job进行包装的定时任务 组件,是一个分布式调度解决方案,可以重写Quartz基于数据库的分布式功能。 在Elastic-Job、JKOP-JOB等定时任务组件中,通常设计有定时任务的“失效按钮” 和“暂停按钮”,其中,“失效按钮”的设计思路是在重启作业服务器之后,不再运行被失效的 定时任务,“暂停按钮”的设计思路是在重启作业服务器之后,还可以运行被暂定的定时任 务,但现实是,定时任务组件的“失效按钮”和“暂停按钮”一样,都会使定时任务在重启作业 服务器时重新挂载上注册中心,从而导致“失效按钮”和“暂停按钮”的功能重复,进而导致 需要人工多次停掉失效的任务,甚至导致数据被污染。 针对这一问题,尚未发现十分有效的解决方案。
技术实现要素:
有鉴于此,本申请提供了一种分布式系统定时任务的处理方法、装置、存储介质及 计算机设备,主要目的在于解决分布式系统中失效的定时任务在作业服务器重启时自动运 行,从而导致数据被污染的技术问题。 根据本发明的第一个方面,提供一种分布式系统定时任务的处理方法,该方法包 括: 获取作业全局信息,作业全局信息包括命名空间下的多个定时任务; 根据多个定时任务生成定时任务列表; 将多个定时任务与数据库中相同名称的命名空间下的定时任务进行对比,得到多 个定时任务在数据库中的任务状态; 若定时任务在数据库中的任务状态为失效,则将定时任务的任务状态更新为失 效,并将定时任务从定时任务列表中删除; 将删除了失效的定时任务的定时任务列表挂载到注册中心上,以使定时任务列表 中的定时任务按照设定的时间和方式运行。 根据本发明的第二个方面,提供一种分布式系统定时任务的处理装置,该装置包 括: 全局信息获取模块,用于获取作业全局信息,作业全局信息包括命名空间下的多 个定时任务; 任务列表生成模块,用于根据多个定时任务生成定时任务列表; 4 CN 111580942 A 说 明 书 2/8 页 任务状态获取模块,用于将定时任务列表上的定时任务与数据库中名称相同的命 名空间下的定时任务进行对比,得到多个定时任务在数据库中的任务状态; 定时任务更新模块,若定时任务在数据库中的任务状态为失效,则用于将定时任 务的任务状态更新为失效,并将定时任务从定时任务列表中删除; 任务列表挂载模块,用于将删除了失效的定时任务的定时任务列表挂载到注册中 心上,以使定时任务列表中的定时任务按照设定的时间和方式运行。 根据本发明的第三个方面,提供一种存储介质,其上存储有计算机程序,所述程序 被处理器执行时实现上述分布式系统定时任务的处理方法。 根据本发明的第四个方面,提供一种计算机设备,包括存储器、处理器及存储在存 储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述分布式系 统定时任务的处理方法。 本发明提供的一种分布式系统定时任务的处理方法、装置、存储介质及计算机设 备,首先获取了包含有多个定时任务的作业全局信息,并根据多个定时任务生成定时任务 列表,然后判断多个定时任务在数据库中的任务状态是否失效,若多个定时任务中的某个 定时任务失效,则将该定时任务的任务状态更新为失效,并将该定时任务从定时任务列表 中删除,最后将处理后的定时任务列表挂载到注册中心上,使得定时任务列表中的定时任 务按照设定的时间和方式运行。本发明通过获取持久化在数据库中任务状态,得到作业服 务器重启之前用户为定时任务设定的真实的任务状态,然后,通过将数据库中任务状态为 失效的定时任务在定时任务列表中删除,使得在作业服务器重启之前已被设定为失效的定 时任务不再被执行,实现了定时任务组件中失效按钮的既定功能,即能够使得已设置为失 效的任务作业在重启作业服务器之后不会被重置为生效,从而避免了作业服务器宕机重启 等意外导致的数据缺失和数据污染的问题。 附图说明 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中: 图1示出了本发明实施例提供的一种分布式系统定时任务的处理方法的流程示意 图; 图2示出了本发明实施例提供的另一种分布式系统定时任务的处理方法的流程示 意图; 图3示出了本发明实施例提供的一种分布式系统定时任务的处理装置的结构示意 图。
下载此资料需消耗2积分,
分享到:
收藏