周志鑫,邵晨宁,周慧敏,杨 鑫,叶文俊,李 剑,赵治栋,惠国华,*
(1.浙江农林大学林业智能监测浙江省重点实验室,信息工程学院,杭州 311300;2.浙江省杭电智慧城市研究中心,杭州 310035)
无线传感网络WSN(Wireless Sensor Networks)是一种能够高效利用能量,有效传递信息,提供冗余补充的技术。通过构建智能化的传感器节点,完成对信息的采集、处理、传输和存储。作为经典的路由协议,LEACH协议在针对不同的问题时,会表现出一定的局限性。例如在选举簇头过程中,由于节点部署具有随机性,簇头的产生也伴随着这种随机性。这种局限性还体现在数据传输上,传统的LEACH协议信息传输模式单一。因此,广大研究者对于这些问题,做了广泛的研究。甘少波提出只对LEACH协议的节点进行一次分簇,之后的周期,都在分好的簇内选择新的簇头的算法[1]。倪文亚提出将传感器节点的能量因素和位置因素作为选择簇头标准之一,并通过粒子群算法(PSO),根据不同网络规模选取最佳的能量和距离的比重,优化簇头选举的算法[2]。刘昌东提出了一个仿真区域中心点的概念,主要作用是让簇头节点分布更加均匀,使簇内通信的能量消耗不至于太高,簇头到Sink节点的能量消耗也不至于太大。为了实现这个分布,设置了距离因子和能量因子,这两个因子之间有联系,共同决定对节点的分簇[3]。李亚男提出将节点的剩余能量和距离汇聚节点的距离作为成簇的依据,使簇头的分布更加合理的算法[4]。李婧提出对簇头节点所占比例进行优化选择的算法[5]。邓柯提出在成簇阶段完成后,簇头节点根据节点的能量剩余情况,向能量剩余最多的节点发送消息,通知其担任簇头的算法[6]。邹茜提出在进行簇头选举之前,根据网络的节点数目、节点到汇聚节点的距离和网络覆盖区域大小等参数共同决定节点成为候选簇头概率的算法[7]。张现利提出将K-Means聚类算法引进LEACH路由协议中[8]。彭蕾为了降低传感器节点能耗,提出一种适用于大规模网络的基于LEACH协议的混合无线传感网络节能路由算法[9]。严静静采用WCRCM聚类算法将WSN中节点根据地理位置进行聚类,从而在无线网络的监控区域形成多个虚拟子区域,达到优化簇头节点分布的目的[10]。以上的研究在对LEACH协议的簇头选举、区域划分、信息传输方式和能量消耗等方面做了改进,提高了网络的生存能力和降低了网络的能耗。但这些改进都是针对一个长宽差异不大的部署环境提出。因此基于城市综合管廊的应用环境特点,设计出合适的路由协议,具有典型的研究价值。
本文针对WSN和城市综合管廊自身特点详细分析WSN的节点模型和LEACH协议的选簇机制,分析得出LEACH协议在城市综合管廊的应用中存在缺陷,详细阐述了LEACH-HC协议的设计思路,并且进行了仿真实验。仿真结果表明LEACH-HC协议在针对城市综合管廊的应用中能显著提高网络的有效工作时间,延长节点寿命,均衡网络能量。
LEACH(Low Energy Adaptive Clustering Hierarchy)是低功耗自适应集簇分层型协议,他是由MIT的Heinzehnan等人提出了一种基于分簇的路由协议。LEACH协议做以下假设:①所有的节点都是相同无二的。每一个节点具有相同的初始能量。将节点置于相同条件下,实现各种功能消耗的能量是相同的。每一个节点对于数据的计算和处理能力是相同的。每个节点都可以控制改变自己的发射功率。②所有节点均可以直接与Sink节点进行通信传输。③Sink节点是固定的,Sink节点具有充足的能量,且不将其能量损耗考虑在系统能量损耗内。④相邻节点采集的数据类型趋近,可以进行数据融合。⑤初始布局完成后,节点静止,不再移动。
LEACH协议首次引入”轮”的概念,每一轮分为”建立阶段”和”稳定工作阶段”。LEACH协议通过节点将采集到的数据汇总到簇头节点,再由簇头节点统一发送到Sink节点,从而实现降低能耗,延长网络生命周期的目的。具体工作过程如下:
①选取簇头 每个传感器节点随机产生0~1之间的一个值。按式(1)计算T(n),如果该节点产生的随机数小于阀值T(n),则该节点就成为当前轮的簇头。
(1)
其中:P是预期的簇头数目在所有节点中所占的百分比;r是选举轮数;rmod(1/p)代表这一轮中当选过簇头的节点个数;G是这一轮中未当选过簇头的节点集合。
②簇头节点广播 选定的簇头节点,通过广播告知整个网络。网络中的非簇头节点根据接收到的信号强度决定从属的簇,并通知相应的簇头节点,完成簇的建立。
③非簇头节点加入簇 非簇头节点决定了自己属于哪个簇后,必须通知簇头节点,它是该簇的成员。非簇头节点通过CSMA和MAC协议将自己加入该簇的信息报告给簇头节点。
④数据传输 簇头节点收到所有的非簇头节点加入的信息后,基于本簇内加入的节点数目创建TDMA调度表,通知每个节点在什么时间可以传输数据。
1.2.1 选簇阶段问题
LEACH协议中,所有的节点分布具有随机性,簇头的选举也是根据节点产生的随机数,计算阈值选出,同样具有随机性。而在大多数需要部署无线传感网络的环境中,是需要考虑位置信息和能量信息的。如果选择位置距离Sink节点较远或者剩余能量较少的节点作为簇头,会严重降低网络的存活时间。同样,如果某些节点过于频繁地担任簇头,在节点初始能量相同的情况下,这种节点将会过早死亡,造成网络萎缩。
1.2.2 成簇阶段问题
LEACH协议中,当节点竞选成为簇头,并广播自己成为簇头的消息后,非簇头节点就要选择簇头,申请加入成簇。由于在第1轮开始之前,所有的节点分布并没有规律可循,所以成簇过程中,极有可能形成大小簇,造成网络能量不均衡的问题。
1.2.3 数据传输完整性问题
LEACH协议中,所有节点都是同构的。初始能量状态下,具有相同的能力。而在实际应用环境中,距离Sink较远的簇头,因为在远距离传输上消耗的能量过大,对于簇内信息的融合可能不充分,即出现数据的丢失,影响无线传感网络的数据完整性。
为了研究WSN在城市综合管廊中的应用,根据管廊的约束条件,对LEACH协议进行改进,显得尤为重要。故提出LEACH-HC(LEACH-Hybrid Clusters)协议。
城市综合管廊亦称共同沟,是指在城市地下用于集中铺设电力、通信、广播电视、给水、排水、热力和燃气等市政管线的公共隧道,是一种现代化、科学化和集约化的城市基础设施。[11]。
城市综合管廊的建设需要对道路及两侧建筑物的空间影响进行考虑。这决定了其必定是一个长度远大于宽度的建筑结构。而传统LEACH协议的应用环境通常是正方形或矩形平面。故假设综合管廊某一段为长500 m,直径为20 m的半圆柱体,则截面半圆的周长约为31.4 m。20 m与31.4 m对于500 m的长度(实际布置的长宽比例应该高于500∶20),占比分别为4%和6.28%,相差不到3%。因此,能够将城市综合管廊的WSN部署环境简化成一个长矩形。
城市综合管廊的构成要素复杂多变。谭忠盛等指出,在综合管廊较为发达的国家,例如新加坡。城市综合管廊建设管理需要协同电信公司、直饮水公司、再生水公司、区域供冷公司、气动垃圾输送和电力公司[12]。对应的管道包括光纤、饮用水管道、污水管道、供冷管道、气动垃圾管道和电力电缆。通过表1中列举的传感器可以看出,这些类型传感器已经囊括大部分管廊通用管道检测所需要的传感器。
另外,黄俊杰等指出,以深圳市为例,由于城市各区域建设条件、建设强度、管线需求和建设重点等条件差异可将综合管廊建设区域划分为优先建设区、宜建区、慎建区[13]。指导各类区域内综合管廊系统布局和规模控制。
所以说,城市综合管廊的布局是因地制宜的。而本文研究对象并没有确定为某一特定城市。所以仅选取城市综合管廊建设中都必须具备的管道(天然气管道、电力管道、给排水管道、通信光纤和供热管道)作为研究对象,暂不考虑某些城市的特殊情况。查阅管廊建设相关文献知,管廊舱室内的不同管线在监控参数上有所重叠。即对于不同城市的适应性,在传感器种类(例如温度、湿度、水位、气体等)上是相同的。传感器相当于节点的感知器,通过连接多种类型传感器来对城市综合管廊中管道运行状态的多种参数进行采集,并将采集到的数据发送给相关控制模块进行处理。处理器对节点各部分的工作进行协调和控制,对采集到的不同参数数据做相同格式处理,传输到通信单元进行发送。
所以,在传感器种类相近、数据格式互通的情况下,根据不同城市对管线具体负载能力的要求不同,适应性体现在不同类型传感器数量的差异上。查阅相关文献,管道检测中常用传感器各项性能参数如表1所示。
表1 综合管廊各类型传感器性能指标表
本文2.1节中提出将综合管廊简化成一个长矩形模型,故假设传感器部署在一个长宽比例为25∶1的区域A中,所有节点正常工作模式下,能够有效辐射整个区域,改进网络具有以下特征:
①传感器有效使用半径远大于传感器自身体积,即传感器大小可以忽略不计。
②保持网络节点总数n不变。
③保持网络部署面积相同。
④能量计算采用LEACH协议的能耗模型[19]。
⑤所有节点都不需要通过加装设备就可以获取自身的位置信息。
⑥节点位置设定。基于能量消耗最少的目标,保持其余各部分条件相同的情况下,将部署3级节点的管道分别部署在区域中央和区域两侧。
实验仿真结果表明,对综合管廊各种类管道布局时采用在区域A中央铺设传感器耗能高的管道,再逐渐向两侧递减的模型,节点死亡较慢,能耗最优。如图1所示。
图1 综合管廊各级别传感器布局示意图
其中1级节点全图随机布局,随机选取10%的1级节点作为2级节点。
而3级节点则布局在图中部署3级传感器的管道上(除去不部署3级传感器的区域)。与方形区域相比,在距离Sink节点相同距离的区域内,管廊环境的部署面积小的多。即簇头节点传输数据压力小。同时本协议并不需要将接近Sink的节点作为多跳中转节点,所以不会形成能量空洞。图1中非部署区域边界的划定,需要考虑通信代价。分析能耗模型,当处于d≤do的区域时,节点采用自由传输模型。所以图中不部署区域的边界范围是d≤do。
(2)
而在网络边缘的区域向Sink节点方向部署3级节点时,需要将部署区域进一步划分网格,在每一个网格内布置一个3级节点,避免3级节点的辐射范围过分重叠,造成信道占用和资源浪费。即综合管廊左右两侧布置的3级节点数目相同,但3级节点在网格内的位置采用随机确定的方式。
①能量异构。
(3)
3级节点初始能量Eo3的计算采用式(4)。邹红文等提出一种距离能量级的概念[20]。而城市综合管廊与邹红文等的研究对象存在区别,故提出一种新的设想。距离能量级概念的研究范围为二维平面,节点辐射范围为圆形S=πR2。而综合管廊环境更近似于一块长矩形。整体来看,研究范围从二维平面变成一维线性。从能量角度考虑,采用式(4)更加合理。
(4)
式中:X表示区域A的长度;Y表示区域A的宽度;Eo表示1级节点初始能量。
2级节点采用SEP协议中高级节点的初始设置[21]。2级节点初始能量 Eo2=2Eo。
对2.2节中的节点类型分析发现,在引入2、3级别节点之后,传统LEACH协议的选簇策略不再适用。本协议提出一种选举簇头和固定簇头混合布局的新选簇策略。由于3级节点的能量远高于1,2级别节点,存在冗余能量能够担任簇头节点。所以将3级节点命名为固定簇头,即不参加选举就直接成为簇头。1、2级节点依旧按传统LEACH协议的簇头选举方式进行。
在增加了固定簇头后,原有网络中的簇头总数发生改变,基于文献[22]中指出100个节点布署在100 m×100 m的区域内,最佳簇头数为5,此时能耗最小,网络生命周期得到延长。在d>do的时,其计算如式(5)所示:
(5)
式中:dtoBS=0.765×M/2,M为方形区域的边长,dtoBS为簇头到Sink节点的平均距离。
得
(6)
在本协议中,采用500 m×20 m的仿真环境,即X=500,Y=20。代入式(6)得到
所以,在LEACH-HC协议中对最佳簇头数Cbest的定义如式(7)表述。
(7)
①1级和2级节点参与簇头选举时采用LEACH协议的选簇概率和模型。即该部分簇头数目占1级和2级节点总数的10%。
②3级节点直接作为簇头节点,即选簇概率为100%。
簇头选取完成后,簇头广播自己成为簇头的消息,非簇节点选择加入成簇,完成“成簇阶段”。具体流程图如图2所示。
图2 成簇阶段运行流程图
实验采用MATLAB平台进行仿真,模拟实现了LEACH协议,SEP协议,LEACH-HC协议的性能比较。模拟城市综合管廊环境,将仿真平面拉伸为500 m×20 m。如果管道两端出现过多的死亡节点,则本文认为网络已经崩溃。所以仿真实验选取 1 000 轮作为实验依据。各项实验参数如表2所示。
表2 仿真实验各个参数
图3 网络生存周期比较图
图3是对于LEACH,SEP,LEACH-HC 3种协议第1个死亡节点出现时间的比较。其中LEACH协议第1个死亡节点出现在278轮。SEP协议第1个死亡节点出现在184轮。LEACH-HC协议第1个死亡节点出现在304轮。这3种协议节点死亡殆尽的轮数分别为1 030、2 259和2 456轮。图3中可以看出,LEACH-HC协议有效地延迟了第1个死亡节点出现的时间和最后一个节点死亡的时间。使网络寿命提高50%左右。并且LEACH-HC协议存活的节点数目在整个生存周期中都明显高于其他两种协议。
图4是对LEACH、SEP和LEACH-HC 3种协议运行1 000轮的结果对比图。图4信息传递出在 1 000 轮的运行周期中,经典LEACH协议的能量已经消耗殆尽。SEP协议死亡的节点数目超过节点总数的60%,网络完整性遭到破坏。而LEACH-HC协议在运行1 000轮后,平均死亡节点数目为37.26个,只占到全部节点数目的1/3左右,对系统有效运行时间有相当的延长。
图4 死亡节点数量对比图
图5给出了3种协议每一轮的簇头数目。从图5可以看出经典LEACH和SEP协议的簇头数目在350轮之后衰退明显。在此之后,由于簇头数目过少,引发了节点的加速死亡。LEACH-HC协议因为引入了3级固定簇头,其每一轮的簇头数平均是其他两种协议簇头数的1.5倍左右。这种改进有效地缓解簇头节点由于负载过大而过早死亡的现象。
图5 簇头数目与时间变化曲线图
图6显示了3种协议在生存周期内,数据吞吐量随时间的变化(时间以轮次表示)。由图6中可知LEACH,SEP,LEACH-HC 3种协议在数据吞吐能力上差距明显。LEACH-HC协议的吞吐总量接近SEP吞吐总量的200%。传统LEACH协议对数据的传输能力最差。在0~1 000轮范围内LEACH-HC协议数据吞吐量近似于线性增长,而其他两种协议则早早滞缓了数据传输。
图6 Sink节点接受数据量图
本文在对应用于城市综合管廊的WSN深入研究的基础上,选用LEACH协议作为研究和改进的对象。针对城市综合管廊应用上的约束条件,提出了LEACH-HC协议。并且通过仿真实验和分析,对改进协议进行验证。仿真结果表明,本文提出的LEACH-HC协议能够有效延长网络的生存周期,提高Sink节点接收的数据总量,保证网络运行的完整性。