基于微服务的智慧运行数据管理移动端平台的设计与实现

2022-02-15  来源:互联网 

一、

民航运行具有全天候、多节点、实时性强等特点,因此参与运行的不同岗位、不同职务的人员,需要随时了解和掌握实际运行信息以及人员的值班安排和变动情况,以实现方便快捷的信息沟通和高效值班交接;传统的信息系统因其固定性和封闭性,对于运行人员灵活使用、移动办公的支持力度有限。本课题依据民航领域即时通讯、运行掌控等客观需求,通过研究设计基于微服务的智慧移动端平台来解决这些问题,用Hadoop1.2搭建企业私有云存储平台,将即时通讯会话中的非结构化数据存储在私有云存储上,建立系统用户与非结构化数据的安全视图,采用Hadoop的Java API对非结构化数据进行访问操作,从理论与实践两个方面,论证了可以将即时通讯系统搭建在企业私有云存储平台上,并能实现1 运行可视化;2集中管理资源;3大幅度节约存储空间;4避免资源丢失;5规避信息安全风险;6减轻网络负荷压力;7 及时会议视频;8可动态扩展等系统特性的可行性。

通过初步试用实践,基于私有云存储具有通讯数据安全、数据即时共享等特性,形成一个科技性、互动性、时效性为一体的数据管理移动端系统,集中统一管理运行数据管理过程中产生的结构化与非结构化数据,节约企业存储资源,提高企业办公效率。

二、相关技

(一) 云存

(1)主要对 Hadoop 架构体系、技术及部署方式进行研究与分析,对Hadoop的文件存储系统 HDFS 学习分析,掌握Hadoop相关API接口的使用,在企业内网搭建私有云存储平台的相关技术。 Hadoop 分布式系统体系结构的核心HDFS和MapReduce。在集群上, MapReduce实现任务处理和分布式计算,HDFS 实现分布式文件系统。HDFS 为MapReduce 提供文件存储和操作等支持,在HDFS的基础上,MapReduce提供了任务的分发、跟踪、执行以及任务执行结果的收集等功能,HDFS与MapReduce相互作用,实现了Hadoop分布式集群的主要功能。

(2)数据库建模技术及数据库访问技术。

(3)网络信息安全相关技术,数据加解密技术。

(4)Web 服务器应用程序设计技术、客户端交互技术。

(5)Socket TCP/IP 网络通信技术。

(6)Java Web 编程技术、C++ Windows 界面编程技术。

(二)SpringCloud

基于SpringCloud技术实现微服务,所有后端服务均采用restful协议进行微服务开发,每个服务可以独立开发、部署和测试,各服务之间完全解耦,相互独立。服务启动后自动注册到微服务注册中心并对外发布服务。每个服务可以多实例部署、热部署、热更新,通过增减实例即可实现服务的弹性伸缩。

针对移动端应用,引入了API Gateway网关技术,所有前端调用均通过API网关进行,前端应用不直接与后端微服务进行直接交互,通过API网关,可以实现微服务的负载均衡、服务缓存、服务路由、服务访问控制、服务代理、服务监控等。

随着后续业务的快速发展,可以基于现有的微服务框架和开发规范,快速开发部署新的服务,新服务的加入不会对原有服务产生影响。同时各服务可以自我演进升级,可以快速低成本的对现有服务进行拆分和合并形成新的服务,快速的响应多变的业务的需求。

同时,微服务与docker容器化技术相结合,可快速形成容器化微服务架构,随着后续平台的快速发展,掌上运控可快速集成到容器平台,实现容器化微服务。

(三) MUI框架与HTML5+

MUI 框架是DCloud公司发布的一款开源框架,是最接近原生App的前端框架。HTML5 +是HBulider 利用自己的IDE结合不同平台的接口再加上HTML5开发出来的一套框架,它有自己的使用规范,允许和提供了一些接口和函数来让Web开发者实现原生App 所能实现的功能,并且MUI以iOS平台UI为基础,补充Android特有的UI组件。

(四)Netty 框架与 SpringBoot 框架

Netty 是一个性能极高、异步事件驱动的框架,是一个异步非阻塞的框架。 这个框架支持多种通信协 议,包括 UDP、TCP 以及文件传输协议等。通过使用 Netty,对于所有的I0操作,开发人员都可以主动地 或由它内部的机制取得结果。 SpringBoot是由Pivotal 团队开发的全新的开源开发框架,能够简化应 用 Spring 开发项目。最突出的特点是配置方式,大大简化了Spring应用的各个方面。另外SpringBoot 能够集成大量的框架,解决了之前很重要的项目之间包的版本依赖和稳定性等问题。

(五)基于本地化的、与业务融合的、安全的即消息同技

考虑到移动协同是基于业务的即时消息沟通,因此沟通过程中的即时消息的安全性尤为重要,采用本地化部署的即时消息,另一方面掌上运控运用端到端加密的方式实现移动端即时消息的数据安全保障。

即时消息采用本地化方式进行部署,消息服务器和数据库均部署在内网服务器,数据和文件均存储在本地服务器中,最大程度的保障了数据的安全。即时消息客户端通过DMZ隔离区的代理服务器与内网消息服务器进行通讯,有效的隔离了即时消息服务器与外网通讯的安全风险。

同时,即时消息采取了一系列的安全措施来保障数据交换的安全性,主要安全策略如下:

采用HTTPS协议进行消息加密传输。

支持用RSA算法进行身份鉴定,使用用户密码获取登录Key、 接口Key、消息Key,自动登陆使用登录Key登录,接口的参数用接口Key验签;并且每次登陆或自动登陆后,重新生成登录Key和接口Key,以防伪造身份登录。

即时消息进行消息签名,服务器进行签名验签,以防伪造消息。

登录过程入参和返回结果均使用加密算法,以防抓包。

对消息的发送和接收,采用端到端加密方式,消息支持多种加密算法:支持3DES加密、AES加密、RSA加密三种方式,包括群聊,也支持非对称算法加密,彻底防止服务器监控数据,保证隐私。

三、功能实现

根据民航运行特点,主要开发了含疫情管理及报备、运行态势监控、航班状态及进程查询、资源管理、工作交流等功能,从而提高了信息传播效率、优化了业务流程,完善了运行保障能力。

(一)态势

图1 态势-集团模块

在态势-集团模块中,点击底部导航菜单【态势】--进入集团-当日情况的展示页面,根据日来查看集团不同时间维度的情况,当日可选择其他日期,数据项包括正常性、航班正常性情况、实时天气、航班运行情况、航班延误原因、放行延误分布。

在态势-单场模块中,点击底部导航菜单【态势】--进入页面点击选择单场-当日情况的展示页面,按日统计单个机场运行态势相关信息,可分别查看8个机场运行态势,当日可选择其他日期,默认北京首都机场,可点击选择机场;数据项包括运行限制、正常性、实时天气、整体运行情况:总体情况、进出港情况、航空公司运行情况Top10、出港延误统计、出港延误滞留统计、航班延误原因、机场原因延误分析。

(二)

功能包括:(1)单人/多人视频会议,包括现场会议和监控大厅内会议互联,移动端与Web端发送消息和视频通话。(2)单人/多人语音会议(3)单人/群组即时消息(4)接收内部设置群消息

点击微讯右上角添加页、选择视频联系人、对话框页、视频会议页

微讯消息列表页—点击右上角添加按钮—进入添加联系人选项—对话窗口;微讯消息列表页—点击单条历史消息—进入对话窗口

图4 微讯对话窗口

进入对话窗口—可在下方工具栏选择表情、上传图片、使用拍照、使用摄像、上传文件、视频会议功能;视频会议—选择联系人—开始视频通话

(三)航班查询

点击底部菜单航班查询—进入航班查询航班号页面—输入航班号,选择日期—进入航班列表页—查看航班详情页—关注航班/取消关注;点击底部菜单航班查询—进入航班查询航班号页面切换至起降地页面—输入始发地、目的地,选择日期—进入航班列表页—查看航班详情页—关注航班/取消关注;进入航班列表页,可点选前一天/后一天,进行日期切换

(四)航菜态势、微、航班查询页面左上角位置)

图6 导航菜单模块

底部导航【态势】、【微讯】、【航班查询】3个功能页面—点击其左上角导航菜单按钮—弹出菜单页面—点击该页下方关闭按钮---返回路径至前操作页面

(五)航菜-航点运

  图7 导航菜单-航点运营

打开导航菜单-选择航点运营-查看详细6项数据信息,包括航点实时情况、集团航迹通航航点、五大洲通航情况、全球通航航点Top10(国家)、国际通航航点起降架次Top10(城市)、国内通航航点起降架次Top10(城市)。

(六)航菜-事件信息

打开导航菜单-选择事件信息-进入事件信息列表页—点击某一条查看事件信息详情页

功能如下:

(1)事件信息列表顶部为事件分类和条数,默认选择全部事件,可切换至未处理/处理中/办结三个状态的事件列表

(2)可在事件分类下方进行关键词搜索相关事件,搜索框内容提示:请输入事件关键词

(3)搜索框右侧可选择近一周/一周前的时间范围,选择后刷新列表返回全部事件事件信息为空时显示提示语

四、

研究了基于Hadoop1.2的即时通讯系统的设计与实现,采用了HBuilder和IntelliJIDEA开发了即时通讯系统,通过HBuilder开发出来的应用可生成适用于安卓与苹果系统的安装包,节约了开发人员同时开发不同客户端的成本,实现了基本的数据通信,可以满足日常的通信需求。同时,在运行态势方面,充分利用民航运行数据共享平台以及运控大数据中心的数据,利用大数据手段对其进行数据汇聚、数据融合及治理,形成移动的可视的整体指标以及各场的效率指标,为决策层了解总体运行态势情况提供基础作用。


文章评论

共有 51 位网对文章表示很赞! 查看完整内容