关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 无线传感器网络拓扑的监控与维护

无线传感器网络拓扑的监控与维护

作者: 时间:2012-05-21 来源:网络 收藏

在同一条数据通路上的节点进行数据转发时,数据传递路径上的各个节点都会发现其父节点(数据由下而上)或者子节点(数据由上而下)的丢失,进而调用void ZDOSynclndicationCB(byte type,uint16 shortAddr)函数。如图4所示,如果网关发送数据到终端节点1,则在网关到终端节点1数据路径上的所有节点(网关、路由1、路由2、终端1)都能够发现其了节点的丢失;终端节点1发送数据到网关,则路径1上的所有节点都能发现其父节点的丢失。

该方法通过建立数据通路上起始节点和末端节点的数据通讯来实现整条路径上节点丢失情况的获取。其具体操作过程分为两个部分:其一是父节点丢失情况的获取。由前面提到的实施条件可知,终端节点无需任何人为操作就能够发现其父节点的丢失,而无需对此部分做特殊处理,因而只需对路由节点做出处理。而由路由叶子节点(如图4中路由节点2、4)向网关发送数据时,则可实现整条路径上所有节点丢失情况的获取。其二是了节点丢失情况的获取。子节点丢失的获取可以通过网关向叶子节点(图4中所有终端节点和路由4)发送数据的方法来覆盖整个中的所有节点,从而使全部节点都能够发现其了节点的丢失情况。

人为加入上述两部分数据通讯后,只要整个中有节点丢失,该丢失节点的父节点和子节点都会产生失步函数voidZDO_SyncIndicat ionCB(byte type,uint16 shortAddr)的调用,这样就可以简单地在该函数中添加向上层应用报告的功能,实现中节点丢失信息获取。并且数据通讯量由原来的28条减少到6条,从而大大减少了数据消耗和由此带来的系统资源占用。

3 网络结构与

Z-stack协议栈在全功能节点中只与本节点直接关联的节点信息的关联表,没有整体网络信息的存储功能。为了解决Z-stack关于网络全貌信息缺失的缺陷,结合本文提出的网络结构方法,设计一种结构的方法,在占用少量资源的情况下获取整个网络的拓扑信息,并将信息整合到网关节点中统一维护和管理,从而建立网络拓扑的管理办法,实现具有自组织、自适应能力的智能网络管理机制。

3.1 管理模式

网络信息管理可采用搜集模式和模式相结合的方式。搜集模式通过发送指令搜集网络拓扑信息,赋予用户即时获取当前网络结构的能力;模式通过监控从网络组建起历史网络的结构变化,实现网络拓扑信息更新,从而整合为当前网络拓扑结构。

搜集模式在实现时,首先由网关设备广播一个命令来搜集设备信息;然后,收到广播信息的路由节点再按照一定的数据格式,由网关返回子节点关联信息;当网关收到各个路由节点的返回信息后,再将其组合为整个网络中的设备信息。

监控模式则是从网络形成起,网关节点就开始监控所有节点的状态;当路由节点检测到其子节点加入或者退出的时候,向网关上报该子节点的状态变化信息,而网关节点检测到子节点加入或者退出则不用上报,直接在网关内部处理;当网关接收到路由节点上报的状态信息后,就会删除或者增加该路由子节点的关联信息,同时更新整体网络结构。

3.2 网络拓扑存储结构

网关节点作为整个网络拓扑结构管理的中心,负责拓扑结构的添加、删除和更新,因此,必须在网关节点存储整体的网络拓扑结构信息。受网关资源的限制,本文采用分级动态链表的形式保存网络拓扑信息,以便以较少的资源占用实现拓扑信息的动态存储。本设计的网络拓扑存储结构如图5所示。

e.JPG

图5中,AssocLisHead是装载路由节点头信息的数组,包含有该路由节点的长地址、短地址、父节点短地址和拥有的子节点数以及指向其子节点链表assoc list的头指针;assoclist链表中记载着这一路由下的了节点信息,包括子节点的短地址、长地址、类型、连接状态等。在该路由下每增加一个子节点,就会在assoc list链表中添加一个节点信息,当节点离开时,又会将相对应的链表删除。这样,网关就可以方便地对当前网络中的昕有节点的拓扑和相关信息进行查找、更新、维护。

3.3 网络维护方案

网络维护的实施要建立网络中所有类型节点间的区分与协作机制。区分是根据节点类型的不同、事件类型的不同做出区别处理;协作是在所有节点间建立连动响应机制,相互配合,并实现信息的汇聚和统一管理。具体的网络维护分为事件响应和信息维护两部分。

3. 3. 1 拓扑变化事件的响应

拓扑变化主要是指节点加入事件和节点退出事件。当节点加入事件是指节点加入网络时,其父节点负责将该子节点加入信息上报网关;节点退出事件则是指获取到的网络节点丢失信息的处理。处理可分为两种情况:一种是当传递来的type=1时,即丢失节点为本节点的父节点时,开启网络加入流程,使节点可以重新加入网络,并恢复网络的正常运行;第二种情况是type=0时,即本节点发现其中一子节点丢失。本方法对于长时间无法连接的子节点,将启动移除(LEAVE)流程,将该子节点从网络中删除,同时向网关节点报告子节点退出的消息。

需要注意的是:当子节点丢失时,有的时候是真正丢失了(长时间或永久无法连接),但更多的时候只是暂时地失去联系,随着子节点的重新加入申请,又可以加入网络,恢复正常的运行状态。因此,设计时需要将暂时失步和真正丢失这两种情况区分开,再分别做出合理的处理。



评论


相关推荐

技术专区

关闭