陈 刚 周禄华 蒋宇亮
(南京莱斯信息技术股份有限公司 江苏 210014)
为适应我国民航快速发展的需要,不断加大空域容量,提高空域资源的利用率,中国民航正在积极推进大空域运行和雷达管制战略,并已全面实施RVSM,空管自动化系统已成为不可或缺的监视和指挥手段。空管系统中包含两个核心处理中心:监视数据处理中心和飞行数据处理中心,为增加飞行数据处理系统的可靠性,关键设备都采用冗余设计,即在FDPS中设计两个FDP服务器,主备状态运行,双机管理做到整体切换,保证FDP双机系统数据的安全性和可靠性。
FDPS子系统架构设计为冗余模型,每个处理机上都配置相同的处理功能,包括:飞行数据接收模块、飞行数据处理模块、主任席服务处理模块等,同时都配置了数据库,用于存储飞行计划信息及状态变化过程。双机工作在双工作网上,同时还配置了独立的私有网,三网链路用于判断双机工作状态。配置的数据库之间使用实时的数据同步技术,完成双机之间的数据一致性,保证在进行双机切换时没有数据的丢失。具体的FDP冗余架构模型如图1所示:
图1 FDPS冗余架构模型
为保证双FDP服务器的能够提供连续的飞行数据处理服务功能,需要实时监视对方是否工作正常,这就需要配置一套双机管理机制的设计。
FDP双机管理设计要解决启动时如何产生飞行数据处理机主机,飞行数据处理机主/备机的切换操作,双机状态信息在系统内的发布等功能。
(1)飞行数据处理机主机的产生
两台飞行数据处理机上各自运行一套双机软件,通过两条网络和一条私有链路作为媒介进行相互探测,当通过三种媒介均探测不到另一台雷达数据处理机和飞行数据处理机时,就将系统置为单机工作方式,本机即为飞行数据处理机主机。
(2)飞行数据处理机双机的人工切换
飞行数据处理机上的双机管理进程在接收到系统监控席发送的飞行数据处理机双机切换命令后,将当前的飞行数据处理机主/备状态互换。
(3)飞行数据处理机双机的故障切换
当飞行数据处理机主机故障时,由于工作于该机的双机管理进程已中断,所以飞行数据处理机备机能立即捕获到故障信息,自动切换为主机。
(4)系统双机状态的发布
飞行数据处理机主机每2秒向系统内发送一个飞行数据处理机双机状态信息,此信息用以通知系统中其它各台计算机当前的飞行数据处理机双机状态,也作为飞行数据处理机的心跳信息,供其它计算机作为飞行数据处理机是否工作的判断依据。
系统设计三个并发进程进行检测,保证双机子系统的可靠性。一旦检测到一条或两条链路故障时,进行告警提示,而当检测到三条链路都发生故障,表明该服务器发生了故障,此时启动系统恢复功能,即双机管理软件就开始任务切换,将发生故障的服务器上的任务切换到其他正常的服务器上,继续为客户软件提供服务。
空管系统中的 FDP同步数据主要包括实时数据和静态数据。
实时数据主要包括:
(1)飞行数据信息:
各个状态下飞行数据记录(FDR)信息;
FDR的数据和状态变化信息;
管制员添加、编辑、删除FDR的更新信息;
管制员输入的CFL信息;
管制员输入的RVSM、RNP /RNAV、ADS等能力的改变信息;
FDR中飞行剖面计算信息(FDR中实际和预计过各点的名称、过点时间、过点高度)。
(2)扇区开放、合并信息;
(3)危险区、限制区、军方活动区的开放和关闭信息;
(4)SSR代码分配的信息。
静态数据主用包括:
(1)系统基本信息参数:管制区、物理扇区和功能扇区、物理席位、逻辑席位、关键航路点、航路点类型、航路类型(国际/国内、是否为ADS-C航路)、QNH/QFE区域、系统采用的默认单位制式等;
(2)飞行数据参数:有关系统处理和计算FDR的参数、系统对各种报文的处理和发送规则、飞行数据交换信息、系统提示消息等。
对于实时数据的同步,考虑到数据的可用性和可扩展性,设计了一种基于XML的数据定义方式,因为XML允许将数据组织成数据结构,用户可以按照自己的需要剪裁数据;同时XML是可扩展的,用户可以自行定义自己的标记和文档结构,可以在 XML文档中以自己的方式组织数据,以便更好地从语义上修饰数据,这样就能以容易而一致的方式格式化和传送数据;XML文件结构严谨,每一个XML文件都有物理和逻辑结构:物理上,文件由称为实体的单元组成;逻辑上,文件由声明、元素、注释、字符引用和处理指令组成,物理和逻辑结构必须严格地嵌套,并且其嵌套可以复杂到任意程度,能表示面向对象的等级层次;XML文件是可校验的,它可以包括一个语法描述,使应用程序可对此文件进行结构确认。一个飞行数据中,主要元素包括。
表1 FDR字段定义
XML格式飞行数据定义举例如下:
图2 实时数据同步流程
当FDP主机处理一份飞行数据后,将其按照XML格式发送到备机中,备机接收到新的实时飞行数据后,按照 XML格式进行解析,并存储到内存和数据库中,已保证和主机的实时数据的一致性。同时系统还需要设计索取机制和定期同步机制,当备机重新启动后,之前主机处理的实时数据并没有接收到,这时就需要向主机发送索取信息,将所有之前的数据进行同步。具体处理流程如图2。
对于FDPS中的静态数据,主要是存储在数据库中,如果没有进行人工的增加、删除操作,数据是不会变化的,因此对于该类数据,只有在进行静态数据的修改操作后,才进行一次全数据的同步。因此,对于该类数据同步,采用数据库的SQL语句进行同步。静态数据的同步主要包括三种方式:删除同步、修改同步和增加同步。
删除同步过程:即主机数据管理界面上进行删除操作后,将该数据及删除标记发送到备机,备机的数据库管理软件到本机数据库进行查询,确认是否存在该数据,如果有则进行删除,如果没有,则报数据库操作失败,并记录到失败日志。
修改同步过程:在主机上进行的数据修改操作,需要将修改的数据项、修改字段进行记录,并发送到备机中,备机的数据库管理软件根据记录的修改标识进行本机数据的删除操作,并将操作结果进行记录。
增加同步过程:在主机上增加的数据,需要记录当前的序号、增加的数据项、增加的数据表名等,发送到备机。备机接收到后,就行相应数据的增加,并将操作结果进行记录。
空管系统中采用开放式的 XML文档描述飞行数据信息,可读性好且具有很强的扩展性。本文基于 XML的实时数据同步和基于SQL的静态数据同步技术,设计了FDP双机管理模型,利用该模块可实现在空管系统中双FDP处理机中的飞行数据和静态数据的共享。
[1]周禄华,程先峰.基于 BFDP技术的飞行数据处理系统[J].自动化与信息工程.2014.
[2]胡海静,王育平等编著.XML技术精粹.北京:机械工业出版社.2002.
[3]李立亚,朱浩,李昊.基于记录标记的数据库同步算法[J].高性能计算技术.2005.