鄧新禹
(南昌中鐵穗城軌道交通建設運營有限公司,江西 南昌 201900)
全方位冗余機制實現(xiàn)了綜合監(jiān)控系統(tǒng)的使用。這種制度是確保各項服務器間不會存在冗余,例如車站主備實時服務器、中央主備歷史服務器、中央局域網(wǎng)雙網(wǎng)、車站局域網(wǎng)雙網(wǎng)之間等設備,所涉及的內容非常多,這里不做過多介紹。
我們只需要知道一點,那就是全方位冗余機制除了包括硬件設備之外,還包括了軟件設備,涉及運行部位,也涉及數(shù)據(jù)流程,這些均是冗余。多重機制讓每個單點故障及部分出現(xiàn)故障的重疊情況,但不會對監(jiān)控系統(tǒng)造成太大的影響。切換冗余時數(shù)據(jù)并不會丟失,所以數(shù)據(jù)是統(tǒng)一的。
綜合監(jiān)控系統(tǒng)冗余設備的范圍包括:
(1)兩臺中央實時服務器之間。中央實時服務器熱備運行,自動切換。
(2)兩臺中央歷史服務器之間。中央歷史服務器熱備運行,自動切換。
(3)前置處理器FEP兩兩冗余熱備用運行,自動切換。
(4)兩臺中央節(jié)點交換機之間,集群冗余。
系統(tǒng)的關鍵設備包括FEP、服務器及交換機等都是冗余的,任何單點故障均不會影響到綜合監(jiān)控系統(tǒng)的正常運行。
冗余設備的運行方式包括熱備和集群。熱備用意味著冗余設備數(shù)據(jù)環(huán)境與正在運行的任務相同。通常,只有主機提供數(shù)據(jù)和服務,而備用計算機處于睡眠狀態(tài)。在主機故障的情況下,只要重新接管任務,就可以完成切換。群集模式意味著冗余設備具有相同的數(shù)據(jù)環(huán)境。在正常情況下,主機和備用主機都執(zhí)行任務并在負載平衡的情況下運行。當主機出現(xiàn)故障時,備用主機將執(zhí)行所有任務。
2.1.1 自動切換
自動切換也稱為故障轉移。當其中一臺冗余服務器出現(xiàn)故障時,它將自動切換到另一臺。故障一般包括網(wǎng)絡通信故障、硬件設備故障、系統(tǒng)運行故障等,綜合監(jiān)控系統(tǒng)應采取有效措施確保冗余可靠性,并對故障進行相應的診斷,以確保對故障的快速響應。網(wǎng)絡通信故障、硬件設備故障一般會導致網(wǎng)絡連接中斷??蛻舳伺c主/備服務器建立兩條物理連接,如果一條網(wǎng)絡連接中斷,客戶端會自動切換到另一條網(wǎng)絡通道。為了提高效率,減少在故障切換時的停機時間,綜合監(jiān)控系統(tǒng)建立網(wǎng)絡通信監(jiān)測機制,備服務器通過與主服務器之間的心跳檢測不斷檢查主服務器的狀況,如發(fā)現(xiàn)主服務器網(wǎng)絡中斷或應用程序故障,便將主備角色進行切換并將消息發(fā)給客戶端,客戶端立即會將數(shù)據(jù)源切換到備服務器。
2.1.2 手動切換
手動交換也稱為網(wǎng)絡交換(應用程序級)。用戶可以根據(jù)主備服務器當前的運行狀態(tài)手動切換操作終端,并通過綜合監(jiān)控系統(tǒng)的內部變量強制轉換主備角色。如果主服務器出現(xiàn)輕微故障或系統(tǒng)更新,則需要重新啟動綜合監(jiān)控系統(tǒng)的平臺服務。為了不影響綜合監(jiān)控系統(tǒng)的正常運行,用戶可以手動將客戶端切換到備用服務器,然后對主服務器進行維護。特別是,由于冗余切換將影響連接到當前主/備用服務器的所有客戶端,因此手動切換模式僅在系統(tǒng)維護期間使用,以避免影響正常的系統(tǒng)操作。
如圖1所示,F(xiàn)EP與應用服務器之間的采用雙網(wǎng)結構。
圖1 雙網(wǎng)結構
應用服務器A和B與FEP A和FEP B都配備2個網(wǎng)卡用于數(shù)據(jù)交換,分別連接在綜合監(jiān)控系統(tǒng)內網(wǎng)的兩臺交換機上。
由圖1可知,應用服務器與FEP之間存在4條可用的路由。
按照應用服務器與FEP之間的約定,同一時間內,這4條鏈路均是保持連接的。
由FEP根據(jù)子系統(tǒng)連接情況選擇并告知值班FEP,應用服務器在值班FEP所連接的兩條通道中選擇一條通道作為值班通道,用于數(shù)據(jù)與控制命令的傳輸。
其余通道作為備用,僅定時傳輸心跳信號,反饋通道連接正常與否。
以下通過實施例說明冗余方案。
假設系統(tǒng)處于正常運行,通道①值班,通道②③④備用,如圖2所示。
圖2 正常運行圖
FEP A故障時的處理方法:當FEP A發(fā)生故障時,在應用服務器端可以感知,通道①和③失去連接;同時由FEP的冗余作用,F(xiàn)EP的值班狀態(tài)由A切換到B。應用服務器嘗試選擇通道②值班成功,通道④處于備用,而通道①和③在FEP A恢復后進入備用狀態(tài)。如圖3所示。
圖3 FEP A發(fā)生故障圖
通道①某處發(fā)生故障時的處理方法:當值班通道①某處發(fā)生故障(雙網(wǎng)同時故障,否則只切換網(wǎng)絡)時,在應用服務器端可以感知,通道①失去連接;同時FEP的主備狀態(tài)不發(fā)生變化,F(xiàn)EP A為值班FEP。此時通道③為值班通道,應用服務器接口模塊值班狀態(tài)從A切換到B。如圖4所示。
圖4 值班通道①發(fā)生故障圖
當然,此時如果切換FEP,保持服務器的主機狀態(tài)不變也是可行的,如圖5所示。
圖5 切換FEP圖
由于服務器的處理能力更強,數(shù)據(jù)同步的效率較高,因此,實際不使用該策略。
應用服務器A發(fā)生故障時的處理方法:當應用服務器A發(fā)生故障時,應用服務器B接口模塊投入值班;此時FEP A為值班FEP值班關系不發(fā)生變化,因此選擇通道③為值班通道,如圖6所示。
圖6 應用服務器A發(fā)生故障圖
應用服務器B、FEP B或通道②③④發(fā)生故障時的處理方法:當其余部位發(fā)生故障時,因為不影響值班通道,則FEP A值班,應用服務器A接口模塊值班,值班通道為①的關系不受影響。
綜合監(jiān)控系統(tǒng)在主干網(wǎng)采用雙局域網(wǎng)方式保證通信的可靠。傳統(tǒng)的雙網(wǎng)冗余技術或者只使用一個網(wǎng)絡進行數(shù)據(jù)傳輸,而另一個網(wǎng)絡作為備用;或者兩個網(wǎng)絡同時傳送相同數(shù)據(jù),互為備用。傳統(tǒng)的雙網(wǎng)冗余技術實現(xiàn)簡便,可靠性高。但是上述兩種方式在正常運行時,都只能使用一個網(wǎng)絡的帶寬資源,造成了網(wǎng)絡帶寬的浪費。
針對傳統(tǒng)雙網(wǎng)冗余技術的不足,本系統(tǒng)的雙網(wǎng)冗余技術,正常情況下雙網(wǎng)分別傳輸不同的數(shù)據(jù),網(wǎng)絡帶寬可以達到近兩倍的利用率;當一個網(wǎng)絡出現(xiàn)故障時(如網(wǎng)線壞或交換機故障),又可以自動將所有數(shù)據(jù)通過正常的網(wǎng)絡進行傳輸,保證了系統(tǒng)的可靠性。并且,系統(tǒng)會自動監(jiān)視故障網(wǎng)絡的情況,一旦故障去除,系統(tǒng)會自動恢復正常的雙網(wǎng)通信方式。如圖7-圖9所示。
圖7 正常情況下網(wǎng)絡通信方式
圖9 原先由2號網(wǎng)絡傳輸?shù)臄?shù)據(jù)改為由1號網(wǎng)絡傳輸
綜合監(jiān)控系統(tǒng)支持HMI位置、外設的自動或人工切換,并支持一些功能在在線處理和冗余處理間的切換。
當系統(tǒng)軟件檢測到一個功能有故障時,該功能將自動切換到別的冗余處理器。
故障切換后該功能可從原先的狀態(tài)恢復控制,不會丟失數(shù)據(jù)。從任一功能發(fā)現(xiàn)故障到冗余處理器恢復全部操作控制所需的時間不超過規(guī)定的時間。
一個授權用戶可以從指定的用戶畫面發(fā)布人工請求將功能切換到其他工作站。
圖8 2號網(wǎng)絡出現(xiàn)故障
充分冗余的服務器和多工作站提供了硬件冗余性。任何造成軟件功能故障的服務器硬件故障將使功能切換到別的處理器,如前所述。
故障切換時間是下列因數(shù)之和:
檢測故障的時間(t1);
通知后備處理接管控制/后備機自動接管的時間(t2);
新控制器公布數(shù)據(jù)的時間(t3)。
經(jīng)過測試,最大檢測時間t1=1 500 ms;通知時間t2=45 ms;實時服務器的總署名數(shù)經(jīng)驗值約90 000,每毫秒署名數(shù)=100,因此t3=900 ms;總時間t1+t2+t3=2 445 ms。
歷史服務器的總署名數(shù)經(jīng)驗值約120 000,每毫秒署名數(shù)=100,因此t3=1 200 ms;總時間t1+t2+t3=2 745 ms。
FEP故障切換時間是下列因數(shù)之和:
(1)檢測故障的時間(t1)=1 800 ms。
(2)通知后備處理接管控制/后備機自動接管的時間(t2)=150 ms。
(3)新控制器公布數(shù)據(jù)的時間(t3)=600 ms。
切換時間=t1+t2+t3=2 550 ms。
綜合監(jiān)控系統(tǒng)采用工業(yè)級以太網(wǎng)交換機具備自動熱備切換功能,冗余網(wǎng)絡切換時間不大于100 ms。
綜合監(jiān)控系統(tǒng)的主要冗余切換指標見表1。
表1 綜合監(jiān)控冗余設備切換時間