一种任务调度系统技术方案

技术编号:39836606 阅读:11 留言:0更新日期:2023-12-29 16:20
本发明专利技术属于计算任务流调度技术领域,具体涉及一种任务调度系统,包括任务调度服务和任务执行服务两个基本服务,任务调度服务包括资源池管理模块

【技术实现步骤摘要】
一种任务调度系统


[0001]本专利技术属于计算任务流调度
,具体涉及一种任务调度系统


技术介绍

[0002]对于计算任务流的调度,现有方案主要存在以下问题:第一,任务调度服务与任务执行服务耦合;第二,调度策略无法定制和扩展;第三,对于任务流及任务流中任务无法单独配置调度策略

重试策略和超时策略等;第四,对于具备依赖关系的上下游任务,无法配置和实现汇聚输出作为输入,无法管理依赖状态切换等

总的来说,现有方案对于一些专门场景下存在着显著的不足:第一,任务执行服务缺乏扩容能力;第二,任务和任务流执行策略缺乏灵活性和针对性;第三,具备依赖关系的上下游任务配置和管理能力弱


技术实现思路

[0003]针对现有技术的上述问题,本专利技术提供了一种任务调度系统,克服一些专门场景下现有方案的缺陷和不足

[0004]本专利技术技术方案如下:一种任务调度系统,包括任务调度服务和任务执行服务两个基本服务,任务调度服务与任务执行服务解耦,任务调度服务包括资源池管理模块

任务接收与解析模块

单任务调度策略管理模块

任务流调度策略管理模块

任务管理模块以及任务提交执行模块,任务执行服务包括资源管理模块

任务执行与管理模块

[0005]资源池管理模块:管理任务执行服务的资源构成的资源池;接收任务执行服务上报资源报告,并管理其上下线;维护任务执行服务的物理和逻辑资源情况,以供调度策略使用;任务接收与解析模块:接收任务流的提交;对计算任务流的解析和检查;返回任务流唯一标识;单任务调度策略管理模块:对给定任务,依据该任务自身配置指定的调度策略,结合当前资源池情况,给出最恰当的任务执行服务及其连接信息;单任务调度策略规定统一接口,用于扩展实现特定的调度策略算法;内置常用的单任务调度策略;任务流调度策略管理模块:对于同时存在的多个任务流,依据任务调度服务配置指定的调度策略,给出应当进行调度执行的任务流及任务;控制并行调度任务流的数量;监测发起新任务流调度的时机;任务流调度策略规定统一接口,用于扩展实现特定的调度策略算法;内置常用的单任务调度策略;任务管理模块:管理和维护任务流及任务的状态;接收任务执行模块心跳反馈;跟踪任务和任务流状态的改变;发起任务流调度及单任务调度,获得连接信息,交由任务提交执行模块处理;根据配置确定新任务流立即执行或者加入任务流队列;执行重试策略;监听上游任务状态切换;汇聚上游任务输出形成输入;任务流和任务状态持久化及检索;任务提交执行模块:将指定任务及其输入参数等信息,提交到指定的任务执行服
务;资源管理模块:管理任务执行服务自身的资源;向任务调度服务上报资源报告;任务执行与管理模块:用于具体执行任务;向任务管理模块心跳反馈任务执行状态

执行结果或错误信息等;根据任务管理模块主动询问

检索和反馈任务执行状态

[0006]在一种典型实施方式中,任务调度服务采用活动节点和备用节点方式部署,任务执行服务独立扩容部署

[0007]进一步,具体为:当任务调度服务活动节点下线,备用节点选举出新的活动节点;当任务执行服务上线时,由其自身的资源管理模块,向任务调度服务的资源池管理模块上报资源报告;在任务执行服务在线期间,定时向资源池管理模块发送心跳形式的资源报告,以保持在线状态;当超过一定时间未上报,且经资源池管理模块主动询问,仍不可获得最新资源报告的,则该任务执行服务下线;更进一步,所述资源报告包括连接信息

总资源

当前资源等信息

[0008]在一种典型实施方式中,资源池管理模块维护着每个任务执行服务的物理资源情况,即由任务执行服务上报的信息,所述信息包括资源报告

资源总和

最大任务数

当前任务数等

[0009]进一步,资源池管理模块还维护着逻辑资源情况,即当任务提交时,从当前剩余逻辑资源中扣减任务资源估计

可用任务数;任务终结时,从当前剩余逻辑资源中释放任务资源估计

可用任务数

该等信息均可供调度策略使用

[0010]在一种典型实施方式中,对于任务接收与解析模块,其接收任务流的提交具体为:任务流由一组或多组任务组构成,任务组由一组具备依赖顺序关系的任务构成,各任务组之间没有依赖关系

任务提交时,将任务流所包含的任务组,任务组中各任务的依赖关系,任务自身的类型

输入参数

调度策略

资源估计

最大耗时估计

重试策略,任务流是否立即执行

任务组串
/
并行执行

失败终结策略等信息,以
JSON
或其等效方式描述定义,形成任务流描述定义信息

[0011]在一种典型实施方式中,对于任务接收与解析模块,对计算任务流的解析和检查,包括解析任务流中包含的任务组

任务组中任务的依赖关系

任务组中的首个任务以及对任务组无环路进行检测等,将有效任务流解析为程序中的任务实体,交由任务管理模块初始化任务状态

对于可选的调度策略

重试策略和超时策略,若未提供,则使用默认策略;对于可选的资源估计,若未提供,则不允许使用基于资源估计的策略;对于可选的任务流是否立即执行,若未提供,则默认不立即执行;对于可选的任务组串
/
并行执行,若未提供,则默认串行执行

对于可选的失败终结策略,若未提供,则默认任一任务失败,则整个任务流因此失败终结

[0012]进一步的,任务接收与解析模块将返回任务流唯一标识,用于对任务流执行进度和结果的查询

[0013]在一种典型实施方式中,对于单任务调度策略管理模块,单任务调度策略规定统一接口,接口中核心分配方法提供资源池信息

当前所需调度任务的配置信息

上游任务执行上下文等参数

对于具体调度策略,均基于该接口和方法实现特定的调度策略算法

[0014]进一步,任务调度服务自身内置常用的单任务调度策略,例如按照剩余逻辑资源情况

按照最大任务数

随机选择等调度策略,该调度策略也支持自行实现更具针对性的单
任务调度策略

[0015]在一种典型实施方式中,对于任务流调度策略管理模块,任务流调度策略规定统一接口,接口中核心分配方法提供任务流队列等参数

对于具本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种任务调度系统,其特征在于,包括任务调度服务和任务执行服务两个基本服务,任务调度服务与任务执行服务解耦,任务调度服务包括资源池管理模块

任务接收与解析模块

单任务调度策略管理模块

任务流调度策略管理模块

任务管理模块以及任务提交执行模块,任务执行服务包括资源管理模块

任务执行与管理模块;资源池管理模块:管理任务执行服务的资源构成的资源池;接收任务执行服务上报资源报告,并管理其上下线;维护任务执行服务的物理和逻辑资源情况,以供调度策略使用;任务接收与解析模块:接收任务流的提交;对计算任务流的解析和检查;返回任务流唯一标识;单任务调度策略管理模块:对给定任务,依据该任务自身配置指定的调度策略,结合当前资源池情况,给出最恰当的任务执行服务及其连接信息;单任务调度策略规定统一接口,用于扩展实现特定的调度策略算法;内置常用的单任务调度策略;任务流调度策略管理模块:对于同时存在的多个任务流,依据任务调度服务配置指定的调度策略,给出应当进行调度执行的任务流及任务;控制并行调度任务流的数量;监测发起新任务流调度的时机;任务流调度策略规定统一接口,用于扩展实现特定的调度策略算法;内置常用的单任务调度策略;任务管理模块:管理和维护任务流及任务的状态;接收任务执行模块心跳反馈;跟踪任务和任务流状态的改变;发起任务流调度及单任务调度,获得连接信息,交由任务提交执行模块处理;根据配置确定新任务流立即执行或者加入任务流队列;执行重试策略;监听上游任务状态切换;汇聚上游任务输出形成输入;任务流和任务状态持久化及检索;任务提交执行模块:将指定任务及其输入参数信息,提交到指定的任务执行服务;资源管理模块:管理任务执行服务自身的资源;向任务调度服务上报资源报告;任务执行与管理模块:用于具体执行任务;向任务管理模块心跳反馈任务执行状态

执行结果或错误信息;根据任务管理模块主动询问

检索和反馈任务执行状态
。2.
根据权利要求1所述的一种任务调度系统,其特征在于,任务调度服务采用活动节点和备用节点方式部署,任务执行服务独立扩容部署
。3.
根据权利要求2所述的一种任务调度系统,其特征在于,具体为:当任务调度服务活动节点下线,备用节点选举出新的活动节点;当任务执行服务上线时,由其自身的资源管理模块,向任务调度服务的资源池管理模块上报资源报告;在任务执行服务在线期间,定时向资源池管理模块发送心跳形式的资源报告,以保持在线状态;当超过一定时间未上报,且经资源池管理模块主动询问,仍不可获得最新资源报告的,则该任务执行服务下线
。4.
根据权利要求1所述的一种任务调度系统,其特征在于,资源池管理模块维护着每个任务执行服务的物理资源情况,即由任务执行服务上报的信息,所述信息包括资源报告

资源总和

最大任务数

当前任务数
。5.

【专利技术属性】
技术研发人员:路骁周元峰王宇窦文涵张圆成李新雨
申请(专利权)人:山东省工业技术研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1