羊昨晚看新聞,注意到今年的春運這兩天才剛剛結束。
又一次見證世界上最大規模的人口遷徙,已經成為我們過年特有的文化現象。
過去三年,有多少寶子由于或客觀或主觀的因素,被阻隔在千里之外。
【資料圖】
想回的家鄉,想逛的城市,都成了難以抵達的遠方。
在這個春節,終于都狠狠實現了。
據不完全統計,今年春運是20.95億人次參與的大項目,想來你我都有份
。
其中,羊有特別關注到一組數據。
全國3285個鐵路車站,15.5萬公里的鐵路線,4.2萬公里的高鐵線上,迎來送往了至少3億人。
而鐵路客票系統12306,更是賣出3.85億張票。
正月初七返程高峰當天,單日售出1325萬張票,1秒就能賣出1300張票…
對于經常選擇火車、動車和高鐵回家or出行的寶子來說,12306客票系統早已是老工具人了。
即便原地不動的,微信里也會頻繁收到親戚朋友同事們的高鐵搶票加速包。
可縱使用了好多年,或許并無人在意。
我們每一次順利出行的歲月靜好,都離不開12306在替我們負重前行。
它擁有超6億注冊用戶,和大多數人生活密不可分。
它年售票超40億張,加起來可繞地球8圈。還能秒殺所有的黃牛搶票軟件。
這個由我們中國人自主研發建立,也是全球最大的票務交易系統,到底有多牛?且聽羊來細說。
圖源:央視《開講了》單杏花
12306的客票系統
沒你想得那么簡單
首先寶子們需要明確一個概念,「12306」原本是指中國鐵路的客服電話。
后隨著技術進步,構建出了一個為我們提供購票、退票、換票等渠道的互聯網客票管理系統,包括前臺的電話、網站和App多種途徑。
由此,前臺的購票服務和后臺的整套票務管理系統,被以12306寬泛代指。
我們普通人在12306中,用得最多的功能是查詢余票和買票(搶票)。
這個幾乎每個中國人都離不開的購票平臺,首先使用人數上自然是相當龐大。
它在春運高峰日的點擊量,可以達到1495億次,相當于每秒承受170萬次點擊。
12306監控中心
這個數字太大了,很多寶子可能沒什么概念。
以全球訪問量最大的搜索引擎谷歌來做個對比,谷歌的日訪量是56億次左右。
直觀來看,谷歌的日活點擊量不及12306客票系統的零頭
。
并且,12306可以在供應100萬人同時搶到1萬張火車票的同時,還能夠保證系統正常、穩定運行。
用通俗易懂地話來說,就是每秒有幾百萬人擠進你家大門,你家門檻非但沒被踩爛,而且沒有出現踩踏事故。
而涌入你家大門的幾百萬人,也許需要排隊,但是只是短暫地一小下下。
相信不少寶子,都參與過電商的雙十一、雙十二的零點秒殺吧?
是不是常常排隊人太多,擠不進去。再一刷新,就會出現服務器錯誤的頁面。
再聯想一下,我們大學時候的教務系統,幾百個人選課都能直接癱瘓…
這些問題12306也不會有,因為后端強大的信息系統架構給足了安全感。
再說,買東西和買票,還是不一樣。
毫不夸張評價,12306客票系統比某寶電商系統要復雜幾百倍。
大家都知道,電商的訂單是獨立的,賣出一單減一個庫存。
但我們一趟列車有多個停靠站,所以每一張火車票都是動態關聯的。
可謂牽一發而動全身,并不能簡單粗暴地增減就完事兒了。
圖源:央視《行業影像志》
通俗來說,就是12306每賣出一張票,系統都要計算一次和這張票的關聯。
要對全線路上的所有車票進行實時數據更新,由此決定了余票動態計算過程的復雜性。
具體的計算方式,可以看圖中的舉例解釋
圖源:央視《行業影像志》
余票計算步驟繁雜,還有加上實名認證、精準對號入座、去紙質化的改進。
以及一系列的配票算法,來決定你在買票時就知道能坐到靠窗還是靠過道。
相當于要求12306當場做高數題,1秒做1300道還不能做錯一道
。
除此以外,它還要防備第三方搶票軟件來插隊,以確保大家靠自己買上票。
而以上種種,不過只是12306客票系統面向我們服務的幾件基礎小事而已。
其背后也能統一調配車次編組、經停車站、停靠時刻以及票價票據。
還覆蓋其他售票渠道、實名制驗票、進出站檢票、列車員驗票、臨時身份制證等等業務。
可以說,12306客票系統是中國官方部門做的最強大的電商服務系統。
別看后端運行系統復雜到業界稱奇,前臺的操作界面卻十分簡潔。
極大方便了我們日常的出行和生活,難怪幾乎每個中國人都離不開呢(老賴除外)!
然而,曾經的12306,可還不這樣。
那些年春節的隱形傳統還不是罵春晚爛,而是罵12306爛
。
在12306誕生之前,回家過年只能線下購票。
需要早早卷著鋪蓋、帶著干糧,去火車站的窗口排隊,再著急也沒轍。
2011年6月12日,12306開通網站購票業務。
2013年年底上線客戶端,并在同年進行了第一次改版。
增加了自動查詢、自動提交訂單、有票提醒等功能。?
12306建設初期體系架構示意圖
改版升級后的12306,依然會時不時會出現系統宕機與崩潰的情況。
在前臺購票時就經常出現閃退、買了票不顯示等問題。
還有很多轉戰網絡炒票的「黃牛」插隊搶票,一到春運12306就癱瘓,因此挨了不少罵。
一直到2014年,這些問題都沒能得到很好的解決。2015年,12306選擇和阿里云合作。
他們租用公有云,和鐵路的私有云共同組成了混合云的系統架構。
這一年春運期間,阿里云承擔12306客票系統中75%的流量壓力,主要是車票查詢業務。
第二次優化后的12306體系架構
不久,12306又上線了選取圖片驗證碼的方式,阻擋技術黃牛倒賣車票。
后面還逐步升級了風控系統,攔截第三方刷票軟件的入侵流量。
2017年支持微信支付,2019年上線候補功能,2020年開通支付寶小程序…
當然,程序員肯定是最了解12306票務系統到底有多繁復。
我們外行人只要知道,正是一直在不斷優化升級,才有了今天全球最大票務交易系統。
可有人會說,12306客票系統之所以強大和牛逼,是阿里的技術和服務器的功勞。
的確,有了阿里云的加入,讓12306的運行更加絲滑。
但12306客票系統,并不僅僅只有春運高峰搶票的功能。
而此前網傳阿里提供技術支援,也被前阿里云公關總監親口否認過。
如此以偏概全,直接抹掉了自主搭建12306全套信息系統架構那群人,30年來的努力和付出。
而其中最重要的技術帶頭人、12306總工程師單杏花,可第一個不答應。
是她見證并參與了中國鐵路客票系統從零到有的全過程。沒有她,就沒有12306的今天。
從大山放牛娃逆襲
12306的最強大腦
1974年3月,單杏花出生于江西婺源一個小山村,有兄弟姐妹四個。
由于全家唯一的經濟來源是靠父親種田,日子格外窮苦一些。
哥哥讀到初三家里就供不起了,姐姐讀完四年級也輟了學。
單杏花6歲起就和姐姐一起放牛,上了小學每天要往返20里地。
后來她考上30里外的鎮初中,每周走路回家一趟裝點辣椒醬或霉豆腐,就是一周的伙食。
只要放假,單杏花除了放牛,還要幫家里干農活兒。鋤地、種菜、砍柴、插秧、割稻子,以及去深山里打豬草等等。
14歲時,她考上離家60里地的縣重點高中婺源二中,99塊學費難倒了全家。
在外婆看來,女孩子遲早是要嫁人,讀那么多書沒有用。可單杏花的父親還是東拼西湊借錢送她去讀了。
高中三年她每月回家一次,幾乎以吃叢菜、酸菜、辣椒醬、豆腐乳為主。生活上的苦她并不覺得苦,每天只想著如何學好每門功課,追上成績更好的同學。
功夫不負有心人,17歲的單杏花考上西安工業學院計算機應用專業,得以走出大山。
大學四年她省吃儉用、勤工儉學,學習上絲毫不敢放松,生怕拿不上獎學金。
1996年,21歲的單杏花又繼續考入華東交通大學讀研,主修交通運輸工程與控制。
9月份入學,9月底就被學校派到中國鐵道科學研究院,參與全國客票系統的研發推廣工作(12306的前身)。
單杏花人物采訪
12月底,包括單杏花在內的華東交大四位師生,被安排去九江站進行客票系統1.0版本的推廣。
2000年前后,和單杏花一起參加客票系統1.0版本的7所高校28個師生,先后都各奔了前程。
只有她堅定地選擇了留下來,期間有公司愿意出比她當時工資高4倍的價格挖她,姐都不為所動。
客票系統從1.0版本到5.0版本,再到新一代從手工售票到計算機售票,從車站獨立售票到全國聯網售票,再到鐵路12306互聯網售票。
無權無勢唯有一腔熱情的單杏花,全靠自己埋頭努力,一步步從學習協助到獨擋一面,從主持負責到總體設計。
再后來,她憑借研發中國鐵路客票發售和預定系統,斬獲了國家科技進步一等獎。
她成了鐵科院總工程設計師,鐵路12306科創中心副主任,中國鐵路客票系統技術帶頭人,被稱為12306的「最強大腦」。
今年,她還以「最美鐵路人」的身份,出現在了春晚的鏡頭里。
可這背后的辛苦和成果,之前只有單杏花和她的團隊知道。而羊覺得,有必要被大家都看到。
客票系統前后進行5次更新迭代,全國有近5000個車站,平均每2天完成一座車站的系統升級。
于是單杏花和團隊同事們用了整整十年,跑遍了全國,讓沿用近一個世紀的硬板票,退出了歷史舞臺。
2005年,單杏花開始主持鐵路客票系統5.0版本的設計、研發和推廣。
她帶領團隊進行了票額共用、復用剩余票調整等一系列售票組織技術的創新。
那一年,至少有2個月以上她都在通宵熬夜,因為系統的安裝調試需要在夜間進行。
5.0版本推出后,單杏花團隊的新功能為鐵路客運至少每年增收30億元以上。
2011年,單杏花又帶隊負責研發鐵路12306互聯網售票系統。
從接到任務到6月12日成功實現京津線互聯網售票,她和她的團隊只用了不到3個月就做出來了。
雖然平穩度過包括國慶在內的半年時間,但2012年春運一來,就把12306搞崩潰了。
當時的系統設置單日最高售票量是100萬張,然而真實情況遠超這個數。
就連僅僅是一次簡單的「余票查詢」,可能就是幾萬次的計算。
單杏花人物采訪
那個歡天喜地的春節里,單杏花并沒有休息。
她和團隊盡最大努力進行系統優化,保障著大家能夠順利回家。
每天白天她跟蹤系統運行狀況,分析壓力最大的環節,思考解決方案。
晚上11點系統停售后,就上線白天優化的內容,再進行全面的測試。
到凌晨3、4點去休息,早上6點半再起來觀察晚上升級的效果。
50多天的春運,都是這樣加班加點過來的,還自主研發出了排隊系統。
春運一結束,單杏花和團隊又繼續技術攻關。
對12306的核心系統做了五個方面的優化,研究出全球僅有的系列方法和技術。
工作繁忙至此,單杏花還在當年攻讀完鐵科院交通運輸規劃與管理專業的工學博士學位。
事業學業兩不誤到底是怎么做到的啊?求姐開課講講時間管理吧!
除了要保證我們能買上票,單杏花和她的團隊還要對抗「黃牛」。
現在說的黃牛其實是一些第三方搶票軟件,打著官方的幌子兜售加速包和各類保險,存在泄露個人信息的風險。
(說誰羊就不點名了)
而他們搞的搶票機器,點擊速度是人手的幾十倍、甚至上百倍。
可惡,就說我們怎么買不到票!
對此,單杏花和團隊研發出12306風控系統,把疑似的搶票流量予以拒絕和屏蔽。
經過一系列技術迭代和優化,我們使用12306的體驗感,才越來越好。
而鮮少有人知道,為了保證系統的持續優化和升級,經常通宵達旦的單杏花,患有先天性心臟病。
雖然她只是30年如一日盡力做好本職工作,但卻保障著我們每一次的平安和團圓。
這些,難道不值得夸嗎?
女生學不好數理化?
那些「被隱身」的技術女性
互聯網是個有意思的地方,有博主發文夸單杏花。
卻要被追著diss把功勞記她一人頭上,是她竊取了阿里的功績。
有些更是把中國鐵路客票系統30年從零到有的成長和進步,憑空抹殺。
他們到底在怕什么?
他們的上躥下跳,和那些說女生學不好數理化、女生不擅長邏輯思維的污名化有區別嗎?
有區別,但不大。
提到做技術架構、搞信息系統的程序員,大多人的刻板印象都會是男生擅長。
但一個燙知識:世界上第一位程序員阿達·洛芙萊斯,是女性。
她還是計算機程序的創始人,為計算程序擬定算法,寫出第一份程序設計流程圖,建立了循環和子程序概念。
后來,有一門高級計算機編程語言以「Ada」命名,用來紀念阿達·洛夫萊斯。
世界上第一臺大型數字計算機的第三名程序員葛麗絲·穆雷·霍普,是女性。
她創造了現代第一個編譯器A-0系統,以及商用電腦編程語言COBOL。
還有如今計算機行業的專業術語「Bug」,也是她最開始說來代表程序故障的。
NASA的月球登陸異步處理系統,也是女程序員瑪格麗特·漢密爾頓寫出來的。
她是阿波羅計劃的首席開發人員,也創造了計算機編程的核心理念,比微軟的出現還早10年。
還有中國香港的余國荔,微軟Halo團隊的首席游戲引擎程序員。
微軟游戲工作室第一位也是唯一一位女高管。
單杏花和她們的存在,就是要打破女生學不好數理化,男人思維邏輯能力更強的刻板印象。
就是要向這個世界證明,女性的能力一點都不差,女性程序員也可以很牛逼!
她們創造和改寫了歷史,她們不該被選擇性隱身。
羊不僅要夸她們,還要大夸特夸!
責任編輯: