12306并没有想办法出来去忽悠大家,是大家自己把自己忽悠住了。

anycmd 发布于 2014/11/13 22:36
阅读 940
收藏 4

也没有想象的那么复杂啊,某列车一共1000个座位每站最多卖1000张票,每一个站初始都是1000张票,任何一个卖掉任何一张票时都把这张票的“始站”到“目的站”的左闭右开空间中的的余票减1。每一站至多卖出去1000张票。那个商品是“座位”,并不是众多的上下站的组合。卖的是座位,只要有空位就可以卖。卖票时根本不用考虑你的目的站是哪!即使站短的只能买站立票那也只是加上去一点点简单的逻辑啊。

这根本就没有多么大量的计算和IO,一列车从始发站到终点站又能经过多少站呢?顶多几十个而已,即使不做任何优化,访问几十次数据库又能如何。
每一列车上的票完全可以一张一张的卖,系统就只一张一张的计算就可以了,要都挤在一个时刻买票的话那就排队就可以了,反正系统一张一张的卖是能卖的及时的。12306并没有想办法出来去忽悠大家,是大家自己把自己忽悠住了。
加载中
0
anycmd
anycmd

希望大家关注anycmd。您能看得出,为了挣人气我已经费尽心思了。

0
自由PHP
自由PHP

果然为了眼球不择手段了

关键是要与座位号对应,假如一节车厢定员108人,那就是有108个座位。西安到海口的车,假如我买了武汉到广州的票,那么并不是简单的武汉-广州区间内减一,而是指定的座位减一。

不是有空位就能卖,假如说6车厢的036号座位在西安站是空的,但是在下一站却已经有人买了,单纯的判断这个站为空不行吧

anycmd
anycmd
有道理。补充的好,判断有没有票改成判断上车站到下车站是不是每一站都有空位。如果都有空位再定位那个共同的空位。
0
月落苍穹
月落苍穹

根本不是那么回事,即使有空位,也不给你出票,行政命令比技术大多了。比如大站要留票,小站上下车,即使有空位,也是不是随便出的。

0
大王叫我来卖萌
大王叫我来卖萌
不是这么简单的……
返回顶部
顶部