任务调度方法和系统与流程

专利2026-02-03  12


本发明涉及计算机,具体而言,涉及一种任务调度方法和系统。


背景技术:

1、目前,对于多集群任务调度通常利用哈希算法将任务映射到对应的集群,每个集群管理一部分任务,每个任务都会被分配给同一个集群来处理,从而保证任务一致性。然而,在集群扩缩容的场景下,扩缩容前后同一个任务可能被分给不同的集群处理,存在任务一致性无法保证的问题。


技术实现思路

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、为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。


技术特征:

1.一种任务调度方法,其特征在于,应用于任务调度系统,所述任务调度系统包括网关、至少一个集群和多个任务节点;所述方法包括:

2.根据权利要求1所述的任务调度方法,其特征在于,所述网关根据待处理任务的所属分区和路由规则确定目标集群,包括:

3.根据权利要求1所述的任务调度方法,其特征在于,所述目标集群包括第一集群和第二集群;所述网关根据待处理任务的所属分区和路由规则确定目标集群,包括:

4.根据权利要求3所述的任务调度方法,其特征在于,所述目标集群将所述待处理任务对应的有效任务节点确定为所述待处理任务的目标任务节点,或者将新分配的任务节点作为所述待处理任务的目标任务节点,包括:

5.根据权利要求1-4中任一项所述的任务调度方法,其特征在于,在所述网关根据待处理任务的所属分区和路由规则确定目标集群的步骤之前,所述方法还包括:

6.根据权利要求1所述的任务调度方法,其特征在于,在将新分配的任务节点作为所述待处理任务的目标任务节点的步骤之后,所述方法还包括:

7.根据权利要求1-4中任一项所述的任务调度方法,其特征在于,所述路由规则包括新的路由规则;所述方法还包括:

8.根据权利要求1-4中任一项所述的任务调度方法,其特征在于,所述路由规则包括旧的路由规则,所述方法还包括:

9.根据权利要求1-4中任一项所述的任务调度方法,其特征在于,所述方法还包括:

10.一种任务调度系统,其特征在于,所述任务调度系统包括网关、至少一个集群和多个任务节点;


技术总结
本发明实施例提出一种任务调度方法和系统,涉及计算机技术领域。该方法将任务进行分区管理,利用路由规则维护分区和集群的对应关系,并根据集群扩缩容场景动态更新路由规则,从而保证分区和集群对应关系的时效性。在接收到待处理任务请求时,根据待处理任务的所属分区和路由规则确定目标集群,并在目标集群中查找待处理任务是否存在有效任务节点,若存在则将有效任务节点确定为待处理任务的目标任务节点,否则为待处理任务分配新的任务节点,从而保证任务一致性,为业务快速增长更好地保驾护航。

技术研发人员:白飞飞
受保护的技术使用者:广州虎牙科技有限公司
技术研发日:
技术公布日:2024/12/17
转载请注明原文地址:https://xbbs.6miu.com/read-29374.html