一种改进的无线传感网层次型多链路算法的制作方法

文档序号:12280259阅读:228来源:国知局
一种改进的无线传感网层次型多链路算法的制作方法与工艺
本发明属于无线传感器网络
技术领域
,涉及一种改进的无线传感网层次型多链路算法。
背景技术
:无线传感网(WirelessSensorNetworks,WSNs)是由部署在监测区域内大量传感器节点相互通信形成的多跳自组织网络系统,是物联网底层网络的重要技术形式。无线传感网由大量能量受限的传感器节点组成,这些传感器部署在监控区域,用于收集周边的数据,传送给基站。近几年,由于无线传感网具有自组织、部署迅捷、高容错性和强隐蔽性等技术优势,被广泛用于环境监测、目标跟踪和战场侦查等领域。在无线传感网络中,节点的能量非常有限,一旦电池消耗完,对节点进行充电或更换电池一般都是不现实的。因此,如何提高能量有效性、均衡节点能量消耗、延长网络寿命、避免网络分裂等问题便成为无线传感器网络路由协议研究的重要课题。为了解决这些问题,很多学者、专家提出了各种各样的路由节能策略,WSNs分层路由协议使用的比较多,主要范畴包括:基于链路、基于树、基于网格、基于区域的路由协议,其中基于链路的路由协议研究最为广泛。PEGASIS协议存在三个方面的不足,一是链生成算法会导致相邻节点间产生长链;二是链头节点选取方法会导致节点间能量消耗不均衡;三是链头节点重选频率增加了通信开销。针对现有技术中存在的相关问题,本发明以比较经典的PEGASIS算法为基础,通过子区域的划分,有效的避免了长链的产生。对于每个子区域,首先采用静态分簇的方法,避免了动态分簇过度重组带来的能量损耗,根据节点的剩余能量,选择leader节点。然后对所有的leader节点建立链路,最后通过节点的剩余能量,节点的邻居密度以及距离基站的距离,选择与基站通信的root节点,形成树形的网络拓扑结构。在无线传感网进行链路重组的过程中,通过控制节点的重组频率,使其达到网络时延和网络生存时间的平衡,提高了网络性能。技术实现要素:有鉴于此,本发明的目的在于提供一种改进的无线传感网层次型多链路算法,该算法通过控制节点的选路规则以及节点的重组选择频率,在保证少的传感器节点能量消耗的同时,减少网络时延,使其达到网络时延和网络生存时间的平衡,提高网络性能。为达到上述目的,本发明提供如下技术方案:一种改进的无线传感网层次型多链路算法,该算法具体包括以下步骤:S1:在监控区域部署节点之后,基站发送初始化消息InitialMSG,收到InitialMSG消息的传感器节点上报自身位置、id等信息;基站获取节点信息,统计节点总数,监控区域内节点利用定位技术获知自己到基站的距离,然后根据这些距离信息确定自己的梯度等级level;S2:基站根据收集的传感器节点信息对监控区域进行划分,通过下发adverinfoMSG消息,使监控区域的传感器节点加入不同的子区域;S3:在每个子区域内,从离基站最远的传感器节点开始,通过比较能量距离,形成单链路,子区域内的传感器节点能量高于Eave当选为候选簇头,基站通过比较候选簇头的剩余能量,选择剩余能量最大的候选簇头成为leader节点;S4:对选举出的leader节点,从离基站最远的传感器节点开始,等待加入的节点i通过比较与已经加入链接的节点j的竞争权重w(i,j),选择小的w(i,j)依次加入链接,最终所有的leader节点之间形成树形层次结构,根据比例函数Q确定其中的root节点,与基站完成通信。进一步,在步骤S1中,定义传感器节点梯度等级level为:其中,ceil()为向上取整函数,disttoBS为传感器节点到基站的距离,是自由空间传播模型和多径衰减模型的临界距离。进一步,在步骤S2中,子区域个数的确定是根据负载平衡因子LBF,所述负载平衡因子LBF定义为:其中,head_num为监控区域的簇数目,xi为第i个簇包含的节点个数,u为簇的平均包含的节点个数;负载平衡因子LBF的值越小表明网络分簇使得簇内节点数目越均匀,各簇首承担的负载也相对越均衡。进一步,在步骤S3中,簇内节点在各自的通信半径内广播helloMSG,获取邻居信息列表,邻居信息列表表项如下:CID(I)NID(i)Er(i)RSSI(i)其中CID(I)为第i个邻居节点所在簇的id;NID(i)为节点i的节点id;Er(i)为节点i当前工作轮数的剩余能量;RSSI(i)为节点i的接收信号强度值;定义能量距离为:其中,E0(j)表示的是目的节点j的第r轮初始能量,Er(j)表示的是目的节点j在第r轮的剩余能量,Ploss(i,j)表示的是节点i到达目的节点j的能量损耗,其定义为Ploss(i,j)=pt(i)-rssi(j),其中,rssi(j)表示的是目的节点j接收的信号强度;由此可知,Ploss(i,j)越大,说明节点i和节点j之间损耗很大;反之,说明损耗很小;具有N个传感器节点的子区域剩余能量均值为:其中,每一轮的能量消耗是依据无线传感网的能量传输模型得来,具体的计算公式为:Eeach=2kNEelec+kNEDA+kNεfsd2+kNε4mp。具体来说,无线能量传输模型计算公式为其中,ETX(k,d)是发送kbit数据所消耗的能量,其中Eelec为发射电路的损耗能量,与数字、调制、过滤以及信号传播等因素有关。εfs、εmp分别为自由空间传播模型和多径衰减模型功率放大所需要的能量。如果d<d0,功率放大器则采用自由空间传播模型;反之,则采用多径衰减模型。ERX(k,d)表示的是接收kbit数据所消耗的能量,表达式可以表示为:ERX(k,d)=kEelec,融合x的数据包成为单一数据包的能量消耗为Efuse(x,k),计算公式为:Efuse(x,k)=xkEDA其中,EDA为节点融合每个数据包时的能量消耗。进一步,在步骤S4中,leader节点间的竞争权重为:其中,Ploss(i,j)表示的是节点i到达下一跳节点j的能量损耗,level(j)指的是节点j距离BS的梯度等级;比例函数Q定义为其中,Er(i)为节点i在第r轮的剩余能量,ρ(i)定义为节点i根据基站广播的消息帧获得通信半径r内的邻居节点密度,计算公式为:其中,Neighbor_alive(i)表示节点i在通信半径r范围内的邻居节点数;完成root节点的选择后,进入到数据传输阶段,在每个子区域内,leader节点传输;首先leader产生一个token包,并选择链的任意端,再把这个包沿着链逐跳地发送出去;从链末端开始,节点将采集的数据和收到的token包一起传输给下一跳邻居节点,邻居节点将自己的数据和收到的数据进行融合再发送给自己的邻居节点,直到leader节点收到token包和数据;在下一阶段类似的完成leader节点间的通信,最后数据由root节点接收,便完成与基站的直接通信。进一步,该算法以轮数为单位,通过控制节点的重组频率,节省传感器节点,通过设置轮数控制函数round对传感器节点重组频率进行控制,定义函数round为:其中Eini是初始总能量。本发明的有益效果在于:与现有方法相比,本发明在节点存活数量、网络剩余能量、网络延迟、网络生存时间、网络能量均衡性方面网络性能更加优良:本发明通过将节点的分布区域划分为多个子区域,一定程度上避免节点间长链的产生,降低数据包的传输时延;子区域内节点根据权值函数选择下一个入链节点,该权值函数综合考虑了节点间的路径损耗以及节点的剩余能量,降低了节点能耗,形成单链路。进行头节点选择时,综合考虑了节点的剩余能量、节点的梯度以及路径损耗,较少了网络时延,也均衡了网络能耗。Leader节点之间形成层次型树形结构,根据比例函数Q确定根节点,最终由根节点与基站完成通信,充分利用了多跳传输。综上,本发明有效地均衡了网络能耗和网络时延,更好地延长了网络的生存时间。附图说明为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:图1为本发明的算法流程图;图2为无线传感网的能量消耗模型;图3为无线传感网拓扑结构图示例。具体实施方式下面将结合附图,对本发明的优选实施例进行详细的描述。在本实施例中,应用网络模型具体如下:N个传感器节点随机分布于监测区域,BS位于距离监测区域很远的位置;同构的传感器节点一旦部署,都将处于静止状态,具有相同的初始能量,且不能供给,BS认为能量是无限的,并且BS是固定的;数据链路是对称的,即节点Si能够与节点Sj通信,节点Sj也能与节点Si通信;传感器节点可以知道自己的位置信息,这种位置可能是用定位技术来获取的,也可通过信号强度来计算与任意节点的距离;每个传感器节点具有全网唯一的标识ID号。图1为本发明的算法流程图,如图所示,该算法的步骤如下:步骤1,在监控区域部署节点之后,基站发送初始化消息InitialMSG,收到InitialMSG消息的传感器节点上报自身位置、id等信息,基站获取节点信息,统计节点总数,监控区域内节点利用定位技术获知自己到基站的距离,然后根据这些距离信息确定自己的梯度等级level,level定义为其中,ceil()是向上取整函数。disttoBS为传感器节点到基站的距离,是自由空间传播模型和多径衰减模型的临界距离。步骤2,基站根据收集的传感器节点信息对于监控区域进行划分,通过下发adverinfoMSG消息,使监控区域的传感器节点加入不同的子区域。对于子区域划分的过程中,最佳簇数的确定方法:根据负载平衡因子LBF,其定义为:其中,head_num为监控区域的簇数目,xi为第i个簇包含的节点个数,u为簇的平均包含的节点个数。该值越小表明网络分簇使得簇内节点数目越均匀,各簇首承担的负载也相对越均衡。当选取的传感器节点的传感器节点数目为100时,通过比较网络性能分析得出,将监控区域划分区域为9个比较合适。步骤3,在每个子区域内,从离基站最远的传感器节点开始,通过比较能量距离,形成单链路,对于子区域内的传感器节点通过比较Eave,选取出leader节点。能量距离定义为:其中,E0(j)表示的是目节点j的第r轮初始能量,Er(j)表示的是目的节点j在第r轮的剩余能量,Ploss(i,j)表示的是节点i到达目的节点j的能量损耗,其定义为Ploss(i,j)=pt(i)-rssi(j),其中,rssi(j)表示的是目的节点j接收的信号强度。由此可知,Ploss(i,j)越大,说明节点i和节点j之间损耗很大;反之,说明损耗很小。图2为无线传感网的能量消耗模型。具有N个传感器节点的子区域剩余能量均值为其中,每一轮的能量消耗是依据无线传感网的能量传输模型为基础,具体的计算公式为:Eeach=2kNEelec+kNEDA+kNεfsd2+kNε4mp。参见图3无线传感网拓扑,在监控区域内共有N个节点,分成m个子区域,传感器节点具体分为5类:(1)只有发送能量损耗的普通节点;(2)具有发送能量损耗、接受能量损耗的普通节点;(3)具有发送能量损耗以及数据融合损耗的leader节点;(4)具有发送能量损耗、接收能量损耗以及数据融合损耗的leader节点;(5)具有发送到基站能量损耗、接收能量损耗以及数据融合损耗的root节点,根据经典的无线传感网能耗传输模型,一轮的能量消耗Eeach为:式中,表示的是最终leader节点发送数据包到BS的能量消耗,指的是簇内发送数据包的能量消耗,指的是簇内接收数据包的能量消耗,是接收leader节点的能量消耗,是发送leader节点的能量消耗,Efuse是融合数据包的能量消耗。步骤4,从离基站最远的传感器leader节点开始,等待加入的节点i通过比较与已经加入链接的节点j的竞争权重w(i,j),依选择小的w(i,j)依次加入链接,最终所有的leader节点之间形成树形层次结构,根据比例函数Q确定其中的root节点,与基站完成通信。leader间节点的竞争权重为:其中,Ploss(i,j)表示的是节点i到达下一跳节点j的能量损耗,level(j)指的是节点j距离BS的梯度等级。竞争权重中加入考虑了节点的梯度等级的目的是为了数据传输尽可能的向近基站位置的方向进行传输,节省传输时延。比例函数Q定义为:其中,Er(i)为节点i在第r轮的剩余能量,ρ(i)为节点i的邻居节点密度,计算公式为:其中,Neighbor_alive(i)表示节点i在通信半径r范围内的邻居节点数。完成root节点的选择,进入到数据传输阶段。在每个子区域内,leader节点传输。首先leader产生一个token包,并选择链的任意端,再把这个包沿着链逐跳地发送出去。从链末端开始,节点将采集的数据和收到的token包一起传输给下一跳邻居节点,邻居节点将自己的数据和收到的数据进行融合再发送给自己的邻居节点,直到leader节点收到token包和数据。在下一阶段类似的完成leader节点间的通信,最后数据由root节点接收,便完成与基站的直接通信。本算法是以轮数为单位,通过控制节点的重组频率,节省传感器节点由于过度重组带来的额外的能量损耗,更好的延长了网络寿命。通过设置轮数控制函数round对传感器节点重组频率进行控制,定义函数round为:其中,Eini是初始总能量。比如,传感器节点在链路组建的初期,节点的能量还是比较充裕的。当round<0.2时,不进行链路的重组,节省过度重组的能量消耗,到后期,round>0.8时,节点能量不是很多的时候,每一轮链路都要进行重组,这样更好的延长网络寿命。最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其做出各种各样的改变,而不偏离本发明权利要求书所限定的范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1