一种无线传感器网络中单对多移动能量补充方法
技术领域
本发明涉及一种无线传感器网络中单对多移动能量补充方法,属于无线可充电传感器网络技术领域,适用于节点较多的场景。
背景技术
由传感器节点和移动的充电装置组成的无线可充电传感器网络存在巨大潜力,为众多应用提供了多样化的服务,如商业中的监视和控制系统,天气监测,医疗健康系统监测和战场监视等。在这些系统中,大量廉价的传感器被部署在检测领域来感测环境和接收数据信息。
由于传感器节点通常部署在恶劣的环境中,其所能携带的电池能量是十分有限的,在耗尽能量时不能及时充电或更换电池,这将导致网络无法正常运行降低了网络生存周期。要想无线传感器网络在没人干涉的情况下运行很长时间,如何高效地为当前能量不足的节点补充能量就成为当前无线传感器研究的一个重要领域。
在当前研究阶段,无线能量补充技术在最近几年得到了很大的发展,从移动充电的范围来分,现有的研究可以分为两类,一个是单对单的充电方法,另一个是单对多的充电方法。对于单对单充电方法,这类工作通常将充电路径规划转换成变种的TSP问题(traveling salesman problem)或DVRP问题(distance-constrained vehicle routingproblem),再利用已有的方案来解决相应的问题。学者Dai考虑传感器节点的能耗动态变化的情况,采用一个单对单充电的MC为网络充电。由于MC的充电能力有限,因此在每一轮充电调度中无法满足所有传感器节点的充电需求,从而提出最大化充电吞吐量(chargingthroughput)的问题,即在每一轮为尽可能多的传感器节点充电。文章提出一个离线算法和一个在线算法,在MC充电能力的约束下选择为哪些传感器节点充电,最后采用基于最小支撑树的启发式TSP解法确定MC 的充电路径。对于单对多充电方法,其中学者melike考虑了无线充电技术在智能电网中的应用,采用成簇的方法在簇内设置地标,移动能量补充装置MC移动到地标的位置为簇内的所有节点同时充电,并使用优化模型得到最少的地标数。学者tong假设网络包含若干个站点, 每个站点可以部署一个或多个可充电传感器节点,MC可以为一个站点的所有传感器节点同时充电,每个传感器节点有多个传输能级,对应不同的通信距离。文章的目标是如何将一定数量的传感器节点分配到各个站点,对于每个站点的传感器节点,怎样决定其下一跳路由及相应的传输能级,使得所有节点产生的数据都能送达基站节点,并且充电效率最高。为解决这个问题,文章提出采用一种迭代的方式,每次迭代构造最小能量负载集中的路由树,决定每个站点中传感器节点的路由策略。然后将给定的传感器节点放置到这些站点中去,评估优化目标值,直到相邻两次迭代的结果变化小于一定阈值。在传感器节点布置较为密集的场景中,显然使用第二种技术更为合适。当前已经有了很多单对多充电的方法,但是大多数方法都是先对节点分类,再周期性遍历所有的节点。由于环境的多样性导致事件发生是随机的,每个传感器节点的能耗速率都不一样,使用周期性的充电方法不能及时的给需要充电的节点充电。如何有效的避免节点因能量耗尽而失效是无线充电技术最为关注的问题。也是衡量无线充电计划是否合适的最好指标之一。因为节点的失效不仅导致节点自身的数据丢失,而且会造成经过该节点的数据传输路径中断,甚至造成网络分割的严重后果。
发明内容
本发明要解决的技术问题是提供一种无线传感器网络中单对多移动能量补充方法,主要目的在于确定网络中节点的充电优先级,本发明提出首先对所有提出充电请求的节点分类成簇,为优先级最大的簇进行充电,避免了节点因能量耗尽而死亡,提高了充电效率,从而延长了网络生存时间。
本发明采用的技术方案是:一种无线传感器网络中单对多移动能量补充方法,包括如下步骤:
Step1、建立一个无线可充电传感器网络模型:在一定的监测区域内随机地部署50~300 个传感器节点,一个移动能量补充装置以及对应的基站;Si表示传感器节点构成的集合,其中下标i表示第i个传感器节点;每个传感器节点自身携带的电池容量为Einit,维持第i个传感器节点生存能量阈值为ETi,能量消耗周期为ECi;初始时Si(flag(i)=0,mark(i)=-1),基站位于监测区域的中间位置,用于收集传感器节点的信息以及与移动能量补充装置MC进行通信;移动能量补充装置MC的电池容量为E,移动速度为V(m/s);
Step2、根据无线可充电传感器网络节点信息创建一棵B+树,将所有能量低于阈值的节点插入到B+树中,对所有的节点进行分类成簇;
Step3、根据以上方法建立一棵B+树,得到多个节点簇,通过使用簇内节点的剩余能量以及移动能量补充装置MC与簇中心的距离信息计算各个簇的虚拟力大小,为虚拟力最大的簇优先服务,移动能量补充装置MC移动到簇内,利用簇内节点与移动能量补充装置MC的虚拟力,移动能量补充装置MC会移动到各节点虚拟力受力平衡的位置,并对簇内所有节点进行能量补充;
Step4、当有节点充电完成以后,移动能量补充装置MC将会在剩下的节点的力的作用下,移动到新的受力平衡的位置,并继续充电,直到簇内的所有的节点能量被补充完成;将充完电的簇从B+树中删除,再移动到下一个簇,直到B+树中所有的节点被删除。
所述Step2的具体步骤如下:
Step2.1、网络中传感器节点检测自身电量,当电量低于预设的阈值的时,将向移动能量补充装置MC提出充电请求,充电请求包含传感器节点的剩余能量以及传感器节点的位置,移动能量补充装置MC将充电请求存放在服务池中,并将第一个请求充电的传感器节点当成一个簇A,加入到B+树的根节点中;
Step2.2、继续读入第二个传感器节点,如果发现这个传感器节点和第一个传感器节点在半径为T的圆的范围内,也就是说,他们属于同一个簇,则将第二个点也加入簇A,同时需要更新簇A中的节点的个数,此时A的节点个数N=2;
Step2.3、继续读入第三个传感器节点,需要判断当前的新节点加入到簇A中,是否会造成簇A的半径小于T,如果小于T则可以加入到簇A中,大于则不能加入,如果大于说明这个节点不能融入刚才前面的节点形成的圆内,即为此时需要建立一个新的簇B,来容纳这个新的传感器节点,此时的根节点有两个簇A和B;
Step2.4、当第四个节点加入的时候,如果加入到簇B可以满足簇B的半径小于T这一条件,则加入到B中,如果不能满足则需要建立另一个新的簇;
Step2.5、按上述步骤继续将其他的传感器节点加入到这棵B+树中,假设B+树叶子节点 LN1有三个簇MN1,MN2,MN3,LN2有两个簇MN4,MN5,LN3有1个簇MN6,假设树的高度为H,当一个新的传感器节点要加入到树中,它离LN1节点最近,因此开始判断它是否可以加入MN1,MN2,MN3这3个簇之内,节点不能加入此三个簇内,因此需要建立一个新的簇,即MN7来容纳它,L为叶子节点可容纳簇的最大数,根据仿真实验可得L=3 时可取得最好的效果,则LN1的簇个数已经达到最大值,不能再创建新的簇,此时就要将 LN1叶子节点一分为二;
Step2.6、在LN1的所有簇中,找到两个相距最远的簇做这两个新叶子节点的种子簇,然后将LN1节点里剩余的簇按照就近原则都分别往这两个种子簇内添加,因此所有簇MN1, MN2,MN3,以及新节点的新元组MN7划分到两个新的叶子节点上;
Step2.7、根据仿真实验可得内部节点的最大簇B=3时可取得最好的效果,如簇的个数叶子节点一分为二会导致根节点的最大簇的个数超过了限制范围,也就是说,根节点现在也要分裂,分裂的方法和叶子节点分裂一样。
虚拟力的特点为:
(1)虚拟力的定义有物理学中的力做支持;
(2)虚拟力因其直观,描述简单且可验证性而被广泛使用;
(3)虚拟力模型综合考虑了节点的剩余能量和与移动装置的距离远近,能很好的做出充电决策;
所述Step3的具体步骤如下:
Step3.1、所有传感器节点对移动能量补充装置MC都有虚拟引力的作用,这就像万有引力一样,故根据物理学中的万有引力类比得到传感器节点i的虚拟引力模型其中,Q表示节点表示节点i从当前能量值到被充满所需要的能量; m表示移动能量补充装置MC的剩余能量,因为移动能量补充装置MC能量一般视为无限大且其不耗能,故可合并到ka,b表示节点所需补充能量的参数,可调整剩余能量和距离之间的权重,然后分别计算出节点i与汇聚节点之间的虚拟引力,即:
其中ka为常量,表示虚拟引力因子,dis其中为节点i与移动能量补充装置MCs间的距离, N表示全部节点集;
Step3.2、能量补充效率模型如下:
其中d为传感器节点与移动能量补充装置MC之间的距离,Gs是源天线增益,Gr是是接受天线增益,P0为移动能量补充装置MC的能量大小,β是适应Friis短距离通信的自由空间等式的参数,η是整流器的效率,λ是波长,LP偏振损失,公式(2)中,除了d以外,其它的参数都是基于环境和装置的常量,随着d的增加,能量补充效率呈递减趋势;
使用虚拟力确定受力平衡位置,首先通过公式(1),(2),(3)获得所有所有虚拟力的合力,再通过公式(4)将力转化为移动能量补充装置MC的移动距离,最终通过公式(5),(6) 得到MC的最终受力平衡的位置,其中,(mx,my)为MC的坐标,(sx,sy)为传感器节点的坐标,Fi为MC与传感器i之间的虚拟力,Fx,Fy为虚拟力在x轴与y轴上的分力,sum为最终的合力,mov是通过合力转化为MC移动距离,如果当前位置有传感器节点充电完成,则移动能量补充装置MC会在虚拟力的作用下移动到新的位置,
Fx=Fi·(sx-mx)/d (3)
Fy=Fi·(sy-my)/d (4)
本发明实施过后可以对网络生存周期和节点失效率以及充电装置的移动成本验证评估。
网络生存周期:网络从开始运行到停止工作的时间间隔。虽然在网络中考虑了给节点充电,但是并不能保证网络能够无限的工作下去,网络中的节点存在失效的可能性,一旦网络中所有的节点失效率超过50%时网络停止运行。
节点失效率:因能量耗尽而失效的节点数目占所有节点总数的百分比。失效节点比例是可充电无线传感器网络最重要的指标之一,该比例越低说明系统的充电策略越公平高效,可以有效避免节点因能量耗尽导致的数据丢失,链路中断甚至网络分割等损失。
充电装置的移动成本:定义为移动能量补充装置MC为实现节点能量补充的总移动距离。由于移动能量补充装置MC处于移动状态时无法进行充电,且驱动移动能量补充装置MC移动需要相当的能量消耗,因此MC的移动距离越少则充电系统的代价越小。
本发明的有益效果是:
(1)与已有的方法相比,本方法考虑到当前充电方法没有足够的重视充电公平与效率的问题,通过建立B+树模型,对所有请求充电节点分类成簇,并对簇内的节点进行一对多充电,并及时改变充电位置,可以达到高效公平的充电效果,延长网络生存周期并。本发明根据节点剩余能量信息以及节点与充电装置的距离动态规划移动能量补充装置MC的移动路径很好地进行充电决策,为延长网络生存周期提供了一种新的思路。
(2)本发明相比一些同样使用在线模式的方法有着更好的充电公平性和更长的生存周期,说明本发明中的移动能量补充装置MC能更好的为节点充电并兼顾公平性。由于本发明着重考虑了节点的剩余能量信息和节点与移动能量补充装置MC的距离,促使移动能量补充装置 MC总是往虚拟力最大的节点移动,从而能很好的为节点充电,与其他方法相比,在同等的网络环境中本发明的网络生存周期更长。
(3)总之,提出了一种基于虚拟力的移动能量补充策略,能有效提高网络中节点充电公平性的问题,让网络尽可能的工作更长的时间,为延长无线传感器网络的网络生存周期提供了一种新的方法。
附图说明
图1为本发明单对多移动能量补充场景;
图2为本发明节点在合力作用下移动到平衡位置的示意图;
图3为本发明分类成簇的一种示意图;
图4为图3分类成两个新叶子节点的种子簇的示意图;
图5为图4中根节点分裂后新的分类成簇示意图。
具体实施方法
为了更详细的描述本发明和便于本领域人员的理解,下面结合附图以及实施例对本发明做进一步的描述,本部分的实施例用于解释说明本发明,便于理解的目的,不以此来限制本发明。
一种无线传感器网络中单对多移动能量补充方法,包括如下步骤:
Step1、建立一个无线可充电传感器网络模型:在一定的监测区域内随机地部署50~300 个传感器节点,一个移动能量补充装置以及对应的基站;Si表示传感器节点构成的集合,其中下标i表示第i个传感器节点;每个传感器节点自身携带的电池容量为Einit,维持第i个传感器节点生存能量阈值为ETi,能量消耗周期为ECi;初始时Si(flag(i)=0,mark(i)=-1),基站位于监测区域的中间位置,用于收集传感器节点的信息以及与移动能量补充装置MC进行通信;移动能量补充装置MC的电池容量为E,移动速度为V(m/s);
Step2、根据无线可充电传感器网络节点信息创建一棵B+树,将所有能量低于阈值的节点插入到B+树中,对所有的节点进行分类成簇;
Step3、根据以上方法建立一棵B+树,得到多个节点簇,通过使用簇内节点的剩余能量以及移动能量补充装置MC与簇中心的距离信息计算各个簇的虚拟力大小,为虚拟力最大的簇优先服务,移动能量补充装置MC移动到簇内,利用簇内节点与移动能量补充装置MC的虚拟力,移动能量补充装置MC会移动到各节点虚拟力受力平衡的位置,并对簇内所有节点进行能量补充;
Step4、当有节点充电完成以后,移动能量补充装置MC将会在剩下的节点的力的作用下,移动到新的受力平衡的位置,并继续充电,直到簇内的所有的节点能量被补充完成;将充完电的簇从B+树中删除,再移动到下一个簇,直到B+树中所有的节点被删除。
所述Step2的具体步骤如下:
Step2.1、网络中传感器节点检测自身电量,当电量低于预设的阈值的时,将向移动能量补充装置MC提出充电请求,充电请求包含传感器节点的剩余能量以及传感器节点的位置,移动能量补充装置MC将充电请求存放在服务池中,并将第一个请求充电的传感器节点当成一个簇A,加入到B+树的根节点中;
Step2.2、继续读入第二个传感器节点,如果发现这个传感器节点和第一个传感器节点在半径为T的圆的范围内,也就是说,他们属于同一个簇,则将第二个点也加入簇A,同时需要更新簇A中的节点的个数,此时A的节点个数N=2;
Step2.3、继续读入第三个传感器节点,需要判断当前的新节点加入到簇A中,是否会造成簇A的半径小于T,如果小于T则可以加入到簇A中,大于则不能加入,如果大于说明这个节点不能融入刚才前面的节点形成的圆内,即为此时需要建立一个新的簇B,来容纳这个新的传感器节点,此时的根节点有两个簇A和B;
Step2.4、当第四个节点加入的时候,如果加入到簇B可以满足簇B的半径小于T这一条件,则加入到B中,如果不能满足则需要建立另一个新的簇;
Step2.5、按上述步骤继续将其他的传感器节点加入到这棵B+树中,那什么时候这棵 B+Tree的节点需要分裂呢?如图3所示,假设B+树叶子节点LN1有三个簇MN1,MN2, MN3,LN2有两个簇MN4,MN5,LN3有1个簇MN6,假设树的高度为H,当一个新的传感器节点要加入到树中,它离LN1节点最近,因此开始判断它是否可以加入MN1,MN2, MN3这3个簇之内,节点不能加入此三个簇内,因此需要建立一个新的簇,即MN7来容纳它,L为叶子节点可容纳簇的最大数,根据仿真实验可得L=3时可取得最好的效果,则LN1 的簇个数已经达到最大值,不能再创建新的簇,此时就要将LN1叶子节点一分为二;
Step2.6、在LN1的所有簇中,找到两个相距最远的簇做这两个新叶子节点的种子簇,然后将LN1节点里剩余的簇按照就近原则都分别往这两个种子簇内添加,因此所有簇MN1, MN2,MN3,以及新节点的新元组MN7划分到两个新的叶子节点上;如图3所示,MN1, MN2相距最远,因此MN1,MN2做这两个新叶子节点的种子簇,MN7离MN1更近,MN3 离MN2更近,因此MN7和MN1组成一个新的叶子节点,MN3和MN2组成一个新的叶子节点;分裂后如图4所示;
Step2.7、根据仿真实验可得内部节点的最大簇B=3时可取得最好的效果,如簇的个数叶子节点一分为二会导致根节点的最大簇的个数超过了限制范围,也就是说,根节点现在也要分裂,分裂的方法和叶子节点分裂一样,如图4中,LN2,LN1.2相距最远,因此LN2,LN1.2 做这两个新的根节点,LN3离LN2更近,LN1.1离LN1.2更近,因此LN3和LN2组成一个新的根节点,LN1.1和LN1.2组成一个新的根节点;分裂后如图5所示;
虚拟力的特点为:
(1)虚拟力的定义有物理学中的力做支持;
(2)虚拟力因其直观,描述简单且可验证性而被广泛使用;
(3)虚拟力模型综合考虑了节点的剩余能量和与移动装置的距离远近,能很好的做出充电决策;
所述Step3的具体步骤如下:
Step3.1、所有传感器节点对移动能量补充装置MC都有虚拟引力的作用,这就像万有引力一样,故根据物理学中的万有引力类比得到传感器节点i的虚拟引力模型其中,Q表示节点表示节点i从当前能量值到被充满所需要的能量; m表示移动能量补充装置MC的剩余能量,因为移动能量补充装置MC能量一般视为无限大且其不耗能,故可合并到ka,b表示节点所需补充能量的参数,可调整剩余能量和距离之间的权重,然后分别计算出节点i与汇聚节点之间的虚拟引力,即:
其中ka为常量,表示虚拟引力因子,dis其中为节点i与移动能量补充装置MCs间的距离, N表示全部节点集;
Step3.2、能量补充效率模型如下:
其中d为传感器节点与移动能量补充装置MC之间的距离,Gs是源天线增益,Gr是是接受天线增益,P0为移动能量补充装置MC的能量大小,β是适应Friis短距离通信的自由空间等式的参数,η是整流器的效率,λ是波长,LP偏振损失,公式(2)中,除了d以外,其它的参数都是基于环境和装置的常量,随着d的增加,能量补充效率呈递减趋势;
使用虚拟力确定受力平衡位置,首先通过公式(1),(2),(3)获得所有所有虚拟力的合力,再通过公式(4)将力转化为移动能量补充装置MC的移动距离,最终通过公式(5),(6) 得到MC的最终受力平衡的位置,其中,(mx,my)为MC的坐标,(sx,sy)为传感器节点的坐标,Fi为MC与传感器i之间的虚拟力,Fx,Fy为虚拟力在x轴与y轴上的分力,sum为最终的合力,mov是通过合力转化为MC移动距离,如果当前位置有传感器节点充电完成,则移动能量补充装置MC会在虚拟力的作用下移动到新的位置,如图2,
Fx=Fi·(sx-mx)/d (3)
Fy=Fi·(sy-my)/d (4)
本发明提出的一种单对多无线能量补充方法,实施结果能很好的为节点补充能量延长无线传感器网络的网络生存周期。同时本发明基于虚拟力的无线能量补充路径的选择,充分利用了网络的节点能量以及距离信息,使移动能量补充装置MC根据虚拟力动态移动,为延长网络生存周期提出了一种新的思路。
本发明基于节点位置信息将充电请求节点进行分簇,实现了对簇内各个节点的同时充电,提高了充电效率。而且通过在簇内微调移动能量补充装置MC的位置,进一步优化了簇内的充电效率。本发明为利用无线充电技术实现无线传感网络的长生命期和可持续运行提供了一种新的有效方法。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但本发明不限于具体实施方式的范围,对本技术领域的普通技术人员所具备的知识范围内,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思发明创造均在保护之列。