任务的资源调度方法及装置制造方法及图纸

技术编号:16455798 阅读:59 留言:0更新日期:2017-10-25 19:54
本发明专利技术提供了一种任务的资源调度方法及装置,通过确定多个任务的优先级以及规定的任务截止时间,确定预设的资源上限,根据任务优先级对执行多个任务的先后顺序进行调度,并使调度后的任务满足第一条件,其中,第一条件为任务不存在时间资源冲突,所述时间资源冲突为一个以上任务在时间序列上存在重叠的部分,并且所述重叠的部分的所占用的资源总和大于资源上限。本实施例中执行多个任务时,不再采用现有先进先出的原则,而是根据任务的优先级来调度。通过上述调度处理,能够维持各任务按级别序执行,尽可能地保证级别高的需求对应的任务优先获取资源,从而能够优先被执行,有利于该需求前端数据的呈现。

【技术实现步骤摘要】
任务的资源调度方法及装置
本专利技术属于数据处理领域,尤其涉及一种任务的资源调度方法及装置。
技术介绍
在传统的大数据计算中,每个需求一般包括多个任务,当需求包括的所有任务全部完成后,需求才能够在前端进行数据呈现。目前,需求对应的任务按照先到达先计算的规则执行。往往会出现一些重要性低的需求的任务先一步到达,这些需求的任务到达后就能够占用机器资源开始计算。当重要性较低的需求的任务计算时所需时间较长且资源较大时,就可能对后续达到的一些重要性高且期望完成时间较早的需求的任务产生一定的影响。例如,当这些重要性较高的需求的任务到达时,计算集群资源已经满载,这些重要性较高的需求的任务无法及时进行计算,进而最终会影响到前台数据的呈现。
技术实现思路
本专利技术提供一种任务的资源调度方法及装置,用于解决按照先到先计算的规则执行任务时重要性高的需求对应的任务无法及进行计算,影响该需求前端数据呈现的问题。为了实现上述目的,本专利技术提供了一种任务的资源调度方法,包括:确定多个任务的优先级以及规定的任务截止时间;确定预设的资源上限;根据任务优先级对执行多个任务的先后顺序进行调度,并使调度后的任务满足第一条件,本文档来自技高网...
任务的资源调度方法及装置

【技术保护点】
一种任务的资源调度方法,其特征在于,包括:确定多个任务的优先级以及规定的任务截止时间;确定预设的资源上限;根据任务优先级对执行多个任务的先后顺序进行调度,并使调度后的任务满足第一条件,所述第一条件为任务不存在时间资源冲突,所述时间资源冲突为一个以上任务在时间序列上存在重叠的部分,并且所述重叠的部分的所占用的资源总和大于资源上限。

【技术特征摘要】
1.一种任务的资源调度方法,其特征在于,包括:确定多个任务的优先级以及规定的任务截止时间;确定预设的资源上限;根据任务优先级对执行多个任务的先后顺序进行调度,并使调度后的任务满足第一条件,所述第一条件为任务不存在时间资源冲突,所述时间资源冲突为一个以上任务在时间序列上存在重叠的部分,并且所述重叠的部分的所占用的资源总和大于资源上限。2.根据权利要求1所述的方法,其特征在于,所述调度后的任务还满足第二条件:所有任务的结束时间不会超出其规定的任务截止时间。3.根据权利要求2所述的方法,其特征在于,还包括:如果存在无法满足所述第一条件和所述第二条件的任务,则将该任务放置到对其他任务完成调度后再进行处理。4.根据权利要求1至3任一项所述的方法,其特征在于,所述根据任务优先级对执行多个任务的先后顺序进行调度包括:根据任务的优先级和任务的依赖关系对执行多个任务的先后顺序进行调度。5.根据权利要求4所述的方法,其特征在于,所述多个任务中,存着类型不同的任务,所述时间资源冲突具体为一个以上相同类型的任务在时间序列上存在重叠的部分,并且所述重叠的部分的所占用的资源总和大于资源上限。6.根据权利要求1所述的任务的方法,其特征在于,所述调度后的任务构成已调度任务序列;所述根据任务优先级对执行多个任务的先后顺序进行调度,并使调度后的任务满足第一条件包括:向已调度任务序列中增加第一待调度任务,所述已调度任务序列中的任务的优先级高于或等于所述第一待调度任务的优先级,所述已调度任务序列满足所述第一条件;如果增加所述第一待调度任务导致所述时间资源冲突,则执行如下第一调度操作:沿着时间序列向后调整与所述第一待调度任务发生时间资源冲突的一个或多个第一重叠任务,或者,沿着时间序列向后调整一个或多个所述第一重叠任务以及在之后的时间序列上与所述第一待调度任务同类型的全部或部分任务,以生成满足所述第一条件和第二条件的调整后的任务序列:其中,所述第二条件为:所有任务的结束时间不会超出其规定的任务截止时间;如果存在满足所述第一条件和所述第二条件的调度后的任务序列,则保存为已调度任务序列,如果不存在,则放弃向已调度任务序列中增加所述第一待调度任务;选取新的未调度任务作为第一待调度任务,重复执行向已调度任务序列中增加第一待调度任务的处理,直至处理完全部未调度任务。7.根据权利要求6所述方法,其特征在于,还包括:如果增加所述第一待调度任务未导致所述时间资源冲突,则将增加了所述第一待调度任务的任务序列保存为已调度任务序列。8.根据权利要求6或7所述的方法,其特征在于,还包括:在处理完全部未调度任务后,选取被放弃的第一待调度任务作为第二待调度任务,执行如下第二调度操作:将所述第二待调度任务从所述已调度任务序列的尾部开始,沿着所述时间序列向前移动,选取满足第三条件的最靠前的位置作为所述第二待调度任务的最终位置,所述第三条件为增加了所述第二待调度任务后的任务序列不存在时间资源冲突。9.根据权利要求6所述的方法,其特征在于,在沿着所述时间序列向后调整一个或多个所述第一重叠任务以及在之后的时间序列上与所述第一待调度任务同类型的全部或部分任务的操作中,保持所述已调度任务序列中同类型任务的先后顺序。10.根据权利要求6所述的方法,其特征在于,所述沿着时间序列向后调整一个或多个所述第一重叠任务以及在之后的时间序列上与所述第一待调度任务同类型的全部或部分任务,包括:将一个或多个所述第一重叠任务作为目标任务沿着所述时间序列向后移动直至与所述目标任务发生的时间资源冲突消失后停止;如果移动后的所述目标任务的结束时间未超出其规定的任务截止时间,则进一步判断是否存在与移动后所述目标任务发生时间资源冲突的第二重叠任务,如果存在,则将一个或多个所述第二重叠任务作为新的目标任务重复执行上述将所述目标任务沿着所述时间序列向后移动的操作,如果不存在,则将当前任务序列作为保存为已调度任务序列;如果移动后的所述目标任务的结束时间超出其规定的任务截止时间,则判定为不存在满足所述第一条件和所述第二条件的调度后的任务序列,执行所述放弃向已调度任务序列中增加所述第一待调度任务的处理。11.根据权利要求6所述的方法,其特征在于,所述时间序列包括由所述已调度任务序列所包含的各任务的开始时间和结束时间构成的时间点,沿着时间序列调整任务具体为沿着时间序列的时间点调整任务。12.根据权利要求6所述的方法,其特征在于,所述向已调度任务序列中增加第一待调度任务之前,包括:根据任务之间的依赖关系划分任务组;其中,各任务组包括:检测数据状态的第一类型任务、计算数据的第二类型任务和汇总数据计算结果的第三类型任务;第二类型任务依赖第一类型任务,第三类型任务直接依赖第二类型任务,间接依赖第一类型任务;按照任务组的优先级由高到低进行排序;将各任务组内的任务按照任务类型进行排序;按序从任务组中获取所述第一待调度任务,或者选取优先级最高的任务组中的全部或部分任务生成所述已调度任务序列,然后,按序从任务组中获取所述第一待调度任务。13.根据权利要求12所述的方法,其特征在于,所述根据任务之间的依赖关系划分任务组之后,还包括:获取各任务组预设的截止时间;根据所述预设的截止时间获取到每个类型任务对应的任务截止时间。14.根据权利要求13所述的方法,其特征在于,所述按照任务组的优先级由高到低进行排序,包括:获取任务组中的各任务的运行时长;针对每个任务组,将组内任务对应的所述运行时长和预设的占用资源量相乘后累加得到任务组的累加值;基于各任务组的累加值和预先为各任务组设置的优先级,得到各任务组的优先级;对各任务组根据获取的优先级由高到低进行排序。15.根据权利要求14所述的方法,其特征在于,所述获取各任务组的各任务的运行时长,包括:针对每个任务组,收集设定时间段内的组内任务的历史数据;对所述历史数据进行分析,获取任务组的运行信息;根据所述任务组的运行信息获取任务组内各任务的运行时长。16.根据权利要求15所述的方法,其特征在于,所述依照顺序从任务组中获取所述第一待调度任务之后,还包括:判断所述第一待调度任务是否存在父节点任务;如果存在所述父节点任务时,根据所述第一待调度任务与所在任务组中其他任务之间的依赖关系,获取所述第一待调度任务的所有父节点任务;将所有父节点任务...

【专利技术属性】
技术研发人员:杨天洋
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1