一种分布式数据节点的协调方法及系统与流程

文档序号:14351553阅读:330来源:国知局
一种分布式数据节点的协调方法及系统与流程

本发明涉及数据节点技术领域,特别是涉及一种分布式数据节点的协调方法及系统。



背景技术:

在当今信息化的时代,数据量急剧膨胀,数据处理的实时性要求越来越高,将大量数据进行分布式并行处理再合并出结果的运算模式已经非常普遍,但是各分布式系统之间存在着不稳定和协调难的特点,并且一致性也难以保证。因此,协调各分布式节点之间的信息一致性就变得很重要。

而现有的很多分布式环境都依赖一个中心节点进行协调工作,这样容易导致出现中心节点压力过大、中心节点丢失、协调工作中断等问题。



技术实现要素:

为了解决现有技术存在的不足,本发明的目的在于提供一种分布式数据节点的协调方法及系统,可以对分布式节点进行闭环连接,可以在去中心化的同时,依然保证节点内部之间的沟通和协调。

为实现上述目的,本发明提供的分布式数据节点的协调方法,包括以下步骤:

每个节点分配唯一的id号;

各节点获取其他节点的id号和连接地址;

每个节点连接比自己id号大且最接近自己id号的节点,最大id号的节点连接最小id号的节点,各分布式节点形成闭环连接;

协调节点通过闭环连接发送协调信息,协调任务。

进一步地,所述各节点获取其他节点的id号和连接地址的步骤是,

各节点通过网络广播的形式或者采取向中心服务器注册的方式,获取其他节点的id号和连接地址。

进一步地,所述每个节点连接比自己id号大且最接近自己id号的节点的步骤,包括以下步骤:

每个节点时刻获取其他节点的id号,若出现新的比自己id号大且最接近自己id号的节点,则断开当前连接的节点,连接到新的比自己id号大且最接近自己id号的节点。

进一步地,所述协调节点通过闭环连接发送协调信息,协调任务的步骤,包括以下步骤:

协调任务时,协调节点向其连接的下个节点发送协调信息,下个节点附上信息并推送协调信息到与其连接的下个节点,直到协调信息推送到协调节点,协调节点判断是否进行下一任务。

进一步地,所述协调节点通过闭环连接发送协调信息,协调任务的步骤,还包括以下步骤:

若协调节点未收到协调信息,则协调节点需要为协调信息设定一个超时时间并进行再次发送。

进一步地,所述协调任务包括:同一任务由多个节点执行,若某一节点已执行完该任务,则其余节点不再执行该任务。

进一步地,所述协调任务包括:某一节点执行完其任务后,执行其余节点未执行完的任务。

进一步地,所述分布式数据节点的协调方法,还包括步骤:

当构成闭环连接的各节点中的某一节点因故宕机时,与该节点断开连接的其余节点,按照每个节点连接比自己id号大且最接近自己id号的节点,最大id号的节点连接最小id号的节点的原则,继续建立闭环连接。

为实现上述目的,本发明提供的一种分布式数据节点的协调系统,采用上述分布式数据节点的协调方法。

本发明的分布式数据节点的协调方法及系统,适用于分布式计算操作之间的沟通和协调,尤其适用于处理数据的分布式节点。本发明对分布式节点进行闭环连接,可以在去中心化的同时,依然保证节点内部之间的沟通和协调。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:

图1为根据本发明的分布式数据节点的协调方法流程图;

图2为根据本发明的协调节点发送协调信息的流程示意图;

图3为根据本发明的分布式节点协调任务时的一种状态示意图;

图4为根据本发明的分布式节点协调任务时的另一种状态示意图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

图1为根据本发明的分布式数据节点的协调方法流程图,下面将参考图1,对本发明的协调分布式节点的方法进行详细描述。

在步骤110,各分布式节点进行闭环连接。

该步骤中,首先,为每个节点分配唯一的id号(使用数字表示)作为身份标识;其次,启动各节点的服务,各节点获取其他节点的id号和连接地址;然后,每个节点连接比自己id号大且最接近自己id号的节点,最大id号的节点连接最小id号的节点,从而在各节点之间建立闭环连接,使分布式集群拥有随时增加以及减少节点的能力。

其中,各节点获取其他节点的id号和连接地址时:每个节点可以通过网络广播的形式向内网发送消息,告诉其他节点自己的id号和连接地址;也可以采取向中心服务器注册自己的id号和连接地址的方式,使其他节点获取自己的数据信息。

其中,每个节点连接比自己id号大且最接近自己id号的节点的过程中,每个节点需要时刻更新以及获取其他节点的id号,若出现新的比自己id号大且最接近自己id号的节点,则断开当前连接的节点,连接到新的比自己id号大且最接近自己id号的节点。

其中,最大id号的节点连接最小id号的节点的步骤是,若某个节点在获取到的其他节点的id号中,未发现比自己id号大的节点,则选择最小id号的节点进行连接。

在步骤120,协调节点通过闭环连接发送协调信息,协调任务。

该步骤中,当需要协调任务时,由协调节点(协调信息的组织者)开始向其连接的下一个节点发送协调信息,下一个节点对其收到的协调信息进行签名,并附上信息后推送协调信息到与其连接的下一个节点,直到协调信息推送到协调节点。

协调节点收到推送的协调信息,则表示所有的节点均已经确认了同一事件,此时可以由协调节点判断是否进行下一步的任务。

若协调节点发送协调信息后,未收到协调信息的最终返回,可能是闭环连接中的部分节点因故宕机,此时协调节点需要为协调信息设定一个超时时间并进行再次发送。

其中,协调节点不一定是具有最大id号的节点。

当只允许由一个节点发起协调任务的情况下,具有最大id号的节点适于作为协调节点;其他情况下则根据实际的处理任务决定哪一节点作为协调节点。

重要的是,信息的传递一定是以闭环的方式由协调节点发送的,并且最后还是要回到协调节点。

本实施例中,在执行任务的过程中,节点之间通过闭环连接进行信息交互,来协调任务,能够提高执行任务的效率。其中,协调任务的具体内容包括:同一任务可由多个节点执行,若某一节点已执行完该任务,则其余节点不再执行该任务;以及某一节点执行完其任务后,可执行其余节点未执行完的任务。

图2为根据本发明的协调节点发送协调信息的流程示意图,如图2所示,本实施例中,进行闭环连接的分布式节点一共为5个,节点1、2、3、4、5,其中,节点5为协调节点,节点5发送协调信息的流程具体如下:

由节点5发送协调信息给节点1,并附加节点5的信息;

由节点1发送收到的信息给节点2,并附加节点1的信息;

由节点2发送收到的信息给节点3,并附加节点2的信息;

由节点3发送收到的信息给节点4,并附加节点3的信息;

由节点4发送收到的信息给节点5,并附加节点4的信息;

由节点5根据收到的每个节点的附加信息,判断下一步的处理方式。

其中,协调信息,可为协调统计消息。

图3为根据本发明的分布式节点协调任务时的一种状态示意图,如图3所示,本实施例中,进行闭环连接的分布式节点一共为5个,节点1、2、3、4、5,需要协调的任务一共为5个,任务a、b、c、d、e,其中,

任务a发送给节点1、2,

任务b发送给节点2、3,

任务c发送给节点3、4,

任务d发送给节点4、5,

任务e发送给节点5、1。

其中,协调任务,可为协调计算任务。

本实施例中,在任务a的执行过程中,若节点1执行完成了a任务,在任务完成后节点1作为协调节点,组织一次信息发送,发送任务已完成信息(协调信息)给节点2,节点2收到完成信息时确认信息内容为a任务已完成,则节点2不再执行a任务;或者

在任务a的执行过程中,若节点2执行并完成了a任务,在完成后节点2发送任务已完成信息给节点1,节点1收到完成信息时确认信息内容为a任务已完成,则节点1不再执行a任务。

本实施例中,为了提高信息处理的快速性,节点执行任务时可以把任务进行冗余的发送,从而保证每个任务都由执行该任务时间快的节点完成,缩短了全部任务的执行时间。

图4为根据本发明的分布式节点协调任务时的另一种状态示意图,如图4所示,本实施例中,进行闭环连接的分布式节点一共为5个,节点1、2、3、4、5,需要协调的任务一共为10个,任务a、b、c、d、e、f、g、h、i、j,其中,

任务a、b发送给节点1,

任务c、d发送给节点2,

任务e、f发送给节点3,

任务g、h发送给节点4,

任务i、j发送给节点5。

其中,协调任务,可为协调计算任务。

本实施例中,在执行任务的过程中,若节点1执行完成了任务a、b,在任务完成后,节点1作为协调节点,组织一次信息发送,发送任务已完成信息(协调信息)给其他节点,其他节点收到协调信息后,在信息中附加上自己未完成的任务id,节点1接收到返还的信息后,从任务发放处获取其他节点未完成的任务进行执行。

本实施例中,为了提高信息处理的快速性,节点可以请求获取其他节点的任务执行,从而保证在所有任务均完成前,每个节点都不停地执行所有任务中未完成的任务,缩短了全部任务的执行时间。

在上述任一实施例中,当构成闭环连接的各节点中的某一节点因故宕机时,与该节点断开连接的其余节点,需要按照每个节点连接比自己id号大且最接近自己id号的节点,最大id号的节点连接最小id号的节点的原则,继续建立闭环连接。若该因故宕机节点为具有最大id号的节点,则直接选择新的具有最大id号的节点。

基于本发明的分布式数据节点的协调方法,本发明还提出一种分布式数据节点的协调系统,采用本发明的分布式数据节点的协调方法。

本发明的分布式数据节点的协调方法及系统,适用于分布式计算操作之间的沟通和协调,尤其适用于处理数据的分布式节点。本发明对分布式节点进行闭环连接,可以在去中心化的同时,依然保证节点内部之间的沟通和协调。每个节点都可以发起信息和参与信息的传递,使整个集群达到去中心化的目的。

本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1