張健生 劉偉航



摘? 要:在目前的軌道交通自動售檢票系統運營中,對車票的管理是地鐵運營的痛點之一,二維碼車票的引入,能極大地改善對車票的管理,提升運營滿意度。文章重點研究了AFC系統中,二維碼車票在自動檢票機上的應用,將自動檢票機對二維碼車票的處理分為二維碼車票數據識別、二維碼車票本地校驗、二維碼車票在線驗證三個環節,對每個環節的流程展開說明,并對三個環節在流程處理上提出優化意見。
關鍵詞:二維碼車票;自動檢票機;自動售檢票系統
中圖分類號:TP391;U293.2+2? ? ? 文獻標識碼:A 文章編號:2096-4706(2020)20-0172-03
Application of Quick Response Code Ticket in Automatic Gate Machine
ZHANG Jiansheng,LIU Weihang
(Guangzhou GRG Intelligent Technology Solution Co.,Ltd.,Guangzhou? 510663,China)
Abstract:In the current AFC system operation,ticket management is one of the pain points of metro operation,the introduction of QR code tickets can greatly improve the management of tickets and improve operational satisfaction. This paper focuses on the AFC system,QR code ticket use in automatic ticket checking machine,the processing of the QR code ticket by the AGM is divided into QR Code ticket data recognition,QR Code ticket local verification,QR Code ticket online verification three parts,and the flow of each link is described,and puts forward some suggestions on the process of the three links.
Keywords:QR code ticket;automatic gate machine;AFC system
0? 引? 言
在軌道交通自動售檢票系統(AFC系統)中,自動檢票機主要負責對乘客車票的有效性進行判斷,在車票符合規則的情況下,自動檢票機開啟扇門允許乘客通過,并在乘客顯示屏顯示車票相關信息。目前在AFC系統中常用的傳統車票類型有儲值卡、單程票。在使用過程中,單程票具有容易丟失、收機困難等缺點,儲值卡具有需要預儲值、易損壞等缺點。隨著互聯網技術的發展,在AFC系統中,引入二維碼車票作為車票媒介,對提升地鐵服務及提高乘客滿意度有重大意義。
為滿足軌道交通行業對二維碼車票的引入需求,研究支持二維碼車票的自動檢票機具有重要意義。一方面二維碼車票可以減輕現場運營人員夜間對車票的管理工作,另一方面在軌道交通中支持二維碼車票,乘客無須在車站內買票,減少了乘客的排隊購票時間,可以有效提升乘客出行的體驗。為滿足軌道交通行業對于二維碼車票的支持,研究支持二維碼車票的自動檢票機有著重大的現實意義。
本文重點研究二維碼車票在自動檢票機上的應用。自動檢票機對二維碼車票的處理主要分為二維碼識別、二維碼本地校驗、二維碼在線驗證三個環節,每個環節的可靠性是二維碼車票正常使用的基本保障。
1? 自動檢票機軟件概述
自動檢票機軟件一般采用多層軟件設計,依次分為界面展示層、綜合控制層、聯網控制層、硬件驅動層。界面展示層主要負責顯示待機界面、乘客車票信息、操作員后維護操作等頁面的顯示;綜合控制層負責對閘機整機軟件業務邏輯的調度,包括閘機硬件模塊的調度、閘機整機業務功能的控制等功能;聯網控制層主要負責對接外部服務器,包括車站服務器、二維碼車票服務器、日志服務器等平臺;硬件驅動層主要負責按照閘機軟件接口,對各硬件模塊特定的串口協議進行封裝。閘機軟件總體框圖如圖1所示。
自動檢票機界面展示層采用HTML5+CSS+JavaScript開發,采用獨立進程模式,與業務控制層之間采用WebSocket方式通信。界面展示層主要頁面分為待機界面、乘客車票信息、操作員后維護操作等頁面。待機頁面是指在沒有人操作的情況下,自動檢票機根據當前狀態顯示的頁面,內容包括:自動檢票機工作模式、各硬件模塊狀態、網絡狀態、車票票箱狀態等信息。并根據實際情況,在頁面上展示自動檢票機整機狀態;乘客車票信息頁面是指在乘客刷卡時,將乘客的票卡信息顯示在界面上,在車票有效的情況下,顯示車票余額及扣費金額,在車票無效的情況下,顯示車票錯誤信息及提醒乘客進行相關操作;操作員后維護頁面主要給操作人員提供日常操作功能以及在自動檢票機硬件、軟件故障時,提供給維修員當前故障信息,并提供故障解決方法。閘機待機界面及暫停服務頁面如圖2、圖3所示。
自動檢票機綜合控制層采用C++語言開發,主要分為模式轉換、硬件模塊調度、與界面展示層通信等工作。模式轉換功能是根據自動檢票機當前各硬件、軟件模塊狀態信息,進行相應的模式轉化,并控制界面展示層進入相應的待機界面,例如在扇門模塊故障的情況下,自動檢票機自動轉入暫停服務模式,并控制待機頁面顯示暫停服務及當前錯誤信息;硬件模塊調度主要是指業務邏輯層對自動檢票機各硬件模塊進行調度,通過控制各硬件模塊驅動,達到控制硬件模塊的目的,例如在完成有效票檢票后,綜合控制層調度扇門驅動進執行打開扇門操作,同時調度聲音模塊播放提示音并通知界面展示層顯示車票信息。
聯網控制層主要負責與外部系統進行通信,一般采用Socket協議與各外部服務器之間進行通信。與車站服務器通信主要工作是上報自動檢票機狀態、上傳交易數據、接收來自車站服務器的控制命令以及車站內服務器參數版本管理的工作。與車票服務器的通信主要是為了二維碼等電子票在線驗證時,負責在線檢票等工作,并維護與車票服務器的心跳,在心跳不正常時,禁用二維碼車票功能。與日志服務器通信主要是為了方便線網中心收集自動檢票機的日志。日志分為設備日志、收益日志、審計日志三類,在每天自動檢票機運營結束后,自動檢票機通過FTP方式,將日志自動上傳至日志服務器。
硬件驅動層主要負責對各硬件模塊的串口通信協議封裝,稱為動態庫供綜合控制層調度。自動檢票機每個硬件模塊使用不同的串口協議,不同硬件模塊廠家之間,串口協議也不相同,為了使綜合控制層軟件適配多家生產商的硬件模塊,對各硬件模塊串口協議進行封裝,為綜合控制層提供同樣的接口方便調用。
2? 二維碼車票數據識別
自動檢票機處理二維碼車票的第一個環節是通過二維碼識別模塊,獲取二維碼信息。通過技術手段,保證二維碼數據的準確性,是自動檢票機處理二維碼車票的前提條件。目前,自動檢票機與二維碼模塊一般通過串口方式進行通信。自動檢票機在獲取二維碼模塊數據時,需要使用串口通信協議,對二維碼模塊數據進行校驗,一般二維碼模塊通信數據格式為:起始符→數據長度→數據內容→結尾符。
自動檢票機需要定時對二維碼模塊數據進行輪詢判斷,當二維碼數據符合協議規則時,需要將二維碼數據取出,進行下一步驟的操作,自動檢票機獲取二維碼數據流程圖如圖4所示。
3? 二維碼車票本地校驗
二維碼車票服務器生成二維碼數據時,按照加密協議對二維碼車票原始數據進行加密處理。因此,自動檢票機從二維碼模塊獲取數據后,需要對數據內容進行解密處理。二維碼車票數據內容根據實際情況可能包含不同信息。一般包含二維碼車票類型、車票發卡方、行業數據、車票狀態等信息。二維碼車票校驗流程如圖5所示。
在對二維碼車票進行校驗時,按照檢查車票數據校驗是否合法、檢查車票類型是否合法、檢查車票狀態是否合法的順序對車票進行校驗,對于不符合車票規則的數據,自動檢票機按照無效二維碼車票處理,提醒乘客使用正確二維碼車票。對符合規則的二維碼車票,自動檢票機對二維碼車票的數據、類型、狀態進行校驗,通過校驗的車票,自動檢票機將對車票進行驗證處理。
4? 二維碼在線驗證
對滿足二維碼車票設計規則的車票,自動檢票機將進入二維碼車票驗證的環節,將二維碼車票數據內容發送至二維碼車票服務器進行校驗。自動檢票機與二維碼車票服務器之間,通常采用HTTPS傳輸協議,使用JSON數據交換格式。自動檢票機與二維碼車票服務器之間協議通常包含設備編號、時間戳、進出站標識、二維碼車票數據內容等信息。二維碼車票服務器在接收到自動檢票機驗票請求后,對乘客二維碼車票數據及乘客信息進行分析,對符合條件的二維碼車票,返回驗票成功的消息。自動檢票機在接收驗證成功信息后,自動打開扇門并在界面上顯示車票信息。自動檢票機二維碼車票驗證流程如圖6所示。
5? 二維碼車票測試
二維碼車票識別、二維碼車票本地校驗、二維碼車票在線驗證流程開發完成以后,將二維碼功能與傳統自動檢票機軟件集成,形成支持二維碼車票的自動檢票機,并在實驗室環境下組織對支持二維碼車票的自動檢票機進行1 000筆二維碼交易壓力測試,并與傳統車票測試數據進行對比,實驗室測試數據如表1所示。
在表1中可以看出在,實驗室測試環境下,二維碼車票檢票時間加上自動檢票機其他模塊的耗時,平均總耗時為340 ms,傳統車票的耗時為670 ms,在使用二維碼車票的情況下,自動檢票機的處理時間幾乎縮短了一半,這對大客流車站提升乘客通行效率有著重大意義。
6? 結? 論
本文根據實踐經驗對二維碼車票在自動檢票機上的應用進行總結,按照二維碼車票處理流程,將二維碼車票處理分為二維碼識別、二維碼校驗、二維碼驗證三個環節。在每個環節上,對二維碼車票的業務流程進行說明。此外,二維碼車票的使用,需要充分考慮網絡斷開的情況下對二維碼車票的降級處理,在斷網的情況下,二維碼車票驗證應該支持自動檢票機本地驗證。
參考文獻:
[1] 王國光.自動售檢票系統及關鍵技術研究 [D].北京:鐵道部科學研究院,2005.
[2] 北京市規劃委員會.地鐵設計規范:GB 50157—2013 [S].北京:中國建筑工業出版社,2013.
[3] 趙時旻.軌道交通自動售檢票系統 [M].上海:同濟大學出版社,2007.
作者簡介:張健生(1990—),男,漢族,廣東潮州人,智能開發四部軟件工程師,畢業于廣東工業大學,工學碩士,研究方向:軟件開發。