分布式任务调度的方法、任务调度平台及任务执行器
文献发布时间:2023-06-19 10:41:48
技术领域
本发明涉及计算机技术领域,具体地涉及一种分布式任务调度的方法、任务调度平台及任务执行器。
背景技术
现有的分布式任务调度系统几乎都是针对云服务器架构体系来设计,调度中心和任务执行器都需要固定的互联网协议(Internet Protocol,IP)地址,两者需要进行双向通讯,大致过程为:任务执行器向调度中心注册,调度中心主动发送任务给任务执行器,任务执行器执行完后回复执行结果给调度中心。基于双向通信架构的调度中心和任务执行器都需要预先设定机器的IP地址,调度中心根据任务执行器的IP地址,识别任务执行器并直接发送任务给执行器。对于边缘设备来说,几乎都是动态IP分配,因此,无法接入现有的任务调度体系中,无法有效利用数量庞大的计算资源。基于机器级别的任务执行器识别,限制了一台机器只能部署一个任务执行器,往往云服务器的性能较好,能够同时运行多个任务执行器。因此,传统的分布式调度系统在一定程度上会造成资源的浪费。
发明内容
本发明实施例的目的是提供一种分布式任务调度的方法、任务调度平台及任务执行器。用以解决传统的分布式调度系统在一定程度上会造成资源浪费的问题。
为了实现上述目的,本发明第一方面提供一种分布式任务调度的方法,应用于任务调度平台,任务调度平台与任务执行器通信,任务执行器设置于云服务器和/或边缘设备中,该方法包括:
接收任务执行器发送的心跳注册请求,心跳注册请求包括任务执行器的状态信息;
响应于接收到心跳注册请求,生成任务执行器对应的任务信箱;
根据任务执行器的状态信息将任务池中的任务派发至任务执行器对应的任务信箱。
在本发明的实施例中,任务执行器的状态信息包括以下至少一项:
任务执行器的通用唯一识别码、任务执行器的节点状态;
根据任务执行器的状态信息将任务池中的任务派发至任务执行器对应的任务信箱,包括:
获取任务池中的每一任务对应的通用唯一识别码,以确定每一任务对应的任务执行器;
根据通用唯一识别码确定每一任务对应任务信箱,并将每一任务派发至对应的任务信箱。
在本发明的实施例中,该方法还包括:
获取任务执行器固定间隔时间段发送的任务获取请求;
根据任务获取请求从对应的任务信箱取出一个任务信息返回任务执行器。
在本发明的实施例中,任务获取请求中包括对应的任务执行器的唯一识别码;
根据任务获取请求从对应的任务信箱取出一个任务返回任务执行器,包括:
根据任务获取请求中的唯一识别码确定任务获取请求对应的目标任务执行器和目标任务信箱;
从目标任务信箱中获取对应的任务信息,并将任务信息发送至目标任务执行器。
在本发明的实施例中,该方法还包括:
获取任务执行器发送的任务处理信息,任务处理信息包括任务执行器对应的任务处理进度信息;
将任务处理信息存储于数据库。
本发明第二方面提供一种分布式任务调度的方法,应用于任务执行器,任务执行器与任务调度平台通信,任务执行器设置于云服务器和/或边缘设备中,该方法包括:
发送心跳注册请求至任务调度平台;心跳注册请求包括任务执行器的状态信息;
按照固定间隔时间段向任务调度平台发送任务获取请求;
在接收到任务调度平台返回的任务后,执行任务。
本发明第三方面提供一种任务调度平台,任务调度平台与任务执行器通信,任务执行器设置于云服务器和/或边缘设备中,任务调度平台包括:
心跳管理模块,被配置成接收任务执行器发送的心跳注册请求;心跳注册请求包括任务执行器的状态信息;
信箱生成模块,被配置成响应于接收到心跳注册请求并生成任务执行器对应的任务信箱;
任务派发模块,被配置成根据任务执行器的状态信息将任务池中的任务派发至任务执行器对应的任务信箱。
本发明第四方面提供一种任务执行器,任务执行器与任务调度平台通信,任务执行器设置于云服务器和/或边缘设备中,任务执行器被配置成:
发送心跳注册请求至任务调度平台;心跳注册请求包括任务执行器的状态信息;
按照固定间隔时间段向任务调度平台发送任务获取请求;
在接收到任务调度平台返回的任务后,执行任务。
本发明第五方面提供一种任务处理系统,包括:
上述的任务调度平台;
上述的任务执行器。
在本发明的实施例中,任务调度平台包括任务获取接口,任务调度平台通过任务获取接口与每一任务执行器、每一任务信箱进行连接;
任务调度平台通过任务获取接口将每一任务信箱中的任务发送至对应的任务执行器;
任务执行器通过任务获取接口向任务信箱发送任务获取请求,以使任务调度平台根据任务获取请求向对应的任务执行器派发任务。
通过上述技术方案,将任务执行器设置于云服务器和/或边缘设备,任务执行器与任务调度平台通信,通过任务执行器发送心跳注册请求,任务调度平台生成对应的任务信箱,将任务派发至任务执行器对应的任务信箱,以便任务执行器可以直接取出任务去执行。任务执行器能够同时工作于服务器和边缘设备,且一台机器能够部署多个任务执行器,能够有效提高分布式任务调度的计算资源利用率。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1是本发明一实施例提供的分布式任务调度的方法的流程示意图;
图2是本发明另一实施例提供的分布式任务调度的方法的流程示意图;
图3时本发明另一实施例提供的分布式任务调度的方法的流程示意图;
图4是本发明一示例提供的任务执行器的任务获取方法的流程示意图;
图5是本发明另一示例提供的任务调度平台的异步调度方法的流程示意图;
图6是本发明实施例提供的一种任务调度平台的结构示意图。
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施方式之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
图1是本发明一实施例提供的分布式任务调度的方法的流程示意图。如图1所示,本发明实施例提供一种分布式任务调度的方法,应用于任务调度平台,任务调度平台与任务执行器通信,任务执行器设置于云服务器和/或边缘设备中。该方法可以包括以下步骤。
在步骤S11中,接收任务执行器发送的心跳注册请求,心跳注册请求包括任务执行器的状态信息。在本发明的实施例中,任务调度平台是指负责任务管理、分配任务的平台。任务执行器是指执行实际的任务处理逻辑的服务器。任务执行器可以部署于云服务器和边缘设备中。云服务器是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。边缘设备是向企业或服务提供商核心网络提供入口点的设备,例如:路由器、路由交换机、集成接入设备、多路复用器,以及各种城域网和广域网计入设备。传统的任务调度平台是基于IP地址作为唯一标识的方式,对于边缘设备来说,几乎都是动态IP,因此无法接入现有的任务调度体系中。而本发明的实施例中,任务执行器发送心跳注册请求至任务调度平台。
心跳注册是指任务执行器每隔固定时间向任务调度平台发送一次注册请求,以使得任务调度平台获取任务执行器的状态信息。其中,心跳注册请求包括任务执行器的状态信息,例如,通用唯一识别码(Universally Unique Identifier,UUID)。在本发明的实施例中,任务执行器的状态信息包括以下至少一项:任务执行器的通用唯一识别码、任务执行器的节点状态。任务调度平台接收到任务执行器发送的心跳注册,可以获取关于该任务执行器的状态信息,例如,用于该任务执行器的身份识别信息以及该任务执行器的节点状态信息。以便任务调度平台根据任务执行器的状态信息分配任务。
在步骤S12中,响应于接收到心跳注册请求,生成任务执行器对应的任务信箱。在本发明的实施例中,任务信箱是指用于存储分配给执行器的计算任务。任务调度平台接收到任务执行器的心跳注册请求,可以获取任务执行器对应的状态信息,状态信息可以包括任务执行器的UUID。根据任务执行器的UUID可以生成与任务执行器匹配的任务信箱。用于存储待分配给任务执行器的任务,以便任务执行器从对应的任务信箱中获取任务。
在步骤S13中,根据任务执行器的状态信息将任务池中的任务派发至任务执行器对应的任务信箱。在本发明的实施例中,任务池是指存储于任务调度平台的全部任务,当机器接收到任务后,将任务交给任务池,任务池保存于数据库。任务执行平台接收到的任务执行器的状态信息还可以包括任务执行器的类型、配置、节点信息,节点信息可以是当前任务执行器是否空闲等。任务执行平台根据执行器的状态信息将任务池的任务派发至不同的任务信箱中。在一个示例中,任务执行平台可以根据任务调度策略和任务执行器的节点状态派发任务。任务调度策略可以包括多种,例如,将同类型的任务平均派分至多个同类型的任务信箱中;或者按照优先级顺序将任务派分至多个任务信箱中。任务调度平台将任务派发至不同的任务信箱中,每个任务信箱与对应的任务执行器匹配,以便在任务执行器发送任务获取请求时,将任务取出返回至对应的任务执行器。
通过上述技术方案,将任务执行器设置于云服务器和/或边缘设备,任务执行器与任务调度平台通信,通过任务执行器发送心跳注册请求,任务调度平台生成对应的任务信箱,将任务派发至任务执行器对应的任务信箱,以便任务执行器可以直接取出任务去执行。任务执行器能够同时工作于服务器和边缘设备,且一台机器能够部署多个任务执行器,能够有效提高分布式任务调度的计算资源利用率。
在本发明的实施例中,任务执行器的状态信息包括以下至少一项:任务执行器的通用唯一识别码、任务执行器的节点状态;
根据任务执行器的状态信息将任务池中的任务派发至任务执行器对应的任务信箱,包括:
获取任务池中的每一任务对应的通用唯一识别码,以确定每一任务对应的任务执行器;
根据通用唯一识别码确定每一任务对应任务信箱,并将每一任务派发至对应的任务信箱。
具体地,任务调度平台接收到任务执行器发送的心跳注册,可以获取关于该任务执行器的状态信息,例如,用于该任务执行器的身份识别信息以及该任务执行器的节点状态信息,以便任务调度平台根据任务执行器的状态信息分配任务。任务池是指存储于任务调度平台的全部任务,当机器接收到任务后,将任务交给任务池,任务池保存于数据库。任务池中的每个任务对应通用唯一识别码,这样可以确定每一任务对应的任务执行器。任务执行平台接收到的任务执行器的状态信息还可以包括任务执行器的类型、配置、节点信息,节点信息可以是当前任务执行器是否空闲等。任务执行平台根据执行器的状态信息将任务池的任务派发至不同的任务信箱中。任务调度平台将任务派发至不同的任务信箱中,每个任务信箱与对应的任务执行器匹配,以便在任务执行器发送任务获取请求时,将任务取出返回至对应的任务执行器。
图2是本发明另一实施例提供的分布式任务调度的方法的流程示意图。如图2所示,该方法还可以包括:
步骤S14、获取任务执行器固定间隔时间段发送的任务获取请求;
步骤S15、根据任务获取请求从对应的任务信箱取出一个任务信息返回任务执行器。
在本发明的实施方式中,任务调度平台不需要主动发送任务至任务执行器,任务执行器可以以定时轮询的方式发送任务获取请求至任务调度平台。定时轮询是指以固定的时间间隔,循环执行发送任务获取请求的动作。任务调度平台获取到任务执行器发送的获取请求后,判断对应的任务信箱是否有待分配任务,在任务信箱有待分配任务的情况下,取出一个任务信息返回任务执行器。这样,可以提高任务调度的效率。
在本发明的实施例中,任务获取请求中包括对应的任务执行器的唯一识别码;
根据任务获取请求从对应的任务信箱取出一个任务返回任务执行器,包括:
根据任务获取请求中的唯一识别码确定任务获取请求对应的目标任务执行器和目标任务信箱;
从目标任务信箱中获取对应的任务信息,并将任务信息发送至目标任务执行器。
具体地,任务执行器发送的任务获取请求可以包括任务执行器的唯一识别码。这样,任务调度平台可以根据唯一识别码确定任务获取请求对应的目标任务执行器和目标任务信箱。每个目标任务信箱与每个任务执行器相匹配。任务调度平台从目标任务信箱中获取对应的任务信息,将任务信息发送至目标任务执行器。这样,可以使得每个信箱都能跟任务执行器更好地匹配,以便任务执行器能够准确地从任务信箱取出目标任务。
在本发明的实施例中,该方法还包括:
获取任务执行器发送的任务处理信息;任务处理信息包括任务执行器对应地任务处理进度信息;
将任务处理信息存储于数据库。
具体地,任务处理信息可以时任务执行器执行任务的过程信息,任务执行器可以将任务处理信息发送至任务调度平台,任务调度平台将任务处理信息存储至数据库,以便进行统一的管理,并且作为任务调度策略的参考。
图3是本发明另一实施例提供的分布式任务调度的方法的流程示意图。如图3所示,本发明的实施例提供一种分布式任务调度的方法,应用于任务执行器,任务执行器与任务调度平台通信,任务执行器设置于云服务器和/或边缘设备中,该方法可以包括以下步骤。
在步骤S31中,发送心跳注册请求至任务调度平台;心跳注册请求包括任务执行器的状态信息。在本发明的实施例中,心跳注册是指任务执行器每隔固定时间向任务调度平台发送一次注册请求,以使得任务调度平台获取任务执行器的状态信息。其中,心跳注册请求包括任务执行器的状态信息,例如,通用唯一识别码(Universally Unique Identifier,UUID)。在本发明的实施例中,任务执行器的状态信息包括以下至少一项:任务执行器的通用唯一识别码、任务执行器的节点状态。任务调度平台接收到任务执行器发送的心跳注册,可以获取关于该任务执行器的状态信息,例如,用于该任务执行器的身份识别信息以及该任务执行器的节点状态信息。以便任务调度平台根据任务执行器的状态信息分配任务。任务调度平台可以响应于接收到心跳注册请求,生成任务执行器对应的任务信箱,再根据任务执行器的状态信息将任务池中的任务派发至任务执行器对应的任务信箱。每个任务信箱与每个任务执行器匹配,以便任务执行器从任务信箱中取出任务。
在步骤S32中,按照固定间隔时间段向任务调度平台发送任务获取请求。在本发明的实施例中,任务调度平台不需要主动发送任务至任务执行器,任务执行器可以以定时轮询的方式发送任务获取请求至任务调度平台。定时轮询是指以固定的时间间隔,循环执行发送任务获取请求的动作。
在步骤S33中,在接收到任务调度平台返回的任务后,执行任务。在本发明的实施例中,任务调度平台获取到任务执行器发送的获取请求后,判断对应的任务信箱是否有待分配任务,在任务信箱有待分配任务的情况下,取出一个任务返回任务执行器。任务执行器获取任务后,执行该任务。这样,可以提高任务调度的效率。
在本发明的实施例中,该方法还包括:
发送执行任务过程对应的任务处理信息至任务调度平台。
具体地,任务处理信息可以时任务执行器执行任务的过程信息,任务执行器可以将任务处理信息发送至任务调度平台,任务调度平台将任务处理信息存储至数据库,以便进行统一的管理,并且作为任务调度策略的参考。
图4是本发明一示例提供的任务执行器的任务获取方法的流程示意图。如图4所示,在一个示例中,任务执行器为图像处理任务执行器。任务执行器可以为多个,分别设置于云服务器和边缘设备中,任务执行器发送心跳注册请求至任务调度平台,心跳注册可以包括任务执行器的状态信息。其中,状态信息可以包括任务执行器的UUID或者节点信息等。任务调度平台接收到任务执行器发送的心跳注册请求后,根据任务执行器的状态信息将任务派发至任务执行器对应的任务信箱中。任务执行器按照固定将额时间段定时轮询任务调度平台,发送任务获取请求,在任务信箱具有任务的情况下,取出一个任务执行。在本发明的实施例中,任务调度平台不需要主动发送任务至任务执行器,任务执行器可以以定时轮询的方式发送任务获取请求至任务调度平台。这样,可以提高任务调度的效率。
图5是本发明另一提供的任务调度平台的异步任务调度方法的流程示意图。如图5所示,在另一个示例中,任务调度平台可以包括任务池、任务派发模块、任务信箱和任务执行器(图中简称执行器)和数据库。任务派发模块通过任务调度策略和任务执行器的节点信息从任务池中将任务投递至对应的任务信箱。任务调度策略可以包括多种,例如,将同类型的任务平均派分至多个同类型的任务信箱中;或者按照优先级顺序将任务派分至多个任务信箱中。任务执行器通过任务获取应用程序编程接口(Application ProgrammingInterface,API)发送任务获取请求,根据任务获取请求从对应的任务信箱取出一个任务返回任务执行器。在任务执行器处理完任务后,可以通过任务进度汇报API向任务调度平台发送任务汇报请求,任务调度平台获取任务处理信息(图示的任务过程处理),并将任务处理信息存储于数据库。任务调度平台不需要主动发送任务至任务执行器,任务执行器可以以定时轮询的方式发送任务获取请求至任务调度平台,这样,可以提高任务调度的效率。
图6是本发明的实施例提供的一种任务调度平台的结构示意图。如图6所示,本发明实施例提供一种任务调度平台,任务调度平台与任务执行器通信,任务执行器设置于云服务器和/或边缘设备中,任务调度平台包括以下模块。
心跳管理模块61,被配置成接收任务执行器发送的心跳注册请求;心跳注册请求包括任务执行器的状态信息。在本发明的实施例中,任务调度平台是指负责任务管理、分配任务的平台。任务执行器是指执行实际的任务处理逻辑的服务器。任务执行器可以部署于云服务器和边缘设备中。云服务器是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。边缘设备是向企业或服务提供商核心网络提供入口点的设备,例如:路由器、路由交换机、集成接入设备、多路复用器,以及各种城域网和广域网计入设备。传统的任务调度平台是基于IP地址作为唯一标识的方式,对于边缘设备来说,几乎都是动态IP,因此无法接入现有的任务调度体系中。而本发明的实施例中,任务执行器发送心跳注册请求至任务调度平台。
心跳注册是指任务执行器每隔固定时间向任务调度平台发送一次注册请求,以使得任务调度平台获取任务执行器的状态信息。其中,心跳注册请求包括任务执行器的状态信息,例如,通用唯一识别码(Universally Unique Identifier,UUID)。在本发明的实施例中,任务执行器的状态信息包括以下至少一项:任务执行器的通用唯一识别码、任务执行器的节点状态。任务调度平台接收到任务执行器发送的心跳注册,可以获取关于该任务执行器的状态信息,例如,用于该任务执行器的身份识别信息以及该任务执行器的节点状态信息。以便任务调度平台根据任务执行器的状态信息分配任务。
信箱生成模块62,被配置成响应于接收到心跳注册请求并生成任务执行器对应的任务信箱。在本发明的实施例中,任务信箱是指用于存储分配给执行器的计算任务。任务调度平台接收到任务执行器的心跳注册请求,可以获取任务执行器对应的状态信息,状态信息可以包括任务执行器的UUID。根据任务执行器的UUID可以生成与任务执行器匹配的任务信箱。用于存储待分配给任务执行器的任务,以便任务执行器从对应的任务信箱中获取任务。
任务派发模块63,被配置成根据任务执行器的状态信息将任务池中的任务派发至任务执行器对应的任务信箱。
在本发明的实施例中,在本发明的实施例中,任务池是指存储于任务调度平台的全部任务,当机器接收到任务后,将任务交给任务池,任务池保存于数据库。任务执行平台接收到的任务执行器的状态信息还可以包括任务执行器的类型、配置、节点信息,系欸但信息可以是当前任务执行器是否空闲等。任务执行平台根据执行器的状态信息将任务池的任务派发至不同的任务信箱中。在一个示例中,任务执行平台可以根据任务调度策略和任务执行器的节点状态及逆行派发任务。任务调度策略可以包括多种,例如,将同类型的任务平均派分至多个同类型的任务信箱中;或者按照优先级顺序将任务派分至多个任务信箱中。任务调度平台将任务派发至不同的任务信箱中,每个任务信箱与对应的任务执行器匹配,以便在任务执行器发送任务获取请求时,将任务取出返回至对应的任务执行器。
通过上述技术方案,将任务执行器设置于云服务器和/或边缘设备,任务执行器与任务调度平台通信,通过任务执行器发送心跳注册请求,任务调度平台生成对应的任务信箱,将任务派发至任务执行器对应的任务信箱,以便任务执行器可以直接取出任务去执行。任务执行器能够同时工作于服务器和边缘设备,且一台机器能够部署多个任务执行器,能够有效提高分布式任务调度的计算资源利用率。
在本发明的实施方式中,任务派发模块还被配置成:
获取任务执行器固定间隔时间段发送的任务获取请求;
根据任务获取请求从对应的任务信箱取出一个任务信息返回任务执行器。
具体地,任务调度平台不需要主动发送任务至任务执行器,任务执行器可以以定时轮询的方式发送任务获取请求至任务调度平台。定时轮询是指以固定的时间间隔,循环执行发送任务获取请求的动作。任务调度平台获取到任务执行器发送的获取请求后,判断对应的任务信箱是否有待分配任务,在任务信箱有待分配任务的情况下,取出一个任务返回任务执行器。这样,可以提高任务调度的效率。
在本发明的实施方式中,任务调度平台还包括:
存储模块,被配置成获取任务执行器发送的任务处理信息;将任务处理信息存储于数据库。
具体地,任务处理信息可以时任务执行器执行任务的过程信息,任务执行器可以将任务处理信息发送至任务调度平台,任务调度平台将任务处理信息存储至数据库,以便进行统一的管理,并且作为任务调度策略的参考。
本发明实施例还提供一种任务执行器,任务执行器与任务调度平台通信,任务执行器设置于云服务器和/或边缘设备中,任务执行器被配置成:
发送心跳注册请求至任务调度平台;心跳注册请求包括任务执行器的状态信息;
按照固定间隔时间段向任务调度平台发送任务获取请求;
在接收到任务调度平台返回的任务后,执行任务。
在本发明的实施例中,心跳注册是指任务执行器每隔固定时间向任务调度平台发送一次注册请求,以使得任务调度平台获取任务执行器的状态信息。其中,心跳注册请求包括任务执行器的状态信息,例如,通用唯一识别码(Universally Unique Identifier,UUID)。在本发明的实施例中,任务执行器的状态信息包括以下至少一项:任务执行器的通用唯一识别码、任务执行器的节点状态。任务调度平台接收到任务执行器发送的心跳注册,可以获取关于该任务执行器的状态信息,例如,用于该任务执行器的身份识别信息以及该任务执行器的节点状态信息。以便任务调度平台根据任务执行器的状态信息分配任务。任务调度平台可以响应于接收到心跳注册请求,生成任务执行器对应的任务信箱,再根据任务执行器的状态信息将任务池中的任务派发至任务执行器对应的任务信箱。每个任务信箱与每个任务执行器匹配,以便任务执行器从任务信箱中取出任务。任务调度平台不需要主动发送任务至任务执行器,任务执行器可以以定时轮询的方式发送任务获取请求至任务调度平台。定时轮询是指以固定的时间间隔,循环执行发送任务获取请求的动作。任务调度平台获取到任务执行器发送的获取请求后,判断对应的任务信箱是否有待分配任务,在任务信箱有待分配任务的情况下,取出一个任务返回任务执行器。任务执行器获取任务后,执行该任务。这样,可以提高任务调度的效率。
在本发明的实施例中,任务执行器还被配置成:
发送执行任务过程对应的任务处理信息至任务调度平台。
具体地,任务处理信息可以时任务执行器执行任务的过程信息,任务执行器可以将任务处理信息发送至任务调度平台,任务调度平台将任务处理信息存储至数据库,以便进行统一的管理,并且作为任务调度策略的参考。
本发明还提供一种任务处理系统,包括:
上述的任务调度平台;
上述的任务执行器。
在本发明的实施例中,任务调度平台包括任务获取接口,任务调度平台通过任务获取接口与每一任务执行器、每一任务信箱进行连接;
任务调度平台通过任务获取接口将每一任务信箱中的任务发送至对应的任务执行器;
任务执行器通过任务获取接口向任务信箱发送任务获取请求,以使任务调度平台根据任务获取请求向对应的任务执行器派发任务。
通过上述技术方案,将任务执行器设置于云服务器和/或边缘设备,任务执行器与任务调度平台通信,通过任务执行器发送心跳注册请求,任务调度平台生成对应的任务信箱,将任务派发至任务执行器对应的任务信箱,以便任务执行器可以直接取出任务去执行。任务执行器能够同时工作于服务器和边缘设备,且一台机器能够部署多个任务执行器,能够有效提高分布式任务调度的计算资源利用率。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
- 分布式任务调度的方法、任务调度平台及任务执行器
- 用于量子云计算平台任务调度的方法、装置和量子云计算平台任务调度服务器