您现在的位置是:物联网 >>正文
为什么12306上显示有余票,但是无法下单
物联网915人已围观
简介每到长假的时候我们要到12306上买火车票,大家也经常遇到给你希望但是又让你失望的崩溃的情况,在12306APP查火车余票的时候,如下图所示:图片在APP上明明显示有1张二等座的余票,但是一顿操作选择 ...
每到长假的上显示时候我们要到12306上买火车票,大家也经常遇到给你希望但是余票又让你失望的崩溃的情况 ,在12306APP查火车余票的但无单时候 ,如下图所示 :
图片
在APP上明明显示有1张二等座的法下余票,但是上显示一顿操作选择购买二等座,然后点击提交订单,余票突然就提示二等座位余票不足,但无单如下图所示:
图片
但是法下 ,我们回到车票的云计算上显示查询页面后 ,发现二等座还有1张余票 ,余票这是但无单为什么呢?在12306的官方页面也给了一些常见的原因 :
图片
在12306官网或铁路12306手机APP上查询有票 ,但预订不成功 ,法下有以下可能:
(1)在预订的上显示同时有其他旅客也在申请相同需求车票 ,特别是余票所剩车票不多时 ,先发起请求的但无单旅客将获得剩余车票 ,此时回到12306官网或铁路12306手机APP再次查询先前所选择的车次时已经没有所需车票,请更换车次再次购买;
(2)当上网环境发生网络故障时,源码下载12306官网或铁路12306手机APP对旅客订票的申请无法响应,请更换网络环境再次尝试;
(3)由于其他未知原因导致预订车票没有成功,可以稍后再试;如果12306官网或铁路12306手机APP的其他页面访问正常而订票申请总是出现故障 ,且官方没有发布升级或停机通知时,可以根据页面中的提示服务电话进行咨询 。
为什么12306会出现显示有票但是买不了,根本的原因是APP查询到的是脏数据的亿华云 ,12306的库存扣减是一个十分复杂的流程,它不像电商商品扣减库存那样的纯粹,如下图是A、B、C 、D和E五个售票区间 :
图片
从A到E这个5个区间的售票有如上的10种售卖情况 ,如果区间更多的话 ,源码库售卖车票的种类就更多了。假设每个区间的可售票的情况如下所示 :
图片
如果有乘客买了1张B到C的票,那么此时在12306中不仅要将B到C的余票数量减1,而且还要将区间A到C、A到D,A到E ,B到D,B到E等包含B到C区间的余票数量都要相应的减1张 ,如下图所示:
图片
没有包含B到C的香港云服务器区间,也就是A到B、C到D、C到E以及D到E这些区间不用更新余票数量 ,这种牵一发而动全身的余票售卖逻辑实际在售票中更为复杂。
现在的12306使用的人数非常的多,如果每次余票的数据都实时计算的话,12306服务器是难扛得住的建站模板这样的查询压力,所以针对余票的数据是放在缓存中的,真正下单扣减余票的数量的是在其主库中操作的 ,然后计算出余票的数量在同步到缓存中 。
这样设计的优势是查询不仅速度快,而且也减轻了服务器的计算压力,缺点是由于缓存的数据没有及时更新 ,导致了用户可见不可买的情况,如下图所示 :
图片
缓存没及时更新下 ,我们看到的余票可能已被别人买走了 ,提交订单时就会出现余票不足。这里我们发现缓存如果刷新时间越短,那么展示的余票数据就越准确 ,但系统运算的压力就越大;如果缓存刷新太长的话,就容易碰到看得见买不到的情况。
当了春节国庆这样的售票高峰期 ,为了做到即快又准 ,设想我们将中间区间的票锁住 ,优先卖A到E的的车票,那么这样的话余票计算的复杂度就降下来了 ,票的刷新速度也就更快,如下图所示 :
图片
目前的12306的车票的预售制也是类似的原理,不同的区间的票提前预售,这样起到了分流的作用。
Tags:
转载:欢迎各位朋友分享到网络,但转载请说明文章出处“信息技术视野”。http://www.bziz.cn/html/609c399387.html
相关文章
2024版OWASP移动应用系统十大安全风险简析
物联网随着移动互联网用户数量急剧增长,移动应用系统已经实现了典型生活场景的全覆盖,并渗透到了多个企业级应用领域。移动应用的快速扩张也带来了诸如数据违规收集、数据恶意滥用、数据非法获取、数据恶意散播等安全风险 ...
【物联网】
阅读更多如何利用电脑word高效写作(掌握word写文章的技巧与方法,轻松提升写作效率)
物联网随着信息时代的到来,电脑已成为我们日常生活中必不可少的工具。而在各种办公软件中,MicrosoftWord无疑是最常用的一款。然而,很多人仅仅是使用Word进行基本的文字处理,而对于其更多的功能和技巧 ...
【物联网】
阅读更多电脑经常出现10061错误的原因及解决方法(深入探讨10061错误,帮助您解决电脑连接问题)
物联网随着计算机技术的发展,电脑已成为我们生活和工作中必不可少的一部分。然而,在使用电脑过程中,我们有时会遇到各种问题,其中之一就是10061错误。本文将围绕这一主题,详细介绍10061错误的原因,并提供解 ...
【物联网】
阅读更多