12306和淘宝真不一样

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了12306和淘宝真不一样相关的知识,希望对你有一定的参考价值。

每每到了逢年过节,举家出行的时候,12306购票就会又成为大家的话题中心,又常常会把12306购票和淘宝购物拎到一起对比。今天就来给大家聊一聊12306购票和淘宝购物的不同之处。

淘宝的购物方式可以认为是一种库存减少型的计数,而且可以存在超卖的情况。淘宝上购买任意一款商品,该款商品的所有属性完全一致。假设商品为(北京-上海,xx车,01车厢)车票,总数为50张。那么这50张票只包含北京-上海,xx车,01车厢这3个属性值。当旅客购买车票的时候,每卖掉1张车票,该车票的总量减少1,所以剩余车票张数为49,注意卖出的这张车票的属性并没有发生变化,只是库存余量的变化。

技术分享

总结来说就是商品的库存为N,已售是作为库存进行-1的行为,库存剩余为N-1,并且商品属性值并没有变化。

那么12306购买和淘宝购物有明显的差别,同样为(北京-上海,01车厢)车票。这些车票相同属性值为(北京-上海,XX车,01车厢),不同的属性值就是席位,因为火车上的席位是唯一的,那么就是说每一张车票,它的库存余量都是1。那么如果有50个席位,就类似淘宝有50件商品一样,每件商品库存均为1。假设旅客购买(北京-上海,xx车,01车厢,01A席位)车票,该商品就已售完了,这是最简单的一种情况。

现在变换的稍微复杂一点。依然是(北京-上海)车票,其中途停1北京、2南京、3苏州、4上海,停靠4个车站,可售卖的区段按照排列组合的方式,包含

A:1-2,B:2-3,C:3-4,D:1-3,E:1-4,F:2-4,总共6个区段,如表1。

 

1北京

2南京

3苏州

4上海

1北京

 

A:1-2

D:1-3

E:1-4

2南京

   

B:2-3

F:2-4

3苏州

     

C:3-4

表1

接着给这个车次设置一个属性值,例如2016-10-01,北京-上海,DXXX次,01车,二等座,01A席位。那么当购买B:2-3这个区段后,(01车,二等座,01席位)车票就被拆分为A:1-2(未售),B:2-3(已售),C:3-4(未售),D:1-3(不可售),E:1-4(不可售),F:2-4(不可售)。

技术分享
最直观的感觉就是,就是车票由6个可售区段变为3个可售区段的过程。现在退掉01车,二等座,01席位B:2-3这个区段,整张车票就6个可售区段完整。

       再假设一个场景,例如先购买 B:2-3区段,再购买A:1-2区段,然后退票B:2-3区段,当前情况为A:1-2(已售),B:2-3(未售),C:3-4(未售),D:1-3(不可售),E:1-4(不可售),F:2-4(未售),当前可售卖B、C、F三个区段。

技术分享

       以上两种情况可以看出来,这个时候,车票的库存量并不能认为是唯一的,而是根据实际需求进行变化,但是这些变化又是有据可循,不能脱离车票的预设属性值范围。

       总结来说,12306购票和淘宝购物的区别在于,可以认为在淘宝上是有N件商品的,每个商品库存为1,已售作为库存进行-1的操作,其剩余库存为0,接着该销售行为可能会引起商品的连锁变化,一种的商品已下架,未引出其他商品;一种是商品已下架,但是自动生成了新的商品的过程。

       更复杂的情况就不再本文里赘叙了,在这里小喵只是想表达,12306真的是一个又复杂又繁琐的售票过程,这里只是用最简单的方式呈献其中的部分逻辑给旅客,希望广大旅客能给予更多的信任和理解,我们也会努力让大家的出行变得更简单更便捷。

 

以上是关于12306和淘宝真不一样的主要内容,如果未能解决你的问题,请参考以下文章

干货篇 | Nginx 我还真不信你学不会(上)

关于马云不用淘宝不用支付宝的想法

浅谈12306核心模型设计思路和架构设计

面试官:淘宝七天自动确认收货,可以怎么实现?

用winform怎么实现图片列表展示,类似于淘宝网上成列的商品一样,可以上下翻页

浅谈12306的核心模型设计