随笔 - 89  文章 - 118  trackbacks - 0
<2007年12月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

留言簿(16)

随笔分类(56)

随笔档案(89)

文章分类

推荐博客

搜索

  •  

最新随笔

最新评论

阅读排行榜

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

 

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

2、 订单提交成功之后,支付环节出了问题,浏览器意外退出,后再登陆,发现登陆不上,无法在规定时间内完成支付,购票失败

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

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

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

6、 对多浏览器支持不好,没有IOSAndroid应用入口

 

以上问题多数都是用户体验的问题,用户体验的问题即有票源稀少的原因,更多的是对订票系统使用过程中系统登陆困难,反应迟钝,订单结果反馈太慢,意外退出等问题难以忍受。

 

本人并非订票系统设计人员,但是通用对订票系统外在的表现大胆猜测一下订票系统的设计。

 

常见问题原因分析:

 

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

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

 

无法登陆的问题,其原因显然是前端用于处理WEB连接服务器太少或网络带宽不足所至,为了不让更多的用户一起连接服务器导致服务器较慢,只好拒绝一些用户的登陆请求。使同时在线人数保持在一个上限以内。

验证码输入总是错误的问题,原因也是用于处理WEB连接服务器太少所至,为了防止一些客户端使用“恶意”软件,不断自动登陆的情况,验证码需求由客户端向服务器提交一个验证请求,可以由于服务器响应实在太慢,以至于整个响应速度居然超过了验证码的有效时间。

 

常见问题:

问题2:订单提交成功之后,支付环节出了问题,浏览器意外退出,后再登陆,发现登陆不上,无法在规定时间内完成支付,购票失败

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

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

 

问题2是一个系统的BUG,但是可以通过一些设计来解决这个问题。

 

问题3,问题5,可能是由于WEB服务器与逻辑处理服务器在同一台机器上,而导致服务器CPU分配了过多的时间与资源在处理用户请求,在执行逻辑时执行缓慢。

 

如果数据库也在同一台服务器上,那问题可能更加严重。当然我相信,不在一台服务器上的可能性比较大。

 

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

 

1、 准备更多前端WEB服务器,解决WEB前端的问题没有别的办法,只能加服务器,或者每个省市放一群单独的服务器,根据用户量进行增加,直到响应流畅为止。

2、 可以考虑把逻辑服务器单独分离出来,与WEB服务器分开,WEB服务器只处理WEB请求,逻辑服务器单独运行

3、 把数据库服务器单独分离,并且把火车票票量数据库与用户订票信息数据库放到不同的机器上,由于大量的订票请求会访问火车票票量数据库,并且会有大量订票数据添加到用户订票信息数据库中,在处理添加的逻辑占用了大量的数据库资源,会导致整个系统变慢。如果放到同一台机器上,必然导致响应变慢。把不同性质的数据,放到不同机器、不同的数据系统中,可以合理的分流系统访问量,使系统响应加快,横向扩展更具有弹性。

4、 把支付订票费用放到一个单独的网站进行,订单提交成功后锁票,之后根据订单号可以在另外一个单独的网站上进行单独支付,支付时只要提供订票号就可以,这样做有很多好处:1. 避免了由于支付失败而导致退出浏览器,却由于在线人数过多无法登陆导致订票失败的情况,2. 电话订票也可以在此支付,在火车站机自动售票机器上取票,这样支付方便,也解决了异地付款取票的问题 3. 单独支付会在一定程度上给订票网站减轻访问与处理压力

5、 提供快递火车票服务进行创收,支付成功的火车票可以进行快递,这样即方便订票人也可以给铁道部创收

6、 网站可以根据用户订票信息做一些有针对性网站广告,如旅游、酒店广告等进行创收

7、 开发出更多的手机终端软件,扩大订票系统使用的覆盖面

8、 支持更多的浏览器,而不仅仅是IE


由于本人水平有限,欢迎各个高手批评指正,希望这篇文章能够抛砖引玉,大家一起讨论。
网上的其他类似文章:

http://cloud.it168.com/a2012/0130/1304/000001304533.shtml 

posted on 2012-10-15 17:09 胡满超 阅读(2446) 评论(7)  编辑 收藏 引用 所属分类: 架构设计

FeedBack:
# re: 12306网站网上订票系统问题浅析与改进建议 2012-10-15 20:19 kkhaike
不用改进了直接重做吧  回复  更多评论
  
# re: 12306网站网上订票系统问题浅析与改进建议 2012-10-16 09:09 胡满超
做成这个样,如果是一家商业公司肯定重做了@kkhaike
  回复  更多评论
  
# re: 12306网站网上订票系统问题浅析与改进建议 2012-10-17 15:12 Lo
问题1 不是前端服务器可以解决的, 12306分2部分 一部分动态,一部分静态 静态部分随时都可以显示出来 是用了cdn
问题2 应该是服务器过载,导致服务器丢失了cookie
问题3 也不是分库可以解决的, 比如说我要查询北京到上海的火车 你分了库 就要把每个数据库都查一次 响应速度会变得更慢, 效率也没有提高
问题4 同2
问题5 同1
问题6 现在真不是问题  回复  更多评论
  
# re: 12306网站网上订票系统问题浅析与改进建议 2012-10-17 15:17 Lo
@胡满超
不要太过偏激 全年365天只有最高峰时间的几天(最多不超过20天)才会出问题 没必要把他全部否定吧? 平时另外的345天买票都不算?  回复  更多评论
  
# re: 12306网站网上订票系统问题浅析与改进建议 2013-12-13 17:53 逗号
你要想下国家投资了3亿多做出一个这么垃圾的系统,如果只是满足非高峰期的需求,搞个外包公司十几二十万就搞定了@Lo
  回复  更多评论
  
# re: 12306网站网上订票系统问题浅析与改进建议 2014-01-06 22:19 白桦
我建议12306能否采取以下措施
1,春运期间,取消退票制度,,买进必乘,不乘作废。要求乘客买票时加以注意避免损失,这样可以控制黄牛倒票行为。
2,12306提供一个网络支付平台,网络买票成功后钱款自动划拨支付,然后短信邮件通知乘车人取票。  回复  更多评论
  
# re: 12306网站网上订票系统问题浅析与改进建议 2014-01-08 23:40 zbb
如果是我做这个系统,
1.应该把服务器放在各个省会的铁路局。
比如你买上海到成都的票,就登录到上海的服务器,这样分担服务器被百万人同时访问的压力。
2.把抢票和付款分开,提供给客户是一个串号,客户通过该串号到付款的服务器上付款就可以了,也可以通过身份证号查出自己抢的号再付款,不需要你去记住这个串号。凡是没有付款成功的,都以余票流向实点售票处。
这样系统就默认你抢票成功。当天不能再抢票。一个身份证号只有一个注册号。
3.验证码 采用类似计算的方式的图片,需要计算才有结果的输入。比如 3七加二1=? 就输入58. 中间可以是汉字,符号,数字混合,还有提问题等。让软件无法识别或困难。
4.没有抢到票时, 提供建议方案或线路。
5.目前有的优点保留,其他还没有想到,想到再增加。
------------------------------------------
你们怎么认为?  回复  更多评论
  

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理