一种任务调度执行方法及装置制造方法及图纸

技术编号:35482789 阅读:12 留言:0更新日期:2022-11-05 16:34
本发明专利技术提供了一种任务调度执行方法及装置,可应用于金融领域或其他领域,通过预先配置的任务调度模型实现任务的规范化定义和有序稳定调度,利用任务表统一记录所有任务的任务状态以及属性信息,基于任务调度模型与任务表记录的所有任务的任务状态以及属性信息,实现对不同任务状态、启用值、优先级、任务类型以及执行期限的任务的有序稳定调度,有效提高了任务调度效率。另外若需要调整任务定义或调度规则只需要配置任务调度模型即可,灵活性高且开发难度低。开发难度低。开发难度低。

【技术实现步骤摘要】
一种任务调度执行方法及装置


[0001]本专利技术涉及计算机
,更具体的,涉及一种任务调度执行方法及装置。

技术介绍

[0002]在业务系统中,存在各种各样的任务需要统一调度执行,传统的任务调度逻辑比较单一,一般根据任务的先来后到执行或按特定优先级执行,这在任务量不大的情况下影响还不明显,但是在任务量大情况下,任务执行效率低下,可能导致有些任务只需要很短的时间就能完成,但却可能排队在很多需要长时间运行的任务之后,导致该任务需要等待很长时间。
[0003]目前,任务调度规则写入代码程序中,若要增加或调整任务调度规则,需要针对性的开发,开发难度大,灵活性较低。

技术实现思路

[0004]有鉴于此,本专利技术提供了一种任务调度执行方法及装置,有效提高了任务调度效率,灵活性高且开发难度低。
[0005]为了实现上述专利技术目的,本专利技术提供的具体技术方案如下:
[0006]第一方面,本专利技术实施例提供了一种任务调度执行方法,包括:
[0007]在接收到任务的情况下,获取该任务的属性信息,任务的属性包括:启用值、优先级、任务类型以及执行期限;
[0008]将该任务的属性信息写入任务表,并将该任务在所述任务表中的任务状态设置为初始;
[0009]扫描所述任务表,在任务状态为初始的任务中基于预先配置的任务调度模型以及任务的属性,确定待执行任务;
[0010]为所述待执行任务生成任务序号,将所述待执行任务放入任务队列,并将所述待执行任务在所述任务表中的任务状态设置为运行中;
[0011]从所述任务队列中读取任务并执行,若执行成功,将该任务在所述任务表中的任务状态设置为成功,若执行异常,将该任务在所述任务表中的任务状态设置为异常。
[0012]在一些实施例中,所述在任务状态为初始的任务中基于预先配置的任务调度模型以及任务的属性,确定待执行任务,包括:
[0013]在任务状态为初始状态的任务中选择启用值为可启用的任务;
[0014]在选择出的启用值为可启用的任务中选择优先级最高的任务;
[0015]在选择出的优先级最高的任务中选择任务类型耗时最短的任务;
[0016]在选择出的任务类型耗时最短的任务中选择执行期限最短的任务作为所述待执行任务。
[0017]在一些实施例中,在任务执行成功,将该任务在所述任务表中的任务状态设置为成功之后,所述方法还包括:
[0018]判断该任务是否为具有依赖关系的多个串行执行任务中的一个任务;
[0019]若该任务为具有依赖关系的多个串行执行任务中的一个任务时,判断该任务是否为具有依赖关系的多个串行执行任务中的最后一个任务;
[0020]若该任务不是具有依赖关系的多个串行执行任务中的最后一个任务,将其中该任务后的任务在所述任务表中的启用值设置为可启用,其中,具有依赖关系的多个串行执行任务在初始状态下第一个任务的启用值为可启用,其他任务的启用值为不可启用。
[0021]在一些实施例中,在任务执行异常,将该任务在所述任务表中的任务状态设置为异常之后,所述方法还包括:
[0022]扫描所述任务表中该任务的异常重试次数是否达到阈值;
[0023]若达到阈值,发出任务执行异常提示信息;
[0024]若未达到阈值,则将该任务在所述任务表中的任务状态设置为初始,根据该任务的实际执行时长更新所述任务表中该任务的执行期限,并将异常重试次数加1。
[0025]第二方面,本专利技术实施例提供了一种任务调度执行装置,包括:
[0026]任务接收单元,用于在接收到任务的情况下,获取该任务的属性信息,任务的属性包括:启用值、优先级、任务类型以及执行期限;
[0027]任务表更新单元,用于将该任务的属性信息写入任务表,并将该任务在所述任务表中的任务状态设置为初始;
[0028]任务表扫描单元,用于扫描所述任务表,在任务状态为初始的任务中基于预先配置的任务调度模型以及任务的属性,确定待执行任务;
[0029]序号生成单元,用于为所述待执行任务生成任务序号,将所述待执行任务放入任务队列,并将所述待执行任务在所述任务表中的任务状态设置为运行中;
[0030]任务执行单元,用于从所述任务队列中读取任务并执行,若执行成功,将该任务在所述任务表中的任务状态设置为成功,若执行异常,将该任务在所述任务表中的任务状态设置为异常。
[0031]在一些实施例中,所述任务表扫描单元,具体用于:
[0032]在任务状态为初始状态的任务中选择启用值为可启用的任务;
[0033]在选择出的启用值为可启用的任务中选择优先级最高的任务;
[0034]在选择出的优先级最高的任务中选择任务类型耗时最短的任务;
[0035]在选择出的任务类型耗时最短的任务中选择执行期限最短的任务作为所述待执行任务。
[0036]在一些实施例中,所述装置还包括启用值更新单元,用于:
[0037]在任务执行成功,将该任务在所述任务表中的任务状态设置为成功之后,判断该任务是否为具有依赖关系的多个串行执行任务中的一个任务;
[0038]若该任务为具有依赖关系的多个串行执行任务中的一个任务时,判断该任务是否为具有依赖关系的多个串行执行任务中的最后一个任务;
[0039]若该任务不是具有依赖关系的多个串行执行任务中的最后一个任务,将其中该任务后的任务在所述任务表中的启用值设置为可启用,其中,具有依赖关系的多个串行执行任务在初始状态下第一个任务的启用值为可启用,其他任务的启用值为不可启用。
[0040]在一些实施例中,所述装置还包括异常处理单元,用于:
[0041]在任务执行异常,将该任务在所述任务表中的任务状态设置为异常之后,扫描所述任务表中该任务的异常重试次数是否达到阈值;
[0042]若达到阈值,发出任务执行异常提示信息;
[0043]若未达到阈值,则将该任务在所述任务表中的任务状态设置为初始,根据该任务的实际执行时长更新所述任务表中该任务的执行期限,并将异常重试次数加1。
[0044]第三方面,本专利技术实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如第一方面任一实现方式描述的任务调度执行方法。
[0045]第四方面,本专利技术实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时实现如第一方面任一实现方式描述的任务调度执行方法。
[0046]相对于现有技术,本专利技术的有益效果如下:
[0047]本专利技术公开的一种任务调度执行方法及装置,通过预先配置的任务调度模型实现任务的规范化定义和有序稳定调度,利用任务表统一记录所有任务的任务状态以及属性信息,基于任务调度模型与任务表记录的所有任务的任务状态以及属性信息,实现对不同任务状态、启用值、优先级、任务类型以及执行期限的任务的有序稳定调度,有效提高了任务调度效率。另外若需要调整任务定义或调度规则本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务调度执行方法,其特征在于,包括:在接收到任务的情况下,获取该任务的属性信息,任务的属性包括:启用值、优先级、任务类型以及执行期限;将该任务的属性信息写入任务表,并将该任务在所述任务表中的任务状态设置为初始;扫描所述任务表,在任务状态为初始的任务中基于预先配置的任务调度模型以及任务的属性,确定待执行任务;为所述待执行任务生成任务序号,将所述待执行任务放入任务队列,并将所述待执行任务在所述任务表中的任务状态设置为运行中;从所述任务队列中读取任务并执行,若执行成功,将该任务在所述任务表中的任务状态设置为成功,若执行异常,将该任务在所述任务表中的任务状态设置为异常。2.根据权利要求1所述的方法,其特征在于,所述在任务状态为初始的任务中基于预先配置的任务调度模型以及任务的属性,确定待执行任务,包括:在任务状态为初始状态的任务中选择启用值为可启用的任务;在选择出的启用值为可启用的任务中选择优先级最高的任务;在选择出的优先级最高的任务中选择任务类型耗时最短的任务;在选择出的任务类型耗时最短的任务中选择执行期限最短的任务作为所述待执行任务。3.根据权利要求2所述方法,其特征在于,在任务执行成功,将该任务在所述任务表中的任务状态设置为成功之后,所述方法还包括:判断该任务是否为具有依赖关系的多个串行执行任务中的一个任务;若该任务为具有依赖关系的多个串行执行任务中的一个任务时,判断该任务是否为具有依赖关系的多个串行执行任务中的最后一个任务;若该任务不是具有依赖关系的多个串行执行任务中的最后一个任务,将其中该任务后的任务在所述任务表中的启用值设置为可启用,其中,具有依赖关系的多个串行执行任务在初始状态下第一个任务的启用值为可启用,其他任务的启用值为不可启用。4.根据权利要求1所述的方法,其特征在于,在任务执行异常,将该任务在所述任务表中的任务状态设置为异常之后,所述方法还包括:扫描所述任务表中该任务的异常重试次数是否达到阈值;若达到阈值,发出任务执行异常提示信息;若未达到阈值,则将该任务在所述任务表中的任务状态设置为初始,根据该任务的实际执行时长更新所述任务表中该任务的执行期限,并将异常重试次数加1。5.一种任务调度执行装置,其特征在于,包括:任务接收单元,用于在接收到任务的情况下,获取该任务的属性信息,任务的属性包括:启用值、优先级、任务类型以及执行期限;任务表更新单元,用于将该任务的属性信息...

【专利技术属性】
技术研发人员:夏帅
申请(专利权)人:中银金融科技有限公司
类型:发明
国别省市:

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

1