System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请主要涉及计算机领域,更具体地说是涉及一种工作流调度方法及装置。
技术介绍
1、在如今大数据时代,工作流作为计算机支持的协同工作的一部分已被广泛应用到众多领域。在实际应用中,每个工作流通常是由多个任务按照一定执行顺序实现,且在实现过程中可能需要依赖其他工作流,甚至需要按照约定时间等约束条件才能够执行,这会都增加了工作流的调度难度。
2、可见,目前这种由工作人员凭借经验对集群需要执行的大量工作流制定调度计划,实现集群工作流调度的方式,不仅费时费力,且很难保证工作流调度的可靠性,很可能会出现因工作流所需资源超过集群所能提供的资源,导致相应工作流执行失败,进而导致依赖于该工作流的其他工作流都执行失败,降低了业务执行效率。
技术实现思路
1、为了解决上述技术问题,本申请提供了以下技术方案:
2、一方面,本申请提出了一种工作流调度方法,所述方法包括:
3、获得针对目标业务的多个待调度工作流各自的工作执行信息;所述工作执行信息能够指示相应所述待调度工作流对实现所述目标业务的重要程度,以及不同所述待调度工作流之间的依赖关系;
4、基于所述工作执行信息,确定相应所述待调度工作流的调度优先级,以及属于同一所述调度优先级的各所述待调度工作流的调度执行顺序;所述调度优先级的数量为至少两个;
5、基于不同所述调度优先级对应的所述调度执行顺序以及所述工作执行信息包含的不同任务资源信息,获得针对所述目标业务的目标工作流调度策略,以用于在所述目标业
6、在一些可选实施例的实现方式中,所述基于所述工作执行信息,确定相应所述待调度工作流的调度优先级,以及属于同一所述调度优先级的各所述待调度工作流的调度执行顺序,包括:
7、基于所述工作执行信息所指示的所述重要程度,确定属于第一调度优先级对应的第一待调度工作流组,以及属于第二调度优先级的第二待调度工作流组;
8、基于所述第一待调度工作流组与所述第二待调度工作流组之间存在的依赖关系,更新所述第二待调度工作流组中相应所述待调度工作流的调度优先级;
9、确定属于同一所述调度优先级的各所述待调度工作流中所述工作执行信息包含截止时间的第一工作流,以及未包含所述截止时间的第二工作流;
10、基于所述截止时间,对属于同一所述调度优先级的多个所述第一工作流进行排序,得到所述第一工作流的排序结果;
11、基于所述第一工作流的排序结果,将所述第二工作流调度至最晚执行的所述第一工作流之后,得到相应所述调度优先级的各所述待调度工作流的调度执行顺序。
12、在一些可选实施例的实现方式中,所述方法还包括:
13、基于所述第一工作流的排序结果以及所述截止时间,确定所述第一工作流中不满足执行时间条件的第三工作流;
14、基于所述工作执行信息,从所述多个待调度工作流中确定依赖于所述第三工作流的第四工作流;
15、删除每一所述调度优先级对应的所述调度执行顺序中的所述第三工作流和所述第四工作流。
16、在一些可选实施例的实现方式中,所述基于所述第一待调度工作流组与所述第二待调度工作流组之间存在的依赖关系,更新所述第二待调度工作流组中相应所述待调度工作流的调度优先级,包括:
17、基于工作流依赖规范,确定所述第二待调度工作流组中的任一所述待调度工作流被所述第二待调度工作流组中的至少一个所述待调度工作流依赖;
18、将所述第二待调度工作流组中被依赖的所述待调度工作流调整至所述第一待调度工作流组。
19、在一些可选实施例的实现方式中,所述基于不同所述调度优先级对应的所述调度执行顺序以及所述工作执行信息包含的不同任务资源信息,获得针对所述目标业务的目标工作流调度策略,包括:
20、基于不同所述调度优先级对应的所述调度执行顺序以及所述工作执行信息包含的不同任务资源信息,获得针对所述目标业务的初始工作流调度策略;
21、基于所述调度优先级和所述工作执行信息,确定所述多个待调度工作流中的待优化调度工作流;
22、基于所述待优化调度工作流的所述任务资源信息,对所述初始工作流调度策略中的各所述待优化调度工作流进行贪心优化,得到目标工作流调度策略。
23、在一些可选实施例的实现方式中,所述基于不同所述调度优先级对应的所述调度执行顺序以及所述工作执行信息包含的不同任务资源信息,获得针对所述目标业务的初始工作流调度策略,包括:
24、基于不同所述调度优先级对应的所述调度执行顺序以及所述工作执行信息包含的不同任务资源信息,确定针对相应所述待调度工作流包含的任一任务的可用资源不足;
25、调整所述可用资源不足对应的所述任务在相应所述待调度工作流中的执行顺序,得到所述待调度工作流包含的多个任务的任务执行顺序;
26、基于所述工作执行信息包含的不同任务资源信息,确定所述调度执行顺序中不同所述待调度工作流之间存在的依赖关系;
27、基于确定的所述依赖关系以及相应所述待调度工作流在所述调度执行顺序中的排序,更新所述调度执行顺序;
28、利用每一所述调度优先级对应的更新后的调度执行顺序,以及每一所述待调度工作流的所述任务执行顺序,获得针对所述目标业务的初始工作流调度策略。
29、在一些可选实施例的实现方式中,所述基于所述调度优先级和所述工作执行信息,确定所述多个待调度工作流中的待优化调度工作流,基于所述待优化调度工作流的所述任务资源信息,对所述初始工作流调度策略中的各所述待优化调度工作流进行贪心优化,得到目标工作流调度策略,包括:
30、从属于最低所述调度优先级的所述待调度工作流中,确定所述工作执行信息未包含截止时间的所述待调度工作流为待优化调度工作流;
31、确定所述待优化调度工作流的所述任务资源信息中相应任务对相应类型资源的占用时间和资源使用量;
32、基于所述占用时间和所述资源使用量,顺次对所述初始工作流调度策略中的所述待优化调度工作流进行贪心优化,记录所述贪心优化的迭代次数;
33、确定所述贪心优化的迭代次数达到迭代次数阈值,基于所述待优化调度工作流的本次贪心优化结果,更新所述初始工作流调度策略,得到目标工作流调度策略。
34、在一些可选实施例的实现方式中,所述基于所述工作执行信息包含的不同任务资源信息,确定所述调度执行顺序中不同所述待调度工作流之间存在的依赖关系,基于确定的所述依赖关系以及相应所述待调度工作流在所述调度执行顺序中的排序,更新所述调度执行顺序,包括:
35、基于所述工作执行信息包含的构成相应所述待调度工作流的各任务的任务资源信息,对所述调度执行顺序中相应所述待调度工作流进行递归回溯,确定依赖于所述待调度工作流且执行顺序靠前的第一待定工作流,以及被所述待调度工作流依赖且执行顺序靠后的第二待定工本文档来自技高网...
【技术保护点】
1.一种工作流调度方法,所述方法包括:
2.根据权利要求1所述的方法,所述基于所述工作执行信息,确定相应所述待调度工作流的调度优先级,以及属于同一所述调度优先级的各所述待调度工作流的调度执行顺序,包括:
3.根据权利要求2所述的方法,所述方法还包括:
4.根据权利要求2所述的方法,所述基于所述第一待调度工作流组与所述第二待调度工作流组之间存在的依赖关系,更新所述第二待调度工作流组中相应所述待调度工作流的调度优先级,包括:
5.根据权利要求1-4任一项所述的方法,所述基于不同所述调度优先级对应的所述调度执行顺序以及所述工作执行信息包含的不同任务资源信息,获得针对所述目标业务的目标工作流调度策略,包括:
6.根据权利要求5所述的方法,所述基于不同所述调度优先级对应的所述调度执行顺序以及所述工作执行信息包含的不同任务资源信息,获得针对所述目标业务的初始工作流调度策略,包括:
7.根据权利要求5所述的方法,所述基于所述调度优先级和所述工作执行信息,确定所述多个待调度工作流中的待优化调度工作流,基于所述待优化调度工作流
8.根据权利要求6所述的方法,所述基于所述工作执行信息包含的不同任务资源信息,确定所述调度执行顺序中不同所述待调度工作流之间存在的依赖关系,基于确定的所述依赖关系以及相应所述待调度工作流在所述调度执行顺序中的排序,更新所述调度执行顺序,包括:
9.根据权利要求1所述的方法,所述方法还包括:
10.一种工作流调度装置,所述装置包括:
...【技术特征摘要】
1.一种工作流调度方法,所述方法包括:
2.根据权利要求1所述的方法,所述基于所述工作执行信息,确定相应所述待调度工作流的调度优先级,以及属于同一所述调度优先级的各所述待调度工作流的调度执行顺序,包括:
3.根据权利要求2所述的方法,所述方法还包括:
4.根据权利要求2所述的方法,所述基于所述第一待调度工作流组与所述第二待调度工作流组之间存在的依赖关系,更新所述第二待调度工作流组中相应所述待调度工作流的调度优先级,包括:
5.根据权利要求1-4任一项所述的方法,所述基于不同所述调度优先级对应的所述调度执行顺序以及所述工作执行信息包含的不同任务资源信息,获得针对所述目标业务的目标工作流调度策略,包括:
6.根据权利要求5所述的方法,所述基于不同所述调度优先级对应的所述调度执...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。