日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

原创:谈谈12306铁路客运售票系统的架构问题(二)

發布時間:2024/4/14 windows 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 原创:谈谈12306铁路客运售票系统的架构问题(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原創:談談12306鐵路客運售票系統的架構問題(二) 作者:劉常軍(2014-01-10) 就一個軟件系統而言,業務需求是根本,是軟件系統的基因和靈魂。 下面我們來簡要的分析一下鐵路客運售票系統和道路客運售票系統的主要業務需求。 首先,鐵路客運售票系統的業務需求主要有:(1)要建一個全國集中式的鐵路客運售票系統,要把全國所有火車站及票務資源都要收入其中。(2)單次運輸載客人數較多。以動車組為例,短編組的動車組有8個車廂,610個座位,長編組的動車組有16個車廂,1220個座位。(3)路途較長,途徑站點多,區間段內上下客多。(4)鐵路客運售票系統的車票庫必須支持動態生成,要能夠根據旅客購票情況實時拆分、動態生成。舉例來說,一列從廣州開往北京的動車組,在正式售票前,票務庫里可能只有1220張“廣州-北京”的車票。當然,實際情況更可能是為沿線的幾個大站預先生成若干車票,這樣乘客購票時系統可以直接出售而無須拆分,只有短途票、或者在一些小站發車、或者預先生成的票全部售完等情況才需要動態生成,這里為了舉例說明而做了簡化處理。現在我們來分析一下車票是怎樣動態拆分的。假設有A旅客買了一張“廣州-長沙”的票(一端為起點),那么票務庫應當立刻取一張“廣州-北京”的票將其一拆為二,一張是“廣州-長沙”,賣給A旅客,另一張是“長沙-北京”,保存到車票庫里。假設有B旅客買了一張“武漢-鄭州”的票(中間段),那么票務庫應當立刻取一張“廣州-北京”的票將其一拆為三,一張是“武漢-鄭州”,賣給B旅客,其余兩張“廣州-武漢”及“鄭州-北京”的票則保存到車票庫里。實際在拆分時還會涉及到很多優先級算法,例如旅客要買短途票,那么系統是優先拆長途車票、還是優先拆短途車票?旅客要買長途票,但車票庫里已經沒有符合條件的長途票,只有一些很零碎的車票了,那么能不能把幾張很零碎的車票拼起來賣給旅客?……諸如此類,要考慮很多細致的算法,這樣才能保證將盡可能多的車票賣出去,降低列車座位的空座率,減少浪費。 而道路客運剛好相反,(1)立足本市建設道路客運售票系統,只要把本市的汽車站和票務資源收錄其中即可。(2)單次運輸載客人數較少。一般大型客車的核載人數不超過45人,比火車動輒數百上千人要少很多。交通運輸部門對營運車輛的超載行為抓得很嚴,車站賣票不可能賣的比座位數還多。(3)路途長短不一,有省際客運,也有省內客運,但多數都是直達車,經停某站并上下客的比例很少。所以每輛車的車票數量是有限的(不超過核定載客數),車票的起訖站是固定的并且起點站均為本市客運站,客車票是靜態的,根本不需要拆分和動態生成,完全可以在售票之前由系統自動生成好。 從以上業務需求中我們可以看出來,集中式的鐵路客運售票系統要比分布式的道路客運售票系統,在系統設計上要復雜的多。而且這些讓人一看就頭大的業務需求,顯然使用集中式架構進行開發的工作量要稍小一些。現在我們假設12306.cn是采用道路客運那樣每個市建一個數據庫,那實現起來要考慮的問題就太多了!除了程序算法以外,還必須要考慮全國三四百個城市中的數據庫與12306.cn的聯網問題。最起碼要搞一個“部省聯網工程”吧,光是這一個工程建設就得兩三年。連上之后,出于對實時性的考慮,售票系統必須要能實時連接全國這三百多個數據庫,旅客買一張票,售票系統就得立即連接到始發站所在城市數據庫進行操作,拆分生成的新車票還要插入另一個始發站城市數據庫,這些城市數據庫跟12306.cn之間的網絡鏈接是否可靠?帶寬及性能如何? 如何保證事務一致性?網絡通道的安全性如何?……很多現實的技術問題從一開始就擺在所有人面前,工程竣工遙遙無期。所以為了系統能盡快上線,選擇集中式架構進行建設,可能也是迫不得已的一種選擇。 很多人拿“雙11”期間的淘寶、京東、騰訊等平臺跟春運期間12306.cn比,并以此為依據批評12306.cn鐵老大作風,這里我要替12306.cn說一句公道話。眾所周知,淘寶、京東、騰訊等電商平臺從最初上線發展到今天,都已經有十余年的歷史了。十年前它們最初上線時根本沒多少用戶量,系統里可銷售的商品數也有限,那個時候也沒有什么“雙11”和“秒殺”的概念,它們都是從小到大一點一點逐漸成長起來,數據量級也都是從萬級到百萬級再到億級這樣一步一步走過來的,歷史留給了他們不斷向上、不斷完善的時間。但12306.cn沒有,幾乎是從它誕生那一刻起,就面對了全國的用戶,沒有一個逐漸發展的過程。并且電商平臺也沒有這么動態分分合合的復雜業務邏輯,一件商品與另一件商品數據之間幾乎沒有關聯,數據量雖大,但可以采取各種技術手段將其水平拆分,分布到多臺服務器上。所以拿電商平臺與12306.cn直接比較,對后者而言并有失公平。盡管如此,12306.cn仍然要努力加快自身的改造,畢竟這個平臺關系到廣大旅客的切身利益,人民群眾熱切盼望你們能夠超常規發展啊! 那么12306.cn的架構有沒有可以優化的地方呢?有,具體如何優化,請看下文《原創:談談12306鐵路客運售票系統的架構問題(三)》。

轉載于:https://www.cnblogs.com/liu7537/p/3528828.html

總結

以上是生活随笔為你收集整理的原创:谈谈12306铁路客运售票系统的架构问题(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。