张 涛,阎志远,吕占民,李贝贝
(1.中国国家铁路集团有限公司 客运部,北京 100844;2.中国铁道科学研究院集团有限公司 电子计算技术研究所,北京 100081;3.中铁程科技有限责任公司,北京 100081)
既有铁路列车补票系统自2000 年开始全路投入使用,相关硬件设备由多家列车移动补票终端厂商提供。随着列车旅客升舱补票的需求日益增多,为弥补铁路列车补票系统离线补票时有席位而无法申请的不足,2015 年开始列车移动补票终端通过客运站车无线交互平台通道,安全接入客票系统进行实时席位申请,实现联网补票功能并全路推广,但此时的相关软件依然由列车移动补票终端厂商各自研发,应用流程、数据格式、业务管理等不统一的问题较为突出。基于此,2019 年铁路列车补票系统更名为铁路列车统一补票系统并试点上线,实现业务流程、基础数据、网络架构等多方面的统一与应用。通过分析既有铁路列车补票系统,针对铁路列车统一补票系统架构优化及演进过程,逐一解析系统总体架构、网络架构、功能设计以及关键技术等,从而为铁路智能化系统设计与优化提供参考。
既有铁路列车补票系统包括列车移动补票终端所配属的系统与地面管理系统2 部分[1]。列车移动补票终端所配属的系统的运行,依托地面管理系统生成的基础文件信息。乘务人员出乘前,需要通过数据线将补票数据下载到手持终端,实现离线业务操作,通过自动事由分析和票价计算,完成列车补票作业;退乘时以数据线拷贝方式,将存根、日志等补票终端作业数据,回传到地面管理机,通过地面服务程序将业务数据导入系统数据库,进一步完成统计与结账等。地面管理系统基于客户/服务器模式的数据库,完成客运段定义、窗口定义、车次定义、操作员定义等管理监控功能,以及基础数据定义维护、作业终端交互、业务数据统计分析、业务数据接口上报等综合管理功能。
既有铁路列车补票系统的系统架构图如图1 所示,因各铁路局集团公司不同客运段存在网络差异,铁路列车补票系统又可区分为局域网版和单机版,区分的原则主要在于,列车移动补票终端的数据库服务器与地面管理应用是否进行拆分部署。实现拆分部署的局域网版列车补票系统,在客运段机房部署了列车补票数据库,列车移动补票终端通过上联地面管理系统,实现业务数据在客运段的集中管理,而单机版列车补票系统,将数据库服务器和地面管理应用部署于同一台服务器。
图1 既有铁路列车补票系统的系统架构图Fig.1 System architecture of existing ticketing system after boarding
列车补票系统的应用功能,根据列车移动补票终端与地面管理2 部分进行区分。
(1)列车移动补票终端,主要功能是根据旅客补票需求,完成车上补票作业,其使用流程为:①班组出乘前,在列车移动补票终端上同步地面系统基础数据、班组数据、车次数据以及票价里程数据;②出乘后登录补票系统,校验担当车次,开始补票作业;③班组整个交路担当完毕后,回到补票地面站点,由地面系统操作员将补票存根上传至补票数据库,核对票款无误后打印车内补票移交报告,班组签字后完成整个交路的补票作业。
(2)地面管理,主要实现列车移动补票终端数据的同步与接收,生成车内补票移交报告,按车次、班组进行日进款汇总,核对后生成财收、统计等系统接口文件至接口服务器,主要业务功能为:①基础数据维护,即实现单位(地区)、车队、乘务组、补票员、列车移动补票终端、车次派班、担当车次、班组计划、工号卡、列车长定义、线路定义等数据维护功能;②车次数据维护,即实现客票系统车次数据转换、停靠站维护、里程票价维护、空调特征维护等功能;③列车移动补票终端数据同步,即实现列车移动补票终端程序更新、车次数据下载、存根数据上传、工号卡写入等功能;④报表统计:实现车内补票移交报告、月旬汇总等各类财务收入、发送人数等报表统计功能,报表分为全路统一报表、铁路局报表和客运段报表3 类;⑤接口文件生成:根据补票存根数据,生成财收、统计等数据接口文件,与铁路局集团公司财收、统计系统进行数据交互。
受限于系统设计时的网络条件和硬件技术,随着应用范围的进一步扩大,铁路列车补票系统的使用体验不佳愈加突出,系统与硬件维护成本逐步增大,主要存在以下不足。
(1)软件不统一。列车移动补票终端软件及地面管理软件为不同厂家研制,软件功能有所差异,遇有计费、业务规定变动、新业务功能增加等情况时,软件研发完成时间不统一,升级难度较大,不能适应业务快速调整的需求。
(2)网络不统一。列车补票系统的地面部分在各客运段分别部署,采用局域网方式或单机方式运行,没有全路统一联网,数据无法集中存储,不能进行数据共享和传输,数据交换使用手工拷贝方式进行,数据不一致的现象时有发生。
(3)数据不统一。目前各厂家编制的基础数据不一致,列车移动补票终端上传的补票存根分散存储在各列车补票地面管理系统中,不便于补票数据的电子报表生成和深入分析,而且数据存储在客运段数据库或单机系统上,数据损坏丢失风险高。
(4)管理不统一。列车补票系统的地面部分用户权限由客运段各自管理,没有纳入到铁路客票系统进行统一管理,铁路局集团公司未能对系统操作员进行权限管理和操作监控,没有对地面系统操作情况和数据进行审计,不能满足安全管理要求。
既有铁路列车补票系统存在的问题,给列车补票工作带来了诸多不便,同时,原有系统设计和网络架构已经不能适应日益增长的旅客补票多样化及快速上线新业务的需求,需要研究铁路列车统一补票系统,为列车提供线上线下协同、全路一体化的补票服务。
针对上述问题,铁路列车统一补票系统对外以满足旅客多样化、人性化的服务需求为目标,对内以提高补票业务管理水平、优化系统等需求为方向,从总体架构、网络架构、功能设计等多个方面进行设计与构建。
铁路列车统一补票系统总体架构如图2 所示。铁路列车统一补票系统由列车移动补票终端、列车补票管理终端、列车补票数据库与服务以及列车补票接口服务4 部分组成,在列车、车站/客运段、铁路局集团公司和中国国家铁路集团有限公司(以下简称“国铁集团”)分别部署。
图2 铁路列车统一补票系统总体架构Fig.2 Overall architecture of unified ticketing system after boarding
列车移动补票终端通过运营商移动通信网络或铁路GSM-R 移动通信网络,以无线专网形式,集中接入站车无线交互系统,进行统一安全认证,通过站车安全通道[2]访问国铁集团级铁路客票网的列车补票接口服务,实现余票查询、席位补签、联网补票等功能。地面管理的列车移动补票终端通过数据线或蓝牙方式,连接至列车补票管理终端进行存根上传、基础数据下载等数据同步操作。
列车补票管理终端部署在客运段各地面站点,通过铁路客票网有线方式集中接入铁路客票系统,统一管理设备终端和用户权限。经路局级管理监控授权后,各客运段管理人员通过列车补票管理终端对归属列车补票人员、设备、业务数据进行集中管理和处理;列车补票管理终端通过铁路客票网连接至路局级列车补票服务,将各列车移动补票终端的存根、日志等业务数据上传至路局级列车补票数据库中,同时完成基础字典、票价等数据的同步下载。
列车补票数据库与服务在路局客票中心部署,实现铁路局集团公司列车补票业务相关数据的统一存储、数据同步、数据传输、数据统计和数据接口等功能,同时实现与铁路局集团公司财收、统计系统的数据交互,补票存根等数据传输至路局营销系统,通过国铁集团、路局级营销系统可实现列车补票业务的营销分析和决策支持。
列车补票接口服务部署在国铁集团级客票系统,实现列车移动补票终端权限认证、车次停靠站下载、票价表下载、余票信息查询、车次席位库信息查询、席位申请、席位取消等功能。
铁路列车统一补票系统的地面部分部署在铁路客票网,对外信息交互涉及客运站车无线交互网(以下简称“铁路站车网”)和铁路办公网,铁路列车统一补票系统网络架构如图3 所示,系统通过安全平台实现铁路客票网与铁路站车网、铁路办公网之间的信息安全交互。
图3 铁路列车统一补票系统网络架构Fig.3 Network architecture of unified ticketing system after boarding
(1)铁路客票网。铁路客票网为列车统一补票的地面管理提供接入服务,地面管理系统基于铁路客票网提供存根上传、数据同步、数据维护、报表查看等功能。
(2)铁路办公网。铁路列车统一补票系统通过安全隔离系统,与位于铁路办公网的数据接口服务器进行数据交互,实现接口文件传输。
(3)铁路站车网。铁路站车网为列车补票移动终端提供无线接入服务,使用移动运营商网络或铁路GSM-R 网络,经由客运站车无线交互系统实现列车补票联网席位申请和联网数据下载。
2.3.1 系统总体工作流程
铁路列车统一补票系统的功能体系按照“以旅客为中心,为运营做支撑”的原则进行设计。面向列车旅客,列车补票人员根据旅客补票需求,按无原票、本列票、非本列票[3]、公免探亲等各类事由进行补票作业;面向管理用户,列车补票地面管理人员通过权限管理、设备管理、数据管理、存根管理、报表管理、数据接口文件管理等功能,对补票业务全流程进行管理。铁路列车统一补票系统总体工作流程如图4 所示。
图4 铁路列车统一补票系统总体流程Fig.4 Overall workflow of unified ticketing system after boarding
2.3.2 地面管理功能
铁路列车统一补票系统地面管理由路局中心补票数据库、路局管理监控、列车统一补票服务和列车补票管理终端组成,铁路列车统一补票系统地面管理功能图如图5 所示。
图5 铁路列车统一补票系统地面管理功能图Fig.5 Function of ground management in unified ticketing system after boarding
列车补票数据库集中部署在铁路局客票系统数据中心,存储铁路局列车补票业务相关数据。列车补票地面管理终端部署在铁路局集团公司和客运段,通过客票网接入客票系统,终端和用户权限纳入客票系统进行统一管理。各客运段管理人员通过列车补票地面终端对归属列车补票人员、设备、业务数据进行集中管理和处理,形成列车统一补票服务。
2.3.3 列车移动补票终端功能
列车移动补票终端的主要功能是根据旅客补票需求进行车上补票作业,联网申请席位以及联网数据更新。
(1)车上补票作业功能。车上补票作业功能主要包括无原票、变更座席、越站、越站变席、减价不符、越席、空调加快、非本车票、公免签证、车
票补签、列车挂失补等各种补票业务办理以及电子支付功能。
(2)联网席位申请功能。由于目前大部分列车实行全程席位共用和复用,列车上空闲席位无法直接进行补票,在造成车上席位浪费的同时,也容易引起车上有补票需求旅客的不满。列车移动补票终端联网申请席位功能使用列车移动补票终端,通过蓝牙/数据线连接至站车无线交互设备,实时联网申请票库席位,并通过移动补票终端打印有席车票,提高席位的利用率和旅客满意度。
(3)联网数据更新。为方便旅客出行,各铁路局集团公司根据客流预测新增临客开行的情况越来越普遍,随着“一日一图”和浮动票价[4]的推广,列车运行图和票价的变化愈加频繁,班组出乘途中担当交路车次基础数据和票价变化情况越来越多,原有出乘前从地面系统导入基础数据的方式已不适应客票和补票业务的要求。列车移动补票终端通过蓝牙或数据线连接至站车无线交互设备,联网进行车次数据更新及票价文件更新,实时下载临客开行数据和最新票价文件,保持列车移动补票终端数据与客票系统数据一致。
列车移动补票终端由操作人员在列车上使用,存在设备丢失与数据被修改的风险,如果数据安全措施考虑不周全,会给人为数据造假提供可乘之机。针对潜在的安全隐患包括修改存根数据、非授权人员操作、数据传输过程中被破坏等,系统设计上做充分的考虑,实现补票终端安全管控、补票应用安全加固、数据安全传输隧道、存根数据双写备份、存根数据加密校验[5]等措施,有力保障列车移动补票终端工作期间机内数据的安全。
(1)终端安全管控。列车移动补票终端系统自带补票终端安全管控软件,可对移动终端进行远程控制,实现设备全生命周期管理,如远程锁定、远程数据擦除等。设备只允许指定证书签名的应用进行软件安装与运行,设备开机后即进入铁路定制的系统安全桌面,进行用户认证后方可启动补票软件,系统空闲时自动进入锁屏状态。
(2)应用安全加固。列车补票应用实现多方面的安全加固,比如通过对补票终端应用APP 中的DEX 文件进行抽取,实现整体加解密及动态还原;对应用so 文件进行加壳、防止动态调试以及签名效验等。加固后的应用终端程序可实现防逆向分析、防二次打包、动态防调试、防进程注入等功能。
(3)数据安全传输隧道。数据传输隧道加密,采用高度安全的加密算法,周期性更新通信临时密钥,保证通信密钥的安全性;通信报文使用临时密钥签名,中间层无法篡改,接收端静默丢弃异常请求;请求包中带有防重放因子,使用之前的正确请求消息并向隧道重放请求。数据传输隧道建立过程如图6 所示。
图6 数据安全传输隧道建立过程Fig.6 Process of establishing secure data transmission channel
在移动运营商APN/VPDN 连接建立的情况下,列车移动补票终端发送加密连接请求。安全接入系统会根据终端发送请求中携带的用户数字证书信息与系统中的证书列表比对,进行身份认证,身份认证通过后进行会话密钥协商(确定彼此的公钥、私钥),更新每次会话密钥,基于国密算法建立端到端加密隧道,打通终端与移动安全接入平台中接口服务器之间的补票信息交互。
(4)补票存根双写备份。补票存根记录时,不仅写到列车移动补票终端内置存储,还写到外置的数据存储卡。双存根数据采用不同的数据格式进行存储,并可进行相互校验,同时可防止单份存根被修改后的反向拷贝。不具备存根双写条件时,列车移动补票终端将报错并停止工作。
(5)存根数据读写加密校验。存根记录时,有严格的检验码进行整行数据加密,外置存储卡上的存根信息与内置存储卷上的信息被校验是否一致,同时对文件的修改时间进行校验。
铁路列车移动补票的票价受国家铁路票价、地方铁路票价、浮动票价及管内自定义票价等多种路段或时间段票价的影响,为实现全路售补票票价的统一,基于铁路客票系统的补票票价计算在路局级包含了分段计价机制、多种浮动机制、票价交路机制以及转移计价机制等多种算法[6],根据列车车次定义计算出车次的站间票价表,列车移动补票终端根据站间票价表查询售票票价,再根据补票事由、手续费等不同规则计算出应收票价。
(1)站间票价表个数。根据计价日期、车次查询出列车运行图数据,结合列车的停靠站、席位类别,可计算出的列车站间票价表数据个数。列车移动补票的票种共有全价票、儿童票、学生票和残疾军人票4 类,站间票价表个数计算公式如下。
式中:P为列车站间票价个数,个;n为某车次对应的停靠站个数,个;m为席位类别数,个。
(1)站间票价表被计算出后将保存至路局级列车补票数据库,以便列车移动补票终端下载使用。
(2)应收票价计算。假设某车次有A,B,C,D 共4 个停靠站,旅客补票发站为A,到站为C,票价表中该发到站间二等座成人票票价为P1元,商务座成人票票价为P2元,补票手续费2 元。无原票补二等座的应收票价为(P1+ 2)元,有二等座原票补商务座应收票价为(P2-P1+ 2)元。
在列车高速运行以及铁路沿线复杂地理条件下,列车移动补票终端与地面管理之间的网络连接,时常会有不稳定的情况发生,为保证列车移动补票系统的交易完整性,设计应用基于移动通信网络和UDP 协议的数据传输控制协议[7],该协议充分考虑到列车运行速度快、无线信号不稳定、无线传输速率较低等特点,采用数据压缩、数据分片、断点续传等技术,以超时控制和协调指令为手段,实现应用任务的闭合管理,保证列车移动补票系统交易的一致性和完整性。
除了在数据通信层保障交易完整性外,还通过改进应用层控制来保证数据交易的完整性。列车移动补票终端联网申请席位时先发席位申请指令,此时客票系统会暂时锁定席位,如果列车移动补票终端在5 min 内未发送席位确认指令,客票系统会主动释放暂时锁定的席位,从而避免席位浪费。列车移动补票终端只有在收到返回的席位确认指令信息后,才可以打印车票。如果存在未完成的交易,新的交易将不被允许,交易完整性得以保障。
铁路列车统一补票系统因其全新的界面、标准化的数据结构与接口、统一的业务功能、完善的操作流程与管理等特点,不仅整合铁路客运系统相关资源,也为列车提供全路一体化的列车协同补票服务,逐步满足旅客多样化的补票需求,自2019 年开展试点后,正加速向全路推广。目前全路高速铁路和大部分普速列车售票系统已经实现电子客票[8],完成列车车票由纸质车票向电子客票的转换,但是列车补票相关业务仍在采用纸质车票,未来需在铁路列车统一补票系统的基础上,对列车补票存根进行电子票化改造,实现电子客票一证通行的目标。