定时任务引擎加载方法及系统技术方案

技术编号:35357336 阅读:18 留言:0更新日期:2022-10-26 12:36
本申请提供了一种定时任务引擎加载方法及系统,涉及数据维护领域,可应用于金融领域和其他领域,所述方法包含:获取定时任务参数,将所述定时任务参数加入预设的定时任务数据表;按预设周期读取所述定时任务数据表,根据所述定时任务数据表筛选获得新增的定时任务参数,通过所述定时任务参数将对应的定时任务更新至内存;读取并解析内存中的定时任务,根据所述定时任务的执行时间调用对应的业务执行组件执行所述定时任务;以此,对于联机定时任务的执行计划的维护和同步到内存做了封装,开发人员只用关心实际的业务处理逻辑和启动时间与频率即可。时间与频率即可。时间与频率即可。

【技术实现步骤摘要】
定时任务引擎加载方法及系统


[0001]本申请涉及数据维护领域,可应用于金融领域和其他领域,尤指一种定时任务引擎加载方法及系统。

技术介绍

[0002]应用系统中经常需要定时或指定间隔去执行一些固定的计算来分散应用服务器的计算压力,例如一个自动收费功能,从软件设计角度一般会将此功能拆分成更细小的业务处理模块:自动计费、自动扣费、扣费异常结果处理。待收费的项目随着联机交易的增加而增加,如果集中在某一时间执行自动收费可能会在瞬时增加服务器的压力,所以最好指定在每天业务空闲期再执行。并且当应用系统举办一些秒杀、推广活动的时候,需要业务人员调整定时任务的启动时间和间隔时间来躲避这些临时的业务高峰,那么就需要一个易维护热加载的定时任务机制将开发的不同定时任务组织起来。
[0003]现有技术中,Quartz本身是个定时任务框架,但是定时运行的配置信息一般存在xml配置文件中,修改定时信息需要修改配置文件后再重启服务才能生效。这种更新文件的动作一般是由系统运维工程师来做,业务同时无法及时根据需要修改定时信息。

技术实现思路

[0004]本申请目的在于提供一种定时任务引擎加载方法及系统,在保证易维护和热加载的同时,可有效组织多个定时任务并提供非系统运维工程师的需求人员灵活定义的设置通道。
[0005]为达上述目的,本申请所提供的定时任务引擎加载方法,具体包含:获取定时任务参数,将所述定时任务参数加入预设的定时任务数据表;按预设周期读取所述定时任务数据表,根据所述定时任务数据表筛选获得新增的定时任务参数,通过所述定时任务参数将对应的定时任务更新至内存;读取并解析内存中的定时任务,根据所述定时任务的执行时间调用对应的业务执行组件执行所述定时任务。
[0006]在上述定时任务引擎加载方法中,可选的,按预设周期读取所述定时任务数据表,根据所述定时任务数据表筛选获得新增的定时任务参数包含:按预设周期解析所述定时任务数据表获得所有定时任务参数;根据所述定时任务参数于内存中查询对应的定时任务;根据查询结果获得新增的定时任务参数。
[0007]在上述定时任务引擎加载方法中,可选的,按预设周期读取所述定时任务数据表,根据所述定时任务数据表筛选获得新增的定时任务参数,通过所述定时任务参数将对应的定时任务更新至内存还包含:解析获得所有定时任务参数中各定时任务对应的第一执行时间;将所述第一执行时间与所述内存中对应的定时任务的第二执行时间进行比较;根据比较结果通过所述第一执行时间更新所述第二执行时间。
[0008]在上述定时任务引擎加载方法中,可选的,读取并解析内存中的定时任务还包含:将内存中的所有定时任务与所述定时任务数据表中定时任务进行比较,根据比较结果生成
关闭指令。
[0009]在上述定时任务引擎加载方法中,可选的,读取并解析内存中的定时任务还包含:根据所述关闭指令于内存中删除对应的定时任务。
[0010]本申请还提供一种定时任务引擎加载系统,所述系统包含定时任务维护模块、框架刷新模块和定时任务框架模块;所述定时任务维护模块用于获取定时任务参数,将所述定时任务参数加入预设的定时任务数据表;所述框架刷新模块用于按预设周期读取所述定时任务数据表,根据所述定时任务数据表筛选获得新增的定时任务参数,通过所述定时任务参数将对应的定时任务更新至内存;所述定时任务框架模块用于读取并解析内存中的定时任务,根据所述定时任务的执行时间调用对应的业务执行组件执行所述定时任务。
[0011]在上述定时任务引擎加载系统中,可选的,所述框架刷新模块包含刷新单元和更新单元;所述刷新单元用于按预设周期解析所述定时任务数据表获得所有定时任务参数,根据所述定时任务参数于内存中查询对应的定时任务,根据查询结果获得新增的定时任务参数;所述更新单元用于根据所述定时任务参数生成对应的定时任务,将所述定时任务更新至内存。
[0012]在上述定时任务引擎加载系统中,可选的,所述刷新单元还包含比对组件,所述比对组件用于解析获得所有定时任务参数中各定时任务对应的第一执行时间,将所述第一执行时间与所述内存中对应的定时任务的第二执行时间进行比较,根据比较结果通过所述第一执行时间更新所述第二执行时间。
[0013]在上述定时任务引擎加载系统中,可选的,所述框架刷新模块还包含筛查单元,所述筛查单元用于将内存中的所有定时任务与所述定时任务数据表中定时任务进行比较,根据比较结果生成关闭指令。
[0014]在上述定时任务引擎加载系统中,可选的,所述定时任务框架模块还包含关闭单元,所述关闭单元用于根据所述关闭指令于内存中删除对应的定时任务。
[0015]本申请还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
[0016]本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
[0017]本申请还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述方法的步骤。
[0018]本申请的有益技术效果在于:对于联机定时任务的执行计划的维护和同步到内存做了封装,开发人员只用关心实际的业务处理逻辑和启动时间与频率,具体通过把业务人员维护的定时任务信息储存于数据表中,应用系统自身指定间隔时间去数据库读取定时任务信息并加联机加载覆盖到应用系统的内存,以实现将维护动作放权给需求用户,应用程序定时读取定时信息并且通过操作内存的方法将需求用户维护的定时信息实时加载到内存中并生效。
附图说明
[0019]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构成对本申请的限定。在附图中:
[0020]图1为本申请一实施例所提供的定时任务引擎加载方法的流程示意图;
[0021]图2为本申请一实施例所提供的新增定时任务参数的获取流程示意图;
[0022]图3为本申请一实施例所提供的时间更新的流程示意图;
[0023]图4为本申请一实施例所提供的定时任务引擎加载系统的结构示意图;
[0024]图5为本申请一实施例所提供的框架刷新模块的结构示意图;
[0025]图6为本申请一实施例所提供的框架刷新模块的结构示意图;
[0026]图7为本申请一实施例所提供的电子设备的结构示意图。
具体实施方式
[0027]以下将结合附图及实施例来详细说明本申请的实施方式,借此对本申请如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本申请中的各个实施例及各实施例中的各个特征可以相互结合,所形成的技术方案均在本申请的保护范围之内。
[0028]另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0029]请本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种定时任务引擎加载方法,其特征在于,所述方法包含:获取定时任务参数,将所述定时任务参数加入预设的定时任务数据表;按预设周期读取所述定时任务数据表,根据所述定时任务数据表筛选获得新增的定时任务参数,通过所述定时任务参数将对应的定时任务更新至内存;读取并解析内存中的定时任务,根据所述定时任务的执行时间调用对应的业务执行组件执行所述定时任务。2.根据权利要求1所述的定时任务引擎加载方法,其特征在于,按预设周期读取所述定时任务数据表,根据所述定时任务数据表筛选获得新增的定时任务参数包含:按预设周期解析所述定时任务数据表获得所有定时任务参数;根据所述定时任务参数于内存中查询对应的定时任务;根据查询结果获得新增的定时任务参数。3.根据权利要求2所述的定时任务引擎加载方法,其特征在于,按预设周期读取所述定时任务数据表,根据所述定时任务数据表筛选获得新增的定时任务参数,通过所述定时任务参数将对应的定时任务更新至内存还包含:解析获得所有定时任务参数中各定时任务对应的第一执行时间;将所述第一执行时间与所述内存中对应的定时任务的第二执行时间进行比较;根据比较结果通过所述第一执行时间更新所述第二执行时间。4.根据权利要求1所述的定时任务引擎加载方法,其特征在于,读取并解析内存中的定时任务还包含:将内存中的所有定时任务与所述定时任务数据表中定时任务进行比较,根据比较结果生成关闭指令。5.根据权利要求4所述的定时任务引擎加载方法,其特征在于,读取并解析内存中的定时任务还包含:根据所述关闭指令于内存中删除对应的定时任务。6.一种定时任务引擎加载系统,其特征在于,所述系统包含定时任务维护模块、框架刷新模块和定时任务框架模块;所述定时任务维护模块用于获取定时任务参数,将所述定时任务参数加入预设的定时任务数据表;所述框架刷新模块用于按预设周期读取所述定时任务数据表,根据所述定时任务数据表筛选获...

【专利技术属性】
技术研发人员:孟庆宇丁楠钟诚
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:

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

1