基于分簇的无线传感网局部拓扑重建的方法
技术领域
本发明涉及一种无线传感器网络拓扑控制实现方法,具体地说是一种基于分簇的无线传感器网络局部自适应拓扑重建方法。
背景技术
无线传感器网络(wireless sensor network,WSN)是当前国际上备受关注的、由多学科高度交叉的新兴前沿研究热点领域。无线传感器网络具有十分广阔的应用前景,在军事国防、工农业、城市管理、生物医疗、环境监测、抢险救灾、防恐反恐、危险区域远程控制等许多领域都有重要的科研价值和巨大实用价值,已经引起了世界许多国家军界、学术界和工业界的高度重视,并成为进入2000年以来公认的新兴前沿热点研究领域,被认为是将对二十一世纪产生巨大影响力的技术之一,它将会对人类未来的生活方式产生深远影响。
微型传感器节点一般采用电池供电使得无线传感器网络的一大特点是能量受限,为了延长网络寿命首要考虑因素是提高能量效率,使节点在无需参与网络工作或获取传感数据时尽量进入睡眠状态。同时在网络生存期间,节点会动态的加入和离开网络,因此要求网络具有良好的可扩展性。传感器网络的另一个重要特点是应用特定性,为了提高上传数据信息熵和事件准确率,网络节点间常需要多类型传感器、多节点协同信息处理,并要求实现被监测区域的无缝覆盖,因此,传感器网络具有节点布设密度高,节点感知信息具有冗余性等特点。另外,无线传感器网络不依赖于固定的基础设施,网络节点要求具有自组织能力。
分簇的网络拓扑结构已经成为无线传感网研究的重要方向之一。在规模化的无线传感网中,分簇的网络结构在拓扑管理、能量效率、数据融合与节点协同处理方面都具有明显的优势。分簇的结构将大规模的网络划分为多个小规模的网络,从而降低了拓扑管理的难度,同时可以引入节点睡眠机制而不影响网络连通性,便于数据融合,减少了信道接入的竞争从而提高网络吞吐量,对节点的协同处理提供了良好的物理支持。
由于簇头负担了簇内数据融合、转发及簇间路由与数据转发等工作,其能耗远高于簇成员节点,故需要做簇头轮换以平衡网络的能耗。早期的分簇算法如LEACH与HEED等为采用的是周期性全网重分簇的方法。这种方法可以获得每一轮较好的分簇结构,但是网络开销太大,且重分簇与路由重建需要耗费的时间较长,即网络功能中断时间长,这在许多应用场景中都是难以接受的。因此,考虑将网络的簇重建限制在一个较小的范围内,则可在局部网络拓扑重建时亦维持网络的正常工作,且控制开销有效降低。但是局部重建的范围难以确定,范围太小,参与重分簇的节点太少则易导致簇分裂与分簇不均,影响网络的负载平衡,范围太大则对网络正常工作造成较大影响,且控制开销较高。
本发明提供一种网络局部自适应重分簇的方法,网络中簇头节点能量降至阈值或意外失效的情况下,触发局部网络范围内的簇重建过程,重建范围由触发节点依据本簇与邻居簇的规模决定,由于网络节点分布的随机性,不同的簇触发的局部重建范围有所不同,以保证重建的分簇结构较优。
发明内容
本发明的目的是提供基于分簇的无线传感器网络局部应拓扑重建方法。
本发明要解决的网络中簇头节点在能量降至阈值或意外失效的情况下,局部网络范围内的簇重建问题。
本发明采用如下技术方案包括以下步骤:
C.网络分布式分簇,建立基于分簇的网络拓扑结构;
D.簇头故障或低能量报警触发的网络局部区域重分簇,参与重分簇的网络区域为触发簇为中心的N跳范围内的处于空闲状态的簇,N值由触发簇依据网络局部节点分布、簇规模与邻居簇数等因素自适应确定以保证足够的节点参与重分簇,获得较好的分簇结构。
作为本发明的一种优选方式,所述步骤A包括以下几个步骤:
a1、信道侦听线程:节点初始化后,持续侦听信道一定时间,若接收到簇头消息,则转入a3,启动入网线程,若接收到其他节点的信息(如:Hello消息),则更新自身邻居表;
a2、信息交互线程:节点间通过周期性的Hello消息交互自身信息,并以此为依据竞争簇头;
a3、节点入网线程:未竞争成功的节点向其邻居簇头发送入网申请以完成分簇组网过程。
所述步骤B的具体实现步骤为:
b1、簇头周期性的在簇内广播Beacon帧,作为网络维护的参考信息;
b2、簇成员节点维护簇头失效检测计数器,在预定时段未接收到簇头的Beacon帧,则计数器加一,否则,计数器清零;
b3、若簇成员节点的簇头失效检测计数器计数值超过预设数值,则认为簇头失效,启动局部重分簇进程,转入b5;
b4、若簇头节点的能量值达到预设的阈值,则启动局部重分簇进程,转入b5;
b5、网络局部重分簇进程,触发节点在簇内广播重分簇消息,并依据簇规模与邻居簇数确定重分簇消息的扩散范围,作为该消息的附加信息,在簇间广播该消息,并置自身为未定状态,转入步骤a1;
b6、接收到重分簇消息的簇成员节点,置自身为未定状态,转入步骤a1;
b7、接收到重分簇消息的簇头节点,若处于重分簇的范围,则在簇内广播重分簇消息,并判断是否需要扩散该消息,若是则将消息的扩散范围减一,转发该消息,否则不做处理;最后置自身为未定状态,转入步骤a1;
作为本发明的又一优选方式,步骤b3中的簇头失效检测可有下述方法:其一,簇头节点可以指定一个簇成员节点为备份簇头节点,在其簇头失效检测计数器溢出时,发起重分簇进程;其二,检测到簇头失效的簇成员节点在簇内广播簇头失效消息,通过簇成员节点间的协商,确定簇头是否失效,并发起重分簇进程;
以下结合附图与实例对本发明作进一步说明。
附图说明
图1为网络分簇拓扑建立的实例图。
图2为网络局部重分簇触发的实例图。
具体实施方式
一种基于分簇的无线传感网自适应拓扑重建方法,包括以下步骤:
A.网络分布式分簇,建立基于分簇的网络拓扑结构;
在分簇的网络拓扑结构中,存在两种节点:簇头(Cluster Head,CH)与簇成员(ClusterMember,CM)。节点初始化时,身份是未定的(Undefined,UN),在组网进程中,包括信道侦听、消息交互和节点入网三个线程,可采用任何一种分布式的簇头竞争方法。在本发明中,提供一种基于多权值优化的簇头选举方法作为实例,其具体步骤如下:
a1:邻居发现
1)节点侦听信道1个超帧周期,若接收到CH的Beacon帧,则置自己状态为PreCM,转入step3;
2)节点周期性广播Hello消息(周期数一般不超过10),包含节点ID、当前能量Ei、权值Wi(初始值为0)、当前节点状态(初始为UN)等信息;
3)节点根据接收到的Hello信息建立邻居表,更新自己的簇头竞争权值Wi;
a2:簇头选举
1)在此阶段,仍需周期性的Hello广播(周期数不超过10);
2)若节点的权值Wi在其邻居中最小,置自己为CH;
3)若节点邻居中存在权值小于自身权值的CH,置自己为PreCM;
a3:成簇
1)CH广播Beacon帧,包含CH的调度信息;
2)PreCM侦听信道1个超帧周期,接收Beacon,建立CH表;
3)PreCM在第2个超帧开始按xxx原则选择CH表中的最佳CH,向其发送加入申请MSG_JOIN_REQ消息,设置WaitACK定时器,等待MSG_JOIN_ACK消息;
4)CH接收到MSG_JOIN_REQ,若簇未满,发送MSG_JOIN_ACK消息,否则,发送MSG_JOIN_DENY消息;
5)PreCM若接收到MSG_JOIN_ACK消息,则置自己为CM,完成分簇,若接收到MSG_JOIN_DENY消息或WaitACK定时器超时,则转入3);
6)若PreCM节点的CH表中无可用CH,则置自己为CH,开始广播Beacon,完成分簇。其流程图如图1所示。
B.簇头故障或低能量报警触发的网络局部区域重分簇;
参与重分簇的网络区域为触发簇为中心的N跳范围内的处于空闲状态的簇,N值由触发簇依据网络局部节点分布、簇规模与邻居簇数等因素自适应确定以保证足够的节点参与重分簇,获得较好的分簇结构。具体实现步骤为:
b1、触发重分簇:
1)CH达到能量阈值,依据簇规模与邻居簇数确定重分簇消息的扩散范围,在簇内与簇间广播MSG_CLUSTER_REBUILD消息,通知邻居簇头启动重分簇进程;
2)CM的簇头故障检测计数器溢出,依据簇规模与邻居簇数确定重分簇消息的扩散范围,在簇内与簇间广播MSG_CLUSTER_REBUILD消息,通知邻居簇头启动重分簇进程;
3)节点收到MSG_CLUSTER_REBUILD消息,此时:
a)节点为CH,且处于重分簇范围,则在其簇内广播MSG_CLUSTER_REBUILD消息,若处于重分簇范围边缘,则在簇间广播MSG_ROUTE_BROKEN消息,否则将接收到的MSG_CLUSTER_REBUILD消息的扩散范围减一,在簇间广播,同时置自己状态为UN,开始侦听信道;
b)节点为CM,置自己状态为UN,开始侦听信道;
4)在重分簇区域外围的CH节点收到MSG_ROUTE_BROKEN消息,启动路由切换进程;其流程如图2所示。
b2、簇头选举进程:
1)节点收到CH的Hello/Beacon消息,此时,
a)若节点为CH,比较其权值,高于己则置自己状态为PreCM,停止广播Hello消息;
b)若节点为UN,置自己状态为PreCM;
2)节点在N个Hello周期内未收到CH的Beacon/Hello消息,置自己为CH,开始广播Hello消息;
b3、成簇进程:
1)PreCM节点向周围的CH节点发出加入申请消息MSG_JOIN_REQ,
2)CH收到消息MSG_JOIN_REQ,
a)若簇未满,CH回应MSG_JOIN_ACK确认,
b)若簇已满,CH发送MSG_JOIN_DENY拒绝;
3)无法加入簇的节点置自己为CH,从而完成整个进程。
其流程如图1所示。
以上描述的仅是本发明的一个最佳实施例,本发明的保护范围并非局限于上述具体实施例,凡本领域技术人员根据本发明所做出的显而易见的改动均落在本发明的保护范围内。