田 雨 熊國民 涂衛(wèi)平 李 鍵 王 剛 于明亮 陳鐵方
(中國民航信息網(wǎng)絡(luò)股份有限公司,北京 101300)
附加服務(wù)離港復(fù)核場景當(dāng)前涉及軟件系統(tǒng)鏈條較多,業(yè)務(wù)流程較為復(fù)雜,從而導(dǎo)致離港復(fù)核失敗的業(yè)務(wù)場景也較為多樣化,例如不正常航班保障、旅客客票變更、訂座和離港系統(tǒng)差異、訂單丟失等多種原因均會(huì)導(dǎo)致旅客所購買的附加服務(wù)產(chǎn)品在離港交付環(huán)節(jié)的復(fù)核失敗。航空公司在進(jìn)行后續(xù)的業(yè)務(wù)追蹤和財(cái)務(wù)審核過程中,需要找到導(dǎo)致離港復(fù)核失敗的具體原因。而當(dāng)前現(xiàn)有技術(shù)中無法查到電子雜費(fèi)單和民航電子客票斷開關(guān)聯(lián)的旅客信息并跟蹤斷開關(guān)聯(lián)的具體原因,給后續(xù)為旅客辦理退票業(yè)務(wù)、財(cái)務(wù)審核業(yè)務(wù)等均帶來不便。
基于區(qū)塊鏈的附加服務(wù)訂單狀態(tài)全流程跟蹤系統(tǒng)通過區(qū)塊鏈技術(shù)實(shí)現(xiàn)數(shù)據(jù)溯源[1]及防篡改,區(qū)塊鏈各節(jié)點(diǎn)使用區(qū)塊鏈網(wǎng)絡(luò)將本系統(tǒng)擁有的附加服務(wù)訂單狀態(tài)信息進(jìn)行發(fā)布,實(shí)現(xiàn)數(shù)據(jù)的共享與協(xié)同,方便后續(xù)快速精準(zhǔn)定位跟蹤問題。
本系統(tǒng)依托高性能、強(qiáng)隱私保護(hù)的區(qū)塊鏈技術(shù)平臺(tái),實(shí)現(xiàn)了附加服務(wù)訂單狀態(tài)信息的共享及安全,保證訂單數(shù)據(jù)獲取真實(shí)且可追溯。本系統(tǒng)包括離港復(fù)核場景業(yè)務(wù)模塊、前端頁面展示模塊、區(qū)塊鏈數(shù)據(jù)上鏈[2]模塊、后端檢索模塊和區(qū)塊鏈Baas 平臺(tái)。如圖1 所示,其中離港復(fù)核場景業(yè)務(wù)模塊主要負(fù)責(zé)提供離港復(fù)核場景旅客信息、航班信息和交易狀態(tài)等數(shù)據(jù)。主要完成在離港復(fù)核場景中各個(gè)支撐系統(tǒng)的數(shù)據(jù)訂正與同步。區(qū)塊鏈數(shù)據(jù)上鏈模塊主要將各個(gè)支撐系統(tǒng)在離港復(fù)核場景中產(chǎn)生的數(shù)據(jù)寫入?yún)^(qū)塊鏈賬本[3]。通過gwsdk 工具(一種可執(zhí)行jar 包)啟動(dòng)附加服務(wù)智能合約[4]客戶端,發(fā)送消息到區(qū)塊鏈Baas 平臺(tái)網(wǎng)關(guān),調(diào)用部署在區(qū)塊鏈Baas 平臺(tái)上的附加服務(wù)智能合約服務(wù)端,更新區(qū)塊鏈分布式賬本。
圖1 系統(tǒng)功能模塊整體架構(gòu)
前端頁面展示模塊主要用于對后端檢索模塊下發(fā)附加服務(wù)訂單信息查詢請求或者區(qū)塊鏈溯源請求,同時(shí)接收后端檢索模塊返回的訂單信息并進(jìn)行展示。一方面,后端檢索模塊提供訂單基本信息查詢接口,調(diào)用統(tǒng)一訂單數(shù)據(jù)庫CTR(Customer Travel Record,旅客旅行記錄),查詢離港復(fù)核信息表dcsDelivery_info 和離港復(fù)核雜費(fèi)單表dcsDelivery_emd_info,將信息整合打包,返回給前端展示頁面。另一方面,接收前端展示頁面的區(qū)塊鏈溯源請求,提供區(qū)塊鏈溯源接口,啟動(dòng)附加服務(wù)智能合約客戶端,調(diào)用附加服務(wù)智能合約數(shù)據(jù)查詢接口,溯源多個(gè)服務(wù)支撐系統(tǒng)狀態(tài)碼變化過程。
區(qū)塊鏈Baas 平臺(tái)包括權(quán)限校驗(yàn)?zāi)K、智能合約模塊和分布式區(qū)塊鏈賬本,實(shí)現(xiàn)附加服務(wù)客戶端發(fā)送私鑰以及用戶證書給Baas 區(qū)塊鏈平臺(tái),Baas 平臺(tái)接收附加服務(wù)客戶端的私鑰和用戶證書,進(jìn)行CA 身份認(rèn)證(CA 認(rèn)證,即電子認(rèn)證服務(wù))、權(quán)限校驗(yàn),同時(shí),提供訂單溯源接口,根據(jù)目標(biāo)附加服務(wù)訂單的標(biāo)識(shí)交易號(hào)tid 查詢訂單變化過程,進(jìn)行區(qū)塊鏈溯源。
在區(qū)塊鏈網(wǎng)絡(luò)中設(shè)置證書頒發(fā)機(jī)構(gòu)CA,核對身份信息及生成公私鑰信息過程如圖2 所示,CA 身份認(rèn)證服務(wù)器頒發(fā)數(shù)字證書給訂單交互系統(tǒng)和訂單管理系統(tǒng),由訂單管理系統(tǒng)代理主機(jī)ICS 系統(tǒng)和EMD 電子雜費(fèi)單系統(tǒng)實(shí)現(xiàn)身份認(rèn)證。通過驗(yàn)證數(shù)字證書,區(qū)塊鏈網(wǎng)絡(luò)確認(rèn)交易雙方的身份。利用身份驗(yàn)證[5]方法,各節(jié)點(diǎn)能夠保護(hù)和掌握本節(jié)點(diǎn)的身份信息,授權(quán)和拒絕其他節(jié)點(diǎn)使用本節(jié)點(diǎn)的身份信息,確保交易的合法性和安全性。
圖2 證書頒發(fā)設(shè)計(jì)
區(qū)塊鏈技術(shù)安全可靠、可溯源、不可篡改的特性為認(rèn)證過程提供必要的數(shù)據(jù)支持。智能合約作為區(qū)塊鏈技術(shù)的重要組成部分,具有自動(dòng)執(zhí)行,去中心化等特點(diǎn)[6],使用智能合約可以自動(dòng)處理規(guī)則和計(jì)算用戶數(shù)據(jù)。根據(jù)用戶提供的簽名信息和證書進(jìn)行身份驗(yàn)證,身份認(rèn)證通過的節(jié)點(diǎn)可以啟動(dòng)附加服務(wù)智能合約,更新區(qū)塊鏈賬本信息。各系統(tǒng)節(jié)點(diǎn)通過身份認(rèn)證啟動(dòng)智能合約設(shè)計(jì)如圖3 所示。
圖3 身份認(rèn)證啟動(dòng)智能合約設(shè)計(jì)
區(qū)塊鏈中存儲(chǔ)的數(shù)據(jù)信息包括交易歷史信息、訂單交互系統(tǒng)狀態(tài)碼信息、EMD 電子雜費(fèi)單系統(tǒng)狀態(tài)碼信息、主機(jī)ICS 系統(tǒng)狀態(tài)碼信息、訂單管理系統(tǒng)狀態(tài)碼信息。
數(shù)據(jù)庫系統(tǒng)中包括離港復(fù)核信息表(dcsDeliveryInfo表)和離港復(fù)核雜費(fèi)單表(dcsDeliveryEmdInfo 表),其中離港復(fù)核信息表包括附加服務(wù)訂單的交易號(hào)、用戶訂座記錄、電子客票單號(hào)、旅客信息、航班信息、訂單交互系統(tǒng)的狀態(tài)信息、訂單管理系統(tǒng)的狀態(tài)信息、主機(jī)ICS 系統(tǒng)的狀態(tài)信息和區(qū)塊鏈交易哈希[7];離港復(fù)核雜費(fèi)單表包括:目標(biāo)附加服務(wù)訂單的交易號(hào)、EMD 電子雜費(fèi)單號(hào)、航段EMD 電子雜費(fèi)單號(hào)和EMD 電子雜費(fèi)單系統(tǒng)的狀態(tài)信息。
本系統(tǒng)基于分層架構(gòu)設(shè)計(jì),采用vue+springboot+Fabric[8]區(qū)塊鏈整合。首先前端展示頁面發(fā)出查詢請求,該查詢請求可以是附加服務(wù)訂單信息查詢請求,也可以是區(qū)塊鏈溯源請求。當(dāng)后端檢索模塊通過功能代碼funccode 識(shí)別出接收到的是附加服務(wù)訂單信息查詢請求時(shí),后端檢索模塊調(diào)用統(tǒng)一訂單數(shù)據(jù)庫CTR,CTR 數(shù)據(jù)庫返回該目標(biāo)訂單的訂單基本信息表。訂單交互系統(tǒng)、訂單管理系統(tǒng)、主機(jī)ICS 系統(tǒng)和EMD 電子雜費(fèi)單系統(tǒng)為在附加服務(wù)離港復(fù)核場景中的各個(gè)支撐系統(tǒng),也是數(shù)據(jù)上鏈過程中的節(jié)點(diǎn)。
后端檢索模塊將收到的訂單基本信息表打包后發(fā)送至前端頁面展示模塊進(jìn)行展示。用戶根據(jù)展示的訂單基本信息,決定是否進(jìn)行區(qū)塊鏈溯源,在需要進(jìn)行區(qū)塊鏈溯源時(shí)通過展示頁面發(fā)出指令,前端頁面展示模塊向后端檢索模塊發(fā)出區(qū)塊鏈溯源請求,后端檢索模塊對報(bào)文進(jìn)行檢驗(yàn),根據(jù)用戶證書進(jìn)行CA 身份驗(yàn)證,在驗(yàn)證通過的情況下啟動(dòng)附加服務(wù)智能合約客戶端,調(diào)用附加服務(wù)智能合約數(shù)據(jù)查詢接口,查詢區(qū)塊鏈賬本上記錄的附加服務(wù)訂單的交易歷史信息。根據(jù)該狀態(tài)碼變化過程可以看出在整個(gè)離港復(fù)核的數(shù)據(jù)流動(dòng)過程中,具體哪個(gè)節(jié)點(diǎn)出現(xiàn)問題,方便對訂單進(jìn)行跟蹤。
附加服務(wù)訂單狀態(tài)全流程跟蹤系統(tǒng)訂單信息查詢和區(qū)塊鏈溯源流程設(shè)計(jì)如圖4 所示。
圖4 訂單信息查詢和區(qū)塊鏈溯源流程
上傳前端調(diào)用后臺(tái)檢索jar 包、配置文件、服務(wù)啟停腳本、密鑰及證書,執(zhí)行啟動(dòng)腳本,開啟監(jiān)聽請求服務(wù),開發(fā)環(huán)境區(qū)塊鏈調(diào)用部署流程如圖5 所示。
圖5 開發(fā)環(huán)境區(qū)塊鏈調(diào)用部署流程
配置項(xiàng)和配置項(xiàng)描述見表1,本系統(tǒng)開發(fā)環(huán)境的部分配置項(xiàng)信息包括區(qū)塊鏈及數(shù)據(jù)入庫開關(guān)、區(qū)塊鏈網(wǎng)絡(luò)信息以及智能合約等相關(guān)配置。
表1 配置項(xiàng)和配置項(xiàng)描述
區(qū)塊鏈中存儲(chǔ)智能合約數(shù)據(jù),通過部署發(fā)布智能合約并執(zhí)行調(diào)用。數(shù)據(jù)入庫及上鏈完成后,通過前端頁面查詢數(shù)據(jù)。系統(tǒng)部署啟動(dòng)服務(wù)后頁面如圖6 所示,該頁面可以實(shí)現(xiàn)根據(jù)航班日期、航班號(hào)、訂單狀態(tài)等多種方式查詢;或者對某一條訂單狀態(tài)進(jìn)行區(qū)塊鏈溯源,獲取歷史交易信息、狀態(tài)變化信息。
圖6 系統(tǒng)部署后頁面
本文研究在民航旅客附加服務(wù)訂單狀態(tài)全流程追蹤的基礎(chǔ)上,利用區(qū)塊鏈技術(shù)安全存儲(chǔ)旅客附加服務(wù)訂單狀態(tài)數(shù)據(jù),通過將各服務(wù)支撐系統(tǒng)全流程建立合約并上鏈,將賬本信息同步給鏈上節(jié)點(diǎn),實(shí)現(xiàn)訂單溯源、業(yè)務(wù)快速跟蹤和問題精準(zhǔn)定位,同時(shí)避免旅客信息在流通中泄露?;趨^(qū)塊鏈Baas 平臺(tái),支持多實(shí)例部署,通過動(dòng)態(tài)水平擴(kuò)展、負(fù)載均衡技術(shù)保障系統(tǒng)高性能。本系統(tǒng)不僅解決離港復(fù)核場景下的問題,同時(shí)監(jiān)控各服務(wù)支撐系統(tǒng)的運(yùn)轉(zhuǎn)健康狀況,提升數(shù)據(jù)的互信,有效降低航司人工及時(shí)間成本,提高航班數(shù)據(jù)共享的效率和準(zhǔn)確度,增加民航數(shù)據(jù)的安全性和可靠性。
附加服務(wù)訂單狀態(tài)上鏈可以實(shí)現(xiàn)票務(wù)共享、座位里程積分共享、旅客行為特征數(shù)據(jù)共享,給航司營銷拓客提供支持,而且將來可以實(shí)現(xiàn)一站式端到端的服務(wù),比如酒店、租車等數(shù)據(jù)共享獲取,用戶、航司、供應(yīng)商作為鏈上節(jié)點(diǎn)可以參與各個(gè)環(huán)節(jié)的數(shù)字化服務(wù),消除信息孤島,提升優(yōu)化服務(wù),增強(qiáng)用戶黏性,進(jìn)而間接提高民航經(jīng)濟(jì)效益,推動(dòng)民航產(chǎn)業(yè)發(fā)展。