單杏花,張志強(qiáng),寧 斐,李士達(dá),戴琳琳
(1. 中國鐵道科學(xué)研究院集團(tuán)有限公司 電子計(jì)算技術(shù)研究所,北京 100081;2. 中國國家鐵路集團(tuán)有限公司 客運(yùn)部,北京 100084)
中國鐵路客票系統(tǒng)經(jīng)過20 余年的發(fā)展,逐步從車站內(nèi)的單一客票銷售業(yè)務(wù)系統(tǒng)發(fā)展成為覆蓋線上(即12306 網(wǎng)售票系統(tǒng),包括12306 網(wǎng)站及同名移動(dòng)端APP)和線下3 000 多個(gè)客運(yùn)車站,提供客票銷售、延伸服務(wù)、營銷決策等多項(xiàng)業(yè)務(wù)的全球最大的綜合性票務(wù)系統(tǒng)。伴隨客票系統(tǒng)的發(fā)展,鐵路客票票制逐步從硬板票轉(zhuǎn)變?yōu)檐浖埰?、磁介質(zhì)車票和互聯(lián)網(wǎng)電子客票并存的現(xiàn)狀。長期以來鐵路客票形制以紙質(zhì)基材為主,其自身固有問題隨著客流量的逐年攀升日益突顯,成為影響鐵路客運(yùn)服務(wù)質(zhì)量進(jìn)一步提升的一項(xiàng)重要因素。目前鐵路紙質(zhì)客票所引起的問題主要表現(xiàn)在以下4個(gè)方面:一是客票票制不統(tǒng)一,給旅客出行帶來困擾,由于鐵路售票渠道多樣,使得軟紙票、磁介質(zhì)票、互聯(lián)網(wǎng)電子客票同時(shí)并存,不同票制間的業(yè)務(wù)規(guī)則相近但不相同,旅客難以全面了解,因此在驗(yàn)檢、退簽等環(huán)節(jié)中易引發(fā)多種問題,在降低旅客出行體驗(yàn)的同時(shí),也為現(xiàn)場客運(yùn)組織帶來不便;二是票紙用量巨大,與綠色出行理念不符,長久以來憑票乘車是社會(huì)對(duì)于鐵路出行的一種固有印象,加之鐵路對(duì)于新服務(wù)舉措的宣傳受眾有限,使得旅客嘗試新型互聯(lián)網(wǎng)電子客票的意愿不高,網(wǎng)購車票后仍習(xí)慣乘車前換取紙質(zhì)車票,無形中增加了旅客出行總時(shí)間和社會(huì)出行總成本,每年數(shù)十億張票紙被無必要消耗,這使得綠色出行理念難以落實(shí);三是紙質(zhì)客票易丟失,處理流程繁瑣,僅2018年和2019年,鐵路每年為旅客辦理掛失補(bǔ)票業(yè)務(wù)超160 萬人次,但由于掛失補(bǔ)業(yè)務(wù)辦理流程復(fù)雜、旅客體驗(yàn)不佳,容易引發(fā)糾紛和投訴,大幅降低了旅客的出行體驗(yàn);四是倒買倒賣車票和制售販賣假票問題屢禁不止,不僅嚴(yán)重危害旅客的合法權(quán)益,同時(shí)還對(duì)鐵路正常運(yùn)輸生產(chǎn)活動(dòng)產(chǎn)生嚴(yán)重影響。
經(jīng)分析,以上問題存在的主要原因是:客票系統(tǒng)發(fā)展歷程較長,制票設(shè)備更新?lián)Q代不可能一刀切,多種票制并存成為必然;傳統(tǒng)紙質(zhì)車票同時(shí)承載了鐵路運(yùn)輸合同、乘車憑證、報(bào)銷憑證三大屬性,紙質(zhì)車票的丟失,意味著運(yùn)輸合同、乘車憑證和報(bào)銷憑證同時(shí)丟失,雖在確認(rèn)旅客運(yùn)輸合同有效后可重新印制乘車憑證,但按國家財(cái)稅制度要求,一張車票僅可開具一次報(bào)銷憑證,即鐵路制訂掛失補(bǔ)規(guī)則和流程,允許丟失車票旅客繼續(xù)享有乘車權(quán)力,但需要旅客先繳納與票款等額的押金后再制取車票,乘車時(shí)聯(lián)系列車長開具客運(yùn)記錄,到站后憑列車開具的客運(yùn)記錄并交回重制車票后再取回押金,整套業(yè)務(wù)環(huán)節(jié)眾多、流程復(fù)雜,對(duì)于需要報(bào)銷的旅客不夠友好,十分容易產(chǎn)生各類誤解和糾紛;另外,在車票防偽方面,雖然鐵路做了大量的工作,但紙質(zhì)車票自身防偽性能較弱,也給不法分子偽造變?cè)燔嚻薄⒖雍β每?、擾亂運(yùn)輸秩序提供了可乘之機(jī)。因此,借鑒國外民航和鐵路在票制創(chuàng)新方面的成功經(jīng)驗(yàn),研究紙質(zhì)客票向電子客票轉(zhuǎn)型過程中的各項(xiàng)關(guān)鍵技術(shù)和客票系統(tǒng)在架構(gòu)層面配套的升級(jí)方案,打破紙質(zhì)車票對(duì)客運(yùn)服務(wù)質(zhì)量和服務(wù)水平提升的限制,則成為必然選擇。
電子客票概念最初出現(xiàn)在民用航空業(yè),是一種不通過紙票來實(shí)現(xiàn)客票銷售、旅客乘機(jī)以及相關(guān)服務(wù)的客票方式[1]。電子客票并不是“無票”,其實(shí)質(zhì)是普通紙質(zhì)機(jī)票的一種電子映象。目前全球各國航司均已支持電子客票,其顯著的便捷性、安全性也成為旅客選擇電子客票的重要原因。我國民航在實(shí)現(xiàn)電子客票服務(wù)后,旅客通過互聯(lián)網(wǎng)訂購機(jī)票,在機(jī)場換取登機(jī)牌后安檢登機(jī),商務(wù)旅客則通過自助打印、柜臺(tái)制取或代理商郵寄等方式,獲取行程單報(bào)銷。民航客票電子化改造后,較好地解決了紙質(zhì)機(jī)票存在的相關(guān)問題。我國民航開賬與結(jié)算計(jì)劃(Billing and Settlement Plan,BSP)電子客票系統(tǒng)于2004年建成,該系統(tǒng)建立在代理人分銷系統(tǒng)、航班控制系統(tǒng)、離港系統(tǒng)、結(jié)算系統(tǒng)和BSP 數(shù)據(jù)處理系統(tǒng)之上[2],實(shí)現(xiàn)了數(shù)據(jù)在訂票、離港、結(jié)算系統(tǒng)間的電子化流動(dòng)。系統(tǒng)初期采用大型機(jī)技術(shù),后期核心業(yè)務(wù)系統(tǒng)逐步遷移到“云計(jì)算”服務(wù)平臺(tái)上[3]。為滿足日益增長的互聯(lián)網(wǎng)售票需求,民航客票系統(tǒng)采用機(jī)器學(xué)習(xí)技術(shù)根據(jù)用戶查詢行為動(dòng)態(tài)決策緩存策略[4—5],減少直接查詢后臺(tái)主機(jī)系統(tǒng)的流量,并通過自研的數(shù)據(jù)同步機(jī)制實(shí)現(xiàn)了主機(jī)系統(tǒng)與外部開放系統(tǒng)的快速數(shù)據(jù)同步[6],降低核心系統(tǒng)負(fù)載;針對(duì)大客流條件下的高并發(fā)問題,在系統(tǒng)架構(gòu)上提出基于分階段事件驅(qū)動(dòng)架構(gòu)的服務(wù)器架構(gòu)優(yōu)化方案[7],以及動(dòng)態(tài)負(fù)載均衡策略[8],以提升系統(tǒng)的處理性能和穩(wěn)定性。在電子客票的數(shù)據(jù)結(jié)構(gòu)上,通過整合原有旅客訂單相關(guān)數(shù)據(jù)項(xiàng),重新構(gòu)建了以旅客為中心的訂單數(shù)據(jù)結(jié)構(gòu)和全新的訂單管理系統(tǒng)[9],協(xié)助提升電子客票服務(wù)效率和服務(wù)質(zhì)量。國外鐵路中,較早實(shí)現(xiàn)客票電子化的是德國鐵路,從1997年起開始建設(shè)網(wǎng)絡(luò)售票平臺(tái),2012年正式發(fā)售電子客票[10],旅客可憑購票后的電子客票二維碼檢票出行。
綜合來看,民航系統(tǒng)和國外鐵路均選擇電子客票替代紙質(zhì)票據(jù)的發(fā)展方向。國內(nèi)民航電子客票系統(tǒng)建設(shè)較早,在研發(fā)和實(shí)際應(yīng)用過程中積累了較多經(jīng)驗(yàn),具有一定借鑒作用,但我國鐵路與民航在運(yùn)輸組織模式、服務(wù)受眾,以及既有系統(tǒng)架構(gòu)等方面均存在較大差異,因此在圍繞電子客票重構(gòu)業(yè)務(wù)流程的過程中,需要走出一條適合中國鐵路自身需要的特色道路。本文基于中國鐵路旅客運(yùn)輸實(shí)際,對(duì)鐵路電子客票全面應(yīng)用的關(guān)鍵技術(shù)和系統(tǒng)實(shí)現(xiàn)方案開展研究。
鐵路電子客票是存儲(chǔ)在鐵路客票系統(tǒng)中的一種電子數(shù)據(jù),是以電子數(shù)據(jù)形式體現(xiàn)的鐵路旅客運(yùn)輸合同憑證,是傳統(tǒng)紙質(zhì)車票運(yùn)輸合同屬性的一種電子形式,承載了鐵路旅客運(yùn)輸服務(wù)所關(guān)聯(lián)的相關(guān)要素信息。其主要內(nèi)涵包括以下幾點(diǎn)。
(1)全程服務(wù)信息化。實(shí)現(xiàn)旅客從購票、進(jìn)站、候車、乘車、出站、換乘等全流程的信息化服務(wù),旅客購票后,無須換取紙質(zhì)車票,憑購票的有效身份證件,辦理進(jìn)站實(shí)名制核驗(yàn)、乘車和出站檢票、列車查驗(yàn)等手續(xù),客票系統(tǒng)根據(jù)證件信息識(shí)別證件所對(duì)應(yīng)電子客票的有效性。車票的電子化和全程服務(wù)的信息化,能有效消除旅客車票丟失、毀損和購買假票的風(fēng)險(xiǎn),徹底解決紙質(zhì)車票存在的問題。
(2)票務(wù)服務(wù)自助化。對(duì)于持可識(shí)讀購票證件如二代身份證、港澳臺(tái)居民居住證、電子護(hù)照等的旅客,無論是進(jìn)站實(shí)名制驗(yàn)證驗(yàn)票,還是檢票乘車、出站,或是獲取乘車信息、辦理車票變更和打印報(bào)銷憑證,均可通過車站設(shè)備自助辦理手續(xù);對(duì)于在12306 移動(dòng)端APP 上完成人證核驗(yàn)的旅客,可以直接使用移動(dòng)端APP 里的“檢票二維碼”檢票乘車;對(duì)于持不可識(shí)讀購票證件的旅客,也可通過半自助設(shè)備讀取購票信息單,人工核驗(yàn)證件后完成手續(xù)辦理。
(3)線上線下服務(wù)一體化。建立線上線下渠道的連通性,打通不同服務(wù)渠道間的服務(wù)壁壘,實(shí)現(xiàn)電子客票全渠道的“一處購買,處處可見”。旅客在12306 網(wǎng)售票系統(tǒng)上購買的電子客票,可以在車站窗口辦理改簽和退票;旅客在車站窗口或自動(dòng)售票機(jī)(Ticket Vending Machine,TVM)上購買的電子客票,也可以在12306 網(wǎng)售票系統(tǒng)上辦理改簽和退票。
電子客票作為鐵路旅客運(yùn)輸?shù)男滦推敝?,在重塑客運(yùn)服務(wù)流程的過程中,為提升業(yè)務(wù)辦理效率、降低系統(tǒng)復(fù)雜程度,相關(guān)業(yè)務(wù)應(yīng)盡量采用集中式的處理模式,但在集中處置的過程中,首先需要解決既有業(yè)務(wù)系統(tǒng)數(shù)據(jù)存儲(chǔ)分散、結(jié)構(gòu)不統(tǒng)一的問題;其次需要解決數(shù)據(jù)集中后在大客流、高并發(fā)條件,海量行程信息的快速查詢難題;最后需要通過新技術(shù)的引入,改變傳統(tǒng)業(yè)務(wù)辦理模式,為旅客提供更為便捷和安全的出行服務(wù)。
客票系統(tǒng)是一個(gè)集中與分布相結(jié)合的系統(tǒng),分布式架構(gòu)下不同應(yīng)用場景采用了不同類型的數(shù)據(jù)庫和文件系統(tǒng),形成多種數(shù)據(jù)庫、文件系統(tǒng)混合部署狀態(tài)[11],為此需要在多個(gè)子系統(tǒng)之間進(jìn)行數(shù)據(jù)同步,實(shí)現(xiàn)關(guān)鍵業(yè)務(wù)數(shù)據(jù)的集中存放,滿足跨渠道變更以及快速驗(yàn)檢票的需要。因此,研究設(shè)計(jì)了跨越關(guān)系型數(shù)據(jù)庫、非關(guān)系型數(shù)據(jù)庫、內(nèi)存數(shù)據(jù)庫、大數(shù)據(jù)處理平臺(tái)、分布式文件系統(tǒng)等復(fù)雜分布式環(huán)境下的異構(gòu)數(shù)據(jù)庫同步技術(shù),數(shù)據(jù)同步流程如圖1所示。圖中Sybase、PostgresSQL、Oracle 和Mysql均為客票系統(tǒng)常用的數(shù)據(jù)庫類型,針對(duì)不同數(shù)據(jù)庫的采集方法包括:Sybase 數(shù)據(jù)庫控制臺(tái)命令(Database Console Commands,DBCC)日志采集、PostgresSQL 數(shù)據(jù)庫預(yù)寫日志(Write-Ahead Logging,WAL)解析采集、Oracle數(shù)據(jù)庫改變數(shù)據(jù)捕獲(Change Data Capture,CDC)采集、MySQL數(shù)據(jù)庫二進(jìn)制(Binary)日志解析采集。采集數(shù)據(jù)由消息中間件KAFKA 負(fù)責(zé)傳輸。一般采集數(shù)據(jù)消費(fèi)程序使用通用數(shù)據(jù)庫接入驅(qū)動(dòng)(Java Database Connectivity,JDBC)接入不同數(shù)據(jù)庫。針對(duì)Oracle 數(shù)據(jù)庫,接入時(shí)使用ORACLE 調(diào)用接口程序(Oracle Call Interface,OCI)方式;針對(duì)Sybase 數(shù)據(jù)庫,通過批量載入方法(bcp 命令)實(shí)現(xiàn)批量數(shù)據(jù)導(dǎo)入;針對(duì)PostgreSQL 數(shù)據(jù)庫,通過批量載入方法(copy 命令)實(shí)現(xiàn)批量數(shù)據(jù)導(dǎo)入。數(shù)據(jù)采集、數(shù)據(jù)傳輸和數(shù)據(jù)載入服務(wù)都基于容器運(yùn)行,實(shí)現(xiàn)快速部署和高可用,其中容器使用主流開源應(yīng)用容器引擎Docker 組件,容器管理工具使用Kubernetes工具集,服務(wù)基于SpringMVC應(yīng)用框架開發(fā)。
圖1 異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步流程
分布式環(huán)境下的異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步技術(shù),將多種數(shù)據(jù)庫間的數(shù)據(jù)遷移、數(shù)據(jù)實(shí)時(shí)同步、數(shù)據(jù)定時(shí)同步、文件導(dǎo)入導(dǎo)出等操作,納入統(tǒng)一的平臺(tái)管理,實(shí)現(xiàn)一致的數(shù)據(jù)同步流程和標(biāo)準(zhǔn)的數(shù)據(jù)傳輸格式。數(shù)據(jù)同步主要包括以下3個(gè)步驟。
(1)數(shù)據(jù)采集。在采集方式上設(shè)計(jì)分為本地和遠(yuǎn)程2 種。本地方式優(yōu)點(diǎn)是速度快,但程序管理分散,需要在生產(chǎn)系統(tǒng)安裝代理;遠(yuǎn)程模式速度適中,在高可用環(huán)境下軟件配置較本地方式復(fù)雜,但程序集中管理更為簡便,對(duì)生產(chǎn)系統(tǒng)影響較小,更宜作為分布式環(huán)境下的數(shù)據(jù)采集方式。此外,采集支持全量采集模式和增量采集模式,可根據(jù)生產(chǎn)實(shí)際靈活配置線程數(shù)量、采集數(shù)據(jù)塊大小等運(yùn)行參數(shù)。
(2)數(shù)據(jù)傳輸。數(shù)據(jù)從源庫采集后,由中間件KAFKA 實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)目煽克瓦_(dá);同時(shí)為提高數(shù)據(jù)傳輸效率,在每個(gè)采集程序與傳輸中間件之間增加1 個(gè)高速緩存區(qū),在多個(gè)數(shù)據(jù)表交替操作的情況下,完成對(duì)數(shù)據(jù)的批量整理操作,實(shí)現(xiàn)數(shù)據(jù)到消息中間件特定隊(duì)列的同步傳輸。
(3)數(shù)據(jù)裝載。數(shù)據(jù)裝載主要是把源庫的數(shù)據(jù)變動(dòng)執(zhí)行到目標(biāo)數(shù)據(jù)庫中,該操作受限于操作系統(tǒng)輸入/輸出的吞吐性能和目標(biāo)數(shù)據(jù)庫的載入性能,一般是數(shù)據(jù)同步的瓶頸所在。為了提高數(shù)據(jù)裝載效率,研究采用了多項(xiàng)關(guān)鍵技術(shù),包括為每種數(shù)據(jù)庫配置不同連接方式和不同的會(huì)話級(jí)別;采用智能多線程裝載方式,根據(jù)結(jié)構(gòu)化查詢語言(Structured Query Language,SQL)類型自動(dòng)分配執(zhí)行線程,將主鍵和唯一鍵作為拆分規(guī)則,按照哈希值取模分配線程等方式進(jìn)行數(shù)據(jù)裝載,提高并行處理能力。
目前旅客出行需求向著多元化方向發(fā)展,未來在旅客的出行預(yù)訂中將出現(xiàn)越來越多的延伸服務(wù)內(nèi)容,客運(yùn)服務(wù)的多樣性也決定了核心交易數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性,為規(guī)范不同服務(wù)間的關(guān)聯(lián)關(guān)系、簡化業(yè)務(wù)辦理流程、降低系統(tǒng)綜合負(fù)載,需要以旅客為中心,圍繞旅客出行服務(wù)內(nèi)容組織數(shù)據(jù)結(jié)構(gòu),形成一個(gè)完整的旅客服務(wù)記錄(Passenger Service Record,PSR)數(shù)據(jù),支撐旅客的個(gè)性化服務(wù)需要和業(yè)務(wù)集中辦理要求。
PSR 數(shù)據(jù)獨(dú)立存儲(chǔ),其數(shù)據(jù)模型采用的橫縱結(jié)合的網(wǎng)格化存儲(chǔ)結(jié)構(gòu)如圖2 所示。橫向結(jié)構(gòu)數(shù)據(jù)以乘車人的車票為線索,每位乘車人的每張車票對(duì)應(yīng)一條數(shù)據(jù),內(nèi)含多個(gè)預(yù)設(shè)網(wǎng)格,在分布式的客票系統(tǒng)環(huán)境下,異構(gòu)數(shù)據(jù)庫間的數(shù)據(jù)同步技術(shù)將車票和延伸服務(wù)訂單中的關(guān)鍵數(shù)據(jù)同步至其中,實(shí)現(xiàn)預(yù)設(shè)網(wǎng)格內(nèi)容的填充??v向結(jié)構(gòu)數(shù)據(jù)則用于記錄每次辦理業(yè)務(wù)變更的過程信息,服務(wù)的每次變更均會(huì)產(chǎn)生一條變更記錄,而橫向結(jié)構(gòu)數(shù)據(jù)僅保留變更后業(yè)務(wù)的最終狀態(tài)。按此方式組織和管理旅客出行數(shù)據(jù),可實(shí)現(xiàn)多種出行服務(wù)關(guān)鍵數(shù)據(jù)的集中存儲(chǔ)和最終狀態(tài)的集中展示,以及業(yè)務(wù)狀態(tài)變化軌跡的回溯,配合大并發(fā)條件下的數(shù)據(jù)高速訪問技術(shù),使日均上億次的交易請(qǐng)求處理成為可能。
圖2 PSR數(shù)據(jù)橫縱結(jié)合的網(wǎng)格化存儲(chǔ)結(jié)構(gòu)
在以旅客為核心的服務(wù)過程中,旅客僅需提供證件號(hào)碼或訂單號(hào)碼,即可完成對(duì)PSR 數(shù)據(jù)的檢索,獲取票務(wù)信息和各類延伸服務(wù)信息,在辦理如車票退、簽等業(yè)務(wù)時(shí),根據(jù)PSR 數(shù)據(jù)模型中的橫向結(jié)構(gòu)數(shù)據(jù)即可快速確認(rèn)是否需要同時(shí)為旅客辦理關(guān)聯(lián)業(yè)務(wù)的變更,如乘意險(xiǎn)、訂餐、接送站等與出行信息強(qiáng)關(guān)聯(lián)的業(yè)務(wù)服務(wù),避免以輪詢方式對(duì)其他業(yè)務(wù)子系統(tǒng)發(fā)起大量無效查詢業(yè)務(wù)請(qǐng)求,簡化業(yè)務(wù)辦理流程、提升業(yè)務(wù)辦理效率、減少系統(tǒng)資源消耗。
日均千萬客流條件下的高并發(fā)數(shù)據(jù)查詢需求,使得普通的關(guān)系型數(shù)據(jù)庫無法有效支撐對(duì)海量PSR 數(shù)據(jù)的巨大訪問壓力,借鑒互聯(lián)網(wǎng)售票過程中對(duì)海量數(shù)據(jù)下訪問請(qǐng)求的處理經(jīng)驗(yàn)[12-15],研究采用非關(guān)系型數(shù)據(jù)庫、分布式存儲(chǔ)和虛擬化技術(shù)構(gòu)建PSR 集群,實(shí)現(xiàn)全渠道發(fā)售、退票、改簽、驗(yàn)票、檢票以及各類延伸服務(wù)的高效辦理。
每個(gè)PSR集群主要由數(shù)據(jù)查詢和數(shù)據(jù)存儲(chǔ)2部分組成,如圖3 所示。數(shù)據(jù)查詢采用微服務(wù)架構(gòu)(SpringCloud)解決方案,每個(gè)微服務(wù)實(shí)例均是無狀態(tài)的,獨(dú)立運(yùn)行在自己的進(jìn)程中,微服務(wù)實(shí)例間采用輕量級(jí)通信機(jī)制。數(shù)據(jù)存儲(chǔ)采用開源的分布式內(nèi)存數(shù)據(jù)庫(Remote Dictionary Server,Redis)構(gòu)建,1 個(gè)PSR 集群內(nèi)有多個(gè)Redis 集群,每個(gè)Redis集群由多個(gè)Redis 組組成,不同Redis 集群間的流量支持按百分比分配,并支持集群間的服務(wù)切換。PSR 數(shù)據(jù)按關(guān)鍵字段的哈希值分散存儲(chǔ)在不同的組內(nèi),數(shù)據(jù)查詢時(shí)根據(jù)查詢字段的哈希值從對(duì)應(yīng)的組內(nèi)查找PSR 信息。Redis 集群啟動(dòng)時(shí)將數(shù)據(jù)加載到內(nèi)存中,單次數(shù)據(jù)查詢可在1 ms 內(nèi)完成,電子客票檢票時(shí),需要對(duì)PSR 數(shù)據(jù)進(jìn)行多次訪問,總的查詢時(shí)間約在2~5 ms;為避免數(shù)據(jù)意外丟失,Redis 通過異步方式將內(nèi)存中的數(shù)據(jù)寫入硬盤,實(shí)現(xiàn)數(shù)據(jù)的持久化保存和異常發(fā)生后的數(shù)據(jù)恢復(fù)。
圖3 PSR集群結(jié)構(gòu)
鐵路人臉識(shí)別技術(shù)解決了自助實(shí)名制進(jìn)站過程中“人—證”一致性的自動(dòng)核驗(yàn)問題[16-17],在電子客票條件下為應(yīng)對(duì)鐵路復(fù)雜場景下的人臉識(shí)別難題,如閘機(jī)擺放位置導(dǎo)致攝像頭逆光、實(shí)人與證件間圖片年齡跨度過大、既有閘機(jī)硬件設(shè)備性能偏低等問題,鐵路開展了大量不同場景下的人臉識(shí)別算法研究和優(yōu)化工作[18-21],形成了一整套的人臉識(shí)別算法方案,包含客戶端輕量化的人臉檢測、人臉識(shí)別、活體檢測、人臉多屬性檢測等算法,以及可用于1∶N人臉識(shí)別場景的服務(wù)端高精度人臉識(shí)別算法(即通過人臉識(shí)別技術(shù),識(shí)別當(dāng)前人員是否在人數(shù)為N的底庫中存在)。核心人臉識(shí)別算法綜合當(dāng)前較為流行的Sphereface[22]、AM-Softmax[23]、CosFace[24]和ArcFace[25]等人臉識(shí)別領(lǐng)域的前沿算法理論,采用多種間隔距離的損失函數(shù)即式(1)對(duì)鐵路人臉識(shí)別算法進(jìn)行訓(xùn)練。在國際通用的人臉數(shù)據(jù)集(Labled Faces in the Wild, LFW)人臉識(shí)別數(shù)據(jù)集測試中,該算法可達(dá)到99.87%的準(zhǔn)確率,在鐵路標(biāo)準(zhǔn)數(shù)據(jù)集測試中,在1‰誤識(shí)率下,可達(dá)到98.10%的準(zhǔn)確率。
式中:L為損失函數(shù);N為訓(xùn)練過程中的單批次樣本個(gè)數(shù);s,a,b,c和m均為超參數(shù),即需要在訓(xùn)練過程中人工調(diào)節(jié)的參數(shù);nf為訓(xùn)練過程中人臉數(shù)據(jù)的類別數(shù);y為當(dāng)前樣本的類別;θyi為當(dāng)前樣本與標(biāo)注之間的向量夾角;θj為當(dāng)前樣本與其他樣本之間的向量夾角。
基于自主研發(fā)的人臉識(shí)別算法模型,進(jìn)一步構(gòu)建包括公用算法服務(wù)、終端管理、平臺(tái)監(jiān)控等功能的人臉識(shí)別“云”服務(wù)平臺(tái),為不同渠道各類終端的人臉識(shí)別服務(wù)賦能?!霸啤恕甭?lián)動(dòng)人臉認(rèn)別應(yīng)用結(jié)構(gòu)如圖4 所示,涵蓋“云”服務(wù)、接入前置和“端”設(shè)備3個(gè)方面。
圖4 “云—端”聯(lián)動(dòng)人臉識(shí)別應(yīng)用結(jié)構(gòu)
(1)在中國國家鐵路集團(tuán)有限公司(簡稱國鐵集團(tuán))部署鐵路人臉識(shí)別私有服務(wù)云[26],實(shí)現(xiàn)算法管理、算法訓(xùn)練、版本管理和監(jiān)控等功能。
(2)在國鐵集團(tuán)和鐵路局部署人臉識(shí)別接入前置,為線上、線下提供應(yīng)用路由、數(shù)據(jù)緩存等透明的服務(wù)接入,在新的人臉識(shí)別算法訓(xùn)練完成后,將集中優(yōu)化后的算法及時(shí)自動(dòng)下發(fā)到站內(nèi)各類終端,實(shí)現(xiàn)“云—端”聯(lián)動(dòng),保障人臉識(shí)別服務(wù)效率和準(zhǔn)確性的持續(xù)提升。
(3)在移動(dòng)終端和車站窗口、閘機(jī)等設(shè)備內(nèi)部署人臉識(shí)別終端算法驅(qū)動(dòng)軟件,為終端應(yīng)用提供標(biāo)準(zhǔn)的人臉圖像采集、特征值計(jì)算、圖像比對(duì)等接口服務(wù),具備自注冊(cè)、自更新、狀態(tài)自動(dòng)上報(bào)等特點(diǎn),實(shí)現(xiàn)人臉識(shí)別算法的統(tǒng)一監(jiān)控和管理,同時(shí)具備防止終端算法驅(qū)動(dòng)軟件被篡改、被破解的安全加固能力。
鑒于手機(jī)二維碼學(xué)習(xí)成本低、使用便捷的優(yōu)勢,鐵路將其設(shè)計(jì)成為電子客票的載體之一[27],但其表現(xiàn)形式是一張二維碼圖片,鐵路要使其能作為旅客購票后的有價(jià)票據(jù)的安全載體,并在出行各環(huán)節(jié)滿足高效、準(zhǔn)確的查驗(yàn)需求,需對(duì)其內(nèi)容進(jìn)行安全加密,并按時(shí)間要素對(duì)其樣式進(jìn)行動(dòng)態(tài)更新,解決二維碼易偽造、復(fù)制、傳播的問題。本文將經(jīng)雙子加密后按時(shí)間動(dòng)態(tài)更新的二維碼定義為電子客票識(shí)別碼。電子客票識(shí)別碼的生碼及解碼流程設(shè)計(jì)如圖5 所示。圖中:綠色方框代表電子客票識(shí)別碼子系統(tǒng)涵蓋的模塊與服務(wù);淺藍(lán)色代表客票既有的服務(wù)與應(yīng)用;深藍(lán)色代表非客票的第三方平臺(tái);橙色代表客票系統(tǒng)后臺(tái)服務(wù)。
圖5 電子客票識(shí)別碼應(yīng)用數(shù)據(jù)流向圖
電子客票識(shí)別碼的生成與識(shí)別碼信息解密實(shí)現(xiàn)方案簡述如下。
(1)在國鐵集團(tuán)客票網(wǎng)中部署電子客票識(shí)別碼子系統(tǒng),實(shí)現(xiàn)密鑰管理、密碼算法管理、終端管理與業(yè)務(wù)監(jiān)控等功能,為電子客票提供二維碼生碼服務(wù)。
(2)安全的核心在于密鑰,二維碼生碼服務(wù)采用了最高級(jí)別的雙因子加密技術(shù),每個(gè)用戶都有2 組密鑰,分別用于簽名與加密,密鑰與旅客本人的12306 賬號(hào)及設(shè)備號(hào)綁定,其中用戶私鑰加密后存儲(chǔ)于移動(dòng)設(shè)備的可信存儲(chǔ)區(qū)中,2 組密鑰根據(jù)不同的安全策略定期更新,保障加密后二維碼信息的安全性。
(3)電子客票識(shí)別碼具有時(shí)間屬性,包括動(dòng)態(tài)更新時(shí)間與平臺(tái)數(shù)據(jù)有效期。在平臺(tái)數(shù)據(jù)有效期內(nèi),移動(dòng)終端根據(jù)時(shí)間戳與安全區(qū)內(nèi)的私鑰離線定時(shí)生成二維碼,解決二維碼易截取、易復(fù)制的問題。
(4)在車站級(jí)客票系統(tǒng)中,所有可識(shí)讀二維碼的終端上,均設(shè)計(jì)配置安全模塊,安全模塊與終端進(jìn)行綁定并進(jìn)行集中授權(quán)管理,為電子客票識(shí)別碼的離線解碼提供服務(wù)。
中國鐵路客票系統(tǒng)是鐵路旅客運(yùn)輸和服務(wù)的核心支撐平臺(tái),原鐵道部自1997年起,開始組織研發(fā)和試點(diǎn)計(jì)算機(jī)售票,經(jīng)歷6 個(gè)主要階段的發(fā)展,分別實(shí)現(xiàn)了站內(nèi)售票由手工作業(yè)向計(jì)算機(jī)作業(yè)的轉(zhuǎn)變、鐵路局內(nèi)聯(lián)網(wǎng)售票、全國聯(lián)網(wǎng)售票、鐵路對(duì)列車席位集中管理和售票組織策略自動(dòng)調(diào)整,以及滿足客運(yùn)營銷、財(cái)務(wù)清算等方面的發(fā)展需求,實(shí)現(xiàn)了鐵路售票業(yè)務(wù)的數(shù)字化提升。經(jīng)過前5個(gè)版本的迭代發(fā)展,一個(gè)覆蓋全國車站的聯(lián)網(wǎng)售票系統(tǒng)初步建成,系統(tǒng)主要部署于鐵道部、路局及車站[28—29],通過車站窗口、TVM 和代售點(diǎn)等線下渠道為旅客提供服務(wù)。
2011年為進(jìn)一步解決旅客購票難的問題,滿足鐵路客運(yùn)快速發(fā)展的需求,客票系統(tǒng)進(jìn)一步拓展服務(wù)渠道,研發(fā)并上線了12306 網(wǎng)售票系統(tǒng),互聯(lián)網(wǎng)電子客票首次服務(wù)旅客,部分高鐵線路實(shí)現(xiàn)了互聯(lián)網(wǎng)購票旅客在不換票的條件下使用電子客票乘車出行,目前12306 網(wǎng)售票系統(tǒng)主要部署于客票第一和第二生產(chǎn)中心。為實(shí)現(xiàn)電子客票在旅客出行全環(huán)節(jié)過程中的全面應(yīng)用,滿足各項(xiàng)關(guān)鍵技術(shù)實(shí)際應(yīng)用要求,需要對(duì)客票系統(tǒng)架構(gòu)進(jìn)行升級(jí)。
升級(jí)后的系統(tǒng)架構(gòu)需要滿足兼容、規(guī)模、質(zhì)量3大核心要求。
(1)兼容要求。12306 網(wǎng)售票系統(tǒng)線上渠道已開展電子客票的銷售、變更、延伸服務(wù)預(yù)訂等多種服務(wù),年平均售票量占比超總售票量的80%。近5年中國鐵路線上、線下渠道銷售車票情況見表1,從表1 數(shù)據(jù)可以看到,雖然線下渠道售票比例逐年降低,但售票總量及與其對(duì)應(yīng)的旅客人數(shù)依然保有較大規(guī)模。架構(gòu)升級(jí)方案應(yīng)首先滿足線下渠道售票、退票、變更、驗(yàn)票和檢票等基礎(chǔ)服務(wù)從基于紙質(zhì)客票向電子客票轉(zhuǎn)變后的兼容性,最大程度降低對(duì)旅客出行和車站工作人員辦理業(yè)務(wù)時(shí)的影響;保障不同渠道間發(fā)售電子客票的兼容性,消除不同售票渠道間的服務(wù)隔閡,滿足電子客票全渠道發(fā)售和跨渠道變更的需要,減少旅客往返車站辦理業(yè)務(wù)的次數(shù)。
表1 近5年中國鐵路線上、線下渠道銷售車票數(shù)量變化情況
(2)規(guī)模要求。2018年鐵路年售票總量首次超過40 億張,且目前仍以年增長10%以上的速率發(fā)展(2020年受疫情影響除外),因此,架構(gòu)升級(jí)設(shè)計(jì)方案應(yīng)可滿足未來5 到10年間基本票務(wù)服務(wù)(發(fā)售、變更、驗(yàn)票和檢票等)的需要,并支持橫向擴(kuò)展提升服務(wù)能力,滿足客運(yùn)規(guī)模不斷擴(kuò)大的需要。
(3)質(zhì)量要求。在電子客票數(shù)據(jù)集中存儲(chǔ)和業(yè)務(wù)集中處置后,客票系統(tǒng)應(yīng)具有極高的服務(wù)質(zhì)量,并滿足執(zhí)行高效、服務(wù)穩(wěn)定的質(zhì)量要求,部分核心環(huán)節(jié)應(yīng)具備完善的應(yīng)急處置手段。
客票系統(tǒng)架構(gòu)的升級(jí)研究工作,主要圍繞電子客票在實(shí)現(xiàn)全渠道發(fā)售、跨渠道變更、高效驗(yàn)檢票,以及新型載體應(yīng)用過程中各項(xiàng)關(guān)鍵技術(shù)的應(yīng)用部署而展開??推毕到y(tǒng)的架構(gòu)升級(jí)方案如圖6所示。
圖6 升級(jí)后的客票系統(tǒng)架構(gòu)
在客票系統(tǒng)既有架構(gòu)[30]的基礎(chǔ)上,客票系統(tǒng)架構(gòu)升級(jí)的核心部分位于12306 網(wǎng)售票系統(tǒng)和路局級(jí)客票系統(tǒng)內(nèi),用于存儲(chǔ)線上、線下全渠道發(fā)售的電子客票數(shù)據(jù),并為旅客購票后的驗(yàn)檢票出行和變更業(yè)務(wù)辦理提供數(shù)據(jù)服務(wù)。系統(tǒng)架構(gòu)升級(jí)包括如下內(nèi)容。
(1)雙中心部署。為確保電子客票服務(wù)的高可用性,相關(guān)設(shè)備部署在既有客票系統(tǒng)的同城雙中心內(nèi),中心間采用專線進(jìn)行高速數(shù)據(jù)同步,每個(gè)中心內(nèi)均有完整的電子客票數(shù)據(jù),可在一個(gè)中心出現(xiàn)故障后另一個(gè)中心承擔(dān)全部業(yè)務(wù),實(shí)現(xiàn)數(shù)據(jù)級(jí)的容災(zāi)。
(2)構(gòu)建全路集中的電子客票集群。新建線下電子客票集群存儲(chǔ)車站窗口、TVM 等線下渠道發(fā)售的電子客票數(shù)據(jù),將原本分散存儲(chǔ)于車站或路局服務(wù)器內(nèi)的數(shù)據(jù)進(jìn)行集中保存,集群采用一致性哈希算法,將不同車站、不同窗口/TVM 發(fā)售的車票數(shù)據(jù)均勻分散存儲(chǔ)在集群中的不同節(jié)點(diǎn)內(nèi),均衡不同服務(wù)節(jié)點(diǎn)間的壓力,防止單一節(jié)點(diǎn)發(fā)生過載問題。線下電子客票集群與原有用于存儲(chǔ)12306 網(wǎng)售票系統(tǒng)發(fā)售電子客票數(shù)據(jù)的線上電子客票集群,共同組成全路電子客票集群,集中存儲(chǔ)全渠道發(fā)售的所有電子客票數(shù)據(jù),為電子客票的跨渠道變更提供了數(shù)據(jù)支撐,也為線上線下服務(wù)的一體化奠定了基礎(chǔ)。
(3)新建PSR 集群。PSR 集群集中存儲(chǔ)旅客行程的關(guān)鍵信息,通過SpringCloud 微服務(wù)架構(gòu)與Redis 數(shù)據(jù)庫的綜合運(yùn)用,實(shí)現(xiàn)海量數(shù)據(jù)下的高效查詢。隨著數(shù)據(jù)存儲(chǔ)量和用戶訪問量的增長,PSR集群還可通過橫向擴(kuò)展不斷滿足未來業(yè)務(wù)發(fā)展的需要。
(4)新建人臉比對(duì)集群。提供“云—端”聯(lián)動(dòng)的人臉識(shí)別服務(wù),以及多種終端統(tǒng)一接入、統(tǒng)一認(rèn)證、統(tǒng)一管控的管理模式,確保旅客在不同渠道內(nèi)均可基于統(tǒng)一的人臉識(shí)別算法安全地開展身份認(rèn)證和自助服務(wù),為全業(yè)務(wù)自助辦理提供技術(shù)支撐和安全保障。
(5)新建電子客票識(shí)別碼集群。為全渠道提供電子客票識(shí)別碼的生碼和在線解碼服務(wù),保障二維碼的通用性和安全性。
(6)新建電子客票報(bào)銷憑證集群。提供鐵路客票電子報(bào)銷憑證的生成和下載功能,滿足旅客出行后自行打印報(bào)銷憑證的需要。系統(tǒng)建設(shè)初期暫時(shí)采用既有票紙為旅客打印紙質(zhì)報(bào)銷憑證。
(7)升級(jí)鐵路局級(jí)客票系統(tǒng)。增設(shè)人臉比對(duì)接口服務(wù)器,為局管內(nèi)實(shí)名制核驗(yàn)閘機(jī)提供最新人臉識(shí)別算法的更新服務(wù)。
(8)升級(jí)改造車站和列車客票相關(guān)系統(tǒng)。增設(shè)人臉識(shí)別實(shí)名制驗(yàn)證閘機(jī),改造窗口和自動(dòng)售票設(shè)備,更新站內(nèi)售票、退票、改簽、實(shí)名制核驗(yàn)、檢票等各類終端軟件,支持電子客票的發(fā)售、變更、驗(yàn)檢等功能;升級(jí)站車無線交互終端軟件,實(shí)現(xiàn)列車上的電子客票查驗(yàn)。
2018年底,國鐵集團(tuán)組織在海南環(huán)島高鐵率先開展了電子客票試點(diǎn)工作,對(duì)電子客票的各項(xiàng)關(guān)鍵技術(shù)開展驗(yàn)證,并取得良好的試點(diǎn)成效;2019年,客票系統(tǒng)完成架構(gòu)升級(jí)工作,為后續(xù)全路電子客票的大規(guī)模推廣和應(yīng)用提供了有力的支撐;到2020年春運(yùn)前,全路高鐵和動(dòng)車組列車停靠站實(shí)現(xiàn)了電子客票的全面應(yīng)用;2020年6月,全國普速列車??空就瓿呻娮涌推钡耐茝V工作,中國鐵路旅客客車車票票制也全部完成了從紙質(zhì)車票向電子客票的轉(zhuǎn)變。
目前,全路3 000 余座客運(yùn)車站均已支持旅客使用電子客票乘車出行,這在為旅客帶來無紙化、智能化出行服務(wù)的同時(shí),也提升了鐵路客運(yùn)生產(chǎn)組織效率,降低了生產(chǎn)經(jīng)營成本,旅客通過閘機(jī)的時(shí)間由之前的3.8 s · 人-1,降低至1.3 s · 人-1;2020年全國累計(jì)發(fā)售電子客票23.37億張,節(jié)約票紙使用18.05 億張;設(shè)備的采購和維護(hù)成本也因紙質(zhì)車票處理模塊的取消得以大幅降低。在實(shí)現(xiàn)各渠道間電子客票的互退互簽后,大量旅客選擇通過網(wǎng)絡(luò)自助辦理車票退簽業(yè)務(wù)。近5年中國鐵路線上、線下渠道車票退簽車票數(shù)量變化趨勢見表2。由表2 可以看出,線下渠道退簽業(yè)務(wù)量占比從高峰期的29.56%大幅下降至12.40%,在縮短旅客排隊(duì)等待時(shí)間的同時(shí),極大降低了鐵路人工窗口的業(yè)務(wù)辦理壓力。
電子客票的全面推廣應(yīng)用是中國鐵路客運(yùn)服務(wù)的一項(xiàng)龐大的基礎(chǔ)性工程,是推動(dòng)鐵路智能客運(yùn)發(fā)展的核心組成部分,既關(guān)系到千萬旅客的出行感受,又關(guān)系到鐵路現(xiàn)代化客運(yùn)服務(wù)體系的建設(shè)。通過對(duì)電子客票各項(xiàng)關(guān)鍵技術(shù)的研究和客票系統(tǒng)架構(gòu)的升級(jí),實(shí)現(xiàn)了紙質(zhì)車票運(yùn)輸合同憑證、乘車憑證、報(bào)銷憑證三大屬性的有效分離,在徹底解決紙質(zhì)車票既有問題的同時(shí),大幅提升了旅客出行的獲得感和幸福感,實(shí)現(xiàn)了鐵路客運(yùn)生產(chǎn)組織和客運(yùn)服務(wù)流程的全面優(yōu)化與重構(gòu),是鐵路踐行“交通強(qiáng)國、鐵路先行”的一大舉措,也是鐵路企業(yè)向信息化、智能化發(fā)展的一大標(biāo)志,在鐵路客運(yùn)服務(wù)的發(fā)展史上具有深遠(yuǎn)意義。