中国的铁路订票系统在世界上属于什么水平?

沉默王二

共 3967字,需浏览 8分钟

 ·

2022-06-21 02:55

二哥编程知识星球 (戳链接加入)正式上线了,来和 250 多名 小伙伴一起打怪升级吧!这是一个 Java 学习指南 + 编程实战的私密圈子,你可以向二哥提问、帮你制定学习计划、跟着二哥一起做实战项目,冲冲冲。

Java 程序员进阶之路网址:https://tobebetterjavaer.com

大家好,我是二哥呀。

每天早上的上班途中,我都会刷一会逼乎,除了看看自己有哪些装逼的回答被点赞之外,还想在知乎上刷到一些高营养高质量的帖子。

虽然高质量的帖子越来越少,但刷 100 个里面还是能遇到一两个的。

比如说今天分享的这篇:“中国的铁路订票系统在世界上属于什么水平?

再比如说我这个被 382 人赞同的关于高考填志愿的帖子。

讲良心话,我这个帖子还是非常高质量的,如果你身边有亲戚朋友想问计算机专业方面的问题,可以把这个帖子转发给他,全文近一万字,全部干货。给大家先预览一部分内容,后面等高考分数出来,我再修改一版发到公众号。

我当年读大学的时候根本就不知道计算机专业还可以分这么细!

高考完填报志愿的时候,第一志愿填的机械自动化,然而没有录取上,就调剂到了计算机网络专业了,糊里糊涂地就上了!

谁能想到,计算机专业这么香!本来是作为学校的垃圾专业,结果完全吊打其他专业。

有一说一,我不是 985、211 的学长,但选计算机专业就对了,不要关什么卷不卷的问题,各行各业随着大学生数量的增加,哪能不卷呢?

计算机卷,是因为它热门!为什么热门,是因为它工资高、岗位多!嗯,千万不要被一些大佬无脑劝退了!

我记得当时,学校安排的课程有汇编语言、数据库、Java、计算机网络等,除了 Java 学的一塌糊涂,其他三门同样学的一塌糊涂!

你可能会问,作为一个学渣,你还劝别人选计算机?好意思吗?

作为一个普普通通的大学生,我就是靠计算机专业改变的命运!

更多内容,打开这个链接:https://www.zhihu.com/question/468005193/answer/1967203613


好了,回滚正题,我们来看看知友们都是如何评价我国铁路订票系统的——也就是大名鼎鼎的 12306。会非常有意思。

先来看看这个 1.8 万赞的,我觉得说得非常有道理(狗头必须加上),所以也趁机点了赞。

我只能告诉你,12306,曾经出价10亿,如果不够,可以加,让他们稳固系统,保证大家订票不出问题,结果,全世界最顶尖的计算机团队,折腾几个月,最后结果是,可以解决,但是,解决代价嘛,就是,多加服务器

12306想了下,为了春运与那些节假日这几天,加服务器,不划算,后面也就算了,因为,这种行为跟面子工程差距真的不大

大不了这就,多请点维护人员,大家轮班。

这么说吧,火车站的电脑,需要最高权限,也就是,实时刷新,并且还要预留余票,因为,很多人,并没有网上订票的习惯

这是,基础设施,不能寒了这些人的心。

我国,春运时期,用12306买票人数,估计有8亿,什么概念,并且,12306,保证所有人,没有出错!!!!!

这个水平,丢在国外,那就是神话!!!!

再加上,我们那些抢票软件,能够造成一个人刷新10-1000次的访问率甚至更高

也就说,如果这8亿每个人使用抢票软件,最高的刷新率,能够造成8000e的访问记录

然后访问出来了,要买票,这个买票这个动作。要同一时间,确认票,购买票,删除该票的存在(不能重复购买),而不是像双十一,你们先买,订单到了,我再确认仓库,再发货,这就错开了流量峰值

而12306,两个字,实时!!!

8000e,你问问腾讯,阿里,能不能承受!!!!再把这个数值乘上3,能不能搞定这么大流量

要保证不出错,已经很不错了,因为,如果同时买了同一张票,他会自动更改为其他位置,毕竟一个位置只能做一个人!!!

12306是全世界最强网站,没有之一!!!

好多知友喷的:

  • 这回答也太业余了吧。。。。。
  • 你,为什么,要这样,说话。这样子,说话,看的,很难受
  • 12306最难解决的是座位(库存)的架构和扣减的问题,瓶颈并不是在服务器上。如果您不是业内人士,最好不要误解他人哈。

但当我看到这些评论都是作者自己加精后,我似乎悟了,这分明是作者在钓鱼。。。。。

再来看看认真答题的,比如说 liujunsong:

非典那年机缘巧合之下,做了个哈尔滨铁路分局的信息化项目,当时从侧面了解了一些铁路订票系统的故事,因时日太久,到底是当时的真实记忆,还是想象补充,都已经无从考证,这里只是写出来仅供参考讨论。

首先以前在铁路信息化之前,票务系统可以说是一片混乱,由于铁路客票一票难求,因此有无数黄牛以此为生,客票是不记名的,也给黄牛带来了滚滚生利。当时采取的对策,主要是采取保留票制度,例如北京发上海的车票,假设有10个车厢,那么中间途径济南南京两个大站的话,那么就给济南站留一个车厢,给南京站留一个车厢,这两个车厢北京站只出售短途车票,不售卖到上海的。这种票务分配是基于政策的,各个车站之间没有联网,互不知晓。

到了90年代,哈尔滨铁路局主持开发了全国第一套基于sco Unix 的,使用c语言开发的票务分配系统,在主机上将客票按照规定的策略将一趟车的所有客票进行分配,就是将上面的逻辑用程序实现。同时各车站加入了抢票功能,先把自己可以售卖的车票抢下来,再按照需要售卖给外面等票的人。

这是一个划时代的成果,在当时的网络条件下,采用上下位之间的通讯,实现了针对车站的订票,售卖,退票功能。当然还有后续的结算功能等等。这套系统是基于小型机开发的。这里车站和票务中心的通讯不是实时的售卖,而是在指定时间点,各车站先把自己能发售的票抢出来,下载到自己的本地服务器上,再在自己这个服务器上一张一张出票,卖不掉的票可以在一定时间段退回去,或者根据…【人工调度命令】把票退回去。

当时听到这个故事的时候很震撼,但当时不懂东西太多,无法理解他们是怎么做到的。

后来到了2000年左右,由于微机价格低廉,应用系统开发到了cs阶段,上面这套系统升级到了cs阶段。客户端用的是pb或者vb ,数据库用的是sybase,中间件选用的是tuxedo. 当时见过这个售票系统的界面,应该是pb开发的。当时仍然采用的是分布式的部署架构,各铁路分局部署自己的售票系统,再通过服务器从总的票务中心下载票务数据,批量订票,再到各个车站出票。这时各个铁路分局所属的各个车站逐渐实现了内部联网。当时联网用的好像是adsl拨号技术。

这套技术应该说很稳定的运行了十几年吧。

至于全国大集中的12306系统出现。

与一般人的理解完全相反的是,各种应用系统其实一开始都是大规模分布式的,尤其这个整体票务系统,一开始是大概三层的票务系统,铁道部一层,各铁路局一层,分局一层,车站一层。各层之间进行数据包传递来协同工作。这个和银行系统也有类似之处。

后来随着信息化的扩展,大约用了二十年的时间完成了大集中。银行业大约是2000年左右实现了全国大集中,央行大约是2010年完成了大集中,代表成果就是二代支付系统,大小额接入系统这些。而铁道部的大集中基本上是在12306之前就完成了,大约也是那个时代的产物。

中国的信息化有着自己鲜明的特色,就是大集中。这个有着行政上执行便利的考虑,也有人们思维惯性的考虑,这里就不细说了。

从这个意义上来讲,只有在中国现有的条件下,才有可能建立一整套的大集中系统,而这在其他地方是不具备条件的。

别的不说,光客票系统直接和公安的人口信息系统连接,在很多国家都是不可能完成的任务。因为绝大部分国家根本没有完整的户籍管理制度。

想当年也是20年前了,曾经接触过一次飞机票的代理系统,当时每个代理点需要拉一条专线到航空公司的票务中心,然后利用telnet登录上远程终端。通过在终端输入命令,来完成飞机票的订票交易。当时订票的逻辑就是先可以锁定一张机票,然后再进行一次确认,或者把这张票退掉,如果超过锁定时间,可能会被强制退掉。这样就有以下几个交易代码:查询,预订,确认,取消。这套票务系统是全球通用的,后台是一套大机系统,然后通过层层分布的前置机推广到全球来使用。这套系统的开发时间,应该是上世纪七八十年代了。

那次交流的时候,订票点给我们详细介绍了飞机票的订票全流程。因此在后来又听别人介绍火车票的订票流程的时候,才有这样的共同点存在。

现在的人一想到票务系统,出于惯性会认为那个系统一定是基于数据库的,然后就掉到事务,数量这些细节里面了,不能自拔。其实最早期的票务系统是基于文件和报文来处理的,那时可能都没有成熟的数据库系统存在,因此也就不存在现在困扰大家的数据一致性问题和事务管理问题。而如果是完全基于文件系统来设计和开发票务系统,那就会走向完全不同的一个架构体系了。


在二哥看来,12306 牛逼主要有以下三点:

  • 所销售商品极其复杂(SKU极多)
  • 商品和商品之间、横跨全国的渠道之间,都相互干涉
  • 访问量极大

大家对这个问题感兴趣的话,还可以通过下面这个链接去看原贴哈。

https://www.zhihu.com/question/315887668

印象中,总以为是阿里的淘宝团队改变了 12306,似乎是阿里团队的技术太牛逼,所以改变了 12306 经常崩掉的局面

但看了这些回答,我才发现,原来中国计算机领域最牛逼的还是通信部和铁道部。

据知友所说,国铁集团下属的铁科院电子所,领军的牛人叫单杏花,是 12306 的最强大脑。

所以说,小伙伴们有机会的话,可以考虑考虑铁科院电子所。。。。。。


没有什么使我停留——除了目的,纵然岸旁有玫瑰、有绿荫、有宁静的港湾,我是不系之舟

推荐阅读

浏览 34
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报