基于节点邻居关系的无线传感网络拓扑自愈算法
【专利摘要】本发明提供一种基于节点邻居关系的无线传感网络拓扑自愈算法,通过分析节点的邻居关系寻找网络的控制集DS,连通DS中的节点,获得连通控制集CDS;通过启发式的裁剪规则对前面得到的CDS进行裁剪,完成最小连通控制集MCDS的整个构造;对全网进行失效节点的查询,在失效节点的局部范围内重复MCDS构造,局部修复后最终得到当前网络最小连通控制集MCDS’。仿真实验表明,在大部分情况下该发明都能快速地产生网络的一个接近最优的MCDS。该发明仅依靠节点的邻居信息快速地构造一个新的MCDS’,很好地解决了由于节点失效所造成的网络拓扑改变的问题,不仅能够恢复网络拓扑的连通性,还有效地解决延长WSN生命期的问题。
【专利说明】基于节点邻居关系的无线传感网络拓扑自愈算法
【技术领域】
[0001]本发明涉及一种基于节点邻居关系的无线传感网络拓扑自愈算法。
【背景技术】
[0002]无线传感器网络(WirelessSensorNetwork, WSN)大多处于环境恶劣区域,节点缺乏持续的能量供给,因此WSN的首要设计目标是通过均衡高效的能耗方式延长网络生命期。WSN生命期的定义是目前WSN研究领域尚存争议的问题之一。从WSN系统的完备性出发,部分国内外研究机构定义WSN生命期为在传感器网络系统中,最先因电池能量耗尽而失效的节点生命期。
[0003]然而,WSN往往处于恶劣环境以实现对珍贵数据的采集,因能量或外界因素造成的单点失效未必会使剩余网络的连通性遭受完全破坏,其他节点所采集的区域数据仍有可能传达至汇聚节点,所以单点失效后即终止WSN的运作显然无法最大化WSN的部署价值。因此,从WSN的实际应用角度,部分学者认为WSN生命期应包括网络局部失效后剩余节点仍可采集传输数据的WSN运作时间,即网络由启动开始直至无法提供有用信息为止的持续时间。本发明正是基于第二种WSN定义,研究了节点失效后拓扑的恢复,以保障剩余网络的正常运作。
[0004]在满足区域覆盖性和节点连通性的基础上,选择最小数量的工作节点可降低能耗,延长网络的生存时间。网络对应图的一个连通控制集(Connected Dominating Set,⑶S)通常被用作该网络的虚拟骨干网,在路由等方面起着重要的作用。由CDS构造的一个虚拟骨干网极大地减少了路由开销,负责路由的节点被限制在骨干网中的节点上。由于CDS中节点的工作负载较大,尽量减小CDS的规模可极大地减小传输干扰和控制信息量。构造一个最小的⑶S问题已证明是属于NP-难的。
[0005]局部的求解CDS的协议可分为基于删减的和基于增加的。
[0006]基于删减的CDS协议以网络中所有节点的集合开始,然后系统地删除节点以获得网络的⑶S。这一类中最显著的是Wu和Dai的裁剪方法。
[0007]基于增加的CDS协议开始于一个节点的子集,通常这个子集是不连通的,然后通过增加额外的节点连通这个子集,从而形成一个CDS。由于这个初始子集的不同,基于增加的⑶S协议可进一步划分为基于最大独立集MIS和基于Tree。
[0008]基于增加的协议一般比基于删减的协议生成的CDS的规模更小,基于树的协议产生更少的信息开销。然而基于树的构造CDS协议通常通过定时器生成树,当网络规模较大时,基于树的CDS协议在构造CDS时需要较多的时间。
【发明内容】
[0009]本发明旨在寻找一种协议,能够快速的构造CDS同时又具有基于树的CDS协议的优点。采用基于增加的协议构造网络的一个CDS,首先寻找网络的一个控制集(DominatingSet7DS),然后通过基于树的方法来连通DS中的所有节点。通过构造并动态更新最小连通控制集,提出一种无线传感网络的局部修复算法,用以有效解决恢复网络拓扑连通性和延长WSN生命期的问题。
[0010]下面为该发明中用到的一些术语与定义:
[0011]Ni[j]:网络中一个节点i的一跳邻居以及其本身构成的集合,即Ni[j]=N(i) U {1},其中叭1)为节点i的一跳邻居构成的集合。将Ni[j]定义为节点i的闭邻居。
[0012]Q:—个非递增的有序队列,其中存储了在所有的Ni[j]中出现的节点并按出现的次数非递增的顺序排列,则Q中的第一个元素为在由Ni[j]构成的集合中出现次数最多的节点。在Q上执行的一个出列操作是指取出Q中的第一个元素。
[0013]DS:第一阶段构造的网络的一个控制集DS,初始时DS为()。
[0014]⑶S:在网络控制集DS的基础上通过基于树的方法来连通DS中的所有节点,得到网络对应的一个连通控制集⑶S。
[0015]MCDS:通过一种启发式的裁剪规则对前面得到的CDS进行裁剪,最终完成的最小连通控制集MCDS。
[0016]MCDSj:节点失效情况下,局部修复后最终得到的当前网络最小连通控制集MCDS’。
[0017]本发明的技术解决方案是:
[0018]一种基于节点邻居关系的无线传感网络拓扑自愈算法,
[0019]通过分析节点的邻居关系寻找网络的控制集DS,连通DS中的节点,获得连通控制集 CDS ;
[0020]通过启发式的裁剪规则对前面得到的CDS进行裁剪,完成最小连通控制集MCDS的整个构造;
[0021]不断对全网进行失效节点的查询,在失效节点的局部范围内重复MCDS构造,局部修复后最终得到当前网络最小连通控制集MCDS’。
[0022]进一步地,构造DS的具体步骤为:
[0023]步骤1:传感器网络在刚刚部署时,网络中各节点以一定的功率广播信息,发现邻居节点,并和邻居节点形成双向连接,形成网络初始拓扑图,每个节点拥有一个全网唯一ID ;
[0024]步骤2:网络中的节点i获取与每个邻居节点的链路状态,其中包括邻接信息和对应链路的权值,形成自己的原始邻接表Ni [j]并在邻居间交换Ni [j];
[0025]步骤3:此时汇聚节点得到了全网的邻接状态,对所有节点的Ni[j]进行遍历,找出在Ni[j]中出现的节点,并按节点出现次数的非递增顺序存放在队列Q中;
[0026]步骤4:开始时,对Q执行出列操作,假设取出的节点为U,则将u染为黑色,将Nu[j]中的所有节点(除了 u)染为灰色,则有DS — {u};
[0027]步骤5:继续对队列Q中的白色节点执行出列操作,假设取出的节点为V,则将V染为黑色,将Nv[j]中的白色节点染为灰色,则有DS = DS U M ;
[0028]步骤6:迭代执行步骤4,直到网络中不存在白色节点;
[0029]步骤7:黑色节点集即为整个网络的控制集DS。
[0030]进一步地,构造⑶S的具体步骤为:
[0031]步骤8:选择|Ni [j] I最大的节点k为树的领导节点,即为leader ;
[0032]步骤9:按照|Ni [j] I非递增的顺序检查DS中除leader外的节点是否与leader之间存在一条路径,该路径仅由黑色节点构成;
[0033]步骤10:若没有,则选择一条包含最少灰色节点且不能形成回路的路径,将该路径中的灰色节点染为黑色加入到DS中;
[0034]步骤11:若有,则返回步骤9 ;
[0035]步骤12:所有黑色节点的集合DS构成了整个图的一个连通控制集⑶S。
[0036]进一步地,构造MCDS的具体步骤为:
[0037]步骤13:检查由黑色节点形成的控制集⑶S的叶子节点i,是否存在仅由i控制的灰色节点;
[0038]步骤14:若不存在这样的灰色节点,则从⑶S中删除i ;
[0039]步骤15:若存在,则返回步骤13 ;
[0040]步骤16:检查完所有叶子节点后,该过程结束,得到的所有黑色节点构成了整个图的一个最小连通控制集MCDS。
[0041 ] 进一步地,进行路径规划
[0042]步骤17:汇聚节点由全网原始的邻接状态,选择权值最小的一条路径到达当前MCDS的leader ;网络中所有灰色节点选取权值最短的路径到达leader。
[0043]进一步地,失效节点的查询具体步骤为:
[0044]步骤18:对于网络中的所有节点每隔random(kl)时间,周期性的向汇聚节点发送报文。
[0045]步骤19:若汇聚节点在random(k2)时间内收到网络中节点的报文,贝U表示该节点有效,不作处理。
[0046]步骤20:若汇聚节点在等待random(k2)时间后尚未收到某节点报文,则确定该节点失效。
[0047]进一步地,局部修复具体为:
[0048]步骤21:若失效节点为灰色节点U,则去除该节点u,MCDS不受影响,返回步骤18。
[0049]步骤22:若失效节点为黑色节点V,则由Nv[j]和Nv[j]中的MCDS中节点的邻居构成集合V’,在V’上保持原有MCDS节点不变的情况下重复步骤I至步骤16,得到的MCDS以及原有MCDS的并集构成网络的新MCDS。
[0050]步骤23:对于构成的当前新M⑶S,再次对其进行裁剪重复步骤13至步骤16,得到网络的最终MCDS’,返回步骤17。
[0051]本发明的有益效果是:本发明提出一种构造最小连通控制集的有效算法MCDS,仿真实验表明,该发明在大部分情况下都能快速地产生网络的一个接近最优的MCDS。该发明的局部修复方法仅依靠节点的邻居信息快速地构造一个新的MCDS’,很好地解决了由于节点失效所造成的网络拓扑改变的问题。本发明不仅能够恢复网络拓扑的连通性,还能有效地解决延长WSN生命期的问题。
【专利附图】
【附图说明】
[0052]图1是网络原始图;
[0053]图2是网络对应的DS图;
[0054]图3是网络对应的⑶S图;[0055]图4是网络对应的MCDS图;
[0056]图5是网络的路径规划图;
[0057]图6是网络中节点7失效图;
[0058]图7是网络中节点2失效图;
[0059]图8是局部修复原始图;
[0060]图9是局部修复对应的DS图;
[0061]图10是局部修复对应的⑶S图;
[0062]图11是局部修复对应的MCDS图;
[0063]图12是修复后网络的MCDS’图;
[0064]图13是修复后网络的路径规划图。
【具体实施方式】
[0065]下面结合附图详细说明本发明的优选实施例。
[0066]针对无线传感器网络,在满足区域覆盖性和节点连通性的基础上,实施例选择最小数量的工作节点可降低能耗,延长网络的生存时间。实施例采用无向带权连通图G=(V, E)表示一个无线传感器网络,其中链路的权值与距离成正比。采用单位圆盘图(Uni tDi skGraph,UDG)作为网络模型,V是网络中节点的集合,E表示网络中的所有链路,当且仅当任意两个节点的欧几里德距离最多为I时,这两个节点是相连的,即它们在彼此的传输范围内。一个控制集(DominatingSet,DS)是一个子集V’(V’ GV),使得V-V’中的每个节点与V’中某个节点相连。网络对应图的一个连通控制集(ConnectedDominatingSet,CDS)是一个控制集,且也是一个连通子图。CDS中的节点叫作控制节点,其他节点称为被控制节点。CDS通常被用作该网络的虚拟骨干网,在路由等方面起着重要的作用。由CDS构造的一个虚拟骨干网极大地减少了路由开销,负责路由的节点被限制在骨干网中的节点上。
[0067]实施例提供一种基于节点邻居关系的无线传感网络拓扑自愈算法,针对由于节点电池的耗尽等原因造成的网络拓扑改变的情况,考虑到连通控制集在无线传感网络中的重要作用,通过构造并动态更新最小连通控制集(MinimumConnected DominatingSet, MCDS),提出一种无线传感网络的局部修复算法。实施例不仅能够恢复网络拓扑的连通性,还能有效地解决延长WSN生命期的问题。
[0068]实施例主要分为3个阶段:MCDS的构造,失效节点的查询和局部的修复。具体为:首先通过分析节点的邻居关系寻找网络的一个控制集DS,然后连通DS中的节点,从而获得一个连通控制集CDS。最后通过一种启发式的裁剪规则对前面得到的CDS进行裁剪,完成最小连通控制集MCDS的整个构造。然后不断对全网进行失效节点的查询,在失效节点的局部范围内重复MCDS构造,得到当前网络下的MCDS’。原始网络图如图1所示。
[0069]第一阶段:MCDS的构造
[0070](I)构造 DS
[0071]步骤1:传感器网络在刚刚部署时,网络中各节点以一定的功率广播信息,发现邻居节点,并和邻居节点形成双向连接,形成网络初始拓扑图,每个节点拥有一个全网唯一ID0
[0072]步骤2:网络中的节点i获取与每个邻居节点的链路状态,其中包括邻接信息和对应链路的权值,形成自己的原始邻接表Ni [j]并在邻居间交换Ni [j]。
[0073]步骤3:此时汇聚节点得到了全网的邻接状态,对所有节点的NiU]进行遍历,找出在NiU]中出现的节点,并按节点出现次数的非递增顺序存放在队列Q中。
[0074]步骤4:开始时,对Q执行出列操作。假设取出的节点为U,则将u染为黑色,将Nu[j]中的所有节点(除了 u)染为灰色,则有DS — {u}。
[0075]步骤5:继续对队列Q中的白色节点执行出列操作。假设取出的节点为V,则将V染为黑色,将Nv[j]中的白色节点染为灰色,则有DS = DS U M0
[0076]步骤6:迭代执行步骤4,直到网络中不存在白色节点。
[0077]步骤7:黑色节点集即为整个网络的控制集DS。如图2所示。
[0078](2)构造 CDS
[0079]步骤8:选择I NiU] I最大的节点k为树的领导节点,即为leader。
[0080]步骤9:按照INi [j] I非递增的顺序检查DS中的节点(除了 leader)是否与leader之间存在一条路径,该路径仅由黑色节点构成。
[0081]步骤10:若没有,则选择一条包含最少灰色节点且不能形成回路的路径,将该路径中的灰色节点染为黑色加入到DS中。
[0082]步骤11:若有,则返回步骤9。
[0083]步骤12:所有黑色节点的集合DS构成了整个图的一个连通控制集⑶S。如图3所
/Jn ο
[0084](3)构造 MCDS
[0085]步骤13:检查由黑色节点形成的控制集⑶S的叶子节点i,是否存在仅由i控制的灰色节点。
[0086]步骤14:若不存在这样的灰色节点,则从⑶S中删除i。
[0087]步骤15:若存在,则返回步骤13。
[0088]步骤16:检查完所有叶子节点后,该过程结束。得到的所有黑色节点构成了整个图的一个最小连通控制集MCDS。如图4所示。
[0089](4)路径规划
[0090]步骤17:汇聚节点由全网原始的邻接状态,选择权值最小的一条路径到达当前MCDS的leader ;网络中所有灰色节点选取权值最短的路径到达leader。如图5所示。
[0091]第二阶段:失效节点的查询
[0092]步骤18:对于网络中的所有节点每隔randomGO时间,周期性的向汇聚节点发送报文。
[0093]步骤19:若汇聚节点在random(k2)时间内收到网络中节点的报文,贝U表示该节点有效,不作处理。
[0094]步骤20:若汇聚节点在等待random(k2)时间后尚未收到某节点报文,则确定该节点失效。如图6、图7所示。
[0095]第三阶段:局部的修复,图8为局部修复的原始图。
[0096]步骤21:若失效节点为灰色节点U,则去除该节点u,MCDS不受影响,返回步骤18。
[0097]步骤22:若失效节点为黑色节点V,则由Nv[j]和队[」_]中的MCDS中节点的邻居构成集合V’,在V’上保持原有MCDS节点不变的情况下重复步骤I至步骤16,如图9、图10、图11,得到的MCDS以及原有MCDS的并集构成网络的新MCDS。
[0098]步骤23:对于构成的当前新M⑶S,再次对其进行裁剪重复步骤13至步骤16,得到网络的最终MCDS’,如图12、图13,返回步骤17。
[0099]实施例的正确性及技术优势分析如下:
[0100]首先,MCDS算法分为3个阶段,通过第I阶段的操作得到了网络的一个控制集DS,即网络中的所有节点都被DS中的节点所控制。然后连通DS中的所有节点,形成了网络的一个连通控制集CDS。尽管在第三阶段对这个CDS进行了裁剪,但在裁剪的时候我们保证每个灰色节点至少有一个黑色邻居节点,因此,这一步没有破坏连通和控制的特性,即算法结束时,网络中的所有节点被一个较小的CDS所控制。故MCDS算法是正确的。
[0101]其次,每个节点由于受电池能量的限制其状态始终在发生变化,因此,会造成网络拓扑的改变。为了处理拓扑改变,重新构造一个新的最小的连通控制集需要花费大量的时间和能量。本发明使用一种只基于节点邻居信息的修复算法。如果失效的节点是一个普通节点,则MCDS不受影响。如果失效节点是一个控制节点,则MCDS将被改变,需要修复此改变,生成新网络的一个MCDS’。
【权利要求】
1.一种基于节点邻居关系的无线传感网络拓扑自愈算法,其特征在于: 通过分析节点的邻居关系寻找网络的控制集DS,连通DS中的节点,获得连通控制集CDS ; 通过启发式的裁剪规则对前面得到的CDS进行裁剪,完成最小连通控制集MCDS的整个构造; 不断对全网进行失效节点的查询,在失效节点的局部范围内重复MCDS构造,局部修复后最终得到当前网络最小连通控制集MCDS’。
2.如权利要求1所述的基于节点邻居关系的无线传感网络拓扑自愈算法,其特征在于,构造DS的具体步骤为: 步骤1:传感器网络在刚刚部署时,网络中各节点以一定的功率广播信息,发现邻居节点,并和邻居节点形成双向连接,形成网络初始拓扑图,每个节点拥有一个全网唯一 ID ;步骤2:网络中的节点i获取与每个邻居节点的链路状态,其中包括邻接信息和对应链路的权值,形成自己的原始邻接表Ni [j]并在邻居间交换Ni [j]; 步骤3:此时汇聚节点得到了全网的邻接状态,对所有节点的Ni[j]进行遍历,找出在Ni[j]中出现的节点,并按节点出现次数的非递增顺序存放在队列Q中; 步骤4:开始时,对Q执行出列操作,假设取出的节点为U,则将u染为黑色,将Nu[j]中的所有节点(除了 u)染为灰色,则有DS — {u}; 步骤5:继续对队列Q中的白色节点执行出列操作,假设取出的节点为V,则将V染为黑色,将Nv[j]中的白色节点染为灰色,则有DS = DS U M ; 步骤6:迭代执行步骤4,直到网络中不存在白色节点; 步骤7:黑色节点集即为整个网络的控制集DS。
3.如权利要求2所述的基于节点邻居关系的无线传感网络拓扑自愈算法,其特征在于,构造⑶S的具体步骤为: 步骤8:选择|Ni [j] I最大的节点k为树的领导节点,即为leader ; 步骤9:按照Ni [j] I非递增的顺序检查DS中除leader外的节点是否与leader之间存在一条路径,该路径仅由黑色节点构成; 步骤10:若没有,则选择一条包含最少灰色节点且不能形成回路的路径,将该路径中的灰色节点染为黑色加入到DS中; 步骤11:若有,则返回步骤9 ; 步骤12:所有黑色节点的集合DS构成了整个图的一个连通控制集CDS。
4.如权利要求1-3任一项所述的基于节点邻居关系的无线传感网络拓扑自愈算法,其特征在于,构造MCDS的具体步骤为: 步骤13:检查由黑色节点形成的控制集CDS的叶子节点i,是否存在仅由i控制的灰色节点; 步骤14:若不存在这样的灰色节点,则从CDS中删除i ; 步骤15:若存在,则返回步骤13 ; 步骤16:检查完所有叶子节点后,该过程结束,得到的所有黑色节点构成了整个图的一个最小连通控制集MCDS。
5.如权利要求4所述的基于节点邻居关系的无线传感网络拓扑自愈算法,其特征在于,进行路径规划: 步骤17:汇聚节点由全网原始的邻接状态,选择权值最小的一条路径到达当前MCDS的leader ;网络中所有灰色节点选取权值最短的路径到达leader。
6.如权利要求5所述的基于节点邻居关系的无线传感网络拓扑自愈算法,其特征在于,失效节点的查询具体步骤为: 步骤18:对于网络中的所有节点每隔random(kl)时间,周期性的向汇聚节点发送报文。 步骤19:若汇聚节点在random(k2)时间内收到网络中节点的报文,则表示该节点有效,不作处理。 步骤20:若汇聚节点在等待random(k2)时间后尚未收到某节点报文,则确定该节点失效。
7.如权利要求6所述的基于节点邻居关系的无线传感网络拓扑自愈算法,其特征在于,局部修复具体为: 步骤21:若失效节点为灰色节点U,则去除该节点u,MCDS不受影响,返回步骤18。步骤22:若失效节点为黑色节点V,则由Nv [j]和Nv [j]中的MCDS中节点的邻居构成集合V’,在V’上保持原有MCDS节点不变的情况下重复步骤I至步骤16,得到的MCDS以及原有MCDS的并集构 成网络的新MCDS。 步骤23:对于构成的当前新MCDS,再次对其进行裁剪重复步骤13至步骤16,得到网络的最终MCDS’,返回步骤17。
【文档编号】H04W40/24GK104010342SQ201410191686
【公开日】2014年8月27日 申请日期:2014年5月7日 优先权日:2014年5月7日
【发明者】宋燕琪, 沙超, 李肖肖, 刘 文, 沈天呈, 王汝传, 黄海平 申请人:南京邮电大学