李 寅,李佑文,褚紅健
(南京國電南自軌道交通工程有限公司,江蘇南京 210032)
軌道交通建設是近年來城市基礎設施發(fā)展的重點,城市軌道交通在城市住宅區(qū)、交通運輸中心和工作地點之間提供了一個快捷便利的連接[1]。城市軌道交通與綜合監(jiān)控系統(tǒng)密切相關,綜合監(jiān)控系統(tǒng)將軌道交通內部各個分散孤立的自動化系統(tǒng)聯結成一個有機的整體,實現軌道交通各專業(yè)相關系統(tǒng)之間的信息互通、資源共享[2]。它至少需要集成變電所自動化系統(tǒng)、機電設備監(jiān)控系統(tǒng)、火災報警系統(tǒng)、屏蔽門系統(tǒng)、防淹門系統(tǒng)、門禁系統(tǒng)、廣播系統(tǒng)、閉路電視系統(tǒng)、自動列車監(jiān)控系統(tǒng)、乘客信息導向系統(tǒng)、自動售檢票系統(tǒng)、信號系統(tǒng)、時鐘系統(tǒng)等多個子系統(tǒng)[3]。綜合監(jiān)控系統(tǒng)與各系統(tǒng)之間接口眾多,數據交互量大,因此安全性、可靠性要求成為城市軌道交通運營工作的重點。
城市軌道交通綜合監(jiān)控系統(tǒng)采用分層、分布式架構,中心及車站兩臺主備冗余服務器分別獨立工作,各自處理不同應用的數據,實現可靠與高效的統(tǒng)一,如圖1所示。在每臺工作站與服務器上都有完全同步的面向對象的實時數據庫副本,因此具有分布式軟件架構所具有的高效靈活的優(yōu)點。并行對象管理服務(POMS)自動向連接到局域網絡(LAN)的所有服務器和工作站發(fā)布數據。因為每臺主機都維護著POMS數據庫,刷新的數據只是POMS數據庫的一部分,所以并行的面向對象的實時數據庫極大地簡化了系統(tǒng)容錯功能設計。
當數據發(fā)生變化時,信息在局域網內廣播,在網絡內的工作站和服務器都可以收到廣播信息。每條信息都含有序列號,信息丟失的時候會很快被發(fā)現,并發(fā)送重傳丟失信息的請求。如果軟件或硬件發(fā)生故障導致某一服務不再可用,將由運行在另一臺主機或服務器上的進程自動接管這一服務(見圖1)。
圖1 中心及車站主備服務器網絡拓撲
在本設計中,服務器1與服務器2為冗余服務器,分別維護一個并行的實時數據庫,保持數據的一致性。正常情況下,系統(tǒng)始終保證其中一個服務器為主,而另一個為備。綜合監(jiān)控系統(tǒng)的應用鏈接的是主服務器。假設服務器1為主服務器,服務器2為備服務器,服務器1負責采集與處理車站實時數據,數據流如圖2所示。
正常情況下由同步和復制程序保證主備數據庫服務器的數據一致,當車站或中心的一臺實時服務器出現故障時,例如主服務器斷電、斷網,另一臺實時服務器可以立即轉為主機運行,不丟失任何數據。
若某時刻主服務器由于宕機或網絡中斷導致退出服務,備服務器將切換為主服務器并接替所有工作,不會影響數據的采集與處理,且歷史數據、報警數據、配置數據不會丟失,如圖3所示,服務器1故障從現場來的數據流示意圖。在服務器1故障的情況下,OCC服務器2提供給OCC工作站數據。當RDBMS管理進程監(jiān)測與到主的連接失敗時,在切換之前會先嘗試重新連接,服務器可能只是暫時失效,如重啟計算機。如果RDBMS管理器進程在第二次嘗試后,依舊無法連接服務器,則確定此服務器不可用,并切換到另外一個服務器。
當實時服務器1恢復,它首先從實時服務器02同步實時數據,如圖4所示。當同步完成,OCC實時服務器1成為備服務器,隨時準備接替服務器2的工作,并且整個過程不影響服務器2的正常工作。
數據采集程序提供數據采集服務,從車站采集實時數據送至中心服務器。數據采集程序運行在中心主備兩臺服務器上,系統(tǒng)正常運行時,其中一個數據采集程序提供數據采集服務,如圖5所示。
若在某一時刻數據采集程序1退出服務,則另一臺服務器上的數據采集程序2立即接管數據采集任務繼續(xù)運行,保證數據不丟失,如圖6所示。
圖2 數據流示意
圖3 服務器1故障
圖4 服務器1恢復
在數據采集程序1恢復之后,將作為備用等待提供服務,不會影響當前數據采集服務器的進行。只有當前提供服務的程序退出,才會接替數據采集服務。
城市軌道交通綜合監(jiān)控系統(tǒng)是地鐵安全運營的重要保障,若綜合監(jiān)控的安全性、可靠性無法保證,則有可能出現地鐵運營癱瘓、乘客生命財產安全受到威脅等重大問題。因此綜合監(jiān)控系統(tǒng)的安全性、可靠性是綜合監(jiān)控系統(tǒng)的重要指標,成為監(jiān)控系統(tǒng)設計的重中之重。本容錯機制設計運用在城市軌道交通綜合監(jiān)控系統(tǒng)軟件平臺中,已在較多城市軌道交通大型綜合系統(tǒng)中得到了應用與驗證,并深受用戶好評。
圖5 數據采集示意
圖6 數據采集程序1退出服務