铁路客票售票系统接口数据速查程序分析与设计

(整期优先)网络出版时间:2019-06-16
/ 2

铁路客票售票系统接口数据速查程序分析与设计

王波1安媛2单丹3

1中国铁路沈阳局集团有限公司锦州车务段辽宁锦州121000;2中国铁路沈阳局集团有限公司丹东站辽宁丹东118000;3中国铁路沈阳局集团有限公司党校技术员辽宁锦州121000

摘要:目前,我国的铁路建设在不断的完善,铁路客票售票系统接口数据文件是收入核算的原始数据,具有文件数量众多、数据量超大、难以检索的特点。传统接口文件信息查询作业依赖于人工逐个下载搜索,工作效率很低。从客票系统接口文件速查工作的普适性、高效性、可扩展性和易操作性四个方面出发,对速查程序进行了完备的用户需求分析。运用SSH服务、Oracle外部表、并行查询、XML等技术完成了接口速查程序的设计,满足了用户需求,同时对海量接口文件速查问题进行了有益的探索。

关键词:客票系统;接口;文件并行查询

引言

铁路客票系统列车基础数据维护是铁路售票组织管理的基础工作,列车基础数据是全路售票信息的主要来源,基础数据的准确性、完整性、一致性是全路售票业务正常开展的前提。列车基础数据一旦出现错误而未被及时发现,可能会产生售票编组与列车实际编组不一致、重铺、票面发站开车时刻错误,导致旅客漏乘、售出车票到站非列车实际停靠站等问题,从而导致站车乘降组织困难,影响运输生产安全,引起不良的社会舆论等,影响面广,后续处理难度大。目前,这类数据主要依靠人工维护的作业方式,具有维护作业量大、维护过程环节多、系统操作较繁琐等问题,是列车基础数据出错的最大风险点。

1接口分析

在线订票是用户根据出行需要自行在网站或手机App查询余票、到发时间、费用等信息,选择需要的车票,并通过安全、高效的电子支付完成车票购买。在线购买成功后,乘客凭借通知的订单号或有效证件可在就近车站办理取票。在线售票克服了时间和空间的因素,使每一台可上网的电脑成为售票终端,从而实现售票节点布向每一个人,真正意义上实现电子售票。经分析,在线订票具有以下技术特点。1)大规模并发交易在运量高峰期间,对于广大乘客而言,火车票的超高性价比和相应的方便性,使得每张票成为稀缺资源。而在线售票那一瞬间,必然有成千上万的人同时访问客票系统,整个系统将承受巨大的并发压力。如何应对巨大的并发压力,保持客票系统的稳定性和可靠性,同时提高系统的性能和响应速度,将是在线订票接口重点考虑和解决的问题。2)公网接入的安全风险由于在线售票的需要,客票系统需要外网接入,由此带来诸多安全风险:网络非法监听、非法访问篡改数据、获取密码文件、网络欺诈、主机瘫痪或网络瘫痪等,更有甚者利用网络攻击进行勒索,严重影响运营秩序。

2客票新系统接口文件速查程序设计方案

2.1利用XML文件描述接口文件结构,满足可扩展性要求可扩展标记语言XML,是一种常用的描述性语言

速查程序利用XML语言,对接口文件的定义、文件中各列的定义进行了描述。接口定义XML文件中,一个File节描述了一个接口文件的类型、代码、字段数量等基本属性,其下拥有多个Column节,分别描述了不同列的名称、数据类型等列的基本属性。接口文件速查程序根据XML文件中的定义,“理解”各个接口文件及文件中的内容,并据此将文件检索结果展示为数据表,以方便最终用户检索。

2.2优化程序,完善功能

受设备故障、车底检修、重点运输等原因影响,动车组列车经常会出现临时换型但预售期内原编组车票已大量发售的情况,根据需求提报客票系统程序优化建议,在中国铁道科学研究院客票总体组的技术支持下,试点使用了动车组列车按车型一键命令加挂换型、席位置换、自动生成多个版本的置换通知单、选择打印置换通知单的新功能,结合使用体验,配合客票总体组不断优化和改进操作界面,代替了原有的命令甩车、按车厢席别加挂新编组、手工统计已售席位、预留置换席位、编写、打印并电话传真席位置换通知单等繁琐的作业流程,提高了应急处置的效率和质量,降低了业务出错几率,畅通了铁路局与站段、车站与列车之间的信息沟通渠道。

2.3利用Oracle外部表及并行执行技术,满足高速检索要求

Oracle数据库的外部表功能,可以借助数据库引擎以表的方式访问平面文件(文本文件),同时,利用外部表直接检索归档服务器上的接口文件还避免了文件传输到本地计算机的过程,节省了大量的时间。Oracle支持以数据泵Data-Pump引擎或加载器Sqlldr引擎两种方式定义外部表访问平面文件。sqlldr引擎具有速度快的优势,被选择作为速查程序使用的解决方案。使用外部表检索需要做一系列前期准备工作,速查程序负责自动将前期所有工作配置妥当,无需检索用户参与,以降低操作难度。Oracle数据库支持并行操作,具体来说是由一组parallel初始化参数控制了整个数据库环境的并行操作执行的过程。速查程序使用Oracle系统的自动并行度,由数据库根据操作系统资源使用的情况配置并行计算使用的资源,这是一个比较理想的选择,可以减少由于客户端“超配”产生的“过劳”排队或其他等待。速查程序通过对用户提交的SQL进行改写,在语法中增加Parallel相关的提示,指导Oracle数据库在查询时采用并行方式执行,从而最大程度节省检索时间,提高效率。

2.4编写SQL文法分析模块,满足SQL智能感知输入需求

为了方便用户SQL语句编写的过程,速查程序开发了智能感知输入提示功能,随着用户的键入过程,系统不断跟踪分析用户的输入,对用户输入的内容进行辅助列表提示,智能匹配用户的输入。提示列表告知用户字段名称及其代表的含义、取值范围等信息,用户选中想要的条目,按Tab键直接补齐余下的字符,十分方便快捷。

2.5窗口售票、在线订票业务相互独立,互不干扰

为窗口交易、在线交易分配独立的硬件资源和软件资源,将席位按窗口可售席位和在线可售席位分库,交易存根按窗口交易存根和在线交易存根分库。在线交易新增接口服务器、应用服务器、数据库服务器、磁盘阵列、应急数据库服务器,分配独立的接口服务、交易服务,通过横向扩展,保证大规模并发交易的顺畅处理。窗口售票、在线售票业务相互独立,但实现席位、收入等统一、集中管理。

2.6提供系统核查数据工具

将列车基础数据进行数据分类和识别,按照不同的业务性质和要求制定多种客票业务的核查规则,得到核查规则和方案管理,设计出符合数据核查要求的系统工具。例如建立编组信息、开行规律、席位计划、席位生成、调令处理间的业务逻辑卡控;对车次、停靠站、到发时刻、票价等基础数据的合理性、一致性进行判断和检查;对客运营业站的起售时间、售票组织策略的完整性进行判断和检查等。系统工具支持核查任务定时自动执行、手工启动任务、核查周期、核查范围、可配置一条或多条核查规则。例如:开车前1天,启动客票系统与调度系统间的数据互核,核查售票数据与调度系统数据是否一致,数据不一致时触发前台预警,由相关人员排查原因后进行处理并反馈结果。

结语

程序投入使用后,大幅度简化了接口文件数据查询的过程,有效提高了相关工作的效率和精度。经测算,对上海虹桥及上海站一旬20个客票存根接口文件进行遍历搜索,查找所有发售的G99次列车车票存根,耗时约为2min,时间经济性显著。综上,接口文件是应用系统之间数据交换的一种常用方式,利用SSH服务结合Oracle外部表、并行查询、XML等技术设计的接口文件速查应用程序有着灵活的可扩展性和优异的性能表现,是解决类似问题优良的解决方案,希望本文的阐述可以为类似需求的应用程序设计提供有益的启示。

参考文献:

[1]中国铁路总公司.TJ/KH015-2014铁路客票系统技术条件(铁路局及车站部分)[S].北京:中国铁路总公司,2014.

[2]徐晔,李治民.自动售检票系统终端设备跨线应用研究[J].铁路通信信号工程技术,2017,14(5):62-65.

作者简介:

1王波(1979-),女(汉族),辽宁锦州人,中国铁路沈阳局集团有限公司锦州车务段工程师,主要从事旅客运输管理工作。

2安媛(1981-),女(满族),辽宁丹东人,中国铁路沈阳局集团有限公司丹东站助理工程师,主要从事旅客运输管理工作。

3单丹(1984-),女(汉族),辽宁锦州人,中国铁路沈阳局集团有限公司党校技术员,主要从事中共沟帮子铁路支部纪念馆讲解工作。