一种分布式任务调度方法及调度平台与流程

文档序号:29803070发布日期:2022-04-23 20:48阅读:123来源:国知局
一种分布式任务调度方法及调度平台与流程

1.本发明涉及数据处理领域,具体是一种分布式任务调度方法及调度平台。


背景技术:

2.目前,随着互联网业务的发展,多任务、高并发场景已经变得非常普遍,单个任务的复杂度和并发任务的数量日益增加。复杂度较高的任务或者并发的多个任务在单一的执行机器上独立完成,会造成执行机器的压力过大,甚至有可能出现复杂度过高的单个任务或者数量过多的多个任务,无法在单一的执行机器上独立完成。为了减轻执行机器的压力,保证服务的顺利完成,可以通过分布式部署的多个执行机器执行任务,而针对任务,以及分布式部署的多个执行机器,如何进行管理是非常重要的问题。


技术实现要素:

3.本发明的目的在于克服现有技术的不足,提供一种分布式任务调度方法,包括如下步骤:步骤一,任务执行器根据配置的调度中心的地址,自动注册到调度中心;步骤二,判断是否达到任务触发条件,若达到任务触发条件,则调度中心下发任务;步骤三,任务执行器执行调度中心下发的任务,并把执行结果放入内存队列中、把执行日志写入日志文件中;步骤四,任务执行器的回调线程消费内存队列中的执行结果,将执行结果上报给调度中心;步骤五,当用户在调度中心查看任务日志,根据任务日志中的任务执行器,调度中心请求对应的任务执行器,任务执行器读取任务日志文件并返回日志详情到调度中心,完成任务调度。
4.进一步的,所述的任务执行器根据配置的调度中心的地址,自动注册到调度中心,包括如下过程:调度中心接收任务执行器的信号;所述调度中心首先创建所述任务执行器对应的临时性节点;调度中心向所述任务执行器发送查询请求,当所述任务执行器对应的临时性节点回应查询请求时,将所述任务执行器的状态标记为可用状态,并将临时性节点创建为永久性节点;所述调度中心接收任务,通过预设调度策略,将所述任务分配给各个可用任务执行器,得到各个所述可用任务执行器的待执行任务,并下发各个所述可用任务执行器的待执行任务,其中,可用任务执行器是状态被标记为可用状态的任务执行器;所述可用任务执行器接收并执行任务。
5.进一步的,所述将临时性节点创建为永久性节点包括:
调度中心在所述临时性节点处创建所述任务执行器对应的所述持久性节点,创建完成后,将任务执行器连接至永久性节点,并删除临时性节点。
6.进一步的,所述调度中心向所述任务执行器发送查询请求,还包括当所述调度中心存在所述任务执行器对应的所述临时性节点时,将所述任务执行器的状态标记为可用状态,包括:所述调度中心查询标记为可用状态的任务执行器是否存在持久性节点,当存在对应任务执行器的永久性节点时,将所述任务执行器的状态标记为可用状态。
7.进一步的,所述调度中心下发任务,包括:将待执行任务下发至所述可用任务执行器。
8.一种分布式任务调度平台,包括:调度中心、用户中心和包括多个任务执行器的任务执行器集群;所述调度中心,用于接收所述任务执行器的信号;创建所述任务执行器对应的临时性节点;所述调度中心包括分发调度中心,用于向所述调度中心发送查询请求,当所述调度中心存在所述任务执行器对应的所述临时性节点时,将所述任务执行器的状态标记为可用状态;所述分发调度中心接收任务,通过预设调度策略,将所述任务分配给各个可用任务执行器,得到各个所述可用任务执行器的待执行任务,并下发各个所述可用任务执行器的待执行任务,其中,可用任务执行器是状态被标记为可用状态的任务执行器;所述可用任务执行器,用于接收并执行所述待执行任务。
9.优选的,所述分布式任务调度平台的任务执行器集群,用于接收并执行待执行任务。
10.优选的,所述的分发调度中心,用于查询所述调度中心中的持久性节点,当所述持久性节点下存在所述任务执行器对应的所述临时性节点时,将所述任务执行器的状态标记为可用状态。
11.优选的,还包括日志数据库,所述的日志数据库用于任务执行过程的数据记录,所述调度中心可查看所述日志数据库的数据记录。
12.优选的,所述的日志数据库中包括日志分类器,用于将日志根据设定的规则进行日志分类。
13.本发明的有益效果是:本发明创建任务执行器对应的临时性节点以实现对任务执行器的注册,使得调度中心可以及时发现可用任务执行器,并将任务分配给可用任务执行器,可用任务执行器接收并执行待执行任务,能够提高任务执行速率。
附图说明
14.图1为一种分布式任务调度方法的流程示意图;图2为一种分布式任务调度平台的原理示意图。
具体实施方式
15.下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
16.为了使本发明的目的,技术方案及优点更加清楚明白,结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
17.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
18.而且,术语“包括”,“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程,方法,物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程,方法,物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程,方法,物品或者设备中还存在另外的相同要素。
19.以下结合实施例对本发明的特征和性能作进一步的详细描述。
20.如图1所示,步骤一,任务执行器根据配置的调度中心的地址,自动注册到调度中心;步骤二,判断是否达到任务触发条件,若达到任务触发条件,则调度中心下发任务;步骤三,任务执行器执行调度中心下发的任务,并把执行结果放入内存队列中、把执行日志写入日志文件中;步骤四,任务执行器的回调线程消费内存队列中的执行结果,将执行结果上报给调度中心;步骤五,当用户在调度中心查看任务日志,根据任务日志中的任务执行器,调度中心请求对应的任务执行器,任务执行器读取任务日志文件并返回日志详情到调度中心,完成任务调度。
21.所述的任务执行器根据配置的调度中心的地址,自动注册到调度中心,包括如下过程:调度中心接收任务执行器的信号;所述调度中心首先创建所述任务执行器对应的临时性节点;调度中心向所述任务执行器发送查询请求,当所述任务执行器对应的临时性节点回应查询请求时,将所述任务执行器的状态标记为可用状态,并将临时性节点创建为永久性节点;所述调度中心接收任务,通过预设调度策略,将所述任务分配给各个可用任务执行器,得到各个所述可用任务执行器的待执行任务,并下发各个所述可用任务执行器的待执行任务,其中,可用任务执行器是状态被标记为可用状态的任务执行器;所述可用任务执行器接收并执行任务。
22.所述将临时性节点创建为永久性节点包括:
调度中心在所述临时性节点处创建所述任务执行器对应的所述持久性节点,创建完成后,将任务执行器连接至永久性节点,并删除临时性节点。
23.所述调度中心向所述任务执行器发送查询请求,还包括当所述调度中心存在所述任务执行器对应的所述临时性节点时,将所述任务执行器的状态标记为可用状态,包括:所述调度中心查询标记为可用状态的任务执行器是否存在持久性节点,当存在对应任务执行器的永久性节点时,将所述任务执行器的状态标记为可用状态。
24.所述调度中心下发任务,包括:将待执行任务下发至所述可用任务执行器。
25.如图2所示的一种分布式任务调度平台,包括:调度中心、用户中心和包括多个任务执行器的任务执行器集群;所述调度中心,用于接收所述任务执行器的信号;创建所述任务执行器对应的临时性节点;所述调度中心包括分发调度中心,用于向所述调度中心发送查询请求,当所述调度中心存在所述任务执行器对应的所述临时性节点时,将所述任务执行器的状态标记为可用状态;所述分发调度中心接收任务,通过预设调度策略,将所述任务分配给各个可用任务执行器,得到各个所述可用任务执行器的待执行任务,并下发各个所述可用任务执行器的待执行任务,其中,可用任务执行器是状态被标记为可用状态的任务执行器;所述可用任务执行器,用于接收并执行所述待执行任务。
26.所述分布式任务调度平台的任务执行器集群,用于接收并执行待执行任务。
27.所述的分发调度中心,用于查询所述调度中心中的持久性节点,当所述持久性节点下存在所述任务执行器对应的所述临时性节点时,将所述任务执行器的状态标记为可用状态。
28.还包括日志数据库,所述的日志数据库用于任务执行过程的数据记录,所述调度中心可查看所述日志数据库的数据记录。
29.所述的日志数据库中包括日志分类器,用于将日志根据设定的规则进行日志分类。
30.以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1