一种任务调度方法、装置、电子设备及计算机可读介质制造方法及图纸

技术编号:32918586 阅读:13 留言:0更新日期:2022-04-07 12:09
本申请公开了任务调度方法、装置、电子设备及计算机可读介质,涉及计算机技术领域,该方法包括:接收任务调度请求,获取定时任务存储数组,确定定时任务存储数组中各定时任务对应的任务周期时间和任务执行时间;获取当前时间,进而计算各任务执行时间与当前时间的时间差;基于各任务周期时间和各时间差,生成对应各定时任务的三元组;基于各三元组,调度定时任务存储数组中对应的定时任务。通过将定时任务抽象为三元组,定时任务调度时不受系统时间影响,提高任务调度的时间精度和任务调度性能。能。能。

【技术实现步骤摘要】
一种任务调度方法、装置、电子设备及计算机可读介质


[0001]本申请涉及计算机
,尤其涉及一种任务调度方法、装置、电子设备及计算机可读介质。

技术介绍

[0002]现有的定时任务调度,基于系统时间实现,采用复杂的调度算法,容易受系统时间影响,改变系统时间会影响任务的正常执行;并且实现复杂,影响任务调度的时间精度、性能。
[0003]在实现本申请过程中,专利技术人发现现有技术中至少存在如下问题:
[0004]现有的定时任务调度实现复杂,影响任务调度的时间精度、性能。

技术实现思路

[0005]有鉴于此,本申请实施例提供一种任务调度方法、装置、电子设备及计算机可读介质,能够解决现有的定时任务调度实现复杂,影响任务调度的时间精度、性能的问题。
[0006]为实现上述目的,根据本申请实施例的一个方面,提供了一种任务调度方法,包括:
[0007]接收任务调度请求,获取定时任务存储数组,确定定时任务存储数组中各定时任务对应的任务周期时间和任务执行时间;
[0008]获取当前时间,进而计算各任务执行时间与当前时间的时间差;
[0009]基于各任务周期时间和各时间差,生成对应各定时任务的三元组;
[0010]基于各三元组,调度定时任务存储数组中对应的定时任务。
[0011]可选地,计算各任务执行时间与当前时间的时间差,包括:
[0012]计算当前时间与各任务执行时间的差值;
[0013]确定各差值对应的秒数,进而将各秒数确定为各任务执行时间与当前时间的时间差。
[0014]可选地,生成对应各定时任务的三元组,包括:
[0015]获取各定时任务对应的任务函数;
[0016]基于任务周期时间确定一次性任务和周期性任务;
[0017]将一次性任务的对应的任务周期时间设定为0,将周期性任务对应的任务周期时间换算为秒数,进而根据各任务函数和各时间差生成对应各定时任务的三元组。
[0018]可选地,基于各三元组,调度定时任务存储数组中对应的定时任务,包括:
[0019]基于各三元组,获取对应的各定时任务的时间差;
[0020]获取时间累积器的值,进而基于时间累积器的值更新各定时任务的时间差;
[0021]遍历定时任务数组中的各定时任务,将更新后的时间差小于或等于0时对应的定时任务确定为目标定时任务并执行;
[0022]响应于目标定时任务执行结束并确定目标定时任务对应的任务周期时间不为0,
将目标定时任务对应的三元组中的时间差重置为目标定时任务对应的三元组中的任务周期时间。
[0023]可选地,基于各三元组,调度定时任务存储数组中对应的定时任务,还包括:
[0024]响应于目标定时任务执行结束并确定目标定时任务对应的任务周期时间为0,删除目标定时任务。
[0025]可选地,删除目标定时任务,包括:
[0026]获取定时任务存储数组中最后一个定时任务;
[0027]将最后一个定时任务移动至定时任务存储数组中目标定时任务的位置,同时将目标定时任务删除。
[0028]可选地,在将目标定时任务对应的三元组中的时间差重置为目标定时任务对应的三元组中的任务周期时间之后,方法还包括:
[0029]在遍历结束定时任务存储数组中的各定时任务后,获取计时器值和时间累积器的数值;
[0030]将计时器值累加至时间累积器的数值,进而更新时间累积器的数值。
[0031]另外,本申请还提供了一种任务调度装置,包括:
[0032]接收单元,被配置成接收任务调度请求,获取定时任务存储数组,确定定时任务存储数组中各定时任务对应的任务周期时间和任务执行时间;
[0033]时间差计算单元,被配置成获取当前时间,进而计算各任务执行时间与当前时间的时间差;
[0034]三元组生成单元,被配置成基于各任务周期时间和各时间差,生成对应各定时任务的三元组;
[0035]调度单元,被配置成基于各三元组,调度定时任务存储数组中对应的定时任务。
[0036]可选地,时间差计算单元进一步被配置成:
[0037]计算当前时间与各任务执行时间的差值;
[0038]确定各差值对应的秒数,进而将各秒数确定为各任务执行时间与当前时间的时间差。
[0039]可选地,三元组生成单元进一步被配置成:
[0040]获取各定时任务对应的任务函数;
[0041]基于任务周期时间确定一次性任务和周期性任务;
[0042]将一次性任务的对应的任务周期时间设定为0,将周期性任务对应的任务周期时间换算为秒数,进而根据各任务函数和各时间差生成对应各定时任务的三元组。
[0043]可选地,调度单元进一步被配置成:
[0044]基于各三元组,获取对应的各定时任务的时间差;
[0045]获取时间累积器的值,进而基于时间累积器的值更新各定时任务的时间差;
[0046]遍历定时任务数组中的各定时任务,将更新后的时间差小于或等于0时对应的定时任务确定为目标定时任务并执行;
[0047]响应于目标定时任务执行结束并确定目标定时任务对应的任务周期时间不为0,将目标定时任务对应的三元组中的时间差重置为目标定时任务对应的三元组中的任务周期时间。
[0048]可选地,调度单元进一步被配置成:
[0049]响应于目标定时任务执行结束并确定目标定时任务对应的任务周期时间为0,删除目标定时任务。
[0050]可选地,调度单元进一步配置成:
[0051]获取定时任务存储数组中最后一个定时任务;
[0052]将最后一个定时任务移动至定时任务存储数组中目标定时任务的位置,同时将目标定时任务删除。
[0053]可选地,任务调度装置还包括更新单元,被配置成:
[0054]在遍历结束定时任务存储数组中的各定时任务后,获取计时器值和时间累积器的数值;
[0055]将计时器值累加至时间累积器的数值,进而更新时间累积器的数值。
[0056]另外,本申请还提供了一种任务调度电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述的任务调度方法。
[0057]另外,本申请还提供了一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现如上述的任务调度方法。
[0058]为实现上述目的,根据本申请实施例的又一个方面,提供了一种计算机程序产品。
[0059]本申请实施例的一种计算机程序产品,包括计算机程序,程序被处理器执行时实现本申请实施例提供的任务调度方法。
[0060]上述专利技术中的一个实施例具有如下优点或有益效果:本申请通过接收任务调度请求,获取定时任务存储数组,确定定时任务存储数组中各定时任务对应的任务周期时间和任务执行时间;获取当前时间,进而计算各本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务调度方法,其特征在于,包括:接收任务调度请求,获取定时任务存储数组,确定所述定时任务存储数组中各定时任务对应的任务周期时间和任务执行时间;获取当前时间,进而计算各所述任务执行时间与所述当前时间的时间差;基于各所述任务周期时间和各所述时间差,生成对应所述各定时任务的三元组;基于各所述三元组,调度所述定时任务存储数组中对应的定时任务。2.根据权利要求1所述的方法,其特征在于,所述计算各所述任务执行时间与所述当前时间的时间差,包括:计算所述当前时间与各所述任务执行时间的差值;确定各所述差值对应的秒数,进而将各所述秒数确定为各所述任务执行时间与所述当前时间的时间差。3.根据权利要求1所述的方法,其特征在于,所述生成对应所述各定时任务的三元组,包括:获取所述各定时任务对应的任务函数;基于所述任务周期时间确定一次性任务和周期性任务;将所述一次性任务的对应的任务周期时间设定为0,将所述周期性任务对应的任务周期时间换算为秒数,进而根据各所述任务函数和各所述时间差生成对应所述各定时任务的三元组。4.根据权利要求1所述的方法,其特征在于,所述基于各所述三元组,调度所述定时任务存储数组中对应的定时任务,包括:基于各所述三元组,获取对应的各定时任务的时间差;获取时间累积器的值,进而基于所述时间累积器的值更新所述各定时任务的时间差;遍历所述定时任务数组中的各定时任务,将更新后的时间差小于或等于0时对应的定时任务确定为目标定时任务并执行;响应于所述目标定时任务执行结束并确定所述目标定时任务对应的任务周期时间不为0,将所述目标定时任务对应的三元组中的时间差重置为所述目标定时任务对应的三元组中的任务周期时间。5.根据权利要求4所述的方法,其特征在于,所述基于各所述三元组,调度所述定时任务存储数组中对应的定时任务,还包括:响应于所述目标定时任务执行结束并确定所述目标定时任务对应的任务周期时间为0,删除所述目标定时任务。6.根据权利要求5所述的方法,其特征在于,所述删除所述目标定时任务,包括:获取所述定时任务存储数组中最后一个定时任务;将所述最后一个定时任务移动至所述定时任务存储数组中所述目标定时任务的位置,同时将所述目标定时任务删除。7.根据权利要求4所述的方法,其特征在于,在所述将所述目标定时任务对应的三元组中的时间差重置为所述目标定时任务对应的三元组中的任务周期时间之后,所述方法还包括:在遍历结束所述定时任务存储数组中的各定时任务后,获取计时器值和时间累积器的
数值;将所述计时器值累加至所述时间累积器的数值,进而更新所述时间累积器的数值。8.一种任务调度装置,其特征在于,包括:接收单元,被配置成接收任务调度请求,获取定时任务存储数组,确定所述...

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

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

1