• 12306 网站设计可以换个思路:电脑随机抽签模式


    春节快到了,春运也到了,考验12306的时候也到了。

    看了网上的各种分析,说是12306这种业务,技术上很难应付,如何如何。我很不以为然。

    12306的业务,是有其特殊性,但并非技术上不好处理。

    首先,12306 网站将买火车票的模式,分成了平常模式、春运模式,这也得到官方及民众的认可,属于业务清晰、不含糊。

    这在很多乙方软件公司的角度来看,属于低难度模式的业务。

    乙方软件公司怕就怕甲方的业务,甲方自己说个半年都说不出所以然来。

    其次,平常模式下,12306 的卖票,并未有什么难点。

    难点在于,春运模式下,12306网站难以应付短时间的大访问量、大业务量。但这是可以解决的。

    短时间的大访问量、大业务量,问题根源在于:

    12306 结合日历时间,推出了“按小时为基准的定时、批量、放票的策略,先到者得”的系统逻辑。

    这就导致,所有购票人,都要在抢在某个时间点,比如 10:00:00 , 十几秒内,或者最好在零点几秒内,完成购票操作。否则,落后其他人的手速、网速,就买不到票了。

    这种“按小时为基准的定时、批量、放票的策略,先到者得”,不是业务,而只是一个软件设计思路,且是不好的设计思路。

    让所有购票人,比拼手速、网速。这有点歧视功能障碍者的意味吧?

    其实,针对这种买票人多、卖的票数少的业务模式,更好的办法是:

    安排购票时间窗口(比如 10:00-11:00), 购票人通过某种方式提交购票意向(手机APP、电脑访问12306网站、火车站购票窗口、各火车票代销网点窗口);

    卖票系统定期(比如 11:01 - 11:30)进行售票匹配运算,将哪些人买哪些票的信息,以“电脑随机抽签模式”,运算出来;

    然后以短信/APP信息通知到购票人,让其在30分钟内(11:30-12:00)完成购票支付。

    未完成支付的,视为放弃,所分配的火车票,进入下一轮购票周期。

    以上 10:00 - 12:00 ,共两个小时,为一轮购票周期,留给电脑 29 分钟运算时间,应该够了,不够也可以调整的。

    12:00 - 14:00,进入下一轮购票周期。如此类推。

    以上模式下,购票时间窗口(比如 10:00-11:00)里,购票人无需挤在某个时间点的十几秒内,大家一起操作。因为新的软件系统设计思路下,能不能购票,不在于操作的先后,只要在购票时间窗口里完成操作,剩下的就等运气了(电脑随机抽签)。

    对于购票者而言,公平性还是一样的。

    电脑随机抽签模式的好处在于:

    购票人可以不用急急忙忙地购票,可以心平气和地拿着手机、电脑鼠标,进行购买操作;

    12306系统也不用在十几秒内里接受、处理的大量购票操作;

    如有关方面看到这篇文章,要求我参与12306网站的建设,我愿意对12306网站的改进出一份力。

    虽然,我春节不经常回老家,即使回老家,一般也是自驾,较少买火车票。

  • 相关阅读:
    短视频直播源码开发,防抖和节流的区别和实用场景
    游戏陪玩平台源码开发,语音通话中的噪音消除处理
    语音聊天室源码开发,如何实现回音消除功能?
    【代码解析】双向链表实现贪吃蛇游戏!简单易学,开发自己第一个游戏!
    程序员偷偷去面试,上班时却没发现身上还有其他公司的访客贴!
    编程语言年度观赏大戏,来看看内部撕X,你站谁?
    数组倒序排列,数组倒置,C语言数组倒序算法详解!
    编程领域这些禁术相当精彩,掌握其一,方可修炼编程大法!
    无处不在的网络编程,到底是如何工作的?今天我们一探究竟!
    【编程黑科技】gethostbyname()函数:通过域名获取IP地址!
  • 原文地址:https://www.cnblogs.com/jacklondon/p/improve_for_12306_website.html
Copyright © 2020-2023  润新知