
当年12306上线后经常崩溃,铁道部转而寻求IBM、阿里巴巴等业界巨头的协助,以期攻克技术难关,开出的条件是资金无上限,但务必确保问题得到圆满解决。然而,这些行业巨擘最终都婉拒了这一挑战。在后面透露出的信息显示,即便是IBM、Oracle、Sybase这样的国际领先企业,也无法满足其严苛要求。简而言之,当年IBM等企业的技术实力未能达标,未能“啃下这块硬骨头”,凸显了12306系统技术难度之高。下面从具体购票的场景进行说明,并给出12306采用的技术解决方案。业务场景描述:考虑从北京西到深圳北的一趟高铁列车,这趟列车沿途设有多个站点,提供商务座、一等座、二等座三种座次类型。对于这样一趟列车,其购票业务的复杂度远远超出了普通商品的购买。SKU数量庞大:从北京西到深圳北的全程票,以及从北京西到沿途任何一个站点的区间票,都视为一个独立的SKU。假设沿途设有10个中间站点,那么对于每一种座次类型,都有从北京西到这些站点的单程票,以及从这些站点到深圳北的单程票,还有跨越不同站点的区间票。商务座、一等座、二等座三种座次类型,每种座次都有大量的区间组合,总共可以形成大约165个不同的SKU。这是怎么计算得来的呢:如果卖北京西始发的G81,有10种卖法(因为后面有10个站),北京西到:石家庄、鹤壁东、郑州东、驻马店西、武汉、长沙南、衡阳东、广州南、虎门、深圳,都是一个独立的商品。同理,石家庄上车的,有9种下车的可能,以此类推,单以上下车的站来计算,有55种票:10+9+8....+2+1=55。每种票都有3种座位,一共是165个商品。购票扣减复杂性:当一张车票售出时,不仅该起点到终点的SKU库存减少,所有包含该区段的区间票SKU库存也需要相应调整。例如,如果