本发明属于无线传感技术领域,尤其涉及一种能量负载均衡的非均匀分簇方法及非均匀分簇路由方法。
背景技术:
无线传感器网络是一种集信息采集、数据处理与传输功能于一体的网络信息系统,传感器网络中的节点往往体积小,自身携带的能量有限,因此在设计路由协议时,降低节点能耗和延长网络的生存时间是无线传感器网络的主要研究方向之一。
为了降低节点能耗和延长网络的生存时间,常采用eeuc算法,该算法采用非均匀分簇的思想,根据节点与汇聚节点之间的距离,缩小靠近汇聚节点的成簇规模,使得簇内节点传输时能耗降低,节点可以将更多能量用于簇间传递数据,提升网络性能并够缓解“热节点”现象。但eeuc算法存在以下缺点:(1)在簇首的选举阶段,推举候选簇头节点仅依据随机生成数大小决定,没有考虑候选簇首的当前剩余能量、节点密度大小,容易导致当前剩余能量较小的节点成为簇首以及节点密度过大导致的节点压力过大,也就是说对于剩余能量少的节点仍然存在被选为候选簇头的可能,导致能量过早耗尽的问题;(2)决定候选节点的竞争半径的参考因素只有节点与汇聚节点之间的距离,没有考虑节点的剩余能量较低的情况以及簇头节点密度过大的情况。
技术实现要素:
发明目的:为解决无线传感器网络中节点能耗不均的问题,本发明提出了一种能量负载均衡的非均匀分簇方法及非均匀分簇路由方法,将传感器节点非均匀分簇,并采用最短路径的多跳方式完成簇间信息传输。
技术方案:一种能量负载均衡的非均匀分簇方法,包括以下步骤:
步骤1:,将传感器网络中的节点分为当选过簇首的节点和未当选过簇首的节点,将当选过簇首的节点的节点标识设为普通,对所有的未当选过最终簇首的节点执行步骤2;
步骤2:对于未当选过簇首的节点i,根据式(1)计算得到未当选过簇首的节点i的权重wi,并判断权重wi是否大于等于
wi=pi×ei(1)
其中,pi为未当选过簇首的节点i产生的区间[0,1]内的均匀随机数,ei为未当选过簇首的节点i的当前节点剩余能量;
步骤3:候选簇首i根据其他候选簇首发来的竞争消息,建立对应的候选簇首集合ai={j|d(i,j)<max(ri,rj)},d(i,j)为候选簇首i和候选簇首j之间的距离;ri为候选簇首i的竞争半径,rj为候选簇首j的竞争半径;
步骤4:候选簇首i判断自身剩余能量是否比候选簇首集合ai中的最大值大,若是则候选簇首i成为簇首,以竞争半径ri为半径广播成为簇首的消息,转步骤6,否则等待其他候选簇首成为簇首的消息,当收到其他候选簇首发送的成为簇首的消息后,执行步骤5;
步骤5:判断候选簇首i收到成为簇首节点消息的节点剩余能量是否比它大,若大于,则将候选簇首i的节点标识设为普通,并以竞争半径ri为半径广播退出竞争簇首的消息;否则判断候选簇首i的候选簇首集合ai中是否有退出竞争的候选节点,若有,则将退出竞争候选簇首从候选簇首集合ai中剔除,并转步骤4;否则不做处理;
步骤6:簇首i向传感器网络发送一个包括节点序号的广播信息;节点标识为普通的节点根据信号强度向信号最强的簇首发送加入请求。
进一步的,所述竞争半径根据下式计算得到:
其中,ri为节点i的竞争半径,dmax为传感器网络中距离汇聚节点最远的节点到汇聚节点的距离,dmin为传感器网络中距离汇聚节点最近的节点到汇聚节点的距离;d(i,sn)为节点i到汇聚节点sn的距离,nnbr为节点的度,nalive为生命周期未结束的节点个数,rmax为节点最大通信距离。
进一步的,传感器网络中的节点以节点最大通信距离为半径进行广播。
进一步的,在步骤6中,若出现两个或者两个以上信号强度相同的情况,则节点标识为普通的节点随机选择一个簇首发送加入请求。
进一步的,在步骤6中,簇首利用非持续性载波侦听多路访问的mac协议以相同功率向传感器网络发送一个包括节点信息的广播信息。
本发明还公开了一种能量负载均衡的非均匀分簇路由方法,包括以下步骤:
s100:采用上述公开的一种能量负载均衡的非均匀分簇方法完成分簇;
s200:簇首j基于自身与汇聚节点的相对坐标,确定簇首j到汇聚节点的直线lj;簇首j在自己的通讯半径内搜索靠近汇聚节点一侧且与直线lj的垂直距离最小的簇首i,将簇首i作为自己的下一跳转发节点;
s300:其他簇首按照s200选择各自的下一跳转发节点,形成簇间传输路径。
有益效果:本发明与现有技术相比,具有以下优点:
(1)本发明的非均匀分簇方法根据候选节点的竞争半径进行非均匀分簇,充分保证簇的大小、节点剩余能量以及节点密度三者之间的平衡,避免节点能耗过大过早死亡,保证簇间信息传输中能耗最小;
(2)本发明的非均匀分簇路由方法采用最短路径的多跳方式实现簇间信息传输,降低网络的总体能耗,延长网络的生命期。
附图说明
图1为簇的形成流程图;
图2为节点分布图;
图3为路径规划分析图。
具体实施方式
现结合附图进一步阐述本发明的技术方案。
参见图1,本发明的一种能量负载均衡的非均匀分簇路由方法,包括以下步骤:
步骤1:节点部署后,汇聚节点广播一个消息,每个节点根据接收到的消息强度,计算出它们各自与汇聚节点之间的距离;
步骤2,网络中所有当选过簇首的节点进入睡眠状态,未当选过簇首的节点i产生[0,1]区间内的均匀随机数pi,得到节点i的权重wi:
wi=pi×ei(1)
其中,ei为未当选过簇首的节点i的当前节点剩余能量;
步骤3:
其中,ri为节点i的竞争半径,dmax为网络中距离汇聚节点最远的节点到汇聚节点的距离,dmin为网络中距离汇聚节点最近的节点到汇聚节点的距离;d(i,sn)为节点i到汇聚节点sn的距离,nnbr为节点的度,nalive为生命周期未结束的节点个数。
步骤4:候选簇首节点i接收其他候选簇首发来的消息,并且建立其对应的候选簇首集合ai={j|d(i,j)<max(ri,rj)},d(i,j)为节点i和节点j之间的距离;
步骤5:候选簇首节点i比较自身能量是否比其候选簇首集合ai中的最大值大,若是则转步骤7,若不是,则等待其他候选簇首发送的成为簇首的消息;
步骤6:判断候选节点i接收到成为簇首节点消息的节点剩余能量是否比它大,若大于则节点立即设置自身为普通节点,并以竞争半径ri为半径广播退出竞争簇首消息;否则判断候选簇首i的候选簇首集合ai中是否有退出竞争的节点,若有,则将退出竞争的候选簇首从集合中剔除,转步骤5。
步骤7:候选簇首节点i成为簇首,并以竞争半径ri为半径广播此消息;
步骤8:簇首利用非持续性载波侦听多路访问的mac协议以相同功率向网络发送一个包含节点信息的广播信息。
步骤9:普通节点根据所收到的簇首发来的信号强度,选择信号最强的簇首发送加入请求;如果出现两个或者两个以上信号强度相同的情况时,随机选择一个簇首发送加入请求,完成分簇;
步骤10:分簇完成后,汇聚节点向所有簇头节点发送信号,簇首根据接收到的信息计算自己与汇聚节点的相对坐标;得到簇首j与汇聚节点两点的坐标所确定的直线lj,簇首j在自己的通信半径内搜索靠近汇聚节点一侧并且与直线lj的垂直距离最小的簇首i,将簇首i作为自己的下一跳转发节点;簇首i(i≠j)与直线lj的垂直距离为l(i),l(i)越小,则簇首数据经过下一跳簇首中转再到汇聚节点的传输路径距离就越接近于直线,通信路径越短,传输能耗越低,越有利于延长网络的生存时间。其他簇首节点也按此选择各自的下一跳转发节点,由此形成簇间传输路径。
现对l(i)的计算方法进行说明:
以汇聚节点为原点(设为(0,0)),设簇首节点坐标为(a1,b1),其他簇首节点的坐标为(a2,b2),(a3,b3),(a4,b4),…,(ai,bi),则簇首和汇聚节点两点的坐标确定的直线方式为:
假定中转簇首节点坐标为(ai,bi),簇头(ai,bi)到直线的距离为l(i)为:
现结合实施例进一步阐述本发明的技术方案。
本实施例提出的路由方法应用于一个部署在二维空间的无线传感器网络,该无线传感器网络包括基站和多个传感器节点;其中,基站固定处于网络中心,能通过多跳路由传输方法收集整个网络传感器的数据,包括收集到的数据以及其自身电量信息,即为本实施例的汇聚节点。传感器节点随机部署在无线传感器网络上,对周围环境进行监测,传感器节点之间通过路由传输数据,这也导致了不同的节点会有不同的能量消耗率。本实施例中,假设无线传感器网络中所有的传感器节点电池总能量是相同的。图2为节点的分布图,每个节点随机分布,其中,传感器节点a~j为普通节点,传感器节点k为汇聚节点。节点与节点之间通过本发明提出的一种能量负载均衡的非均匀分簇路由方法进行数据传输。
图3中圆形点代表路径传输过程中担任中转节点的簇头节点;棱形代表汇聚节点;现在簇头d节点需要向汇聚节点h传送数据,采用单跳方式簇头d节点直接将数据发送到汇聚节点h,但单跳方法会造成簇头d节点的能耗过大,承担的传输压力过大,导致能量过早耗尽;而本实施例采用一种能量负载均衡的非均匀分簇路由方法,即多跳的数据发送方法,先找到其他担任中转节点的簇头节点中距离线段dh最近的节点,图中为g点,则g成为多跳的下一跳节点。因为ig距离线段dh最短,所以dg方向与dh方向偏离最小;以此类推,直到簇头节点到汇聚节点的距离小于当前下一跳的最短的距离。