飞行试验实时监控软件架构设计技术研究
2017-08-08覃杨森
覃杨森,聂 睿,覃 燕
(中国飞行试验研究院 陕西 西安710089)
飞行试验实时监控软件架构设计技术研究
覃杨森,聂 睿,覃 燕
(中国飞行试验研究院 陕西 西安710089)
飞行试验实时监控软件的架构设计直接影响着飞行试验过程管理的效率。根据分布式软件架构设计思想,在实时数据解算服务器的基础上,配置站点服务器及DNS服务器,构建多服务器分布式飞行试验实时监控软件架构平台,利用交互式页面设计及网络数据库管理技术,提高实时监控软件架构平台的维护效率,改善用户交互模式。实现了监控显示组件在分布式软件架构平台下“访问部署、链接监控”的目的,从而简化了飞行试验监控环节,有助于提升科目试飞准备效率。
飞行试验;架构设计;实时监控;分布式
通过飞行试验实时监控,可以让试飞指挥员和试飞工程师及时掌握并评判试飞状态是否安全及飞机各系统性能的可靠性,为试飞安全提供重要保障。随着目前试飞型号的不断增长,验证课题数量逐渐增多,飞行试验实时监控面临的需求也日益繁多和复杂,这将会给实时监控软件平台的维护和管理带来更大的挑战[1]。在目前的实时监控软件架构基础上,飞行验证课题专用监控画面及功能组件需要在每个监控客户端主机分别进行部署与管理。随着飞行任务的推进,使得这些客户端主机上的版本冗余文件逐渐累积,从而造成监控专用画面及组件的调用更加复杂[2]。尤其在某一模块需要更新或修改、增加新型号飞机或更换课题位置等情况下,必须对每个客户端主机中的相关文件进行一系列重新部署、更新等操作,从而大大降低实时监控显示组件的准备效率,也可能因人工操作失误引入新的飞行监控安全隐患[3]。因此,需要研究基于分布式的实时监控软件架构设计技术以解决上述问题,以使得飞行试验实时监控专用画面及组件从“专用部署”提升为“访问即更新”的应用模式,也更加便于管理员进行软件组件的更新和维护,提高飞行监控准备效率,推动试飞型号任务的进度,更高效更可靠地保障飞行试验安全。
1 飞行试验实时监控系统架构分析
飞行试验实时监控数据传输主要分为两个过程,分别为实时信号遥测接收解调和实时接收数据物理量解算[4],其监控系统架构如图1所示。
图1 实时监控系统架构图
试验机通过各类传感器,采集各个系统或飞机部件的实时运行状态数据,在飞机上将采集数据按照一定的格式进行打包编码压缩,通过无线通信链路,传输到地面遥测站[5]。地面遥测站根据约定的频率和解压方法,使用接收机对接收的无线数据包进行解调,形成网络数据包,并向地面实时监控网络完成转发[6]。在地面实时监控网络中,实时数据解算服务器对网络数据包进行识别和拼装,形成完整的数据帧后,对数据帧根据相应飞机型号的数据内容编制格式,进行物理量解算,以供实时监控终端软件完成分类按需提取显示。在实时监控客户主机上,部署有各个专业科目的对应显示监控软件及组件,与运行在实时数据解算服务器上的解算软件共同构成飞行试验实时监控软件架构平台[7]。实时数据解算软件与实时显示监控软件或组件通过数据端口绑定完成数据交互功能,实时显示监控软件或组件在客户主机上与试飞工程师或飞行指挥员完成人机交互功能。
2 多服务器分布式实时监控软件架构设计
在多服务器分布式实时监控软件架构设计中,对于飞行试验科目监控画面的管理以B/S方式实现。对于实时物理量数据而言,数值显示的实时性能更加关键,可由C/S模式即端口呼叫绑定方式进行传输,以避免响应服务造成的延时[8]。因而可按照如图2所示的软件架构平台进行设计。
图2 软件平台架构图
多服务器分布式实时监控软件架构平台将实时监控客户主机上的专用显示软件及客户端数据接收软件以COM标准进行组件化封装,并构建Web服务器,通过关系型网络数据库对组件进行管理和维护,使用视图管理方式,对不同的用户角色提供差异性管理权限[9]。监控客户主机通过系统平台的浏览器向Web服务器提交访问请求,并下载相应的显示软件或组件,利用浏览器提供的Cookies机制,完成组件的加载和运行,之后接收实时数据解算服务器发送的物理量信号,将浏览器动态监控页面进行实时刷新显示。为了便于访问和和简化交互模式,将DNS服务器加入到站点式实时监控软件平台中,可通过站点地址的解析操作提高平台的友好度[10]。
2.1 软件架构实现方案
针对设计的分布式实时监控软件架构平台,利用轻量级网络服务IIS7.0组件作为部署工具,可以提高交互服务响应的效率和可靠性。平台具体实现方案如图3所示。因基于Windows操作系统平台,故采用与操作系统服务兼容性能较好的ASP作为脚本设计语言方案,同时可以更好的配合IIS组件完成站点构建功能[11]。为了获得更好的平台扩展性,引入.NET框架,可以更有利于实现对象组件的请求/响应服务及封装发布。在此实现架构上,利用C#创建可加载监控画面并运行的HTTP模块,并通过ASP.NET技术的内置对象和SQL Server 2008支持的数据库访问组件ADO.NET实现对Web数据库的管理运维。经验证表明,该实现方案能够与原有应用程序具有良好兼容性,进而可利用关系数据库操作实现试飞型号管理、试飞课题组及科目管理、监控画面组件的存储管理及版本控制、常用监控软件上传下载等功能,为平台提供良好的维护性[12]。在此基础上,通过浏览器加载专用监控画面组件,以多组播端口协同通信方式与实时数据解算服务器建立UDP链接,接收实时数据服务器发送的物理量信号,将浏览器动态监控页面进行实时刷新显示,最终实现整个软件平台的功能。
图3 技术方案图
2.2 监控组件生成
针对C++builder环境下的显示软件,创建web方式Activex的工程时,需要选择activex标签页的active form,对属性name进行更改后,组件的实现单元及工程内部链接属性都会自动更改,并选择make control licensed和include version information选项,确保在生成的工程项目中包含注册号信息[13]。对于需要创建不依靠本机环境运行的ocx文件,对编译器进行相应的设置,在工程属性页面中去掉编译时对实时运行包及动态rtl的选项。在创建工程之后,使用运行菜单工具中的register active server进行本地注册。由于生成的组件需要依赖于浏览器加载运行,因此,还需要对页面的发布属性完成相应的设置。
几个关键的属性说明如下:
1)Target dir(full path of the deployed ocx):设置ocx目录,也就是在选择webdeploy之后,发布ocx文件的目录,可以根据网页站点路径的需要完成配置;
2)Target url:用于定位页面站点的目录,假如客户端没有安装创建的activex控件,浏览器会自动跳转到制定的网址进行寻找;
3)Html dir(full path of the deployed html file):用于存放与activex文件匹配的html文件,这些文件包含了用户可访问浏览的网页,并响应页面服务。
对于以上属性设置完成后,还需要将general options下选中四个方面的属性:Use cab file compression、deploy required package、include file version number、deploy additional files。另外,如果在控件运行时需要用到其他额外的文件或者程序包,可以通过additonal file加入到cab文件中一起打包发布。
对于labview平台,在 “build application or shared library”工具面板的“Application settings”选项卡中,选中“enable active server”复选框,通过 build操作,同时将页面生成.exe及.tlb文件[14]。其中.tlb文件包含了注册的ID号及版本号,通过管理页面,将这些信息上传到应用服务器中,即可完成对HTML模块的自动生成,以实现对组件的自动注册及加载显示。
2.3 分布式数据库设计实现
数据库设计是多服务器分布式实时监控软件架构实现的基础。通过数据库设计,将各个平台用户的权限进行管理分配,利用视图管理实现操作管理的等级划分。对于数据库表的设计,充分考虑关键信息的关联度,按照关系层级划分,对相关属性及条目进行设计实现,形成的数据表结构如图4所示。
图4 数据表结构图
1)监控组件管理表
表Monitor_manage用来存储监控组件的基本信息,包括所属型号、监控科目、CLASSID、版本等。结构表设计中,对于“URL路径”字段存储内容应当分两种情况,若监控组件为C++Builder环境生成,则存储对应文件路径;若监控组件为labview环境设计开发,则该字段存储组件执行脚本语句。
2)监控组件信息表
表MonitorInfo用来存储型号的监控组件及每个组件版本数量(单个组件版本数不能超过10个),结构如表1所示。
表1 MonitorInfo结构表
3)用户信息表
表UserInfo用来存储用户的基本信息,如用户名、密码和权限等,结构如表2所示。
4)型号管理表
表XH_manage用来存储型号的存储位置信息,结构如表3所示。
表 2 UserInfo结构表
表 3 XH_manage结构表
2.4 动态交互网页设计
基于ASPN.NET开发平台,对于用户交互操作前台编写HTML源码及aspx脚本设计页面等,中间层使用.cs文件用于跨平台的格式解析,提升对不同浏览器的兼容性,进而编译而成.dll文件或组件,后台数据库管理通过SQL Server 2008进行消息交互,从而形成了“表示层-业务层-数据层”三层站点式交互页面结构[15]。在这三层架构上,数据层通过业务层来连接并进行相关操作,表示层为业务层传递参数,并接收中间层的反馈消息。从设计模式上分析,这三层结构的功能划分如下:
1)表示层:提供应用的用户界面,以简洁方便为功能设计需求;
2)业务层:实现应用程序的业务功能,传递各种参数并反馈服务响应的结果;
3)数据层:提供对外部系统(如数据库)的访问,完成数据的检索查询,对各类数据进行规约化。
3 应用对比分析
将多服务器分布式实时监控软件架构平台应用到某型号的飞行任务监控中,该平台能够高效保障飞行实时监控任务。与原平台的应用模式相比,分布式实时监控软件架构平台下的组件管理与数据传接模式并未增加整个系统的时延,且能保障每一台客户主机同时监控多架飞机的多个科目,具体对比结果如表4所示,可见各项性能及功能指标均优于原平台。由于分布式的架构本身具有“弱客户端”的特点,使得在实时监控组件的管理操作过程中有效地避免了在所有客户端的繁琐操作,又能保证客户端主机监控组件版本的一致性,大大地提高了实时监控任务的准备效率,为型号安全监控过程提供了更为可靠的保障。
表4 应用分析对比表
4 结束语
多服务器分布式实时监控软件架构平台将目前广泛应用的.NET框架技术引入到了飞行试验监控技术研究领域,突破了原有实时监控软件平台的封闭式架构,构建了组件式监控管理网络数据库,进一步实现了对专用监控软件的规约化管理和维护,提升了监控过程中的用户式体验方式。通过站点的架设和实现,地面实时监控系统网络的延展性得到了增强,为后续监控软件架构的扩充提供了基础保障。另外,分布式实时监控软件架构平台的交互模式具有了更好的用户友好性,使得对监控软件的应用更为简单便捷,减少了人力资源在飞行实时监控环节的投入,进一步提高了飞行验证工作的效率,对加快型号定型试飞具有着积极意义。
[1]霍朝晖,覃杨森,祈春.飞行试验机载关键参数快速处理系统设计[J].现代电子技术,2012,36(5):121-124.
[2]冯竞锐.浅谈计算机网络技术对测控技术发展的促进作用[J].科研,2016(16):62.
[3]霍建华,郭世伟,李铭三.遥测接收系统的远程控制[J].电子设计工程,2013,21(24):84-86.
[4]刘语乔,郭世伟.SOQPSK调制技术在飞行试验遥测系统中的应用[J].现代电子技术,2013(9):98-101.
[5]袁炳南,霍朝晖,白效贤.航空飞行试验遥测标准概况[J].测控技术,2010,29(11):15-19.
[6]吴悠,霍建华,郭世伟.多站点组网的实时遥测数据选定技术[J],测控技术,2016,35(6):60-63.
[7]魏建新.飞行试验中多路视频数据实时处理系统设计与实现[J],电子设计工程,2015(9):81-83.
[8]李春葆.电子商务网站开发教程—基于C#+ASP.NET[M].北京:清华大学出版社,2016.
[9]张梅,陈广祥,苏希.ASP.NET动态网站开发实战教程[M].北京:机械工业出版社,2014.
[10]李春强,柴玮岩,刘健,等.异构数据库应用系统集成的简化方法[J].国防科技大学学报,2016,38(2):61-67.
[11]徐爱萍,宋先明,徐武平.分布式异构数据库集成系统研究与实现 [J].计算机工程与科学,2015,37(10):1909-1916
[12]覃杨森,刘成玉,祁春,等.基于Windows内核脚本的试飞数据自主备份工具设计[J].电子设计工程,2014,22(2):34-37.
[13]高宁,刘洋.基于B/S架构的可视化流程管理平台的设计与实现[J].计算机应用,2015(S2):178-180.
[14]祁春,霍朝晖,刘成玉,等.基于三维仿真的飞行姿态与航迹监控软件的设计[J].电子设计工程,2015(12):31-33.
[15]覃杨森,范彦勤,刘语乔,等.试飞数据分析结果的可视化输出 [J].计算机测量与控制,2015,23(11):3889-3891.
Research on software architecture design for real-time monitoring of flight test
QIN Yang-sen,NIE Rui,QIN Yan
(Chinese Flight Test Establishment,Xi’an 710089,China)
The architecture design of real time monitoring software directly affects the efficiency of flight test process management.According to the design idea of distributed software architecture,on the basis of the real-time data server,configure the site server and DNS server,building a multi server distributed flight test real time monitoring software architecture platform,using the interactive page design and network database management technology,improve the maintenance efficiency of the platform of real-time monitoring software architecture,improve user interaction mode.Achieved in distributed software architecture for the purpose of monitoring component access-deployment and link-monitoring,so the flight test monitoring and control link is simplified,helps to improve the efficiency of the test preparation of subjects.
flight test;architecture design;real-time monitoring;distributed
TN99
:A
:1674-6236(2017)13-0005-04
2016-07-12稿件编号:201607099
国防基础科研项目(A0520132031)
覃杨森(1986—),男,广西柳州人,硕士,工程师。研究方向:飞行试验测试数据处理技术。