分布式系统实时任务调度方法、装置、设备及存储介质制造方法及图纸

技术编号:21033783 阅读:99 留言:0更新日期:2019-05-04 05:15
本发明专利技术公开了一种分布式系统实时任务调度方法,根据各个节点的资源情况,确定各个节点对应的计算能力值;接收多个任务请求,将任务放入调度队列中;根据所有任务的预计计算量之和以及所有节点对应的计算能力值之和,计算得到完成所有任务的理想时间;将调度队列中的任务依次放入各个节点对应的处理队列中进行处理,以使各个节点完成对应的处理队列中的任务所需的任务执行时间与理想时间的差值在预设范围内。本申请根据节点的计算能力、当前处理队列信息,合理安排系统接收的任务执行顺序和分配情况,能在较大程度上保持系统的负载均衡。此外,本申请还提供了一种分布式系统实时任务调度装置、设备以及计算机可读存储介质,同样具有上述技术效果。

【技术实现步骤摘要】
分布式系统实时任务调度方法、装置、设备及存储介质
本专利技术涉及分布式计算
,特别是涉及一种分布式系统实时任务调度方法、装置、设备以及计算机可读存储介质。
技术介绍
在目前云计算大数据等大规模分布式环境中,经常会遇到任务调度的问题。由于环境中各个节点的资源情况不同,任务执行消耗不同,使得任务调度比较复杂。常见的任务调度方法有:min-min算法以及max-min算法。其中,min-min算法的思想是首先映射小的任务,并且映射到执行快的机器上。这种算法容易出现负载不均衡的情况。而max-min算法则首先调度大任务,任务到资源的映射是选择最早完成所需时间最大的任务映射到所对应的机器上。这种算法会导致任务平均等待时间过长。可见,现有的min-min算法及max-min算法均存在一些问题,不能完全满足调度需求。
技术实现思路
本专利技术的目的是提供一种分布式系统实时任务调度方法、装置、设备以及计算机可读存储介质,以对现有分布式系统任务调度进行优化。为解决上述技术问题,本专利技术提供一种分布式系统实时任务调度方法,包括:根据各个节点的资源情况,确定各个节点对应的计算能力值;接收多个任务请求,将多个任务放入调度队列中;根据所有任务的预计计算量之和以及所有节点对应的计算能力值之和,计算得到完成所有任务的理想时间;将所述调度队列中的任务依次放入各个节点对应的处理队列中进行处理,以使各个节点完成对应的处理队列中的任务所需的任务执行时间与所述理想时间的差值在预设范围内,每个节点均维护一个对应的处理队列。可选地,所述将所述调度队列中的任务依次放入各个节点对应的处理队列中进行处理,以使各个节点完成对应的处理队列中的任务所需的任务执行时间与所述理想时间的差值在预设范围内包括:将调度队列L中的任务按照先进先出的顺序放入各个节点对应的处理队列Ln,各个节点对应的处理队列Ln按照各个节点的计算能力值进行排序;若所述处理队列Ln放入当前所调度任务之前为空,则计算所述处理队列Ln所对应的节点完成任务所需的任务执行时间Tn,当Tn大于等于完成所有任务的理想时间T时,则将下一个任务放入队列Ln+1,直至所有任务分配完毕;若处理队列Ln不为空,则根据每个节点剩余任务执行时间及计算能力值Pn加权后,重新排列各个节点对应的处理队列Ln的顺序,并依次从调度队列L中取出任务放入调度队列Ln,当调度队列Ln中的任务执行时间Tn大于等于所有任务的理想时间T时,则将下一个任务放入Ln+1,直至所有任务分配完毕;其中,1≤n≤m,m为参与调度的节点个数。可选地,还包括:当遍历所有的节点对应的处理队列Ln中的任务执行时间Tn均大于等于所有任务的理想时间T时,则等待下一个分配周期执行调度。可选地,在所述将所述调度队列中的任务依次放入各个节点对应的处理队列中进行处理之后还包括:接收各个节点实时上报的任务执行状态和剩余任务执行时间。可选地,所述将多个任务放入调度队列中包括:判断放入调度队列中的任务是否超过预设阈值,如果是,则不再接收新任务请求。可选地,在所述将多个任务放入调度队列中之后还包括:当检测到第一任务的预计计算量超过当前其他任务的平均计算量时,将所述第一任务放在所述调度队列的最前面进行分配。可选地,在所述将所述调度队列中的任务依次放入各个节点对应的处理队列中进行处理之后还包括:当第二任务执行失败后,将所述第二任务从节点对应的处理队列中返回至所述调度队列的最前面,重新进行调度并执行;当执行失败超过预设次数时,返回任务执行失败的信息。本申请还提供了一种分布式系统实时任务调度装置,包括:确定模块,用于根据各个节点的资源情况,确定各个节点对应的计算能力值;接收模块,用于接收多个任务请求,将多个任务放入调度队列中;计算模块,用于根据所有任务的预计计算量之和以及所有节点对应的计算能力值之和,计算得到完成所有任务的理想时间;调度模块,用于将所述调度队列中的任务依次放入各个节点对应的处理队列中进行处理,以使各个节点完成对应的处理队列中的任务所需的任务执行时间与所述理想时间的差值在预设范围内,每个节点均维护一个对应的处理队列。本申请还提供了一种分布式系统实时任务调度设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述任一种所述分布式系统实时任务调度方法的步骤。本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种所述分布式系统实时任务调度方法的步骤。本专利技术所提供的分布式系统实时任务调度方法,根据各个节点的资源情况,确定各个节点对应的计算能力值;接收多个任务请求,将任务放入调度队列中;根据所有任务的预计计算量之和以及所有节点对应的计算能力值之和,计算得到完成所有任务的理想时间;将调度队列中的任务依次放入各个节点对应的处理队列中进行处理,以使各个节点完成对应的处理队列中的任务所需的任务执行时间与理想时间的差值在预设范围内,每个节点均维护一个对应的处理队列。本申请通过对系统中每个节点创建相应的处理队列,并根据其计算能力、当前处理队列信息,合理安排系统接收的任务执行顺序和分配情况,基本实现了任务按顺序执行的需求,并能在较大程度上保持系统中节点的负载均衡。此外,本申请还提供了一种分布式系统实时任务调度装置、设备以及计算机可读存储介质,同样具有上述技术效果。附图说明为了更清楚的说明本专利技术实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请所提供的分布式系统实时任务调度方法的一种具体实施方式的流程图;图2为本申请所提供的分布式系统实时任务调度方法的另一种具体实施方式的流程图;图3为本专利技术实施例提供的分布式系统实时任务调度装置的结构框图;图4为本专利技术实施例提供的分布式系统实时任务调度设备的一种具体实施方式的结构框图;图5为专利技术实施例提供的分布式系统实时任务调度设备的另一种具体实施方式的结构框图。具体实施方式现有的分布式系统任务调度技术中,所采用的min-min算法及max-min算法均存在一些问题,不能完全满足调度需求。本专利技术的核心是提供一种分布式系统实时任务调度方法、装置、设备以及计算机可读存储介质,以对分布式系统任务调度进行优化。为了使本
的人员更好地理解本专利技术方案,下面结合附图和具体实施方式对本专利技术作进一步的详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本申请所提供的分布式系统实时任务调度方法的一种具体实施方式的流程图如图1所示,该方法具体包括:步骤S101:根据各个节点的资源情况,确定各个节点对应的计算能力值;从各个节点获取资源情况的信息,并根据资源情况对每一个节点的计算能力进行量化,得到各个节点对应的计算能力值。在得到各个节点对应的计算能力值之后,可以根据计算能力值的大小对各个节点进行排序。步骤S102:接收多个任务请求,将多个任务放入调度队列中;本文档来自技高网
...

【技术保护点】
1.一种分布式系统实时任务调度方法,其特征在于,包括:根据各个节点的资源情况,确定各个节点对应的计算能力值;接收多个任务请求,将多个任务放入调度队列中;根据所有任务的预计计算量之和以及所有节点对应的计算能力值之和,计算得到完成所有任务的理想时间;将所述调度队列中的任务依次放入各个节点对应的处理队列中进行处理,以使各个节点完成对应的处理队列中的任务所需的任务执行时间与所述理想时间的差值在预设范围内,每个节点均维护一个对应的处理队列。

【技术特征摘要】
1.一种分布式系统实时任务调度方法,其特征在于,包括:根据各个节点的资源情况,确定各个节点对应的计算能力值;接收多个任务请求,将多个任务放入调度队列中;根据所有任务的预计计算量之和以及所有节点对应的计算能力值之和,计算得到完成所有任务的理想时间;将所述调度队列中的任务依次放入各个节点对应的处理队列中进行处理,以使各个节点完成对应的处理队列中的任务所需的任务执行时间与所述理想时间的差值在预设范围内,每个节点均维护一个对应的处理队列。2.如权利要求1所述的分布式系统实时任务调度方法,其特征在于,所述将所述调度队列中的任务依次放入各个节点对应的处理队列中进行处理,以使各个节点完成对应的处理队列中的任务所需的任务执行时间与所述理想时间的差值在预设范围内包括:将调度队列L中的任务按照先进先出的顺序放入各个节点对应的处理队列Ln,各个节点对应的处理队列Ln按照各个节点的计算能力值进行排序;若所述处理队列Ln放入当前所调度任务之前为空,则计算所述处理队列Ln所对应的节点完成任务所需的任务执行时间Tn,当Tn大于等于完成所有任务的理想时间T时,则将下一个任务放入队列Ln+1,直至所有任务分配完毕;若处理队列Ln不为空,则根据每个节点剩余任务执行时间及计算能力值Pn加权后,重新排列各个节点对应的处理队列Ln的顺序,并依次从调度队列L中取出任务放入调度队列Ln,当调度队列Ln中的任务执行时间Tn大于等于所有任务的理想时间T时,则将下一个任务放入Ln+1,直至所有任务分配完毕;其中,1≤n≤m,m为参与调度的节点个数。3.如权利要求2所述的分布式系统实时任务调度方法,其特征在于,还包括:当遍历所有的节点对应的处理队列Ln中的任务执行时间Tn均大于等于所有任务的理想时间T时,则等待下一个分配周期执行调度。4.如权利要求1至3任一项所述的分布式系统实时任务调度方法,其特征在于,在所述将所述调度队列中的任务依次放入各...

【专利技术属性】
技术研发人员:魏传程胡玉鹏胡雷钧张东
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东,37

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

1