朱嘉斌
(蘇州軌道交通有限公司建設分公司,215006,蘇州∥工程師)
城市軌道交通清分中心是實現軌道交通網絡化、提高服務水平的重要基礎。它具有連接各個線路售檢票系統,處理線網內所有交易數據的功能。隨著城市軌道交通線路的增多,提高清分中心數據處理能力的需求越益迫切。
本文從清分中心系統性能的設計需求分析出發,分別對清分中心的軟件、硬件、數據庫3個方面進行設計,以整體提升系統的數據處理和線路接入能力。
為能滿足城市軌道交通實際客流交易數據的處理要求,又能夠合理部署、減小過高配置帶來的資源浪費,以降低投資,各個城市應根據自身軌道交通的預測客流,對清分中心系統的軟硬件進行針對性設計。本文以一般性城市遠期處理需求為例,按每日處理300萬人次的客流數據(750萬筆交易數據)、2h內完成清算批處理、在4h內完成累計2天的最大客流量的交易數據清算等幾項重要指標,對系統軟件、硬件和數據庫進行針對性的設計研究。
根據關鍵性能要求,即2h完成750萬筆交易數據(300萬人次客流)清分、4h內完成累計2天的交易數據清算,進行分析、配置相應硬件設備。按經驗,每筆實際清分交易相當于2筆標準TPCC(整體性能計算單位)交易的處理量。
滿足2h內完成對最大次數交易量處理的清分系統主機性能要求為:
(750萬筆交易數據×2)/(2×60min)=125 000 TPCC/min
滿足4h內完成累計2天的交易數據清算處理的清分系統主機性能要求為:
(750萬筆交易數據×2×2)/(4×60min)=125 000TPCC/min
另外,系統還將預留70%的處理余量,因此選擇相應服務器設備需達到125 000TPCC/min的要求。
對清分計算機主機資源進行合理的應用分配,以期達到負載均衡、充分發揮2臺服務器的處理能力。
為了預防單點故障,需要有配置互為備份的2臺主機。為了充分利用硬件資源,使用2臺主機同時參與應用處理。在系統繁忙時,可能出現因負載不均衡導致的系統阻塞和顛簸。為了避免這種情況發生,隨時檢測資源的忙閑狀況,將任務交給相對空閑的主機去做,以均衡負載,達到最優化的處理性能。
考慮后期數據處理需求的增長,清分中心系統只需通過對硬件設備的擴充,即達到所需要的性能指標處理要求。為保證清分中心系統的可擴展性和處理能力,清分中心系統使用了多機處理方式,以便于實現對分布于不同主機上的同類子系統、進程的監控。這樣既能從業務系統的高度,又能從具體主機上的某個進程的深度來完成具體的管理任務,并可實現擴展相應硬件提高處理能力的目標。
清分中心系統按業務的實時性要求,進行區分優先級的業務處理。
對于實時性要求高的數據處理,如事件(狀態)、命令、模式切換、參數同步等,賦予較高的處理優先級;而對于實時性要求低的數據處理,如交易數據上傳、寄存器數據上傳等,賦予較低的處理優先級。
后臺應用服務處理進程在其任務隊列中取出優先級最高的任務進行處理。優先級高的任務總是能被很快地優先處理掉,而不會被大量的優先級低的任務所阻塞。這樣,就不會發生因通信故障恢復后產生的大量交易數據上傳阻塞而導致命令、查詢等得不到及時響應的情況,以滿足快速的響應要求。
啟動多組應用,采用并行數據處理技術以提高應用處理能力。
在一項任務的處理過程中,主機內部各種硬件資源的使用率是不同的,而每種任務的硬件資源使用方式又各不相同。所以,同時進行多項任務處理,可以充分發揮硬件的處理能力,從而增加數據處理的吞吐量。
大量使用內存數據表和緩存,減少對硬盤的訪問量,可以提升交易的處理速度。
內存中處理的速度往往比硬盤訪問快一個數量級以上,因此將頻繁使用的數據強制放在內存中,比每次用時都要從硬盤中讀出來要高效得多。在操作系統和數據庫層面,有很多內存緩存的設計。在應用層面,強制某些常用的數據表放在內存中,以達到高效的處理效果。
為了提高硬件使用效率,采用每日分多批次進行交易批處理的方式,充分利用在白天運營時的處理能力,而不是將所有批處理都放在晚上運營結束后進行。這樣的設計在國內軌道交通票務清分應急系統中,曾經可以達到在日終1h內處理最大1 630萬人次客流/日(4 000萬筆交易/日),完全可以滿足一般地鐵清分系統的要求。
清分中心系統在軟件結構、存儲空間設計等方面,能夠保證在2倍的時間里,處理2倍的交易量。
在清分中心系統運行初期,可能會因某些異常數據導致批處理異常中斷。若每次異常中斷后都要重做,將會花費大量時間。由于晚間停運時間有限,如果直到第二天早晨仍不能完成日終批處理,將會產生較大影響。為了避免該類情況發生,可以對日終批處理過程設計斷點續做功能,使得成功完成的每個步驟(或若干筆交易)保存,當發生異常中斷后,可在人工干預、排除異常數據后,在斷點開始重做,避免了每次都從頭重做的問題。上述的斷點續做的特性,也保證了清分中心系統能在2倍的時間里,處理2倍的交易量。
從軟件實現角度分析,制約性能的瓶頸主要是在對數據庫的頻繁讀寫上。針對這一問題,采取以下3種方案提升性能。
1)應用數據庫分區技術,充分利用物理硬盤的并行性能,提高數據庫服務器性能。
2)對數據庫系統的配置進行優化,使得數據庫的索引、關鍵表等能存放在內存中,從而加快系統處理的速度。
3)建立高效的索引,在應用設計方面通過盡量減少不必要的表操作等措施來提高處理效率。
以上優化設計經過在模擬平臺上的反復測試驗證表明,可以有效提升城市軌道交通清分中心系統的數據處理能力。清分中心系統性能的提升可為今后復雜線網的正常運營提供可靠的保證。
[1]黎江.軌道交通自動售檢票系統RAMS設計[J].都市快軌交通,2008,21(2):83.
[2]楊甲,羅欽,徐瑞華.網絡化運營條件下城市軌道交通票務清分方法研究[J].城市軌道交通研究,2009(5):22.
[3]王富章,李平.關于網絡化AFC系統整合方案的研究[J].現代城市軌道交通,2005(5):15.
[4]高朝暉,張寧,夏德傳.軌道交通清結算系統的分析與設計[J].交通運輸工程與信息學報,2008,6(2):31.
[5]牛新奇,潘蔭榮.軌道交通系統中清分算法的研究[J].計算機時代,2005(2):17.
[6]韓宇峰,張嘉玲.實時信息技術在地鐵清分系統中的研究與實現[J].城市軌道交通研究,2010(1):31.