一种应用于分布式多跳网络的自适应网络覆盖方法与流程

文档序号:20511797发布日期:2020-04-24 18:37阅读:208来源:国知局
一种应用于分布式多跳网络的自适应网络覆盖方法与流程

本发明涉及通信技术领域,尤其是无线通信领域中的一种自适应网络覆盖方法。本发明在传统网络覆盖控制技术的基础上,基于周围环境感知实现自适应网络覆盖,进而实现较高网络覆盖率以及较低的通信资源消耗。



背景技术:

分布式多跳网络也称网状网络,由分布在不同位置的网络节点互连组成,网络中没有中心控制节点,节点间通过相互信息交互完成网络通信功能。在分布式多跳网络中,节点为实现不冲突的占用时隙资源来发送数据需要同周围节点进行信息交互、协商,但每个分布式节点都频繁发送控制消息同周围节点进行信息交互,必然会导致较大的控制开销以及通信效率的损耗。因此,为在分布式多跳网络中实现网络覆盖和通信效率的较好平衡,不得不引入一种自适应网络覆盖方法。

网络覆盖控制技术是指在保证网络覆盖的前提下,通过控制节点部署及节点状态控制以达到降低资源消耗的目的,从而延长网络的生存时间。传统的网络覆盖控制技术为了实现较为完整的覆盖率,网络中所有节点都会定期广播一些网络信息,这种工作方法确实比较稳定、可靠,但是这种方法并未实现节点的有效空间复用,使得网络覆盖效率比较低。在节点较为密集的场景下,所有节点都竞争式广播网络信息,这样既会造成信息的泛滥,也会导致带宽资源的消耗以及节点能源的损耗。因此,节点通过周围环境感知,自适应选择广播网络信息,使得资源和能量得到充分利用,就显得愈发重要了。

西安电子科技大学申请的专利“一种无线网络传感器网络覆盖的分布式方法”(专利申请号:cn201410227923.0,公开号:cn103987054a)提出了一种无线网络传感器网络覆盖的分布式方法。该方法通过计算节点的额外有效覆盖时间并与邻节点的最大额外有效覆盖时间和剩余能量进行比较来选择局部最优时间方案,利用局部最优时间解决方案来近似获得整体最优时间解决方案。该方法的提升在于实现将节点寿命设置为动态变量,尽可能的提升网络寿命。但是,该方法仍然存在的不足之处是,局部最优覆盖解决方法所组成的全局覆盖方法并不一定就是全局最优覆盖方法,同时该方法采用多轮次选取最优时间解决方案,轮次之间选取相互独立,可能会产生大量工作节点切换而带来信道碰撞,从而产生覆盖空洞问题。

重庆工商大学申请的专利“基于多重覆盖的异构无线传感器网络节点调度方法”(专利申请号:cn201210519268.7,公开号:cn102984731a)提出了一种基于多重覆盖的异构无线传感器网络节点调度方法。该方法基于二进制差分算法对节点状态进行优化,在有限迭代次数内根据网络覆盖率选择最优个体,来达到网络的最优覆盖。但是,该方法仍存在的不足之处是,该方法的扩展性不足,在静态无线传感器网络中性能表现要优于随机调度算法和基本差分算法,但对于节点移动分布式场景,就会存在网络覆盖不完整、受控参数不稳定的问题。



技术实现要素:

为了克服现有技术的不足,本发明提供一种应用于分布式多跳网络的自适应网络覆盖方法。本发明的目的在于克服现有网络覆盖控制技术的不足,提出了一种应用于分布式多跳网络的自适应网络覆盖方法。本发明与其他网络覆盖控制方法不同之处在于,利用节点分布特性,分别进行多重覆盖检测,保证了网络覆盖的正确性;感知周围节点密度,进行随机性覆盖控制检测。同时,还引入了覆盖空洞优化机制,保证了网络覆盖的完整性。

本发明实现上述目的的思路是:节点通过感知信息将节点距离进行虚拟量化,将节点覆盖区域划分成内部覆盖区域和边缘覆盖区域,并分别进行多重覆盖检测;根据周围广播节点密度确定随机性检测概率,同时添加覆盖检测保护机制;普通节点以较长的周期广播覆盖信息来减少覆盖空洞问题。

本发明解决其技术问题所采用的技术方案的具体步骤如下:

(1)节点开机接入信道,网络参数初始化;

定义网络参数变量如下:

k:覆盖控制检测计数数值,初始化为0;

z:空洞优化计数数值,初始化为0;

(2)周围环境感知,侦听阶段:

节点接收周围节点广播信息,保存邻节点身份、邻节点的周围节点信息和时隙占用信息。

节点身份分为广播节点和普通节点,节点身份默认为普通节点,如果节点不能被邻居广播节点多重覆盖,则节点选择成为广播节点,如果节点能够被邻居广播节点多重覆盖,节点仍会选择周期性发送广播信息,广播节点和普通节点广播发送周期分别为t和nthr_3*t,其中t为广播节点发送广播信息周期,nthr_3为空洞检测阈值,空洞检测阈值nthr_3根据邻节点中广播节点个数自适应变化,若邻节点中广播节点个数为n,则nthr_3取值为n的一倍或两倍值;

(3)邻节点中广播节点处理过程:

(3a)根据步骤(2)中保存的邻节点信息,计算邻节点中广播节点个数n;

(3b)计算本节点与每个广播节点相似率,根据相似率大小确定节点间距离标志位dis_flag1大小;所述节点相似率为两节点的公共邻节点的个数与节点邻节点个数的比值;

节点通信半径为rs,以节点为中心,为半径的区域为内部覆盖区域,的圆弧区域为边缘覆盖区域;节点间距离标志位dis_flag1,是指根据节点间距离标志位dis_flag1大小对邻节点分布区域划分成内部覆盖区域和边缘覆盖区域;

节点i和节点j邻节点个数分别为m和n,两节点公共节点个数为q,则两节点分别相似率为

dis_flag1按照公式(1)进行计算,其中,在节点随机分布场景下,硬门限ht和软门限st分别设为0.6和0.15;

(3c)将距离标志位dis_flag1为1的广播节点放入内部覆盖区域节点集合g1中,将距离标志位dis_flag1大于0的广播节点放入全覆盖区域节点集合g2中;

(4)根据步骤(3a)邻节点中广播节点个数n确定覆盖控制检测概率p;

覆盖控制检测概率p,是指节点根据周围广播节点密度自适应选择覆盖控制检测概率,按照公式(2)确定覆盖控制检测概率p,其中参数d为网络中理想节点度数;

覆盖控制随机性检测过程:

r=rand()%10(3)

针对检测概率p下,随机检测过程:参照公式(3)借助随机数函数rand()生成一个0-9的随机数r,根据随机数r参照公式(4)得到返回结果result;

若返回结果result为true,则执行步骤(6);

若返回结果result为false,则执行步骤(10);

(6)内部覆盖区域检测过程:

将覆盖控制检测计数数值k置零;

若内部覆盖区域节点集合g1元素个数大于或等于阈值nthr_1,则执行步骤(11);

若内部覆盖区域节点集合g1元素个数小于阈值nthr_1,则执行步骤(7);

其中,覆盖控制检测阈值nthr_1为d/2,d为网络中理想节点度数;

(7)内部覆盖区域二重覆盖检测:

对于内部覆盖区域集合中的每一个节点执行以下检测,若满足终止条件,则终止检测;

(7a)计算集合中每一个节点和每一个后续节点的节点相似率,并根据相似率大小确定两节点间距离标志位dis_flag2大小;

后续节点,是指内部覆盖区域集合中排在节点后面的广播节点;

步骤(3b)中的距离标志位dis_flag1是计算本节点和邻节点的距离标志大小,步骤(7a)中距离标志位dis_flag2是计算内部覆盖区域集合中相邻节点间的距离标志大小,两者并不一样;

(7b)若广播节点间距离标志位dis_flag2大于1,则完成对目标节点的覆盖,执行步骤(11);否则继续进行后续广播节点内部覆盖区域检测;

(8)全覆盖区域检测预处理:

对邻节点中每个广播节点bi通过全覆盖区域节点集合g2计算出与广播节点bi不相邻的广播节点,并将它们保存下来,得到与广播节点bi不相邻的广播节点集合hi;

(9)全覆盖区域三重覆盖检测:

对于全覆盖区域集合中的每一个广播节点执行以下检测,满足终止条件,则终止检测:

(9a)计算集合中每一个节点bi与其中每一个不相邻后续节点bj的不相邻广播节点集合的交集h';

h'=hi∩hj(5)

(9b)若两广播节点不相邻广播节点集合的交集h'不为空集,则完成对目标节点的覆盖,执行步骤(11);否则继续进行后续广播节点全覆盖区域检测;

(10)发起覆盖控制检测优化过程:

(10a)若覆盖控制检测计数数值大于检测阈值,即k>=nthr_2,则执行步骤(6);

覆盖控制检测阈值nthr_2,是指节点在随机性检测条件下,为防止节点长期不进行覆盖检测,设置一个阈值nthr_2,如果连续nthr_2次没有进行覆盖检测,则强制节点进行一次覆盖控制检测,该值设置为3-5;

(10b)若覆盖控制检测计数数值小于检测阈值,即k<nthr_2,则将检测计数数值k进行加一操作,执行步骤(11);

(11)发起覆盖空洞优化过程:

(11a)若空洞计数数值z大于空洞检测阈值,即z>=nthr_3,则将空洞计数数值z置零,执行步骤(13);

(11b)若空洞计数数值z小于空洞检测阈值,即z<nthr_3,则将空洞计数数值z加一,执行步骤(12);

(12)节点成为普通节点,无需承担网络覆盖广播任务,执行步骤(14);

(13)节点成为广播节点,定期向周围广播网络覆盖消息,执行步骤(14);

(14)当前覆盖控制检测结束。

本发明的有益效果在于:

第一,由于本发明采用根据周围广播节点密度确定覆盖检测随机性概率p,克服了现有技术中节点通过随机轮转广播方式带来的冲突碰撞问题,使得网络中广播节点能够占用稳定的资源无冲突的广播覆盖消息,避免了时隙资源频繁申请、释放,提高了网络覆盖的稳定和效率。

第二,由于本发明根据节点间量化的虚拟距离将节点覆盖范围划分成内部覆盖区域和边缘覆盖区域,并分别采用不同的多重覆盖检测策略,克服了现有技术中通过物理装置获取地理位置信息,造成性能普通的网络节点无法应用的问题,使得本发明可以在性能普通的网络节点上得以应用,提高了网络覆盖控制的普及性。

第三,由于本发明引入了覆盖检测优化机制、空洞避免优化机制,克服了现有技术中由于节点移动、信号干扰、障碍物遮挡导致的覆盖空洞问题,使得本发明在保证网络覆盖的完整性方面有着不错的表现。

附图说明

图1是本发明的流程图。

图2是本发明的二重覆盖典型示意图。

图3是本发明的勒洛三角形示意图。

图4是本发明的三重覆盖典型示意图。

具体实施方式

下面结合附图和实施例对本发明进一步说明。

本发明技术方案的具体步骤如下:

(1)节点开机接入信道,网络参数初始化;

定义网络参数变量如下:

k:覆盖控制检测计数数值,初始化为0;

z:空洞优化计数数值,初始化为0;

(2)周围环境感知,侦听阶段:

节点接收周围节点广播信息,保存邻节点身份、邻节点的周围节点信息和时隙占用信息。

在本方法网络场景中,节点身份分为广播节点和普通节点,两者本质区别在于发送广播信息频率不同。节点身份默认为普通节点,如果节点不能被邻居广播节点多重覆盖,则节点选择成为广播节点,如果节点能够被邻居广播节点多重覆盖,节点仍会选择周期性发送广播信息(周期大于广播节点的广播周期),保证网络覆盖质量和网络的容错性。正常情况下,广播节点和普通节点广播发送周期分别为t和nthr_3*t,其中t为广播节点发送广播信息周期,nthr_3为步骤(11a)中空洞检测阈值,空洞检测阈值nthr_3,覆盖控制检测方法是基于网络节点随机分布的特性,在实际应用时,由于节点移动因素,覆盖检测并不能保证完全全覆盖,为了应对这一潜在风险,选择将普通节点以较长的周期广播一次覆盖信息,减少覆盖空洞,空洞检测阈值nthr_3,根据邻节点中广播节点个数自适应变化,若邻节点中广播节点个数为n,则nthr_3取值为n的一倍或两倍值;

(3)邻节点中广播节点处理过程:

(3a)根据步骤(2)中保存的邻节点信息,计算邻节点中广播节点个数n;

(3b)计算本节点与每个广播节点相似率,根据相似率大小确定节点间距离标志位dis_flag1大小;所述节点相似率为两节点的公共邻节点的个数与节点邻节点个数的比值;

节点通信半径为rs,以节点为中心,为半径的区域为内部覆盖区域,的圆弧区域为边缘覆盖区域;节点间距离标志位dis_flag1,是指根据节点间距离标志位dis_flag1大小对邻节点分布区域划分成内部覆盖区域和边缘覆盖区域;

节点i和节点j邻节点个数分别为m和n,两节点公共节点个数为q,则两节点分别相似率为

dis_flag1按照公式(1)进行计算,其中,在节点随机分布场景下,硬门限(ht)和软门限(st)分别设为0.6、0.15;

(3c)将距离标志位dis_flag1为1的广播节点放入内部覆盖区域节点集合g1中,将距离标志位dis_flag1大于0的广播节点放入全覆盖区域节点集合g2中;

(4)根据步骤(3a)邻节点中广播节点个数n确定覆盖控制检测概率p;

覆盖控制检测概率p,是指节点根据周围广播节点密度自适应选择覆盖控制检测概率,按照公式(2)确定覆盖控制检测概率p,其中参数d为网络中理想节点度数;

覆盖控制随机性检测过程:

r=rand()%10(3)

针对检测概率p下,随机检测过程:参照公式(3)借助随机数函数rand()生成一个0-9的随机数r,根据随机数r参照公式(4)得到返回结果result;

若返回结果result为true,则执行步骤(6);

若返回结果result为false,则执行步骤(10);

(6)内部覆盖区域检测过程:

将覆盖控制检测计数数值k置零;

若内部覆盖区域节点集合g1元素个数大于或等于阈值nthr_1,则执行步骤(11);

若内部覆盖区域节点集合g1元素个数小于阈值nthr_1,则执行步骤(7);

其中,覆盖控制检测阈值nthr_1为d/2,d为网络中理想节点度数;

(7)内部覆盖区域二重覆盖检测:

对于内部覆盖区域集合中的每一个节点执行以下检测,若满足终止条件,则终止检测;

(7a)计算集合中每一个节点和每一个后续节点的节点相似率,并根据相似率大小确定两节点间距离标志位dis_flag2大小;

后续节点,是指内部覆盖区域集合中排在节点后面的广播节点;

步骤(3b)中的距离标志位dis_flag1是计算本节点和邻节点的距离标志大小,步骤(7a)中距离标志位dis_flag2是计算内部覆盖区域集合中相邻节点间的距离标志大小,两者并不一样。

(7b)若广播节点间距离标志位dis_flag2大于1,则完成对目标节点的覆盖,执行步骤(11);否则继续进行后续广播节点内部覆盖区域检测;

(8)全覆盖区域检测预处理:

对邻节点中每个广播节点bi通过全覆盖区域节点集合g2计算出与广播节点bi不相邻的广播节点,并将它们保存下来,得到与广播节点bi不相邻的广播节点集合hi;

(9)全覆盖区域三重覆盖检测:

对于全覆盖区域集合中的每一个广播节点执行以下检测,满足终止条件,则终止检测:

(9a)计算集合中每一个节点bi与其中每一个不相邻后续节点bj的不相邻广播节点集合的交集h';

h'=hi∩hj(5)

(9b)若两广播节点不相邻广播节点集合的交集h'不为空集,则完成对目标节点的覆盖,执行步骤(11);否则继续进行后续广播节点全覆盖区域检测;

(10)发起覆盖控制检测优化过程:

(10a)若覆盖控制检测计数数值大于检测阈值,即k>=nthr_2,则执行步骤(6);

覆盖控制检测阈值nthr_2,是指节点在随机性检测条件下,为防止节点长期不进行覆盖检测,设置一个阈值nthr_2,如果连续nthr_2次没有进行覆盖检测,则强制节点进行一次覆盖控制检测,该值设置为3-5;

(10b)若覆盖控制检测计数数值小于检测阈值,即k<nthr_2,则将检测计数数值k进行加一操作,执行步骤(11);

(11)发起覆盖空洞优化过程:

(11a)若空洞计数数值z大于空洞检测阈值,即z>=nthr_3,则将空洞计数数值z置零,执行步骤(13);

(11b)若空洞计数数值z小于空洞检测阈值,即z<nthr_3,则将空洞计数数值z加一,执行步骤(12);

(12)节点成为普通节点,无需承担网络覆盖广播任务,执行步骤(14);

(13)节点成为广播节点,定期向周围广播网络覆盖消息,执行步骤(14);

(14)当前覆盖控制检测结束。

下面结合附图,对本发明作进一步的详细描述。

参照图1,对本发明实施步骤作进一步的详细描述。

步骤1.节点开机接入信道,网络参数初始化。

定义网络参数变量如下:

k:覆盖控制检测计数数值,初始化为0;

z:空洞优化计数数值,初始化为0;

步骤2.周围环境感知,侦听阶段。

节点接收周围节点广播信息,保存邻节点身份、邻节点的周围节点信息、时隙占用信息。

步骤3.邻节点中广播节点处理过程。

根据步骤2中保存的邻节点信息,计算邻节点中广播节点个数n。

计算本节点与每个广播节点相似率,根据相似率大小确定节点间距离标志位dis_flag1大小。

将距离标志位dis_flag1为1的广播节点放入内部覆盖区域节点集合g1中,将距离标志位dis_flag1大于0的广播节点放入全覆盖区域节点集合g2中。

节点相似率,是指两节点的公共邻节点的个数与节点邻节点个数的比值。

节点通信半径为rs,以节点为中心,为半径的区域为内部覆盖区域,的圆弧区域为边缘覆盖区域。节点间距离标志位dis_flag1,是指根据节点间距离标志位dis_flag1大小对邻节点分布区域划分成内部覆盖区域和边缘覆盖区域。

节点i和节点j邻节点个数分别为m、n,两节点公共节点个数为q。则两节点分别相似率为

dis_flag1按照公式(1)进行计算,其中,在节点随机分布场景下,硬门限(ht)和软门限(st)分别设为0.6、0.15比较合适。

步骤4.根据步骤3邻节点中广播节点个数n确定覆盖控制检测概率p

覆盖控制检测概率p,是指节点根据周围广播节点密度自适应选择覆盖控制检测概率p,按照公式(2)确定覆盖控制检测概率p,其中参数d为网络中理想节点度数。

理想节点度数,是指节点的邻节点中最佳工作节点个数。

步骤5.覆盖控制随机性检测过程。

r=rand()%10(3)

针对检测概率p下,随机检测过程:参照公式(3)借助随机数函数rand()生成一个0-9的随机数r,根据随机数r参照公式(4)得到返回结果result。

注:rand()函数是c语言中产生随机数的一个随机函数。

若返回结果result为true,则执行步骤6。

若返回结果result为false,则执行步骤10。

步骤6.内部覆盖区域检测过程。

将覆盖控制检测计数数值k置零。

若内部覆盖区域节点集合g1元素个数大于或等于阈值nthr_1,则执行步骤11。

若内部覆盖区域节点集合g1元素个数小于阈值nthr_1,则执行步骤7。

覆盖控制检测阈值nthr_1为d/2,d为网络中理想节点度数。

步骤7.内部覆盖区域二重覆盖检测。

对于内部覆盖区域集合中的每一个节点执行以下检测,若满足终止条件,则终止检测。

计算集合中每一个节点和每一个后续节点的节点相似率,并根据相似率大小确定两节点间距离标志位dis_flag2大小。

若广播节点间距离标志位dis_flag2大于1,则完成对目标节点的覆盖,执行步骤11;否则继续进行后续广播节点内部覆盖区域检测。

后续节点,是指内部覆盖区域集合中排在节点后面的广播节点。

参照图2,执行内部覆盖区域二重覆盖检测。对于a作为参照点,广播节点b、c都属于a节点的邻节点,区域内其他节点随机分布,以虚拟量化距离近似等于物理距离,节点a和广播节点b、c的距离标志位dis_flag2为1,广播节点b、c位于节点a的内部覆盖区域,且广播节点b、c的距离标志位dis_flag2为2,满足内部覆盖区域二重覆盖检测条件,则广播节点b、c完成对参照点a的覆盖,执行步骤11;若广播节点b、c的距离标志位dis_flag2为1,不满足内部覆盖区域二重覆盖检测条件,则继续检测节点a的内部覆盖区域集合中是否存在其他一对广播节点是否满足二重覆盖检测条件。

步骤8.全覆盖区域检测预处理。

对邻节点中每个广播节点bi通过全覆盖区域节点集合g2计算出与广播节点bi不相邻的广播节点,并将它们保存下来,得到与广播节点bi不相邻的广播节点集合hi。

步骤9.全覆盖区域三重覆盖检测。

对于全覆盖区域集合中的每一个广播节点执行以下检测,满足终止条件,则终止检测。

计算集合中每一个节点bi与其中每一个不相邻后续节点bj的不相邻广播节点集合的交集h'。

h'=hi∩hj(5)

若两广播节点不相邻广播节点集合的交集h'不为空集,则完成对目标节点的覆盖,执行步骤11;否则继续进行后续广播节点全覆盖区域检测。

参照图3的勒洛三角形示意图,以等边三角形三个顶点为圆心,以三角形边长为半径作圆,所形成的三个圆周的交集区域,称为勒洛三角形。勒洛三角形内部任一节点的覆盖区域可以被以勒洛三角形顶点为中心、半径为三角形边长形成三圆区域而覆盖,称为三重覆盖。

参照图4的三重覆盖典型示意图,执行全覆盖区域三重覆盖检测。对于a作为参照点,广播节点b、c、d都属于a节点的邻节点,区域内其他节点随机分布,以虚拟量化距离近似等于物理距离。广播节点b、c、d都是a节点全覆盖区域集合中的节点,若广播节点b、c、d互不相邻,满足全覆盖区域三重覆盖检测条件,则广播节点b、c、d完成对参照点a的覆盖,执行步骤11;若广播节点b、c、d不是互不相邻,不满足全覆盖区域三重覆盖检测条件,则继续检测节点a的全覆盖区域集合中是否存在其他一组广播节点是否满足三重覆盖检测条件。

步骤10.发起覆盖控制检测优化过程。

若覆盖控制检测计数数值大于检测阈值,即k>=nthr_2,则执行步骤6。

若覆盖控制检测计数数值小于检测阈值,即k<nthr_2,则将检测计数数值k进行加一操作,执行步骤11。

覆盖控制检测阈值nthr_2,是指节点在随机性检测条件下,为防止节点长期不进行覆盖检测,设置一个阈值nthr_2,如果连续nthr_2次没有进行覆盖检测,则强制节点进行一次覆盖控制检测,该值一般设置为3-5比较合适。

步骤11.发起覆盖空洞优化过程。

若空洞计数数值z大于检测阈值,即z>=nthr_3,则将空洞计数数值z置零,执行步骤13。

若空洞计数数值z小于检测阈值,即z<nthr_3,则将空洞计数数值z加一,执行步骤。

空洞检测阈值nthr_3,是指在本文中覆盖控制检测方法是基于网络节点随机分布的特性,在实际应用时,由于节点移动因素,覆盖检测并不能保证完全全覆盖,为了应对这一潜在风险,选择将普通节点以较长的周期广播一次覆盖信息,减少覆盖空洞。空洞检测阈值nthr_3,根据邻节点中广播节点个数自适应变化,若邻节点中广播节点个数为n,则nthr_3取值为n的一倍或两倍值即可。

步骤12.节点成为普通节点,无需承担网络覆盖广播任务,执行步骤14。

步骤13.节点成为广播节点,定期向周围广播网络覆盖消息,执行步骤14。

步骤14.当前覆盖控制检测结束。

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