民航空管传输业务故障诊断系统的设计与实现探究
2022-07-19罗朝辉
罗朝辉
(民航甘肃空管分局,甘肃 兰州 730000)
1 系统结构体系与技术
1.1 B/S 架构
伴随Internet 技术的发展,浏览器与服务器(B/S)结构下,用户能顺利利用浏览器访问浏览界面,在前端(Browser)能实现一些逻辑,而主要的系统逻辑是在后端达成的,即服务器端(Server)。把系统与数据统一存储在后端,能够明显减轻前端设备的负荷,降低系统维护与升级工作量和时间成本,减少了用户的总开销。B/S 三层体系结构采用三层客户端服务器结构,将以中间层增设到客户端与服务器端之间,故而该体系被叫作三层结构。
伴随中间层技术成熟度的提高,这种三层结构日益流行,理论上把该结构体系细分成显示层、逻辑层、数据层3 个处理层次。以上这3 个层次相互独立,一层不改变时不会影响另一层的状态。
1.2 技术
(1)SecureCRT:以IP/ATM 架构形成的数据通信操作系统平台(VRP)是空管传输故障诊断系统建设的基础。应用SecureCRT 能顺利登陆到空管传输系统内,进到业务窗口,能够完整地查看端口统计到的业务信息。SecureCRT 被公认成衔接Windows、UNIX、VMS 等的理想化工具,其能于Windows 下登录华为VRP 系统,并对该系统进行相应操作。
(2)PHP 技术:这是一种多用途脚本语言,特别是在Web 开发领域表现出较高的适用性。PHP 语法特殊,混合应用了C 语言、Java、Perl 和PHP 的自创语法。一般利用PHP 解释器处理PHP,这种解释器和CGI 或Perl 相比较,能更快速有效地执行动态网页[1]。利用PHP 制作出的动态页面和其他类型的编程语言做对比,能更加顺利地把PHP 代码嵌入HTML 代码内,编译能实现加密与完善代码运行过程,进一步提高实际执行效率。
2 系统设计
2.1 系统概要
(1)功能结构设计:可以把该诊断系统的功能分成故障诊断、数据库维护、系统登录、留言板等。其中,故障诊断功能有自动诊断、人工干预诊断之分;数据库维护主要由业务信息、自动诊断及人工干预诊断规则维护等部分构成。
(2)整体结构设计:如图1 所示,本文设计的故障诊断系统和专家系统有很大相似之处,知识库、推理机、动态页面等是该系统的主要构成[2]。
图1 诊断系统结构图
在该系统内,主要用动态数据库存储系统知识库之外的其他数据,故障诊断相关知识被统计在知识库内。知识库聚集系统正常运行所需的知识,基于检修人员工作的归纳及自身检修维护经验去获得相应知识。在后期工作中可以持续修改知识库内的知识,排解掉对故障问题诊断结果产生影响的主观意见,提升最后诊断结果的精准度。推理机主要是管理控制故障求解过程的,其结合故障诊断的目标对象,以设计好的计算机推理过程为依托推导出结论,而后和规则库内的规则进行匹配,生成最后结果。人机接口为系统和运维人员沟通的页面,帮助检修人员运用系统对故障问题作出合理诊断。动态页面是Web 多种功能实现的重要基础。
(3)网络结构设计:完善结构设计效果,确保诊断系统和空管传输系统有效衔接,设计该诊断系统的网络结构如图2 所示[3]。在监控机房内安装服务器、客户端,客户端的部署位置不固定。交换机的功能主要是衔接空管传输系统与诊断系统,服务器执行B/S 架构内全部系统逻辑层、数据层的测算任务,客户端用于呈现B/S 架构。
图2 系统硬件结构图
2.2 功能详细设计
(1)数据信息采集:规划自动诊断功能前,要设计数据信息采集方法,通过这种方式获得训练样本,实现对神经网络模型的科学训练。设计过程可以做出如下概述:首先,设计SecureCRT 脚本。SecureCRT 操作VRP系统,会自动形成session.log 日志,利用其保存VRP 系统的全部操作与显示信息,为提取日志内的信息创造便利。其次,设计数据采集Matlab 脚本。应用该脚本处置session.log 日志;importdata()获得session.log 日志,Data()提取相应的行,regexp()则提取行内的数据,成为一个向量;依次进行减法计算,获得短短10 s 中的业务信息。最后,业务数据采集的运行[4]。把业务数据用在SecureCRT 和Maltab 上,在人机接口页面怎样有效控制运作。本系统规划用PHP 应用程序控制人机接口页面。PHP 采用四种方法运行系统外的应用程序命令,分别是exec()、passthm()、system()、shell exec(),exec()执行命令时不输出结果,是常用的函数,本系统设计时利用exec()执行应用程序。SecureCRT 与Matlab 运作成功后会生成session.log 与success.txt,以file_ exists()判断文件的存在性,来判断业务数据采集成功与否。
(2)自动诊断功能:设计Matlab 脚本。该脚本要采用前期设计好的神经网络模型诊断业务数据,用于存储数据库的表格类型也有差别。运行自动诊断功能,该功能运行方式和业务数据信息采集一致,均利用exec()进行控制,具体是在服务器端运行SecureCRT 和Matlab,把形成的诊断结果传输到人机接口页面上。
(3)人工干预诊断功能:首先,维护工作人员进到人工诊断人机接口页面,完整地呈现出故障现象逻辑表与干预诊断页面,在此基础上通过人工检查故障。其次,执行完故障检查工作后,于诊断页面上精准地选出故障现象,随后点击查找到诊断规则库内对应的内容。最后,在人机接口页面内完整地呈现出人工诊断规则,人工干预诊断流程结束。
(4)数据库维护功能:具体设计时,要明确被维护的数据类型,具体维护操作,维护过程中要注意的问题等。操作传输业务实际位置信息时,要设置修改、新增及删除信息的功能。在诊断规则库内设置修改诊断结果的操作,借此方式提升故障诊断的精准度。
(5)登录功能:用户把注册申请呈递给有关部门,系统管理员采集到申请以后帮助用户完成注册,其他人不可私自注册身份信息。身份信息注册好以后,应将其输进人机接口界面,即可登录系统。
(6)留言板功能;留言板为系统的电子便笺,其在维护人员及管理员沟通中发挥巨大作用,维护者可以把自身遇到的问题及建议等存留在该页面上,便于他人阅览。维护人员把留言信息输到人机接口页面,把信息填到数据库内,接口页面便能完整地呈现出数据库内所有留言信息(图3)[5]。
图3 留言板功能流程图
2.3 数据库的整体设计
采用E-R 模型阐释数据库结构。本课题设计系统时,遵照整体化原则,把数据表分成如下两类[6]:其一是动态数据库,包括业务信息表、业务数据表、用户及留言信息表等。其二是知识库的设计。诊断结果库diagnosis_result 存储自动诊断所得的结果数据及诊断时间,比如诊断结果1000000,诊断时间2018-11-26 11:33:28;故障现象逻辑表fault_logic 的功能主要是阐释不同故障现象之间的逻辑关系,主要被用在人工干预诊断方法应用过程中。本系统依照业务故障现象间的逻辑关系建树,比如甚高频发射故障被分成本端正常与异常,前者又可以分成远端正常及异常。对于诊断规则库的设计,把产生式规则作为规则表现方式,这种规则方式由条件、结论两部分构成,可以分别被叫作If、Then。自动诊断传输业务故障时的产生式规则实例是“If0001000,Then 远端传输设备故障”。
3 系统的实现
3.1 自动诊断功能
(1)SecureCRT 脚本:结合SecureCRT 脚本运行流程,编译脚本,生成session.log 日志,由其内采集业务数据。以上过程中,采用适宜方法管控SecureCRT 登录设备,运行VBS 脚本,生成实际所需的session.log 会话文件。
(2)Matlab 脚本:对于数据采集脚本,先用importdta()读取日志,生成变量Data,精准提取行的相关信息。随后用函数regexp()提取业务数据,赋值,str2num()将其处理成可计算的数字,把10 s 后的业务数据和10 s 前的做减法,就可以得到10 s 中的业务信息。对于自动诊断Matlab 脚本,存储前期训练好的BP 神经网络模型,存储格式为mat。在该脚本内,可以用load()直接调取BP 神经网络模型。
(3)业务数据采集功能[7]:一是管控SecureCRT 运行VBS 脚本,成功执行后生成session.log 日志,用file_exists()函数检查session.log 的存在性,判断脚本是否被成功执行,成功、失败分别弹窗“程序执行完毕/失败”。采集Matlab 脚本成功执行以后会生成success.txt日志,file_exists()函数检测日志的存在性。当脚本执行成功后会自动剔除session.log 与success.txt。点击数据采集按钮后等待10 s,出现“程序执行成功”提示信息,表明业务数据采集任务完成。
3.2 人工诊断功能
该项功能的实现是参照人机接口页面选出的故障现象,查阅人工诊断规则表内相应的诊断结果,系统会把结果完整地呈现在人机接口页面上[8]。
把故障现象逻辑表呈现在人工诊断页面上,该环节应用到了PHP 无限级分类生成树这种形式,各个故障现象在生成树上均有相对应的位置。维修工作人员按照先后检查父级、子级故障现场的逻辑方式,组织人工检查故障发生情况。随后把实际故障现象作为查找条件,诊断规则表内的诊断结果作为结果,点击诊断按钮,实现查找诊断结果的人工诊断功能。
3.3 数据库维护功能
具体是配合应用PHP 与MySQL 结合数据库维护程序流程,实现相应的功能。比如针对修改功能,其实现方法可以做出如下阐述:系统先读取相应的业务信息,早期建表时各条业务信息均有适宜的id 编号,系统读获编号内的业务信息,而后将其完整地呈现在相应页面上,维护工作人员精准发送,输进修改信息,配合应用update 的方法把修改所得的信息添加至数据库内。进到数据库维护页面,选出需要进行修改的行,点击“编辑”按钮,弹跳出相应的修改页面,输进修改后的信息,点击“确认”完成修改功能。
而在实现删除功能时,系统先精准找到对应id 编号的业务数据,然后通过delete 的方法直接删除id 编号的业务信息。选出需要进行删除的行,单击“修改”按钮,确定后执行删除功能[9]。
3.4 登录功能
登录功能实现时应用了PHP+MySQL,先把相关信息输送到页面内,随后输入逻辑查询代码、$_POST 传递参数,在数据库内反复探查mysql_fetch_array 语句。数据库查找输入的两个参数,一是用户名,二是密码。登录时,系统自动查找用户信息表内是否存在着用户名与密码。前期没有注册的人员,数据库无法查询到相应结果,返回至登录失败界面。在信息验证成功以后,呈现出系统地址。
3.5 留言板功能
留言板功能即结合留言板功能程序执行情况实现相应功能。留言板自身构造简单,实用性强,具备多数留言板的基本使用功能。实际操作留言板的过程较简单,进到留言板页面后,可以自由浏览他人的留言信息,页面下方能观察到留言输入框,输进内容以后点击“留言”按钮就可以完成。
4 结束语
为了使空中交通安全得到保障,民航空管部门不断提升空中交通指挥水平,但空中交通指挥信息传输安全保障长期应用传统的故障诊断模式,因此做好民航空管传输业务的维护工作具有很大的现实意义,应尝试把智能化与信息化方法用于维护工作的实践中。本课题设计了空管传输业务故障诊断系统,合理应用该系统,提升维护人员的操作效率,使传输业务维护工作的质效得到保障,为我国航空事业健康、长久发展保驾护航。