池明文+孟庆娟+马占飞
摘 要: 由于无线传感器网络故障种类较多,使得传统的无线传感网络故障预警系统无法对其进行有效预警,可靠性和准确性较低。因此,构建可靠性和准确性较高的无线传感网络故障预警系统,该系统由故障数据采集筛选模块、故障辩证模块、数据库和便携式通信设备组成。故障数据采集筛选模块对无线传感网络中各种故障数据进行采集和筛选,并将故障数据传输到故障辩证模块进行故障预警。当故障辩证模块无法自动进行故障预警时,维修人员将介入处理。数据库为系统提供故障数据的存储区域,并对其进行汇总、解析和输出,以供使用者管理无线传感网络。系统软件利用安卓技术,令使用者通过便携式通信设备实时获取故障预警信息,并给出故障数据采集过程的算法代码。实验结果表明,所设计的系统具有较高的可靠性和准确性。
关键词: 无线传感网络; 故障数据采集; 预警系统; 安卓技术
中图分类号: TN711?34; TP273 文献标识码: A 文章编号: 1004?373X(2017)04?0163?04
Design of a fault early warning system for wireless sensor network
CHI Mingwen1, MENG Qingjuan1, MA Zhanfei2
(1. Institute of Electronic Commerce, Baotou Light Industry Vocational Technical College, Baotou 014035, China;
2. School of Information Science and Technology, Baotou Teachers′ College of Inner Mongolia University of Science and Technology, Baotou 014030, China)
Abstract: Since the traditional early warning system can′t warn the wireless sensor network fault effectively, and has low reliability and accuracy due to the various fault types of the wireless sensor network, a wireless sensor network fault warning system with high reliability and accuracy was constructed. The system is composed of the fault data acquisition and screening module, fault identification module, database, and portable communication device. The fault data acquisition and screening module is used to acquire and screen the various fault data in the wireless sensor network, and transmit the fault data to the fault identification module for fault early warning. When the fault identification module can′t warn the fault automatically, the maintenance personnel will involve. The database provides the fault data storage area for the system, and gathers, analyzes and outputs the data, so that the users manage the wireless sensor network. The Android technology is applied by the system software to let the users acquire the fault early warning information through the portable communication device in real time. The algorithm code in the fault data collection process is given. The experimental results show that the system has high reliability and accuracy.
Keywords: wireless sensor network; fault data acquisition; early warning system; Android technology
0 引 言
近年來,无线传感器网络以其低廉的成本和设置灵活性,被广泛应用于环境监测、电子通信和医疗等领域[1?3]。由于无线传感器网络的故障种类较多,传统的无线传感网络故障预警系统无法对其进行有效预警,可靠性和准确性较低[4?6]。因此,构建可靠性和准确性较高的无线传感网络故障预警系统,已成为科研组织的重点研究方向。
以往研究的无线传感网络故障预警系统均存在一定的问题,如文献[7]提出基于自供电技术的无线传感网络故障预警系统,通过检测无线传感网络的电路问题进行远程预警,整个系统的准确性较高。但自供电技术受环境温度和辐射的影响较大,系统稳定性偏低。文献[8]提出基于人工神经网络的无线传感网络故障预警系统,其故障纠错率和应用性均很高。但该系统在运行过程中需要花费大量的人力对其进行监控和检修,运行成本较高,不适合中、小企业使用。文献[9]提出基于网络模块辨认的无线传感网络故障预警系统,该系统将所检测到的故障问题进行模块分离,分别对各模块中的故障数据进行预警和整修,正确性较高。但该系统的辨认过程耗时较长,预警效率不高。文献[10] 提出基于模糊推理的无线传感网络故障预警系统,利用模糊推理方法将系统收集到的故障问题进行统一分类,预警效率较高。但模糊推理方法的局限性较强,故整个系统的可靠性不高。
为了解决以上问题,构建可靠性和准确性较高的无线传感网络故障预警系统。实验结果表明,所设计的系统具有较高的可靠性和准确性。
1 无线传感网络故障预警系统设计
1.1 系统总体结构设计
无线传感网络故障预警系统由故障数据采集筛选模块、故障辩证模块、数据库和便携式通信设备组成。图1是无线传感网络故障预警系统总体结构图。
故障数据采集筛选模块作为无线传感网络故障预警系统的初始处理模块,是无线传感网络故障数据准确性的基础保障。该模块为故障辩证模块提供故障问题的数据源。当故障辩证模块无法自动给出无线传感网络的故障预警时,使用者将在便携式通信设备上接收到故障信息,并派维修人员介入处理。同时,数据库会推荐处理方案,供维修人员参考。
1.2 故障数据采集筛选模块设计
故障数据采集筛选模块能够对无线传感网络中各种故障数据进行采集和筛选。该模块属于无线传感网络故障预警系统的操作层,其包括数据缓存区、数据筛选区和数据传输区,工作原理如图2所示。
由图2可知,故障数据采集筛选模块的工作流程为:先设置模块故障筛选参数,无线传感网络的故障类型主要包括网络连通不畅、病毒感染、缓存区信息过量和电源不正常供电等。将传感器网絡中各节点数据实时汇总,并统一上传至故障数据采集筛选模块的数据缓存区,防止在数据筛选过程中出现信道拥堵。数据筛选区依次将数据缓存区中的节点数据提取出来,以预设的故障参数为标准,筛选出无线传感网络的故障数据。由于无线传感网络的节点数据非常庞大,因此,无线传感网络故障预警系统为该模块提供了专业的数据整理人员,以保证故障数据筛选工作的准确性。筛选出的故障数据经由数据传输区反馈给故障辩证模块。
1.3 故障辩证模块设计
故障辩证模块能够对无线传感网络节点故障数据进行辩证,给出最优解决方案后将预警信息传输给使用者。由于故障数据中蕴含的故障问题往往较为笼统,因此,如何将故障问题进行正确辩证,是该模块需要解决的重点内容。图3是故障辩证模块工作原理图。
由图3可知,故障辩证模块分为三步进行故障数据的辩证工作,分别为推导辩证、模糊分类和人工查核。故障辩证模块接收到故障数据后,先进行数据的推导辩证,得出初始辩证结果。具体或常见的无线传感网络故障问题可直接通过该初始辩证结果进行故障预警;对于较为笼统的网络故障问题,则需要对其进行模糊分类。将网络故障问题按照无线传感网络故障预警系统预设的参数进行分类,其类别包括产生时间、持续时间、故障节点等。同时,故障辩证模块配备输入接口,使用者可根据自身情况进行模糊分类的个性化设置。模糊分类后,98%的故障问题均能直接进行故障预警。
由于无线传感网络的故障问题更新速度较快,无线传感网络故障预警系统无法提前预知特殊的故障问题。因此,余下2%的故障问题需要通过人工查核进行故障预警。经人工查核后给出的最优解决方案,会实时更新到系统预设参数中。故障辩证模块中产生的所有数据均会被实时保存到数据库中,完善系统的无线传感网络故障数据。
1.4 数据库设计
数据库为无线传感网络故障预警系统提供故障数据的存储区域,并进行故障数据的汇总、解析和输出。数据库虽没有直接参与系统的故障预警工作,却能够提供给使用者完善无线传感网络的理论依据。图4为数据库结构图。
由图4可知,数据库是根据故障数据和故障解决方案构建的大型“虚拟图书馆”,其拥有信息索引、报表统计和数据输出打印等平台。数据库的信息索引平台可以提供给使用者多种系统预设方案。使用者也可利用报表统计平台,获取无线传感网络的运行情况,并对报表进行输出和打印。同时,统计报表平台也为使用者提供了故障数据的解析功能,给出无线传感网络故障问题的产生原因和维护措施,帮助使用者构建安全稳定的无线传感网络。数据库不但收集了无线传感网络故障预警系统工作中产生的所有数据,也借鉴了各大学术网站中关于无线传感网络故障的网络资源。数据库提供给故障辩证模块故障问题解决方案的理论依据,包括无线传感器的拓扑结构、配置数据和标准节点数据等,确保故障辩证模块更好地进行故障数据的辩证工作。在故障辩证模块的推导辩证、模糊分类和人工查核工作中,数据库会自动推荐多种维修方案,供使用者选择。数据库的推荐功能可根据使用者需求随时关闭或开启。
2 软件设计
2.1 无线传感网络故障预警系统软件总体设计
无线传感网络故障预警系统利用安卓技术,开放系统源代码。使用者可在便携式通信设备上预装系统软件,当无线传感网络故障预警系统发出故障预警信号后,系统软件会第一时间弹出提醒信息。使用者足不出户便可以了解到无线传感网络的运行情况。图5是无线传感网络故障预警系统软件结构图。
图5中,安卓技术为无线传感网络故障预警系统提供故障查询、故障采集、预警查询和报表查询等功能。
网络服务功能能够保护便携式通信设备中的系统软件免受外界攻击,其通信接口与软件的编程语言相互独立,为使用者提供数据隐藏和设立管理员密码的服务,增强了系统的安全性。
基于RMI的分布式应用能够增强无线传感网络故障预警系统软件的兼容性。同时,该软件的错误修正率和指令变通性较高,满足多平台的业务标准,且开发费用低,传输效率高,符合使用者对系统软件设计的需求。
2.2 无线传感网络故障预警系统软件代码
无线传感网络故障预警系统使用C语言进行系统软件的开发,给出用于无线传感网络故障预警系统的故障采集过程的算法代码,其中包含故障数据初始化和数据存储:
Int Wireless_sensor _error;
%无线传感网络故障数据初始化
null Wireless_sensor _error (null)
{
Free bytes n;
for(n=0;n<300;n++)
{
WDI=WDI; %清空系统缓存数据
Wl_buff[i] = \0;
}
Way1 = null;
way 2=null;
Keep_ Wireless_sensor _error = null;
Gain_ Wireless_sensor _error = 0;
Wireless_sensor _error = 0;
TXD_ Wireless_sensor _error = null;
WDI=~WDI;
Wl_buff[0] = ′W′;
Wl_buff[1] = ′S′;
Wl_buff[2] = ′E′;
}
TXD_ fault_ information;
%无线传感网络故障数据的发送
null TXD_w_ information(null)
{
while((Keep_WSE= 1)&(Gain_WSE=1));
%接收初始化故障信息数据
TXD_ address_message = 1;
address_message _s_ information = 0;
SBUF0=address_message[address_message_e_information]; %數据发送
WDI=WDI;
Wl_buff[Keep _ address_message] = x00;
Keep_address_message ++;
WDI=WDI;
Wl_buff[Keep_address_message] =x00;
for(n=0;n<300;n++)
{
Wl_information[i] = Wl_buff[i]; %将数据存储并复制
WDI=WDI; }
3 实验设计
无线传感网络故障预警系统的可靠性和准确性是评价系统性能的重要指标。为了验证本文设计的无线传感网络故障预警系统具有较高的可靠性和准确性,利用本文系统采集了某传感器网络节点数据,进行验证实验。系统的可靠性测试和准确性测试可从系统电压变化和数据接收率入手。系统电压变化浮动越小,系统抗干扰能力就越强,则系统的可靠性就越高;而数据接收率直接影响着无线传感网络的故障排除率,故障排除率同系统准确性呈正相关。
3.1 无线传感网络故障预警系统准确性测试
实验在无干扰情况下进行无线传感网络故障预警系统对无线传感器网络节点数据的采集,并将系统的电源电压数据提取出来。图6是无干扰情况下电源电压变化图。
图6中,无线传感器网络故障预警系统的电源电压在218~250 V之间浮动,属正常现象。造成此现象的主要原因是:由于系统电路元件在工作过程中会消耗一定的电源能量,导致初始电源电压无法令系统所有电路元件正常运作。因此,需在特定时间段适量提高系统电源电压值,以满足整个系统电路的运行需求。
实验进行到30 h,在原有条件下升高环境温度并增加辐射。图7是有干扰情况下电源电压变化图。
对比图6和图7可知,在加入干扰因素后,无线传感网络故障预警系统的电源电压浮动增强趋势并不明显。系统电源电压的最大值和最小值分别为256 V和215 V,抗干扰能力较强,验证了本文无线传感网络故障预警系统具有较高的可靠性。
3.2 无线传感网络故障预警系统可靠性测试
无线传感网络故障预警系统的数据接收率受多种因素影响,表1为故障节点与系统安装点之间距离对数据接收率的影响情况。
表1 距离对数据接收率的影响情况
由表1可知,故障节点与系统安装点之间距离越近,无线传感网络故障预警系统的数据接收率越高;数据接收率还与数据传输量有关,相同情况下,数据传输量越低,数据接收率越高。系统数据接收率的最低值和最高值分别为95.65%和98.77%,平均值为97.18%。数据接收率整体较高,且波动较小,验证了本文无线传感网络故障预警系统具有较高的可靠性。
4 结 论
本文构建可靠性和准确性较高的无线传感网络故障预警系统。该系统由故障数据采集筛选模块、故障辩证模块、数据库和便携式通信设备组成。故障数据采集筛选模块对无线传感网络中各种故障数据进行采集和筛选,并将故障数据传输到故障辩证模块进行故障预警。当故障辩证模块无法自动进行故障预警时,维修人员将介入处理。数据库为系统提供故障数据的存储区域,并对其进行汇总、解析和输出,以供使用者管理无线传感网络。系统软件利用安卓技术,令使用者通过便携式通信设备实时获取故障预警信息,并给出了故障数据采集过程的算法代码。实验结果表明,所设计的系统具有较高的可靠性和准确性。
参考文献
[1] 徐磊磊,徐保国.一种无线传感器网络故障节点检测算法[J].传感器与微系统,2015,34(12):149?152.
[2] 赵锡恒,何小敏,许亮,等.基于时间加权K?近邻法的无线传感网系统故障诊断[J].计算机应用研究,2015,32(10):3096?3100.
[3] 刘亚红,冯海林,刘昊.无线传感器网络软故障诊断算法[J].传感器与微系统,2014,33(4):142?145.
[4] 陈斌,杨俊杰.基于DFD算法的无线传感器网络故障诊断系统的设计[J].上海电力学院学报,2014,30(3):269?272.
[5] 刘昊,刘亚红.基于网格结构无线传感网络故障诊断算法[J].电子科技,2014,27(2):32?34.
[6] 严楠,周鸣争,李钧.基于DLP的无线传感器网络链路故障诊断技术的研究[J].计算机应用研究,2014,31(6):1787?1790.
[7] 丁煦,韩江洪,石雷,等.可充电无线传感器网络动态拓扑问题研究[J].通信学报,2015,36(1):129?141.
[8] 华昕佳,张帅,李凤荣,等.带状无线传感器网络间歇性故障检测[J].计算机工程,2015,41(12):119?124.
[9] 张舒涵,高慧敏,王筱萍.无线传感器网络覆盖问题中感知模型研究[J].嘉兴学院学报,2014,26(6):93?100.
[10] 刘春.二元决策图和故障树相融合的无线传感器网络可靠性分析[J].计算机测量与控制,2015,23(5):1602?1605.