侯俊亮,滕 吉,张子龙
(1.中国铁路信息技术中心,北京 100844;2.中铁信息工程集团,北京 100044)
旅客列车正晚点查询主要是为广大旅客出行或接站提供准确、实时的列车到达或出发时间的咨询服务,方便旅客行程安排,是客服呼叫中心咨询、投诉等涉及业务[1-2]的主要查询功能之一。以北京铁路局为例,据统计正晚点查询业务量占到整个客服呼叫中心站车服务类的10%左右。目前广大旅客自助查询以及铁路客服呼叫中心客服代表主要使用的是12306网站正晚点查询系统[3]。
随着正晚点查询业务量的不断增加,传统的查询系统[3-4]的缺陷如底层数据粗糙,数据传输延时性较大(一般在20~40 分钟左右),只能被动地查询单个列车正晚点信息,已经很难满足旅客以及客服工作人员的需要。
为了解决以上问题项目组进行了铁路客户服务中心旅客列车正晚点查询系统(简称正晚点查询系统)的研发。要求在功能上不但可以实现车次、车站、统计查询,还可以根据特定配置编辑、审核信息发布模板,定时生成路局的相关列车正晚点信息;在数据上整理、过滤各路局的TDCS(列车调度指挥系统)[5-6]相关原始数据,加工优化列车时刻表相关数据结构,提升查询的响应速度与数据的准确性,将查询时间差控制在5 分钟之内。
正晚点查询系统分为总公司级数据汇总与业务核心处理主系统,路局级基础数据过滤与同步传输子系统2 个部分。整体软件架构分为接口服务层、业务支撑层、数据访问层、基础运行环境,如图1 所示。
图1 系统软件架构图
1)接口服务层。一方面以Web Service[7]方式提供正晚点相关查询操作的服务接口。使得需求调用方无须规定其具体的开发语言、平台、内部协议或者借助第三方软、硬件就可无缝集成正晚点服务查询功能。另一方面使用代理模式[8]调用各种媒体信息发布接口,向公众提供列车正晚点信息推送服务。
2)业务支撑层。以相对独立的容器方式[9],提供应用的各种逻辑处理计算模块。在总公司级包含了正晚点信息查询方式、信息发布管理,由各路局过滤后传输过来的数据字典管理,以及用户管理等核心功能;在路局级子系统则包括TDCS 站名信息、客运站名信息等原始数据字典管理,数据过滤、数据整合等功能,是支撑总公司级业务查询的基础。
3)数据访问层。提供业务支持层中的各种所需的基础数据读写接口及其实现,是总公司级主系统与路局子系统之间的底层数据交换的传输通道。
4)基础运行环境。本系统主系统运行在Weblogic 11g、Tomcat 6.0 等Web 应用服务器上,访问Oracle 11g 数据库,路局子系统则以Java 后台应用进程方式直接提供服务,均使用Linux 操作系统部署。
铁路客户服务正晚点查询系统主要提供车次查询、车站查询、统计查询、信息发布4 个服务功能。
1)车次查询。
提供指定车站车次到达、出发的正晚点信息,并提供数据查错功能。本功能可查询当前时间为原点,前3 小时至后3 小时之内6 小时的正晚点信息,且查询时间可以根据需要进行灵活调整。
2)车站查询。
提供指定车站的到达、出发的正晚点信息,并提供数据查错功能。本功能可查询当前时间为原点,前3 小时至后3 小时之内6 小时的正晚点信息,且查询时间可以根据需要进行灵活调整。
3)统计查询。
提供指定车站超过输入时间的到达、出发的列车正晚点列表以及统计数量信息。
4)信息发布。
手动或自动发布通过各种媒体渠道发布车站正晚点信息。其中分为发布内容管理、动态发布管理、发布时间管理、发布组管理4 个模块。
①发布内容管理。对发布的文本中固定不变的文字、格式及标签位置、属性等模板信息进行编辑。以标准化正晚点信息样式发布。
②动态发布管理。对模板中的标签进行解析,并根据标签的自定义数据类型、名称、查询数据等信息进行动态数据查询替换。
③发布时间管理。系统会根据配置好的发布时间与模板,自动生成正晚点信息文本,并自动备份以备将来查看。
④发布组管理。给管理员提供方便快捷管理功能,可对多个车站的正晚点信息进行批量定时发布定制,减少其工作量。
图2 为车站查询功能展现图。
图2 车站查询功能展现图
正晚点查询系统的基本原理是实时比对列车运行调度数据与列车时刻表数据的差值来确定该车是否正点到达某车站。作为服务查询应用级别系统不需要像调度系统那样按秒级实时采集列车行驶数据。综合考虑旅客需求与系统研发、数据传输网络带宽成本,本系统从各路局采集TDCS 数据的同步更新频率为次/5 分钟。即便如此由于各路局TDCS 数据量较大,一般列车较多的路局TDCS 调度数据为10 万条以上,较小的路局也有上万条,如果按照传统思路全部同步到总公司端,会造成无法在规定时间内同步到位的情况,而后续的正晚点查询业务更是无法准确高效地开展,从而造成正晚点查询的时效性差,结果不够准确。面对如此庞大且更新频繁的基础数据量,本系统采用自定义的3 级数据预处理[10]过滤链,来缩减数据传输量:
1)时间窗过滤。由于中国铁路调度的复杂多变性以及列车正晚点查询的时效性特点,列车正点到达前后3 小时时间之外的TDCS 相关数据对于后续功能处理并无太大作用,通过定义6 小时范围的时间窗过滤规则将其他数据滤去。
2)车次过滤。去除与当时客运开行无关的车次TDCS 数据。如货运车辆、根据开行规律[11]当时停开车次、零客车次历史数据等。
3)数据列过滤。去除与正晚点查询业务无关的调度信息数据列。如图定到达时间、图定出发时间、股道号等。
在车站查询、统计查询功能中,要确定一个车站的某时段内所有列车是否晚点,实际上是对实时TDCS 列车数据与既定时刻表正点到达数据进行比对计算。为了加速查询处理避免嵌套循环计算,分别对列车时刻表数据做以下优化:
1)时间窗内的缓存优化。对存储在数据库中的列车时刻表,添加定时器每0.5 小时触发一次存储过程任务,截取固定时间窗内(为了避免边界问题取当前时间前后3.5 小时内到达)的列车时刻信息以HashMap[12]方式存储到系统缓存中。
2)缓存数据格式优化。将原始缓存以车次为key 的HashMap 数据结构调整为以车站为key,如图3 所示。
图3 列车时刻表缓存数据格式优化图
经过测试,优化后的平均查询时间缩短为毫秒级。
客服中心不仅被动接受客户的投诉、咨询业务,也主动提供主流媒体的发布服务,还对接了微博、微信、短信等多种媒体。为避免系统核心功能实现过分依赖其特定接口方式与具体服务器环境配置,以及将来新发布媒体的加入更改系统核心功能设计,采用代理设计模式实现对接功能,其设计类图如图4 所示。
图4 正晚点信息多媒体发布设计类图
与此同时为了满足各路局客服呼叫中心对不同发布样式的自动化需求,设计了一套自定义标签[13]模板,可动态替换发布时间、内容,甚至具备简单的判断分支及循环生成相关信息的功能,例:
其对应某天的发布具体内容如下:
为了检验系统,随机选取2015 年7 月14 日至18日6:40-18:40 间石家庄站、北京西客站内所有客运车次进行晚点车次查询,并比对12306 网站。同时测量该时段内的北京、哈尔滨、呼和浩特、沈阳等4 个铁路局的平均数据传输量。
系统单机运行环境:虚拟服务器CPU:Intel(R)Core(TM)i3-2370M CPU @ 2.40 GHz,内存:8 GB,操作系统:RHEL Linux 5.5,数据库:Oracle 11g,应用服务器:Weblogic 11g,客户端:IE8.0。
表1 晚点列车查询比对测试结果
表2 平均每次路局TDCS 数据传输测试结果
测试结果表1 显示本系统比12306 网站正晚点查询系统列车晚点查准率平均高20%~40%。且在测试过程中还观察到在列车晚点时间较长时,本系统相比12306 网站的查询更为准确。此外表2 显示本系统通过使用数据过滤链技术,使路局平均数据传输量仅为传统系统全传输方式的5%左右,平均传输时间也由秒级降至毫秒级,这也是本系统查询结果更实时准确的优点之一。
列车正晚点查询作为铁路客户服务中心咨询、投诉的主要业务,一直是广大旅客关心的热点。本系统通过数据过滤、数据比较等优化设计,大大提高了查询的准确性、时效性;另外通过实现车站内所有当前车次查询与统计以及提供多媒体发布功能,极大提高了工作人员的工作效率,由被动变主动方便了广大旅客及时顺畅地从多个渠道获取服务,这也是将来其他铁路业务的发展方向。在将来的工作中,可以考虑采用数据压缩技术[14]进一步减少数据传输量,另外提供自助式查询应答以及针对旅客乘坐或关心的列车进行个性化推荐[15-16],也是服务方式的发展趋势。
[1]张文塔.铁路客服中心方案及关键技术研究[J].铁路计算机应用,2011,20(5):18-21.
[2]王昆,滕吉.铁路客户服务中心桌面辅助系统的设计与实现[J].计算机与现代化,2014(3):215-218.
[3]杨立鹏,梅巧玲,陈爱华,等.铁路互联网售票系统的研究与实现[J].铁路技术创新,2012(4):32-34
[4]徐承禹,韩旭芳.旅客列车正晚点实时分析系统的设计与实现[J].铁路计算机应用,2012,21(11):18-21.
[5]黄康,秦燕燕.铁路列车调度指挥系统信息传输平台研究[J].铁道通信信号,2011,47(11):1-3.
[6]高博文.基于业务流的高速铁路行车调度指挥系统研究[D].北京:中国铁道科学研究院,2014.
[7]刘怀亮.基于Web Services 的网络化制造若干关键技术研究[D].西安:西安电子科技大学,2003.
[8][美]Erich Gamma,[美]Richard Helm,[美]Ralph Johnson.设计模式:可复用面向对象软件的基础[M].刘建中译.北京:机械工业出版社,2007.
[9]Bruce Eckel.Java 编程思想[M].陈昊鹏译.北京:机械工业出版社,2007.
[10]魏霞.智能化数据预处理系统的研究与实现[D].广州:华南理工大学,2010.
[11]陶思宇.铁路旅客列车开行方案经济效益评价研究及其计算机实现[D].南昌:华东交通大学,2006.
[12]Thomas H Cormen,Charles E Leiserson.Introduction to Algorithms[M].The MIT Press,2009.
[13]尹华国.基于Web 自定义标签内容管理系统设计与实现[J].西南民族大学学报(自然科学版),2012,38(6):991-995.
[14]钱国祥,孙宏,彭振云.数据压缩技术经典[M].北京:学苑出版社,1994.
[15]Teng Ji,Pan Tuo-yu,Zhu Zhen-min,et al.A personalized recommendation model based on the user-state awareness[C]// The 1st IEEE Symposium on Web Society (IEEE SWS2009).2009:10-13.
[16]潘拓宇.融入用户行为上下文的个性化推荐模型[D].湘潭:湘潭大学,2010.