CN107566460A - 分布式部署计划任务的方法和系统 - Google Patents
分布式部署计划任务的方法和系统 Download PDFInfo
- Publication number
- CN107566460A CN107566460A CN201710699914.5A CN201710699914A CN107566460A CN 107566460 A CN107566460 A CN 107566460A CN 201710699914 A CN201710699914 A CN 201710699914A CN 107566460 A CN107566460 A CN 107566460A
- Authority
- CN
- China
- Prior art keywords
- plan target
- time
- execution
- data base
- cycle
- 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.)
- Granted
Links
Landscapes
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及计划任务技术领域,具体涉及分布式部署计划任务的方法包括,监视服务器配置计划任务,形成配置数据;并将计划任务的配置数据存储至为计划任务对应的业务功能提供业务数据的分布式数据库中;分布式部署的多台执行服务器周期性读取分布式数据库中各计划任务的配置数据,当检测到符合执行条件的计划任务时,抢占所述符合执行条件的计划任务;抢占成功的一台执行服务器执行所述符合执行条件的计划任务。在本发明中,将计划任务的配置数据存储至为计划任务对应的业务功能提供业务数据的分布式数据库中,执行计划任务需要读取分布式数据库的配置数据。本发明能解决中心调度服务器死机导致所有计划任务无法正常执行的问题。
Description
技术领域
本发明涉及计划任务技术领域,具体涉及分布式部署计划任务的方法和系统。
背景技术
程序中有很多需要定时执行的计划任务(Crontab)单例程序,这类单例程序不允许在本机或者多台服务器同时启动多个进程;常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。
若计划任务在多台服务器同时启动会导致计算数据错误、数据写入重复等问题,受此限制,计划任务无法直接采用主流的分布式部署。现有技术中,计划任务部署方式通常为以下三种:
1.单机部署。仅在一台服务器上部署;
2.交互时间部署。部署两台或两台以上服务器,在计划任务可执行周期时段交替执行,每个时间只有一台服务器执行;
3.中心服务器调度执行服务器部署。部署一台中心调度服务器,多台执行服务器,中心服务器根据计划任务的配置,到达执行时间时,指定一台执行服务器执行。
但是上述现有技术存在如下问题:
1.单机部署:容灾性差,服务器状态未知,无法查询任务启动结束时间;
2.交互时间部署:配置复杂,需要在多台服务器对不同计划任务的每个执行周期分别配置不同的时间段;若其中一台服务器故障,故障期间该服务器所需执行的时间段计划任务无法执行,只能持续以降级状态运行;由于各服务器之间无法通讯,难以保证不会重复执行;
3.中心服务器调度执行服务器部署:执行服务器如果有一台死机,中心调度服务器可指派其它执行服务器执行,但若中心调度服务器死机,则无法正常执行所有计划任务。
发明内容
本发明要解决的技术问题在于,克服现有的技术的不足,提供的分布式部署计划任务的方法和系统,其能解决中心调度服务器死机导致所有计划任务无法正常执行的问题。
为达到上述技术目的,一方面,本发明所述的分布式部署计划任务的方法,所述方法包括:
监视服务器配置计划任务,形成配置数据;并将计划任务的配置数据存储至为计划任务对应的业务功能提供业务数据的分布式数据库中;
分布式部署的多台执行服务器周期性读取分布式数据库中各计划任务的配置数据,当检测到符合执行条件的计划任务时,抢占所述符合执行条件的计划任务;
抢占成功的一台执行服务器执行所述符合执行条件的计划任务。
另一方面,本发明所述的分布式部署计划任务的系统,所述系统包括监视服务器、为计划任务对应的业务功能提供业务数据的分布式数据库、分布式部署的多台执行服务器;
所述监视服务器包括:
配置单元,用于配置计划任务,形成配置数据;
存储单元,用于将计划任务的配置数据存储至为计划任务对应的业务功能提供业务数据的分布式数据库中;
每台执行服务器包括:
抢占单元,用于周期性读取分布式数据库中各计划任务的配置数据,当检测到符合执行条件的计划任务时,抢占所述符合执行条件的计划任务;
执行单元,用于如果本执行服务器抢占成功,执行所述符合执行条件的计划任务。
在本发明中,将计划任务的配置数据存储至为计划任务对应的业务功能提供业务数据的分布式数据库中,执行计划任务需要读取分布式数据库的配置数据。由于本发明没有中心服务器,不存在中心服务器死机导致计划任务无法正常执行的情况,而且分布式数据库部署在多台数据服务器上,即使部分数据服务器死机,不会影响执行服务器读取到配置数据,从而不会影响整体计划任务执行。并且,对于分布式数据库而言,其向业务功能提供数据,如果所有数据库服务器全部出现问题,则业务功能也无法正常工作。在业务功能无法正常工作的情况下,执行计划任务没有任何意义。另外分布式部署的多台执行服务器根据配置数据对计划任务进行抢占的模式,也能够保证计划任务的正常执行,而不是无法执行或降级执行。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例的方法流程示意图;
图2为本发明另一个实施例的方法流程示意图;
图3为本发明实施例的系统结构示意图;
图4为本发明实施例的监视服务器的结构示意图;
图5为本发明实施例的监视服务器的另一个结构示意图;
图6为本发明实施例的执行服务器的结构示意图;
图7为本发明实施例的抢占单元的结构示意图;
图8为本发明实施例的执行单元的结构示意图;
图9为本发明实施例的抢占单元的另一个结构示意图;
图10为本发明实施例的执行服务器的另一个结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明所述的分布式部署计划任务的方法,包括:
101、监视服务器配置计划任务,形成配置数据;并将计划任务的配置数据存储至为计划任务对应的业务功能提供业务数据的分布式数据库中;
102、分布式部署的多台执行服务器周期性读取分布式数据库中各计划任务的配置数据,当检测到符合执行条件的计划任务时,抢占所述符合执行条件的计划任务;
103、抢占成功的一台执行服务器执行所述符合执行条件的计划任务。
所述计划任务的配置数据包括计划任务的执行时间、执行周期、执行程序和参数;
所述分布式部署的多台执行服务器周期性读取分布式数据库中各计划任务的配置数据,当检测到符合执行条件的计划任务时,抢占所述符合执行条件的计划任务,具体包括:
分布式部署的多台执行服务器周期性读取分布式数据库中各计划任务的执行时间和执行周期,并结合各计划任务的配置数据存储至分布式数据库中的录入时间,判断是否存在符合执行条件的计划任务;
若检测到符合执行条件的计划任务,则分布式部署的多台执行服务器抢占符合执行条件的计划任务;
以及,
所述抢占成功的一台执行服务器执行所述符合执行条件的计划任务,具体包括:
一台执行服务器抢占成功、其他执行服务器抢占失败所述符合执行条件的计划任务后,抢占成功的执行服务器读取分布式数据库中当前计划任务的执行程序和参数;
根据当前计划任务的执行程序和参数,执行一个执行周期的当前计划任务。
所述计划任务的配置数据还包括计划任务的最大执行时长;
所述方法还包括:
抢占成功的执行服务器读取分布式数据库中当前计划任务的最大执行时长,在实际执行时长超过对应的最大执行时长时,主动结束正在执行的当前计划任务;否则,在一个执行周期到达时,当前计划任务结束;并
将当前计划任务的结束时间存储至分布式数据库,所述结束时间包括执行完成一个执行周期的计划任务的结束时间、或者实际执行时长超过最大执行时长时主动结束正在执行的当前计划任务的结束时间。
所述方法还包括:
各台执行服务器以预定第一频率将运行状态信息更新至分布式数据库中;
若某台执行服务器在规定时间段内没有更新运行状态信息,则判定该执行服务器为死机状态,否则,判定该执行服务器为正常运行状态。
所述分布式部署的多台执行服务器周期性读取分布式数据库中各计划任务的执行时间和执行周期,并结合各计划任务的配置数据存储至分布式数据库中的录入时间,判断是否存在符合执行条件的计划任务,具体包括:
各台正常运行状态的执行服务器以预定第二频率读取当前时间;针对每一个计划任务:
若当前时间为当前计划任务的录入时间之后的第一个执行时间,则判定当前计划任务符合执行条件,所述录入时间之后的第一个执行时间根据录入时间、执行时间和执行周期确定;
若当前时间为在当前计划任务的第一个执行时间后至少一个执行周期的执行时间,则进一步判断分布式数据库中是否存储有上个执行周期当前计划任务的结束时间;
若分布式数据库中存储有上个执行周期当前计划任务的结束时间,则判定当前计划任务符合执行条件;
若分布式数据库中没有存储上个执行周期当前计划任务的结束时间、且上个执行周期当前计划任务的执行服务器为死机状态,则判定当前计划任务符合执行条件;
所述若检测到符合执行条件的计划任务,则分布式部署的多台执行服务器抢占符合执行条件的计划任务,具体包括:
检测到符合执行条件的计划任务时,若当前时间为当前计划任务的录入时间之后的第一个执行时间,则各台正常运行状态的执行服务器分别尝试使用当前时间写入分布式数据库中,作为当前计划任务第一次执行周期的被抢占时间;若当前时间为在当前计划任务的第一个执行时间后至少一个执行周期的执行时间,则各台正常运行状态的执行服务器分别尝试使用当前时间更新分布式数据库中当前计划任务在上次执行周期的被抢占时间;
首先将当前时间写入分布式数据库中的执行服务器数据更新成功,其他执行服务器数据更新失败;
数据更新成功的执行服务器为抢占当前计划任务成功的执行服务器;数据更新失败的执行服务器为抢占当前计划任务失败的执行服务器。
所述执行一个执行周期的当前计划任务之后,还包括;
所述分布式部署的多台执行服务器将抢占信息存储至分布式数据库,所述抢占信息表示每台执行服务器每次抢占符合执行条件的计划任务的结果。
如图2所示,作为另一个实施例,本发明所述的分布式部署计划任务的方法,包括:
201、监视服务器配置计划任务,形成配置数据;并将计划任务的配置数据存储至为计划任务对应的业务功能提供业务数据的分布式数据库中;
所述计划任务的配置数据包括计划任务的执行时间、执行周期、执行程序、参数和最大执行时长。
202、分布式部署的多台执行服务器周期性读取分布式数据库中各计划任务的配置数据,当检测到符合执行条件的计划任务时,抢占所述符合执行条件的计划任务;具体地:
分布式部署的多台执行服务器周期性读取分布式数据库中各计划任务的执行时间和执行周期,并结合各计划任务的配置数据存储至分布式数据库中的录入时间,判断是否存在符合执行条件的计划任务;
若检测到符合执行条件的计划任务,则分布式部署的多台执行服务器抢占符合执行条件的计划任务。
203、抢占成功的一台执行服务器执行所述符合执行条件的计划任务;具体地:
一台执行服务器抢占成功、其他执行服务器抢占失败所述符合执行条件的计划任务后,抢占成功的执行服务器读取分布式数据库中当前计划任务的执行程序和参数;
根据当前计划任务的执行程序和参数,执行一个执行周期的当前计划任务;
所述分布式部署的多台执行服务器将抢占信息存储至分布式数据库,所述抢占信息表示每台执行服务器每次抢占符合执行条件的计划任务的结果。
204、监视服务器将分布式数据库中存储的数据取出,并进行查看;
所述分布式数据库中存储的数据包括:各计划任务的ID、各计划任务的配置数据、各台执行服务器的运行状态信息、各计划任务的各执行周期的结束时间、各计划任务在当前执行周期的被抢占时间、各执行服务器的抢占信息。
所述方法还包括:
抢占成功的执行服务器读取分布式数据库中当前计划任务的最大执行时长,在实际执行时长超过对应的最大执行时长时,主动结束正在执行的当前计划任务;否则,在一个执行周期到达时,当前计划任务结束;并将当前计划任务的结束时间存储至分布式数据库,所述结束时间包括执行完成一个执行周期的计划任务的结束时间、或者实际执行时长超过最大执行时长时主动结束正在执行的当前计划任务的结束时间;
各台执行服务器以预定第一频率将运行状态信息更新至分布式数据库中;
若某台执行服务器在规定时间段内没有更新运行状态信息,则判定该执行服务器为死机状态,否则,判定该执行服务器为正常运行状态。
所述分布式部署的多台执行服务器周期性读取分布式数据库中各计划任务的执行时间和执行周期,并结合各计划任务的配置数据存储至分布式数据库中的录入时间,判断是否存在符合执行条件的计划任务,具体包括:
各台正常运行状态的执行服务器以预定第二频率读取当前时间;针对每一个计划任务:
若当前时间为当前计划任务的录入时间之后的第一个执行时间,则判定当前计划任务符合执行条件,所述录入时间之后的第一个执行时间根据录入时间、执行时间和执行周期确定;
若当前时间为在当前计划任务的第一个执行时间后至少一个执行周期的执行时间,则进一步判断分布式数据库中是否存储有上个执行周期当前计划任务的结束时间;
若分布式数据库中存储有上个执行周期当前计划任务的结束时间,则判定当前计划任务符合执行条件;
若分布式数据库中没有存储上个执行周期当前计划任务的结束时间、且上个执行周期当前计划任务的执行服务器为死机状态,则判定当前计划任务符合执行条件;
所述若检测到符合执行条件的计划任务,则分布式部署的多台执行服务器抢占符合执行条件的计划任务,具体包括:
检测到符合执行条件的计划任务时,若当前时间为当前计划任务的录入时间之后的第一个执行时间,则各台正常运行状态的执行服务器分别尝试使用当前时间写入分布式数据库中,作为当前计划任务第一次执行周期的被抢占时间;若当前时间为在当前计划任务的第一个执行时间后至少一个执行周期的执行时间,则各台正常运行状态的执行服务器分别尝试使用当前时间更新分布式数据库中当前计划任务在上次执行周期的被抢占时间;
首先将当前时间写入分布式数据库中的执行服务器数据更新成功,其他执行服务器数据更新失败;
数据更新成功的执行服务器为抢占当前计划任务成功的执行服务器;数据更新失败的执行服务器为抢占当前计划任务失败的执行服务器。
如图3所示,本发明所述的分布式部署计划任务的系统,所述系统包括监视服务器21、为计划任务对应的业务功能提供业务数据的分布式数据库22、分布式部署的多台执行服务器23;
如图4所示,作为监视服务器21的一种可能结构,所述监视服务器21包括:
配置单元211,用于配置计划任务,形成配置数据;
存储单元212,用于将计划任务的配置数据存储至为计划任务对应的业务功能提供业务数据的分布式数据库中。
如图6所示,作为每台执行服务器23的一种可能结构,每台执行服务器23包括:
抢占单元231,用于周期性读取分布式数据库中各计划任务的配置数据,当检测到符合执行条件的计划任务时,抢占所述符合执行条件的计划任务;
执行单元232,用于如果本执行服务器抢占成功,执行所述符合执行条件的计划任务。
所述计划任务的配置数据包括计划任务的执行时间、执行周期、执行程序、参数和最大执行时长。
如图7所示,作为抢占单元231的一种可能结构,所述抢占单元231包括:
判断模块2311,用于周期性读取分布式数据库中各计划任务的执行时间和执行周期,并结合各计划任务的配置数据存储至分布式数据库中的录入时间,判断是否存在符合执行条件的计划任务;
抢占模块2312,用于若检测到符合执行条件的计划任务,则抢占符合执行条件的计划任务。
如图8所示,作为执行单元232的一种可能结构,所述执行单元232包括:
读取模块2321,用于在本执行服务器抢占成功、其他执行服务器抢占失败所述符合执行条件的计划任务后,读取分布式数据库中当前计划任务的执行程序和参数;
执行模块2322,用于根据当前计划任务的执行程序和参数,执行一个执行周期的当前计划任务。
如图10所示,作为每台执行服务器23的另一种可能结构,所述每台执行服务器23包括:
抢占单元231,用于周期性读取分布式数据库中各计划任务的配置数据,当检测到符合执行条件的计划任务时,抢占所述符合执行条件的计划任务;
执行单元232,用于如果本执行服务器抢占成功,执行所述符合执行条件的计划任务;
结束单元233,用于如果本执行服务器抢占成功,读取分布式数据库中当前计划任务的最大执行时长,在实际执行时长超过对应的最大执行时长时,主动结束正在执行的当前计划任务;否则,在一个执行周期到达时,当前计划任务结束;
结束时间存储单元234,用于将当前计划任务的结束时间存储至分布式数据库,所述结束时间包括执行完成一个执行周期的计划任务的结束时间、或者实际执行时长超过最大执行时长时主动结束正在执行的当前计划任务的结束时间;
状态更新单元235,用于以预定第一频率将本执行服务器的运行状态信息更新至分布式数据库中;
状态判定单元236,用于读取分布式数据库中各台执行服务器的运行状态信息,若某台执行服务器在规定时间段内没有更新运行状态信息,则判定该执行服务器为死机状态,否则,判定该执行服务器为正常运行状态。
在抢占单元231中,所述判断模块2311具体用于:以预定第二频率读取当前时间;针对每一个计划任务:若当前时间为当前计划任务的录入时间之后的第一个执行时间,则判定当前计划任务符合执行条件,所述录入时间之后的第一个执行时间根据录入时间、执行时间和执行周期确定;若当前时间为在当前计划任务的第一个执行时间后至少一个执行周期的执行时间,则进一步判断分布式数据库中是否存储有上个执行周期当前计划任务的结束时间;若分布式数据库中存储有上个执行周期当前计划任务的结束时间,则判定当前计划任务符合执行条件;若分布式数据库中没有存储上个执行周期当前计划任务的结束时间、且上个执行周期当前计划任务的执行服务器为死机状态,则判定当前计划任务符合执行条件。
在抢占单元231中,所述抢占模块2312具体用于:在本执行服务器为正常运行状态下,检测到符合执行条件的计划任务时,若当前时间为当前计划任务的录入时间之后的第一个执行时间,则尝试使用当前时间写入分布式数据库中,作为当前计划任务第一次执行周期的被抢占时间;若当前时间为在当前计划任务的第一个执行时间后至少一个执行周期的执行时间,则尝试使用当前时间更新分布式数据库中当前计划任务在上次执行周期的被抢占时间;以及,首先将当前时间写入分布式数据库中的执行服务器数据更新成功,其他执行服务器数据更新失败;数据更新成功的执行服务器为抢占当前计划任务成功的执行服务器;数据更新失败的执行服务器为抢占当前计划任务失败的执行服务器。
如图9所示,作为抢占单元231的另一种可能结构,所述抢占单元231包括:
判断模块2311,用于周期性读取分布式数据库中各计划任务的执行时间和执行周期,并结合各计划任务的配置数据存储至分布式数据库中的录入时间,判断是否存在符合执行条件的计划任务;
抢占模块2312,用于若检测到符合执行条件的计划任务,则抢占符合执行条件的计划任务;
抢占信息存储模块2313,用于将抢占信息存储至分布式数据库,所述抢占信息表示本执行服务器每次抢占符合执行条件的计划任务的结果。
如图5所示,作为监视服务器21的另一种可能结构,所述监视服务器21包括:
配置单元211,用于配置计划任务,形成配置数据;
存储单元212,用于将计划任务的配置数据存储至为计划任务对应的业务功能提供业务数据的分布式数据库中;
查看单元213,用于分布式数据库中存储的数据取出,并进行查看.
所述分布式数据库中存储的数据包括:各计划任务的ID、各计划任务的配置数据、各台执行服务器的运行状态信息、各计划任务的各执行周期的结束时间、各计划任务在当前执行周期的被抢占时间、各执行服务器的抢占信息。
在本发明中,分布式数据库中包括任务表、服务器表和日志表。所述任务表中,存储有:各计划任务的ID、各计划任务的配置数据、各计划任务在当前执行周期的被抢占时间、各计划任务的各执行周期的结束时间等;所述服务器表中存储有:各台执行服务器的运行状态信息等;所述日志表中存储有:各台执行服务器ID、各执行服务器的抢占信息等。其中所有和各计划任务相关的信息都是通过各计划任务的ID与各计划任务相关联,所有关于执行服务器的信息都是通过各台执行服务器ID与各执行服务器相关联。
在各执行服务器抢占当前计划任务时,将当前时间尝试写入至分布式数据库中的任务表中与计划任务ID一一对应,第一台将当前时间写入至任务表中的执行服务器抢占该计划任务的当前执行周期成功。若当前任务的执行周期不是第一个执行周期,则各执行服务器尝试将当前时间写入至布式数据库中的任务表中与计划任务ID一一对应的同时,替换当前计划任务在上个执行周期的被抢占时间;第一台江当前时间替换成功的执行服务器抢占该计划任务的当前执行周期成功。因此,在任务表中,各计划任务在当前执行周期的被抢占时间一直是最新的执行周期的被抢占时间。在计划任务被抢占成功后,执行服务器立即执行当前周期的该计划任务。所以各计划任务在当前执行周期的被抢占时间也就是各计划任务在当前执行周期开始执行的时间。
关于各计划任务被抢占的各执行周期被抢占的历史时间都存储至日志表的各执行服务器的抢占信息中。所述各执行服务器的抢占信息还包括关于各计划任务被抢占的其余所有信息。
以微博的某个计划任务具体举例说明:
业务功能:微博;
计划任务:每天凌晨3:00定时删除24小时内被封杀的用户数据;
配置数据包括:
计划任务的执行时间:凌晨3:00;
执行周期:每天;
最大执行时长:1小时;
执行程序:删除被封杀的用户数据;
参数:24小时。
监视服务器将配置数据存储至为微博提供业务数据的分布式数据库中的任务表中;
当第一次执行该计划任务时,读取分布式数据库中存储的计划任务的执行时间:凌晨3:00;此时假设所有的执行服务器都未死机,为正常运行状态,所以所有执行服务器都可以抢占“凌晨3:00定时删除24小时内被封杀的用户数据”的第一执行周期的计划任务。
假设配置数据存储至分布式数据库中的录入时间为2017年7月20日凌晨1:00,每分钟(第二频率)读取当前时间,当时间到2017年7月20凌晨3:00时,每台执行服务器将当前时间写入至分布式数据库的任务表中,作为该计划任务第一执行周期的被抢占时间进行存储,首先将自己的当前时间(2017年7月20凌晨3:00)写入任务表中的执行服务器更新数据成功,其余执行服务器更新数据失败;更新数据成功的执行服务器为抢占本计划任务成功的执行服务器。设本次抢占成功的为执行服务器A。
执行服务器A读取分布式数据库中存储的执行程序:删除被封杀的用户数据;参数:24小时,在2017年7月20凌晨3:00开始执行删除24小时内被封杀的用户数据。
此时,将执行服务器A和其余执行服务器的抢占结果也存储至分布式数据库中日志表的各执行服务器的抢占信息中。
每分钟(第一频率)将每台执行服务器的运行状态信息更新至分布式数据库的服务器表中。若某台执行服务器在10分钟内(规定时间段内)没有更新运行信息,则判定该执行服务器死机。
若执行服务器A没有死机,则读取分布式数据库中最大执行时长:1小时,判定执行服务器A执行时间是否超过对应最大执行时长,若超过,则主动结束对应正在执行的“2017年7月20凌晨3:00定时删除24小时内被封杀的用户数据”,并将主动结束时的时间写入分布式数据库中。若没超过最大执行时长:1小时,则将该执行周期的计划任务的正常结束时的时间写入分布式数据库中。
最后监视服务器将分布式数据库中存储的配置数据的所有信息、每个计划任务的每次结束时间、每台执行服务器的运行和每台执行服务器的抢占信息等取出,进行查看,用于监视了解整过执行过程。
假设执行服务器A执行“2017年7月20凌晨3:00定时删除24小时内被封杀的用户数据”的执行时长为0.5小时。分布式数据库中存储有A执行“2017年7月20凌晨3:00定时删除24小时内被封杀的用户数据”的执行结束时间为“2017年7月20凌晨3:30”。当第二次执行该计划任务时,读取分布式数据库中存储的计划任务的触发时间:2017年7月20凌晨3:00和执行周期:每天。此时执行服务器A执行“2017年7月20凌晨3:00定时删除24小时内被封杀的用户数据”已经结束,则“2017年7月21凌晨3:00定时删除24小时内被封杀的用户数据”为可执行计划任务。
假设分布式数据库中没有执行服务器A执行“2017年7月20凌晨3:00定时删除24小时内被封杀的用户数据”的执行结束时间,但是发现执行服务器A已死机;则“2017年7月21凌晨3:00定时删除24小时内被封杀的用户数据”也为可执行计划任务。
此时未死机的执行服务器都可以抢占“凌晨3:00定时删除24小时内被封杀的用户数据”的第二执行周期的计划任务。
每分钟(第二频率)读取当前时间,当时间到2017年7月21凌晨3:00时,每台执行服务器将当前时间更新至分布式数据库的任务表中,用于替换第一执行周期该任务的被抢占时间(2017年7月20凌晨3:00)。首先将自己的当前时间(2017年7月21凌晨3:00)更新到分布式数据库的执行服务器抢更新数据成功,其余执行服务器更新数据失败。更新数据成功的执行服务器为占本次执行周期的该计划任务成功的执行服务器。设本次抢占成功的为执行服务器B。
执行服务器B读取分布式数据库中存储的执行程序:删除被封杀的用户数据;参数:24小时,在2017年7月21凌晨3:00开始执行删除24小时内被封杀的用户数据。
此时,将执行服务器B和其余执行服务器的抢占结果也存储至分布式数据库中。
每分钟(第一频率)将每台执行服务器的运行信息更新至分布式数据库中。若某台执行服务器在10分钟内(规定时间段内)没有更新运行信息,则判定该执行服务器死机。
若执行服务器B没有死机,则读取分布式数据库中最大执行时长:1小时,判定执行服务器B执行时间是否超过对应最大执行时长,若超过,则结束对应正在执行的“2017年7月21凌晨3:00定时删除24小时内被封杀的用户数据”,并将结束时的时间写入分布式数据库中。若没超过最大执行时长:1小时,则将结束时的时间写入分布式数据库中。
最后将分布式数据库中存储的配置数据的所有信息、每个计划任务的每次结束时间、每台执行服务器的运行和每台执行服务器的抢占信息等取出,进行查看,用于监视了解整过执行过程。
以此类推,当第n(n>1)次执行该计划任务时,过程和第二次执行该计划任务相同,在此就不再赘述。
在本发明中,分布式部署的多台执行服务器解决了传统单例部署容灾性差的问题;对计划任务配置对应的配置数据,有效的解决了传统交互时间部署配置复杂的问题;在部分执行服务器死机的情况下,分布式部署的多台执行服务器根据配置数据对计划任务进行抢占的模式,也能够保证计划任务的正常执行,而不是无法执行或降级执行;执行计划任务时,是从分布式数据库中读取,由于没有中心服务器,不存在中心服务器死机导致计划任务无法正常执行的情况;即使部分数据库服务死机也不影响整体服务执行。另外,对于分布式数据库而言,其向业务功能提供数据,如果所有数据库服务器全部出现问题,则业务功能也无法正常工作。在业务功能无法正常工作的情况下,执行计划任务没有任何意义。因此本发明提供的方法易执行,并且效率高;本发明提供的系统都有简单、易于实现。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种分布式部署计划任务的方法,其特征在于,所述方法包括:
监视服务器配置计划任务,形成配置数据;并将计划任务的配置数据存储至为计划任务对应的业务功能提供业务数据的分布式数据库中;
分布式部署的多台执行服务器周期性读取分布式数据库中各计划任务的配置数据,当检测到符合执行条件的计划任务时,抢占所述符合执行条件的计划任务;
抢占成功的一台执行服务器执行所述符合执行条件的计划任务。
2.根据权利要求1所述的分布式部署计划任务的方法,其特征在于,所述计划任务的配置数据包括计划任务的执行时间、执行周期、执行程序和参数;
所述分布式部署的多台执行服务器周期性读取分布式数据库中各计划任务的配置数据,当检测到符合执行条件的计划任务时,抢占所述符合执行条件的计划任务,具体包括:
分布式部署的多台执行服务器周期性读取分布式数据库中各计划任务的执行时间和执行周期,并结合各计划任务的配置数据存储至分布式数据库中的录入时间,判断是否存在符合执行条件的计划任务;
若检测到符合执行条件的计划任务,则分布式部署的多台执行服务器抢占符合执行条件的计划任务;
以及,
所述抢占成功的一台执行服务器执行所述符合执行条件的计划任务,具体包括:
一台执行服务器抢占成功、其他执行服务器抢占失败所述符合执行条件的计划任务后,抢占成功的执行服务器读取分布式数据库中当前计划任务的执行程序和参数;
根据当前计划任务的执行程序和参数,执行一个执行周期的当前计划任务。
3.根据权利要求2所述的分布式部署计划任务的方法,其特征在于,所述计划任务的配置数据还包括计划任务的最大执行时长;
所述方法还包括:
抢占成功的执行服务器读取分布式数据库中当前计划任务的最大执行时长,在实际执行时长超过对应的最大执行时长时,主动结束正在执行的当前计划任务;否则,在一个执行周期到达时,当前计划任务结束;并
将当前计划任务的结束时间存储至分布式数据库,所述结束时间包括执行完成一个执行周期的计划任务的结束时间、或者实际执行时长超过最大执行时长时主动结束正在执行的当前计划任务的结束时间。
4.根据权利要求3中任一项所述的分布式部署计划任务的方法,其特征在于,所述方法还包括:
各台执行服务器以预定第一频率将运行状态信息更新至分布式数据库中;
若某台执行服务器在规定时间段内没有更新运行状态信息,则判定该执行服务器为死机状态,否则,判定该执行服务器为正常运行状态。
5.根据权利要求4所述的分布式部署计划任务的方法,其特征在于,所述分布式部署的多台执行服务器周期性读取分布式数据库中各计划任务的执行时间和执行周期,并结合各计划任务的配置数据存储至分布式数据库中的录入时间,判断是否存在符合执行条件的计划任务,具体包括:
各台正常运行状态的执行服务器以预定第二频率读取当前时间;针对每一个计划任务:
若当前时间为当前计划任务的录入时间之后的第一个执行时间,则判定当前计划任务符合执行条件,所述录入时间之后的第一个执行时间根据录入时间、执行时间和执行周期确定;
若当前时间为在当前计划任务的第一个执行时间后至少一个执行周期的执行时间,则进一步判断分布式数据库中是否存储有上个执行周期当前计划任务的结束时间;
若分布式数据库中存储有上个执行周期当前计划任务的结束时间,则判定当前计划任务符合执行条件;
若分布式数据库中没有存储上个执行周期当前计划任务的结束时间、且上个执行周期当前计划任务的执行服务器为死机状态,则判定当前计划任务符合执行条件;
所述若检测到符合执行条件的计划任务,则分布式部署的多台执行服务器抢占符合执行条件的计划任务,具体包括:
检测到符合执行条件的计划任务时,若当前时间为当前计划任务的录入时间之后的第一个执行时间,则各台正常运行状态的执行服务器分别尝试使用当前时间写入分布式数据库中,作为当前计划任务第一次执行周期的被抢占时间;若当前时间为在当前计划任务的第一个执行时间后至少一个执行周期的执行时间,则各台正常运行状态的执行服务器分别尝试使用当前时间更新分布式数据库中当前计划任务在上次执行周期的被抢占时间;
首先将当前时间写入分布式数据库中的执行服务器数据更新成功,其他执行服务器数据更新失败;
数据更新成功的执行服务器为抢占当前计划任务成功的执行服务器;数据更新失败的执行服务器为抢占当前计划任务失败的执行服务器。
6.根据权利要求2至5中任一项所述的分布式部署计划任务的方法,其特征在于,所述执行一个执行周期的当前计划任务之后,还包括;
所述分布式部署的多台执行服务器将抢占信息存储至分布式数据库,所述抢占信息表示每台执行服务器每次抢占符合执行条件的计划任务的结果;
所述抢占成功的一台执行服务器执行所述符合执行条件的计划任务之后,还包括:
监视服务器将分布式数据库中存储的数据取出,并进行查看;
所述分布式数据库中存储的数据包括:各计划任务的ID、各计划任务的配置数据、各台执行服务器的运行状态信息、各计划任务的各执行周期的结束时间、各计划任务在当前执行周期的被抢占时间、各执行服务器的抢占信息。
7.一种分布式部署计划任务的系统,其特征在于,所述系统包括监视服务器、为计划任务对应的业务功能提供业务数据的分布式数据库、分布式部署的多台执行服务器;
所述监视服务器包括:
配置单元,用于配置计划任务,形成配置数据;
存储单元,用于将计划任务的配置数据存储至为计划任务对应的业务功能提供业务数据的分布式数据库中;
每台执行服务器包括:
抢占单元,用于周期性读取分布式数据库中各计划任务的配置数据,当检测到符合执行条件的计划任务时,抢占所述符合执行条件的计划任务;
执行单元,用于如果本执行服务器抢占成功,执行所述符合执行条件的计划任务。
8.根据权利要求7所述的分布式部署计划任务的系统,其特征在于,所述计划任务的配置数据包括计划任务的执行时间、执行周期、执行程序和参数;
所述抢占单元包括:
判断模块,用于周期性读取分布式数据库中各计划任务的执行时间和执行周期,并结合各计划任务的配置数据存储至分布式数据库中的录入时间,判断是否存在符合执行条件的计划任务;
抢占模块,用于若检测到符合执行条件的计划任务,则抢占符合执行条件的计划任务;
所述执行单元包括:
读取模块,用于在本执行服务器抢占成功、其他执行服务器抢占失败所述符合执行条件的计划任务后,读取分布式数据库中当前计划任务的执行程序和参数;
执行模块,用于根据当前计划任务的执行程序和参数,执行一个执行周期的当前计划任务。
9.根据权利要求8所述的分布式部署计划任务的系统,其特征在于,所述计划任务的配置数据还包括计划任务的最大执行时长;
所述执行服务器还包括:
结束单元,用于如果本执行服务器抢占成功,读取分布式数据库中当前计划任务的最大执行时长,在实际执行时长超过对应的最大执行时长时,主动结束正在执行的当前计划任务;否则,在一个执行周期到达时,当前计划任务结束;
结束时间存储单元,用于将当前计划任务的结束时间存储至分布式数据库,所述结束时间包括执行完成一个执行周期的计划任务的结束时间、或者实际执行时长超过最大执行时长时主动结束正在执行的当前计划任务的结束时间。
10.根据权利要求9所述的分布式部署计划任务的系统,其特征在于,所述执行服务器还包括:
状态更新单元,用于以预定第一频率将本执行服务器的运行状态信息更新至分布式数据库中;
状态判定单元,用于读取分布式数据库中各台执行服务器的运行状态信息,若某台执行服务器在规定时间段内没有更新运行状态信息,则判定该执行服务器为死机状态,否则,判定该执行服务器为正常运行状态。
11.根据权利要求10所述的分布式部署计划任务的系统,其特征在于,所述判断模块具体用于:以预定第二频率读取当前时间;针对每一个计划任务:若当前时间为当前计划任务的录入时间之后的第一个执行时间,则判定当前计划任务符合执行条件,所述录入时间之后的第一个执行时间根据录入时间、执行时间和执行周期确定;若当前时间为在当前计划任务的第一个执行时间后至少一个执行周期的执行时间,则进一步判断分布式数据库中是否存储有上个执行周期当前计划任务的结束时间;若分布式数据库中存储有上个执行周期当前计划任务的结束时间,则判定当前计划任务符合执行条件;若分布式数据库中没有存储上个执行周期当前计划任务的结束时间、且上个执行周期当前计划任务的执行服务器为死机状态,则判定当前计划任务符合执行条件;
所述抢占模块具体用于:在本执行服务器为正常运行状态下,检测到符合执行条件的计划任务时,若当前时间为当前计划任务的录入时间之后的第一个执行时间,则尝试使用当前时间写入分布式数据库中,作为当前计划任务第一次执行周期的被抢占时间;若当前时间为在当前计划任务的第一个执行时间后至少一个执行周期的执行时间,则尝试使用当前时间更新分布式数据库中当前计划任务在上次执行周期的被抢占时间;以及,首先将当前时间写入分布式数据库中的执行服务器数据更新成功,其他执行服务器数据更新失败;数据更新成功的执行服务器为抢占当前计划任务成功的执行服务器;数据更新失败的执行服务器为抢占当前计划任务失败的执行服务器。
12.根据权利要求8至11中任一项所述的分布式部署计划任务的系统,其特征在于,所述抢占单元还包括:
抢占信息存储模块,用于将抢占信息存储至分布式数据库,所述抢占信息表示本执行服务器每次抢占符合执行条件的计划任务的结果;
所述监视服务器还包括:
查看单元,用于分布式数据库中存储的数据取出,并进行查看;
所述分布式数据库中存储的数据包括:各计划任务的ID、各计划任务的配置数据、各台执行服务器的运行状态信息、各计划任务的各执行周期的结束时间、各计划任务在当前执行周期的被抢占时间、各执行服务器的抢占信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710699914.5A CN107566460B (zh) | 2017-08-16 | 2017-08-16 | 分布式部署计划任务的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710699914.5A CN107566460B (zh) | 2017-08-16 | 2017-08-16 | 分布式部署计划任务的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107566460A true CN107566460A (zh) | 2018-01-09 |
CN107566460B CN107566460B (zh) | 2020-06-05 |
Family
ID=60974406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710699914.5A Active CN107566460B (zh) | 2017-08-16 | 2017-08-16 | 分布式部署计划任务的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107566460B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110263098A (zh) * | 2019-06-19 | 2019-09-20 | 北京百度网讯科技有限公司 | 应用于分布式作业引擎的分布式作业方法、系统以及装置 |
CN110908776A (zh) * | 2018-09-17 | 2020-03-24 | 网宿科技股份有限公司 | 定时任务的执行方法及相关装置、计算机可读存储介质 |
CN111078670A (zh) * | 2019-12-19 | 2020-04-28 | 上海达梦数据库有限公司 | 数据库执行计划清除方法、装置、设备和存储介质 |
CN111142977A (zh) * | 2019-12-26 | 2020-05-12 | 深圳前海环融联易信息科技服务有限公司 | 一种定时任务的处理方法、装置、计算机设备及存储介质 |
CN111277373A (zh) * | 2020-01-14 | 2020-06-12 | 深圳震有科技股份有限公司 | 一种服务器切换的控制方法、终端及存储介质 |
WO2020228036A1 (zh) * | 2019-05-16 | 2020-11-19 | 深圳市欢太科技有限公司 | 任务处理方法、装置、系统、电子设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0644484A2 (en) * | 1993-09-21 | 1995-03-22 | Microsoft Corporation | Pre-emptive multi-tasking with co-operative groups of tasks |
US20040054583A1 (en) * | 2002-05-03 | 2004-03-18 | Nye Andrew B. | System and method for downloading marketing messages to a point of sale printer |
CN101059765A (zh) * | 2006-01-09 | 2007-10-24 | 中山大学 | 一种数字家庭网络多任务并发执行的装置及方法 |
US20120324447A1 (en) * | 2011-06-16 | 2012-12-20 | Ucirrus Corporation | Software virtual machine for acceleration of transactional data processing |
CN102857363A (zh) * | 2012-05-04 | 2013-01-02 | 运软网络科技(上海)有限公司 | 一种虚拟网络的自主管理系统和方法 |
US8555282B1 (en) * | 2007-07-27 | 2013-10-08 | Dp Technologies, Inc. | Optimizing preemptive operating system with motion sensing |
CN103810025A (zh) * | 2012-11-09 | 2014-05-21 | 中国科学院沈阳计算技术研究所有限公司 | 一种适用于数控系统容错调度的方法 |
CN105530298A (zh) * | 2015-12-14 | 2016-04-27 | 微梦创科网络科技(中国)有限公司 | 计划任务单例程序的部署及运行方法、装置和系统 |
CN105677468A (zh) * | 2016-01-06 | 2016-06-15 | 北京京东尚科信息技术有限公司 | 缓存及其设计方法以及利用该缓存的调度方法和调度装置 |
WO2016205417A1 (en) * | 2015-06-15 | 2016-12-22 | Datto, Inc. | Methods, systems and apparatuses for managing prioritization of time-based processes |
-
2017
- 2017-08-16 CN CN201710699914.5A patent/CN107566460B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0644484A2 (en) * | 1993-09-21 | 1995-03-22 | Microsoft Corporation | Pre-emptive multi-tasking with co-operative groups of tasks |
US20040054583A1 (en) * | 2002-05-03 | 2004-03-18 | Nye Andrew B. | System and method for downloading marketing messages to a point of sale printer |
CN101059765A (zh) * | 2006-01-09 | 2007-10-24 | 中山大学 | 一种数字家庭网络多任务并发执行的装置及方法 |
US8555282B1 (en) * | 2007-07-27 | 2013-10-08 | Dp Technologies, Inc. | Optimizing preemptive operating system with motion sensing |
US20120324447A1 (en) * | 2011-06-16 | 2012-12-20 | Ucirrus Corporation | Software virtual machine for acceleration of transactional data processing |
CN102857363A (zh) * | 2012-05-04 | 2013-01-02 | 运软网络科技(上海)有限公司 | 一种虚拟网络的自主管理系统和方法 |
CN103810025A (zh) * | 2012-11-09 | 2014-05-21 | 中国科学院沈阳计算技术研究所有限公司 | 一种适用于数控系统容错调度的方法 |
WO2016205417A1 (en) * | 2015-06-15 | 2016-12-22 | Datto, Inc. | Methods, systems and apparatuses for managing prioritization of time-based processes |
CN105530298A (zh) * | 2015-12-14 | 2016-04-27 | 微梦创科网络科技(中国)有限公司 | 计划任务单例程序的部署及运行方法、装置和系统 |
CN105677468A (zh) * | 2016-01-06 | 2016-06-15 | 北京京东尚科信息技术有限公司 | 缓存及其设计方法以及利用该缓存的调度方法和调度装置 |
Non-Patent Citations (2)
Title |
---|
LYNDON_NFC: "分布式定时任务(一)", 《简书》 * |
杭州电子科技大学专项课题组: "阿里云开放平台", 《杭州市云计算产业发展报告2012》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110908776A (zh) * | 2018-09-17 | 2020-03-24 | 网宿科技股份有限公司 | 定时任务的执行方法及相关装置、计算机可读存储介质 |
WO2020228036A1 (zh) * | 2019-05-16 | 2020-11-19 | 深圳市欢太科技有限公司 | 任务处理方法、装置、系统、电子设备及存储介质 |
CN110263098A (zh) * | 2019-06-19 | 2019-09-20 | 北京百度网讯科技有限公司 | 应用于分布式作业引擎的分布式作业方法、系统以及装置 |
CN111078670A (zh) * | 2019-12-19 | 2020-04-28 | 上海达梦数据库有限公司 | 数据库执行计划清除方法、装置、设备和存储介质 |
CN111078670B (zh) * | 2019-12-19 | 2023-06-20 | 上海达梦数据库有限公司 | 数据库执行计划清除方法、装置、设备和存储介质 |
CN111142977A (zh) * | 2019-12-26 | 2020-05-12 | 深圳前海环融联易信息科技服务有限公司 | 一种定时任务的处理方法、装置、计算机设备及存储介质 |
CN111142977B (zh) * | 2019-12-26 | 2023-08-18 | 深圳前海环融联易信息科技服务有限公司 | 一种定时任务的处理方法、装置、计算机设备及存储介质 |
CN111277373A (zh) * | 2020-01-14 | 2020-06-12 | 深圳震有科技股份有限公司 | 一种服务器切换的控制方法、终端及存储介质 |
CN111277373B (zh) * | 2020-01-14 | 2022-08-16 | 深圳震有科技股份有限公司 | 一种服务器切换的控制方法、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107566460B (zh) | 2020-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107566460A (zh) | 分布式部署计划任务的方法和系统 | |
US9984140B1 (en) | Lease based leader election system | |
JP6688835B2 (ja) | マルチアイテムトランザクションサポートを有するマルチデータベースログ | |
US11341115B2 (en) | Multi-database log with multi-item transaction support | |
US9442813B2 (en) | Replaying jobs at a secondary location of a service | |
US9619278B2 (en) | Log-based concurrency control using signatures | |
US9619544B2 (en) | Distributed state management using dynamic replication graphs | |
US7805583B1 (en) | Method and apparatus for migrating data in a clustered computer system environment | |
CN107148617B (zh) | 日志协调存储组的自动配置 | |
CN104468521B (zh) | 在线迁移方法、装置和系统 | |
US20150379100A1 (en) | Coordinated suspension of replication groups | |
US20150378775A1 (en) | Log-based transaction constraint management | |
EP2864888B1 (en) | Non-disruptive controller replacement in network storage systems | |
CN107480014A (zh) | 一种高可用设备切换方法及装置 | |
CN106886450A (zh) | 任务调度方法和系统 | |
CN110402429A (zh) | 复制用于管理基于云的资源的存储表以抵挡存储账户中断 | |
CN102968457B (zh) | 数据库间切换方法和系统 | |
CN106331081A (zh) | 一种信息同步方法及装置 | |
CN109542636A (zh) | 一种数据更新的方法及装置 | |
CN106777126A (zh) | 一种支持异构时序数据库的数据在线迁移方法 | |
CN108600284B (zh) | 一种基于Ceph的虚拟机高可用实现方法及系统 | |
CN110737504B (zh) | 一种深度学习模型训练容错方法、系统、终端及存储介质 | |
CN107015855A (zh) | 一种支持时间策略的异步服务集中调度方法及装置 | |
CN110297822A (zh) | 面向区块链的密钥管理方法、装置、设备及存储介质 | |
CN104811348A (zh) | 可用性装置、具有可用性装置的储存局域网络及其操作方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |