王 鹏,王晓亮,张 喆,吴仁彪
(中国民航大学 天津市智能信号与图像处理重点实验室,天津300300)
随着低空空域[1-3]的逐步开放,通航飞行需求急剧增长,通用航空飞行安全技术保障手段目前比较匮乏。通航飞行服务站通过对接收到的航迹数据、飞行计划数据、航行情报数据以及气象数据进行处理,为飞行服务及应急搜救提供信息。飞行数据处理为飞行服务站的核心系统和关键技术,具有承上启下的作用。通用航空与运输航空相比存在若干差异:通用航空器飞行高度较低,与运输航空相比在爬升和下降过程存在差异;通用航空器体积较小,航空器在飞行速度、爬升 (下降)率、加 (减)速度等性能差异较大;航空器受地面气流影响较大,飞行航迹变化较剧烈,通用航空器在飞行计划执行过程中,受人为因素影响较大,造成无法严格执行飞行计划;通用航空部分空域监视设施匮乏,无法提供可靠的监视数据[4-8]。因此基于上述差异,需要针对通用航空的特点,对通航飞行数据处理进行设计与实现,对于保障通用航空器飞行安全发挥重要作用。
通用航空飞行服务站综合运行支持系统包括:综合数据显示系统、监控系统、航行情报服务系统、气象服务系统、搜救服务系统、数据前端处理系统、多源航迹融合系统、冲突探测系统、飞行数据处理系统以及中间件,飞行服务站系统组成如图1所示。飞行数据处理系统是飞行服务站的核心系统之一,具有承上启下的作用。飞行数据处理系统接收转报系统提供的计划报文,接收自主研发的航迹融合系统提供的航迹数据,以及接收自主研发的综合数据显示系统提供的操作指令,飞行数据处理系统对接收的数据和指令进行处理,将处理结果输出给综合数据显示系统进行显示。通航飞行数据处理业务流程如图2所示。
图1 飞行服务站系统组成
图2 通航飞行数据处理业务流程
飞行数据处理系统的具体业务流程为:
(1)飞行服务站接收计划报文后,系统将对计划报文进行解析,存储飞行计划数据,对计划数据进行管理。
(2)飞行服务站负责维护飞行计划的生命周期,不同的计划状态构成了飞行计划的生命周期,计划状态的变更可以由系统根据一定条件自动产生,也可以人工生成。
(3)飞行服务站人员可根据航空用户需求对计划数据进行查询或编辑操作。
(4)飞行服务站负责将飞行计划与航迹自动关联,使飞行服务站人员直观了解航空器飞行意图,从而做出正确的指挥决策。
(5)飞行服务站负责根据飞行计划、航路信息及航空器性能参数对计划航迹进行估算,得到的计划航迹与实际航迹进行一致性检验,检测当前航空器是否偏航。
(6)飞行服务站负责根据计划信息、计划状态、航迹估算信息、实际航迹及报告信息维护电子进程单的生成与更新。电子进程单能够帮助飞行服务站人员掌握所有航空器的飞行动态,为保障航空器安全飞行发挥重要作用。
系统总体框架由数据库系统、基础支持服务、业务逻辑层以及前端展示系统组成。基于存储过程的通航飞行数据处理系统框架如图3所示。
(1)数据库系统:数据库系统用于数据的存储及维护,包括飞行计划数据库、航迹估算数据库、航迹关联数据库、偏航告警数据库、地图数据库等。
(2)基础支持服务:基础支持服务提供了系统所需的模型及处理方法,包括基于存储过程的数据库操作模型、计划报文解析方法、状态变更模型、计划航迹估算模型、计划航迹更新算法、计划航迹与实际航迹偏差计算方法。
(3)业务逻辑层:业务逻辑层为飞行服务站飞行数据处理业务制定了基本的功能操作。系统定义了一些基本操作,包括飞行计划存储、计划查询、计划编辑、计划与航迹关联、计划状态变更、偏航告警检测、电子进程单生成与更新。
(4)前端展示层:通航飞行数据处理系统将输出飞行计划数据、电子进程单计划状态、电子进程单航路点数据、计划航迹与实际航迹偏差、偏航告警或告警解除指令,执行结果可在飞行数据处理终端显示,输出信息可在网络内的其他终端发布。
图3 基于存储过程的通航飞行数据处理系统框架
针对上述总体设计,基于存储过程的通航飞行数据处理系统包括了以下几个基本功能:
(1)报文解析模块。该模块负责对系统接收到的计划报文进行格式校验与内容解析。
(2)飞行计划存储模块。该模块负责存储飞行计划数据,对数据合理性进行检验。
(3)飞行计划管理模块。该模块负责更新数据库中的数据以及为其他模块提供数据库数据。数据种类包括计划数据、航迹估算数据、航迹关联数据、偏航告警数据等。
(4)计划航迹估算模块。该模块负责估算及更新预计经过计划位置点的时间、高度等。
(5)计划状态变更模块。该模块负责根据计划状态变更机制触发生成状态变更信息。
(6)电子进程单生成与更新模块。该模块负责生成及更新电子进程单信息,其内容包括电子进程单计划数据、电子进程单状态变更数据、电子进程单航路点数据。
(7)计划与航迹关联模块。该模块负责根据关联准则将飞行计划与航迹进行关联。
(8)飞行计划一致性检验模块。该模块负责计算计划航迹与实际航迹的位置偏差,生成偏航告警及告警解除信息。
(9)数据分发模块。该模块负责飞行数据处理系统各模块间的数据通信。
(10)日志记录模块。该模块负责记录软件执行结果及运行状态,为排查软件运行故障提供依据。
数据库系统中各数据库均为关系数据库。飞行计划数据库用于维护计划报文解析后的数据,包括飞机国籍登记号、飞行种类、预计起飞时间、预计航路飞行时间、预计巡航高度、预计真空速、起飞机场、着陆机场、备降机场、预计飞行路径等信息;航迹估算数据库用于维护计划航迹估算及更新数据,包括飞机国籍登记号、计划航迹点代码、计划点经度、计划点纬度、计划点高度、计划点速度、计划航向、计划到达时间等信息;航迹关联数据库用于维护计划与航迹的关联数据,包括飞机国籍登记号、目标地址等信息;偏航告警数据库用于维护偏航告警及告警解除数据,包括飞机国籍登记号、告警种类等信息;地图数据库用于维护系统覆盖范围内的位置数据,包括位置代码、位置经度、位置纬度、位置高度等信息。
系统接口如图4所示,包括依赖系统、系统输入、数据处理决策、系统输出。
(1)依赖系统:通航飞行数据处理系统正常运行需要依赖如下系统:
1)转报系统,为飞行数据处理系统提供计划报文;2)自主研发的航迹融合系统,为飞行数据处理系统提供航迹数据;
3)自主研发的综合数据显示系统,该系统向飞行数据处理系统发送操作指令,同时显示飞行数据处理系统输出的数据。
(2)输入接口:通航飞行数据处理系统的输入接口包括:计划报文、航迹数据、计划查询/修改指令、状态变更指令、报告数据。
(3)数据处理决策:应用功能模块响应系统接收到的数据以实现系统功能。应用功能模块包括:处理模块、通信模块、日志模块。其中处理模块用于处理系统接收到的数据,分为计划处理模块与航迹处理模块;通信模块用于各模块间的数据交互;日志模块用于记录各模块的执行信息。
图4 基于存储过程的通航飞行数据处理系统接口设计
(4)系统输出:通航飞行数据处理系统的输出接口包括:计划数据、电子进程单计划状态、电子进程单航路点数据、计划航迹与实际航迹偏差、偏航告警与告警解除数据。
存储过程的定义请参见文献 [9]。本文在传统数据库操作模型的数据库服务器中加入了一层存储过程,存储过程在数据库中表现为一组完成特定功能的SQL程序集合,只编译一次,经编译后存储于数据库服务器端的数据库中[10]。
本文采用面向对象可视化Visual Studio C++2010以及SQL Server 2008R2开发环境对基于存储过程的飞行数据处理系统进行开发,系统的实现方法如图5所示。飞行数据处理系统的每个子功能模块被封装成一个类,由系统控制模块进行调用。外部应用程序只需要调用系统控制模块中的函数便可以操控系统各子功能完成数据处理,数据库中数据的获取与更新采用存储过程技术加以实现,使在网络上传输的数据仅仅是有用的数据。
根据飞行服务站通航飞行数据处理系统的需求分析,在系统架构与功能设计的基础上对系统进行编码实现,在大量测试后逐步形成了满足需求且性能稳定的版本。工程样机如图6(a)所示,通航飞行数据处理系统运行在后台机架服务器上;系统界面如图6(b)所示,执行结果可在系统界面上显示;通航飞行数据处理系统输出的数据显示在自主研发的综合数据显示系统上,如图6(c)所示。
(1)测试环境:测试依赖系统为:转报系统、航迹融合系统、综合数据显示系统。各应用程序运行在终端计算机上,所用操作系统为 Windows 7;数据库运行在机架式服务器上,所用操作系统为Windows Server 2008R2。测试环境如图7所示。
(2)测试方法:测试分别采用基于常规方法和基于存储过程的飞行数据处理系统对相同数据进行处理,测试数据分为多组,每组由不同数量的数据条组成,分别记录采用两种方法处理不同组数据的总耗时、单条处理时间以及CUP占用率。两种方法均只开启和关闭一次与数据库的连接,接收到数据处理指令且完成数据库连接后开始计时,完成一组数据处理之后停止计时并关闭与数据库的连接,每组数据均重复处理50次后将平均处理时间作为此组数据的最终处理时间。
图5 基于存储过程的系统实现方法
图6 系统界面及工程应用
图7 测试环境
(3)数据结果:实验过程中实际对大量数据进行了测试,为了便于论述本文采用如下几组数据进行说明。
基于两种方法的飞行数据处理系统处理数据的耗时比较如图8所示。代表常规方法总耗时,代表存储过程方法总耗时,由图可以看出,随着处理数据量的增加,常规方法的总耗时快速增长,存储过程方法的总耗时增长趋势比较缓慢,且总耗时远远少于常规方法。当处理的数据量增长到一定程度时,两种方法总耗时的增长趋势均趋于平缓,但存储过程方法的总耗时仅为常规方法总耗时的千分之一左右。代表常规方法单条耗时,代表存储过程方法单条耗时,由图可以看出,随着处理数据量的增加,常规方法的单条处理时间几乎不变,但存储过程方法的单条处理时间首先呈指数趋势减少,当数据量增长到一定程度时,减少趋势逐渐平缓,且远小于常规方法。
图8 两种方法数据处理耗时比较
基于两种方法的飞行数据处理系统处理数据时的CPU占用率比较如图9所示。代表常规方法CPU占用率,代表存储过程方法CPU占用率,随着处理数据量的增加,常规方法的CPU占用率会缓慢增长,而存储过程方法的CPU占用率几乎不变且远小于常规方法。
图9 两种方法CPU占用率比较
(4)数据分析:常规方法中SQL语句的编译次数以及应用程序与数据库的通信次数会随着处理数据条数的增加而增加;区别于常规方法,存储过程只编译一次,经编译后存储于数据库服务器端的数据库中,是一种可复用组件,且存储过程中应用程序与数据库的通信次数有限,使得基于存储过程的飞行数据处理系统在处理速度及CPU占用率上较常规方法更具优势,能够较稳定的快速处理数据以满足系统的性能需求。
本文针对通用航空特点,根据业务需求对基于存储过程的通航飞行数据处理系统进行了总体设计、功能设计、数据库设计以及接口设计,为满足系统性能需求采用了存储过程技术并在 Visual Studio C++ 2010以及SQL Server 2008R2开发环境下对系统进行了实现,阐述了系统的实现方法以及工程应用上的运行实例并完成了系统的性能测试。该系统可以为我国低空开放和通用航空发展提供有效的技术支撑。
[1]The Civil Aviation Administration of Chinese.Notice of the related measures of speeding up the development of general aviation[S].2009 (in Chinese).[中国民用航空局.关于印发加快通用航空发展有关措施的通知 [S].2009.]
[2]The State Council of the People’s Republic of China,The Central Military Commission of the People’s Republic of China.The advice of the deepening reform of China’s low altitude airspace management [S].2010 (in Chinese).[中华人民共和国国务院,中华人民共和国中央军事委员会.关于深化我国低空空域管理改革的意见 [S].2010.]
[3]CAI Jun.Low-altitude airspace open is not aqual to the low-altitude airspace open [EB/OL]. [2011-05-30].http://news.xinhuanet.com/mil/2011-05/30/c_121475110.htm (in Chinese).[蔡军.低空 开放不等于低空放 开 [EB/OL].[2011-05-30].http://news.xinhuanet.com/mil/2011-05/30/c_121475110.htm.]
[4]KANG Nan.Introduction of USA flight service station [J].Air traffic management,2006 (3):39-40 (in chinese).[康楠.美国飞行服务站简介 [J].空中交通管理,2006 (3):39-40.]
[5]XIE Yulan,CHEN Wenxiu.Introduction of the American ATC automation system [J].Air Traffic Management,2007(6):39-41 (in Chinese).[谢玉兰,陈文秀.美国空管自动化系统介绍 [J].空中交通管理,2007 (6):39-41.]
[6] WANG Wei,LIU Song.Thoughts on low altitude airspace management in China [J].Air Traffic Management,2006(5):4-10 (in Chinese).[王伟,刘松.关于我国低空空域管理问题的思考 [J].空中交通管理,2006 (5):4-10.]
[7]CAO Kun,LIU Jun.Problems in developing general aviation and the proposals [J].China Civil Aviation,2008 (12):42-44(in Chinese).[曹坤,刘军.发展通用航空的若干问题和建议 [J].中国民用航空,2008 (12):42-44.]
[8]CHEN Xin,LI Cheng,XU Dinghai,et al.Research of general aviation service station function and composition [J].Avionics Technology,2013,44 (2):10-13 (in Chinese).[陈昕,李橙,徐丁海,等.通用航空服务站功能与组成研究 [J].航空电子技术,2013,44 (2):10-13.]
[9]Elmasri,Navathe.Fundamentals of database systems [M].USA:Addison Wesley,2006:568-569.
[10]WANG Weifu,HUANG Haiyu,CHEN Juan,et al.Reaearch on high performance database application model based on stored procedure [J].Computer Engineering and Design,2008,29 (10):2573-2575 (in Chinese).[汪维富,黄海于,陈娟,等.基于存储过程的高性能数据库应用模型研究 [J].计算机工程与设计,2008,29 (10):2573-2575.]