CN105072631B - 分布式无线传感器网络覆盖空洞识别方法 - Google Patents

分布式无线传感器网络覆盖空洞识别方法 Download PDF

Info

Publication number
CN105072631B
CN105072631B CN201510423338.2A CN201510423338A CN105072631B CN 105072631 B CN105072631 B CN 105072631B CN 201510423338 A CN201510423338 A CN 201510423338A CN 105072631 B CN105072631 B CN 105072631B
Authority
CN
China
Prior art keywords
node
subsequent
present
absolute angle
present node
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.)
Expired - Fee Related
Application number
CN201510423338.2A
Other languages
English (en)
Other versions
CN105072631A (zh
Inventor
赵利辉
王红亮
刘文怡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
North University of China
Original Assignee
North University of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by North University of China filed Critical North University of China
Priority to CN201510423338.2A priority Critical patent/CN105072631B/zh
Publication of CN105072631A publication Critical patent/CN105072631A/zh
Application granted granted Critical
Publication of CN105072631B publication Critical patent/CN105072631B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提供了一种分布式无线传感器网络覆盖空洞识别方法,在边界节点集中以一个点为起始点在其1跳或2跳邻居节点中检索符合绝对角要求的后继,若搜索不到符合要求的后继则改变方向继续检索,在此过程中若后继为2跳邻居则插入最近公共1跳邻居,重复以上过程直到边界节点集为空,得到无线传感器网络的覆盖空洞。本发明解决了目前无线传感器网络中覆盖空洞识别精度低,能耗要求高的技术难题,将覆盖空洞的识别问题转化为环绕其的边界节点识别和聚类问题,有效降低了算法复杂度,减少了运行时间和覆盖空洞识别过程中节点间的通信与能量消耗,提高了识别精度。

Description

分布式无线传感器网络覆盖空洞识别方法
技术领域
本发明涉及一种分布式无线传感器网络覆盖空洞识别方法,属于无线传感器网络技术领域。
背景技术
无线传感器网络被广泛的应用于战斗区域监测,环境监测、危险事件/区域检测和健康监测应用中。无线传感器网络是由众多价格低廉、功能多样,能够进行短距离无线通信的传感器节点构成的,由于无线传感器可以满足危险区域或人迹难以到达区域的监测因而成为当前国内外研究的热点。无线传感器能够通过机载平台或炮射等方式进行随机部署是其区别于传统网络的最大优点之一,然而其缺点也显而易见,无线传感器节点在部署后容易遭受外力破坏,节点部署后电池很难被更换使其生命周期受到节点本身所携带电池的影响,同时,节点由于受外力影响和电池能量耗竭而失效容易使无线传感器网络产生覆盖空洞,因而覆盖空洞是无线传感器网络研究和应用中不可回避的问题。
覆盖空洞的出现严重影响着无线传感器网络的服务质量,即QoS,quality ofservices。为提高无线传感器网络的QoS,目前的研究中已经提出一些针对覆盖空洞的识别方法,然而目前大多数的方法都要求无线传感器网络进行密集部署,这不仅提高了无线传感器网络的部署成本,而且存在着覆盖空洞识别方法对网络节点度要求高,识别过程能耗高和识别精度低的问题尤其是在网络稀疏的状况下。
发明内容
为了解决现有技术的不足,本发明提供了一种分布式无线传感器网络覆盖空洞识别方法,在识别环绕无线传感器网络覆盖空洞和网络最外层边界的边界节点的基础上,利用DW(Directional Walk,定向游走)技术能够将边界节点聚类为不同的覆盖空洞和网络最外层边界。
本发明为解决其技术问题所采用的技术方案是:提供了一种分布式无线传感器网络覆盖空洞识别方法,包括以下步骤:
(1)以节点的位置信息建立无线传感器网络的全局坐标系,设无线传感器网络的节点集为S,边界节点集为BNs对于一个节点v,用vistiy(v)表示节点v的访问标识,其值为0表示节点v未访问,其值为1表示节点v已访问;将边界节点集BNs中各节点的访问标识置为0,初始化一个空集作为最外层边界节点集BNCycle;在无线传感器网络的已知的边界节点集BNs中选择坐标最小的节点vst,将其置为当前节点vcu,将当前节点加入最外层边界节点集BNCycle,置vcu的访问标识为1;
(2)从当前节点vcu的访问标识为0的1跳邻居节点中搜寻是否存在绝对角属于的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v1,将v1作为当前节点vcu的后继,以该后继作为当前节点vcu,将当前节点vcu加入最外层边界节点集BNCycle,将vcu的访问标识置为1,进入步骤(3);
如果不存在,则从当前节点vcu的访问标识为0的1跳邻居节点中搜寻是否存在绝对角属于的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v1,将v1作为当前节点vcu的后继,以该后继作为当前节点vcu,将当前节点vcu加入最外层边界节点集BNCycle,将vcu的访问标识置为1,进入步骤(3);
如果不存在,则从当前节点vcu的访问标识为0的2跳邻居节点中搜寻是否存在绝对角属于的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v1,将v1作为当前节点vcu的后继,在S中寻找当前节点vcu和后继v1的最近公共1跳邻居v2,将v2置为v1的前驱,将v2置为vcu的后继,以v1作为当前节点vcu,将vcu和v2加入最外层边界节点集BNCycle,将vcu的访问标识置为1,进入步骤(3);
如果不存在,则从当前节点vcu的访问标识为0的2跳邻居节点中搜寻是否存在绝对角属于的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v1,将v1作为当前节点vcu的后继,在S中寻找当前节点vcu和后继v1的最近公共1跳邻居v2,将v2置为v1的前驱,将v2置为vcu的后继,以v1作为当前节点vcu,将vcu和v2加入最外层边界节点集BNCycle,将vcu的访问标识置为1,进入步骤(3);
如果当前节点的访问标识为0的2跳邻居节点的绝对角均不属于则进入步骤(4);
(3)在当前节点vcu的访问标识为0的1跳邻居节点和2跳邻居节点中搜寻是否存在绝对角属于的邻居节点,如果存在则返回步骤(2),否则将当前节点置为一个拐点然后执行步骤(4);
(4)从当前节点的访问标识为0的1跳邻居节点中搜寻是否存在绝对角属于[0,π]的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v3,将v3作为当前节点vcu的后继,以该后继作为当前节点vcu,将当前节点vcu加入最外层边界节点集BNCycle,将vcu的访问标识置为1,进入步骤(5);
如果不存在,从当前节点的访问标识为0的2跳邻居节点中搜寻是否存在绝对角属于[0,π]的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v3,将v3作为当前节点vcu的后继,在S中寻找当前节点vcu和后继v3的最近公共1跳邻居v4,将v4置为v3的前驱,将v4置为vcu的后继,以v3作为当前节点vcu,将vcu和v4加入最外层边界节点集BNCycle,将vcu的访问标识置为1,进入步骤(5);
如果不存在,进入步骤(6);
(5)在当前节点vcu的访问标识为0的1跳邻居节点和2跳邻居节点中搜寻是否存在绝对角属于[0,π]的邻居节点,如果存在则返回步骤(4),否则将当前节点置为一个拐点然后执行步骤(6);
(6)检查vst是否存在于当前节点的1跳或2跳邻居节点中,如果是则跳转至步骤(10);否则,从当前节点的访问标识为0的1跳邻居节点中搜寻是否存在绝对角属于的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v5,将v5作为当前节点vcu的后继,以该后继作为当前节点vcu,将当前节点vcu加入最外层边界节点集BNCycle,将vcu的访问标识置为1,进入步骤(7);
如果不存在,从当前节点的访问标识为0的2跳邻居节点中搜寻是否存在绝对角属于的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v5,将v5作为当前节点vcu的后继,在S中寻找当前节点vcu和后继v5的最近公共1跳邻居v6,将v6置为v5的前驱,将v6置为vcu的后继,以v5作为当前节点vcu,将vcu和v6加入最外层边界节点集BNCycle,将vcu的访问标识置为1,进入步骤(7);
如果不存在,进入步骤(8);
(7)检查vst是否存在于当前节点的1跳或2跳邻居节点中,如果是则跳转至步骤(10);否则,从当前节点vcu的访问标识为0的1跳邻居节点和2跳邻居节点中搜寻是否存在绝对角属于的邻居节点,如果存在则返回步骤(6),否则将当前节点置为一个拐点然后执行步骤(8);
(8)检查vst是否存在于当前节点的1跳或2跳邻居节点中,如果是则跳转至步骤(10);否则,从当前节点的访问标识为0的1跳邻居节点中搜寻是否存在绝对角属于[π,2π]的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v7,将v7作为当前节点vcu的后继,以该后继作为当前节点vcu,将当前节点vcu加入最外层边界节点集BNCycle,将vcu的访问标识置为1,进入步骤(9);
如果不存在,从当前节点的访问标识为0的2跳邻居节点中搜寻是否存在绝对角属于[π,2π]的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v7,将v7作为当前节点vcu的后继,在S中寻找当前节点vcu和后继v7的最近公共1跳邻居v8,将v8置为v7的前驱,将v8置为vcu的后继,以v7作为当前节点vcu,将vcu和v8加入最外层边界节点集BNCycle,将vcu的访问标识置为1,进入步骤(9);
(9)如果当前节点的1跳邻居节点和2跳邻居节点包含节点vst,进入步骤(10),否则返回步骤(8);
(10)将最外层边界节点集BNCycle作为无线传感器网络的最外层边界输出,求取最外层边界节点集BNCycle和边界节点集BNs的交集bounds=BNCycle∩BNs,将bounds从边界节点集BNs中移除得到剩余边界节点集BNRemain=BNs\bounds,将最外层边界节点集BNCycle重置为空集;
(11)在BNRemain集合中选取访问标识为0且坐标最小的节点作为当前节点vcu,重复步骤(2)到步骤(10),直到剩余边界节点集BNRemain为空或者边界节点集BNS为空,完成覆盖空洞识别。
步骤(1)中所述的边界节点集通过DSCS方法获得。
本发明基于其技术方案所具有的有益效果在于:
(1)本发明利用DW(Directional Walk)技术可以实现对边界节点的精确聚类,从而实现无线传感器网络覆盖空洞的定位;
(2)本发明在检索过程中,如果后继为当前节点的2跳邻居,则将当前节点和后继节点的最近公共1跳邻居插入,能够保持边界的连续性;
(3)本发明算法复杂度低;
(4)本发明识别精度高,能耗低,运行时间短;
(5)本发明与DSCS边界节点识别方法相结合检测无线传感器网络边界节点并识别覆盖空洞,尤其可大大降低能量消耗。
附图说明
图1是本发明的流程示意图的一部分。
图2是本发明的流程示意图的一部分。
图3是笛卡尔坐标系示意图。
图4是判断传感扇区覆盖示意图。
图5是2000个节点部署示意图。
图6是边界节点识别结果示意图。
图7是覆盖空洞识别结果示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
本发明提供了一种分布式无线传感器网络覆盖空洞识别方法,参照图1和图2,包括以下步骤:
用setcu(v)或者vcu=v表示置节点v为当前节点,setpre(v)表示设置节点v的前驱节点,setsu(v)表示设置节点v的后继节点;Nei1(v,v′)表示求节点v与v′的最近公共1跳邻居,最近公共1跳邻居是指节点v与v′的共同1跳邻居节点且与两节点的距离的和最短;表示当前节点的k跳邻居节点集。
初始化一个空集作为最外层边界节点集BNCycle,用来存储最外层边界节点集和环绕在覆盖空洞周围的边界节点;在无线传感器网络的已知的边界节点集BNs中选择坐标最小的节点vst,将其置为当前节点vcu,即vcu=vst,将当前节点加入最外层边界节点集BNCycle,即BNCycle=BNCycle∪{vcu},置vcu的访问标识为1,即visit(vcu)=1。
所述的边界节点集可以通过DSCS(Distributed Sector Cover Scanning,传感扇区边缘覆盖扫描)方法、基于Delaunay三角形外接空心圆的边界节点识别算法、基于节点连接信息的边界节点识别算法,或者基于跳信息的边界节点识别算法等方法获得。其中DSCS方法的具体步骤如下:
(a)设分布式无线传感器网络中的各节点的通信模型为以该节点所在位置为圆心、以通信覆盖半径CR为半径的圆盘,并且节点存储有其通信范围内的1跳邻居节点的邻居信息;各节点通过向其1跳邻居节点发送请求并交换1跳邻居信息,以收集2跳邻居节点的邻居信息。
其中各节点通过以下公式计算其2跳邻居节点的邻居信息:
其中,vi表示当前节点,vu表示vi的k-1跳邻居,表示vi的k跳邻居节点集,表示vi的k-1跳邻居节点集,表示vu的1跳邻居节点集,k=2;
依次对无线传感器网络中的每一个节点进行步骤(b)至步骤(e)以判断该节点是否是边界节点;
(b)以当前节点v1为圆心、以节点v1的传感覆盖半径SR为半径建立笛卡尔坐标系,计算节点v1的s跳以内的邻居节点在该坐标系内的绝对角,绝对角的范围为[0°,360°],所述绝对角的定义为:在以节点v1为圆心建立的笛卡尔坐标系中,节点v1和邻居节点的连线沿逆时针方向与x轴的正向夹角为v1的邻居节点在以节点v1为圆心的坐标系内的绝对角;
参照图3,节点v为圆心,节点u和节点n是节点v的1跳邻居节点,节点m是节点v的2跳邻居节点,∠u和∠m分别是节点u和节点m与x轴的夹角,即绝对角,中心角∠γmvn所对应的扇区mvn为当前节点v与其相邻节点m和n所构成,所夹圆弧为扇区mvn的边缘,虚线所围区域为节点v的传感区域,虚线为v的传感边界;
(c)如果出现2个以上邻居节点的绝对角相同,则仅保留距离节点v1最近的邻居节点;参照图2,节点v2和节点v18的绝对角相同,则保留v2,剔除v18
(d)将邻居节点按照其绝对角从小到大排序;
(e)依次判断节点v1的每一个传感扇区的边缘是否被该传感扇区的相邻节点完全覆盖,其中,在以当前节点v1为圆心、以节点v1的传感覆盖半径SR为半径的圆中,由节点v1和邻居节点vj的连线所在的半径、节点v1和邻居节点vk的连线所在的半径、以及它们所夹的圆弧所围成的区域为传感扇区vjv1vk,该圆弧为该传感扇区的边缘,节点vj和节点vk为传感扇区vjv1vk的相邻节点,若该边缘同时被邻居节点vj和vk的传感区域完全覆盖,则传感扇区vjv1vk不会处于网络或覆盖空洞边缘,因此传感扇区vjv1vk的边缘被其相邻节点完全覆盖,参照图4,扇区v12v1v13的边缘能被节点v12和节点v13完全覆盖;若存在节点v1的一个传感扇区的边缘不能被其相邻节点完全覆盖,则节点v1是边界节点,否则节点v1的每一个传感扇区的边缘均被其相邻节点完全覆盖,节点v1不是边界节点。
参照图5,在500*500M2的区域内部署2000个传感器节点,经过DSCS方法识别的边界节点如图6所示,图6中空心点表示识别到的边界节点。
(2)从当前节点vcu的访问标识为0的1跳邻居节点中搜寻是否存在绝对角属于的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v1,将v1作为当前节点vcu的后继,即setsu(vcu)=v1,以该后继作为当前节点vcu,即vcu=v1,将当前节点vcu加入最外层边界节点集BNCycle,即BNCycle=BNCycle∪{vcu},将vcu的访问标识置为1,即visit(vcu)=1,进入步骤(3);
如果不存在,则从当前节点vcu的访问标识为0的1跳邻居节点中搜寻是否存在绝对角属于的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v1,将v1作为当前节点vcu的后继,即setsu(vcu)=v1,以该后继作为当前节点vcu,即vcu=v1,将当前节点vcu加入最外层边界节点集BNCycle,即BNCycle=BNCycle∪{vcu},将vcu的访问标识置为1,即visit(vcu)=1,进入步骤(3);
如果不存在,则从当前节点vcu的访问标识为0的2跳邻居节点中搜寻是否存在绝对角属于的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v1,将v1作为当前节点vcu的后继,即setsu(vcu)=v1,执行Nei1(vcu,v1)在S中寻找当前节点vcu和后继v1的最近公共1跳邻居v2,将v2置为v1的前驱,即setpre(v1)=v2,将v2置为vcu的后继,即setsu(vcu)=v2,则3个节点的顺序依次为{vcu,v2,v1};以v1作为当前节点vcu,即setcu(v1),将vcu和v2加入最外层边界节点集BNCycle,即BNCycle=BNCycle∪{setpre(vcu),vcu},将vcu的访问标识置为1,即visit(vcu)=1,进入步骤(3);
如果不存在,则从当前节点vcu的访问标识为0的2跳邻居节点中搜寻是否存在绝对角属于的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v1,将v1作为当前节点vcu的后继,即setsu(vcu)=v1,执行Nei1(vcu,v1)在S中寻找当前节点vcu和后继v1的最近公共1跳邻居v2,将v2置为v1的前驱,即setpre(v1)=v2,将v2置为vcu的后继,即setsu(vcu)=v2,则3个节点的顺序依次为{vcu,v2,v1};执行setcu(v1)以v1作为当前节点vcu,将vcu和v2加入最外层边界节点集BNCycle,即BNCycle=BNCycle∪{setpre(vcu),vcu},将vcu的访问标识置为1,即visit(vcu)=1,进入步骤(3);
如果当前节点的访问标识为0的2跳邻居节点的绝对角均不属于则进入步骤(4);
(3)在当前节点vcu的访问标识为0的1跳邻居节点和2跳邻居节点中搜寻是否存在绝对角属于的邻居节点,如果存在则返回步骤(2),否则将当前节点置为一个拐点然后执行步骤(4);
(4)从当前节点的访问标识为0的1跳邻居节点中搜寻是否存在绝对角属于[0,π]的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v3,将v3作为当前节点vcu的后继,即setsu(vcu)=v3,以该后继作为当前节点vcu,即vcu=v3,将当前节点vcu加入最外层边界节点集BNCycle,即BNCycle=BNCycle∪{vcu},将vcu的访问标识置为1,即visit(vcu)=1,进入步骤(5);
如果不存在,从当前节点的访问标识为0的2跳邻居节点中搜寻是否存在绝对角属于[0,π]的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v3,将v3作为当前节点vcu的后继,执行Nei1(vcu,v3)在S中寻找当前节点vcu和后继v3的最近公共1跳邻居v4,将v4置为v3的前驱,即setpre(v3)=v4,将v4置为vcu的后继,即setsu(vcu)=v4,则3个节点的顺序依次为{vcu,v4,v3};执行setcu(v3)以v3作为当前节点vcu,将vcu和v4加入最外层边界节点集BNCycle,即BNCycle=BNCycle∪{setpre(vcu),vcu},将vcu的访问标识置为1,即visit(vcu)=1,进入步骤(5);
如果不存在,进入步骤(6);
(5)在当前节点vcu的访问标识为0的1跳邻居节点和2跳邻居节点中搜寻是否存在绝对角属于[0,π]的邻居节点,如果存在则返回步骤(4),否则将当前节点置为一个拐点然后执行步骤(6);
(6)检查vst是否存在于当前节点的1跳或2跳邻居节点中,如果是则跳转至步骤(10);否则,从当前节点的访问标识为0的1跳邻居节点中搜寻是否存在绝对角属于的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v5,将v5作为当前节点vcu的后继,即setsu(vcu)=v5,以该后继作为当前节点vcu,即vcu=v5,将当前节点vcu加入最外层边界节点集BNCycle,即BNCycle=BNCycle∪{vcu},将vcu的访问标识置为1,即visit(vcu)=1,进入步骤(7);
如果不存在,从当前节点的访问标识为0的2跳邻居节点中搜寻是否存在绝对角属于的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v5,将v5作为当前节点vcu的后继,执行Nei1(vcu,v5)在S中寻找当前节点vcu和后继v5的最近公共1跳邻居v6,将v6置为v5的前驱,即setpre(v5)=v6,将v6置为vcu的后继,即setsu(vcu)=v6,则3个节点的顺序依次为{vcu,v6,v5};执行setcu(v5)以v5作为当前节点vcu,将vcu和v6加入最外层边界节点集BNCycle,即BNCycle=BNCycle∪{setpre(vcu),vcu},将vcu的访问标识置为1,即visit(vcu)=1,进入步骤(7);
如果不存在,进入步骤(8);
(7)检查vst是否存在于当前节点的1跳或2跳邻居节点中,如果是则跳转至步骤(10);否则,从当前节点vcu的访问标识为0的1跳邻居节点和2跳邻居节点中搜寻是否存在绝对角属于的邻居节点,如果存在则返回步骤(6),否则将当前节点置为一个拐点然后执行步骤(8);
(8)检查vst是否存在于当前节点的1跳或2跳邻居节点中,如果是则跳转至步骤(10);否则,从当前节点的访问标识为0的1跳邻居节点中搜寻是否存在绝对角属于[π,2π]的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v7,将v7作为当前节点vcu的后继,即setsu(vcu)=v7,以该后继作为当前节点vcu,即vcu=v7,将当前节点vcu加入最外层边界节点集BNCycle,即BNCycle=BNCycle∪{vcu},将vcu的访问标识置为1,即visit(vcu)=1,进入步骤(9);
如果不存在,从当前节点的访问标识为0的2跳邻居节点中搜寻是否存在绝对角属于[π,2π]的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v7,将v7作为当前节点vcu的后继,即setsu(vcu)=v7,执行Nei1(vcu,v7)在S中寻找当前节点vcu和后继v7的最近公共1跳邻居v8,将v8置为v7的前驱,即setpre(v7)=v8,将v8置为vcu的后继,即setsu(vcu)=v8,则3个节点的顺序依次为{vcu,v8,v7};执行setcu(v7)以v7作为当前节点vcu,将vcu和v8加入最外层边界节点集BNCycle,即BNCycle=BNCycle∪{setpre(vcu),vcu},将vcu的访问标识置为1,即visit(vcu)=1,进入步骤(9);
(9)如果当前节点的1跳邻居节点和2跳邻居节点包含节点vst,进入步骤(10),否则返回步骤(8);
(10)将最外层边界节点集BNCycle作为无线传感器网络的最外层边界输出,求取最外层边界节点集BNCycle和边界节点集BNs的交集bounds=BNCycle∩BNs,将bounds从边界节点集BNs中移除得到剩余边界节点集BNRemain=BNs\bounds,将最外层边界节点集BNCycle重置为空集;
此后每次执行至此获得一个环绕在覆盖空洞周围的边界节点集BNCycle,其存储被聚类的环绕在覆盖空洞周围的边界节点;
(11)在BNRemain集合中选取访问标识为0且坐标最小的节点作为当前节点vcu,重复步骤(2)到步骤(10),直到剩余边界节点集BNRemain为空或者边界节点集BNS为空,完成覆盖空洞识别。如图7所示,其中实心大圆点是DW在已检测到的边界节点的基础上提炼出的边界节点并将它们聚类为不同的覆盖空洞和边界的结果。
下表显示了本发明各个子过程的算法复杂度:
表1 本发明的子过程的算法复杂度
其中,n表示网络中节点的数量,m表示网络中节点与节点之间可以直接通信的通信连接(即节点与节点之间的边)数量,k表示网络的平均节点度。|BNS|表示边界节点集BNs中节点数量,a表示网络中覆盖空洞的数量与网络边界之和,即覆盖空洞的数量加1。

Claims (1)

1.一种分布式无线传感器网络覆盖空洞识别方法,其特征在于包括以下步骤:
(1)以节点的位置信息建立无线传感器网络的全局坐标系,设无线传感器网络的节点集为S,边界节点集为BNs对于一个节点v,用visit(v)表示节点v的访问标识,其值为0表示节点v未访问,其值为1表示节点v已访问;将边界节点集BNs中各节点的访问标识置为0,初始化一个空集作为最外层边界节点集BNCycle;在无线传感器网络的已知的边界节点集BNs中选择坐标最小的节点vst,将其置为当前节点vcu,将当前节点加入最外层边界节点集BNCycle,置vcu的访问标识为1;
(2)从当前节点vcu的访问标识为0的1跳邻居节点中搜寻是否存在绝对角属于的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v1,将v1作为当前节点vcu的后继,以该后继作为当前节点vcu,将当前节点vcu加入最外层边界节点集BNCycle,将vcu的访问标识置为1,进入步骤(3);所述绝对角的定义为:在以节点v1为圆心建立的笛卡尔坐标系中,节点v1和邻居节点的连线沿逆时针方向与x轴的正向夹角为v1的邻居节点在以节点v1为圆心的坐标系内的绝对角;
如果不存在,则从当前节点vcu的访问标识为0的1跳邻居节点中搜寻是否存在绝对角属于的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v1,将v1作为当前节点vcu的后继,以该后继作为当前节点vcu,将当前节点vcu加入最外层边界节点集BNCycle,将vcu的访问标识置为1,进入步骤(3);
如果不存在,则从当前节点vcu的访问标识为0的2跳邻居节点中搜寻是否存在绝对角属于的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v1,将v1作为当前节点vcu的后继,在S中寻找当前节点υcu和后继υ1的最近公共1跳邻居υ2,将υ2置为υ1的前驱,将υ2置为υcu的后继,以υ1作为当前节点υcu,将υcu和υ2加入最外层边界节点集BNCycle,将υcu的访问标识置为1,进入步骤(3);所述最近公共1跳邻居v2是指当前节点υcu和后继υ1的共同1跳邻居节点且与两节点的距离的和最短;
如果不存在,则从当前节点vcu的访问标识为0的2跳邻居节点中搜寻是否存在绝对角属于的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v1,将v1作为当前节点vcu的后继,在S中寻找当前节点vcu和后继v1的最近公共1跳邻居v2,将v2置为v1的前驱,将v2置为υcu的后继,以v1作为当前节点υcu,将υcu和υ2加入最外层边界节点集BNCycle,将υcu的访问标识置为1,进入步骤(3);
如果当前节点的访问标识为0的2跳邻居节点的绝对角均不属于则进入步骤(4);
(3)在当前节点υcu的访问标识为0的1跳邻居节点和2跳邻居节点中搜寻是否存在绝对角属于的邻居节点,如果存在则返回步骤(2),否则将当前节点置为一个拐点然后执行步骤(4);
(4)从当前节点的访问标识为0的1跳邻居节点中搜寻是否存在绝对角属于[0,π]的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点υ3,将υ3作为当前节点υcu的后继,以该后继作为当前节点υcu,将当前节点υcu加入最外层边界节点集BNCycle,将υcu的访问标识置为1,进入步骤(5);
如果不存在,从当前节点的访问标识为0的2跳邻居节点中搜寻是否存在绝对角属于[0,π]的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点υ3,将υ3作为当前节点υcu的后继,在S中寻找当前节点υcu和后继υ3的最近公共1跳邻居υ4,将υ4置为υ3的前驱,将v4置为vcu的后继,以v3作为当前节点vcu,将vcu和v4加入最外层边界节点集BNCycle,将vcu的访问标识置为1,进入步骤(5);
如果不存在,进入步骤(6);
(5)在当前节点vcu的访问标识为0的1跳邻居节点和2跳邻居节点中搜寻是否存在绝对角属于[0,π]的邻居节点,如果存在则返回步骤(4),否则将当前节点置为一个拐点然后执行步骤(6);
(6)检查υst是否存在于当前节点的1跳或2跳邻居节点中,如果是则跳转至步骤(10);否则,从当前节点的访问标识为0的1跳邻居节点中搜寻是否存在绝对角属于的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点υ5,将υ5作为当前节点υcu的后继,以该后继作为当前节点υcu,将当前节点υcu加入最外层边界节点集BNCycle,将υcu的访问标识置为1,进入步骤(7);
如果不存在,从当前节点的访问标识为0的2跳邻居节点中搜寻是否存在绝对角属于的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v5,将v5作为当前节点vcu的后继,在S中寻找当前节点vcu和后继v5的最近公共1跳邻居v6,将v6置为v5的前驱,将v6置为vcu的后继,以v5作为当前节点vcu,将vcu和v6加入最外层边界节点集BNCycle,将vcu的访问标识置为1,进入步骤(7);
如果不存在,进入步骤(8);
(7)检查vst是否存在于当前节点的1跳或2跳邻居节点中,如果是则跳转至步骤(10);否则,从当前节点vcu的访问标识为0的1跳邻居节点和2跳邻居节点中搜寻是否存在绝对角属于的邻居节点,如果存在则返回步骤(6),否则将当前节点置为一个拐点然后执行步骤(8);
(8)检查υst是否存在于当前节点的1跳或2跳邻居节点中,如果是则跳转至步骤(10);否则,从当前节点的访问标识为0的1跳邻居节点中搜寻是否存在绝对角属于[π,2π]的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v7,将v7作为当前节点vcu的后继,以该后继作为当前节点vcu,将当前节点vcu加入最外层边界节点集BNCycle,将υcu的访问标识置为1,进入步骤(9);
如果不存在,从当前节点的访问标识为0的2跳邻居节点中搜寻是否存在绝对角属于[π,2π]的邻居节点,如果存在则从这些邻居节点中选取绝对角最小的节点v7,将υ7作为当前节点υcu的后继,在S中寻找当前节点υcu和后继υ7的最近公共1跳邻居υ8,将υ8置为υ7的前驱,将v8置为vcu的后继,以v7作为当前节点vcu,将vcu和v8加入最外层边界节点集BNCycle,将vcu的访问标识置为1,进入步骤(9);
(9)如果当前节点的1跳邻居节点和2跳邻居节点包含节点vst,进入步骤(10),否则返回步骤(8);
(10)将最外层边界节点集BNCycle作为无线传感器网络的最外层边界输出,求取最外层边界节点集BNCycle和边界节点集BNs的交集bounds=BNCycle∩BNs,将bounds从边界节点集BNs中移除得到剩余边界节点集BNRemain=BNs\bounds,将最外层边界节点集BNCycle重置为空集;
(11)在BNRemain集合中选取访问标识为0且坐标最小的节点作为当前节点vcu,重复步骤(2)到步骤(10),直到剩余边界节点集BNRemain为空或者边界节点集BNS为空,完成覆盖空洞识别。
CN201510423338.2A 2015-07-17 2015-07-17 分布式无线传感器网络覆盖空洞识别方法 Expired - Fee Related CN105072631B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510423338.2A CN105072631B (zh) 2015-07-17 2015-07-17 分布式无线传感器网络覆盖空洞识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510423338.2A CN105072631B (zh) 2015-07-17 2015-07-17 分布式无线传感器网络覆盖空洞识别方法

Publications (2)

Publication Number Publication Date
CN105072631A CN105072631A (zh) 2015-11-18
CN105072631B true CN105072631B (zh) 2018-08-17

Family

ID=54501882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510423338.2A Expired - Fee Related CN105072631B (zh) 2015-07-17 2015-07-17 分布式无线传感器网络覆盖空洞识别方法

Country Status (1)

Country Link
CN (1) CN105072631B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105517017B (zh) * 2015-12-10 2018-09-04 中北大学 基于簇的无线传感器网络的外围边界和覆盖空洞识别方法
CN109195174B (zh) * 2018-08-29 2021-07-09 安徽工业大学 一种基于局部区域投影的边界节点判定方法
CN110366127B (zh) * 2019-07-18 2021-04-20 北京理工大学 无线传感器网络变分贝叶斯期望最大化定位方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104135732A (zh) * 2014-07-31 2014-11-05 哈尔滨工业大学(威海) 无线传感器网络覆盖空洞面积的计算方法
CN104394541A (zh) * 2014-10-31 2015-03-04 广东工业大学 一种制造物联网感知覆盖洞修复方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100261495A1 (en) * 2009-04-13 2010-10-14 Xiaoyun Li Distributed hole recovery process using connectivity information

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104135732A (zh) * 2014-07-31 2014-11-05 哈尔滨工业大学(威海) 无线传感器网络覆盖空洞面积的计算方法
CN104394541A (zh) * 2014-10-31 2015-03-04 广东工业大学 一种制造物联网感知覆盖洞修复方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《基于Voronoi 图的无线传感器网络覆盖空洞检测算法》;戴国勇;《计算机应用》;20150310;第620-623页 *

Also Published As

Publication number Publication date
CN105072631A (zh) 2015-11-18

Similar Documents

Publication Publication Date Title
CN105072631B (zh) 分布式无线传感器网络覆盖空洞识别方法
CN103837154B (zh) 路径规划的方法及系统
CN107948296A (zh) 一种基于蓝牙的室内定位系统及方法
CN101415256B (zh) 基于人工免疫系统的无线传感器网络故障诊断方法
CN110856184B (zh) 基于k均值算法的双层结构无线传感器网络节点部署方法
CN103888541B (zh) 一种融合拓扑势和谱聚类的社区发现方法及系统
CN103747537B (zh) 一种基于熵度量的无线传感器网络离群数据自适应检测方法
CN103634902B (zh) 基于指纹聚类的新型室内定位方法
CN106254155B (zh) 一种无线传感器网络的覆盖性能的修复增强方法以及装置
CN110334391A (zh) 一种多维度约束风电场集电线路自动规划方法
CN105050099B (zh) 分布式无线传感器网络边界节点识别方法
CN111163477A (zh) 一种广域三维环境下一体化智能基站自动部署方法
CN110234145A (zh) 基于可靠信标节点的dv-hop改进的无线传感器网络定位方法
CN105490830B (zh) 一种网络拓扑图中查找环状结构的方法及系统
CN106646352B (zh) 基于传感器空间模式的蓝牙定位精度优化方法
CN110351735B (zh) 一种基于贪心算法的无线可充电传感网基站部署方法
CN111724273A (zh) 采用大容量风电机组的海上风电场自动规划集电线路方法
CN101483935A (zh) 无线自组织网络的拓扑绘制算法
CN106412835A (zh) 一种用户出行模式识别的方法及装置
Bharany et al. Energy Efficient Clustering Protocol for FANETS Using Moth Flame Optimization. Sustainability 2022, 14, 6159
Mishra et al. Boundary detection in dynamic wireless sensor networks using convex hull techniques
CN105873027A (zh) 一种静态Zigbee网络的规划方法
CN105203992A (zh) 一种以到信标点估算距离为搜寻准则的DV-Hop定位方法
CN109257763A (zh) 无线传感器二维网络边界节点的判断方法
CN104812015A (zh) 一种面向物联网数据的分布式Top-k查询方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Zhao Lihui

Inventor after: Wang Hongliang

Inventor after: Liu Wenyi

Inventor before: Zhao Lihui

Inventor before: Liu Wenyi

Inventor before: Lei Haiwei

Inventor before: Wang Hongliang

Inventor before: Su Shujing

Inventor before: Xiong Jijun

Inventor before: Shen Sanming

Inventor before: Zhang Bin

Inventor before: Dong Helei

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180817

Termination date: 20200717