定时任务执行方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:24572739 阅读:28 留言:0更新日期:2020-06-20 23:57
本申请涉及运维领域,具体是一种定时任务执行方法、装置、计算机设备和存储介质。所述方法包括:周期性地从主数据库读取定时任务的配置信息,并根据所述配置信息检测各个定时任务的下次调度时间点是否与当前时间点匹配;若检测到下次调度时间点与当前时间点匹配的目标定时任务,则判断所述目标定时任务是否存在关联的子任务,所述关联的子任务是将所述目标定时任务进行划分得到的多个子任务;当所述目标定时任务存在关联的子任务时,则获取到关联的子任务;执行所述子任务得到子任务执行结果,并根据所述子任务执行结果得到目标执行结果。采用本方法能够提高服务器性能。

Timing task execution method, device, computer equipment and storage medium

【技术实现步骤摘要】
定时任务执行方法、装置、计算机设备和存储介质
本申请涉及运维管理
,特别是涉及一种定时任务执行方法、装置、计算机设备和存储介质。
技术介绍
在运维平台的搭建过程中,需要开发人员针对运维平台的运维功能及运维管理业务进行脚本开发,在此过程中开发人员也需要在开发出来的运维平台上通过于不同的时间点定时地运行至少一个任务的方式,来测试该运维平台的平台功能或实现该运维平台的某些业务需求。目前业内的任务调度系统一般是以QUARTZ框架为代表的JAVA定时任务执行框架。该框架通常结合SPRING框架,使用QUARTZ规定的调度频率表达式,可以较为灵活的进行任务调度。但是这种情况下,当某个定时任务所涉及的数据量较大时,该任务的执行若出现错误,则需要回滚的数据量也较大,从而导致占用大量的磁盘空间,影响服务器的性能。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够提高服务器性能的定时任务执行方法、装置、计算机设备和存储介质。一种定时任务执行方法,所述方法包括:周期性地从主数据库读取定时任务的配置信息,并根据所述配置信息检测各个定时任务的下次调度时间点是否与当前时间点匹配;若检测到下次调度时间点与当前时间点匹配的目标定时任务,则判断所述目标定时任务是否存在关联的子任务,所述关联的子任务是将所述目标定时任务进行划分得到的多个子任务;当所述目标定时任务存在关联的子任务时,则获取到关联的子任务;执行所述子任务得到子任务执行结果,并根据所述子任务执行结果得到目标执行结果。在其中一个实施例中,所述方法还包括:接收针对所述配置信息的修改请求,所述修改请求携带有任务的调度逻辑类型;获取并显示与所述调度逻辑类型对应的代码段;接收针对所述代码段的修改指令,并根据修改指令对所述调度逻辑类型进行修改,根据修改后的调度逻辑类型生成新的配置信息。在其中一个实施例中,所述判断所述目标定时任务是否存在关联的子任务,包括:从所述配置信息中读取所述目标定时任务的优先级,并根据所述优先级对所述目标定时任务进行排序;获取分配线程,并在所述分配线程中依次添加排序后的所述目标定时任务;修改添加到所述分配线程中的所述目标定时任务的状态修改为执行中;在所述分配线程中判断所述目标定时任务是否存在关联的子任务。在其中一个实施例中,所述在所述分配线程中依次添加排序后的所述目标定时任务,包括:根据所述配置信息判断所述目标定时任务是否支持并发执行;如果所述目标定时任务支持并发执行,则从线程池中获取空闲线程,并将支持并发执行的所述目标定时任务添加到所述空闲线程中;如果所述目标定时任务不支持并发执行,则在所述分配线程中依次添加排序后的所述目标定时任务。在其中一个实施例中,所述方法还包括:判断在任务执行过程中是否存在异常;如果存在异常,则判断重新执行次数是否超过预设次数;如果没有超过预设次数,则继续判断所述目标定时任务是否存在关联的子任务;如果超过预设次数,则将所述目标定时任务的状态修改为异常,并对状态为异常的目标定时任务对应的数据进行回滚。一种定时任务执行装置,所述装置包括:检测模块,用于周期性地从主数据库读取定时任务的配置信息,并根据所述配置信息检测各个定时任务的下次调度时间点是否与当前时间点匹配;判断模块,用于若检测到下次调度时间点与当前时间点匹配的目标定时任务,则判断所述目标定时任务是否存在关联的子任务,所述关联的子任务是将所述目标定时任务进行划分得到的多个子任务;子任务获取模块,用于当所述目标定时任务存在关联的子任务时,则获取到关联的子任务;执行模块,用于执行所述子任务得到子任务执行结果,并根据所述子任务执行结果得到目标执行结果。在其中一个实施例中,所述装置还包括:接收模块,用于接收针对所述配置信息的修改请求,所述修改请求携带有任务的调度逻辑类型;代码段获取模块,用于获取并显示与所述调度逻辑类型对应的代码段;修改模块,用于接收针对所述代码段的修改指令,并根据修改指令对所述调度逻辑类型进行修改,根据修改后的调度逻辑类型生成新的配置信息。在其中一个实施例中,所述判断模块包括:排序单元,用于从所述配置信息中读取所述目标定时任务的优先级,并根据所述优先级对所述目标定时任务进行排序;分配单元,用于获取分配线程,并在所述分配线程中依次添加排序后的所述目标定时任务;状态修改单元,用于修改添加到所述分配线程中的所述目标定时任务的状态修改为执行中;判断单元,用于在所述分配线程中判断所述目标定时任务是否存在关联的子任务。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。上述定时任务执行方法、装置、计算机设备和存储介质,定时查询主数据库中的配置文件,并根据配置文件判断定时任务是否要被执行,且在定时任务需要被执行时,则判断定时任务是否存在子任务,如果存在子任务,则获取到该些子任务进行执行,该些子任务是将定时任务划分的多个关联的任务,这样在定时任务执行出错,即其中一个子任务执行出错时,则只需要回滚该一个子任务对应的数据即可,不需要将整个定时任务的数据均进行回滚,不会占用大量的磁盘空间,从而也不会降低服务器的性能。附图说明图1为一个实施例中定时任务执行方法的应用场景图;图2为一个实施例中定时任务执行方法的流程示意图;图3为另一个实施例中定时任务执行方法的流程示意图;图4为一个实施例中定时任务执行装置的结构框图;图5为一个实施例中计算机设备的内部结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本申请提供的定时任务执行方法,可以应用于如图1所示的应用环境中。其中,服务器102通过网络与主数据库104通过网络进行通信。其中服务器102可以从主数据库读取定时任务的配置信息,并根据配置信息确定待执行的目标定时任务,从而可以确定目标定时任务是否存在关联的子任务,该关联的子任务是将定时任务进行划分得到的多个子任务,从而可以执行子任务以得到子任务执行结果,并根据子任务执行结果得到目标执行结果,这样在定时任务执行出错,即其中一个子任务执行出错时,则只需要回滚该一个子任务对应的数据即可,不需要将整个定时任务的数据均进行回滚,不会占用大量的磁盘空间,从而也不会降低服务器的性能。其中,服务器102可以用独立的服务器或者是多个服务器组成的服务器集群来实现。在一个实施例中,如图2所示,提供了一种定时任务执行方法本文档来自技高网...

【技术保护点】
1.一种定时任务执行方法,所述方法包括:/n周期性地从主数据库读取定时任务的配置信息,并根据所述配置信息检测各个定时任务的下次调度时间点是否与当前时间点匹配;/n若检测到下次调度时间点与当前时间点匹配的目标定时任务,则判断所述目标定时任务是否存在关联的子任务,所述关联的子任务是将所述目标定时任务进行划分得到的多个子任务;/n当所述目标定时任务存在关联的子任务时,则获取到关联的子任务;/n执行所述子任务得到子任务执行结果,并根据所述子任务执行结果得到目标执行结果。/n

【技术特征摘要】
1.一种定时任务执行方法,所述方法包括:
周期性地从主数据库读取定时任务的配置信息,并根据所述配置信息检测各个定时任务的下次调度时间点是否与当前时间点匹配;
若检测到下次调度时间点与当前时间点匹配的目标定时任务,则判断所述目标定时任务是否存在关联的子任务,所述关联的子任务是将所述目标定时任务进行划分得到的多个子任务;
当所述目标定时任务存在关联的子任务时,则获取到关联的子任务;
执行所述子任务得到子任务执行结果,并根据所述子任务执行结果得到目标执行结果。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收针对所述配置信息的修改请求,所述修改请求携带有任务的调度逻辑类型;
获取并显示与所述调度逻辑类型对应的代码段;
接收针对所述代码段的修改指令,并根据修改指令对所述调度逻辑类型进行修改,根据修改后的调度逻辑类型生成新的配置信息。


3.根据权利要求1所述的方法,其特征在于,所述判断所述目标定时任务是否存在关联的子任务,包括:
从所述配置信息中读取所述目标定时任务的优先级,并根据所述优先级对所述目标定时任务进行排序;
获取分配线程,并在所述分配线程中依次添加排序后的所述目标定时任务;
修改添加到所述分配线程中的所述目标定时任务的状态修改为执行中;
在所述分配线程中判断所述目标定时任务是否存在关联的子任务。


4.根据权利要求3所述的方法,其特征在于,所述在所述分配线程中依次添加排序后的所述目标定时任务,包括:
根据所述配置信息判断所述目标定时任务是否支持并发执行;
如果所述目标定时任务支持并发执行,则从线程池中获取空闲线程,并将支持并发执行的所述目标定时任务添加到所述空闲线程中;
如果所述目标定时任务不支持并发执行,则在所述分配线程中依次添加排序后的所述目标定时任务。


5.根据权利要求1至4任意一项所述的方法,其特征在于,所述方法还包括:
判断在任务执行过程中是否存在异常;
如果存在异常,则判断重新执行次数是否超过预设次数;
如果没有超过预设次数,则继续判断所述目标...

【专利技术属性】
技术研发人员:王超
申请(专利权)人:中国平安财产保险股份有限公司
类型:发明
国别省市:广东;44

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

1