基于内存数据库的数据快速处理航显技术

2012-11-27 02:02肖挺莉李名杰
中国民航大学学报 2012年5期
关键词:数据处理内存航班

肖挺莉,李名杰

(北京首都国际机场股份有限公司信息技术部,北京 100621)

北京首都国际机场是“中国第一国门”,是中国最重要、规模最大、设备最先进、运输生产最繁忙的大型国际航空港,是中国的空中门户和对外交流的重要窗口。随着日益完善的国际航线网络的形成,使得北京首都国际机场成为世界最繁忙的机场之一,每天有超过70家航空公司的1 600个航班将北京与世界208个城市紧密连接;2010年旅客吞吐量超过7 300万人次,排名全球第二位。

航班信息显示系统FIDS(flight information display system)是一个以计算机信息技术、控制技术、网络与通信技术为基础,结构化布线系统为桥梁,航班信息为核心的数字化航班信息显示系统。FIDS作为机场为旅客提供航班信息服务的重要信息系统,直接面向往来世界各地的旅客,具有向旅客和外界发布信息,引导旅客办理乘机、候机、登机,通知旅客亲友接机等基本功能。使旅客及机场工作人员能及时获取正确的进港及出港的各种航班信息,增进旅客的有序流动及机场的整体运作效率。

首都国际机场新航站楼航班信息显示系统作为国家“九五”重点建设项目,代表了当时国际先进水平航班信息显示系统[1]。但随着显示设备的性能及机场市场意识、服务意识的不断提高,对信息显示系统的多样性和开放性提出了更高要求[2]。在旅客运输业务量飞速增长的今天,航班信息显示系统固有的业务模式受到航班量激增的影响,处理效率低下,甚至大部分数据处理还处于数据库轮询模式,无法实现航班信息的实时显示,如何提升航班信息显示系统的业务处理效率也成为国内外机场,尤其是大型枢纽机场共同面对的难题。

1 基于内存的数据快速处理技术解决方案

为解决大型枢纽机场海量业务数据快速处理的难题,提升航班信息显示系统的业务处理效率,本文提出了一个基于内存的数据快速处理技术解决方案,如图1和图2所示,该方案将内存数据库技术[3]、数据缓存技术[4]、非阻塞输入输出流(NIO)技术[5]有机整合,大大增强了航班信息显示系统的核心数据处理能力,从而实现高效实时的数据处理,其获得的新一代航班信息显示系统处理速度远高于行业标准。

1.1 内存数据库技术

内存数据库是将数据放在内存中直接操作的数据库[6],相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用的性能。同时,内存数据库抛弃了磁盘数据管理的传统方式,基于全部数据都在内存中重新设计了体系结构,并且在数据缓存、快速算法、并行操作方面也进行了相应的改进,所以,数据处理速度比传统数据库的数据处理速度要快很多,一般都在10倍以上。内存数据库的最大特点是其“主拷贝”或“工作版本”常驻内存,即活动事务只与实时内存数据库的内存拷贝打交道[7]。

尽管内存数据库已不是传统磁盘数据库的概念,但是内存数据库本质上还是数据库,它也具有一般数据库的基本功能:

1)永久数据的管理,包括数据库的定义、存储、维护等;

2)完成各种数据操作,如查询处理、存取、完整性检查;

3)事务管理,包括调度与并发控制等;4)对存取的控制和安全性检验;5)具有数据库的可靠性恢复机制。

相对于利用程序开发手段调用内存处理来说,内存数据库自有其优势。首先,内存数据库是产品化的数据库管理软件,极大缩短了开发周期;其次,内存数据库有着开放的平台和接口,程序开发和移植更加灵活便捷,也便于维护和二次开发;第三,可通过使用统一的SQL语言方便地查询内存中的数据;最后,能在数据库中保障数据的安全性和完整性。这些优势,对于快速部署和简化维护都是有利的。

在新一代航班信息显示系统中,内存数据库发挥着非常重要的作用,在系统加载时,将磁盘数据库自动同步到内存数据库中,并可动态接收航班事件和OPS(运行规范)数据,系统的自由文本时间轴调度和规则时间轴调度利用内存数据库快速计算能力使得系统的整体性能得到了质的飞跃。

1.2 数据缓存机制

新一代航班信息显示系统在启动时将最常用的字典数据(如值机柜台、机场、登机口、等级、行李分拣口、转盘等数据)一次性加载入内存,如图3所示,通过接口的方式对应用提供透明、细粒度、高速的查询方式,减少了数据库的查询次数并极大地提升了接口的处理速度。

图3 数据缓存加载示意图Fig.3 Figure of loading data cache

1.3 异步处理机制

新一代航班信息显示系统大量地采用了异步处理机制,其业务流程图如图4所示,采用队列缓存技术,将系统的同步调用转变为异步调用方式,极大地提升了航班信息显示系统性能。

图4 业务流程图Fig.4 Figure of business process

1.4 非阻塞输入输出流(NIO)技术

针对显示客户端和显示层服务器之间存在大量的TCP连接,新一代航班信息显示系统在Socket连接方式上采用NIO技术,以获取网络流的高速块读取、以及对I/O多路复用和非阻塞进行支持,NIO模块图如图5所示,从而使显示层服务器在处理高并发、大数据量的TCP连接时性能得到了极大提升。

图5 NIO模块设计图Fig.5 Design of NIO module

1.5 智能筛选

新一代航班信息显示系统采用了智能模糊匹配技术来精确匹配数据筛选规则,系统定义航班系统的删选规则时需按资源类型和资源编号来定义规则,查询时会根据预先定义的关键字来精确的定位到需要触发的规则,进而减少了不必要的规则触发,提升了新一代航班信息显示系统的搜索查询性能。

2 系统性能测试与分析

在相同硬件配置下,本文对基于内存数据库的快速处理技术解决方案的新一代航班信息显示系统与其他同类航显系统进行了性能测试与分析,对处理相同规模航班计划(2 000条)所用时间、每分钟处理航班动态条数、繁忙时实时动态排队时间、航班动态信息从上游系统发布到屏幕显示所用时间4个性能参数进行对比,测试结果如表1所示。

表1 相同配置下不同航显系统处理效率对比表Tab.1 Efficiency of different FIDSs in same experimental environment

从表1中可知,基于本文方案的新一代航班信息显示系统在处理相同规模航班计划所用时间、繁忙时实时动态排队时间、航班动态从上游系统发布到屏幕显示所用时间3个性能参数上比国内厂商航显系统分别降低了95%、100%、85%,比国际厂商航显系统分别降低了94%、100%、72%。与国内外厂商航显系统相比,每分钟处理航班动态条数的能力分别提升24和23倍。性能测试结果表明,本文提出的基于内存数据库的快速处理技术解决方案在新一代航班信息显示系统的应用中达到了良好的效果,极大地提升了新一代航班信息显示系统的业务处理效率和实时处理能力。

3 结语

新一代航班信息显示系统强调数据处理的及时性、有效性,要求从上游系统发布的数据实时反映在显示屏幕上,本文提出的基于内存的数据快速处理技术解决方案,整合了内存数据库技术、数据缓存技术、异步处理机制和NIO技术,新一代航班信息显示系统的处理速度远高于行业标准,有效解决了传统航显系统数据处理效率低、航班信息服务缺乏个性化等问题,基本消除了繁忙时段航班动态排队时间,保证了航班数据的实时性。本文提出的方案在首都机场新一代航班信息显示系统的应用中取得了良好的效果,为以后国内枢纽机场的航班信息显示系统建设提供了良好的技术积累和实施经验。

[1]金 辉,石 敏.新一代航班信息显示系统——首都国际机场新航站楼航班信息显示系统[J].计算机工程与应用,2011,37(4):105-108.

[2]石 敏,金 辉,田向东.航班信息显示系统中公共信息显示问题研究[J].微机发展,2004,14(4):80-81,109.

[3]GARCIA-MOLINA H,SALEM K.Main memory database systems:an overview[J].IEEE Transactions on Knowledge and Data Engineering,1992,4(6):509-516.

[4]顾荣庆,杨开杰,徐汀荣.分布式数据缓存技术研究[J].计算机应用与软件,2011,28(6):202-204.

[5]贺 杰.非阻塞输入输出在信息交换系统中的应用[J].软件导刊,2011,10(5):135-137.

[6]周游弋,董道国,金 城.高并发集群监控系统中内存数据库的设计与应用[J].计算机应用与软件,2011,28(6):128-130.

[7]石英伟,姜 浩.实用内存数据库核心及其在VLR系统中的应用[J].计算机技术与发展,2008,18(1):216-219.

猜你喜欢
数据处理内存航班
全美航班短暂停飞
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
基于低频功率数据处理的负荷分解方法
山航红色定制航班
山航红色定制航班
无人机测绘数据处理关键技术及运用
山航红色定制航班
笔记本内存已经在涨价了,但幅度不大,升级扩容无须等待
“春夏秋冬”的内存
基于MATLAB语言的物理实验数据处理探讨