任务调度方法及装置、系统、存储介质及电子设备与流程

文档序号:36322789发布日期:2023-12-09 03:19阅读:35来源:国知局
任务调度方法及装置与流程

本公开的实施方式涉及计算机,更具体地,本公开的实施方式涉及任务调度方法、任务调度装置、任务调度系统、计算机可读存储介质及电子设备。


背景技术:

1、本部分旨在为权利要求中陈述的本公开的实施方式提供背景或上下文,此处的描述不因为包括在本部分中就承认是现有技术。

2、大数据,或称巨量数据,指的是所涉及的资料量规模巨大到无法通过传统的数据处理工具,在合理时间内进行撷取、管理以及处理。

3、面对复杂的数据处理场景时,需要更加细粒度的任务拆分,往往一项大数据技术并不能独立完成,而是多种大数据技术,多个子任务来共同完成。在处理大数据时,通过大数据工作流合理地按照特定的流程和步骤组织、管理数据处理任务变得非常重要。

4、现阶段,对大数据工作流进行任务调度时,依赖手动配置,人工介入较多,影响工作流的任务调度效率,且存在资源浪费的问题。


技术实现思路

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、工作流引擎,被配置基于所述任务调度装置得到的工作流的开始调度时间和所述工作流中各节点对应的资源配置信息运行所述工作流。

36、根据本公开实施方式的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种方法。

37、根据本公开实施方式的第五方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一种方法。

38、根据本公开实施方式的任务调度方法,首先获取工作流在预定历史周期对应的任务运行信息和工作流中的节点在预定历史周期对应的节点运行信息,一方面,根据工作流中节点的节点运行信息对节点的资源配置信息进行调整,可基于历史的真实节点运行情况对节点所需使用的资源配置进行调整,使节点的资源配置符合实际需求,避免资源浪费;另一方面,以工作流的上游工作流的最晚结束时间为时间起点,结合节点运行信息和任务运行信息确定工作流的开始调度时间,使工作流开始运行的时间不依赖人工配置,提升工作流时间调度的灵活性和合理性,工作流能够及时被调度运行,提高工作流的任务调度效率;再一方面,整个任务调度过程无需过多的人工介入,避免出错,降低成本。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1