CDM系统技术实现与应用

2016-05-30 01:25郭栋
软件工程 2016年4期

郭栋

摘 要:随着民航运输的快速发展,空中交通流量的上升,加之雷雨雾等极端恶劣天气的原因,导致机场、空域和航线网络节点拥挤现象严重。针对这种情况,提高相关部门之间的协同决策能力,增强管制水平已成为共识,而协同决策(Collaborative Decision Making,简称CDM)正是一种在管制部门与航空公司之间进行协调的有效方法。CDM系统充分利用空域资源并结合天气、流量、部队、机场等实际情况计算航班起飞和经过航路点的时间;采用ESB架构设计、通过MQ传递消息、利用FTP传递数据和ORACLE存储数据。系统实现了集空管、机场、航空公司等组织信息于一体,通过信息交流和数据共享提高了空中交通管理效率。

关键词:协同决策;CDM;MQ;ESB

中图分类号:TP302.1 文献标识码:A

Abstract:With the rapid development of civil aviation,aircraft passenger flow rising,all kinds of extreme weather situations,leading to the airport,airspace and route network nodes serious overcrowding.Under this circumstance.Improve the coordination between the relevant departments of the government decision-making capability,enhance control level has become a consensus,and collaborative decision making Collaborative Decision Making(CDM)is a kind of in between the regulatory agencies and the airline for effective coordination method.CDM system makes full use of airspace resources and the actual weather conditions,traffic,military,airports and other computing flight time through the waypoint and time,technology using ESB architecture design, through the MQ message,the use of FTP to transfer data and ORACLE storage data.System to achieve a set of air traffic control,airports,airlines and other organizational information in one,through information exchange and data sharing to improve the efficiency of air traffic management.

Keywords:collaborative decision making;CDM;MQ;ESB

1 引言(Introduction)

随着经济的持续发展,全球航空运输发展突飞猛进,空中交通流量上升进而带来了各种问题如空中交通堵塞、航班延误等[1]。如何治理航班延误,提高航班正常率,化解因航班延误而导致的旅客与航空公司之间的矛盾,需要民航政府主管部门、航空运输企业、机场等部门的相互协作[2]。

协同决策(CDM),是一种基于资源共享和信息交互的多主体(空管、机场、公司等)联合协作运行理念,是对多业界成员之间的行动方针做出决定的过程。首先由管制部门制订约束条件,然后航空公司在这些约束条件下对自己的运行情况进行优化,最后达成一致的决策。通过协同策略的方式,可以大大缩短航班延迟等待的时间,减少燃油的消耗,增加信息的透明度,同时也可以减少旅客在航班延误方面的投诉[3]。

本文介绍了CDM的系统构成、ESB技术以及相关的应用,实现了各保障单位之间的数据共享,优化了航班过站流程,提高了地面运行效率和放行效率,从而提高航班准点率,改善了旅客服务质量。CDM系统的应用在民航日常运行中发挥了日益重要的作用。

2 关键技术综述(Key technologies)

2.1 ESB简介

ESB全称为Enterprise Service Bus,即企业服务总线。它是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。

2.2 IBM web sphere MQ

IBM MQ(IBM Message Queue)是IBM的一款商业消息中间产品,适用于分布式计算环境或异构系统之中。消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读走。通过消息队列,应用程序可独立地执行通过写发送队列和检索接收队列来进行通信,消息传递指的是程序之间通过消息中的数据进行通信,排队指的是应用程序通过队列来通信。队列的使用是异步的,不需要接收和发送应用程序同时执行。队列可以看作是存储消息的容器,同时存储是有顺序的。队列可以分为本地队列、远程队列、模型队列、别名队列等。

2.3 MVP模式

MVP(Model View Presenter)模型是广泛应用于开发架构的MVC(Model View Controler)的一种变形引用,是对MVC的Controler的特定应用领域的一种优化方案,并广泛应用于应用系统架构中。MVP模型中Presenter负责逻辑的处理,Model提供数据,View负责显示。在MVP里,Presenter完全把Model和View进行了分离,主要的程序逻辑在Presenter里实现。而且Presenter与具体的View是没有直接关联的,而是通过定义好的接口进行交互,从而使得在变更View时候可以保持Presenter的不变。

2.4 Spring和MyBatis

Spring是一个轻量级的Java开发框架。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。Spring的核心是控制反转(IoC)和面向切面(AOP)。

MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。

3 系统设计(System design)

3.1 系统基本原理

CDM系统是通过信息交换、程序改进、工具发展及势态共享等措施来改善空中交通管理,其基本原理是:

(1)创建一个流量管理部门和用户共享问题的公共视图。

(2)为用户提供通过他们自身行为来减轻问题的机会和机制。

(3)在流量管理部门初始的流量管理策略中,提供给用户满足自己优先级的选择弹性。

(4)允许用户参与到空中交通流量管理方针和策略的制定中来。

(5)融合相关用户(空管、机场、航空公司)信息,发布精准的航班时刻。

3.2 系统总体结构

CDM系统包括四个子系统:流量室区管客户端、航空公司客户端、中小机场塔台系统和CDM业务系统,如图1所示。

(1)流量室区管管理系统主要负责对流控的发布和对临时航路的管理,包括对限制的发布、重置、查询、修改和拷贝等操作;设置航班CTOT(计算的起飞时间)和STO(航班经过航路点时间)。

(2)航空公司管理人员可以查询航班进离港信息、航班所受限制、申请TOBT(目标撤轮档时间)等。

(3)塔台电子进程单系统主要实现塔台管理人员对机位、跑道等数据的维护和管理;申请TOBT时间,发布跑道运行模式。

(4)CDM业务系统主要负责航班业务数据的处理、航班的排序和计算,更新航班状态,处理管制员的操作请求。

3.3 业务流程

(1)航班时刻表起飞时间前三小时,公司发布领航计划报激活本场离港航班。

(2)CDM系统通过机尾号信息自动关联前站进港航班,并从航班进入华东区域后自动更新预计落地时间ELDT(预计滑入时间)。

(3)根据ELDT+EXIT(预计滑入时间)+ETTT(预计过站时间)得出EOBT(预计起飞时间),在EOBT前两小时或者直接由航空公司输入目标撤轮档时间TOBT触发离港起飞时刻的自动计算。

(4)飞机已经在本站的航班,则根据EOBT前两小时或者直接由公司TOBT触发离港起飞时刻的自动计算。

(5)流量管理室CDM席位根据细化到机场的限制条件,提供时刻自动计算、核实和发布,并将起飞时刻与现有华东地区统一放行系统数据同步。

(6)计算出的起飞时间CTOT(计算的起飞时间)以及ATOT(实际起飞时间),经过CDM终端机通过专线或互联网发布给各公司以及上海两场CDM协调席位,各公司指定的席位有权根据航班实际准备情况对TOBT更正,流量管理室可以根据排序情况自动或人工修正。

(7)公司可以对相同限制的航班对换次序,也可以将自己的时刻与其它公司的时刻对换,交换需要征得流量管制室同意。

(8)出现天气等原因需要进行长时间等待时,为避免间隔缩小后起飞时刻提前量过大,流量室根据实际情况在队列中最多发布三架航班的准确时间,其它航班的时间依次显示为最后一架给定时间航班的时间+未发布时刻航班序号。机场协同决策系统中区域管制子系统的设计与实现。

(9)塔台负责维护跑道运行模式,申请航班TOBT时间。

4 系统实现(System implementation)

4.1 客户端系统

(1)流量室区管客户端

流量室区管客户端,是使用C#语言开发的C/S客户端,该系统使用MVP的设计模式,通过MQ发送消息给数据服务系统,通过FTP读写文件的方式传递数据。系统将业务处理和用户操作分开处理。主要功能:管理流控信息、管理受限航班起飞时间和经过航路点的时间、监控航班实时状态。

(2)机场塔台电子进程单系统

机场塔台电子进程单系统,是使用ASP.NET开发的B/S网页版的系统,该系统的操作通过MQ通知CDM业务系统,当CDM业务系统处理完后,将结果通知塔台系统,实现人机之间的交互。系统主要功能如图3所示。

(3)航空公司系统

航空公司系统是使用JAVA开发的B/S网页版系统,该系统使用了Spring和MyBatis技术,主要功能是查询进离港航班信息、流控信息和申请TOBT。实现航空公司与流量管制室之间的交互。

4.2 数据服务

4.2.1 数据结构

系统主要功能,数据表之间关系如图4所示。

4.2.2 业务数据类型

数据处理部分涉及的数据类型:

(1)全航路信息

①有效航路段截取:判断航路方向,根据航路的入点和出点,截取有效航。

②边境点的标识。

③非航路和非航路点的过滤。

④多航路的过滤。

⑤航班全航路点的拆分(实际route)。

⑥航班全航路信息的组装:根据边境点,确定巡航高度,并提供全高度的全航路信息。

(2)飞行耗时

①飞行耗时经验值计算:相邻两航路点,不同机型、高度的飞行耗时经验值。

②航班飞行耗时获取:实际航班相邻两航路点的飞行耗时获取。

4.4 CDM业务系统

业务系统主要分为触发器和裁决器两个功能模块,其核心业务是处理航班占位,给出航班计算的起飞时间。

4.4.1 触发器

(1)功能描述

触发器主要接受算法外部来自数据服务的预排航班信息、流控信息、跑道运行模式信息、飞越航班信息,内部来自裁决器的裁决信息、流控影响航班信息、跑道模式影响航班信息。根据算法的规则对航班、流控、跑到模式信息进行统一的计算管理。

(2)流程逻辑

①系统启动时向数据服务发送航班请求,请求需要计算的航班信息包括:预计起飞时间在40—90分钟的增量航班信息、发送了延误报的航班信息、设置过人工TOBT的航班信息以及预计起飞时间在40—90分钟的航班信息。

②收到数据服务的航班信息后会根据收到的航班的先后顺序分别取每个航班的可用高度的某一高度为其该次计算的飞行高度,相应高度的航路及经验值为其该次计算的飞行航路和经验值信息,发送给航路点进行航路信息的计算工作。

③收到裁决器返回的裁决信息,会根据裁决结果进行相应处理。如果裁决结果为成功,则取本次计算出的CTOT时间为最终结果时间发送给数据服务和前台界面显示,并发送过点时间信息发送给航路点进行时间片占片工作且取下一个航班的信息发送给航路点进行计算工作;如果裁决结果为失败,则取本次计算出的EOBT时间为EOBT时间,并根据EOBT时间找到相应的跑道信息、滑行时间、离岗程序时间发送给航路点重新计算;如果裁决结果为超时,则停止对本次航班的计算,取下一个航班的信息发送给航路点进行计算工作。

④收到来自数据服务主动推送的流控信息时,会将流控信息按照接收的时间顺序保存起来。若在当前的一次流程完成后,根据优先级(流控信息优先级为3,数值越小优先级越高)流控为当前最高优先级信息,则生成流控消息后发送给航路点进行流控设置。

⑤收到来自裁决器的流控影响的航班信息,若存在受流控影响的航班信息,则发送将这些航班从时间片序列中移除的消息到航路点进行时间片清除操作。

⑥收到来自裁决器的时间片清除成功的消息,如果结果为成功,则根据优先级生成优先级最高的消息发送出去。

⑦收到数据服务的推送来的跑道运行模式的消息,会直接返回一个带有机场信息的消息给服务器用来请求最新生效的跑道运行模式消息。

⑧收到数据服务返回的最新生效的跑道运行模式消息,会将跑道运行模式信息按照接收的时间顺序保存起来。若在当前的一次流程完成后,根据优先级(跑道运行模式信息优先级为2)跑道运行模式消息为当前最高优先级消息,则生成跑道运行模式消息后发送给航路点进行跑道运行模式设置。

⑨收到数据服务推送的穿越航班的消息,会将其加入到当前计算的航班信息表中其他穿越航班的后面(航班信息优先级为5),和其他正常航班一样进行航路的计算。

⑩收到数据服务推送的策略航班的消息,会根据航班的相应策略做相应处理。

当所有消息都被处理完时会向数据服务继续发起航班信息请求。

?收到再一次航班排序信息时会将已经排序过的航班信息加入到待释放的航班信息表中,并且按照之前的航班排序流程重新开始工作。

在发送每条业务消息之前都会先发送一条带有唯一键值的消息给裁决器,来保证消息的唯一性和正确性。

收到裁决器的键值回复消息后,触发器会为生成好的消息加入返回的键值后发送给航路点进行计算工作。

(3)限制条件

①向航路点发出信息后等待时间限制:三分钟。超过时间后会重新发送最后一条消息给航路点。

②向数据服务发出请求后等待时间限制:三分钟。超过时间后会重新发送航班请求给数据服务。

4.4.2 裁决器

(1)功能描述

裁决器主要处理来自航路点的时间偏移量消息、释放结果消息、跑道运行模式改变及流控改变影响的航班列表的消息。同时为了保证消息处理的准确性,裁决器也会处理来自触发器的键值消息。

(2)流程逻辑

①收到来自触发器的键值消息后,会判断当前裁决器是否保存有键值信息,如果存在则将其覆盖并且重置裁决器当前的所有信息。执行完操作后会将收到的键值返回给触发器。

②收到来自航路点的时间偏移量信息后,首先将点的信息和偏移量信息保存起来并判断是否已经收到该次裁决需要的所有航路点的时间偏移量信息。如果没有收到所需要的所有信息则继续等待;如果已经收到了所有的信息则裁决找到最大的时间偏移量不为0(非MAX)后生成裁决失败消息发送给触发器,若为0则返回成功;如果已经收到所有消息并且消息中包含MAX值则返回裁决成功但是时间偏移量为-1;如果一定时间还没有收到所有的消息则生成超时消息(时间偏移量为-2的成功消息)

③收到来自航路点的受影响航班信息后,裁决器会将这些航班信息一同返回给触发器。

④收到来自航路点的释放结果消息,首先将判断结果和航路点信息保存起来。如果没有收到所需要的所有信息则继续等待;如果已经收到所有的信息则判断是否存在结果为失败的航路点;如果存在则将该航路点的消息加入到释放失败消息中返回给触发器;如果所有的航路点返回消息都为成功则返回释放成功消息给触发器;如果超过一定时间还没有收到所有的消息则生成超时消息(释放失败消息,其中包含没有收到的航路点和收到的结果为失败的航路点信息)返回给触发器。

⑤在收到来自航路点的每一条消息时都会首先判断收到信息所包含的键值是否和裁决器保存的键值一致,如果不一致则直接丢弃掉该消息,只有相同时才进行保存计算工作。

(3)限制条件

①偏移量消息等待最长时间为:超过三分钟。

②释放结果消息等待最长时间为:超过三分钟。

5 系统应用(System application)

5.1 系统运行环境

(1)系统运行网络环境

运行在空管内部网络系统。

(2)服务器端运行环境

操作系统:Windows2008 R2 Enterprise Server

数据库管理系统:Oracle11G

服务器中间件:TOMCAT6、IIS7信息服务器

代码运行环境:JRE1.6、.NET Framework 4、Microsoft ASP.NET MVC3

其他支撑软件:IBM WebSphere MQ 7.0

(3)客户端运行环境

运行环境:Microsoft .NETFramework 3.5 SP1

浏览器:Internet Explorer8 以上浏览器

操作系统:Windows 7

5.2 应用CDM系统的影响

CDM系统能让所有的参与者从中受益。对于空管部门而言,通过与航空公司的数据接口,了解航班的计划信息、旅客人数、延误信息,值机情况,这样能够更加精确地分配离场时刻,还可以根据计划起飞时间,可以更合理地安排开车和推出时间。空管部门通过与机场当局的数据接口,可以提早得知航班停机位信息或其更改信息、航班有特殊要求的信息和紧急情况的信息以及现场运行过程出现的各种可能影响空管正常运行的信息等,这样空管部门可以向机场提供更为合理的起降序列和更加准确的起降时间。机场当局可根据空管部门的信息,及时调整停机位分配、合理调整地面服务,更好的提供特情处置预案等。

对于航空公司而言,最直接的收益就是它能够提高航班的正常性,增强公司对航班运营的可预测性,最大程度地减少延误时间,从而降低延误成本;对于机场当局而言,它能通过更好地分配机场资源为客户提供更好的服务,能通过对跑道和停机位的最优分配,更好地支持越来越大的旅客吞吐量;它可以帮助区域管制员更好地进行航路飞行流量管理,合理分配流量有效减轻管制员负荷。通过精准的信息接收和发布,将空管信息中心发挥出指导现场运行的作用。

6 结论(Conclusion)

本文介绍了民航航空业的现状,分析了航班延误的主要原因。同时也对CDM系统的设计和实现方法做了详细的介绍,给出了一套可行性方案。该方案的设计满足了系统安全性、可靠性的运行需求。通过该系统的部署和应用提高了流量管理中心分配时间的执行率,减少了滑行道和机场的拥挤,减轻了管制人员的工作压力,得到相关部门更多理解和信任,同时也能为相关单位提供更高的服务品质和收获更好的客户满意度。

参考文献(References)

[1] 关钰,杨红雨.空中交通流量管理中地面等待策略问题的研究[A].计算机应用,2007,08:3-5.

[2] 董念清.中国航班延误的现状原因及治理路径[J].北京航空航天大学学报(社会科学版),2013,06:25-32.

[3] 冯思轶,胡晓芸,李沁.基于CDM的航班综合信息应用平台研究[A].上海空港(第17辑),2013,06:7-8.