曹品一

摘 要:鐵路12306網上訂票系統自推出以來,極大程度地方便了人們的出行,使人們能夠通過電子設備進行實時購票,減少了長時間排隊的麻煩。本文從討論鐵路12306網上售票系統的現狀出發,深入剖析其技術原理,包括海量請求處理、數據庫、電子支付等方面,之后針對網站運營中存在的一些問題提出一些建議。自動化技術在該系統的運作中起到了很大的作用,本文對相關的自動化技術進行了分析和展望。
關鍵詞:鐵路;火車票;網上訂票;自動化
1 前言
春運將至,鐵路網上訂票又一次成為人們討論的熱點。以往,購買火車票需要去售票大廳或代售點,人頭攢動的買票隊伍成為每年春運前的新聞頭條;如今,在http://kyfw.12306.cn上,旅客就可以查看詳細的車次與余票信息,通過注冊賬號和身份核驗,人們能夠隨時隨地購買火車票,選擇的自由度高了,也節省了許多時間。
對維護12306網站信息服務的部門而言,整個售票系統是一個非常龐大而復雜的系統,是一個高負荷、高并發的云平臺,其規模甚至比淘寶網大2~3倍,而且對數據的實時性要求非常高。因此,其對大規模數據的自動化管理技術的考驗也是十分嚴峻的。
本文旨在從現狀和技術層面詳細分析和介紹鐵路12306網上訂票系統,并提出一些看法和建議。
2 應用現狀
2.1 客戶端
目前12306購票系統分為網頁端和手機端兩種購票方式,見圖1、圖2。兩種方式的界面設計十分清晰明了,旅客可以快速查詢到車次、余票量、價格、起售時間、經停站等信息。售票系統在北京時間每天23:00至次日7:00進入維護,期間不提供服務。
自開通以來,鐵路12306網上售票系統增加并優化了許多功能,如延長預售期至60天、變更到站和準點情況查詢。
2.2 用戶數與出票量
北京鐵路局早在2012年稱網絡購票注冊用戶已達800萬。如今的注冊用戶數量不得而知,但可以預測其規模十分龐大,并且每年都在高速增長。
在出票量方面,以2015年春運為例,售賣的最高峰日出現在12月19日當天開售臘月廿八的火車票(2月16日)。12306網站的訪問量(PV值)達到破紀錄的297億次,當天共發售火車票956.4萬張,其中互聯網發售563.9萬張,占59%,均創歷年新高。這之后的12月20日,互聯網發售457.7萬張。
根據最新的消息,自2016年鐵路春運售票工作啟動以來,截止2015年12月15日,鐵路部門已經發售火車票1.7億張,其中通過12306網站發售的車票突破1億,已占到售票總量的60%。自從2011年推出網絡購票以來,12306網站累計發售火車票35億張,方便了廣大旅客出行。
3 技術分析
3.1 海量請求處理
近年來,春運、十一等時段為售票高峰,12306網站的壓力急劇上升,數據處理量約為日常時段的百倍。如果按照春運高峰需求來配置資源,將造成日常資源的閑置。為提升有限資源的利用效率,同時使高峰時段不出現“買票難”、網站癱瘓等情況,該網站采用了排隊交易機制對旅客發起的大規模購票請求進行有效處理。
該處理模塊采用多線程模式進行設計,其中一個線程對后臺服務負載進行監控,根據負載情況對處理能力進行調度。當后臺所有處理資源繁忙時,處理模塊將自動堵塞,避免后臺服務過載;當后臺具有空閑資源時處理模塊將自動喚醒,立刻從隊列中獲取購票請求進行處理;當某數據處理中心的購票請求處理異常緩慢時,處理模塊將自動降低對該鐵路局中心請求所在隊列的處理速度,避免資源的長時間占用,達到處理能力最大化。該處理模塊具有智能化、自動化的特點。
除此之外,采用CDN加速、負載均衡、數據庫拆分等技術,采用分布式計算余票等方式也能減小延遲時間,提升點擊率峰值時系統的應對能力。
3.2 身份核驗與數據庫安全
12306購票系統要求所有購票用戶先通過身份核驗,內容包括姓名、生日、身份證號、手機、電子郵件等,其中姓名和身份證號在火車票實名制驗證中起著關鍵作用。對于學生而言,還要額外輸入學校、班級、學號、乘車區間的信息。為防止“黃牛”倒賣等現象發生,身份核驗的設置十分嚴密,據12306官網稱,其身份核驗與國家身份認證權威部門綁定。網絡核驗狀態為“待核驗”的乘客,還需持居民身份證原件專程前往車站售票窗口辦理身份信息核驗。
2014年末的一則新聞引發了眾人的關注:大量12306網站用戶數據在互聯網上瘋傳,包括用戶賬號、明文密碼、身份證、郵箱等,這些數據在一些黑客群體中流傳、買賣,但并未確定信息泄露來源。根據專家推測,這次數據泄露可能是黑客利用此前泄露的信息,通過“撞庫”得到的,即使用曾經遭泄露的數據庫中的用戶名與密碼,嘗試登陸12306網站獲取用戶個人信息。
重要身份信息的泄露會對用戶的日常生活帶來巨大的影響,如惡意退票、電話詐騙等。無論事故緣由是什么,這件事都警醒網站后臺與用戶做好個人信息的維護工作。對于網站后臺,應當提升數據加密算法的可靠性,保障傳輸路徑通訊的安全,保障系統權限設置等。對于用戶個人,應當在數據泄露事件發生后及時修改密碼,同時對于重要的賬號采用多套不同密碼,防止“撞庫”帶來的影響。
3.3 其他技術要點
3.3.1 購票操作平臺
購票操作平臺的服務對象是購票旅客,功能包括用戶管理和交易處理,其中用戶管理又包括用戶注冊、資料修改、密碼管理、登陸管理、聯系人管理等,交易處理包括查詢、預定、支付、退票與改簽、訂單查詢、短信通知、郵件通知等。
3.3.2 安全保障平臺
總體上,安全保障平臺提供網站交易安全、客票系統交易安全、電子支付安全、系統間邊界安全及網絡安全保障功能,如對網頁和手機客戶端的訪問進行控制技術,識別仿造客戶端發出的購票請求,保證官方原版客戶端才能訪問后臺,對購票協議進行加密,每次訪問請求都進行安全算法的驗證。
3.3.3 電子支付平臺
鐵路電子支付平臺提供多家銀行的支付平臺,實現互聯網售票系統和網銀系統的統一對接,同時也開放銀聯與支付寶端口。除付款外,網站還支持在線退款、線下退款和日常對賬等功能。
3.3.4 綜合監控平臺
通過系統監控功能,實現對互聯網售票相關的服務器、網絡、存儲、安全平臺、數據庫提供狀態監控功能,對故障設備或超載狀態提供聲音、圖像和短信多種報警手段;通過業務監控功能,實現對網站登錄人數、售票張數、壓單情況、支付情況進行業務監控。
4 前景預測
隨著互聯網的深入普及和網上售票的愈發便捷,更多的人會拋棄長途奔波至火車站、排數小時長隊的購票方式,而是選擇網上購票。由此來看,互聯網出票所占比率在近年內依然會不斷提高。但出于互聯網普及率已接近飽和的考慮,增長速度將會逐漸下降。
近年來,移動互聯網的網速不斷提升,普及率也不斷提高,在此可以預計手機端的出票比率會不斷增加,但由于電腦操作相對于手機操作仍有優勢,網頁端的出票比率不會發生太大變化。
5 思考與建議
5.1 訂票系統功能建議
5.1.1 增設選座功能
截至目前,12306網上售票系統依然只能選擇車次,而不能選擇具體座位。有些旅客愛看風景、偏好靠窗的座位,有些腿腳不便、偏好靠走廊的座位;有些喜歡下鋪,有些則偏好中鋪和上鋪。對于老年人而言,如果買到了中鋪或上鋪的票會十分不便。如果增設選座功能,將更能提高乘客的滿意度。
但考慮到高峰時段的購票需求,很多情況的購票需要靠“搶票”來實現。增設選座功能反而可能增加操作步驟,會使購票過程變得更復雜,這對不習慣信息化操作的旅客來說是一種負擔。這個功能的真正實現還需要更深入的探討。
5.1.2 更優的分配方法
在團體出行時,旅客可能會買到分散的車票,甚至會分散在不同車廂。在火車上如果進行臨時換座,也會給檢票員的工作帶來很大麻煩。在建立放票規則時,如果引入更優的分配方法,那么可以減少此類情況的發生。
5.2 無處不在的自動化
通過對鐵路12306網上售票系統的研究與分析,我對自動化技術產生了濃厚的興趣,對數據庫和計算機網絡等知識有了新的認識,并對一個大型系統的構造有了初步了解。
例如,12306網站在處理大規模數據時,采用了多級反饋隊列調度算法。反饋是自動控制中一個十分重要的概念,指的是通過對回傳數據的分析,對信息的再輸出產生影響,起到控制作用。前文中提到的,在網站后臺進行海量請求處理時,各線程的工作量合理分配就是基于反饋設置達到的。在大型工廠的運作中,鍋爐的水位、氣缸的氣壓和溫度等,都應用反饋的原理進行控制,保障了運作效率和生產安全。
當然,海量數據請求處理只是12306這個龐大的自動化售票系統多個技術點的一個縮影。通過一系列信息化、自動化建設,火車站購票時的人工操作已成為過去,列車信息、用戶信息等數據的更新、管理過程都是通過購票系統自動完成的。
近年來,“智能家居”作為熱點頻繁闖入人們的視野。暢想未來的生活,通過網絡與處理器連接的空調、照明燈、咖啡機將能提高人們生活的效率和舒適性,還有安保系統與自動報警系統保障家人的安全。這些造福人類生活的應用背后,正是以自動化作為核心技術的。在未來,我們的生活將離不開自動化技術。
除此之外,一系列由自動化與其他學科交叉形成的新興學科也正蓬勃發展,如生物信息學、現代物流、智能交通等。自動化領域正進一步擴大,將是一個無限廣闊的天地。
參考文獻
[1]邢國軍,王明哲,朱建生,等.鐵路12306手機售票系統的研究與實現[A].中國智能交通協會.2014第九屆中國智能交通年會大會論文集[C].2014:4.
[2]楊立鵬,王富章,梅巧玲,等.互聯網售票中的海量請求處理技術研究[J].鐵路計算機應用,2015,(7):25-27.
[3]王明哲,張振利,徐彥,等.鐵路互聯網售票系統的研究與實現[J].鐵路計算機應用,2012,(4):23-25,39.
[4]盛夏,劉祥偉,龍賀.多級反饋隊列調度算法及其在網絡購票系統中的應用[J].軟件導刊,2015,14(9):89-91.