《一种资源的调度和管理方法及装置.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) 中资源和资源计 算。