CN109640333B - 基于集群划分的水下无线传感器网络覆盖漏洞修复算法 - Google Patents
基于集群划分的水下无线传感器网络覆盖漏洞修复算法 Download PDFInfo
- Publication number
- CN109640333B CN109640333B CN201811523945.6A CN201811523945A CN109640333B CN 109640333 B CN109640333 B CN 109640333B CN 201811523945 A CN201811523945 A CN 201811523945A CN 109640333 B CN109640333 B CN 109640333B
- Authority
- CN
- China
- Prior art keywords
- node
- coverage
- nodes
- vulnerability
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W16/00—Network planning, e.g. coverage or traffic planning tools; Network deployment, e.g. resource partitioning or cells structures
- H04W16/18—Network planning tools
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/04—Arrangements for maintaining operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0203—Power saving arrangements in the radio access network or backbone network of wireless communication networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Testing Or Calibration Of Command Recording Devices (AREA)
- Small-Scale Networks (AREA)
Abstract
基于集群划分的水下无线传感器网络覆盖漏洞修复算法,包括下述内容:运用三维密集网络的拓扑模型,将整个三维空间划分为多个相同的虚拟组成单元;通过建立覆盖矩阵和分割单元之间的映射寻找失效节点及漏洞边缘节点,分析漏洞边缘节点感知半径和距离分割单元中心长度之间的关系对漏洞进行检测;选择关键位置和补充节点位置。基于以上信息和集群休眠调度算法的相关定义,通过漏洞检测、确定补充节点、找寻唤醒新的补充节点直到成功、移动被唤醒节点来实现覆盖漏洞修复,从而实现网络的高覆盖、高连通和低能耗。
Description
技术领域
本发明属于水下无线传感器网络拓扑控制技术,具体涉及一种基于集群划分的水下无线传感器网络覆盖漏洞修复算法。
背景技术
水资源是人类赖以生存和发展的不可缺少的宝贵财富,地球表面72%的面积都被河流、湖泊和海洋等各类水体覆盖,因此如何合理地开发水下资源,减少对陆地资源的依赖,就成为人与自然可持续发展的重要手段之一。水下传感器网络(UWSNs)在海洋监测和资源发现等方面具有广阔的应用前景,可以有效地采集到水温、水压、水流方向、海底地形以及海底矿藏等数据,因此,UWSNs已成为当前研究的热点。但是在水下环境中,节点能量有限且很难更换电池,若是节点能量耗尽将会造成网络覆盖漏洞,甚至出现局部网络瘫痪,大大影响网络性能。因此设计一种高覆盖、高连通、低能耗的水下无线传感器网络拓扑控制算法具有重要意义。
发明内容
本发明的目的是针对上述问题,提供了一种对水下传感器网络具有较好漏洞修复性能,同时能保持较高的网络覆盖率和较低的网络能耗的一种基于集群划分的水下无线传感器网络覆盖漏洞修复算法。
基于集群划分的水下无线传感器网络覆盖漏洞修复算法,包括以下步骤:
步骤1:运用三维密集网络的拓扑模型,将整个三维空间划分为多个相同的虚拟组成单元,保证每一个分割单元内都存在一个可以正常工作的传感器节点,就可以确定整个传感器网络是高度覆盖的。
步骤2:漏洞检测。进行相关定义并通过建立分割单元和覆盖矩阵之间的映射,寻找出现的某些分割单元内存在失效节点,假设集群中可能出现覆盖漏洞,再依据漏洞边缘节点感知半径的关系和距离分割单元中心长度确定是否真的存在覆盖漏洞;
步骤2.1:相关定义
定义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:选择补充节点。为了得到一个覆盖率高且能耗均衡的传感器网络,出现覆盖漏洞时,在冗余节点中唤醒剩余能量高且高覆盖传感器节点修复出现的漏洞,通过位置和剩余能量参数确定补充节点;
选择的补充节点在考虑剩余能量的同时应该尽可能接近关键位置。因此设置位置系数用来表示传感器节点与关键位置的远近关系,距离关键位置越近的节点位置系数越大。假设传感器节点Q的位置坐标为(x0,y0,z0),关键位置K的位置坐标为(x,y,z),因此节点Q的位置系数为:
但是我们知道,关键位置不止一个,且与节点的等级有关,所以我们可以为不同级别的节点设置不同的位置系数。
步骤5:根据确定好的关键信息,实现覆盖漏洞修复算法。
步骤5.1:漏洞检测。临时控制节点根据漏洞检测方法找到出现覆盖漏洞的分割单元,确定分割单元编号ID1=(i0,j0,k0)。首先临时控制节点建立覆盖矩阵,根据覆盖矩阵找到可能出现覆盖漏洞的分割单元;然后找到该覆盖漏洞的漏洞边缘节点;最后确定该覆盖漏洞是否需要修复。如果需要修复,则继续执行步骤5.2;否则,结束本算法。
步骤5.2:确定补充节点。临时控制节点找到出现覆盖漏洞的分割单元内的冗余节点,并根据位置系数与剩余能量的乘积进行排序,即按照计算式的结果从大到小排列该分割单元内的冗余节点,形成补充节点序列,位于序列首位的冗余节点称为补充节点,其余的冗余节点称为候选补充节点。
步骤5.3:唤醒补充节点。临时控制节点按照此序列的顺序唤醒冗余节点,如果临时控制节点在的时间内收到了此节点发送的确认消息,即认为此补充节点唤醒成功,覆盖漏洞修复完成,所以结束本算法;如果,临时控制节点在的时间内没有收到了此节点发送的确认消息,即认为该节点还处于深度休眠状态,所以此补充节点唤醒失败,继续执行步骤5.4。
步骤5.4:继续唤醒补充节点。唤醒补充节点失败后,按照补充节点序列的顺序依次唤醒后续的补充节点,直至临时控制节点在的时间内收到候选补充节点发送的确认消息,此时认为唤醒成功,漏洞修复算法完成,所以结束本算法。如果临时控制节点在补充节点序列遍历完成后依旧没有收到任何确认信息,则继续执行步骤5.5。其中,l表示分割单元边长,v表示声信号在水下的传播速率。
步骤5.5:找寻新的补充节点。当存在覆盖漏洞的分割单元内找不到可以完成漏洞修复的补充节点后,需要找寻新的补充节点。因为在此水下无线传感器网络中,节点是可以竖直移动的,所以可以唤醒该分割单元竖直方向上传感器节点,并将其移动到此分割单元内,从而实现漏洞的修复。根据出现覆盖漏洞的分割单元的编号ID1=(i0,j0,k0),在此集群内找到分割单元编号为ID1=(i0,j0,k)的分割单元,并按照步骤5.2的方法,确定补充节点序列。
步骤5.6:唤醒新的补充节点。按照步骤5.3和步骤5.4的方法,唤醒新的补充节点。如果唤醒成功,则执行步骤5.7;否则,认为修复漏洞失败,结束本算法,此时认为该网络中节点数量有限,无法做到网络的自愈,需要借助外界的帮助来完成漏洞的修复,例如增加节点的投放,增加可水平移动的节点,在网络中加入AUV等。
步骤5.7:移动被唤醒的节点。当节点被唤醒后,调节该节点与锚连接的绳长,使其移动到出现覆盖漏洞的分割单元的中心横截面内。假设存在覆盖漏洞的分割单元编号为ID1=(i,j,k1),可以帮助修复该漏洞的补充节点所处的分割单元编号为ID1=(i,j,k2)。如果k1>k2,表示需要向上移动节点来修复存在的覆盖漏洞,可以根据水下压强公式P=ρ·g·h来判断是否到达了合适的位置,当传感器节点所受压强减小了(k1-k2)·g·ρ·l时,无需再向上移动,表示此时节点已经到达预定位置;如果k1<k2,表示需要向下移动节点来修复存在的漏洞,当传感器节点所受压强增加了(k2-k1)·g·ρ·l时,无需再向下移动,表示此时节点已经到达预定位置。其中,ρ表示液体密度,g表示重力系数,h表示距离水面距离,l表示分割单元边长。
本发明针对水下传感器网络中节点出现因能量耗尽死亡或受到外界因素干扰不能正常工作的情况,造成网络出现覆盖漏洞从而影响网络性能的问题,通过对节点的控制与调度,改变网络拓扑,从而修复覆盖漏洞,提高网络覆盖率。与传统漏洞修复算法相比,本算法针对水下传感器网络具有较好漏洞修复性能,同时能保持较高的网络覆盖率和较低的网络能耗。在网络覆盖率、网络能耗方面均比传统的漏洞修复算法更有优势,实现了网络的高覆盖、高连通和低能耗,有效解决水下节点更换困难问题。
附图说明
图1是本发明覆盖漏洞的中心横截面图。
图2是本发明节点分级与关键位置示意图。
图3是本发明使用基于集群划分的漏洞修复算法前后的覆盖率折线关系图。
图4是本发明网络覆盖率与时间的折线关系图。
图5是本发明唤醒节点数与时间的柱状关系图。
图6是本发明唤醒节点平均利用率与时间的柱状关系图。
具体实施方式
步骤1:运用三维密集网络的拓扑模型,将整个三维空间划分为多个相同的虚拟组成单元,保证每一个分割单元内都存在一个可以正常工作的传感器节点,就可以确定整个传感器网络是高度覆盖的。
步骤2:漏洞检测。进行相关定义并通过建立分割单元和覆盖矩阵之间的映射,寻找出现的某些分割单元内存在失效节点,假设集群中可能出现覆盖漏洞,再依据漏洞边缘节点感知半径的关系和距离分割单元中心长度确定是否真的存在覆盖漏洞;
步骤2.1:相关定义
定义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:覆盖漏洞:因为存在了失效节点,因此在传感器网络的监控范围内就产生了一个不能被任何一个传感器节点所覆盖的连续的三维区域。如图1所示,白色区域为覆盖漏洞的中心横截面。
定义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:选择关键位置。考虑传感器节点的能量消耗问题,将传感器节点所在位置分等级设置不同感知半径,每个等级设置关键位置放置节点,使得完全覆盖该节点所在分割单元;
由于考虑到传感器节点的能量消耗问题,所以根据传感器节点所在的位置将其分为三个等级,从而设置不同的感知半径。因此将分隔单元的中心横截面被分为三个等级,为每一个等级设置相应的关键位置,使得布放在该位置上的传感器节点可以完全覆盖该节点所在的分隔单元。由于可能会出现一个等级中存在多个关键位置的情况,因此,在本算法中就为每一个等级在满足了关键位置定义的位置坐标中选择一部分作为该等级的关键位置。所以,如图2所示,关键位置可以总结为:
(1)一级节点即Rank=1的节点所对应的关键位置为K11,其位置坐标为:
(2)二级节点即Rank=2的节点所对应的关键位置分别为K21、K22、K23、K24,其位置坐标分别为:
(3)三级节点即Rank=3的节点所对应的关键位置分别为K31、K32,其位置坐标分别为:
步骤4:选择补充节点。为了得到一个覆盖率高且能耗均衡的传感器网络,出现覆盖漏洞时,在冗余节点中唤醒剩余能量高且高覆盖传感器节点修复出现的漏洞,通过位置和剩余能量参数确定补充节点;
选择的补充节点在考虑剩余能量的同时应该尽可能接近关键位置。因此设置位置系数用来表示传感器节点与关键位置的远近关系,距离关键位置越近的节点位置系数越大。假设传感器节点Q的位置坐标为(x0,y0,z0),关键位置K的位置坐标为(x,y,z),因此节点Q的位置系数为:
但是我们知道,关键位置不止一个,且与节点的等级有关,所以我们可以为不同级别的节点设置不同的位置系数。
步骤5:根据确定好的关键信息,实现覆盖漏洞修复算法。
步骤5.1:漏洞检测。临时控制节点根据漏洞检测方法找到出现覆盖漏洞的分割单元,确定分割单元编号ID1=(i0,j0,k0)。首先临时控制节点建立覆盖矩阵,根据覆盖矩阵找到可能出现覆盖漏洞的分割单元;然后找到该覆盖漏洞的漏洞边缘节点;最后确定该覆盖漏洞是否需要修复。如果需要修复,则继续执行步骤5.2;否则,结束本算法。
步骤5.2:确定补充节点。临时控制节点找到出现覆盖漏洞的分割单元内的冗余节点,并根据位置系数与剩余能量的乘积进行排序,即按照计算式的结果从大到小排列该分割单元内的冗余节点,形成补充节点序列,位于序列首位的冗余节点称为补充节点,其余的冗余节点称为候选补充节点。
步骤5.3:唤醒补充节点。临时控制节点按照此序列的顺序唤醒冗余节点,如果临时控制节点在的时间内收到了此节点发送的确认消息,即认为此补充节点唤醒成功,覆盖漏洞修复完成,所以结束本算法;如果,临时控制节点在的时间内没有收到了此节点发送的确认消息,即认为该节点还处于深度休眠状态,所以此补充节点唤醒失败,继续执行步骤5.4。
步骤5.4:继续唤醒补充节点。唤醒补充节点失败后,按照补充节点序列的顺序依次唤醒后续的补充节点,直至临时控制节点在的时间内收到候选补充节点发送的确认消息,此时认为唤醒成功,漏洞修复算法完成,所以结束本算法。如果临时控制节点在补充节点序列遍历完成后依旧没有收到任何确认信息,则继续执行步骤5.5。其中,l表示分割单元边长,v表示声信号在水下的传播速率。
步骤5.5:找寻新的补充节点。当存在覆盖漏洞的分割单元内找不到可以完成漏洞修复的补充节点后,需要找寻新的补充节点。因为在此水下无线传感器网络中,节点是可以竖直移动的,所以可以唤醒该分割单元竖直方向上传感器节点,并将其移动到此分割单元内,从而实现漏洞的修复。根据出现覆盖漏洞的分割单元的编号ID1=(i0,j0,k0),在此集群内找到分割单元编号为ID1=(i0,j0,k)的分割单元,并按照步骤5.2的方法,确定补充节点序列。
步骤5.6:唤醒新的补充节点。按照步骤5.3和步骤5.4的方法,唤醒新的补充节点。如果唤醒成功,则执行步骤5.7;否则,认为修复漏洞失败,结束本算法,此时认为该网络中节点数量有限,无法做到网络的自愈,需要借助外界的帮助来完成漏洞的修复,例如增加节点的投放,增加可水平移动的节点,在网络中加入AUV等。
步骤5.7:移动被唤醒的节点。当节点被唤醒后,调节该节点与锚连接的绳长,使其移动到出现覆盖漏洞的分割单元的中心横截面内。假设存在覆盖漏洞的分割单元编号为ID1=(i,j,k1),可以帮助修复该漏洞的补充节点所处的分割单元编号为ID1=(i,j,k2)。如果k1>k2,表示需要向上移动节点来修复存在的覆盖漏洞,可以根据水下压强公式P=ρ·g·h来判断是否到达了合适的位置,当传感器节点所受压强减小了(k1-k2)·g·ρ·l时,无需再向上移动,表示此时节点已经到达预定位置;如果k1<k2,表示需要向下移动节点来修复存在的漏洞,当传感器节点所受压强增加了(k2-k1)·g·ρ·l时,无需再向下移动,表示此时节点已经到达预定位置。其中,ρ表示液体密度,g表示重力系数,h表示距离水面距离,l表示分割单元边长。
进行仿真实验,检测范围设置为100m×100m×100m,面向冗余节点的漏洞修复算法的感知半径设置为rs=20m,本算法的感知半径根据节点等级Rank确定。当Rank=1时,感知半径设置为rs=14.43m;当Rank=2时,感知半径设置为rs=17.97m;当Rank=3时,感知半径设置为rs=20.41m。通过多次实验取得数据平均值,将本算法与面向冗余节点的漏洞修复算法进行对比,通过比较网络覆盖率、唤醒节点数与唤醒节点的平均利用率等方面的数据,考察算法漏洞修复能力。
可以得出使用基于集群划分的漏洞修复算法前后的覆盖率折线关系,如图3所示;可以得出网络覆盖率与时间的折线关系,如图4所示;可以得出唤醒节点数与时间的柱状关系,如图5所示;也可以得出唤醒节点平均利用率与时间的柱状关系,如图6所示。
Claims (1)
1.基于集群划分的水下无线传感器网络覆盖漏洞修复算法,其特征在于以下步骤:
步骤1:运用三维密集网络的拓扑模型,将整个三维空间划分为多个相同的虚拟组成单元,保证每一个分割单元内都存在一个可以正常工作的传感器节点,就可以确定整个传感器网络是高度覆盖的;
步骤2:漏洞检测,进行相关定义并通过建立分割单元和覆盖矩阵之间的映射,寻找出现的某些分割单元内存在失效节点,假设集群中可能出现覆盖漏洞,再依据漏洞边缘节点感知半径的关系和距离分割单元中心长度确定是否真的存在覆盖漏洞;
步骤2.1:相关定义
定义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:选择补充节点,为了得到一个覆盖率高且能耗均衡的传感器网络,出现覆盖漏洞时,在冗余节点中唤醒剩余能量高且高覆盖传感器节点修复出现的漏洞,通过位置和剩余能量参数确定补充节点;
选择的补充节点在考虑剩余能量的同时应该尽可能接近关键位置,因此设置位置系数用来表示传感器节点与关键位置的远近关系,距离关键位置越近的节点位置系数越大,假设传感器节点Q的位置坐标为(x0,y0,z0),关键位置K的位置坐标为(x,y,z),因此节点Q的位置系数为:
但是我们知道,关键位置不止一个,且与节点的等级有关,所以我们可以为不同级别的节点设置不同的位置系数;
步骤5:根据确定好的关键信息,实现覆盖漏洞修复算法;
步骤5.1:漏洞检测,临时控制节点根据漏洞检测方法找到出现覆盖漏洞的分割单元,确定分割单元编号ID1=(i0,j0,k0),首先临时控制节点建立覆盖矩阵,根据覆盖矩阵找到可能出现覆盖漏洞的分割单元;然后找到该覆盖漏洞的漏洞边缘节点;最后确定该覆盖漏洞是否需要修复,如果需要修复,则继续执行步骤5.2;否则,结束本算法;
步骤5.2:确定补充节点,临时控制节点找到出现覆盖漏洞的分割单元内的冗余节点,并根据位置系数与剩余能量的乘积进行排序,即按照计算式的结果从大到小排列该分割单元内的冗余节点,形成补充节点序列,位于序列首位的冗余节点称为补充节点,其余的冗余节点称为候选补充节点;
步骤5.3:唤醒补充节点,临时控制节点按照此序列的顺序唤醒冗余节点,如果临时控制节点在的时间内收到了此节点发送的确认消息,即认为此补充节点唤醒成功,覆盖漏洞修复完成,所以结束本算法;如果,临时控制节点在的时间内没有收到了此节点发送的确认消息,即认为该节点还处于深度休眠状态,所以此补充节点唤醒失败,继续执行步骤5.4;
步骤5.4:继续唤醒补充节点,唤醒补充节点失败后,按照补充节点序列的顺序依次唤醒后续的补充节点,直至临时控制节点在的时间内收到候选补充节点发送的确认消息,此时认为唤醒成功,漏洞修复算法完成,所以结束本算法,如果临时控制节点在补充节点序列遍历完成后依旧没有收到任何确认信息,则继续执行步骤5.5,其中,l表示分割单元边长,v表示声信号在水下的传播速率;
步骤5.5:找寻新的补充节点,当存在覆盖漏洞的分割单元内找不到可以完成漏洞修复的补充节点后,需要找寻新的补充节点,因为在此水下无线传感器网络中,节点是可以竖直移动的,所以可以唤醒该分割单元竖直方向上传感器节点,并将其移动到此分割单元内,从而实现漏洞的修复,根据出现覆盖漏洞的分割单元的编号ID1=(i0,j0,k0),在此集群内找到分割单元编号为ID1=(i0,j0,k)的分割单元,并按照步骤5.2的方法,确定补充节点序列;
步骤5.6:唤醒新的补充节点,按照步骤5.3和步骤5.4的方法,唤醒新的补充节点,如果唤醒成功,则执行步骤5.7;否则,认为修复漏洞失败,结束本算法,此时认为该网络中节点数量有限,无法做到网络的自愈,需要借助外界的帮助来完成漏洞的修复;
步骤5.7:移动被唤醒的节点,当节点被唤醒后,调节该节点与锚连接的绳长,使其移动到出现覆盖漏洞的分割单元的中心横截面内,假设存在覆盖漏洞的分割单元编号为ID1=(i,j,k1),可以帮助修复该漏洞的补充节点所处的分割单元编号为ID1=(i,j,k2),如果k1>k2,表示需要向上移动节点来修复存在的覆盖漏洞,可以根据水下压强公式P=ρ·g·h来判断是否到达了合适的位置,当传感器节点所受压强减小了(k1-k2)·g·ρ·l时,无需再向上移动,表示此时节点已经到达预定位置;如果k1<k2,表示需要向下移动节点来修复存在的漏洞,当传感器节点所受压强增加了(k2-k1)·g·ρ·l时,无需再向下移动,表示此时节点已经到达预定位置,其中,ρ表示液体密度,g表示重力系数,h表示距离水面距离,l表示分割单元边长。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811523945.6A CN109640333B (zh) | 2018-12-13 | 2018-12-13 | 基于集群划分的水下无线传感器网络覆盖漏洞修复算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811523945.6A CN109640333B (zh) | 2018-12-13 | 2018-12-13 | 基于集群划分的水下无线传感器网络覆盖漏洞修复算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109640333A CN109640333A (zh) | 2019-04-16 |
CN109640333B true CN109640333B (zh) | 2021-08-31 |
Family
ID=66073452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811523945.6A Active CN109640333B (zh) | 2018-12-13 | 2018-12-13 | 基于集群划分的水下无线传感器网络覆盖漏洞修复算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109640333B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111541480B (zh) * | 2020-04-15 | 2021-03-19 | 燕山大学 | 一种基于反射特性的低能耗自由空间光网络修复方法 |
CN113242565A (zh) * | 2021-04-20 | 2021-08-10 | 西安邮电大学 | 一种面向异构无线传感器网络的覆盖增强方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067929A (zh) * | 2012-12-31 | 2013-04-24 | 南京邮电大学 | 一种基于泰森图的水下传感器网络节点的深度调节方法 |
CN108540938A (zh) * | 2018-04-16 | 2018-09-14 | 绍兴文理学院 | 修复无线传感器网络中漏洞的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040100394A1 (en) * | 2002-10-28 | 2004-05-27 | Hitt Dale K. | Distributed environmental control in a wireless sensor system |
US9031571B2 (en) * | 2008-04-11 | 2015-05-12 | Alcatel Lucent | Methods and apparatus for coverage verification in a wireless sensor network |
-
2018
- 2018-12-13 CN CN201811523945.6A patent/CN109640333B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067929A (zh) * | 2012-12-31 | 2013-04-24 | 南京邮电大学 | 一种基于泰森图的水下传感器网络节点的深度调节方法 |
CN108540938A (zh) * | 2018-04-16 | 2018-09-14 | 绍兴文理学院 | 修复无线传感器网络中漏洞的方法 |
Non-Patent Citations (2)
Title |
---|
"On Energy Hole and Coverage Hole Avoidance in Underwater Wireless Sensor Networks";Kamran Latif et al.;《IEEE Sensors Journal》;20160224;全文 * |
"水下传感器网络部署研究";李世伟;《中国优秀硕士学位论文全文数据库信息科技第I辑》;20150215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109640333A (zh) | 2019-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Baradaran et al. | HQCA-WSN: High-quality clustering algorithm and optimal cluster head selection using fuzzy logic in wireless sensor networks | |
CN109640333B (zh) | 基于集群划分的水下无线传感器网络覆盖漏洞修复算法 | |
CN107169616B (zh) | 矿井未采区构造相对复杂程度的相对熵预测方法 | |
CN111612899B (zh) | 一种碳酸盐岩缝洞型油藏地质建模方法 | |
CN103052128A (zh) | 一种基于无线传感器网络能量有效的协同调度方法 | |
CN107395433B (zh) | 一种基于烟花算法的无线传感器节点部署方法 | |
CN106714193A (zh) | 一种基于理想图案模型的水下传感器节点沉降部署方法 | |
CN103533571A (zh) | 基于投票策略的容错事件检测方法 | |
KR101647921B1 (ko) | 유·가스 저류층의 실제 가스 생산량에 유사한 저류층 모델을 선정하는 방법 및 이를 이용한 생산량 예측 방법 | |
Zhang et al. | A coverage vulnerability repair algorithm based on clustering in underwater wireless sensor networks | |
CN109327891B (zh) | 水下传感器网络中基于三维拓扑控制的集群休眠唤醒方法 | |
CN103491591A (zh) | 无线传感器网络复杂区域划分方法和节点定位方法 | |
CN115826454A (zh) | 一种船舶大型隔振系统、边缘计算系统及方法 | |
CN114599069A (zh) | 一种基于能量自收集的水下无线传感器网络路由方法 | |
CN108882332A (zh) | 一种UWSNs中基于分簇的信任云数据迁移方法 | |
CN105898700B (zh) | 二维平面上移动传感节点的节能栅栏覆盖方法 | |
CN110391851B (zh) | 基于复杂网络理论的水声传感器网络信任模型更新方法 | |
CN110907990B (zh) | 一种叠后地震裂缝定量预测方法及系统 | |
CN105898779A (zh) | 采用可信信息覆盖模型检测无线传感网覆盖空洞的方法 | |
CN110191422A (zh) | 海洋水下传感器网络目标跟踪方法 | |
CN116129263A (zh) | 一种基于拓扑结构相似度的集群舰船队形识别方法 | |
CN113436327B (zh) | 一种三维地质模型建模方法、装置及可读存储介质 | |
CN115243212A (zh) | 一种基于auv辅助和改进跨层聚类的海洋数据采集方法 | |
CN111542011B (zh) | 一种分层的基于粒子群优化的无线传感器网络分簇路由方法 | |
Sun et al. | Cost-efficient node deployment for intrusion detection in underwater sensor networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230428 Address after: Room 502, No. 188-37 Jinzi Street, Shenfu Demonstration Zone, Shenyang City, Liaoning Province, 110172 Patentee after: Harbin Institute of Technology (Shenyang) Intelligent Industrial Technology Co.,Ltd. Address before: 110179 No.6, Nanping Middle Road, Hunnan New District, Shenyang City, Liaoning Province Patentee before: SHENYANG LIGONG University |
|
TR01 | Transfer of patent right |