首頁>要聞 要聞
揭秘12306團(tuán)隊:為一張票“搶”一年 與機(jī)器對戰(zhàn)
為一張票“搶”一年
在這座大廳里,半面墻的窗簾經(jīng)年緊閉。106塊大小屏幕上方排著3面巨幕。中國地圖居中,代表城市的點(diǎn)被密集的弧線連結(jié)。桌椅間,黑色線纜蜿蜒叢生,服務(wù)器柜機(jī)靠墻站了一圈。數(shù)據(jù)接口的紅綠指示燈交替閃爍,屏幕熒光在柜機(jī)的白色金屬表面流淌,也被工作人員的眼鏡折射。
沒什么人說話,只有鍵盤敲擊聲、機(jī)器內(nèi)置風(fēng)扇的嗡聲和硬盤讀寫聲交疊共鳴。掛鐘秒針咔噠一步,大屏幕上鮮紅顯示牌8位數(shù)字的后3位就變了。
在這1秒內(nèi),12306網(wǎng)上售票平臺又售出了數(shù)百張火車票。那座大廳是中國鐵道科學(xué)研究院(后簡稱“鐵科院”)全路客票系統(tǒng)監(jiān)控中心,它日夜關(guān)注著全球交易量最大的中國鐵路票務(wù)系統(tǒng)的健康狀況。系統(tǒng)一年售出30億張火車票,12306互聯(lián)網(wǎng)售票占比最高時超過80%。
監(jiān)控大廳正直播著這個系統(tǒng)一年內(nèi)最大的硬仗,春運(yùn)。
自1月3日狗年春運(yùn)車票正式發(fā)售以來,已經(jīng)有2.8億張車票從互聯(lián)網(wǎng)平臺發(fā)售成功,占全渠道售票量的八成。全國范圍內(nèi),人們使用12306時的請求和等待、滿意或崩潰,都會被這個平臺捕捉。
它平均每天賣出937萬張火車票,迎來12404萬次登陸。達(dá)到峰值那天,它被刷新了15777.8億次,平均每秒2700萬次。
你買不買得著票,什么來決定
網(wǎng)友常用“秒搶”或“秒沒”調(diào)侃買車票,但很少有人知道,點(diǎn)擊余票查詢到最終結(jié)果出現(xiàn)之間的時段里,究竟發(fā)生了什么。
在整個12306團(tuán)隊眼中,每1秒都無比漫長。他們推進(jìn)工作的時間單位是“毫秒”。
“滴”,某地某人輕觸屏幕,一個查票請求信號誕生了。它從手機(jī)出發(fā),沿著網(wǎng)絡(luò)飛馳,抵達(dá)鐵科院電子計算技術(shù)研究所的機(jī)房。一列列黢黑的服務(wù)器在那里矗立,機(jī)箱線路密布,各區(qū)功能井然。
“滴”,查票請求信號在電路中游走,像一顆桌球擊中另外幾顆,它們又四散撞擊更多的球。查票請求被發(fā)送到北京之外各站客票交易系統(tǒng),那里可能是山巒積雪的西藏,也可能是花香濃郁的廣州。
這一步比“雙11”當(dāng)夜秒殺商品更復(fù)雜。商品的庫存變化“是簡單的數(shù)字加減”,拍一樣少一樣。余票的數(shù)量則隨著出發(fā)地和抵達(dá)地的組合而變化,實(shí)時變動,需要一套算法模型才能得到準(zhǔn)確答案。2017年10月12日,12306的接續(xù)換乘功能上線,在已有的變化因素中加入了中轉(zhuǎn)換乘站,對算法的要求更加嚴(yán)格。
“滴”,計算結(jié)果翻山過河,傳回計算中心。同時,不斷有人買票成功。余票信息的存儲屬于動態(tài)存儲,稱得上“瞬息萬變”。鐵科院電子所副總工程師兼12306技術(shù)部主任單杏花承認(rèn),“有小概率”,即使查詢到余票,這些票也可能在下一個瞬間售空。
“滴”,查詢信號得到系統(tǒng)響應(yīng),返回手機(jī)。查詢者選擇車次,點(diǎn)擊購買鍵,發(fā)出購買的請求信號。它加入奔向系統(tǒng)的同類信號,像一群乘客涌向購票大廳。速度就是一切,它受網(wǎng)速和運(yùn)氣影響。來晚了,會被關(guān)在“大廳”門外。
為防止訂票者猶豫后悔造成機(jī)會浪費(fèi),“大廳”一次性放進(jìn)的信號會比余票數(shù)量稍多一點(diǎn)。但購買者和余票量在一定時間內(nèi)基本持平,“為了公平”。
鐵科院電子所副所長、研究員朱建生表示,如果讓這座“大廳”里每個“乘客”以最快的速度買到票,有多少“乘客”就需要多少“放票窗口”——處理購票需求的任務(wù)線程。這意味著巨大的計算成本。
目前12306網(wǎng)絡(luò)售票平臺的方式是,在“大廳”里開數(shù)個窗口,窗口前排起長隊。每個信號依據(jù)一定算法歸入某個窗口,跟隨隊伍有序向前。此時,不少人的手機(jī)上會顯示“排隊等待中”的字眼。
這套流程的核心是“異步交易排隊”技術(shù)。鐵科院在這方面“處于國內(nèi)領(lǐng)先水平”。
“公平”是技術(shù)研發(fā)人員遵循的基本原則。每個購票請求信號進(jìn)入的次序會被系統(tǒng)記錄下來,就像熱門餐廳向等待就餐的食客發(fā)放排隊號碼。無論后續(xù)進(jìn)程快慢,信號位置憑借這個“號碼牌”保留,先到先得。
“滴”,購票信號得到響應(yīng),訂單產(chǎn)生。人們點(diǎn)擊支付,完成交易。
監(jiān)控中心的大屏幕顯示,2018年2月2日上午10點(diǎn)22分,系統(tǒng)對請求信號的平均響應(yīng)時間最長不超過0.9秒,請求信號的平均等待時間則是1.8秒。朱建生告訴中國青年報·中青在線記者,在平均值后,每個用戶狀況不同,有人點(diǎn)擊購買后可能要等上八九秒甚至更久,有人則在不到1秒內(nèi)完成了整個交易,“甚至意識不到經(jīng)歷了怎樣復(fù)雜的過程”。
持續(xù)40天的“雙11”
12306的技術(shù)團(tuán)隊和阿里研究院的淘寶團(tuán)隊有過接觸,雙方都有點(diǎn)感慨,“這或許是全中國最能理解彼此的兩個技術(shù)團(tuán)隊了”。
單杏花覺得,自己在春運(yùn)時的工作感受和“雙11”當(dāng)夜的淘寶工程師類似。只不過,“他們只有1天,我們卻要面對40天”。
火車出行是春運(yùn)時很多人的第一選擇,也是“綜合性價比最高”的選擇。它不易受天氣影響,價格適中。鐵路系統(tǒng)內(nèi)部曾討論過大幅提高票價,以期用市場杠桿降低需求量。
這個動議最終被放棄。2016年底,國家發(fā)改委發(fā)布《鐵路普通旅客列車運(yùn)輸定價成本監(jiān)審辦法(試行)》?!肮叫浴北环旁谑孜?。
2017年春運(yùn),全國鐵路累計發(fā)送旅客3.57億人次,相當(dāng)于搬動整個美國和加拿大的人口。網(wǎng)絡(luò)買票漸成風(fēng)潮,到2017年,12306平臺的客票發(fā)售量達(dá)到全渠道的70%。
監(jiān)控大廳里高懸著一張2018年春運(yùn)網(wǎng)絡(luò)售票日歷,每個數(shù)字都有A4紙大小。除夕前兩天、農(nóng)歷正月初五到初七分別是回鄉(xiāng)和返程的高峰期,被特別標(biāo)紅了。
近來,單杏花每天早晨6點(diǎn)半起床,兒子還在睡夢中,北京的天空幾乎全黑。監(jiān)控中心燈火通明,工作人員大多在早上7點(diǎn)網(wǎng)絡(luò)售票開始前到齊。下班則在晚上11點(diǎn)后,系統(tǒng)休息了人才能休息。
監(jiān)控中心的大小屏幕實(shí)時顯示著購票情況。最火爆的請求隊列會被重點(diǎn)關(guān)注。一旦平均等待時間“出現(xiàn)異?!?,工程師會迅速投入查找和解決問題。所謂“異常”,有時和同熱度隊列的等待時間僅有幾秒甚至零點(diǎn)幾秒之差。
朱建生介紹,這里類似衛(wèi)星發(fā)射中心,“春運(yùn)之戰(zhàn)”的火光在計算中心閃耀。
中國鐵路客票系統(tǒng)擁有兩個計算中心,位于一條長長走廊的兩端。兩個中心能力相同,不分主從,各自承擔(dān)50%的系統(tǒng)任務(wù)。一個崩潰,另一個會立刻接過它的工作,保證服務(wù)運(yùn)行不會被任何意外中斷。
同樣,內(nèi)存計算是“分布式”的。“就是同一項工作,分給好多臺計算機(jī)來做?!眴涡踊ㄕf。
12306的流量分為旺淡季。如果完全依據(jù)旺季對計算能力的需求儲備計算的軟硬件資源,淡季一到,大量資源就被閑置了。
彈性計算架構(gòu)被建立起來,旺季時擴(kuò)展,夠用;平時壓縮,不浪費(fèi)。鐵科院研發(fā)了自己的云系統(tǒng),足夠應(yīng)對平時購票需求。但他們?nèi)宰庥昧税⒗镌坪万v訊云,應(yīng)對在春節(jié)等旺季劇增的計算量。
“他們只分擔(dān)計算工作,用戶信息還在我們自己的‘云’上,保證(用戶信息)安全?!敝旖ㄉf。
單杏花最焦慮的時期已經(jīng)過去了。2012年春運(yùn)期間,當(dāng)時的鐵道部決定將20%左右的票源投到12306平臺進(jìn)行互聯(lián)網(wǎng)銷售?!懊刻炜商幚?00萬筆購票需求,當(dāng)時想著應(yīng)該夠的?!币晃回?fù)責(zé)此項工作的前鐵道部工作人員在2012年接受《中國青年報》采訪時說。
互聯(lián)網(wǎng)售票的推動者沒有想到,12306平臺最高峰時一天售出了119.2萬張火車票,超出設(shè)計時每日最大售票量的20%。因?yàn)槟芰Σ蛔?,?dāng)時的系統(tǒng)平均每秒只能成功售出幾十張火車票,運(yùn)算壓力大時這個數(shù)字還會掉到10以下。那一年,“12306”登上了多家主流媒體的“年度熱詞”榜單,“卡頓”“失敗”頻繁出現(xiàn)在有關(guān)它的報道里。
那些天,單杏花“床擺到了實(shí)驗(yàn)室”,每晚11點(diǎn)售票系統(tǒng)關(guān)閉后,團(tuán)隊連夜對系統(tǒng)進(jìn)行優(yōu)化和測試。
6年過去了,12306網(wǎng)絡(luò)售票平臺原有的400臺服務(wù)器增加到2000臺,系統(tǒng)版本升級了6次。區(qū)域聯(lián)網(wǎng)升級成全國聯(lián)網(wǎng),電子支付被引入。電子客票起用,刷身份證可進(jìn)站。
鐵路系統(tǒng)不成文的行事規(guī)則被網(wǎng)絡(luò)擺到明處。少有人知道,一些車次的火車票正式發(fā)放后還會有一次小規(guī)模發(fā)售。前者大多是這一車次出發(fā)站和抵達(dá)站的席位資源,后者則來自沿線各站鐵路售票系統(tǒng)的少量分配。這在行業(yè)內(nèi)被稱作席位“復(fù)用”。12306網(wǎng)站5.0版本更新后,鐵路系統(tǒng)與網(wǎng)上平臺共享了“復(fù)用”資源。預(yù)售期遭遇發(fā)售車票“秒光”的12306使用者,出發(fā)日期臨近時再刷刷網(wǎng)站,可能發(fā)現(xiàn)大量余票。
在朱建生看來,12306的一年被“春運(yùn)”一分為二。為這次年終“大考”所做的準(zhǔn)備會持續(xù)一年。每年“春運(yùn)”結(jié)束,是下一年備戰(zhàn)的開始。
剛剛過去的一年里,12306網(wǎng)站的日售票能力從1000萬張?zhí)嵘?500萬張。動車組自動選座功能和接續(xù)乘車功能均于2017年10月12日上線。微信支付功能實(shí)現(xiàn)不久,購票通知短信能轉(zhuǎn)為微信閱讀,從座次安排到兩地天氣在內(nèi)的細(xì)節(jié)得以顯示。
2017年7月17日,互聯(lián)網(wǎng)訂餐系統(tǒng)上線,乘客購票后通過12306系統(tǒng)下單,提前選擇沿途某站餐飲提供商的產(chǎn)品。當(dāng)列車在那一站停留時,乘客可以坐在車內(nèi)等著外賣送達(dá)。保持時間的精確是整套系統(tǒng)的關(guān)鍵?!耙话阍蹅冇檬謾C(jī)App點(diǎn)外賣,十幾分鐘,遲就遲了?!眴涡踊ㄕf,“火車送餐晚十幾分鐘,車都開走了?!?/p>
12306 今年8歲了。它正由一個新鮮的買票渠道發(fā)展為一個更全面的“服務(wù)平臺”。
與機(jī)器搶票對戰(zhàn)
12306默默上線時,沒吸引太多注意力。那是在2010年,代表中國互聯(lián)網(wǎng)的“.cn”正式寫入全球互聯(lián)網(wǎng)根域名系統(tǒng)。中國互聯(lián)網(wǎng)網(wǎng)民達(dá)4.57億人,其中移動網(wǎng)民有3.03億人?!盎ヂ?lián)網(wǎng)購買火車票是一場不可逆轉(zhuǎn)的潮流中必然會發(fā)生的一步?!?/p>
朱建生介紹,移動端的發(fā)展是這幾年的最大趨勢。手機(jī)購票占互聯(lián)網(wǎng)購票的70%。
12306會繼續(xù)發(fā)展,但不會成為鐵路售票的唯一渠道。據(jù)中國鐵路總公司副總經(jīng)理黃民介紹,這是整個系統(tǒng)的共識。電話訂票系統(tǒng)和線下窗口將保留下去??傆腥寺浜笥谶@個數(shù)字時代,他們的需求同樣重要。
另一方面,最沉重的沙粒也終將被時代的潮水托起。
一直以來,協(xié)調(diào)成本和需求是鐵路系統(tǒng)的一件大事。12306返回的數(shù)據(jù)將作為重要參考,幫助鐵路系統(tǒng)進(jìn)行微調(diào),在節(jié)約成本的同時,讓每個焦急等待的人能踏上旅程。
2009年,當(dāng)時的鐵道部公安局抓獲票販子4069人,打掉倒票和制販假票團(tuán)伙、窩點(diǎn)1672個。據(jù)媒體報道,這些團(tuán)伙很多是來自農(nóng)村的一整個家族,“倒票比種地賺錢,判刑都值”。
網(wǎng)絡(luò)售票時代到來,這批票販子的教育水平跟不上了。到2014年火車票購買推行實(shí)名制以后,多地車站的鐵路公安一度都察覺到票販子的減少。
新的時代又有新的問題。
“刷票軟件確實(shí)給我們的系統(tǒng)帶來很大壓力。”單杏花說。機(jī)器每秒鐘可以點(diǎn)擊發(fā)送請求成百上千次,大大增加了系統(tǒng)的任務(wù)量,也無形中增加了其他不依靠軟件用戶的購票難度。
除了隱于暗處、熟悉掌握技術(shù)的票販子外,包括著名旅游服務(wù)平臺在內(nèi)的多家技術(shù)公司都光明正大地推出了搶票軟件,用戶支付一定費(fèi)用,就能更快、更穩(wěn)當(dāng)?shù)刭I到車票。除了大量批評,也有一些評論表示,這是火車票市場的自主調(diào)節(jié),一些人愿意用更高價格換取更多機(jī)會。
12306試圖在海量訴求中分辨人與機(jī)器。2015年,不少用戶發(fā)現(xiàn)自己在12306購票必須通過8張圖片組成的關(guān)卡,他們得從中準(zhǔn)確找出“花生”“松鼠”之類的指定物品。在后來的采訪中,12306團(tuán)隊將之視作“保證公平的有效手段”,因?yàn)樵诋?dāng)時,“看圖識物”還是只有人類才能解決的難題。
他們沒想到,這項舉措在網(wǎng)上迅速火了。至今,朱建生幾乎每次接受采訪還得解釋一遍:“網(wǎng)上的很多圖片是PS的?!蹦切┍痪W(wǎng)友轉(zhuǎn)發(fā)數(shù)萬次的圖片包括從一堆錐子臉中找到某個網(wǎng)紅。
2018年春運(yùn),能夠取代圖片型驗(yàn)證碼的驗(yàn)證方法尚未出現(xiàn)。12306表示會減少它們出現(xiàn)的概率,讓超過八成的用戶不必與之相見。
與“機(jī)器搶票”的對戰(zhàn)也在繼續(xù)。監(jiān)控中心的一面大屏幕實(shí)時顯示著風(fēng)險控制實(shí)況。購票請求的餅圖上,代表有機(jī)器刷票“風(fēng)險”的紅色和代表正常購票請求的藍(lán)色幾乎各占一半。11位IP數(shù)字變化閃動,它們都是被系統(tǒng)發(fā)現(xiàn)的危險分子。
單杏花表示,一定時間內(nèi),請求數(shù)超過某個范圍的IP地址或設(shè)備,系統(tǒng)都會納入眼底,對其限制訪問,或干脆攔截。
這也意味著,一旦有使用過搶票軟件的“黑歷史”,你的設(shè)備和IP很可能被系統(tǒng)認(rèn)出來,進(jìn)行限制。再通過正常渠道買票只會難上加難。
“我們只能盡量地限制?!睂τ谶@個話題,單杏花很謹(jǐn)慎,但也表示“今年搶票軟件不會那么好用了”。
海量的數(shù)據(jù)流向12306,匯成一張中國“春節(jié)人口遷徙圖”。“北京”“上?!薄皬V州”是這張圖上最亮眼的3個點(diǎn),像光源一樣發(fā)射千萬條軌跡,指向隱身在中國地圖上的某個小小站點(diǎn)。
中國青年報·中青在線記者 王夢影 周偉
編輯:曾珂
關(guān)鍵詞:揭秘12306團(tuán)隊