发布信息

春运抢票难?12306 系统复杂性远超想象

作者:软荐小编      2024-06-23 09:10:11     198

《中国经济周刊》记者 周琦 |北京报道

一年一度的高考、国考、春节被誉为中国“三大全民参与活动”。其中,春节最为广泛,最受关注。

年底,春节出行必备的12306再次成为最常用的APP之一。从春节门票开始发售的那一刻起,在外面辛勤劳作的人们日夜点滴刷新,期盼着订票成功那一刻的到来。

然而,热门方向、热门时段、热门列车的需求巨大,难以满足大家的购票需求,这延伸了很多人对12306的疑问——为什么抢不到票?在过去的几年里,当12306系统多次不稳定时,中国铁路总公司(现为中国中铁集团)备受关注。

事实上,12306系统的复杂程度远远超出了外界的想象——在SKU(商品库存)数量比淘宝等电商更难计算的情况下,每天还要完成1500多万个订单,承受近1500亿次点击。

“每天都是'双11'。”这是12306圈内人自嘲的“口头禅”,也是对现实的写照。

春节第一天(1月10日),《中国经济周刊》记者走进铁道科学院12306全程客票系统监控中心,探究12306的“秘密”。

刷票火车票软件_火车票刷票器_火车刷票软件哪个好

12306全程票务系统监控中心监控大屏。《中国经济周刊》记者周琦摄

库存的复杂程度远大于淘宝和 JD.com

12306系统的难点是什么?

在提出质疑的网友中,不乏软件工程师,甚至有人表示,只要40台服务器、2个架构师、4个程序员,就足以开发出类似12306的在线票务系统。

但实际上,12306的库存复杂度比淘宝、JD.com 等电商要高出许多倍,计算量也大得多,传统的分布式数据库、缓存、负载均衡技术无法满足12306的需求。

淘宝的一位前高级工程师对此进行了非常详细的分析。

在电商平台上,每件商品对应一个SKU,如果有人购买1件,库存就会减少1件。12306的特殊性在于,火车票是动态SKU,计算出的数据量可能是普通电商产品的上百倍。

以北京西至深圳福田的G71高铁为例,共有17个车站,3种座位。表面上看,看似有3个SKU,分别是G71商务舱、头等舱、二等舱,但实际上G71高铁有408个SKU。

原因很简单:从北京西站出发的车票后面有16个车站,也就是16个不同的车票;涿州火车东站是第二站,有15种不同种类的车票,以此类推火车刷票软件哪个好,单站下车,G71高铁将有16+15......+2+1=136个SKU,每张车票对应3种座位,共408种商品。

火车票刷票器_火车刷票软件哪个好_刷票火车票软件

12306票务系统监控中心售票时间表。《中国经济周刊》记者周琦摄

也就是说,如果乘客购买北京西站到涿州东站的车票,G71高铁的SKU将减去16;如果您购买从北京西站到深圳福田站的车票,则需要减去 136 个 SKU。

以上只是SKU的减值。如果旅客购买短途车票,如北京西站到涿州东站,在减去16个SKU的同时,需要将涿州东站的SKU加到后续车站,并相互依次加,即增加120个SKU。

再加上当前的座位选择(A、B、C、D、F),计算次数可能会增加一倍。而这些计算需要在几秒甚至几毫秒内完成,大量购票者。

对于上述计算方法,铁道科学院12306技术部技术总监杨立鹏在接受《中国经济周刊》记者采访时表示,售票会引起非常复杂的链条变化,这在铁路行业是独一无二的。因此,在设计12306时,首先要考虑到铁路部门的业务需求,“铁路应该支持沿途不同的乘客。特别是一些停靠较多的列车,有些列车要运行70多个小时,一列火车正常可能拉1000多名乘客,但实际上,不同阶段、不同路段能卖出的车票,远不止这个价值。”

杨立鹏介绍,售票后数据变化,12306系统压力测试非常大,铁路部门根据不同的运力需求和运营安排,对数据进行了分析预测,提前安排了相应客票的销售,缓解了压力。“从1996年到现在,铁路部门通过20多年的技术积累,采用了一些独特的技术方案来解决这个问题。

例如,在不同时间段销售门票,大大降低了同一时间段的数据压力。12306的出票时间从原来的每天4个出票时间点增加到10个,现在每天有21个出票时间点。

火车票刷票器_刷票火车票软件_火车刷票软件哪个好

12306全程票务系统监控中心监控大屏,风险请求占一半以上。《中国经济周刊》记者周琦摄

在高峰日平均 1 秒,它获得了超过 170 万次点击

作为全球最大的实时票务系统,我国铁路客运票务系统平均每年销售30亿张火车票,这些火车票可以首尾绕地球七圈。

铁道科学院12306技术部副主任闫志远介绍,目前,互联网销售占铁路票务所有渠道的80%以上,其中手机客户端占互联网票务的78%,网络终端占互联网票务的22%。

1月3日,2020年春节以来的最高销售日,铁路部门通过全渠道售出1637万张车票,其中线上车票占比88%。

在绝大多数通过互联网渠道售票的过程中,12306系统的稳定运行是绝对的核心工作。

据铁道科学研究院首席研究员、12306技术部主任单兴华介绍,2020年春节期间,12306高峰期网络点击量达1495亿次。

也就是说,12306在高峰日平均每1秒要承受超过170万次点击,大致相当于中国人每天在12306上点击100次。

12306面临的流动压力可想而知。一位IT工程师听到《中国经济周刊》记者转述的这组数据,表示自己很难想象,“就算是百度也很难有这么多的点击量,可以说是天文数字。”

相比之下,淘宝在2019年的订单创建峰值为每秒544,000笔交易。根据Trustdata的数据,淘宝应用在2019年“双11”当天的日活跃用户为4.76亿。

如果这样计算,12306的最高访问量,相当于“双11”当天淘宝上每个活跃用户点击300次以上。

对此,杨立鹏自嘲称,12306系统基本上是“天天被杀,天天被抢购,天天'双11'”。

火车票刷票器_刷票火车票软件_火车刷票软件哪个好

铁道科学院首席研究员、12306技术部主任单兴华介绍了12306的相关情况。《中国经济周刊》记者周琦摄

“组合拳”打击恶意刷票值得注意的是

,在如此高的点击次数中,有风险的请求占了很高的比例。

1月10日上午,12306全程票务系统首次向媒体开放。监控画面显示,截至当日上午9点,12306已收到52%的风险请求,每秒有82.12万个风险请求。滚动风险拦截告警详细记录了风险请求来源的IP地址和省份。

闫志远表示,12306在2018年开始构建风控系统,通过识别一些异常行为进行拦截,包括浏览器和IP。“例如,普通乘客每次购票可能需要一秒钟,而风险请求可能达到毫秒级,此类异常请求将被风控系统拦截。当然,在具体拦截方面,我们还有更多的方面需要考虑和识别手段。”

在这些风险请求中,来自第三方票务抓取软件的请求占很大比例。

单兴华表示,其他网站提供的抢票服务对12306系统产生了一定影响,因此铁路部门开展了风险控制方面的研发,通过风控系统拦截了一些异常行为,确保12306能够稳定运行。“我们确保运营稳定的目的是什么?是为了让普通旅客正常查询、正常下单、正常支付,更好地保证售票的公平公正。避免一些票价上涨、票价上涨、一些退票和退票费用,让乘客蒙受损失。”

除了通过风控系统进行防范外火车刷票软件哪个好,铁路部门还起到了“组合拳”的作用,通过“候补购票”,让刷票软件存在的意义大大降低。

“自2019年12月12日春节车票开售以来,铁路12306售票系统累计兑现候补购票订单582.6万张,售票723.7万张,兑换率达到76.8%,减少了旅客重复查询次数。”单兴华说。

近年来,12306上对“图片识别”的需求大大减少,这也得益于这套“组合打孔”。

此外,云技术的使用也极大地保证了12306系统运行的稳定性。

自2014年以来,12306共享了“云”网站访问量最大的查询业务。2016 年,12306 进一步扩展了云容量,几乎所有的查询访问都在云中进行。

在接受《中国经济周刊》记者采访时,杨立鹏介绍,12306通过采用公有云和私有云相结合的方式,提升了12306的数据处理能力。“在日常情况下,中国铁道集团和铁道科学研究院各有一个数据中心,利用自己的资源提供票务服务。节假日等高峰期,采用公私结合的混合云技术,提升业务能力,更加兼顾经济等方面。”

单兴华补充道,12306是一个灵活且可扩展的架构,核心数据只在核心部分,扩展功能可以和一些扩展服务器一起扩展,或者与公有云合作,“这些不会与整个核心部分交织在一起,它们不会相互影响。”

调研:往返机票一起购买

12306除了保证系统的稳定运行外,还通过大数据分析为乘客提供便捷的购票服务。

据悉,铁路部门通过大数据分析,可以提前预测部分热门地区的需求,然后在条件允许的情况下增加运力,例如将8节车厢动车组增加到16节车厢动车组,或者开行旅客列车。

据单兴华介绍,自2020年春节车票开售以来,截至1月9日,各铁路渠道累计售出4.12亿张车票,其中预售春节车票1.3亿张。

她还表示,春节门票预售,即售票首日预售的门票占比不到1/3,说明很多乘客并不着急,开售首日没有抢票。热门地区、热门方向和高峰时段的车票很紧张,但有些列车仍有剩余车票。“剩下的这些票大多是时间差,或者座位差,比如站票。从大数据可以清楚地看出,旅客出行已经从“走路”变成了“走得好”。”

大数据的便利性还不止于此,还需要12306系统的大数据支持,优先为老人分配下铺,为儿童分配相邻座位。

单兴华告诉《中国经济周刊》记者,12306有购票人的基本身份信息,如果系统判断订单中有老人,会优先为老人找下铺,“哪怕只有一个下铺,也一定会给他找。”

在为孩子配置相邻座位方面,考虑到父母有孩子,车票本身分为全价票和半价票两种,当位置不相邻时可能会出现,不容易打理,有时甚至会出现在不同的车厢,12306在2020年春节期间进行了优化。“即使车票已经售罄,为了平衡运输需求,系统也会尝试将它们匹配在相邻位置,如果没有相邻位置,它们将优先放在同一车厢中。”她说。

值得注意的是,铁路部门也在研究从大城市到二三线城市的往返车票同时购票的问题。

铁路部门通过大数据分析发现,很多旅客在从大城市返程到二三线城市的过程中,都会遇到买去程票不买回程票,或者只买回程票不买出境票的问题。特别是在春节等假期,问题更加突出。

“我们一直在分析这种模式,我们将研究在旅行时是否可以考虑出境和回程需求。特别是如果乘客已经购买了出境旅行,是否优先配给回程?但是,这些措施可能仍需要在研究成熟后制定,并且可能会在启动之前进行一些评估,这可能需要一些时间。”

相关内容 查看全部