李 政,化小剛,蘇建飛
(中鐵程科技有限責任公司,北京 100081)
鐵路檢票系統二代居民身份證檢票研究與實現
李 政,化小剛,蘇建飛
(中鐵程科技有限責任公司,北京 100081)
隨著高速鐵路的發展,越來越多旅客使用二代居民身份證(用二代居民身份證購買的票被稱為“電子票”)檢票進站,針對電子票檢票,將詳細闡述以下幾個問題:客票數據庫電子票怎么到檢票庫;閘機如何檢電子票;退票或者自動機取票后控制權的轉移;考慮網絡故障情況下,電子票檢票原則;系統如何解決鐵路局大集中時身份證檢票的效率;12306網售電子票的止售時間縮短到30 min,如何把電子票在2 min中內從客票數據庫下載到檢票數據庫。
檢票系統;電子票檢票;二代證檢票
隨著高速鐵路的發展,在閘機上直接刷二代居民身份證(簡稱:二代證)檢票的需求越來越多,特別是二代證實名制購票為二代證檢票帶來極大便利。鐵路總公司從2011年開始研究開發二代證檢票功能,在京滬線上首次試用,隨后在廣州鐵路局、南昌鐵路局、武漢鐵路局等地推廣使用。
旅客從12306網站使用二代證實名購票,在閘機上刷二代證過閘機,閘機驗證日期、車次、二代證的有效性確定是否放行旅客。在12306網站購票后將旅客的相關信息記錄在鐵路總公司的電子票數據庫,用二代證購買的票被稱為“電子票”,旅客可以在自動售票機或者窗口直接換票,也可以直接在閘機上刷二代證檢票。為了保證電子票數據庫的安全和閘機檢電子票的實時性和效率,采用中間接口隔離電子票數據庫和鐵路局(大站)的檢票庫,接口將電子票準時高效地下載到檢票數據庫,閘機通過查詢檢票數據庫完成檢票任務,并將檢票結果分別通知檢票數據庫和電子票數據庫。
1.1 電子票業務流程
在列車開檢前約定的時間內,檢票系統通過鐵路客票系統接口服務(TRSIS)獲取電子票控制權到檢票庫。當列車開檢后,旅客在閘機上刷身份證,閘機系統將二代證信息發送給自動檢票系統,自動檢票系統在本地的電子票庫中進行查找該電子票,找到后由檢票系統通知閘機,閘機開門放行旅客。然后閘機再次通知檢票系統,改寫檢票數據庫中該電子票的記錄為已檢,防止身份證二次作業。同時,通過TRSIS服務標記電子票數據庫該電子票已檢,保證二代證完整的交易流程。如果旅客網上購票后退改簽或者換票,客票系統通過連接交易管理服務(CTMS)從檢票系統收回電子票控制權。電子業務流程如圖1所示。

圖1 電子票業務流程圖
1.2 電子票業務要求
部分鐵路局代管數十個站的檢票服務,每個時刻都有大量的列車檢票,特別現在互聯網售出的票越來越多,如何合理高效的下載電子票是必須要考慮的問題。既要保證數據及時下載,也要考慮到盡量減少冗余的數據,同時要考慮鐵路局或者大站出現網絡故障不能正常下載電子票的情況,所以針對上述問題制定了下載電子票的規則。
電子票分下載進站、出站電子票,進站電子票分為預取電子票和獲得控制權電子票。
預取電子票是為了防止在網絡出現異常后,控制權數據沒有獲得,可以用預取的數據做應急檢票這一需求設計的。規則定義發車前2 h第1次下載,然后每隔30 min獲取1次,在發車前1 h內每隔15 min下載1次,直到開車前30 min開始下載控制權數據,不再下載預取數據了。
獲取控制權電子票是在發車前30 min開始第1次下載,并且檢查該車次該站是否止售。如果第1次沒有獲得控制權數據,每隔2 min再次申請下載電子票數據,直到第1次獲得電子票數據。在列車開始檢票前2 min增量下載電子票控制權數據,以后每隔2 min增量下載,直到列車開車前10 min停止下載。獲取控制權數據后,預取的數據將標記為無效數據。
出站電子票發車前2 h 第1次下載,每隔30 min獲取1次,在發車前1 h內每隔15 min下載1次。如果多個站在一臺檢票服務器上代管,出站電子票只保留一個站,旅客持電子票可提前下車出站。
以上涉及到的具體時間在檢票系統里可以修改,以上數據也是經過線上運行經驗總結的參數。
1.3 電子票控制權轉移
電子票控制權在列車開檢前下載到檢票數據庫,那么旅客在網上、窗口做退、改、簽,在自動售票設備上換票都要從檢票庫里回收控制權。電子票的控制權狀態的轉移涉及到退改簽、換票、檢票,所以電子票的控制權轉移是電子票非常重要的環節。
檢票系統通過新一代交易接口服務(NGTIS)或TRSIS向客票系統發起獲取電子票的控制權限請求,客票系統根據電子票規則,將符合控制權規則的結果集提交給檢票系統。客票系統根據退改簽、換票業務需求,通過接口服務CTMS向檢票系統提出收回控制權請求。閘機檢票后檢票系統提交電子票狀態,在檢票庫標記電子票狀態。
2.1 高效電子票系統技術研究
電子票庫多達13個節點,電子票按一定規則均勻分在每個節點上,設置一個TRSIS與每個電子票庫節點對應,對檢票系統提供統一的下載服務。TRSIS設置節點命令組,實現對各個電子票數據庫的訪問。檢票系統需要輪巡節點命令組號(例如:進站檢票獲取電子票數據0x22 0x32 0x42 0x52 0x62…,),向TRSIS請求電子票數據,以獲得完整的車次電子票信息,獲取電子票控制權;電子票數據接口對電子票數據增加節點與庫名標識字段,檢票系統根據節點與庫名標識向指定TRSIS發通知,實現檢票狀態同步以及檢票系統下載狀態消息通知。客票系統通過CTMS服務,根據電子票的節點信息導向到相應的檢票庫,收回電子票控制權。鐵路局與大站檢票服務節點,統一定義,保證CTMS可以定位檢票庫。電子票邏輯結構如圖2所示。
2.2 電子票服務程序部署
每個鐵路局部署一個或者多個TRSIS程序,負責本路局所轄的電子票下載;每個局中心或者獨立大站部署一個或者多個NGTIS程序負責和TRSIS通信下載電子票到檢票數據庫。

圖2 電子票邏輯結構圖
NGTIS程序根據檢票數據庫的輸出車次,定時向TRSIS申請下載電子票,TRSIS從電子票數據庫讀取數據后返給NGTIS,然后NGTIS寫到檢票數據庫里。
根據客票庫多節點特征,檢票系統按照站碼,車次,節點為下載電子票的條件,這樣某個站、車次、節點取到電子票后在一定時間內不再重復請求,這樣減少數據冗余,提高網絡性能,保證了程序的高效。
考慮到控制權數據的時效性,程序在設計上區分預取電子票、獲取控制權、下載出站電子票,不同類型采用不同的下載周期。程序設定電子票隊列多級優先級,處理線程池優先處理高優先隊列。保證控制權對列的優先級最高,在2 min內完成電子票數據的下載,而預取和出站數據依次降低優先級并延長下載周期。
2.3 電子票檢票過程
(1)使用二代證通過閘機時,閘機提供車次、乘車日期、站內碼、閘機編號和二代證號碼向自動交易管理服務(ATMS)發起客票查詢申請;(2)ATMS服務程序查詢檢票數據庫,將查詢結果返回給閘機;(3)閘機根據收到的電子票信息判斷是否開門,如果開門閘機通知ATMS在檢票庫做標記;(4)閘機開門后,ATMS將電子檢票標記通知NGTIS程序;(5)NGTIS通知TRSIS程序在客票數據庫做檢票標記。
閘機和ATMS通信采用半長連接的Socket通信模式,采用統一的消息傳輸機制,在進行數據交互前需要對設備進行校驗,保證數據的一致和安全。NGTIS和TRSIS采用Socket短連接,NGTIS首先獲得TRSIS的OperID來驗證服務的合法性,每次NGTIS的請求將以此OperID作為有效標示。OperID動態生成,有時效性。
2.4 閘機檢電子票的工作原理
AG為自動檢票閘機,刷二代證檢票主要在AG與ATMS之間通信進行;NGTIS是ATMS與TRSIS之間的數據通信接口。對二代證檢票業務來說,NGTIS向檢票系統提供實時的電子票更新信息;哈希(Hash)表為電子票在檢票系統中的內存數據,內容與數據庫中一致;檢票庫中擁有電子客票所有信息。電子票信息、檢票狀態標志的更新均會同步到檢票庫中。電子票檢票原理如圖3所示。

圖3 電子票檢票原理圖
2.4.1 自動檢票機功能結構
自動檢票機功能結構如圖4所示。

圖4 自動檢票機功能結構圖
2.4.2 運行參數接收模塊
該模塊負責接收從自動檢票系統服務器下達的自動檢票機運行參數。自動檢票機運行參數包括:允許通過的票種;需要進行告警提示的票種;允許通過的席別;檢票數據保存周期;自動檢票機編碼;自動檢票機所屬車站編碼(站內碼)。
自動檢票機在開機啟動時,該模塊:(1)查詢自動檢票系統服務器是否有新的運行參數未下載,如果有,則下載該參數。該功能屬于運行參數接收模塊主動從自動檢票系統服務器獲取數據的情況。(2)進入偵聽狀態,等候自動檢票系統服務器下傳數據。通過該功能,自動檢票系統服務器可隨時主動向自動檢票機下傳新的運行參數。
2.4.3 時鐘同步客戶端模塊
該模塊負責與自動檢票系統服務器進行本地時間校對,采用網絡時間協議(NTP)完成。
2.4.4 檢票日計劃接收模塊
該模塊負責從自動檢票系統服務器接收新的檢票日計劃。檢票日計劃的具體內容如下:計劃類型、車次、乘車日期、檢票日期、開檢時間、停檢時間、車次停靠站、相對運行天數。
自動檢票機在開機啟動時,該模塊:(1)查詢自動檢票系統服務器是否有新的檢票日計劃未下載,如果有,則下載該檢票日計劃。該模塊屬于檢票日計劃接收模塊主動從自動檢票系統服務器獲取數據情況。(2)進入偵聽狀態,等候自動檢票系統服務器下傳數據。通過該功能,自動檢票系統服務器可隨時主動向自動檢票機下傳新的檢票日計劃。
2.4.5 進/出站檢票模塊
根據檢票日計劃檢查電子票的有效性,如果通過,則在檢票數據庫中寫入檢票標志。
進站/出站電子票檢票模塊,進站需要單獨判斷控制權,出站不需要判斷控制權,其他處理一致。
2.4.6 控制命令接收模塊
從自動檢票系統服務器接收控制命令,然后根據控制命令進行相應的動作,包括緊急模式、維修模式、暫停檢票、軟關閉自動檢票機等功能。
2.4.7 設備狀態信息采集模塊
采集自動檢票機各個模塊的狀態信息并上傳到自動檢票系統服務器,包括磁讀寫模塊、通行控制模塊、通行檢測模塊等。
2.4.8 軟件升級模塊
當自動檢票系統服務器需要對自動檢票機進行軟件升級時,自動檢票機首先判斷自動檢票系統服務器傳來的版本號,如果比自動檢票機現有的軟件版本高,則接收從自動檢票系統服務器傳來的最新程序,并在系統空閑或在收到升級命令時替換舊程序。
2.4.9 數據結構
電子客票采用二級Hash表。
第1級Hash表存儲開檢的各個車次,Hash沖突采用鏈表形式處理。
第2級Hash表存儲各車次下面的所有電子客票,Hash沖突同樣采用鏈表形式處理。
以滬寧線28個站,車上座位為1 000為例,最壞情況下該趟列車的電子客票數為28 000。通過Hash表查詢效率可以比鏈表結構提高100倍以上。
Hash計算函數采用Times33。該算法比較簡單高效,實測情況下,2 999條數據,沖突不超過7,且各個bucket分布比較均勻。
目前,已有16個鐵路局開通電子票檢票功能,其中,上海鐵路局電子票日均檢票量為5萬3千多張、廣鐵集團日均檢票量為4.9萬多張、南昌鐵路局日均檢票量為4.7萬多張,全路日均檢票量約35萬多張。
使用二代證檢票是既方便又經濟的出行方式,電子票未來可能完全代替紙質票。使用電子票可以減少紙質票成本,減少車站窗口售票壓力,也可以降低購買閘機成本,為各鐵路局降低了營運成本,提高了運行效率。同時也節約了旅客時間,改善旅客的出行體驗。改進和完善二代證檢票系統的功能,提高二代證檢票效率,加強二代證檢票的安全,更加合理地規劃電子票系統的架構是我們進一步研究的方向和實現的目標。
[1]朱建生.新一代客票系統總體技術方案的研究[J].鐵路計算機應用,2012,21(6).
[2]劉 琳,吳國英,劉小杰,等.第二代居民身份證閱讀器原理和應用 [J].警察技術,2004(5):30-32.
[3]王 成,史天運,蔣秋華.基于RFID技術的高速鐵路自動檢票系統研發[C].深圳:第五屆中國智能交通年會優秀論文集,2009:266-273.
責任編輯 徐侃春
Second-generation ID Card checking technology in Railway Fare Collection System
LI Zheng,HUA Xiaogang,SU Jianfei
( China Rails Travel Technology,Co.Ltd.,Beijing 100081,China)
With the rapid development of High-speed Railway,more and more passengers use the e-ticket(ticket brought with Second-generation ID Card was called e-ticket) to check into the railway station.This article introduced the following aspects of e-ticket checking:how to transfer the e-ticket from electronic ticket database to Automatic Fare Collection(AFC) System,how to check e-ticket,how to transfer the control state when ticket is refunded in 12306 Website or printed from TVM,the e-ticket checking rules in the case of network failure,how to keep checking effciency with the centralized deployment in railway administration,how to download the e-ticket into AFC System in 2 minutes because the time of stopping the e-ticket is shortened to 30 minutes in 12306 Website.
Automatic Fare Collection(AFC) System;e-ticket checking;Second-generation ID Card checking
U293.2∶TP39
A
1005-8451(2016)02-0020-04
2015-06-09
李 政,工程師;化小剛,工程師。