基于集群划分的水下无线传感器网络覆盖漏洞修复算法制造技术

技术编号:20876650 阅读:21 留言:0更新日期:2019-04-17 11:42
基于集群划分的水下无线传感器网络覆盖漏洞修复算法,包括下述内容:运用三维密集网络的拓扑模型,将整个三维空间划分为多个相同的虚拟组成单元;通过建立覆盖矩阵和分割单元之间的映射寻找失效节点及漏洞边缘节点,分析漏洞边缘节点感知半径和距离分割单元中心长度之间的关系对漏洞进行检测;选择关键位置和补充节点位置。基于以上信息和集群休眠调度算法的相关定义,通过漏洞检测、确定补充节点、找寻唤醒新的补充节点直到成功、移动被唤醒节点来实现覆盖漏洞修复,从而实现网络的高覆盖、高连通和低能耗。

【技术实现步骤摘要】
基于集群划分的水下无线传感器网络覆盖漏洞修复算法
本专利技术属于水下无线传感器网络拓扑控制技术,具体涉及一种基于集群划分的水下无线传感器网络覆盖漏洞修复算法。
技术介绍
水资源是人类赖以生存和发展的不可缺少的宝贵财富,地球表面72%的面积都被河流、湖泊和海洋等各类水体覆盖,因此如何合理地开发水下资源,减少对陆地资源的依赖,就成为人与自然可持续发展的重要手段之一。水下传感器网络(UWSNs)在海洋监测和资源发现等方面具有广阔的应用前景,可以有效地采集到水温、水压、水流方向、海底地形以及海底矿藏等数据,因此,UWSNs已成为当前研究的热点。但是在水下环境中,节点能量有限且很难更换电池,若是节点能量耗尽将会造成网络覆盖漏洞,甚至出现局部网络瘫痪,大大影响网络性能。因此设计一种高覆盖、高连通、低能耗的水下无线传感器网络拓扑控制算法具有重要意义。
技术实现思路
本专利技术的目的是针对上述问题,提供了一种对水下传感器网络具有较好漏洞修复性能,同时能保持较高的网络覆盖率和较低的网络能耗的一种基于集群划分的水下无线传感器网络覆盖漏洞修复算法。基于集群划分的水下无线传感器网络覆盖漏洞修复算法,包括以下步骤:步骤1:运用三维密集网络的拓扑模型,将整个三维空间划分为多个相同的虚拟组成单元,保证每一个分割单元内都存在一个可以正常工作的传感器节点,就可以确定整个传感器网络是高度覆盖的。步骤2:漏洞检测。进行相关定义并通过建立分割单元和覆盖矩阵之间的映射,寻找出现的某些分割单元内存在失效节点,假设集群中可能出现覆盖漏洞,再依据漏洞边缘节点感知半径的关系和距离分割单元中心长度确定是否真的存在覆盖漏洞;步骤2.1:相关定义定义1:覆盖率Cr:传感器网络的覆盖率是指传感器节点感知范围V1,V2,…,Vn的交集与监控区域体积VA的比值,即定义2:分割单元:目标三维区域A可以被分割为若干个相同的多面体Polytope,则本专利技术中将立方体作为分割单元;定义3:集群:立方体分割单元与其26个一级物理邻接单元组成的立方体称为集群;定义4:节点编号ID0:使用节点在监控区域的三维坐标系中的坐标(x,y,z)作为节点的编号,记为IDo=(x,y,z);定义5:分割单元编号ID1:每一个分割单元设置一个唯一的身份标识号码,即分割单元编号ID1=(i,j,k),其中i代表分割单元所处的行数,j代表分割单元所处的列数,k代表分割单元所处的层数;所以每一个编号为(i,j,k)的分割立方体的坐标范围为:因此,节点可以通过ID0得到所在分割单元的编号:定义6:集群编号ID2:每一个集群设置一个唯一的身份标识号码,即集群编号ID2=(a,b,c);则该集群的坐标范围为:因此,节点可以通过ID0得到所在集群的编号:定义7:节点等级Rank:根据节点在分割单元内的位置信息划分节点的级别,记为节点等级Rank;定义8:通信半径rc:传感器节点的通信范围与感知范围相似;定义11:节点等级Rank:根据节点在分割单元内的位置信息划分节点的级别,记为节点等级Rank;定义12:失效节点:那些因为能量耗尽、部件故障等因素而不能够正常实现感知、采集、处理和传输等功能的传感器节点被称为失效节点。定义13:覆盖漏洞:因为存在了失效节点,因此在传感器网络的监控范围内就产生了一个不能被任何一个传感器节点所覆盖的连续的三维区域。定义14:漏洞边缘节点:如果覆盖漏洞的周围存在着可以正常工作的传感器节点,那么称这些传感器节点为漏洞边缘节点。定义15:覆盖矩阵:将分割单元的三维排列映射为二维矩阵,用来记录分割单元内是否存在正常工作的传感器节点,从而得到网络的覆盖状况。因此这个二维矩阵就被称为覆盖矩阵。步骤2.2:建立覆盖矩阵首先,临时控制节点建立一个n×m的全0矩阵,表示该集群内的每一个分割单元中都不存在正常工作的传感器节点。随后,当临时控制节点接收到数据时,判断发送该数据的节点来自于哪个分割单元,从而就可以认为该分割单元内存在可以正常工作的传感器节点,然后就根据分割单元与矩阵的映射关系将覆盖矩阵相应位置上的数据更改为1。最后,当矩阵由全0变为全1时就表示覆盖矩阵建立完毕。因此分割单元与矩阵的映射关系如下:已知分割单元编号ID1=(i,j,k),那么就规定ID1=(1,1,1)的分割单元映射在覆盖矩阵上的位置为n=1且m=1,即覆盖矩阵的第1行第1列的位置;ID1=(2,2,2)的分割单元映射在覆盖矩阵上的位置为n=5且m=2,即覆盖矩阵的第5行第2列的位置;ID1=(3,3,3)的分割单元映射在覆盖矩阵上的位置为n=9且m=3,即覆盖矩阵的第9行第3列的位置,以此类推。最终,我们可以得到分割单元与矩阵的映射关系为:步骤2.3:找到失效节点所在的分割单元已知集群编号为ID2=(a,b,c),假设在覆盖矩阵中n=n0且m=m0处的数据为0,即在覆盖矩阵第n0行第m0列的位置上的数据为0,我们就可以确定失效节点所在的分割单元编号为ID1=(i,j,k),对应关系如下所示:步骤2.4:确定漏洞边缘节点根据漏洞边缘节点定义可知,在覆盖漏洞周围的正常工作的传感器节点都可以称为漏洞边缘节点,而本算法是基于集群划分的概念,所以我们就可以将失效节点所在的分割单元近似的看作为覆盖漏洞,因此漏洞边缘节点就可以看作是该分割单元的一级物理邻接单元内可以正常工作的传感器节点。但是,如果按照这种方式找寻漏洞边缘节点就很不合理,因为在此种情况下最多可能会出现26个漏洞边缘节点。因此,根据集群的定义,我们就可以规定失效节点所在的分割单元的一级物理邻接单元内的1类邻接单元中可以正常工作的传感器节点为该覆盖漏洞的漏洞边缘节点,即与该分割单元的一个面重合的邻接单元内的正常工作的传感器节点可以称为漏洞边缘节点。步骤2.5:确定是否需要修复覆盖漏洞假设失效节点所在分割单元的编号为ID1=(i,j,k),因此该分割单元中心位置点C的坐标为其中l表示分割单元边长。在上一步骤中我们已经确定了漏洞边缘节点,因此可以依次求得漏洞边缘节点Ni与点C的距离为如果存在d(Ni,C)≤rs,则该覆盖漏洞可以忽略不计,即不需要进行后续的漏洞修复操作,其中rs表示该漏洞边缘节点的感知半径;否则需继续执行漏洞修复算法。步骤3:选择关键位置。考虑传感器节点的能量消耗问题,将传感器节点所在位置分等级设置不同感知半径,每个等级设置关键位置放置节点,使得完全覆盖该节点所在分割单元;由于考虑到传感器节点的能量消耗问题,所以根据传感器节点所在的位置将其分为三个等级,从而设置不同的感知半径。因此将分隔单元的中心横截面被分为三个等级,为每一个等级设置相应的关键位置,使得布放在该位置上的传感器节点可以完全覆盖该节点所在的分隔单元。由于可能会出现一个等级中存在多个关键位置的情况,因此,在本算法中就为每一个等级在满足了关键位置定义的位置坐标中选择一部分作为该等级的关键位置。所以,关键位置可以总结为:(1)一级节点即Rank=1的节点所对应的关键位置为K11,其位置坐标为:(2)二级节点即Rank=2的节点所对应的关键位置分别为K21、K22、K23、K24,其位置坐标分别为:(3)三级节点即Rank=3的节点所对应的关键位置分别为K31、K32,其位置坐标分别为:步骤4:选择补本文档来自技高网...

【技术保护点】
1.基于集群划分的水下无线传感器网络覆盖漏洞修复算法,其特征在于以下步骤:步骤1:运用三维密集网络的拓扑模型,将整个三维空间划分为多个相同的虚拟组成单元,保证每一个分割单元内都存在一个可以正常工作的传感器节点,就可以确定整个传感器网络是高度覆盖的;步骤2:漏洞检测,进行相关定义并通过建立分割单元和覆盖矩阵之间的映射,寻找出现的某些分割单元内存在失效节点,假设集群中可能出现覆盖漏洞,再依据漏洞边缘节点感知半径的关系和距离分割单元中心长度确定是否真的存在覆盖漏洞;步骤2.1:相关定义定义1:覆盖率Cr:传感器网络的覆盖率是指传感器节点感知范围V1,V2,…,Vn的交集与监控区域体积VA的比值,即

【技术特征摘要】
1.基于集群划分的水下无线传感器网络覆盖漏洞修复算法,其特征在于以下步骤:步骤1:运用三维密集网络的拓扑模型,将整个三维空间划分为多个相同的虚拟组成单元,保证每一个分割单元内都存在一个可以正常工作的传感器节点,就可以确定整个传感器网络是高度覆盖的;步骤2:漏洞检测,进行相关定义并通过建立分割单元和覆盖矩阵之间的映射,寻找出现的某些分割单元内存在失效节点,假设集群中可能出现覆盖漏洞,再依据漏洞边缘节点感知半径的关系和距离分割单元中心长度确定是否真的存在覆盖漏洞;步骤2.1:相关定义定义1:覆盖率Cr:传感器网络的覆盖率是指传感器节点感知范围V1,V2,…,Vn的交集与监控区域体积VA的比值,即定义2:分割单元:目标三维区域A可以被分割为若干个相同的多面体Polytope,则本发明中将立方体作为分割单元;定义3:集群:立方体分割单元与其26个一级物理邻接单元组成的立方体称为集群;定义4:节点编号ID0:使用节点在监控区域的三维坐标系中的坐标(x,y,z)作为节点的编号,记为IDo=(x,y,z);定义5:分割单元编号ID1:每一个分割单元设置一个唯一的身份标识号码,即分割单元编号ID1=(i,j,k),其中i代表分割单元所处的行数,j代表分割单元所处的列数,k代表分割单元所处的层数;所以每一个编号为(i,j,k)的分割立方体的坐标范围为:因此,节点可以通过ID0得到所在分割单元的编号:定义6:集群编号ID2:每一个集群设置一个唯一的身份标识号码,即集群编号ID2=(a,b,c);则该集群的坐标范围为:因此,节点可以通过ID0得到所在集群的编号:定义7:节点等级Rank:根据节点在分割单元内的位置信息划分节点的级别,记为节点等级Rank;定义8:通信半径rc:传感器节点的通信范围与感知范围相似;定义11:节点等级Rank:根据节点在分割单元内的位置信息划分节点的级别,记为节点等级Rank;定义12:失效节点:那些因为能量耗尽、部件故障等因素而不能够正常实现感知、采集、处理和传输等功能的传感器节点被称为失效节点;定义13:覆盖漏洞:因为存在了失效节点,因此在传感器网络的监控范围内就产生了一个不能被任何一个传感器节点所覆盖的连续的三维区域;定义14:漏洞边缘节点:如果覆盖漏洞的周围存在着可以正常工作的传感器节点,那么称这些传感器节点为漏洞边缘节点;定义15:覆盖矩阵:将分割单元的三维排列映射为二维矩阵,用来记录分割单元内是否存在正常工作的传感器节点,从而得到网络的覆盖状况,因此这个二维矩阵就被称为覆盖矩阵;步骤2.2:建立覆盖矩阵首先,临时控制节点建立一个n×m的全0矩阵,表示该集群内的每一个分割单元中都不存在正常工作的传感器节点,随后,当临时控制节点接收到数据时,判断发送该数据的节点来自于哪个分割单元,从而就可以认为该分割单元内存在可以正常工作的传感器节点,然后就根据分割单元与矩阵的映射关系将覆盖矩阵相应位置上的数据更改为1,最后,当矩阵由全0变为全1时就表示覆盖矩阵建立完毕;因此分割单元与矩阵的映射关系如下:已知分割单元编号ID1=(i,j,k),那么就规定ID1=(1,1,1)的分割单元映射在覆盖矩阵上的位置为n=1且m=1,即覆盖矩阵的第1行第1列的位置;ID1=(2,2,2)的分割单元映射在覆盖矩阵上的位置为n=5且m=2,即覆盖矩阵的第5行第2列的位置;ID1=(3,3,3)的分割单元映射在覆盖矩阵上的位置为n=9且m=3,即覆盖矩阵的第9行第3列的位置,以此类推,最终,我们可以得到分割单元与矩阵的映射关系为:步骤2.3:找到失效节点所在的分割单元已知集群编号为ID2=(a,b,c),假设在覆盖矩阵中n=n0且m=m0处的数据为0,即在覆盖矩阵第n0行第m0列的位置上的数据为0,我们就可以确定失效节点所在的分割单元编号为ID1=(i,j,k),对应关系如下所示:步骤2.4:确定漏洞边缘节点根据漏洞边缘节点定义可知,在覆盖漏洞周围的正常工作的传感器节点都可以称为漏洞边缘节点,而本算法是基于集群划分的概念,所以我们就可以将失效节点所在的分割单元近似的看作为覆盖漏洞,因此漏洞边缘节点就可以看作是该分割单元的一级物理邻接单元内可以正常工作的传感器节点,但是,如果按照这种方式找寻漏洞边缘节点就很不合理,因为在此种情况下最多可能会出现26个漏洞边缘节点,因此,根据集群的定义,我们就可以规定失效节点所在的分割单元的一级物理邻接单元内的1类邻接单元中可以正常工作的传感器节点为该覆盖漏洞的漏洞边缘节点,即与该分割单元的一个面重合的邻接单元内的正常工作的传感器节点可以称为漏洞边缘节点;步骤2.5:确定是否需要修复覆盖漏洞假设失效节点所在分割单元的编号为ID1=(i,j,k),因此该分割单元中心位置点C的坐标为其中l表示分割单元边长,在上一步骤中我们已经确定了漏洞边缘节点,因此可以依次求得漏洞边缘节点Ni与点C的距离为如果存在d(Ni,C)≤rs,则该覆盖漏洞可以忽略不计,即不需要进行后续的漏洞修复操作,其中rs表示该漏洞边缘节点的感知半径;否则需继续执行漏洞修复算法;步骤3:选择关键位置,考虑传感器节点的能量消耗问题,将传感器节点所在位置分等级设置不同感知半径,每个等级设置关键位置放置节点,使得完全覆盖该节点所在分割单元;由于考虑到传感器节点的能量消耗问题,所以根据传感器节点所在的位置将其分为三个等...

【专利技术属性】
技术研发人员:张文波谭小波张林丛付立冬魏宣任
申请(专利权)人:沈阳理工大学
类型:发明
国别省市:辽宁,21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1