基于状态机的民航飞行电报数据并发处理模型
2018-07-05北京天航信民航通信网络发展有限公司北京100192
何 月 娇(北京天航信民航通信网络发展有限公司 北京 100192)
0 引 言
民航飞行电报数据是空管自动化系统的重要数据源,也是空中交通管制的主要信息来源,电报中包含了航班航空飞行的关键数据,如航班号、起降机场、飞机机型、起飞时间、降落时间、飞行高度、航路等,在空管自动化系统中发挥着重要作用。民航飞行电报解析后的航班动态数据,与雷达、机场、仓单、空域等信息结合,广泛应用于民航航班运行监控、数据统计挖掘、CDM等生产监测统计系统中。
随着民航业的快速发展,空中交通流量日益增加。中国民用航空局民航机场生产统计公报显示,近五年飞机起降架次增长率在7.9%以上,如表1所示,2016年平均每天起降航班2.5万架次[1]。
表1 航班起降架次统计
每一个航班的起降,对应的是几倍甚至几十倍的民航飞行电报数量。民航飞行电报数量的快速增长,给航班的监控运行带来了压力和挑战,对于民航飞行电报自动化处理的效率和准确性提出了更高的要求。文献[2-4]讨论了使用XML、语法分析、正则表达式、知识库解决民航飞行电报解析和容错的问题。文献[5]讨论了电报数据质量的约束模型。文献[6]讨论了航班动态数据挖掘与航班预测模型,对航班到达时间进行了预测。综上,历史文献对基于规范的电报格式的解析处理以及动态数据预测有一些相关研究,国内尚未出现信息整合设计和效率的讨论。
基于航班的数据整合是将动态的民航飞行电报基于航班按照时间序列进行整合,以提供基于航班的准确的实时信息。民航飞行电报在拍发过程中存在一定量级的错误、重复、延迟,其中拍发错误指的是缺失编组、使用代码错误、电报提供的信息错误、电报种类错误等,拍发重复指电报的重复发送。航班运行的实时监控对于航班整合的效率和准确性要求较高。对电报数据整合时,需要识别错误电报进行自动纠正或异常提示,重复拍发的电报可以识别重复值,并整合到同一个航班上。
基于上述背景,本文提出基于状态机的民航飞行电报数据流并发处理模型,目的是提高数据整合的准确性,以及提高处理效率,满足民航飞行电报的监控统计需求。
1 民航飞行电报介绍
我国管制区域间飞行动态信息的传递是通过航空固定电信网AFTN,以民用航空飞行动态固定格式电报进行发送。民航飞行电报拍发遵从《民用航空飞行动态固定电报格式》标准,该标准是依据民航局规章《民航航空空中交通规则》,参考国际民航组织文件《空中交通管理》(ICAO DOC 4444)制定[7]。《民用航空飞行动态固定电报格式》历年标准有MH 4007-1998、MH/T 4007-2006、MH/T 4007-2012标准、现行标准为MH/T 4007-2012。MH/T 4007-2012中电报种类有16种[8]。具体电报的种类包括:
紧急电报:告警报(ALR),无线电通信时效报(RCF)。
动态电报:领航计划报(FPL)、修改领航计划报(CHG)、取消领航计划报(CNL)、延误报(DLA)、起飞报(DEP)、落地报(ARR)。
协调电报:现行飞行变更报(CPL)、预计飞越报(EST)、管制协调报(CDN)、管制协调接收报(ACP)、逻辑确认报(LAM)。
补充电报:请求飞行计划报(RQP)、请求领航计划补充信息报(RQS)、领航计划补充信息报(SPL)。
由于各地区管理局、航空公司运输公司、机场公司、相关飞行学院等发展程度和设备多样,在实际电报拍发过程中,存在MH 4007-1998、MH/T 4007-2006、MH/T 4007-2012标准混合使用,在实际电报还会出现PLN(飞行预报)、ABS(取消重复与非重复性飞行预报)、RTN(返航报)等电报种类,还存在同一种电报如领航计划报(FPL)拍发使用多种标准的情况,如18编组。另外,在电报中会出现民航简字简语,对于飞行电报进行变更或者取消等处理。
2 模型概念定义
有限状态机是一种用来进行对象行为建模的数学工具,其作用主要是描述对象在它的生命周期内所经历的状态序列,以及如何响应来自外界的各种事件。每个时刻根据当前的状态和当前时刻的输入,决定应执行的动作和确定一个状态以进行状态转移。针对民航飞行电报数据特征和逻辑关系,利用有限状态机的概念,提出基于状态机的民航飞行电报数据并发整合模型,模型相关定义如下。
2.1 定 义
定义1(FSM模型)T=(Σ,S,SI,δ,F)。其中T表示模型定义,Σ表示输入数据类型集合,S是状态的非空有限集合,SI表示初始化状态且SI∈S,δ表示状态转移函数且S×δ→S,F是最终状态的集合且F∈S。
定义2(数据类型集合)Σ给定数据类型集合,表示所有电报类型的集合,Σ={FPL,DEP,CNL,…,ARR}。
丁主任擦了擦眼泪,对着甲洛洛:张大爷,你是知道我的,当初为了救我父亲的命,我不得不接受她家的帮助,可她家从来都只把我当成一条狗,一条供潘美丽驱使的狗。甲洛洛叹息了一声:过不下去就别过了,人生一辈子,苦点累点可以扛着,但一个大男人不能活得没了尊严。丁主任感激地看着甲洛洛:张大爷,今后就叫我小丁吧,这院坝里,我最敬重的就是你,也就你最了解我,最可怜我了,我心里一直记着呢!
定义3(状态的非空有限集合)S={APLN,APRE,…,AlARM},表示航班状态集合。
定义4(初始化状态)SI={APLN},表示航班初始状态。
定义5(状态转移函数)Sj=δ(Si) ,其中δ为转移函数,Si,Sj∈S。如航班初始状态为APLN,接收数据后仍处于APLN或者跳转到其他状态。根据输入数据不同,跳转到不同状态,如接收{FPL},跳转到{APRE}状态。
定义6(最终状态的集合)F={ARR,ACNL,ACDN,AlARM},表示航班的最终状态集合。
定义7(主键)K=f(I),其中I∈S,K表示消息关键词序列,f表示关键词处理函数。
定义8(并行处理分组)MG=GROUP(K),GROUP表示分组函数。
2.2 航班转移模型
航班状态有限集合如表2所示,划分为九种状态。状态跳转如图1所示。
表2 状态的非空有限集合
图1 状态转移图
2.3 数据处理模型
民航飞行电报处理主要包括5部分:数据接收、电报识别、电报解析、电报整合、信息展示。具体算法如图2所示。
图2 民航飞行电报处理流程
1) 接收数据字符,判断是否触发电报识别。是则进入电报识别,否则保存字符。
2) 根据电报规则识别电报,如ZCZC。
3) 根据民用航空飞行动态固定电报格式分组规则,多线程解析电报,哈希存储键值对,K={FNM,FDATE,DEPDROME,ARRDROME}。
4) 根据电报键值K进行分组,MG=GROUP(K),多线程处理MG。
5) 根据FSM模型,对电报内容进行整合。
3 实验及分析
3.1 算法执行实例
以“FPL/DEP/ARR/DEP/ARR/CNL/CHG/ARR”编码为例说明上述算法的执行过程,实际民航飞行电报的复杂度和长度要远大于此例。
接收字符串识别电报,去除电报报头后电报内容如图3所示。分析电报内容,获取电报键值。该实例中识别到3个键值,按照键值分组,并行执行基于FSM的状态整合获得结果。
图3 算法执行实例
3.2 实验结果
以2017年6月份一周数据为例,平均每天起降航班2.9万次,平均每天错误数据20个,航班处理准确率99%以上,如图4所示。
图4 起降量和准确性统计
起降数据处理实时性在100 ms以内。对比前期数据航班处准确率在90%左右,数据处理实时性在2 min左右。
测试平台为 3.3 GHz 处理器、4 GB内存、Windows 2007、JDK1.7,使用 Java 实现。
4 结 语
本文提出一种基于状态机的民航飞行电报数据并发整合模型,它扩展了目前的民航飞行电报处理方法,满足数据处理的实时性、准确性需求。实验结果表明,该方法利用较小的空间,实现了较高的效率。
[1] 中国民用航空局.年度机场生产统计公报[R].北京:民航发展计划司,2016.
[2] 陈强.飞行数据处理技术的研究与应用[D].四川:四川大学,2003.
[3] 陈玉秋.民航空管自动化系统中飞行电报自动化处理[D].南京:南京理工大学,2007.
[4] 杜冬.基于正则表达式的飞行电报处理算法[J].中国民航飞行学院学报,2013(1):21- 23,28.
[5] 姜高扬,王洁宁,周沅.基于FIXM的AFTN电报数据质量约束模型研究[J].计算机应用与软件,2016,33(10):122- 125,144.
[6] 张猛.航班动态数据挖掘与航班预测模型的研究和实现[D].北京:北京邮电大学,2015.
[7] International Civil Aviation Organization.Doc 4444,Procedures for Air Navigation Services,Air Traffic Management[M].Canada:International Civil Aviation Organization,2017.
[8] 中国民用航空局.MH/T4007-2012民用航空飞行动态固定格式电报管理规定[S/OL].航空器适航审定司,2012[2012-10-10].http://www.caac.gov.cn/XXGK/XXGK/BZGF/201708/t20170804_45973.html.