[发明专利]一种基于分簇结构的ZigBee网络能量均衡路由方法有效
| 申请号: | 201510035742.2 | 申请日: | 2015-01-23 |
| 公开(公告)号: | CN104602302B | 公开(公告)日: | 2018-02-27 |
| 发明(设计)人: | 唐宏;舒红;王惠珠;郭彦芳;徐东哲 | 申请(专利权)人: | 重庆邮电大学 |
| 主分类号: | H04W28/08 | 分类号: | H04W28/08;H04W40/10 |
| 代理公司: | 重庆市恒信知识产权代理有限公司50102 | 代理人: | 刘小红 |
| 地址: | 400065 *** | 国省代码: | 重庆;85 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明请求保护一种基于分簇结构的能量均衡ZigBee网络路由方法,该方法在原有簇树结构的基础上选取簇头,以此获取含有各簇相对位置的邻簇序列。路由发现过程中,节点通过邻簇序列判断RREQ消息的转发方向和转发范围,从而限制RREQ消息的转发次数,降低网络总能量消耗。同时,在目的节点进行路径选择时,综合考虑各路径的跳数、最小节点剩余能量两个因素,避开节点剩余能量较小的节点,有效均衡节点间流量负载,从而协调节点间的能量消耗,延长网络生存时间。 | ||
| 搜索关键词: | 一种 基于 结构 zigbee 网络 能量 均衡 路由 方法 | ||
【主权项】:
一种基于分簇结构的ZigBee网络能量均衡路由方法,其特征在于:包括网络成簇阶段和路由发现阶段,其中网络成簇阶段具体包括以下步骤:101、协调器节点建立ZigBee网络,其它节点请求加入ZigBee网络,并在加入网络时分别建立自身的邻居表;102、获取步骤101中建立的ZigBee网络的簇树拓扑结构,并将网络分成N个簇,其中N为协调器节点的子节点数目;103、对步骤102分成的每个簇根据簇头选举策略进行簇头选举,形成拓扑结构,具体步骤如下:①判断当前节点是否是全功能设备FFD节点,若当前节点是全功能设备FFD节点,则执行步骤②,否则执行步骤④;②如公式(1)所示,分别计算各簇的平均节点深度davg(j);如公式(2)所示,分别计算各簇的平均节点度数TNavg(j),其中,M是簇j的簇内节点总数,d(i)是簇j内节点i的深度,TN(i)是簇j内节点i的节点度数;davg(j)=Σi=1Md(i)M,1≤j≤N---(1)]]>TNavg(j)=Σi=1MTN(i)M,1≤j≤N---(2)]]>③通过公式(3)计算各节点的簇头权值函数W(i),对节点度数、节点深度两方面因素进行归一化处理,得到最终簇头权值函数;W(i)=d(i)/davg(j)TN(i)/TNavg(j)---(3)]]>④重复步骤①~③,直到计算出簇j内全部节点的簇头权值函数;⑤比较各节点的权值函数,将权值函数最小的节点当作簇头,并对簇内节点进行簇信息广播,簇内节点实行路由信息共享;104、簇内节点查询自身邻居表,并将邻簇信息发送给簇头节点,簇头节点对接收到的邻簇信息进行整合,并转发给协调器节点;协调器节点根据来自各簇头的邻簇信息,生成邻簇序列SoAC,协调器节点向全网广播邻簇序列SoAC,完成网络成簇阶段;路由发现阶段具体包括以下步骤:105、当ZigBee网络中的节点有数据包要进行发送时,网络进入路由发现阶段,根据数据包的源节点网络地址、目的节点网络地址去查询源节点、目的节点的簇号,判断源节点、目的节点是否同簇,若源节点、目的节点同簇,则执行步骤106,否则执行步骤107;106、若源节点、目的节点具有相同的邻居节点,则将数据包转发给相同的邻居节点,邻居节点再将数据包转发给目的节点;反之,则按照簇树路由算法Cluster‑Tree进行数据转发;107、查询邻簇序列SoAC,利用公式(4)计算源节点到目的节点之间的最大跳数,其中,dS、dD分别是源、目的节点深度、dMCP是源目的节点最大公共父节点深度,hmax表明数据包沿Cluster‑Tree方法在网络中传输的路径长度,即数据包在网络中传输的最大跳数;hmax=dS+dD‑2·dMCP (4)108、在原路由请求RREQ结构的基础上添加最大跳数hmax、当前跳数位h、以及最小节点剩余能量位RREQe,并根据公式(5)初始化当前跳数位和最小节点剩余能量位,其中Einit为节点的初始能量值;h=0RREQe=Einit (5)109、根据源节点、目的节点簇号查询邻簇序列SoAC,在邻簇序列基础上生成正向邻簇序列fSoAC和逆向邻簇序列rSoAC;判断fSoAC的长度是否大于rSoAC,若fSoAC长于rSoAC,且rSoAC中没有0,则RREQ消息沿rSoAC中簇序列方向进行转发;若rSoAC长于fSoAC,且fSoAC中没有0,则RREQ消息沿fSoAC中簇序列方向进行转发,0表示当某簇未检测到一侧或两侧的邻簇信息,则这侧或两侧的邻簇信息由0替代,否则,RREQ消息沿源簇→协调器节点→目的簇方向进行转发;110、节点i接收来自上一跳节点的RREQ消息后,首先判断自身是否是目的节点,若当前节点不是目的节点,则计算节点i的剩余能量Eres(i),并更新RREQ消息,使得RREQ消息中的RREQe位为路径中最小节点剩余能量;111、当RREQ消息到达目的节点时,根据公式(6)计算最大节点能量消耗Econs,根据公式(7)计算路径代价函数cost;Econs=Einit‑RREQe (6)cost=hhmax+EconsEinit---(7)]]>目的节点选择代价函数最小的路径回复RREP消息,源节点接收到目的节点发送的RREP消息后,按RREP消息的发送路径发送数据包。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆邮电大学,未经重庆邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510035742.2/,转载请声明来源钻瓜专利网。





