网络购票挑战铁道部
头条
世界上设计最简单的购票系统,遇到了世界上情况最复杂的购票高峰,这就是铁道部网络购票系统遇到的最大挑战。
谁都知道铁道部全面实施网上购票会遇到很多问题,但谁也没有想到这些问题来得如此之快,来得如此之多。
2012年1月5日早上,7点30分,刚刚起床的刘先生打开“铁路客户服务中心”网站,准备订一张北京到长沙的火车票,一直持续到8点钟都在不停地“刷屏”,8点8分,终于显示可以预订,马上点击预订,结果显示“很抱歉,当前访问用户过多,请稍后再试”。

不停地刷新,不停地填写验证码,“就差把键盘彻底砸了”,还是没有成功!不得已,他放弃网络购票,拨打电话订票热线,占线,继续打,拨了7次终于拨通了,按语音提示他终于订到了回家的票。抬表一看,两个多小时过去了。
跟刘先生一样,从1月份开始,数以百万计的希望通过互联网这一平台方便购到火车票的中国人,都不约而同地产生了想把键盘砸烂的冲动。
新年伊始,网络购票成为继去年“7·23”温州动车组事故之后,铁道部遇到的最大一个挑战。
互联网VS铁道部:“第一次亲密接触”不太成功
一年一度的春运如期而至,抢购火车票再度成为焦点。相信不少购票者都有刘先生这样的“遭遇”。
为了缓解往年一票难求、黄牛横行的局面,今年铁道部开始实施实名制购票,并启动了www.12306.cn这一互联网购票网站(铁路客户服务中心)。
虽说初衷是好的,但正如电脑报调查结果显示的那样,网站开通以来,“登录困难”、“吞钱不出票”等问题层出不穷,旅客质疑之声不绝于耳。
“尽管在12306网站上有比较详细的介绍,但实际操作体验与公告显示的并不符合。比如提前12天可以购票,但我一连几天提前登录都刷不出票来。登录和刷新速度是出了名的慢,令人难以忍受。”
电脑报记者以亲身体会认为:“网站在设计、安全和开发环节上有很大问题,首先要安装根证书,但操作过程中有好几次显示‘安全证书不受信任’;也不支持像Chrome这样的浏览器,给用户造成很大麻烦;在付款环节,12306能支持的银行很少,只有工行、农行、中行几家,最后选择银联支付才顺利完成。”
对于反响最为强烈的登录难问题,甘肃省铁路系统一位尚姓员工告诉记者,铁道部今年第一次搞这个系统,固然有一定的技术储备和经验不足等方面的原因,但是春运期间的大规模“井喷”现象成为导致系统瘫痪的主因。
“春运期间的运力缺口太大,现在铁道部每天的全部运能是300多万,春运期间每天的平均客流量达到500多万,运力缺口达到200万左右,还是停货保客的成果,运力不足、供不应求成为矛盾所在。今年铁道部对网络冲击的预计不足,但就算硬件、软件和系统都做好了,还是有200万缺口无法满足,还是有大量游客订不到票。因此,游客在春节期间改变出行理念,才是缓解这一问题的关键。”
而对于吞钱不出票问题,铁路部门解释,这是由于网络等原因导致银行的支付结果数据没有及时回传至铁路客户服务中心网站,而由于超出支付时限,用户订购的客票又直接返回铁道部的票务数据库,造成钱已支付购票却失败的尴尬。
技术专家则认为这是铁路客户服务中心票务系统与银行的支付系统在数据连接上出现问题。为此,铁路部门已增加了网络购票的支付时限,从30分钟延长为45分钟;银行也会根据规定,在15个工作日内把误扣的钱返还。
从网络故障发生以来,铁道部确实采取了不少补救措施,但如何从根源上解决好网站的访问和交易问题才是关键,毕竟,电商平台的构建涉及到硬件、软件、监测、管理、运营、服务等一系列问题,这对铁道部而言可谓挑战重重。
购票系统背后:IT专家天天守在现场

194万IP
截至2012年1月5日,12306网站的Alexa“一周平均排名”为339,日均IP为194万。
1GB
春运期间,12306网站的同时在线访问数据流量达到1GB。
500万
最高峰值时,同时访问12306网站的用户达到500万。
“我们的工程师一直在现场,从去年开始介入铁道部网络购票系统,前后有五六个人陷在这里,工程师实在没有时间接受采访,回答具体的问题。”
当电脑报记者联系到Sybase(赛贝斯软件)中国公司售前总监宋一平时,他一听到记者的意图,就直接这样表示。
宋一平解释,在春运这样的网络峰值访问期间,铁道部后台服务商的工程师们随时都在现场处理,不可能回答任何疑问,希望媒体能够体谅。
“有人认为这次网络购票系统之所以出现这么多问题,是技术上有很大问题,包括硬件和软件,有无这种可能?”记者问。
“不可能,”宋一平断然否认了后台技术上存在的问题。
铁道部这个网络购票系统的架构非常传统,包含WEB服务器、中间件服务器、数据服务器等,Sybase负责的是最后一层数据库,“这个系统试运行期间出现的种种情况,都不是技术上的问题,铁道部在不断调整系统,增加服务器、增加带宽等资源,遇到的峰值数据确实不好估计。”
Radware是一家在纳斯达克的上市公司,他们提供集成应用交付和应用安全解决方案,客户遍及40多个国家和地区。在铁道部的网络购票系统中,Radware是后台开发厂商之一。
在跟铁道部的合作中,Radware主要是为铁道部客票系统进行开发,如广州铁路局电话订票系统、成都铁路局客票系统5.0版、铁道部信息中心等都是Radware的成功案例。
记者与Radware北京公司联系之后,希望采访参与网络购票系统建设的工程师,Radware公关媒介部门的一位工作人员回答说:“我们的工程师一直在现场,没有时间接受采访。”在采访中,Radware表示网络购票在软件系统上不会有任何问题,“还是购票人数太多,都在同一时间发出数据请求,系统有一个承受力的问题。”
全世界情况最为复杂的购票高峰
记者在采访铁道部网络购票的后台服务商时,无论是哪一家厂商,都异口同声地否认技术上存在任何问题,认为春运这个世界上最复杂的购票高峰,会带来任何数据平台都难以想象到的问题。
宋一平就很直接地表示,这次铁道部网络购票之所以遇到这么多问题,不能单纯归咎于技术,原因很多。他举了个例子:“比如有些旅客在网上查询到有票,下单后又反馈没有票了,这种情况是怎么造成的呢?”
事实上这涉及到铁道部在信息化数据库体系上的特殊情况。
以前,铁道部都是在各地分局分别建立票务数据库系统,并没有完全统一。从1996年开始,Sybase就与铁道部合作开发铁路客票系统。客票系统是以各个铁路分局为主建立的,此次12306网上购票由铁道部统一管理的票务数据库,因此两套系统间需要数据同步,就需要到原有的地方数据库提取数据,一来一回就有个通讯延迟的问题。如果延迟严重了,就会出现上面的情况。“但这是小问题,同步问题很快就会解决。”宋一平说。
记者在Sybase对中国铁路客票系统的一份总结里看到:国内铁路客票系统管理非常复杂,规模庞大、实时性强。按照测算,有2万个售票窗口机联网,即使是全天候24小时不间断售票,每分钟也会有数千张铁路客票发售。可以说没有任何一个国家的铁路客票系统具有如此庞大的规模。
热线车票和售票时间较为集中,在售票高峰时,会同时产生8000 个~ 9000个座席申请,其中有相当数量是对同一时间、同一车次、相同座席的请求。为保证响应速度,对网络时延的要求非常高,计算机处理一张票的总时间一般应小于7 秒,其中网络通信时延要在2秒以内,满足这样的要求就具有一定的难度。
此外,因为客票的发售和预订在数量上总是供不应求,因此,每一张客票均要精确地确定座席,并且是当日当次有效。加上票种繁多、票价复杂、票额预分、座席复用和规章众多等等,给数据组织和数据库管理增加很多约束条件和困难。
技术专家为铁道部支招
在问题频出的同时,来自互联网服务商、硬件设备商、解决方案供应商等领域的专家学者纷纷支招,为12306平台的建设提出了自己的意见。
华为公司技术专家周磊告诉记者,购票平台的建设暴露出几个问题:
1.购票平台的软件部分是否经过充分的测试?
2.购票平台的硬件平台是否处理能力不足?(对访问量和处理量的估测不准确,导致硬件平台配置的处理能力不够)
3.购票平台的网络接口带宽是否足够大?是否在电信和联通配置了双接口?
以上问题哪一项不经过充分验证都会导致系统瘫痪,因此今后铁道部应该做好这几方面的测试和验证工作。
为了解决网络支付的问题,铁道部已经将网络购票的支付时限延长至45分钟。但在技术人士眼中,这个调整反而存在很大弊端:用户在网站停留时间越长,对网站数据压力就越大,而存在的安全风险也越大,这是一个恶性循环。
大部分在线票务网站对网络支付有严格时间限制,就是为了保证支付的安全性,当然这必须以完善的支付服务为前提,国内主流购票网站从下订单到最终出票的花费时间控制在15分钟左右。
雅虎公司的一位刘姓软件工程师则告诉记者,春运期间购票者的访问量和交易量巨大,铁道部的这套系统由铁道部科学研究院负责建设,其在互联网建设和运营方面缺乏经验,在面对大流量冲击时更加准备不足。
目前互联网技术人才缺口较大,这一问题在互联网行业也十分普遍,因此铁道部很难在短时间内建设好稳定的电商系统。在他看来,与互联网运营领域实力较强的服务商和集成商合作,或干脆进行外包(铁道部做好监管和控制),对于解决这一问题有积极的作用。
的确,“铁路客户服务中心”网站是铁道部信息中心和中国铁道科学研究院共同开发,都是铁道部内部企业。在铁路系统,这种信息化建设更多是内部关联企业来承建,这样有好处也有坏处。好处是便于控制,执行力强,坏处则是内部企业IT技术实力不强,很难在短期内保证信息化的效果。
也有专家从技术细节上提出建议。淘宝网开放平台架构师岑文初则认为,购票系统设计可以分两步走:首先,买票并发通过简单的计数器模式建成,然后迅速给有资格的人颁发验证码;然后,获得验证码的人用此码直接走另一个通道买票。那么压力主要在前端,只要返回设计足够快就好,而后端的处理可以慢慢进行。
但铁道部毕竟不是互联网公司,铁道部触网,无论从打破体制障碍,还是积累技术经验、创新运营及合作模式上都有漫长的路要走。
正如一位旅客的期望那样,“期待来年,我们能像淘宝、卓越购物那样,方便快速地在线订上火车票”。
国内火车站现场调查
时间:2012年1月6日
地点:北京火车站
对象:互联网购票取票者
为了了解旅客通过互联网购票取票的直观感受,2012年1月6日,电脑报记者前往北京站售票大厅,驻守在“互联网购票自助取票机”旁,对前来取票者进行了一次现场调查。
与北京站前熙熙攘攘的人群和游客相比,来往“互联网购票自助取票机”前的人显得稀稀拉拉、秩序井然。在与十多位取票者的沟通中,我们发现,取票的顺畅与购票的“纠结”形成了巨大的反差。
通过自助终端机,已成功订票者仅需几十秒钟就能取到票,取票步骤相当简单——点击“互联网取票”、读取二代身份证、点击“打印车票”、取走车票,四个步骤很快就搞定,身份证读取是关键,无需输入任何信息。除了借助自助终端,取票者也可排队到对面的“互联网购票取票专口”取票,但由于自助终端比较闲置,前来取票者几乎都选择了自助终端取票。绝大多数的取票者对流畅的取票过程表示“相当满意”。
然而,谈及购票过程,超过90%的取票者都眉头紧锁,各种不满随之而来,“登录难”、“网速慢”、“不停地刷屏”成为我们听到最多的词汇。
“注册成功后,登录进去非常麻烦,总是显示访问量过多;好不容易登录进去了,订上票了,付款的时候又不行了,再进去就难了。得不停地刷屏,刷了大概三四十分钟,总算成功了!”一位取票者如此告诉记者。
“登了好几次发现,说是8点钟放票,实际上一直到9点才能登录上去查询,也不知道为什么,好不容易登上去了,刷吧,不停地刷,运气好的话就能订上,运气不好也没辙,只能第二天继续刷。而且网站只支持几个大银行付款,像我的浦发、光大卡都没法付款。”另一位取票者的不满也溢于言表。
还有来取票的几位农民工模样的人,一位年龄稍大者告诉记者,本来他准备像往年一样到车站排队购票,可是一位年青人告诉他,今年开始提前12天网络放票,比窗口放票提前10天早了2天,他担心2天内票会被抢购一空,又不太会“上网”,所以他在年青人的帮助下订到了票。
也有一位购票者给出了成功购票的经验:“别挑大家都集中购票的时间上网,我是在中午饭的时候登了上去,也刷了几次屏,但是很快就订到了票。”
还有几位前来取票的大学生,发现自助终端并不支持学生取票,因为学生、儿童、军人订票只能通过人工窗口办理。他们告诉记者,相比成人票,学生票要好订得多。他们认为,今年开始的互联网购票,让他们方便了许多。尽管还有这样那样的不足,但毕竟是第一年开始互联网购票,他们的很多同学都对铁道部此举表示欢迎。他们期盼着:“什么时候能像淘宝、卓越购物一样快速流畅地在线订购火车票就好了!”
记者现场也采访了几位工作人员,他们告诉记者,元旦假期之后,春运高峰期陆续到来,旅客网络和现场购票情况日趋紧张。“这个也是没办法,每年的春运对铁路系统都是一个大考验,今年不得不增设了互联网购票。特别是在早上8点钟以后,全国各地那么多人冲击一个网站,造成网络拥堵是可以想像的。”但是她也承认,铁道部系统应该向其他领域的网络运营商和专家多学习,避免因技术问题给订票者造成不必要的麻烦。
从网站设计人员的角度来看,铁道部的12306铁路客户服务中心到底存在什么问题?
一个网站开发者眼中的12306
作者李楠,资深网站工程师,创新工场摩卡图项目 CTO,拥有多年网站开发经验
域名
访问铁路客户服务中心必须完整输入 www.12306.cn。而12306.cn 域名并没做相应解析或跳转。
既然 12306.cn 被外界多次提到,那么网站管理人员理应为 12306.cn 作域名解析或跳转。
页面
网站最重要的“购票”功能被放到了并不醒目的页面中部左栏,不仅是购票功能,大多数重要功能都被安置在这里。
网站还出现大量毫无意义的图标图片;对用户非常重要的“唯一授权声明”却以最小号的文字配以模糊的轮廓出现在 Flash 动画里。
交互性
订票是一件复杂的事情,这就要求要把复杂事情简单化。
但整个购票系统并不乐观,比如注册必须要填写的“电子邮箱”对农民工朋友就是个门槛;整个 12306 网站及其下属的订票系统在源代码上可优化的空间也很大,比如压缩合并 js css html ,减少无意义的图片修饰。
建议开发者采用 JSON 类数据通信来节约带宽,这样也能大大增加整体系统的吞吐量,哪怕 1KB 的努力就可以让归心似箭的游子少一秒等待。
安全
经过对整个系统的试用发现,至少两个原本需要加密的内容却采用明文存储,分别是用于语音查询的密码和忘记密码问题的答案。
为重要敏感字段进行加密存储意味着即使系统本身的开发者或者黑客截取到系统中存储的数据,也不能轻易获取敏感信息。
还有订票系统中多个用于 AJAX 的接口目前没有访问控制,这也无形之中给一些居心不良的专业人员以可乘之机。
小资料

前车之鉴:奥运会网上购票宕机
2007年10月,北京奥运会网上购票出现宕机故障,当时也是因为瞬间访问量过大,用户购票申请无法提交,网站一时瘫痪。据了解,奥运票务系统每小时能处理3万张门票的销售,以及承担每小时100万次以上的网上浏览量。但由于订票人数超出预期,出现故障。