一种资源的调度和管理方法及装置.pdf

上传人:大师****2 文档编号:5779330 上传时间:2019-03-18 格式:PDF 页数:23 大小:624.98KB
返回 下载 相关 举报
摘要
申请专利号:

CN201210096125.X

申请日:

2012.04.01

公开号:

CN103365713A

公开日:

2013.10.23

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 9/48申请日:20120401|||公开

IPC分类号:

G06F9/48; G06F9/50

主分类号:

G06F9/48

申请人:

华为技术有限公司

发明人:

柴晓前

地址:

518129 广东省深圳市龙岗区坂田华为总部办公楼

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

本发明实施例提供一种资源的调度和管理方法、装置和系统,以实现通过调度和管理平台根据用户提交的资源计算任务,自动的实现资源的申请、调度以及释放。提供了一种资源的调度和管理方法,其特征在于,包括:调度和管理平台接收客户端发送的资源计算任务,所述资源计算任务包括一个或多个子任务;调度和管理平台根据所述资源计算任务确定为所述资源计算任务分配的资源特性,所述资源特性包括:资源数量和资源的规格属性;调度和管理平台向资源提供平台申请确定的满足所述资源特性的资源;调度和管理平台调度所述资源计算任务到所述申请的资源上执行。

权利要求书

权利要求书
1.  一种资源的调度和管理方法,其特征在于,包括:
调度和管理平台接收客户端发送的资源计算任务,所述资源计算任务包括一个或多个子任务;
调度和管理平台根据所述资源计算任务确定为所述资源计算任务分配的资源特性,所述资源特性包括:资源数量和资源的规格属性;
调度和管理平台向资源提供平台申请所需的满足所述资源特性的资源;
调度和管理平台调度所述资源计算任务到所述申请到的资源上执行。

2.  根据权利要求1所述的方法,其特征在于,所述调度所述资源计算任务到所述申请的资源上执行,具体包括:
在获取到申请的资源后,调度和管理平台确定所述资源计算任务的一个子任务,并根据所述获取到的资源的状态从所述获取到的资源中为所述子任务分配资源。

3.  根据权利要求2所述的方法,其特征在于,所述根据资源的状态为所述子任务分配资源,具体包括:
调度和管理平台记录并维护所述资源的状态;
判断所述记录的资源状态是否可以执行所述子任务,如果判断结果为可以执行,则调度所述子任务到所述资源上执行。

4.  根据权利要求3所述的方法,其特征在于,所述判断所述记录的资源状态是否可以执行所述子任务的判断方法,具体包括:
判断所述记录的资源是否可以提供所述子任务所需的计算节点,并且资源当前的规格属性是否可满足所述资源计算任务的子任务;
所述资源可以包括一个或多个计算节点,所述子任务可以由一个或者多个计算节点执行。

5.  根据权利要求4所述的方法,其特征在于,所述判断所述记录的资源是否可以提供所述子任务所需的计算节点,具体包括: 
判断所述资源当前是否拥有空闲状态的计算节点;或,
判断所述资源是否可以为所述子任务创建新的计算节点。

6.  根据权利要求3-5任一所述的方法,其特征在于,所述调度和管理平台记录并维护所述资源的状态,具体包括:
调度和管理平台记录并维护下述信息的一个或多个:计算节点的状态、资源与计算节点的关联关系、计算节点与资源计算任务的关联关系和计算节点与资源计算任务的子任务的关联关系;
所述计算节点的状态包括下述状态中的一个或多个:配置状态、空闲状态、忙状态和异常状态。

7.  根据权利要求2-6任一所述方法,其特征在于,所述调度和管理平台向资源提供平台申请所需的满足所述资源特性的资源,具体包括:
所述调度和管理平台确定需要调度所述资源计算任务的子任务时,若当前为所述资源计算任务申请的资源数量未达到所确定为所述资源计算任务分配的资源数量时,为所述子任务申请资源;若当前为所述资源计算任务申请的资源数量已经达到所确定为所述资源计算任务分配的资源数量时,则在所述资源计算任务中其它正在执行的子任务执行完毕并释放资源后,再为所述子任务申请资源。

8.  根据权利要求2-6任一所述方法,其特征在于,所述调度和管理平台向资源提供平台申请所需的满足所述资源特性的资源;调度和管理平台调度所述资源计算任务到所述申请到的资源上执行,具体包括:
所述调度和管理平台向资源提供平台申请所确定的数量的资源,当申请到所述确定的数量的资源后,调度所述资源计算任务的子任务到所述申请到的资源上执行。

9.  根据权利要求1-7任一所述的方法,其特征在于,所述调度和管理平台根据所述资源计算任务确定为所述资源计算任务分配的资源数量具体包括: 
所述调度和管理平台分析所述资源计算任务获得所述资源计算任务所需最小计算节点数和最大计算节点数,并进一步由所述最小计算节点数和最大计算节点数确定资源数量。

10.  根据权利要求9所述的方法,其特征在于,所述调度和管理平台分析所述资源计算任务获得所述资源计算任务所需最小计算节点数和最大计算节点数,具体包括:
所述调度和管理平台分析所述资源计算任务,标识各子任务之间的依赖关系;
依次分析各子任务,找出所述资源计算任务的无依赖关系的子任务形成子任务组合,确定需要计算节点最多的子任务组合所需的计算节点数为所述资源计算任务的最大计算节点数;
并找出所述资源计算任务的每个子任务所需的计算节点数,确定需要计算节点数最多的子任务所需的计算节点数为所述资源计算任务的最小计算节点数。

11.  根据权利要求9或10所述的方法,其特征在于,所述由所述最小计算节点数和最大计算节点数确定资源数量,具体包括:
根据调度和管理平台自身预先配置的策略,和/或提交所述资源计算任务的客户相关信息来确定调度和管理平台可为所述资源计算任务分配的最大计算资源数;
根据所述最小计算节点数和最大计算节点数,以及所述确定的调度和管理平台可为所述资源计算任务分配的最大计算资源数决定资源数量。

12.  根据权利要求11所述的方法,其特征在于,所述根据所述最小计算节点数和最大计算节点数,以及所述确定的调度和管理平台可为所述资源计算任务分配的最大计算资源数决定资源数量具体包括:
根据预先规定的不同规格的资源可提供的最大计算节点数,得出所述最小计算节点数和最大计算节点数分别所需的最小资源数和最大资源数; 
若所述确定的调度和管理平台可为所述资源计算任务分配的最大计算资源数小于所述最小资源数,则所述资源计算任务所需资源无法满足;
否则,取所述确定的调度和管理平台可为所述资源计算任务分配的最大计算资源数与所述最大资源数的较小者为决定的资源数量。

13.  根据权利要求1-12任一所述的方法,其特征在于,所述资源提供平台为私有资源提供平台,或者公有资源提供平台。

14.  根据权利要求13所述方法,其特征在于,若所述资源提供平台是多个资源提供平台,则还包括:
选择其中一个或多个资源提供平台为所述资源计算任务提供所述所需的满足所述资源特性的资源。

15.  根据权利要求1-14任一所述的方法,其特征在于,所述方法还包括:
监控资源状态以及所述资源计算任务执行情况,获取执行所述资源计算任务的得到的计算结果,并释放资源。

16.  根据权利要求15所述的方法,其特征在于,所述监控资源状态以及资源计算任务执行情况,获取所述资源计算任务的计算结果,并释放资源,具体包括:
调度和管理平台监控资源状态以及资源计算任务执行情况,获取所述资源计算任务的计算结果,向资源提供平台发送资源的释放命令,以使资源提供平台关闭所述资源。

17.  根据权利要求1-14任一所述的方法,其特征在于,所述方法还包括:
调度和管理平台监控资源状态以及所述资源计算任务执行情况,获取所述资源计算任务中已执行的子任务的计算结果,进一步分析所述资源计算任务,确认所述资源还可以提供给所述资源计算任务中其他未执行的子任务,将该资源的计算节点分配给所述其他未执行的子任务。

18.  一种资源的调度和管理装置,包括: 
资源计算任务接口模块,用于接收客户端发送的资源计算任务,所述资源计算任务包括一个或多个子任务;
资源计算任务分析模块,用于根据所述资源计算任务确定为所述资源计算任务分配的资源特性,所述资源特性包括:资源数量和资源的规格属性;
资源和计算节点调度模块,用于向资源提供平台申请所需的满足所述资源特性的资源;
资源计算任务调度模块,用于调度所述资源计算任务到所述申请的资源上执行。

19.  根据权利要求18所述的装置,其特征在于,还包括:
资源和计算节点调度模块,还用于确定所述资源计算任务的一个子任务,并根据资源的状态为所述子任务分配资源,其中所述资源是计算资源调度模块为所述资源计算任务所申请的。

20.  根据权利要求18或19所述的装置,其特征在于,所述资源计算任务分析模块还包括:
描述信息分析模块,用于所述调度和管理平台分析所述资源计算任务,标识各子任务间的依赖关系;依次分析各子任务,找出所述资源计算任务的无依赖关系的子任务形成子任务组合,确定需要计算节点最多的子任务组合所需的计算节点数为所述资源计算任务的最大计算节点数;并得出所述资源计算任务的每个子任务所需的计算节点数,确定所需计算节点数最多的子任务所需的计算节点数为所述资源计算任务的最小计算节点数;
并依据预先配置的策略和/或提交所述资源计算任务的客户相关信息确定调度和管理平台可为所述资源计算任务分配的最大计算资源数;
分配策略存储模块,用于保存调度和管理平台的配置的策略和/或提交所述资源计算任务的客户相关信息;
资源决策模块,用于根据决策资源资源数量和资源的规格属性。

21.  如权利要求20所述的装置,其特征在于,所述决策资源资源数量,具体包括:
资源决策模块根据预先规定的不同规格的资源可提供的最大计算节点数,得出所述最小计算节点数和最大计算节点数分别所需的最小资源数和最大资源数;
若所述确定的调度和管理平台可为所述资源计算任务分配的最大计算资源数小于所述最小资源数,则所述资源计算任务所需资源无法满足;
否则,取所述确定的调度和管理平台可为所述资源计算任务分配的最大计算资源数与所述最大资源数的较小者为决定的资源数量。

22.  一种资源的调度和管理系统,包括:
客户终端,用于生成资源计算任务,并向调度和管理平台发送所述资源计算任务;
调度和管理平台,用于接收客户端发送的资源计算任务,所述资源计算任务包括一个或多个子任务;根据所述资源计算任务确定为所述资源计算任务分配的资源特性,所述资源特性包括:资源数量和资源的规格属性;向资源提供平台申请所需的满足所述资源特性的资源;进一步调度所述资源计算任务到所述申请的资源上执行;
资源提供平台,提供相应资源数量和资源的规格属性的资源,用以完成资源计算任务。 

说明书

说明书一种资源的调度和管理方法及装置
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种资源的调度和管理方法及装置。
背景技术
基础设施作为服务(Infrastructure as a Service,简称:IaaS)是云计算的一种典型应用模式,由于其可以降低硬件成本和管理成本,提高硬件资源利用率,被越来越广泛的使用。
IaaS能够降低硬件成本的一个重要原因是资源的按需分配,即:业务需要资源时为业务分配虚拟机供业务使用,在业务不需要资源时释放为其分配的虚拟机。采用IaaS后,当有多个错峰业务时,同一资源可以在不同时段供不同业务使用,达到削峰填谷的效果,从整体上提高了资源的利用效率。
虚拟机是一种最为常见的资源存在形式,通过将硬件资源虚拟化,按客户需求提供一定能力的虚拟机,使得一个硬件可以为多个客户提供服务,提高了硬件资源的利用率。
现有技术中资源都是由用户直接向IaaS申请,其后续的调度和释放都需要用户进一步的维护。
发明内容
本发明实施例提供一种资源的调度和管理方法、装置和系统,以实现通过调度和管理平台根据用户提交的资源计算任务,自动的实现资源的申请、调度以及释放。
本发明中资源由资源提供平台所提供,资源提供平台可以是公有资源提供平台,或者私有资源提供平台或者其他能够提供资源服务的平台;其中资源可以是物理机或者虚拟机(Virtual Manufacturing,简称:VM),每个资源 可以包括一个或多个计算节点,每个计算节点是一个运行在资源上的、可以用来调度和执行任务的程序,如Java虚拟机(Java Virtual Manufacturing,简称:JVM)或者其他能够独立完成调度和执行任务功能的程序;其中资源计算任务并不对调度和管理内容作限定,实际的资源计算任务可以包括任何需要在资源上执行的程序或脚本;所述资源计算任务可以包括一个或者多个子任务,其子任务可以是调度和管理平台根据该资源计算任务的描述文件得到和/或由调度和管理平台划分,调度和管理平台划分任务的具体方法可以是:调度和管理平台根据所要处理的数据的大小、该资源计算任务可用的资源数等,进行子任务的划分。如原来描述文件中的资源计算任务所要处理的数据非常大,一个资源无法完成处理,则可以将用户提交的所述资源计算任务由调度和管理平台将其重新分割为多个无依赖关系和/或有依赖关系的子任务,所述子任务能够被单个资源所处理。一个子任务的执行可能需要一个或者多个计算节点完成,若需要多个计算节点,则该多个计算节点可由同一个资源提供或者由多个资源提供。
本发明实施例提供一种资源的调度和管理方法,包括:
调度和管理平台接收客户端发送的资源计算任务,所述资源计算任务包括一个或多个子任务;
调度和管理平台根据所述资源计算任务确定为所述资源计算任务分配的资源特性,所述资源特性包括:资源数量和资源的规格属性;
调度和管理平台向资源提供平台申请所需的满足所述资源特性的资源;
调度和管理平台调度所述资源计算任务到所述申请到的资源上执行。
本发明实施例提供一种资源的调度和管理装置,包括:
资源计算任务接口模块,用于接收客户端发送的资源计算任务,所述资源计算任务包括一个或多个子任务;
资源计算任务分析模块,用于根据所述资源计算任务确定为所述资源计 算任务分配的资源特性,所述资源特性包括:资源数量和资源的规格属性;
资源和计算节点调度模块,用于向资源提供平台申请所需的满足所述资源特性的资源;
资源计算任务调度模块,用于调度所述资源计算任务到所述申请的资源上执行。
一种资源的调度和管理系统,包括:
客户终端,用于生成资源计算任务,并向调度和管理平台发送所述资源计算任务;
调度和管理平台,用于接收客户端发送的资源计算任务,所述资源计算任务包括一个或多个子任务;根据所述资源计算任务确定为所述资源计算任务分配的资源特性,所述资源特性包括:资源数量和资源的规格属性;向资源提供平台申请所需的满足所述资源特性的资源;进一步调度所述资源计算任务到所述申请的资源上执行;
资源提供平台,提供相应资源数量和资源的规格属性的资源,用以完成资源计算任务。
调度和管理平台分析资源计算任务确定完成该资源计算任务的资源特性,进一步通过资源特性确定所需的资源,并自动实现资源计算任务在资源上的调度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种资源的调度和管理方法实施例的流程图;
图2为本发明一种资源的调度和管理方法实施例的流程图;
图3为本发明一种计算最小计算节点数的流程图;
图4为本发明一种调度方式实施例的流程图;
图5(A)为本发明一种资源任务关联表示意图;
图5(B)为本发明一种资源任务关联表示意图;
图6为本发明一种子任务组合示意图;
图7为本发明一种用于资源的调度和管理装置实施例示意图;
图8为本发明一种资源计算任务分析模块实施例示意图;
图9为本发明一种资源调度和管理系统实施例示意图。
具体实施方式
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。本发明中基础设施作为服务(IaaS)也被称为基础设施云。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一种资源的调度和管理方法实施例的流程图100。其中客户端可以是PC、智能机、PDA或平板电脑等,如图1所示,该调度和管理方法包括:
步骤101,调度和管理平台接收客户端发送的资源计算任务,所述资源计算任务包括一个或多个子任务。
所述发送的资源计算任务可以用可扩展标记语言(Extensible Markup Language,XML,简写:XML)的脚本文件、txt格式文本文件等描述,还可 以用其他格式的任务描述文件描述;所述资源计算任务可以不包含执行该资源计算任务所需的具体的资源数量或资源的规格属性等;一个资源计算任务可以包括一个或多个子任务,子任务之间可以是有依赖关系,或无依赖关系,每个子任务的执行可能需要一个或者多个计算节点。
该资源计算任务可以是直接包含所要运行的执行程序及其所要处理的数据;或者仅仅描述所要运行的执行程序的名称及位置和所要处理的数据的地址。由调度和管理平台获取所述执行程序或所要处理的数据,所述执行程序或所要处理的数据存储在其他服务器上,若该数据的访问需要身份认证等,则还可以包括调度和管理平台从资源计算任务中读取该数据所需的认证信息等。
步骤102,所述调度和管理平台根据所述资源计算任务确定为所述资源计算任务分配的资源特性,所述资源特性包括:资源数量和资源的规格属性。
所述资源可以是指物理机或者虚拟机,并且具有各自的CPU、内存、存储能力或网络能力。
所述资源的规格属性可以包括如下内容中的一个或多个:CPU、GPU、内存、Disk、网络能力、资源的操作系统类型、资源的镜像image、资源的位置或资源的能力需求等。
所述资源的镜像image包含有对应操作系统类型和操作系统架构,用于资源提供平台生成调度和管理平台所需的资源,如:资源提供平台通过镜像image生成虚拟机VM,并将VM的作为资源返回给调度和管理平台。
其中资源的能力包括资源需要具备的基础库,如是否需要安装某个版本的Java开发工具(Java Development Kit,简写:JDK)等。
具体的根据资源计算任务确定所需资源数量的方法包括:
1)调度和管理平台分析所述资源计算任务得出所述资源计算任务所需最小计算节点数和最大计算节点数,具体方法为:调度和管理平台分析所述资源计算任务,标识各子任务间的依赖关系,该依赖关系包括直接依赖和间接 依赖,例如:A依赖B,B依赖C,则A直接依赖于B,A间接依赖C;依次分析各子任务,找出所述资源计算任务的无依赖关系的子任务形成子任务组合,确定需要计算节点最多的子任务组合所需的计算节点数为所述资源计算任务的最大计算节点数;并找出所述资源计算任务的每个子任务所需的计算节点数,确定需要计算节点数最多的子任务所需的计算节点数为所述资源计算任务的最小计算节点数。
2)由所述最小计算节点数和最大计算节点数确定资源数量,具体包括:根据调度和管理平台自身预先配置的策略,和/或提交所述资源计算任务的客户相关信息来确定调度和管理平台可为所述资源计算任务分配的最大计算资源数,所述客户相关信息包括用户的标识、用户的身份权限和用户的签约信息等;并根据所述最小计算节点数和最大计算节点数,以及所述确定的调度和管理平台可为所述资源计算任务分配的最大计算资源数决定资源数量。
具体决定资源数量的方法为:根据预先规定的不同规格的资源可提供的最大计算节点数,得出所述最小计算节点数和最大计算节点数分别所需的最小资源数和最大资源数;若所述确定的调度和管理平台可为所述资源计算任务分配的最大计算资源数小于所述最小资源数,则所述资源计算任务所需资源无法满足;否则,取所述确定的调度和管理平台可为所述资源计算任务分配的最大计算资源数与所述最大资源数的较小者为决定的资源数量。
步骤103,调度和管理平台向资源提供平台申请所需的满足所述资源特性的资源。
该资源提供平台可以为私有资源提供平台,或者公有资源提供平台,如公有资源提供平台。
调度和管理平台可以根据所述资源特性确定资源提供平台,其中所确定的资源提供平台可以是客户之前就已签约的资源提供平台,调度和管理平台代理客户登陆已签约的资源提供平台;或者,客户无需签约任何资源提供平台,而由调度和管理平台统一分配资源提供平台。
该资源提供平台可以为一个或者多个,若为多个,则还需要调度和管理平台选择其中一个或多个资源提供平台为资源计算任务提供所需的满足资源特性的资源。
步骤104,调度和管理平台调度所述资源计算任务到所述申请的资源上执行。
具体的,在获取到申请的资源后,调度和管理平台确定所述资源计算任务的一个子任务,并根据所述获取到的资源的状态从所述获取到的资源中为所述子任务分配资源。
根据资源的状态为所述子任务分配资源的一种实现方式为:调度和管理平台记录并维护所述资源的状态;判断记录的所述资源状态是否可以执行所述子任务,即所述资源是否可以提供所述子任务所需的计算节点,并且资源当前的规格属性(即前述资源的规格属性的当前可用值,如可用的内存、磁盘空间等)是否可满足所述资源计算任务的子任务,如果是,则调度所述子任务到所述资源执行。所述资源是否可以提供所述子任务所需的计算节点具体包括判断所述资源当前是否拥有空闲状态的计算节点;和/或,判断所述资源是否可以为所述子任务创建新的计算节点。该记录的所述资源的状态包括:计算节点的状态、资源与计算节点的关联关系、计算节点与资源计算任务的关联关系或计算节点与资源计算任务的子任务的关联关系中的一个或多个;计算节点的状态包括配置状态、空闲状态、忙状态、异常状态等中的一个或多个。
具体的,资源申请和任务调度的关系有如下两种:
第一种,按照所确定的资源数量和资源的规格属性,向资源提供平台申请所确定的即满足资源的规格属性的又达到所述资源数量的资源,即所述调度和管理平台向资源提供平台申请所确定的数量的资源,当申请到所述确定的数量的资源后,调度所述资源计算任务的子任务到所述申请到的资源上执行;
第二种,在调度和管理平台确定需要调度所述资源计算任务的一个子任务时,即时的为该子任务申请资源及其对应计算节点,在VM准备就绪后,则调度该子任务到所申请的资源上执行。在为某一子任务申请资源时,若当前为所述资源计算任务申请的资源数量未达到所确定为所述资源计算任务分配的资源数量时,为所述子任务申请资源;若当前为所述资源计算任务申请的资源数量已经达到所确定为所述资源计算任务分配的资源数量时,则在所述资源计算任务中其它正在执行的子任务执行完毕并释放资源后,再为所述子任务申请资源。。
具体的,针对上述两种调度方式,资源的分配可以是:在接收到资源申请后,直接从资源提供平台申请创建虚拟机VM,或者调度和管理平台可以预先准备一定数量的资源,这些预备资源在接收该资源计算任务之前已经存在,调度和管理平台在为资源计算任务申请资源时,首先从该预备资源获中取已经存在的VM,如果该预备资源中已经存在的VM无法满足子任务需要,则申请新的资源,这样可以当调度和管理平台有大量资源计算任务时,一定数量的预备资源可以提高资源计算任务处理效率。预备资源数量可以根据资源计算任务的数量进行适当调整。
步骤105,调度和管理平台调度任务执行之后,还包括监控资源状态以及所述资源计算任务执行情况,获取执行所述资源计算任务的得到的计算结果,并释放资源,如:调度和管理平台监控资源状态以及资源计算任务执行情况,获取所述资源计算任务的计算结果,向资源提供平台发送资源的释放命令,以关闭所述资源。
上述方法通过资源计算任务来确定为所述资源计算任务分配的资源特性,并为执行该资源计算任务而向资源提供平台申请对应数量的资源,来实现资源计算任务的调度执行。实现了资源根据资源计算任务动态的分配,优化了资源的使用,提高了资源的使用效率。本实施例中资源提供平台具体可以是基础设施云IaaS。
图2为本发明一种资源的调度和管理和控制方法实施例的流程图200,资源提供平台具体可以为基础设施云,其中调度和管理平台上注册至少一个资源提供平台。如图2所示,方法包括:
步骤201,调度和管理平台接收客户的资源计算任务,所述资源计算任务包括一个或多个子任务。
调度和管理平台向用户提供封装的资源计算任务接口,该资源计算任务接口屏蔽具体资源的申请、管理和释放,仅提供资源计算任务的管理能力,如:提交任务、查看任务执行进度、以及获取任务执行结果等。进一步,调度和管理平台还可以向用户提供资源的申请、管理和释放接口,以及资源的访问接口,如为用户提供VM的DNS和认证信息,使得用户可以直接登陆到VM上进行操作。
每个资源计算任务的多个子任务间可以有依赖关系,包括直接依赖、间接依赖,也可以无依赖关系。
如下为一资源计算任务示例,可以描述该资源计算任务所包括的子任务,以及子任务间的依赖关系:

其中,调度和管理平台可以根据该资源计算任务描述文件将任务划分为 task1和task2两个子任务;其中dependon字段描述了子任务task2依赖于子任务task1。
步骤202,调度和管理平台分析该资源计算任务,得到其所需的资源特性,该资源特性包括执行该资源计算任务所需资源数量和资源的规格属性。
具体的,得到该资源计算任务所需的资源特性的方法包括:
调度和管理平台分析所述资源计算任务得出最小计算节点数和最大计算节点数,并进一步由所述最小计算节点数和最大计算节点数确定资源数量;
其中计算最大计算节点数和最小计算节点数过程如下:
所述调度和管理平台分析所述资源计算任务,标识各子任务间的依赖关系;依次分析各子任务,找出所述资源计算任务的无依赖关系的子任务形成子任务组合,确定所需计算节点最多的子任务组合所需的计算节点数为所述资源计算任务的最大计算节点数;并得出所述资源计算任务的每个子任务所需的计算节点数,确定所需计算节点数最多的子任务所需的计算节点数为所述资源计算任务的最小计算节点数。
优选的资源数量除考虑上述最小计算节点数和最大计算节点数外,进一步根据调度和管理平台自身预先配置的策略,和/或提交所述资源计算任务的客户相关信息来确定调度和管理平台可为所述资源计算任务分配的最大计算资源数。根据所述最小计算节点数和最大计算节点数,以及所述确定的调度和管理平台可为所述资源计算任务分配的最大计算资源数决定资源数量,具体为:
调度和管理平台根据根据预先规定的不同规格的资源可包含的最大计算节点数,所述最小计算节点数和最大计算节点数分别得到所需的最小资源数和最大资源数;若所述确定的调度和管理平台可为所述资源计算任务分配的最大计算资源数小于所述最小资源数,则所述资源计算任务所需资源无法满足;否则,取所述确定的调度和管理平台可为所述资源计算任务分配的最大计算资源数与所述最大资源数的较小者为决定的资源数量。
步骤203,调度和管理平台向资源提供平台申请资源。
其中资源提供平台可以是一个或者多个。若包含多个资源提供平台,则还包括步骤:调度和管理平台选择其中一个或多个资源提供平台为所述资源计算任务提供所述所需的满足所述资源特性的资源。
其中资源提供平台可以包括私有资源提供平台,和/或公有资源提供平台;对于私有资源提供平台可以是独立于调度和管理平台的服务器形式存在,也可以是集成于调度和管理平台形式存在;对于公有资源提供平台,调度和管理平台可以通过公有资源提供平台提供的资源管理接口申请和管理资源,该资源管理接口通常为REST或Web Service格式接口。
调度和管理平台向资源提供平台提交资源申请请求时,需要提供资源数量、Image标识、CPU大小、内存大小、磁盘空间大小、网络能力大小、资源的位置等属性中的一个或多个。
调度和管理平台记录并维护所述资源状态。所述资源的状态包括:计算节点的状态、资源与计算节点的关联关系、计算节点与资源计算任务的关联关系或计算节点与资源计算任务的子任务的关联关系中的一个或多个;计算节点的状态包括配置状态、空闲状态、忙状态、异常状态等中的一个或多个。
步骤204,调度和管理平台向所申请的资源调度子任务。
具体的,在调度和管理平台记录并维护所述资源的状态;判断所述记录的资源状态是否可以执行所述子任务,即资源是否可以提供计算节点,并且资源当前的规格属性是否可满足所述资源计算任务的子任务,如果是,则调度所述子任务到所述资源执行。
具体判断某一资源是否可以提供计算节点方法包括:判断该资源已经运行的计算节点中是否有处于空闲状态的计算节点,如果有,则认为是可以提供;或者,该资源当前是否可以创建新节点,如果是,则认为是可以提供。其中所述资源是否可以创建新节点的判断方法包括:根据预先设置的规定了资源能够创建的最大计算节点数,并结合该资源已有的计算节点数来判断。 如:规定4核CPU的虚拟机最多可以创建4个计算节点,若该虚拟机当前已经创建了2个,则还可以创建2个。
具体的,创建计算节点的方法有两种:
第一种,资源提供平台提供资源时,该资源上暂未运行计算节点,调度和管理平台在往资源调度某一子任务时,才向资源发送命令创建计算节点,该创建命令可以是向资源上的管理代理程序发送远程过程调用命令(Remote Process Call,简称:RPC),由资源上的管理代理程序agent创建计算节点,创建计算节点后,调度和管理平台获取所创建的计算节点的标识(如URL),并保存该计算节点的标识用于后续状态管理和任务调度;
第二种,资源提供平台启动资源后,资源提供平台中的管理代理程序agent自动创建计算节点,所创建的计算节点数根据资源上的预置配置文件或者资源启动时注入的配置文件确定,所述资源上的预置配置文件或者资源启动时注入的配置文件可以是资源提供平台自身拥有的,也可以是通过调度和管理平台获取的。创建计算节点成功后,管理代理程序agent向调度和管理平台注册所创建的计算节点的标识,调度和管理平台保存该计算节点的标识用于后续状态管理和任务调度。
具体实现时,调度和管理平台可以以资源任务关联表的方式保存资源的状态。如图5(A)为本发明一种资源任务关联表示意图,其中虚拟机VM地址标识具体为VM_ADD;资源的规格属性具体为VM_Config;对于不同的基础设施云提供的VM或者同一个基础设施云提供的不同VM,由于其在实际使用中均通过VM作为使用单元,因此通过VM_ID来区别不同的VM并记录在资源任务关联表中。
如图5(B)为本发明一种资源任务关联表示意图,包含了图5(A)中资源和资源计算任务的关联信息外,进一步包含资源上的计算节点信息VM_CompNode,提供更细化的资源状态的维护和跟踪。所述VM_CompNode具体可以是结构体数组,其数组结构可以如下:

其中comput_node_id用来标识VM中各计算节点,bstate用来标识对应的计算节点是否处于空闲状态,Struct Comput_Node_Config是用来记录计算节点相关配置参数的数据结构,包括分配存储空间、给予计算节点的优先级别等。
优选的在调度和管理平台中记录并维护有资源提供平台和所述资源提供平台创建的资源(VM_ID)对应关系,并根据已有资源规格属性获得所述资源提供平台还能创建的资源的规格属性。
所述管理代理程序agent的运行方式有如下几种:
第一种,该管理代理程序驻留在资源对应的镜像Image文件中,在调度和管理平台申请资源时,资源提供平台通过Image创建资源,在资源启动时自动运行该管理代理程序agent;
第二种,该管理代理程序驻留在资源对应的镜像Image文件中,在调度和管理平台申请资源时,资源提供平台通过Image创建资源,在资源启动后,调度和管理平台通过SSH协议远程启动该管理代理程序;
第三种,在调度和管理平台申请资源时,在资源启动后,调度和管理平台通过SSH协议传输管理代理程序到资源,通过SSH协议远程安装和启动。
为了调度资源计算任务的子任务到计算节点,调度和管理平台通过和计算节点直接通信以进行执行程序和数据的传输、子任务的启动及监控。
具体的资源申请和任务调度的关系参见步骤104步骤描述。在两种资源申请和任务调度关系下,具体调度子任务到资源执行的实现方法步骤如下:
1)调度和管理平台根据资源计算任务,确定资源计算任务的子任务的调度顺序,调度顺序基于子任务的依赖关系,先调度被依赖的子任务,若子任务间无依赖关系,则根据其在资源计算任务描述文件中的位置确定,排在前面的子任务先调度;
2)首先调度和管理平台传输子任务的执行程序到计算节点,所述执行程序是调度和管理平台根据资源计算任务中分析得到,或者,若调度该子任务时,其执行程序已经存在于该资源上,则忽略本步骤。
具体的,执行程序已经存在于该资源上包括:资源启动时资源上已经存在该执行程序,或者,该执行程序是该计算节点运行的上一个子任务保留下的。上一个子任务保留下的优选实现为:该执行程序是上一个子任务的执行输出结果(如上一子任务为编译,则该执行程序是编译结果),或者,在所述子任务只依赖于一个子任务时,且所需的计算节点和其依赖的子任务相同时,则在传输其所依赖的子任务时同时传输所述子任务,在这种情况下直接执行所述子任务的执行程序;
3)调度和管理平台根据资源计算任务,传输该子任务所要处理的数据到计算节点;
4)调度和管理平台在所述计算节点上运行该执行程序。
步骤205,调度和管理平台监控所述资源计算任务,并获取所述资源计算任务的子任务计算结果。
监控和获取子任务的计算结果同样是通过和计算节点直接交互获取,计算节点负责启动本机的计算子任务程序,后续通过所启动的子任务的进程对子任务的执行、输出进行获取,并通过远程过程调用(Remote Process Call,简称:RPC)返回给调度和管理平台。
调度和管理平台监控资源状态以及所述资源计算任务执行情况,获取所述资源计算任务中已执行的子任务的计算结果,进一步调度和管理平台分析资源计算任务,确认所述资源还可以提供给后续的子任务,则取消该资源及 其计算节点和子任务的对应关系,运行清理程序清除该资源上所运行的子任务的遗留数据,将该资源的计算节点分配给其他子任务。
步骤206,调度和管理平台释放资源。
对应两种资源调度和管理方法,释放资源的方法如下:
对于调度和管理平台在调度到一个子任务时才为该子任务申请计算节点及其对应资源的方式,在该子任务执行完后,释放该子任务对应的计算节点,若某一资源的所有计算节点均释放,则进一步释放该资源;
对于调度和管理平台一次性申请资源计算任务所需的所有节点的方式,在资源计算任务执行完后释放为该资源计算任务分配的所有资源。
这里的所述资源计算任务执行完包括:资源计算任务执行成功或失败(无外界干预下执行结果),资源计算任务执行过程中停止执行(用户干预停止,或者系统异常导致资源计算任务执行中途停止等),调度和管理平台根据所保存的资源的标识释放资源。
优选的,调度和管理平台监控资源状态以及其他资源计算任务执行情况,获取所述资源计算任务的计算结果,进一步分析所述其他资源计算任务,确认所述资源还可以提供给其他资源计算任务的子任务,则向资源提供平台发送资源的释放命令,以释放所述资源与之前执行的子任务的相关数据,更新调度和管理平台所记录的所述资源的状态为空闲。
通过本实施例,客户可以通过提供资源计算任务,而由调度和管理平台自动完成资源计算任务分析,进一步自动根据子任务需求申请计算资源,并调度后续的子任务计算过程,简化了客户使用资源的复杂度。
图3为本发明一种计算最大计算节点数的流程图300。本实施例可以作为本发明中其他实施例中计算最大和最小计算节点数的具体方法,如图3所示,方法包括:
步骤301,调度和管理平台分析所述资源计算任务,标识各子任务间的依赖关系。
资源描述文件如步骤201所述。可以通过分析资源计算任务的描述文件得到子任务及依赖关系。
如图6所示,为示例资源计算任务所包括的子任务及其依赖关系。所述依赖关系具体指,子任务task4依赖于子任务task3,则调度和管理平台会在task3执行完毕后,进一步执行task4。图中task3的执行需要4个计算节点,task4需要5个,依此类推。
步骤302,调度和管理平台根据资源计算任务的描述文件,将其子任务划分为无依赖关系的几部分。
如图6所示,划分为两部分,分别为:{task3、task4、task5、task6、task7}和{task8}。
步骤303,调度和管理平台对每一部分计算最大计算节点数。
具体的,扫描该部分的每一个子任务,根据依赖关系,若被依赖的子任务的所需计算节点数小于所依赖子任务的所需计算节点数,则使用所依赖子任务的所需计算节点数替换被依赖子任务的所需计算节点数作为基准值,若所依赖的子任务有多个,则应该用所有所依赖子任务的节点数之和与被依赖子任务的节点数比较,依次类推,比较完该部分的所有子任务后,最终的基准值即为该部分的子任务所需的最大计算节点数。
步骤304,对所得到的每一部分的最大计算节点数求和,得到该资源计算任务所需的最大计算节点数。
本发明的最小计算节点数具体为:遍历所有子任务,以第一个子任务初始化基准值,若遇到有子任务所需的节点数比基准值大,则以该子任务的节点数作为新的标杆值,依次类推,最终的基准值即为该部分的子任务所需的最小节点数。
得到最大和最小节点数后,可以进一步根据预先规定的不同规格的资源可包含的最大计算节点数,得出所述最小计算节点数和最大计算节点数分别所需的最小资源数和最大资源数。例如,若最大计算节点数为16,最小节点 数为3,且规定资源为2核的VM,其最大可以创建2个计算节点,则最大资源数为16/2=8个,最小节点数为3/2=2个(这里需要取整)。
本实施例描述如何计算出最小计算节点和最大计算节点,以及从最小计算节点数和最大计算节点数反推出所需的最大资源数量和最小资源数量,进一步根据上一实施例确定的最大并行计算资源数最终获得调度和管理平台为该资源计算任务所分配的资源数量。
图4为本发明的一种调度方式实施例的流程图400,在本实施例中资源体现为虚拟机VM,本实施说明调度和管理平台一次性为资源计算任务分配VM后,为所要调度的子任务确定资源的方式,如图4所示,方法包括:
步骤401,调度和管理平台为资源计算任务申请所确定数量的资源,并创建这些资源能够提供的计算节点,保存计算节点的状态。
步骤402,调度和管理平台确定所述资源计算任务的一个子任务。
步骤403,从所保存的计算节点中确定能完成所述子任务的计算节点。
具体的,确定的方法是根据计算节点的空闲状态,以及计算节点所在的资源的当前规格属性,可以是通过图5(B)所示的资源任务关联表来确定。
优选的,首先根据资源的规格属性确定能执行该子任务的资源,然后逐个判断该资源上的计算节点的状态。
步骤404,分配该计算节点给所述子任务,并更新所保存的该计算节点的状态。
具体的,在该计算节点的状态中保存:状态为忙,当前拥有者为该子任务的标识。
本实施例通过调度和管理平台保存计算节点的状态,为待执行子任务分配计算节点,使得可以合理的为子任务分配可以执行该子任务的合适的资源和计算节点。
图7为本发明一种用于资源的调度和管理装置实施例示意图。如图7所示,装置包括:
资源计算任务接口模块701,用于接收客户端发送的资源计算任务,所述资源计算任务包括一个或多个子任务。
资源计算任务分析模块702,用于根据所述资源计算任务确定所需的资源特性,所述资源特性包括:资源数量和资源的规格属性。
资源和计算节点调度模块703,用于向资源提供平台申请所需的满足所述资源特性的资源。
资源计算任务调度模块704,用于调度所述资源计算任务到所述申请的资源上执行。
优选的所述资源和计算节点调度模块703还用于:
确定所述资源计算任务的一个子任务,并根据资源的状态为所述子任务分配资源,进一步通过资源计算任务调度模块704调度所述子任务到分配的资源上执行。其中所述资源是资源和计算节点调度模块为所述资源计算任务所申请的。
图8为本发明一种资源计算任务分析模块实施例示意图702。如图8所示,模块包括:
描述信息分析模块801,用于分析所述资源计算任务,划分为各子任务并标识各子任务间的依赖关系;依次分析各子任务,找出所述资源计算任务的无依赖关系的子任务形成子任务组合,确定需要计算节点最多的子任务组合所需的计算节点数为所述资源计算任务的最大计算节点数;并得出所述资源计算任务的每个子任务所需的计算节点数,确定所需计算节点数最多的子任务所需的计算节点数为所述资源计算任务的最小计算节点数;依据预先配置的策略和/或提交所述资源计算任务的客户相关信息确定调度和管理平台可为所述资源计算任务分配的最大计算资源数。
分配策略存储模块802,用于保存调度和管理平台的配置的策略和/或提交所述资源计算任务的客户相关信息。
资源决策模块803,用于决策资源资源数量和资源的规格属性。
其中资源决策模块803决策资源资源数量具体包括:
资源决策模块803根据预先规定的不同规格的资源可提供的最大计算节点数,得出所述最小计算节点数和最大计算节点数分别所需的最小资源数和最大资源数;
若所述确定的调度和管理平台可为所述资源计算任务分配的最大计算资源数小于所述最小资源数,则所述资源计算任务所需资源无法满足;
否则,取所述确定的调度和管理平台可为所述资源计算任务分配的最大计算资源数与所述最大资源数的较小者为决定的资源数量。
图9为本发明一种资源调度和管理系统实施例示意图900。如图9所示,系统包括:
客户终端901,用于生成资源计算任务,并向调度和管理平台902发送所述资源计算任务。
调度和管理平台902,用于接收客户端901发送的资源计算任务,所述资源计算任务包括一个或多个子任务;根据所述资源计算任务确定所需的资源特性,所述资源特性包括:资源数量和资源的规格属性;向资源提供平台申请所需的满足所述资源特性的资源;进一步调度所述资源计算任务到所述申请的资源上执行。
资源提供平台903,提供相应资源数量和资源的规格属性的资源,用以完成资源计算任务。
优选的,调度和管理平台902还存储有配置的策略和/或提交所述资源计算任务的客户相关信息。
优选的,所述资源数量计算过程具体为:
调度和管理平台902分析所述资源计算任务,划分为各子任务并标识各子任务间的依赖关系;依次分析各子任务,找出所述资源计算任务的无依赖关系的子任务形成子任务组合,确定需要计算节点最多的子任务组合所需的计算节点数为所述资源计算任务的最大计算节点数;并得出所述资源计算任 务的每个子任务所需的计算节点数,确定所需计算节点数最多的子任务所需的计算节点数为所述资源计算任务的最小计算节点数;依据预先配置的策略和/或提交所述资源计算任务的客户相关信息确定调度和管理平台可为所述资源计算任务分配的最大计算资源数。
进一步调度和管理平台902根据预先规定的不同规格的资源可包含的最大计算节点数,得出所述最小计算节点数和最大计算节点数分别所需的最小资源数和最大资源数。
若所述确定的调度和管理平台可为所述资源计算任务分配的最大计算资源数小于所述最小资源数,则所述资源计算任务所需资源无法满足;
否则,取所述确定的调度和管理平台可为所述资源计算任务分配的最大计算资源数与所述最大资源数的较小者为决定的资源数量;调度和管理平台依据所述资源数量向资源提供平台903申请资源。
可选的根据调度和管理平台自身的策略和/或提交所述资源计算任务的客户相关信息,如:用户的标识、用户的身份权限和用户的签约信息等,调度和管理平台902向资源提供平台903申请所需的资源可选的采用如下两种方式的某一种:
1)调度和管理平台902按照所确定的资源数量和资源的规格属性,向资源提供平台903申请该资源数量的资源,即一次把该资源计算任务所需的所有资源全部准备完备;
2)调度和管理平台902在资源计算任务调度到一个子任务时,即时的为该子任务申请计算节点及其对应资源,在资源准备就绪后,则调度该子任务到所申请资源。
具体的,针对上述两种调度方式,资源的分配可以是:调度和管理平台902在接收到资源申请后,直接从资源提供平台903申请创建虚拟机,或者调度和管理平台902调度和管理平台可以预先准备一定数量的资源,这些预备资源在接收该资源计算任务之前已经存在,调度和管理平台902在为该资 源计算任务申请资源时,首先从该预备资源获中取已经存在的资源,如果该预备资源中已经存在的的资源无法满足资源计算任务需要,则申请新的资源,这样可以当调度和管理平台有大量资源计算任务时,一定数量的预备资源可以提高资源计算任务处理效率。预备资源数量可以根据资源计算任务的数量进行适当调整。
本发明实施例的上述系统的具体工作工程可以参考本发明的其他实施例,这里不再一一介绍。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

一种资源的调度和管理方法及装置.pdf_第1页
第1页 / 共23页
一种资源的调度和管理方法及装置.pdf_第2页
第2页 / 共23页
一种资源的调度和管理方法及装置.pdf_第3页
第3页 / 共23页
点击查看更多>>
资源描述

《一种资源的调度和管理方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种资源的调度和管理方法及装置.pdf(23页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103365713 A (43)申请公布日 2013.10.23 CN 103365713 A *CN103365713A* (21)申请号 201210096125.X (22)申请日 2012.04.01 G06F 9/48(2006.01) G06F 9/50(2006.01) (71)申请人 华为技术有限公司 地址 518129 广东省深圳市龙岗区坂田华为 总部办公楼 (72)发明人 柴晓前 (54) 发明名称 一种资源的调度和管理方法及装置 (57) 摘要 本发明实施例提供一种资源的调度和管理方 法、 装置和系统, 以实现通过调度和管理平台根据 用户提交的资。

2、源计算任务, 自动的实现资源的申 请、 调度以及释放。 提供了一种资源的调度和管理 方法, 其特征在于, 包括 : 调度和管理平台接收客 户端发送的资源计算任务, 所述资源计算任务包 括一个或多个子任务 ; 调度和管理平台根据所述 资源计算任务确定为所述资源计算任务分配的资 源特性, 所述资源特性包括 : 资源数量和资源的 规格属性 ; 调度和管理平台向资源提供平台申请 确定的满足所述资源特性的资源 ; 调度和管理平 台调度所述资源计算任务到所述申请的资源上执 行。 (51)Int.Cl. 权利要求书 4 页 说明书 13 页 附图 5 页 (19)中华人民共和国国家知识产权局 (12)发明专。

3、利申请 权利要求书4页 说明书13页 附图5页 (10)申请公布号 CN 103365713 A CN 103365713 A *CN103365713A* 1/4 页 2 1. 一种资源的调度和管理方法, 其特征在于, 包括 : 调度和管理平台接收客户端发送的资源计算任务, 所述资源计算任务包括一个或多个 子任务 ; 调度和管理平台根据所述资源计算任务确定为所述资源计算任务分配的资源特性, 所 述资源特性包括 : 资源数量和资源的规格属性 ; 调度和管理平台向资源提供平台申请所需的满足所述资源特性的资源 ; 调度和管理平台调度所述资源计算任务到所述申请到的资源上执行。 2. 根据权利要求 1。

4、 所述的方法, 其特征在于, 所述调度所述资源计算任务到所述申请 的资源上执行, 具体包括 : 在获取到申请的资源后, 调度和管理平台确定所述资源计算任务的一个子任务, 并根 据所述获取到的资源的状态从所述获取到的资源中为所述子任务分配资源。 3. 根据权利要求 2 所述的方法, 其特征在于, 所述根据资源的状态为所述子任务分配 资源, 具体包括 : 调度和管理平台记录并维护所述资源的状态 ; 判断所述记录的资源状态是否可以执行所述子任务, 如果判断结果为可以执行, 则调 度所述子任务到所述资源上执行。 4. 根据权利要求 3 所述的方法, 其特征在于, 所述判断所述记录的资源状态是否可以 执。

5、行所述子任务的判断方法, 具体包括 : 判断所述记录的资源是否可以提供所述子任务所需的计算节点, 并且资源当前的规格 属性是否可满足所述资源计算任务的子任务 ; 所述资源可以包括一个或多个计算节点, 所述子任务可以由一个或者多个计算节点执 行。 5. 根据权利要求 4 所述的方法, 其特征在于, 所述判断所述记录的资源是否可以提供 所述子任务所需的计算节点, 具体包括 : 判断所述资源当前是否拥有空闲状态的计算节点 ; 或, 判断所述资源是否可以为所述子任务创建新的计算节点。 6. 根据权利要求 3-5 任一所述的方法, 其特征在于, 所述调度和管理平台记录并维护 所述资源的状态, 具体包括 。

6、: 调度和管理平台记录并维护下述信息的一个或多个 : 计算节点的状态、 资源与计算节 点的关联关系、 计算节点与资源计算任务的关联关系和计算节点与资源计算任务的子任务 的关联关系 ; 所述计算节点的状态包括下述状态中的一个或多个 : 配置状态、 空闲状态、 忙状态和异 常状态。 7. 根据权利要求 2-6 任一所述方法, 其特征在于, 所述调度和管理平台向资源提供平 台申请所需的满足所述资源特性的资源, 具体包括 : 所述调度和管理平台确定需要调度所述资源计算任务的子任务时, 若当前为所述资源 计算任务申请的资源数量未达到所确定为所述资源计算任务分配的资源数量时, 为所述子 任务申请资源 ; 。

7、若当前为所述资源计算任务申请的资源数量已经达到所确定为所述资源计 算任务分配的资源数量时, 则在所述资源计算任务中其它正在执行的子任务执行完毕并释 权 利 要 求 书 CN 103365713 A 2 2/4 页 3 放资源后, 再为所述子任务申请资源。 8. 根据权利要求 2-6 任一所述方法, 其特征在于, 所述调度和管理平台向资源提供平 台申请所需的满足所述资源特性的资源 ; 调度和管理平台调度所述资源计算任务到所述申 请到的资源上执行, 具体包括 : 所述调度和管理平台向资源提供平台申请所确定的数量的资源, 当申请到所述确定的 数量的资源后, 调度所述资源计算任务的子任务到所述申请到的。

8、资源上执行。 9. 根据权利要求 1-7 任一所述的方法, 其特征在于, 所述调度和管理平台根据所述资 源计算任务确定为所述资源计算任务分配的资源数量具体包括 : 所述调度和管理平台分析所述资源计算任务获得所述资源计算任务所需最小计算节 点数和最大计算节点数, 并进一步由所述最小计算节点数和最大计算节点数确定资源数 量。 10. 根据权利要求 9 所述的方法, 其特征在于, 所述调度和管理平台分析所述资源计算 任务获得所述资源计算任务所需最小计算节点数和最大计算节点数, 具体包括 : 所述调度和管理平台分析所述资源计算任务, 标识各子任务之间的依赖关系 ; 依次分析各子任务, 找出所述资源计算。

9、任务的无依赖关系的子任务形成子任务组合, 确定需要计算节点最多的子任务组合所需的计算节点数为所述资源计算任务的最大计算 节点数 ; 并找出所述资源计算任务的每个子任务所需的计算节点数, 确定需要计算节点数最多 的子任务所需的计算节点数为所述资源计算任务的最小计算节点数。 11.根据权利要求9或10所述的方法, 其特征在于, 所述由所述最小计算节点数和最大 计算节点数确定资源数量, 具体包括 : 根据调度和管理平台自身预先配置的策略, 和 / 或提交所述资源计算任务的客户相关 信息来确定调度和管理平台可为所述资源计算任务分配的最大计算资源数 ; 根据所述最小计算节点数和最大计算节点数, 以及所述。

10、确定的调度和管理平台可为所 述资源计算任务分配的最大计算资源数决定资源数量。 12. 根据权利要求 11 所述的方法, 其特征在于, 所述根据所述最小计算节点数和最大 计算节点数, 以及所述确定的调度和管理平台可为所述资源计算任务分配的最大计算资源 数决定资源数量具体包括 : 根据预先规定的不同规格的资源可提供的最大计算节点数, 得出所述最小计算节点数 和最大计算节点数分别所需的最小资源数和最大资源数 ; 若所述确定的调度和管理平台可为所述资源计算任务分配的最大计算资源数小于所 述最小资源数, 则所述资源计算任务所需资源无法满足 ; 否则, 取所述确定的调度和管理平台可为所述资源计算任务分配的。

11、最大计算资源数与 所述最大资源数的较小者为决定的资源数量。 13. 根据权利要求 1-12 任一所述的方法, 其特征在于, 所述资源提供平台为私有资源 提供平台, 或者公有资源提供平台。 14. 根据权利要求 13 所述方法, 其特征在于, 若所述资源提供平台是多个资源提供平 台, 则还包括 : 选择其中一个或多个资源提供平台为所述资源计算任务提供所述所需的满足所述资 权 利 要 求 书 CN 103365713 A 3 3/4 页 4 源特性的资源。 15. 根据权利要求 1-14 任一所述的方法, 其特征在于, 所述方法还包括 : 监控资源状态以及所述资源计算任务执行情况, 获取执行所述资。

12、源计算任务的得到的 计算结果, 并释放资源。 16. 根据权利要求 15 所述的方法, 其特征在于, 所述监控资源状态以及资源计算任务 执行情况, 获取所述资源计算任务的计算结果, 并释放资源, 具体包括 : 调度和管理平台监控资源状态以及资源计算任务执行情况, 获取所述资源计算任务的 计算结果, 向资源提供平台发送资源的释放命令, 以使资源提供平台关闭所述资源。 17. 根据权利要求 1-14 任一所述的方法, 其特征在于, 所述方法还包括 : 调度和管理平台监控资源状态以及所述资源计算任务执行情况, 获取所述资源计算任 务中已执行的子任务的计算结果, 进一步分析所述资源计算任务, 确认所述。

13、资源还可以提 供给所述资源计算任务中其他未执行的子任务, 将该资源的计算节点分配给所述其他未执 行的子任务。 18. 一种资源的调度和管理装置, 包括 : 资源计算任务接口模块, 用于接收客户端发送的资源计算任务, 所述资源计算任务包 括一个或多个子任务 ; 资源计算任务分析模块, 用于根据所述资源计算任务确定为所述资源计算任务分配的 资源特性, 所述资源特性包括 : 资源数量和资源的规格属性 ; 资源和计算节点调度模块, 用于向资源提供平台申请所需的满足所述资源特性的资 源 ; 资源计算任务调度模块, 用于调度所述资源计算任务到所述申请的资源上执行。 19. 根据权利要求 18 所述的装置,。

14、 其特征在于, 还包括 : 资源和计算节点调度模块, 还用于确定所述资源计算任务的一个子任务, 并根据资源 的状态为所述子任务分配资源, 其中所述资源是计算资源调度模块为所述资源计算任务所 申请的。 20. 根据权利要求 18 或 19 所述的装置, 其特征在于, 所述资源计算任务分析模块还包 括 : 描述信息分析模块, 用于所述调度和管理平台分析所述资源计算任务, 标识各子任务 间的依赖关系 ; 依次分析各子任务, 找出所述资源计算任务的无依赖关系的子任务形成子 任务组合, 确定需要计算节点最多的子任务组合所需的计算节点数为所述资源计算任务的 最大计算节点数 ; 并得出所述资源计算任务的每个。

15、子任务所需的计算节点数, 确定所需计 算节点数最多的子任务所需的计算节点数为所述资源计算任务的最小计算节点数 ; 并依据预先配置的策略和 / 或提交所述资源计算任务的客户相关信息确定调度和管 理平台可为所述资源计算任务分配的最大计算资源数 ; 分配策略存储模块, 用于保存调度和管理平台的配置的策略和 / 或提交所述资源计算 任务的客户相关信息 ; 资源决策模块, 用于根据决策资源资源数量和资源的规格属性。 21. 如权利要求 20 所述的装置, 其特征在于, 所述决策资源资源数量, 具体包括 : 资源决策模块根据预先规定的不同规格的资源可提供的最大计算节点数, 得出所述最 权 利 要 求 书 。

16、CN 103365713 A 4 4/4 页 5 小计算节点数和最大计算节点数分别所需的最小资源数和最大资源数 ; 若所述确定的调度和管理平台可为所述资源计算任务分配的最大计算资源数小于所 述最小资源数, 则所述资源计算任务所需资源无法满足 ; 否则, 取所述确定的调度和管理平台可为所述资源计算任务分配的最大计算资源数与 所述最大资源数的较小者为决定的资源数量。 22. 一种资源的调度和管理系统, 包括 : 客户终端, 用于生成资源计算任务, 并向调度和管理平台发送所述资源计算任务 ; 调度和管理平台, 用于接收客户端发送的资源计算任务, 所述资源计算任务包括一个 或多个子任务 ; 根据所述资。

17、源计算任务确定为所述资源计算任务分配的资源特性, 所述资 源特性包括 : 资源数量和资源的规格属性 ; 向资源提供平台申请所需的满足所述资源特性 的资源 ; 进一步调度所述资源计算任务到所述申请的资源上执行 ; 资源提供平台, 提供相应资源数量和资源的规格属性的资源, 用以完成资源计算任务。 权 利 要 求 书 CN 103365713 A 5 1/13 页 6 一种资源的调度和管理方法及装置 技术领域 0001 本发明实施例涉及通信技术领域, 尤其涉及一种资源的调度和管理方法及装置。 背景技术 0002 基础设施作为服务(Infrastructure as a Service, 简称 : I。

18、aaS)是云计算的一种 典型应用模式, 由于其可以降低硬件成本和管理成本, 提高硬件资源利用率, 被越来越广泛 的使用。 0003 IaaS 能够降低硬件成本的一个重要原因是资源的按需分配, 即 : 业务需要资源时 为业务分配虚拟机供业务使用, 在业务不需要资源时释放为其分配的虚拟机。采用 IaaS 后, 当有多个错峰业务时, 同一资源可以在不同时段供不同业务使用, 达到削峰填谷的效 果, 从整体上提高了资源的利用效率。 0004 虚拟机是一种最为常见的资源存在形式, 通过将硬件资源虚拟化, 按客户需求提 供一定能力的虚拟机, 使得一个硬件可以为多个客户提供服务, 提高了硬件资源的利用率。 0。

19、005 现有技术中资源都是由用户直接向 IaaS 申请, 其后续的调度和释放都需要用户 进一步的维护。 发明内容 0006 本发明实施例提供一种资源的调度和管理方法、 装置和系统, 以实现通过调度和 管理平台根据用户提交的资源计算任务, 自动的实现资源的申请、 调度以及释放。 0007 本发明中资源由资源提供平台所提供, 资源提供平台可以是公有资源提供平台, 或者私有资源提供平台或者其他能够提供资源服务的平台 ; 其中资源可以是物理机或者虚 拟机 (Virtual Manufacturing, 简称 : VM), 每个资源可以包括一个或多个计算节点, 每个 计算节点是一个运行在资源上的、 可以。

20、用来调度和执行任务的程序, 如 Java 虚拟机 (Java Virtual Manufacturing, 简称 : JVM) 或者其他能够独立完成调度和执行任务功能的程序 ; 其中资源计算任务并不对调度和管理内容作限定, 实际的资源计算任务可以包括任何需要 在资源上执行的程序或脚本 ; 所述资源计算任务可以包括一个或者多个子任务, 其子任务 可以是调度和管理平台根据该资源计算任务的描述文件得到和 / 或由调度和管理平台划 分, 调度和管理平台划分任务的具体方法可以是 : 调度和管理平台根据所要处理的数据的 大小、 该资源计算任务可用的资源数等, 进行子任务的划分。 如原来描述文件中的资源计算。

21、 任务所要处理的数据非常大, 一个资源无法完成处理, 则可以将用户提交的所述资源计算 任务由调度和管理平台将其重新分割为多个无依赖关系和 / 或有依赖关系的子任务, 所述 子任务能够被单个资源所处理。一个子任务的执行可能需要一个或者多个计算节点完成, 若需要多个计算节点, 则该多个计算节点可由同一个资源提供或者由多个资源提供。 0008 本发明实施例提供一种资源的调度和管理方法, 包括 : 0009 调度和管理平台接收客户端发送的资源计算任务, 所述资源计算任务包括一个或 多个子任务 ; 说 明 书 CN 103365713 A 6 2/13 页 7 0010 调度和管理平台根据所述资源计算任。

22、务确定为所述资源计算任务分配的资源特 性, 所述资源特性包括 : 资源数量和资源的规格属性 ; 0011 调度和管理平台向资源提供平台申请所需的满足所述资源特性的资源 ; 0012 调度和管理平台调度所述资源计算任务到所述申请到的资源上执行。 0013 本发明实施例提供一种资源的调度和管理装置, 包括 : 0014 资源计算任务接口模块, 用于接收客户端发送的资源计算任务, 所述资源计算任 务包括一个或多个子任务 ; 0015 资源计算任务分析模块, 用于根据所述资源计算任务确定为所述资源计算任务分 配的资源特性, 所述资源特性包括 : 资源数量和资源的规格属性 ; 0016 资源和计算节点调。

23、度模块, 用于向资源提供平台申请所需的满足所述资源特性的 资源 ; 0017 资源计算任务调度模块, 用于调度所述资源计算任务到所述申请的资源上执行。 0018 一种资源的调度和管理系统, 包括 : 0019 客户终端, 用于生成资源计算任务, 并向调度和管理平台发送所述资源计算任 务 ; 0020 调度和管理平台, 用于接收客户端发送的资源计算任务, 所述资源计算任务包括 一个或多个子任务 ; 根据所述资源计算任务确定为所述资源计算任务分配的资源特性, 所 述资源特性包括 : 资源数量和资源的规格属性 ; 向资源提供平台申请所需的满足所述资源 特性的资源 ; 进一步调度所述资源计算任务到所述。

24、申请的资源上执行 ; 0021 资源提供平台, 提供相应资源数量和资源的规格属性的资源, 用以完成资源计算 任务。 0022 调度和管理平台分析资源计算任务确定完成该资源计算任务的资源特性, 进一步 通过资源特性确定所需的资源, 并自动实现资源计算任务在资源上的调度。 附图说明 0023 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍, 显而易见地, 下面描述中的附图是本发 明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根 据这些附图获得其他的附图。 0024 图 1 为本发明一种资源的。

25、调度和管理方法实施例的流程图 ; 0025 图 2 为本发明一种资源的调度和管理方法实施例的流程图 ; 0026 图 3 为本发明一种计算最小计算节点数的流程图 ; 0027 图 4 为本发明一种调度方式实施例的流程图 ; 0028 图 5(A) 为本发明一种资源任务关联表示意图 ; 0029 图 5(B) 为本发明一种资源任务关联表示意图 ; 0030 图 6 为本发明一种子任务组合示意图 ; 0031 图 7 为本发明一种用于资源的调度和管理装置实施例示意图 ; 0032 图 8 为本发明一种资源计算任务分析模块实施例示意图 ; 0033 图 9 为本发明一种资源调度和管理系统实施例示意图。

26、。 说 明 书 CN 103365713 A 7 3/13 页 8 具体实施方式 0034 本文中术语 “和 / 或” , 仅仅是一种描述关联对象的关联关系, 表示可以存在三种 关系, 例如, A 和 / 或 B, 可以表示 : 单独存在 A, 同时存在 A 和 B, 单独存在 B 这三种情况。另 外, 本文中字符 “/” , 一般表示前后关联对象是一种 “或” 的关系。本发明中基础设施作为服 务 (IaaS) 也被称为基础设施云。 0035 为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本发明实施例 中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描。

27、述的实施例是 本发明一部分实施例, 而不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员 在没有做出创造性劳动的前提下所获得的所有其他实施例, 都属于本发明保护的范围。 0036 图 1 为本发明一种资源的调度和管理方法实施例的流程图 100。其中客户端可以 是 PC、 智能机、 PDA 或平板电脑等, 如图 1 所示, 该调度和管理方法包括 : 0037 步骤 101, 调度和管理平台接收客户端发送的资源计算任务, 所述资源计算任务包 括一个或多个子任务。 0038 所 述 发 送 的 资 源 计 算 任 务 可 以 用 可 扩 展 标 记 语 言 (Extensible Mar。

28、kup Language, XML, 简写 : XML) 的脚本文件、 txt 格式文本文件等描述, 还可以用其他格式的任 务描述文件描述 ; 所述资源计算任务可以不包含执行该资源计算任务所需的具体的资源数 量或资源的规格属性等 ; 一个资源计算任务可以包括一个或多个子任务, 子任务之间可以 是有依赖关系, 或无依赖关系, 每个子任务的执行可能需要一个或者多个计算节点。 0039 该资源计算任务可以是直接包含所要运行的执行程序及其所要处理的数据 ; 或者 仅仅描述所要运行的执行程序的名称及位置和所要处理的数据的地址。 由调度和管理平台 获取所述执行程序或所要处理的数据, 所述执行程序或所要处理。

29、的数据存储在其他服务器 上, 若该数据的访问需要身份认证等, 则还可以包括调度和管理平台从资源计算任务中读 取该数据所需的认证信息等。 0040 步骤 102, 所述调度和管理平台根据所述资源计算任务确定为所述资源计算任务 分配的资源特性, 所述资源特性包括 : 资源数量和资源的规格属性。 0041 所述资源可以是指物理机或者虚拟机, 并且具有各自的 CPU、 内存、 存储能力或网 络能力。 0042 所述资源的规格属性可以包括如下内容中的一个或多个 : CPU、 GPU、 内存、 Disk、 网 络能力、 资源的操作系统类型、 资源的镜像 image、 资源的位置或资源的能力需求等。 004。

30、3 所述资源的镜像 image 包含有对应操作系统类型和操作系统架构, 用于资源提供 平台生成调度和管理平台所需的资源, 如 : 资源提供平台通过镜像 image 生成虚拟机 VM, 并 将 VM 的作为资源返回给调度和管理平台。 0044 其中资源的能力包括资源需要具备的基础库, 如是否需要安装某个版本的 Java 开发工具 (Java Development Kit, 简写 : JDK) 等。 0045 具体的根据资源计算任务确定所需资源数量的方法包括 : 0046 1) 调度和管理平台分析所述资源计算任务得出所述资源计算任务所需最小计算 节点数和最大计算节点数, 具体方法为 : 调度和管。

31、理平台分析所述资源计算任务, 标识各子 任务间的依赖关系, 该依赖关系包括直接依赖和间接依赖, 例如 : A 依赖 B, B 依赖 C, 则 A 直 说 明 书 CN 103365713 A 8 4/13 页 9 接依赖于 B, A 间接依赖 C ; 依次分析各子任务, 找出所述资源计算任务的无依赖关系的子任 务形成子任务组合, 确定需要计算节点最多的子任务组合所需的计算节点数为所述资源计 算任务的最大计算节点数 ; 并找出所述资源计算任务的每个子任务所需的计算节点数, 确 定需要计算节点数最多的子任务所需的计算节点数为所述资源计算任务的最小计算节点 数。 0047 2) 由所述最小计算节点数。

32、和最大计算节点数确定资源数量, 具体包括 : 根据调度 和管理平台自身预先配置的策略, 和 / 或提交所述资源计算任务的客户相关信息来确定调 度和管理平台可为所述资源计算任务分配的最大计算资源数, 所述客户相关信息包括用户 的标识、 用户的身份权限和用户的签约信息等 ; 并根据所述最小计算节点数和最大计算节 点数, 以及所述确定的调度和管理平台可为所述资源计算任务分配的最大计算资源数决定 资源数量。 0048 具体决定资源数量的方法为 : 根据预先规定的不同规格的资源可提供的最大计 算节点数, 得出所述最小计算节点数和最大计算节点数分别所需的最小资源数和最大资源 数 ; 若所述确定的调度和管理。

33、平台可为所述资源计算任务分配的最大计算资源数小于所述 最小资源数, 则所述资源计算任务所需资源无法满足 ; 否则, 取所述确定的调度和管理平台 可为所述资源计算任务分配的最大计算资源数与所述最大资源数的较小者为决定的资源 数量。 0049 步骤 103, 调度和管理平台向资源提供平台申请所需的满足所述资源特性的资源。 0050 该资源提供平台可以为私有资源提供平台, 或者公有资源提供平台, 如公有资源 提供平台。 0051 调度和管理平台可以根据所述资源特性确定资源提供平台, 其中所确定的资源提 供平台可以是客户之前就已签约的资源提供平台, 调度和管理平台代理客户登陆已签约的 资源提供平台 ;。

34、 或者, 客户无需签约任何资源提供平台, 而由调度和管理平台统一分配资源 提供平台。 0052 该资源提供平台可以为一个或者多个, 若为多个, 则还需要调度和管理平台选择 其中一个或多个资源提供平台为资源计算任务提供所需的满足资源特性的资源。 0053 步骤 104, 调度和管理平台调度所述资源计算任务到所述申请的资源上执行。 0054 具体的, 在获取到申请的资源后, 调度和管理平台确定所述资源计算任务的一个 子任务, 并根据所述获取到的资源的状态从所述获取到的资源中为所述子任务分配资源。 0055 根据资源的状态为所述子任务分配资源的一种实现方式为 : 调度和管理平台记录 并维护所述资源的。

35、状态 ; 判断记录的所述资源状态是否可以执行所述子任务, 即所述资源 是否可以提供所述子任务所需的计算节点, 并且资源当前的规格属性 ( 即前述资源的规格 属性的当前可用值, 如可用的内存、 磁盘空间等 ) 是否可满足所述资源计算任务的子任务, 如果是, 则调度所述子任务到所述资源执行。所述资源是否可以提供所述子任务所需的计 算节点具体包括判断所述资源当前是否拥有空闲状态的计算节点 ; 和 / 或, 判断所述资源 是否可以为所述子任务创建新的计算节点。该记录的所述资源的状态包括 : 计算节点的状 态、 资源与计算节点的关联关系、 计算节点与资源计算任务的关联关系或计算节点与资源 计算任务的子任。

36、务的关联关系中的一个或多个 ; 计算节点的状态包括配置状态、 空闲状态、 忙状态、 异常状态等中的一个或多个。 说 明 书 CN 103365713 A 9 5/13 页 10 0056 具体的, 资源申请和任务调度的关系有如下两种 : 0057 第一种, 按照所确定的资源数量和资源的规格属性, 向资源提供平台申请所确定 的即满足资源的规格属性的又达到所述资源数量的资源, 即所述调度和管理平台向资源提 供平台申请所确定的数量的资源, 当申请到所述确定的数量的资源后, 调度所述资源计算 任务的子任务到所述申请到的资源上执行 ; 0058 第二种, 在调度和管理平台确定需要调度所述资源计算任务的一。

37、个子任务时, 即 时的为该子任务申请资源及其对应计算节点, 在 VM 准备就绪后, 则调度该子任务到所申请 的资源上执行。在为某一子任务申请资源时, 若当前为所述资源计算任务申请的资源数量 未达到所确定为所述资源计算任务分配的资源数量时, 为所述子任务申请资源 ; 若当前为 所述资源计算任务申请的资源数量已经达到所确定为所述资源计算任务分配的资源数量 时, 则在所述资源计算任务中其它正在执行的子任务执行完毕并释放资源后, 再为所述子 任务申请资源。 。 0059 具体的, 针对上述两种调度方式, 资源的分配可以是 : 在接收到资源申请后, 直接 从资源提供平台申请创建虚拟机 VM, 或者调度和。

38、管理平台可以预先准备一定数量的资源, 这些预备资源在接收该资源计算任务之前已经存在, 调度和管理平台在为资源计算任务申 请资源时, 首先从该预备资源获中取已经存在的 VM, 如果该预备资源中已经存在的 VM 无法 满足子任务需要, 则申请新的资源, 这样可以当调度和管理平台有大量资源计算任务时, 一 定数量的预备资源可以提高资源计算任务处理效率。 预备资源数量可以根据资源计算任务 的数量进行适当调整。 0060 步骤 105, 调度和管理平台调度任务执行之后, 还包括监控资源状态以及所述资 源计算任务执行情况, 获取执行所述资源计算任务的得到的计算结果, 并释放资源, 如 : 调 度和管理平台。

39、监控资源状态以及资源计算任务执行情况, 获取所述资源计算任务的计算结 果, 向资源提供平台发送资源的释放命令, 以关闭所述资源。 0061 上述方法通过资源计算任务来确定为所述资源计算任务分配的资源特性, 并为执 行该资源计算任务而向资源提供平台申请对应数量的资源, 来实现资源计算任务的调度执 行。实现了资源根据资源计算任务动态的分配, 优化了资源的使用, 提高了资源的使用效 率。本实施例中资源提供平台具体可以是基础设施云 IaaS。 0062 图 2 为本发明一种资源的调度和管理和控制方法实施例的流程图 200, 资源提供 平台具体可以为基础设施云, 其中调度和管理平台上注册至少一个资源提供。

40、平台。如图 2 所示, 方法包括 : 0063 步骤 201, 调度和管理平台接收客户的资源计算任务, 所述资源计算任务包括一个 或多个子任务。 0064 调度和管理平台向用户提供封装的资源计算任务接口, 该资源计算任务接口屏蔽 具体资源的申请、 管理和释放, 仅提供资源计算任务的管理能力, 如 : 提交任务、 查看任务执 行进度、 以及获取任务执行结果等。进一步, 调度和管理平台还可以向用户提供资源的申 请、 管理和释放接口, 以及资源的访问接口, 如为用户提供 VM 的 DNS 和认证信息, 使得用户 可以直接登陆到 VM 上进行操作。 0065 每个资源计算任务的多个子任务间可以有依赖关。

41、系, 包括直接依赖、 间接依赖, 也 可以无依赖关系。 说 明 书 CN 103365713 A 10 6/13 页 11 0066 如下为一资源计算任务示例, 可以描述该资源计算任务所包括的子任务, 以及子 任务间的依赖关系 : 0067 0068 其中, 调度和管理平台可以根据该资源计算任务描述文件将任务划分为 task1 和 task2 两个子任务 ; 其中 dependon 字段描述了子任务 task2 依赖于子任务 task1。 0069 步骤 202, 调度和管理平台分析该资源计算任务, 得到其所需的资源特性, 该资源 特性包括执行该资源计算任务所需资源数量和资源的规格属性。 00。

42、70 具体的, 得到该资源计算任务所需的资源特性的方法包括 : 0071 调度和管理平台分析所述资源计算任务得出最小计算节点数和最大计算节点数, 并进一步由所述最小计算节点数和最大计算节点数确定资源数量 ; 0072 其中计算最大计算节点数和最小计算节点数过程如下 : 0073 所述调度和管理平台分析所述资源计算任务, 标识各子任务间的依赖关系 ; 依次 分析各子任务, 找出所述资源计算任务的无依赖关系的子任务形成子任务组合, 确定所需 计算节点最多的子任务组合所需的计算节点数为所述资源计算任务的最大计算节点数 ; 并 得出所述资源计算任务的每个子任务所需的计算节点数, 确定所需计算节点数最多。

43、的子任 务所需的计算节点数为所述资源计算任务的最小计算节点数。 0074 优选的资源数量除考虑上述最小计算节点数和最大计算节点数外, 进一步根据调 度和管理平台自身预先配置的策略, 和 / 或提交所述资源计算任务的客户相关信息来确定 调度和管理平台可为所述资源计算任务分配的最大计算资源数。 根据所述最小计算节点数 和最大计算节点数, 以及所述确定的调度和管理平台可为所述资源计算任务分配的最大计 算资源数决定资源数量, 具体为 : 0075 调度和管理平台根据根据预先规定的不同规格的资源可包含的最大计算节点数, 所述最小计算节点数和最大计算节点数分别得到所需的最小资源数和最大资源数 ; 若所述 。

44、确定的调度和管理平台可为所述资源计算任务分配的最大计算资源数小于所述最小资源 数, 则所述资源计算任务所需资源无法满足 ; 否则, 取所述确定的调度和管理平台可为所述 说 明 书 CN 103365713 A 11 7/13 页 12 资源计算任务分配的最大计算资源数与所述最大资源数的较小者为决定的资源数量。 0076 步骤 203, 调度和管理平台向资源提供平台申请资源。 0077 其中资源提供平台可以是一个或者多个。若包含多个资源提供平台, 则还包括步 骤 : 调度和管理平台选择其中一个或多个资源提供平台为所述资源计算任务提供所述所需 的满足所述资源特性的资源。 0078 其中资源提供平台。

45、可以包括私有资源提供平台, 和 / 或公有资源提供平台 ; 对于 私有资源提供平台可以是独立于调度和管理平台的服务器形式存在, 也可以是集成于调度 和管理平台形式存在 ; 对于公有资源提供平台, 调度和管理平台可以通过公有资源提供平 台提供的资源管理接口申请和管理资源, 该资源管理接口通常为REST或Web Service格式 接口。 0079 调度和管理平台向资源提供平台提交资源申请请求时, 需要提供资源数量、 Image 标识、 CPU 大小、 内存大小、 磁盘空间大小、 网络能力大小、 资源的位置等属性中的一个或多 个。 0080 调度和管理平台记录并维护所述资源状态。所述资源的状态包括。

46、 : 计算节点的状 态、 资源与计算节点的关联关系、 计算节点与资源计算任务的关联关系或计算节点与资源 计算任务的子任务的关联关系中的一个或多个 ; 计算节点的状态包括配置状态、 空闲状态、 忙状态、 异常状态等中的一个或多个。 0081 步骤 204, 调度和管理平台向所申请的资源调度子任务。 0082 具体的, 在调度和管理平台记录并维护所述资源的状态 ; 判断所述记录的资源状 态是否可以执行所述子任务, 即资源是否可以提供计算节点, 并且资源当前的规格属性是 否可满足所述资源计算任务的子任务, 如果是, 则调度所述子任务到所述资源执行。 0083 具体判断某一资源是否可以提供计算节点方法。

47、包括 : 判断该资源已经运行的计算 节点中是否有处于空闲状态的计算节点, 如果有, 则认为是可以提供 ; 或者, 该资源当前是 否可以创建新节点, 如果是, 则认为是可以提供。 其中所述资源是否可以创建新节点的判断 方法包括 : 根据预先设置的规定了资源能够创建的最大计算节点数, 并结合该资源已有的 计算节点数来判断。如 : 规定 4 核 CPU 的虚拟机最多可以创建 4 个计算节点, 若该虚拟机当 前已经创建了 2 个, 则还可以创建 2 个。 0084 具体的, 创建计算节点的方法有两种 : 0085 第一种, 资源提供平台提供资源时, 该资源上暂未运行计算节点, 调度和管理平台 在往资源。

48、调度某一子任务时, 才向资源发送命令创建计算节点, 该创建命令可以是向资源 上的管理代理程序发送远程过程调用命令(Remote Process Call, 简称 : RPC), 由资源上的 管理代理程序 agent 创建计算节点, 创建计算节点后, 调度和管理平台获取所创建的计算 节点的标识 ( 如 URL), 并保存该计算节点的标识用于后续状态管理和任务调度 ; 0086 第二种, 资源提供平台启动资源后, 资源提供平台中的管理代理程序 agent 自动 创建计算节点, 所创建的计算节点数根据资源上的预置配置文件或者资源启动时注入的配 置文件确定, 所述资源上的预置配置文件或者资源启动时注入。

49、的配置文件可以是资源提供 平台自身拥有的, 也可以是通过调度和管理平台获取的。 创建计算节点成功后, 管理代理程 序 agent 向调度和管理平台注册所创建的计算节点的标识, 调度和管理平台保存该计算节 点的标识用于后续状态管理和任务调度。 说 明 书 CN 103365713 A 12 8/13 页 13 0087 具体实现时, 调度和管理平台可以以资源任务关联表的方式保存资源的状态。如 图 5(A) 为本发明一种资源任务关联表示意图, 其中虚拟机 VM 地址标识具体为 VM_ADD ; 资 源的规格属性具体为 VM_Config ; 对于不同的基础设施云提供的 VM 或者同一个基础设施云 提供的不同 VM, 由于其在实际使用中均通过 VM 作为使用单元, 因此通过 VM_ID 来区别不同 的 VM 并记录在资源任务关联表中。 0088 如图 5(B) 为本发明一种资源任务关联表示意图, 包含了图 5(A) 中资源和资源计 算。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1