作者简介:董颖(1971-),女,副教授,博士.研究方向:无线传感器网络.E-mail:dongying@jlu.edu.cn
为及时对可充电无线传感器网络中的“饥饿”节点补充能量,提出了一种基于预测的分簇低能量路径移动充电算法(CLP)。网络采用非均匀分簇的多跳路由协议,每个簇选取能量最低的节点作为簇头节点,移动充电车仅为簇头节点充电并收集簇内节点的能量信息。每次充电调度完成后,移动充电车将所收集的能量信息发送至基站,基站根据马尔科夫模型预测各簇内节点的能耗,以优化选取下一次的充电目标。仿真结果表明,采用CLP算法比旅行商问题(TSP)算法的网络效用提高约20%,数据传输能力提高约17%。
To timely complete the energy supply for the “hungry” sensors in Wireless Rechargeable Sensor Networks (WRSNs), a cluster and low-energy route mobile charging algorithm, called Clustering Low-energy access Prediction (CLP), is proposed based on energy prediction. The WRSN adopts the unequal clustering and multiple-hops routing protocol, and it chooses the node with the lowest energy in each cluster as the head node of that cluster. The mobile charger provides energy just for the cluster head nodes and collects the energy information of sensors of each cluster. After each round of the charging schedule, the mobile charger sends the energy message to the base station, and the base station adopts the Markov model to forecast the energy consumption of the sensors in each cluster in order to optimize the selection of charging target for next new charging schedule. Compared with TSP algorithm network, the results of the simulation show that CLP algorithm can improve the network utility by nearly 20%, and the ability of data transmission of nodes is increased by nearly 17%.
近年来, 无线传感器网络(Wireless sensor networks, WSNs)由于其优越的感知、计算和通信能力在环境检测、目标追踪、灾害救援等领域得到了迅速的发展[1]。传统WSNs中使用的是电池能量有限且不可补充的传感器节点, 以往的研究经常是通过改进能量路由协议[2]、MAC协议[3]或拓扑控制[4]等方法来降低节点的能耗, 并不能从根本上解决WSNs的能量问题。阻碍WSNs长期工作的首要因素依旧是由于大量节点能量耗尽而导致网络死亡。
为了弥补节点能量受限方面的缺憾, 各国研究学者采用了多种能量获取方案来实现对传感器节点能量的补充, 例如从太阳、风、潮汐和周围环境的无线电中获取能量等[5], 但是这些能量的获取方式不可人为控制, 而且较低的充电效率并不能保证网络的长期运行。2007年麻省理工学院的Kurs等[6]证明了磁耦合共振方式实现无线能量传输的可行性, 这为WSNs能量获取问题的解决带来一线曙光。伴随着无线能量传输技术的日益成熟, 越来越多的学者陆续加入到对可充电无线传感器网络(Wireless rechargeable sensor networks, WRSNs)的可行性研究中[7]。有学者提出可以利用移动充电车(Mobile charger, MC)以磁耦合共振的方式为部署在复杂环境下的传感器节点提供稳定且持续的能量供给, 来维持WRSNs的长时间运行[8]。由于网络内MC的充电能力往往受限, 一次充电调度中可携带的能量需要满足自身移动的能耗及对其他传感器节点无线充电的能耗之和, 充电任务需要权衡充电节点的个数和充电路径的长度, 因此合理地安排充电调度对提高MC的充电效率起着至关重要的作用。
目前, 大多数研究采用单MC的充电方案, 通过设计合理的充电调度来最大化网络效用或最小化充电代价。文献[9]采用一种基于能量循环再生的充电调度, 以最大化无线充电车(Wireless charging vehicle, WCV)在每个充电周期中的休息比例为目标, 并证明了最短哈密顿回路可作为WCV的最佳旅行路径。在此基础上, 作者进一步提出了联合优化问题, 通过约束每个节点的数据流量和充电时间对优化问题进行求解, 最终该问题被确定为NP难问题。文献[10]在能量补给设备兼任数据采集设备的情况下, 提出了一种基于时变动态拓扑模型的充电调度方案, 并在此基础上以最大化能量补给设备的驻站时间比为目标提出了最优化问题。Xie等[11]在蜂窝结构的充电网络中通过先离散化后线性化的数学方法, 联合优化了旅行路径、节点流量控制以及充电时间等问题, 并求解出最佳的调度安排。
此外, 可充电网络也可采用多MC同时充电的工作方式, 这些MC之间相互配合以实现最小化充电代价。文献[12]中首次提出了一种新的充电模式:协同移动充电。在一维的WRSNs中, 多个MC不仅可以为传感器节点充电, MC之间也可进行能量的传递。作者以最小化MC移动消耗的能量为目标, 证明了在固定数目的移动节点条件下, 协作式的充电方式可以覆盖更多的充电节点。文献[13]在文献[12]的实验基础上进一步构造了最小权重的哈密顿回路, 并将其应用到二维的WRSNs中。
在现有关于WRSNs充电调度的文献中, 一般MC在网络中周期性地按既定路径访问, 实现了最短的访问路径和较少的旅行时间。然而在动态监测网络中由于传感器节点工作状态不一致, 其能耗速率也不完全相同, 在规定路径上可能会访问到一些能量充足的节点, 这不仅加重了MC的充电任务, 也延长了能耗较快的节点的充电等待时间以及MC最终将能耗消息发送至基站的时延。本文为合理安排网络内的充电调度以实现最大化网络效用, 在每一次调度中只对最亟需能量的传感器节点充电, 提出一种基于预测的分簇低能量路径移动充电算法(Clustering low energy access prediction, CLP)。算法首先对整个WRSNs网络进行非均匀分簇, 同时选取网络中的“ 饥饿” 节点— — 能耗最快的簇头节点作为充电目标。之后, MC按节点能量从低到高的顺序依次对节点充电。最后, 在新的充电调度开始之前, 基站采用马尔科夫模型对MC充电离开之后节点的能耗做出预测, 并规划出新的充电路径。
图1为采用CLP算法的WRSNs网络结构图。网络内包括若干个可充电传感器节点, 负责从周围环境中采集并传输数据; 一个移动充电车MC, 为节点提供能量并收集节点的能量信息; 监测区域外有一个位置已知且固定的基站(Base station, BS), 作为网络中的sink节点负责管理所有节点产生的数据, 安排网络的充电调度以及对MC进行充电维护。
假设作为sink节点的BS能够准确地掌握网络中所有节点的位置信息, 每个传感器节点定期生成监测数据, 并以多跳方式发送数据至sink节点。为提高WRSNs中BS的管理效率, 网络采用非均匀分簇结构, 距离BS较近的簇的簇半径小, 包含的节点也较少; 距离BS较远的簇的簇半径大, 包含的节点也较多, 且每个簇内均以能量最低的节点作为簇头节点。
图2为CLP算法的工作流程图。在每一次充电调度开始之前, BS负责将所有簇的簇头节点按能量由低到高的顺序进行排序。MC从BS出发按照已规划好的充电路径遍历每个簇开展充电服务, 并在各个簇内收集节点的能量信息。当一次充电调度完成后, MC返回BS接受充电维护, 并将所收集到的能量信息发送至BS。为准确地找出下一次充电调度中的充电目标, BS采用马尔科夫模型预测MC离开充电节点后簇内各节点的能量消耗。BS根据MC提供的能量信息和各节点的预测能耗计算出下一次的充电规划路径, 并准备开始下一次充电。文中假设MC在新的调度开始时携带充足的能量, 可满足一次调度中的充电需求和自身消耗, 并且MC从基站出发前已获知待充电节点的位置信息和能量信息。
网络的分簇划分可以保证其能够高效地运行, 如图3所示, 但由于距离sink节点较近的簇头节点承担了更多的数据转发任务, 导致其能耗较快而形成“ 热区” , 非均匀分簇是解决“ 热区” 问题的有效途径[14]。非均匀分簇是指距离sink节点较近的簇的簇面积较小, 簇头节点承担较少的搜集数据任务; 相对而言, 距离sink节点较远簇的簇面积就相对较大, 可以承担较多的搜集数据任务。
本文中所采用的非均匀分簇过程如图3所示。网络中的节点采用分布式的竞争算法成簇, 首先依概率在网络中选出部分节点成为候选簇头节点, 参与竞争的普通节点成为簇头节点的概率为
2.1.1 簇半径的确定
在网络部署初期, sink节点以固定的功率向网络中所有的传感器节点广播信号; 各节点根据收到信号的强度计算出到sink节点的距离
节点
式中:
2.1.2 簇头节点的确定
在WRSNs中, 对簇头节点的选择至关重要, 它决定着节点的数据收集效率和网络的能量供给效率。每个候选簇头节点都需要维护一个邻簇头集合, 并在这个集合内根据当前各节点剩余能量的高低竞争选出最终的簇头节点, 候选簇头
在簇头的竞争算法中, 每个节点均以与
为提高网络能量的补充效率, 选举能量最低的候选簇头节点作为最终簇头节点(若簇内能量最低的节点有多个, 则优先选取
当簇头节点确定后, 未参加竞争的节点从睡眠状态苏醒, 竞争产生的簇头节点向全网广播其竞争获胜的消息, 普通节点选择簇内通信代价最小的簇头节点向其发送加入消息, 通知该簇头节点加入该簇。这样就实现了整个网络的非均匀分簇, 保证了离sink节点近的簇的簇半径小, 离sink节点远的簇的簇半径大。每个簇的簇头节点负责收集本簇内的数据, 并以多跳的形式发送数据至sink节点。
为保证充电时能量的供给效率, 每次都只为簇内能量最低的节点补充能量, 本文算法采用簇头轮换机制, 即MC到达某簇为其簇头节点充满能量之后, 该簇内开始簇头轮换, 选取当前能量最低的节点担任新的簇头。
2.1.3 簇间移动充电
当MC移动到某簇并为簇头节点充电时, 它在该簇的停留时间由待充电节点的初始能量、当前剩余能量和Friis能量传输方程决定。假设网络内的节点都具备相同的初始能量
式中:
当某簇的充电节点
为及时地对能量较低的“ 饥饿” 节点补充能量, 本文采用低能量路径访问机制来配合MC的簇间移动充电, 以完成每次的充电任务。
首先, 确定待充电节点的充电顺序。在每个已形成的簇内, 簇头节点作为能量最低的节点加入到MC的充电目标序列
其次, 确定充电路径。根据待充电节点的充电序列
式中:
待每一次的调度任务完成, MC携带收集的能量信息返回并汇报至BS, 此时网络内节点仍在工作并消耗能量, 此时BS所收到的能量信息并不准确。为了有效地找出下一次调度中的充电目标, 进而获取新的充电路径, 本文采用马尔科夫预测模型[16, 17]预测MC离开充电节点之后的节点能耗。
本文所建立的马尔科夫预测模型中利用马尔可夫链对传感器节点进行预测, 节点的不同工作状态对应马尔可夫链的不同状态。设节点有3种工作模式:
(1)感知模式:当节点处于感知模式的on状态时可以搜集周围环境数据; off状态时不搜集周围环境数据。
(2)通信模式:当节点处于通信模式的receiving状态时可以接收其他节点发送的数据; 处于sending状态时可以发送数据给其他节点; 处于off状态时既不发送数据也不接收数据。
(3)充电模式:当节点处于充电模式的on状态时对节点充电; off状态时不对节点充电。
网络中节点的工作状态如表1所示。当网络中的传感器节点并未开启感知模式时, 节点不会搜集周围环境中的数据, 此时处于X1状态即最低能耗的休眠状态; 当某些节点开启通信模式时, 负责转发或者接收来自其他节点的感知数据, 分别对应表1中的
假设网络中的每个节点都有
设
如果某节点处于状态
设
式中:
利用式(8), 每个传感器节点均可得出自己的能量消耗率
本文采用Matlab软件仿真验证了CLP算法的性能, 表2为网络环境的参数表。在100 m× 100 m的正方形仿真区域内随机布置100个传感器节点, 且不可移动, 所有节点具有相同的初始能量
实验中分别与EEUC算法和TSP算法[18]进行了网络效用和数据传输能力的对比分析; 同时深入探讨了CLP算法在几种不同规模网络中完成充电调度所需历经的时长和MC可以达到的充电效率。
3.2.1 网络效用
网络效用:表示经过一定的运行时间后, 当前网络总剩余能量占初始网络总能量的百分比。网络效用值越大表示网络的可利用率越高。
图4为网络效用对比图。从图4可见, EEUC算法在运行至900轮时节点全部死亡, 网络效用降低至0。TSP算法与CLP算法均未出现节点死亡情况, 且各自的网络效用均以较缓慢的速率下降。但是在CLP算法中由于采用了非均匀分簇结构和多跳的路由转发方式, 有效地平衡网络负载, 网络效用下降得更为缓慢; 同时, 在对充电节点的选择方面, BS采用马尔科夫能量预测模型, 保证了MC能够及时地为能量较少的节点充电, 减少了“ 饥饿” 的等待时间, 从而降低网络整体能量的消耗速率。与TSP算法相比, CLP算法的网络效用提高了约20%。
3.2.2 数据传输能力
数据传输能力是衡量网络能否长期有效运行的关键指标, 指sink节点随着时间变化所接收到的数据包的个数。图5为CLP和TSP的数据传输能力对比图。从图5可见, 在相同运行轮数的情况下, 采用CLP算法比TSP算法网络所接收数据包数提高约17%。这是由于在CLP算法中采用了簇头轮换机制和低能量路径充电机制, 及时为能量最低的簇头节点补充能量, 从而有效地提高了网络传输数据的能力。由于在WRSNs中采用了TSP算法和CLP算法, 节点的可充电特性保证了网络长时间的正常运行, 因此在上述两种充电网络内sink节点不断地接收来自各簇头节点多跳传输的数据, 即随着时间的增加, sink节点接收数据包的数量保持着线性增长。
3.2.3 充电调度时长
图6为3种不同网络环境下MC的充电调度时长对比。从图6可见, 随着网络规模的扩大, 网络内形成簇的数量开始增加, MC的充电任务也随之加重, 即需要访问更多的簇并为簇头节点补充能量, 因此完成一次充电调度需要的时间更长。当网络中有100个节点时, 至多需要约400 s完成一次充电调度, 最少也需要约210 s, 平均需要315 s。而当网络增加到150个节点, 一次调度的时长明显增加至890 s左右, 此时单MC完成整个网络的充电任务已显得力不从心。因此, 随着网络规模的扩大, 需要多MC才能完成充电调度。
3.2.4 充电效率
充电效率Q表示在一次充电调度中MC为网络内节点补充的总能量占其自身旅行消耗的能量与为网络补充的总能量之和的百分比。Q值越大, MC的充电效率越高。
式中:
图7为在3种网络环境下MC的充电效率对比图。从图中可见随着网络规模的不断扩大, MC的Q值越小, 这是因为在大规模的网络中MC需要访问更多的簇头节点为其补充能量, 但是由于充电路径的延长而导致MC自身的能耗也在不断增加, 因而降低了MC的充电效率。在100个节点的充电网络中, Q值最高约为67%, 最低约为61%, 平均可达到的充电效率Q为65%。这也说明, 随着网络规模的增大, BS需要分配更多的MC为节点补充能量。
本文提出了一种适用于WRSNs的移动充电算法CLP, 通过采用网络非均匀分簇、低能量路径选择和节点能耗预测等方法为单MC分配合理的充电调度。为评价CLP算法的性能, 分别与TSP算法和EEUC算法进行了对比仿真实验。实验结果表明, CLP算法比TSP算法的网络效用提高约20%, 数据传输能力提高约17%。同时也对不同网络规模下的CLP算法作出分析, 当节点数量增加至150个时, 完成一次充电调度所需时长明显增加、其相应的充电效率也显著下降, 说明单MC不能满足较大规模网络的充电需求。下一步将展开对多MC充电调度的研究。
The authors have declared that no competing interests exist.
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|
[15] |
|
[16] |
|
[17] |
|
[18] |
|