任务调度方法、装置、系统及存储介质制造方法及图纸

技术编号:24409230 阅读:49 留言:0更新日期:2020-06-06 08:26
本申请公开了一种任务调度方法、装置、系统及存储介质,属于计算机技术领域。在本申请中,状态检测设备可以监测调度端集群中每个调度端的状态,当存在因状态发生变更而导致任务处理能力发生变更的调度端时,处于正常工作状态的每个调度端可以根据状态监测设备发送的状态变更消息,重新确定自身的任务调度范围,以调度任务调度系统需要执行的的任务。按照本申请提供的方法,若某个调度端故障或下线,其负责调度的任务可以被其他调度端继续负责调度,也即可靠性较高。另外,本申请中调度端集群可以动态扩容或缩容,也即可扩展性较高,且各个调度端无需具备很高的配置,可以减少资源浪费。

Task scheduling method, device, system and storage medium

【技术实现步骤摘要】
任务调度方法、装置、系统及存储介质
本申请涉及计算机
,特别涉及一种任务调度方法、装置、系统及存储介质。
技术介绍
当前,用户可以将业务逻辑封装成任务,通过客户端将任务的相关数据发送到任务调度系统中,任务调度系统负责任务的配置、控制和管理、以及任务执行状态的监控等。通常,任务调度系统可以包括数据服务器、调度端和执行端,数据服务器中存储有客户端上传的各个任务的相关数据,调度端可以从数据服务器中获取任务的相关数据,将获取的任务的相关数据发送给执行端,执行端根据任务的相关数据去执行相应的任务。在相关技术中,任务调度系统中的调度端采用主备方案进行部署,也即是主调度端和备调度端同时存在。正常情况下,主调度端处于工作状态,备调度端处于休眠状态,当主调度端异常时,备调度端会切换到工作状态。也即是,正常情况下,主调度端可以定时轮询数据服务器,当监测到一个任务满足执行条件时,获取该任务的相关数据,并发送给执行端去执行该任务。当主调度端异常时,备调度端可以接替主调度端的工作。但是,当主调度端出现异常,备调度端也出现异常时,会造成整个任务调度系统瘫痪,也即是可靠性较低。并且当任务规模较大时,主调度端处理能力有限,无法满足大规模的任务调度,也即是可扩展性较差。另外,为了尽量提升调度端的处理能力,调度端通常采用很高配置的高性能机器,在任务规模较小时,无法发挥高配置的优势,造成了资源浪费,也即是资源利用率较低。
技术实现思路
本申请提供了一种任务调度方法、装置、系统及存储介质,可以提高任务调度系统的可靠性、可扩展性,且可以提高资源利用率。所述技术方案如下:第一方面,提供了一种任务调度方法,该方法包括:目标调度端接收状态监测设备发送的状态变更消息,该状态变更消息用于指示因状态发生变更而导致任务处理能力发生变更的调度端的信息,目标调度端是指调度端集群中处于正常工作状态的任一调度端;该目标调度端根据该状态变更消息,以及调度端集群中处于正常工作状态的调度端的数量,重新确定自身的任务调度范围,以调度任务调度系统需要执行的任务。在本申请中,任务调度系统包括调度端集群和状态监测设备,调度端集群包括多个调度端,状态监测设备用于监测调度端集群中的每个调度端的工作状态,在监测到调度端集群中存在因状态发生变更而导致任务处理能力发生变更的调度端时,可以向目标调度端发送状态变更消息,以指示目标调度端重新确定自身的任务调度范围,保障调度端集群中处于正常工作状态的调度端可以调度任务调度系统需要执行的任务,也即保障任务调度系统的可靠性。对于调度端集群中的任一调度端来说,这个调度端可以在上电之后,在状态监测设备上进行注册,也即是,向状态监测设备发送上线请求。这样,状态监测设备可以确定当前监测到一个新上线的调度端。之后,状态监测设备可以与这个调度端建立通信连接,并通过该通信连接与该调度端传输心跳消息。如果状态监测设备与该调度端能够正常传输心跳消息,则状态监测设备可以确定该调度端处于正常工作状态,如果状态监测设备与该调度端不能正常传输心跳消息,则状态监测设备可以确定该调度端故障。另外,对于调度端集群中的任一调度端来说,如果因为某些原因需要下线这个调度端,那么,该调度端可以向状态监测设备发送下线请求。这样,状态监测设备可以确定当前监测到一个新下线的调度端。在本申请中,如果状态监测设备监测到调度端集群中存在状态发生变更的调度端,则可以生成状态变更消息,并将生成的状态变更消息发送给处于正常工作状态的调度端。由此可见,在本申请中,每当调度端集群中某调度端故障、下线或者上线时,状态监测设备可以实时向处于正常工作状态的调度端发送状态变更消息,以及时通知处于正常工作状态的调度端当前调度端集群中存在任务处理能力发生变更的调度端。其中,因状态发生变更而导致任务处理能力发生变更的调度端包括当前发生故障、当前下线或者当前上线的调度端。需要说明的是,当调度端集群中存在发生故障的调度端时,当前即指调度端由正常工作状态变为发生故障的时刻;当调度端集群中存在下线的调度端时,当前即指调度端由正常工作状态变为下线的时刻;当调度端集群中存在上线的调度端时,当前即指调度端由休眠(待机)、故障或者不带电等状态变为上线的时刻。或者,由于状态监测设备与调度端集群的通信时延很低,可以忽略,当前也可以指状态监测设备监测到调度端集群中存在状态发生变更的调度端的时刻,或者生成状态变更消息的时刻,或者发送状态变更消息的时刻。由前述可知,因状态发生变更而导致任务处理能力发生变更的调度端包括当前发生故障、当前下线或者当前上线的调度端,也即状态变更消息可以是状态监测设备监测到调度端集群中存在发生故障、下线或者上线的调度端时发送的。其中,当调度端集群中存在发生故障或者下线的调度端时,表示当前处于正常工作状态的调度端减少了,当调度端集群中存在上线的调度端时,表示当前处于正常工作状态的调度端增加了。由于调度端集群中的调度端减少或者增加的情况下,目标调度端根据该状态变更消息,以及调度端集群中处于正常工作状态的调度端的数量,重新确定自身的任务调度范围的实现方式也不同。可选地,因状态发生变更而导致任务处理能力发生变更的调度端包括当前发生故障或者当前下线的调度端,状态变更消息携带当前发生故障或者当前下线的调度端的标识。这种情况下,目标调度端根据状态变更消息,以及调度端集群中处于正常工作状态的调度端的数量,重新确定自身的任务调度范围,包括:目标调度端根据将存储的调度端的标识中当前发生故障或者当前下线的调度端的标识之外的标识,确定为调度端集群中处于正常工作状态的一个或多个调度端的标识;目标调度端根据该一个或多个调度端的标识,以及该一个或多个调度端的总数量,重新确定自身的任务调度范围。在本申请中,由于状态监测设备每监测到一个状态发生变更的调度端,就会向调度端集群中处于正常工作状态的调度端发送工作状态发生变更的这个调度端的标识,而且对于新上线的调度端,状态监测设备还可以将其他处于正常工作状态的调度端的标识同步给当前上线的调度端,因此,调度端集群中的每个调度端上都存储有处于正常工作状态的调度端的标识。这样,当目标调度端接收到携带当前发生故障或者当前下线的调度端的标识时,目标调度端可以将存储的调度端的标识中当前发生故障或者当前下线的调度端的标识之外剩余的调度端的标识,确定为调度端集群中仍处于正常工作状态的一个或多个调度端的标识。之后,该目标调度端可以根据该一个或多个调度端的标识,以及该一个或多个调度端的总数量,重新确定自身的任务调度范围。可选地,因状态发生变更而导致任务处理能力发生变更的调度端包括当前上线的调度端,状态变更消息携带当前上线的调度端的标识。这种情况下,目标调度端根据状态变更消息,以及调度端集群中处于正常工作状态的调度端的数量,重新确定自身的任务调度范围,包括:目标调度端将当前上线的调度端的标识,以及存储的调度端的标识,确定为调度端集群中处于正常工作状态的一个或多个调度端的标识;目标调度端根据该一个或多个调度端的标识,以及该一个或多个调度端的本文档来自技高网...

【技术保护点】
1.一种任务调度方法,其特征在于,所述方法包括:/n目标调度端接收状态监测设备发送的状态变更消息,所述状态变更消息用于指示因状态发生变更而导致任务处理能力发生变更的调度端的信息,所述目标调度端是指调度端集群中处于正常工作状态的任一调度端;/n所述目标调度端根据所述状态变更消息,以及所述调度端集群中处于正常工作状态的调度端的数量,重新确定自身的任务调度范围,以调度任务调度系统需要执行的任务。/n

【技术特征摘要】
1.一种任务调度方法,其特征在于,所述方法包括:
目标调度端接收状态监测设备发送的状态变更消息,所述状态变更消息用于指示因状态发生变更而导致任务处理能力发生变更的调度端的信息,所述目标调度端是指调度端集群中处于正常工作状态的任一调度端;
所述目标调度端根据所述状态变更消息,以及所述调度端集群中处于正常工作状态的调度端的数量,重新确定自身的任务调度范围,以调度任务调度系统需要执行的任务。


2.如权利要求1所述的方法,其特征在于,所述因状态发生变更而导致任务处理能力发生变更的调度端包括当前发生故障或者当前下线的调度端,所述状态变更消息携带当前发生故障或者当前下线的调度端的标识;
所述目标调度端根据所述状态变更消息,以及所述调度端集群中处于正常工作状态的调度端的数量,重新确定自身的任务调度范围,包括:
所述目标调度端将存储的调度端的标识中当前发生故障或者当前下线的调度端的标识之外的标识,确定为所述调度端集群中处于正常工作状态的一个或多个调度端的标识;
所述目标调度端根据所述一个或多个调度端的标识,以及所述一个或多个调度端的总数量,重新确定自身的任务调度范围。


3.如权利要求1所述的方法,其特征在于,所述因状态发生变更而导致任务处理能力发生变更的调度端包括当前上线的调度端,所述状态变更消息携带当前上线的调度端的标识;
所述目标调度端根据所述状态变更消息,以及所述调度端集群中处于正常工作状态的调度端的数量,重新确定自身的任务调度范围,包括:
所述目标调度端将当前上线的调度端的标识,以及存储的调度端的标识,确定为所述调度端集群中处于正常工作状态的一个或多个调度端的标识;
所述目标调度端根据所述一个或多个调度端的标识,以及所述一个或多个调度端的总数量,重新确定自身的任务调度范围。


4.如权利要求2或3所述的方法,其特征在于,所述目标调度端根据所述一个或多个调度端的标识,以及所述一个或多个调度端的总数量,重新确定自身的任务调度范围,包括:
所述目标调度端根据所述一个或多个调度端的标识,确定自身在所述一个或多个调度端中所处的排序位置;
所述目标调度端根据自身在所述一个或多个调度端中所处的排序位置、所述一个或多个调度端的总数量、以及哈希环上的初始位置,从所述哈希环上确定一个编号范围,所述哈希环上分布有多个编号,所述多个编号与所述任务调度系统需要执行的任务对应;
所述目标调度端将所述编号范围所对应的任务范围确定为自身的任务调度范围。


5.如权利要求2或3所述的方法,其特征在于,所述目标调度端根据所述一个或多个调度端的标识,以及所述一个或多个调度端的总数量,重新确定自身的任务调度范围,包括:
所述目标调度端根据所述一个或多个调度端的标识,确定所述一个或多个调度端的配置信息,以及自身在所述一个或多个调度端中所处的排序位置;
所述目标调度端根据所述一个或多个调度端的配置信息、自身在所述一个或多个调度端中所处的排序位置、以及哈希环上的初始位置,从所述哈希环上确定一个编号范围,所述哈希环上分布有多个编号,所述多个编号与所述任务调度系统需要执行的任务对应;
所述目标调度端将所述编号范围所对应的任务范围确定为自身的任务调度范围。


6.如权利要求4或5所述的方法,其特征在于,所述目标调度端根据所述一个或多个调度端的标识,确定自身在所述一个或多个调度端中所处的排序位置,包括:
所述目标调度端根据所述一个或多个调度端的标识,确定所述一个或多个调度端的上线顺序;
所述目标调度端根据所述一个或多个调度端的上线顺序,确定自身在所述一个或多个调度端中所处的排序位置。


7.如权利要求4或5所述的方法,其特征在于,所述哈希环上添加的目标任务对应的编号位于目标任务调度范围内,所述目标任务调度范围是按照负载均衡策略,从一个或多个任务调度范围中选择的一个任务调度范围,所述一个或多个任务调度范围是指所述调度端集群中处于正常工作状态的调度端的任务调度范围,所述目标任务为所述任务调度系统需要执行的任一任务;
所述负载均衡策略包括:根据所述调度端集群中处于正常工作状态的调度端的总个数,对初始编号进行哈希运算,得到一个哈希值,根据所述哈希值,从所述一个或多个任务调度范围中确定一个任务调度范围,所述初始编号是指按照任务上传顺序为所述目标任务生成的编号;或者,
所述负载均衡策略包括:根据所述调度端集群中处于正常工作状态的调度端的负载情况和/或配置信息,从所述一个或多个任务调度范围中确定一个任务调度范围。


8.一种任务调度装置,其特征在于,所述装置包括接收器、处理器和存储器;...

【专利技术属性】
技术研发人员:王小军
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1