一种三维无线传感器网络覆盖方法及系统

文档序号:24633857发布日期:2021-04-09 20:44阅读:74来源:国知局
一种三维无线传感器网络覆盖方法及系统

本发明涉及无线传感器网络技术领域,特别是涉及一种三维无线传感器网络覆盖方法及系统。



背景技术:

节点部署在无线传感器网络(wsns)中是十分重要的一环,拥有不可替代的作用,对于wsns中的能量问题,路径寻优问题以及定位问题等均有重要的影响。如何能在保证网络覆盖以及提高网络连通容错率的同时延长网络的使用寿命在现阶段受到了很多研究者的关注。目前,有些研究者采用了一种基于方向梯度的三维表面覆盖连通方法,但其由于前提环境的设置,只针对三维环境下的表面进行了覆盖。有些研究者采用了一种基于网格的分布式能量有效k覆盖多连通部署算法,该算法考虑了节点在分布式部署情况下的通信半径问题,但并未应用在三维场景下,且在实际应用中仍然存在一定的局限。

因此,亟需一种三维无线传感器网络覆盖方法及系统,能够实现三维空间的k覆盖。



技术实现要素:

本发明的目的是提供一种三维无线传感器网络覆盖方法及系统,能够实现三维空间的k覆盖,并在保证k覆盖的前提下,对工作中的传感器节点进行协调以减少节点的能量消耗。

为实现上述目的,本发明提供了如下方案:

一种三维无线传感器网络覆盖方法,所述方法包括如下步骤:

将目标空间划分为多层,以截角八面体作为填充子单元对所述目标空间的每一层进行填充;所述目标空间为水下的立方体区域;所述截角八面体是正八面体截去六个顶角后所得到的;

在任意两个相邻截角八面体的每一个重叠顶点处均布置一个传感器节点,并在所有所述截角八面体上除所述重叠顶点之外的每一个顶点处均部署一个所述节点;每一个所述节点的感知半径均相同;

以所述感知半径作为覆盖半径,根据所有所述节点的覆盖半径判断所述目标空间是否被k覆盖,得到第一判断结果;

若所述第一判断结果为否,则在所述截角八面体的内部逐个递增部署所述节点,直至所述目标空间被k覆盖;

若所述第一判断结果为是,则根据所述节点的感知贡献和决定参数对部分所述节点进行休眠,并采用改进的人工蜂群唤醒算法进行分阶段唤醒。

一种三维无线传感器网络覆盖系统,所述系统包括:

目标空间填充模块,用于将目标空间划分为多层,以截角八面体作为填充子单元对所述目标空间的每一层进行填充;所述目标空间为水下的立方体区域;所述截角八面体是正八面体截去六个顶角后所得到的;

传感器节点部署模块,用于在任意两个相邻截角八面体的每一个重叠顶点处均布置一个传感器节点,并在所有所述截角八面体上除所述重叠顶点之外的每一个顶点处均部署一个所述节点;每一个所述节点的感知半径均相同;

判断模块,用于以所述感知半径作为覆盖半径,根据所有所述节点的覆盖半径判断所述目标空间是否被k覆盖,得到第一判断结果;

内部节点部署模块,用于若所述第一判断结果为否,则在所述截角八面体的内部逐个递增部署所述节点,直至所述目标空间被k覆盖;

唤醒模块,用于若所述第一判断结果为是,则根据所述节点的感知贡献和决定参数对部分所述节点进行休眠,并采用改进的人工蜂群唤醒算法进行分阶段唤醒。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

本发明所提供的一种三维无线传感器网络覆盖方法及系统,先将目标空间划分为多层,并以截角八面体作为填充子单元对目标空间的每一层进行填充,在任意两个相邻截角八面体的每一个重叠顶点处均布置一个传感器节点,并在所有截角八面体上除重叠顶点之外的每一个顶点处均部署一个节点,再以感知半径作为覆盖半径,并根据所有节点的覆盖半径判断目标空间是否被k覆盖,若目标空间未被k覆盖,则在截角八面体的内部逐个递增部署节点,直至目标空间被k覆盖,在目标空间被k覆盖后,则根据节点的感知贡献和决定参数对部分节点进行休眠,并采用改进的人工蜂群唤醒算法进行分阶段唤醒,从而能够在保证目标空间被k覆盖的同时,还能通过对所有节点进行休眠和唤醒以减少节点的能量消耗,提高节点的使用寿命。且通过改进的人工蜂群唤醒算法还能够选取出最优的唤醒节点,进一步降低能耗。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例1所提供的覆盖方法的方法流程图。

图2为本发明实施例1所提供的截角八面体的三维结构示意图。

图3为本发明实施例1所提供的改进的人工蜂群唤醒算法的方法流程图。

图4为本发明实施例1所提供的覆盖率变化图。

图5为本发明实施例1所提供的节点能量变化曲线图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种三维无线传感器网络覆盖方法及系统,能够实现三维空间的k覆盖,并在保证k覆盖的前提下,对工作中的传感器节点进行协调以减少节点的能量消耗。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

实施例1:

本实施例用于提供一种三维无线传感器网络覆盖方法,如图1所示,所述方法包括如下步骤:

s1:将目标空间划分为多层,以截角八面体作为填充子单元对所述目标空间的每一层进行填充;所述目标空间为水下的立方体区域;所述截角八面体是正八面体截去六个顶角后所得到的;

本实施例以水下无线传感器网络为研究背景,目标空间为水下立方体。假设网络在部署时:所有传感器节点在初始阶段的参数一致,拥有相同的特性,传感器节点的感知模型均为球体模型。

利用空间镶嵌方法来完成三维无线传感器网络的k-覆盖,那么首先要考虑的是选取哪一种凸多面体作为填充子单元。在三维目标空间的覆盖中,空间镶嵌方法存在一种多面体的镶嵌以及多种多面体的混合镶嵌,而在多种多面体的混合镶嵌中,不仅多面体的范围难以确定,并且混合多面体的组合十分复杂,会造成计算资源的浪费。由此在本实施例中研究一种多面体的镶嵌问题。目前在使用空间镶嵌方法进行空间填充时,当传感器节点部署在凸多面体的形心位置时,截角八面体能够以最少的节点完成网络的全覆盖。即在实现网络全覆盖的情况下,以截角八面体作为填充子单元进行空间填充,并将节点部署在填充子单元的形心位置时,能够以最少数目的节点完成目标空间的覆盖。故本实施例选取截角八面体作为填充子单元。如图2所示,其给出了四个截角八面体堆积的三维结构示意图。

具体的,在以截角八面体作为填充子单元对目标空间的每一层进行填充之前,所述覆盖方法还包括:根据目标空间的边长和节点的感知半径确定目标空间中每个维度所需填充子单元的个数;根据目标空间中每个维度所需填充子单元的个数确定目标空间所需的填充子单元的总个数;根据目标空间所需的填充子单元的总个数,以截角八面体作为填充子单元对目标空间的每一层进行填充。在确定目标空间所需的填充子单元的个数后,根据目标空间所分的层数确定每一层所需的填充子单元的个数,进而可以确定填充子单元的体积大小。

其中,目标空间中每个维度所需填充子单元的个数的计算公式为:

式1中,nt为目标空间中每个维度所需填充子单元的个数;q为目标空间的边长;rs为节点的感知半径。

目标空间所需的填充子单元的总个数的计算公式为:

式2中,为目标空间所需的填充子单元的总个数。

s2:在任意两个相邻截角八面体的每一个重叠顶点处均布置一个传感器节点,并在所有所述截角八面体上除所述重叠顶点之外的每一个顶点处均部署一个所述节点;每一个所述节点的感知半径均相同;

当要求网络的覆盖度达到k时,由于本实施例采用截角八面体作为填充子单元,如果传感器节点在填充子单元的形心位置,则需要在填充子单元内部重新部署k-1个传感器节点,导致节点个数较多。故在保证k覆盖的前提下,本实施例选择将节点部署在填充子单元的顶点上。

另外,在任意两个相邻截角八面体的每一个重叠顶点处均布置一个传感器节点,并在所有截角八面体上除重叠顶点之外的每一个顶点处均部署一个节点,由此会产生共用节点。本实施例还可以将共用节点由外而内按照目标空间镶嵌的维数进行各不相同的标记。由于内部节点因感知范围会覆盖到外部节点,所以对节点进行休眠与唤醒策略以减小能量的消耗。按照由外而内的顺序将目标空间划分为n层,其中第一层的共用系数标记为1,2,3;第二层标记为3,4;第三层以后标记为4。

s3:以所述感知半径作为覆盖半径,根据所有所述节点的覆盖半径判断所述目标空间是否被k覆盖,得到第一判断结果;

需要说明的是,k覆盖是指在水下目标空间中,假定任意一位置的点可以同时被k个传感器节点监测到,则表示该区域中的任意一点可达到k-覆盖,即该区域被k-覆盖。

具体的,以感知半径作为覆盖半径,根据所有节点的覆盖半径判断目标空间是否被k覆盖具体包括:以任意长度作为预设长度对目标空间进行网格划分,得到由多立方体网格单元组成的离散目标空间;根据离散目标空间确定所有网格点的位置;网格点为两相邻网格单元相重叠的点。以感知半径作为覆盖半径,根据所有节点的覆盖半径判断每一网格点是否均被k覆盖,得到第二判断结果。根据第二判断结果判断目标空间是否被k覆盖,所有网格点均被k覆盖时,目标空间被k覆盖。进而将判断目标空间内所有点是否达到k覆盖来判断目标空间是否达到k覆盖更改为判断所有网格点是否达到k覆盖来判断目标空间是否达到k覆盖,显著提高k覆盖的判断速度。

s4:若所述第一判断结果为否,则在所述截角八面体的内部逐个递增部署所述节点,直至所述目标空间被k覆盖;

具体的,若需要在截角八面体的内部部署两个以上的节点,可以将这些新增节点进行均匀部署。

s5:若所述第一判断结果为是,则根据所述节点的感知贡献和决定参数对部分所述节点进行休眠,并采用改进的人工蜂群唤醒算法进行分阶段唤醒。

当第一判断结果为是时,此时目标空间的覆盖度大于k,则首先休眠部分节点,延长无线传感器网络的工作时长。另外,工作过程中会对工作产生消耗的节点进行休眠,并使用改进的人工蜂群算法进行节点唤醒,以进一步延长无线传感器网络的工作时长。

在此,首先对所用休眠方法中的参数进行含义解释。

1)感知强度(si):表示传感器节点对于处于其感知范围内的不同位置的点产生的感知大小,感知大小由近而外递减。在此设定sisen为感知阈值。当对某个点的感知强度大于感知阈值时,该点能够被感知到,感知强度小于感知阈值时,该点不能被感知到。

2)合作感知强度(csi):假设有m个传感器节点可以感知到任意一点a,感知强度各不相同,则a点的合作感知强度为所有节点对a点的感知强度之和。

3)感知贡献(sc):假设有m个传感器节点可以感知到任意一点a,一传感器节点对a点的感知强度在a点的合作感知强度中所占的比例即为该传感器节点的感知贡献。

4)决定参数(dp):假设有m个传感器节点可以感知到任意一点a,如果将m个传感器节点中的一个节点l去掉后,a点的合作感知强度csi>k*sisen,则l点可以处于休眠状态,将l点的dp值置为1,否则置为0。

具体的,所述根据所述节点的感知贡献和决定参数对部分所述节点进行休眠具体包括:

将所述目标空间划分为多层,每一个所述节点均为工作节点;另外,可在每一层设定局域估计器,用来接收每层节点的数据传输。

计算每一个网格点的合作感知强度;所述合作感知强度为感知范围包括网格点的多个第一节点对网格点的感知强度之和;所述感知强度为第一节点对网格点产生的感知大小;

根据所有网格点的合作感知强度计算每一个节点的感知贡献;

根据网格点的合作感知强度判断节点是否为冗余节点,若节点为冗余节点,则将节点的决定参数置为1,否则,将节点的决定参数置为0,得到所有节点的决定参数;

对于每一层,选取这一层内除处于截角八面体顶点位置的节点之外的决定参数为1且感知贡献最小的节点进行休眠,进而对部分节点进行休眠,得到休眠节点。

其中,所述根据网格点的合作感知强度判断节点是否为冗余节点具体包括:在多个第一节点中任意选取一个第二节点,计算除第二节点之外的其他第一节点对网格点的感知强度之和,得到网格点的部分合作感知强度;判断部分合作感知强度是否大于预设感知阈值的k倍,若是,则第二节点为冗余节点;若否,则第二节点不是冗余节点。

为了减小能量的消耗,以延长无线传感器网络的工作时长,本实施例会先利用上述休眠方法选取部分合适的传感器节点进行休眠,但随着传感器节点的工作过程,会造成目标空间内的某些位置无法达到k覆盖,此时需要采用唤醒算法将合适的节点进行唤醒以达到网络的k覆盖。人工蜂群算法不仅在数值优化问题的收敛效果好,并且该算法便于理解,过程简单,具有较强的稳健性。但常规的人工蜂群算法易陷入局部最优。所以,本实施例中对常规的人工蜂群算法进行改进。所述采用改进的人工蜂群唤醒算法进行分阶段唤醒具体包括:

对所有节点的能量进行相同的划分,得到节点所处的n个阶段;

对于每一个节点,判断当前阶段节点的能量是否小于预设能量阈值,若是,则令节点休眠,得到休眠节点;

采用改进的人工蜂群唤醒算法在所有所述休眠节点中选取一个节点进行唤醒,得到工作节点;

以所述感知半径作为覆盖半径,根据所有所述工作节点的覆盖半径判断所述目标空间是否被k覆盖,得到第三判断结果;

若所述第三判断结果为是,则使所有所述节点进入下一阶段,返回“对于每一个所述节点,判断当前阶段所述节点的能量是否小于预设能量阈值”的步骤,直至所有所述节点的能量均耗尽;

若第三判断结果为否,则在所述截角八面体的内部逐个递增部署所述节点,直至所述目标空间被k覆盖,并使所有所述节点进入下一阶段,返回“对于每一个所述节点,判断当前阶段所述节点的能量是否小于预设能量阈值”的步骤,直至所有所述节点的能量均耗尽。

本实施例采用改进的人工蜂群唤醒算法进行节点唤醒,相较于分阶段唤醒算法(phasedwaking-upstreategy,pws)而言,由于分阶段唤醒算法通过对传感器节点的能量进行划分以合理分配节点的生命周期,会对除共用节点之外的节点进行随机选取,这容易使传感器网络陷入局部最优的问题,而本实施例采用改进的人工蜂群算法进行优化,针对唤醒过程中的节点选取进行有目标的选择,能够使在唤醒节点的时候得到全局最优解。

其中,如图3所示,所述采用改进的人工蜂群唤醒算法在所有所述休眠节点中选取一个节点进行唤醒,得到工作节点具体包括:

步骤501:根据第一蜜源更新公式在所有所述休眠节点中选取sn个初始节点,并根据适应度计算公式计算每一个所述初始节点的适应度值;

所述第一蜜源更新公式为:

式3中,xij为第i个初始节点的第j个分量;为第i个休眠节点的第j个分量的下界;为第i个休眠节点的第j个分量的上界;i=1,2......sn;j=1,2,.....d;d为空间的维度。

所述适应度计算公式为:

s=avp+be;(4)

式4中,s为适应度值;a、b分别为第一预设权重和第二预设权重;0≤a≤1,0≤b≤1,且a+b=1。vp为覆盖率;e为节点的剩余能量;

其中,

式5中,ai为第i个工作节点的覆盖面积;n为工作节点的总数量;q为覆盖区域的面积。

步骤502:初始化向量trail,所述向量trail包含sn个元素,每一个元素的初始值为0,且每一个元素与一个所述初始节点的位置相对应;

步骤503:对于每一个所述初始节点,根据引领蜂蜜源更新公式确定新节点,并根据所述适应度计算公式计算所述新节点的适应度值;判断所述新节点的适应度值是否大于所述初始节点的适应度值,若是,则以所述新节点作为第三节点,并将与所述第三节点位置对应的元素值置为0;若否,则以所述初始节点作为第三节点,并将与所述第三节点位置对应的元素值加1;

所述引领蜂蜜源更新公式为:

vij=xij+rij(xij-xkj)(6)

式6中,vij为对第i个初始节点进行更新后所得到新节点的第j个分量,rij为[-1,1]范围内随机产生的整数;xkj为第k个初始节点的第j个分量,k=1,2,...sn且k≠i。第i个第三节点的第j个分量以yij表示。

步骤504:判断所述第三节点的信息素是否大于随机生成的灵敏度,若是,则利用跟随蜂蜜源更新公式对所述第三节点进行更新,得到第四节点,并将与所述第四节点位置对应的元素值置为0;若否,则以所述第三节点作为第四节点,并将与所述第四节点位置对应的元素值加1;

所述信息素的公式为:

式7中,o(i)为第i个第三节点的信息素;fiti为第i个第三节点的适应度值,该适应度值即为利用公式4计算得到的适应度值;fitmin为所有第三节点的适应度值中的最小值;fitmax为所有第三节点的适应度值中的最大值。

第i个第三节点的灵敏度s(i)~u(0,1)。以信息素和灵敏度的大小比较结果为判断基准,确定是否需要对第三节点进行更新,不会导致种群的多样性降低的问题,使收敛不会太快。

所述跟随蜂蜜源更新公式为:

式8中,vij为对第i个第三节点进行更新后所得到节点的第j个分量;yij为第i个第三节点的第j个分量,ykj为第k个第三节点的第j个分量。

式9中,fik为第i个第三节点与第k个第三节点之间的相互引力;f(yi)为第i个第三节点的适应度值,该适应度值即为利用公式4计算得到的适应度值;f(yk)为第k个第三节点的适应度值;yi为第i个第三节点的位置;yk为第k个第三节点的位置;g为万有引力常数;

是对fik进行标准化后得到的值的第j个分量。通过该跟随蜂蜜源更新公式能够避免缩小跟随蜂的搜索区域而导致陷入局部最优的情况。第i个第四节点的第j个分量以zij表示。

步骤505:判断所述向量trail中的元素值是否大于预设更新次数,若是,则根据第二蜜源更新公式对与所述元素位置对应的所述第四节点进行更新,并以更新后的节点作为初始节点;若否,则以所述第四节点作为初始节点;

所述第二蜜源更新公式为:

式10中,xi'j为对第i个第四节点更新后所得节点的第j个分量;为第i个第四节点的第j个分量的下界;为第i个第四节点的第j个分量的上界。

步骤506:判断迭代次数是否达到预设最大迭代次数,若否,则返回“对于每一个所述初始节点,根据引领蜂蜜源更新公式确定新节点”的步骤;若是,则根据所述适应度计算公式计算sn个所述初始节点的适应度值,并选取适应度值最大的初始节点进行唤醒,得到工作节点。

本实施例还给出一具体实例,假设在300m*300m*300m的立方体区域内部镶嵌截角八面体,并部署传感器节点。仿真参数如表1:

表1

图4比较了本实施例所用的改进的人工蜂群唤醒算法与原始pws算法传感器的覆盖率变化。其中横坐标代表了传感器网络工作的阶段,纵坐标代表网络的覆盖率。在初始化阶段,pws算法由于随机唤醒节点,不考虑所唤醒节点产生多少作用,虽然覆盖率很高,但同时造成节点能量损耗严重。而本实施例的改进的人工蜂群唤醒算法在唤醒节点时采用人工蜂群算法进行选择,虽然在初始阶段覆盖率会有不足,但延长了整个网络的工作时长。

图5比较了本实施例所用的改进的人工蜂群唤醒算法与原始pws算法在节点工作的能量变化。其中横坐标代表了传感器网络的工作阶段,纵坐标代表了节点剩余能量。pws算法的能量呈线性下降,能量消耗极快,对于延长节点的生命周期效果并不好。在利用改进的人工蜂群唤醒算法有序的挑选唤醒节点后,可以看到节点的能量下降趋势有明显缓解,并延长了节点以及网络的生命周期。

本实施例提出的一种三维无线传感器网络覆盖方法,针对在三维空间下节点部署网络的能耗问题,利用截角八面体作为空间镶嵌的子单元进行目标空间的填充,在保证k-覆盖的条件下,对传感器节点进行休眠与分阶段唤醒策略,对休眠与唤醒过程中极大概率出现的局部最优情况融入改进的人工蜂群算法进行改善,以改善节点的选取问题,最终达到减小能量消耗的效果,延长了三维空间中无线传感器网络的生命周期。

实施例2:

本实施例用于提供一种三维无线传感器网络覆盖系统,所述系统包括:

目标空间填充模块,用于将目标空间划分为多层,以截角八面体作为填充子单元对所述目标空间的每一层进行填充;所述目标空间为水下的立方体区域;所述截角八面体是正八面体截去六个顶角后所得到的;

传感器节点部署模块,用于在任意两个相邻截角八面体的每一个重叠顶点处均布置一个传感器节点,并在所有所述截角八面体上除所述重叠顶点之外的每一个顶点处均部署一个所述节点;每一个所述节点的感知半径均相同;

判断模块,用于以所述感知半径作为覆盖半径,根据所有所述节点的覆盖半径判断所述目标空间是否被k覆盖,得到第一判断结果;

内部节点部署模块,用于若所述第一判断结果为否,则在所述截角八面体的内部逐个递增部署所述节点,直至所述目标空间被k覆盖;

唤醒模块,用于若所述第一判断结果为是,则根据所述节点的感知贡献和决定参数对部分所述节点进行休眠,并采用改进的人工蜂群唤醒算法进行分阶段唤醒。

其中,所述判断模块具体包括:

网格划分单元,用于以任意长度作为预设长度对所述目标空间进行网格划分,得到由多立方体网格单元组成的离散目标空间;

网格点位置确定单元,用于根据所述离散目标空间确定所有网格点的位置;所述网格点为两相邻所述网格单元相重叠的点;

第一判断单元,用于以所述感知半径作为覆盖半径,根据所有所述节点的覆盖半径判断每一所述网格点是否均被k覆盖,得到第二判断结果;

第二判断单元,用于根据所述第二判断结果判断所述目标空间是否被k覆盖;所有所述网格点均被k覆盖时,所述目标空间被k覆盖。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1