任务调度方法、装置、设备及存储介质与流程

文档序号:24034225发布日期:2021-02-23 14:29阅读:62来源:国知局
任务调度方法、装置、设备及存储介质与流程

[0001]
本发明涉及运维/过程优化技术领域,尤其涉及一种任务调度方法、装置、设备及存储介质。


背景技术:

[0002]
任务调度是对任务进行上线,下发,运行等管理,是数据系统最核心的工作。传统的调度器只对任务进行运行管理,任务的分配依赖于运营人员依据经验为任务分配调度器,由于传统调度器仅进行运行管理,对于任务与调度器的分配是否合理,只能由维护人员通过分析任务的执行情况来人工判断,在任务量较大的情况下,维护人员对所有任务的执行结果一一分析的工作量十分巨大,维护人员一般是基于任务运行报错才会对任务进行简单的分析处理,所以对于调度器分配不合理的任务通常很难发现,可见,要使所有任务都能适配到合适的调度器需要大量的人力投入,运营成本高,不利于数据系统的建设。


技术实现要素:

[0003]
本发明提供一种任务调度方法、装置、设备及存储介质,能够达到按任务的运行时间分析调度单元的分配是否合理,在分配不合理时为待调度任务分配合适的调度单元,提升任务调度合理性、减少维护成本的目的。
[0004]
为解决上述技术问题,本发明采用的一个技术方案是:提供一种任务调度方法,所述任务调度方法包括:
[0005]
获取至少一个调度单元,每个所述调度单元对应一个调度时长,所述调度单元在对应的所述调度时长内调度配置在所述调度单元内的任务执行;
[0006]
获取任务运行表,所述任务运行表用于记录已调度过的任务的运行信息,所述运行信息包括任务每次执行完成的运行时长;
[0007]
获取待调度任务及其配置的目标调度单元;
[0008]
依据所述任务运行表中所述运行信息包括的所述运行时长,判断所述待调度任务配置的所述目标调度单元是否满足最小调度单元配置规则,所述最小调度单元配置规则包括:为所述待调度任务配置的所述目标调度单元对应的所述调度时长大于等于所述待调度任务的所述运行时长,且所述目标调度单元对应的所述调度时长是调度时长大于等于所述运行时长的所述调度单元中最小的;
[0009]
若所述待调度任务配置的所述目标调度单元不满足最小调度单元配置规则,则依据所述最小调度单元配置规则从所述调度单元中为所述待调度任务重新分配目标调度单元;
[0010]
调度所述重新分配的目标调度单元执行所述待调度任务。
[0011]
根据本发明的一个实施例,
[0012]
所述依据所述最小调度单元配置规则从所述调度单元中为所述待调度任务重新分配目标调度单元,包括:
[0013]
从所述任务运行表中获取所述待调度任务对应的所述运行时长;
[0014]
获得所述待调度任务的运行时间范围;
[0015]
按所述调度单元的调度时长从小到大的顺序对所述调度单元进行排序;
[0016]
从所述调度单元中获取调度时长大于等于所述运行时间范围上限值的第一调度单元;
[0017]
将所述第一调度单元中调度时长最小的调度单元作为所述目标调度单元。
[0018]
根据本发明的一个实施例,所述获得所述待调度任务的运行时间范围,包括:
[0019]
对所述待调度任务的所述运行时长进行聚类计算,获得所述待调度任务的运行时间范围。
[0020]
根据本发明的一个实施例,所述任务调度方法还包括:
[0021]
获取所述待调度任务的任务信息,所述任务信息为所述待调度任务依赖的前置任务及所述前置任务对应的调度单元;
[0022]
所述依据所述最小调度单元配置规则从所述调度单元中为所述待调度任务重新分配目标调度单元,包括:
[0023]
从所述任务运行表中获取所述待调度任务对应的所述运行时长;
[0024]
获得所述待调度任务的运行时间范围;
[0025]
按所述调度单元的调度时长从小到大的顺序对所述调度单元进行排序;
[0026]
从所述调度单元中获取调度时长大于等于所述运行时间范围上限值的第一调度单元;
[0027]
比较所述第一调度单元中调度时长最小的调度单元及所述前置任务对应的调度单元的调度时长;
[0028]
若所述第一调度单元中调度时长最小的调度单元的调度时长大于等于所述前置任务对应的调度单元的调度时长,则将所述第一调度单元中调度时长最小的调度单元作为所述目标调度单元;
[0029]
若所述第一调度单元中调度时长最小的调度单元的调度时长小于所述前置任务对应的调度单元的调度时长,则将所述前置任务对应的调度单元作为所述目标调度单元。
[0030]
根据本发明的一个实施例,所述调度所述重新分配的目标调度单元执行所述待调度任务后,还包括:
[0031]
获取所述待调度任务的执行结果,所述执行结果包括所述待调度任务此次执行的运行时长,并将所述执行结果作为新增的运行信息记录到所述任务运行表中。
[0032]
根据本发明的一个实施例,所述将所述执行结果作为新增的运行信息记录到所述任务运行表中,还包括:
[0033]
当所述待调度任务此次执行的运行时长超过所述运行时间范围时,则上报任务执行超时报警。
[0034]
根据本发明的一个实施例,所述任务调度方法,还包括:
[0035]
依据所述任务运行表向外部显示设备展示所述待调度任务的运行信息。
[0036]
此外,为解决上述技术问题,本发明还采用的一个技术方案是:提供一种任务调度装置,所述任务调度装置包括:
[0037]
获取模块,用于获取至少一个调度单元,每个所述调度单元对应一个调度时长,所
述调度单元在对应的所述调度时长内调度配置在所述调度单元内的任务执行;获取任务运行表,所述任务运行表用于记录已调度过的任务的运行信息,所述运行信息包括任务每次执行完成的运行时长;及获取待调度任务及其配置的目标调度单元;
[0038]
分析模块,用于依据所述任务运行表中所述运行信息包括的所述运行时长,判断所述待调度任务配置的所述目标调度单元是否满足最小调度单元配置规则,所述最小调度单元配置规则包括:为所述待调度任务配置的所述目标调度单元对应的所述调度时长大于等于所述待调度任务的所述运行时长,且所述目标调度单元对应的所述调度时长是调度时长大于等于所述运行时长的所述调度单元中最小的;
[0039]
分配模块,用于若所述待调度任务配置的所述目标调度单元不满足最小调度单元配置规则,则依据所述最小调度单元配置规则从所述调度单元中为所述待调度任务重新分配目标调度单元;
[0040]
调度模块,用于调度所述重新分配的目标调度单元执行所述待调度任务。
[0041]
此外,为解决上述技术问题,本发明还采用的一个技术方案是:提供一种任务调度设备,所述任务调度设备包括处理器、与所述处理器耦接的存储器,其中,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如上述任一项所述任务调度方法的步骤。
[0042]
此外,为解决上述技术问题,本发明还采用的一个技术方案是:提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述任一项所述任务调度方法的步骤。
[0043]
本发明提出的任务调度方法、装置、设备及存储介质,通过依据所述任务运行表中待调度任务对应的所述运行信息的所述运行时长分析所述待调度任务分配的目标调度单元是否满足最小调度单元配置规则,在不满足最小调度单元配置规则时重新配置目标调度单元使所述目标调度单元的分配更加智能化、合理化,减少了后期的维护投入,有利于数据系统的建设。
[0044]
进一步地,通过从所述调度单元中获取调度时长大于等于所述运行时间范围上限值的第一调度单元,并将所述第一调度单元中调度时长最小的调度单元作为所述目标调度单元,可以提高所述调度单元的分配效率,节约系统资源。
[0045]
进一步地,通过比较所述第一调度单元中调度时长最小的调度单元及所述前置任务对应的调度单元的调度时长进行所述目标调度单元的分配,可以兼顾前后置任务的耦合,使任务调度更加稳定,提升了任务调度的兼容性。
[0046]
进一步地,通过对所述待调度任务进行运行分析可以对任务的异常状态进行报警,提示维护人员及时进行查看和问题的定位,提高了任务调度效率,减少了运维成本。
[0047]
进一步地,通过向外部显示设备展示所述待调度任务的运行信息,使任务调度状态能及时对外展示,用户体验更佳。
附图说明
[0048]
图1是本发明一种实施例的任务调度方法的流程示意图;
[0049]
图2是本发明一种实施例的任务调度装置的结构示意图;
[0050]
图3是本发明一种实施例的任务调度设备的结构示意图;
[0051]
图4是本发明一种实施例的存储介质的结构示意图。
具体实施方式
[0052]
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0053]
本申请中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本申请实施例中所有方向性指示(诸如上、下、左、右、前、后
……
)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0054]
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0055]
请参阅图1,图1是本发明一种实施例的任务调度方法的流程示意图。根据本发明的一种实施例,所述任务调度方法包括以下步骤:
[0056]
步骤s101:获取至少一个调度单元,每个所述调度单元对应一个调度时长,所述调度单元在对应的所述调度时长内调度配置在所述调度单元内的任务执行。
[0057]
其中,所述调度单元为控制任务执行的调度控制器,根据本发明的一个实施例,每个所述调度单元可以对应一个调度时长,所述调度时长为所述调度单元执行任务调度的时间,如:调度时长为2小时的调度单元,则该调度单元可以在2小时内调度任务执行,调度时长为24小时的调度单元,则该调度单元可以在24小时内调度任务执行,所述调度单元可以根据任务不同需求规划不同的调度时长。
[0058]
步骤s102:获取任务运行表,所述任务运行表用于记录已调度执行过的任务的运行信息,所述运行信息包括任务每次执行完成的运行时长。
[0059]
任务通过调度单元调度才能获得系统资源进行执行,所以在任务执行前需要将任务配置到调度单元中才能控制任务执行,通常,开发、维护人员会根据经验为任务分配对应的调度单元,通过调度单元的调度执行任务,本实施例中,所述调度单元每完成一次调度,则其配置在所述调度单元内的任务则执行一次并生成一次运行信息,所述任务运行表用于记录已执行过的任务的运行信息,所述运行信息包括任务每次执行完成的运行时长。
[0060]
步骤s103:获取待调度任务及其配置的目标调度单元,依据所述任务运行表中所述运行信息包括的所述运行时长,判断所述待调度任务配置的所述目标调度单元是否满足
最小调度单元配置规则,若所述待调度任务配置的所述目标调度单元不满足最小调度单元配置规则,则执行步骤s104。
[0061]
依赖经验配置的调度单元,有可能出现调度单元的调度时长不满足任务执行的要求、调度单元的调度时长过大造成系统资源浪费等问题,为使任务能在调度单元的调度时长内执行完成,并且达到资源的高效利用,本实施例中,当任务需要再次被调度执行前,可以判断所述待调度任务分配的调度单元是否满足最小调度单元配置规则,所述最小调度单元配置规则包括:为所述待调度任务配置的所述目标调度单元对应的所述调度时长大于等于所述待调度任务的所述运行时长,且所述目标调度单元对应的所述调度时长是调度时长大于等于所述运行时长的所述调度单元中最小的。
[0062]
步骤s104:依据所述最小调度单元配置规则从所述调度单元中为所述待调度任务重新分配目标调度单元。
[0063]
当所述待调度任务配置的所述目标调度单元不满足最小调度单元配置规则时,会自动为所述待调度任务分配更为合适的所述目标调度单元。
[0064]
具体的,根据本发明的一种实施例,步骤s104可以包括以下步骤:
[0065]
步骤s104a:从所述任务运行表中获取所述待调度任务对应的所述运行时长。
[0066]
具体的,可以通过所述待调度任务的任务名称、任务id等在所述任务运行表中查找对应的运行信息,从所述运行信息中获取所述待调度任务之前执行的运行时长,需要说明的,若所述待调度任务是之前没有执行过的任务,则所述任务运行表中没有所述待调度任务对应的所述运行信息的记录,则将所述待调度任务的所述运行时长初始设置为一个最小默认值,如时长为0。
[0067]
步骤s104b:获得所述待调度任务的运行时间范围。
[0068]
对于存在所述运行信息记录的所述待调度任务,根据本发明的一个实施例,可以将全部所述运行信息中的所述运行时长进行聚类计算,对异常值进行排除,获得所述待调度任务的运行时间范围,如一个所述待调度任务的运行时长为1h23m、1h33m、3h03m、1h12m、1h45m,则聚类结果为所述待调度任务的运行时间范围为1h~2h,其中,对于没有所述运行记录的所述待调度任务,则运行时间范围仍为最小默认值,如0h。
[0069]
步骤s104c:按所述调度单元的调度时长从小到大的顺序对所述调度单元进行排序。
[0070]
由于所述调度单元可以根据任务不同需求规划不同的调度时长,按所述调度单元的调度时长从小到大的顺序对所述调度单元进行排序。
[0071]
步骤s104d:从所述调度单元中获取调度时长大于等于所述运行时间范围上限值的第一调度单元。
[0072]
具体的,将所述调度单元中调度时长大于等于所述运行时间范围上限值的调度单元作为所述第一调度单元,如所述调度单元根据任务需求配置有1小时的调度单元、2小时的调度单元、12小时的调度单元,对于所述运行时间范围为1~2h的所述待调度任务来说,其运行时间范围的上限值为2小时,则所述第一调度单元为2小时的调度单元、12小时的调度单元,可以理解,对于没有所述运行信息记录的所述待调度任务,其运行时间范围的上限值也为最小默认值,因此所述待调度任务的第一调度单元可以为调度时长大于等于所述最小默认值的调度单元,如所述最小默认值为0小时,则对于没有所述运行信息记录的所述待
调度任务其第一调度单元为1小时的调度单元、2小时的调度单元、12小时的调度单元。
[0073]
步骤s104e:将所述第一调度单元中调度时长最小的调度单元作为所述目标调度单元。
[0074]
从所述第一调度单元中选择调度时长最小的调度单元作为所述待调度任务的所述目标调度单元,仍以上述举例进行说明,对于所述运行时间范围为1~2h的所述待调度任务,所述第一调度单元为2小时的调度单元、12小时的调度单元,则所述目标调度单元为2小时的调度单元,对于没有所述运行信息记录的所述待调度任务,其第一调度单元为1小时的调度单元、2小时的调度单元、12小时的调度单元,则所述目标调度单元为1小时的调度单元。
[0075]
本实施例的任务调度方法,通过从所述调度单元中获取调度时长大于等于所述运行时间范围上限值的第一调度单元,并将所述第一调度单元中调度时长最小的调度单元作为所述目标调度单元,可以提高所述调度单元的分配效率,节约系统资源。
[0076]
根据本发明的另一实施例,步骤s104前还包括以下步骤:
[0077]
步骤s204:获取所述待调度任务的任务信息,所述任务信息为所述待调度任务依赖的前置任务及所述前置任务对应的调度单元。
[0078]
通常任务间的调度存在依赖关系,当前置任务执行完成后,后置任务才具备执行的条件,因此在对所述待调度任务分配调度单元前,需要先获知所述待调度任务的任务信息,所述任务信息用于记录所述待调度任务依赖的前置任务及所述前置任务对应的调度单元。
[0079]
本实施例中,步骤s104可以包括以下步骤:
[0080]
步骤s204a:从所述任务运行表中获取所述待调度任务对应的所述运行时长。
[0081]
步骤s204b:获得所述待调度任务的运行时间范围。
[0082]
步骤s204c:按所述调度单元的调度时长从小到大的顺序对所述调度单元进行排序。
[0083]
步骤s204d:从所述调度单元中获取调度时长大于等于所述运行时间范围上限值的第一调度单元。
[0084]
在本实施例中,步骤s204a、s204b、s204c、s204d和上述实施例的步骤s104a、s104b、s104c、s104d类似,为简约起见,在此不再赘述。
[0085]
步骤s204e:比较所述第一调度单元中调度时长最小的调度单元及所述前置任务对应的调度单元的调度时长,若所述第一调度单元中调度时长最小的调度单元的调度时长大于等于所述前置任务对应的调度单元的调度时长,则执行步骤s204f,若所述第一调度单元中调度时长最小的调度单元的调度时长小于所述前置任务对应的调度单元的调度时长,则执行步骤s204g。
[0086]
步骤s204f:将所述第一调度单元中调度时长最小的调度单元作为所述目标调度单元。
[0087]
当所述第一调度单元中调度时长最小的调度单元的调度时长大于等于所述前置任务对应的调度单元的调度时长时,则将所述第一调度单元中调度时长最小的调度单元作为所述目标调度单元。
[0088]
步骤s204g:将所述前置任务对应的调度单元作为所述目标调度单元。
[0089]
当所述第一调度单元中调度时长最小的调度单元的调度时长小于所述前置任务对应的调度单元的调度时长时,则将所述前置任务对应的调度单元作为所述目标调度单元。
[0090]
本实施例中,将所述第一调度单元中调度时长最小的调度单元及所述前置任务对应的调度单元的调度时长进行比较,将较大者作为所述目标调度单元分配给所述待调度任务,例如,所述第一调度单元中调度时长最小的调度单元的调度时长为2小时,所述前置任务对应的调度单元的调度时长为12小时,则将所述调度时长为12小时的调度单元作为所述待调度任务的所述目标调度单元。
[0091]
本实施例的任务调度方法,通过比较所述第一调度单元中调度时长最小的调度单元及所述前置任务对应的调度单元的调度时长进行所述目标调度单元的分配,可以兼顾前后置任务的耦合,使任务调度更加稳定,提升了任务调度的兼容性。
[0092]
步骤s105:调度所述重新分配的目标调度单元执行所述待调度任务。
[0093]
当所述待调度任务重新分配了所述目标调度单元后,则通过调度重新分配的所述目标调度单元来调度执行所述待调度任务。
[0094]
本实施例的任务调度方法,通过依据所述任务运行表中所述运行信息的所述运行时长分析所述待调度任务分配的目标调度单元是否满足最小调度单元配置规则,在不满足最小调度单元配置规则时重新配置目标调度单元使所述目标调度单元的分配更加智能化、合理化,减少了后期的维护投入,有利于数据系统的建设。
[0095]
根据本发明的一个实施例,步骤s105后,还可以包括以下步骤:
[0096]
步骤s106:获取所述待调度任务的执行结果,所述执行结果包括所述待调度任务此次执行的运行时长,并将所述执行结果作为新增的运行信息记录到所述任务运行表中。
[0097]
所述待调度任务分配到所述目标调度单元后,在所述目标调度单元被调度时开始执行,执行完成后将所述待调度任务的运行结果作为一条新的运行记录记录到所述任务运行表中,可以在每次调度前再次结合之前的运行记录和新增的运行记录对所述待调度任务的配置进行分析,保障每次进行任务调度时,所述待调度任务配置的所述目标调度单元都是满足所述最小调度单元配置规则的。
[0098]
根据本发明的另一种实施例,步骤s106后还可以依据所述任务运行表对所述待调度任务进行运行分析,如当所述待调度任务此次执行的运行时长超过所述运行时间范围时,则上报任务执行超时报警。通过对所述待调度任务进行运行分析可以对任务的异常状态进行报警,提示维护人员及时进行查看和问题的定位,提高了任务调度效率,减少了运维成本。
[0099]
根据本发明的一个实施例,所述任务调度方法,还可以包括以下步骤:
[0100]
步骤s107:依据所述任务运行表向外部显示设备展示所述待调度任务的运行信息。
[0101]
本实施例的任务调度方法,通过向外部显示设备展示所述待调度任务的运行信息,使任务调度状态能及时对外展示,用户体验更佳。
[0102]
图2是本发明一种实施例的任务调度装置1的结构示意图。如图2所示,所述任务调度装置1包括获取模块11、分析模块12、分配模块13、调度模块14。
[0103]
获取模块11,用于获取至少一个调度单元,每个所述调度单元对应一个调度时长,
所述调度单元在对应的所述调度时长内调度配置在所述调度单元内的任务执行;获取任务运行表,所述任务运行表用于记录已调度过的任务的运行信息,所述运行信息包括任务每次执行完成的运行时长;及获取待调度任务及其配置的目标调度单元;
[0104]
分析模块12,用于依据所述任务运行表中所述运行信息包括的所述运行时长,判断所述待调度任务配置的所述目标调度单元是否满足最小调度单元配置规则,所述最小调度单元配置规则为所述待调度任务的所述目标调度单元对应的所述调度时长为调度时长大于等于所述运行时长的调度单元中最小的;
[0105]
分配模块13,用于若所述待调度任务配置的所述目标调度单元不满足最小调度单元配置规则,则依据所述最小调度单元配置规则从所述调度单元中为所述待调度任务重新分配目标调度单元;
[0106]
调度模块14,用于调度所述重新分配的目标调度单元执行所述待调度任务。
[0107]
根据本发明的一个实施例,所述分配模块13还可以用于从所述任务运行表中获取所述待调度任务对应的所述运行时长;获得所述待调度任务的运行时间范围;按所述调度单元的调度时长从小到大的顺序对所述调度单元进行排序;从所述调度单元中获取调度时长大于等于所述运行时间范围上限值的第一调度单元将所述第一调度单元中调度时长最小的调度单元作为所述目标调度单元。
[0108]
根据本发明的一个实施例,所述分配模块13还可以用于对所述待调度任务的所述运行时长进行聚类计算,获得所述待调度任务的运行时间范围。
[0109]
根据本发明的另一个实施例,所述获取模块11还可以用于获取所述待调度任务的任务信息,所述任务信息为所述待调度任务依赖的前置任务及所述前置任务对应的调度单元。
[0110]
根据本发明的一个实施例,所述分配模块13还可以用于从所述任务运行表中获取所述待调度任务对应的所述运行时长;获得所述待调度任务的运行时间范围;按所述调度单元的调度时长从小到大的顺序对所述调度单元进行排序;从所述调度单元中获取调度时长大于等于所述运行时间范围上限值的第一调度单元;比较所述第一调度单元中调度时长最小的调度单元及所述前置任务对应的调度单元的调度时长;若所述第一调度单元中调度时长最小的调度单元的调度时长大于等于所述前置任务对应的调度单元的调度时长,则将所述第一调度单元中调度时长最小的调度单元作为所述目标调度单元;若所述第一调度单元中调度时长最小的调度单元的调度时长小于所述前置任务对应的调度单元的调度时长,则将所述前置任务对应的调度单元作为所述目标调度单元。
[0111]
根据本发明的一个实施例,所述调度模块14还可以用于获取所述待调度任务的执行结果,所述执行结果包括所述待调度任务此次执行的运行时长,并将所述执行结果作为新增的运行信息记录到所述任务运行表中。
[0112]
根据本发明的一个实施例,所述分析模块12还可以用于当所述待调度任务此次执行的运行时长超过所述运行时间范围时,则上报任务执行超时报警。
[0113]
根据本发明的一个实施例,所述分析模块14还可以用于依据所述任务运行表向外部显示设备展示所述待调度任务的运行信息。
[0114]
可以理解的是,上述装置的各模块实现各功能的具体方式可参阅上述实施例对应的具体步骤,故在此不作赘述。
[0115]
请参阅图3,图3是本发明一种实施例的任务调度设备30的结构示意图。如图3所示,所述任务调度设备30包括存储器32、处理器31及存储在所述存储器32上并可在所述处理器31上运行的计算机程序,所述处理器31执行所述计算机程序时实现以下步骤:获取至少一个调度单元,每个所述调度单元对应一个调度时长,所述调度单元在对应的所述调度时长内调度配置在所述调度单元内的任务执行;获取任务运行表,所述任务运行表用于记录已调度过的任务的运行信息,所述运行信息包括任务每次执行完成的运行时长;获取待调度任务及其配置的目标调度单元;依据所述任务运行表中所述运行信息包括的所述运行时长,判断所述待调度任务配置的所述目标调度单元是否满足最小调度单元配置规则,所述最小调度单元配置规则为所述待调度任务的所述目标调度单元对应的所述调度时长为调度时长大于等于所述运行时长的调度单元中最小的;若所述待调度任务配置的所述目标调度单元不满足最小调度单元配置规则,则依据所述最小调度单元配置规则从所述调度单元中为所述待调度任务重新分配目标调度单元;调度所述重新分配的目标调度单元执行所述待调度任务。
[0116]
根据本发明的一个实施例,所述依据所述最小调度单元配置规则从所述调度单元中为所述待调度任务重新分配目标调度单元,包括:从所述任务运行表中获取所述待调度任务对应的所述运行时长;获得所述待调度任务的运行时间范围;按所述调度单元的调度时长从小到大的顺序对所述调度单元进行排序;从所述调度单元中获取调度时长大于等于所述运行时间范围上限值的第一调度单元;将所述第一调度单元中调度时长最小的调度单元作为所述目标调度单元。
[0117]
根据本发明的一个实施例,所述获得所述待调度任务的运行时间范围,包括:对所述待调度任务的所述运行时长进行聚类计算,获得所述待调度任务的运行时间范围。
[0118]
根据本发明的一个实施例,所述任务调度方法还包括:获取所述待调度任务的任务信息,所述任务信息为所述待调度任务依赖的前置任务及所述前置任务对应的调度单元;所述依据所述最小调度单元配置规则从所述调度单元中为所述待调度任务重新分配目标调度单元,包括:从所述任务运行表中获取所述待调度任务对应的所述运行时长;获得所述待调度任务的运行时间范围;按所述调度单元的调度时长从小到大的顺序对所述调度单元进行排序;从所述调度单元中获取调度时长大于等于所述运行时间范围上限值的第一调度单元;比较所述第一调度单元中调度时长最小的调度单元及所述前置任务对应的调度单元的调度时长;若所述第一调度单元中调度时长最小的调度单元的调度时长大于等于所述前置任务对应的调度单元的调度时长,则将所述第一调度单元中调度时长最小的调度单元作为所述目标调度单元;若所述第一调度单元中调度时长最小的调度单元的调度时长小于所述前置任务对应的调度单元的调度时长,则将所述前置任务对应的调度单元作为所述目标调度单元。
[0119]
根据本发明的一个实施例,所述调度所述重新分配的目标调度单元执行所述待调度任务后,还包括:获取所述待调度任务的执行结果,所述执行结果包括所述待调度任务此次执行的运行时长,并将所述执行结果作为新增的运行信息记录到所述任务运行表中。
[0120]
根据本发明的一个实施例,所述将所述执行结果作为新增的运行信息记录到所述任务运行表中,还包括:当所述待调度任务此次执行的运行时长超过所述运行时间范围时,则上报任务执行超时报警。
[0121]
根据本发明的一个实施例,所述任务调度方法,还包括:依据所述任务运行表向外部显示设备展示所述待调度任务的运行信息。
[0122]
参阅图4,图4是本发明一种实施例的存储介质的结构示意图。如图4所示存储有计算机可读指令41的存储介质,该计算机可读指令41被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:获取至少一个调度单元,每个所述调度单元对应一个调度时长,所述调度单元在对应的所述调度时长内调度配置在所述调度单元内的任务执行;获取任务运行表,所述任务运行表用于记录已调度过的任务的运行信息,所述运行信息包括任务每次执行完成的运行时长;获取待调度任务及其配置的目标调度单元;依据所述任务运行表中所述运行信息包括的所述运行时长,判断所述待调度任务配置的所述目标调度单元是否满足最小调度单元配置规则,所述最小调度单元配置规则为所述待调度任务的所述目标调度单元对应的所述调度时长为调度时长大于等于所述运行时长的调度单元中最小的;若所述待调度任务配置的所述目标调度单元不满足最小调度单元配置规则,则依据所述最小调度单元配置规则从所述调度单元中为所述待调度任务重新分配目标调度单元;调度所述重新分配的目标调度单元执行所述待调度任务。
[0123]
根据本发明的一个实施例,所述依据所述最小调度单元配置规则从所述调度单元中为所述待调度任务重新分配目标调度单元,包括:从所述任务运行表中获取所述待调度任务对应的所述运行时长;获得所述待调度任务的运行时间范围;按所述调度单元的调度时长从小到大的顺序对所述调度单元进行排序;从所述调度单元中获取调度时长大于等于所述运行时间范围上限值的第一调度单元;将所述第一调度单元中调度时长最小的调度单元作为所述目标调度单元。
[0124]
根据本发明的一个实施例,所述获得所述待调度任务的运行时间范围,包括:对所述待调度任务的所述运行时长进行聚类计算,获得所述待调度任务的运行时间范围。
[0125]
根据本发明的一个实施例,所述任务调度方法还包括:获取所述待调度任务的任务信息,所述任务信息为所述待调度任务依赖的前置任务及所述前置任务对应的调度单元;所述依据所述最小调度单元配置规则从所述调度单元中为所述待调度任务重新分配目标调度单元,包括:从所述任务运行表中获取所述待调度任务对应的所述运行时长;获得所述待调度任务的运行时间范围;按所述调度单元的调度时长从小到大的顺序对所述调度单元进行排序;从所述调度单元中获取调度时长大于等于所述运行时间范围上限值的第一调度单元;比较所述第一调度单元中调度时长最小的调度单元及所述前置任务对应的调度单元的调度时长;若所述第一调度单元中调度时长最小的调度单元的调度时长大于等于所述前置任务对应的调度单元的调度时长,则将所述第一调度单元中调度时长最小的调度单元作为所述目标调度单元;若所述第一调度单元中调度时长最小的调度单元的调度时长小于所述前置任务对应的调度单元的调度时长,则将所述前置任务对应的调度单元作为所述目标调度单元。
[0126]
根据本发明的一个实施例,所述调度所述重新分配的目标调度单元执行所述待调度任务后,还包括:获取所述待调度任务的执行结果,所述执行结果包括所述待调度任务此次执行的运行时长,并将所述执行结果作为新增的运行信息记录到所述任务运行表中。
[0127]
根据本发明的一个实施例,所述将所述执行结果作为新增的运行信息记录到所述任务运行表中,还包括:当所述待调度任务此次执行的运行时长超过所述运行时间范围时,
则上报任务执行超时报警。
[0128]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)等非易失性存储介质,或随机存储记忆体(random access memory,ram)等。
[0129]
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0130]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1