APP下载

基于位置信息的WSN数据汇聚路由算法

2012-10-25魏振春刘国栋马学森

关键词:时延路由终端

魏振春, 刘国栋, 卫 星, 马学森

(合肥工业大学 计算机与信息学院,安徽 合肥 230009)

0 引 言

无线传感器网络是近年来新兴的一种信息获取和处理技术,随着低功耗芯片的出现以及通信技术的飞速发展,使得大规模传感器网络的实际应用成为可能,目前研究者越来越关注于 WSN(Wireless Sensors Network,简称 WSN)的应用研究,并将其研究成果广泛应用于环境检测[1]、智能建筑[2]及灾难应急[3]等领域。

人们在研究 WSN解决实际问题时,根据WSN应用环境的不同设计出多种路由协议,这些路由协议在不同的应用环境和性能指标下各有优势。研究者以不同标准对这些路由协议加以分类,基于无线传感器网络中节点参与通信的方式[4-7]将路由协议分为:平面路由协议、层次路由协议。平面路由协议中网络各节点地位平等、共同协作完成感知任务,但是平面路由协议的网络规模受限制、可扩展性差,常见平面路由协议有Flooding、Modified Flood、Location Based Flood[8]、SPIN 及 Directed Diffusion;相比较而言,层次路由协议适合大规模传感器网络应用环境,可扩展性好,对层次路由协议的研究主要集中在分簇算法、簇状路由算法等方面,比较经典的层次路由协议有LEACH和PEGASIS等,这些已提出的协议多数针对低功耗设计。

本文以BECMS(Building Energy Consumption Monitoring System,简称BECMS)为应用背景,重点研究 WSN网络结构设计及LBRA(Location Based Routing Algorithm,简称LBRA)路由算法。在BECMS应用中,根据建筑环境中网络节点具有能量可持续供应、位置固定等特性,提出WSN 2层网络结构模型如图1所示,并设计适合该网络结构模型的基于位置信息的数据汇聚路由算法,最后通过仿真实验验证算法的可行性。

图1 系统逻辑结构

1 BECMS网络拓扑模型

无线数据传输网络是BECMS终端节点与管理中心数据传输的桥梁,其传输性能的高低直接决定着系统的整体功能。文献[5]对比分析了蓝牙、UWB、RFID、Zigbee等 WSN无线通信技术各自应用场合,综合考虑功耗、成本、复杂度、数据传输安全性等因素后,Zigbee技术成为BECMS中无线通信技术的首选。

本文设计提出的无线数据传输网络中存在FFD(Full Function Device,简称FFD)、RFD(Reduced Function Device,简称RFD)2种类型的传感器设备,这2种类型的设备各自担任不同角色,图1中标识为0、1的节点采用FFD设备,标识为2的节点采用RFD设备。仿真实验中将通过仿真IEEE 802.15.4[9]MAC层协议实现对不同类型设备的支持。

BECMS中无线数据传输网络的设计实现:

(1)每个房间中设置1个终端节点,用于收集房间温度、湿度和耗电量等传感器节点信息,整栋建筑中的WSN终端节点基于相邻关系按图2所示的策略进行分簇,采集的数据在簇头节点融合后再传输给Sink节点,这些终端传感器节点构成该传输网络的最底层。

图2 簇节点分布原理图

(2)整栋建筑中位置相邻的每2层分成1组,每组包括若干路由节点,这些路由节点在网络中担任簇头角色,该类节点被放置于走廊、楼梯通道中,并且采用建筑内的市电供电。通过分簇可以把大量簇内通信限制于簇头一跳邻居范围内,进而减少整个网络通信开销。

(3)整个网络只有1个协调器节点,网络初始化阶段协调器节点发起组建高层网络命令,路由节点申请加入存在网络,协调器节点对申请加入网络的路由节点进行审核,允许审核通过的节点加入网络。该阶段结束后,路由节点和协调器节点形成该子系统高层网络。

(4)骨干网络组建完成后,路由节点发起建簇命令,终端节点申请加入各簇,该阶段结束后,终端节点成为与自身距离最近簇头节点的成员节点,完成整个网络的初始化。

(5)为提高网络的健壮性,采用备份簇头策略,每个簇的成员节点中有1个终端节点采用FFD设备,担当备份当前簇成员信息功能。当簇头节点由于故障等原因失效后,该备份簇头节点将担当簇头角色,重新组建新簇。

BECMS中设计提出的无线数据传输网络形成逻辑上相互独立的2层网络结构模型,协调器和路由节点构成该网络的高层骨干网络,分布于各房间的终端节点之间不相互通信,这些终端节点仅与簇头节点之间通信,形成该2层网络结构模型低层网络。

2 路由算法

本文将结合现有协议特点设计适合该模型的基于位置信息的路由算法,LBRA路由算法的前提假设为:

(1)网络中传感器节点几乎不具有移动性,具有固定位置,根据节点所处房间位置,节点坐标可标示为[x,y,z],其中{x,y,z∈[0,Ni],i=1,2,3},设Sink节点的位置为[0,0,0]。

(2)布设于各房间的终端节点不互相通信,只与其距离最近的路由节点通信,如果路由节点不在协调器节点的通信范围内,则会采用多跳的路由策略,通过路由节点的中继最终把数据传输给协调器节点。

(3)终端节点启动后进行信道扫描,申请加入已存在网络,加入网络的终端节点可自由运行于工作模式和休眠模式。

2.1 网络初始化阶段

2.1.1 高层网络初始化

Sink节点在网络高层广播Hello消息,该Hello消息包括节点自身、Sink节点位置坐标以及到Sink节点的跳数等信息,路由节点根据收到的信息,设置其到Sink节点的跳数后再广播该信息,并且收到Hello消息的节点发送ACK响应帧,申请加入存在网络,该阶段每个节点只广播一次Hello消息,当收到重复的Hello消息包时,记录路由节点邻居信息后,进行简单丢弃。该阶段结束后可组建成高层骨干网络,并且每个节点都了解Sink节点的位置信息和自身的邻居列表,邻居列表项有节点ID、距Sink节点跳数及邻居节点数。

2.1.2 组建底层网络

该阶段簇头节点采用另外频率广播信标帧,等待终端节点申请加入自己组建的簇。由于采用不同的信道进行通信,故这些信号只被终端节点接收到。终端节点按信号强度加入与其距离最近(距离远近通过信号强度来进行判断)的簇头节点。

簇组建完成后,簇成员节点记录自己所属簇头,同时簇头节点把簇成员信息报告给Sink节点,便于Sink节点对网络进行全局管理。该阶段结束后,簇头节点会生成簇成员列表,簇成员列表项有节点ID、序列号和剩余电量3项。

用簇头节点位置坐标表示该簇ID=[x,y,z],x=posX-sinkX,y=posY-sinkY,z=posZ-sinkZ;其中Sink节点ID=[0,0,0]。

考虑到网络规模、通信速率、时延及可靠性等因素,簇成员节点与簇头之间的通信,采用CSMA-CA[9]通信方式,通过该通信方式来减少包冲突,提高网络运行可靠性。

2.2 路由策略

2.2.1 数据路由选择算法

BECMS应用环境下,终端节点把数据发送给簇头节点,经路由节点中继最终把数据传输给Sink节点,该过程形成以Ssource、Sink为端点的最佳数据汇聚路径。假设有数据源节点SsourceID=[X,Y1,N],目的节点 Sink ID=[X1,Y1,Z1],Ssource节点从其邻居列表中选取距Sink节点最近、跳数最少的邻居节点作为下一跳簇头节点,通过这种方法来减少中继节点数,进而减少通信延迟和能量消耗。

节点Ssource的邻居关系如图3所示。

图3 节点Ssource邻居关系

SsourceID=[X,Y1,N]邻居列表项见表1所列,从邻居列表中选择最佳下一跳簇头节点的算法为:

表1 簇节点ID=[X,Y1,N]邻居列

在该实例中将会选择[X-1,Y1,N-1]节点为下一跳节点,如果表1不存在ID=[X-1,Y1,N-1]节点,则会执行Select-Send(),按跳数、邻居节点数选择次优下一跳节点,若存在多个节点满足条件时,从满足条件的节点中随机选择。

2.2.2 容错算法

本文终端节点采用一种重叠分簇策略,即同一终端节点可能是多个簇头节点的邻居节点,该分簇策略结合备份簇头思想是本文容错的前提保障。在簇头节点失效后,备份簇头节点运行容错算法,向邻居簇头节点发送Cluster_Create消息,备份簇头节点收到邻居节点ACK响应帧后,备份簇头节点、一跳邻居簇头取得时间同步后,运行建簇算法,簇组建完成后簇头节点将簇成员信息报告给Sink节点,便于Sink节点管理网络拓扑结构。通过这种容错策略,簇头节点失效后仍然可以保障网络的正常运行,提高网络运行的健壮性。

3 实验仿真分析

为验证设计的有效性,在仿真软件NS2下对协议传输可靠性、传输时延等进行仿真分析,根据BECMS中网络拓扑结构,协调器、路由节点坐标Y值相同,可在平面区域对该网络拓扑结构进行仿真,在100m×100m的二维平面仿真区域中,协调器节点坐标为(0,0),路由节点按坐标[X,Z]分布,网络业务数据流设置为CBR(Constants Bit Rate)类型,模拟节点以一定周期向Sink节点发送数据,数据流开始时间为9s并持续到仿真结束,仿真时间t=100s。

仿真过程中,网络端到端时延定义为源节点发送分组时间到目的节点接收到该分组的时间差。为验证算法性能表现,在同一拓扑结构下运行 LBRA、LBF(Location Based Flood,简 称LBF)2种协议时,同一数据流各数据包端到端时延如图4所示,由图4可以看出,LBRA在时延上明显优于LBF路由协议,实时性更好。仿真过程中数据流、控制信息数据包时延抖动信息如图5所示,图5可以证明,采用本文设计的路由算法网络数据包传输时延抖动较小,网络运行稳定性也比较高。

同一数据流目的节点在整个仿真过程中,不同时刻数据流量负载情况如图6所示,由图6可以看出,LBRA可以明显降低网络通信量,均衡网络节点流量负载,节约通信开销、提高网络吞吐量。

图4 时延分析图

图5 时延抖动对比

图6 目的节点负载流量对比

通过分析多次仿真实验结果Trace文件,对于2种协议丢包率特性,由于LBA路由算法设计特性,目的节点收到重复分组时采用简单丢弃方法,造成一种丢包率比较高的假象。相比较而言,运行LBRA路由算法时丢包率低于3%,这在系统可以接受的程度范围内,不影响系统的正常运行,网络运行LBRA算法可靠性较高。

4 结束语

本文基于建筑环境下网络节点位置固定、拓扑可控等特性,以高可靠性、低通信时延为设计目标,提出运行于该环境的WSN 2级网络模型,并结合已有协议特点设计适合该网络模型的LBRA路由算法,通过仿真运行LBRA路由算法进行验证,结果表明设计提出的WSN 2级网络实现了网络组建和数据通信的功能,并且可以很好地支持多跳网络,在实时性、可靠性等方面的性能完全满足系统的设计要求。

[1] Mittal R,Bhatia M P S.Wireless sensor networks for monitoring the environmental activities[C]//Proceedings of the IEEE International Conference on Computational Intelligence and Computing Research,2010:1-5.

[2] Pan M S,Tsai C H,Tseng Y C.Emergency guiding and mo-nitoring applications in indoor 3Denvironments by wireless sensor networks[J].Int J of Sensor Networks,2006,1(2):2-10.

[3] Bames M,Leather H,Arvind D K.Emergency evaluation using wireless sensor networks[C]//Proceedings of the 32nd IEEE Conference on Local Computer Networks (LCN).IEEE Press,2007:851-857.

[4] Akkaya K,Younis M.A survey on routing protocols for wireless sensor networks[J].Ad Hoc Network Journal,2005,3(3):325-349.

[5] 张少军.无线传感器网络技术及应用[M].北京:中国电力出版社,2010:49-65.

[6] 崔 莉,鞠海玲,苗 勇,等.无线传感器网络研究进展[J].计算机研究与发展,2005,42(1):163-174.

[7] 王文光,刘士兴,谢武军.无线传感器网络概述[J].合肥工业大学学报:自然科学版,2010,33(9):1416-1419,1437.

[8] Sabbineni H,Chakrabarty K.Location-aided flooding:an energy-efficient data dissemination protocol for wireless sensor networks[J].IEEE Trans Comput,2005,51(1):36-46.

[9] Chen F,German R,Dressler F.Towards IEEE 802.15.4e:a study of performance aspects[C]//Proceedings of the 8th IEEE Int Conf on Pervasive Computing and Communications Workshops.Mannheim:IEEE Press,2010:68-73.

猜你喜欢

时延路由终端
X美术馆首届三年展:“终端〉_How Do We Begin?”
通信控制服务器(CCS)维护终端的设计与实现
基于GCC-nearest时延估计的室内声源定位
基于改进二次相关算法的TDOA时延估计
探究路由与环路的问题
多功能北斗船载终端的开发应用
基于预期延迟值的扩散转发路由算法
FRFT在水声信道时延频移联合估计中的应用
基于分段CEEMD降噪的时延估计研究
PRIME和G3-PLC路由机制对比