一种任务调度方法、装置及存储介质与流程

文档序号:34394734发布日期:2023-06-08 12:06阅读:64来源:国知局
一种任务调度方法、装置及存储介质与流程

本发明涉及任务调度,尤其涉及一种任务调度方法、装置及存储介质。


背景技术:

1、为了提高任务的执行效率,通常会并行执行多个任务。当需要并行执行多个任务时,通常基于一定的规则对多个任务进行调度,使得多个任务按照一定顺序执行。

2、目前调度多个任务执行的方式有多种,例如可以使用linux操作系统内置的crontab调度工具分别设置多个任务的执行时间,使多个任务按照设定的时间执行。又例如,也可以使用开源调度框架spring task或quartz等调度工具按照一定顺序来执行任务。但如果在一定时间段内需要执行的任务数量较多时,按照一定的执行时间或者执行顺序来调度多个任务会导致单一设备负载较高,影响任务的执行效率。


技术实现思路

1、本技术提供了一种任务调度方法、装置及存储介质,用于解决任务调度时单一设备负载较高,影响任务执行效率的问题。

2、第一方面,本技术提供了一种任务调度方法。该方法可应用于分布式系统,分布式系统中包括主节点和至少两个从节点,主节点和至少两个从节点可以是具有处理能力的电子设备,以应用于分布式系统中的主节点为例,该方法具体包括:主节点确定当前时间为第一配置信息中的第一任务的执行时间,确定该第一任务所属的调度分组,并将第一任务分配至第一任务所属的调度分组所包括的第一从节点。第一配置信息包括多个任务的信息,一个任务关联多个执行时间。不同的调度分组包括不同的从节点,不同的调度分组所关联的任务不同。

3、在本技术实施例中,分布式系统中包括主节点和至少两个从节点。系统可执行的任务包括第一配置信息中的多个任务,当主节点判断当前执行多个任务中的第一任务时,可以对第一任务进行调度。至少两个从节点可以事先进行调度分组,不同分组执行不同任务。主节点根据至少两个从节点的分组对第一任务进行分组调度。因此,对分布式系统中的从节点进行分组后,若当前有较多任务需要执行,可以将较多任务调度到不同分组中执行,使得各个从节点能够有序执行任务,各个从节点的负载更加均衡,提升了执行任务的效率。

4、可选的,在主节点确定该第一任务所属的调度分组之前,该方法还包括:主节点根据第二配置信息确定多个调度分组,第二配置信息包括至少两个从节点的信息。主节点根据多个调度分组及第一配置信息确定多个任务分别所属的调度分组。

5、在本技术实施例中,在确定第一任务所属的调度分组之前,可以事先根据需求划分至少两个从节点的分组,并将分组后的信息存储于第二配置信息。主节点可以根据至少两个从节点的分组及第一配置信息中的多个任务的配置情况合理地将多个任务进行分配,即不同分组执行不同的任务,使得分布式系统的负载更加均衡。

6、可选的,主节点将第一任务分配至第一任务所属的调度分组所包括的第一从节点,包括:主节点获取第一任务所属的调度分组中各个从节点的状态信息,各个从节点的状态信息包括资源占用情况。主节点根据各个从节点的状态信息确定各个从节点在调度时所占的权重。主节点根据各个从节点所占的权重确定将第一任务分配至第一从节点。

7、在本技术实施例中,主节点在将第一任务分配到调度分组中的某一个从节点时,根据各个从节点的状态信息对第一任务进行分配,可以使得该分组中各个从节点的负载更加均衡,保证了执行任务的效率。

8、可选的,主节点获取第一任务所属的调度分组中各个从节点的状态信息,包括:主节点通过分布式应用程序协调服务zookeeper获取各个从节点的心跳信号,心跳信号中包括资源占用情况。

9、可选的,当各个从节点的状态信息指示第一任务所属的调度分组中各个从节点不可用时,该方法还包括:主节点发送第一指示信息,第一指示信息用于指示第一任务所属的调度分组通过zookeeper创建临时从节点。

10、可选的,该方法还包括:主节点根据第三配置信息确定当前时间执行的事件,第三配置信息包括多个事件。主节点发送第二指示信息,第二指示信息用于指示至少两个从节点处理该事件。

11、第二方面,本技术提供了一种任务调度方法。以应用于分布式系统中的至少两个从节点为例,该方法具体包括:第一从节点通过zookeeper创建节点,向主节点发送心跳信号,心跳信号中包括第一从节点的资源占用情况。第一从节点接收并执行主节点分配的第一任务。

12、可选的,该方法还包括:第一从节点接收第二指示信息,该第二指示信息用于指示第一从节点处理事件。第一从节点根据该第二指示信息对该事件进行处理。

13、第三方面,本技术提供了一种任务调度装置。该装置包括确定模块及调度模块。其中,确定模块用于确定当前时间为第一配置信息中的第一任务的执行时间,第一配置信息包括多个任务的信息,一个任务关联多个执行时间。该确定模块还用于确定该第一任务所属的调度分组,其中,不同的调度分组包括不同的从节点,不同的调度分组关联的任务不同。调度模块用于将第一任务分配至第一任务所属的调度分组所包括的第一从节点。

14、可选的,确定模块还用于:根据第二配置信息确定多个调度分组,第二配置信息包括至少两个从节点的信息;根据多个调度分组及第一配置信息确定多个任务分别所属的调度分组。

15、可选的,调度模块具体用于:获取第一任务所属的调度分组中各个从节点的状态信息,其中,一个从节点的状态信息包括该从节点的资源占用情况;根据各个从节点的状态信息确定各个从节点在调度时所占的权重;根据各个从节点所占的权重确定将第一任务分配至第一从节点。

16、可选的,调度模块具体用于:通过分布式应用程序协调服务zookeeper获取各个从节点的心跳信号,心跳信号中包括资源占用情况。

17、可选的,调度模块还用于:发送第一指示信息,第一指示信息用于指示第一任务所属的调度分组通过zookeeper创建临时从节点。

18、可选的,调度模块还用于:根据第三配置信息确定当前时间执行的事件,发送第二指示信息。其中,第三配置信息包括多个事件,第二指示信息用于指示至少两个从节点处理该事件。

19、第四方面,本技术提供了一种任务调度装置。该装置包括:注册模块、发送模块和接收模块。其中,注册模块用于通过zookeeper创建节点。发送模块用于发送心跳信号,心跳信号中包括任务调度装置的资源占用情况。接收模块用于接收并执行主节点分配的第一任务。

20、可选的,接收模块还用于:接收第二指示信息,第二指示信息用于指示任务调度装置处理事件。根据该第二指示信息对该事件进行处理。

21、第五方面,本技术实施例提供了一种电子设备,该电子设备包括处理器以及与处理器通信连接的存储器。其中,存储器存储有计算机执行指令,该指令被处理器执行,以使处理器能够执行上述第一方面或第二方面中任一项所述的方法。

22、第六方面,本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机执行指令,当该计算机执行指令被处理器执行时,使得处理器执行上述第一方面或第二方面中任一项所述的方法。

23、第七方面,本技术实施例提供一种计算机程序产品,该计算机程序产品包括计算机程序,其存储在计算机可读存储介质中,处理器可以从计算机可读存储介质读取计算机程序,处理器执行计算机程序时可实现上述第一方面或第二方面中任一项所述的方法。

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