本发明涉及无线传感器网络技术领域,具体的说是一种无线传感器网络地理信息机会路由协议。
背景技术:
无线传感器网络(wsn,wirelesssensornetworks)是由部署在监测区域内不能二次充电的传感器节点所形成的无线多跳网络。在无线传感器网络中,节点进行信息采集并形成数据,通过多跳传输机制向目的节点传输。在数据传输过程中,节点使用预先制定的路由策略进行传输,因此路由策略的制定对于整个网络的各方面性能至关重要。而无线传感器网络在工作过程中,常常因为突发状况造成网络拓扑结构不断发生变化,传统的路由策略不能够很好的适应这种工作模式,因此机会路由的提出为无线传感器网络路由策略提供了良好的解决途径。
机会路由是通过在稠密的无线传感器网络中利用空间的多样性来改进网络性能,相对于传统的路由协议能提供更有效的数据传输途径。地理机会路由则是机会路由的一个分支,其每一个节点利用地理信息,将数据传输至目的节点。在机会路由的工作模式中,将有一组候选转发节点被选择出,在这组候选转发节点中将根据相应的度量选择出最为合适的中继节点进行数据中继转发,地理机会路由就是根据地理信息来选择出中继节点的。
近年来,针对无线传感器网络提出了很多基于地理信息的路由协议。在这里,我们对这些协议进行简单的描述。
贪婪周界无状态路由协议gpsr是经典的基于地理位置信息的路由协议。它使用贪婪算法来建立路由,当源节点需要向目的节点转发数据时,它通过计算邻居节点的欧氏距离,选出最靠近目的节点的邻居节点作为中继节点进行数据转发。当出现空洞区域导致数据无法传输时,就使用右手法则解决该问题。贪婪周界无状态路由协议避免了在节点中建立、维护和储存路由表,但是在传输过程中网络能量不易平衡,容易造成部分节点过早死亡,最终形成网络割裂。
基于地理位置的无信标路由算法position-basedbeaconlessrouting通过对wsn部署节点的范围进行分区,分别确定源节点的转发区域、邻居节点到目的节点的角度,然后通过优先级回应完成向目的节点的数据发送。在这个过程中,节点通过区域划分限制了不必要的数据传输转发。但是在同一区域范围内进行数据传输的时候,可能会造成某一节点因频繁的进行转发任务过度消耗能量而造成节点死亡,另外网络中的所有节点无论是否有转发任务,都始终处在工作状态,也增加了网络能耗。
基于地理位置的能量平衡路由协议energybalancedposition-basedrouting,首先确定源节点的前向搜索区域,然后计算在前向搜索区域内的所有候选节点的相应度量值并划分优先级。优先级最高的候选节点就作为中继节点进行下一跳数据转发,如此直至数据发送到目的节点。在这个过程中,协议使用了睡眠唤醒机制用于节能,减少在侦听状况下的能量消耗以及限制在数据传输阶段的活动状态的时间。
基于竞争的地理转发策略contention-basedgeographicforwardingstrategies通过评估转发选择算法、竞争机制和地理转发机制分析地理路由策略,首先确定地理转发决策区域,然后在这个区域内进行中继节点选择,并解决信道竞争问题。在确定地理转发决策区域时,文章中提出了两种不同的方法:分段决策区域和凸镜决策区域。通过分析后可以知道当迭代方案影响了碰撞后的重计算,凸镜决策区域就更具有优势。基于竞争的地理转发策略通过建立新的分析框架改善了单跳前进距离,提高了网路性能。
无线传感器网络地理感知的机会路由qosawaregeographicopportunisticrouting首先将qos需求通过度量的性能指标来详细说明,建立约束条件。在此基础上,提出以单跳前进距离和数据包接收率为标准,在有效的邻居节点内通过此标准进一步的缩小选择节点范围,从而减少节点的能耗。协议在节点的工作调度上结合了睡眠机制,减少了节点能耗,但其在中继节点选择上需要进行二次选择,这就可能会增加一定的能耗和时延。
exor协议是一种用于无线多跳网络的路由协议,充分利用无线环境的广播特性进行数据传输,为了减少交互信息,源节点每次发送一个batch(一个batch里包含了若干个数据包,batch的采用是为了减少交互信息,每个数据包都包含候选节点列表),路由传输的时候,每次都将数据包转发给一组节点,节点之间通过batchmap交互协同,从而能够根据etx值选择优先级最高的节点进行转发数据包,如此重复直到目的节点。但是exor协议没有充分考虑网络节点的能耗,网络中的节点都始终处于工作状态,以至于网络的生命周期并不理想。
技术实现要素:
本发明的目的是提供一种新的地理信息机会路由协议(geographicinformationopportunityrouting),gior协议通过网络分区和节点地理信息,在传输数据的过程中确定数据转发的路径指导点,并根据路径指导点进一步选择出中继节点进行数据转发;同时利用睡眠唤醒机制,合理安排网络节点在空闲时段进行睡眠,节省网络能量。
为解决上述技术问题,本发明采用的技术方案为:
一种无线传感器网络地理信息机会路由协议,该协议的实现,包括以下步骤:
步骤一:在二维平面内随机部署n个节点,每个节点都有充足的邻居节点进行通信;节点的通信半径均为r,且知道自身地理位置信息和目的节点地理位置信息;为了在合适的区域内选择节点进行中继转发,首先将网络区域进行划分;将网络区域面积设为s,x和y分别是长和宽,r是一个划分区域的边长,且满足mod(x,r)=mod(y,r)=0;每个划分区域内的节点都知道所在划分区域四个顶点的位置信息;当节点需要进行数据转发的时候,将建立转发区域进行数据转发;
步骤二:源节点在发送数据时,首先将自身和所在划分区域顶点相连接,与源节点的通信圆形成四个扇形区域;然后判断源节点与目的节点的连线line分割哪个扇形,这部分扇形就称为原始转发区域;原始转发区域确定以后,从目的节点向源节点做凸镜圆,确定转发区域;设源节点到目的节点的距离为l,节点的通信半径为r,则n=mod(l,r);凸镜圆的圆心在line这条直线上,并且到源节点的距离l1满足
步骤三:源节点首先发送一个广播信标,通知转发区域内处于唤醒状态的节点准备进行中继竞争;候选节点在接收到源节点的广播信标后,立即向源节点回复ack;当没有发生碰撞的时候,就说明转发区域内只有自己一个候选节点,即可成为中继节点进行中继转发;若发生了碰撞,则说明有其他候选节点进行中继竞争,此刻所有的候选节点计算自身到路径指导点的距离
该协议中引入睡眠唤醒机制,每个节点的睡眠唤醒机制是相互独立的,将一个睡眠唤醒周期分为唤醒阶段和睡眠阶段,唤醒时间为twake,睡眠时间为tsleep,源节点的唤醒时间为twake=tb+tw+tdata,tb是源节点进行广播的时间,tw是源节点等待候选节点回复ack的时间,tdata是源节点发送数据的时间。
在数据传输过程中,广播能耗等于侦听能耗为em,数据的发送能耗为es,数据的接收能耗为er,回复ack能耗忽略不计,源节点等待ack回复和睡眠的时间不消耗能量,不考虑竞争碰撞能耗,则源节点发送k比特的数据包的总能耗为estotal=em+es×k,节点接收k比特的数据包的总能耗为ertotal=er×k,当网络中的节点当前剩余能量不足够完成一次数据接收和发送时,即eresidue﹤ertotal+estotal,此节点就被称为死亡节点。
本发明的有益效果:
本发明提供的无线传感器网络地理信息机会路由协议,该策略划分网络区域,利用每个节点和sink节点的地理信息,确定路径指导点并选择最为合适的中继节点以达到路径较短、转发跳数较少或者传输时延较小等目的。同时,为减少网络能耗,将睡眠唤醒机制与地理信息机会路由策略相结合,安排空闲节点进行睡眠,避免节点过度消耗死亡而引起的网络割裂,延长网络使用寿命;以单跳前进距离为主要度量标准,将网络区域进行划分,并提出路径指导点来确保数据传输方向的一致性。同时为节省网络能量,将睡眠唤醒机制与地理信息机会路由相结合,安排网络节点在空闲时段进行睡眠以节省网络开销。
附图说明
图1本发明网络划分示意图;
图2本发明原始转发区域的建立图;
图3当n≠0时,转发区域的建立图;
图4当n=0时,转发区域的建立图;
图5节点的时间调度安排图;
图6网络面积不变,节点数量增加时数据传输能耗图;
图7网络面积不变,不同通信距离在节点数量变化时的传输能耗图;
图8节点数量不变,扩大网络面积时的传输能耗图;
图9网络面积不变,通信距离增加时的传输能耗图;
图10网络面积不变,节点数量增加时的传输时延图;
图11网络面积变化时,不同通信距离的传输时延图;
图12gior协议、gcf协议、exor协议的能耗对比图。
具体实施方式
下面结合具体实施方式对本发明做进一步的阐述。
网络设置与划分
在二维平面内随机部署n个节点,每个节点都有充足的邻居节点进行通信。节点的通信半径均为r,且知道自身地理位置信息和目的节点地理位置信息。为了在合适的区域内选择节点进行中继转发,我们首先将网络区域进行划分。将网络区域面积设为s,x和y分别是长和宽。r是一个划分区域的边长,且满足mod(x,r)=mod(y,r)=0,如图1。每个划分区域内的节点都知道所在划分区域四个顶点的位置信息。当节点需要进行数据转发的时候,将建立转发区域进行数据转发。
转发区域确定
源节点在发送数据时,首先将自身和所在划分区域顶点相连接,与源节点的通信圆形成四个扇形区域。然后判断源节点与目的节点的连线line分割哪个扇形,这部分扇形就称为原始转发区域,如图2中扇形sab。
原始转发区域确定以后,从目的节点向源节点做凸镜圆,确定转发区域。设源节点到目的节点的距离为l,节点的通信半径为r,则n=mod(l,r)。凸镜圆的圆心在line这条直线上,并且到源节点的距离l1满足
中继节点选择
源节点首先发送一个广播信标,通知转发区域内处于唤醒状态的节点准备进行中继竞争。候选节点在接收到源节点的广播信标后,立即向源节点回复ack。当没有发生碰撞的时候,就说明转发区域内只有自己一个候选节点,即可成为中继节点进行中继转发;若发生了碰撞,则说明有其他候选节点进行中继竞争,此刻所有的候选节点计算自身到路径指导点的距离
睡眠唤醒机制与能耗模型
为了节省网络能量开销,地理信息机会路由协议中引入了睡眠唤醒机制。设每个节点的睡眠唤醒机制是相互独立的,根据文章前面的描述,将一个睡眠唤醒周期分为唤醒阶段和睡眠阶段,唤醒时间为twake,睡眠时间为tsleep,源节点的唤醒时间为twake=tb+tw+tdata,tb是源节点进行广播的时间,tw是源节点等待候选节点回复ack的时间,tdata是源节点发送数据的时间。候选节点在唤醒阶段会进行广播侦听,侦听时间为tm,当侦听到广播信标后,就进行中继竞争并向源节点回复ack,tback为碰撞退避时间,tr为回复ack时间。候选节点竞争中继节点成功,就准备接收数据,时间为tdata。这里,我们设源节点的广播时间tb和候选节点侦听广播信标的时间tm相等,源节点等待候选节点回复ack的时间tw略大于候选节点回复ack的时间tr。图5为节点的时间调度安排。
为了能够简单的评估网络能耗,这里使用一个简单的能量模型。设网络中的节点初始能量相同,sink节点能量无限。在数据传输过程中,广播能耗等于侦听能耗为em,数据的发送能耗为es,数据的接收能耗为er。回复ack能耗忽略不计,源节点等待ack回复和睡眠的时间不消耗能量,不考虑竞争碰撞能耗。所以,源节点发送k比特的数据包的总能耗为estotal=em+es×k,节点接收k比特的数据包的总能耗为ertotal=er×k,当网络中的节点当前剩余能量不足够完成一次数据接收和发送时,即eresidue﹤ertotal+estotal,此节点就被称为死亡节点。
模拟仿真
在本小节中将对地理机会路由协议的性能进行仿真分析。地理机会路由协议是在matlab仿真平台上进行的,选取micaz硬件参数,相关实验参数如表1。
表1仿真参数设置
我们将网络范围设置为(100m,100m),sink节点的坐标设置为(100,100),在不同的通信范围和不同的节点数量下的传输能耗如图6。从图中可以看出,在网络面积不变、通信距离不变的情况下,从源节点向sink节点传输一个数据包时,传输能耗并没有随着节点数量的增加而明显减少,这是因为地理机会路由是通过距离来选择中继节点的。当从同一节点向sink节点传输数据包时,传输距离没有发生改变,传输能耗也就没有明显变化。而随着网络节点数量的不断增加,在选择中继节点的时候,能够选择的候选节点数量增多,传输能耗略有减少。
图7中显示的是网络范围为(200m,200m),sink节点的坐标为(200,200),通信距离分别为30、40和50m,不同节点数量情况下的传输能耗。从图中可以看出,随着通信距离的增加,传输能耗减少。这是因为在传输距离不变的情况下,通信距离的增加减少了传输跳数,传输能耗也就随之减少。
图8显示的是在网络节点数量不变的情况下,网络面积改变的能量消耗情况。将网络内的通信节点设置为350个,节点的通信距离分别设置为30m、40m和50m,将网络面积进行扩大。从图中我们可以看到随着网络面积的扩大,传输能耗随之增加。这是因为面积的扩大也增加了源节点到sink节点的传输距离,从而加剧了网络能耗。另外图中也显示了节点通信距离的增加,降低了网络能耗。这是因为当通信距离为50m时,每一次所确定的转发区域大于通信距离是30m的转发区域,这样就能够选择出距离sink节点更近的中继节点进行数据转发。
图9显示的是在网络面积不变的情况下,数据包从源节点发送至sink节点,节点通信距离改变的能量消耗。将网络面积设置为(300m,300m),sink节点的坐标为(300,300)。从图中可以看到,随着通信距离的增加,网络能耗随之降低。通信距离的增加能够减少转发跳数,从而减少了网络能耗。图8中也显示了在不同节点数量下的能耗。当节点数量增多时,将能够选择出更有效的中继节点,从而也降低了网络能耗。
图10显示的是在网络面积为(200m,200m)的情况下,节点数量改变的传输时延。从图中可以看出,随着节点数量的增加,网络的传输时延也随之增加。这是因为在选择中继节点的时候,处于唤醒状态的节点增多,因此增加了选择时间。
本文提出了一种新的地理信息机会路由协议geographicinformationopportunityrouting,该协议通过网络划分以及网络中节点的地理信息确定数据传输的路径指导点,并通过距离和节点剩余能耗选择出最合适的中继节点进行数据转发,达到传输路径较短、转发跳数较少或者传输时延较小等目的。同时利用睡眠唤醒机制安排网络节点在空闲时段进行睡眠,减少网络能耗。仿真实验结果表明,地理信息机会路由协议gior在数据传输过程中,传输路径较短,转发次数较少,能量消耗较小。