基于Android 和Web 的通用航空业务管理系统设计与实现

2019-12-28 08:24赵富强罗伍周朱小波
现代计算机 2019年32期
关键词:界面管理人员航空

赵富强,罗伍周,朱小波

(中国民用航空总局第二研究所,成都610041)

0 引言

通用航空具有行业跨度大、业务类型多、航空器机型多、运行体系复杂等特点,在信息管理上存在非常大的困难[1],其中业务管理属于企业关注的重要环节,但缺少有效的信息化管理方式。前期对通用航空企业的信息化建设情况进行了调研,发现主要存在以下问题:一是信息化管理缺少统一的规划;二是大部分业务流程靠纸质流转和存储;三是部门之间人员不能高效协同作业。而近年来,随着通用航空快速发展,业务量不断积累,业务类型多种多样,响应时间和决策时间缩短,传统的信息传递和存储方式已不能有效解决新的工作需求。

关于通用航空信息化,美国主要通过飞行服务站为企业提供多种信息化服务[2]。国内通用航空企业信息化建设起步较晚,顾佳欢[3]提出应当对管理流程和业务流程进行优化,提供动态管理和决策信息。孙康等人[4]提出业务架构是企业信息化规划需要考虑的内容之一。杨璐等人[5]提出分布式架构解决数据同步和运行协同的问题。高虎等人[6]提出集中式处理方式解决飞行计划申报问题。

总结相关方案的特点和不足,梳理企业业务流程的重要环节,基于互联网技术,设计开发了通用航空业务管理系统,该系统围绕通用航空的业务流程进行设计,可实现对业务、航空器、企业人员、机场和信息等方面的科学规范管理;通过不同角色和不同权限提供不同的显示界面,企业人员协同完成作业任务;人员之间可互相发送及时信息和文件;相关人员可看到当前作业进度;可对通用航空业务进行实时监测、动态分析和精准统计,为通用航空企业的业务规范化管理提供了一种有效的解决方案。

1 关键技术

1.1 数据压缩算法

企业人员通过手机端上传的实时数据和通讯消息会积累大量的数据,因此需要保存的历史数据将会非常大,如果直接将该数据通过网页端存入数据库,不仅需要大量的存储空间,更会降低数据库的实时性[7],使得系统运行不流畅,如导致响应时间增加,数据传输速率变慢等问题。

为解决上述问题,必须对实时数据进行压缩处理后存储,在本系统中使用了LZW 算法。LZW 算法是Terry A.Welch 在1984 年基于字典压缩算法LZ78 而改进的一种压缩算法[8]。LZW 算法属于无损压缩算法,通过动态建立字典,采用索引读取,遇到新字符串则收入字典,由于索引所占空间较小,从而达到压缩文本目的。该算法实现了字符重用与编码,从而使得图像和文本文件的压缩效率得到较大的提高,尤其适用于资源库中重复率很高的文本压缩[9]。

图1 LZW算法处理流程

图1 所示为LZW 算法处理流程。LZW 算法由数据输入输出的数据流和编码流以及在进行数据转换时作为参考字典对象的编译表组成。

普通网页点击右键可以看到源码,是不安全的。本系统对网页端所有的展示数据采用LZW 算法进行压缩处理后展示,点击右键查看源码则看不到关键信息和页面架构,保障了数据的安全。移动端传至云平台的业务数据会经过Lrz 图片压缩库压缩数据,该库通过LZW 算法实现,可用于图片和字符串压缩。核心代码如下:

//定义一个压缩类

export default function compress(file){

try{

let ratio=1;

const{size}=file;

//如果图片大于1M 就采用压缩算法压缩

if((size!=undefined)&&size>1048576){

ratio=1048576/size+'';

ratio=parseFloat(ratio).toFixed(2);

return Lrz(file.path,{quality:ratio}).then((rst)=>{

//生成base64,后端可以处理此字符为图片

return backPromise(rst.base64);

})

.catch(()=>{

return backPromise(file.path);

})

}else{

……

}

}

1.2 RSA非对称加密算法

取两个最大素数p 和q,n=p*q,令φ( N )=(p-1)*(q-1),取与φ(n)互质的数e,其中d=e-1mod φ( N ),用

随着信息技术的广泛应用,网络信息安全依然是一个不可忽视的问题[10]。Java 中的JCE(Java Cryptography Ex)提供了RSA 算法、AES 算法、DSA 算法等各种加密算法、信息摘要算法和密钥管理等功能。本系统在网页前端采用了RSA 算法。RSA 加密算法是目前使用交广泛的非对称加密算法[11-12]。可以应用在数字加密和数字签名场景中。加密和解密过程中使用不同的密钥。其数学原理如下[13]:M 表示消息,用C 表示密文,明文为e,则公钥为(N,e),私钥为(N,d)。

加密与解密的步骤如表1 所示。

表1 RSA 非对称加密算法步骤

其中,RSA 加密需要使用密钥对,密钥对由服务器端生成,生成以后,公钥发送给App 客户端,供客户端在接收和发送数据时对数据加密、解密,App 客户端将加密后的对称密钥发送给服务器;私钥留在服务器端,在发送和接收数据时对App 端数据进行加密、解密。

在系统登录界面,对用户的账户和密码采用了RSA 加密。生成RSA 密钥对语法:public KeyPair generateKeyPair()利用KeyPair 的getPublic()和getPrivate()方法分别生成公钥和私钥,public PublicKey getPublic()和public PrivateKey getPrivate()。

2 总体方案设计

2.1 业务流程和人员职责

业务是通用航空企业的主要收入来源,流程不复杂但比较零散,往往缺少规范化管理[14]。根据前期对通用航空企业的调研情况分析,本系统将通用航空的业务流程分为任务申请、预先准备、直接准备、作业实施和作业完成五个环节,如图2 所示。人员是通用航空业务的关键因素之一,系统主要考虑与业务相关人员包括企业管理人员、签派、飞行员、机务和勤务[15]。

图2 通用航空企业业务流程

企业管理人员注册分配账户,每次作业相关人员需按照业务流程依次协同完成,顺序不可更改。首先,签派根据部门工作计划发布本次任务申请,并指定相关任务给其他人员;收到任务消息的飞行员完成预先准备操作;飞行员、机务和勤务协同完成直接准备工作;作业实施由飞行员完成;作业完成阶段由飞行员、机务和勤务共同完成操作。

2.2 系统总体架构设计

通用航空业务管理系统主要由Web 网页和App组成[16]。云端服务器主要用于业务数据的存储和处理;手机App 负责界面展示、传递业务数据等信息。手机端根据用户的账户权限显示不同的页面,用户根据权限选择相应的信息并提交至云服务器端处理,服务器端处理数据后返回客户端。

如图3 所示,整个系统架构分成5 层,包括用户层、业务层、界面层、功能层和系统层。其中,①系统层由数据服务器、文件服务器、网络服务器构成。②功能层作业作为系统核心功能层,处理数据加密/解密、数据通信等流程,实现业务管理、要素管理、统计分析、信息管理和气象信息显示等功能;③界面层作为系统的交互层,为企业用户提供业务管理、企业信息、信息发送和系统管理的服务;④业务层是主要的业务架构,主要是通过移动端展示业务管理,系统管理通过电脑端管理;⑤用户层是本系统的用户,系统用户主要是系统管理员。企业用户包括公司管理人员、签派、飞行员、机务和勤务,企业人员的账户由企业管理人员分配,各用户根据权限各司其职、协同办公。

图3 通用航空业务管理系统总体架构

2.3 系统开发环境

通用航空业务管理系统App 运行于Android 操作系统,运行的智能手机应具备Android 5.0 及以上操作系统,采用谷歌推出的Android 集成开发工具Android Studio 3.1.4 进行开发;数据库采用MySQL 5.7 设计;服务器端Web 云平台基于IDEA 2018 开发,Web 服务器端采用Java、JavaScript 等编程语言以及Node.js、React.js等流行技术进行设计开发[17],移动端和云平台端产生的数据统一部署在阿里云服务器上。

3 移动端功能设计

移动端采用Android 操作系统,采用C/S 架构设计,基于主流网络加载框架RxJava+OkHttp+Retrofit 开发设计,通过移动网络与服务器端交互。移动端用户分为企业管理人员和企业人员(签派、飞行员、机务、勤务)。

3.1 手机端企业管理人员功能设计

图4 手机端企业管理人员功能模块

企业管理人员功能模块包括业务管理、要素管理、消息管理和个人中心模块,如图4 所示,各子模块功能如下:

(1)业务管理

业务管理模块包括作业进度、作业记录、统计分析和信息发布功能。管理人员可通过首页的作业进度查看当前作业进度详情,首页下方同步显示当前作业进度;可按照条件(开始和结束的时间点、企业人员、航空器、作业类型)查看已完成的作业记录;可按照统计要素(企业人员、航空器、作业类型和飞行小时)查看统计图形;可根据情况发送信息给相关人员进行管理。

(2)要素管理

要素管理模块包括气象信息、企业信息、航空器、企业人员和基地机场。气象信息为中国天气网公开信息,管理人员可管理企业信息,包括企业Logo、公司简介、经营许可项目和联系方式;管理企业的航空器信息,包括机型、机号、类别等参数;企业人员信息,包括签派、飞行员、机务和勤务[18];管理基地机场信息,包括机场名称、所属省市、机场地址、类别、运营单位、联系方式等。

(3)消息管理

企业管理员的消息管理模块是通知消息,是人员之间相互发送的消息,可对消息进行标记或删除。

(4)个人中心

个人中心模块包括编辑资料、修改密码、手机号码、电子邮箱、权限说明、关于我们和版本更新。

3.2 手机端企业人员功能设计

图5 手机端企业人员功能模块

企业人员包括签派、飞行员、机务和勤务[19],可通过手机上传电子文档或者现场拍照上传图片及文件。企业人员功能模块包括业务操作、要素查看、消息管理和个人中心模块。如图5 所示,各子模块功能如下:

(1)业务操作

企业人员的业务操作由五个模块组成,分别为:①任务申请,②预先准备,③直接准备,④作业实施,⑤作业完成,各阶段参与人员和操作如下。

任务申请阶段,签派选择作业类型、服务客户名称、开始时间、结束时间、作业地点、作业负责人、航空器、起降机场、飞行时限、企业人员等信息,上传文件包括任务合同、空域申请单和飞行计划申请单;

预先准备阶段,飞行员上传飞行方案和应急预案文件[20];

直接准备阶段,飞行员提交飞行任务书、飞行资料包签收单[21];机务上传飞行放行单;勤务需要输入加油量,选择燃油类型;

作业实施阶段,飞行员可以选择上传作业图片或文件;

作业完成阶段,飞行员可以上传现场作业图或其他附件,机务上传航后检查单或其他附件,勤务可以选择上传附件。

(2)要素查看

要素查看包括气象信息、企业信息、航空器、企业人员和基地机场,此处显示信息与企业管理人员显示内容一致,但企业人员只可以浏览查看,不能管理要素信息。

(3)消息管理

企业人员的消息包括作业进度、作业消息和通知消息,其中作业进度在首页显示;作业消息以“您有新的作业”作为前缀,每条作业消息详情由编号、服务客户名称和作业类型三部分组成,编号由签派发布任务申请的时间(年月日时分)构成。通知消息由内容和发送时间组成。可对消息进行标记或删除。

(4)个人中心

与企业管理人员个人中心显示界面相似,包括编辑、修改密码、手机号码等信息。

4 云平台功能设计

通用航空业务管理云平台采用B/S 架构设计。该架构具有平台无关性特点,只需要具备浏览器即可访问。基于SpringBoot+MyBatis+Shiro 框架开发,云平台系统用户分为两大类,第一类是系统管理员;一类是企业用户,企业用户包括企业管理人员和企业人员,企业人员分为签派、飞行员、机务和勤务。

4.1 云平台系统管理员功能设计

图6 系统管理员功能模块

如图6 所示,云平台系统管理员功能模块包括企业管理、图片管理、用户管理和个人中心模块,各子模块功能如下所示。

(1)企业管理

企业管理对注册的企业账户的基本信息进行管理[22],包括企业名称、联系信息等,可对已注册企业进行认证。

(2)图片管理

图片管理是对手机端App 引导页图片和首页轮播图进行设置,主要包括标题、状态和操作功能。

(3)用户管理

人员管理对注册人员的基本信息进行管理和认证。

(4)个人中心

个人中心系统管理员的管理自身的账户信息,包括个人消息和资料。

4.2 云平台企业管理人员功能设计

图7 企业管理人员

如图7 所示,云平台企业管理人员功能设计包括企业信息管理、航空器管理、机场管理和个人中心功能模块。

(1)企业信息管理

企业管理人员可通过云平台管理企业基本信息(注册名、电话、邮箱和地址),其中的系统服务员工数、最大授权员工数、系统服务到期时间和企业认证状态都是由平台管理员管理,企业管理员不能修改。其余的信息都可以根据企业的相关信息改变而做相应的修改。

(2)航空器管理

航空器管理包括管理机型、机号、类别、起飞重量、巡航速度、最大商载、续航时间等参数,可以添加备注。

(3)机场管理

机场管理包括机场名称、机场地址、机场类别和操作,用于管理企业所有的基地机场。

(4)个人中心

个人中心包括消息和个人资料。可以更改头像,绑定手机、修改密码和更改电子邮箱。

4.3 云平台企业人员功能设计

图8 企业人员

如图8 所示,云平台企业人员上传数据主要通过手机端,云平台端只展示部分业务操作信息。

(1)业务操作

云平台业务操作包括作业名称、创建时间、新建、状态和操作[23],状态是指当前的作业进度。

(2)个人中心

个人中心包括个人消息和个人设置。消息包括作业消息和通知消息。个人设置包括绑定手机、修改密码和电子邮箱。

5 系统测试验证

为保证系统的实用性,对系统各项功能进行反复测试和优化。首先,采用测试工具对系统安全性和性能等方面进行测试。其次,采用手工测试方式分别对云平台测试和手机端各个功能模块进行测试,主要对注册登录、业务管理、要素管理、个人中心、数据处理与分析等功能进行测试验证。

图9 通用航空业务管理云平台登录界面

图10 云平台系统管理员业务管理界面

图11 云平台企业管理员业务管理界面

图12 云平台企业人员业务管理界面

图9 为云平台登录界面,测试表明系统登录注册功能正常;图10-图12 分别为云平台系统管理人员、企业管理员和企业人员测试界面。测试表明系统管理员界面各项功能正常,企业管理人员界面各项功能正常,数据显示正常,企业人员业务数据显示正常。云平台各项功能模块测试正常,处理数据及时,符合各项测试要求。

图13 手机端注册和登录界面

图14 管理人员和企业人员首页

图15 要素界面和个人中心界面

图13 为手机端注册和登录测试,手机端注册登录等功能正常。图14-16 结合某通用航空公司的历史数据进行了验证测试,实现了对业务流程的动态管理、业务数据统计分析、要素信息管理和及时通讯等目标,可以满足通用航空企业的业务需求。

图16 作业消息和业务统计分析

综上所述,该系统具有确保系统的高效性、安全性、规范性和实用性。此外,该系统已经通过手机应用市场审核并上线发布。系统有良好的扩展性,会根据需求适当拓展其功能。

6 结语

基于Android 和Web 的通用航空业务管理系统,该系统将与业务紧密相关的人员、任务、设备、气象和通知等信息有效整合,可实现快速归档业务数据、实时更新作业动态、及时推送多种消息和保存展示作业详情等功能。借助手机和移动通信网络,克服了时间与空间的限制,保证业务数据得到及时、准确的保存、传输和统计分析,极大地方便了通用航空企业的高效运营和动态管理业务,为通用航空信息化管理提供了一种有效且可靠的解决方案。

猜你喜欢
界面管理人员航空
不同截面类型钢管RPC界面粘结性能对比研究
以“5×3”立体模式打造外派管理人员队伍
建筑企业安全生产管理人员素质现状提升探讨
微重力下两相控温型储液器内气液界面仿真分析
华夏航空首架ARJ21首航
国企党委前置研究的“四个界面”
达美航空的重生之路
航空漫画
5年前的选择决定今天
航空报国岁月稠