定时任务管理方法及系统技术方案

技术编号:32744615 阅读:33 留言:0更新日期:2022-03-20 08:51
本申请实施例提供一种定时任务管理方法及系统。方法包括:基于预设定时任务信息规则进行当前定时任务创建,并基于创建的定时任务的定时任务信息获得当前定时任务的权重;将当前定时任务的权重与实时执行队列中各定时任务的权重进行对比,确定当前定时任务的执行规则;其中,所述执行规则包括当前定时任务的执行时间和分配的线程;基于所述执行规则执行所述当前定时任务,并在所述当前定时任务执行过程中实时记录进程日志。本发明专利技术保证了重要定时任务优先执行,提高了用户满意度,且通过日志进行定时任务管理,实现了定时任务执行过程的可控性。可控性。可控性。

【技术实现步骤摘要】
定时任务管理方法及系统


[0001]本申请涉及计算机
,具体涉及一种定时任务管理方法及一种定时任务管理系统。

技术介绍

[0002]定时任务在实际的开发中特别常见,比如电商平台30分钟后自动取消未支付的订单,以及凌晨的数据汇总和备份等,都需要借助定时任务来实现。现有的执行定时任务主要有Timer算法、ScheduledExecutorService算法和Spring Task算法等几种常用的算法,但这些算法均存在一定的弊端,例如任务异常时会影响其他任务、响应时间长等。但无论是哪种算法,均存在定时任务执行过程中不可干预和不可控制的问题,这也是现有定时任务执行过程中存在的通病。
[0003]在现有的定时任务执行过程中,仅能收到开始执行和执行完成两个反馈结果,无法对其过程参数进行控制和修改,且其执行过程信息本身就执行困难。在实际使用过程中,往往存在这种情况,即在资源有限的情况下,当出现亟需处理的定时任务时,会导致此时执行队列已满而无法立即执行紧急定时任务的情况,这在用户存在紧急需求时会极大的影响用户体验。针对现有定时任务管理方法存在的弊端,需要创造一种新的定时任务管理方法。

技术实现思路

[0004]本申请实施例的目的是提供一种定时任务管理方法及定时任务管理方法系统,以解决现有技术的上述问题。
[0005]为了实现上述目的,本申请第一方面提供一种定时任务管理方法,包括:基于预设定时任务信息规则进行当前定时任务创建,并基于创建的定时任务的定时任务信息获得当前定时任务的权重;将当前定时任务的权重与实时执行队列中各定时任务的权重进行对比,确定当前定时任务的执行规则;其中,所述执行规则包括当前定时任务的执行时间和分配的线程;基于所述执行规则执行所述当前定时任务,并在所述当前定时任务执行过程中实时记录进程日志。
[0006]在本申请实施例中,所述预设定时任务信息规则包括:定时任务配置信息和资源对象配置实体信息;其中,所述定时任务配置信息包括:定时任务的ID、Cron表达式、任务名称、开始时间、结束条件、执行次数、权重、创建时间和修改时间;所述资源对象配置实体信息包括:资源对象的配置ID、任务关联ID、配置名称、资源获取方式、路由、资源对象标识、创建时间和修改时间。
[0007]在本申请实施例中,所述方法还包括:确定是否存在已创建的定时任务;若存在已创建的定时任务,基于所述定时任务配置信息和所述资源对象配置实体信息进行所述已创建的定时任务初始化,并将初始化后的定时任务作为当前定时任务。
[0008]在本申请实施例中,所述将当前定时任务的权重与实时执行队列中各定时任务的权重进行对比,确定当前定时任务的执行规则,包括:若存在空余线程,忽略对比结果,将当
前定时任务直接加入到执行队列中,基于所述定时任务信息立即执行当前定时任务;若不存在空余线程,但所述执行队列中不存在权重小于当前定时任务的权重的定时任务,则将当前定时任务加入到预备队列中;若不存在空余线程,但所述执行队列中存在权重小于当前定时任务的权重的定时任务,则立即停止所述执行队列中权重最低的定时任务,将该权重最低的定时任务加入预备队列中,同时将该权重最低的定时任务的线程分配给当前定时任务。
[0009]在本申请实施例中,所述预备队列中的各定时任务是基于权重大小排序的,权重越大,执行顺序越靠前。
[0010]在本申请实施例中,所述方法还包括:在所述执行队列已满状态下,每执行完成一个定时任务,便基于所述预备队列中定时任务的排序,将排序中第一个未执行的定时任务加入到执行队列中。
[0011]在本申请实施例中,所述方法还包括:响应于用户的查询请求,调取对应查询目标的日志信息;其中,所述查询目标为对应的定时任务;所述日志信息为对应的定时任务执行过程中记录的执行过程信息。
[0012]本申请第二方面提供一种定时任务管理系统,包括:采集单元,用于获取定时任务信息,并基于所述定时任务信息获得当前定时任务的权重;处理单元,用于:将当前定时任务的权重与实时执行队列中各定时任务的权重进行对比,确定当前定时任务的执行规则;其中,所述执行规则包括当前定时任务的执行时间和分配的线程;基于所述执行规则执行所述当前定时任务,并在所述当前定时任务执行过程中实时记录进程日志。
[0013]在本申请实施例中,所述系统还包括:创建单元,用于基于预设定时任务信息规则进行当前定时任务创建或初始化已创建的定时任务。
[0014]在本申请实施例中,所述处理单元还用于:确定是否存在已创建的定时任务;若存在已创建的定时任务,基于所述定时任务配置信息和所述资源对象配置实体信息进行所述已创建的定时任务初始化,并将初始化后的定时任务作为当前定时任务。
[0015]在本申请实施例中,所述将当前定时任务的权重与实时执行队列中各定时任务的权重进行对比,确定当前定时任务的执行规则,包括:若存在空余线程,忽略对比结果,将当前定时任务直接加入到执行队列中,基于所述定时任务信息立即执行当前定时任务;若不存在空余线程,但所述执行队列中不存在权重小于当前定时任务的权重的定时任务,则将当前定时任务加入到预备队列中;若不存在空余线程,但所述执行队列中存在权重小于当前定时任务的权重的定时任务,则立即停止执行所述执行队列中权重最低的定时任务,将该权重最低的定时任务加入预备队列中,同时将该权重最低的定时任务的线程分配给当前定时任务。
[0016]在本申请实施例中,所述系统还包括:日志单元,用于实时记录定时任务的执行过程信息。
[0017]本申请第三方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得所述处理器被配置成执行上述的定时任务管理方法。
[0018]本申请第五方面提供一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现上述的定时任务管理方法。
[0019]通过上述技术方案,根据预设关系进行定时任务创建或初始化,为每一个定时任
务赋予权重,该权重表示了定时任务的重要程度,基于该重要程度制定权重越大,执行顺序越靠前的调控规则,保证重要定时任务优先执行,提高用户满意度。且在定时任务执行过程中,进行日志记录,无论是任务修改还是故障追踪,均可以基于日志进行,保证了定时任务执行过程的可控性。
[0020]本申请实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
[0021]附图是用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本申请实施例,但并不构成对本申请实施例的限制。在附图中:
[0022]图1示意性示出了根据本申请实施例的定时任务管理方法的步骤流程图;
[0023]图2示意性示出了根据本申请实施例的定时任务管理方系统的系统结构图;
[0024]图3示意性示出了根据本申请实施例的定时任务管理方法的流程框图。
具体实施方式
[0025]为使本申请实施例的目的、技本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种定时任务管理方法,其特征在于,所述方法包括:基于预设定时任务信息规则进行当前定时任务创建,并基于创建的定时任务的定时任务信息获得当前定时任务的权重;将当前定时任务的权重与实时执行队列中各定时任务的权重进行对比,确定当前定时任务的执行规则;其中,所述执行规则包括当前定时任务的执行时间和分配的线程;基于所述执行规则执行所述当前定时任务,并在所述当前定时任务执行过程中实时记录进程日志。2.根据权利要求1所述的方法,其特征在于,所述预设定时任务信息规则包括:定时任务配置信息和资源对象配置实体信息;其中,所述定时任务配置信息包括:定时任务的ID、Cron表达式、任务名称、开始时间、结束条件、执行次数、权重、创建时间和修改时间;所述资源对象配置实体信息包括:资源对象的配置ID、任务关联ID、配置名称、资源获取方式、路由、资源对象标识、创建时间和修改时间。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:确定是否存在已创建的定时任务;若存在已创建的定时任务,基于所述定时任务配置信息和所述资源对象配置实体信息进行所述已创建的定时任务初始化,并将初始化后的定时任务作为当前定时任务。4.根据权利要求1所述的方法,其特征在于,所述将当前定时任务的权重与实时执行队列中各定时任务的权重进行对比,确定当前定时任务的执行规则,包括:若存在空余线程,忽略对比结果,将当前定时任务直接加入到执行队列中,基于所述定时任务信息立即执行当前定时任务;若不存在空余线程,但所述执行队列中不存在权重小于当前定时任务的权重的定时任务,则将当前定时任务加入到预备队列中;若不存在空余线程,但所述执行队列中存在权重小于当前定时任务的权重的定时任务,则立即停止执行所述执行队列中权重最低的定时任务,将该权重最低的定时任务加入预备队列中,同时将该权重最低的定时任务的线程分配给当前定时任务。5.根据权利要求4所述的方法,其特征在于,所述预备队列中的各定时任务是基于权重大小排序的,权重越大,执行顺序越靠前。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:在所述执行队列已满状态下,每执行完成一个定时任务,便基于所述预备队列中定时任务的排序,将排序中第一个未执行的定时任务加入到执行队列中。7.根据权利要求6所述的方法,其特征在于,所述方...

【专利技术属性】
技术研发人员:韩保鑫崔成龙
申请(专利权)人:建信金融科技有限责任公司
类型:发明
国别省市:

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

1