分布式任务协调方法、装置、设备和介质制造方法及图纸

技术编号:34186297 阅读:44 留言:0更新日期:2022-07-17 14:19
本发明专利技术公开了一种分布式任务协调方法、装置、设备和介质,包括:首先每当获取到前端下发的分布式任务时,异步地对分布式任务进行内部初始化,再通过通知下发框架将初始化后的分布式任务下发至等待队列,以等待响应。接着集群管理组件通过通知下发框架将等待队列中的分布式任务异步地下发至多个协程。最后通过多个协程同步地获取连接的设备节点所反馈的应答,以响应分布式任务。远程过程调用技术采用“请求

Distributed task coordination method, device, device and medium

【技术实现步骤摘要】
分布式任务协调方法、装置、设备和介质


[0001]本专利技术涉及计算机
,尤其是涉及分布式任务协调方法、装置、设备和介质。

技术介绍

[0002]针对分布式任务协调场景,现有方案中常采用分布式应用程序协调服务软件(zookeeper)的分布式通知协调系统。该系统在实现上一般强依赖于zookeeper的通知机制,而该机制可以很好地起到广播消息的作用。参见图1,当一个子流程以写入一个数据的方式发布一条消息后,如果其他流程模块对写入数据有观察(WATCH)行为的话,那么就会接收zookeeper下发的数据变更的通知,并且会执行一个提前定义好的回调(callback)函数来执行相关的逻辑。也即zookeeper通过一个抽象的观察接口(watcher Application Programming Interface)来实现事件的下发和通知,并执行自定义的callback函数。
[0003]但是watcher这样的机制有如下的缺点:watcher机制是一次性的,zookeeper本身对消息是否被接收端获取并做了相应的动作不关心。这样就要求子流程在获取了一次事件通知后,再次的去watch相同的资源,从而才能实现一个永久的watch行为。也正因为这些缺点的存在,导致不能满足高吞吐分布式任务协调的实际需求。

技术实现思路

[0004]基于此,有必要针对上述问题,提供分布式任务协调方法、装置、设备和介质,以解决不能满足高吞吐分布式任务协调的问题。
[0005]一种分布式任务协调方法,应用于包含多个设备节点的分布式数据库集群,所述方法包括:
[0006]每当集群管理组件获取到前端下发的分布式任务时,异步地对所述分布式任务进行内部初始化,及通过通知下发框架将初始化后的分布式任务下发至等待队列,以等待响应;其中,所述通知下发框架基于远程过程调用技术构建基础框架;
[0007]所述集群管理组件通过所述通知下发框架将所述等待队列中的分布式任务异步地下发至多个协程,并通过所述多个协程同步地获取连接的设备节点所反馈的应答,以响应所述分布式任务。
[0008]在其中一个实施例中,所述方法还包括:
[0009]将与所述分布式任务相关联的内部事件进行缓存。
[0010]在其中一个实施例中,所述方法还包括:
[0011]基于所述通知下发框架,通过域名解析协议或负载均衡的策略扩展所述设备节点。
[0012]在其中一个实施例中,所述异步地对所述分布式任务进行内部初始化之前,还包括:
[0013]同步地对所述分布式任务的逻辑进行合法性校验,基于校验结果向前端发送应
答。
[0014]在其中一个实施例中,所述方法还包括:
[0015]每当获取到传参请求时,生成对应的请求实体;
[0016]经过串行同步执行的准备阶段、同步等待应答的执行阶段及面向全局的收尾阶段,来执行所述请求实体。
[0017]在其中一个实施例中,所述方法还包括:
[0018]获取为每一个设备节点预先设定的通道,当基于单设备的远程过程调用技术实现远程任务时,添加与所述远程任务匹配的通道并执行,及初始化与所述远程任务相关的参数;
[0019]当基于多设备的远程过程调用技术实现远程任务时,多次添加与所述远程任务匹配的通道并执行,及初始化与所述远程任务相关的参数。
[0020]在其中一个实施例中,所述方法还包括:
[0021]通过编排请求实体的处理过程及远程任务的处理过程,以执行涉及到多个阶段,或涉及到多个节点设备同时执行相关指令的目标任务。
[0022]一种分布式任务协调装置,应用于包含多个设备节点的分布式数据库集群,所述装置包括:
[0023]等待响应模块,用于每当集群管理组件获取到前端下发的分布式任务时,异步地对所述分布式任务进行内部初始化,及通过通知下发框架将初始化后的分布式任务下发至等待队列,以等待响应;其中,所述通知下发框架基于远程过程调用技术构建基础框架;
[0024]任务协调模块,用于所述集群管理组件通过所述通知下发框架将所述等待队列中的分布式任务异步地下发至多个协程,并通过所述多个协程同步地获取连接的设备节点所反馈的应答,以响应所述分布式任务。
[0025]一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述分布式任务协调方法的步骤。
[0026]一种分布式任务协调设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述分布式任务协调方法的步骤。
[0027]本专利技术提供了分布式任务协调方法、装置、设备和介质,该协调过程主要基于远程过程调用技术构建的通知下发框架,首先每当集群管理组件获取到前端下发的分布式任务时,异步地对分布式任务进行内部初始化,从而更好地兼容分布式任务,再通过通知下发框架将初始化后的分布式任务下发至等待队列,以等待响应。接着集群管理组件通过通知下发框架将等待队列中的分布式任务异步地下发至多个协程,这样就能及时对分布式任务进行下发,不会因为某一已分配的分布式任务当前正在长时间的执行就导致分布式数据库集群后续的服务阻塞。最后通过多个协程同步地获取连接的设备节点所反馈的应答,以响应分布式任务。这样就能避免单次握手的风险,远程过程调用技术采用“请求

应答”模式,该模式具有2次握手的通知协议,能够准确的感知下游服务是否能成功接收到相关信息并获取到应答反馈,从而满足高吞吐分布式任务协调的实际需求。
附图说明
[0028]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0029]其中:
[0030]图1为一个实施例中分布式任务协调方法的流程示意图;
[0031]图2为一个实施例中分布式任务协调方法的流程框图;
[0032]图3为一个实施例中分布式任务协调装置的结构示意图;
[0033]图4为一个实施例中分布式任务协调设备的结构框图。
具体实施方式
[0034]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0035]为方便阐述技术方案,下文的部门专有名词以英文及缩写形式表示,现对其进行解释:RPC:远程过程调用;DBMS:分布式数据库管理系统;Cluster:分布式数据库集群;ClusterManager:集群管理组件;Node:设备节点;NodeManager:Node管理组件;POSTq本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式任务协调方法,其特征在于,应用于包含多个设备节点的分布式数据库集群,所述方法包括:每当集群管理组件获取到前端下发的分布式任务时,异步地对所述分布式任务进行内部初始化,及通过通知下发框架将初始化后的分布式任务下发至等待队列,以等待响应;其中,所述通知下发框架基于远程过程调用技术构建基础框架;所述集群管理组件通过所述通知下发框架将所述等待队列中的分布式任务异步地下发至多个协程,并通过所述多个协程同步地获取连接的设备节点所反馈的应答,以响应所述分布式任务。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:将与所述分布式任务相关联的内部事件进行缓存。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:基于所述通知下发框架,通过域名解析协议或负载均衡的策略扩展所述设备节点。4.根据权利要求1所述的方法,其特征在于,所述异步地对所述分布式任务进行内部初始化之前,还包括:同步地对所述分布式任务的逻辑进行合法性校验,基于校验结果向前端发送应答。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:每当获取到传参请求时,生成对应的请求实体;经过串行同步执行的准备阶段、同步等待应答的执行阶段及面向全局的收尾阶段,来执行所述请求实体。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:获取为每一个设备节点预先设定的通道,当基于单设备的远程过程调用技术实现远程任务时,添加与所述远...

【专利技术属性】
技术研发人员:赵伟张金冬吴夏王潮杰何革新盛欢刘良城张世伟黄远芳刘永松
申请(专利权)人:泽拓科技深圳有限责任公司
类型:发明
国别省市:

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

1