基于能量采集的管道物联网路由优化算法
2021-04-22霍卓苗钟晓曦孙振兴
刘 苗, 姚 荣, 霍卓苗, 钟晓曦, 孙振兴,3
(1. 东北石油大学秦皇岛校区 电气信息工程系, 河北 秦皇岛 066004; 2. 东北石油大学 物理与电子工程学院, 黑龙江 大庆 163318; 3. 东北大学 计算机科学与工程学院, 沈阳 110006)
0 引 言
近年来, 随着中国经济的快速发展, 国家的基础设施建设工程需求不断增加, 例如公路、 桥梁以及输水管道工程等。然而, 由于桥梁、 公路以及管道分布广泛, 而对部署在偏远地区的, 维护人员需要耗费大量的人力成本才能进行有效的管理和维护[1-2]。因此, 监测通信网络成为解决上述问题的有效解决方案, 能预警预防在道路、 桥梁以及管道上出现的各种险情。由于无线传感器网络(WSN: Wireless Sensor Network)具有低成本, 高灵活性等特点, 在公路、 桥梁以及管道等线性场景监测领域具有巨大的应用价值[3]。
然而, 无线传感器网络还存在很多亟待解决的问题, 例如能量、 网络时效性等关键性问题。认知无线电(CR: Cognitive Radio)是基于时空维度频谱可用性管理和配置其传输参数的最好候选技术。认知无线电在保证授权用户(主用户)频带不受非授权用户(次用户)干扰的条件下, 通过允许非授权用户共享授权用户频带可使非授权用户获得新的频谱资源[4-6]。因此考虑引入认知无线电技术优化油气管道无线传感器网络性能。但在无线传感器网络中, 网络节点大多通过电池供电, 因此能量限制始终是制约无线传感器网络的关键因素[7]。为解决上述问题, 有人提出利用新兴的无线能量采集技术, 即网络节点具有无线采集外部能量, 如风能、 太阳能和射频能等, 将其转化为自身可用的能量进行存储或直接使用, 从而延长网络节点的使用寿命[8]。
针对无线信道的广播、 时变、 丢失特性以及确定性路由策略的不足, Biswas等[9]在2004年首先提出机会性路由的概念。随后提出了基于端对端最短路径的机会路由协议, 例如ExOR(Extremely Opportunistic Routing)[10]和SOAR(Simple Opportunistic Adaptive Routing )[11]等。这类基于端对端最短路径路由协议的基本思想是采用Dijkstra最短路径计算方法, 计算出相邻节点的ETX值, 即期望传输次数, 并以此作为判断标准, 采用不同的方法利用ETX值得出周围相邻节点转发数据的优先级提高转发数据的成功率, 这类节点在网络端对端延时方面有不错的优化效果, 但没有考虑网络的能量效率。然后提出根据地理位置信息进行机会性路由的方法, 这类协议有DTRP(Directed Transmission Routing Protocol)[12]、 LinGo(Cross-layer Link Quality and Geographical-aware Opportunistic Routing)[13]以及COR(Context-aware Opportunistic Routing)[14]等, 这类协议是通过网络中节点的地理位置减少对传感器网络的基础设施的需求。
最近几年人们还通过利用能量采集技术改善无线传感器网络的寿命问题。Cao等[15]提出了HER(Energy Harvesting Routing)协议, 该方案中采用了无线能量采集技术延长网络寿命, 即在选择下一跳转发节点时是通过节点当前剩余能量以及节点无线能量采集率为标准, 根据此方案能有效增加网络的使用寿命。然而, HER协议却只考虑了一跳之间的传输延迟, 没有对总体上端对端延时进行处理, 这导致在线性传感器网络中继跳数过多, 增加端对端延时, 并且增加了网络能量消耗。Tang等[16]提出了EHPRP(Physarum-inspired Routing Protocol for Energy Harvesting)协议, 该协议是利用生物仿真的优化模式, 实现延长网络使用寿命。然而, EHPRP协议算法复杂度较高并且没有对网络端对端延时进行处理。
笔者提出的基于能量采集路由算法是针对油气管道物联网的实际应用需求, 基于对网络寿命以及端对延时等优化的思想, 将节点剩余能量、 源节点与候选转发节点的距离以及能量采集率作为优化目标, 既保证了网络的性能、 延长寿命, 又减少数据传输泛洪以及端对端延时。
1 系统模型
线性管道大部分铺设在环境较恶劣的区域。首先设定在线性管道物联网中的节点都是在人难以到达的环境中部署多跳无线网络, 将网络中所有节点进行单独编号k(k∈S), 其中S表示网络中节点总数, 并且每个节点传输距离在[1~60 m], 认为在节点传输距离范围内传输可以和任意网络中节点建立直接通信链路。此外, 认定网络中节点具有在接受和发送数据的同时采集能量的能力, 可以随时补充节点能量。在每条链路上都具有不同的加权值, 表示节点间链路成功传输的概率, 并且由于信道衰减以及噪音干扰等原因, 成功传输的概率是可能发生变化的, 但在本文中假设每条链路成功发送的概率是随节点间传输距离D以及信道衰减系数α而改变。
首先定义在网络初始化时, 网络中节点保持初始电量E0, 且各个节点能量采集率大小ρ在0.2~0.5之间均匀分布, 并且认为在一跳之间一次传输采集时间为固定时间T, 无论传输成功与否, 即当节点传输N次后成功发送, 则消耗的时间为NT, 能量发射节点发送的功率固定为Pe。利用Friis等式可在规定时间内计算出采集的能量如下
(1)
其中EH为采集节点在采集时间T内采集能量,Pe为RF能量发射器发送功率,Kr和Kt分别为发射器天线与采集传感器节点天线增益,dr,t为采集节点天线与发射器天线之间的传输距离,δ为发射器发送RF信号波长,υ为路径损失指数,β为采集节点的采集效率。
由于笔者研究的重点不在于能量采集优化, 因此将式(1)简化为单跳传输期间, 节点i采集的能量EH可以表示为
EHi=ρiPeNT
(2)
参与通信的节点分为两种: 一种是源节点, 主要是根据候选转发节点的信息挑选最适合的候选节点进行转发数据, 并向被选中的节点传输数据; 另一种是候选转发节点, 这类节点是根据源节点的位置信息、 自身的剩余能量水平以及自身位置信息生成的, 在生成候选转发节点集后, 向源节点发送自己的转发优先级, 最终发送节点选择优先级最大的节点转发数据。
源节点在传输中的通信过程为: 当有数据需要被发送时, 向周围节点广播准备发送(RTS: Ready to Send)信息, 信息内容包括当前节点到目标节点的距离ds以及目标节点的位置, 等待周围单跳范围内节点的CTS(Clear to Send)信息回复, 从而确定候选转发节点的信息, 在CTS信息中包括节点的地理位置、 节点当前剩余能量ERi、 以及距离汇聚节点的距离Di。最后选择源节点计算各个节点优先级, 并选择优先级最高的节点发送信息, 当候选节点中有节点接收转发数据后, 会发送确认(ACK)信息, 表示成功接收数据。发送节点接收ACK信息后确定完成转发任务。源节点i能量消耗公式以及传输m字节消耗的能量计算表达式如下
Esci=LEsend+ESt+EAr+SECr+EHi
(3)
其中Esci为单跳传输成功时源节点的能量消耗,L为数据成功传输时源节点重复发送数据的次数,Esend为发送节点单次发送数据的能量消耗,ESt为源节点发送RTS信息的能量消耗,EAr为接收ACK消息时消耗的能量,S为候选转发节点的总数,ECr为源节点接收CTS消息消耗的能量。
候选转发节点能根据不同的能量消耗模式分为2种。第1种是真正接收并转发数据的候选节点, 这类节点在接收到源节点的RTS信息后, 结合当前自身信息自动被选中为候选节点, 并且开始向源节点发送CTS信息, 被源节点确定为最高优先级候选节点后, 开始接收转发数据, 成功接收后向周围广播ACK信息, 完成接收数据过程。
对被选中转发数据的转发节点j能量消耗计算如下
Eccj=Er+ESr+ECt+EAr+EAt+EHj
(4)
其中Eccj为被选中的转发节点能量消耗总和,ESr为接收RTS消息消耗的能量,ECt为发送CTS消息的能量消耗,EAt为发送ACK消息的能量消耗,EAr为接收ACK消息时消耗的能量。通过式(4)可知在完整的发送过程中转发节点的能量消耗。
第2种候选转发节点类型为没有接收数据的候选转发节点, 此类节点的通信过程为首先接收发送节点的RTS信息, 结合自身信息自动被选中为候选节点, 被选中后会向发送节点发送CTS信息, 并自动转换为候选转发节点模式不接收其他节点发送的RTS信息等待源节点传输数据, 当接收到ACK信息后, 结束自身候选转发节点模式, 等待接收其他源节点的RTS信息。
没有被选中的转发节点k的能量消耗计算如下
EcNk=ESr+ECt+EAr+EHk
(5)
其中EcNk为未被选中但接收转发数据的候选节点在转发过程中的能量消耗,Er为接收转发数据消耗的能量,ESr为接收RTS消息消耗的能量。
至此, 在一次完整的发送过程中各个位置节点的能量消耗确定, 通过这个模型可以确定在每次传输数据后节点的剩余能量。
网络中一旦节点需要发送数据包, 就需要向周围的节点发送RTS探测包, 探测包中包含当前节点到目标节点的距离Ds以及目标节点的位置。对接收到RTS探测包的节点在需要判断自身是否具有转发数据所需具备的条件, 判断自身是否适合转发的参数主要有两类: 一是自身的剩余能量ERi; 二是自身距离目标节点的距离Di。为了保证数据向目标节点传输, 规定Di 这里所需的最小能量ET是由数据发送过程中发送节点的最多发送次数决定的, 因此由 ET=0.8ΩEsend+Ecc (6) 计算得到。式(6)由两部分组成, 第1部分为假设被选中后转发数据可能消耗的能量, 其中Ω为在通信过程中发送节点在发送数据包的最大次数; 第2部分为在本次传输数据过程中作为转发节点所消耗的能量。 满足上述要求的节点向准备发送数据的节点发送一个CTS包, 其中包含节点的地理位置、 节点当前剩余能量ERi以及距离汇聚节点的距离Di。并且不再接受其他节点发送的RTS消息, 以此保证节点不会被多个节点选中作为预备的转发节点。 发送节点在接收到各个备选转发节点回复的CTS消息后, 通过备选转发节点的信息, 将节点剩余能量以及节点距离汇聚节点的距离进行归一化处理, 如下 (7) (8) (9) 其中Pi为候选节点i的转发优先级,ω1和ω2分别为节点与源节点的距离和节点当前剩余能量的调节常数, 其作用是为了调节二者在优先级中所占比例。 图1 候选节点选择流程图Fig.1 Flowchart of candidate node selection algorithm 传统的发送策略是在源节点向优先级最高的候选转发节点进行传输, 当传输多次失败后, 源节点会认定发送失败, 源节点重复候选转发过程, 这不仅大大延长传输时间, 还会增加节点的能量消耗。因此, 笔者采用了一种新的发送方法, 描述如下: 1) 首先在发送前确定最多发送次数Ω, 表示源节点在发送数据Ω次后, 还是无法将数据成功发送, 源节点将认定该转发节点当前不能完成数据的转发任务, 转而向优先级第2高的节点进行传输, 重复上述操作直到发送成功; 2) 根据不同节点优先级以及发送节点最大传输次数Ω, 计算发送节点向每个预备节点转发数据的次数。候选转发节点集选择算法如图1所示。 当节点在网络中进行数据传输时, 通信过程如下: 1) 当节点向周围单跳范围内节点广播RTS信息时, 其中包括了自身节点位置以及自身到汇聚节点的距离, 然后等待周围节点回复; 2) 周围单跳节点在接收到RTS信息后, 开始判断自身是否能进行数据转发, 如符合候选转发节点标准, 则向源节点发送CTS信息, 其内容包括自身节点位置以及当前剩余能量, 并自动进入候选转发节点模式等待接收数据, 否则不用做出任何回复; 3) 源节点在接收到各个转发节点的CTS信息后, 根据式(12)计算出各个候选转发节点的优先级, 并根据自身剩余能量分配出各个节点的最大传输次数Nmaxi, 向优先级最高的候选转发节点发送数据, 直到接收到ACK信息或达到最大传输次数后丢弃数据包。 为了验证笔者提出的路由算法的有效性, 采用Matlab 2018a版本作为仿真平台, 对提出协议的网络性能进行评估。将网络搭建在长300 m, 宽10 m的区域内。所有节点都处于每个面积为1×1 m2小格的节点上, 保证每个节点的坐标已知。建立坐标系, 令区域左下角顶点为原点, 由于管道上传感器节点是按照一定间距分布, 因此, 笔者中节点横向每隔am部署一个中继节点, 间距a随着中继节点数量变化而变化,a=n/300, 其中n表示中继节点数量, 而节点纵向坐标随机分布在0~10之间。发送节点坐标位于(300,5), 汇聚节点坐标(0,5)。 图2 平均端对端延时比较Fig.2 Average end-to-end delay comparison on end-to-end delay of network 图3 网络寿命比较Fig.3 Comparision of network life 笔者提出的路由算法, ExOR协议、 RE-OR协议以及HER协议, 进行平均端对端延时的对比试验, 在相同的中继节点数量的情况下, 随着传输距离的增加, 对比各个协议平均端对端延时的变化趋势。通过单项实验结果, 本次试验的中继节点数量设置为40。各个路由协议端对端延时随节点传输距离仿真结果如图2所示。从图2可以看出, 笔者提出算法在端对端延时方面, 除了略高于ExOR协议外, 其他几种协议的端对端延时均高于笔者提出算法。在节点传输距离为50 m时, REOR协议端对端延时较笔者提出算法延时高230%, 这是由于REOR协议中在选择下一跳传输节点时并没有考虑候选传输节点距离源节点距离。而EHR协议在对候选传输节点选择策略上与REOR协议基本一致, 不同的是EHR协议具有无线能量采集功能, 所以在选择候选转发节点时考虑了节点能量采集速率。因此EHR协议的端对端延时比REOR协议低90%。但同样, 由于在候选转发节点选择中没有考虑距离问题, 所以HER协议比笔者提出算法高73%。对ExOR协议由于在候选转发节点的选择中仅仅考虑距离汇聚节点的距离, 因而其端对端延时最低。因此, 实验表明笔者提出方案在候选节点的选择中兼顾节点剩余能量以及节点到汇聚节点之间的距离, 其端对端延时仅略高于ExOR协议, 而远低于REOR和HER协议。 笔者还对各个路由协议下的网络寿命进行了比较, 实验是在相同的中继节点数量的情况下, 随着传输距离的增加, 给出不同协议的网络寿命的变化趋势。本实验选定中继节点数为40。 各个路由协议网络寿命随着节点传输距离的仿真结果如图3所示。从图3可知, 当节点数为40时, 各个路由协议网络寿命随着节点传输距离增加而减少, 并且笔者提出方案的网络寿命高于其他协议网络寿命。此外, 随着节点传输距离的增加, 各个协议之间的寿命逐渐接近。为了清晰反映各个节点寿命, 选择节点传输距离为40 m时进行对比, 结果表明, 笔者提出方案的网络寿命比HER协议高29%, 比ExOR协议高52%, 比REOR协议高72%。从上述实验可知, 笔者提出方案在网络寿命方面, 不管传输距离怎么变化, 都高于其他三类路由协议。 笔者结合无线能量采集技术, 针对油气管道无线传感器网络特殊的地理位置特点以及油气管道物联网无线传感器网络节点的线性拓扑部署, 提出低能耗路由算法, 目的在于延长无线传感器网络使用寿命以及减少数据端对端延时, 提高网络系统实时性。下一步, 笔者将尝试对无线能量采集方案进行优化, 从节点能量开源方面增加网络节点寿命, 将不同采集率节点分类处理, 从源头上解决无线传感器大规模更换的难题, 提高管道、 桥梁以及公路维护人员的检修效率。2 基于能量采集的管道物联网路由优化算法
2.1 发送数据策略
2.2 通信过程
3 实验设计及分析
3.1 平均端对端延时比较
3.2 平均网络寿命比较
4 结 语