二维码车票在自动检票机的应用
2020-05-18张健生刘伟航
张健生 刘伟航
摘 要:在目前的轨道交通自动售检票系统运营中,对车票的管理是地铁运营的痛点之一,二维码车票的引入,能极大地改善对车票的管理,提升运营满意度。文章重点研究了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—),男,汉族,广东潮州人,智能开发四部软件工程师,毕业于广东工业大学,工学硕士,研究方向:软件开发。