基于C/S架构的机场地理信息系统的设计与实现

2020-03-16 08:02磊,王
网络安全与数据管理 2020年3期
关键词:加密架构服务器

王 磊,王 皓

(华北计算机系统工程研究所,北京 100083)

0 引言

当前,计算机技术经历了飞速的发展,已经相当成熟,并已在全世界范围内得到了广泛而深刻的应用,使人们的日常生活发生了翻天覆地的变化。基于当前全球信息化和经济一体化的发展趋势,如何最大限度地利用各种信息技术,充分开发和利用庞大而复杂的信息资源,已经成为掌握未来发展主动权和制高点的重要课题[1]。

近几年来,随着社会的发展和人民生活水平的提高,人们越来越多地选择飞机作为长距离旅行的交通工具,因此对机场效率提出了更高的要求。而机场信息系统极大地推动了民航机场的发展,适应了高速增长的民航业务的需要,因此民航机场建立自己特有的信息系统已经刻不容缓。而地理信息系统作为机场信息系统的重要组成部分,可以帮助民航机场提高运行效率、减少中间环节、规范机场信息管理、降低机场的管理成本[1]。

机场信息系统软件中的地理信息系统,即在原有的机场信息系统中添加一些单位(如飞机机位、地面保障车辆等)的地理信息监控功能,其基本任务包括:(1)地图航班信息和地面保障车辆信息实时推送到大屏展示模块进行显示;(2)满足监控过程中对信息吞吐量、实时性和安全性等的要求。所以说,要实现一个完整的机场地理信息系统,需要实时通信技术和安全加密技术等多种信息技术的融合,并随着系统相关组件技术的进化而不断优化。目前,国内外针对机场地理信息系统的研究很多,但是都没有形成完整的标准体系。

随着计算机技术的发展,基于B/S架构的Web应用在各行各业越来越普及,而传统的C/S架构凭借其独特优势在特定行业还保持着自己的地位。本文通过对B/S架构和C/S架构的优劣势对比,以及内存数据库Redis等技术的分析和研究,提出一种基于C/S架构的机场地理信息系统解决方案,该方案具有实时性好、安全性高等优势,并在中航油智慧加油系统改造项目中实现及成功应用。

1 相关技术分析

在机场信息系统软件的地理信息系统中,网络架构、实时地理位置信息的传输方式和信息加密手段的选择是地理信息系统能否高效安全的核心问题。其中,网络架构指的是用户与服务端的交互方式,比如B/S架构用户使用的是浏览器,而C/S架构使用的是客户端。实时信息的传输方式指的是地理信息系统中服务器与数据库和客户端的通信方式[2]。应用系统之间的数据传输有三个要素:传输方式、传输协议和数据格式[2]。

1.1 网络架构

在地理信息系统中,由于存在不同的场景和不同的需求,因此需要根据实际需求来选择不同的网络架构。当前地理信息系统中的网络架构主要包括以下两种:

(1)C/S架构(客户端/服务器):它是最先出现的网络架构模式,用于用户与服务器之间的通信交互[2]。比如:QQ、迅雷等客户端使用的就是C/S架构。C/S架构的系统架构图如图1所示。客户端程序发出相应的请求访问业务逻辑服务器和数据库服务器,相应的服务器根据客户端的具体请求处理完毕后,返回相应的结果给客户端程序[3]。

图1 C/S系统架构图

(2)B/S架构(浏览器/服务器):它是目前应用系统的发展方向。B/S架构是随着Internet技术的兴起,对C/S架构的改进,为了区别传统的C/S模式而称为B/S模式[4]。比如:腾讯网、淘宝网等各种网站使用的就是B/S模式。B/S架构的系统架构图如图2所示。在这种结构下,用户通过浏览器来进入工作页面,极少的业务逻辑在前端实现,主要的业务逻辑在服务器实现,形成三层结构[4]。

图2 B/S系统架构图

B/S架构和C/S架构各有优势,它们在各个方面的对比如表1所示。考虑到机场这个场景的特定需求:版本升级频次低、用户群单一、安全系数要求高等特点,本文最终选择了C/S架构作为机场地理信息系统的实现架构。

表1 B/S和C/S各方面对比

1.2 实时数据传输

由于应用系统之间的数据传输存在三个要素:传输方式、传输协议和传输格式,因此,本文将对实时信息传输的三个方面进行分析。

1.2.1 实时数据的传输方式

常见的数据传输方式有以下两种:

(1)WebSocket:它是一种建立在TCP连接上的全双工通信协议,是典型的C/S架构下的交互方式。服务器通过特定的IP地址和端口提供服务;而客户端通过服务器指定的IP地址和端口进行消息交互[5]。其中的传输协议可以是TCP协议或者是UDP协议,服务器与客户端之间约定了请求报文格式和响应报文格式[6]。

(2)message方式:Java消息服务(Java Message Service)是message数据传输的典型实现方式。两个系统之间通过一个消息服务器进行数据交换,一个系统发送消息到消息服务器,如果另一个系统订阅了该消息,消息服务器就将其发送给另一个系统。其中,双方需要提前约定消息格式[5]。目前市场上有很多开源的消息中间件,比如RabbitMQ、Kafka等。

根据以上两种数据传输方式的特性,本文提出的机场地理信息系统分别在不同的模块使用了不同的方式,在客户端和服务器之间使用了WebSocket方式,而在服务器和数据库之间使用了message方式。

1.2.2 实时数据的传输协议

常见的传输层协议有以下两种:

(1)TCP协议:位于传输层,提供可靠的字节流服务。所谓的字节流服务指的是:为了方便传输,将大块的数据分割以报文段为单位进行管理[4]。而可靠的传输服务指的是:能够保证数据准确可靠地传输给对方。TCP协议通过多种方式来保证数据的可靠性:校验和;序列号;连接管理;流量控制;拥塞控制;超时重传;确认应答[5]。它适用于对效率要求相对较低,但是对数据准确性要求相对较高的场景。

(2)UDP协议:位于传输层,提供不可靠的数据包服务。所谓的数据包服务指的是:为了方便传输,将数据以数据包的形式整合进行管理[3]。而不可靠的传输服务指的是:会尽最大可能传输给对方,但不保证数据能够完整准确地传输给对方[3]。它适用于对效率要求较高,但对准确性要求较低的场景。

考虑到两种传输协议的特性,结合机场相对于效率,准确性更加重要的实际需求,选择TCP协议作为传输协议。

1.2.3 实时数据的传输格式

常见的传输格式有以下两种:

(1)JSON格式:JSON(JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式。完全不同于编程语言的文本格式,它采用了一种特有的文本格式来存储和表示数据。清晰明了的层次结构使得JSON成为了相当理想的数据交换格式。它不仅易于人阅读和编写,同时易于机器的解析和生成,还能有效地提高网络的传输效率[7]。

(2)XML格式:XML(可扩展标记语言)是一种用于标记电子文件并使其具有结构性的标记语言。它非常适合互联网传输,提供了统一的方法来描述和交换独立于应用程序和供应商的结构化数据。它是当前支持跨平台的、依赖于内容的数据交换技术,也是处理分布式结构信息的有效工具。

JSON和XML都有各自特有的优势,它们在各个方面的对比如表2所示。考虑到机场场景实时性要求高等特点,最终选择了JSON格式作为机场地理信息系统实时信息的传输格式。

表2 JSON和XML的对比

2 系统设计与实现

本文所涉及的基于C/S架构的机场地理信息系统采用了内存数据库Redis和消息队列系统Kafka,结合WebSocket通信技术、Token身份认证技术,系统结构清晰明了,其总体架构如图3所示。

图3 机场地理信息系统总体架构

2.1 大屏显示模块

用户登录大屏显示系统后,通过用户信息加载对应机场的地图信息。该模块主要功能包括:(1)统计信息:航班量、保障量、油单、已供油量、车辆,以及油料参数的统计信息。(2)筛选信息:根据飞机机型和加油状态,点击相应图标进行筛选;(3)详细信息:点击飞机查看飞机详细信息,点击机位查看当日机位待停已停飞机信息,点击车辆查看车辆详细信息;(4)数据收集:后台自动对车辆的轨迹信息、报警信息、越界信息等进行日志记录;(5)右侧菜单筛选:对地图设备、地图航班、航空公司、机位、区域管理等地图展示内容进行筛选,也包含了地图放大缩小等操作。该模块的所有功能如图4所示。

图4 大屏显示模块功能组成

2.2 后台管理模块

用户登录后台管理系统后,通过用户信息加载对应机场的地图信息,可对地图相应功能进行查看或管理。加载后展示车辆列表和当日航班列表信息;可根据车牌、时间、状态等条件查看车辆的历史轨迹和报警日志信息;区域管理,自定义区域分为管理区域和非管理区域,可在地图上直接进行新增区域,录入区域相应属性(包括区域名字、限高、限速、超时报警时效等),可对已划好区域进行增删改查功能;机位油井管理,可以对机位和油井信息地图进行增删改查;测距,可以测量出在机场两点之间的道路距离。其包含的所有功能如图5所示。

图5 后台管理模块功能组成

2.3 安全加密模块

考虑到机场对信息安全的要求比较高,本文提出的机场地理信息系统分别在以下三个维度对数据进行加密处理:(1)用户维度:身份验证机制;(2)数据传输维度:数据传输加密机制;(3)数据库维度:数据存储加密机制。

首先在用户维度采取两个措施:(1)启动软件时,首先要求用户输入用户身份信息(用户名和口令),对其进行比对识别后,合法用户方能够启动运行该软件,而对非法用户将给予登录警示和记录,登录警示多次将退出;(2)使用用户身份卡、读卡器和识别接口卡等设备对本软件运行的计算机设备的开关机及软件启动等操作进行控制。在数据传输维度采取以下两个措施:(1)使用线路保密机等设备,对需要对外交换的数据包进行加密传输;(2)采取端端加密措施。在数据存储维度采取以下三个措施:(1)通过对数据库文件的加密存放,对数据库中存储的数据进行加密;(2)对数据库表中某些关键字段进行加密入库存储;(3)对存放在计算机硬盘上的各种数据文件进行加密。

2.4 系统应用

本机场地理信息系统的设计与实现均基于中航油智慧加油系统改造项目,支持在Windows和CentOS操作系统上运行,而且提供了飞机状态监控、航班信息显示和车辆状态监控等多项功能。通过使用本文设计的机场地理信息系统,可以实现在机场指挥控制中心运行大屏显示模块,实现地图设备筛选、机位快速定位、区域管理等功能。还可以通过前台来调用后台管理模块,实现车辆的历史报警信息查询、车辆的历史轨迹回放等功能。

3 结束语

本文通过分析机场信息系统软件的地理信息系统相关技术的优劣,同时考虑到机场这个特定场景下的各种特殊需求,设计了基于C/S网络框架的新型机场地理信息系统,最后在中航油智慧加油系统改造项目中实现并成功应用,该系统具有安全性高、实时性好等多项优势,较好地满足了中航油智慧加油系统改造项目在各个方面的应用要求,实现了项目预期。

猜你喜欢
加密架构服务器
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
服务器组功能的使用
理解Horizon 连接服务器、安全服务器的配置
保护数据按需创建多种加密磁盘
电力安全防护加密装置
构建富有活力和效率的社会治理架构
PowerTCP Server Tool
加密与解密
VoLTE时代智能网架构演进研究