《用于调度例行作业的方法和系统、调度节点.pdf》由会员分享,可在线阅读,更多相关《用于调度例行作业的方法和系统、调度节点.pdf(16页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103838621 A (43)申请公布日 2014.06.04 CN 103838621 A (21)申请号 201210490591.6 (22)申请日 2012.11.27 G06F 9/46(2006.01) G06F 9/50(2006.01) (71)申请人 中国电信股份有限公司 地址 100033 北京市西城区金融大街 31 号 (72)发明人 李明 王丹 奚晓音 (74)专利代理机构 中国国际贸易促进委员会专 利商标事务所 11038 代理人 刘剑波 (54) 发明名称 用于调度例行作业的方法和系统、 调度节点 (57) 摘要 本发明公开一种用于调度例。
2、行作业的方法和 系统、 调度节点。 其中在用于调度例行作业的方法 中, 获取各计算节点的资源信息, 收集需要调度的 例行作业的作业信息, 根据各例行作业之间的依 赖关系, 将例行作业进行分组, 针对每个组, 按照 关键路径法, 确定例行作业的关键路径, 安排每个 组处于关键路径上的例行作业, 判断全部例行作 业是否已安排完毕, 若全部例行作业已安排完毕, 通知相应计算节点获取安排的例行作业, 以便相 应计算节点根据安排的例行作业进行作业处理。 通过利用关键路径法来安排例行作业, 填补了在 云计算环境中对于例行作业的处理空白, 改变以 往有人工设置造成资源忙闲不均、 利用率比较低 的缺点。 (5。
3、1)Int.Cl. 权利要求书 3 页 说明书 7 页 附图 5 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书7页 附图5页 (10)申请公布号 CN 103838621 A CN 103838621 A 1/3 页 2 1. 一种用于调度例行作业的方法, 其特征在于, 包括 : 获取各计算节点的资源信息 ; 收集需要调度的例行作业的作业信息, 其中作业信息包括各例行作业之间的依赖关 系 ; 根据各例行作业之间的依赖关系, 将例行作业进行分组, 其中不同组的例行作业之间 没有依赖关系 ; 针对每个组, 按照关键路径法, 确定例行作业的关键路径, 并标识。
4、出各例行作业的自由 时间 ; 安排每个组处于关键路径上的例行作业 ; 判断全部例行作业是否已安排完毕 ; 若全部例行作业已安排完毕, 通知相应计算节点获取安排的例行作业, 以便相应计算 节点根据安排的例行作业进行作业处理。 2. 根据权利要求 1 所述的方法, 其特征在于 : 若还有部分例行作业没有安排完毕, 则按照自由时间由小到大的顺序以及优先级别由 高到低的顺序对所述部分例行作业进行安排 ; 判断所述部分例行作业是否已全部安排完毕 ; 若所述部分例行作业已全部安排完毕, 则执行通知相应计算节点获取安排的例行作业 的步骤。 3. 根据权利要求 2 所述的方法, 其特征在于 : 若所述部分例行。
5、作业中还有未安排完毕的剩余例行作业, 则将所述剩余例行作业的开 始时间延迟一个时间单位 ; 按照自由时间由小到大的顺序以及优先级别由高到低的顺序对所述剩余例行作业进 行安排 ; 判断所述剩余例行作业是否已全部安排完毕 ; 若所述剩余例行作业已全部安排完, 则执行通知相应计算节点获取安排的例行作业的 步骤。 4. 根据权利要求 3 所述的方法, 其特征在于 : 若所述剩余例行作业中还有未安排完毕的待安排例行作业, 则查询在所述待安排例行 作业默认运行时刻各计算节点的剩余资源 ; 若存在具有剩余资源能够满足所述待安排例行作业运行的第一计算节点, 则安排所述 第一计算节点执行所述待安排例行作业, 然。
6、后执行通知相应计算节点获取安排的例行作业 的步骤。 5. 根据权利要求 4 所述的方法, 其特征在于 : 若存在具有剩余资源之和能够满足所述待安排例行作业运行的多个计算节点, 则执行 安排每个组处于关键路径上的例行作业的步骤。 6. 根据权利要求 4 或 5 所述的方法, 其特征在于 : 当接收到计算节点发送的重排请求时, 将重排请求中包括的不满足前置条件的例行作 业作为待安排例行作业, 执行查询在所述待安排例行作业默认运行时刻各计算节点的剩余 资源的步骤, 其中计算节点在运行例行作业前, 对运行例行作业的前置条件进行检查。 权 利 要 求 书 CN 103838621 A 2 2/3 页 3。
7、 7. 一种用于调度例行作业的调度节点, 其特征在于, 包括 : 获取单元, 用于获取各计算节点的资源信息 ; 收集单元, 用于收集需要调度的例行作业的作业信息, 其中作业信息包括各例行作业 之间的依赖关系 ; 分组单元, 用于根据各例行作业之间的依赖关系, 将例行作业进行分组, 其中不同组的 例行作业之间没有依赖关系 ; 关键路径确定单元, 用于针对每个组, 按照关键路径法, 确定例行作业的关键路径, 并 标识出各例行作业的自由时间 ; 第一安排单元, 用于安排每个组处于关键路径上的例行作业 ; 第一识别单元, 用于判断全部例行作业是否已安排完毕 ; 通知单元, 用于在第一识别单元判断全部例。
8、行作业已安排完毕时, 通知相应计算节点 获取安排的例行作业, 以便相应计算节点根据安排的例行作业进行作业处理。 8. 根据权利要求 7 所述的调度节点, 其特征在于 : 调度节点还包括第二安排单元、 第二 识别单元, 其中 : 第二安排单元, 用于在第一识别单元判断还有部分例行作业没有安排完毕时, 按照自 由时间由小到大的顺序以及优先级别由高到低的顺序对所述部分例行作业进行安排 ; 第二识别单元, 用于判断所述部分例行作业是否已全部安排完毕 ; 若所述部分例行作 业已全部安排完毕, 则指示通知单元执行通知相应计算节点获取安排的例行作业的操作。 9. 根据权利要求 8 所述的调度节点, 其特征在。
9、于 : 调度节点还包括延迟单元、 第三安排 单元、 第三识别单元, 其中 : 延迟单元, 用于在第二识别单元判断所述部分例行作业中还有未安排完毕的剩余例行 作业时, 将所述剩余例行作业的开始时间延迟一个时间单位 ; 第三安排单元, 用于按照自由时间由小到大的顺序以及优先级别由高到低的顺序对所 述剩余例行作业进行安排 ; 第三识别单元, 用于判断所述剩余例行作业是否已全部安排完毕 ; 若所述剩余例行作 业已全部安排完, 则指示通知单元执行通知相应计算节点获取安排的例行作业的操作。 10. 根据权利要求 9 所述的调度节点, 其特征在于 : 调度节点还包括查询单元、 第四安 排单元, 其中 : 查。
10、询单元, 用于在第三识别单元判断所述剩余例行作业中还有未安排完毕的待安排例 行作业时, 查询在所述待安排例行作业默认运行时刻各计算节点的剩余资源 ; 第四安排单元, 用于在查询单元查询到存在具有剩余资源能够满足所述待安排例行作 业运行的第一计算节点时, 则安排所述第一计算节点执行所述待安排例行作业, 然后指示 通知单元执行通知相应计算节点获取安排的例行作业的操作。 11. 根据权利要求 10 所述的调度节点, 其特征在于 : 查询单元还用于在查询到存在具有剩余资源之和能够满足所述待安排例行作业运行 的多个计算节点时, 指示第一安排单元执行安排每个组处于关键路径上的例行作业的操 作。 12. 根。
11、据权利要求 9 或 10 所述的调度节点, 其特征在于 : 调度节点还包括反馈单元, 用 于接收到计算节点发送的重排请求, 将重排请求中包括的不满足前置条件的例行作业作为 权 利 要 求 书 CN 103838621 A 3 3/3 页 4 待安排例行作业, 指示查询单元执行查询在所述待安排例行作业默认运行时刻各计算节点 的剩余资源的操作, 其中计算节点在运行例行作业前, 对运行例行作业的前置条件进行检 查。 13. 一种用于调度例行作业的系统, 其特征在于, 系统包括调度节点和至少一个计算节 点, 其中 : 调度节点, 用于获取各计算节点的资源信息 ; 收集需要调度的例行作业的作业信息, 其。
12、 中作业信息包括各例行作业之间的依赖关系 ; 根据各例行作业之间的依赖关系, 将例行作 业进行分组, 其中不同组的例行作业之间没有依赖关系 ; 针对每个组, 按照关键路径法, 确 定例行作业的关键路径, 并标识出各例行作业的自由时间 ; 安排每个组内处于关键路径上 的例行作业 ; 判断全部例行作业是否已安排完毕 ; 若全部例行作业已安排完毕, 通知相应 计算节点获取安排的例行作业 ; 计算节点, 用于根据调度节点的通知获取安排的例行作业以进行作业处理。 14. 根据权利要求 13 所述的系统, 其特征在于 : 调度节点为权利要求 7-12 中任一项涉及的调度节点。 权 利 要 求 书 CN 1。
13、03838621 A 4 1/7 页 5 用于调度例行作业的方法和系统、 调度节点 技术领域 0001 本发明涉及计算机应用技术领域, 特别是涉及一种用于调度例行作业的方法和系 统、 调度节点。 背景技术 0002 近几年来, 云计算模式已经成为企业界和学术界关注和研究的重点。传统的计算 模式下, 用户维护自己的计算资源、 存储资源。 在云计算模式下, 计算资源、 存储资源和网络 资源进行集中管理, 组成资源池, 然后通过调度算法, 利用抽象的虚拟化技术, 使得一个物 理机可以支持多个虚拟机, 也可以不同的物理机间迁移虚拟机, 从而大大提高了资源的利 用率。因此资源集中化管理是云计算平台的基础。
14、, 而资源调度方法则是云平台的关键。 0003 在企业内部随着越来越多的应用都开始部署在云计算平台上, 对于云计算环境中 的分布式计算节点, 如何通过作业调度以高效处理上层计算请求, 提高计算节点的利用率, 成为当前研究的热点。国内外研究主要包括多作业并行运行时作业间的调度、 单作业运行 时子任务的调度和并行运行的子任务数量的优化等。 0004 在作业调度方法中, 最基本的是先入先出法, 但是系统的整体利用率不是很高, 整 体响应时间比较长。 公平调度方法 (FairScheduler) 提出可以较好的利用系统的空闲时间, 安排较小的作业运行。容量调度 (Capacity Scheduler)。
15、 则是将资源划分多个队列, 每个作 业分配优先级和资源占用比例, 从而提高资源利用率。 0005 以上的资源调度方法, 基本上针对需要即时运行的作业集, 而不是针对例行作业 进行。例行作业是经常性或周期性在需要某段时间内运行完成的作业。这种作业一般具有 所需资源已知、 作业之间的依赖关系确定、 需要开始或完成时间明确的特点。在银行、 电信 等大企业内部有很多例行作业运行在云计算平台之上。 当前对于例行作业在云平台调度目 前主要是评人工经验进行设置, 这样的缺点主要有 : 0006 (1) 容易造成设备资源忙闲不均, 设备利用率低 ; 0007 (2) 作业依赖关系需要靠作业本身维护, 耦合性比。
16、较大 ; 0008 (3) 中间插入作业比较困难, 需要人工评经验反复调整, 并且容易引起资源紧张或 者竞争。 发明内容 0009 本发明要解决的技术问题是提供一种用于调度例行作业的方法和系统、 调度节 点。通过利用关键路径法来安排例行作业, 填补了在云计算环境中对于例行作业的处理空 白, 改变以往有人工设置造成资源忙闲不均、 利用率比较低的缺点。 0010 根据本发明的一个方面, 提供一种用于调度例行作业的方法, 包括 : 0011 获取各计算节点的资源信息 ; 0012 收集需要调度的例行作业的作业信息, 其中作业信息包括各例行作业之间的依赖 关系 ; 说 明 书 CN 103838621。
17、 A 5 2/7 页 6 0013 根据各例行作业之间的依赖关系, 将例行作业进行分组, 其中不同组的例行作业 之间没有依赖关系 ; 0014 针对每个组, 按照关键路径法, 确定例行作业的关键路径, 并标识出各例行作业的 自由时间 ; 0015 安排每个组处于关键路径上的例行作业 ; 0016 判断全部例行作业是否已安排完毕 ; 0017 若全部例行作业已安排完毕, 通知相应计算节点获取安排的例行作业, 以便相应 计算节点根据安排的例行作业进行作业处理。 0018 根据本发明的另一方面, 提供一种用于调度例行作业的调度节点, 包括 : 0019 获取单元, 用于获取各计算节点的资源信息 ; 。
18、0020 收集单元, 用于收集需要调度的例行作业的作业信息, 其中作业信息包括各例行 作业之间的依赖关系 ; 0021 分组单元, 用于根据各例行作业之间的依赖关系, 将例行作业进行分组, 其中不同 组的例行作业之间没有依赖关系 ; 0022 关键路径确定单元, 用于针对每个组, 按照关键路径法, 确定例行作业的关键路 径, 并标识出各例行作业的自由时间 ; 0023 第一安排单元, 用于安排每个组处于关键路径上的例行作业 ; 0024 第一识别单元, 用于判断全部例行作业是否已安排完毕 ; 0025 通知单元, 用于在第一识别单元判断全部例行作业已安排完毕时, 通知相应计算 节点获取安排的例。
19、行作业, 以便相应计算节点根据安排的例行作业进行作业处理。 0026 根据本发明的另一方面, 提供一种用于调度例行作业的系统, 包括 : 调度节点、 至 少一个计算节点, 其中 : 0027 调度节点, 用于获取各计算节点的资源信息 ; 收集需要调度的例行作业的作业信 息, 其中作业信息包括各例行作业之间的依赖关系 ; 根据各例行作业之间的依赖关系, 将例 行作业进行分组, 其中不同组的例行作业之间没有依赖关系 ; 针对每个组, 按照关键路径 法, 确定例行作业的关键路径, 并标识出各例行作业的自由时间 ; 安排每个组处于关键路径 上的例行作业 ; 判断全部例行作业是否已安排完毕 ; 若全部例。
20、行作业已安排完毕, 通知相 应计算节点获取安排的例行作业 ; 0028 计算节点, 用于根据调度节点的通知获取安排的例行作业以进行作业处理。 0029 本发明通过获取各计算节点的资源信息, 收集需要调度的例行作业的作业信息, 根据各例行作业之间的依赖关系, 将例行作业进行分组, 其中不同组的例行作业之间没有 依赖关系, 针对每个组, 按照关键路径法, 确定例行作业的关键路径, 并标识出各例行作业 的自由时间, 安排每个组处于关键路径上的例行作业, 判断全部例行作业是否已安排完毕, 若全部例行作业已安排完毕, 通知相应计算节点获取安排的例行作业, 以便相应计算节点 根据安排的例行作业进行作业处理。
21、。通过利用关键路径法来安排例行作业, 填补了在云计 算环境中对于例行作业的处理空白, 改变以往有人工设置造成资源忙闲不均、 利用率比较 低的缺点。 附图说明 说 明 书 CN 103838621 A 6 3/7 页 7 0030 图 1 为本发明例行作业调度方法一个实施例的示意图。 0031 图 2 为本发明例行作业调度方法另一实施例的示意图。 0032 图 3 为本发明调度节点一个实施例的示意图。 0033 图 4 为本发明调度节点另一实施例的示意图。 0034 图 5 为本发明例行作业调度系统一个实施例的示意图。 0035 图 6 为本发明例行作业调度系统一个网络示意图。 具体实施方式 0。
22、036 下面参照附图对本发明进行更全面的描述, 其中说明本发明的示例性实施例。 0037 图 1 为本发明例行作业调度方法一个实施例的示意图。如图 1 所示, 本实施例的 例行作业调度方法步骤如下 : 0038 步骤 101, 获取各计算节点的资源信息。 0039 其中, 计算节点资源主要包括计算节点 CPU(Central ProcessingUnit, 中央处理 单元) 主频、 内存大小、 存储大小、 网络资源等, 还包括计算节点已经安排的作业情况等。 0040 步骤 102, 收集需要调度的例行作业的作业信息, 其中作业信息包括各例行作业之 间的依赖关系。 0041 其中, 作业信息包括。
23、作业依赖关系、 作业所需资源、 作业最早开始时间、 作业最晚 开始时间、 作业优先级别等信息。 0042 步骤 103, 根据各例行作业之间的依赖关系, 将例行作业进行分组, 其中不同组的 例行作业之间没有依赖关系。 0043 步骤 104, 针对每个组, 按照关键路径法, 确定例行作业的关键路径, 并标识出各例 行作业的自由时间。 0044 步骤 105, 安排每个组处于关键路径上的例行作业。 0045 步骤 106, 判断全部例行作业是否已安排完毕。 0046 步骤 107, 若全部例行作业已安排完毕, 通知相应计算节点获取安排的例行作业, 以便相应计算节点根据安排的例行作业进行作业处理。。
24、 0047 基于本发明上述实施例提供的例行作业调度方法, 通过获取各计算节点的资源信 息, 收集需要调度的例行作业的作业信息, 根据各例行作业之间的依赖关系, 将例行作业进 行分组, 其中不同组的例行作业之间没有依赖关系, 针对每个组, 按照关键路径法, 确定例 行作业的关键路径, 并标识出各例行作业的自由时间, 安排每个组处于关键路径上的例行 作业, 判断全部例行作业是否已安排完毕, 若全部例行作业已安排完毕, 通知相应计算节点 获取安排的例行作业, 以便相应计算节点根据安排的例行作业进行作业处理。通过利用关 键路径法来安排例行作业, 填补了在云计算环境中对于例行作业的处理空白, 改变以往有。
25、 人工设置造成资源忙闲不均、 利用率比较低的缺点。 0048 优选的, 在步骤 105 中, 采用的进一步具体的算法为 : 将各个群组中关键路 径上的, 按相同的开始时间的作业进行安排, 可以采用装箱算法中的降序最佳适应法 (Bidirectional Forwarding Detection, 简称 : BFD) , 其中需要考虑, 在此时刻已经安排的 作业所占用的资源, 及 CiT=Cit+Cit -Cit 。其中 CiT为第 i 个计算节点某一时刻可以用资源, Cit为该 i 计算节点总的资源, Cit 为预计在该时刻结束的所有作业释放的资源, Cit 为预 说 明 书 CN 10383。
26、8621 A 7 4/7 页 8 计所有计划在该时刻开始作业所需的资源。Cit 由收集的作业和该作业历史所实际所用 资源来确定, 一般公式为 : Cit =Citp +Citf , Citp 和 Citf 分别为安排作业时设定的所需 资源和该作业实际运行过程中平均所耗资源或者最近几次实际运行中该作业平均所耗资 源, 和 为经验系数, +=1, 0, 也可以由系统进行确定, 一种确定的方法为 =1-(|Citp -Citf |)/(Citp +Citf ), =|Citp -Citf |)/(Citp +Citf )。 0049 图 2 为本发明例行作业调度方法另一实施例的示意图。相比于图 1 。
27、所示实施例, 在图 2 所示实施例中, 进一步描述了在步骤 106 中判断还有部分例行作业没有安排完毕的 情形。为了简明起见, 在图 2 中仅描述了步骤 105- 步骤 107 之间的处理, 省略部分与图 1 所示实施例相应部分相同。 0050 步骤 101, 获取各计算节点的资源信息。 0051 步骤 102, 收集需要调度的例行作业的作业信息, 其中作业信息包括各例行作业之 间的依赖关系。 0052 步骤 103, 根据各例行作业之间的依赖关系, 将例行作业进行分组, 其中不同组的 例行作业之间没有依赖关系。 0053 步骤 104, 针对每个组, 按照关键路径法, 确定例行作业的关键路径。
28、, 并标识出各例 行作业的自由时间。 0054 步骤 105, 安排每个组处于关键路径上的例行作业。 0055 步骤 106, 判断全部例行作业是否已安排完毕。若全部例行作业已安排完毕, 则执 行步骤 107 ; 若还有部分例行作业没有安排完毕, 则执行步骤 201。 0056 步骤 107, 通知相应计算节点获取安排的例行作业, 以便相应计算节点根据安排的 例行作业进行作业处理。之后, 不再执行本实施例的其它步骤。 0057 步骤 201, 按照自由时间由小到大的顺序以及优先级别由高到低的顺序对所述部 分例行作业进行安排。 0058 步骤202, 判断所述部分例行作业是否已全部安排完毕。 若。
29、所述部分例行作业已全 部安排完毕, 则执行步骤 107 ; 若所述部分例行作业中还有未安排完毕的剩余例行作业, 则 执行步骤 203。 0059 步骤 203, 将所述剩余例行作业的开始时间延迟一个时间单位。 0060 由于资源有限, 需要将优先级别低、 自由时间大的作业延迟一个时间单位, 以便进 行作业安排。 0061 步骤 204, 按照自由时间由小到大的顺序以及优先级别由高到低的顺序对所述剩 余例行作业进行安排。 0062 步骤205, 判断所述剩余例行作业是否已全部安排完毕。 若所述剩余例行作业已全 部安排完, 则执行步骤 107 ; 若所述剩余例行作业中还有未安排完毕的待安排例行作业。
30、, 则 执行步骤 206。 0063 步骤 206, 查询在所述待安排例行作业默认运行时刻各计算节点的剩余资源。若 存在具有剩余资源能够满足所述待安排例行作业运行的第一计算节点, 则执行步骤 207 ; 若存在具有剩余资源之和能够满足所述待安排例行作业运行的多个计算节点, 则返回步骤 105。 0064 步骤 207, 安排所述第一计算节点执行所述待安排例行作业, 然后返回步骤 107。 说 明 书 CN 103838621 A 8 5/7 页 9 0065 若发现某一个节点的资源足够, 则安排该节点进行相应的作业。若发现多个节点 的剩余资源之后可以满足该作业的运行, 则对该时刻所有作业进行针。
31、对所有计算节点的重 排。若仍然不能安排作业, 则选择某一优先级别低、 自由时间多的作业延后一个时间单位, 若是该作业在自由时间内无资源进行安排, 可以申请机动资源, 或者根据设置规则延后安 排该作业。 0066 优选的, 当调度节点接收到计算节点发送的重排请求时, 将重排请求中包括的不 满足前置条件的例行作业作为待安排例行作业, 执行查询在所述待安排例行作业默认运行 时刻各计算节点的剩余资源的步骤, 其中计算节点在运行例行作业前, 对运行例行作业的 前置条件进行检查。仅在前置条件满足时, 才会执行相应作业。 0067 图 3 为本发明调度节点一个实施例的示意图。如图 3 所示, 用于调度例行作。
32、业的 调度节点包括 : 0068 获取单元 301, 用于获取各计算节点的资源信息。 0069 收集单元 302, 用于收集需要调度的例行作业的作业信息, 其中作业信息包括各例 行作业之间的依赖关系。 0070 分组单元 303, 用于根据各例行作业之间的依赖关系, 将例行作业进行分组, 其中 不同组的例行作业之间没有依赖关系。 0071 关键路径确定单元 304, 用于针对每个组, 按照关键路径法, 确定例行作业的关键 路径, 并标识出各例行作业的自由时间。 0072 第一安排单元 305, 用于安排每个组处于关键路径上的例行作业。 0073 第一识别单元 306, 用于判断全部例行作业是否。
33、已安排完毕。 0074 通知单元 307, 用于在第一识别单元判断全部例行作业已安排完毕时, 通知相应计 算节点获取安排的例行作业, 以便相应计算节点根据安排的例行作业进行作业处理。 0075 基于本发明上述实施例提供的调度节点, 通过获取各计算节点的资源信息, 收集 需要调度的例行作业的作业信息, 根据各例行作业之间的依赖关系, 将例行作业进行分组, 其中不同组的例行作业之间没有依赖关系, 针对每个组, 按照关键路径法, 确定例行作业的 关键路径, 并标识出各例行作业的自由时间, 安排每个组处于关键路径上的例行作业, 判断 全部例行作业是否已安排完毕, 若全部例行作业已安排完毕, 通知相应计。
34、算节点获取安排 的例行作业, 以便相应计算节点根据安排的例行作业进行作业处理。通过利用关键路径法 来安排例行作业, 填补了在云计算环境中对于例行作业的处理空白, 改变以往有人工设置 造成资源忙闲不均、 利用率比较低的缺点。 0076 图 4 为本发明调度节点另一实施例的示意图。与图 3 所示实施例相比, 在图 4 所 示实施例中, 调度节点还包括第二安排单元 401、 第二识别单元 402, 其中 : 0077 第二安排单元 401, 用于在第一识别单元 306 判断还有部分例行作业没有安排完 毕时, 按照自由时间由小到大的顺序以及优先级别由高到低的顺序对所述部分例行作业进 行安排。 0078。
35、 第二识别单元 402, 用于判断所述部分例行作业是否已全部安排完毕 ; 若所述部 分例行作业已全部安排完毕, 则指示通知单元 307 执行通知相应计算节点获取安排的例行 作业的操作。 0079 优选的, 调度节点还包括延迟单元 403、 第三安排单元 404、 第三识别单元 405, 其 说 明 书 CN 103838621 A 9 6/7 页 10 中 : 0080 延迟单元 403, 用于在第二识别单元 402 判断所述部分例行作业中还有未安排完 毕的剩余例行作业时, 将所述剩余例行作业的开始时间延迟一个时间单位。 0081 第三安排单元 404, 用于按照自由时间由小到大的顺序以及优先。
36、级别由高到低的 顺序对所述剩余例行作业进行安排。 0082 第三识别单元 405, 用于判断所述剩余例行作业是否已全部安排完毕 ; 若所述剩 余例行作业已全部安排完, 则指示通知单元 307 执行通知相应计算节点获取安排的例行作 业的操作。 0083 优选的, 调度节点还包括查询单元 406、 第四安排单元 407, 其中 : 0084 查询单元 406, 用于在第三识别单元 405 判断所述剩余例行作业中还有未安排完 毕的待安排例行作业时, 查询在所述待安排例行作业默认运行时刻各计算节点的剩余资 源。 0085 第四安排单元 407, 用于在查询单元 406 查询到存在具有剩余资源能够满足所。
37、述 待安排例行作业运行的第一计算节点时, 则安排所述第一计算节点执行所述待安排例行作 业, 然后指示通知单元 307 执行通知相应计算节点获取安排的例行作业的操作。 0086 优选的, 查询单元 406 还用于在查询到存在具有剩余资源之和能够满足所述待安 排例行作业运行的多个计算节点时, 指示第一安排单元 305 执行安排每个组处于关键路径 上的例行作业的操作。 0087 优选的, 调度节点还包括反馈单元 408, 用于接收到计算节点发送的重排请求, 将 重排请求中包括的不满足前置条件的例行作业作为待安排例行作业, 指示查询单元 406 执 行查询在所述待安排例行作业默认运行时刻各计算节点的剩。
38、余资源的操作, 其中计算节点 在运行例行作业前, 对运行例行作业的前置条件进行检查。 0088 图 5 为本发明例行作业调度系统一个实施例的示意图。如图 5 所示, 用于调度例 行作业的系统包括 : 调度节点 501 和至少一个计算节点 502, 其中 : 0089 调度节点 501, 用于获取各计算节点的资源信息 ; 收集需要调度的例行作业的作 业信息, 其中作业信息包括各例行作业之间的依赖关系 ; 根据各例行作业之间的依赖关系, 将例行作业进行分组, 其中不同组的例行作业之间没有依赖关系 ; 针对每个组, 按照关键路 径法, 确定例行作业的关键路径, 并标识出各例行作业的自由时间 ; 安排。
39、每个组处于关键路 径上的例行作业 ; 判断全部例行作业是否已安排完毕 ; 若全部例行作业已安排完毕, 通知 相应计算节点获取安排的例行作业。 0090 计算节点 502, 用于根据调度节点的通知获取安排的例行作业以进行作业处理。 0091 基于本发明上述实施例提供的例行作业调度系统, 通过获取各计算节点的资源信 息, 收集需要调度的例行作业的作业信息, 根据各例行作业之间的依赖关系, 将例行作业进 行分组, 其中不同组的例行作业之间没有依赖关系, 针对每个组, 按照关键路径法, 确定例 行作业的关键路径, 并标识出各例行作业的自由时间, 安排每个组处于关键路径上的例行 作业, 判断全部例行作业。
40、是否已安排完毕, 若全部例行作业已安排完毕, 通知相应计算节点 获取安排的例行作业, 以便相应计算节点根据安排的例行作业进行作业处理。通过利用关 键路径法来安排例行作业, 填补了在云计算环境中对于例行作业的处理空白, 改变以往有 人工设置造成资源忙闲不均、 利用率比较低的缺点。 说 明 书 CN 103838621 A 10 7/7 页 11 0092 优选的, 调度节点为图 3 和图 4 中任一实施例涉及的调度节点。 0093 图 6 为本发明例行作业调度系统一个网络示意图。如图 6 所示, 系统包括一个调 度节点和多个计算节点。计算节点可以使虚拟机, 也可以是物理机。为了使得系统具有更 广。
41、泛是应用范围, 调度节点和计算节点之间通过 WebServices 接口的方式进行交互。其中 调度节点主要功能有 : 节点管理、 作业管理、 调度管理、 节点资源和状态管理、 节点作业情况 管理、 作业通知管理和与计算节点接口等功能。在计算节点部署节点代理 (Agent) , 其主要 功能有 : 与调度节点接口、 资源和状态上报、 作业情况上报、 作业接收及更新、 作业前置处理 等功能。 0094 本发明在满足作业依赖关系和最晚完成时间的前提下, 考虑资源需求和计算节点 资源, 在满足需求的情况下, 尽量均衡的安排作业, 从而达到提高资源利用效率的目的, 并 在运行过程中不断修正作业所需的资源。
42、数据, 同时增加前置处理, 确保作业正常运行。 0095 本发明的描述是为了示例和描述起见而给出的, 而并不是无遗漏的或者将本发明 限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描 述实施例是为了更好说明本发明的原理和实际应用, 并且使本领域的普通技术人员能够理 解本发明从而设计适于特定用途的带有各种修改的各种实施例。 说 明 书 CN 103838621 A 11 1/5 页 12 图 1 说 明 书 附 图 CN 103838621 A 12 2/5 页 13 图 2 说 明 书 附 图 CN 103838621 A 13 3/5 页 14 图 3 说 明 书 附 图 CN 103838621 A 14 4/5 页 15 图 4 说 明 书 附 图 CN 103838621 A 15 5/5 页 16 图 5 图 6 说 明 书 附 图 CN 103838621 A 16 。