乱侃“身为码农,为 12306 说两句公道话”

自由之信 发布于 2014/01/12 13:48
阅读 2K+
收藏 2

看了作者写的文章,说了很多我基本上都了解很少的技术,不过我个人的看法,作者对于这种网站和B2C的比较其实是个错误的比较。

表面上售票网站和B2C类似,票就是商品,销售给客户,同时来协同各种商品的买卖和数据的完整。但是,其实本质上是不同的。

在没有售票网站之前,大家都是通过到站台上购买车票,铁路系统使用的是一个分时系统类似的网络,这种网络其实和银行的网络类似,是可以通过地方的计算中心来控制数据的完整的,并且连接到中央的网络系统,我这样说,只是我的一种概念,因为我没有了解过它们系统的细节。只是过去遇到一个曾经在地方分行工作的技术提过,他们分行中心过去用的是一个中型机(他是这样说的),所以我猜测这种网络和我们书上谈到的分时网络是一样的道理。

如果说12306只是一个售票代理,就是从别人那里收集了一些票,然后在网上推销销售,那么也就是一个B2C,那么我也没有什么可说的了,大家都说了很多了。

不过12306既然投入了那么多钱,按照其所计划的目标,应该是和车站的系统是协同工作的,那么也就是说,它们的系统是互联的,而且数据是共享的。这一点可以类比于网上银行系统,本质上网上银行的数据的处理还是在其中心的服务器上。

12306的作用,是销售车票,但是其运作的方式,我觉得不可能和目前的B2C来类比,看作者引用了很多的技术例子来和淘宝作比较,其实我觉得,简单地说,12306的作用就是把网络上的购票请求形成一个队列,这个队列的事务是通过背后的数据中心来处理的。那么队列的原则好像站台购票的原则,先来先到似乎也就可以了。

如果从这个角度上看,对于队列的处理需要和原来的分时的系统对接的,所以背后的处理的体系架构,就不是普通的B2C网站的架构,其实还是一个分时的系统,只是说橱窗换成了网页。

对于分时的系统,银行是我知道的经典的例子,我认为对于这样的系统是有成熟的解决方案的,所以设计这个系统的架构的时候,如果你选择对了解决方案,那么就可以形成一个相对安全和成熟的系统,我这样说,只是想说,如果12306选择对了解决方案,其实是可以形成一个相对安全和成熟的系统。

那么,其实作者把12306这种系统和淘宝,或者百度,或者什么什么来比较,其实都是不妥的,不管是硬件,软件以及资金的投入的比较,都是不合适的。因为体系结构不一样(不是说12306的体系结构,是说这种应用的体系结构),所以拿设计B2C的逻辑来设计这样的系统,其实是差了少许,也许最后结果就离的比较远了。

个人的看法,我觉得这个项目本身和铁路内部的管理有关,大家看过新闻,知道那个时候铁路的管理出现的问题,其实对于系统而言,我认为是有成熟的解决方案的,只是他们由于某种原因,没有选择成熟的方案。

要说明的是,我对于12306没有使用经验,但是认为作者所说的其实并不能支持他的观点,因为比较的并不是同一架构的系统。

个人看法,多多指教。





加载中
1
宏哥
宏哥

一群连基本 登录框都做不好的码农

谈12306建设

就两个字:

扯淡

MrDing
MrDing
此楼真像帝
0
修改登录密码
修改登录密码

那篇文章本身确实有很多错误的地方

把一段有17站的路线分成136个商品来处理, 这本身就是很荒唐的做法,把处理问题复杂化

0
修改登录密码
修改登录密码

从我做车的经验来看,我们在一些过路站上车的时候会发现该站上车的人可能都集中在某两三节车厢内.所以卖票的时候, 很可能是把车厢根据站点大小配额分配到不同的铁路站.  比如,一开始,给北京始发的保留20个车厢, 衡水  南京这类大站预留一定的票位. 这样先把几个重要的枢纽站解决. 这是对线路的一个粗粒度的划分

我们买一些小站的票经常会发现提前买就买不到, 到了发车前两天又买到了, 除了有部分退票, 很可能是在枢纽站卖完票后剩下的碎片线路用来解决小站问题. 

这样确实有好处, 枢纽站能解决大部分的交通问题,  而且按照站点预留车厢也能提高查询速度




傅小黑
傅小黑
@eel 不管这些。。无论模型多厉害,还是会比较复杂。。现在的问题是速度,需要理解得到最新的结果,显示到余票继续抢
修改登录密码
修改登录密码
回复 @傅小黑 : 这种排列组合的代价非常高,特别是站多的时候, 处理起来也很麻烦。 比较好的方法是 为一条线路维护一个状态表, 17个站就用16个线段表示,一张票卖出后就把相应的线段状态标记为不可用就行了。 比维护那个组合列表要简单多
傅小黑
傅小黑
但是还有一个问题,就是其实这136种可以为互相之间转换,比如预留票没卖出去,就变成全段票了
傅小黑
傅小黑
呵呵,136种是完全的状态,因为预分配,实际上没那么多
0
Monkey
Monkey
直接抽奖算了,it大牛和民工机会均等。
0
ellan
ellan
最近为12306洗地的比较多啊!
0
东胜神洲
东胜神洲

引用来自“ellan”的答案

最近为12306洗地的比较多啊!
按你的意思,应该是一边倒地批他烂的嘴炮?。。。只要是讨论问题的,都应该允许有不同的意见 。。如果你有不同意见,就将你的技术观点说出来,而不是“贴标签”
JYToscer
JYToscer
回复 @铂金小鬼 : 是的,见到就应该批,直到它能解决问题,或者批到中纪委能够查出来几亿用到什么地方去了! -----这话是你说的吧,我觉得一个心智成熟的人是说不出这种话的。也许你觉得我刚是骂你红卫兵,我只是觉得你说的话很那个("幼稚"或者"愤青")。
铂金小鬼
铂金小鬼
回复 @jinyutangaile : 提个意见,就像被踩到尾巴一样,给人来个XX的便签,这才是XX吧,不提意见,你去跪舔你主子吧!
JYToscer
JYToscer
回复 @铂金小鬼 : 能说出这种话的人文革的时候可是红卫兵啊。
东胜神洲
东胜神洲
回复 @铂金小鬼 : 。。我的意思是,在一个技术网站吵政治问题,你觉得有意义吗?。。一个满眼都是 “洗地”“天朝都是这样”的技术网站,你觉得很爽很有意义?
铂金小鬼
铂金小鬼
回复 @东胜神洲 : 没查出什么,刘志军怎么下去了!
下一页
0
东胜神洲
东胜神洲

要明白,作者所写的贴子,是回复某些人的观点: 12306 相当于淘宝的“秒杀” 。。。有了这个前提,你就看到文章中跟淘宝比较的桥段

12306 是不是一个分时系统,确实需要局中人来回答,但至少从抢票的角度来看,将卖票看成某个规则下的“秒杀” 并不完全没道理。反而将卖票看成银行系统,你觉得合理么?。卖票相当于挤提?


0
pantrick
pantrick

这类帖子我觉得更像是获取同情,

做的不好就应该批,

总是同情,技术怎么进步

所以这个帖子没什么营养,

技术性网站要讨论,就应该讨论技术方案

0
空腔
空腔
才花3亿,百度20亿
0
陈阳阳阳
陈阳阳阳
不是作者把他们一起比 而是网上的总拿淘宝和12306比
返回顶部
顶部