一种分布式无线传感网络分簇路由方法与流程

文档序号:11158191阅读:1312来源:国知局
本发明涉及无线传感网络网络层优化技术,具体涉及一种分布式无线传感网络分簇路由方法。
背景技术
:无线传感网络(WirelessSensorNetworks,WSNs)是一种多跳自组织网络系统,由大量传感器节点组成,节点之间通过无线通信的方式进行互联互通。一般来说,无线传感网络由传感器节点和汇聚节点组成,并且每个传感器节点都具有数据接收和数据转发的功能,也就是说每个节点既可以是普通节点,也可以实现路由转发的作用。汇聚节点则相当于网关的角色,既负责对指定区域所管辖的传感器节点收集到的信息进行数据融合,还需要负责与外部网络(互联网,移动通信网络,卫星通信等)进行通信。随着无线通信技术的发展以及低功耗无线射频模块在传感器节点上的应用,无线传感网络现在已经广泛应用于智能家居、环境监测、交通运输、灾害救援和国土安全之中,成为了物联网发展的重要技术手段。由于传感器节点具有数目众多、规模庞大、部署随机、能量有限以及拓扑难以控制等特点,无线传感网络的网络层通常采用分簇路由算法,将网络系统由平面结构转换成分层结构,以此来提升网络的扩展性,降低系统的能耗,提升整体的性能。分簇路由算法提出了“轮”的概念,通过定期的簇首选举,将整个网络的能量负载平均分配到每个传感器节点上,以提高动态网络的高效性和鲁棒性。每一轮开始时,通过一定的选举机制来产生新的簇头节点和成员节点。簇内成员节点通过多跳通信的方式将信息传输到簇头节点进行数据融合,而簇头节点与基站之间则采用单跳通信的方式实现数据上传。分簇路由算法大体上可以分为集中式和分布式两类。集中式路由算法往往需要传感器节点获取全局拓扑信息,并结合智能算法(PSO、蚁群算法,k-means等等)对自身性能进行分析从而选举出合适的簇头节点,这种方式固然可以得到合理的簇分布拓扑,但对节点自身来说也会带来巨大的能量消耗,且对于大规模无线传感网络,其灵活性不如分布式算法。因此,在无线传感网络实际应用中其实更倾向于使用分布式分簇算法。在分簇路由算法中,簇头节点由于需要承担簇内数据融合以及和汇聚节点进行通信的任务,其能量消耗固然远大于簇内的成员节点,但多跳通信中往往存在热区问题,即离簇头越近的节点,需要承担的数据接收和数据转发任务也就越多,所带来的额外能量消耗也就越大,节点也就越容易过早死亡,破坏了通信链路的稳定性,对整个网络的负载均衡和整体性能将会产生严重的影响。由此可以看出,簇头节点的邻居节点在数据传输的整个过程中其实也需要承担较大的能量消耗。因此,分簇网络中簇头选举算法在考虑节点剩余能量和节点度的同时,节点的邻居节点剩余能量也是一个不容忽视的因素。技术实现要素:为克服以上缺点,本发明提出一种分布式无线传感网络分簇路由方法。所述方法将分簇路由算法和模糊逻辑相结合,以节点剩余能量、节点度、邻居节点剩余能量作为判定指标,实现合理的簇头节点选举,有效地避免了多跳通信所带来的热区问题对网络系统性能的影响,实现了系统整体的负载均衡,延长了网络的生命周期,提升了系统的整体性能。本发明分布式无线传感网络分簇路由方法通过如下技术方案实现:1、一种分布式无线传感网络分簇路由方法,包括以下步骤:(1.1)通信范围内的传感器节点之间互相发送Node_MSG数据包进行消息互通,节点由此可以完成自身信息表Info_table的更新,从而获取所有邻居节点的节点ID以及对应的当前节点能量Neighbor_Nodeid.Eresidual。利用更新后的Info_table,节点由此可以获取到节点能量Er、节点度d和邻居节点剩余能量Ea=∑Neighbor_Nodeid.Eresidual/d这三个参数,以及簇头选举算法持续时间t=k×T×(Ea/Er),其中k为(0.9,1)之间的随机数,T为定义的初始簇头选举持续时间;(1.2)每个传感器节点利用自带的模糊推理引擎系统,定义了节点能量的模糊集合{low,medium,high},其隶属函数为low(0<x≤0.5),medium(0<x≤1.0),high(x>0.5);节点度的模糊集合{less,average,enormous},其隶属函数为less(0<x≤15),average(0<x≤30),enormous(x>15),邻居节点剩余能量的模糊集合{weak,normal,strong},隶属函数为weak(0<x≤0.35),normal(0<x≤1.0),strong(x≥0.83);输出参数概率的模糊集合{very_low,low,rather_low,medium,less_high,high,very_high},隶属函数为very_low(0<y≤10),low(0<y≤40),rather_low(30<y≤50),medium(40<y≤70),less_high(60<y≤80),high(70<y≤90),very_high(y>90)。以步骤1.1获取的精确的节点能量、节点度和邻居节点剩余能量作为输入参数,结合上述隶属函数,转化为相对应的模糊集合中的模糊语言变量。模糊语言变量再结合模糊规则,利用Mamdani算法,得到模糊输出集。最后通过中心面积算法将模糊输出集转换为直观的精确输出值以供节点对自身性能进行评估,作为节点自身成为簇头节点的权值V;(1.3)节点获得自身性能评估权值V后,进入簇头竞选状态,向附近通信半径r内的所有邻居节点发送包含自身节点ID和权值V的数据包Head_compete。节点与接收到的邻居节点性能权值进行比较,权值低的节点变为普通节点状态,等待簇头选举结束后通过就近原则选择合适的簇进行加入,而权值高的节点则变为当选簇头状态;(1.4)当选为簇头的节点向周围节点大量广播包含节点ID数据包CH_Message。状态为普通节点的节点则根据接收到的CH_Message数据包的信号的强弱来判断发送该数据包的节点距离自己的远近,从而以就近原则选择合适的簇头节点并发送包含自身节点信息的Node_JOIN数据包。簇头节点收到成员节点的申请入簇请求后,会向该节点返回一个Node_ACCEPT数据包,确认该节点的入簇请求,从而完成整个的簇的形成过程。相对于现有技术,本发明具有如下优点和有益效果:1、在簇头选举阶段,现有的技术大都采用了固定的节点性能评估机制,如传统的采用随机数的方式,或者是根据相应的评价因素从而给出节点性能权值计算公式V=x1E1+x2E2+x3E3+...+xnEn。但是在实际的无线传感网络中,随着时间的推移,网络整体拓扑结构也在不断地发生变化,这类将权值计算参数固定的方法计算出来的权值并不能实时地反映节点的性能状态。本方法采用模糊逻辑推理引擎来对节点性能进行评估。模糊逻辑通过模糊语言变量,模拟人脑的思维和决策方式,是一种高效的多因素评价机制。其所采用的隶属函数,依据不同的情况对应不同的参数曲线,保证了节点性能分析的实时有效性;2、在对节点性能进行分析评估时,本方法以节点剩余能量、节点度和邻居节点剩余能量作为评价因素使得选举出的簇头节点更加合理。簇头节点作为簇内成员节点和系统汇聚节点之间沟通的纽带,往往需要承担数据融合和数据转发的任务,其能量消耗也远大于簇内成员节点,因而对当选节点的剩余能量必然会有很高的要求。如若当选的簇头节点因自身能量不足而过早死亡,簇内节点就失去了与汇聚节点数据交互的桥梁,则该片传感器区域也就失去了与整体网络的联系,从而严重影响了系统的性能。因此,节点剩余能量往往是评价节点是否适合成为簇头的最为重要的指标之一。而节点度可以提高簇内数据传输的高效性。因为当选簇头节点的节点度越大的话,其周围的邻居节点也就越多,每个节点需要分担的数据转发任务也就越小,网络的整体能量负载也就更为均衡,网络整体的性能也就越好。而且较高的节点度也会分担通信链路的压力,减少数据传输时节点间的等待时间。最后,邻居节点剩余能量这一指标,旨在减弱多跳通信带来的热区问题,实现节点能量的负载均衡。例如用于环境监测的水下无线传感网络,在簇内数据多跳传输过程中,中继节点如果因为能量过低过早死亡,与其相关联的远处的节点就需要重新进行路由发现,与簇头节点重新建立通信链路,从而带来了额外的能量开销,甚至严重影响了网络数据传输的性能。因而尽量选择具有较高邻居节点能量的节点作为簇头节点可以有效地避免这类热区问题;3、本方法是一种基于分布式思想的方法,不需要维护对网络全局拓扑的感知,仅仅依靠节点自身信息,以及消息互通时获得的邻居节点的信息,结合模糊逻辑,对节点性能进行分析,得到选举出合理的簇头节点,有效地缓解了多跳通信中常见的热区问题,均衡了网络中各个位置的能量消耗,提升了节点的平均生存时间,进而延长了整个网络系统的生命周期,显著地提高了系统的数据传输量,使得整个无线传感网络具有更好的能量有效性。具体实施方案为使本发明的目的和技术方案更加清晰,下面对本发明的原理和具体步骤进行描述:1、本方法利用模糊逻辑提升无线传感网络数据传输效率的原理说明如下:对于无线传感网络通常所采用的分簇路由结构,每一轮选举出的簇头节点是否合理直接影响到网络整体的性能。本方法所采用的模糊逻辑推理引擎是一种具有实时决策性的多因素多指标评价机制,利用参数模糊集,根据不同时间段网络的拓扑状况定义了不同的隶属函数,对节点性能的评价标准因实际的网络拓扑结构的变化而有所不同,更加具有实时有效性,选举出来的簇头节点也更为合理。本方法中簇头选举阶段对节点性能的判定指标有三个:节点剩余能量、节点度、邻居节点剩余能量。高节点剩余能量可以保证节点在下一轮簇头选举之前,有足够的能量完成簇内节点信息融合和与汇聚节点进行通信实现数据上传的任务,提高网络整体的稳定性;高节点度可以提高簇内节点数据传输的高效性,减少数据传输时节点间的等待时间;高邻居节点剩余能量可以有效地减弱热区问题对多跳通信的影响,实现簇内节点负载均衡,提高簇内通信链路的稳定性,从而延长网络的生命周期,提升系统的整体性能。2、对无线传感网络每一轮簇头选举的过程,具体步骤说明如下:(1)通信范围内的传感器节点之间互相发送Node_MSG数据包进行消息互通。完成Node_MSG消息互通阶段之后,节点可以实现自身信息表Info_table的更新,从而获取到所有邻居节点的节点ID以及该节点ID所对应的当前节点能量ΣNeighbor_Nodeid.Eresidual。利用更新后的Info_table,节点由此可以获取到节点能量Er、节点度d和邻居节点剩余能量Ea=∑Neighbor_Nodeid.Eresidual/d这三个参数,并进一步获得簇头选举算法持续时间t=k×T×(Ea/Er),其中k为(0.9,1)之间的随机数,T为定义的初始簇头选举持续时间;(2)每个传感器节点都自带又模糊推理引擎系统,不仅定义了节点能量的模糊集合节点度的模糊集合邻居节点剩余能量的模糊集以及输出参数概率的模糊集合y={very_low,low,rather_low,medium,less_high,high,very_high},还定义了各自相对应的隶属函数。节点能量隶属函数:low(0<x≤0.5),medium(0<x≤1.0),high(x≥0.5)。节点度隶属函数:less(0<x≤15),average(0<x≤30),enormous(x>15)。邻居节点剩余能量隶属函数:weak(0<x≤0.35),normal(0<x≤1.0),strong(x≥0.83)。概率隶属函数:very_low(0<y≤10),low(0<y≤40),rather_low(30<y≤50),medium(40<y≤70),less_high(60<y≤80),high(70<y≤90),very_high(y>90)。利用这些隶属函数,我们将步骤(1)中获取的精确的节点能量(NE)、节点度(ND)和邻居节点剩余能量(NNE)转换为模糊集合中的对应的模糊语言变量。紧接着我们可以将得到的模糊语言变量再依据模糊规则结合Mamdani算法,利用公式得出每条模糊规则对应的模糊输出集通过中心面积算法将模糊输出集转换为直观的精确输出值以供节点对自身性能进行评估,作为节点自身成为簇头节点的权值V;(3)节点获得自身性能评估权值V后,进入簇头竞选状态,向附近通信半径r内的所有邻居节点发送包含自身节点ID和权值V的数据包Head_compete。节点与接收到的邻居节点性能权值进行比较,权值低的节点变为普通节点状态,等待簇头选举结束后通过就近原则选择合适的簇进行加入,而权值高的节点则变为当选簇头状态;(4)当选为簇头的节点向周围节点大量广播包含节点ID数据包CH_Message。状态为普通节点的节点则根据接收到的CH_Message数据包的信号的强弱来判断发送该数据包的节点距离自己的远近,从而以就近原则选择合适的簇头节点并发送包含自身节点信息的Node_JOIN数据包。簇头节点收到成员节点的申请入簇请求后,会向该节点返回一个Node_ACCEPT数据包,确认该节点的入簇请求,从而完成整个的簇的形成过程。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1