过来看看!高峰时间我如何计算剩余的票?12306技术部专家为您揭开秘密

(中国网上直播)-国务院新闻办公室定于2019年10月25日星期五下午2点举行中外记者会议,邀请中国高铁一线科研人员以“中国高铁技术创新”为主题与中外记者见面交流。以下是中国网现场直播的事实记录:

光明日报记者:

我们知道中国的高铁经历了从无到有、从弱到强、从跟随到领先的过程。在技术创新过程中,我们一定会遇到许多挑战,克服许多困难。我可以问你最令人印象深刻的困难是什么吗?它是如何解决的?谢谢你

中国铁道科学研究院集团有限公司电子研究所首席研究员、单兴华12306技术部主任:

让我先回答这个问题。因为我负责12306售票系统的研究和开发,所以对我来说最大的问题是12306网上售票系统面临高峰时段大量高并发访问量的问题。由于中国人口众多,尤其是春节期间回家团聚的习俗,突然对票务的需求将导致系统拥堵。

我们最终通过一系列技术创新解决了这个问题。

首先,检查剩余的票。乘客买票的第一步是检查剩余的票。然而,我们铁路剩余车票的计算非常复杂,因为火车有多个站点。在计算剩余的票时,我们需要计算出发站和沿途的站点,包括长途和短途站点,看看有多少票能满足您的需求。这是一个动态而复杂的计算过程,比简单的商品库存加减要复杂得多,所以如果计算速度慢,系统就会繁忙而阻塞。因此,我们开发了分布式内存的剩余票计算技术,剩余票计算变得非常有效。

第二步是,如果乘客发现了,但他可能会提交购买需求,当高峰时间到来时,每个人都会大量向系统提交这一需求,如果系统处理能力不足,也会导致系统拥塞。那时,我们想到了车站售票厅的场景。高峰时间,乘客自然会在窗口排队。然而,售票厅的容量是有限的。因此,当越来越多的人买票时,从售票大厅到车站广场排队是可能的。如果车站广场不能排成一行,它可以排成两边的街道。这样,售票大厅就不会被堵塞了。我们模拟了这种环境,并在12306年开发了一个异步事务排队系统,该系统可以根据核心系统的能力,将乘客购买车票的需求排队并有序地提交给系统。这样,系统就不会因为这一需求的大量提交而瘫痪。

车票也可以被检查和请求提交,但是如果内部处理能力不够,乘客仍然需要在虚拟队列中排队很长时间,所以体验也不好。因此,针对这一问题,我们设计了一个“买卖分离、读写分离”的核心系统架构,可以将原本进行交易的篮子做成多个篮子。同时,我们还设计了“双中心双工作”的体系结构,为系统提供了“双保险”。这样,系统的核心处理能力大大提高,效率也大大提高,乘客购票的体验也越来越好。当然,还有许多其他技术。通过这样一系列的技术创新,我们彻底解决了大规模、高度并发的事务访问问题。(肖睿)

大家都在看

相关专题