APP下载

地震监测无线传感器网络路由协议研究※

2012-06-25刘国梅王艳金秋春

单片机与嵌入式系统应用 2012年7期
关键词:路由无线传输

刘国梅,王艳,金秋春

(郑州航空工业管理学院 计算机科学与应用系,郑州 450015)

引 言

地震监测是防震减灾、地震科学研究的必要技术基础,目前,国内外的地震监测系统仍处于初级阶段,不能满足地震预警的要求,存在漏报、误报、迟报现象,例如监测台网密度低、监测数据精度低、信息不丰富、数据传输速度慢、成本高等[1]。

融多种信息技术为一体的无线传感器网络WSN(Wireless Sensor Network)是一种新兴的信息技术,在信息领域有着良好的应用前景。相对于传统的有线和其他无线网络,无线传感器网络具有布设范围广、自组织,低能耗、协同感知、独立电源供电、无人值守等特点[2],能够很好地满足地震监测的要求。

地震监测过程中,网络数据的传输离不开路由协议,路由协议的研究是无线传感器网络通信层的一个核心技术,本文结合地震监测的具体应用需求,设计出一种适合地震监测的无线传感器网络路由协议。

1 无线传感器网络路由协议及其应用相关性

1.1 典型无线传感器网络路由协议及其不足

最小跳数(Minimum Hop Count,MHC)路由协议[3]是一种平面路由协议,其核心部分是采用经典的扩散算法,在网络中建立一个最小跳数场,在最小跳数场内,每个节点拥有到基站(Sink节点)的最小跳数。当节点需要发送消息时,它按序选择自己的父节点作为下一跳。该协议因能够提高消息传输的可靠性、减少传输时延而倍受关注。但在该协议中,传输数据时有很大的重复性,同时它未考虑节点在监听状态下的耗能情况,造成网络性能和寿命下降。

LEACH(Low Energy Adaptive Clustering Hierarchy)[4]是Heinzelman等人提出的第一个分簇路由协议,在每个数据收集周期开始,一小部分节点随机成为簇首,在数据传输阶段,簇首以单跳通信的方式将融合后的数据传输给基站。它通过角色轮换达到能量的均匀分布。但是,LEACH假设所有的节点都能直接与簇首以及基站通信,在需要监测范围大的应用中不适用;而且它仅仅以节点的剩余能量多少选择簇首,形成的簇并不是最优的。后来,Heinzelman等人在LEACH的基础上,提出了LEACH-C[5]。LEACH-C(Low Energy Adaptive Clustering Hierarchy-Centralized)是集中式的分簇算法,健壮性好且产生的簇较佳,但该协议由于每个节点都需要向基站周期性地报告它们的能量和位置等信息,从而导致增加网络流量、时间延迟等。

TEEN(Threshold-Sensitive Energy Efficient Sensor Network Protocol)[6]是第一个响应型的无线传感器网络路由协议,其网络结构与LEACH类似,只是它的簇成员不像LEACH算法那样总是发送数据给簇首。TEEN协议设置了硬、软两个阀值,只有当监测到的数据超过硬阈值并且监测数据的变化幅度大于软阈值时,节点才会传送监测数据。这样可以大大减少节点发射数据的次数,数据传送消耗的能量较少。但TEEN协议存在一个缺陷,如果阀值不能达到,节点就不会传输任何数据,导致用户在某段时间不知道节点是否死亡。

1.2 地震监测环境下的网络路由需求

地震监测中的路由协议具有以下特点:

① 网络规模大,分布范围广,对网络节能性要求高。地震监测的无线传感器网络分布范围非常广,而且地形环境复杂,节点电池的更换或能量的补给几乎是不可能的,因此网络及网络中的节点应尽量减少能量消耗,以延长自身的寿命,能源的高效使用成为路由协议设计的首要目标。

② 地震发生的概率非常低,而且地震的发生具有随机性,是不可预测的,因此传统的时间周期性传递监测数据的路由协议不太合适,这里需要的是事件驱动型传感器网络。地震未发生时,只需要周期性地传输少量的无线传感器网络健康状况数据,只有地震发生时才需要传输大量的关键数据。同时,地震发生时,监测数据的传输对及时性、可靠性有一定的要求,大量的监测数据需要及时、可靠地传输到监控中心。

③ 地震监测的无线传感器网络节点会由于能量耗尽或地震破坏等环境因素造成失效减少,或者也会补充一些传感器节点来弥补失效节点、增加监测精度等,从而使网络的拓扑结构随之也动态变化。这就要求无线传感器网络有较强的自组织性,能够适应这种网络拓扑结构的动态变化。

2 地震监测环境下的路由协议设计

为满足地震监测的应用需求,本文汲取现有无线传感器网络路由协议的优点,提出了一种适合于地震监测的路由协议EEECRP,称之为能量高效的事件驱动型分簇路由协议。

2.1 协议描述

(1)簇的划分

由于地震监测范围广,并且要求有很好的自组织性,因此EEECRP协议采用分簇路由协议结构。为了获得较好的簇,采用集中式分簇的方法划分簇,簇内成员节点与簇首之间采用“一跳”通信的方式传输数据,簇首到Sink节点的传输则采用“多跳”传输方式。另外,为了减少集中式分簇造成的网络能量消耗,新设计协议间隔相当长的时间(比如半年、一年)才集中式划分一次簇,其他时间则采用异步更换簇首的方法均衡节点能量的消耗。关于异步更换簇首的细节问题在后边介绍。

(2)簇首骨干网的构造

地震监测数据最终通过簇首“多跳”转发给Sink节点,因此网络中的簇首节点形成主干链路网络。为了保证地震发生时监测数据的可靠和及时传输,在簇首节点主干链路形成时,采用基于最小跳数的路由算法,为每个簇首建立路由线路。具体算法步骤如下:

① 所有簇首节点设置其父节点FATHER_ID=0,并设置其到达Sink节点的最小跳数Min_hop=0;

②由Sink节点向网络内以洪泛方式广播最小跳数场构建消息Hop_Msg。Hop_Msg由构建消息标识、发送节点ID和发送节点的最小跳数Min_hop加1组成;

③ 收到 Hop_Msg信息的簇首节点,设置其FATHER_ID=Sink及到达Sink节点的最小跳数 Min_hop=1,同时更新 Hop_Msg消息中的的 Min_hop和FATHER_ID,继续向邻居节点广播;

④ 网络中收到Hop_Msg消息的簇首节点,检查该消息中最小跳数Min_hop是否小于自身的最小跳数Min_hop,如果是,则更新自身的父节点FATHER_ID和最小跳数Min_hop,并将该 Hop_Msg消息的最小跳数 Min_hop和父节点FATHER_ID更新,继续向邻居节点广播,否则将不予处理;

⑤ 重复步骤④,直到网络中所有节点都拥有自己的父节点FATHER_ID和到Sink节点的最小跳数 Min_hop。算法流程图如图1所示。

构建完成后,网络中每个节点都将拥有自己的最小跳数Min_hop和父节点FATHER_ID,形成了簇首节点的最小跳数场,构建起了簇首节点的骨干网路由。

(3)簇首更换

在分簇路由协议中,簇首的能量消耗最大。为了均衡簇内成员节点的能量消耗,需要更换簇首。本协议中簇首的更换采用异步方式进行,簇首在自己的能量低于一定阈值时,向簇内节点广播CH_change消息,簇内每个节点收到CH_change消息后将自己的位置和当前能量等信息报告给簇首。簇首根据这些信息从中选择一个能量和地理位置最优的节点作为新簇首,并把新簇首消息广播出去。新簇首继承原簇首的父节点FATHER_ID和最小跳数Min_hop等信息,原簇首的下一跳簇首(按照从Sink节点到离Sink节点最远的节点方向)则需要修改它们的路由表信息,将其父节点FATHER_ID修改为新当选的簇首,簇首更换情况如图2所示。

图1 簇首骨干网构造流程

图2 簇首更换情况

(4)节点状态的转换

在地震未发生时,尽量使传感器节点处于睡眠状态,这样可以大大降低网络的能量消耗,延长网络的生存周期。传感器节点工作状态转换示意图如图3所示,本文设计的路由协议中,传感器节点多数情况下是处于睡眠状态,当节点探测到有地震发生或需要周期性传递日常数据时,节点便从睡眠状态转入发送状态;当节点处于睡眠状态时,若收到有效的信号,便从睡眠状态进入到接收状态;当节点处于发送或接收状态下,如果在一定时间内没有收发数据,则传感器节点转入睡眠状态。

图3 传感器节点工作状态转换示意图

2.2 数据的传输过程

地震未发生时,普通传感器节点间隔一定的时间将自己的能量、位置等少量日常信息发送给簇首,簇首按照事先构建好的路由将这些信息汇聚融合后转发给Sink节点。由于日常数据信息量小,数据传输率低,因此传输日常数据消耗的能量非常少。

当监测区域有地震发生时,最先感应到地震的节点向邻居节点广播唤醒包,同时本地保存地震信息,唤醒包中携带信息包括:本节点位置、地震关联度degree=0,以及其他一些信息。普通节点收到唤醒包后马上监测周围地震的发生,如果节点监测不到地震,节点将唤醒包中的地震关联度degree加1,若地震关联度degree大于2,则丢弃该包;否则,转发唤醒包;若节点已经收到过该唤醒包,则丢弃包;簇首节点收到唤醒包后,立即广播ready消息准备接收数据;普通节点收到ready消息后,如果其地震关联度degree不大于2,则发送监测数据给簇首,簇首节点将监测数据沿着事先建立好的最小跳路由传送给Sink节点,并在传输过程中进行数据融合。

3 仿真分析

为验证本文新提出协议EEECRP的性能,在NS2环境下进行了仿真实验,主要从网络能量消耗和数据的传输延时两方面进行评估,并将仿真结果与最小跳数(MHC)路由协议进行了对比分析。

仿真主要参数设置如下:在200×200的区域中,随机分布100个节点,每个节点的坐标位置已知,基站(Sink节点)位于坐标(x=0,y=0)处;节点初始能量为2J;仿真总时间为600s,监测节点每隔5s发送一次日常数据包,数据包长度为768位,仿真到300s时某处节点随机发生一次模拟地震,产生的数据包为4 332 678位。

图4比较了两种协议的网络节点总能量消耗情况。从图4中可以看出,MHC路由协议在网络运行到412s时,节点几乎用完了网络所有能量,而EEECRP协议在运行到601s左右才用完所有能量。在网络的整个运行时间内,EEECRP协议节点的网络总能耗要明显少于MHC路由协议。

图4 网络节点总能量消耗与时间的关系

图5比较了两种算法在网络运行过程中的数据传输延时。从图5中可以看出,地震未发生时,采用EEECRP协议的数据传输延时总体上与MHC路由协议相当,或者略次于MHC路由协议;但当地震发生时,EEECRP协议的数据传输延时要好于MHC路由协议,故EEECRP协议更适合于地震监测的应用环境。

图5 数据传输延时

本文对EEECRP协议的数据传输延时进行了多次仿真实验,在相同的模拟时间内,不同的模拟地震节点数或者模拟地震时产生的总数据量对平均数据传输延时均有影响,实验结果如表1所列。

从表1中可以看出,在模拟地震节点数较少,并且平均产生的总数据量较少时,平均数据传输延时非常短,仅为100多ms。随着模拟地震节点数的增多和模拟地震时产生的总数据量增大,平均数据传输延时会增加,但相对于目前已有的地震监测手段,平均数据延时仍然是非常短的,能够满足地震监测的无线传感器网络的通信要求,证实了该协议在地震监测中的有效性。

表1 数据延迟测试数据表

结 语

以无线传感器网络在地震监测中的应用为研究背景,分析了该应用环境下的网络路由需求,提出了一个适用于地震监测的无线传感器网络路由协议EEECRP。该协议具有自组织性,可扩展性好,适合大规模地震监测的无线传感器网络;协议节能性好,并且各簇首之间采用基于最小跳数的路由传输,保证了监测数据的及时、可靠。仿真结果表明该协议的能量利用率高,实时性好,能有效延长网络的生命周期,较好地满足了地震监测应用的需求。

编者注:本文为期刊缩略版,全文见本刊网站www.mesnet.com.cn。

[1]金星,李山有,李祖宁,等.展望地震监测台网的发展与应用[J].中国地震,2006,22(3):242-248.

[2]唐宏,谢静,鲁玉芳,等.无线传感器网络原理及应用[M].北京:人民邮电出版社,2010.

[3]段文芳,齐建东,赵燕东,等.无线传感器网络最小跳数路由算法的研究[J].计算机工程与应用,2010,46(22):88-91.

[4]Heinzelman W R,Chandrakasan A,Balakrishnan H.Energyefficient communication protocol for wireless sensor networks[C]//The Proceedings of the Hawaii International Conference on System Sciences,Maui,Hawaii:2000.

[5]Heinzelman W R,Chandrakasan A P,Balakrishman H.An application-specific protocol architecture for wireless microsensor networks [J].IEEE Transactions on Wireless Communications,2002,1(4):660-670.

[6]Arati Manjeshwar,Dharma P Agrawal.TEEN:a routing protocol for enhanced efficiency in wireless sensor networks [C]//Proceedings 15th International Parallel and Distributed Processing Symposium,San Francisco,California,USA,2001.

猜你喜欢

路由无线传输
《无线互联科技》征稿词(2021)
混合型随机微分方程的传输不等式
牵引8K超高清传输时代 FIBBR Pure38K
铁路数据网路由汇聚引发的路由迭代问题研究
无线追踪3
基于ARM的无线WiFi插排的设计
一种PP型无线供电系统的分析
关于无线电力传输的探究
探究路由与环路的问题
支持长距离4K HDR传输 AudioQuest Pearl、 Forest、 Cinnamon HDMI线