趙富強,羅伍周,朱小波
(中國民用航空總局第二研究所,成都610041)
通用航空具有行業(yè)跨度大、業(yè)務(wù)類型多、航空器機型多、運行體系復(fù)雜等特點,在信息管理上存在非常大的困難[1],其中業(yè)務(wù)管理屬于企業(yè)關(guān)注的重要環(huán)節(jié),但缺少有效的信息化管理方式。前期對通用航空企業(yè)的信息化建設(shè)情況進行了調(diào)研,發(fā)現(xiàn)主要存在以下問題:一是信息化管理缺少統(tǒng)一的規(guī)劃;二是大部分業(yè)務(wù)流程靠紙質(zhì)流轉(zhuǎn)和存儲;三是部門之間人員不能高效協(xié)同作業(yè)。而近年來,隨著通用航空快速發(fā)展,業(yè)務(wù)量不斷積累,業(yè)務(wù)類型多種多樣,響應(yīng)時間和決策時間縮短,傳統(tǒng)的信息傳遞和存儲方式已不能有效解決新的工作需求。
關(guān)于通用航空信息化,美國主要通過飛行服務(wù)站為企業(yè)提供多種信息化服務(wù)[2]。國內(nèi)通用航空企業(yè)信息化建設(shè)起步較晚,顧佳歡[3]提出應(yīng)當對管理流程和業(yè)務(wù)流程進行優(yōu)化,提供動態(tài)管理和決策信息。孫康等人[4]提出業(yè)務(wù)架構(gòu)是企業(yè)信息化規(guī)劃需要考慮的內(nèi)容之一。楊璐等人[5]提出分布式架構(gòu)解決數(shù)據(jù)同步和運行協(xié)同的問題。高虎等人[6]提出集中式處理方式解決飛行計劃申報問題。
總結(jié)相關(guān)方案的特點和不足,梳理企業(yè)業(yè)務(wù)流程的重要環(huán)節(jié),基于互聯(lián)網(wǎng)技術(shù),設(shè)計開發(fā)了通用航空業(yè)務(wù)管理系統(tǒng),該系統(tǒng)圍繞通用航空的業(yè)務(wù)流程進行設(shè)計,可實現(xiàn)對業(yè)務(wù)、航空器、企業(yè)人員、機場和信息等方面的科學(xué)規(guī)范管理;通過不同角色和不同權(quán)限提供不同的顯示界面,企業(yè)人員協(xié)同完成作業(yè)任務(wù);人員之間可互相發(fā)送及時信息和文件;相關(guān)人員可看到當前作業(yè)進度;可對通用航空業(yè)務(wù)進行實時監(jiān)測、動態(tài)分析和精準統(tǒng)計,為通用航空企業(yè)的業(yè)務(wù)規(guī)范化管理提供了一種有效的解決方案。
企業(yè)人員通過手機端上傳的實時數(shù)據(jù)和通訊消息會積累大量的數(shù)據(jù),因此需要保存的歷史數(shù)據(jù)將會非常大,如果直接將該數(shù)據(jù)通過網(wǎng)頁端存入數(shù)據(jù)庫,不僅需要大量的存儲空間,更會降低數(shù)據(jù)庫的實時性[7],使得系統(tǒng)運行不流暢,如導(dǎo)致響應(yīng)時間增加,數(shù)據(jù)傳輸速率變慢等問題。
為解決上述問題,必須對實時數(shù)據(jù)進行壓縮處理后存儲,在本系統(tǒng)中使用了LZW 算法。LZW 算法是Terry A.Welch 在1984 年基于字典壓縮算法LZ78 而改進的一種壓縮算法[8]。LZW 算法屬于無損壓縮算法,通過動態(tài)建立字典,采用索引讀取,遇到新字符串則收入字典,由于索引所占空間較小,從而達到壓縮文本目的。該算法實現(xiàn)了字符重用與編碼,從而使得圖像和文本文件的壓縮效率得到較大的提高,尤其適用于資源庫中重復(fù)率很高的文本壓縮[9]。
圖1 LZW算法處理流程
圖1 所示為LZW 算法處理流程。LZW 算法由數(shù)據(jù)輸入輸出的數(shù)據(jù)流和編碼流以及在進行數(shù)據(jù)轉(zhuǎn)換時作為參考字典對象的編譯表組成。
普通網(wǎng)頁點擊右鍵可以看到源碼,是不安全的。本系統(tǒng)對網(wǎng)頁端所有的展示數(shù)據(jù)采用LZW 算法進行壓縮處理后展示,點擊右鍵查看源碼則看不到關(guān)鍵信息和頁面架構(gòu),保障了數(shù)據(jù)的安全。移動端傳至云平臺的業(yè)務(wù)數(shù)據(jù)會經(jīng)過Lrz 圖片壓縮庫壓縮數(shù)據(jù),該庫通過LZW 算法實現(xiàn),可用于圖片和字符串壓縮。核心代碼如下:
//定義一個壓縮類
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{
……
}
}
取兩個最大素數(shù)p 和q,n=p*q,令φ( N )=(p-1)*(q-1),取與φ(n)互質(zhì)的數(shù)e,其中d=e-1mod φ( N ),用
隨著信息技術(shù)的廣泛應(yīng)用,網(wǎng)絡(luò)信息安全依然是一個不可忽視的問題[10]。Java 中的JCE(Java Cryptography Ex)提供了RSA 算法、AES 算法、DSA 算法等各種加密算法、信息摘要算法和密鑰管理等功能。本系統(tǒng)在網(wǎng)頁前端采用了RSA 算法。RSA 加密算法是目前使用交廣泛的非對稱加密算法[11-12]??梢詰?yīng)用在數(shù)字加密和數(shù)字簽名場景中。加密和解密過程中使用不同的密鑰。其數(shù)學(xué)原理如下[13]:M 表示消息,用C 表示密文,明文為e,則公鑰為(N,e),私鑰為(N,d)。
加密與解密的步驟如表1 所示。
表1 RSA 非對稱加密算法步驟
其中,RSA 加密需要使用密鑰對,密鑰對由服務(wù)器端生成,生成以后,公鑰發(fā)送給App 客戶端,供客戶端在接收和發(fā)送數(shù)據(jù)時對數(shù)據(jù)加密、解密,App 客戶端將加密后的對稱密鑰發(fā)送給服務(wù)器;私鑰留在服務(wù)器端,在發(fā)送和接收數(shù)據(jù)時對App 端數(shù)據(jù)進行加密、解密。
在系統(tǒng)登錄界面,對用戶的賬戶和密碼采用了RSA 加密。生成RSA 密鑰對語法:public KeyPair generateKeyPair()利用KeyPair 的getPublic()和getPrivate()方法分別生成公鑰和私鑰,public PublicKey getPublic()和public PrivateKey getPrivate()。
業(yè)務(wù)是通用航空企業(yè)的主要收入來源,流程不復(fù)雜但比較零散,往往缺少規(guī)范化管理[14]。根據(jù)前期對通用航空企業(yè)的調(diào)研情況分析,本系統(tǒng)將通用航空的業(yè)務(wù)流程分為任務(wù)申請、預(yù)先準備、直接準備、作業(yè)實施和作業(yè)完成五個環(huán)節(jié),如圖2 所示。人員是通用航空業(yè)務(wù)的關(guān)鍵因素之一,系統(tǒng)主要考慮與業(yè)務(wù)相關(guān)人員包括企業(yè)管理人員、簽派、飛行員、機務(wù)和勤務(wù)[15]。
圖2 通用航空企業(yè)業(yè)務(wù)流程
企業(yè)管理人員注冊分配賬戶,每次作業(yè)相關(guān)人員需按照業(yè)務(wù)流程依次協(xié)同完成,順序不可更改。首先,簽派根據(jù)部門工作計劃發(fā)布本次任務(wù)申請,并指定相關(guān)任務(wù)給其他人員;收到任務(wù)消息的飛行員完成預(yù)先準備操作;飛行員、機務(wù)和勤務(wù)協(xié)同完成直接準備工作;作業(yè)實施由飛行員完成;作業(yè)完成階段由飛行員、機務(wù)和勤務(wù)共同完成操作。
通用航空業(yè)務(wù)管理系統(tǒng)主要由Web 網(wǎng)頁和App組成[16]。云端服務(wù)器主要用于業(yè)務(wù)數(shù)據(jù)的存儲和處理;手機App 負責界面展示、傳遞業(yè)務(wù)數(shù)據(jù)等信息。手機端根據(jù)用戶的賬戶權(quán)限顯示不同的頁面,用戶根據(jù)權(quán)限選擇相應(yīng)的信息并提交至云服務(wù)器端處理,服務(wù)器端處理數(shù)據(jù)后返回客戶端。
如圖3 所示,整個系統(tǒng)架構(gòu)分成5 層,包括用戶層、業(yè)務(wù)層、界面層、功能層和系統(tǒng)層。其中,①系統(tǒng)層由數(shù)據(jù)服務(wù)器、文件服務(wù)器、網(wǎng)絡(luò)服務(wù)器構(gòu)成。②功能層作業(yè)作為系統(tǒng)核心功能層,處理數(shù)據(jù)加密/解密、數(shù)據(jù)通信等流程,實現(xiàn)業(yè)務(wù)管理、要素管理、統(tǒng)計分析、信息管理和氣象信息顯示等功能;③界面層作為系統(tǒng)的交互層,為企業(yè)用戶提供業(yè)務(wù)管理、企業(yè)信息、信息發(fā)送和系統(tǒng)管理的服務(wù);④業(yè)務(wù)層是主要的業(yè)務(wù)架構(gòu),主要是通過移動端展示業(yè)務(wù)管理,系統(tǒng)管理通過電腦端管理;⑤用戶層是本系統(tǒng)的用戶,系統(tǒng)用戶主要是系統(tǒng)管理員。企業(yè)用戶包括公司管理人員、簽派、飛行員、機務(wù)和勤務(wù),企業(yè)人員的賬戶由企業(yè)管理人員分配,各用戶根據(jù)權(quán)限各司其職、協(xié)同辦公。
圖3 通用航空業(yè)務(wù)管理系統(tǒng)總體架構(gòu)
通用航空業(yè)務(wù)管理系統(tǒng)App 運行于Android 操作系統(tǒng),運行的智能手機應(yīng)具備Android 5.0 及以上操作系統(tǒng),采用谷歌推出的Android 集成開發(fā)工具Android Studio 3.1.4 進行開發(fā);數(shù)據(jù)庫采用MySQL 5.7 設(shè)計;服務(wù)器端Web 云平臺基于IDEA 2018 開發(fā),Web 服務(wù)器端采用Java、JavaScript 等編程語言以及Node.js、React.js等流行技術(shù)進行設(shè)計開發(fā)[17],移動端和云平臺端產(chǎn)生的數(shù)據(jù)統(tǒng)一部署在阿里云服務(wù)器上。
移動端采用Android 操作系統(tǒng),采用C/S 架構(gòu)設(shè)計,基于主流網(wǎng)絡(luò)加載框架RxJava+OkHttp+Retrofit 開發(fā)設(shè)計,通過移動網(wǎng)絡(luò)與服務(wù)器端交互。移動端用戶分為企業(yè)管理人員和企業(yè)人員(簽派、飛行員、機務(wù)、勤務(wù))。
圖4 手機端企業(yè)管理人員功能模塊
企業(yè)管理人員功能模塊包括業(yè)務(wù)管理、要素管理、消息管理和個人中心模塊,如圖4 所示,各子模塊功能如下:
(1)業(yè)務(wù)管理
業(yè)務(wù)管理模塊包括作業(yè)進度、作業(yè)記錄、統(tǒng)計分析和信息發(fā)布功能。管理人員可通過首頁的作業(yè)進度查看當前作業(yè)進度詳情,首頁下方同步顯示當前作業(yè)進度;可按照條件(開始和結(jié)束的時間點、企業(yè)人員、航空器、作業(yè)類型)查看已完成的作業(yè)記錄;可按照統(tǒng)計要素(企業(yè)人員、航空器、作業(yè)類型和飛行小時)查看統(tǒng)計圖形;可根據(jù)情況發(fā)送信息給相關(guān)人員進行管理。
(2)要素管理
要素管理模塊包括氣象信息、企業(yè)信息、航空器、企業(yè)人員和基地機場。氣象信息為中國天氣網(wǎng)公開信息,管理人員可管理企業(yè)信息,包括企業(yè)Logo、公司簡介、經(jīng)營許可項目和聯(lián)系方式;管理企業(yè)的航空器信息,包括機型、機號、類別等參數(shù);企業(yè)人員信息,包括簽派、飛行員、機務(wù)和勤務(wù)[18];管理基地機場信息,包括機場名稱、所屬省市、機場地址、類別、運營單位、聯(lián)系方式等。
(3)消息管理
企業(yè)管理員的消息管理模塊是通知消息,是人員之間相互發(fā)送的消息,可對消息進行標記或刪除。
(4)個人中心
個人中心模塊包括編輯資料、修改密碼、手機號碼、電子郵箱、權(quán)限說明、關(guān)于我們和版本更新。
圖5 手機端企業(yè)人員功能模塊
企業(yè)人員包括簽派、飛行員、機務(wù)和勤務(wù)[19],可通過手機上傳電子文檔或者現(xiàn)場拍照上傳圖片及文件。企業(yè)人員功能模塊包括業(yè)務(wù)操作、要素查看、消息管理和個人中心模塊。如圖5 所示,各子模塊功能如下:
(1)業(yè)務(wù)操作
企業(yè)人員的業(yè)務(wù)操作由五個模塊組成,分別為:①任務(wù)申請,②預(yù)先準備,③直接準備,④作業(yè)實施,⑤作業(yè)完成,各階段參與人員和操作如下。
任務(wù)申請階段,簽派選擇作業(yè)類型、服務(wù)客戶名稱、開始時間、結(jié)束時間、作業(yè)地點、作業(yè)負責人、航空器、起降機場、飛行時限、企業(yè)人員等信息,上傳文件包括任務(wù)合同、空域申請單和飛行計劃申請單;
預(yù)先準備階段,飛行員上傳飛行方案和應(yīng)急預(yù)案文件[20];
直接準備階段,飛行員提交飛行任務(wù)書、飛行資料包簽收單[21];機務(wù)上傳飛行放行單;勤務(wù)需要輸入加油量,選擇燃油類型;
作業(yè)實施階段,飛行員可以選擇上傳作業(yè)圖片或文件;
作業(yè)完成階段,飛行員可以上傳現(xiàn)場作業(yè)圖或其他附件,機務(wù)上傳航后檢查單或其他附件,勤務(wù)可以選擇上傳附件。
(2)要素查看
要素查看包括氣象信息、企業(yè)信息、航空器、企業(yè)人員和基地機場,此處顯示信息與企業(yè)管理人員顯示內(nèi)容一致,但企業(yè)人員只可以瀏覽查看,不能管理要素信息。
(3)消息管理
企業(yè)人員的消息包括作業(yè)進度、作業(yè)消息和通知消息,其中作業(yè)進度在首頁顯示;作業(yè)消息以“您有新的作業(yè)”作為前綴,每條作業(yè)消息詳情由編號、服務(wù)客戶名稱和作業(yè)類型三部分組成,編號由簽派發(fā)布任務(wù)申請的時間(年月日時分)構(gòu)成。通知消息由內(nèi)容和發(fā)送時間組成。可對消息進行標記或刪除。
(4)個人中心
與企業(yè)管理人員個人中心顯示界面相似,包括編輯、修改密碼、手機號碼等信息。
通用航空業(yè)務(wù)管理云平臺采用B/S 架構(gòu)設(shè)計。該架構(gòu)具有平臺無關(guān)性特點,只需要具備瀏覽器即可訪問?;赟pringBoot+MyBatis+Shiro 框架開發(fā),云平臺系統(tǒng)用戶分為兩大類,第一類是系統(tǒng)管理員;一類是企業(yè)用戶,企業(yè)用戶包括企業(yè)管理人員和企業(yè)人員,企業(yè)人員分為簽派、飛行員、機務(wù)和勤務(wù)。
圖6 系統(tǒng)管理員功能模塊
如圖6 所示,云平臺系統(tǒng)管理員功能模塊包括企業(yè)管理、圖片管理、用戶管理和個人中心模塊,各子模塊功能如下所示。
(1)企業(yè)管理
企業(yè)管理對注冊的企業(yè)賬戶的基本信息進行管理[22],包括企業(yè)名稱、聯(lián)系信息等,可對已注冊企業(yè)進行認證。
(2)圖片管理
圖片管理是對手機端App 引導(dǎo)頁圖片和首頁輪播圖進行設(shè)置,主要包括標題、狀態(tài)和操作功能。
(3)用戶管理
人員管理對注冊人員的基本信息進行管理和認證。
(4)個人中心
個人中心系統(tǒng)管理員的管理自身的賬戶信息,包括個人消息和資料。
圖7 企業(yè)管理人員
如圖7 所示,云平臺企業(yè)管理人員功能設(shè)計包括企業(yè)信息管理、航空器管理、機場管理和個人中心功能模塊。
(1)企業(yè)信息管理
企業(yè)管理人員可通過云平臺管理企業(yè)基本信息(注冊名、電話、郵箱和地址),其中的系統(tǒng)服務(wù)員工數(shù)、最大授權(quán)員工數(shù)、系統(tǒng)服務(wù)到期時間和企業(yè)認證狀態(tài)都是由平臺管理員管理,企業(yè)管理員不能修改。其余的信息都可以根據(jù)企業(yè)的相關(guān)信息改變而做相應(yīng)的修改。
(2)航空器管理
航空器管理包括管理機型、機號、類別、起飛重量、巡航速度、最大商載、續(xù)航時間等參數(shù),可以添加備注。
(3)機場管理
機場管理包括機場名稱、機場地址、機場類別和操作,用于管理企業(yè)所有的基地機場。
(4)個人中心
個人中心包括消息和個人資料??梢愿念^像,綁定手機、修改密碼和更改電子郵箱。
圖8 企業(yè)人員
如圖8 所示,云平臺企業(yè)人員上傳數(shù)據(jù)主要通過手機端,云平臺端只展示部分業(yè)務(wù)操作信息。
(1)業(yè)務(wù)操作
云平臺業(yè)務(wù)操作包括作業(yè)名稱、創(chuàng)建時間、新建、狀態(tài)和操作[23],狀態(tài)是指當前的作業(yè)進度。
(2)個人中心
個人中心包括個人消息和個人設(shè)置。消息包括作業(yè)消息和通知消息。個人設(shè)置包括綁定手機、修改密碼和電子郵箱。
為保證系統(tǒng)的實用性,對系統(tǒng)各項功能進行反復(fù)測試和優(yōu)化。首先,采用測試工具對系統(tǒng)安全性和性能等方面進行測試。其次,采用手工測試方式分別對云平臺測試和手機端各個功能模塊進行測試,主要對注冊登錄、業(yè)務(wù)管理、要素管理、個人中心、數(shù)據(jù)處理與分析等功能進行測試驗證。
圖9 通用航空業(yè)務(wù)管理云平臺登錄界面
圖10 云平臺系統(tǒng)管理員業(yè)務(wù)管理界面
圖11 云平臺企業(yè)管理員業(yè)務(wù)管理界面
圖12 云平臺企業(yè)人員業(yè)務(wù)管理界面
圖9 為云平臺登錄界面,測試表明系統(tǒng)登錄注冊功能正常;圖10-圖12 分別為云平臺系統(tǒng)管理人員、企業(yè)管理員和企業(yè)人員測試界面。測試表明系統(tǒng)管理員界面各項功能正常,企業(yè)管理人員界面各項功能正常,數(shù)據(jù)顯示正常,企業(yè)人員業(yè)務(wù)數(shù)據(jù)顯示正常。云平臺各項功能模塊測試正常,處理數(shù)據(jù)及時,符合各項測試要求。
圖13 手機端注冊和登錄界面
圖14 管理人員和企業(yè)人員首頁
圖15 要素界面和個人中心界面
圖13 為手機端注冊和登錄測試,手機端注冊登錄等功能正常。圖14-16 結(jié)合某通用航空公司的歷史數(shù)據(jù)進行了驗證測試,實現(xiàn)了對業(yè)務(wù)流程的動態(tài)管理、業(yè)務(wù)數(shù)據(jù)統(tǒng)計分析、要素信息管理和及時通訊等目標,可以滿足通用航空企業(yè)的業(yè)務(wù)需求。
圖16 作業(yè)消息和業(yè)務(wù)統(tǒng)計分析
綜上所述,該系統(tǒng)具有確保系統(tǒng)的高效性、安全性、規(guī)范性和實用性。此外,該系統(tǒng)已經(jīng)通過手機應(yīng)用市場審核并上線發(fā)布。系統(tǒng)有良好的擴展性,會根據(jù)需求適當拓展其功能。
基于Android 和Web 的通用航空業(yè)務(wù)管理系統(tǒng),該系統(tǒng)將與業(yè)務(wù)緊密相關(guān)的人員、任務(wù)、設(shè)備、氣象和通知等信息有效整合,可實現(xiàn)快速歸檔業(yè)務(wù)數(shù)據(jù)、實時更新作業(yè)動態(tài)、及時推送多種消息和保存展示作業(yè)詳情等功能。借助手機和移動通信網(wǎng)絡(luò),克服了時間與空間的限制,保證業(yè)務(wù)數(shù)據(jù)得到及時、準確的保存、傳輸和統(tǒng)計分析,極大地方便了通用航空企業(yè)的高效運營和動態(tài)管理業(yè)務(wù),為通用航空信息化管理提供了一種有效且可靠的解決方案。