播发现新加入的具有相同的集群标识的节点2,获取该节点2的性能参数,对比后将节点2确定为新的主节点,节点2更新节点列表,并通知节点I ;
[0073]如附图2c所示,节点2通过同一网段内广播发现新加入的具有相同的集群标识的多个节点,该集群中有η个节点分担搜索请求,节点2获取各节点的性能参数,比较后确定节点2的性能参数最优,保持节点2为主节点;
[0074]如附图2d所示,作为主节点的节点2定时发送广播消息,各从节点接收该广播消息,并返回携带自身状态信息的响应消息,节点2根据接收的响应消息对本地保存的节点列表中相应的节点的状态进行更新;
[0075]节点2查询本地保存的节点列表发现节点m的状态信息超过设定时长未进行更新,向节点m发送验证请求,超过设定时长未收到应答消息,节点2将服务器列表中节点m标为不可用状态,并通过广播消息发送更新后的节点列表,由各从节点接收该更新后的节点列表并更新本地保存的节点列表;
[0076]如附图2e所示,节点I超过设定时长未接收到主节点发送的广播消息,确定作为主节点的节点2故障;节点I发送广播消息以获取具有同一集群标识的各节点的性能参数,并对比获取的各节点的性能参数,选择性能最优的节点m作为主节点,新的主节点重新建立节点列表并通知给集群内的各个处于可用状态的节点更新。
[0077]基于相同的原理,本发明实施例中还提供了一种对等网络中节点集群实现装置,该装置的具体实施可参见上述方法的描述,重复之处不再赘述,如附图3所示,该装置主要包括:
[0078]获取模块301,用于获取具有相同的集群标识的各节点的状态信息,所述状态信息包括节点的标识和性能参数;
[0079]确定模块302,用于根据获取的各节点的性能参数以及自身的性能参数确定主节点。
[0080]其中,获取模块具体用于:
[0081]发送携带有所述集群标识的第一广播消息;
[0082]以及接收其它各服务器返回的第一响应消息,所述第一响应消息由具有所述集群标识的节点返回,所述第一响应消息中携带有自身的标识以及性能参数。
[0083]其中,确定模块还用于:
[0084]接收所述主节点按照设定周期发送携带所述集群标识的第二广播消息;
[0085]确定所述第二广播消息中携带的集群标识与自身的集群标识相同后,向所述主节点返回携带自身标识及性能参数的第二响应消息,由所述主节点根据所述第二响应消息建立节点列表,所述节点列表中包括返回所述第二响应消息的各节点的标识及其性能参数;
[0086]以及接收所述主节点发送的携带所述节点列表的第三广播消息,并保存所述节点列表。
[0087]较佳地,获取模块还用于:
[0088]若所述节点在设定时长内未接收到所述主节点发送的消息,重新获取具有相同的集群标识的其它各节点的状态信息,以及根据重新获取的各节点的性能参数以及自身的性能参数确定主节点。
[0089]基于相同的原理,本发明实施例中还提供了一种对等网络中节点集群系统,该系统的具体实施可参见上述方法部分的描述,重复之处不再赘述,该系统包括一个以上运行于至少一个服务器上的节点;
[0090]其中,任一节点,用于获取具有相同的集群标识的各节点的状态信息,所述状态信息包括节点的标识和性能参数,根据获取的各节点的性能参数以及自身的性能参数确定主节点;
[0091]其它各节点,用于向节点发送自身的状态信息。
[0092]较佳地,以上各实施例中,各节点之间采用套接字(socket)通信,socket为一个通信链的句柄,网络上的主机一般运行有多个服务程序,每个服务程序提供多种服务,每种服务都对应打开一个socket,并绑定到一个端口上,也就是说不同的端口对应不同的服务。
[0093]基于上述技术方案,本发明实施例中,集群中任意一节点获取同一集群中的其它各节点的标识及其性能参数,根据获取的各节点的性能参数以及自身的性能参数确定主节点,从而能够实现对等网络集群部署时主节点的自动推举;
[0094]其中,在初始配置节点时仅需配置该节点的集群标识即可,省去了现有技术中繁杂的配置过程,降低了集群部署的复杂度,提高了集群部署的效率,降低了集群部署和维护的成本。
[0095]并且,本发明实施例中,主节点通过定时发送广播消息,获取各节点的状态信息建立并维护节点列表,能够发现新加入的节点,并且能够发现发生故障的节点。
[0096]同时,任一节点根据接收的定时发送的广播消息向主节点返回响应消息,能够及时发现主节点故障,并能够在主节点故障时重新推举新的主节点。
[0097]其次,采用P2P单播和广播技术,能够高效、准确的检测到同网段内的节点,通过socket通信,提高了节点之间数据通信的安全性和稳定性,采用多线程机制并发扫描机制,极大程度上加快了节点发现的速度。并且,能够支持传统的分布式部署方式,提高了系统的兼容性。
[0098]因此,本发明实施例能够实现集群的自动部署、自动运行和自动维护,提高了集群部署的效率,降低了集群部署的复杂度。
[0099]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【主权项】
1.一种对等网络中节点集群实现方法,所述集群中的各节点运行于至少一个服务器上,其特征在于,包括: 集群中的任意节点获取具有相同的集群标识的各节点的状态信息,所述状态信息包括节点的标识和性能参数; 根据获取的各节点的性能参数以及自身的性能参数确定主节点。
2.如权利要求1所述的方法,其特征在于,获取具有相同的集群标识的各节点的状态信息,包括: 所述节点发送携带有所述集群标识的第一广播消息; 以及接收其它各节点返回的第一响应消息,所述第一响应消息由具有所述集群标识的节点返回,所述第一响应消息中携带有自身的标识以及性能参数。
3.如权利要求2所述的方法,其特征在于,根据获取的各节点的性能参数以及自身的性能参数确定主节点后,还包括: 接收所述主节点按照设定周期发送携带所述集群标识的第二广播消息; 确定所述第二广播消息中携带的集群标识与自身的集群标识相同后,向所述主节点返回携带自身标识及性能参数的第二响应消息,由所述主节点根据所述第二响应消息建立节点列表,所述节点列表中包括返回所述第二响应消息的各节点的标识及其性能参数; 以及接收所述主节点发送的携带所述节点列表的第三广播消息,并保存所述节点列表。
4.如权利要求3所述的方法,其特征在于,所述主节点建立节点列表并接收所述第二响应消息后,还包括: 确定本地保存的节点列表中不包括所述第二响应消息中携带的节点的标识时,将所述第二响应消息中携带的节点的标识及其性能参数加入所述节点列表; 并发送携带所述节点列表的第三广播消息,由各节点在接收所述第三广播消息后更新本地保存的节点列表。
5.如权利要求4所述的方法,其特征在于,所述主节点建立节点列表后,还包括: 在超过设定时长未接收到所述节点返回的第二响应消息时,在所述节点列表中增加所述节点不可用的状态标识; 并发送携带修改后的所述节点列表的第三广播消息,由各节点在接收所述第三广播消息后更新本地保存的所述节点列表。
6.如权利要求1-5任一项所述的方法,其特征在于,根据获取的各节点的性能参数以及自身的性能参数确定主节点后,还包括: 所述节点若在设定时长内未接收到所述主节点发送的消息,重新获取具有相同的集群标识的其它各节点的状态信息,以及根据重新获取的各节点的性能参数以及自身的性能参数确定主节点。
7.一种对等网络中节点集群实现装置,其特征在于,包括: 获取模块,用于获取具有相同的集群标识的各节点的状态信息,所述状态信息包括节点的标识和性能参数; 确定模块,用于根据获取的各节点的性能参数以及自身的性能参数确定主节点。
8.如权利要求7所述的装置,其特征在于,所述获取模块具体用于: 发送携带有所述集群标识的第一广播消息; 以及接收其它各服务器返回的第一响应消息,所述第一响应消息由具有所述集群标识的节点返回,所述第一响应消息中携带有自身的标识以及性能参数。
9.如权利要求8所述的装置,其特征在于,所述确定模块还用于: 接收所述主节点按照设定周期发送携带所述集群标识的第二广播消息; 确定所述第二广播消息中携带的集群标识与自身的集群标识相同后,向所述主节点返回携带自身标识及性能参数的第二响应消息,由所述主节点根据所述第二响应消息建立节点列表,所述节点列表中包括返回所述第二响应消息的各节点的标识及其性能参数; 以及接收所述主节点发送的携带所述节点列表的第三广播消息,并保存所述节点列表。
10.如权利要求7、8或9所述的装置,其特征在于,所述获取模块还用于: 若所述节点在设定时长内未接收到所述主节点发送的消息,重新获取具有相同的集群标识的其它各节点的状态信息,以及根据重新获取的各节点的性能参数以及自身的性能参数确定主节点。
11.一种对等网络中节点集群系统,其特征在于,包括:一个以上运行于至少一个服务器上的节点; 任一节点,用于获取具有相同的集群标识的各节点的状态信息,所述状态信息包括节点的标识和性能参数,根据获取的各节点的性能参数以及自身的性能参数确定主节点;其它各节点,用于向所述节点发送自身的状态信息。
【专利摘要】本发明公开了一种对等网络中节点集群实现方法、装置及系统,用以实现对等网络集群部署时主节点的自动推举,降低集群部署的复杂度,提高集群部署的效率。该方法为:集群中的任意节点获取具有相同的集群标识的各节点的状态信息,所述状态信息包括节点的标识和性能参数;根据获取的各节点的性能参数以及自身的性能参数确定主节点。
【IPC分类】H04L12-24, H04L29-08
【公开号】CN104754016
【申请号】CN201310753556
【发明人】田涵朴, 杨继学, 刘凯歌, 李婷敏, 陈海伟, 郑晓磊, 刘岩, 赵翔
【申请人】中国移动通信集团河南有限公司
【公开日】2015年7月1日
【申请日】2013年12月31日