首頁>要聞 要聞
揭秘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點后,系統休息了人才能休息。
監控中心的大小屏幕實時顯示著購票情況。最火爆的請求隊列會被重點關注。一旦平均等待時間“出現異?!保こ處煏杆偻度氩檎液徒鉀Q問題。所謂“異?!保袝r和同熱度隊列的等待時間僅有幾秒甚至零點幾秒之差。
朱建生介紹,這里類似衛星發射中心,“春運之戰”的火光在計算中心閃耀。
中國鐵路客票系統擁有兩個計算中心,位于一條長長走廊的兩端。兩個中心能力相同,不分主從,各自承擔50%的系統任務。一個崩潰,另一個會立刻接過它的工作,保證服務運行不會被任何意外中斷。
同樣,內存計算是“分布式”的。“就是同一項工作,分給好多臺計算機來做?!眴涡踊ㄕf。
12306的流量分為旺淡季。如果完全依據旺季對計算能力的需求儲備計算的軟硬件資源,淡季一到,大量資源就被閑置了。
彈性計算架構被建立起來,旺季時擴展,夠用;平時壓縮,不浪費。鐵科院研發了自己的云系統,足夠應對平時購票需求。但他們仍租用了阿里云和騰訊云,應對在春節等旺季劇增的計算量。
“他們只分擔計算工作,用戶信息還在我們自己的‘云’上,保證(用戶信息)安全?!敝旖ㄉf。
單杏花最焦慮的時期已經過去了。2012年春運期間,當時的鐵道部決定將20%左右的票源投到12306平臺進行互聯網銷售?!懊刻炜商幚?00萬筆購票需求,當時想著應該夠的?!币晃回撠煷隧椆ぷ鞯那拌F道部工作人員在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系統下單,提前選擇沿途某站餐飲提供商的產品。當列車在那一站停留時,乘客可以坐在車內等著外賣送達。保持時間的精確是整套系統的關鍵?!耙话阍蹅冇檬謾CApp點外賣,十幾分鐘,遲就遲了。”單杏花說,“火車送餐晚十幾分鐘,車都開走了?!?/p>
12306 今年8歲了。它正由一個新鮮的買票渠道發展為一個更全面的“服務平臺”。
與機器搶票對戰
12306默默上線時,沒吸引太多注意力。那是在2010年,代表中國互聯網的“.cn”正式寫入全球互聯網根域名系統。中國互聯網網民達4.57億人,其中移動網民有3.03億人?!盎ヂ摼W購買火車票是一場不可逆轉的潮流中必然會發生的一步?!?/p>
朱建生介紹,移動端的發展是這幾年的最大趨勢。手機購票占互聯網購票的70%。
12306會繼續發展,但不會成為鐵路售票的唯一渠道。據中國鐵路總公司副總經理黃民介紹,這是整個系統的共識。電話訂票系統和線下窗口將保留下去??傆腥寺浜笥谶@個數字時代,他們的需求同樣重要。
另一方面,最沉重的沙粒也終將被時代的潮水托起。
一直以來,協調成本和需求是鐵路系統的一件大事。12306返回的數據將作為重要參考,幫助鐵路系統進行微調,在節約成本的同時,讓每個焦急等待的人能踏上旅程。
2009年,當時的鐵道部公安局抓獲票販子4069人,打掉倒票和制販假票團伙、窩點1672個。據媒體報道,這些團伙很多是來自農村的一整個家族,“倒票比種地賺錢,判刑都值”。
網絡售票時代到來,這批票販子的教育水平跟不上了。到2014年火車票購買推行實名制以后,多地車站的鐵路公安一度都察覺到票販子的減少。
新的時代又有新的問題。
“刷票軟件確實給我們的系統帶來很大壓力?!眴涡踊ㄕf。機器每秒鐘可以點擊發送請求成百上千次,大大增加了系統的任務量,也無形中增加了其他不依靠軟件用戶的購票難度。
除了隱于暗處、熟悉掌握技術的票販子外,包括著名旅游服務平臺在內的多家技術公司都光明正大地推出了搶票軟件,用戶支付一定費用,就能更快、更穩當地買到車票。除了大量批評,也有一些評論表示,這是火車票市場的自主調節,一些人愿意用更高價格換取更多機會。
12306試圖在海量訴求中分辨人與機器。2015年,不少用戶發現自己在12306購票必須通過8張圖片組成的關卡,他們得從中準確找出“花生”“松鼠”之類的指定物品。在后來的采訪中,12306團隊將之視作“保證公平的有效手段”,因為在當時,“看圖識物”還是只有人類才能解決的難題。
他們沒想到,這項舉措在網上迅速火了。至今,朱建生幾乎每次接受采訪還得解釋一遍:“網上的很多圖片是PS的?!蹦切┍痪W友轉發數萬次的圖片包括從一堆錐子臉中找到某個網紅。
2018年春運,能夠取代圖片型驗證碼的驗證方法尚未出現。12306表示會減少它們出現的概率,讓超過八成的用戶不必與之相見。
與“機器搶票”的對戰也在繼續。監控中心的一面大屏幕實時顯示著風險控制實況。購票請求的餅圖上,代表有機器刷票“風險”的紅色和代表正常購票請求的藍色幾乎各占一半。11位IP數字變化閃動,它們都是被系統發現的危險分子。
單杏花表示,一定時間內,請求數超過某個范圍的IP地址或設備,系統都會納入眼底,對其限制訪問,或干脆攔截。
這也意味著,一旦有使用過搶票軟件的“黑歷史”,你的設備和IP很可能被系統認出來,進行限制。再通過正常渠道買票只會難上加難。
“我們只能盡量地限制?!睂τ谶@個話題,單杏花很謹慎,但也表示“今年搶票軟件不會那么好用了”。
海量的數據流向12306,匯成一張中國“春節人口遷徙圖”。“北京”“上?!薄皬V州”是這張圖上最亮眼的3個點,像光源一樣發射千萬條軌跡,指向隱身在中國地圖上的某個小小站點。
中國青年報·中青在線記者 王夢影 周偉
編輯:曾珂
關鍵詞:揭秘12306團隊