一种在分布式集群系统中传播节点状态信息的方法及系统技术方案

技术编号:8134200 阅读:266 留言:0更新日期:2012-12-27 13:27
本发明专利技术涉及信息技术领域,尤其涉及一种在分布式集群系统中传播节点状态信息的方法及装置。本发明专利技术实施例提供的一种在分布式集群系统中传播节点状态的方法,其中,所述分布式集群系统包括至少两层,上层与相邻下层之间存在公共节点,所述上层由与所述相邻下层的公共节点组成,每层包括至少一个组,下层每组包括至少一个与相邻上层的公共节点,当第一节点加入所述分布式集群系统时,通过分布式集群系统中的公共节点将所述第一节点的第一节点加入信息传播至所述分布式集群系统中的每一个节点。通过本发明专利技术实施例提供的方法,降低了节点状态信息被路由的次数,从而减少了节点状态信息传播到分布式集群系统中每一个节点的时间。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及信息技术(Information Technology,简称IT)领域,尤其涉及一种在分布式集群系统中传播节点状态信息的方法及系统
技术介绍
现有的分布式集群系统由节点组成,节点之间通过网络进行互联,每个节点都保存有集群成员信息,每个节点从分布式集群系统中随机选择Μ(Μ> I)个节点维持心跳。当集群的规模不能满足应用需求时,需向分布式集群系统添加新的节点,以便增加分布式集群系统的处理能力;当分布式集群系统中的节点发生故障时,发生故障的节点会退出分布式集群系统。在节点加入或退出分布式集群系统时,分布式集群系统的成员将发生改变。为了在节点加入分布式集群系统时,能够快速地将新加入节点的信息传播到分布式集群系统的每个节点,新加入节点将节点加入信息发送到该分布式集群系统中的一个节点,接收到该节点加入信息的节点向与自身建立心跳的节点发送该节点加入信息,以便将该节点加入信息传播到分布式集群系统的每一个节点。当有节点退出分布式集群系统时,与退出节点建立心跳的节点检测到该退出节点退出分布式集群系统,并向建立心跳的其他节点发送节点退出信息,接收到该节点退出信息的节点向与自身建立心跳的节点发送该节点退出信息,以便将该节点退出信息传播到分布式集群系统的每一个节点。其中,该节点加入信息以及节点退出信息统称为节点状态信息。通过对现有技术的分析,专利技术人认为现有技术至少存在以下问题当节点加入或退出分布式集群系统时,节点状态信息通过建立心跳的节点扩散,分布式集群系统中每一个节点均接收到节点状态信息所需的时间与分布式集群系统中节点的数目呈对数关系。当分布式集群中节点规模较大时,需要经历很长的时间才能将该节点状态信息传播到分布式集群系统中的每一个节点。
技术实现思路
本专利技术实施例的目的在于提供一种在分布式集群系统中传播节点状态信息的方法及装置,以便于减少节点状态信息传播到分布式集群系统中每一个节点的时间。一方面,本专利技术实施例提供一种在分布式集群系统中传播节点状态信息的方法,所述分布式集群系统包括至少两层,上层与相邻下层之间存在公共节点,所述上层由与所述相邻下层的公共节点组成,每层包括至少一个组,下层每组包括至少一个与相邻上层的公共节点,所述方法包括当第一节点加入所述分布式集群系统时,所述第一节点向所加入的最下层的组中所有节点发送第一节点加入信息,所述第一节点加入信息包括所述第一节点的节点标识;所述第一节点所加入的最下层的组的公共节点接收到所述第一节点加入信息后,向所述公共节点所在的上一层的组中所有节点发送所述第一节点加入信息,以使得其它的公共节点将所述第一节点加入信息传递至所述分布式集群系统中的所有节点。另一方面,本专利技术实施例提供一种分布式集群系统,包括至少两层,上层与相邻下层之间存在公共节点,所述上层由与所述相邻下层的公共节点组成,每层包括至少一个组,下层每组包括至少一个与相邻上层的公共节点,其中,当第一节点加入所述分布式集群系统时,所述第一节点用于向所加入的最下层的组中所有节点发送第一节点加入信息,所述第一节点加入信息包括所述第一节点的节点标识;所述第一节点所加入的最下层的组的公共节点用于接收所述第一节点加入信息,并向所述公共节点所在的上一层的组中所有节点发送所述第一节点加入信息,以使得其它的公共节点将所述第一节点加入信息传递至所述分布式集群系统中的所有节点。本专利技术实施例提供的一种在分布式集群系统中传播节点状态信息的方法及装置,通过采用多层次的网络结构,将节点状态信息的传播范围约束在不同的组内,降低了节点状态信息路由的次数,从而减少了节点状态信息传播到分布式集群系统中每一个节点的时间。 附图说明图I为本专利技术实施例提供的一种分布式集群系统架构示意图;图2为本专利技术实施例提供的另一种分布式集群系统架构示意图;图3为本专利技术实施例提供的一种在分布式集群系统中传播节点状态信息的方法示意图;图4为本专利技术实施例提供的另一种在分布式集群系统中传播节点状态信息的方法示意图;图5为本专利技术实施例提供的一种分布式集群系统示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下获得的所有其他实施例,都属于本专利技术保护的范围。如图I所示,为本专利技术实施例提供的一种分布式集群系统架构示意图。其中,该系统包括两层,分别为最上层和最下层,最上层称为顶层,最下层称为底层,顶层与底层之间存在公共节点,顶层由与底层的公共节点组成,即顶层中的节点是底层中节点的子集,每层包括至少一个组,底层每组包括至少一个与顶层的公共节点,即底层每个组选择至少一个节点作为与顶层的公共节点。如图2所示,为本专利技术实施例提供的另一种分布式集群系统架构示意图。其中,该系统包括三层,最上层称为顶层,最下层称为底层,顶层与底层之间有一个中间层,上层与相邻下层之间存在公共节点,所述上层由与所述相邻下层的公共节点组成,即上层中的节点是相邻下层中节点的子集,每层包括至少一个组,下层每组包括至少一个与相邻上层的公共节点,即下层每组选择至少一个节点作为与相邻上层的公共节点。其中,需要说明的是,本专利技术实施例并不限定分布式集群系统的层数,所述分布式集群系统可以包括至少两层,最上层称为顶层,最下层称为底层,顶层与底层之间可以有至少零个中间层,上层与相邻下层之间存在公共节点,所述上层由与所述相邻下层的公共节点组成,每层包括至少一个组,下层每组包括至少一个与相邻上层的公共节点,即下层每个组选择至少一个节点作为与相邻上层的公共节点。其中,需要说明的是,最上层一般仅包括一个组。其中,需要说明的是,并专利技术实施例并不限定所述分布式集群系统中节点的类型,作为示例而非限定,所述分布式集群系统中的节点可以是各种PC机、上网本、服务器、智能手机。基于图I或图2所示的系统架构示意图,本专利技术实施例提供一种在分布式集群系统中传播节点状态信息的方法。如图3所示,该方法包括S301 当有第一节点加入所述分布式集群系统时,所述第一节点向所加入的最下层的组中所有节点发送第一节点加入信息,所述第一节点加入信息包括所述第一节点的节点标识;例如,若所述第一节点加入最下层中的第一组,即底层第一组,则所述第一节点向底层第一组中所有节点发送所述第一节点加入信息;其中,需要说明的是,可以在所述第一节点中预先配置所加入的最下层的组的组播地址,所述第一节点根据所加入的最下层的组的组播地址,采用组播的方式向所加入的最下层的组中所有的节点发送所述第一节点加入信息,以提高所述第一节点加入信息的传播效率;其中,需要说明的是,分布式集群系统中节点的节点标识具体用于对一个节点进行定位,接收到所述第一节点加入信息的节点,可以通过所述第一节点信息所携带的所述第一节点的节点标识,找到所述第一节点;作为示例而非限定,所述分布式集群系统中节点的节点标识可以是节点的IP地址;需要说明的是,执行本步骤S201之后,所述第一节点的第一节点加入信息被传播到所述第一节点所加入的最下层的组中的每一个节点;S302:所述第一节点所加入的最下层的组的公共节点接收到所述第一节点加入信息后,向所述公共节点所在的上一层本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种在分布式集群系统中传播节点状态信息的方法,其特征在于,所述分布式集群系统包括至少两层,上层与相邻下层之间存在公共节点,所述上层由与所述相邻下层的公共节点组成,每层包括至少一个组,下层每组包括至少一个与相邻上层的公共节点,所述方法包括 当第一节点加入所述分布式集群系统时,所述第一节点向所加入的最下层的组中所有节点发送第一节点加入信息,所述第一节点加入信息包括所述第一节点的节点标识; 所述第一节点所加入的最下层的组的公共节点接收到所述第一节点加入信息后,向所述公共节点所在的上一层的组中所有节点发送所述第一节点加入信息,以使得其它的公共节点将所述第一节点加入信息传递至所述分布式集群系统中的所有节点。2.如权利要求I所述的方法,其特征在于,所述第一节点所加入的最下层的组的公共节点接收到所述第一节点加入信息后,向所述公共节点所在的上一层的组中所有节点发送所述第一节点加入信息,以使得其它的公共节点将所述第一节点加入信息传递至所述分布式集群系统中的所有节点,包括 所述第一节点所加入的最下层的组的公共节点接收到所述第一节点加入信息后,向所述公共节点所在的上一层的组中所有节点发送所述第一节点加入信息,若所述公共节点所在的所述上一层不是最上层,则所述公共节点所在的所述上一层的组中所有节点继续向上转发所述第一节点加入信息,直至所述第一节点加入信息被传递至最上层中的所有节点; 接收到所述第一节点加入信息的最上层的节点向其所在的下一层的组中所有节点发送所述第一节点加入信息,若所述最上层的节点所在的下一层不是最下层,则所述最上层的节点所在的下一层的组中所有节点继续向下转发所述第一节点加入信息,直至所述第一节点加入信息被传递至最下层中的所有节点。3.如权利要求I或2所述的方法,其特征在于,还包括 在所述第一节点中预先配置所加入的最下层的组的组播地址; 则所述第一节点向所加入的最下层的组中所有节点发送第一节点加入信息,包括 所述第一节点根据所加入的最下层的组的组播地址,采用组播的方式向所加入的最下层的组中所有节点发送所述第一节点加入信息。4.如权利要求3所述的方法,其特征在于,还包括 在所述分布式集群系统的公共节点中预先配置所述公共节点所在组的组播地址; 则所述第一节点所加入的最下层的组的公共节点向所述公共节点所在的上一层的组中所有节点发送所述第一节点加入信息,包括 所述第一节点所加入的最下层的组的公共节点根据其所在的上一层的组的组播地址,采用组播的方式向所述公共节点所在的所述上一层的组中所有节点发送所述第一节点加入信息。5.如权利要求I至4中任一权利要求所述的方法,其特征在于,还包括 接收到所述第一节点加入信息的节点在自身保存的集群成员列表中增加所述第一节点的节点标识。6.如权利要求5所述的方法,其特征在于,还包括 若所述接收到所述第一节点加入信息的节点与所述第一节点在同一组中,所述接收到所述第一节点加入信息的节点在所述同一组的成员列表中增加所述第一节点的节点标识。7.如权利要求6所述的方法,其特征在于,所述接收到所述第一节点加入信息的节点在所述同一组的成员列表中增加所述第一节点的节点标识之后,还包括 所述接收到所述第一节点加入信息的节点将自身保存的所述同一组的成员列表以及所述集群成员列表发送至所述第一节点。8.如权利要求I至7中任一权利要求所述的方法,其特征在于,还包括 当所述第一节点退出所述分布式集群系统时,检测到所述第一节点退出所述分布式集群系统的节点向自身所在组中所有节点发送第一节点退出信息,所述第一节点退出信息包括所述第一节点的节点标识,直至所述第一节点加入信息被传递至最上层中所有节点; 接收到所述第一节点退出信息的最上层的节点向其所在的下一层的组中所有节点发送所述第一节点退出信息,若所述最上层的节点所在的下一层不是最下层,则所述最上层的节点所在的下一层的组中所有节点继续向下转发所述第一节点退出信息,直至所述第一节点退出信息被传递至最下层中的所有节点。9.如权利要求8所述的方法,其特征在于,所述检测到所述第一节点退出所述分布式集群系统的节点向自身所在组中所有节点发送第一节点退出信息,直至所述第一节点加入信息被传递至最上层中所有节点,包括 若所述检测到所述第一节点退出所...

【专利技术属性】
技术研发人员:宁德刚王道辉杨德平
申请(专利权)人:华为技术有限公司
类型:
国别省市:

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

1