當前位置:
首頁 > 最新 > 揭秘12306團隊:為一張票「搶」一年 與機器搶票對戰

揭秘12306團隊:為一張票「搶」一年 與機器搶票對戰

在這座大廳里,半面牆的窗帘經年緊閉。106塊大小屏幕上方排著3面巨幕。中國地圖居中,代表城市的點被密集的弧線連結。桌椅間,黑色線纜蜿蜒叢生,伺服器櫃機靠牆站了一圈。數據介面的紅綠指示燈交替閃爍,屏幕熒光在櫃機的白色金屬表面流淌,也被工作人員的眼鏡折射。

沒什麼人說話,只有鍵盤敲擊聲、機器內置風扇的嗡聲和硬碟讀寫聲交疊共鳴。掛鐘秒針咔噠一步,大屏幕上鮮紅顯示牌8位數字的後3位就變了。

在這1秒內,12306網上售票平台又售出了數百張火車票。那座大廳是中國鐵道科學研究院(後簡稱「鐵科院」)全路客票系統監控中心,它日夜關注著全球交易量最大的中國鐵路票務系統的健康狀況。系統一年售出30億張火車票,12306互聯網售票佔比最高時超過80%。

監控大廳正直播著這個系統一年內最大的硬仗,春運。

自1月3日狗年春運車票正式發售以來,已經有2.8億張車票從互聯網平台發售成功,佔全渠道售票量的八成。全國範圍內,人們使用12306時的請求和等待、滿意或崩潰,都會被這個平台捕捉。

它平均每天賣出937萬張火車票,迎來12404萬次登陸。達到峰值那天,它被刷新了15777.8億次,平均每秒2700萬次。

你買不買得著票,什麼來決定

網友常用「秒搶」或「秒沒」調侃買車票,但很少有人知道,點擊余票查詢到最終結果出現之間的時段里,究竟發生了什麼。

在整個12306團隊眼中,每1秒都無比漫長。他們推進工作的時間單位是「毫秒」。

「滴」,某地某人輕觸屏幕,一個查票請求信號誕生了。它從手機出發,沿著網路飛馳,抵達鐵科院電子計算技術研究所的機房。一列列黢黑的伺服器在那裡矗立,機箱線路密布,各區功能井然。

「滴」,查票請求信號在電路中遊走,像一顆撞球擊中另外幾顆,它們又四散撞擊更多的球。查票請求被發送到北京之外各站客票交易系統,那裡可能是山巒積雪的西藏,也可能是花香濃郁的廣州。

這一步比「雙11」當夜秒殺商品更複雜。商品的庫存變化「是簡單的數字加減」,拍一樣少一樣。余票的數量則隨著出發地和抵達地的組合而變化,實時變動,需要一套演算法模型才能得到準確答案。2017年10月12日,12306的接續換乘功能上線,在已有的變化因素中加入了中轉換乘站,對演算法的要求更加嚴格。

「滴」,計算結果翻山過河,傳回計算中心。同時,不斷有人買票成功。余票信息的存儲屬於動態存儲,稱得上「瞬息萬變」。鐵科院電子所副總工程師兼12306技術部主任單杏花承認,「有小概率」,即使查詢到余票,這些票也可能在下一個瞬間售空。

「滴」,查詢信號得到系統響應,返回手機。查詢者選擇車次,點擊購買鍵,發出購買的請求信號。它加入奔向系統的同類信號,像一群乘客湧向購票大廳。速度就是一切,它受網速和運氣影響。來晚了,會被關在「大廳」門外。

為防止訂票者猶豫後悔造成機會浪費,「大廳」一次性放進的信號會比余票數量稍多一點。但購買者和余票量在一定時間內基本持平,「為了公平」。

鐵科院電子所副所長、研究員朱建生表示,如果讓這座「大廳」里每個「乘客」以最快的速度買到票,有多少「乘客」就需要多少「放票窗口」——處理購票需求的任務線程。這意味著巨大的計算成本。

目前12306網路售票平台的方式是,在「大廳」里開數個窗口,窗口前排起長隊。每個信號依據一定演算法歸入某個窗口,跟隨隊伍有序向前。此時,不少人的手機上會顯示「排隊等待中」的字眼。

這套流程的核心是「非同步交易排隊」技術。鐵科院在這方面「處於國內領先水平」。

「公平」是技術研發人員遵循的基本原則。每個購票請求信號進入的次序會被系統記錄下來,就像熱門餐廳向等待就餐的食客發放排隊號碼。無論後續進程快慢,信號位置憑藉這個「號碼牌」保留,先到先得。

「滴」,購票信號得到響應,訂單產生。人們點擊支付,完成交易。

監控中心的大屏幕顯示,2018年2月2日上午10點22分,系統對請求信號的平均響應時間最長不超過0.9秒,請求信號的平均等待時間則是1.8秒。朱建生告訴中國青年報·中青在線記者,在平均值後,每個用戶狀況不同,有人點擊購買後可能要等上八九秒甚至更久,有人則在不到1秒內完成了整個交易,「甚至意識不到經歷了怎樣複雜的過程」。

持續40天的「雙11」

12306的技術團隊和阿里研究院的淘寶團隊有過接觸,雙方都有點感慨,「這或許是全中國最能理解彼此的兩個技術團隊了」。

單杏花覺得,自己在春運時的工作感受和「雙11」當夜的淘寶工程師類似。只不過,「他們只有1天,我們卻要面對40天」。

火車出行是春運時很多人的第一選擇,也是「綜合性價比最高」的選擇。它不易受天氣影響,價格適中。鐵路系統內部曾討論過大幅提高票價,以期用市場槓桿降低需求量。

這個動議最終被放棄。2016年底,國家發改委發布《鐵路普通旅客列車運輸定價成本監審辦法(試行)》。「公平性」被放在首位。

2017年春運,全國鐵路累計發送旅客3.57億人次,相當於搬動整個美國和加拿大的人口。網路買票漸成風潮,到2017年,12306平台的客票發售量達到全渠道的70%。

監控大廳里高懸著一張2018年春運網路售票日曆,每個數字都有A4紙大小。除夕前兩天、農曆正月初五到初七分別是回鄉和返程的高峰期,被特別標紅了。

近來,單杏花每天早晨6點半起床,兒子還在睡夢中,北京的天空幾乎全黑。監控中心燈火通明,工作人員大多在早上7點網路售票開始前到齊。下班則在晚上11點後,系統休息了人才能休息。

監控中心的大小屏幕實時顯示著購票情況。最火爆的請求隊列會被重點關注。一旦平均等待時間「出現異常」,工程師會迅速投入查找和解決問題。所謂「異常」,有時和同熱度隊列的等待時間僅有幾秒甚至零點幾秒之差。

朱建生介紹,這裡類似衛星發射中心,「春運之戰」的火光在計算中心閃耀。

中國鐵路客票系統擁有兩個計算中心,位於一條長長走廊的兩端。兩個中心能力相同,不分主從,各自承擔50%的系統任務。一個崩潰,另一個會立刻接過它的工作,保證服務運行不會被任何意外中斷。

同樣,內存計算是「分散式」的。「就是同一項工作,分給好多台計算機來做。」單杏花說。

12306的流量分為旺淡季。如果完全依據旺季對計算能力的需求儲備計算的軟硬體資源,淡季一到,大量資源就被閑置了。

彈性計算架構被建立起來,旺季時擴展,夠用;平時壓縮,不浪費。鐵科院研發了自己的雲系統,足夠應對平時購票需求。但他們仍租用了阿里雲和騰訊雲,應對在春節等旺季劇增的計算量。

「他們只分擔計算工作,用戶信息還在我們自己的『雲』上,保證(用戶信息)安全。」朱建生說。

單杏花最焦慮的時期已經過去了。2012年春運期間,當時的鐵道部決定將20%左右的票源投到12306平台進行互聯網銷售。「每天可處理100萬筆購票需求,當時想著應該夠的。」一位負責此項工作的前鐵道部工作人員在2012年接受《中國青年報》採訪時說。

互聯網售票的推動者沒有想到,12306平台最高峰時一天售出了119.2萬張火車票,超出設計時每日最大售票量的20%。因為能力不足,當時的系統平均每秒只能成功售出幾十張火車票,運算壓力大時這個數字還會掉到10以下。那一年,「12306」登上了多家主流媒體的「年度熱詞」榜單,「卡頓」「失敗」頻繁出現在有關它的報道里。

那些天,單杏花「床擺到了實驗室」,每晚11點售票系統關閉後,團隊連夜對系統進行優化和測試。

6年過去了,12306網路售票平台原有的400台伺服器增加到2000台,系統版本升級了6次。區域聯網升級成全國聯網,電子支付被引入。電子客票起用,刷身份證可進站。

鐵路系統不成文的行事規則被網路擺到明處。少有人知道,一些車次的火車票正式發放後還會有一次小規模發售。前者大多是這一車次出發站和抵達站的席位資源,後者則來自沿線各站鐵路售票系統的少量分配。這在行業內被稱作席位「復用」。12306網站5.0版本更新後,鐵路系統與網上平台共享了「復用」資源。預售期遭遇發售車票「秒光」的12306使用者,出發日期臨近時再刷刷網站,可能發現大量余票。

在朱建生看來,12306的一年被「春運」一分為二。為這次年終「大考」所做的準備會持續一年。每年「春運」結束,是下一年備戰的開始。

剛剛過去的一年裡,12306網站的日售票能力從1000萬張提升到1500萬張。動車組自動選座功能和接續乘車功能均於2017年10月12日上線。微信支付功能實現不久,購票通知簡訊能轉為微信閱讀,從座次安排到兩地天氣在內的細節得以顯示。

2017年7月17日,互聯網訂餐系統上線,乘客購票後通過12306系統下單,提前選擇沿途某站餐飲提供商的產品。當列車在那一站停留時,乘客可以坐在車內等著外賣送達。保持時間的精確是整套系統的關鍵。「一般咱們用手機App點外賣,十幾分鐘,遲就遲了。」單杏花說,「火車送餐晚十幾分鐘,車都開走了。」

12306 今年8歲了。它正由一個新鮮的買票渠道發展為一個更全面的「服務平台」。

與機器搶票對戰

12306默默上線時,沒吸引太多注意力。那是在2010年,代表中國互聯網的「.cn」正式寫入全球互聯網根域名系統。中國互聯網網民達4.57億人,其中移動網民有3.03億人。「互聯網購買火車票是一場不可逆轉的潮流中必然會發生的一步。」

朱建生介紹,移動端的發展是這幾年的最大趨勢。手機購票占互聯網購票的70%。

12306會繼續發展,但不會成為鐵路售票的唯一渠道。據中國鐵路總公司副總經理黃民介紹,這是整個系統的共識。電話訂票系統和線下窗口將保留下去。總有人落後於這個數字時代,他們的需求同樣重要。

另一方面,最沉重的沙粒也終將被時代的潮水托起。

一直以來,協調成本和需求是鐵路系統的一件大事。12306返回的數據將作為重要參考,幫助鐵路系統進行微調,在節約成本的同時,讓每個焦急等待的人能踏上旅程。

2009年,當時的鐵道部公安局抓獲票販子4069人,打掉倒票和制販假票團伙、窩點1672個。據媒體報道,這些團伙很多是來自農村的一整個家族,「倒票比種地賺錢,判刑都值」。

網路售票時代到來,這批票販子的教育水平跟不上了。到2014年火車票購買推行實名制以後,多地車站的鐵路公安一度都察覺到票販子的減少。

新的時代又有新的問題。

「刷票軟體確實給我們的系統帶來很大壓力。」單杏花說。機器每秒鐘可以點擊發送請求成百上千次,大大增加了系統的任務量,也無形中增加了其他不依靠軟體用戶的購票難度。

除了隱於暗處、熟悉掌握技術的票販子外,包括著名旅遊服務平台在內的多家技術公司都光明正大地推出了搶票軟體,用戶支付一定費用,就能更快、更穩當地買到車票。除了大量批評,也有一些評論表示,這是火車票市場的自主調節,一些人願意用更高價格換取更多機會。

12306試圖在海量訴求中分辨人與機器。2015年,不少用戶發現自己在12306購票必須通過8張圖片組成的關卡,他們得從中準確找出「花生」「松鼠」之類的指定物品。在後來的採訪中,12306團隊將之視作「保證公平的有效手段」,因為在當時,「看圖識物」還是只有人類才能解決的難題。

他們沒想到,這項舉措在網上迅速火了。至今,朱建生幾乎每次接受採訪還得解釋一遍:「網上的很多圖片是PS的。」那些被網友轉發數萬次的圖片包括從一堆錐子臉中找到某個網紅。

2018年春運,能夠取代圖片型驗證碼的驗證方法尚未出現。12306表示會減少它們出現的概率,讓超過八成的用戶不必與之相見。

與「機器搶票」的對戰也在繼續。監控中心的一面大屏幕實時顯示著風險控制實況。購票請求的餅圖上,代表有機器刷票「風險」的紅色和代表正常購票請求的藍色幾乎各佔一半。11位IP數字變化閃動,它們都是被系統發現的危險分子。

單杏花表示,一定時間內,請求數超過某個範圍的IP地址或設備,系統都會納入眼底,對其限制訪問,或乾脆攔截。

這也意味著,一旦有使用過搶票軟體的「黑歷史」,你的設備和IP很可能被系統認出來,進行限制。再通過正常渠道買票只會難上加難。

「我們只能盡量地限制。」對於這個話題,單杏花很謹慎,但也表示「今年搶票軟體不會那麼好用了」。

海量的數據流向12306,匯成一張中國「春節人口遷徙圖」。「北京」「上海」「廣州」是這張圖上最亮眼的3個點,像光源一樣發射千萬條軌跡,指向隱身在中國地圖上的某個小小站點。

中國青年報·中青在線記者 王夢影 周偉來源:中國青年報

轉載自:中國青年報

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 騰訊科技綜合 的精彩文章:

三星「太子」行賄案今日將二審宣判 檢方要求加刑至12年
網酒網員工大量離職:市場部幾乎走空 售後電話無人接

TAG:騰訊科技綜合 |