本发明专利技术提供了一种任务调度方法及调度系统,步骤为在混合云环境下启动任务执行节点,获取动态秘钥建立连接;注册任务执行节点;任务管理节点为注册的任务执行节点建立对应的任务消息队列用于发送任务消息;任务管理节点获取要执行的任务信息,下发任务信息至任务消息队列;任务执行节点从其对应的任务消息队列获取任务信息并执行。本发明专利技术采用公有云和私有云均可访问的、安全的任务消息队列服务提供的任务消息队列作为任务执行节点和任务管理节点的通信方式,降低任务执行节点接入任务调度系统的成本以及增加混合云任务调度系统的自动扩缩容功能。
A task scheduling method and system
【技术实现步骤摘要】
一种任务调度方法及调度系统
本专利技术涉及分布式计算机领域,尤其涉及到混合云环境下的任务调度方法及调度系统。
技术介绍
在混合云的环境下,任务管理节点与任务执行节点通信常规的解决方案有:采用zookeeper作为注册中心,维持任务管理节点与任务执行节点之间的心跳连接;通过建立tcp连接作为节点之间的通信通道,进行任务的下发;心跳信息和任务信息都通过tcp连接进行传输;管理节点暴露http任务接口,任务执行节点向管理节点发起http请求去请求任务但是以上方法底层都采用tcp通信,如果多个任务执行节点分布在不同的网络中,那么如何解决跨网络的tcp通信便成了问题。要解决这个问题,就要搭建一个VPN网络。但是当网络非常多时,维护VPN网络的成本将急速上升。
技术实现思路
本专利技术针对现有技术中的缺点,提供了一种采用公有云和私有云均可访问的、安全的任务消息队列服务提供的任务消息队列作为任务执行节点和任务管理节点的通信方式。为了解决上述技术问题,本专利技术通过下述技术方案得以解决:一种任务调度方法,包括以下步骤:启动任务执行节点,获取动态秘钥建立连接;注册任务执行节点;任务管理节点为注册的任务执行节点建立对应的任务消息队列用于发送任务消息;任务管理节点获取要执行的任务信息,下发任务信息至任务消息队列;任务执行节点从其对应的任务消息队列获取任务信息并执行。还包括:设置心跳消息队列,心跳消息队列与任务管理节点实现通信;任务执行节点与心跳消息队列建立连接,连接成功后发送节点注册消息给心跳消息队列;心跳消息队列发送注册信息给任务管理节点;任务管理节点收到任务执行节点注册消息后,对任务执行节点的信息进行校验,校验成功,则注册任务执行节点成功。其中,公有云和私有云均可访问任务消息队列服务提供的所述任务消息队列。其中,任务执行节点执行任务过程中通过心跳消息队列发送实时上报任务执行情况和任务执行节点状态;当任务执行节点完成任务后,通过心跳消息队列发送任务完成消息,任务管理节点接收到任务完成消息后标注该任务已经完成。其中,任务管理节点从数据库中获取需要执行的任务信息;检查任务执行节点的资源情况,确定执行该任务的任务执行节点:若任务执行节点资源充足,任务正常下发;若任务执行节点资源不够,任务管理节点发起扩容请求。其中,任务管理节点获取需要执行的任务信息为定时任务时,先加载任务信息到内存,再进行任务分配。其中,任务管理节点通过心跳消息队列发送的数据判断任务执行节点是否处于正常状态,如果不正常,任务管理节点重新分配任务到其他的任务执行节点上。本专利技术还提供一种任务调度系统,包括公有云网络下的任务管理节点、任务执行节点、每个任务执行节点对应的任务消息队列、心跳消息队列,以及私有云网络下的任务执行节点。本专利技术还提供一种计算机设备,包括:存储器和处理器,其特征在于,所述处理器用于执行计算机程序实现上述任务调度方法,所述存储器用于存储可供所述处理器执行的所述计算机程序。本专利技术还提供一种计算机存储介质,所述存储介质中存储有至少一段计算机程序,所述计算机程序被处理器执行时,使得处理器执行上述任务调度方法的步骤。本专利技术的有益效果:(1)本专利技术采用安全可信的任务消息队列作为任务执行节点和任务管理节点的通信载体,降低任务执行节点接入任务调度系统的成本;(2)本专利技术采用动态分配接入密钥的方式,避免任务管理节点直接暴露在公网从而被恶意网络攻击;(3)本专利技术采用任务管理节点自动分配任务消息队列的方式,实现任务执行节点的自动扩缩容功能,无需人工干预。附图说明图1是本实施例任务调度系统示意图;图2是本实施例任务调度方法的流程图。具体实施方式下面结合实施例对本专利技术做进一步的详细说明,以下实施例是对本专利技术的解释而本专利技术并不局限于以下实施例。如图1,一种任务调度系统,包括公有云网络下的任务管理节点、任务执行节点、每个任务执行节点对应的任务消息队列、心跳消息队列,以及私有云网络下的任务执行节点。任务管理节点是整个系统的总控制节点,用于接收心跳消息队列、任务消息队列或任务执行节点发送的信息,分析信息,发送任务以及仅接受或发送其他指令或信息。任务执行节点用于执行任务管理节点发送的任务消息,并发送信息给任务管理节点。所述任务消息队列是公有云和私有云均可访问任务消息队列服务提供的任务消息队列。任务消息队列与任务执行节点一一对应。上述的任务执行节点发送的和获取的消息都通过任务消息队列与任务管理节点通信。心跳消息队列,接收任务执行节点发送过来的任务执行节点的状态和任务的执行状态,并发送给任务管理节点。心跳消息队列发送和接收的消息为心跳消息。其中私有云和公有云网络下的任务执行节点都可以有多个,并可以根据需要扩容,再接入新的任务执行节点;任务消息队列与任务执行节点的数量相同。整个调度系统运行流程如图2:S01在混合云环境下启动任务执行节点,获取动态秘钥建立连接;S02心跳消息队列与任务管理节点实现通信;S03任务执行节点与心跳消息队列建立连接,连接成功后发送节点注册消息给心跳消息队列;S04心跳消息队列发送注册信息给任务管理节点;S05任务管理节点收到任务执行节点注册消息后,对任务执行节点的信息进行校验:信息校验通过,则注册成功;信息校验不通过,则注册失败。S06任务执行节点注册成功后,任务管理节点为注册的任务执行节点建立对应的任务消息队列用于发送任务消息;S07任务管理节点获取要执行的任务信息,下发任务信息至任务消息队列;S08任务执行节点从其对应的任务消息队列获取任务信息并执行。S09当任务执行节点完成任务后,通过心跳消息队列发送任务完成消息,任务管理节点接收到任务完成消息后标注该任务已经完成。其中任务执行节点执行任务过程中通过心跳消息队列发送实时上报任务执行情况和任务执行节点状态。步骤S07中还包括:管理节点从数据库中获取需要执行的任务信息,并检查任务执行节点的资源情况,确定执行该任务的任务执行节点,若任务执行节点资源充足,任务正常下发;若任务执行节点资源不够,管理节点发起扩容请求,通过步骤s01增加新的任务执行节点。其中,任务管理节点获取需要执行的任务信息为定时任务时,先加载任务信息到内存,再进行任务分配。其中,任务管理节点通过心跳消息队列发送的数据判断任务执行节点是否处于正常状态,如果不正常,任务管理节点重新分配任务到其他的任务执行节点上。本实施例的任务执行节点可以认为是任意控制系统,调度系统需要能把任务调度到云上的服务器,也要支持把任务调度到公司自有机房、甚至是任意一台能连上网的电脑。只要任意控制系统(计算机)能够实现连网,即可注册成为任务执行节点。由本文档来自技高网...
【技术保护点】
1.一种任务调度方法,其特征在于,包括以下步骤:/n启动任务执行节点,获取动态秘钥建立连接;注册任务执行节点;/n任务管理节点为注册的任务执行节点建立对应的任务消息队列用于发送任务消息;/n任务管理节点获取要执行的任务信息,下发任务信息至任务消息队列;/n任务执行节点从其对应的任务消息队列获取任务信息并执行。/n
【技术特征摘要】
1.一种任务调度方法,其特征在于,包括以下步骤:
启动任务执行节点,获取动态秘钥建立连接;注册任务执行节点;
任务管理节点为注册的任务执行节点建立对应的任务消息队列用于发送任务消息;
任务管理节点获取要执行的任务信息,下发任务信息至任务消息队列;
任务执行节点从其对应的任务消息队列获取任务信息并执行。
2.根据权利要求1所述的任务调度方法,其特征在于,
设置心跳消息队列,心跳消息队列与任务管理节点实现通信;
任务执行节点与心跳消息队列建立连接,连接成功后发送节点注册消息给心跳消息队列;
心跳消息队列发送注册信息给任务管理节点;
任务管理节点收到任务执行节点注册消息后,对任务执行节点的信息进行校验,校验成功,则注册任务执行节点成功。
3.根据权利要求1或2所述的任务调度方法,其特征在于,公有云和私有云均可访问任务消息队列服务提供的所述任务消息队列。
4.根据权利要求2所述的任务调度方法,其特征在于,任务执行节点执行任务过程中通过心跳消息队列发送实时上报任务执行情况和任务执行节点状态;
当任务执行节点完成任务后,通过心跳消息队列发送任务完成消息,任务管理节点接收到任务完成消息后标注该任务已经完成。
5.根据权利要求1或2...
【专利技术属性】
技术研发人员:刘冕,
申请(专利权)人:新华智云科技有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。