一种基于数据同步的集群网络中主节点的确定方法技术

技术编号:34788798 阅读:19 留言:0更新日期:2022-09-03 19:51
一种基于数据同步的集群网络中主节点的确定方法,属于集群组网控制技术领域,步骤S1,每个节点评估自身的节点属性,并将每个节点属性乘以该节点属性对应的权重系数,生成该节点的权重值W

【技术实现步骤摘要】
一种基于数据同步的集群网络中主节点的确定方法


[0001]本专利技术属于集群组网控制
,具体为一种基于数据同步的集群网络中主节点的确定方法。

技术介绍

[0002]在自组网中,每个节点可以在没有集中式结构的帮助下与其他节点自由通信,同时,每个节点可以自由的进出网络,这将导致网络拓扑结构的变化。在待回复的消息超时后,则将未回复的节点排除在网络之外,此时,需要更新路由信息,以方便节点选择正确的路由信息用以传递消息。然而,更新路由信息,则将消耗网络流量并增加节点负担。此时,可以在节点之间建立集群的结构,将一组节点作为块状结构,形成集群。网络集群化是为计算机服务器或网络设备提供高可用性和增强性能的方式。集群网络中主节点,负责传送节点之间的消息和维护路由信息。由于主节点需要处理和消化大量的信息,需要保持主节点的处理能力以及信息传输能力,因此,如何确定主节点,非常重要。
[0003]传统的主节点的确定方法,都是基于节点ID进行识别,但是,并未阐明节点ID的获取方式。例如公开号为CN101471885A的中国专利技术专利,公开了一种具有状态同步的集群的虚拟组播路由,在该方案中,集群系统包括局域网/广域网、目的设备、源设备、组播路由器以及组播集群,组播集群包括集群成员和集群主设备,集群的一个成员可静态或动态地指定集群主设备。该方案并未阐明集群主设备的确定方式,并且,其假设集群网络中,消息的发送没有产生延迟,而实际会有延迟,这将导致共识问题,另外频繁的改动集群主设备,还将导致网络的不稳定。

技术实现思路

[0004]针对上述情况,为克服现有技术的缺陷,本专利技术提供一种基于数据同步的集群网络中主节点的确定方法。
[0005]为实现上述目的,本专利技术提供如下技术方案:一种基于数据同步的集群网络中主节点的确定方法,包括以下步骤:步骤S1,每个节点评估自身的节点属性,并将每个节点属性乘以该节点属性对应的权重系数,生成该节点的权重值W
i
;步骤S2,对所有节点进行分群形成集群并确定每个集群中唯一的主节点;步骤S3,主节点离线后的重新确定,包括:步骤S301,任意节点,发现集群主节点离线后,成为源节点,并向其传输范围内的邻居节点发送带有源节点权重值的提案消息;步骤S302,收到提案消息的邻居节点,首先验证当前的主节点是否在线:当主节点不在线,则执行步骤S303;否则,邻居节点回复源节点停止提案流程;步骤S303,邻居节点,对于收到的第一个提案消息,将该提案消息的发送者认定为该邻居节点的父节点;然后将提案消息发送给除父节点之外的传输范围内的所有邻居节
点;步骤S304,重复步骤S303建立树状的节点传送结构,提案消息被传送到所有节点;步骤S305,收到提案消息的节点,比较自身的节点权重值和提案消息中的源节点权重值的大小:如果提案消息中的源节点权重值不小于自身的节点权重值,则收到提案消息的节点向其父节点发送Reply_ok消息;否则发送含有的自身节点权重值的Reply_deny消息;步骤S306,如果源节点有收到Reply_deny消息,进行检索并找出最大权重值以及该最大权重值所在节点,向最大权重值所在节点发送授权消息;否则,最大权重值所在节点为源节点;步骤S307,最大权重值所在节点,向其传输范围内的邻居节点发送终局提案消息;步骤S308,如果最大权重值所在节点收到的Reply_ok消息的总数大于集群中节点总数的一半,则宣布自己为主节点,向集群中的所有其它节点发送协调消息。
[0006]节点属性,包括节点度D
i
、剩余电池电量P
i
、信号强度S
i
;权重值W
i
=w1D
i
+w2P
i
+w3S
i
;w1+w2+w3=1;其中,w1是节点度权重系数,w2是剩余电池电量权重系数,w3是信号强度权重系数;节点度D
i
是节点在其传输范围内的邻居节点连接数之和,即:;其中,N(i)表示一组节点的集群,其包含有节点i;i

表示集群N(i)中除了节点i之外的一个节点;dist(i,i

)表示节点i和节点i

之间的距离;tx
range
表示节点i的传输范围;剩余电池电量P
i = EnergyRatio
L
ꢀ×ꢀ
MAX_Range;其中,EnergyRatio为节点的剩余电量,以百分比表示;L为惩罚系数;MAX_Range为节点的最大电量;L与EnergyRatio的关联公式如下:;信号强度S
i
,是节点的邻居报告的信号强度值相加的和,即:;其中,RSSI(i,i

)表示节点i和节点i

之间的信号强度指示值。
[0007]步骤S2,包括:步骤S201,所有节点都会持续收到邻居节点所发出的 beacon封包,beacon封包的格式为:beacon{NID||LNID||Seed||Flag
Energy
||Energy||W
i
||Timestamp};其中,NID表示发送封包的节点的ID编号,且ID编号唯一不可重复;LNID表示发送封包的节点所在集群的主节点ID编号,如果发送该beacon封包的节点当前处于未分群的状态,则LNID为0;Seed表示一布林值,若 Seed 为 1 代表发送该beacon封包的节点评估自己有能力担任主节点,并推举自己成为主节点的候选者,若 Seed 为0 则代表发送该beacon封包的节点并未做出推举自己的动作,必须参加之后的主节点的确定流程;Flag
Energy 为一
布林值,若为 1,代表发送该beacon封包的节点拥有持续电源供应,若为 0,则代表电源有线;Energy 代表发送该beacon封包的节点的剩余能源量;W
i
表示发送该beacon封包的节点的权重值,预设值为 0;Timestamp为发出beacon封包的时间戳记;步骤S202,令Seed为1的节点为潜在主节点;潜在主节点周围的邻居节点收到Seed为1的beacon封包后,发送 JOIN 封包表示加入该潜在主节点所开创的集群的意愿,JOIN 封包格式如下:JOIN{NID||LNID||session_key(Nonce||Timestamp||Key
WPA
)||HMAC
session_key
(NID||Key
WPA
||Secret||Timestamp)||Timestamp};Nonce 为随机值;Key
WPA 为注册过程中得到的网络密匙;HMAC
session_key
表示消息验证码;Nonce、Key
WPA
、Timestamp和HMAC
session_key
均通过邻居节点和潜在主节点共有的会话密钥加密后附在 JOIN本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于数据同步的集群网络中主节点的确定方法,其特征在于,包括以下步骤:步骤S1,每个节点评估自身的节点属性,并将每个节点属性乘以该节点属性对应的权重系数,生成该节点的权重值W
i
;步骤S2,对所有节点进行分群形成集群并确定每个集群中唯一的主节点;步骤S3,主节点离线后的重新确定,包括:步骤S301,任意节点,发现集群主节点离线后,成为源节点,并向其传输范围内的邻居节点发送带有源节点权重值的提案消息;步骤S302,收到提案消息的邻居节点,首先验证当前的主节点是否在线:当主节点不在线,则执行步骤S303;否则,邻居节点回复源节点停止提案流程;步骤S303,邻居节点,对于收到的第一个提案消息,将该提案消息的发送者认定为该邻居节点的父节点;然后将提案消息发送给除父节点之外的传输范围内的所有邻居节点;步骤S304,重复步骤S303建立树状的节点传送结构,提案消息被传送到所有节点;步骤S305,收到提案消息的节点,比较自身的节点权重值和提案消息中的源节点权重值的大小:如果提案消息中的源节点权重值不小于自身的节点权重值,则收到提案消息的节点向其父节点发送Reply_ok消息;否则发送含有的自身节点权重值的Reply_deny消息;步骤S306,如果源节点有收到Reply_deny消息,进行检索并找出最大权重值以及该最大权重值所在节点,向最大权重值所在节点发送授权消息;否则,最大权重值所在节点为源节点;步骤S307,最大权重值所在节点,向其传输范围内的邻居节点发送终局提案消息;步骤S308,如果最大权重值所在节点收到的Reply_ok消息的总数大于集群中节点总数的一半,则宣布自己为主节点,向集群中的所有其它节点发送协调消息。2.根据权利要求1所述的一种基于数据同步的集群网络中主节点的确定方法,其特征在于,节点属性,包括节点度D
i
、剩余电池电量P
i
、信号强度S
i
;权重值W
i
=w1D
i
+w2P
i
+w3S
i
;w1+w2+w3=1;其中,w1是节点度权重系数,w2是剩余电池电量权重系数,w3是信号强度权重系数;节点度D
i
是节点在其传输范围内的邻居节点连接数之和,即:;其中,N(i)表示一组节点的集群,其包含有节点i;i

表示集群N(i)中除了节点i之外的一个节点;dist(i,i

)表示节点i和节点i

之间的距离;tx
range
表示节点i的传输范围;剩余电池电量P
i = EnergyRatio
L
ꢀ×ꢀ
MAX_Range;其中,EnergyRatio为节点的剩余电量,以百分比表示;L为惩罚系数;MAX_Range为节点的最大电量;L与EnergyRatio的关联公式如下:;信号强度S
i
,是节点的邻居报告的信号强度值相加的和,即:
;其中,RSSI(i,i

)表示节点i和节点i

之间的信号强度指示值。3.根据权利要求2所述的一种基于数据同步的集群网络中主节点的确定方法,其特征在于,步骤S2,包括:步骤S201,所有节点都会持续收到邻居节点所发出的 beacon封包,beacon封包的格式为:beacon{NID||LNID||Seed||Flag
Energy
||Energy||W
i
||Timestamp};其中,NID表示发送封包的节点的ID编号,且ID编号唯一不可重复;LNID表示发送封包的节点所在集群的主节点ID编号,如果发送该beacon封包的节点当前处于未分群的状态,则LNID为0;Seed表示一布林值,若 Seed 为 1 代表发送该beacon封包的节点评估自己有能力担任主节点,并推举自己成为主节点的候选者,若 Seed 为0 则代表发送该beacon封包的节点并未做出推举自己的动作,必须参加之后的主节点的确定流程;Flag
Energy 为一布林值,若为 1,代表发送该beacon封包的节点拥有持续电源供应,若为 0,则代表电源有线;Energy代表发送该beacon封包的节点的剩余能源量;W
i
表示发送该beacon封包的节点的权重值,预设值为 0;Timestamp为发出beacon封包的时间戳记;步骤S202,令Seed为1的节点为潜在主节点;潜在主节点周围的邻居节点收到Seed为1的beacon封包后,发送JOIN封包表示加入该潜在主节点所开创的集群的意愿,JOIN 封包格式如下:JOIN{NID||LNID||session_key(Nonce||Timestamp||Key
WPA
)||HMAC
session_key
(NID||Key
WPA
||Secret||Timestamp)||Timestamp};Nonce 为随机值;Key
WPA
为注册过程中得到的网络密匙;HMAC
session_key
表示消息验证码;Nonce、Key
WPA
...

【专利技术属性】
技术研发人员:王克飞徐超汤堃
申请(专利权)人:蒲惠智造科技股份有限公司
类型:发明
国别省市:

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

1