CN108667864B - 一种进行资源调度的方法和装置 - Google Patents
一种进行资源调度的方法和装置 Download PDFInfo
- Publication number
- CN108667864B CN108667864B CN201710198284.3A CN201710198284A CN108667864B CN 108667864 B CN108667864 B CN 108667864B CN 201710198284 A CN201710198284 A CN 201710198284A CN 108667864 B CN108667864 B CN 108667864B
- Authority
- CN
- China
- Prior art keywords
- identifier
- task
- resource node
- tasks
- resource
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000000638 solvent extraction Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Multimedia (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种进行资源调度的方法和装置,属于资源调度技术领域。所述方法包括:如果待调度的各任务中包括具有反亲和性的多个任务,则建立第一流图模型,所述第一流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与对应于具有反亲和性的多个任务的中间虚拟标识的连接对应关系、以及所述中间虚拟标识与每个资源节点标识的连接对应关系,将所述中间虚拟标识与每个资源节点标识的连接对应关系对应的容量设置为0或1;根据所述第一流图模型,对所述具有反亲和性的多个任务进行资源调度。采用本发明,可以使得对约束规则复杂的任务能够进行资源调度。
Description
技术领域
本发明涉及资源调度技术领域,特别涉及一种进行资源调度的方法和装置。
背景技术
在网络侧处理任务时,往往会有资源调度的问题,其中,资源调度即是在一定的约束规则下,将待调度的各任务分配到各资源节点上。例如,资源节点可以是业务服务器,调度服务器可以根据每个任务需要的资源量和资源节点包含的资源量,将每个任务调度到相应的业务服务器中,以便各业务服务器执行对应的任务,例如,资源量是存储容量,调度服务器可以根据已知的每个任务需要的存储容量和每个业务服务器包含的存储容量,将每个任务调度到能够承载该任务的业务服务器上。
约束规则可以是某几个任务之间具有亲和性(即这几个任务必须调度在同一资源节点上),某任务和某资源节点之间具有反亲和性(即该任务不要调度在该资源节点上),调度服务器在进行资源调度时,往往会根据约束规则,将待调度的各任务调度到相应的资源节点上。目前,为提高资源利用率,往往采用流图方法对待调度的各任务进行资源调度,即在进行资源调度时,首先可以构建能满足约束规则的流图模型,进而,可以根据构建的流图模型,将任务调度到资源节点上,例如,对于约束规则为各任务之间具有亲和性的情况,调度服务器在进行资源调度时,首先会建立流图模型,其中,流图模型中记录有任务标识(由于各任务之间具有亲和性,因此,该任务标识可以是表示所有任务的一个标识)与各资源节点标识的连接对应关系,然后,调度服务器可以根据所有任务需要的总资源量和各资源节点包含的资源量,确定每个连接对应关系对应的容量和代价,最后,可以将每个连接对应关系对应的容量和代价作为最小代价最大流算法的输入,确定出任务标识对应的一个资源节点标识(即可以将各任务调度到确定出的资源节点标识对应的资源节点上),这样,根据构建出的上述流图模型确定出的调度结果即可满足各任务具有亲和性的约束规则。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
通过流图方法进行资源调度时,首先需要构建流图模型,目前只存在约束规则较简单(比如任务之间具有亲和性、任务与资源节点之间具有亲和性等)的流图模型的构建方法,不存在约束规则复杂(比如任务之间具有反亲和性)的流图模型的构建方法,从而,导致无法对约束规则复杂的任务进行资源调度。
发明内容
为了解决无法对约束规则复杂的任务进行资源调度的问题,本发明实施例提供了一种进行资源调度的方法和装置。所述技术方案如下:
第一方面,提供了一种进行资源调度的方法,该方法包括:如果待调度的各任务中包括具有反亲和性的多个任务,则可以建立第一流图模型,其中,第一流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与对应于具有反亲和性的多个任务的中间虚拟标识的连接对应关系、以及中间虚拟标识与每个资源节点标识的连接对应关系,并将中间虚拟标识与每个资源节点标识的连接对应关系对应的容量设置为0或1;根据第一流图模型,对具有反亲和性的多个任务进行资源调度。
本发明实施例所示的方案,如果待调度的各任务中包括具有反亲和性的多个任务,则调度服务器可以建立第一流图模型,在建立第一流图模型时,可以建立具有反亲和性的多个任务中的每个任务的任务标识与对应于具有反亲和性的多个任务的中间虚拟标识的连接对应关系、以及中间虚拟标识与每个资源节点标识的连接对应关系,并可以结合设置中间虚拟标识与每个资源节点标识的连接对应关系对应的容量,来满足反亲和性约束规则,其中,可以将其对应的容量设置为0或1。这样,调度服务器即可基于构建的第一流图模型,对具有反亲和性的多个任务进行资源调度,即可以使得约束规则复杂的任务能够进行资源调度。
在一种可能的实现方式中,如果待调度的各任务中包括具有反亲和性的多个任务,则建立第一流图模型,第一流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与对应于具有反亲和性的多个任务的中间虚拟标识的连接对应关系、以及中间虚拟标识与每个资源节点标识的连接对应关系,包括:如果待调度的各任务中包括具有反亲和性的多个任务且多个任务的属性一致,则建立第一流图模型,第一流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与对应于具有反亲和性的多个任务的中间虚拟标识的连接对应关系、以及中间虚拟标识与每个资源节点标识的连接对应关系。
本发明实施例所示的方案,如果待调度的各任务中包括具有反亲和性的多个任务,并且多个任务的属性一致时,则可以采用上述方式,构建第一流图模型。这样,可以保证有更多的任务可以调度成功,即可以有更多的任务可以被分配到资源节点上。
在一种可能的实现方式中,如果待调度的各任务中包括具有反亲和性的多个任务,则建立第一流图模型,第一流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与对应于具有反亲和性的多个任务的中间虚拟标识的连接对应关系、以及中间虚拟标识与每个资源节点标识的连接对应关系,将中间虚拟标识与每个资源节点标识的连接对应关系对应的容量设置为0或1,包括:如果待调度的各任务中包括具有反亲和性的多个任务,则建立第一流图模型,第一流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与每个资源节点标识对应于具有反亲和性的多个任务的中间虚拟标识的连接对应关系、以及每个中间虚拟标识与每个中间虚拟标识对应的资源节点标识的连接对应关系,将每个中间虚拟标识与每个中间虚拟标识对应的资源节点标识的连接对应关系对应的容量设置为0或1。
本发明实施例所示的方案,对于约束规则为反亲和性的情况,调度服务器在建立第一流图模型时,可以建立具有反亲和性的多个任务中的每个任务的任务标识与每个资源节点标识对应于具有反亲和性的多个任务的中间虚拟标识的连接对应关系、以及每个中间虚拟标识与每个中间虚拟标识对应的资源节点标识的连接对应关系,即具有反亲和性的多个任务对应的中间虚拟标识的数量与资源节点标识的数量一致,对应于具有反亲和性的多个任务,每个资源节点标识都对应有一个中间虚拟标识。另外,为保证反亲和性,可以设置每个中间虚拟标识与每个中间虚拟标识对应的资源节点标识的连接对应关系对应的容量设置为0或1。这样,能够对具有反亲和性的多个任务进行调度的同时,还可以保证尽可能多的任务可以被分配到资源节点上。
在一种可能的实现方式中,所述方法还包括:如果待调度的各任务中包括具有弱亲和性的多个任务,则根据具有弱亲和性的多个任务中的每个任务需要的资源量和每个资源节点包含的资源量,确定能承载具有弱亲和性的多个任务,且包含的资源节点数目最少的资源节点集合;建立第二流图模型,第二流图模型中记录有具有弱亲和性的多个任务中的每个任务的任务标识与每个资源节点标识的连接对应关系,并设置任务标识与所述资源节点集合中的每个资源节点的资源节点标识的连接对应关系对应的代价,小于任务标识与资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价;根据第二流图模型,对具有弱亲和性的多个任务进行资源调度。
本发明实施例所示的方案,如果待调度的各任务中包括具有弱亲和性的多个任务,则调度服务器首先可以确定能承载具有弱亲和性的多个任务,且包含的资源节点数目最少的资源节点集合,然后,建立第二流图模型,在建立第二流图模型时,可以建立具有弱亲和性的多个任务中的每个任务的任务标识与每个资源节点标识的连接对应关系,在设置代价时,可以设置任务标识与所述资源节点集合中的每个资源节点的资源节点标识的连接对应关系对应的代价,小于任务标识与资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价,最后,基于建立的第二流图模型,对具有弱亲和性的多个任务进行资源调度。这样,可以使得具有弱亲和性的多个任务尽可能的分配在较少的资源节点上,满足弱亲和性的约束规则。
在一种可能的实现方式中,建立第二流图模型,第二流图模型中记录有具有弱亲和性的多个任务中的每个任务的任务标识与每个资源节点标识的连接对应关系,并设置任务标识与所述资源节点集合中的每个资源节点的资源节点标识的连接对应关系对应的代价,小于任务标识与资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价,包括:建立第二流图模型,第二流图模型中记录有具有弱亲和性的多个任务中的每个任务的任务标识与第一中间虚拟标识的连接对应关系、以及第一中间虚拟标识与每个资源节点标识的连接对应关系,并设置第一中间虚拟标识与资源节点集合中的每个资源节点的资源节点标识的连接对应关系对应的代价,小于第一中间虚拟标识与资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价。
本发明实施例所示的方案,在建立第二流图模型时,调度服务器可以通过第一中间虚拟标识,建立具有弱亲和性的多个任务的任务标识与每个资源节点标识的连接对应关系,并可以设置第一中间虚拟标识与资源节点集合中的每个资源节点的资源节点标识的连接对应关系对应的代价最小。这样,可以使得具有弱亲和性的多个任务尽可能的分配在较少的资源节点上,满足弱亲和性的约束规则。
在一种可能的实现方式中,建立第二流图模型,第二流图模型中记录有具有弱亲和性的多个任务中的每个任务的任务标识与第一中间虚拟标识的连接对应关系、以及第一中间虚拟标识与每个资源节点标识的连接对应关系,并设置第一中间虚拟标识与所述资源节点集合中的每个资源节点的资源节点标识的连接对应关系对应的代价,小于第一中间虚拟标识与所述资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价,包括:将具有弱亲和性的多个任务划分为多个任务集合,其中,每个任务集合中的各任务之间的弱亲和性程度值在同一预设范围内;建立第二流图模型,第二流图模型中记录有每个任务集合中的每个任务的任务标识与每个任务集合对应的中间虚拟标识的连接对应关系、每个任务集合对应的中间虚拟标识与所述第一中间虚拟标识和所述资源节点集合之外的每个资源节点的资源节点标识的连接对应关系、以及第一中间虚拟标识与资源节点集合中的每个资源节点的资源节点标识的连接对应关系,并设置每个任务集合对应的中间虚拟标识与所述第一中间虚拟标识的连接对应关系、以及第一中间虚拟标识与资源节点集合中的每个资源节点的资源节点标识的连接对应关系分别对应的代价,小于每个任务集合对应的中间虚拟标识与所述资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价,以及设置对应的预设范围的端点值越大的任务集合对应的中间虚拟标识与第一中间虚拟标识的连接对应关系对应的代价越小。
本发明实施例所示的方案,针对待调度的各任务中,存在对应的弱亲和性程度值在不同预设范围的情况,可以将具有弱亲和性的多个任务划分为多个任务集合,对于每个任务集合,可以分别设置有一个中间虚拟标识,并设置对应的弱亲和性程度值越大的连接对应关系对应的代价越小,其中,弱亲和性程度值越大表示越亲和,即在资源调度时越要分配到相同的资源节点上。这样,可以保证弱亲和性程度值较大的任务可以尽可能的分配到资源节点集合中的资源节点上。
在一种可能的实现方式中,该方法还包括:如果待调度的各任务中包括具有反亲和性的多个任务集合,将各资源节点划分为与每个任务集合对应的多个资源节点集合,其中,多个任务集合中的任务之间具有反亲和性;建立第三流图模型,对于每个任务集合,第三流图模型中记录有任务集合中的每个任务的任务标识与任务集合对应的资源节点集合中的资源节点的资源节点标识的连接关系;根据第三流图模型,对多个任务集合中的多个任务进行资源调度。
本发明实施例所示的方案,针对待调度的各任务中包括具有反亲和性的多个任务集合的情况,调度服务器可以将各资源节点划分为与每个任务集合对应的多个资源节点集合,每个任务集合,在对应的资源节点集合中进行资源调度。
在一种可能的实现方式中,如果待调度的各任务中包括具有反亲和性的多个任务集合,将各资源节点划分为与每个任务集合对应的多个资源节点集合,包括:对于每个任务集合,根据任务集合中的每个任务需要的资源量和每个资源节点包含的资源量,确定能承载所述任务集合的资源节点集合。
本发明实施例所示的方案,在划分资源节点集合时,可以根据任务集合中的每个任务需要的资源量和每个资源节点包含的资源量,确定能承载所述任务集合的资源节点集合。这样可以提高资源节点的资源利用率。
在一种可能的实现方式中,该方法还包括:如果待调度的各任务中包括具有弱约束规则的多个任务,则在具有弱约束规则的多个任务之间具有强约束规则的前提下,对所述具有弱约束规则的多个任务进行第一次资源调度;如果具有弱约束规则的多个任务中存在调度失败的任务,则在调度失败的任务之间不具有约束规则的前提下,对调度失败的各任务进行第二次资源调度。
本发明实施例所示的方案,针对待调度的各任务中包括具有弱约束规则的情况,可以进行两次资源调度,第一次资源调度可以在各任务具有强约束规则的前提下进行,第二次资源调度,可以是针对第一次资源调度时调度失败的任务,此次资源调度可以在不具有约束规则的前提下,对调度失败的各任务进行资源调度。这样可以保证尽可能的满足约束规则的同时,还可以提高资源利用率。
第二方面,提供了一种进行资源调度的装置,该装置包括至少一个模块,该至少一个模块用于实现上述第一方面所提供的进行资源调度的方法。
第三方面,提供了一种调度服务器,该服务器包括处理器、存储器,处理器被配置为执行存储器中存储的指令;处理器通过执行指令来实现上述第一方面所提供的进行资源调度的方法。
第四方面,提供了计算机可读存储介质,包括指令,当所述计算机可读存储介质在调度服务器上运行时,使得所述调度服务器执行上述第一方面所述的方法。
上述本发明实施例第二到第四方面所获得的技术效果与第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,如果待调度的各任务中包括具有反亲和性的多个任务,则可以建立包含反亲和性的每个任务的任务标识与各资源节点的资源标识的流图模型,流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与中间虚拟标识的连接对应关系、以及所述中间虚拟标识与每个资源节点标识的连接对应关系,将中间虚拟标识与每个资源节点标识的连接对应关系对应的容量设置为0或1,进而,调度服务器可以根据流图模型,对具有反亲和性的多个任务进行资源调度。这样,提供了约束规则复杂的流图模型的构建方法,从而,可以使得对约束规则复杂的任务能够进行资源调度。
附图说明
图1是本发明实施例提供的一种***框架示意图;
图2是本发明实施例提供的一种进行资源调度的方法流程图;
图3(a)是本发明实施例提供的一种流图模型示意图;
图3(b)是本发明实施例提供的一种流图模型示意图;
图3(c)是本发明实施例提供的一种流图模型示意图;
图3(d)是本发明实施例提供的一种流图模型示意图;
图4是本发明实施例提供的一种进行资源调度的方法流程图;
图5(a)是本发明实施例提供的一种流图模型示意图;
图5(b)是本发明实施例提供的一种流图模型示意图;
图5(c)是本发明实施例提供的一种流图模型示意图;
图6是本发明实施例提供的一种进行资源调度的方法流程图;
图7(a)是本发明实施例提供的一种流图模型示意图;
图7(b)是本发明实施例提供的一种流图模型示意图;
图8是本发明实施例提供的一种进行资源调度的装置结构示意图;
图9是本发明实施例提供的一种进行资源调度的装置结构示意图;
图10是本发明实施例提供的一种进行资源调度的装置结构示意图。
具体实施方式
本发明实施例提供了一种进行资源调度的方法,该方法的执行主体为调度服务器。其中,该服务器可以是具有资源调度功能的服务器。
调度服务器可以包括处理器110、存储器120,处理器110可以与存储器120连接,如图1所示。处理器110可以包括一个或多个处理单元;处理器110可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件等。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。调度服务器还可以包括存储器120,存储器120可用于存储软件程序以及模块,处理器110通过读取存储在存储器120的软件代码以及模块,从而执行数据处理。
下面将结合具体实施方式,对图2所示的处理流程进行详细的说明,内容可以如下:
步骤201,如果待调度的各任务中包括具有反亲和性的多个任务,则建立第一流图模型,第一流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与对应于具有反亲和性的多个任务的中间虚拟标识的连接对应关系、以及中间虚拟标识与每个资源节点标识的连接对应关系,将中间虚拟标识与每个资源节点标识的连接对应关系对应的容量设置为0或1。
其中,中间虚拟标识可以是用于建立满足复杂约束规则的流图模型的辅助标识,可以是用于任务标识与资源节点标识建立连接对应关系的辅助节点。
在实施中,如果待调度的各任务中包含具有反亲和性的多个任务,则调度服务器在对具有反亲和性的多个任务进行资源调度时,可以建立符合约束规则为多个任务具有反亲和性的流图模型(可以称为第一流图模型)。具体的,第一流图模型中可以记录有反亲和性的多个任务中的每个任务的任务标识与中间虚拟标识连接对应关系,以及中间虚拟标识与每个资源节点标识的连接对应关系,其中,第一流图模型中的中间虚拟标识可以是多个任务标识对应的中间虚拟标识(也就是说,待调度的各任务中还包括其他的包括具有反亲和性的多个任务的任务集合时,每个其他的任务集合也可以对应有中间虚拟标识)。另外,调度服务器为符合多个任务具有反亲和性的约束规则,还可以对连接对应关系对应的容量进行限制(即对流图模型中每条边对应的容量进行限制),可以将上述中间虚拟标识与每个资源节点标识的连接对应关系对应的容量设置为0或1。也就是说,中间虚拟标识与每个资源节点标识的连接对应关系对应的容量可以是0,也可以是1,不可能大于1,其中,该连接对应关系对应的容量是0还是1,可以由多个任务需要的资源量和各资源节点标识对应的资源节点包含的资源量决定。例如,具有反亲和性的多个任务的任务标识为P0、P1,当前包括的资源节点标识为M0、M1、M2,则调度服务器可以建立如图3(a)所示的第一流图模型,第一流图模型中的中间虚拟节点为T,第一流图模型中可以记录有P0、P1分别与T的连接对应关系、T分别与M0、M1、M2的连接对应关系,并且,调度服务器可以设置T分别与M0、M1、M2的连接对应关系(即T-M0边、T-M1边、T-M2边)对应的容量为0或1(当M0包含的资源量大于或等于P0和P1需要的资源量时,T与M0的连接对应关系对应的容量可以是1,当M0包含的资源量小于P0和P1需要的资源量时,T与M0的连接对应关系对应的容量可以是0),可以看到,这样建立流图模型,可以保证P0、P1最多有一个任务可以分配到某个资源节点上,图3(a)中的第一流图模型可以是单起点单终点流图模型,即第一流图模型中还可以记录有每个资源标识与终点D的连接对应关系、每个任务标识与起点S的连接对应关系,还可以记录有每个任务标识与无调度节点U的连接对应关系、U与D的连接对应关系。此外,本发明实施例中,第一流图模型中也可以不设置无调度节点U,而是记录有T与D的连接对应关系。
此外,当待调度的各任务中包括多个任务集合(其中,每个任务集合中包括的多个任务具有反亲和性)时,对于每个包括具有反亲和性的多个任务的任务集合,调度服务器均可按照上述方法,构建流图模型。例如,第一任务集合中具有反亲和性的多个任务的任务标识为P0、P1,以及第二任务集合中具有反亲和性的多个任务的任务标识为P2、P3、P4,当前包括的资源节点标识为M0、M1、M2,则调度服务器可以建立如图3(b)所示的第一流图模型,第一流图模型中的中间虚拟节点为T0、T1,对于第一任务集合,第一流图模型中可以记录有P0、P1分别与T0的连接对应关系、T0分别与M0、M1、M2的连接对应关系,并且,调度服务器可以分别设置T0与M0、M1、M2的连接对应关系(即T0-M0边、T0-M1边、T0-M2边)对应的容量为0或1;对于第二任务集合,第一流图模型中可以记录有P2、P3、P4分别与T1的连接对应关系、T1分别与M0、M1、M2的连接对应关系,并且,调度服务器可以分别设置T1与M0、M1、M2的连接对应关系(即T1-M0边、T1-M1边、T1-M2边)对应的容量为0或1,另外,图3(b)中的第一流图模型可以是单起点单终点流图模型,即第一流图模型中还可以记录有每个资源标识与终点D的连接对应关系、每个任务标识与起点S的连接对应关系,第一流图模型中可以不设置无调度节点U,对于每个任务集合,而是记录有该任务集合对应的中间虚拟标识与D的连接对应关系。另外,第一流图模型中也可以设置无调度节点,对于每个任务集合,还可以记录有该任务集合中的每个任务的任务标识与该任务集合对应的无调度节点U的连接对应关系、以及无调度节点U与D的连接对应关系,或者,各任务集合对应一个无调度节点U,即记录有每个任务的任务标识与U的连接对应关系、U与D的连接对应关系。
另外,待调度的各任务中除去具有反亲和性的多个任务外,可能还包括其他不具有约束规则或者具有约束规则简单的任务。对于除具有反亲和性的多个任务之外的待调度的任务,可以按照现有的流图模型的构建方法,构建相应的流图模型。
可选的,可以在具有反亲和性的多个任务的属性一致的情况下,建立第一流图模型,相应的,步骤201的处理过程可以如下:如果待调度的各任务中包括具有反亲和性的多个任务且多个任务的属性一致,则建立第一流图模型,第一流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与对应于具有反亲和性的多个任务的中间虚拟标识的连接对应关系、以及中间虚拟标识与每个资源节点标识的连接对应关系。
在实施中,调度服务器确定出具有反亲和性的多个任务后,还可以判断具有反亲和性的多个任务的属性是否一致,如果具有反亲和性的多个任务的属性一致,则可以按照步骤201的处理方式,建立第一流图模型,其中,属性一致可以是需要的资源量一致。
可选的,在建立第一流图模型时,可以建立每个任务标识与每个资源节点标识对应的中间虚拟标识,相应的,处理过程可以如下:如果待调度的各任务中包括具有反亲和性的多个任务,则建立第一流图模型,第一流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与每个资源节点标识对应于具有反亲和性的多个任务的中间虚拟标识的连接对应关系、以及每个中间虚拟标识与每个中间虚拟标识对应的资源节点标识的连接对应关系,将每个中间虚拟标识与每个中间虚拟标识对应的资源节点标识的连接对应关系对应的容量设置为0或1。
在实施中,调度服务器在建立第一流图模型时,还可以对每个资源节点标识设置对应的中间虚拟标识。具体的,第一流图模型中可以记录有具有反亲和性的多个任务中的每个任务的任务标识与每个资源节点标识对应的中间虚拟标识的连接对应关系,以及对于每个中间虚拟标识,记录有该中间虚拟标识与该中间虚拟标识对应的资源节点标识的连接对应关系,并可以将该中间虚拟标识与该中间虚拟标识对应的资源节点标识的连接对应关系对应的容量设置为0或1,其中,第一流图模型中的中间虚拟标识可以是资源节点标识和具有反亲和性的多个任务对应的中间虚拟标识。
例如,具有反亲和性的多个任务的任务标识为P0、P1,当前包括的资源节点标识为M0、M1、M2,则可以建立如图3(c)所示的第一流图模型,其中,每个资源节点标识对应的中间虚拟标识分别为V0、V1、V2,第一流图模型中可以记录有P0、P1分别与V0、V1、V2的连接对应关系、以及V0与M0、V1与M1、V2与M2的连接对应关系,并且,调度服务器可以设置V0与M0、V1与M1、V2与M2的连接对应关系对应的容量为0或1,可以看到,这样建立流图模型,可以保证P0、P1最多有一个任务可以分配到某个资源节点上,图3(c)中的第一流图模型可以是单起点单终点流图模型,即第一流图模型中还可以记录有每个资源标识与终点D的连接对应关系、每个任务标识与起点S的连接对应关系,第一流图模型中可以设置有无调度节点U,此种情况下,第一流图模型中可以记录有每个任务的任务标识与U的连接对应关系、以及U与D的连接对应关系。
此外,当待调度的各任务中包括多个任务集合(其中,每个任务集合中包括的多个任务具有反亲和性)时,对于每个包括具有反亲和性的多个任务的任务集合,调度服务器均可按照上述方法,构建流图模型。例如,第一任务集合中具有反亲和性的多个任务的任务标识为P0、P1,以及第二任务集合中具有反亲和性的多个任务的任务标识为P2、P3、P4,当前包括的资源节点标识为M0、M1、M2,则调度服务器可以建立如图3(d)所示的第一流图模型,第一流图模型中的中间虚拟节点为V00、V10、V01、V11、V02、V12(其中,V00、V01、V02可以是P0、P1对应于每个资源节点标识的中间虚拟标识,V10、V11、V12可以是P2、P3、P4对应于每个资源节点标识的中间虚拟标识),对于第一任务集合,第一流图模型中可以记录有P0、P1分别与V00、V01、V02的连接对应关系、V00与M0、V01与M1、V02与M2的连接对应关系,并且,调度服务器可以分别设置V00与M0、V01与M1、V02与M2的连接对应关系对应的容量为0或1;对于第二任务集合,第一流图模型中可以记录有P2、P3、P4分别与V10、V11、V12的连接对应关系、V10与M0、V11与M1、V12与M2的连接对应关系,并且,调度服务器可以分别设置V10与M0、V11与M1、V12与M2的连接对应关系对应的容量为0或1,图3(d)中的第一流图模型可以是单起点单终点流图模型,即第一流图模型中还可以记录有每个资源标识与终点D的连接对应关系、每个任务标识与起点S的连接对应关系,第一流图模型中可以设置有无调度节点U1、U2,此种情况下,对于每个任务集合,第一流图模型中可以记录有该任务集合中的每个任务的任务标识与该任务集合对应的无调度节点U的连接对应关系、以及U与D的连接对应关系。另外,第一流图模型中也可以只设置一个无调度节点U。
步骤202,根据第一流图模型,对具有反亲和性的多个任务进行资源调度。
在实施中,调度服务器建立第一流图模型后,可以根据具有反亲和性的多个任务中的每个任务需要的资源量和各资源节点包含的资源量,确定上述各连接对应关系对应的容量和代价,进而,可以将各连接对应关系及其对应的容量和代价作为最小代价最大流算法的输入,对具有反亲和性的多个任务进行资源调度,其中,得到流图模型后,确定每个连接对应关系对应的容量和代价以及最小代价最大流算法属于现有技术,本发明实施例不再进行赘述。
另外,约束规则还可以对应有约束程度值,即还可以包括强约束规则(例如,强反亲和性可以是具有强反亲和性的多个任务一定不在同一个资源节点上)和弱约束规则(例如,弱反亲和性可以是具有弱反亲和性的多个任务最好不在同一个资源节点上,可以允许在同一个资源节点上),步骤201中所述的具有反亲和性的多个任务可以是具有强反亲和性。
可选的,针对多个任务满足弱约束规则的情况,调度服务器在对多个任务进行资源调度时,可以按照如下方式进行处理:如果待调度的各任务中包括具有弱约束规则的多个任务,则在具有弱约束规则的多个任务之间具有强约束规则的前提下,对具有弱约束规则的多个任务进行第一次资源调度;如果具有弱约束规则的多个任务中存在调度失败的任务,则在调度失败的任务之间不具有约束规则的前提下,对调度失败的各任务进行第二次资源调度。
在实施中,如果待调度的各任务中包含具有弱约束规则的多个任务,则调度服务器可以先后对多个任务进行两次资源调度。具体的,在第一次资源调度时,可以假设具有弱约束规则的多个任务之间具有强约束规则,在这样的前提下,对其进行第一次资源调度,这样,可以保证调度结果尽可能满足约束规则。第一次资源调度后,调度服务器可以判断具有弱约束规则的多个任务中是否存在调度失败的任务,如果具有弱约束规则的多个任务中存在调度失败的任务,则可以在调度失败的任务之间不具有约束规则的前提下,对调度失败的各任务进行第二次资源调度,其中,调度失败可以是该任务没有被调度到任一资源节点。
例如,具有弱反亲和性的多个任务的任务标识为P0、P1、P2、P3,在第一次资源调度时,调度服务器可以在P0、P1、P2、P3具有强反亲和性的前提下,对P0、P1、P2、P3进行资源调度,其中,可以按照P0、P1、P2、P3具有强反亲和性的前提,建立流图模型(可以按照步骤201所述的方法建立流图模型),基于建立的流图模型,对P0、P1、P2、P3进行第一次资源调度,第一次资源调度后,如果P2、P3调度失败,则调度服务器可以在P2、P3不具有任何约束规则的前提下,建立流图模型,并给予建立的流图模型,对P2、P3进行第二次资源调度。
另外,本发明实施例还提供了另外一种约束规则复杂(即各任务具有弱亲和性)的流图模型的构建方法,如图4所示。
步骤401,如果待调度的各任务中包括具有弱亲和性的多个任务,则根据具有弱亲和性的多个任务中的每个任务需要的资源量和每个资源节点包含的资源量,确定能承载具有弱亲和性的多个任务,且包含的资源节点数目最少的资源节点集合。
其中,弱亲和性可以是多个任务尽可能被调度到同一资源节点上,允许被调度到不同的资源节点上。
在实施中,如果待调度的各任务中还包括具有弱亲和性的多个任务,则调度服务器可以确定适合具有弱亲和性的多个任务的资源节点集合,即可以确定能承载具有弱亲和性的多个任务,且包含的资源节点数目最少的资源节点集合。具体的,调度服务器可以获取具有弱亲和性的多个任务中的每个任务需要的资源量,统计具有弱亲和性的多个任务需要的资源量,并可以统计每个资源节点包含的资源量,进而,可以在所有资源节点中,确定能承载具有弱亲和性的多个任务(其中,能承载具有弱亲和性的多个任务是指资源节点集合包含的资源量大于多个任务需要的资源量),且包含的资源节点数目最少的资源节点集合,其中,可以采用贪心算法确定资源节点集合,也可以采用穷举法确定资源节点集合,确定出的资源节点集合包含的资源节点的数目有可能为1。
另外,调度服务器还可以在上述资源节点集合中,进一步确定包含的资源量与具有弱亲和性的多个任务需要的资源量的差值最小的资源节点集合,即如果待调度的各任务中包括具有弱亲和性的多个任务,则根据具有弱亲和性的多个任务中的每个任务需要的资源量和每个资源节点包含的资源量,确定能承载具有弱亲和性的多个任务、包含的资源节点数目最少、且包含的资源量与具有弱亲和性的多个任务需要的资源量的差值最小的资源节点集合,其中,资源节点集合包含的资源量可以是该资源节点集合包括的各资源节点包含的资源量的和。
另外,用户还可以根据自己需求,进一步设置前提条件,比如,可以设置确定出的资源节点集合包含的资源节点位于同一机架内、或者确定出的资源节点集合包含的资源节点具有同类型的端口等。此种情况下,调度服务器可以在上述确定出的资源节点集合中,确定满足用户设置的前提条件的资源节点集合。
步骤402,建立第二流图模型,第二流图模型中记录有具有弱亲和性的多个任务中的每个任务的任务标识与每个资源节点标识的连接对应关系,并设置任务标识与资源节点集合中的每个资源节点的资源节点标识的连接对应关系对应的代价,小于任务标识与资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价。
在实施中,如果待调度的各任务中包括具有弱亲和性的多个任务,则调度服务器还可以建立符合该约束规则的流图模型(可以称为第二流图模型)。具体的,在建立第二流图模型时,可以建立具有弱亲和性的多个任务中的每个任务的任务标识与每个资源节点标识的连接对应关系。另外,为满足多个任务的弱亲和性,调度服务器还可以对各连接对应关系对应的代价进行设置。具体的,可以设置任务标识与资源节点集合中的每个资源节点的资源节点标识的连接对应关系对应的代价,小于任务标识与资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价。例如,具有弱亲和性的多个任务的任务标识为P0、P1,资源节点标识为M0、M1、M2、M3,确定出的资源节点集合包括的资源节点为M1、M2,则可以建立如图5(a)所示的第二流图模型,第二流图模型中可以记录有P0、P1分别与M0、M1、M2、M3的连接对应关系,并可以设置图5(a)中的P0、P1分别与M1、M2的连接对应关系对应的代价小于P0、P1分别与M0、M3的连接对应关系对应的代价,图5(a)中的第二流图模型可以是单起点单终点流图模型,即第二流图模型中还可以记录有每个资源标识与终点D的连接对应关系、每个任务标识与起点S的连接对应关系,第一流图模型中可以设置有无调度节点U,第一流图模型中还可以记录有每个任务的任务标识与无调度节点U的连接对应关系、以及U与D的连接对应关系。
可选的,在建立第二流图模型时,可以通过中间虚拟标识建立各任务标识与各资源节点标识的连接对应关系,相应的,步骤402的处理过程可以如下:建立第二流图模型,第二流图模型中记录有具有弱亲和性的多个任务中的每个任务的任务标识与第一中间虚拟标识的连接对应关系、以及第一中间虚拟标识与每个资源节点标识的连接对应关系,并设置第一中间虚拟标识与资源节点集合中的每个资源节点的资源节点标识的连接对应关系对应的代价,小于第一中间虚拟标识与资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价。
在实施中,调度在建立第二流图模型时,可以建立具有弱亲和性的多个任务中的每个任务的任务标识与第一中间虚拟标识的连接对应关系,其中,第一中间虚拟标识可以是确定出的资源节点集合对应的中间虚拟标识,还可以建立第一中间虚拟标识与每个资源节点标识的连接对应关系。另外,为满足多个任务的弱亲和性,调度服务器还可以对各连接对应关系对应的代价进行设置。具体的,可以设置第一中间虚拟标识与资源节点集合中的每个资源节点的资源节点标识的连接对应关系对应的代价,小于第一中间虚拟标识与资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价。例如,具有弱亲和性的多个任务的任务标识为P0、P1,资源节点标识为M0、M1、M2、M3,确定出的资源节点集合包括的资源节点为M1、M2,则可以建立如图5(b)所示的第二流图模型,第二流图模型中的第一中间虚拟标识可以是V0,第二流图模型中可以记录有P0、P1分别与V0的连接对应关系,还可以记录有V0分别与每个资源节点标识的连接对应关系,并可以设置图5(b)中的V0分别与M1、M2的连接对应关系对应的代价小于V0与M0和V0与M3的连接对应关系对应的代价,图5(b)中的第二流图模型可以是单起点单终点流图模型,即第二流图模型中还可以记录有每个资源标识与终点D的连接对应关系、每个任务标识与起点S的连接对应关系,第一流图模型中可以设置有无调度节点U,第一流图模型中还可以记录有每个任务的任务标识与无调度节点U的连接对应关系、以及U与D的连接对应关系。另外,第二流图模型中也可以不设置无调度节点U,而是记录有第一中间虚拟标识与D的连接对应关系。
可选的,调度服务器还可以根据多个任务之间的弱亲和性程度值,将多个任务划分为多个任务集合,相应的,步骤402的处理过程可以如下:将具有弱亲和性的多个任务划分为多个任务集合,其中,每个任务集合中的各任务之间的弱亲和性程度值在同一预设范围内;建立第二流图模型,第二流图模型中记录有每个任务集合中的每个任务的任务标识与每个任务集合对应的中间虚拟标识的连接对应关系、每个任务集合对应的中间虚拟标识与第一中间虚拟标识和资源节点集合之外的每个资源节点的资源节点标识的连接对应关系、以及第一中间虚拟标识与资源节点集合中的每个资源节点的资源节点标识的连接对应关系,并设置每个任务集合对应的中间虚拟标识与第一中间虚拟标识的连接对应关系、以及第一中间虚拟标识与资源节点集合中的每个资源节点的资源节点标识的连接对应关系分别对应的代价,小于每个任务集合对应的中间虚拟标识与资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价,以及设置对应的预设范围的端点值越大的任务集合对应的中间虚拟标识与第一中间虚拟标识的连接对应关系对应的代价越小。
在实施中,按照弱亲和性程度值,将具有弱亲和性的多个任务划分为多个任务集合,其中,每个任务集合中的各任务之间的弱亲和性程度值在同一预设范围内,例如,任务标识P0、P1之间的弱亲和性程度值为8、任务标识P2、P3之间的弱亲和性程度值为4、任务标识P3、P4之间的弱亲和性程度值为5、任务标识P2、P4之间的弱亲和性程度值为4,预设范围为[7,8]、[4,5],则可以将P0、P1、P2、P3、P4划分为第一任务集合(P0、P1)和第二任务集合(P2、P3、P4)。
得到多个任务集合后,可以为每个任务集合设置一个中间虚拟标识,即可以在建立第二流图模型时,对于每个任务集合,可以建立该任务集合中的每个任务的任务标识与该任务集合对应的中间虚拟标识的连接对应关系、以及该任务集合对应的中间虚拟标识与第一中间虚拟标识和资源节点集合之外的每个资源节点的资源节点标识的连接对应关系。除此之外,还可以建立第一中间虚拟标识与资源节点集合中的每个资源节点的资源节点标识的连接对应关系。此外,调度服务器还可以对各个连接对应关系对应的代价进行设置,具体的,可以设置每个任务集合对应的中间虚拟标识与第一中间虚拟标识的连接对应关系、以及第一中间虚拟标识与资源节点集合中的每个资源节点的资源节点标识的连接对应关系分别对应的代价的数量级,小于每个任务集合对应的中间虚拟标识与资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价的数量级,并可以设置对应的弱亲和性程度值越大的任务集合对应的中间虚拟标识与第一中间虚拟标识的连接对应关系对应的代价越小。
例如,第一任务集合包括P0、P1,第一任务集合对应的程度值预设范围为[7,8],第二任务集合包括P2、P3、P4,第二任务集合对应的程度值预设范围为[4,5],则可以为第一任务集合设置中间虚拟标识V1,为第二任务集合设置中间虚拟标识V2,建立如图5(c)所示的第二流图模型,即在建立第二流图模型时,可以建立P0、P1分别与V1的连接对应关系、P2、P3、P4分别与V2的连接对应关系、V1、V2分别与第一中间虚拟标识V0、资源节点标识集合(M1、M2)之外每个资源节点标识(M0、M3)的连接对应关系。另外,还可以设置图5(c)中的V1、V2分别与V0的连接对应关系和V0分别与M1、M2的连接对应关系对应的代价小于V1与M0、V1与M3、V2与M0和V2与M3的连接对应关系对应的代价。可以看出,第一任务集合对应的弱亲和性程度值大于第二任务集合对应的弱亲和性程度值,进而,可以设置V1与V0的连接对应关系对应的代价小于V2与V0的连接对应关系对应的代价,图5(c)中的第二流图模型可以是单起点单终点流图模型,即第二流图模型中还可以记录有每个资源标识与终点D的连接对应关系、每个任务标识与起点S的连接对应关系,第一流图模型中可以设置有无调度节点U1、U2,对于每个任务集合,第一流图模型中还可以记录有该任务集合中的每个任务的任务标识与该任务集合对应的无调度节点U的连接对应关系、以及U与D的连接对应关系。另外,第二流图模型中也可以不设置无调度节点U,而是记录有V1、V2分别与D的连接对应关系。
步骤403,根据第二流图模型,对具有弱亲和性的多个任务进行资源调度。
在实施中,调度服务器建立第二流图模型后,可以根据具有弱亲和性的多个任务中的每个任务需要的资源量和各资源节点包含的资源量,确定上述各连接对应关系对应的容量和代价,进而,可以将各连接对应关系及其对应的容量和代价作为最小代价最大流算法的输入,对具有弱亲和性的多个任务进行资源调度,其中,得到流图模型后,确定每个连接对应关系对应的容量和代价以及最小代价最大流算法属于现有技术,本发明实施例不再进行赘述。
另外,本发明实施例还提供了另外一种约束规则复杂(即待调度的各任务中具有反亲和性的多个任务集合)的流图模型的构建方法,如图6所示。
步骤601,如果待调度的各任务中包括具有反亲和性的多个任务集合,将各资源节点划分为与每个任务集合对应的多个资源节点集合,其中,多个任务集合中的任务之间具有反亲和性。
在实施中,如果待调度的各任务中包括具有反亲和性的多个任务集合,则可以确定任务集合的数量,进而,可以将所有的资源节点划分为数量与任务集合数量一致的多个资源节点集合。例如,包括两个任务集合(即第一任务集合和第二任务集合),第一任务集合包括P0、P1,第二任务集合包括P2、P3、P4,其中,第一任务集合与第二任务集合具有反亲和性(即P0、P1分别与P2、P3、P4具有反亲和性),则可以将所有资源节点划分为两个资源节点集合,其中,可以是随机划分为两个资源节点集合。
可选的,可以根据资源量划分多个资源节点集合,相应的,步骤601的处理过程可以如下:对于每个任务集合,根据任务集合中的每个任务需要的资源量和每个资源节点包含的资源量,确定能承载任务集合的资源节点集合。
在实施中,确定出多个任务集合后,对于每个任务集合,调度服务器可以统计该任务集合包括的多个任务需要的资源量,并可以在所有资源节点中,确定包含的资源量大于或等于该任务集合中的多个任务需要的资源量的资源节点集合。这样,可以保证资源节点的资源利用率。
步骤602,建立第三流图模型,对于每个任务集合,第三流图模型中记录有该任务集合中的每个任务的任务标识与该任务集合对应的资源节点集合中的资源节点的资源节点标识的连接关系;根据第三流图模型,对该任务集合中的多个任务进行资源调度。
在实施中,确定出每个任务集合对应的资源节点集合后,可以建立第三流图模型,在建立第三流图模型时,对于每个任务集合,可以建立该任务集合中的每个任务的任务标识与该任务集合对应的资源节点集合中的资源节点的资源节点标识的连接关系,其中,第三流图模型中的每个任务集合对应的任务标识与该任务集合对应的资源节点集合中的资源节点的资源节点标识的连接关系,具体可以根据该任务集合中的多个任务满足的约束规则建立。例如,第一任务集合包括P0、P1,第二任务集合包括P2、P3、P4,其中,第一任务集合与第二任务集合具有反亲和性,第一任务集合对应的资源节点集合包括M0、M1,第二任务集合对应的资源节点集合包括M2、M3,则调度服务器可以建立第三流图模型,如图7(a)所示,第三流图模型中可以记录有P0、P1分别与M0、M1的连接对应关系,以及P2、P3、P4分别与M2、M3的连接对应关系,图7(a)中的第二流图模型可以是单起点单终点流图模型,即第二流图模型中还可以记录有每个资源标识与终点D的连接对应关系、每个任务标识与起点S的连接对应关系,第一流图模型中可以设置有无调度节点U1、U2,对于每个任务集合,第一流图模型中还可以记录有该任务集合中的每个任务的任务标识与该任务集合对应的无调度节点U的连接对应关系、以及U与D的连接对应关系。又例如,为每个任务集合设置一个中间虚拟标识,如图7(b)所示,第一任务集合对应的中间虚拟标识为V0,第二任务集合对应的中间虚拟标识为V1,图7(b)可以与图7(a)相同,设置有S、U1、U2、D。
调度服务器建立第三流图模型后,可以根据每个任务集合中的每个任务需要的资源量和该任务集合对应的资源节点集合包含的资源量,确定上述各连接对应关系对应的容量和代价,进而,可以将各连接对应关系及其对应的容量和代价作为最小代价最大流算法的输入,对该任务集合中的多个任务进行资源调度,其中,得到流图模型后,确定每个连接对应关系对应的容量和代价以及最小代价最大流算法属于现有技术,本发明实施例不再进行赘述。
本发明实施例中,如果待调度的各任务中包括具有反亲和性的多个任务,则可以建立包含反亲和性的每个任务的任务标识与各资源节点的资源标识的流图模型,流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与中间虚拟标识的连接对应关系、以及所述中间虚拟标识与每个资源节点标识的连接对应关系,将中间虚拟标识与每个资源节点标识的连接对应关系对应的容量设置为0或1,进而,调度服务器可以根据流图模型,对具有反亲和性的多个任务进行资源调度。这样,提供了约束规则复杂的流图模型的构建方法,从而,可以使得对约束规则复杂的任务能够进行资源调度。
基于相同的技术构思,本发明实施例还提供了一种进行资源调度的装置,如图8所示,该装置包括:
建立模块810,用于如果待调度的各任务中包括具有反亲和性的多个任务,则建立第一流图模型,所述第一流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与对应于具有反亲和性的多个任务的中间虚拟标识的连接对应关系、以及所述中间虚拟标识与每个资源节点标识的连接对应关系,将所述中间虚拟标识与每个资源节点标识的连接对应关系对应的容量设置为0或1,具体可以实现上述步骤201中的建立功能,以及其他隐含步骤。
调度模块820,用于根据所述第一流图模型,对所述具有反亲和性的多个任务进行资源调度,具体可以实现上述步骤202中的调度功能,以及其他隐含步骤。
可选的,所述建立模块810,用于:
如果待调度的各任务中包括具有反亲和性的多个任务且多个任务的属性一致,则建立第一流图模型,所述第一流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与对应于具有反亲和性的多个任务的中间虚拟标识的连接对应关系、以及所述中间虚拟标识与每个资源节点标识的连接对应关系。
可选的,所述建立模块810,用于:
如果待调度的各任务中包括具有反亲和性的多个任务,则建立第一流图模型,所述第一流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与每个资源节点标识对应于具有反亲和性的多个任务的中间虚拟标识的连接对应关系、以及每个中间虚拟标识与所述每个中间虚拟标识对应的资源节点标识的连接对应关系,将每个中间虚拟标识与所述每个中间虚拟标识对应的资源节点标识的连接对应关系对应的容量设置为0或1。
可选的,如图9所示,所述装置还包括:
确定模块830,用于如果待调度的各任务中包括具有弱亲和性的多个任务,则根据具有弱亲和性的多个任务中的每个任务需要的资源量和每个资源节点包含的资源量,确定能承载具有弱亲和性的多个任务,且包含的资源节点数目最少的资源节点集合,具体可以实现上述步骤401中的确定功能,以及其他隐含步骤。
所述建立模块810,还用于建立第二流图模型,所述第二流图模型中记录有具有弱亲和性的多个任务中的每个任务的任务标识与每个资源节点标识的连接对应关系,并设置任务标识与所述资源节点集合中的每个资源节点的资源节点标识的连接对应关系对应的代价,小于任务标识与所述资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价,具体可以实现上述步骤402中的建立功能,以及其他隐含步骤。
所述调度模块820,还用于根据所述第二流图模型,对所述具有弱亲和性的多个任务进行资源调度,具体可以实现上述步骤403中的调度功能,以及其他隐含步骤。
可选的,所述建立模块810,用于:
建立第二流图模型,所述第二流图模型中记录有具有弱亲和性的多个任务中的每个任务的任务标识与第一中间虚拟标识的连接对应关系、以及所述第一中间虚拟标识与每个资源节点标识的连接对应关系,并设置第一中间虚拟标识与所述资源节点集合中的每个资源节点的资源节点标识的连接对应关系对应的代价,小于第一中间虚拟标识与所述资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价。
可选的,所述建立模块810,用于:
将所述具有弱亲和性的多个任务划分为多个任务集合,其中,每个任务集合中的各任务之间的弱亲和性程度值在同一预设范围内;
建立第二流图模型,第二流图模型中记录有每个任务集合中的每个任务的任务标识与每个任务集合对应的中间虚拟标识的连接对应关系、每个任务集合对应的中间虚拟标识与所述第一中间虚拟标识和所述资源节点集合之外的每个资源节点的资源节点标识的连接对应关系、以及所述第一中间虚拟标识与所述资源节点集合中的每个资源节点的资源节点标识的连接对应关系,并设置每个任务集合对应的中间虚拟标识与所述第一中间虚拟标识的连接对应关系、以及所述第一中间虚拟标识与所述资源节点集合中的每个资源节点的资源节点标识的连接对应关系分别对应的代价,小于每个任务集合对应的中间虚拟标识与所述资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价,以及设置对应的预设范围的端点值越大的任务集合对应的中间虚拟标识与所述第一中间虚拟标识的连接对应关系对应的代价越小。
可选的,如图10所示,所述装置还包括:
划分模块840,用于如果待调度的各任务中包括具有反亲和性的多个任务集合,将各资源节点划分为与每个任务集合对应的多个资源节点集合,其中,多个任务集合中的任务之间具有反亲和性,具体可以实现上述步骤601中的划分功能,以及其他隐含步骤。
所述建立模块810,还用于建立第三流图模型,对于每个任务集合,所述第三流图模型中记录有所述任务集合中的每个任务的任务标识与所述任务集合对应的资源节点集合中的资源节点的资源节点标识的连接关系,具体可以实现上述步骤602中的建立功能,以及其他隐含步骤。
所述调度模块820,还用于根据所述第三流图模型,对多个任务集合中的多个任务进行资源调度,具体可以实现上述步骤602中的调度功能,以及其他隐含步骤。
可选的,所述划分模块840,用于:
对于每个任务集合,根据所述任务集合中的每个任务需要的资源量和每个资源节点包含的资源量,确定能承载所述任务集合的资源节点集合。
可选的,所述调度模块820,还用于:
如果待调度的各任务中包括具有弱约束规则的多个任务,则在具有弱约束规则的多个任务之间具有强约束规则的前提下,对所述具有弱约束规则的多个任务进行第一次资源调度;
如果所述具有弱约束规则的多个任务中存在调度失败的任务,则在调度失败的任务之间不具有约束规则的前提下,对所述调度失败的各任务进行第二次资源调度。
需要说明的是,上述建立模块810、调度模块820、确定模块830、划分模块840可以由处理器实现,或者处理器配合存储器来实现,或者,处理器执行存储器中的程序指令来实现。
本发明实施例中,如果待调度的各任务中包括具有反亲和性的多个任务,则可以建立包含反亲和性的每个任务的任务标识与各资源节点的资源标识的流图模型,流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与中间虚拟标识的连接对应关系、以及所述中间虚拟标识与每个资源节点标识的连接对应关系,将中间虚拟标识与每个资源节点标识的连接对应关系对应的容量设置为0或1,进而,调度服务器可以根据流图模型,对具有反亲和性的多个任务进行资源调度。这样,提供了约束规则复杂的流图模型的构建方法,从而,可以使得对约束规则复杂的任务能够进行资源调度。
需要说明的是:上述实施例提供的进行资源调度的装置在进行资源调度时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将调度服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的进行资源调度的装置与进行资源调度的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,在调度服务器上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴光缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是调度服务器能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(如软盘、硬盘和磁带等),也可以是光介质(如数字视盘(DigitalVideo Disk,DVD)等),或者半导体介质(如固态硬盘等)。
以上所述仅为本发明一个实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (28)
1.一种进行资源调度的方法,其特征在于,所述方法包括:
如果待调度的各任务中包括具有反亲和性的多个任务,则建立第一流图模型,所述第一流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与对应于具有反亲和性的多个任务的中间虚拟标识的连接对应关系、以及所述中间虚拟标识与每个资源节点标识的连接对应关系,将所述中间虚拟标识与每个资源节点标识的连接对应关系对应的容量设置为0或1;
根据所述第一流图模型,对所述具有反亲和性的多个任务进行资源调度。
2.根据权利要求1所述的方法,其特征在于,所述如果待调度的各任务中包括具有反亲和性的多个任务,则建立第一流图模型,所述第一流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与对应于具有反亲和性的多个任务的中间虚拟标识的连接对应关系、以及所述中间虚拟标识与每个资源节点标识的连接对应关系,将所述中间虚拟标识与每个资源节点标识的连接对应关系对应的容量设置为0或1,包括:
如果待调度的各任务中包括具有反亲和性的多个任务,则建立第一流图模型,所述第一流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与至少一个中间虚拟标识的连接对应关系、以及每个中间虚拟标识与所述每个中间虚拟标识对应的资源节点标识的连接对应关系,将每个中间虚拟标识与所述每个中间虚拟标识对应的资源节点标识的连接对应关系对应的容量设置为0或1,所述至少一个中间虚拟标识包括:每个资源节点标识对应于具有反亲和性的多个任务的中间虚拟标识。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果待调度的各任务中包括具有弱亲和性的多个任务,则根据具有弱亲和性的多个任务中的每个任务需要的资源量和每个资源节点包含的资源量,确定能承载具有弱亲和性的多个任务,且包含的资源节点数目最少的资源节点集合;
建立第二流图模型,所述第二流图模型中记录有具有弱亲和性的多个任务中的每个任务的任务标识与每个资源节点标识的连接对应关系,并设置任务标识与所述资源节点集合中的每个资源节点的资源节点标识的连接对应关系对应的代价,小于任务标识与所述资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价;
根据所述第二流图模型,对所述具有弱亲和性的多个任务进行资源调度。
4.根据权利要求3所述的方法,其特征在于,所述建立第二流图模型,所述第二流图模型中记录有具有弱亲和性的多个任务中的每个任务的任务标识与每个资源节点标识的连接对应关系,并设置任务标识与所述资源节点集合中的每个资源节点的资源节点标识的连接对应关系对应的代价,小于任务标识与所述资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价,包括:
建立第二流图模型,所述第二流图模型中记录有具有弱亲和性的多个任务中的每个任务的任务标识与第一中间虚拟标识的连接对应关系、以及所述第一中间虚拟标识与每个资源节点标识的连接对应关系,并设置第一中间虚拟标识与所述资源节点集合中的每个资源节点的资源节点标识的连接对应关系对应的代价,小于第一中间虚拟标识与所述资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价。
5.根据权利要求4所述的方法,其特征在于,所述建立第二流图模型,所述第二流图模型中记录有具有弱亲和性的多个任务中的每个任务的任务标识与第一中间虚拟标识的连接对应关系、以及所述第一中间虚拟标识与每个资源节点标识的连接对应关系,并设置第一中间虚拟标识与所述资源节点集合中的每个资源节点的资源节点标识的连接对应关系对应的代价,小于第一中间虚拟标识与所述资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价,包括:
将所述具有弱亲和性的多个任务划分为多个任务集合,其中,每个任务集合中的各任务之间的弱亲和性程度值在同一预设范围内;
建立第二流图模型,第二流图模型中记录有每个任务集合中的每个任务的任务标识与每个任务集合对应的中间虚拟标识的连接对应关系、每个任务集合对应的中间虚拟标识与至少一个标识的连接对应关系、以及所述第一中间虚拟标识与所述资源节点集合中的每个资源节点的资源节点标识的连接对应关系,所述至少一个标识包括:所述第一中间虚拟标识和所述资源节点集合之外的每个资源节点的资源节点标识,并设置每个任务集合对应的中间虚拟标识与所述第一中间虚拟标识的连接对应关系、以及所述第一中间虚拟标识与所述资源节点集合中的每个资源节点的资源节点标识的连接对应关系分别对应的代价,小于每个任务集合对应的中间虚拟标识与所述资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价,以及设置对应的预设范围的端点值越大的任务集合对应的中间虚拟标识与所述第一中间虚拟标识的连接对应关系对应的代价越小。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果待调度的各任务中包括具有反亲和性的多个任务集合,将各资源节点划分为与每个任务集合对应的多个资源节点集合,其中,多个任务集合中的任务之间具有反亲和性;
建立第三流图模型,对于每个任务集合,所述第三流图模型中记录有所述任务集合中的每个任务的任务标识与所述任务集合对应的资源节点集合中的资源节点的资源节点标识的连接关系;
根据所述第三流图模型,对多个任务集合中的多个任务进行资源调度。
7.根据权利要求6所述的方法,其特征在于,所述如果待调度的各任务中包括具有反亲和性的多个任务集合,将各资源节点划分为与每个任务集合对应的多个资源节点集合,包括:
对于每个任务集合,根据所述任务集合中的每个任务需要的资源量和每个资源节点包含的资源量,确定能承载所述任务集合的资源节点集合。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果待调度的各任务中包括具有弱约束规则的多个任务,则在具有弱约束规则的多个任务之间具有强约束规则的前提下,对所述具有弱约束规则的多个任务进行第一次资源调度;
如果所述具有弱约束规则的多个任务中存在调度失败的任务,则在调度失败的任务之间不具有约束规则的前提下,对所述调度失败的各任务进行第二次资源调度。
9.根据权利要求1所述的方法,其特征在于,所述如果待调度的各任务中包括具有反亲和性的多个任务,则建立第一流图模型,所述第一流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与对应于具有反亲和性的多个任务的中间虚拟标识的连接对应关系、以及所述中间虚拟标识与每个资源节点标识的连接对应关系,包括:
如果待调度的各任务中包括具有反亲和性的多个任务且多个任务的属性一致,则建立第一流图模型,所述第一流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与对应于具有反亲和性的多个任务的中间虚拟标识的连接对应关系、以及所述中间虚拟标识与每个资源节点标识的连接对应关系。
10.一种进行资源调度的装置,其特征在于,所述装置包括:
建立模块,用于如果待调度的各任务中包括具有反亲和性的多个任务,则建立第一流图模型,所述第一流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与对应于具有反亲和性的多个任务的中间虚拟标识的连接对应关系、以及所述中间虚拟标识与每个资源节点标识的连接对应关系,将所述中间虚拟标识与每个资源节点标识的连接对应关系对应的容量设置为0或1;
调度模块,用于根据所述第一流图模型,对所述具有反亲和性的多个任务进行资源调度。
11.根据权利要求10所述的装置,其特征在于,所述建立模块,用于:
如果待调度的各任务中包括具有反亲和性的多个任务,则建立第一流图模型,所述第一流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与至少一个中间虚拟标识的连接对应关系、以及每个中间虚拟标识与所述每个中间虚拟标识对应的资源节点标识的连接对应关系,将每个中间虚拟标识与所述每个中间虚拟标识对应的资源节点标识的连接对应关系对应的容量设置为0或1,所述至少一个中间虚拟标识包括:每个资源节点标识对应于具有反亲和性的多个任务的中间虚拟标识。
12.根据权利要求10所述的装置,其特征在于,所述装置还包括:
确定模块,用于如果待调度的各任务中包括具有弱亲和性的多个任务,则根据具有弱亲和性的多个任务中的每个任务需要的资源量和每个资源节点包含的资源量,确定能承载具有弱亲和性的多个任务,且包含的资源节点数目最少的资源节点集合;
所述建立模块,还用于建立第二流图模型,所述第二流图模型中记录有具有弱亲和性的多个任务中的每个任务的任务标识与每个资源节点标识的连接对应关系,并设置任务标识与所述资源节点集合中的每个资源节点的资源节点标识的连接对应关系对应的代价,小于任务标识与所述资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价;
所述调度模块,还用于根据所述第二流图模型,对所述具有弱亲和性的多个任务进行资源调度。
13.根据权利要求12所述的装置,其特征在于,所述建立模块,用于:
建立第二流图模型,所述第二流图模型中记录有具有弱亲和性的多个任务中的每个任务的任务标识与第一中间虚拟标识的连接对应关系、以及所述第一中间虚拟标识与每个资源节点标识的连接对应关系,并设置第一中间虚拟标识与所述资源节点集合中的每个资源节点的资源节点标识的连接对应关系对应的代价,小于第一中间虚拟标识与所述资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价。
14.根据权利要求13所述的装置,其特征在于,所述建立模块,用于:
将所述具有弱亲和性的多个任务划分为多个任务集合,其中,每个任务集合中的各任务之间的弱亲和性程度值在同一预设范围内;
建立第二流图模型,第二流图模型中记录有每个任务集合中的每个任务的任务标识与每个任务集合对应的中间虚拟标识的连接对应关系、每个任务集合对应的中间虚拟标识与至少一个标识的连接对应关系、以及所述第一中间虚拟标识与所述资源节点集合中的每个资源节点的资源节点标识的连接对应关系,所述至少一个标识包括:所述第一中间虚拟标识和所述资源节点集合之外的每个资源节点的资源节点标识,并设置每个任务集合对应的中间虚拟标识与所述第一中间虚拟标识的连接对应关系、以及所述第一中间虚拟标识与所述资源节点集合中的每个资源节点的资源节点标识的连接对应关系分别对应的代价,小于每个任务集合对应的中间虚拟标识与所述资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价,以及设置对应的预设范围的端点值越大的任务集合对应的中间虚拟标识与所述第一中间虚拟标识的连接对应关系对应的代价越小。
15.根据权利要求10所述的装置,其特征在于,所述装置还包括:
划分模块,用于如果待调度的各任务中包括具有反亲和性的多个任务集合,将各资源节点划分为与每个任务集合对应的多个资源节点集合,其中,多个任务集合中的任务之间具有反亲和性;
所述建立模块,还用于建立第三流图模型,对于每个任务集合,所述第三流图模型中记录有所述任务集合中的每个任务的任务标识与所述任务集合对应的资源节点集合中的资源节点的资源节点标识的连接关系;
所述调度模块,还用于根据所述第三流图模型,对多个任务集合中的多个任务进行资源调度。
16.根据权利要求15所述的装置,其特征在于,所述划分模块,用于:
对于每个任务集合,根据所述任务集合中的每个任务需要的资源量和每个资源节点包含的资源量,确定能承载所述任务集合的资源节点集合。
17.根据权利要求10所述的装置,其特征在于,所述调度模块,还用于:
如果待调度的各任务中包括具有弱约束规则的多个任务,则在具有弱约束规则的多个任务之间具有强约束规则的前提下,对所述具有弱约束规则的多个任务进行第一次资源调度;
如果所述具有弱约束规则的多个任务中存在调度失败的任务,则在调度失败的任务之间不具有约束规则的前提下,对所述调度失败的各任务进行第二次资源调度。
18.根据权利要求10所述的装置,其特征在于,所述建立模块,用于:
如果待调度的各任务中包括具有反亲和性的多个任务且多个任务的属性一致,则建立第一流图模型,所述第一流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与对应于具有反亲和性的多个任务的中间虚拟标识的连接对应关系、以及所述中间虚拟标识与每个资源节点标识的连接对应关系。
19.一种调度服务器,其特征在于,所述服务器包括处理器,其中:
所述处理器,用于如果待调度的各任务中包括具有反亲和性的多个任务,则建立第一流图模型,所述第一流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与对应于具有反亲和性的多个任务的中间虚拟标识的连接对应关系、以及所述中间虚拟标识与每个资源节点标识的连接对应关系,将所述中间虚拟标识与每个资源节点标识的连接对应关系对应的容量设置为0或1;根据所述第一流图模型,对所述具有反亲和性的多个任务进行资源调度。
20.根据权利要求19所述的调度服务器,其特征在于,所述处理器,用于:
如果待调度的各任务中包括具有反亲和性的多个任务,则建立第一流图模型,所述第一流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与至少一个中间虚拟标识的连接对应关系、以及每个中间虚拟标识与所述每个中间虚拟标识对应的资源节点标识的连接对应关系,将每个中间虚拟标识与所述每个中间虚拟标识对应的资源节点标识的连接对应关系对应的容量设置为0或1,所述至少一个中间虚拟标识包括:每个资源节点标识对应于具有反亲和性的多个任务的中间虚拟标识。
21.根据权利要求19所述的调度服务器,其特征在于,所述处理器,还用于:
如果待调度的各任务中包括具有弱亲和性的多个任务,则根据具有弱亲和性的多个任务中的每个任务需要的资源量和每个资源节点包含的资源量,确定能承载具有弱亲和性的多个任务,且包含的资源节点数目最少的资源节点集合;
建立第二流图模型,所述第二流图模型中记录有具有弱亲和性的多个任务中的每个任务的任务标识与每个资源节点标识的连接对应关系,并设置任务标识与所述资源节点集合中的每个资源节点的资源节点标识的连接对应关系对应的代价,小于任务标识与所述资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价;
根据所述第二流图模型,对所述具有弱亲和性的多个任务进行资源调度。
22.根据权利要求21所述的调度服务器,其特征在于,所述处理器,用于:
建立第二流图模型,所述第二流图模型中记录有具有弱亲和性的多个任务中的每个任务的任务标识与第一中间虚拟标识的连接对应关系、以及所述第一中间虚拟标识与每个资源节点标识的连接对应关系,并设置第一中间虚拟标识与所述资源节点集合中的每个资源节点的资源节点标识的连接对应关系对应的代价,小于第一中间虚拟标识与所述资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价。
23.根据权利要求22所述的调度服务器,其特征在于,所述处理器,用于:
将所述具有弱亲和性的多个任务划分为多个任务集合,其中,每个任务集合中的各任务之间的弱亲和性程度值在同一预设范围内;
建立第二流图模型,第二流图模型中记录有每个任务集合中的每个任务的任务标识与每个任务集合对应的中间虚拟标识的连接对应关系、每个任务集合对应的中间虚拟标识与至少一个标识的连接对应关系、以及所述第一中间虚拟标识与所述资源节点集合中的每个资源节点的资源节点标识的连接对应关系,所述至少一个标识包括:所述第一中间虚拟标识和所述资源节点集合之外的每个资源节点的资源节点标识,并设置每个任务集合对应的中间虚拟标识与所述第一中间虚拟标识的连接对应关系、以及所述第一中间虚拟标识与所述资源节点集合中的每个资源节点的资源节点标识的连接对应关系分别对应的代价,小于每个任务集合对应的中间虚拟标识与所述资源节点集合之外的每个资源节点的资源节点标识的连接对应关系对应的代价,以及设置对应的预设范围的端点值越大的任务集合对应的中间虚拟标识与所述第一中间虚拟标识的连接对应关系对应的代价越小。
24.根据权利要求19所述的调度服务器,其特征在于,所述处理器,还用于:
如果待调度的各任务中包括具有反亲和性的多个任务集合,将各资源节点划分为与每个任务集合对应的多个资源节点集合,其中,多个任务集合中的任务之间具有反亲和性;
建立第三流图模型,对于每个任务集合,所述第三流图模型中记录有所述任务集合中的每个任务的任务标识与所述任务集合对应的资源节点集合中的资源节点的资源节点标识的连接关系;
根据所述第三流图模型,对多个任务集合中的多个任务进行资源调度。
25.根据权利要求24所述的调度服务器,其特征在于,所述处理器,用于:
对于每个任务集合,根据所述任务集合中的每个任务需要的资源量和每个资源节点包含的资源量,确定能承载所述任务集合的资源节点集合。
26.根据权利要求19所述的调度服务器,其特征在于,所述处理器,还用于:
如果待调度的各任务中包括具有弱约束规则的多个任务,则在具有弱约束规则的多个任务之间具有强约束规则的前提下,对所述具有弱约束规则的多个任务进行第一次资源调度;
如果所述具有弱约束规则的多个任务中存在调度失败的任务,则在调度失败的任务之间不具有约束规则的前提下,对所述调度失败的各任务进行第二次资源调度。
27.根据权利要求19所述的调度服务器,其特征在于,所述处理器,用于:
如果待调度的各任务中包括具有反亲和性的多个任务且多个任务的属性一致,则建立第一流图模型,所述第一流图模型中记录有具有反亲和性的多个任务中的每个任务的任务标识与对应于具有反亲和性的多个任务的中间虚拟标识的连接对应关系、以及所述中间虚拟标识与每个资源节点标识的连接对应关系。
28.一种计算机可读存储介质,包括指令,当所述计算机可读存储介质在调度服务器上运行时,使得所述调度服务器执行所述权利要求1-9中任一权利要求所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710198284.3A CN108667864B (zh) | 2017-03-29 | 2017-03-29 | 一种进行资源调度的方法和装置 |
PCT/CN2018/080949 WO2018177335A1 (zh) | 2017-03-29 | 2018-03-28 | 一种进行资源调度的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710198284.3A CN108667864B (zh) | 2017-03-29 | 2017-03-29 | 一种进行资源调度的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108667864A CN108667864A (zh) | 2018-10-16 |
CN108667864B true CN108667864B (zh) | 2020-07-28 |
Family
ID=63674247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710198284.3A Active CN108667864B (zh) | 2017-03-29 | 2017-03-29 | 一种进行资源调度的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108667864B (zh) |
WO (1) | WO2018177335A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116841709A (zh) * | 2018-10-26 | 2023-10-03 | 创新先进技术有限公司 | 风控业务***中的风控任务分组方法、装置、计算机设备 |
CN110515716B (zh) * | 2019-08-29 | 2021-11-30 | 中国科学院软件研究所 | 一种支持优先级和反亲和的云优化调度方法及*** |
CN113254220A (zh) * | 2021-07-01 | 2021-08-13 | 国汽智控(北京)科技有限公司 | 网联汽车负载协同控制方法、装置、设备及存储介质 |
CN117056431B (zh) * | 2023-10-11 | 2024-02-09 | 中电数创(北京)科技有限公司 | 基于hbase亲和性计算的二阶段调度的分布式执行方法和*** |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7275249B1 (en) * | 2002-07-30 | 2007-09-25 | Unisys Corporation | Dynamically generating masks for thread scheduling in a multiprocessor system |
CN101853178A (zh) * | 2010-04-30 | 2010-10-06 | 西安交通大学 | 一种调度时可重构硬件资源的描述方法 |
CN102027452A (zh) * | 2008-05-16 | 2011-04-20 | 微软公司 | 调度器中的调度集合 |
CN102255926A (zh) * | 2010-05-17 | 2011-11-23 | ***通信集团公司 | MapReduce***中的任务分配方法、***及装置 |
CN102902573A (zh) * | 2012-09-20 | 2013-01-30 | 北京搜狐新媒体信息技术有限公司 | 一种基于共享资源的任务的处理方法及装置 |
CN104137482A (zh) * | 2014-04-14 | 2014-11-05 | 华为技术有限公司 | 一种云计算架构下的容灾数据中心配置方法及装置 |
CN104142853A (zh) * | 2014-08-12 | 2014-11-12 | 华为技术有限公司 | 虚拟机存储资源部署方法和装置 |
CN104239141A (zh) * | 2014-09-05 | 2014-12-24 | 北京邮电大学 | 数据中心中基于工作流关键路径的任务优化调度方法 |
CN104572314A (zh) * | 2013-10-22 | 2015-04-29 | 华为技术有限公司 | 一种进程间的通信方法及装置 |
CN104811431A (zh) * | 2014-01-29 | 2015-07-29 | 华为技术有限公司 | 基于并行协议栈实例的数据包处理方法和装置 |
CN105656646A (zh) * | 2014-11-10 | 2016-06-08 | ***通信集团公司 | 一种虚拟网元的部署方法及装置 |
CN105939290A (zh) * | 2012-08-14 | 2016-09-14 | 华为技术有限公司 | 一种分配资源的方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8949472B2 (en) * | 2008-09-10 | 2015-02-03 | International Business Machines Corporation | Data affinity based scheme for mapping connections to CPUs in I/O adapter |
CN104090826B (zh) * | 2014-06-30 | 2017-07-11 | 中国电子科技集团公司第三十二研究所 | 基于相关性的任务优化部署方法 |
CN106534318B (zh) * | 2016-11-15 | 2019-10-29 | 浙江大学 | 一种基于流量亲和性的OpenStack云平台资源动态调度***和方法 |
-
2017
- 2017-03-29 CN CN201710198284.3A patent/CN108667864B/zh active Active
-
2018
- 2018-03-28 WO PCT/CN2018/080949 patent/WO2018177335A1/zh active Application Filing
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7275249B1 (en) * | 2002-07-30 | 2007-09-25 | Unisys Corporation | Dynamically generating masks for thread scheduling in a multiprocessor system |
CN102027452A (zh) * | 2008-05-16 | 2011-04-20 | 微软公司 | 调度器中的调度集合 |
CN101853178A (zh) * | 2010-04-30 | 2010-10-06 | 西安交通大学 | 一种调度时可重构硬件资源的描述方法 |
CN102255926A (zh) * | 2010-05-17 | 2011-11-23 | ***通信集团公司 | MapReduce***中的任务分配方法、***及装置 |
CN105939290A (zh) * | 2012-08-14 | 2016-09-14 | 华为技术有限公司 | 一种分配资源的方法及装置 |
CN102902573A (zh) * | 2012-09-20 | 2013-01-30 | 北京搜狐新媒体信息技术有限公司 | 一种基于共享资源的任务的处理方法及装置 |
CN104572314A (zh) * | 2013-10-22 | 2015-04-29 | 华为技术有限公司 | 一种进程间的通信方法及装置 |
CN104811431A (zh) * | 2014-01-29 | 2015-07-29 | 华为技术有限公司 | 基于并行协议栈实例的数据包处理方法和装置 |
CN104137482A (zh) * | 2014-04-14 | 2014-11-05 | 华为技术有限公司 | 一种云计算架构下的容灾数据中心配置方法及装置 |
CN104142853A (zh) * | 2014-08-12 | 2014-11-12 | 华为技术有限公司 | 虚拟机存储资源部署方法和装置 |
CN104239141A (zh) * | 2014-09-05 | 2014-12-24 | 北京邮电大学 | 数据中心中基于工作流关键路径的任务优化调度方法 |
CN105656646A (zh) * | 2014-11-10 | 2016-06-08 | ***通信集团公司 | 一种虚拟网元的部署方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2018177335A1 (zh) | 2018-10-04 |
CN108667864A (zh) | 2018-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108667864B (zh) | 一种进行资源调度的方法和装置 | |
CN108595157B (zh) | 区块链数据的处理方法、装置、设备和存储介质 | |
CN107453929B (zh) | 集群***自构建方法、装置及集群*** | |
CN105979007A (zh) | 加速资源处理方法、装置及网络功能虚拟化*** | |
JP6083290B2 (ja) | 分散処理システム | |
CN104123184A (zh) | 一种用于为构建过程中的任务分配资源的方法和*** | |
CN108809848A (zh) | 负载均衡方法、装置、电子设备及存储介质 | |
WO2014194704A1 (en) | A grouping processing method and system | |
CN112698952A (zh) | 计算资源统一管理方法、装置、计算机设备及存储介质 | |
CN107203464B (zh) | 业务问题的定位方法以及装置 | |
CN112202829A (zh) | 基于微服务的社交机器人调度***和调度方法 | |
CN115293340A (zh) | 数据同步处理方法、装置、计算设备和存储介质 | |
Meskar et al. | Fair multi-resource allocation in mobile edge computing with multiple access points | |
CN104968051B (zh) | 一种小区宽带上行链路的资源分配方法和装置 | |
CN106681803B (zh) | 一种任务调度方法及服务器 | |
CN104657216A (zh) | 一种资源池的资源分配方法及装置 | |
CN110333824B (zh) | 一种存储***的扩容方法和装置 | |
US10901972B2 (en) | Table partition configuration method, apparatus and system for database system | |
CN116954490A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN102868594B (zh) | 一种消息处理方法和装置 | |
CN113485798B (zh) | 核函数生成方法、装置、设备以及存储介质 | |
US9479579B2 (en) | Grouping processing method and system | |
CN113126884B (zh) | 数据迁移方法、装置、电子设备及计算机存储介质 | |
CN112860422A (zh) | 用于作业处理的方法、设备和计算机程序产品 | |
US11502971B1 (en) | Using multi-phase constraint programming to assign resource guarantees of consumers to hosts |
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 |