一种基于改进树型分簇的无线传感器网络路由协议的制作方法

文档序号:14847372发布日期:2018-06-30 16:51阅读:241来源:国知局
一种基于改进树型分簇的无线传感器网络路由协议的制作方法
本发明属于无线传感器网络
技术领域
,具体涉及一种在无线传感器网络传输数据的方法。
背景技术
:无线传感器网络是由大量微型的传感器节点以自组织的方式组成的低成本、自适应性高的无线网络。它可以快速准确的感知和收集目标区域的关键信息,比如森林火灾监测中对温度、烟雾的感知,环境监测中对温湿度、气压的检测。但是由于无线传感器节点成本和体积大小的限制,节点的通信能力、计算能力和存储能力有限。其中最突出的是电池能量十分有限,传感器节点容易较早死亡,导致无线传感器网络失效,对无线传感器的应用造成了很大的困难。因此在主流的研究中都设法通过优化网络结构,均衡链路的负载来达到延长网络的使用寿命的目的。LEACH协议将各个传感器节点分簇,簇内的节点轮流担任簇头传输数据,达到均衡负载的目的,能够有效延长传感器网络的寿命。但是它假定所有的节点都可以与汇聚节点(sink节点)通信,距离sink节点较远的簇头节点由于大功率通信,导致簇头节点的能量消耗较快而过早死亡,影响传感器网络的使用寿命。在移动sink节点的单跳路由协议中,sink节点可以移动至簇头附近进行单跳通信,通过短距离通信减少传输数据时的能量消耗,达到节约能量的目的,但是这种传输方式需要sink节点一一访问所有簇,花费较大的时间,造成较大的延迟。技术实现要素:本发明的目的在于提出一种在无线传感器网络数据传输的方法,克服了现有技术中存在的缺陷,数据传输过程中能耗小、延迟短。为了解决上述技术问题,本发明提供一种在无线传感器网络传输数据的方法,在无线传感器网络中,先选举出簇头并分簇;簇内构建树型结构,以簇头为根节点,簇内各传感器节点如果与簇头距离较近,则直接与簇头通信,否则选择距离簇头较近的其他传感器节点进行通信;以距离汇聚节点最近的簇头为根节点,所有簇头组成一棵树,根节点与移动汇聚节点直接通信;所有传感器节点当选过一轮簇头后,整个网络开始新的一轮分簇;选举出簇头的方法为,为所有传感器节点选取一个0到1之间的随机数,如果这个随机数小于预先设定的一个门限值T(n),则该传感器节点被选为簇头,如果选举出来的两个簇头距离较近,则其中剩余能量高的传感器节点会做为簇头,所述门限值T(n)的计算方式如下式所示,其中,p表示传感器节点成为簇头的期望百分比,r表示当前的选取簇头的轮数,G作为剩余1/p轮中未选为簇头的节点集合,Ecurrent表示传感器节点当前的剩余能量,Einitial表示传感器节点初始的剩余能量;所述分簇时,其余传感器节点加入距离自己较近的簇头所在的簇。进一步,簇内建立树型结构的方法为,簇内各传感器节点与距离自己最近的邻居传感器节点连接通信,形成若干子簇一;在各个子簇一中,与簇头距离最短的传感器节点直接与簇头通信。进一步,各子簇一生成一张邻居表一,表中包含子簇内各传感器节点的邻居节点以及邻居节点的邻居节点,簇内各传感器节点将邻居表一发送给簇头,簇头根据邻居表管理子簇。进一步,所有簇头组成一棵树的过程为,各簇头与距离自己最近的邻居簇头连接通信,形成若干子簇二;在各子簇二中,与移动汇聚节点距离最近的簇头直接与直接移动汇聚节点通信。进一步,各子簇二生成一张邻居表二,表中包含各子簇二内各簇头的邻居簇头以及邻居簇头的邻居簇头,子簇二内各簇头将邻居表二发送给距离移动汇聚节点最近的簇头,该簇头根据邻居表管理各子簇二。本发明与现有技术相比,其显著优点在于:(1)本发明在选择簇头节点时考虑了节点的剩余能量,能量大的节点更容易成为簇头,有利于均衡能耗,提高网络的使用寿命;(2)传感器节点组成树形结构,通过单跳通信向簇头发送数据,最后由簇头传输数据给移动汇聚节点,能够做到数据及时传输给移动汇聚节点,降低数据传输的延迟;(3)整个协议没有采用复杂的算法,易于实施。附图说明图1是实施本发明的一个无线传感器网络示意图。图2是本发明中的簇内树型结构建立示意图图3是本发明中的簇头成树示意图。图4是本发明流程图。具体实施方式容易理解,依据本发明的技术方案,在不变更本发明的实质精神的情况下,本领域的一般技术人员可以想象出本发明基于改进树型分簇的无线传感器网络路由协议的多种实施方式。因此,以下具体实施方式和附图仅是对本发明的技术方案的示例性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限制或限定。结合附图,无线传感器网络包括由各小圆点表示的传感器节点,大圆点表示的簇头节点以及三角形表示的移动汇聚节点。整个网络中传感器节点能量相等并且所有节点均匀分布,所有的节点能够互相进行通信,有各自的ID且位置信息已知。在圆形区域外围放置一个移动的汇聚节点用于收集数据,它沿圆形区域边缘进行缓慢移动。网络分簇本发明使用改进的LEACH协议选举簇头,在选举簇头时,考虑了剩余能量对簇头选举的影响。具体方法如下:在选举过程中,为所有传感器节点选取一个0到1之间的随机数,如果这个随机数小于预先设定的一个门限值T(n),那么这个传感器节点会被选为簇头,如果选举出来的两个簇头距离较近,那么其中剩余能量高的传感器节点会成为簇头。门限值T(n)的计算方式如下式所示,其中,p表示传感器节点成为簇头的期望百分比,r表示当前的选取簇头的轮数,G作为剩余1/p轮中未选为簇头的节点集合,Ecurrent表示传感器节点当前的剩余能量,Einitial表示传感器节点初始的剩余能量。由公式可知,当选过簇头的传感器节点在接下来(1/p-r)轮中不会再当选为簇头。簇头选举完成后,簇头广播自己的位置和ID信息,其余传感器节点加入距离自己较近的簇头所在的簇,并记录簇头的ID信息。簇头与其余传感器节点的距离计算方式如下式所示,其中,dni表示簇头与传感器节点间的距离,(xn,yn)表示第n个簇头的位置坐标,(xi,yi)表示第i个传感器节点的位置坐标。簇内建立树型结构传感器节点选择要加入的簇后,该传感器节点向无线传感器网络中的其它所有传感器节点广播包含簇头ID信息的数据包,数据包中还包括该传感器节点的位置和ID信息。其它传感器节点通过簇头ID信息判断所接收到的数据包是否来自同一个簇内的成员,如果是,则记录对方的位置和ID信息;否则就直接丢弃该数据包。然后,簇内各传感器节点计算各自之间的距离,以确定与自己最近的邻居传感器节点,并与距离自己最近的邻居传感器节点连接通信,形成一个个子簇。计算簇内成员之间距离dij的计算方式如下式所示,其中,(xi,yi)和(yi,yj)分别表示簇内任意两个传感器节点的位置坐标。子簇如图2中(a)所示。一个子簇生成一张邻居表,表中包含他们的邻居节点以及邻居节点的邻居节点。邻居表如表1所示。第一行和第一列1,2,3,4互为邻居的传感器节点的编号,它们共享一张邻居表。簇内各传感器节点将这张邻居表发送给簇头,簇头根据邻居表管理子簇。表1节点编号123410111210113110141110形成子簇后,以簇头为根节点建立树型结构。此时,如果簇内各传感器节点与簇头间的距离dni小于传感器节点与其邻居传感器节点的距离dij,那么该传感器节点选择簇头作为自己的父亲节点。这一步是为了让被孤立的传感器节点加入树结构设立的。因为可能会有传感器节点处在传感器节点密度低的地方,使得它距离簇头反而更近,导致无法加入子簇,从而被孤立。当然,如果仅仅是传感器节点距离移动汇聚节点近而直接与其通信的话也是没有影响的。在各个子簇中,传感器节点与距离簇头dni最短的会成为父节点,直接与簇头通信。最后组成一个完整的树如图2中(b)所示。子树1,2,3,4中距离簇头最短的节点3作为父节点,与根节点直接相连。簇头成树首先移动汇聚节点向所有簇头发送一个包含其位置信息的广播包,簇头计算其与移动汇聚节点之间的距离,计算公式如下:dchms表示簇头与移动汇聚节点之间的距离,(xms,yms)表示移动汇聚节点位置坐标,(xch,ych)表示簇头位置坐标。距离计算完毕后簇头向汇聚节点发送包含距离信息dchms的数据包,移动汇聚节点选择距离其最近的簇头作为根节点,并发送一个数据包通知其他簇头。簇头互相发送各自的位置坐标,计算他们与其他簇头的距离,找出他们之间最近的邻居簇头,计算公式如下:dchs表示簇头之间的距离,(xch1,ych1),(xch2,ych2)表示任意两个簇头的位置坐标。找到最近的邻居簇头后形成几个子簇,如图3中(a)所示。同时生成一个邻居表,这个表包含他们各自的邻居簇头以及邻居簇头的邻居簇头。如表2所示。表2簇头编号12101210簇头1和2是互为邻居节点,它们共享一张邻居表。簇头节点将这个表发送给根节点,根节点分别计算它与各个簇头之间的距离,计算公式如下所示:dchl表示簇头与根节点之间的距离,(xl,yl)表示根节点坐标,(xch,ych)表示簇头坐标。在簇头1,2中选择与距离最近的一个簇头连接,在簇头3,4,5,6中也选择距离最近的一个簇头连接,如图3中(b)所示。根节点分别与簇头1和簇头4连接,组成一棵树。树结构建立完成后,所有簇头直接与邻居簇头通信,向根节点发送数据,最后由根节点发送数据给移动汇聚节点。网络重构当整个网络中的传感器节点当选过一轮簇头后,当前轮数r置为0开始新的一轮选举。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1