一种任务调度方法及系统与流程

文档序号:37261564发布日期:2024-03-12 20:41阅读:8来源:国知局
一种任务调度方法及系统与流程

本发明涉及通信,尤其涉及一种任务调度方法及系统。


背景技术:

1、在对大数据进行数据提取-转换-加载(extract-transform-load,etl)计算时,存在很多原子化计算任务,计算任务之间会存在依赖。比如计算任务a依赖计算任务b,则计算任务a必须在任务b完成后才能开始计算,各个任务之间互相依赖形成了一个有向无环图(direct acyclic graph,dag)的结构。为了保证各个任务能够顺利且有序的执行,需要一个任务调度系统来做统一调度管理。

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、根据待执行任务的真实最晚完成时间、待执行任务的最早开始时间,更新第一任务调度计划,得到第二任务调度计划;

36、当第二任务调度计划中存在至少一个待执行任务在执行时使用的资源不合法,增加任务调度系统的资源总量;

37、根据待执行任务的真实最晚完成时间、任务调度系统的资源总量,生成第三任务调度计划;

38、将第三任务调度计划作为待执行任务的任务调度计划。

39、在一个可能的实现方式中,调度计划模块还用于:当第二任务调度计划中任意一个待执行任务执行时,使用的资源合法,将第二任务调度计划作为待执行任务的任务调度计划。

40、在一个可能的实现方式中,任务监控模块用于:

41、确定任务调度过程中是否存在被执行任务的实际执行时间超过任务调度计划中预设的执行时间;或者,

42、确定任务调度过程中是否存在被执行任务的实际占用资源量超过任务调度计划中预设的资源占用量。

43、在一个可能的实现方式中,调度计划模块用于:

44、根据未执行任务的任务信息、任务调度系统的资源总量更新未执行任务的任务调度计划。

45、第三方面,本申提供了一种计算集群设备,包括至少一个计算设备,每个计算设备包括处理器和存储器;

46、至少一个计算设备的处理器用于执行至少一个计算设备的存储器中存储的指令,以使得计算设备集群执行第一方面或第一方面的任一种可能的实现方式所描述的方法。

47、第四方面,本技术提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,当计算机程序在处理器上运行时,使得处理器执行第一方面或第一方面的任一种可能的实现方式所描述的方法。

48、第五方面,本技术提供了一种计算机程序产品,当计算机程序产品在处理器上运行时,使得处理器执行第一方面或第一方面的任一种可能的实现方式所描述的方法。

49、可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

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