任务调度方法、装置及电子设备与流程

文档序号:37170436发布日期:2024-03-01 12:16阅读:20来源:国知局
任务调度方法、装置及电子设备与流程

本技术涉及大数据领域,具体而言,涉及一种任务调度方法、装置及电子设备。


背景技术:

1、在大数据领域中,任务调度管理平台的应用非常广泛,部分企业中的任务调度流程绘制为一个dag(directed acyclic graph,有向无环图),企业用户通过对dag中的任务进行修改从而实现任务调度,对任务的修改包括对任务本身的修改和对任务之间的依赖关系进行修改等,当多个企业用户同时修改一个任务时,为保证数据一致性,相关技术中的解决方案是将整个dag加锁,也就是同一时刻只有一个企业用户能对整个dag做出修改,当任务量极大且用户极多的情况下,相关技术中的任务调度方案调度任务的效率较低。

2、针对相关技术中在任务调度时需要锁住全部有向无环图,导致任务调度效率低的问题,目前尚未提出有效的解决方案。


技术实现思路

1、本技术的主要目的在于提供一种任务调度方法、装置及电子设备,以解决相关技术中在任务调度时需要锁住全部有向无环图,导致任务调度效率低的问题。

2、为了实现上述目的,根据本技术的一个方面,提供了一种任务调度方法。该方法包括:获取任务集合的有向无环图,其中,有向无环图包含多个节点和多条边,多个节点和多条边以树形结构排列,每个节点表征任务集合中的一个任务,每条边表征边连接的两个节点对应的任务之间存在关联关系;接收用户对任务集合的任务调度指令,解析任务调度指令,得到待调度任务在有向无环图中所属的目标调度区域,其中,目标调度区域包含第一预设数量的节点和第二预设数量的边;对目标调度区域执行图区域锁操作,基于任务调度指令修改有向无环图,得到修改后的有向无环图,其中,图区域锁操作用于限制用户以外的其他用户对目标调度区域进行修改;对目标调度区域解除图区域锁操作。

3、可选地,基于任务调度指令修改有向无环图,得到修改后的有向无环图包括:从任务调度指令中提取修改操作,得到第一修改操作,其中,修改操作至少包括以下之一:新增或删除边、删除节点、删除组、删除子树、新增节点或新增组或新增子树和发布操作,组包含多个节点,子树包含目标节点以及以目标节点为起始点的树结构中的所有节点,发布操作用于以镜像调度区域替换目标调度区域,镜像调度区域为镜像有向无环图中修改后的目标调度区域;通过修改操作对有向无环图中的目标调度区域进行修改,得到修改后的有向无环图。

4、可选地,在基于任务调度指令修改有向无环图,得到修改后的有向无环图之前,该方法还包括:判断是否接收到其他用户的其他任务调度指令;在接收到其他用户的其他任务调度指令的情况下,判断其他任务调度指令的待调度区域是否与目标调度区域存在交集;在待调度区域与目标调度区域不存在交集的情况下,执行基于任务调度指令修改有向无环图,得到修改后的有向无环图的步骤。

5、可选地,在判断其他任务调度指令的待调度区域是否与目标调度区域存在交集之后,该方法还包括:在待调度区域与目标调度区域存在交集的情况下,提取其他任务调度指令中的修改操作,得到第二修改操作;判断第一修改操作的优先级是否大于第二修改操作的优先级;在第一修改操作的优先级大于第二修改操作的优先级的情况下,执行基于任务调度指令修改有向无环图,得到修改后的有向无环图的步骤;在第一修改操作的优先级小于第二修改操作的优先级的情况下,执行其他任务调度指令,在执行其他任务调度指令之后,执行基于任务调度指令修改有向无环图,得到修改后的有向无环图的步骤。

6、可选地,判断第一修改操作的优先级是否大于第二修改操作的优先级包括:确定第一修改操作在预设优先级序列中的第一位置,并确定第二修改操作在预设优先级序列中的第二位置,其中,预设优先级序列从高到低的排列顺序为发布操作、新增节点或新增组或新增子树、新增或删除边、删除节点、删除组或删除子树;在第一位置在预设优先级序列中位于第二位置之前的情况下,确定第一修改操作的优先级大于第二修改操作的优先级;在第一位置在预设优先级序列中位于第二位置之后的情况下,确定第一修改操作的优先级小于第二修改操作的优先级;在第一位置与第二位置在预设优先级序列中的位置相同的情况下,确定第一修改操作的优先级等于第二修改操作的优先级。

7、可选地,在判断第一修改操作的优先级是否大于第二修改操作的优先级之后,该方法还包括:在第一修改操作的优先级等于第二修改操作的优先级的情况下,确定任务调度指令的第一申请时间和其他任务调度指令的第二申请时间;判断第一申请时间是否早于第二申请时间;在第一申请时间早于第二申请时间的情况下,执行基于任务调度指令修改有向无环图,得到修改后的有向无环图的步骤;在第一申请时间晚于第二申请时间的情况下,执行其他任务调度指令,在执行其他任务调度指令之后,执行基于任务调度指令修改有向无环图,得到修改后的有向无环图的步骤。

8、可选地,获取任务集合的有向无环图包括:从任务集合中提取出n个任务,并确定各个任务之间的依赖关系,其中,n为正整数;从n个任务中确定不存在依赖关系的起始任务,以起始任务作为树形结构的起始节点;将除起始任务以外的其他任务确定为子节点,将与起始任务存在依赖关系的其他任务确定为关联任务,将关联任务对应的子节点与起始节点之间连接边;将存在依赖关系的其他任务对应的子节点之间连接边,得到多个子节点和多条边;基于起始节点、多个子节点和多条边按照树形结构构建有向无环图。

9、可选地,在得到待调度任务在有向无环图中所属的目标调度区域之后,该方法还包括:判断目标调度区域的范围是否大于等于范围阈值;在目标调度区域的范围大于等于范围阈值的情况下,确定任务调度指令中的初始修改操作;在初始修改操作不是发布操作的情况下,将初始修改操作更新为发布操作;在目标调度区域的范围小于范围阈值的情况下,执行初始修改操作。

10、为了实现上述目的,根据本技术的另一方面,提供了一种任务调度装置。该装置包括:获取单元,用于获取任务集合的有向无环图,其中,有向无环图包含多个节点和多条边,多个节点和多条边以树形结构排列,每个节点表征任务集合中的一个任务,每条边表征边连接的两个节点对应的任务之间存在关联关系;接收单元,用于接收用户对任务集合的任务调度指令,解析任务调度指令,得到待调度任务在有向无环图中所属的目标调度区域,其中,目标调度区域包含第一预设数量的节点和第二预设数量的边;执行单元,用于对目标调度区域执行图区域锁操作,基于任务调度指令修改有向无环图,得到修改后的有向无环图,其中,图区域锁操作用于限制用户以外的其他用户对目标调度区域进行修改;解除单元,用于对目标调度区域解除图区域锁操作。

11、通过本技术,采用以下步骤:获取任务集合的有向无环图,其中,有向无环图包含多个节点和多条边,多个节点和多条边以树形结构排列,每个节点表征任务集合中的一个任务,每条边表征边连接的两个节点对应的任务之间存在关联关系;接收用户对任务集合的任务调度指令,解析任务调度指令,得到待调度任务在有向无环图中所属的目标调度区域,其中,目标调度区域包含第一预设数量的节点和第二预设数量的边;对目标调度区域执行图区域锁操作,基于任务调度指令修改有向无环图,得到修改后的有向无环图,其中,图区域锁操作用于限制用户以外的其他用户对目标调度区域进行修改;对目标调度区域解除图区域锁操作,解决了相关技术中在任务调度时需要锁住全部有向无环图,导致任务调度效率低的问题。通过对任务集合的有向无环图的目标调度区域执行图区域锁操作,对有向无环图的目标调度区域进行修改,不影响有向无环图中除目标调度区域以外的其他区域的修改,进而达到了提高任务调度效率的效果。

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