[发明专利]一种云工作流调度方法及系统有效
申请号: | 202110404960.4 | 申请日: | 2021-04-15 |
公开(公告)号: | CN113064710B | 公开(公告)日: | 2022-09-09 |
发明(设计)人: | 夏元清;杨立文;叶玲娟;詹玉峰;戴荔;孙中奇;翟弟华;张金会;刘坤;郭泽华;闫莉萍;邹伟东;崔冰 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 北京高沃律师事务所 11569 | 代理人: | 韩雪梅 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 工作流 调度 方法 系统 | ||
1.一种云工作流调度方法,其特征在于,包括:
获取用户提交的工作流;所述工作流包括n个任务,且所述任务与所述任务之间具有数据依赖关系或控制依赖关系;
计算所述工作流中每个任务的优先级;所述优先级为具有宽度变化趋势的概率秩;
根据所述任务的优先级,计算每个所述任务的子截止时刻;
根据每个所述任务的子截止时刻,调用预存的服务实例集合、工作流调度模型以及前瞻性服务实例选择策略,确定每个任务对应的服务实例;所述工作流调度模型的目标函数为在截止时间约束条件下确定工作流最小执行花费的函数;所述前瞻性服务实例选择策略为根据随后任务选择的服务实例调整当前任务的服务实例的策略;所述随后任务为所述当前任务执行后再执行的任务;
在执行根据每个所述任务的子截止时刻,调用预存的服务实例集合、工作流调度模型以及前瞻性服务实例选择策略,确定每个任务对应的服务实例之前,还包括:
根据每个所述任务对应的优先级,对工作流中的任务进行非升序排序,并统计排序后的工作流的第一级连续入口任务、非第一级连续入口任务以及第一级连续入口任务的个数K;
所述根据每个所述任务的子截止时刻,调用预存的服务实例集合、工作流调度模型以及前瞻性服务实例选择策略,确定每个任务对应的服务实例,具体包括:
确定每个所述任务的预测步长;其中,所述第一级连续入口任务的预测步长为a*K,所述非第一级连续入口任务的预测步长s为b,a与b均为正整数;
根据每个所述任务的预测步长,确定每个所述任务关联的随后任务的个数;
初始化最好的服务实例为在预存的服务实例集合中使所述当前任务完成时间最早的服务实例,阈值花费为无穷大;
判断指定服务实例是否满足当前任务的子截止时刻,若是则将所述当前任务关联的s个随后任务分别指派给能够满足每个所述随后任务的子截止时刻同时使每个所述随后任务的花费增加值最小的服务实例;若否则更换所述指定服务实例,并返回判断指定服务实例是否满足当前任务的子截止时刻步骤;
根据所述工作流调度模型,计算所述当前任务以及所述当前任务关联的s个随后任务对应的当前花费增加值;所述当前花费增加值为所述当前任务以及所述当前任务关联的s个随后任务被假设指派服务实例后增加的花费;
判断所述当前花费增加值是否小于阈值花费,若是则将最好的服务实例更新为所述指定服务实例,并将所述阈值花费更新为当前花费增加值;
判断是否遍历完预存的服务实例集合中的每个服务实例,若否则更换所述服务实例,并返回判断指定服务实例是否满足当前任务的子截止时刻步骤;
将所述当前任务指派给最好的服务实例;
重复上述操作,直到每个任务都有指派的服务实例为止。
2.根据权利要求1所述的一种云工作流调度方法,其特征在于,所述计算所述工作流中每个任务的优先级,具体包括:
根据以下公式计算所述工作流中每个任务的优先级;
所述公式为:
其中,表示出口任务texit的概率秩,texit表示出口任务,表示任务ti的参考执行时间,CU*表示所有服务实例的最高处理能力;表示任务ti的概率秩,是任务ti的所有子任务,表示任务tc的概率秩,表示任务ti和任务tc之间的传输时间,是属于区间(0,1)的参数;表示从出口任务texit到任务ti最长路径上的任务数,称为任务ti的级别,表示属于级别的任务的个数,称为级别的宽度;是级别和级别的宽度比,称为宽度变化趋势,γc是任务tc的布尔变量。
3.根据权利要求2所述的一种云工作流调度方法,其特征在于,所述根据所述任务的优先级,计算每个所述任务的子截止时刻,具体包括:
根据公式计算每个所述任务的子截止时刻;
其中,表示任务ti的子截止时刻,D表示用户定义的截止时间约束条件,tentry表示入口任务。
4.一种云工作流调度系统,其特征在于,包括:
工作流获取模块,用于获取用户提交的工作流;所述工作流包括n个任务,且所述任务与所述任务之间具有数据依赖关系或控制依赖关系;
优先级计算模块,用于计算所述工作流中每个任务的优先级;所述优先级为具有宽度变化趋势的概率秩;
子截止时刻计算模块,用于根据所述任务的优先级,计算每个所述任务的子截止时刻;
服务实例确定模块,用于根据每个所述任务的子截止时刻,调用预存的服务实例集合、工作流调度模型以及前瞻性服务实例选择策略,确定每个任务对应的服务实例;所述工作流调度模型的目标函数为在截止时间约束条件下确定工作流最小执行花费的函数;所述前瞻性服务实例选择策略为根据随后任务选择的服务实例调整当前任务的服务实例的策略;所述随后任务为所述当前任务执行后再执行的任务;
在执行根据每个所述任务的子截止时刻,调用预存的服务实例集合、工作流调度模型以及前瞻性服务实例选择策略,确定每个任务对应的服务实例之前,还包括:
根据每个所述任务对应的优先级,对工作流中的任务进行非升序排序,并统计排序后的工作流的第一级连续入口任务、非第一级连续入口任务以及第一级连续入口任务的个数K;
所述根据每个所述任务的子截止时刻,调用预存的服务实例集合、工作流调度模型以及前瞻性服务实例选择策略,确定每个任务对应的服务实例,具体包括:
确定每个所述任务的预测步长;其中,所述第一级连续入口任务的预测步长为a*K,所述非第一级连续入口任务的预测步长s为b,a与b均为正整数;
根据每个所述任务的预测步长,确定每个所述任务关联的随后任务的个数;
初始化最好的服务实例为在预存的服务实例集合中使所述当前任务完成时间最早的服务实例,阈值花费为无穷大;
判断指定服务实例是否满足当前任务的子截止时刻,若是则将所述当前任务关联的s个随后任务分别指派给能够满足每个所述随后任务的子截止时刻同时使每个所述随后任务的花费增加值最小的服务实例;若否则更换所述指定服务实例,并返回判断指定服务实例是否满足当前任务的子截止时刻步骤;
根据所述工作流调度模型,计算所述当前任务以及所述当前任务关联的s个随后任务对应的当前花费增加值;所述当前花费增加值为所述当前任务以及所述当前任务关联的s个随后任务被假设指派服务实例后增加的花费;
判断所述当前花费增加值是否小于阈值花费,若是则将最好的服务实例更新为所述指定服务实例,并将所述阈值花费更新为当前花费增加值;
判断是否遍历完预存的服务实例集合中的每个服务实例,若否则更换所述服务实例,并返回判断指定服务实例是否满足当前任务的子截止时刻步骤;
将所述当前任务指派给最好的服务实例;
重复上述操作,直到每个任务都有指派的服务实例为止。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110404960.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种真空双向搅拌结构
- 下一篇:手术铺单纵向折叠机的折叠装置