铁路客运综合业务自助终端的设计与实现
2018-03-02付巧玲蒋秋华李士达潘浪涛
付巧玲,蒋秋华,李士达,潘浪涛,赵 楠
FU Qiao-ling1,JIANG Qiu-hua2,LI Shi-da2,PAN Lang-tao2,ZHAO Nan2
(1.中国铁道科学研究院 研究生部,北京 100081;2.中国铁道科学研究院 电子计算技术研究所,
北京 100081)
(1.Department of Graduate Programs, China Academy of Railway Sciences, Beijing 100081, China; 2.Institue of Computing Technology, China Academy of Railway Sciences, Beijing 100081, China)
铁路旅客运输是利用列车将持凭证旅客及其行李从一个地方运送到另一个地方,是铁路运输的重要组成部分[1],而铁路客运综合业务自助终端是铁路旅客运输顺利完成的重要保障。随着铁路运输高速发展,客运业务量迅速增长且种类快速增多,客运站自助售票机和人工窗口的压力越来越大。目前铁路客运自助终端系统还存在以下问题:铁路乘意险补购只能到人工窗口排队办理,造成窗口拥堵;中铁银通卡取号机[2]功能单一,维护成本高;旅客只能通过人工窗口或自动售票机查询席位变更信息,占用购票渠道;纸质公告发布消息时效性差、通知范围有限。因此,亟需完善铁路客运综合业务自助终端系统,提高铁路客运站综合管理水平与服务质量[3]。
1 铁路客运综合业务自助终端的构成
终端一般处于计算机网络最外围,主要用于信息的输入和处理结果的输出。铁路客运综合业务自助终端是一种自助的、多功能的终端设备,放置在车站内,等同于多个营业服务人员的集合体,能与旅客进行有效的信息交互,提供即定服务。自助终端包括硬件和软件2个部分,其功能也是通过二者协作得以充分发挥。高效率。
1.1 终端硬件组成
铁路客运综合业务自助终端的硬件主要包括:主控单元、触摸显示屏、二维码扫描单元、密码键盘、身份证/中铁银通卡二合一读卡器、银行卡读写器、凭条打印单元,以及其他辅助设备。铁路综合业务自助终端硬件组成如图1所示。
(1)主控单元。主控单元是控制各模块协调工作、进行数据处理的核心部件。通常采用工业级计算机,当遇到死机等异常情况时,可激活定时器自动重新启动,从而保证系统的稳定性。
(2)触摸显示屏。终端触摸显示屏不仅可以向旅客展示信息,还可以与旅客进行人机互动,满足旅客需求。
(3)二维码扫描单元。铁路车票上的二维码是一种网格矩阵码,采用 GB/T27766编制,存有乘车人及其席位等相关信息。自助终端内置二维码扫描单元,可以动态识别票面二维码,减少流程,提
图1 铁路综合业务自助终端硬件组成Fig.1 Hardware composition of integrated self-service terminals at railway stations
(4)密码键盘。在自助终端上设有密码键盘,主要用于银行卡支付时输入密码,同时对输入的密码加密。
(5)身份证/中铁银通卡二合一读卡器。自助终端内置身份证/中铁银通卡二合一读卡器,对旅客的身份证或中铁银通卡进行识别和认证,方便持有中铁银通卡的旅客快速乘车。
(6)银行卡读写器。在自助终端上设有电动式读写卡器,该读写卡器符合银行卡读写标准,接收银行卡读取其信息,确认合法身份后,再向应用服务器发起交易连接请求。
(7)凭条打印单元。凭条打印单元一般采用SDK通信接口的热敏打印机,无人值守,可以统计打印凭条数量,监控打印状况,并及时反馈信息。
(8)其他辅助设备。其他辅助设备主要有信息提示牌、电源、机柜等。
1.2 终端软件架构
铁路客运综合业务自助终端软件架构与自助退票机相似[4],包括主业务处理模块 (MBP)、硬件管理模块 (HC)、人机交互界面模块 (GUI)、维护模块(Backer)、启动与监控模块 (StartUp)等,各个模块以 MBP 为核心并各司其职。其中,主业务处理模块是机内的核心进程,通过套接字 (Socket) 与其他各模块进行通信连接,负责管理与控制各个模块,并与应用服务器双向通信;人机交互界面模块使用html+css+javaScript 编程技术,向旅客提供可视化的综合操作界面;硬件管理模块采用多线程设计,控制身份证/中铁银通卡二合一、二维码扫描、打印凭条等单元,并将各单元间耦合系数降到最低;启动与监控模块负责启动机内应用程序,并监控机内各软件的运行状态和重启僵死进程;维护模块包括硬件监测、修改本地参数、自动报警等功能。铁路客运综合业务自助终端软件架构如图2所示。
图2 铁路客运综合业务自助终端软件架构图Fig.2 Software framework of integrated self-service terminals at railway stations
1.3 铁路客运综合业务自助终端功能
铁路客运综合业务自助终端整合多种业务于一体,功能多样,交互界面信息明确,通过简单的操作步骤引导旅客自助完成业务需求。铁路客运综合业务自助终端功能如图3所示。
铁路客运综合业务自助终端功能如下。
(1)乘意险购买。旅客在综合业务自助终端界面上点击“乘意险购买”按键,自助终端提示旅客将车票放置在二维码扫描区,扫描单元扫描车票上的二维码,经过算法解码将二维码信息上传至客票系统,查询该车票信息和购保状态,随后将待购保的车票信息及购保须知、条款等显示到自助终端界面上,旅客可以选择支付宝或银行卡完成乘意险支付,最后终端提示旅客购保成功并打印购保凭条。
图3 铁路客运综合业务自助终端功能Fig.3 Functionalities of integrated self-service terminals at railway stations
(2)中铁银通卡取号。旅客在综合业务自助终端界面上点击“银通卡取号”按键,终端向旅客展示车次、出发时间、到站、余票等信息,旅客选择车次和所要到达的车站,根据界面提示信息在终端指定位置刷中铁银通卡,终端向检票系统申请预留席位成功后,将席位信息显示给旅客并自动打印席位凭条。
(3)席位变更查询。旅客在综合业务自助终端界面上点击“席位变更查询”按键,终端提示旅客刷车票或二代居民身份证:①如果选择刷车票,二维码扫描单元扫描车票上的二维码,将信息上传至客票系统并查询,终端将返回的变更信息展示给旅客并打印凭条;②如果选择刷二代居民身份证,身份证/中铁银通卡二合一读卡器读取身份证信息,将信息上传至客票系统并查询,终端将返回的变更信息展示给旅客并打印凭条。
(4)车站公告。旅客在综合业务自助终端界面上点击“车站公告”按键,终端调取铁路局集团公司服务器数据库,向旅客显示车站动态信息。
(5)其他功能。其他功能包括打印凭条、维护、状态监测、与后台通信、数据安全与管理、卡验证等。
2 铁路客运综合业务自助终端关键技术
根据铁路客运综合业务自助终端功能,铁路客运综合业务自助终端基于 NW.js 开发桌面应用,并基于支付宝扫码支付、动态调配算法、快速查询等关键技术实现相应业务。
2.1 基于 NW.js 开发桌面应用
铁路客运综合业务自助终端在 Windows XP (32bit) 环境下基于 NW.js 开发了人机交互界面 (GUI)。NW.js 原名为 Node-WebKit,是 Node.js 与 Chromium技术的融合[5],具有开源、高稳定性等优势。NW.js 文件如图4所示。NW.js 框架在启动GUI 程序时,从 package.json 中读取信息,package.json 是 GUI 的配置文件,其包含的“main”字段指明由 NW.js 打开的初始页面,“window”中包含有隐藏导航栏、无边框全屏显示界面、任务栏显示图标等窗口属性配置。铁路客运综合业务自助终端是开放的,出于安全性和发布的方便性考虑,将人机交互界面打包成独立的桌面应用程序。
图4 NW.js 文件Fig.4 NW.js files
2.2 支付宝扫码技术
大力发展铁路电子商务,对于提高铁路服务质量和经营效益具有重要意义[6-7]。支付宝作为电子支付的主要方式之一,可以简化旅客的支付手续。在此,旅客可以使用手机支付宝客户端扫描综合业务自助终端上订单所生成的二维码,完成支付操作。支付扫码支付时序图如图5所示。其中终端主业务处理模块向支付平台申请扫码支付请求,支付平台通过套接字通信向终端主业务处理模块发送含有支付信息的字符串,终端主业务处理模块根据接收到的字符串生成二维码图片并定时监测后台支付状态。同时,人机交互模块通过指定的路径获取二维码图片并显示。扫码后,手机支付宝客户端向支付宝后台提交扫描二维码链接,等待支付宝后台返回需要旅客支付授权,旅客确认需支付的订单金额,输入支付密码,完成支付。
图5 支付扫码支付时序图Fig.5 Sequence diagram of alipay barcode payment
2.3 动态调配算法
通常持有中铁银通卡的旅客按照“先取号、再检票、后乘车”的原则乘车。对于持中铁银通卡的旅客,客票系统需提前预留一定数量的“银通卡”席位,再采用动态调配算法根据实际持中铁银通卡的旅客人数调整“银通卡”席位数量。动态调配算法操作流程为:①初始阶段,客票系统预留一定数量的“银通卡”席位,供持卡旅客取号;②当“银通卡”席位数量与实际旅客取号数量的差值等于检票系统预设的阈值时,检票系统自动从客票系统申请固定数额的可售席位数,供持银通卡的旅客取号;③当客票系统的可售席位数小于检票系统预设的阈值时,检票系统动态获取的席位数为可售的席位数;④当客票系统的可售席位数等于零时,检票系统动态获取的席位数为零。此后,检票系统的席位数减少至零则禁止取号。通过动态调配算法可以减少人工操作,实现动态智能的银通卡取号功能。
2.4 快速查询技术
基于分布式内存数据库,铁路客运综合业务自助终端实现了席位变更快速查询。GemFire 是分布式内存数据库之一。作为一种在内存中直接操作的数据库,其读写速度比磁盘的高出几个数量级。与传统的数据库相比,GemFire 在数据缓存、并行操作方面也进行了相应的改进,使数据处理速度更快[8]。针对铁路客票订单系统数据海量、实时变化等特点,基于 GemFire,可以在自助终端刷身份证或扫描车票二维码快速查询席位变更信息,提高查询效率。
3 结束语
为提高铁路客运站运营效率,提升管理水平和服务质量,将铁路客运站的非常态零散业务整合于一体,研制了铁路客运综合业务自助终端。铁路客运综合业务自助终端各模块分工明确、相互协作,运行流畅。通过自助方式不仅可以节约客运站人力资源成本,还可以节约物力和维护成本。目前,铁路客运综合业务自助终端在一些客运站已经进行了相关试点工作,自助终端安全稳定、操作便捷,效果明显。随着硬件配置的完善,以及软件设计的优化,铁路客运综合业务自助终端的功能和效率将进一步提升。
[1] 柯契涅夫. 铁路旅客运输[M]. 北京:中国铁道出版社,1986.
[2] 潘浪涛,赵 楠,李士达,等. 基于中铁银通卡的列车席位自助申请系统[J]. 中国铁路,2015(11):68-71.PAN Lang-tao,ZHAO Nan,LI Shi-da,et al. Train Seats Self-application System based on Quick Pass Card[J]. Chinese Railways,2015(11):68-71.
[3] 赵伟超. 铁路自助终端服务设备界面交互性设计[D]. 齐齐哈尔:齐齐哈尔大学,2015.
[4] 金 诚. 基于物联网架构的自助终端运行平台研究[D]. 杭州:浙江工业大学,2017.
[5] 朱丽英. 基于 Node-Webkit 平台的 JavaScript 工具集研究与实现[D]. 成都:电子科技大学,2016.
[6] 范秀君. 铁路电子支付发展的实践与探索[J]. 铁道运输与经济,2017,39(12):1-5,17.FAN Xiu-jun. A Study on the Practice and Development of Railway E-payment System[J]. Railway Transport and Economy,2017,39(12):1-5,17.
[7] 王 鹏. 电子商务背景下铁路货运客户关系管理探讨[J].铁道货运,2017,35(10):35-39.WANG Peng. Tentative Study on Railway Freight CRM under the Background of E-commerce[J]. Railway Freight Transport,2017,35(10):35-39.
[8] SUZUKI S,MOTOSHIMA T,IJIRI Y,et al. Validation Study on Relationships among Fracture Rock Mass Data based on Probability and Statistical Methods by Numerical Model[J]. Doboku Gakkai Ronbunshuu C ,2009,65(1):185-195.