论文部分内容阅读
传感器网络因为能够进行事件检测或者目标监测,经常被部署在危险或者人类无法到达的恶劣环境中进行监测工作。在恶劣环境下工作的传感器节点由于长期受到环境因素的影响(高温,高电磁干扰等),它的采样数据会夹杂着大量噪声或者趋势项,因而不够准确,而且采样的时序数据对于数据特征的表现也不够明显。同时受环境因素的影响传感器节点的能量消耗过快,并且有可能某一监测区域内大面积传感器节点的工作性能发生缓慢的变化,甚至出现软硬件故障。恶劣环境下,如果利用周期性的对传感器网络进行故障检测的方法,当传感器网络发生故障时,它不能够及时发现故障,而且在无故障情况下它会使节点的能耗过多,所以需要一个能够及时检测出传感器节点故障的算法。并且在故障检测中一些性能发生变化的节点不应该同其他故障节点一样被抛弃,应该通过故障检测技术对其进行修复,使其能够继续使用,减少重新部署传感器节点的人力和硬件成本,因此对于不同的故障类型应该采取不同的处理手段。针对以上提出的问题,本文提出了一种数据敏感的传感器节点故障检测算法。该算法在分布式的环境下,首先节点利用自身的抗干扰器的抗环境干扰功能来减少外界环境因素对节点采样数据的影响,然后利用抗干扰器的突出时序序列特征功能来提取时序数据的特征值,减少传感器节点在进行数值计算时的计算量和传输过程中的数据传输量,减少了能耗。接着节点对于数据敏感,通过利用假设检验的方法统计一段时间内节点采样得到的特征值的分布情况,实时识别当前采样的特征值的是否异常,从而决定启动故障检测的时机。最后节点根据异常结果开启故障检测,并且针对不同的故障类型采取不同的检测方法。对于随机读数故障的节点,利用决策扩散和投票决策相结合的方法对其进行检测,并抛弃发生该故障的节点;对于漂移读数故障的节点,利用节点中的事件检测器配合故障检测技术对其故障类型进行确定,并通过重新构造节点中的事件检测器来修复发生漂移读数故障的节点,使该节点能够适应发生漂移的数据,减少了重新更换硬件的人力和成本。