一种无线传感器网络故障的处理方法
技术领域
本发明属于无线通信技术领域,尤其涉及一种无线传感器网络故障的处理方法。
背景技术
近年来,随着微电子技术和通信技术的不断进步,传感器节点逐渐朝着微型化、智能化的方向发展。由这些体积小,成本廉价的传感器节点构成的网络以其无处不在的感应、计算特点对物理世界进行有效的感知,进一步提高了人类获取客观信息的能力,并广泛应用于军事、环境监测、智能家居、建筑物监测以及医疗护理等多个领域,具有重要的研究价值及应用前景。
无线传感器网络通过部署在监测区域内的传感器节点收集周围环境信息并将其发送给相关用户。无线传感器网络节点的能量、通信能力以及可用资源非常有限;传感器网络内节点数量庞大、可靠性差、动态性强。传感器网络的节点调度机制要能在这些限制条件下去实时有效地监控传感网,并且协助用户去配置和管理传感器网络。
在通常情况下,传感器网络节点能量有限且多以电池进行供电,更加之无线传感器网络使用的环境异常复杂和恶劣,传感器网络的节点会出现各种故障,这会降低或失去预定的功能,甚至造成严重的损失乃致整个网络瘫痪。通过故障处理能及时、正确地对各种异常状态或故障状态给出诊断,预防或消除故障,对传感器的运行进行必要的指导,提高传感器运行的可靠性、安全性和有效性。
现有的无线传感器网络节点故障管理策略主要有两种:集中式故障处理及分布式故障处理。前者是节点将所有故障信息发送到管理端,管理端对故障进行分析和判断,并发送处理命令,在网络规模很大时,大量故障报告及处理信息的传播会浪费网络的大量资源,同时也会造成网络的拥塞,导致故障扩大化;后者是节点在本地对故障信息自行进行分析和处理,但是传感器节点的硬件资源有限,对复杂故障的处理并不容易,而且需要耗费节点的大量资源和能量,减少节点的生命周期。
针对上述问题,考虑在利用无线传感器网络进行集中式故障管理的基础上,结合分布式节点本地处理,引入无线传感器网络故障分级及移动故障代理的概念,对于低级别故障节点进行本地处理和合并,仅向管理端通报故障处理信息;对于高级别的故障则将故障摘要发送到管理端,由管理端通过处理和分析,发送相应的移动故障代理迁移到故障节点附近进行故障节点的确定和处理。本发明实现一种混合式的故障管理机制,可以结合集中式和分布式故障管理的优点,更有效和节能地实现对无线传感器网络节点故障的管理。
发明内容
本发明的目的在于,针对采用集中式故障处理方式的无线传感器网络存在占用网络资源的问题,以及采用分布式故障处理方式的无线传感器网络存在消耗传感器资源和能量的问题,提出一种无线传感器网络故障的处理方法。
技术方案是,一种无线传感器网络故障的处理方法,其特征是所述方法包括下列步骤:
步骤1:服务端启动后,开启监听进程监听故障报警信息;
步骤2:节点启动后,向服务端发送启动消息;
步骤3:服务端根据所述节点发送的启动消息,维护节点信息表;
步骤4:节点判断自身是否发生故障,如果未发生故障,则继续判断;如果发生故障,则执行步骤5;
步骤5:节点判断故障级别,并根据故障级别进行相应处理。
所述节点在启动后还包括:周期性地向所述节点相邻的一跳节点发送请求邻居信息报文,并在接收到回复报文后更新存储在所述节点中的邻居节点信息表。
所述启动消息包括地址信息、能量信息及邻居节点个数。
所述服务端存储故障处理经验日志。
所述故障处理经验日志包括:故障编号、发生故障的时间、发生故障的网络节点标识、产生故障的事件类型、事件典型值、所发送的移动故障代理类型和处理结果。
所述节点判断自身是否发生故障通过检测自身是否发生故障判断事件集列表中记载的事件确定,当节点自身发生故障判断事件集列表中记载的事件,则节点自身发生故障。
所述故障判断事件集列表中的事件包括:数据吞吐量、节点丢包率、孤立节点、最小链路质量、节点剩余电量的变化。
所述故障级别根据故障的严重程度确定,包括告警故障级别、普通故障级别和致命故障级别。
所述节点根据故障级别进行相应处理包括下列步骤:
步骤11:当故障级别为告警故障级别时,执行步骤12;当故障级别为普通故障级别时,执行步骤13;当故障级别为致命故障级别时,执行步骤14;
步骤12:节点在本地进行处理,处理后判断存储在本地的告警信息队列是否已满,若未满,则将此次故障处理后产生的告警信息存入告警信息队列;若告警信息队列已满,则将告警信息队列中的所有告警信息取出,合并成综合告警信息发送给服务端;
步骤13:节点先在本地进行处理,处理后判断故障是否排除,如果故障排除,则向服务端发送普通故障信息;否则,执行步骤14;
步骤14:节点向服务端发送派遣移动故障代理的请求和故障摘要;
步骤15:服务端接收到节点发送的派遣移动故障代理的请求和故障摘要后,根据故障摘要在故障处理经验日志中查找相应故障的处理信息,生成移动故障代理并将其发送给发出请求的节点;
步骤16:移动故障代理在节点本地检测和处理故障,若在节点本地不能检测出故障,则移动故障代理向该节点的前向或后向节点迁移,直到检测和处理好故障为止;
步骤17:生成相应的普通故障信息或者致命故障信息并发送给服务端;
步骤18:服务端将接收到的综合告警信息、普通故障信息或者致命故障信息存入故障处理经验日志。
所述综合告警信息、普通故障信息或者致命故障信息采用基于SNMP的报文格式。
本发明的效果在于,通过对无线传感器网络故障进行分级,将分布式的节点本地故障管理与集中式的服务端故障管理融合,既保障了网络的通信效率,又改善了节点的硬件资源。
附图说明
图1为本发明应用场景示意图;
图2为本发明提供的实施例流程图;
图3为故障判断事件集列表;
图4为故障处理经验日志示意图;
图5为基于SNMP的报文格式示意图。
具体实施方式
下面结合附图,对优选实施例作详细说明。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。
图1为本发明应用场景示意图。图1中,典型的无线网络传感器,包括至少一个管理服务器(本文称管理端)和若干个节点(无线网络传感器)。在某一时刻T,节点B发现自己的数据吞吐率发生异常减小,且程度较重,严重影响了网络功能,将这一事件诊断为致命故障级别,向服务端发送派遣移动故障代理请求。服务端接收到该节点的请求后,在故障处理经验日志中查询到上一次类似故障的处理方法,结合对故障摘要中相关信息的计算和分析,发送相应的移动故障代理到故障报告节点B;移动故障代理在节点B本地运行,发现节点B数据率的下降与B没有关系,询问与节点B相邻的节点A的数据吞吐率是否也出现了同样的现象,答案是肯定的,则移动故障代理向节点A迁移,在节点A运行诊断程序,最终解决故障问题。移动故障代理将对此故障的致命故障信息发送给服务端,服务端将此信息存入故障处理经验日志。
图2为本发明提供的实施例流程图。如图2所示,本发明实施的过程是:
步骤201:服务端启动后,开启监听进程监听故障报警信息。
步骤202:节点启动后,向服务端发送启动消息。
所述节点在启动后,还可以包括:周期性地向该节点相邻的一跳节点发送请求邻居信息报文,并在接收到回复报文后更新存储在所述节点中的邻居节点信息表。
在本发明中,启动消息包括地址信息、能量信息及邻居节点个数。
步骤203:服务端根据所述节点发送的启动消息,维护节点信息表。
在本发明中,服务端存储故障处理经验日志。故障处理经验日志包括:发生故障的时间、发生故障的网络节点标识、故障类型、排除故障的方法和所发送的移动故障代理类型。
步骤204:节点判断自身是否发生故障。
节点判断自身是否发生故障通过检测自身是否发生故障判断事件集列表中记载的事件确定。图3为故障判断事件集列表,故障判断事件集列表中的事件包括:数据吞吐量、节点丢包率、孤立节点、最小链路质量、节点剩余电量的变化。当节点自身发生故障判断事件集列表中记载的事件时,则认为节点自身发生故障。
如果节点判断自身未发生故障,则继续判断。如果发生故障,则执行步骤205。
步骤205:节点判断故障级别,如果故障级别是故障级别为告警故障级别时,执行步骤206;当故障级别为普通故障级别时,执行步骤210;当故障级别为致命故障级别时,执行步骤213。
步骤206:节点在本地进行处理。
步骤207:节点处理后判断存储在本地的告警信息队列是否已满,若未满,则执行步骤208;否则,执行步骤209。
步骤208:将此次故障处理后产生的告警信息存入告警信息队列;
步骤209:将告警信息队列中的所有告警信息取出,合并成综合告警信息发送给服务端,跳到步骤219。
步骤210:节点先在本地进行处理。
步骤211:节点处理后判断故障是否排除,如果故障排除,则执行步骤212;否则,执行步骤213。
步骤212:向服务端发送普通故障信息。
步骤213:节点向服务端发送派遣移动故障代理的请求和故障摘要。
步骤214:服务端接收到节点发送的派遣移动故障代理的请求和故障摘要后,根据故障摘要在故障处理经验日志中查找相应故障的处理信息,生成移动故障代理并将其发送给发出请求的节点。
图4为故障处理经验日志示意图。如图4所示,在本实施例中,故障处理经验日志包括:故障编号、发生故障的时间、发生故障的网络节点标识、产生故障的事件类型、事件典型值、所发送的移动故障代理类型和处理结果。
步骤215:移动故障代理在节点本地检测和处理故障。
步骤216:节点在本地不能检测出故障,则执行步骤217;否则,执行步骤218。
步骤217:移动故障代理向该节点的前向或后向节点迁移,直到检测和处理好故障为止。
步骤218:生成相应的普通故障信息或者致命故障信息并发送给服务端。
步骤219:服务端将接收到的综合告警信息、普通故障信息或者致命故障信息存入故障处理经验日志。
上述综合告警信息、普通故障信息或者致命故障信息采用基于SNMP的报文格式。图5为基于SNMP的报文格式示意图,如图5所示,故障告警的不同级别体现在报文包第一位的PDU type上,其他部分与标准的SNMP报文格式并无不同。
本发明通过对无线传感器网络故障的分级管理,将分布式的节点本地故障管理与集中式的基于SNMP的故障管理融合,形成一种混合式的故障管理机制,更有效和节能地实现对无线传感器网络节点故障的管理。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。