时间:2022-07-26 04:52:34
导言:作为写作爱好者,不可错过为您精心挑选的1篇无线传感器网络拓扑控制研究,它们将为您的写作提供全新的视角,我们衷心期待您的阅读,并希望这些内容能为您提供灵感和参考。
摘 要:以ZigBee协议为基础,提出了一种新的无线传感器网络拓扑结构的监控和维护方法。创新性地设计了基于叶子节点的通讯模式,该模式运用协议栈自有运行流程来获取节点的加入或丢失信息、实现网络拓扑的监控,并通过设计一种基于关联表的链表式存储结构来进行动态网络拓扑的维护。经过在实际办公环境监控平台上验证表明,该方法数据传输量小,资源占用少,操作简便,具有较强的应用推广价值。
关键词:无线传感器网络;ZigBee;拓扑结构;监控与维护
0 引 言
随着无线传感器网络技术在军事、工农业、城市管理、环境监控等各个领域的快速发展,作为系统基础组成部分的网络拓扑结构成为研究的一个重要方面。目前,国内外的科研机构在网络拓扑发现以及拓扑的监控和管理方面开展了大量的相关研究工作,但大多停留在理论和仿真层面,这些通过在高性能的PC机上搭建仿真模型来验证算法效果的研究,大多缺乏能够应用到实际系统的可行性案例。安徽财经大学的赵涛[1],根据在聚合节点(sink)收集到网络内部节点报文接收或丢失的情况,通过发现网络中所有叶子节点到sink 节点的数据传输路径,来推测网络的逻辑拓扑。该方法计算比较复杂,120节点规模网络在主频为2.8 GHz的CPU主机上运行尚需9秒的时间,同时会受到节点资源、计算速度、实施条件等限制,因此,这种方法很难在实际应用中实现。德州仪器(TI)公司的官方网站也给出了一种获取网络拓扑结构的方法[2],该方法采用发送网络发现命令的方式,并通过返回结果来确定网络拓扑结构。此法虽然能够在实际应用中实施,但需要定期向网络中的所有节点发送发现命令,因而数据消耗量巨大。
本文以Z-stack协议栈为基础,采用叶子节点通讯方式,并利用协议自身的运行流程,提出了一种轻量数据消耗、真正面向应用的拓扑监控方案,同时通过设计一种基于关联表的链式存储结构来实现对网络拓扑信息的维护,因而在解决网络监控与维护方面更具有实际应用价值。
1 Z-stack协议栈原理简介
作为ZigBee联盟的一个重要的组织成员,2007年,TI公司宣布推出业界领先的ZigBee协议栈Z-Stack。Z-Stack符合ZigBee 2006规范,能支持多种平台,其中包括本系统使用的、面向IEEE 802.15.4/ZigBee的CC2430片上系统解决方案[3]。
1.1 ZigBee协议栈的体系结构及信息传递流程
ZigBee协议栈的体系结构如图1所示,由图可见,ZigBee协议采用分层体系结构[3],由物理层(PHY)、介质接入控制子层(MAC层)、网络层(NWK)和应用层(APL)组成。其中,应用层框架包括了应用支持子层(APS)、ZigBee设备对象(ZDO)及由制造商制定的应用对象。
在ZigBee网络中,信息或数据的传递将依照上述层次结构实现。上层发送的数据或指令按照应用层―网络层―MAC层―物理层的顺序,从上至下依次进行处理;底层返回的数据则按照物理层―MAC层―网络层―应用层的顺序,从下至上处理后返回给上层用户。每个层次负责发送到本层数据的分析和判断,并对于属于本层次的数据或指令做出相应的动作响应;对于不属于本层的数据,则按照规定格式打包后发送给上、下一层。
1.2 节点加入与失步流程
为了维护系统的正常运行,ZigBee协议栈还提供了一些必须的消息响应流程,其中包括节点加入网络和失步响应的流程。
节点加入流程[3]如图2所示。当子节点申请加入网络时,会启动加入流程。子节点的加入请求通过其NWK层、MAC层、PHY层传递给父节点;父节点收到加入通知消息后,又通过其PHY层、MAC层、NWK层将该情况上传给应用层,最后通过ZDO_JoinIndicationCB()函数的调用,得到子节点加入的消息。
图2 节点加入流程
节点失步流程[3]是指终端节点丢失其父节点的同步信号时,向上层报告的失步情况发生的流程。其具体流程如图3所示。
终端节点每隔一段时间就会开启与父节点的同步,当在设定时间内没有接收到父节点的同步信号时,就会产生失步指示信息,协议栈将该失步信息层层上传,最后通过调用ZDO_SyncIndicationCB()函数,将信息传达到应用层。
1.3 关联表
TI的Z-stack协议栈在全功能节点中可以维护associated
_devices_t结构的关联表,关联表中保存有与本节点直接关联(父子节点)的相关信息,包括关联节点的短地址、设备类型、连接状态等,基本上可以满足网络拓扑结构监控和维护的信息需求。
TI的ZigBee协议栈虽然可为用户开发提供强大支持,但是在网络监控和维护上并没有专用的接口。一方面,该协议栈只能发现节点加入网络,但是无法发现节点非主动性的丢失或退出,因而不具备网络拓扑监控的功能;另一方面,协议在每个全功能节点中都维护了与之关联设备的关联表,但是并没有维护整体网络的关联信息,因而无法掌控网络拓扑的全貌。鉴于协议栈在网络拓扑功能上的不足和缺陷,本文以协议基本流程为基础,提出一种实现整体网络拓扑监控和维护的方法,该方法可以满足一般系统对于拓扑结构的监控和维护需求。
2 网络拓扑结构监控
网络拓扑结构监控的主要目的是实现拓扑结构的建立和在结构发生变化时及时获取变化情况,其中最主要的是实现节点加入和退出事件的捕捉。节点加入事件的获取相对容易,可以通过加入节点主动上报等方式来获取;而节点丢失事件获取要复杂得多。现阶段,对节点丢失情况的监控多采用系统定期查询的手段[2]。采用查询方法时,其实时性与查询周期的长短直接相关:查询周期设置较长,拓扑变化反映时间增长,实时性变差;而查询周期设置较短,则传输数据量增大,占用系统资源,往往很难在二者之间找到平衡点。协议栈中数据或消息的传递是一个复杂的过程,为了尽可能地降低系统资源的占用、节约能耗,除了维护系统正常运行所必须的数据通讯外,还应尽量减少人为添加(应用层)的数据通讯量。因此,最好的办法就是利用协议自身的数据传递或者节点加入、失步等流程来实现相关信息的获取。
本文设计了一种基于网关――叶子节点通讯的节点丢失情况获取方法,该方法可以利用协议栈自身的运行流程,以较少的数据通讯量和简单的操作,实现网络中所有节点的丢失情况获取。
2.1节点加入事件的获取
通常情况下,节点加入事件多采用加入节点主动上报的方法来获取。该方法操作简单,但是需要人为地发送相关加入信息,会增加系统数据通讯量。由图2所示的节点加入流程可知,如果有子节点加入网络,加入的指示信息都会通过ZDO_JoinIndicationCB()函数的调用报告给父节点。即该函数的调用证明有子节点的加入事件。因此,本文通过在此函数中添加向应用程序报告的功能,即可通知用户子节点加入事件的发生。
2.2节点丢失信息的获取
由图3所示的流程可知,协议栈通过调用void ZDO_SyncIndicationCB( byte type, uint16 shortAddr )函数可实现失步情况的报告。该函数具有节点丢失的指示功能,并能够指示丢失节点与本节点的父子关系和短地址等。但在实际的应用中发现,该函数的调用是有条件限制的,具体实施条件如下:
父节点丢失:从失步报告流程可知,终端节点能够自动轮询发现其父节点同步信号的丢失,而无需人为添加任何触发条件,引发函数调用。但路由节点不支持与父节点的轮询机制,因而不能产生父节点丢失情况的报告。
子节点丢失:对于包括终端节点在内的所有类型节点的子节点丢失,在未加相应处理的情况下,协议栈都不会引发该函数的调用。
由实施条件可知,该函数的丢失指示并不适用于所有类型节点的丢失情况,因此,如果要得到除终端父节点外网络中所有节点的丢失情况,就需要人为加入其他处理,以触发ZDO_SyncIndicationCB()函数的调用,从而实现丢失事件的获取。
2.3 叶子节点通讯触发方法
通常采用的基于查询的网络发现机制都需要在所有节点间发送数据,因而增大系统的数据开销。这里以图4所示的拓扑结构为例,图中的叶子通讯需要进行14条数据的查询和14条数据的应答才能够完成一次节点丢失情况的获取。为了尽可能减少数据通讯和操作的复杂度,本文设计了一种基于网关――叶子节点通讯的节点丢失情况获取方法,以便用较少的数据通讯量和简单的操作来实现网络中所有节点的丢失情况获取。
研究发现,失步函数的触发可以通过加入数据通讯来实现。因为在数据发送的过程中,协议栈会开启数据发送流程,数据发送后则会自动检测接收方应答帧。这样,如果节点丢失,则发送节点无法接收到有效应答,进而引发节点失步指示函数的触发。
具体触发时,如果节点之间有数据通讯,发送数据节点则能够发现接收数据节点的丢失,从而引发void ZDO_SyncIndicationCB( byte type, uint16 shortAddr )函数的调用。
在同一条数据通路上的节点进行数据转发时,数据传递路径上的各个节点都会发现其父节点(数据由下而上)或者子节点(数据由上而下)的丢失,进而调用void ZDO_SyncIndicationCB( byte type, uint16 shortAddr )函数。如图4所示,如果网关发送数据到终端节点1,则在网关到终端节点1数据路径上的所有节点(网关、路由1、路由2、终端1)都能够发现其子节点的丢失;终端节点1发送数据到网关,则路径1上的所有节点都能发现其父节点的丢失。
该方法通过建立数据通路上起始节点和末端节点的数据通讯来实现整条路径上节点丢失情况的获取。其具体操作过程分为两个部分:其一是父节点丢失情况的获取。由前面提到的实施条件可知,终端节点无需任何人为操作就能够发现其父节点的丢失,而无需对此部分做特殊处理,因而只需对路由节点做出处理。而由路由叶子节点(如图4中路由节点2、4)向网关发送数据时,则可实现整条路径上所有节点丢失情况的获取。其二是子节点丢失情况的获取。子节点丢失的获取可以通过网关向叶子节点(图4中所有终端节点和路由4)发送数据的方法来覆盖整个网络中的所有节点,从而使全部节点都能够发现其子节点的丢失情况。
人为加入上述两部分数据通讯后,只要整个网络中有节点丢失,该丢失节点的父节点和子节点都会产生失步函数void ZDO_SyncIndicationCB( byte type, uint16 shortAddr )的调用,这样就可以简单地在该函数中添加向上层应用报告的功能,实现网络中节点丢失信息获取。并且数据通讯量由原来的28条减少到6条,从而大大减少了数据消耗和由此带来的系统资源占用。
3 网络拓扑结构与维护
Z-stack协议栈在全功能节点中只维护与本节点直接关联的节点信息的关联表,没有整体网络信息的存储功能。为了解决Z-stack关于网络全貌信息缺失的缺陷,结合本文提出的网络拓扑结构监控方法,设计一种拓扑结构维护的方法,在占用少量资源的情况下获取整个网络的拓扑信息,并将信息整合到网关节点中统一维护和管理,从而建立网络拓扑的管理办法,实现具有自组织、自适应能力的智能网络管理机制。
3.1管理模式
网络信息管理可采用搜集模式和监控模式相结合的方式。搜集模式通过发送指令搜集网络拓扑信息,赋予用户即时获取当前网络结构的能力;监控模式通过监控从网络组建起历史网络的结构变化,实现网络拓扑信息更新,从而整合为当前网络拓扑结构。
搜集模式在实现时,首先由网关设备广播一个命令来搜集设备信息;然后,收到广播信息的路由节点再按照一定的数据格式,由网关返回子节点关联信息;当网关收到各个路由节点的返回信息后,再将其组合为整个网络中的设备信息。
监控模式则是从网络形成起,网关节点就开始监控所有节点的状态;当路由节点检测到其子节点加入或者退出的时候,向网关上报该子节点的状态变化信息,而网关节点检测到子节点加入或者退出则不用上报,直接在网关内部处理;当网关接收到路由节点上报的状态信息后,就会删除或者增加该路由子节点的关联信息,同时更新整体网络结构。
3.2 网络拓扑存储结构
网关节点作为整个网络拓扑结构管理的中心,负责拓扑结构的添加、删除和更新,因此,必须在网关节点存储整体的网络拓扑结构信息。受网关资源的限制,本文采用分级动态链表的形式保存网络拓扑信息,以便以较少的资源占用实现拓扑信息的动态存储。本设计的网络拓扑存储结构如图5所示。
图5中,AssocListHead是装载路由节点头信息的数组,包含有该路由节点的长地址、短地址、父节点短地址和拥有的子节点数以及指向其子节点链表assoc_list的头指针;assoc_list链表中记载着这一路由下的子节点信息,包括子节点的短地址、长地址、类型、连接状态等。在该路由下每增加一个子节点,就会在assoc_list链表中添加一个节点信息,当节点离开时,又会将相对应的链表删除。这样,网关就可以方便地对当前网络中的所有节点的拓扑和相关信息进行查找、更新、维护。
3.3 网络维护方案
网络维护的实施要建立网络中所有类型节点间的区分与协作机制。区分是根据节点类型的不同、事件类型的不同做出区别处理;协作是在所有节点间建立连动响应机制,相互配合,并实现信息的汇聚和统一管理。具体的网络维护分为事件响应和信息维护两部分。
3.3.1 拓扑变化事件的响应
拓扑变化主要是指节点加入事件和节点退出事件。当节点加入事件是指节点加入网络时,其父节点负责将该子节点加入信息上报网关;节点退出事件则是指获取到的网络节点丢失信息的处理。处理可分为两种情况:一种是当传递来的type = 1时,即丢失节点为本节点的父节点时,开启网络加入流程,使节点可以重新加入网络,并恢复网络的正常运行;第二种情况是type = 0时,即本节点发现其中一子节点丢失。本方法对于长时间无法连接的子节点,将启动移除(LEAVE)流程,将该子节点从网络中删除,同时向网关节点报告子节点退出的消息。
需要注意的是:当子节点丢失时,有的时候是真正丢失了(长时间或永久无法连接),但更多的时候只是暂时地失去联系,随着子节点的重新加入申请,又可以加入网络,恢复正常的运行状态。因此,设计时需要将暂时失步和真正丢失这两种情况区分开,再分别做出合理的处理。
本文采用延时判断的方式,即当检测到失步现象发生后,先定时一段时间,再做判断:如果定时一段时间后,节点仍旧失去联系,则判定是真的丢失了节点,此时可通过NLME_LeaveReq移除子节点,同时上报网关节点丢失的消息;否则认为只是暂时的节点失步。 节点退出情况的处理流程如图6所示。
3.3.2 拓扑信息的维护
由网络各个路由上报的节点加入或退出的信息最终将在网关汇集,网关按照上报的节点加入、退出信息对网络拓扑存储关联表进行添加、删除、更新,以维护当前网络拓扑状态。其具体方法是先判断接收信息的种类,然后对节点加入信息和节点退出信息分别处理。对于加入信息,可核查是否是已经存在于网络中的点,如果是已经存在的,则更新存储的节点信息;如果是一个全新的点,则为该节点分配存储空间,并在对应的父节点下增添子节点分支。对于退出信息,同样核查是否是存在于网络中的点,如果该节点已经不存在了,则报错处理;如果是存在的点,则将该节点信息删除,并解除与其父节点的父子联系。
网关在接收到由父节点上报的节点加入消息时,还需要对加入子节点类型进行判断:如果是终端节点,则在其父节点的链表中更新或加入该子节点的相关信息;如果加入节点是路由节点,除了在该路由节点父节点的链表中加入该子节点信息外,还要添加该子路由关联头信息。图7所示是实现网络拓扑维护管理的示意图。
4 实验验证
本文的实验验证可在基于CC2430搭建的WSN开发平台上进行,该平台共使用5个终端节点、5个路由节点、1个网关和PC调试机。所有传感器节点自组织成无线网络,并将感知信息和拓扑信息汇报给网关节点,网关节点与PC机通过串口相连,操作人员可以通过上位机的调试软件对网络状态进行实时监控。图8所示是其上位机监控程序界面。该试验网络的节点布局示意图如图9所示。
实验时随机选取监控过程中两个时间点的网络拓扑结构监控过程示意图如图10所示。其中两个时间点在实验过程中上报的拓扑变化信息如表1所列。
从实验结果可以看出,一方面,父节点能够实时上报其子节点加入和丢失的网络变化情况;另一方面,子节点也能够及时检测出其父节点的丢失,并选择其他父节点重新申请加入网络。可见,本系统具有网络的自组织、自适应的动态网络监控与维护功能。
5 结 语
本文提出了一种通过终端与父节点间的失步信号来捕捉与基于叶子节点人为触发失步函数调用的方法,可以实现整个网络节点丢失情况的获取。其中,通过终端与父节点间失步信号来捕捉节点丢失信息的方法无需人为干预,能够通过协议自动实现,从而减少了查询的数据量和对其操作带来的系统资源占用;基于叶子节点的失步函数触发机制,只通过叶子节点与网关的数据传输,就能够完成整个线路上节点丢失情况的获取,在实际应用中,经常由终端上报数据,相当于终端自动完成数据线路上父节点丢失情况的发现,使该方法的实施更加简单。这两种方法的结合,能够以较小的数据通讯量、简单的操作和较小的系统资源占用来实现网络发现的功能,因而
具有较高的实际应用价值。
本文提出的网络拓扑维护方法具备网络拓扑的自组织、自适应功能,可满足无线传感器网络系统对于网络组织结构的动态性能要求。同时具备拓扑结构的存储功能,能以较少的系统资源保存整个网络的动态拓扑结构,十分方便网络的管理和控制。
摘 要:在无线传感器网络研究中,拓扑控制技术是核心技术之一,本文首先描述了现有拓扑控制算法的分类,其次分析了几种典型的算法并总结了其优缺点,最后简述了现有拓扑控制技术中存在的问题以及未来研究的发展趋势。
关键词:无线传感器网络;拓扑控制;发展趋势
1 引言
无线传感器网络(WSN)是集信息采集、传输以及处理于一体的智能信息管理系统,应用前景广阔,是目前比较活跃的一个领域。
WSN是一种由大量微传感器节点组成的自组织网络,其向学者们提供了大量的研究课题,拓扑控制是最基本问题之一。拓扑控制就是要研究如何形成一个良好的网络拓扑结构,为数据融合、路由协议以及目标定位等其他技术提供支撑。
WSN节点通常大规模部署并且具有随机性、自组织性,网络组织方式通常多种多样,节点能量非常有限,因此,在设计无线传感器网络时,要提高路由协议和MAC协议的效率,延长网络生存周期,一定要有一个良好的网络拓扑结构。
目前主流的拓扑控制算法可分为:节点功率控制型和层次型拓扑控制型。
功率控制就是通过变化节点的发射功率来调整节点无线信号的覆盖区域大小,在此基础上调节网络的拓扑结构,最终目的是提高整个网络的连通性。
层次型拓扑控制主要采用的是分簇机制,将整个网络划分成若干区域形成多个簇,选出骨干节点构成骨干网进行数据转发,而普通节点可择机关闭不必要的模块,以避免不必要的能量消耗。
2 典型的拓扑控制算法
2.1节点功率拓扑控制算法
LMA和LMN算法是基于节点度的算法,通过不断的改变节点的发射功率来使得其度数处在一个合适的范围,根据已经采集到的局部信息来调整邻居节点之间的连通性,最终使整个网络具有连通性。两种算法的相同点是分步骤、周期性地调整节点的发射功率,不同点是它们有着不同的节点度数计算方法。
这两种算法利用较少的局部信息就可确定节点功率的调节方式,而且对时钟同步、传感器节点要求均不高,但是在节点邻居节点判断上存在不足,所形成的网状拓扑结构不仅增大了网络复杂度,而且使网络开销增大了。
DRNG和DLMST算法是基于邻近图的拓扑控制算法,所有节点调整发射功率至最大化形成一个拓扑结构图,再根据设定的邻居判别规则得出该图的邻近图,每个节点根据邻居中最远节点的距离来设定发射功率。
这两种算法均以节点发射功率不一致为背景,基于邻近图RNG、最小生成树LMST理论,用距离最远的邻居节点所需的发射功率为标准,有效解决了发射功率不一致的问题,并通过增加删除操作来保证网络拓扑的双向连通。但是这两个算法需要精确的定位信息。
2.2 层次型拓扑控制算法
LEACH是最早的也是较典型的基于均匀分簇的拓扑控制算法,簇首通过分布式选举随机生成,剩余节点作为簇内成员节点。在网络运行中,簇首节点融合簇内所有节点的信息,以单跳方式发送至Sink节点。簇首节点和簇结构均周期性更新。
相对于传统网络,LEACH使用簇结构,能有效提高节点能量利用率和网络寿命。但簇首节点和Sink节点之间的单跳通信可能因长距离数据传输而能耗过大;频繁的簇重增加了额外的通信开销;簇首节点的选择未考虑节点地理位置、剩余能量等因素。
GAF是一种基于地理位置的分簇拓扑控制算法,首先将网络划分为固定数目的虚拟分区,节点将自身地理位置信息与虚拟网格中某个点关联映射起来并计算自身所属的分区,每个区域内选出一个节点在某一时间段内处于活动状态来监测所在区域内的信息并报告数据给Sink节点。
GAF使得形成的簇结构更均匀,但是在选择簇首时没考虑节点的剩余能量,划分单元格时,若节点间的一跳通信距离较小单元格会比较密集,而一跳通信距离较大分簇又比较稀疏,这样的分簇反而会降低网络的效率。
EEUC是一种分布式的、非均匀分簇算法,首先以概率T(由算法预先设定)在网络中选出一些节点作为候选簇首节点。簇首由候选簇首节点竞争产生,其他节点在簇首选举过程中处于休眠状态,其中竞争半径由候选簇首到Sink节点的距离决定。
EEUC将整个网络分成规模各异的簇,簇的规模与离Sink节点的距离成反比,这样有效降低了簇首通信代价,避免了“热区”问题,延长了网络周期。但EEUC单纯的考虑距离而没有考虑节点的剩余能量以及密度因素,而且没有考虑簇首节点在簇内的位置,可能造成网络能耗不均衡过早死亡的现象。
结语
本文介绍了WSN拓扑控制的分类和几种经典的拓扑控制算法,分析了算法的优缺点。目前的大多数研究模型都比较理想化,没有全面考虑实际应用中存在的问题,还有很多问题亟需进一步研究。未来拓扑控制研究的发展趋势应为:结合多种机制且更接近实际情况,网络的各种性能应被综合考虑进来,拓扑控制的自适应性和鲁棒性应有所提高。
摘要:
针对森林火灾监控系统中无线传感器网络特点,建立了基于随机几何图的加权网络拓扑模型,连边权重为体现节点通讯能耗的相异权。该模型不仅描述了节点间相互连接关系,还能体现节点间距离及通讯半径对拓扑结构的影响,研究中利用复杂网络分析方法对模型进行了验证。此外,在此模型基础上提出了拓扑优化算法。该算法在网络连通的前提下,通过约束节点单跳可达邻居数简化了网络结构。实验结果表明,拓扑模型与实际网络特性相符,拓扑优化算法能有效降低连边密度,有利于简化复杂的路由计算,延长网络寿命。
关键词:
森林火灾监控;WSN;拓扑模型;拓扑优化
森林是人类赖以生存及社会发展最重要和不可缺少的资源。由于自然或人为因素导致森林火灾时有发生,森林火灾是破坏森林资源安全、威胁人类生存环境最为严重的灾害之一。如何准确、高效地预防和发现火情已成为亟待解决的问题。森林地势复杂,很多区域人员难以到达,不易进行人工和有线监测。因此,无线传感器网络(WSN)技术应用于森林火灾监测具有广阔的前景。森林面积广阔,监测系统需要大量微型、廉价的传感器节点,节点通过人工埋置或飞行器播撒的方式随机部署,实时感知覆盖区域内的温度、烟雾浓度等火灾信息,通过自组织网络将采集到的数据传递给汇聚节点,汇聚节点将现场数据经Internet、移动通信网络或卫星等途径发送到控制中心,实现对森林火灾的无线监测。与其他通信网络相比,森林火灾监测系统中采用的无线传感器网络具有网络规模大、节点部署密集、网络冗余度高、节点自身资源受限等特点。对于大规模的无线传感器网络而言设计良好的拓扑结构尤为重要,网络拓扑是设计和组建网络的第一步,也是实现各种协议的基础。因此,如何建立更加符合实际网络特性的拓扑模型是研究的前提。此外,由于传感器节点部署具有很大的随机性,节点的位置不可预测,初始的网络拓扑很难满足要求,需要进行优化控制。笔者主要针对森林火灾监测系统中无线传感器网络的特点,构建网络拓扑模型,并在此模型基础上对网络拓扑进行优化,为网络性能的提高奠定基础。
1WSN拓扑结构
1.1传感器节点通信特性
无线信号在传播过程中由于受环境因素的影响,信号强度会随传播距离的增加而衰减。依据自由空间传播路径损耗模型,距发射机为d处的平均接收功率Pr(d)可以表示为式(1)。Pt为发射天线辐射功率;Gt为发送天线的方向增益;Gr为接收天线的方向增益;λ为媒介中场的波长。为了保证节点直接通信,节点间距离d必须满足d≤ΨPtPr,()th,其中Ψ=GtGrλ4[]π2,d称为节点通信半径。在布尔型全向感知模型中设节点i在二维平面上的坐标为xi=(xi,yi),节点感知半径为ri,节点对于在坐标xj=(xj,yj)处任意节点j的感知概率可表示为式(2与j的距离。
1.2传感器节点度分布
设有n个节点随机分布于区域A内,网络节点密度ρ=n/SA,SA表示区域A的面积。网络中任意节点恰好位于区域B(其中BA)的概率为P=SBSA,随机变量X表示恰好有m个节点位于区域B中的事件,则该随机变量服从二项分布,由P=ρSBn可得式(3)由式(4)可知,当网络节点数n很大时,传感器节点度分布近似为泊松分布。
2WSN拓扑建模
2.1加权网络拓扑模型
为了解决随机图对无线传感器网络拓扑建模存在的不足,研究中采用随机几何图构建网络拓扑模型。设传感器节点的通信半径与感知半径相等,将无线传感器网络用随机几何图描述,其中n为节点数,r为通信半径。V={v1,v2,v3Λ,vN]表示网络中节点集合,dij表示节点vi和vj间的距离,E={e1,e2,e3Λ,ew]V×V表示边的集合。节点通信覆盖范围是以自身为圆心,r为半径的圆盘区域,如式(5)所示。考虑节点间距离对网络拓扑的影响,需要在网络连边上赋予权重。对于无线传感器网络,节点进行数据转发时总是选取能耗最低的路径。式(1)可知,自由空间模型下无线通信的能量消耗会随着通信距离的增加而增长。因此,可以将d2ij作为权重赋予连边eij,d2ij的大小可体现节点间进行数据转发所消耗的能量。无线传感器网络的加权拓扑模型就可用相应的加权邻接矩阵A=[aij]表示。其中,aij=f(xij)•g(dij),f(xij)为节点感知概率,g(dij)=d2ij。节点间距离越近权重越小,距离越远权重越大,当两点间无直接连接时权重为∞。
2.2实验仿真
在100m×100m的区域内随机部署200个传感器节点,节点通信半径为13m。网络中所有节点均同质,具有相同的物理性质和通信半径,节点采用布尔型全向感知模型。图1为网络拓扑结构。考虑到拓扑结构模型为加权网络,因此主要分析节点度分布和节点强度分布,如图2和图3所示。研究结果表明,整个网络节点度分布比较均匀,大量节点度集中在7~11之间,以平均度8.5为中心两边迅速下降,度值小于7或大于11的节点所占比例不足5%,近似泊松分布,与理论推导的结论相符。图3显示网络节点强度分布比较均匀,大量节点的点强度集中于平均值附近,少量点的强度偏离均值。为了揭示无线传感器网络拓扑结构特性,将传感器网络拓扑模型统计特性与随机网、小世界网和近邻耦合网的统计特性进行了对比,表1给出了同等规模下不同
2.3结果讨论
(1)所建立的拓扑模型中节点度分布均匀,近似为泊松分布,与理论计算结果相符。网络节点度有界,这与节点感知范围有限所导致的局部通信特性相一致。(2)通过计算发现,点强度与节点度不满足s(k)≈<w>k的关系(<w>为网络边权平均值)而满足s(k)≈Akβ的关系。其中β≈0.45、A≈32,表明网络边权与拓扑结构有关,与网络模型构建中边权的赋予方式相符。(3)与其他三类网络相比,无线传感器网络拓扑结构具有较大的聚类系数,即网络具有明显的聚类效应,局部节点间的连接比较紧密,这符合传感器网络的本地化通信特点。
3拓扑控制
3.1拓扑优化算法
森林火灾监测中需要大量的传感器节点,为了保证网络的连通及对被测区域的全覆盖,网络建立初期形成的拓扑结构具有较大的冗余。这样既不利于节点能耗的降低,又会增加节点间通信干扰。因此,研究中提出了基于约束节点连边数的稀疏网络拓扑优化算法。算法中主要针对“度”大的节点边数进行约束,选定节点后删除与该节点相连的哪些边是算法的关键,这就要求对节点在信息传递过程中的重要度进行评估。通常用度描述网络节点的重要程度,但对于数据转发的无线传感器网络,考虑某一节点对其他节点的影响力更为重要。而“介数”衡量的就是点对其他节点的影响程度。节点i介数L(i)是网络中所有节点对之间通过该节点的最短路径数占所有最短路径数的比例,即L(i)=∑s≠t≠iσst(i)σst。其中,s.t是网络中的节点对,σst是从s到t的所有最短路径的总和,σst(i)表示通过节点i的所有最短路径数。显然,在讨论无线传感器网络数据流通时,介数比节点度能够更好地评价节点的重要程度。因此,研究中将介数作为衡量节点重要度的指标,以此来确定所要删除的连边。具体算法如下:(1)随机部署节点,设置通信半径保证网络连通,初步形成网络拓扑;(2)选取节点i进行连边约束,节点被选中的概率与其节点度d成正比;(3)确定与被选节点i相连的所有邻居节点集合V={vj|aij≠0],在集合V内选取ρd个节点,在集合V内节点介数越小被选中的概率越大(其中ρ为删边比例,d为节点i的度);(4)确定节点i及其邻居节点j后,判断二者的连边是否唯一,如果唯一,放弃该邻居节点返回第3步,在集合V中重新选取,如果不唯一删除连边eij;(5)返回第2步,重复上述过程。
3.2算法仿真
实验中网络参数设置如下:节点数为200,分布区域面积10000m2,节点通信半径为14m。图4为初始网络拓扑,图5为对节点度进行约束后得到的稀疏网络拓扑。表2为拓扑优化前后网络结构测度的对比。可以看出,网络连边密度降低了41.5%,节点平均度减少了41.5%,而网络的平均最短路径只增加了14.8%。优化后的拓扑既简化了网络结构又保证了网络的连通,将有利于路由的简化和网络生存周期的延长。
4结论
为了满足森林火灾监控的需求,无线传感器网络被广泛应用。森林火灾监控系统中无线传感器网络具有网络规模大、节点部署随机、结构冗余度高、节点自身资源受限等特点。结合这些特点,笔者建立了基于随机几何图的无线传感器网络拓扑模型。该模型不仅可以描述传感器节点间相互连接关系,还可以体现节点间距离及通讯半径对网络拓扑结构的影响。此外,在此模型基础上对网络拓扑进行了优化,以度和介数作为节点重要程度的衡量指标,提出了稀疏网络拓扑优化算法,通过该算法对网络的冗余链路进行适当地删减,降低了网络连边密度,在保证网络连通的情况下实现网络结构的简化,有利于简化复杂的路由计算,降低节点间通信干扰,延长网络生存周期。
作者:任月清 齐利晓 杨国庆 单位:天津城建大学