12306后台运算量很大,淘宝也只能笑笑


常把12306与淘宝相比。事实上,淘宝“双11”等高峰时段的订单虽多,但数据间并不存在多少关联。但12306每售出一张票都要对全线路做数据更新,车票数据之间存在互相关联,“牵一发而动全身”,直接搬运淘宝的方案难以解决问题。
以北京西到深圳北的G71次高铁为例(这里只考虑南下的方向,不考虑深圳北到北京西的,那是另外一个车次,叫G72),它有17个站(北京西是01号站,深圳北是17号站),3种座位(商务、一等、二等)。表面看起来,这不就是3个商品吗?G71商务座、G71一等座、G71二等座。大部分轻易喷12306的技术人员(包括某些中等规模公司的专家、CTO)就是在这里栽第一个跟头的。
实际上,G71有136*3=408种商品(408个SKU),怎么算来的?请看:
如果卖北京西始发的,有16种卖法(因为后面有16个站),北京西到:保定、石家庄、郑州、武汉、长沙、广州、虎门、深圳。。。。都是一个独立的商品,
同理,石家庄上车的,有15种下车的可能,以此类推,单以上下车的站来计算,有136种票:16+15+14....+2+1=136。每种票都有3种座位,一共是408个商品。
好了,再看出票时怎么减库存,由于商务、一等、二等三种座位数是独立的,库存操作也是一样的,下文我就不再提座位的差别的,只讨论出发与到达站。另外,下文说的是理论世界的模型,不是说12306的数据库就是这么设计的。
旅客A买了一张北京西(01号站)到保定东(02号站)的,那【北京西到保定东】这个商品的库存就要减一,同时,北京西到石家庄、郑州、武汉、长沙、广州、虎门、深圳等15个站台的商品库存也要减一,也就是说,出一张北京到保定东的票,实际上要减16个商品的库存!
这还不是最复杂的,如果旅客B买了一张北京西(01号站)到深圳北(17号站)的票,除了【北京西到深圳北】这个商品的库存要减一,北京西到保定东、石家庄、郑州、武汉、长沙、广州、虎门等15个站台的商品库存也要减1,保定东到石家庄、郑州、武汉、长沙、广州、虎门、深圳北等15个站台的商品库存要减1。。。总计要减库存的商品数是16+15+14+……+1=120个。

12306今年能改进不少,和马云派驻了一队工程师的帮忙也有很大关系。
12306上购票排队功能,就是淘宝团队给12306提的方案之一
云计算不是进销存。情况不同,算法肯定也不同,烂就是烂,没啥好说的
这个思路好
其实很多就是思路,上面那个什么120个啊什么对计算机来说真是毛毛雨,说实话,不行就是不行
不管5个亿也好,10个亿也好,其实对铁路来说都不是问题,可是,就是系统不行
上回说系统投入太多就浪费,事实上,我们现在大家用的电脑,99%以上人的配置都是浪费的,我现在店里用的4400CPU用用轻松得很,即使是这样7-8年前的配置,依然属于浪费,呵呵,所以么,有人要捧臭脚也是没办法的

投入太大,是浪费资源的,铁路售票的瓶颈就是节假日时候,平常不会卡,就好像高速公路,平常六车道就可以应付了,偶尔节假日就会赌车,假如花大价钱去建个12车道或更大,按平常来说剩下的六条只能晒晒谷了,资源浪费。

嘿嘿,最近给12306说好话的人挺多,12306不知道在这上面雇佣了多少人哈!
别的不说,后台算法什么的,都没什么好说的,鬼知道后台怎么算的,我们只看前台,2小时都登陆不进去,登陆进去了不显示验证码,这些该怎么说?这些可不设计复杂的后台算法吧,不用update数据库吧
这个浪费会很多么?相对软件,硬件投入其实是这上面的小部分而已
我以为,这网站不行,瓶颈绝对不应该是在硬件上的,而是软件上的
虽然我对这方面不懂,但常识告诉我就是如此
现在普通家用计算机的能力都已经达到什么数量级了,这点东东部级企业的硬件还不够的话,真是无语了

说白了,是这个系统最开始设计构造的时候,设计师压根没有大数据的经验,这种流量的数据不是小小的铁道部下面的一个什么研究院能接触到的,他们顶多也就在铁道部系统里横,铁道部只想把东西喂给下面的自己的儿子,不管儿子吃不吃的了
初始设计已经定型了,以后所谓的请专家提建议啊什么的,都不能从根本上改变这个系统,重新设计吧,又要被喷,这个节骨眼上,又不敢再投几个亿进去,所以,就这么不尴不尬了
就象刚才那位网友说的,网站增加排除功能
按刷进去的时间,进行排队
普通人网上购票没人在乎多等几分钟吧?即使是网络硬件有限,那就按可接受的数量的三分之二的量来排队,超过这个数量的,在数分钟后再接入数据库
购票的人,只不过是在电脑前多待一些时间,哪怕是半小时,我们当年在售票处排队半小时以上的次数多得去了。
这么简单的事,连我们的网友都能想到,呵呵,所以,不要为他们的网站找借口了,水平不行就是不行
如果他们当初为这个系统在国内公开招标,我想,5个亿绝对能做出来超过这水平的
给就差一点评分:积分 +2理由: 这是理性分析。
就好比你说的,即使是卖掉一张票减500个库存,相当于购一张票相当于普通购物网站500次购物,对计算机来说也是小菜
一天毕竟只有这么数十万张车票而已,而且是分时段售票的 即使中按一个时间十万张的量,也就是5000万次的量,这对硬件是大的问题么?
你看你狭隘了吧,帮12306说句公道话,就是被铁道部雇佣了?

还好我没这个烦恼