计算机应用   2016, Vol. 36 Issue (11): 3010-3015  DOI: 10.11772/j.issn.1001-9081.2016.11.3010
0

引用本文 

李双双, 杨文忠, 吴向前. 基于非均等分区的无线传感器网络路由协议[J]. 计算机应用, 2016, 36(11): 3010-3015.DOI: 10.11772/j.issn.1001-9081.2016.11.3010.
LI Shuangshuang, YANG Wenzhong, WU Xiangqian. Routing protocol based on unequal partition area for wireless sensor network[J]. Journal of Computer Applications, 2016, 36(11): 3010-3015. DOI: 10.11772/j.issn.1001-9081.2016.11.3010.

基金项目

国家自然科学基金资助项目(61262087,61262089);新疆高校教师科研基金资助项目(XJEDU2012I09);新疆大学博士毕业生科研基金资助项目(BS110127)

通信作者

杨文忠(1971-), 男, 河南南阳人, 副教授, 博士, 主要研究方向:无线传感器网络、舆情分析、信息安全,ywz_xy@163.com

作者简介

李双双(1992-), 女, 山东济宁人, 硕士研究生, 主要研究方向:无线传感器网络、路由协议、物联网;
吴向前(1960-), 男, 新疆乌鲁木齐人, 教授, 博士, 主要研究方向:物联网、人脸识别

文章历史

收稿日期:2016-05-19
修回日期:2016-07-14
基于非均等分区的无线传感器网络路由协议
李双双, 杨文忠, 吴向前    
新疆大学 信息科学与工程学院, 乌鲁木齐 830046
摘要: 针对无线传感器网络(WSN)存在簇头节点分布不合理以及节点负载不均形成的“热点”问题,提出了一种基于非均等分区的非均匀分簇路由协议(UAUC)。UAUC通过非均等分区对网络进行划分,并在每个区域中根据能量因子、距离因子以及密集程度因子选择合适的簇头节点。此外,在簇头节点之间构造一棵负载均衡路径树,解决数据传输时存在的“热点”问题。仿真实验中,与低功耗自适应集簇分层(LEACH)协议,分布式能量有效非均匀成簇(DEBUC)协议以及基于非均匀分簇的无线传感器网络分层路由协议(HRPNC)相比,UAUC协议的簇头节点分布更加合理;UAUC在生存周期上较LEACH协议,DEBUC协议与HRPNC协议分别提高了88%,12%与17.5%;UAUC的节点平均剩余能量高于LEACH协议,DEBUC协议和HRPNC协议,并且节点剩余能量方差小于LEACH协议,DEBUC协议和HRPNC协议;UAUC协议在数据包接收量上较LEACH协议,DEBUC协议和HRPNC协议提高了400%,87.5%与25%。实验结果表明,UAUC能够有效地提高能量效率和数据包接收量,均衡能量消耗,延长网络的生存周期。
关键词: 无线传感器网络    路由协议    分簇    多跳    能量有效    
Routing protocol based on unequal partition area for wireless sensor network
LI Shuangshuang, YANG Wenzhong, WU Xiangqian     
School of Information Science and Engineering, Xinjiang University, Urumqi Xinjiang 830046, China
Background: This work is partially supported by the National Natural Science Foundation of China (61262087, 61262089), the Teachers Research Fund of Xinjiang University(XJEDU2012I09), the Doctoral Graduate Research Fund of Xinjiang University(BS110127).
LI Shuangshuang, born in 1992, M. S. candidate. Her research interests include wireless sensor network, routing protocol, Internet of things.
YANG Wenzhong, born in 1971, Ph. D., associate professor. His research interests include wireless sensor network, sentiment analysis, information safety.
WU Xiangqian, born in 1960, Ph. D., professor. His research interests include Internet of things, face recognition, software development.
Abstract: Responding to the problem of the unreasonable distribution of cluster head nodes and "hot spots" caused by uneven load energy in Wireless Sensor Network (WSN), an Unequal partition Area Uneven Clustering routing protocol (UAUC) was proposed. The network was divided according to unequal partition area, and the appropriate cluster head nodes in each area were selected on the basis of the energy factor, the distance factor and the intensity factor. Meanwhile, a load balancing path tree was built between cluster head nodes to solve the problem of "hot spots" in data transmission. In the comparison experiments with LEACH (Low Energy Adaptive Clustering Hierarchy) protocol, DEBUC (Distributed Energy-Balanced Unequal Clustering routing) protocol and HRPNC (Hierarchical Routing Protocol based on Non-uniform Clustering) protocol, UAUC achieved more reasonable distribution of cluster head nodes. The network cycle of UAUC was increased than that of LEACH, DEBUC and HRPNC by 88%, 12% and 17.5% respectively. The average residual energy of UAUC was higher than LEACH, DEBUC and HRPNC. And the variance of node residual energy of UAUC was less than LEACH, DEBUC and HRPNC. What is more, the aggregate of data packet of UAUC was higher than that of LEACH, DEBUC and HRPNC by 400%, 87.5% and 17.5% respectively. The experimental results show that UAUC can effectively improve the energy efficiency and the aggregate of data packet, balance energy consumption and prolong the network lifetime.
Key words: Wireless Sensor Network (WSN)    routing protocol    clustering    multi-hop    energy efficient    
0 引言

无线传感器网络(Wireless Sensor Network, WSN)是由部署在监测区域内大量的传感器节点组成,通过无线通信方式,监测和收集区域内对象信息的多跳自组织网络系统。随着信息技术的发展,WSN在生物医疗、国防军事、环境检测、抢险救灾、城市管理、智能家居、工农业控制等领域有着广泛的应用前景。无线传感器网络最突出的特点是传感器节点能量有限且不可再生,所以在无线传感器网络中,降低网络能量消耗、延长网络生存周期是面临的重要挑战[1]

层次路由协议通过分簇在一定程度上延长了无线传感器网路的生存周期。其中低功耗自适应集簇分层(Low Energy Adaptive Clustering Hierarchy, LEACH)[2]协议通过随机选择一小部分节点作为簇头节点并采用周期轮换机制,但由于随机选择簇头节点导致簇头节点分布不合理。此外,在数据传输阶段,簇头节点与汇聚节点直接通信,导致簇头节点的能量消耗过快。吕涛等[3]通过引入簇成员数门限和合并极小簇的方法,避免存在极大簇和极小簇。文献[4]针对LEACH协议频繁地选择簇头节点消耗过多的能量提出了一种基于LEACH的簇头连任协议(cluster head Reappointment protocol based on LEACH,LEACH-R),有效地延长了网络的生存周期。

针对均匀分簇存在簇间能耗不均衡的问题,李成法等[5]提出了一个能量高效的非均匀分簇(Energy-Efficient Uneven Clustering, EEUC)算法。EEUC通过使用非均匀的竞争范围来构造大小不等的簇,使得靠近汇聚点的簇的规模小于远离汇聚点的簇,均衡了簇头节点的能量消耗。尚凤军等[6]提出了分布式能量有效非均匀成簇(Distributed Energy Efficient Unequal Clustering, DEEUC)算法,在选择簇头时,加入了平均能量因子平衡全网节点的剩余能量,并通过调节簇头竞争半径调节簇的大小,在一定程序上缓解了能耗不均衡的问题,但离基站比较近的簇头频繁转发其他簇头发送的数据包,因此消耗更多的能量,使得离基站近的簇头容易死亡,产生“热点”问题。蒋畅江等[7]提出了能量均衡的无线传感器网络非均匀分簇路由(Distributed Energy-Balanced Unequal Clustering routing, DEBUC)协议。DEBUC在选择簇头时,参考候选簇头的剩余能量和邻居节点的剩余能量,采用基于时间的簇头竞争算法,通过控制候选簇头的竞争范围, 使得距离基站较近的簇规模较小。数据传输时,簇头节点根据节点剩余能量、簇内通信代价和簇间通信代价, 在邻居簇头中选择中继节点作为下一跳; 但存在离基站较远的簇规模过大,节点能量消耗过多的问题。文献[8]中提出了能量有效的LEACH改进协议(Energy Efficient Extended LEACH, EEE LEACH)。EEE LEACH采取分层的思想,在簇头节点之间选取一些主簇头节点。簇内节点将数据发送给簇头节点,簇头节点将融合后的数据发送给距离最小的主簇头节点,主簇头节点将接收的数据包发送给汇聚节点。但是EEE LEACH存在主簇头节点选择不合理以及主簇头节点能量消耗过大的问题,影响网络的生存周期。黄廷辉等[9]提出了基于非均匀分簇的无线传感器网络分层路由协议(Hierarchical Routing Protocol based on Non-uniform Clustering, HRPNC)。HRPNC在分层的基础上改进了DEBUC协议的竞争半径,控制了节点竞争半径的范围,避免了大规模网络中离基站远的节点竞争半径过大的问题。在簇头选择时,HRPNC随机选择一些节点作为候选簇头节点,再依据节点竞争半径选择簇头节点,而节点的基准竞争半径取决于每层的面积和节点数目。由于HRPNC没有考虑节点的能量以及密集程度,存在簇头节点选择不合理的问题。

针对以上一些协议的不足,为了解决簇头节点选取不合理以及能量消耗不均的“热点”问题,本文提出了一个非均等分区的非均匀分簇路由协议(Unequal partition Area Uneven Clustering routing protocol, UAUC)。UAUC通过结合非均等分区以及综合考虑能量因子、距离因子以及密集程度因子选择簇头节点,使簇头节点分布更加合理。在数据传输时,通过构建合理的路径树,均衡节点之间的能量消耗,提高网络的生存周期。

1 网络与能耗模型 1.1 网络模型

本文假设无线传感器网络中所有节点随机分布在一个矩形区域内,网络模型具有以下性质:

1)节点随机均匀地分布在监测区域中。

2)基站位于监测区域底边中点处,且位置固定。

3)基站具有较强的计算能力、存储能力,且能量不受限制。

4)所有节点都具有唯一的标识(ID),能量受限。

5)节点可以通过计算得出当前的剩余能量。

6)节点不具有位置感知能力。

7)节点具有相同的通信能力。

1.2 能耗模型

本文采用与文献[2]中相同的无线通信能耗模型。如图 1所示,该模型考虑了无线传输中发射电路发射信号的能耗,功率放大器的能耗以及接收电路中接收信号的能耗。功率放大器的能耗与传输距离d有关:当d < d0时,采用自由空间模型; 当dd0时,采用多径衰减模型(d0是距离阈值,公式为d0=$\sqrt{{{\varepsilon }_{\text{ts}}}/{{\varepsilon }_{\text{mp}}}}$)。

图 1 能量消耗模型

因此当发送Lb数据且传输距离为d时,所消耗的能量为:

$ {{E}_{TX}}(L, d)=\left\{ \begin{align} &L{{E}_{\text{elec}}}+L{{\varepsilon }_{\text{fs}}}{{d}^{2}}, d<{{d}_{0}} \\ &L{{E}_{\text{elec}}}+L{{\varepsilon }_{\text{mp}}}{{d}^{4}}, d\ge {{d}_{0}} \\ \end{align} \right. $ (1)

其中:Eelec表示发射电路损耗的能量,εfs表示自由空间模型中功率放大所需的能量,εmp表示多径衰减模型中功率放大所需的能量。

节点接收Lb数据所消耗的能量为:

$ {{E}_{\text{RX}}}(L)={{E}_{\text{RX-elec}}}(L)=L{{E}_{\text{elec}}} $ (2)

分簇算法中采用数据融合算法可以减少数据的发送量,缓解数据冗余的问题。数据融合也需要消耗能量,本文用Eu表示融合Lb数据所消耗的能量。

$ {{E}_{u}}=L\cdot {{E}_{\text{DA}}} $ (3)

其中EDA表示融合一个1b数据所消耗的能量。

2 基于非均等分区的路由协议UAUC

本文提出的基于非均等分区的路由协议UAUC分成三个阶段:第一阶段,非均等分区阶段;第二阶段,选择簇头节点以及簇的形成阶段;第三阶段,数据传输阶段。

2.1 非均等分区阶段

UAUC协议首先对网络进行非均等分区。初始化建立一个矩形网络,基站位于矩形网络底边的中点处。基站与其对边中点的连线将矩形网络均分成大小相等的两部分。以基站为圆心,半径为Ri(i=1, 2, …)生成一系列圆Oi(i=1, 2, …),其中Ri满足条件:Ri=i·R1(i=1, 2, …)。圆Oi将矩形网络分成了k个区域,对每个区域标记区域号,用Ak表示。分区后的模型如图 2所示。

图 2 UAUC的分区模型图

设初始矩形网络边长为a,圆O1的半径R1=r,则以基站所在位置点为圆心,Ri为半径的圆Oi$\left\lceil a/r \right\rceil $个。那么区域数目k满足以下条件:

$ k=2\left\lceil a/r \right\rceil+2 $ (4)

设总节点数目为n,每个区域的节点数目为Ni(i=1, 2, …, k),则满足以下公式:

$ \sum\limits_{i=1}^{k}{{{N}_{i}}}=n $ (5)

设簇头节点数目为m个,其中区域i中簇头节点数目为Mi,则满足以下公式:

$ {{M}_{i}}=\left\lceil p\cdot {{N}_{i}} \right\rceil $ (6)

其中:p为区域中节点成为簇头节点的概率,经大量实验考证,本文取p=0.04时,效果最优。

$ \sum\limits_{i=1}^{k}{{{M}_{i}}}=m $ (7)

对于簇头节点数目m的最优取值,参考文献[10],总能量消耗函数如下:

$ \begin{align} &{{E}_{\text{Total}}}=L\cdot \left(2n\cdot {{E}_{\text{elec}}}+n\cdot {{E}_{\text{DA}}}+\right.\\ &\ \ \ \ \ \ \ \ \ \ \ \left.m\cdot {{\varepsilon }_{\text{amp}}}\cdot d_{\text{to-BS}}^{4}+n\cdot {{\varepsilon }_{\text{fs}}}\cdot d_{\text{to-CH}}^{\text{2}} \right)\\ \end{align} $ (8)

其中$d_{\text{to-CH}}^{\text{2}}=\frac{{{a}^{2}}}{2m\cdot \text{ }\!\!\pi\!\!\text{ }}$

通过使ETotalm求导等于0,得到最优簇头数目m的公式如下:

$ m=\frac{\sqrt{n}}{\sqrt{2\text{ }\!\!\pi\!\!\text{ }}}\cdot \sqrt{\frac{{{\varepsilon }_{\text{fs}}}}{{{\varepsilon }_{\text{mp}}}}}\cdot \frac{a}{d_{\text{to-BS}}^{\text{2}}} $ (9)

其中:a是矩形网络的边长,εfs表示自由空间模型中功率放大所需的能量,εmp表示多径衰减模型中功率放大所需的能量。

根据式(4)~(9),可确定参数r的最优取值。

2.2 簇头选择及簇形成阶段

经过非均等分区阶段后,整个网络被分成了k个区域,每个区域中的簇头节点数目由式(6)给出。在每个区域中,综合考虑能量、距离以及密集程度,合理地选择簇头节点。

定义1     能量因子${{E}_{i}}=\frac{{{E}_{i-\text{current}}}}{{{E}_{i-\text{initial}}}-{{E}_{i-\text{current}}}}$, 其中:Ei-current表示节点i的当前剩余能量,Ei-initial表示节点i的初始能量。

能量因子Ei表示节点i当前剩余能量与消耗能量的比值。节点i的能量因子Ei越大,则该节点当前剩余能量比较大且消耗能量比较少,更适合作簇头节点。

定义2    距离因子${{D}_{i}}=\frac{Ma{{x}_{\text{to-BS}}}-{{d}_{i-\text{BS}}}}{Ma{{x}_{\text{to-BS}}}-Mi{{n}_{\text{to-BS}}}}$,其中:di-BS表示节点i到基站BS的距离,Maxto-BS代表网络中节点到基站的最大距离,Minto-BS代表网络中节点到基站的最小距离。

节点距离因子Di越大,则该节点距离基站相对比较近,更适合作簇头节点。

定义3    密度因子Si=si/savg,其中:si表示节点i的邻居节点数目,savg代表了邻居节点数目的平均值。

密度因子Si代表了节点i的密集程度。

定义节点的权值公式如下:

$ valu{{e}_{i}}=\alpha \cdot {{E}_{i}}+\beta \cdot {{D}_{i}}+\gamma \cdot {{S}_{i}} $ (10)

其中:α、β、γ代表调节能量因子、距离因子和密度因子在选取簇头时的权重参数,且满足α+β+γ=1。αβ、γ的取值根据具体的网络可作调整。针对规模不是很大的网络,优先考虑节点的能量因子,本文在实验中取值为:α=0.5,β=0.3,γ=0.2。

根据式(6)和(10),每个区域中的节点计算自己的value值,在区域范围中广播数据包宣布自己的value值以及节点ID,权值value大的节点最终宣布成为簇头节点。UAUC算法在簇头选择时,综合考虑了节点的剩余能量、能量消耗速率、离基站的距离以及密度等因素,使得簇头选择更加合理,有利于延长网络的生命周期。簇头选择完成后,簇头节点广播数据包,宣布成为簇头节点。其他节点不考虑区域,直接根据接收信号的强度,选择离自己最近的簇头加入,实现跨区域成簇。

2.3 数据传输阶段

本文采用簇内单跳和簇间多跳的数据传输方式。簇内节点通过单跳的方式将数据发送给簇头节点,再由簇头节点将融合后的数据包多跳发送给基站。簇头节点和基站之间互发hello包,构建一个简单连通无向图G=(V, E)描述簇头节点和基站之间的关系图模型。其中图G的顶点集合Gv表示簇头节点和基站,边集合GE表示节点对称链路。根据图G,构建一棵路径树。

定义4    负载均衡度。根据图G=(V, E)生成的树T=(V, E′), E′⊆E,深度为N。树T的负载均衡度定义为${{W}_{T}}=\sum\limits_{i=1}^{N}{{{W}_{L}}(i)}$,其中${{W}_{L}}\left(i \right)=\underset{j=1}{\overset{{{n}_{i}}}{\mathop{\prod }}}\, {{t}_{ij}}/n$tij表示第i层中以第j个节点为根的子树中的节点个数,n表示网络中所有节点的数目。当$\underset{j=1}{\overset{{{n}_{i}}}{\mathop{\prod }}}\, {{\mathbf{t}}_{ij}}$越大时,tij相差越小,负载越均衡。所以,在节点通信范围内,选择合适的节点作为父节点,构建一棵负载均衡度大的路径树,对解决数据传输时的“热点”问题有着重要的意义。

路径树的构建流程如下:

步骤1   开始,节点初始化。

步骤2   簇头节点广播数据包,找到邻居节点,构造出关系图G

步骤3   根据关系图G,对节点进行分级。与基站可直接通信即图G中与基站Sink直接有边相连的节点定义为一级节点,与一级节点有边相连的节点定义为二级节点,依次确定所有节点的等级。

步骤4   以基站Sink为根,一级节点作为树的第一层节点,二级节点以一级节点作为父节点。当二级节点只与一个一级节点有边相连,则直接选择此一级节点作为父节点;否则在一级节点中选择使WL(i)最大的节点作为父节点,直到所有节点遍历完成。

步骤5  结束。

图 3为例,图 3(a)表示一个基站与簇头节点之间的关系图G,0号节点表示基站,1号节点到16号节点表示簇头节点。根据关系图G,可得到节点的等级数。一级节点为:1号节点、2号节点、3号节点和4号节点;二级节点为:5号节点、6号节点、8号节点、9号节点和10号节点;三级节点为:7号节点、11号节点、12号节点、14号节点、15号节点和16号节点;四级节点为:13号节点。一级节点作为路径树的第一层,二级节点作为路径树的第二层,依此类推。根据路径树的构建流程构造出一棵以基站为根节点的路径树,如图 3(b)所示。簇头节点依照构建出的路径树,将数据包发送给自己的父节点。

图 3 关系图与路径树的构建图
2.4 算法分析

UAUC先将网络进行非均等分区,对每个区域选出合适的簇头节点,其他节点不考虑所在区域直接选择离自己最近的簇头加入成簇。数据传输时,簇内节点将数据包发送给簇头节点,簇头节点将接收到的数据包进行融合,然后按照构建的路径树将数据包发送给自己的父节点,直到将数据包发送给基站。

为了避免簇头节点能量消耗过快死亡,UAUC采用簇头轮换机制。与LEACH协议不同,UAUC协议用区平均能量表示该区域中所有节点的平均能量。当有簇头节点的能量小于所在区域的区平均能量时,对该区域的簇头节点进行重新选取,重新计算该区域中节点的value值,选择value值最大的节点替换原来的节点作为新的簇头节点。避免每轮全部选取新的簇头所消耗的能量和代价。

UAUC的伪代码如下所示,其中:n(i).AreaNum代表节点n(i)所在的区域号, EnergyAvg(j)代表区域Aj的区平均能量,Nj表示区域Aj的节点数目。

ClusterHead selection algorithm

For every area Aj

    For every node n(i)

      If(n(i).AreaNum==Aj)

        Calculate value(i)according Eq(10);

      Else

        Continue

      End

    End

    Sort value(i), get the ClusterHead for the Aj;

End

Forming Cluster algorithm

For every ClusterHead(k)

    Broadcast ClusterHead-MSG(ID);

End

For every node n(i)

    If n(i)∉ClusterHead(k)

      Receiving all ClusterHead-MSG;

      Calculate Distance To ClusterHead d(i, k);

      Select the ClusterHead with min d(i, k);

      Add n(i)to ClusterHead(k)and broadcast the

        Join-ClusterHead-MSG(ID);

    End

End

Forwarding Message algorithm

For every node n(i)

      If n(i)∉ClusterHead(k)

        Forwarding(msg)to it’s ClusterHead(k);

      Else

        Receiving the msg and Data fusion;

        And Forwarding(msg)to parentNode in T;

      End

End

Cluster head rotation algorithm

For every area Aj

        $EnergyAvg(j)=\sum\limits_{i=1}^{{{N}_{j}}}{n(i).energy}/{{N}_{j}}$;

End

For every ClusterHead(k)

    If ClusterHead(k).Energy < EnergyAvg(j)

      Calculate value(i)in Aj according Eq(10);

      Select max value(i);

      ClusterHead(k)=ClusterHead(i);

    End

End

性质  UAUC的消息复杂度是O(n)。

证明  基站广播一个数据包,让所有节点计算到基站的距离;假设网络中有n个节点,则广播n个数据包,让所有节点计算密度因子。其中有k个节点被选作为簇头节点,簇头节点广播ClusterHead-MSG消息,宣布自己成为簇头节点。其余n-k个非簇头节点广播Join-ClusterHead-MSG消息,成簇。数据传输阶段,簇头节点广播一个数据包,确定自己的邻居节点。因此UAUC的消息复杂度是:1+n+k+(n-k)+k=2n+k+1, 因此UAUC的消息复杂度是O(n)。

3 仿真与实验

为了验证UAUC的性能,本文使用Matlab作为仿真工具,与经典的LEACH协议、DEBUC协议和HRPNC协议进行性能比较,从簇头节点分布、网络生存周期、节点剩余平均能量、节点剩余能量方差和数据包接收量等方面评估本文提出的UAUC协议的性能。实验参数设置如表 1所示。

表 1 仿真实验参数

在100m×100m的监测区域上随机部署200个节点,根据式(4)~(9),可得到参数r=20, 那么区域数目k=12。

图 4显示了LEACH协议、DEBUC协议、HRPNC协议和UAUC协议簇头节点分布对比情况,如图 4(a)所示,LEACH协议由于随机选择簇头节点,导致簇头节点分布不合理。如图 4(b)所示,DEBUC协议中竞争半径逐渐增大,使得离基站远的簇规模过大,尤其在规模比较大的网络中,容易出现极大簇,影响网络生存周期。如图 4(c)所示,HRPNC协议通过改进DEBUC协议的竞争半径,缓解了DEBUC协议中离基站远的簇规模过大的问题,但簇头节点的分布仍存在问题。图 4(d)显示了UAUC协议的簇头分布情况。UAUC协议通过对网络进行分区,在每个区域中选择合适的节点作为簇头节点,使得簇头节点分布更加合理。

图 4 4种协议簇头节点分布对比

图 5显示了4种算法存活节点数量的变化曲线。从图 5中可以看出,UAUC运行到约2 000轮时才出现第一个节点死亡,约4 200轮时,50%的节点死亡,直到4 700轮,节点完全死亡。UAUC算法的网络生存周期相对于LEACH算法、DEBUC算法与HRPNC算法分别提高了88%,12%与17.5%。DEBUC算法仅仅通过节点与基站之间的距离控制簇头节点的分布,而UAUC算法通过非均等分区以及综合考虑多个因素选择簇头节点,使得簇头节点比DEBUC簇头节点分布更加合理,因此提高了网络的生存周期。

图 5 存活节点数量的变化曲线

图 6显示了4种算法节点平均剩余能量的对比曲线。从图 6中可以看出,与LEACH算法、DEBUC算法和HRPNC算法相比,UAUC算法的节点剩余能量明显较高。DEBUC算法选择代价函数值最小的邻居节点作为下一跳,但中继节点并不进行数据融合而直接发送数据包,造成数据冗余。UAUC算法通过构建负载均衡路径树实现多跳传输并且进行数据融合,有效地提高了网络的能量效率。

图 6 节点平均剩余能量

图 7显示了4种算法节点剩余能量方差随轮数变化的对比曲线。从图 7中可以看出,LEACH协议的节点剩余能量方差最大,DEBUC协议与HRPNC协议的节点剩余能量方差较小,UAUC协议的剩余能量方差最小,且变化不大。表明UAUC协议通过构建合理的路径树实现多跳传输,有效地均衡了网络中节点能量消耗。

图 7 节点剩余能量方差

图 8显示了4种算法数据包接收量的对比曲线。从图 8中可以看出,随着仿真轮数的增加,存活节点数量减少,数据包接收量也随之减少。UAUC算法在数据包接收量上较LEACH协议,DEBUC协议以及HRPNC协议分别提高了400%,87.5%与25%。表明UAUC算法通过构建路径树有效地提高了数据包接收量。

图 8 数据包接收量
4 结语

针对簇头节点分布不合理和节点能量消耗不均衡的问题,本文提出了一个基于非均等分区的路由协议UAUC。通过非均等分区,综合考虑能量因子,距离因子和密集程度因子选择合适的簇头节点,并且基于负载均衡的路径树实现簇间多跳数据传输。通过仿真验证,UAUC算法使得簇头节点分布更加合理,提高能量效率和数据包接收量,均衡能量消耗,延长网络生存周期。但是UAUC协议假设网络中的节点一直不间断地向基站发送数据包,并且该算法在大规模无线传感器网络中性能有所下降。

在今后的工作中,考虑针对大规模无线传感器网络,加入节点睡眠机制,当节点不需要发送和接收数据包时,使节点进入睡眠状态,节约节点的能量消耗;当要发送和接收数据包时,结束睡眠状态,进入活跃状态。怎样制定合理的状态转换机制将是下一步工作。

参考文献
[1] 洪锋, 褚红伟, 金宗科, 等. 无线传感器网络应用系统最新进展综述[J]. 计算机研究与发展, 2010, 47 (S2) : 81-87. ( HONG F, CHU H W, JIN Z K, et al. Review of recent progress on wireless sensor network applications[J]. Computer Research and Development, 2010, 47 (S2) : 81-87. )
[2] HEINZELMAN W B, CHANDRAKASAN A P, BALAKRISHNAN H. An application-specific protocol architecture for wireless microsensor networks[J]. IEEE Transactions on Wireless Communications, 2002, 1 (4) : 660-670. doi: 10.1109/TWC.2002.804190
[3] 吕涛, 朱清新, 张路桥. 一种基于LEACH协议的改进算法[J]. 电子学报, 2011, 39 (6) : 1405-1409. ( LYU T, ZHU Q X, ZHANG L Q. An improved LEACH algorithm in wireless sensor network[J]. Acta Electronica Sinica, 2011, 39 (6) : 1405-1409. )
[4] LI Y Z, ZHANG A L, LIANG Y Z. Improvement of LEACH protocol for wireless sensor networks[C]//Proceedings of the 3rd International Conference on Instrumentation, Measurement, Computer, Communication and Control. Piscataway, NJ:IEEE, 2013:322-326.
[5] 李成法, 陈贵海, 叶懋, 等. 一种基于非均匀分簇的无线传感器网络路由协议[J]. 计算机学报, 2007, 30 (1) : 27-36. ( LI C F, CHEN G H, YE M, et al. An uneven cluster-based routing protocol for wireless sensor networks[J]. Chinese Journal of Computers, 2007, 30 (1) : 27-36. )
[6] 尚凤军, ABOLHASANM, WYSOCKIT. 无线传感器网络的分布式能量有效非均匀成簇算法[J]. 通信学报, 2009, 30 (10) : 34-43. ( SHANG F J, ABOLHASAN M, WYSOCKI T. Distributed energy efficient unequal clustering algorithm for wireless sensor networks[J]. Journal on Communications, 2009, 30 (10) : 34-43. )
[7] 蒋畅江, 石为人, 唐贤伦, 等. 能量均衡的无线传感器网络非均匀分簇路由协议[J]. 软件学报, 2013, 34 (5) : 1222-1232. ( JIANG C J, SHI W R, TANG X L, et al. Energy-balanced unequal clustering routing protocol for wireless sensor networks[J]. Journal of Software, 2013, 34 (5) : 1222-1232. )
[8] SHARMA M, SHARMA K. An Energy Efficient Extended LEACH (EEE LEACH)[C]//Proceedings of the 2012 International Conference on Communication Systems and Network Technologies. Piscataway, NJ:IEEE, 2012:377-382.
[9] 黄廷辉, 伊凯, 崔更申, 等. 基于非均匀分簇的无线传感器网络分层路由协议[J]. 计算机应用, 2016, 36 (1) : 66-71. ( HUANG T H, YI K, CUI G S, et al. Hierarchical routing protocol based on non-uniform clustering for wireless sensor network[J]. Journal of Computer Applications, 2016, 36 (1) : 66-71. )
[10] RAGHUVANSHI A S, TIWARI S, TRIPATHI R, et al. Optimal number of clusters in wireless sensor networks:an FCM approach[C]//Proceedings of the 2010 International Conference on International Conference on Computer and Communication Technology. Piscataway, NJ:IEEE, 2010:817-823.
[11] SALIM A, OSAMY W, KHEDR A M. IBLEACH:intra-balanced LEACH protocol for wireless sensor networks[J]. Wireless Networks, 2014, 20 (6) : 1515-1525. doi: 10.1007/s11276-014-0691-4
[12] LI B, WANG W J, YIN Q Y, et al. An energy-efficient geographic routing based on cooperative transmission in wireless sensor networks[J]. Sciece China Information Sciences, 2013, 56 (7) : 1-10.
[13] 孙彦清, 彭舰, 刘唐, 等. 基于动态分区的无线传感器网络非均匀成簇路由协议[J]. 通信学报, 2014, 35 (1) : 198-206. ( SUN Y Q, PENG J, LIU T, et al. Uneven clustering routing protocol based on dynamic partition for wireless sensor network[J]. Journal on Communications, 2014, 35 (1) : 198-206. )
[14] GNAWALI, OMPRAKASH, FONSECA, et al. Collection tree protocol[C]//Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems. New York:ACM, 2009:1-14.
[15] SALEEM F, MOEEN Y, BEHZAD M, et al. IDDR:improved density controlled divide-and-rule scheme for energy efficient routing in wireless sensor networks[J]. Procedia Computer Science, 2014, 34 (7) : 212-219.
[16] RAZA W, KHAN I, ARSHAD F, et al. THEEM:threshold-sensitive energy efficient multi-hop routing protocol for WSNs[C]//Proceedings of the 2014 Ninth International Conference on Broadband and Wireless Computing, Communication and Applications. Piscataway, NJ:IEEE, 2014:20-25.
[17] TUNCA C, ISIK S, DONMEZ M Y, et al. Ring routing:an energy-efficient routing protocol for wireless sensor networks with a mobile Sink[J]. IEEE Transactions on Mobile Computing, 2015, 14 (9) : 1947-1960. doi: 10.1109/TMC.2014.2366776
[18] PANT M, DEY B, NANDI S. A multihop routing protocol for wireless sensor network based on grid clustering[C]//Proceedings of the 2015 Applications and Innovations in Mobile Computing. Piscataway, NJ:IEEE, 2015:137-140.
[19] PEI E, HAN H Z, SUN Z H, et al. LEAUCH:low-energy adaptive uneven clustering hierarchy for cognitive radio sensor network[J]. EURASIP Journal on Wireless Communications & Networking, 2015, 2015 (1) : 122.
[20] 白乐强, 王玉涛. 基于非均匀分簇机制的ZigBee混合路由算法[J]. 计算机应用, 2016, 36 (1) : 81-86. ( BAI L Q, WANG Y T. ZigBee hybrid routing algorithm based on uneven clustering mechanism[J]. Journal of Computer Applications, 2016, 36 (1) : 81-86. )
[21] MAMMU A S K, UNAI H J, NEKANE S, et al. Cross-layer cluster-based energy-efficient protocol for wireless sensor networks[J]. Sensors, 2015, 15 (4) : 8314-8336. doi: 10.3390/s150408314