admin管理员组

文章数量:1531793

2024年6月7日发(作者:)

12306网络订票系统

班 级

学 号

姓 名

2011211306

2011211261

门鑫

摘要

点击大军,直接导致了12306系统的崩溃。

运力的限制,越来越多的人不得不“抢票”。据统计,

可靠的网络订票系统满足市场的需求,为用户提供一个方

对12306系统的分析和研究,有助于我们吸取其经验教

由于市场客运的刚性需求和互联网的普及以及信息化时

训,总结成功经验。对网络订票系统进行优化,构建一个

统的稳定运行也是人们能够方便出行的保障。而由于铁路

来越重要的角色,成为了越来越多的人的订票方式,该系

也使得12306成长为网界上最繁忙的网站之一,14亿次的

12306网站最高有 日均14亿的点击量 ,这“12306”迅速

代的到来,12306网络订票系统在铁路客运系统中扮演着越

便可靠的订票平台。

目录

6 总结…………………………………………

3 系统架构分析………………………………

1 12306系统概述………………………………

2用户特点分析……………………………………

摘要

……………………………………

5 经验及教训…………………………………………

4常见问题及解决方案分析………………………………

2013年11月20日,12306新增支付宝支付通道。

[3]

北京时间每天23:00至次日7:00进入维护,期间不提供服务。

司)所在地也分别成立了铁路客户服务中心,并公布了服务热线。

2013年12月8日,12306手机客户端正式开放下载。

中国铁路客户服务中心(英语:Sinorail Customer Service Center),

务。 服务区域内暂定每件收费17元,在网购车票时与票款一并支付,每件不

该网站于2010年1月30日(2010年春运首日)开通进行试运行。用户在

2011年1月19日(2011年春运首日),中华人民共和国18个铁路局(公

2013年12月6日,改版后的12306网站上线。新版网站增加了自动查询、

自动提交订单、有票提醒等功能,但是并未增加之前流传的自主选座等功能。

价、车辆技术参数以及有关客货运规章。铁路货运大客户可以通过本网站办理

以查询旅客列车时刻表、票价、列车正晚点、车票余票、售票代售点、货物运

研究院所设计的“铁路客票发售及预订系统”创建。客户通过登录本网站,可

俗称12306网站,是中国铁路总公司下属的信息服务网站,基于中国铁道科学

身份证在网站购票且不晚于列车开车前36小时的,可自愿选择办理车票快递服

该网站可查询列车时刻、票价、余票、代售点、正晚点等信息

[2]

。售票系统在

2014年7月10日,昆明铁路局试行网购车票快递服务。旅客使用二代居民

业务。

1.12306系统概述

2用户特点分析

证原件(可自动识读)接收车票

必然要求系统具有非常高的稳定性和健壮性。

在某种意义上意味着12306要面临更大的挑战.

不断增长,而且用户需求为刚性需求具体有以下两个特征:

忙的网站之一,甚至访问量远远超过了淘宝京东等国内知名电商平台,而这也

多的人选择了网络订票,而飞速增长的用户数量也使得12306成为世界上最繁

超过5张车票,且限一个地址。车票送达时,收件人凭乘车人的二代居民身份

光是12306网站系统的日访问量达到了15亿次,如果加上各个代售点和车站售

票系统,则高峰时段数据访问层的并发量在千万级别。如此大的访问和并发量,

的云平台,其规模甚至比淘宝大2至3倍,而且对于数据的实时性要求非常高。

1.用户查询的需求远远大于订票的需求(用户总是先查询再购买)

由于铁路购票的特殊性,该系统不同于普通的电国商平台,其用户数量在

首先整个售票系统是一个非常庞大而复杂的系统,是一个高负荷、高并发

该系统在高度信息化的今天也成了越来越多的人主要的订票方式,越来越

按照铁道部公开的数据,12306注册用户大约在5000万,日访问PV大约在

2.定时发票可能催生秒杀,访问量瞬时上升(如春运抢票之类的客运高峰)

10亿,每日网上订购票大约在500万

总体架构

构如下图:

12306网络订票系统是在铁道部原有的联网售票系统基础上开发的,所以其

系统架构分析………………………………

首先此应用是一个云平台的典型应用,系统按云平台的思想分层设计,从

正是这几点特点将12306系统同其他电商平台区别开来,首先铁路购票的

部署,每一组处理单元都是即插即用,可根据计算压力动态扩充,其大致的结

合得每一层具有很强的扩展性和伸缩性。每一层内部都是基于集群技术,分组

统都将全部升级,正是因为12306是在原有的架构上增加和扩展的,所以才有

服务系统开发,还有一个更繁重的工作就是所有火车站的售票系统和代售点系

原有的数据架构很关键,它直接影响到整个系统的扩展性和稳定性。如果整个

当天所有的买家都在前后十分钟涌入进行购买付款的操作请求,那么阿里巴巴

购票系统的承载能来来说无疑是一个非常巨大的挑战,我们可以假设,双十一

铁总放票的时间来看,访问的高峰基本就在放票的前后十几分钟。这对于整个

事实上,人们对于火车票的需求要比对于网上购物的需求更加强烈,而且根据

上而下分为三层,即:应用层、数据访问层、数据层。每一层之间是松散耦合。

系统全部进行重构那将是非常庞大的工程,这不仅涉及到整个架构的重新设计、

性质就和购物不太一样。虽然从表面上看都是一种购买请求与金额交易的过程。

了目前的种种问题。

的系统不免也要经历一次大 的考验。

服务器。

力情况动态地调整和部署访问层。

B/S应用模式。其客户端应用服务器之间增加一个负载均衡服务,这有利于系

每一个数据中心是一组服务器。这样将众多的并发用户根据查询车次分散到多

访问和操作。这样的好处是可以解决数据访问的并发瓶颈,可以根据系统的压

来,业务应用访问数据不是直接访问数据库,而是通过数据访问层进行间接地

数据访问层:主要是将业务应用与底层数据库之间的操作接口专门独立出

统的并发,可以有效地根据当前用户量和访问情况自动地分配相对压力较小的

代售点系统及12306网络订票系统。其中前两个是C/S结构的应用,后一个是

应用层:主要是指各种售票和订票系统,主要有三种,如车站售票系统、

数据层:根据车次和地域将车次的余票信息分别存储在很多个数据中心上,

详细架构

中心减少车次数量),可提高数据访问的速度。

发和访问量过大的实体层进行动态扩容,很容易提高系统的并发和稳定性。

系统整体按分层架构处理,每一层都是可注册、可插拔的体系,这种架构

的好处是每一层都可以分层优化,而互不影响。并能根据实际运行的情况对并

一个大瓶颈则可增加数据中心的节点而减小数据中心的粒度(也就是每个数据

个数据中心上去。从而降低单点压力,提高整体的并发性能。如果数据访问是

问拥挤情况。

对于数据层系统按车次对所有的车次车票信息进行分组,每一组是一个数

此架构很好地解决了应用服务器和数据访问的瓶颈问题,如果应用服务器

是用来提供查询的数据副本,它把大量的查询操作分散到从数据服务器上。其

在内存中高速缓存。同时每隔一定的时间周期同步到从数据服务器上,从数据

口调用都需要加锁,保证票数数据修改的原子性,其所管理的车次和车票数据

一台主数据服务器,若干从数据服务器。主数据是用于给用户出票,每一个接

个节点上去,从而降低数据中心的压力。每一个数据中心由若干台机器组成,

据中心,数据中心的大小可随时调整。这样可以把用户对数据的访问分散到多

应用服务器。如果数据访问是一个瓶颈则可增加数据加心的方式来解决数据访

压力大则可以通过注册表对应用服务器扩容,并通过负载均衡均衡地访问各个

数据访问的流程如下:

时间,才能得到反馈

总结网上订票系统常见的问题如下:

6、 对多浏览器支持不好。

5、 逢用户高峰,网站反应速度较慢

单结果反馈太慢,意外退出等问题难以忍受。

1、 高峰时段无法登陆,提示在线用户过多

常见问题原因分析:

常见问题及崩溃案例分析………………………………

问题1,高峰时段无法登陆,提示在线用户过多;

再登陆,发现登陆不上,无法在规定时间内完成支付,购票失败

问题4,验证码输入总是错误,无法完成验证码验证环节,无法登陆

4、 验证码输入总是错误,无法完成验证码验证环节,无法登陆

3、 订单提交反馈时间过长,热门线路需要等待20分钟甚至更长

以上问题多数都是用户体验的问题,用户体验的问题即有票源稀少

2、 订单提交成功之后,支付环节出了问题,浏览器意外退出,后

的原因,更多的是对订票系统使用过程中系统登陆困难,反应迟钝,订

总结以上问题,其解决方案建议如下:

时间,才能得到反馈

再登陆,发现登陆不上,无法在规定时间内完成支付,购票失败

问题5:逢用户高峰,网站反应速度较慢

问题3:订单提交反馈时间过长,热门线路需要等待20分钟甚至更长

问题3,问题5,可能是由于WEB服务器与逻辑处理服务器在同一台机

问题2:订单提交成功之后,支付环节出了问题,浏览器意外退出,后

提交一个验证请求,可以由于服务器响应实在太慢,以至于整个响应速度居然

户端使用“恶意”软件,不断自动登陆的情况,验证码需求由客户端向服务器

是错误的问题,原因也是用于处理WEB连接服务器太少所至,为了防止一些客

绝一些用户的登陆请求。使同时在线人数保持在一个上限以内。验证码输入总

带宽不足所至,为了不让更多的用户一起连接服务器导致服务器较慢,只好拒

器上,而导致服务器CPU分配了过多的时间与资源在处理用户请求,在执

无法登陆的问题,其原因显然是前端用于处理WEB连接服务器太少或网络

超过了验证码的有效时间。

行逻辑时执行缓慢。

应流畅为止。

导致订票失败的情况,

方便,也解决了异地付款取票的问题

只处理WEB请求,逻辑服务器单独运行

3. 单独支付会在一定程度上给订票网站减轻访问与处理压力

以合理的分流系统访问量,使系统响应加快,横向扩展更具有弹性。

2. 电话订票也可以在此支付,在火车站机自动售票机器上取票,这样支付

1. 避免了由于支付失败而导致退出浏览器,却由于在线人数过多无法登陆

2、 可以考虑把逻辑服务器单独分离出来,与WEB服务器分开,WEB服务器

根据订单号可以在另外一个单独的网站上进行单独支付,支付时只要提供订

4、 把支付订票费用放到一个单独的网站进行,订单提交成功后锁票,之后

导致响应变慢。把不同性质的数据,放到不同机器、不同的数据系统中,可

了大量的数据库资源,会导致整个系统变慢。如果放到同一台机器上,必然

且会有大量订票数据添加到用户订票信息数据库中,在处理添加的逻辑占用

据库放到不同的机器上,由于大量的订票请求会访问火车票票量数据库,并

3、 把数据库服务器单独分离,并且把火车票票量数据库与用户订票信息数

服务器,或者每个省市放一群单独的服务器,根据用户量进行增加,直到响

1、 准备更多前端WEB服务器,解决WEB前端的问题没有别的办法,只能加

票号就可以,这样做有很多好处:

很多的教训:

台)构建一个大众化的没有针对自己特色的平台。

后来升级就可以大展拳脚,大刀阔斧的去解决相应问题。

1:开发初期应当

5 经验及教训…………………………………………

设计系统,应当考虑到12306和普通电商平台的不同,从而设计出适应12306

3.运行维护阶段应当充分考虑每个细节,比如12306曾经因为空调的问题

2.系统开发应当充分考虑主要用途和主要矛盾,根据主要矛盾有针对性的

如系统整体的实时状态监控,包括各种角色的应用主机的监控、网络设备的监

回顾总结12306网络订票系统的不足之处和先进的技术及理念,12306在系

给系统留出足够的升级空间,12306后期屡次升级未能

崩溃过一次,除此类物理方面的细节之外还应当做好数据方面的维护工作,比

特色的架构系统,而不是随主流,利用已有的技术和概念(但不适合自己的平

从根本上解决问题就是因为早期的数据结构和系统架构限制,如果早期能够考

对比意义。该系统的成长过程也给了我们很多成功的经验同时也让我们吸取了

够满足基本的订票需求已经实属不易,由于客户特点所以与其他电商平台没有

瘫痪但是都能在短时间内恢复,而且考虑其客户的特殊性和访问特点,系统能

人力是不可否认的,克服的困难也是有目共睹的,就当下来看,虽然系统几度

统架构设计经验不足的情况下完成了网络订票系统的构建,其付出的财力物力

虑到系统升级的话,采用比较好的数据结构或者架构,或者留有升级空间的话,

量(想象一下全国人去12306抢一张票的情形)。

4 .数据安全,信息时代数据永远是最重要的,一个好的系统必须保证用户

通过对12306网站的分析,其不足和失败的经历固然有技术上的问题,但

12306网络订票系统给了我们足够多的教训,同时我们也有了相应的经验,

6 总结…………………………………………

在电脑旁等待“攻击”12306。如果不能从根本上解决铁路运力问题,解决

12306系统崩溃的问题将成为天方夜谭。因为再高的科技也架不住巨大的访问

数据包括系统产生的数据足够安全,由于对数据安全重视不够,12306前段时

从某种意义上来说已经做的足够出色,之所以该系统会有如此突发的访问量,

间发生了用户数据泄露的事件,在社会上引起轩然大波。也引起了12306对数

控、用户访问流量的监控、服务可用性监控、安全监控等系统巨量的交易数据

假使有1000张票,而只有900人有出行需求,就不会有成千上万的抢票大军守

造成系统瘫痪,其本质原因还是铁路运力不足,票量不能满足大众的需求所致,

希望在其他的大型系统构建上我们能够吸取经验教训,设计出一个出色的系统。

因此,解决12306的窘境必须从两方面入手,一方面从技术方面不断的优

据安全的重视。

转储、交易日志的转储问题。

化设计,升级系统,另一方面必须提高铁路运力问题,解决根本矛盾!

本文标签: 系统数据订票用户访问