基于移动汇聚节点和蚁群算法的无线传感器网路由协议的制作方法

文档序号:12829952阅读:206来源:国知局
基于移动汇聚节点和蚁群算法的无线传感器网路由协议的制作方法与工艺

本发明属于无线传感器网络技术领域,具体涉及一种在无线传感器网络中传递数据的方法。



背景技术:

无线传感器网络(wirelesssensornetworks,wsn)通常是由大量微小而且低成本的传感器组成,传感器节点通过单跳或者多跳的方式向汇聚节点发送收集过来的信息。这些传感器节点本身具有计算能力、存储能力和通信能力。无线传感器网络的应用十分广泛,比如说,环境监测,智能家居,智能医疗等等。但由于应用环境的特殊性,很难为每个无线传感器更换电池,所以无线传感器网络的生命周期会受到能量的限制。如何利用每个传感器节点有限的能量资源并采用一种高效数据传递方法,使能量消耗和能量负载达到平衡成为一个重要的研究课题。

由于传感器节点体积较小,节点的计算、存储和通信能力都有限;特别是传感器节点一般采用电池供电,节点一旦布置很难再对它们进行充电。因此,研究高能效的数据传输路由协议和算法,提高节点的能量使用效率、延长网络寿命,一直是wsn中的一个研究热点和难点。

在传统的路由协议中,一般传感器节点通过多跳的方式,把搜集的信息传给汇聚节点(或基站),最后由汇聚节点发送给远端的管理者。由于汇聚节点通常是固定不动的,这就导致了所谓的“能量空洞”现象;即靠近汇聚节点的传感器由于有更多的数据转发负担,它们会更早地耗尽自身的能量,从而导致网络区域的分割和网络寿命降低。对应的传感器节点也称为“热节点”。

蚁群算法的思想来源与蚁群的行为特点,这种算法适用于移动汇聚节点的移动策略。蚂蚁能够获得一些全局最优性能,例如找到巢穴与食物源之间的最短路径。蚂蚁会在它们的旅途中释放信息素来标记它们的路径,蚂蚁选择一条路径的概率与信息素浓度成反比,通过这种机制蚂蚁最终会找到巢穴与食物源之间一条最短路径。



技术实现要素:

本发明的目的在于提出一种在无线传感器网络中传递数据的方法,克服了现有技术 中存在的能量空洞现象以及簇头分布不均匀、网络延迟的问题,减轻了网络流量负载,大大延长了无线传感器网络的生命周期。

为了解决上述技术问题,本发明提供一种在无线传感器网络传递信息的方法,在无线传感器网络感知区域的边缘放置一个移动汇聚节点;将无线传感器网络感知区域划分为若干等分,每一份为一个簇集;在每一个簇集中确定一个簇头,簇集中的其他无线传感器节点将信息发送给簇头,簇头对簇集内信息进行融合;移动汇聚节点根据蚁群算法找出访问每一个簇头的最优路径后依次访问每一个簇头。

进一步,将每个簇集内拥有最高剩余能量的传感器节点作为所述簇头。

进一步,选择拥有最高剩余的传感器节点时,将位于簇集中央的传感器节点作为候选簇头,所述候选簇头在一定范围内向其他传感器节点广播包含有其id和剩余能量信息的数据包;如果接收到所述数据包的传感器节点的剩余能量大于所述候选簇头,则将该传感器节点作为新的候选簇头;如果接收到所述数据包的传感器节点的剩余能量与所述候选簇头的剩余能量相等,则将两者中具有较小id者作为新的候选簇头;如果接收到所述数据包的传感器节点的剩余能量小于所述候选簇头的剩余能量,则所述候选簇头继续广播所述数据包;直至选出簇集内拥有最高剩余能量的传感器节点。

进一步,各传感器节点向簇头发送数据时,通过中继节点选择能量消耗最小的路由向簇头发送数据。

本发明与现有技术相比,其显著优点在于,(1)簇头通过数据融合大大减少了发送的数据量;(2)采用移动汇聚节点,避免了能量空洞现象;(3)采用蚁群算法寻找移动汇聚节点的最优移动路径以访问每个簇头节点,不仅缓解了网络时延的问题,而且避免了簇头与汇聚节点之间长距离传输现象,大大减少了簇头的能量消耗。

附图说明

图1是实施本发明的一个无线传感器网络示意图。

图2是本发明方法流程图。

具体实施方式

容易理解,依据本发明的技术方案,在不变更本发明的实质精神的情况下,本领域的一般技术人员可以想象出本发在无线传感器网络传递信息的多种实施方式。因此,以下具体实施方式和附图仅是对本发明的技术方案的示例性说明,而不应当视为本发明的 全部或者视为对本发明技术方案的限制或限定。

结合图1,无线传感器网络包括由各圆点表示的无线传感器,三角形表示簇头,在感知区域边缘放置一个由五角星表示的移动汇聚节点。

对于静止的汇聚节点的方案,靠近汇聚节点的传感器的能量消耗会远大于远离汇聚节点的传感器,因为靠近汇聚节点的传感器承担着转发大量数据流量的任务,导致能量消耗过快,最终出现所谓的能量空洞的现象。本发明采用移动的汇聚节点,汇聚节点按照一定的周期移动,实现了汇聚节点周围传感器能量负载平衡,有效的避免了能量空洞的现象。

步骤a、如图1所示,将矩形的无线传感器网络感知区域平均分为四等份,每一等份就是一个簇集。

将感知区域平均分成若干等份作为每一个簇集,每一个簇集内只有一个簇头,这种方案相比较传统的分簇协议,例如leach,有效的避免了簇头的分布不均匀。

步骤b、簇头选取

每一个簇集内只有一个簇头,相同的簇集内的其他传感器节点发送数据给簇头节点,然后簇头节点进行数据融合,从而减少了流量负载。

在选择簇头时,首先选择每个簇集中央的传感器节点si作为簇头节点的候选者,然后传感器节点si在范围r内广播一个包含有其id和剩余能量信息的数据包,只有在发送范围r内的其他传感器节点可以接受到这个广播信息,目的是为了让簇内其他传感器节点竞争成为簇头。如果传感器节点sj的剩余能量大于传感器节点si的剩余能量,则将传感器节点sj作为新的簇头候选者,并由传感器节点sj在范围r内广播一个包含有其id和剩余能量信息的数据包,进行下一轮簇头竞争;如果传感器节点sj的剩余能量和传感器节点si的剩余能量相等,则将带有较小id的传感器节点作为新的簇头候选者;如果传感器节点sj的剩余能量小于传感器节点si的剩余能量,则传感器节点si继续广播包含有其id和剩余能量信息的数据包。经过前述竞争,每个簇内拥有最高剩余能量的传感器节点将成为簇头。其中,i和j分别为簇内不同传感器节点的编号,用于表示不同的传感器节点。

步骤c、簇内路由选择

每个传感器节点发送一个l-bits信息经过距离d所消耗的能量etx以及接受数据所消耗的能量erx的能量公式如下:

erx(l)=leelec

其中,eelec表示发送器或者接收器发送或者接收每一位数据需要消耗的能量,εfs和εmp分别表示发送器放大器的功效和信道条件。

簇集内任意一个传感器节点si,直接发送数据到簇头所需要消耗的能量的能量公式如下:

可以看出,当若离簇头较远的传感器节点si直接发送数据给簇头时,会产生较多的能量消耗,所以需要选择一个传感器节点sj作为中继节点,从传感器节点si到中继节点sj再到簇头所消耗的能量的能量公式如下:

节点之间路由选择就根据中选取能量消耗值较小的路径:

e(si)便是传感器节点si选择中继节点的判断标准。

本发明簇集内的传感器节点根据其与簇头之间的距离选择直接向簇头发送数据或者通过中继节点间接向簇头发送数据,并不是如传统的簇内路由协议那样直接向簇头发送数据,离簇头较远的传感器节点可以选择合适的中继节点发送数据,避免了因为长距离传输消耗过多的能量。

步骤d、移动汇聚节点寻找访问每一个簇头的最优路径过程:

在蚁群算法中,假设有m个城市和n只蚂蚁,m个城市代表m个簇头,簇头就是蚂蚁所要经过的城市,每一只蚂蚁选择下一个城市的概率与信息素强度成正比,但是与蚂蚁所在当前城市和下一个城市之间的距离是成反比,在时刻t,对于第k只蚂蚁从簇头chi到chj的传播概率如下:

其中,k∈n,allowedki∈m,j∈m,i≠j,allowedk表示还未被访问的簇头集合;τij表示簇头chi和chj之间路径信息素强度;ηij表示期望值,且ηij=1/dij;dij则表示欧几里得距离;α和β表示两个常数,代表了蚂蚁做出决定的影响因素。经过时间δt后,信息素强度τij的更新方式如下:

τij(t+δt)=(1-ρ)*τij(t)+δτij

其中,ρ表示信息素蒸发率,并且在所有蚂蚁结束它们的旅行后完成更新,δτij是所有蚂蚁释放出信息素的总和,其计算公式如下:

其中,表示的是蚂蚁k在路径上单位长度所留下的信息素的量,其计算公式如下:

经过给定的迭代次数,最终就能找到移动汇聚节点访问每一个簇头的最优移动路径。

如果簇头直接向汇聚节点发送数据的话,就会出现离汇聚节点较远的簇头以长距离的传输与汇聚节点直接通信,导致能量消耗过快。采用蚁群算法为移动汇聚节点找到一条最优路径,移动汇聚节点依次访问每一个簇头,不仅避免了收集数据存在的时延问题,这在实时监测中有重大意思,而且避免了长距离的直接通信,大大减少了簇头的能量消耗。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1