CN111580942A - 分布式系统定时任务的处理方法、装置及存储介质 - Google Patents
分布式系统定时任务的处理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111580942A CN111580942A CN202010234435.8A CN202010234435A CN111580942A CN 111580942 A CN111580942 A CN 111580942A CN 202010234435 A CN202010234435 A CN 202010234435A CN 111580942 A CN111580942 A CN 111580942A
- Authority
- CN
- China
- Prior art keywords
- task
- timing
- database
- tasks
- timed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Retry When Errors Occur (AREA)
Abstract
本发明公开了一种分布式系统定时任务的处理方法、装置及存储介质。该方法包括:获取作业全局信息,作业全局信息包括命名空间下的多个定时任务;根据多个定时任务生成定时任务列表;将多个定时任务与数据库中相同名称的命名空间下的定时任务进行对比,得到多个定时任务在数据库中的任务状态;若定时任务在数据库中的任务状态为失效,则将定时任务的任务状态更新为失效,并将定时任务从定时任务列表中删除;将删除了失效的定时任务的定时任务列表挂载到注册中心上,以使定时任务列表中的定时任务按照设定的时间和方式运行。该方法能使得已设置为失效的任务作业在重启作业服务器之后不会被重置为生效,避免了数据缺失和数据污染的问题。
Description
技术领域
本发明涉及分布式系统技术领域,尤其是涉及一种分布式系统定时任务的处理方法、装置、存储介质及计算机设备。
背景技术
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,Elastic-Job是基于Zookepper和Quartz(扩特兹作业调度框架)开发的开源的Java分布式定时任务,解决了Quartz不支持分布式的弊端,JKOP-JOB是一款基于Elastic-Job进行包装的定时任务组件,是一个分布式调度解决方案,可以重写Quartz基于数据库的分布式功能。
在Elastic-Job、JKOP-JOB等定时任务组件中,通常设计有定时任务的“失效按钮”和“暂停按钮”,其中,“失效按钮”的设计思路是在重启作业服务器之后,不再运行被失效的定时任务,“暂停按钮”的设计思路是在重启作业服务器之后,还可以运行被暂定的定时任务,但现实是,定时任务组件的“失效按钮”和“暂停按钮”一样,都会使定时任务在重启作业服务器时重新挂载上注册中心,从而导致“失效按钮”和“暂停按钮”的功能重复,进而导致需要人工多次停掉失效的任务,甚至导致数据被污染。
针对这一问题,尚未发现十分有效的解决方案。
发明内容
有鉴于此,本申请提供了一种分布式系统定时任务的处理方法、装置、存储介质及计算机设备,主要目的在于解决分布式系统中失效的定时任务在作业服务器重启时自动运行,从而导致数据被污染的技术问题。
根据本发明的第一个方面,提供一种分布式系统定时任务的处理方法,该方法包括:
获取作业全局信息,作业全局信息包括命名空间下的多个定时任务;
根据多个定时任务生成定时任务列表;
将多个定时任务与数据库中相同名称的命名空间下的定时任务进行对比,得到多个定时任务在数据库中的任务状态;
若定时任务在数据库中的任务状态为失效,则将定时任务的任务状态更新为失效,并将定时任务从定时任务列表中删除;
将删除了失效的定时任务的定时任务列表挂载到注册中心上,以使定时任务列表中的定时任务按照设定的时间和方式运行。
根据本发明的第二个方面,提供一种分布式系统定时任务的处理装置,该装置包括:
全局信息获取模块,用于获取作业全局信息,作业全局信息包括命名空间下的多个定时任务;
任务列表生成模块,用于根据多个定时任务生成定时任务列表;
任务状态获取模块,用于将定时任务列表上的定时任务与数据库中名称相同的命名空间下的定时任务进行对比,得到多个定时任务在数据库中的任务状态;
定时任务更新模块,若定时任务在数据库中的任务状态为失效,则用于将定时任务的任务状态更新为失效,并将定时任务从定时任务列表中删除;
任务列表挂载模块,用于将删除了失效的定时任务的定时任务列表挂载到注册中心上,以使定时任务列表中的定时任务按照设定的时间和方式运行。
根据本发明的第三个方面,提供一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述分布式系统定时任务的处理方法。
根据本发明的第四个方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述分布式系统定时任务的处理方法。
本发明提供的一种分布式系统定时任务的处理方法、装置、存储介质及计算机设备,首先获取了包含有多个定时任务的作业全局信息,并根据多个定时任务生成定时任务列表,然后判断多个定时任务在数据库中的任务状态是否失效,若多个定时任务中的某个定时任务失效,则将该定时任务的任务状态更新为失效,并将该定时任务从定时任务列表中删除,最后将处理后的定时任务列表挂载到注册中心上,使得定时任务列表中的定时任务按照设定的时间和方式运行。本发明通过获取持久化在数据库中任务状态,得到作业服务器重启之前用户为定时任务设定的真实的任务状态,然后,通过将数据库中任务状态为失效的定时任务在定时任务列表中删除,使得在作业服务器重启之前已被设定为失效的定时任务不再被执行,实现了定时任务组件中失效按钮的既定功能,即能够使得已设置为失效的任务作业在重启作业服务器之后不会被重置为生效,从而避免了作业服务器宕机重启等意外导致的数据缺失和数据污染的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了本发明实施例提供的一种分布式系统定时任务的处理方法的流程示意图;
图2示出了本发明实施例提供的另一种分布式系统定时任务的处理方法的流程示意图;
图3示出了本发明实施例提供的一种分布式系统定时任务的处理装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在一个实施例中,如图1所示,提供了一种分布式系统定时任务的处理方法,以该方法应用于作业服务器为例进行说明,包括以下步骤:
101、获取作业全局信息,作业全局信息包括命名空间下的多个定时任务。
其中,命名空间(namespace)也称名称空间或名字空间,它是一种代码组织的机制,通过命名空间,可以将系统中的大量类库有序的组织起来,使得类更容易被使用。
具体的,作业全局信息中包括命名空间下的多个定时任务的配置信息,作业服务器可以通过继承类的方式获取作业全局信息,从而获取作业全局信息中命名空间下的多个定时任务。
102、根据多个定时任务生成定时任务列表。
具体的,作业服务器在获取到作业全局信息之后,会根据作业全局信息中命名空间下的多个定时任务的配置信息,生成一个定时任务列表,在定时任务列表上,记载有每一个定时任务的作业名称、任务状态、作业实现类、作业运行周期以及作业分片数等信息。
103、将多个定时任务与数据库中相同名称的命名空间下的定时任务进行对比,得到多个定时任务在数据库中的任务状态。
具体的,作业服务器会将多个定时任务与数据库中相同名称的命名空间下的定时任务进行一一对比,从而获取每一个定时任务在数据库中的任务状态。在本实施例中,数据库中建立有多个命名空间,命名空间下保存有多个定时任务,这些命名空间和定时任务是预先存储在数据库中,用于记录定时任务的运行信息的,运行信息同样包括定时任务的作业名称、任务状态、作业实现类、作业运行周期以及作业分片数等信息,可以理解的是,作业服务器获取的定时任务的信息和数据库中保存的定时任务的信息是不完全相同的,此时,定时任务的任务状态以数据库中保存的任务状态为准。
104、若定时任务在数据库中的任务状态为失效,则将定时任务的任务状态更新为失效,并将定时任务从定时任务列表中删除。
具体的,如果查询到某一个定时任务在数据库中的任务状态为失效,则将该定时任务在作业服务器中的任务状态也更新为失效,然后将该定时任务从定时任务列表中删除。
105、将删除了失效的定时任务的定时任务列表挂载到注册中心上,以使定时任务列表中的定时任务按照设定的时间和方式运行。
其中,注册中心负责作业服务器地址的注册和查找,相当于目录服务,它记录了定时任务和作业服务器地址的映射关系。在分布式架构中,定时任务会注册到注册中心中,当需要调用一个定时任务时,可以在注册中心查找作业服务器的地址,并进行定时任务的调用,从而使得定时任务列表中的定时任务能够按照设定的时间方式运行。
具体的,定时任务列表更新完毕后,作业服务器会与注册中心进行交互,并将定时任务列表挂载到注册中心上,当定时任务列表上的某一个定时任务启动时,注册中心会按照作业服务器的地址查找到相应的作业服务器,进行定时任务的调用。
本实施例提供的分布式系统定时任务的处理方法,首先获取了包含有多个定时任务的作业全局信息,并根据多个定时任务生成定时任务列表,然后判断多个定时任务在数据库中的任务状态是否失效,若多个定时任务中的某个定时任务失效,则将该定时任务的任务状态更新为失效,并将该定时任务从定时任务列表中删除,最后将处理后的定时任务列表挂载到注册中心上,使得定时任务列表中的定时任务按照设定的时间和方式运行。本发明通过获取持久化在数据库中任务状态,得到作业服务器重启之前用户为定时任务设定的真实的任务状态,然后,通过将数据库中任务状态为失效的定时任务在定时任务列表中删除,使得在作业服务器重启之前已被设定为失效的定时任务不再被执行,实现了定时任务组件中失效按钮的既定功能,即能够使得已设置为失效的任务作业在重启作业服务器之后不会被重置为生效,从而避免了作业服务器宕机重启等意外导致的数据缺失和数据污染的问题。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的实施过程,提供了分布式系统定时任务的处理方法,如图2所示,该方法包括以下步骤:
201、获取作业全局信息,作业全局信息包括命名空间下的多个定时任务。
其中,作业全局信息中包括命名空间下的多个定时任务的配置信息,作业服务器可以通过继承类的方式获取作业全局信息,从而获取作业全局信息中命名空间下的多个定时任务。
202、根据多个定时任务生成定时任务列表。
具体的,作业服务器在获取到作业全局信息之后,会根据作业全局信息中命名空间下的多个定时任务的配置信息,生成一个定时任务列表,在定时任务列表上,记载有每一个定时任务的作业名称、任务状态、作业实现类、作业运行周期以及作业分片数等信息。
203、将多个定时任务与数据库中相同名称的命名空间下的定时任务进行对比,得到多个定时任务在数据库中的任务状态。
具体的,作业服务器会将任务列表上的每一个定时任务与数据库中相同名称的命名空间下的定时任务进行一一对比,从而获取每一个定时任务在数据库中的任务状态。
204、若数据库中相同名称的命名空间下存在与定时任务名称相同的定时任务,则读取数据库中名称相同的定时任务的任务状态。
具体的,如果数据库中相同名称的命名空间下存在与某一个定时任务相同的定时任务,则读取该定时任务的任务状态,作为该定时任务在数据库中的任务状态。
205、若数据库中相同名称的命名空间下不存在与定时任务名称相同的定时任务,则在数据库中相同名称的命名空间下新增与定时任务相同的定时任务。
具体的,如果数据库中相同名称的命名空间下不存在与某一个定时任务相同的定时任务,则在数据库中相同名称的命名空间下新增与该定时任务相同的定时任务,然后以该新增的定时任务的任务状态作为定时任务在数据库中的任务状态。
206、将数据库中名称相同的定时任务的任务状态作为定时任务在数据库中的任务状态。
具体的,作业服务器会将数据库命名空间下与某一个定时任务名称相同的定时任务的任务状态作为该定时任务在数据库中的任务状态。
207、删除数据库中的相同名称的命名空间下与所述多个定时任务名称均不相同的定时任务。
具体的,作业服务器会删除数据库中相同名称的命名空间下与所有定时任务名称均不相同的定时任务,因为此类定时任务在作业全局信息中已被删除或并不存在。
208、若定时任务在数据库中的任务状态为失效,则将定时任务的任务状态更新为失效,并将定时任务从定时任务列表中删除。
具体的,如果查询到某一个定时任务在数据库中的任务状态为失效,则作业服务器会将该定时任务在作业服务器中的任务状态也更新为失效,然后将该定时任务从定时任务列表中删除。
209、若定时任务在数据库中的任务状态为暂停,则将定时任务的任务状态更新为生效,以及将数据库中与定时任务名称相同的定时任务的任务状态更新为生效。
具体的,如果查询到某一个定时任务在数据库中的任务状态为暂停,则作业服务器会将该定时任务在作业服务器中的任务状态更新为生效,并且,将数据库中与该定时任务名称相同的定时任务的任务状态也更新为生效。
210、将定时任务列表挂载到注册中心上,以使所述定时任务列表中的定时任务按照设定的时间和方式运行。
具体的,在挂载定时任务列表之前,作业服务器首先会根据作业全局信息中的注册中心路径查找到注册中心,然后向注册中心发起主节点选举请求,以使得注册中心确定该作业服务器为主节点或从节点,如果该作业服务器选举成为主节点,则作业服务器会将定时任务列表和服务器信息写入注册中心中,如果该作业服务器选举成为从节点,则作业服务器只会将服务器信息写入注册中心中。可以理解的是,在分布式系统中,总会有选举为主节点的作业服务器会将任务列表挂载到注册中心上,当任务列表挂载完成后,注册中心会根据任务列表上的定时任务的信息以及作业服务器的地址查找到相应的作业服务器,进行定时任务的调用,使得定时任务列表中的定时任务能够按照设定的时间方式运行。
在本实施例中,可以使用zookeeper作为注册中心,其中,zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,它是集群的管理者,监视着集群中各个节点的状态,并根据节点提交的反馈进行下一步合理操作,最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
211、若定时任务的任务状态由失效转变为生效,则将数据库中与定时任务名称相同的定时任务的任务状态更新为生效,并将定时任务添加到定时任务列表中,并将定时任务列表重新挂载到注册中心上。
具体的,如果某一个定时任务的任务状态由失效转变为生效,则作业服务器会将数据库中与该定时任务名称相同的定时任务的任务状态也更新为生效,然后,将任务状态转变为生效的定时任务添加到定时任务列表中,并将更新后的定时任务列表重新挂载到注册中心上,这样,生效的定时任务就可重新启动。
在本实施例中,定时任务的处理方式主要包括以下四个方面:首先,对于作业全局信息中新增的定时任务,在数据库中相同名称的命名空间下新增与该定时任务名称相同的定时任务,并将该定时任务存入定时任务列表中;其次,对于作业全局信息中已删除或不存在的定时任务,在数据库中相同名称的命名空间下删除多余的定时任务,并且不在定时任务列表中存入该定时任务;再其次,对于作业全局信息中已存在的定时任务,且该定时任务在数据库中的任务状态为失效的,保持该定时任务的失效状态,并且,不在定时任务列表中存入该定时任务;最后,对于作业全局信息中已存在的定时任务,且该定时任务在数据库中的任务状态为暂停的,将该定时任务的状态由暂停转变为生效,并在定时任务列表中存入该定时任务。
具体的,本实施例可以应用在如下场景中:分布式任务协调服务系统中存在两种不同的计算用户积分的定时任务,其中有一个定时任务设定为失效,但后续可能会重新开启,另外一个定时任务正常继续运行。
在现有的分布式系统定时任务的处理方法中,作业服务器重启之后,不会根据之前在注册中心修改过的作业数据执行定时任务,而是会根据本地配置文件覆盖注册中心上的作业信息,导致两个定时任务同时运行,不符合业务需求,从而导致数据污染或者经济损失。
应用本实施例提供的分布式系统定时任务的处理方法,会将设定为失效的定时任务在数据库命名空间中保持该定时任务的失效状态,并且不在定时任务列表中新增该定时任务,然后将更新后的定时任务列表保存在注册中心中,当这个定时任务的状态由失效转变为生效时,再将数据库命名空间下的定时任务由失效转变为生效,然后将该定时任务存入定时任务列表中,并且重新向注册中心挂载该定时任务,使得该定时任务能够按照设定的时间方式运行。从而实现了定时任务组件中的失效按钮目标功能,避免了注册中心或服务器宕机导致的数据缺失和数据污染等问题。
本实施例提供的分布式系统定时任务的处理方法,可以实现定时任务组件中失效按钮和暂停按钮的目标功能,即暂停按钮可以暂停在作业服务器中运行的某项任务作业,重启作业服务器后,暂停的任务可以被重置;失效按钮可以停止在作业服务器中运行的某项任务作业,重启作业服务器后,失效的任务不会被重置。另外,通过将任务状态进行持久化保存,为后续任务的灵活配置打下了基础,使得所有的定时任务都可以持久化保存用户所期望的配置中,避免了任务的状态被覆盖,也避免了注册中心或服务器宕机导致的数据缺失和数据污染等问题。
进一步的,作为图1、图2所示方法的具体实现,本实施例提供了一种分布式系统定时任务的处理装置,如图3所示,该装置包括:全局信息获取模块31、任务列表生成模块32、任务状态获取模块33、定时任务更新模块34、任务列表挂载模块35。
全局信息获取模块31,可用于获取作业全局信息,作业全局信息包括命名空间下的多个定时任务;
任务列表生成模块32,可用于根据多个定时任务生成定时任务列表;
任务状态获取模块33,可用于将所述定时任务列表上的定时任务与数据库中名称相同的命名空间下的定时任务进行对比,得到多个定时任务在数据库中的任务状态;
定时任务更新模块34,若定时任务在数据库中的任务状态为失效,则可用于将定时任务的任务状态更新为失效,并将定时任务从定时任务列表中删除;
任务列表挂载模块35,可用于将删除了失效的定时任务的定时任务列表挂载到注册中心上,以使定时任务列表中的定时任务按照设定的时间和方式运行。
在具体的应用场景中,所述任务状态获取模块33具体可用于将多个定时任务与数据库中相同名称的命名空间下的定时任务进行一一对比;若数据库中相同名称的命名空间下存在与定时任务名称相同的定时任务,则读取数据库中名称相同的定时任务的任务状态;将数据库中名称相同的定时任务的任务状态作为定时任务在数据库中的任务状态。
在具体的应用场景中,所述任务状态获取模块33,具体还可用于当数据库中相同名称的命名空间下不存在与定时任务名称相同的定时任务时,在数据库中相同名称的命名空间下新增与所述定时任务相同的定时任务;并将新增的定时任务的任务状态作为定时任务在数据库中的任务状态。
在具体的应用场景中,所述任务状态获取模块33,具体又可用于删除数据库中相同名称的命名空间下与多个定时任务名称均不相同的定时任务。
在具体的应用场景中,所述定时任务更新模块34,具体可用于当定时任务在数据库中的任务状态为暂停时,将定时任务的任务状态更新为生效;以及将数据库中与定时任务名称相同的定时任务的任务状态更新为生效。
在具体的应用场景中,所述定时任务更新模块34,具体还可用于当定时任务的任务状态由失效转变为生效时,将数据库中与定时任务名称相同的定时任务的任务状态更新为生效,并将定时任务添加到定时任务列表中;以及将添加了生效的定时任务的定时任务列表重新挂载到注册中心上。
在具体的应用场景中,所述任务列表挂载模块35,具体可用于根据作业全局信息中的注册中心路径查找到注册中心;向注册中心发起主节点选举请求,以使得注册中心确定主节点或从节点;若作业服务器为主节点,则将定时任务列表和服务器信息写入注册中心中;若作业服务器为从节点,则将服务器信息写入注册中心中。
需要说明的是,本实施例提供的一种分布式系统定时任务的处理装置所涉及各功能单元的其它相应描述,可以参考图1、图2中的对应描述,在此不再赘述。
基于上述如图1、图2所示方法,相应的,本实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1、图2所示的分布式系统定时任务的处理方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该待识别软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1、图2所示的方法,以及图3所示的分布式系统定时任务的处理装置实施例,为了实现上述目的,本实施例还提供了一种分布式系统定时任务的处理的实体设备,具体可以为个人计算机、服务器、智能手机、平板电脑、智能手表、或者其它网络设备等,该实体设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1、图2所示的方法。
可选的,该实体设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的一种分布式系统定时任务的处理的实体设备结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述实体设备硬件和待识别软件资源的程序,支持信息处理程序以及其它待识别软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。通过应用本申请的技术方案,可以在作业服务器重启之前已被设定为失效的定时任务不再被执行,实现了定时任务组件中失效按钮的既定功能,即能够使得已设置为失效的任务作业在重启作业服务器之后不会被重置为生效。与现有技术相比,可以有效的避免作业服务器宕机重启等意外导致的数据缺失和数据污染的问题,保护了数据的安全有效性。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (10)
1.一种分布式系统定时任务的处理方法,其特征在于,所述方法包括:
获取作业全局信息,所述作业全局信息包括命名空间下的多个定时任务;
根据所述多个定时任务生成定时任务列表;
将所述多个定时任务与数据库中相同名称的命名空间下的定时任务进行对比,得到所述多个定时任务在数据库中的任务状态;
若所述定时任务在数据库中的任务状态为失效,则将所述定时任务的任务状态更新为失效,并将所述定时任务从定时任务列表中删除;
将所述删除了失效的定时任务的定时任务列表挂载到注册中心上,以使所述定时任务列表中的定时任务按照设定的时间和方式运行。
2.根据权利要求1所述的方法,其特征在于,所述将所述多个定时任务与数据库中相同名称的命名空间下的定时任务进行对比,得到所述多个定时任务在数据库中的任务状态,包括:
将所述多个定时任务与数据库中相同名称的命名空间下的定时任务进行一一对比;
若所述数据库中相同名称的命名空间下存在与所述定时任务名称相同的定时任务,则读取所述数据库中名称相同的定时任务的任务状态;
将所述数据库中名称相同的定时任务的任务状态作为所述定时任务在数据库中的任务状态。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述数据库中相同名称的命名空间下不存在与所述定时任务名称相同的定时任务,则在所述数据库中相同名称的命名空间下新增与所述定时任务相同的定时任务;
将所述新增的定时任务的任务状态作为所述定时任务在数据库中的任务状态。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
删除所述数据库中相同名称的命名空间下与所述多个定时任务名称均不相同的定时任务。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述定时任务在数据库中的任务状态为暂停,则将所述定时任务的任务状态更新为生效;
将所述数据库中与所述定时任务名称相同的定时任务的任务状态更新为生效。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述定时任务的任务状态由失效转变为生效,则将所述数据库中与所述定时任务名称相同的定时任务的任务状态更新为生效,并将所述定时任务添加到所述定时任务列表中;
将所述添加了生效的定时任务的定时任务列表重新挂载到注册中心上。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述将所述定时任务列表挂载到注册中心上,以使所述定时任务列表中的定时任务按照设定的时间和方式运行,包括:
根据作业全局信息中的注册中心路径查找到注册中心;
向所述注册中心发起主节点选举请求,以使得所述注册中心确定主节点或从节点;
若作业服务器为主节点,则将所述定时任务列表和服务器信息写入注册中心中;
若作业服务器为从节点,则将服务器信息写入注册中心中。
8.一种分布式系统定时任务的处理装置,其特征在于,所述装置包括:
全局信息获取模块,用于获取作业全局信息,所述作业全局信息包括命名空间下的多个定时任务;
任务列表生成模块,用于根据所述多个定时任务生成定时任务列表;
任务状态获取模块,用于将所述多个定时任务与数据库中相同名称的命名空间下的定时任务进行对比,得到所述多个定时任务在数据库中的任务状态;
定时任务更新模块,若所述定时任务在数据库中的任务状态为失效,则用于将所述定时任务的任务状态更新为失效,并将所述定时任务从定时任务列表中删除;
任务列表挂载模块,用于将所述删除了失效的定时任务的定时任务列表挂载到注册中心上,以使所述定时任务列表中的定时任务按照设定的时间和方式运行。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010234435.8A CN111580942A (zh) | 2020-03-30 | 2020-03-30 | 分布式系统定时任务的处理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010234435.8A CN111580942A (zh) | 2020-03-30 | 2020-03-30 | 分布式系统定时任务的处理方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111580942A true CN111580942A (zh) | 2020-08-25 |
Family
ID=72113183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010234435.8A Pending CN111580942A (zh) | 2020-03-30 | 2020-03-30 | 分布式系统定时任务的处理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111580942A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113722068A (zh) * | 2021-08-31 | 2021-11-30 | 平安普惠企业管理有限公司 | 基于Azkaban的批量任务处理方法、装置、设备及存储介质 |
-
2020
- 2020-03-30 CN CN202010234435.8A patent/CN111580942A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113722068A (zh) * | 2021-08-31 | 2021-11-30 | 平安普惠企业管理有限公司 | 基于Azkaban的批量任务处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108696372B (zh) | 一种保持系统配置一致性的方法和系统 | |
US20100262632A1 (en) | Data transfer from on-line to on-premise deployment | |
US10678657B1 (en) | Reversion operations for virtual computing environments | |
CN110532123B (zh) | HBase系统的故障转移方法及装置 | |
US20160335079A1 (en) | Zero down-time deployment of new application versions | |
CN110520844A (zh) | 云管理平台、虚拟机管理方法及其系统 | |
CN107644075B (zh) | 收集页面信息的方法和装置 | |
GB2513528A (en) | Method and system for backup management of software environments in a distributed network environment | |
CN107748689A (zh) | 一种网页展示方法和装置 | |
CN111124601B (zh) | 一种基于自动初始化的主机容器自动发现方法 | |
US10318330B2 (en) | Data-persisting temporary virtual machine environments | |
CN114356521A (zh) | 任务调度方法、装置、电子设备及存储介质 | |
CN111580942A (zh) | 分布式系统定时任务的处理方法、装置及存储介质 | |
CN112000850A (zh) | 进行数据处理的方法、装置、系统及设备 | |
CN113032349A (zh) | 数据存储方法、装置、电子设备及计算机可读介质 | |
CN111198853A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN113660988A (zh) | 数据处理方法、装置、系统、设备及计算机可读存储介质 | |
CN111208949B (zh) | 一种确定分布式存储系统中的数据回滚时段的方法 | |
US7945598B2 (en) | Methodology for the automatic capture of process information in federated knowledge systems | |
US20110023018A1 (en) | Software platform and method of managing application individuals in the software platform | |
CN110058948B (zh) | 一种资源监控方法、装置、设备及介质 | |
US20240152356A1 (en) | Automated developer configuration tool | |
CN115756739A (zh) | 容器应用部署方法及装置、存储介质、计算机设备 | |
US20220398346A1 (en) | Method and system for managing data protection feature compatibility | |
US11468045B2 (en) | Transactional support for non-relational database |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |