一种在线多工作流动态调度方法和系统技术方案

技术编号:29132657 阅读:13 留言:0更新日期:2021-07-02 22:27
本发明专利技术涉及一种在线多工作流动态调度方法和系统。该在线多工作流动态调度方法,在根据获取的第一节点时间确定第二节点时间后,根据第二节点时间确定工作流任务的子截止期,然后,在根据子截止期生成任务调度序列后获取分布式调度模型,根据任务调度序列完成对工作流任务的调度,进而解决现有技术中存在的云计算资源不能得到充分利用造成过多花费的问题。

【技术实现步骤摘要】
一种在线多工作流动态调度方法和系统
本专利技术涉及工作流调度领域,特别是涉及一种在线多工作流动态调度方法和系统。
技术介绍
信息技术快速发展催生了对高性能计算的需求,为解决大规模计算和高数量级数据处理,云计算作为一种新的计算范式提供了一种新的系统体系结构。工作流将复杂应用建模成有向无环图(DAG),使其成为适合于云环境下计算机处理的作业。随着云计算技术的发展,工作流调度问题已成为云计算环境中重要的研究方向。在线工作流是工作流调度系统中一类常见的调度业务场景,多用户向调度系统提交工作流的时间是随机的,通常被考虑为是泊松分布。在线多工作流调度是指在考虑工作流到达的随机性和工作流任务间依赖关系的情况下,设计一种不违反用户给定约束条件任务和云计算资源(虚拟机)的匹配算法,实现最大化用户满意度。在线多工作流调度不仅为提高用户满意度、减少工作流等待时间提供有效的决策支持,而且在线多工作流调度对云计算资源的优化配置,云服务商的成本降低,云系统的平稳运行有着重要影响。设计动态调度算法是在线多工作流调度研究的关键问题。现有技术中采用大规模工作流和小规模工作流混合调度模式,小规模工作流工作量和云计算资源计费单位差距较大,导致云计算资源不能得到充分利用造成过多花费。
技术实现思路
为解决现有技术中存在的上述问题,本专利技术提供了一种在线多工作流动态调度方法和系统。为实现上述目的,本专利技术提供了如下方案:一种在线多工作流动态调度方法,包括:获取工作流任务的第一节点时间;所述节点时间包括:达到时间、任务平均执行时间、任务数据传输时间和截止时间;根据所述第一节点时间确定第二节点时间;所述第二节点时间包括:开始时间、第一完成时间和第二完成时间;所述第一完成时间早于所述第二完成时间;根据所述第二节点时间确定所述工作流任务的子截止期;根据所述子截止期生成任务调度序列;获取分布式调度模型,根据所述任务调度序列完成对所述工作流任务的调度;所述分布式调度模型为包含多种虚拟机的分布式调度框架。优选地,所述获取工作流任务的第一节点时间,之前还包括:获取预设计费单位和当前时刻工作流的工作量;根据所述预设计费单位和所述工作量确定当前时刻工作流的效用参数;根据所述效用参数将工作流进行分类为第一规模工作流和第二规模工作流;所述第一规模工作流的工作量大于所述第二规模的工作量。优选地,所述根据所述第一节点时间确定第二节点时间,具体包括:根据所述达到时间、所述任务平均执行时间和所述任务数据传输时间确定所述开始时间;根据所述开始时间和所述任务平均执行时间确定所述第一完成时间;根据所述截止时间、所述任务平均执行时间和所述任务数据传输时间确定第二完成时间。优选地,所述根据所述第二节点时间确定所述工作流任务的子截止期,具体包括:采用IC-PCP2算法,根据所述第二节点时间确定所述工作流任务的子截止期。优选地,所述获取分布式调度模型,根据所述任务调度序列完成对所述工作流任务的调度,具体包括:对所述工作流进行资源配置得到执行所述工作流的虚拟机集合;执行所述第一规模工作流的虚拟机采用七种类型的虚拟机;执行所述第二规模工作流的虚拟机采用两种类型的虚拟机;依序获取所述任务调度序列中的工作流任务;遍历所述虚拟机集合,确定所述虚拟机集合中各虚拟机执行依序获取的工作流任务的第一完成时间;获取所述第一完成时间小于等于依序获取的工作流任务的子截止期的虚拟机,形成第一虚拟机子集合;遍历所述第一虚拟机子集合,得到执行所获取工作流任务花费最小且空闲时间最小的虚拟机,形成第二虚拟机子集合;判断所述第一虚拟机子集合或所述第二虚拟机子集合是否为空,得到判断结果;若所述判断结果为所述第一虚拟机子集合或所述第二虚拟机子集合为空,则开启新的满足执行所获取工作流任务花费最小且空闲时间最小条件的虚拟机,以执行所获取的工作流任务;若所述判断结果为所述第一虚拟机子集合或所述第二虚拟机子集合不为空,则采用所述第二虚拟机子集合中花费最小且空闲时间最小的虚拟机执行所获取的工作流任务。根据本专利技术提供的具体实施例,本专利技术公开了以下技术效果:本专利技术提供的在线多工作流动态调度方法,在根据获取的第一节点时间确定第二节点时间后,根据第二节点时间确定工作流任务的子截止期,然后,在根据子截止期生成任务调度序列后获取分布式调度模型,根据任务调度序列完成对工作流任务的调度,进而解决现有技术中存在的云计算资源不能得到充分利用造成过多花费的问题。对应于上述提供的在线多工作流动态调度方法,本专利技术还提供了以下系统结构:一种在线多工作流动态调度系统,包括:第一节点时间获取模块,用于获取工作流任务的第一节点时间;所述节点时间包括:达到时间、任务平均执行时间、任务数据传输时间和截止时间;第二节点时间确定模块,用于根据所述第一节点时间确定第二节点时间;所述第二节点时间包括:开始时间、第一完成时间和第二完成时间;所述第一完成时间早于所述第二完成时间;子截止期确定模块,用于根据所述第二节点时间确定所述工作流任务的子截止期;任务调度序列生成模块,用于根据所述子截止期生成任务调度序列;调度执行模块,用于获取分布式调度模型,根据所述任务调度序列完成对所述工作流任务的调度;所述分布式调度模型为包含多种虚拟机的分布式调度框架。优选地,还包括:工作量获取模块,用于获取预设计费单位和当前时刻工作流的工作量;效用参数确定模块,用于根据所述预设计费单位和所述工作量确定当前时刻工作流的效用参数;工作流分类模块,用于根据所述效用参数将工作流进行分类为第一规模工作流和第二规模工作流;所述第一规模工作流的工作量大于所述第二规模的工作量。优选地,所述第二节点时间确定模块具体包括:开始时间确定单元,用于根据所述达到时间、所述任务平均执行时间和所述任务数据传输时间确定所述开始时间;第一完成时间确定单元,用于根据所述开始时间和所述任务平均执行时间确定所述第一完成时间;第二完成时间确定单元,用于根据所述截止时间、所述任务平均执行时间和所述任务数据传输时间确定第二完成时间。优选地,所述子截止期确定模块具体包括:子截止期确定单元,用于采用IC-PCP2算法,根据所述第二节点时间确定所述工作流任务的子截止期。优选地,所述调度执行模块具体包括:虚拟机集合构建单元,用于对所述工作流进行资源配置得到执行所述工作流的虚拟机集合;执行所述第一规模工作流的虚拟机采用七种类型的虚拟机;执行所述第二规模工作流的虚拟机采用两种类型的虚拟机;工作流任务依序获取单元,用于依序获取所述任务调度序列中的工作流任务;第一虚拟机遍历单元,用于遍历所述虚拟机集合,确定所述虚拟机集合中各虚拟机执行依序获取的工作流任务的第一完成时间;第一虚拟机子集合构建单元,用本文档来自技高网...

【技术保护点】
1.一种在线多工作流动态调度方法,其特征在于,包括:/n获取工作流任务的第一节点时间;所述节点时间包括:达到时间、任务平均执行时间、任务数据传输时间和截止时间;/n根据所述第一节点时间确定第二节点时间;所述第二节点时间包括:开始时间、第一完成时间和第二完成时间;所述第一完成时间早于所述第二完成时间;/n根据所述第二节点时间确定所述工作流任务的子截止期;/n根据所述子截止期生成任务调度序列;/n获取分布式调度模型,根据所述任务调度序列完成对所述工作流任务的调度;所述分布式调度模型为包含多种虚拟机的分布式调度框架。/n

【技术特征摘要】
1.一种在线多工作流动态调度方法,其特征在于,包括:
获取工作流任务的第一节点时间;所述节点时间包括:达到时间、任务平均执行时间、任务数据传输时间和截止时间;
根据所述第一节点时间确定第二节点时间;所述第二节点时间包括:开始时间、第一完成时间和第二完成时间;所述第一完成时间早于所述第二完成时间;
根据所述第二节点时间确定所述工作流任务的子截止期;
根据所述子截止期生成任务调度序列;
获取分布式调度模型,根据所述任务调度序列完成对所述工作流任务的调度;所述分布式调度模型为包含多种虚拟机的分布式调度框架。


2.根据权利要求1所述的在线多工作流动态调度方法,其特征在于,所述获取工作流任务的第一节点时间,之前还包括:
获取预设计费单位和当前时刻工作流的工作量;
根据所述预设计费单位和所述工作量确定当前时刻工作流的效用参数;
根据所述效用参数将工作流进行分类为第一规模工作流和第二规模工作流;所述第一规模工作流的工作量大于所述第二规模的工作量。


3.根据权利要求1所述的在线多工作流动态调度方法,其特征在于,所述根据所述第一节点时间确定第二节点时间,具体包括:
根据所述达到时间、所述任务平均执行时间和所述任务数据传输时间确定所述开始时间;
根据所述开始时间和所述任务平均执行时间确定所述第一完成时间;
根据所述截止时间、所述任务平均执行时间和所述任务数据传输时间确定第二完成时间。


4.根据权利要求1所述的在线多工作流动态调度方法,其特征在于,所述根据所述第二节点时间确定所述工作流任务的子截止期,具体包括:
采用IC-PCP2算法,根据所述第二节点时间确定所述工作流任务的子截止期。


5.根据权利要求2所述的在线多工作流动态调度方法,其特征在于,所述获取分布式调度模型,根据所述任务调度序列完成对所述工作流任务的调度,具体包括:
对所述工作流进行资源配置得到执行所述工作流的虚拟机集合;执行所述第一规模工作流的虚拟机采用七种类型的虚拟机;执行所述第二规模工作流的虚拟机采用两种类型的虚拟机;
依序获取所述任务调度序列中的工作流任务;
遍历所述虚拟机集合,确定所述虚拟机集合中各虚拟机执行依序获取的工作流任务的第一完成时间;
获取所述第一完成时间小于等于依序获取的工作流任务的子截止期的虚拟机,形成第一虚拟机子集合;
遍历所述第一虚拟机子集合,得到执行所获取工作流任务花费最小且空闲时间最小的虚拟机,形成第二虚拟机子集合;
判断所述第一虚拟机子集合或所述第二虚拟机子集合是否为空,得到判断结果;
若所述判断结果为所述第一虚拟机子集合或所述第二虚拟机子集合为空,则开启新的满足执行所获取工作流任务花费最小且空闲时间最小条件的虚拟机,以执行所获取的工作流任务;
若所述判断结果为所述第一虚拟机子集合或所述第二虚拟机子集合不为空,则采用所述第二虚拟机子集合中花费最小且空闲时间最小的虚拟机执行所获取的工作流任务。


6.一种在线多工作流动态调度系统,其特征在于,包括:
第一节点时间获取模块,用于获取工作流任务的第一节点时间;所述节点时间包括:达到时间、任务平均执行...

【专利技术属性】
技术研发人员:夏元清叶玲娟詹玉峰翟弟华戴荔张金会闫莉萍刘坤郭泽华崔冰邹伟东孙中奇
申请(专利权)人:北京理工大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1