CN107634978B - 一种资源调度方法及装置 - Google Patents

一种资源调度方法及装置 Download PDF

Info

Publication number
CN107634978B
CN107634978B CN201610570571.8A CN201610570571A CN107634978B CN 107634978 B CN107634978 B CN 107634978B CN 201610570571 A CN201610570571 A CN 201610570571A CN 107634978 B CN107634978 B CN 107634978B
Authority
CN
China
Prior art keywords
resource
node
scheduling request
nodes
resource scheduling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610570571.8A
Other languages
English (en)
Other versions
CN107634978A (zh
Inventor
崔鑫
蔺若林
赵锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610570571.8A priority Critical patent/CN107634978B/zh
Publication of CN107634978A publication Critical patent/CN107634978A/zh
Application granted granted Critical
Publication of CN107634978B publication Critical patent/CN107634978B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

本发明实施例公开了一种资源调度方法及装置。其中,该方法包括:资源调度装置在对某一应用程序进行全局资源分配时,如果资源集合中已经存在为该应用程序分配的其他资源节点,那么资源调度装置就会从空闲资源节点中选取与为该应用程序分配的其他资源节点的通讯距离最小的目标资源节点,从而分配给该应用程序,而不是随机为给应用程序分配资源节点。这样能够保证该应用程序的资源节点之间的通讯距离最小,即通讯损耗最小,提高了同一应用程序被分配的资源节点之间的通讯效率,从而提高了应用程序作业的运行效率,极大的缩短了整个系统对数据的分析处理时间。

Description

一种资源调度方法及装置
技术领域
本发明涉及信息技术领域,具体涉及一种资源调度方法及装置。
背景技术
在信息技术飞速发展与普及的时代,数据每年都以爆炸性的方式急剧增长,大数据分析软件的运行效率成为大数据系统是否可用和是否好用的重要标准之一,如何给大数据分析软件一个合适的运行环境以提高其运行效率已成为大数据系统,尤其是资源调度系统所要解决的问题。
目前的资源调度系统中,调度器在调度应用程序的作业时,如果该作业指定了资源节点,就会将指定的资源节点分配给该应用程序;如果指定了资源组,就会在指定的资源组中随机分配一个资源节点给该应用程序;如果都没有,则进行全局资源调度,即从符合的资源节点中随机选取一个资源节点分配给该应用程序,其中,资源节点是指可供应用程序的作业运行的装置,资源组包括多个资源节点,资源池由多个资源组组成。
实践中发现,由于同一应用程序被分配的资源节点之间需要进行通讯,在进行全局资源调度时,可能会出现同一应用程序被分配的资源节点之间的通讯距离较大,这样会降低资源节点之间的通讯效率,从而会降低应用程序作业的运行效率。
发明内容
本发明实施例公开了一种资源调度方法及装置,能够提高同一应用程序被分配的资源节点之间的通讯效率,提高应用程序作业的运行效率。
本发明实施例公开了一种资源调度方法,该方法可以包括:
资源调度装置可以获取资源调度请求队列中应用程序的全局性资源调度请求,并判断资源集合中是否存在所述应用程序的已分配资源节点,如果存在,就从所述资源集合的空闲资源节点中确定与所述已分配资源节点之间的通讯距离最小的目标资源节点,并将所述目标资源节点分配给所述应用程序。
其中,所述全局性资源调度请求用于请求为所述应用程序分配资源节点,所述全局性资源调度请求为不携带资源节点标识且不携带资源组标识的资源调度请求;所述资源调度装置所述资源集合包括多个资源组,所述资源组包括多个资源节点。
可见,资源调度装置在对某一应用程序进行全局资源分配时,如果资源集合中已经存在为该应用程序分配的其他资源节点,那么资源调度装置就会从空闲资源节点中选取与为该应用程序分配的其他资源节点的通讯距离最小的目标资源节点,从而分配给该应用程序,而不是随机为给应用程序分配资源节点。这样能够保证该应用程序的资源节点之间的通讯距离最小,提高了同一应用程序被分配的资源节点之间的通讯效率,从而提高了应用程序作业的运行效率,极大的缩短了整个系统对数据的分析处理时间。
进一步的,由于资源节点之间进行通讯会占据网络系统的网络资源,从而会加重网络负载,通过本申请可以缩短同一应用程序被分配的资源节点之间的通讯距离,从而可以在一定程度上降低网络负载。
作为一种可行的实施方式,所述资源调度装置从所述资源集合的空闲资源节点中确定目标资源节点,包括:
所述资源调度装置从所述资源集合中确定包括的所述已分配资源节点数量最多的目标资源组,并分别计算所述目标资源组中各空闲资源节点与所述已分配资源节点之间的通讯距离总和,从而将所述目标资源组中与所述已分配资源节点之间的通讯距离总和最小的空闲资源节点确定为目标资源节点。
可见,资源调度装置在为应用程序分配资源时,会将同一应用程序的资源节点尽可能的聚合在一个资源组中,使得整个系统中资源碎片大量减少,提高了整个系统的吞吐率。
作为另一种可行的实施方式,所述全局性资源调度请求携带所需要的资源节点数量,所述资源调度装置从所述资源集合的空闲资源节点中确定目标资源节点,包括:
所述资源调度装置从所述资源集合中确定包括的所述已分配资源节点数量最多的第一资源组,在所述第一资源组中的空闲资源节点的数量小于所述所需要的资源节点数量的情况下,会将所述第一资源组中的空闲资源节点以及第二资源组中的空闲资源节点确定为目标资源节点。其中,所述第二资源组中的空闲资源节点的数量与所述第一资源组中的空闲资源节点的数量之和为所述所需要的资源节点数量,所述第二资源组为所述资源集合中的除所述第一资源组之外的任一资源组。
可见,在同一资源组中的空闲资源节点数量不满足应用程序的资源调度请求所需的资源节点数量的情况下,资源调度装置会尽可能的将该应用程序还需要的资源节点分布在同一资源组中,这样尽可能的将同一应用程序的资源节点分布在相同的资源组中,使得整个系统中资源碎片大量减少,提高了整个系统的吞吐率。
作为又一种可行的实施方式,所述资源调度装置获取资源调度请求队列中应用程序的全局性资源调度请求之后,所述方法还包括:
所述资源调度装置检测所述资源调度请求队列中是否存在与所述全局性资源调度请求具有相同优先级的指向性资源调度请求,如果不存在,才执行所述判断资源集合中是否存在所述应用程序的已分配资源节点的操作。其中,所述指向性资源调度请求为携带资源节点标识或资源组标识的资源调度请求。
可见,在同一优先级下,先执行有指向性需求的资源调度请求,然后再执行全局性资源调度请求,这样可以在进行全局性调度时,避免占用了有指向性需求的资源调度请求所需要的资源节点,提高了系统的兼容性。
作为又一种可行的实施方式,所述方法还包括:
如果存在所述应用程序的已分配资源节点,所述资源调度装置从所述资源调度请求队列中获取优先级小于所述全局性资源调度请求的优先级的指向性资源调度请求,所述优先级小于所述全局性资源调度请求的优先级的指向性资源调度请求携带资源节点标识;那么所述资源调度装置从所述资源集合的空闲资源节点中确定的目标资源节点就不包括所述资源节点标识所标记的资源节点。
可见,如果存在优先级小于该应用程序的全局性资源调度请求的指向性资源调度请求,资源调度装置在为该应用程序分配资源节点时,会避免占用后面资源调度请求所需要的资源节点,从而可以提高系统资源的利用率。
相应的,本发明实施例公开了一种资源调度装置,该资源调度装置可以包括:
获取模块,用于获取资源调度请求队列中应用程序的全局性资源调度请求,所述全局性资源调度请求用于请求为所述应用程序分配资源节点,所述全局性资源调度请求为不携带资源节点标识且不携带资源组标识的资源调度请求;
判断模块,用于判断资源集合中是否存在所述应用程序的已分配资源节点,所述资源集合包括多个资源组,所述资源组包括多个资源节点;
确定模块,用于在所述判断模块判断出所述资源集合中存在所述应用程序的已分配资源节点的情况下,从所述资源集合的空闲资源节点中确定目标资源节点,所述目标资源节点与所述已分配资源节点之间的通讯距离最小;
分配模块,用于将所述目标资源节点分配给所述应用程序。
作为一种可行的实施方式,所述确定模块包括确定子模块和计算子模块,其中:
所述确定子模块,用于从所述资源集合中确定目标资源组,所述目标资源组为包括的所述已分配资源节点数量最多的资源组;
所述计算子模块,用于分别计算所述目标资源组中各空闲资源节点与所述已分配资源节点之间的通讯距离总和;
所述确定子模块,还用于将所述目标资源组中与所述已分配资源节点之间的通讯距离总和最小的空闲资源节点确定为目标资源节点。
作为另一种可行的实施方式,所述全局性资源调度请求携带所需要的资源节点数量,所述确定模块从所述资源集合的空闲资源节点中确定目标资源节点的具体方式为:
从所述资源集合中确定第一资源组,所述第一资源组为包括的所述已分配资源节点数量最多的资源组;
在所述第一资源组中的空闲资源节点的数量小于所述所需要的资源节点数量的情况下,将所述第一资源组中的空闲资源节点以及第二资源组中的空闲资源节点确定为目标资源节点,所述第二资源组中的空闲资源节点的数量与所述第一资源组中的空闲资源节点的数量之和为所述所需要的资源节点数量,所述第二资源组为所述资源集合中的除所述第一资源组之外的任一资源组。
作为又一种可行的实施方式,所述资源调度装置还包括:
检测模块,用于检测所述资源调度请求队列中是否存在与所述全局性资源调度请求具有相同优先级的指向性资源调度请求,所述指向性资源调度请求为携带资源节点标识或资源组标识的资源调度请求,如果不存在与所述全局性资源调度请求具有相同优先级的指向性资源调度请求,触发所述判断模块执行所述判断资源集合中是否存在所述应用程序的已分配资源节点的操作。
作为又一种可行的实施方式,所述获取模块,还用于从所述资源调度请求队列中获取优先级小于所述全局性资源调度请求的优先级的指向性资源调度请求,所述优先级小于所述全局性资源调度请求的优先级的指向性资源调度请求携带资源节点标识;
所述确定模块从所述资源集合的空闲资源节点中确定目标资源节点的具体方式为:
从所述资源集合的空闲资源节点中确定目标资源节点,所述目标资源节点不包括所述资源节点标识所标记的资源节点。
相应的,本发明实施例还公开了一种资源调度设备,包括接收器、处理器发送器等,包括了本发明实施例公开的资源调度装置,并用于执行本发明实施例公开的资源调度方法。
实施本发明实施例,具有如下有益效果:
本发明实施例中,资源调度装置在对某一应用程序进行全局资源分配时,如果资源集合中已经存在为该应用程序分配的其他资源节点,那么资源调度装置就会从空闲资源节点中选取与为该应用程序分配的其他资源节点的通讯距离最小的目标资源节点,从而分配给该应用程序,而不是随机为给应用程序分配资源节点。这样能够保证该应用程序的资源节点之间的通讯距离最小,提高了同一应用程序被分配的资源节点之间的通讯效率,从而提高了应用程序作业的运行效率,极大的缩短了整个系统对数据的分析处理时间。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例应用的系统架构示意图;
图2是本发明实施例公开的一种资源调度方法的流程示意图;
图3是本发明实施例公开的资源调度场景示意图;
图4是本发明实施例公开的另一种资源调度方法的流程示意图;
图5是本发明实施例公开的一种资源调度装置的结构示意图;
图6是本发明实施例公开的一种资源调度设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种资源调度方法及装置,能够提高同一应用程序被分配的资源节点之间的通讯效率,提高应用程序作业的运行效率。以下进行详细说明。
请参阅图1,图1是本发明实施例应用的系统架构示意图。图1所示的系统架构包括多个应用程序、资源调度设备以及硬件设备间。其中,应用程序安装在如智能手机、平板电脑、笔记本电脑、台式电脑、智能手环等终端设备上,应用程序在有作业需求时,资源调度设备会根据应用程序的作业需求为其分配硬件设备,以供其运行以及存储其产生的大量数据。硬件设备间包括多个机架,每个机架包括多台硬件设备。
如图1所示,应用程序A在作业时,向资源调度设备发送了多个资源调度请求,应用程序B和C在作业时,同样也向资源调度设备发送了多个资源调度请求,不同应用程序的多个资源调度请求均在资源调度请求队列中,资源调度设备从资源调度请求队列中获取资源调度请求进行资源调度。其中,资源调度请求之间具有不同的优先级,资源调度设备在处理资源调度请求时,会优先处理优先级高的资源调度请求。资源调度请求的类型分为指向性和全局性,指向性是指资源调度请求指定了设备或者机架,全局性是指资源调度请求未指定设备和机架,资源调度设备在处理同一优先级的资源调度请求时,会优先处理指向性资源调度请求。资源调度设备在为应用程序的资源调度请求分配硬件设备时,会从硬件设备间的机架中选取硬件设备,从而分配给该应用程序,那么该应用程序就会在分配的硬件设备上进行作业。
在图1所示的系统架构中,资源调度设备可以为应用程序合理的分配应急设备资源,从而给大数据软件以合适的运行环境。
基于图1所示的系统架构,本发明实施例公开的一种资源调度方法。请参阅2,图2是本发明实施例公开的一种资源调度方法的流程示意图。其中,图2所示的方法可以应用于资源调度装置,该资源调度装置应用于资源调度设备。如图2所示,该方法可以包括以下步骤:
201、资源调度装置获取资源调度请求队列中应用程序的全局性资源调度请求。
本发明实施例中,资源调度请求队列中包括多个应用程序的资源调度请求,同一应用程序的资源调度请求中,可能会同时存在指向性资源调度请求和全局性资源调度请求。其中,指向性资源调度请求一般携带有资源节点的标识或者资源组的标识,而全局性资源调度请求不会携带任何资源节点的标识也不会携带任何资源组的标识。
需要说明的是,资源节点可以理解为硬件设备、机器等;资源组包括多个资源节点,可以理解为机架等。
本发明实施例中,资源调度装置会根据资源调度请求队列中各个应用程序的资源调度请求为对应的应用程序分配资源节点。针对同一应用程序的作业,可以向资源调度装置发送指向性资源调度请求,也可以向资源调度装置发送全局性资源调度请求,因此,资源调度装置可以从资源调度请求队列中获取该应用程序的全局性资源调度请求,该全局性资源调度请求用于请求为该应用程序分配资源节点。
其中,应用程序向资源调度设备发送的资源调度请求中,可以请求为其分配一个资源节点,也可以请求为其分配多个资源节点;可以请求为其分配指定的资源节点,也可以请求为其分配指定机架上的资源节点,还可以对资源节点不做限定,本发明实施例不做限定。
202、资源调度装置判断资源集合中是否存在该应用程序的已分配资源节点,如果存在,执行步骤203;如果不存在,结束本流程。
本发明实施例中,资源调度装置在获取全局性资源调度请求后,会进一步判断资源集合中是否存在该应用程序的已分配资源节点。其中,资源集合包括多个资源组,可以理解为硬件设备间,包括多个机架,本发明实施例不做限定。也就是说,资源集合由多个资源组组成,资源组包括多个资源节点,资源调度装置主要是根据应用程序的资源调度请求为其分配匹配的资源节点,以供应用程序运行。
本发明实施例中,已分配资源节点为资源集合中本次资源调度之前已经为该应用程序分配过的资源节点。因此,资源调度装置判断资源集合中是否存在该应用程序的已分配资源节点可以理解为:资源调度装置在获取到全局性资源调度请求后,会确定出该全局性资源调度请求对应的应用程序;然后获取资源集合中各个资源节点的状态,如处于空闲状态还是已分配状态;如果该资源集合中存在该应用程序的资源分配节点,即资源调度装置已经为该应用程序分配资源节点,这些资源节点称为已分配资源节点。
如果资源集合中存在该应用程序的已分配资源节点,该资源调度装置从该资源集合的空闲资源节点中确定与已分配资源节点通讯距离最小的目标资源节点,从而分配给该应用程序;如果资源集合中不存在该应用程序的已分配资源节点,该资源调度装置从该资源集合的空闲资源节点中任意选择资源节点分配给该应用程序。如果全局性资源调度请求所需要的资源节点的数量有多个,那么在给该应用程序分配资源节点时,所分配的资源节点最好在同一资源组中,且彼此之间通讯距离最小,从而能够减少该应用程序所分配的资源节点之间的通讯损耗。
203、资源调度装置从该资源集合的空闲资源节点中确定目标资源节点。
本发明实施例中,目标资源节点为资源集合中的空闲资源节点,该目标资源节点与该应用程序的已分配资源节点的通讯距离最小。如果资源集合中存在该应用程序的已分配资源节点,资源调度装置就会从该资源集合的空闲资源节点中确定出目标资源节点。
其中,目标资源节点的数量可以为一个,也可以为多个,根据全局性资源调度请求的数量确定,本发明实施例不做限定。
由于资源节点之间进行通讯会占据网络系统的网络资源,从而会加重网络负载,通过本申请可以缩短同一应用程序被分配的资源节点之间的通讯距离,从而可以在一定程度上降低网络负载。
具体的,资源调度装置从该资源集合的空闲资源节点中确定目标资源节点的具体方式为分两种:
方式一、
资源调度装置从资源集合中确定目标资源组,分别计算目标资源组中各空闲资源节点与该应用程序的已分配资源节点之间的通讯距离总和,并将与该应用程序的已分配资源节点之间的通讯距离总和最小的空闲资源节点确定为目标资源节点。
该方式适用于全局资源调度请求所需求的资源节点数量不超过目标资源组的空闲资源数量的情况。其中,该应用程序的已分配资源节点的数量可以为一个,也可以为多个,目标资源组为包括该应用程序的已分配资源节点数量最多的资源组。
具体实现中,如果资源集合中存在该应用程序的已分配资源节点,那么资源调度装置可以进一步获取该应用程序的已分配资源节点在资源集合中的分布情况,如每个已分配资源节点所属的资源组等,然后确定出包括的该应用程序的已分配资源节点数量最多的目标资源组,然后分别计算目标资源组中的各个空闲资源节点与已分配资源节点的通讯距离总和,从而将与该应用程序的已分配资源节点之间的通讯距离总和最小的空闲资源节点确定目标资源节点。
举例来说,请一并参阅图3,图3是本发明实施例公开的资源调度场景示意图。如图3所示,假设资源集合中存在两个资源组,当资源调度装置接收到某一应用程序的全局性资源调度请求时,首先确定出资源组B中存在该应用程序的已分配资源节点M、N、U,具体分布如图3所示。资源组B中其余资源节点均为空闲资源节点,资源调度装置从而可以计算出资源组B中每个空闲资源节点与已分配资源节点M、N、U之间的通讯距离总和,由此可以得出资源组中资源节点V与已分配资源节点M、N、U之间的通讯距离总和最小,为4,资源节点K和L分别与已分配资源节点M、N、U之间的通讯距离总和为5。因此,该资源调度装置就会将资源组B中的资源节点V分配给该应用程序。
方式二、
全局性资源调度请求可以携带应用程序所需要的资源节点数量,资源调度装置从资源集合中确定出就第一资源组,如果第一资源组中的空闲资源节点的数量小于应用程序所需要的资源节点的数量,资源调度装置会将第一资源组中的空闲资源节点和第二资源组中的空闲资源节点确定为目标资源节点。
该方式适用于全局资源调度请求所需求的资源节点数量超过目标资源组的空闲资源数量的情况。其中,第二资源组中的空闲资源节点的数量和第一资源组中的空闲资源节点的数量之和为该应用程序所需要的资源节点的数量。也就是说,由于第一资源组中的空闲资源节点的数量小于该应用程序所需要的资源节点的数量,那么目标资源节点包括有第一资源组中的全部空闲资源节点和第二资源组中的部分空闲资源节点。
此外,第一资源组为包括该应用程序的已分配资源节点数量最多的资源组;第二资源组为资源集合中除第一资源组之外的任一资源组,本发明实施例不做限定。
举例来说,假设资源集合中存在资源组A、B、C,资源组B中存在应用程序A的已分配资源节点有3个,资源组A中存在应用程序A的已分配资源节点有1个,由此可知,资源调度装置会将资源组B确定为第一资源组。进一步的,该应用程序的全局性资源调度请求中需要4个资源节点,而资源组B中的空闲资源节点只有2个,那么该资源调度装置会将资源组B的两个空闲资源节点分配给该应用程序,并将资源组A中与资源组A的已分配资源节点的通讯距离最小的两个空闲资源节点分配给该应用程序。如果该应用程序的已分配资源全在资源组B中,那么资源调度装置可以从资源组A和资源组C中任意选择一资源组相邻的两个资源节点分配给该应用程序。
资源调度装置在为应用程序分配资源时,会将同一应用程序的资源节点尽可能的聚合在一个资源组中,如果同一资源组中的空闲资源节点数量不满足应用程序的资源调度请求所需的资源节点数量,资源调度装置会尽可能的将该应用程序还需要的资源节点分布在同一资源组中,使得整个系统中资源碎片大量减少,提高了整个系统的吞吐率。
204、资源调度装置将该目标资源节点分配给该应用程序,并结束本流程。
本发明实施例中,资源调度装置将确定的目标资源节点分配给该应用程序,那么该应用程序就会在分配的该资源节点上进行作业。
可见,在图2所描述的方法中,资源调度装置在对某一应用程序进行全局资源分配时,如果资源集合中已经存在为该应用程序分配的其他资源节点,那么资源调度装置就会从空闲资源节点中选取与为该应用程序分配的其他资源节点的通讯距离最小的目标资源节点,从而分配给该应用程序,而不是随机为给应用程序分配资源节点。这样能够保证该应用程序的资源节点之间的通讯距离最小,提高了同一应用程序被分配的资源节点之间的通讯效率,从而提高了应用程序作业的运行效率,极大的缩短了整个系统对数据的分析处理时间。进一步的,由于资源节点之间进行通讯会占据网络系统的网络资源,从而会加重网络负载,通过本申请可以缩短同一应用程序被分配的资源节点之间的通讯距离,从而可以在一定程度上降低网络负载。
基于图1所示的系统架构,本发明实施例公开的另一种资源调度方法。请参阅图4,图4是本发明实施例公开的另一种资源调度方法的流程示意图。如图4所示,该资源调度方法可以包括以下步骤:
401、资源调度装置获取资源调度请求队列中应用程序的全局性资源调度请求。
其中,全局性资源调度请求不会携带任何资源节点的标识也不会携带任何资源组的标识。该全局性资源调度请求用于请求为该应用程序分配资源节点。
402、资源调度装置检测资源调度请求队列中是否存在与该全局性资源调度请求具有相同优先级的指向性资源调度请求,如果不存在,执行步骤403;如果存在,结束本流程。
本发明实施例中,资源调度请求之间存在优先级,在相同优先级下,资源调度装置优先处理指向性资源调度请求,该指向性资源调度请求携带有资源节点标识或者资源组标识,即可以是指定资源节点的资源调度请求,也可以是指定资源组的资源调度请求,本发明实施例不做限定。
也就是说,资源调度装置在进行全局资源调度时(获取全局性资源调度请求之后),可以先查找资源调度请求队列中是否存在与该全局性资源调度请求优先级相同的指定资源节点或者指定资源组的资源调度请求,如果存在,优先为这些资源调度请求分配资源节点,如果不存在,再针对该全局性资源调度请求进行全局资源调度。其中,指向性资源调度请求一般携带有资源节点的标识或者资源组的标识。
可见,在同一优先级下,资源调度装置先执行有指向性需求的资源调度请求,然后再执行全局性资源调度请求,这样可以在进行全局性调度时,避免占用了有指向性需求的资源调度请求所需要的资源节点,提高了系统的兼容性。
403、资源调度装置判断资源集合中是否存在该应用程序的已分配资源节点,如果存在,执行步骤404;如果不存在,结束本流程。
其中,资源集合由多个资源组组成,资源组包括多个资源节点,已分配资源节点为资源集合中本次资源调度之前已经为该应用程序分配过的资源节点。
本发明实施例中,如果资源集合中存在该应用程序的已分配资源节点,该资源调度装置从该资源集合的空闲资源节点中确定与已分配资源节点通讯距离最小的目标资源节点,从而分配给该应用程序;如果资源集合中不存在该应用程序的已分配资源节点,该资源调度装置从该资源集合的空闲资源节点中任意选择资源节点分配给该应用程序。如果全局性资源调度请求所需要的资源节点的数量有多个,那么在给该应用程序分配资源节点时,所分配的资源节点最好在同一资源组中,且彼此之间通讯距离最小,从而能够减少该应用程度所分配的资源节点之间的通讯损耗。
404、资源调度装置从资源调度请求队列中获取优先级小于该全局性资源调度请求的优先级的指向性资源调度请求。
本发明实施例中,资源调度装置在检测资源调度请求队列中是否存在与该全局性资源调度请求具有相同优先级的指向性资源调度请求的同时,还会进一步从资源调度请求队列中获取优先级小于该全局性资源调度请求的优先级的指向性资源调度请求,该优先级小于该全局性资源调度请求的优先级的指向性资源调度请求携带有资源节点标识,即该指向性资源调度请求为指定资源节点的资源调度请求。
需要说明的是,步骤404可以在403之后执行,也可以在步骤403之前执行,本发明实施例不做限定。
405、资源调度装置从该资源集合的空闲资源节点中确定目标资源节点。
本发明实施例中,资源调度装置从该资源集合的空闲资源节点中确定目标资源节点的具体方式同上一实施例,本发明实施例在此不再赘述。
进一步的,资源调度装置在确定目标资源节点时,会结合优先级小于该全局性资源调度请求的优先级的指向性资源调度请求。该目标资源节点不包括该优先级小于该全局性资源调度请求的优先级的指向性资源调度请求所携带的资源节点标识所标记的资源节点。
举例来说,假设资源调度装置在根据全局性资源调度请求为该应用程序确定目标资源节点时,根据通讯距离最小规则确定出资源节点A与该应用程序的已分配资源节点的通讯距离最小,但小于该全局性资源调度请求的指向性资源调度请求所指定的资源节点也为资源节点A,那么资源调度装置就不会将资源节点A分配给该应用程序,而是将与该应用程序的已分配资源节点通讯距离较小的资源节点分配给该应用程序。
可见,如果存在优先级小于该应用程序的全局性资源调度请求的指向性资源调度请求,资源调度装置在为该应用程序分配资源节点时,会避免占用后面资源调度请求所需要的资源节点,从而可以提高系统资源的利用率。
406、资源调度装置将该目标资源节点分配给该应用程序。
可见,在图4所描述的方法中,,资源调度装置在对某一应用程序进行全局资源分配时,如果资源集合中已经存在为该应用程序分配的其他资源节点,那么资源调度装置就会从空闲资源节点中选取与为该应用程序分配的其他资源节点的通讯距离最小的目标资源节点,从而分配给该应用程序,而不是随机为给应用程序分配资源节点。这样能够保证该应用程序的资源节点之间的通讯距离最小,提高了同一应用程序被分配的资源节点之间的通讯效率,从而提高了应用程序作业的运行效率,极大的缩短了整个系统对数据的分析处理时间。进一步的,由于资源节点之间进行通讯会占据网络系统的网络资源,从而会加重网络负载,通过本申请可以缩短同一应用程序被分配的资源节点之间的通讯距离,从而可以在一定程度上降低网络负载。
基于图1所示的系统架构,本发明实施例公开的一种资源调度装置。请参阅图5,图5是本发明实施例公开的一种资源调度装置的结构示意图。其中,图5所示的资源调度装置500用于执行上述实施例公开的资源调度方法,该资源调度装置500应用于资源调度设备。如图5所示,该资源调度装置500可以包括:
获取模块501,用于获取资源调度请求队列中应用程序的全局性资源调度请求。
其中,全局性资源调度请求不会携带任何资源节点的标识也不会携带任何资源组的标识,该全局性资源调度请求用于请求为该应用程序分配资源节点。
判断模块502,用于判断资源集合中是否存在该应用程序的已分配资源节点。
其中,资源集合由多个资源组组成,资源组包括多个资源节点,已分配资源节点为资源集合中本次资源调度之前已经为该应用程序分配过的资源节点。
确定模块503,用于在上述判断模块502判断出资源集合中存在该应用程序的已分配资源节点的情况下,从该资源集合的空闲资源节点中确定目标资源节点。
其中,目标资源节点为资源集合中的空闲资源节点,该目标资源节点与该应用程序的已分配资源节点通讯距离最小。
分配模块504,用于将上述确定模块503确定的目标资源节点分配给该应用程序。
作为一种可行的实施方式,上述确定模块503可以包括确定子模块5031和计算子模块5032,其中:
确定子模块5031,用于从资源集合中确定目标资源组,其中,该目标资源组为包括的该应用程序的已分配资源节点数量最多的资源组。
计算子模块5032,用于分别计算该目标资源组中各空闲资源节点与该应用程序的已分配资源节点之间的通讯距离总和。
确定子模块5031,还用于将目标资源组中与该已分配资源节点之间的通讯距离总和最小的空闲资源节点确定为目标资源节点。
其中,该方式适用于全局资源调度请求所需求的资源节点数量不超过目标资源组的空闲资源数量的情况。
作为另一种可行的实施方式,全局性资源调度请求携带该应用程序所需要的资源节点数量,上述确定模块503从资源集合的空闲资源中确定目标资源节点的具体方式可以为:
从资源集合中确定出就第一资源组,如果第一资源组中的空闲资源节点的数量小于应用程序所需要的资源节点的数量,会将第一资源组中的空闲资源节点和第二资源组中的空闲资源节点确定为目标资源节点。
其中,第二资源组中的空闲资源节点的数量和第一资源组中的空闲资源节点的数量之和为该应用程序所需要的资源节点的数量。第一资源组为包括该应用程序的已分配资源节点数量最多的资源组;第二资源组为资源集合中除第一资源组之外的任一资源组。
可见,资源调度装置500在为应用程序分配资源时,会将同一应用程序的资源节点尽可能的聚合在一个资源组中,如果同一资源组中的空闲资源节点数量不满足应用程序的资源调度请求所需的资源节点数量,资源调度装置500会尽可能的将该应用程序还需要的资源节点分布在同一资源组中,使得整个系统中资源碎片大量减少,提高了整个系统的吞吐率。
作为又一种可行的实施方式,该资源调度装置500还可以包括:
检测模块505,用于检测资源调度请求队列中是否存在与该全局性资源调度请求具有相同优先级的指向性资源调度请求。如果不存在与该全局性资源调度请求具有相同优先级的指向性资源调度请求,触发上述判断模块502执行判断资源集合中是否存在该应用程序的已分配资源节点的操作。
其中,该指向性资源调度请求携带有资源节点标识或者资源组标识,即可以是指定资源节点的资源调度请求,也可以是指定资源组的资源调度请求,本发明实施例不做限定。
可见,在同一优先级下,资源调度装置500先执行有指向性需求的资源调度请求,然后再执行全局性资源调度请求,这样可以在进行全局性调度时,避免占用了有指向性需求的资源调度请求所需要的资源节点,提高了系统的兼容性。
作为又一种可行的实施方式,上述获取模块501,还用于从资源调度请求中获取优先级小于该全局性资源调度请求的优先级的指向性资源调度请求。
其中,该优先级小于该全局性资源调度请求的优先级的指向性资源调度请求携带有资源节点标识,即该指向性资源调度请求为指定资源节点的资源调度请求。
那么上述确定模块503从该资源集合的空闲资源节点中确定目标资源节点的具体方式可以为:
从该资源集合的空闲资源节点中确定目标资源节点,该目标资源节点不包括该资源节点标识所标记的资源节点。
可见,如果存在优先级小于该应用程序的全局性资源调度请求的指向性资源调度请求,资源调度装置500在为该应用程序分配资源节点时,会避免占用后面资源调度请求所需要的资源节点,从而可以提高系统资源的利用率。
可见,在图5所描述的资源调度装置中,资源调度装置在对某一应用程序进行全局资源分配时,如果资源集合中已经存在为该应用程序分配的其他资源节点,那么资源调度装置就会从空闲资源节点中选取与为该应用程序分配的其他资源节点的通讯距离最小的目标资源节点,从而分配给该应用程序,而不是随机为给应用程序分配资源节点。这样能够保证该应用程序的资源节点之间的通讯距离最小,提高了同一应用程序被分配的资源节点之间的通讯效率,从而提高了应用程序作业的运行效率,极大的缩短了整个系统对数据的分析处理时间。
基于图1所示的系统架构,本发明实施例公开的一种资源调度设备。请参阅图6,图6是本发明实施例公开的一种资源调度设备的结构示意图。其中,图6所示的资源调度设备600包括上述资源调度装置500,用于执行上一实施例公开的资源调度方法。如图6所示,该资源调度设备600可以包括:至少一个输入设备601,至少一个输出设备602,至少一个处理器603,如CPU,存储器604以及至少一个通信总线605,上述输入设备601、输出设备602、处理器603和存储器604通过总线605连接。
其中,上述输入设备601具体可为资源调度设备600的触控面板和接收器,触控面板包括触摸屏和触控屏,用于检测资源调度设备600触控面板上的操作指令,接收器用于接收外部设备发送的数据和指令。
上述输出设备602具体可为资源调度设备600的显示屏和发送器,显示屏用于输出显示界面等,发送器用于向外部设备发送数据和指令。
上述存储器604可以是高速RAM存储器,也可为非不稳定的存储器(non-volatilememory),例如磁盘存储器。上述存储器604用于存储一组程序代码,上述输入设备601、输出设备602和处理器603用于调用存储器604中存储的程序代码,执行如下操作:
上述输入设备601,用于获取资源调度请求队列中应用程序的全局性资源调度请求。其中,全局性资源调度请求不会携带任何资源节点的标识也不会携带任何资源组的标识,该全局性资源调度请求用于请求为该应用程序分配资源节点。
上述处理器603,用于判断资源集合中是否存在该应用程序的已分配资源节点,如果存在该应用程序的已分配资源节点,则从该资源集合的空闲资源节点中确定目标资源节点,并将该目标资源节点分配给该应用程序。
其中,资源集合由多个资源组组成,资源组包括多个资源节点,已分配资源节点为资源集合中本次资源调度之前已经为该应用程序分配过的资源节点。目标资源节点为资源集合中的空闲资源节点,该目标资源节点与该应用程序的已分配资源节点的通讯距离最小。
作为一种可行的实施方式,上述处理器603从该资源集合的空闲资源节点中确定目标资源节点的具体方式可以为:
从资源集合中确定目标资源组,分别计算目标资源组中各空闲资源节点与该应用程序的已分配资源节点之间的通讯距离总和,并将与该应用程序的已分配资源节点之间的通讯距离总和最小的空闲资源节点确定为目标资源节点。
该方式适用于全局资源调度请求所需求的资源节点数量不超过目标资源组的空闲资源数量的情况。其中,该应用程序的已分配资源节点的数量可以为一个,也可以为多个,目标资源组为包括该应用程序的已分配资源节点数量最多的资源组。
作为一种可行的实施方式,上述处理器603从该资源集合的空闲资源节点中确定目标资源节点的具体方式还可以为:
全局性资源调度请求可以携带应用程序所需要的资源节点数量,处理器603从资源集合中确定出就第一资源组,如果第一资源组中的空闲资源节点的数量小于应用程序所需要的资源节点的数量,处理器603会将第一资源组中的空闲资源节点和第二资源组中的空闲资源节点确定为目标资源节点。
该方式适用于全局资源调度请求所需求的资源节点数量超过目标资源组的空闲资源数量的情况。其中,第二资源组中的空闲资源节点的数量和第一资源组中的空闲资源节点的数量之和为该应用程序所需要的资源节点的数量。也就是说,由于第一资源组中的空闲资源节点的数量小于该应用程序所需要的资源节点的数量,那么目标资源节点包括有第一资源组中的全部空闲资源节点和第二资源组中的部分空闲资源节点。
此外,第一资源组为包括该应用程序的已分配资源节点数量最多的资源组;第二资源组为资源集合中除第一资源组之外的任一资源组,本发明实施例不做限定。
可见,资源调度设备600在为应用程序分配资源时,会将同一应用程序的资源节点尽可能的聚合在一个资源组中,如果同一资源组中的空闲资源节点数量不满足应用程序的资源调度请求所需的资源节点数量,资源调度设备600会尽可能的将该应用程序还需要的资源节点分布在同一资源组中,使得整个系统中资源碎片大量减少,提高了整个系统的吞吐率。
作为又一种可行的实施方式,处理器603,还用于检测资源调度请求队列中是否存在与该全局性资源调度请求具有相同优先级的指向性资源调度请求。如果不存在与该全局性资源调度请求具有相同优先级的指向性资源调度请求,执行判断资源集合中是否存在该应用程序的已分配资源节点的操作。
其中,该指向性资源调度请求携带有资源节点标识或者资源组标识,即可以是指定资源节点的资源调度请求,也可以是指定资源组的资源调度请求,本发明实施例不做限定。
可见,在同一优先级下,资源调度设备600先执行有指向性需求的资源调度请求,然后再执行全局性资源调度请求,这样可以在进行全局性调度时,避免占用了有指向性需求的资源调度请求所需要的资源节点,提高了系统的兼容性。
作为又一种可行的实施方式,上述输入设备601,还用于从资源调度请求中获取优先级小于该全局性资源调度请求的优先级的指向性资源调度请求。
其中,该优先级小于该全局性资源调度请求的优先级的指向性资源调度请求携带有资源节点标识,即该指向性资源调度请求为指定资源节点的资源调度请求。
那么上述处理器603从该资源集合的空闲资源节点中确定目标资源节点的具体方式可以为:
从该资源集合的空闲资源节点中确定目标资源节点,该目标资源节点不包括该资源节点标识所标记的资源节点。
可见,如果存在优先级小于该应用程序的全局性资源调度请求的指向性资源调度请求,资源调度设备600在为该应用程序分配资源节点时,会避免占用后面资源调度请求所需要的资源节点,从而可以提高系统资源的利用率。
可见,在图6所描述的资源调度设备中,资源调度设备在对某一应用程序进行全局资源分配时,如果资源集合中已经存在为该应用程序分配的其他资源节点,那么资源调度设备置就会从空闲资源节点中选取与为该应用程序分配的其他资源节点的通讯距离最小的目标资源节点,从而分配给该应用程序,而不是随机为给应用程序分配资源节点。这样能够保证该应用程序的资源节点之间的通讯距离最小,提高了同一应用程序被分配的资源节点之间的通讯效率,从而提高了应用程序作业的运行效率,极大的缩短了整个系统对数据的分析处理时间。进一步的,由于资源节点之间进行通讯会占据网络系统的网络资源,从而会加重网络负载,通过本申请可以缩短同一应用程序被分配的资源节点之间的通讯距离,从而可以在一定程度上降低网络负载。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例资源调度装置中的模块可以根据实际需要进行合并、划分和删减。
本发明实施例中所述资源调度设备,可以通过通用集成电路,例如CPU(CentralProcessing Unit,中央处理器),或通过ASIC(Application Specific IntegratedCircuit,专用集成电路)来实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上对本发明实施例公开的一种资源调度方法及装置进行了详细介绍,本文中应用了具体实例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (12)

1.一种资源调度方法,其特征在于,包括:
资源调度装置获取资源调度请求队列中应用程序的全局性资源调度请求,所述全局性资源调度请求用于请求为所述应用程序分配资源节点,所述全局性资源调度请求为不携带资源节点标识且不携带资源组标识的资源调度请求;
所述资源调度装置判断资源集合中是否存在所述应用程序的已分配资源节点,所述资源集合包括多个资源组,所述资源组包括多个资源节点;
如果存在所述应用程序的已分配资源节点,所述资源调度装置从所述资源集合的空闲资源节点中确定目标资源节点,所述目标资源节点与所述已分配资源节点之间的通讯距离最小;
所述资源调度装置将所述目标资源节点分配给所述应用程序;
其中,所述资源调度装置从所述资源集合的空闲资源节点中确定目标资源节点,包括:
所述资源调度装置从所述资源集合中确定目标资源组,所述目标资源组为包括的所述已分配资源节点数量最多的资源组;
所述资源调度装置分别计算所述目标资源组中各空闲资源节点与所述已分配资源节点之间的通讯距离总和;
所述资源调度装置将所述目标资源组中与所述已分配资源节点之间的通讯距离总和最小的空闲资源节点确定为目标资源节点;
或者,
其中,所述全局性资源调度请求携带所需要的资源节点数量,所述资源调度装置从所述资源集合的空闲资源节点中确定目标资源节点,包括:
所述资源调度装置从所述资源集合中确定第一资源组,所述第一资源组为包括的所述已分配资源节点数量最多的资源组;
在所述第一资源组中的空闲资源节点的数量小于所述所需要的资源节点数量的情况下,所述资源调度装置将所述第一资源组中的空闲资源节点以及第二资源组中的空闲资源节点确定为目标资源节点,所述第二资源组中的空闲资源节点的数量与所述第一资源组中的空闲资源节点的数量之和为所述所需要的资源节点数量,所述第二资源组为所述资源集合中的除所述第一资源组之外的任一资源组。
2.根据权利要求1所述的方法,其特征在于,所述资源调度装置获取资源调度请求队列中应用程序的全局性资源调度请求之后,所述方法还包括:
所述资源调度装置检测所述资源调度请求队列中是否存在与所述全局性资源调度请求具有相同优先级的指向性资源调度请求,所述指向性资源调度请求为携带资源节点标识或资源组标识的资源调度请求;如果不存在与所述全局性资源调度请求具有相同优先级的指向性资源调度请求,所述资源调度装置执行所述判断资源集合中是否存在所述应用程序的已分配资源节点的操作。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果存在所述应用程序的已分配资源节点,所述资源调度装置从所述资源调度请求队列中获取优先级小于所述全局性资源调度请求的优先级的指向性资源调度请求,所述优先级小于所述全局性资源调度请求的优先级的指向性资源调度请求携带资源节点标识;
所述资源调度装置从所述资源集合的空闲资源节点中确定目标资源节点,包括:
所述资源调度装置从所述资源集合的空闲资源节点中确定目标资源节点,所述目标资源节点不包括所述资源节点标识所标记的资源节点。
4.一种资源调度方法,其特征在于,包括:
资源调度装置获取资源调度请求队列中应用程序的全局性资源调度请求,所述全局性资源调度请求用于请求为所述应用程序分配资源节点,所述全局性资源调度请求为不携带资源节点标识且不携带资源组标识的资源调度请求;
所述资源调度装置判断资源集合中是否存在所述应用程序的已分配资源节点,所述资源集合包括多个资源组,所述资源组包括多个资源节点;
如果存在所述应用程序的已分配资源节点,所述资源调度装置从所述资源集合的空闲资源节点中确定目标资源节点,所述目标资源节点与所述已分配资源节点之间的通讯距离最小;
所述资源调度装置将所述目标资源节点分配给所述应用程序;
其中,所述资源调度装置获取资源调度请求队列中应用程序的全局性资源调度请求之后,所述方法还包括:
所述资源调度装置检测所述资源调度请求队列中是否存在与所述全局性资源调度请求具有相同优先级的指向性资源调度请求,所述指向性资源调度请求为携带资源节点标识或资源组标识的资源调度请求;如果不存在与所述全局性资源调度请求具有相同优先级的指向性资源调度请求,所述资源调度装置执行所述判断资源集合中是否存在所述应用程序的已分配资源节点的操作。
5.一种资源调度方法,其特征在于,包括:
资源调度装置获取资源调度请求队列中应用程序的全局性资源调度请求,所述全局性资源调度请求用于请求为所述应用程序分配资源节点,所述全局性资源调度请求为不携带资源节点标识且不携带资源组标识的资源调度请求;
所述资源调度装置判断资源集合中是否存在所述应用程序的已分配资源节点,所述资源集合包括多个资源组,所述资源组包括多个资源节点;
如果存在所述应用程序的已分配资源节点,所述资源调度装置从所述资源集合的空闲资源节点中确定目标资源节点,所述目标资源节点与所述已分配资源节点之间的通讯距离最小;
所述资源调度装置将所述目标资源节点分配给所述应用程序;
其中,所述方法还包括:
如果存在所述应用程序的已分配资源节点,所述资源调度装置从所述资源调度请求队列中获取优先级小于所述全局性资源调度请求的优先级的指向性资源调度请求,所述优先级小于所述全局性资源调度请求的优先级的指向性资源调度请求携带资源节点标识;
所述资源调度装置从所述资源集合的空闲资源节点中确定目标资源节点,包括:
所述资源调度装置从所述资源集合的空闲资源节点中确定目标资源节点,所述目标资源节点不包括所述资源节点标识所标记的资源节点。
6.一种资源调度装置,其特征在于,包括:
获取模块,用于获取资源调度请求队列中应用程序的全局性资源调度请求,所述全局性资源调度请求用于请求为所述应用程序分配资源节点,所述全局性资源调度请求为不携带资源节点标识且不携带资源组标识的资源调度请求;
判断模块,用于判断资源集合中是否存在所述应用程序的已分配资源节点,所述资源集合包括多个资源组,所述资源组包括多个资源节点;
确定模块,用于在所述判断模块判断出所述资源集合中存在所述应用程序的已分配资源节点的情况下,从所述资源集合的空闲资源节点中确定目标资源节点,所述目标资源节点与所述已分配资源节点之间的通讯距离最小;
分配模块,用于将所述目标资源节点分配给所述应用程序;
其中,所述确定模块包括确定子模块和计算子模块,其中:
所述确定子模块,用于从所述资源集合中确定目标资源组,所述目标资源组为包括的所述已分配资源节点数量最多的资源组;
所述计算子模块,用于分别计算所述目标资源组中各空闲资源节点与所述已分配资源节点之间的通讯距离总和;
所述确定子模块,还用于将所述目标资源组中与所述已分配资源节点之间的通讯距离总和最小的空闲资源节点确定为目标资源节点;
或者,
其中,所述全局性资源调度请求携带所需要的资源节点数量,所述确定模块从所述资源集合的空闲资源节点中确定目标资源节点的具体方式为:
从所述资源集合中确定第一资源组,所述第一资源组为包括的所述已分配资源节点数量最多的资源组;
在所述第一资源组中的空闲资源节点的数量小于所述所需要的资源节点数量的情况下,将所述第一资源组中的空闲资源节点以及第二资源组中的空闲资源节点确定为目标资源节点,所述第二资源组中的空闲资源节点的数量与所述第一资源组中的空闲资源节点的数量之和为所述所需要的资源节点数量,所述第二资源组为所述资源集合中的除所述第一资源组之外的任一资源组。
7.根据权利要求6所述的资源调度装置,其特征在于,所述资源调度装置还包括:
检测模块,用于检测所述资源调度请求队列中是否存在与所述全局性资源调度请求具有相同优先级的指向性资源调度请求,所述指向性资源调度请求为携带资源节点标识或资源组标识的资源调度请求,如果不存在与所述全局性资源调度请求具有相同优先级的指向性资源调度请求,触发所述判断模块执行所述判断资源集合中是否存在所述应用程序的已分配资源节点的操作。
8.根据权利要求6所述的资源调度装置,其特征在于,
所述获取模块,还用于从所述资源调度请求队列中获取优先级小于所述全局性资源调度请求的优先级的指向性资源调度请求,所述优先级小于所述全局性资源调度请求的优先级的指向性资源调度请求携带资源节点标识;
所述确定模块从所述资源集合的空闲资源节点中确定目标资源节点的具体方式为:
从所述资源集合的空闲资源节点中确定目标资源节点,所述目标资源节点不包括所述资源节点标识所标记的资源节点。
9.一种资源调度装置,其特征在于,包括:
获取模块,用于获取资源调度请求队列中应用程序的全局性资源调度请求,所述全局性资源调度请求用于请求为所述应用程序分配资源节点,所述全局性资源调度请求为不携带资源节点标识且不携带资源组标识的资源调度请求;
判断模块,用于判断资源集合中是否存在所述应用程序的已分配资源节点,所述资源集合包括多个资源组,所述资源组包括多个资源节点;
确定模块,用于在所述判断模块判断出所述资源集合中存在所述应用程序的已分配资源节点的情况下,从所述资源集合的空闲资源节点中确定目标资源节点,所述目标资源节点与所述已分配资源节点之间的通讯距离最小;
分配模块,用于将所述目标资源节点分配给所述应用程序;
其中,所述资源调度装置还包括:
检测模块,用于检测所述资源调度请求队列中是否存在与所述全局性资源调度请求具有相同优先级的指向性资源调度请求,所述指向性资源调度请求为携带资源节点标识或资源组标识的资源调度请求,如果不存在与所述全局性资源调度请求具有相同优先级的指向性资源调度请求,触发所述判断模块执行所述判断资源集合中是否存在所述应用程序的已分配资源节点的操作。
10.一种资源调度装置,其特征在于,包括:
获取模块,用于获取资源调度请求队列中应用程序的全局性资源调度请求,所述全局性资源调度请求用于请求为所述应用程序分配资源节点,所述全局性资源调度请求为不携带资源节点标识且不携带资源组标识的资源调度请求;
判断模块,用于判断资源集合中是否存在所述应用程序的已分配资源节点,所述资源集合包括多个资源组,所述资源组包括多个资源节点;
确定模块,用于在所述判断模块判断出所述资源集合中存在所述应用程序的已分配资源节点的情况下,从所述资源集合的空闲资源节点中确定目标资源节点,所述目标资源节点与所述已分配资源节点之间的通讯距离最小;
分配模块,用于将所述目标资源节点分配给所述应用程序;
其中,所述获取模块,还用于从所述资源调度请求队列中获取优先级小于所述全局性资源调度请求的优先级的指向性资源调度请求,所述优先级小于所述全局性资源调度请求的优先级的指向性资源调度请求携带资源节点标识;
所述确定模块从所述资源集合的空闲资源节点中确定目标资源节点的具体方式为:
从所述资源集合的空闲资源节点中确定目标资源节点,所述目标资源节点不包括所述资源节点标识所标记的资源节点。
11.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质存储有计算机程序,所述计算机程序被硬件执行时,能够实现权利要求1至5任意一项所述的方法。
12.一种资源调度设备,其特征在于,所述资源调度设备包括处理器和存储器,其中,
所述存储器用于存储一组程序代码,所述处理器用于调用存储器中存储的程序代码,执行权利要求1至5任意一项所述的方法。
CN201610570571.8A 2016-07-19 2016-07-19 一种资源调度方法及装置 Active CN107634978B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610570571.8A CN107634978B (zh) 2016-07-19 2016-07-19 一种资源调度方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610570571.8A CN107634978B (zh) 2016-07-19 2016-07-19 一种资源调度方法及装置

Publications (2)

Publication Number Publication Date
CN107634978A CN107634978A (zh) 2018-01-26
CN107634978B true CN107634978B (zh) 2020-11-06

Family

ID=61112377

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610570571.8A Active CN107634978B (zh) 2016-07-19 2016-07-19 一种资源调度方法及装置

Country Status (1)

Country Link
CN (1) CN107634978B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109298936B (zh) * 2018-09-11 2021-05-18 华为技术有限公司 一种资源调度方法及装置
CN113037800B (zh) * 2019-12-09 2024-03-05 华为云计算技术有限公司 作业调度方法以及作业调度装置
CN113094179B (zh) * 2021-04-23 2024-04-19 曙光信息产业(北京)有限公司 作业分配方法、装置、电子设备及可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006107883A3 (en) * 2005-04-01 2007-04-19 Arroyo Video Solutions Inc Stream control failover
CN102096599A (zh) * 2009-12-14 2011-06-15 中国移动通信集团公司 一种多队列任务调度方法及相关系统和设备
CN102387586A (zh) * 2010-08-30 2012-03-21 普天信息技术研究院有限公司 一种基于td-scdma系统的资源分配方法
CN103974138A (zh) * 2014-04-15 2014-08-06 上海聚力传媒技术有限公司 用于在内容分发网络中预加载视频的方法与设备
CN104657214A (zh) * 2015-03-13 2015-05-27 华存数据信息技术有限公司 一种基于多队列和多优先级的大数据任务管理系统和方法
CN104881325A (zh) * 2015-05-05 2015-09-02 中国联合网络通信集团有限公司 一种资源调度方法和资源调度系统
CN105577572A (zh) * 2014-10-11 2016-05-11 南京理工大学 基于预算限制自组织云任务执行时间最短化资源分配方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7310673B2 (en) * 2001-12-21 2007-12-18 Hewlett-Packard Development Company, L.P. Network resource assignment system and method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006107883A3 (en) * 2005-04-01 2007-04-19 Arroyo Video Solutions Inc Stream control failover
CN102096599A (zh) * 2009-12-14 2011-06-15 中国移动通信集团公司 一种多队列任务调度方法及相关系统和设备
CN102387586A (zh) * 2010-08-30 2012-03-21 普天信息技术研究院有限公司 一种基于td-scdma系统的资源分配方法
CN103974138A (zh) * 2014-04-15 2014-08-06 上海聚力传媒技术有限公司 用于在内容分发网络中预加载视频的方法与设备
CN105577572A (zh) * 2014-10-11 2016-05-11 南京理工大学 基于预算限制自组织云任务执行时间最短化资源分配方法
CN104657214A (zh) * 2015-03-13 2015-05-27 华存数据信息技术有限公司 一种基于多队列和多优先级的大数据任务管理系统和方法
CN104881325A (zh) * 2015-05-05 2015-09-02 中国联合网络通信集团有限公司 一种资源调度方法和资源调度系统

Also Published As

Publication number Publication date
CN107634978A (zh) 2018-01-26

Similar Documents

Publication Publication Date Title
EP3799390A1 (en) Preemptive scheduling based resource sharing use method, system and
US9218203B2 (en) Packet scheduling in a multiprocessor system using inter-core switchover policy
US9021138B2 (en) Performance of multi-processor computer systems
CN107832143B (zh) 一种物理机资源的处理方法和装置
CN110187958B (zh) 一种任务处理方法、装置、系统、设备及存储介质
US20090235250A1 (en) Management machine, management system, management program, and management method
CN109684080B (zh) 集中式任务调度方法、系统及存储介质
CN111338779B (zh) 资源分配方法、装置、计算机设备和存储介质
CN112905342A (zh) 资源调度方法、装置、设备及计算机可读存储介质
CN107634978B (zh) 一种资源调度方法及装置
CN111338785A (zh) 资源调度方法及装置、电子设备、存储介质
US20180191861A1 (en) Method and Apparatus for Scheduling Resources in a Cloud System
JP7506096B2 (ja) 計算資源の動的割り当て
CN110990154A (zh) 一种大数据应用优化方法、装置及存储介质
CN115168013A (zh) 一种任务运行系统、方法及计算设备
CN112286688A (zh) 一种内存管理和使用方法、装置、设备和介质
CN106775975B (zh) 进程调度方法及装置
CN115237589A (zh) 一种基于sr-iov的虚拟化方法、装置和设备
CN107294911B (zh) 一种数据包监听方法及装置、远程过程调用系统、设备
CN110912967A (zh) 一种服务节点调度方法、装置、设备及存储介质
CN111813541B (zh) 一种任务调度方法、装置、介质和设备
CN115640113A (zh) 多平面弹性调度方法
US9152549B1 (en) Dynamically allocating memory for processes
CN111382141B (zh) 主从架构配置方法、装置、设备以及计算机可读存储介质
CN111831408A (zh) 异步任务处理方法、装置、电子设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220207

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technologies Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.