计算机系统应用  2018, Vol. 27 Issue (11): 174-179   PDF    
基于分簇的无线传感器网络编码算法
钟达夫1,3, 薛晶晶2, 唐懿芳1, 赵仕俊4     
1. 广东科学技术职业学院 计算机工程技术学院(软件学院), 珠海 519090;
2. 延安大学 物理与电子信息学院, 延安 716000;
3. 企业信息化与物联网测控技术四川省高校重点实验室, 自贡 643099;
4. 中国石油大学(华东) 信息与控制工程学院, 青岛 266580
摘要:通过均衡网络能量消耗和延长网络生命周期, 以提高无线传感器网络的能量利用率, 提出了在无线传感器网络动态成簇算法中对簇头节点进行网络编码的路由算法. 在簇的建立阶段, 采用节点剩余能量和接收信号强度来完成分簇, 解决了部分节点因能耗过度而过早失效的问题; 在数据采集阶段, 采用基于簇头进行随机线性网络编码的方法, 有效降低了传输到网关节点数据包的数量, 减少了网络能量的耗用. 仿真实验结果表明, 该算法与标准协议AODV相比, 有效的均衡了节点能量消耗, 提高了能量使用效率, 改善了网络吞吐量和端到端延迟.
关键词: 无线传感器网络    动态分簇    网络编码    网络生命周期    
Wireless Sensor Network Coding Algorithm Based on Clustering
ZHONG Da-fu1,3, XUE Jing-Jing2, TANG Yi-Fang1, ZHAO Shi-Jun4     
1. Computer Engineering Technical College (Software College), Guangdong Polytechnic of Science and Technology, Zhuhai 519090, China;
2. School of Physics and Electronic Information, Yan’an University, Yan’an 716000, China;
3. Key Laboratory of higher Education of Sichuan Province for Enterprise Informationalization and Internet of Things, Zigong 643099, China;
4. College of Information and Control Engineering, China University of Petroleum (East China), Qingdao 266580, China
Foundation item: Measurement and Control Technology of Enterprise Informatization and Internet of Things Key Laboratory Foundation of Universities of Sichuan Province (2016WYJ01); Scientific Research Project of Guangdong Polytechnic of Science and Technology (XJPY2016018)
Abstract: By the extension of network life cycle and the balance of network energy consumption, in order to improve the energy utilization rate of wireless sensor networks, we proposes a routing algorithm for network encoding of cluster head nodes in the dynamic clustering algorithm in wireless sensor network. In the stage of establishing a cluster, the residual energy of nodes and the received signal strength are used to complete clustering, solving the problem of premature failure of some nodes due to excessive energy consumption. In the stage of the data acquisition, the method of random linear network encoding based on cluster head effectively reduces the number of packets transmitted to the gateway node, and the cost of network energy. Simulation results show that compared with the standard protocol AODV, the proposed algorithm can effectively balance the node energy consumption, improve the energy efficiency, and improve the network throughput and end-to-end delay.
Key words: wireless sensor network     dynamicly clustering     network coding     network lifetime    

 

近几年来, 无线传感器网络(WSN)得到了广泛关注, 大量低成本的感知、处理器件以及有效的无线通信协议出现, 使得该项技术被应用在各个领域, 包括基础设施保护、工业检测和诊断、战场和环境监测、家庭自动化、智能办公、智能交通等[13]. 由于传感器节点体积较小, 所以携带的电池能量有限, 存储能力不足. 通常节点部署在人无法直接到达的恶劣环境, 无法给电池充电或者更换电池, 当电池能量耗尽, 这个节点就会“死亡”, 在一定程度上影响整个网络性能, 所以在设计算法时需要考虑能量使用效率从而提高网络性能, 并有效延长网络的使用寿命. 目前, 很多学者已经提出了最大化网络使用寿命的若干算法. 在多种方法中, 成簇机制能够有效节省节点能量, 减少能耗, 从而提高网络使用寿命[4,5].

组网过程中, 节点以成簇的方式被分成若干组[6], 每组包括簇头节点和簇内成员节点, 簇内成员节点负责数据的采集并转发给簇头节点, 并由网关节点转发到基站. 簇头节点负责数据的转发和融合, 因此比其他节点消耗更多的能量. 同时, 如果簇头在转发来自簇内成员节点的数据时不经过处理, 那么会消耗更多的能量. 因此, 本文中, 在选择簇头节点时将节点剩余能量考虑在内, 并使簇头节点对收到的信息进行网络编码, 从而优化网络吞吐量, 减少网络负载.

分簇算法和随机线性网络编码相结合, 可以实现对采样数据压缩的目的, 从而进一步节省网络能量消耗. 华国刚[7]于2005年提出将分布式信源编码应用于连状簇的方案, 沿着信号路径进行相关信源编码. Mounir[8]在2010年提出将分布式信源编码应用于多跳簇的方案, 同时给出了两种数据融合方式, 即沿着信号路径向前融合和向后融合. 但是这两种方案仅仅利用了两个相邻节点间的相关信息, 压缩效率较低, 解码比较复杂, 同时在簇的形成过程中没有考虑节点剩余能量. 针对上述不足, 本文尝试将随机线性网络编码应用到分簇的无线传感器网络中, 由此延长网络的生命周期, 均衡网络能量消耗.

1 随机线性网络编码原理

随机线性网络编码方法的核心思想是利用节点的运算能力, 在发送节点处用线性编码组合不同的信息包, 在接收节点处获得足够的线性编码组合后, 通过运算得到原始信息包, 其推广了网络编码理论的应用范围[9,10].

将传统传输和随机线性网络编码传输进行比较如图1所示, 无线节点B1需要发送信息包XYZ. 图1(a)表示了传统传输的情况, 发送节点逐一发送信息包XYZ; 图1(b)表示了随机线性网络编码传输的情况, 当节点具有编码能力, 可以选取随机参数编码组合α1X+α2Y+α3Zβ1X+β2Y+β3Zγ1X+γ2Y+γ3Z(其中的参数随机获得, 参数值写入编码包中发送), 广播逐一发送编码包, 接收节点接收到三个编码组合包后, 通过线性运算可以解出原始信息包XYZ完成信息传输.

图 1 传统方法和随机线性网络编码方法的信息传输比较

采用随机线性网络编码方法, 接收节点处理的问题从是否收到完整信息包, 转换为是否收到足够多的满足可解性条件的编码包. 通过研究发现[1113], 随机线性编码组合发送可以带来良好的吞吐量、鲁棒性、安全性等方面的增益, 为网络性能的改善提供了一种新的途径.

2 算法描述

基于簇的线性网络编码算法适用的网络拓扑结构如图2, 考虑基于簇的无线传感器网络, 网络中大量的节点在单位时间内采集的数据由簇头传输给网关节点. 从图2可以看出, 本文将网络分为两层. 第一层中节点被分成许多簇, 簇内成员节点发送数据给簇头节点. 第二层是簇头节点之间的通信, 将采集的信息传输给基站.

图 2 网络拓扑结构

本文提出的算法被分为两个阶段, 分别为簇形成阶段与数据采集阶段.

(1) 簇形成阶段: 簇头节点选择同时考虑节点自身ID和剩余能量. 在簇形成的开始阶段, 节点ID设为1, 2,…, n,节点将其ID存入节点区. 节点广播的消息中包含节点自身ID值和剩余能量, 在通信范围内的节点会收到该消息. 算法初始阶段, 节点剩余能量相同, 簇头选择按照ID值, 如果自身的ID值大于接收到节点的ID, 该节点就会广播簇头当选通告. 当一个采样周期结束后, 以节点剩余能量来选择, 如果自身的剩余能量大于接收到的节点的剩余能量, 就会广播簇头当选通告. 簇头选择好后, 该节点会发布相应的当选消息, 该消息包括自身ID值. 网络内的所有节点在时间Tw内收到簇头竞选通告. 时间Tw后, 如果一个节点只收到一个簇头竞选通告, 即MCH_advertise=1, 则该节点加入该簇, 成为簇内成员, 并向簇头发送连接消息. 如果一个节点接收到两个以上的簇头广播通告, 即MCH_advertise>1, 则该节点根据接收信号强度(RSSI), 选择接收信号强度最大簇头加入, 成为其簇内成员. 如果节点没收到任何簇头当选通告, 即MCH_advertise=0, 则该节点通告自己成为簇头并形成独立的簇.

(2) 数据采集阶段: 在数据采集阶段, 簇内的每个节点发送自己的数据包给簇头节点, 簇头完成相应数据包的网络编码. 簇头节点在它的缓冲区内采用随机线性网络编码对N个数据包进行编码, 然后广播编码完成后的数据包. 网络编码有许多优点: 减少传输能量、提高网络吞吐量.

当从簇内节点接收到n个原始数据包(M1, M2, M3,…, Mn)后, 在有限域F内随机均匀的选择一系列因子(g1, g2,…, gn), 然后簇头节点根据以下方程进行编码:

$P = \sum\limits_{i = 0}^n {{g_i}{M_i}} $ (1)

中间的簇头节点作为中继节点将数据包成功的传输到网关节点. 在接收到n个独立的编码数据包后, 在网关节点处通过线性方程被译码.

3 算法的仿真与结果分析 3.1 仿真设置

仿真实验采用NS2仿真平台, 主要仿真参数设置如表1.

表 1 仿真参数

在仿真过程中, 本文假定节点部署之后是静止的, 所有节点是同构的. 网关节点的位置固定且离整个网络较远, 数据经过簇头节点传输给网关节点. 数据源为CBR流, 分别为20、40、60、80、100.

网络节点采用随机分布方式进行布置, 100节点分布如图3所示.

图 3 网络节点分布图

3.2 仿真结果

为了验证和评估提出的算法, 将标准协议AODV(Ad hoc On-demand Distance Vector routing)[1416]和本文提出的算法在网络生命周期、分组投递率、网络延时方面做了比较, 图4显示了仿真时间内存活节点的总数, 存活节点为0时刻定义为网络的最大生存周期, 由图4可以看出, 本文提出的算法和AODV协议相比, 第一个节点死亡的时间和全部节点死亡都较晚, 体现了本文提出的算法不仅使节点能耗降低而且能量消耗更加均衡.

图 4 存活节点个数

分组投递率表示网络使用该协议能够支持的最大吞吐量, 详细刻画了协议的性能和正确性. 图5(a)(b)(c)分别反映了源节点发送数据包的速率分别为2、10、20个分组时, 两个协议在不同数量源节点时的分组投递率.

图5可以看出, 本文提出的算法分组投递率比AODV协议大, 分组发送率是2时, 结果不是很明显, 但是当分组发送率为10和20时, 本文算法的分组投递率远大于AODV协议. 这表明, 本文协议在处理大负载的数据包时, 丢包率更低, 网络稳定性、鲁棒性也较好.

仿真结果表明, 本文提出的协议网络能耗更加均衡, 有效延长了网络生命周期, 同时在分组投递率和端到端延迟方面性能都比较优, 而且更适用于大负载的无线网络环境中.

图6(a)图6(b)图6(c)分别反映了源节点发送数据包的速率分别为2、10、20个分组时, 两个协议源节点数量改变时端到端的延时图. 从图6可以看出, 当分组发送率为2时, 本文提出的算法在源节点数量为20~60时延迟大于AODV, 这是因为簇头节点将数据包保存在自己的缓冲区, 直到超过一定的数量才进行传输. 然而当源节点数量超过60时, 本文提出的协议明显优于AODV. 图6(b)图6(c)表明, 当源节点数量小于40时, 本文提出的协议和AODV协议性能相同, 但是当超过60后, 本文的协议明显优于AODV协议, 这表明, 本文的协议更适用于大负载的网络环境中.

图 5 分组投递率与源节点数的关系图

图 6 端到端延时与源节点个数关系图

4 结论

本文提出了基于簇的网络编码协议. 通过让簇头节点进行网络编码, 同时在选择簇头节点过程中, 考虑节点剩余能量, 从而均衡了网络能量消耗, 延长网络生命周期, 增加整个网络的吞吐量; 只有簇头节点进行网络编码并将数据包传输给网关节点, 这样能够节省簇内成员节点的能量消耗. 仿真结果表明本文提出的算法在延长网络生命周期, 均衡能量消耗, 分组投递率和端到端延迟方面明显优于AODV协议, 并且更适用于大负载的网络环境.

参考文献
[1]
Luo ZX. Overview of applications of wireless sensor networks. International Journal of Innovative Technology and Exploring Engineering, 2012, 1(4): 4-6.
[2]
Aqeel-ur-Rehman, Abbasi AZ, Islam N, et al. A review of wireless sensors and networks’ applications in agriculture. Computer Standards & Interfaces, 2014, 36(2): 263-270.
[3]
Kaur H, Prabahakar G. An advanced clustering scheme for wireless sensor networks using particle swarm optimization. Proceedings of the 2nd International Conference on Next Generation Computing Technologies. Dehradun, India. 2016. 387–392
[4]
Liu XX. A survey on clustering routing protocols in wireless sensor networks. Sensors, 2012, 12(8): 11113-11153. DOI:10.3390/s120811113
[5]
Pantazis N, Nikolidakis SA, Vergados DD. Energy-efficient routing protocols in wireless sensor networks: A survey. IEEE Communications Surveys & Tutorials, 2013, 15(2): 551-591.
[6]
Nikolidakis SA, Kandris D, Vergados DD, et al. Energy efficient routing in wireless sensor networks through balanced clustering. Algorithms, 2013, 6(1): 29-42. DOI:10.3390/a6010029
[7]
Hua GG, Chen CW. Distributed source coding in wireless sensor networks. Proceedings of the Second International Conference on Quality of Service in Heterogeneous Wired/Wireless Networks. Lake Vista, FL, USA. 2005. 6.
[8]
El-Shabrawy TO, Mounir NM. An energy-efficient framework for data aggregation in wireless sensor networks based on distributed source coding. Proceedings of 2010 International Computer Engineering Conference. Giza, Egypt. 2010. 56–61.
[9]
Rout RR, Ghosh SK. Enhancement of lifetime using duty cycle and network coding in wireless sensor networks. IEEE Transactions on Wireless Communications, 2013, 12(2): 656-667. DOI:10.1109/TWC.2012.111412.112124
[10]
郝静, 冯海林. 基于网络编码的无线传感器网络数据可靠性分析. 计算机应用研究, 2010, 27(11): 4260-4263.
[11]
Dawood MS, Aiswaryalakshmi R, Sikkandhar RA, et al. A review on energy efficient modulation and coding techniques for clustered wireless sensor networks. International Journal of Advanced Research in Computer Engineering & Technology, 2013, 2(2): 319-322.
[12]
仝杰, 杜治高, 钱德沛. 基于Inter-Flow网络编码的多Sink无线传感器网络Anycast路由. 计算机研究与发展, 2014, 51(1): 161-172.
[13]
司菁菁, 庄伯金, 蔡安妮. 基于网络编码的无线传感器网络生存时间最大化. 吉林大学学报(工学版), 2011, 41(3): 822-827.
[14]
Chakeres ID, Belding-Royer EM. AODV routing protocol implementation design. Proceedings of the 24th International Conference on Distributed Computing Systems Workshops. Tokyo, Japan. 2004. 698–703.
[15]
李琼, 张亮. 基于NS2的AODV路由协议仿真及分析. 计算机与现代化, 2012(7): 79-82. DOI:10.3969/j.issn.1006-2475.2012.07.022
[16]
李智明, 陈佳品, 李振波. 基于能耗优化的AODV路由协议. 传感器与微系统, 2012, 31(7): 42-44, 48. DOI:10.3969/j.issn.1000-9787.2012.07.013