12306 結合日曆時間,推出了“按小時為基準的定時、批量、放票的策略,先到者得”的系統邏輯。 這就導致,所有購票人,都要在搶在某個時間點,比如 10:00:00 , 十幾秒內,或者最好在零點幾秒內,完成購票操作。 ... “電腦隨機抽簽模式”的好處在於: 購票人可以不用急急忙忙地購票,... ...
春節快到了,春運也到了,考驗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網站的改進出一份力。
雖然,我春節不經常回老家,即使回老家,一般也是自駕,較少買火車票。