一种基于可调感知半径模型的连通目标K覆盖方法与流程

文档序号:18740927发布日期:2019-09-21 01:46阅读:165来源:国知局
本发明涉及无线传感器网络领域,特别涉及一种基于可调感知半径模型的连通目标K覆盖方法。
背景技术
::随着社会的发展和科技的进步,无线传感网络越来越广泛地应用于军事安防、环境监控等许多领域。在复杂的类2D地形目标监测应用中,例如森林,沙漠等,无线传感器节点需要通过随机抛洒的形式部署传感器节点,满足对监测区域中所有目标位置的监测。随机部署降低了网络的部署成本,但是也增加了调度传感器工作状态的难点。因此,无线传感器网络的目标覆盖问题是无线传感网络监测应用中十分重要的问题。由于传感器难以接受到能量补给,只能依靠电池供电,因此,能量是目标覆盖解决方案中一个重点关注对象。在关于无线传感网络中目标覆盖问题的解决方案,针对固定感知半径传感器的研究提出了多种目标覆盖的调度方法,如Yu等人在《OnConnectedTargetk-CoverageinHeterogeneousWirelessSensorNetworks》一文中,研究在异构无线传感器网络中如何选择尽可能少的传感器来维持网络的K覆盖和连通,并且提出了了两个方法,集中式目标k覆盖算法和分布式连通K覆盖算法,来解决该问题。不过,这些基于固定感知半径模型的方法不再适用于可调感知半径的传感器网络中。因此,本发明提出针对可调感知半径的无线传感器网络的目标覆盖方法。针对可调感知半径模型的解决方案中,目前的研究较少。Alibeiki等人在《Anewgenetic-basedapproachformaximizingnetworklifetimeindirectionalsensornetworkswithadjustablesensingranges》一文中,研究了有向可调半径传感网络中调度传感器状态使得网络寿命最大化的问题,并提出了基于遗传算法的目标覆盖算法。他们研究的问题与本发明不同,他们需要为每个目标选择一个监测传感器即可,且不用考虑为覆盖集选择通信路由。而本发明研究的则是如何尽可能的调度传感器的工作状态和工作半径,使得在满足网络的K覆盖和连通需求的同时,尽可能使得网络寿命最大化。技术实现要素:本发明提出了一种基于可调感知半径模型的连通目标K覆盖方法,该方法通过多轮次调度传感器的工作状态和工作半径,来尽可能延长网络的生命周期。首先,根据采集到的传感器的位置信息和状态信息来构建网络图,其中状态信息主要指传感器当前剩余的能量;其次,根据网络图中边的信息,计算任意传感器节点到汇点之间的最短路径,形成最小能量通信树,从而得到每个传感器到汇点的通信路由以及单位时间的通信能量代价;然后,采集每个传感器周围目标点的分布情况,即传感器在不同工作功率对应的监测半径下所能监测到的目标点集合以及每个目标点当前被监测的状态信息;接着,根据采集到的信息,得到每个未满足K覆盖需求的目标点的候选传感器集合;再次,逐个选择目标点,在该目标点的候选传感器集合中,选择一组传感器和工作半径,使得该目标点满足K覆盖需求,直到所有目标点都能被K个活跃传感器监测到。最后,得到一组满足网络覆盖和连通需求的传感器集合后,根据传感器的能耗模型计算该传感器集合所能工作的最长时间,然后更新每个传感器的剩余能量,重复上述步骤选出新的工作传感器集合,直到无法选出一组传感器集合为止,从而得到网络中每个传感器工作状态和工作时间的调度方案。本发明解决其技术问题采用的技术方案步骤如下:一种基于可调感知半径模型的连通目标K覆盖方法,采用的无线传感网络为:在一个感兴趣的平面区域中,存在M个位置已知的目标点O={o1,o2,…,oM}和一个汇点Sink,初始时,每个目标点的覆盖度deg(o)=0。向该区域中随机部署了N个全向传感器S={s1,s2,…,sN},每个传感器存在P个工作功率,每个功率对应一个监测半径,因此每个传感器有一个可调的感知半径集R={r1,r2,…,rP}。每个传感器存在一个固定的通信半径为Rtra,初始状态下,每个传感器si的剩余能量相同,Einit为传感器的初始能量值。所有的传感器具有相同的数据采集速率,假设单位时间采集一个单位的数据。目标点的覆盖度阈值为K,即需要满足deg(o)≥K。具体的步骤如下:步骤1:根据网络中传感器的位置信息和剩余能量信息构建网络图;步骤2:从网络图中找出任意传感器到Sink的最短路径并计算根据当前路径传输一个单位的数据所花费的通信代价;步骤3:计算每个传感器在每个监测半径下所能监测到的不满足K覆盖需求的目标点集合;步骤4:计算每个目标点的候选传感器集合;步骤5:选择一个具有最少的候选传感器的目标点。步骤6:计算该目标点的候选传感器集合中每个传感器的覆盖效用,并选择一个具有最大覆盖效用的传感器和半径,更新该传感器在当前半径下覆盖的目标的覆盖度状态,更新每个目标点的候选传感器集合。重复该步骤直到当前目标点满足K覆盖。步骤7:重复步骤5-6,直到选择出一个连通K覆盖集合为止,计算该集合的工作时间并更新传感器的剩余能量信息。步骤8:判断网络中是否还存在连通K覆盖集合。如果存在,重复步骤1至步骤7;不存在,算法结束,给出传感器的状态调度策略。步骤1所述得到构建网络图分一下步骤:1-1、将剩余能量低于阈值χ的传感器设为死亡传感器,在网络图中表现为孤立点,不和任何传感器存在通信边;1-2、针对非死亡节点,我们构造无向权值图G=(V,E,W),图的顶点V为场景中所有非死亡节点和Sink的集合;边E代表顶点间是否连通;权值W代表两顶点间的通信代价。若两顶点si与sj相邻(两顶点距离d(si,sj)≤Rtra),则为其添加一条边E=E∪e(si,sj),边的权值为ω(si,sj)=eTr(Si,sj)+eRe,其中单位数据的传输能量代价eTr(si,sj)=a+b·d(si,sj)β,a,b,β为常数,可根据传感器物理特性设置,单位数据的接收能量代价eRe为常数,可根据传感器物理特性设置;若顶点si与sj不相邻,则认为边e(si,sj)不存在,即令边权ω(si,sj)=+∞;若任意顶点si与Sink相邻,则添加边E=E∪e(si,Sink),边的权值为ω(si,Sink)=eTr(si,Sink)+eRe。步骤2所述的计算最短路径和能量代价,使用求解最短路径的Dijkstra算法,计算出无向权值图G中任意顶点si与Sink间的最短路径,并计算路径的长度,该路径长度表示从si向Sink传输一个单位的数据所花费的能量代价,记做e(path(si)。若si与Sink不存在通信路径,将si设为死亡传感器。步骤3所述的计算监测目标点集合,根据位置信息计算非死亡传感器在不同的功率对应的感知区域内存在的目标点,并将传感器si在第p个功率下感知到的目标点集合记为OCov(i,p)。步骤4所述的计算目标点的候选传感器集合,根据步骤3中的信息,将在最大功率下能监测到目标点oj的传感器放入集合中。对于满足的目标点,其候选传感器集合中的传感器必须全部激活并覆盖到oj,才能满足oj的覆盖度需求。将这类目标点定义为危险目标。步骤5所述的选择具有最少的候选传感器的目标点oCri,也就是:步骤6所述从目标点oCri的候选传感器集合中选择覆盖集的步骤如下:6-1计算传感器在每个功率下的单位时间能耗,第p个功率下单位时间内的监测能耗为eSe(p)=δ·rp2。其中,δ为常数,与传感器物理特性有关。6-2计算集合中每个传感器可开启的最小功率。根据步骤3和步骤4所得到的集合,判断传感器的最大覆盖范围内是否存在危险目标。若不存在,传感器可开启的最小功率为能监测到oCri的最小功率;若存在,传感器可开启的最小功率为能监测oCri以及所有危险目标的最小功率。6-3计算集合中每个传感器在可开启的最小功率到最大功率中,每个功率下的覆盖效用,将传感器si在第p个功率下的覆盖效用设为其公式表述为:其中,代表OCov(i,p)中deg(0)<K的目标点的个数,代表OCov(i,p)中deg(0)≥K的目标点的个数,e(path(si)为传感器si向Sink传输一个单位数据的能量代价。6-4选择具有最大效用值的传感器和功率,将该传感器在该功率下监测到的所有目标点的覆盖度+1,并将该传感器从所有目标点的候选传感器中移除。6-5判断deg(oCri)≥K是否成立。若不成立,重复执行步骤6-1至步骤6-4;若成立,结束步骤6。步骤7所述选择出一个连通K覆盖集合C,计算该集合的工作时间并更新传感器的剩余能量信息,详细步骤如下:7-1判断是否存在deg(o)<K的目标点。若存在,重复执行步骤5和步骤6;若不存在,执行下一步;7-2将当前选择出来的传感器集合与集合中每个传感器的通信路径结合,构成连通K覆盖集C;7-3计算连通K覆盖集合C中每个传感器单位时间的能量代价。对于只监测不接收信息的传感器,其能量代价公式为ecost(si)=eSe+eTr;对于不监测的传感器,其能量代价为ecost(si)=(eRe+eTr)·|SDes(si)|,其中,SDes(si)为si的后代传感器集合,si需要接收并传输这些传感器对目标点的监测信息,|SDes(si)|等价于si所在的通信路径个数;对于既监测又接收信息的传感器,其能量代价为ecost(si)=eSe+eTr+(eRe+eTr)·SDes(si)。7-4计算该连通K覆盖集合C的运行时间,即C中所有传感器能够持续运行的最大时长T,步骤8判断网络中是否还存在其他连通K覆盖集合,即判断所有目标点的候选传感器个数是否大于K。如果是,重复步骤1至步骤7;否则,算法结束,给出传感器的状态调度策略。本发明的有益效果:1.本发明针对二维地形应用场景,提出基于可调感知半径模型的连通目标K覆盖方法,通过K覆盖的形式,极大增强了网络的容错性,防止了因工作传感器损坏所导致的网络监控盲区。2.本发明基于可调感知半径模型的覆盖方法,减少了网络工作能耗,从而在能量有限无线传感器网络中,延长网络工作时长,减少了网络成本。附图说明图1为本发明采用的无线传感器网络示意图;图2为本发明的具体流程图;图3为传感器模型示意图;图4为图1中第一轮调度中传感器的工作状态;图5为图1中第一轮调度中的覆盖和通信情况;具体实施方式下面结合附图对本发明作进一步说明。本发明主要提出一种基于可调感知半径模型的连通目标K覆盖方法。根据图1的网络示意图,本发明采用的无线传感网络为:在一个L*M大小的2D区域场景中,已经事先随机部署了M个目标点,N个传感器和一个汇点Sink。需要调度这N个传感器的工作状态和工作时间,使得网络在保证目标K覆盖和连通的同时,能够持续运行尽可能长的时间。这里在100*100的区域内部署了200个传感器和20个目标点。如图2所示,本发明所使用的是工作在2D场景中的全向可调感知半径传感器模型。每个传感器存在P个工作功率,每个功率对应一个监测半径,因此每个传感器有一个可调的感知半径集R={r1,r2,…,rP}。每个传感器存在一个固定的通信半径为Rtra,初始状态下,每个传感器si的剩余能量相同,Einit为传感器的初始能量值。所有的传感器具有相同的数据采集速率,假设单位时间采集一个单位的数据。如图3所示,本发明具体步骤描述如下:步骤1:根据网络中传感器的位置信息和剩余能量信息构建网络图1-1、将剩余能量低于阈值χ的传感器设为死亡传感器,在网络图中表现为孤立点,不和任何传感器存在通信边;1-2、针对非死亡节点,我们构造无向权值图G=(V,E,W),图的顶点V为场景中所有非死亡节点和Sink的集合;边E代表顶点间是否连通;权值W代表两顶点间的通信代价。若两顶点si与sj相邻(两顶点距离d(si,sj)≤Rtra),则为其添加一条边E=E∪e(si,sj),边的权值为ω(si,sj)=eTr(si,sj)+eRe,其中单位数据的传输能量代价eTr(si,sj)=a+b·d(si,sj)β,a,b,β为常数,可根据传感器物理特性设置,单位数据的接收能量代价eRe为常数,可根据传感器物理特性设置;若顶点si与sj不相邻,则认为边e(si,sj)不存在,即令边权ω(si,sj)=+∞;若任意顶点si与Sink相邻,则添加边E=E∪e(si,Sink),边的权值为ω(si,Sink)=eTr(si,Sink)+eRe。步骤2:从网络图中找出任意传感器到Sink的最短路径并计算根据当前路径传输一个单位的数据所花费的通信代价使用求解最短路径的Dijkstra算法,计算出无向权值图G中任意顶点si与Sink间的最短路径,并计算路径的长度,该路径长度表示从si向Sink传输一个单位的数据所花费的能量代价,记做e(path(si)。若si与Sink不存在通信路径,将si设为死亡传感器。步骤3:计算每个传感器在每个监测半径下所能监测到的不满足K覆盖需求的目标点集合根据位置信息计算非死亡传感器在不同的功率对应的感知区域内存在的目标点,并将传感器si在第p个功率下感知到的目标点集合记为OCov(i,p)。步骤4:计算每个目标点的候选传感器集合根据步骤3中的信息,将在最大功率下能监测到目标点oj的传感器放入集合中。对于满足的目标点,其候选传感器集合中的传感器必须全部激活并覆盖到oj,才能满足oj的覆盖度需求。将这类目标点定义为危险目标。步骤5:选择具有最少的候选传感器的目标点oCri,也就是:步骤6:计算该目标点的候选传感器集合中每个传感器的覆盖效用,并选择一个具有最大覆盖效用的传感器和半径,更新该传感器在当前半径下覆盖的目标的覆盖度状态,更新每个目标点的候选传感器集合。重复该步骤直到当前目标点满足K覆盖。6-1计算传感器在每个功率下的单位时间能耗,第p个功率下单位时间内的监测能耗为eSe(p)=δ·rp2。其中,δ为常数,与传感器物理特性有关。6-2计算集合中每个传感器可开启的最小功率。根据步骤3和步骤4所得到的集合,判断传感器的最大覆盖范围内是否存在危险目标。若不存在,传感器可开启的最小功率为能监测到oCri的最小功率;若存在,传感器可开启的最小功率为能监测oCri以及所有危险目标的最小功率。6-3计算集合中每个传感器在可开启的最小功率到最大功率中,每个功率下的覆盖效用,将传感器si在第p个功率下的覆盖效用设为其公式表述为:其中,代表Ocov(i,p)中deg(0)<K的目标点的个数,代表OCov(i,p)中deg(0)≥K的目标点的个数,e(path(si)为传感器si向Sink传输一个单位数据的能量代价。6-4选择具有最大效用值的传感器和功率,将该传感器在该功率下监测到的所有目标点的覆盖度+1,并将该传感器从所有目标点的候选传感器中移除。6-5判断deg(oCri)≥K是否成立。若不成立,重复执行步骤6-1至步骤6-4;若成立,结束步骤6。步骤7:重复步骤5-6,直到选择出一个连通K覆盖集合C为止,计算该集合的工作时间并更新传感器的剩余能量信息。7-1判断是否存在deg(o)<K的目标点。若存在,重复执行步骤5和步骤6;若不存在,执行下一步;7-2将当前选择出来的传感器集合与集合中每个传感器的通信路径结合,构成连通K覆盖集C。如图4和图5所示,图4给出图1中的网络选择出的一组3-覆盖集C,图5给出连通3覆盖集以及通信路径;7-3计算连通K覆盖集合C中每个传感器单位时间的能耗。对于只监测不接收信息的传感器,其能量代价公式为ecost(si)=ese+eTr;对于不监测的传感器,其能量代价为ecost(si)=(eRe+eTr)·|SDes(si)|,其中,SDes(si)为si的后代传感器集合,si需要接收并传输这些传感器对目标点的监测信息,|SDes(si)|等价于si所在的通信路径个数;对于既监测又接收信息的传感器,其能量代价为ecost(si)=ese+eTr+(eRe+eTr)·SDes(si)。7-4计算该连通K覆盖集合C的运行时间,即C中所有传感器能够持续运行的最大时长T,步骤8:判断网络中是否还存在连通K覆盖集合,即判断所有目标点的候选传感器个数是否大于K。如果是,重复步骤1至步骤7;否则,算法结束,给出传感器的状态调度策略。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1