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