高可用航班信息显示系统的设计与实现
2014-10-29周家锐
周家锐
摘 要
国内经济的飞速发展带动机场的旅客吞吐量逐年上升,更加凸显了机场信息化支撑环境、特别是航显系统的重要性。然而,传统的单层B/S架构航班信息显示系统存在客户端数量有限、扩展不易等实际问题。因此,本文通过对国内西部某大型机场的原有航班信息显示系统进行兼容性改造,引入负载均衡及数据、应用分层架构、模板显示等新技术,使原有系统的系统容量、可扩展性、稳定性等获得了较大的提高。
【关键词】FIDS 负载均衡 Oracle RAC 三层B/S
1 引言
近年来,伴随着国内经济的迅猛发展,我国的民用航空系统已经成为仅次于美国的全球第二大航空运输系统。为了满足日益繁忙的航空运输,机场信息化支撑环境变得尤为重要,成为机场日常运营必不可少的基础,而作为直接面向乘客的机场航班信息显示系统,无疑是其中最为核心的系统之一,其优劣可直接反应出整个机场的服务水平。
作为国内西部地区重要的空中交通枢纽之一,该机场原有的航显系统仍为传统的单层B/S架构,即简单的浏览器——服务器模式,容量小、性能低、扩展性差,因此难以适应机场扩建所带来的客户端数量急剧增长、系统使用流程变更等新的要求。
2 航显系统简介
航班信息显示系统(Flight Information Display System简称FIDS,以下均简称为航显系统),作为机场信息化系统的核心之一,是机场向旅客发布航班及其相关信息、直接面对旅客的最主要的信息系统,它负担着为旅客及送接站人员提供全方位的信息服务的职责。对与到达机场的旅客来说,航显系统就是广泛分布于机场各个角落,如离港大厅、值机柜台岛、值机柜台、登机口、到港行李转盘、到港大厅等等所有身在机场的旅客能够到达的机场区域内的显示屏。
3 高可用航显系统架构设计
考虑到对机场原有系统的兼容性需要,在系统原有的B/S架构之上进行改进,最终采用了三层分布式B/S结构,通过使用网页动态显示技术以网页的形式向位于机场的旅客和工作人员提供及时、准确的航班动态信息和各种临时性消息。
3.1 数据库层设计
数据库层由两台数据库服务器和一组磁盘阵列组成,通过HA技术组合成为双机热备系统。在使用HA组建双机热备系统后,服务器对客户端来说主机是透明的,当系统发生错误而进行切换时,即主机的切换在客户端看来没有变化,所有基于主机的应用都仍然正常运行。HA采用了虚拟IP地址映射技术来实现此功能。客户端通过虚拟地址和工作主机通讯,无论系统是否发生切换,虚拟地址始终指向工作主机。在进行网络服务时,HA提供一个逻辑的虚拟地址,任何一个客户端需要请求服务时只需要使用这个虚拟地址。正常运行时,虚拟地址及网络服务由主服务器提供。当主服务器出现故障时,HA会将虚拟地址转移到另外一台服务器的网卡上,继续提供网络服务。切换完成后,在客户端看来系统并没有出现故障,网络服务仍然可以使用。
3.2 应用层设计
应用层由多台应用服务器构成,按服务器功能可分为数据接口服务器、航班信息处理服务器、显示业务调度服务器、消息事务处理服务器等等。按数据流向可大致分为以下三个步奏:
(1)接口服务器通过通讯协议从外围系统(地面信息系统)获得次日航班计划和航班动态数据等所有航班相关消息,解析并将其实时写入数据库服务器的数据库内,供其使用。
(2)除接口服务器以外的服务器,又称业务服务器,主要实现航显业务逻辑处理、客户端显示、系统管理等功能,同时利用IIS组件,将相关航班动态数据,根据显示规则,将其转换为网页,并以HTML的形式统一实时的发送给各个显示终端,是航显系统的主要支撑。
(3)除服务器以外,应用层还包括两台负载均衡器,分布于机场各个角落的显示终端并不直接连接应用服务器,而是连到到两台负载均衡器构成的热备系统中,由负载均衡器采用分配算法把网络请求分散到各个应用服务器上。这样,通过管理进入的Web数据流量和增加有效的网络带宽,使得应用服务器能以较为低廉的硬件配置,带动大量客户端的频繁刷新请求,为航显系统7*24小时无间断工作提供了可能。
3.3 终端层设计
终端层不单单指传统意义上机场内的各个显示屏,还包括了输出的电视信号和网站实时显示等。终端层一般不对数据做任何逻辑处理,而是单纯将收到的数据按照预设模板显示出来,为机场旅客和工作人员提供一种友好的交互界面。
4 高可用航显系统的工程实现
4.1 航显系统的架构的物理实现
系统最终选择采用ORACLE + AIX提供数据库服务;IIS + WINDOWS作为应用服务器,C#为开发语言;显示终端以IE浏览器和JAVASCRIPT为显示基础。根据以上系统架构设计,其实际系统物理结构如图1所示。
由于系统架构为三层分布式B/S架构,为保证系统中各应用服务节点和客户端保证数据一致,系统还使用了消息事务机制。即,采用WEB方式处理所涉及的数据和对消息进行维护,包括进行数据的存储、消息的分发、触发功能;系统根据显示服务器对消息/数据的订阅、显示的处理逻辑,高效的进行消息的分发。
4.2 航显系统详细设计
航显系统使用模块化思想,将系统整体划分为以下几个功能模块,如表1所示。
5 结束语
本文讨论的航显系统在机场原有系统的基础上进行了大量基础性变革,使用负载均衡器和数据库集群,大大提高了系统容量和系统稳定性,而由其构建成的三层分布式系统结构,将多台服务器构成应用服务集群,又方便了系统的后期扩展。同时,显示终端采用模板显示、局部更新、HTML静态化等技术,规避了三层分布式架构带来的高网络负荷问题。经过实际运行检验,该航显系统在525个显示终端同时在线的高负载情况下达到了7*24无故障运行,完成了系统预期要求。
参考文献
[1]2011年中国通用航空发展报告[R].中国民航报,2012.05.08.
[2]綦琦专家.浅析推进民航企业管理信息公开的重要性[Z].民航资源网,2012. http://news.carnoc.com/list/234/234891.html
[3]文平.Oracle大型数据库系统在AIXUNIX上的实战详解[M].北京:电子工业出版社,2012.
[4]Thomas Kyte著,苏金国,王小振等译.Oracle Database 9i/10g/11g编程艺术:深入数据库体系结构(第2版)[M].北京:人民邮电出版社,2011.
[5]蔡晓.民航机场航班显示系统的分析与设计[D].电子科技大学,2007.
作者单位
四川省机场集团有限公司 四川省成都市 610200endprint
摘 要
国内经济的飞速发展带动机场的旅客吞吐量逐年上升,更加凸显了机场信息化支撑环境、特别是航显系统的重要性。然而,传统的单层B/S架构航班信息显示系统存在客户端数量有限、扩展不易等实际问题。因此,本文通过对国内西部某大型机场的原有航班信息显示系统进行兼容性改造,引入负载均衡及数据、应用分层架构、模板显示等新技术,使原有系统的系统容量、可扩展性、稳定性等获得了较大的提高。
【关键词】FIDS 负载均衡 Oracle RAC 三层B/S
1 引言
近年来,伴随着国内经济的迅猛发展,我国的民用航空系统已经成为仅次于美国的全球第二大航空运输系统。为了满足日益繁忙的航空运输,机场信息化支撑环境变得尤为重要,成为机场日常运营必不可少的基础,而作为直接面向乘客的机场航班信息显示系统,无疑是其中最为核心的系统之一,其优劣可直接反应出整个机场的服务水平。
作为国内西部地区重要的空中交通枢纽之一,该机场原有的航显系统仍为传统的单层B/S架构,即简单的浏览器——服务器模式,容量小、性能低、扩展性差,因此难以适应机场扩建所带来的客户端数量急剧增长、系统使用流程变更等新的要求。
2 航显系统简介
航班信息显示系统(Flight Information Display System简称FIDS,以下均简称为航显系统),作为机场信息化系统的核心之一,是机场向旅客发布航班及其相关信息、直接面对旅客的最主要的信息系统,它负担着为旅客及送接站人员提供全方位的信息服务的职责。对与到达机场的旅客来说,航显系统就是广泛分布于机场各个角落,如离港大厅、值机柜台岛、值机柜台、登机口、到港行李转盘、到港大厅等等所有身在机场的旅客能够到达的机场区域内的显示屏。
3 高可用航显系统架构设计
考虑到对机场原有系统的兼容性需要,在系统原有的B/S架构之上进行改进,最终采用了三层分布式B/S结构,通过使用网页动态显示技术以网页的形式向位于机场的旅客和工作人员提供及时、准确的航班动态信息和各种临时性消息。
3.1 数据库层设计
数据库层由两台数据库服务器和一组磁盘阵列组成,通过HA技术组合成为双机热备系统。在使用HA组建双机热备系统后,服务器对客户端来说主机是透明的,当系统发生错误而进行切换时,即主机的切换在客户端看来没有变化,所有基于主机的应用都仍然正常运行。HA采用了虚拟IP地址映射技术来实现此功能。客户端通过虚拟地址和工作主机通讯,无论系统是否发生切换,虚拟地址始终指向工作主机。在进行网络服务时,HA提供一个逻辑的虚拟地址,任何一个客户端需要请求服务时只需要使用这个虚拟地址。正常运行时,虚拟地址及网络服务由主服务器提供。当主服务器出现故障时,HA会将虚拟地址转移到另外一台服务器的网卡上,继续提供网络服务。切换完成后,在客户端看来系统并没有出现故障,网络服务仍然可以使用。
3.2 应用层设计
应用层由多台应用服务器构成,按服务器功能可分为数据接口服务器、航班信息处理服务器、显示业务调度服务器、消息事务处理服务器等等。按数据流向可大致分为以下三个步奏:
(1)接口服务器通过通讯协议从外围系统(地面信息系统)获得次日航班计划和航班动态数据等所有航班相关消息,解析并将其实时写入数据库服务器的数据库内,供其使用。
(2)除接口服务器以外的服务器,又称业务服务器,主要实现航显业务逻辑处理、客户端显示、系统管理等功能,同时利用IIS组件,将相关航班动态数据,根据显示规则,将其转换为网页,并以HTML的形式统一实时的发送给各个显示终端,是航显系统的主要支撑。
(3)除服务器以外,应用层还包括两台负载均衡器,分布于机场各个角落的显示终端并不直接连接应用服务器,而是连到到两台负载均衡器构成的热备系统中,由负载均衡器采用分配算法把网络请求分散到各个应用服务器上。这样,通过管理进入的Web数据流量和增加有效的网络带宽,使得应用服务器能以较为低廉的硬件配置,带动大量客户端的频繁刷新请求,为航显系统7*24小时无间断工作提供了可能。
3.3 终端层设计
终端层不单单指传统意义上机场内的各个显示屏,还包括了输出的电视信号和网站实时显示等。终端层一般不对数据做任何逻辑处理,而是单纯将收到的数据按照预设模板显示出来,为机场旅客和工作人员提供一种友好的交互界面。
4 高可用航显系统的工程实现
4.1 航显系统的架构的物理实现
系统最终选择采用ORACLE + AIX提供数据库服务;IIS + WINDOWS作为应用服务器,C#为开发语言;显示终端以IE浏览器和JAVASCRIPT为显示基础。根据以上系统架构设计,其实际系统物理结构如图1所示。
由于系统架构为三层分布式B/S架构,为保证系统中各应用服务节点和客户端保证数据一致,系统还使用了消息事务机制。即,采用WEB方式处理所涉及的数据和对消息进行维护,包括进行数据的存储、消息的分发、触发功能;系统根据显示服务器对消息/数据的订阅、显示的处理逻辑,高效的进行消息的分发。
4.2 航显系统详细设计
航显系统使用模块化思想,将系统整体划分为以下几个功能模块,如表1所示。
5 结束语
本文讨论的航显系统在机场原有系统的基础上进行了大量基础性变革,使用负载均衡器和数据库集群,大大提高了系统容量和系统稳定性,而由其构建成的三层分布式系统结构,将多台服务器构成应用服务集群,又方便了系统的后期扩展。同时,显示终端采用模板显示、局部更新、HTML静态化等技术,规避了三层分布式架构带来的高网络负荷问题。经过实际运行检验,该航显系统在525个显示终端同时在线的高负载情况下达到了7*24无故障运行,完成了系统预期要求。
参考文献
[1]2011年中国通用航空发展报告[R].中国民航报,2012.05.08.
[2]綦琦专家.浅析推进民航企业管理信息公开的重要性[Z].民航资源网,2012. http://news.carnoc.com/list/234/234891.html
[3]文平.Oracle大型数据库系统在AIXUNIX上的实战详解[M].北京:电子工业出版社,2012.
[4]Thomas Kyte著,苏金国,王小振等译.Oracle Database 9i/10g/11g编程艺术:深入数据库体系结构(第2版)[M].北京:人民邮电出版社,2011.
[5]蔡晓.民航机场航班显示系统的分析与设计[D].电子科技大学,2007.
作者单位
四川省机场集团有限公司 四川省成都市 610200endprint
摘 要
国内经济的飞速发展带动机场的旅客吞吐量逐年上升,更加凸显了机场信息化支撑环境、特别是航显系统的重要性。然而,传统的单层B/S架构航班信息显示系统存在客户端数量有限、扩展不易等实际问题。因此,本文通过对国内西部某大型机场的原有航班信息显示系统进行兼容性改造,引入负载均衡及数据、应用分层架构、模板显示等新技术,使原有系统的系统容量、可扩展性、稳定性等获得了较大的提高。
【关键词】FIDS 负载均衡 Oracle RAC 三层B/S
1 引言
近年来,伴随着国内经济的迅猛发展,我国的民用航空系统已经成为仅次于美国的全球第二大航空运输系统。为了满足日益繁忙的航空运输,机场信息化支撑环境变得尤为重要,成为机场日常运营必不可少的基础,而作为直接面向乘客的机场航班信息显示系统,无疑是其中最为核心的系统之一,其优劣可直接反应出整个机场的服务水平。
作为国内西部地区重要的空中交通枢纽之一,该机场原有的航显系统仍为传统的单层B/S架构,即简单的浏览器——服务器模式,容量小、性能低、扩展性差,因此难以适应机场扩建所带来的客户端数量急剧增长、系统使用流程变更等新的要求。
2 航显系统简介
航班信息显示系统(Flight Information Display System简称FIDS,以下均简称为航显系统),作为机场信息化系统的核心之一,是机场向旅客发布航班及其相关信息、直接面对旅客的最主要的信息系统,它负担着为旅客及送接站人员提供全方位的信息服务的职责。对与到达机场的旅客来说,航显系统就是广泛分布于机场各个角落,如离港大厅、值机柜台岛、值机柜台、登机口、到港行李转盘、到港大厅等等所有身在机场的旅客能够到达的机场区域内的显示屏。
3 高可用航显系统架构设计
考虑到对机场原有系统的兼容性需要,在系统原有的B/S架构之上进行改进,最终采用了三层分布式B/S结构,通过使用网页动态显示技术以网页的形式向位于机场的旅客和工作人员提供及时、准确的航班动态信息和各种临时性消息。
3.1 数据库层设计
数据库层由两台数据库服务器和一组磁盘阵列组成,通过HA技术组合成为双机热备系统。在使用HA组建双机热备系统后,服务器对客户端来说主机是透明的,当系统发生错误而进行切换时,即主机的切换在客户端看来没有变化,所有基于主机的应用都仍然正常运行。HA采用了虚拟IP地址映射技术来实现此功能。客户端通过虚拟地址和工作主机通讯,无论系统是否发生切换,虚拟地址始终指向工作主机。在进行网络服务时,HA提供一个逻辑的虚拟地址,任何一个客户端需要请求服务时只需要使用这个虚拟地址。正常运行时,虚拟地址及网络服务由主服务器提供。当主服务器出现故障时,HA会将虚拟地址转移到另外一台服务器的网卡上,继续提供网络服务。切换完成后,在客户端看来系统并没有出现故障,网络服务仍然可以使用。
3.2 应用层设计
应用层由多台应用服务器构成,按服务器功能可分为数据接口服务器、航班信息处理服务器、显示业务调度服务器、消息事务处理服务器等等。按数据流向可大致分为以下三个步奏:
(1)接口服务器通过通讯协议从外围系统(地面信息系统)获得次日航班计划和航班动态数据等所有航班相关消息,解析并将其实时写入数据库服务器的数据库内,供其使用。
(2)除接口服务器以外的服务器,又称业务服务器,主要实现航显业务逻辑处理、客户端显示、系统管理等功能,同时利用IIS组件,将相关航班动态数据,根据显示规则,将其转换为网页,并以HTML的形式统一实时的发送给各个显示终端,是航显系统的主要支撑。
(3)除服务器以外,应用层还包括两台负载均衡器,分布于机场各个角落的显示终端并不直接连接应用服务器,而是连到到两台负载均衡器构成的热备系统中,由负载均衡器采用分配算法把网络请求分散到各个应用服务器上。这样,通过管理进入的Web数据流量和增加有效的网络带宽,使得应用服务器能以较为低廉的硬件配置,带动大量客户端的频繁刷新请求,为航显系统7*24小时无间断工作提供了可能。
3.3 终端层设计
终端层不单单指传统意义上机场内的各个显示屏,还包括了输出的电视信号和网站实时显示等。终端层一般不对数据做任何逻辑处理,而是单纯将收到的数据按照预设模板显示出来,为机场旅客和工作人员提供一种友好的交互界面。
4 高可用航显系统的工程实现
4.1 航显系统的架构的物理实现
系统最终选择采用ORACLE + AIX提供数据库服务;IIS + WINDOWS作为应用服务器,C#为开发语言;显示终端以IE浏览器和JAVASCRIPT为显示基础。根据以上系统架构设计,其实际系统物理结构如图1所示。
由于系统架构为三层分布式B/S架构,为保证系统中各应用服务节点和客户端保证数据一致,系统还使用了消息事务机制。即,采用WEB方式处理所涉及的数据和对消息进行维护,包括进行数据的存储、消息的分发、触发功能;系统根据显示服务器对消息/数据的订阅、显示的处理逻辑,高效的进行消息的分发。
4.2 航显系统详细设计
航显系统使用模块化思想,将系统整体划分为以下几个功能模块,如表1所示。
5 结束语
本文讨论的航显系统在机场原有系统的基础上进行了大量基础性变革,使用负载均衡器和数据库集群,大大提高了系统容量和系统稳定性,而由其构建成的三层分布式系统结构,将多台服务器构成应用服务集群,又方便了系统的后期扩展。同时,显示终端采用模板显示、局部更新、HTML静态化等技术,规避了三层分布式架构带来的高网络负荷问题。经过实际运行检验,该航显系统在525个显示终端同时在线的高负载情况下达到了7*24无故障运行,完成了系统预期要求。
参考文献
[1]2011年中国通用航空发展报告[R].中国民航报,2012.05.08.
[2]綦琦专家.浅析推进民航企业管理信息公开的重要性[Z].民航资源网,2012. http://news.carnoc.com/list/234/234891.html
[3]文平.Oracle大型数据库系统在AIXUNIX上的实战详解[M].北京:电子工业出版社,2012.
[4]Thomas Kyte著,苏金国,王小振等译.Oracle Database 9i/10g/11g编程艺术:深入数据库体系结构(第2版)[M].北京:人民邮电出版社,2011.
[5]蔡晓.民航机场航班显示系统的分析与设计[D].电子科技大学,2007.
作者单位
四川省机场集团有限公司 四川省成都市 610200endprint