戴宏斌
(國電南自軌道交通工程有限公司,210032,南京∥工程師)
適用于綜合監(jiān)控系統(tǒng)的過程數(shù)據(jù)庫冗余框架
戴宏斌
(國電南自軌道交通工程有限公司,210032,南京∥工程師)
過程數(shù)據(jù)庫作為軌道交通綜合監(jiān)控系統(tǒng)的實時數(shù)據(jù)中樞,其可靠性對整個綜合監(jiān)控系統(tǒng)的持續(xù)穩(wěn)定運(yùn)行至關(guān)重要。冗余是保障可靠性的有效技術(shù)。提出了一種適用于綜合監(jiān)控系統(tǒng)的過程數(shù)據(jù)庫分布式冗余框架。該框架針對綜合監(jiān)控系統(tǒng)中實時數(shù)據(jù)相關(guān)的各種特征,在冗余過程數(shù)據(jù)庫的分布、同步和故障容錯等方面分別采用了適合的策略,從而更有效地實現(xiàn)了過程數(shù)據(jù)庫的冗余,保障其可靠性,為綜合監(jiān)控系統(tǒng)持續(xù)可靠運(yùn)行奠定基礎(chǔ)。
地鐵;綜合監(jiān)控系統(tǒng);過程數(shù)據(jù)庫;冗余;同步;故障容錯
Author'saddressNanjing SAC Rail Transit Engineering Co.,Ltd,210032,Nanjing,China
在地鐵自動化監(jiān)控領(lǐng)域,綜合監(jiān)控系統(tǒng)正獲得越來越廣泛的應(yīng)用。綜合監(jiān)控系統(tǒng)以集成和互聯(lián)的方式將多個專業(yè)統(tǒng)一于一致的框架之中[1]。通過實時獲取地鐵運(yùn)營現(xiàn)場的各專業(yè)信息數(shù)據(jù),集中進(jìn)行一致的處理,并及時完成合理的控制,保障地鐵正常、安全的運(yùn)營。
綜合監(jiān)控系統(tǒng)的實時數(shù)據(jù)核心是過程數(shù)據(jù)庫[2],又簡稱為過程庫,集中統(tǒng)一存放了采集自地鐵運(yùn)營各專業(yè)的最新數(shù)據(jù)的實時鏡像。為了實時監(jiān)控地鐵的運(yùn)營狀況,綜合監(jiān)控系統(tǒng)通過采集或I/O模塊從設(shè)備或子系統(tǒng)獲得最新的現(xiàn)場狀態(tài)數(shù)據(jù)并實時更新過程庫中的相關(guān)數(shù)據(jù);HMI(人機(jī)界面)模塊從過程庫獲取實時數(shù)據(jù)以人性化的方式展現(xiàn);告警模塊依據(jù)過程庫中實時狀態(tài)數(shù)據(jù)觸發(fā)報警;而操作員根據(jù)實際情況,通過過程庫即時發(fā)出指令進(jìn)行實時控制。過程庫作為綜合監(jiān)控系統(tǒng)的實時數(shù)據(jù)中樞為其它模塊提供一致的實時數(shù)據(jù)訪問服務(wù)。
由于地鐵運(yùn)營涉及大規(guī)模人身安全,因此綜合監(jiān)控系統(tǒng)具有嚴(yán)格的可靠性要求,而作為實時數(shù)據(jù)核心的過程庫,是整個系統(tǒng)賴以可靠運(yùn)行的基礎(chǔ),其可靠性需求非常高。冗余是保障可靠性的有效技術(shù)。文獻(xiàn)[3]中探討了綜合監(jiān)控系統(tǒng)整個冗余體系的各個方面,例如在中央綜合監(jiān)控系統(tǒng)或者車站綜合監(jiān)控系統(tǒng)的局域網(wǎng)中,通常不只運(yùn)行1臺服務(wù)器,而是同時運(yùn)行2臺互為熱備的冗余服務(wù)器,并為多個專業(yè)配置若干臺工作站。同樣,冗余也是保障過程庫可靠性的有效技術(shù)。因此,通常在局域網(wǎng)中的熱備冗余服務(wù)器上會同時運(yùn)行相同的過程庫,以實現(xiàn)過程庫的冗余。這意味著綜合監(jiān)控系統(tǒng)中的過程庫采用了分布式冗余框架。由于過程庫用于提供實時數(shù)據(jù)訪問服務(wù),因此,分布式冗余框架中的所有過程庫必須通過實時通信保持?jǐn)?shù)據(jù)實時一致,這樣才能保證從任一過程庫訪問的實時數(shù)據(jù)數(shù)值都是實時一致的,這稱為同步[4],反之稱為失步。
本文提出一種適用于地鐵綜合監(jiān)控系統(tǒng)的過程庫分布式冗余框架,該框架針對地鐵綜合監(jiān)控系統(tǒng)數(shù)據(jù)規(guī)模龐大、監(jiān)控數(shù)據(jù)存在內(nèi)在語義關(guān)聯(lián)、工作站以實時數(shù)據(jù)查詢?yōu)橹鳌⒎謱I(yè)設(shè)立等特征,在冗余過程庫的分布、同步和故障容錯[5]等方面分別采用了各種適合的策略,從而更有效地實現(xiàn)了綜合監(jiān)控系統(tǒng)中過程庫的冗余,保障了過程庫的可靠性。
綜合監(jiān)控系統(tǒng)的過程庫中保存了地鐵運(yùn)營現(xiàn)場各專業(yè)信息的最新數(shù)據(jù),并且不斷實時更新以保證及時反映現(xiàn)場的當(dāng)前狀況,從而作為實時數(shù)據(jù)中樞為其它模塊提供實時數(shù)據(jù)訪問服務(wù)。綜合監(jiān)控系統(tǒng)中對過程庫的實時數(shù)據(jù)訪問總體可以分為2類:
一類是查詢訪問,從過程庫中獲取實時數(shù)據(jù)的最新數(shù)值,以滿足應(yīng)用需求。常見的如HMI模塊從過程庫中查詢列車的最新位置數(shù)據(jù),在列車運(yùn)行圖示上動態(tài)顯示;告警模塊從過程庫中查詢車站當(dāng)前的溫、濕度以及二氧化碳濃度數(shù)據(jù),并在異常時報警;趨勢模塊周期性從過程庫中查詢運(yùn)行時電流、電壓等數(shù)據(jù),并以曲線形式展示,等等。查詢訪問不會改變過程庫中實時數(shù)據(jù)的數(shù)值。
另一類實時數(shù)據(jù)訪問是更新訪問,依據(jù)應(yīng)用需求,更新過程庫中實時數(shù)據(jù)的數(shù)值。典型的如:采集或I/O模塊從設(shè)備或子系統(tǒng)獲得運(yùn)營現(xiàn)場的最新狀態(tài)數(shù)據(jù)后會對過程庫中的相關(guān)數(shù)據(jù)進(jìn)行實時更新,并同時更新其獲得時間;而操作員做出的控制指示(如通、斷電遙控,空調(diào)模式切換等),常常也首先寫入過程庫,并經(jīng)由過程庫知會控制模塊執(zhí)行。更新訪問會改變過程庫中實時數(shù)據(jù)的數(shù)值。
為保障綜合監(jiān)控系統(tǒng)中過程庫的可靠性,通常在熱備雙冗余服務(wù)器上同時運(yùn)行相同的過程庫,以實現(xiàn)過程庫的冗余。工作站則有2種方式,一種是工作站上不運(yùn)行過程庫,而所有實時數(shù)據(jù)訪問,都通過通信由服務(wù)器上的過程庫提供遠(yuǎn)程實時數(shù)據(jù)訪問服務(wù);另一種是在工作站上運(yùn)行本地過程庫。
由于工作站主要用于提供界面和操作員交互,因此其上的多數(shù)模塊如HMI、告警界面、趨勢等模塊都需要頻繁訪問過程庫以獲得最新狀態(tài)數(shù)值,并刷新以將運(yùn)營狀況實時展現(xiàn)給操作員。這些主要都依靠查詢訪問。只有必要時,如操作員做出適當(dāng)?shù)目刂撇僮鲿r,會涉及更新訪問??梢?,工作站的實時數(shù)據(jù)訪問中,絕大多數(shù)為查詢訪問。因而本研究中的過程庫冗余框架采用了第二種方式,即在工作站上運(yùn)行本地過程庫,這樣可以直接對這些查詢訪問提供本地服務(wù),而不需籍由通信提供遠(yuǎn)程服務(wù)。這一方面避免了由此帶來的繁重網(wǎng)絡(luò)通信負(fù)載,更重要的是,由于完全沒有通信時延,本地提供查詢訪問服務(wù)的實時性能明顯優(yōu)于遠(yuǎn)程服務(wù),可以更及時地向操作員顯示當(dāng)前狀況。當(dāng)然,代價是工作站的過程庫也必須和服務(wù)器的過程庫保持實時同步。
在本文的過程庫冗余框架中,主、備服務(wù)器和工作站上均運(yùn)行過程庫,并且通過通信保持實時同步。為了便于描述,分別將主、備服務(wù)器和工作站上的過程庫稱為主過程庫、備過程庫和客戶過程庫,依次用Ra,Rs和Rc表示。圖1是過程庫分布式冗余框架的示意圖。
圖1 過程庫分布式冗余框架示意圖
綜合監(jiān)控系統(tǒng)的過程庫中保存了所有地鐵運(yùn)營現(xiàn)場的當(dāng)前狀態(tài)實時數(shù)據(jù),這里將其稱為過程庫的當(dāng)前狀態(tài),用Si,i=1,2,3,…表示。冗余框架中的所有過程庫必須始終維持實時同步。由于查詢訪問不修改過程庫的實時數(shù)據(jù),因此不會導(dǎo)致過程庫狀態(tài)變更,僅在本地過程庫執(zhí)行就可以完成。這里主要考慮當(dāng)更新訪問修改了過程庫中的數(shù)據(jù)時,冗余框架中原來同步的分布式過程庫如何維持同步。
3.1 主過程庫的更新訪問
假設(shè)冗余框架中所有過程庫中實時數(shù)據(jù)均為運(yùn)營現(xiàn)場的最新數(shù)據(jù),過程庫已經(jīng)同步,狀態(tài)均為Si,如果主服務(wù)器上的數(shù)據(jù)采集模塊獲得了新的數(shù)據(jù),會提請更新訪問請求D,以更新過程庫中的相關(guān)數(shù)據(jù)到最新。為了維持所有過程庫同步,首先由主過程庫執(zhí)行訪問請求D,將自身的相關(guān)數(shù)據(jù)更新,從而主過程庫的狀態(tài)從Si變更為Si+1;然后將同步信息M=<Ra,i+1,D>通過通信分發(fā)給備過程庫和客戶過程庫(其中Ra表示角色為主過程庫,i+1為主過程庫最新狀態(tài)編號,D為更新訪問請求),備過程庫和客戶過程庫在接收到同步信息后,通過執(zhí)行更新訪問請求D也從狀態(tài)Si變更到Si+1,從而維持和主過程庫同步。圖2是該策略的示意圖。
圖2 主過程庫的更新訪問請求同步策略
3.2 備過程庫的更新訪問
備服務(wù)器上的更新訪問請求是否可以采用和主服務(wù)器類似的模式,先由本地過程庫,即備過程庫執(zhí)行,然后分發(fā)給主過程庫和客戶過程庫執(zhí)行以維持同步呢?這在綜合監(jiān)控系統(tǒng)中是不可以的。因為這樣做可能造成冗余框架中各過程庫中數(shù)據(jù)的更新順序不一致。由于綜合監(jiān)控系統(tǒng)中的數(shù)據(jù)存在內(nèi)在語義關(guān)聯(lián),因此這是不允許的。舉一個示意性的例子,供電裝置的電流突變數(shù)據(jù)在主服務(wù)器產(chǎn)生一個更新訪問請求,而對應(yīng)的保護(hù)裝置的跳閘信號在隨后時刻在備服務(wù)器產(chǎn)生一個更新訪問請求,如果主、備過程庫都采取先本地執(zhí)行而后分發(fā)的策略,那么由于通信時延的存在,兩個更新請求在本地過程庫執(zhí)行完成后分發(fā)到對方執(zhí)行時,對方更新請求的本地執(zhí)行已經(jīng)在此之前完成。因此,雖然最終主、備過程庫中數(shù)據(jù)狀態(tài)是一致的,但是主過程庫反映的信息是電流突變導(dǎo)致之后的跳閘,而備過程庫反映的情況正好相反,是跳閘后出現(xiàn)電流突變,對于電調(diào)操作員而言這是不同類型的故障,需要采用不同的應(yīng)對措施,而責(zé)任認(rèn)定也不一樣。
因此,這在綜合監(jiān)控系統(tǒng)系統(tǒng)中是不能接受的。為了避免該情況,這里采用了這樣一種策略:備過程庫將得到的更新訪問請求通過通信轉(zhuǎn)發(fā)給主過程庫執(zhí)行,然后執(zhí)行結(jié)果通過通信返回。備過程庫其實是充當(dāng)了一個“二傳手”的角色將請求傳遞給了主過程庫,本身并沒有本地執(zhí)行,直到主過程庫執(zhí)行后將同步信息分發(fā)給備過程庫和客戶過程庫時,備過程庫才執(zhí)行以維持同步。這就迫使所有更新訪問請求必須首先在主過程庫順序執(zhí)行而后依次分發(fā),從而確保冗余框架中各過程庫內(nèi)的數(shù)據(jù)更新順序是一致的。圖3是該同步策略的示意圖。
圖3 備過程庫的更新訪問請求同步策略
這樣做不會顯著增加通信壓力,因為主過程庫向備過程庫分發(fā)同步信息的通信量主要在主過程庫到備過程庫的方向,而備過程庫傳遞更新訪問請求的通信量基本集中在相反方向。由于綜合監(jiān)控系統(tǒng)中的通信通道一般是全雙工的,因此這樣并不會造成明顯的通信壓力增加。這種策略的一個優(yōu)點是備過程庫通過通信透明傳遞了更新訪問請求,從而使得備服務(wù)器上的實時數(shù)據(jù)訪問就像在主服務(wù)器上一樣,因而可以將訪問過程庫的模塊相對均勻地分布于主、備服務(wù)器運(yùn)行。對于綜合監(jiān)控這種功能復(fù)雜的大規(guī)模系統(tǒng),這樣可以有效地均衡負(fù)載。
客戶過程庫的更新訪問請求的處理策略和備過程庫一致。
3.3 冗余過程庫的工作流程
過程庫持續(xù)提供實時數(shù)據(jù)訪問服務(wù)是綜合監(jiān)控系統(tǒng)穩(wěn)定運(yùn)行的基礎(chǔ)。為了實現(xiàn)服務(wù)器上過程庫的冗余,每一臺服務(wù)器上的過程庫開始運(yùn)行時首先通過通信檢測是否已經(jīng)有主過程庫在運(yùn)行,如果沒有則自身作為主過程庫運(yùn)行;如果已經(jīng)存在,則作為備過程庫運(yùn)行。此時首先通過通信獲取主過程庫的所有狀態(tài)數(shù)據(jù)從而實現(xiàn)和主過程庫同步,然后在持續(xù)執(zhí)行主過程庫分發(fā)的同步信息以維持同步的同時,為本地的各種實時數(shù)據(jù)訪問提供服務(wù)。如前所述,查詢訪問在本地執(zhí)行,而更新訪問透明傳遞給主過程庫。圖4是備過程庫的運(yùn)行流程圖。
客戶過程庫的運(yùn)行流程與備過程庫類似。但需要注意的是,客戶過程庫不僅與主過程庫存在通信,還與備過程庫存在通信,但備過程庫僅定時向客戶過程庫分發(fā)角色信息Rs以維持通信,不分發(fā)自身執(zhí)行過的更新訪問以免客戶過程庫重復(fù)執(zhí)行。這會使得其中實時數(shù)據(jù)重復(fù)更新,從而導(dǎo)致綜合監(jiān)控系統(tǒng)的工作站出現(xiàn)重復(fù)報警或者供電功率重復(fù)累加等錯誤。
圖4 備過程庫的運(yùn)行流程
冗余過程庫的故障容錯是綜合監(jiān)控系統(tǒng)冗余體系的關(guān)鍵之一。作為實時數(shù)據(jù)中樞的過程庫一旦無法提供實時數(shù)據(jù)訪問服務(wù),整個系統(tǒng)將陷入癱瘓。因此,采用冗余的方式,在主、備服務(wù)器上同時運(yùn)行主、備過程庫并保持同步,當(dāng)其中之一失效后,另一過程庫仍然能夠提供實時數(shù)據(jù)訪問服務(wù),從而實現(xiàn)故障容錯。由于在冗余框架中,客戶過程庫保持與主過程庫同步,備過程庫失效對冗余框架的影響不大。這里主要討論主過程庫的故障容錯。
當(dāng)主過程庫失效后,備過程庫將迅速接管,作為主過程庫繼續(xù)提供實時數(shù)據(jù)服務(wù),而客戶過程庫要實現(xiàn)并維持和新主過程庫的同步。由于綜合監(jiān)控系統(tǒng)結(jié)構(gòu)復(fù)雜,故障多樣。因此,當(dāng)原主過程庫失效時,其最后的同步信息,可能已經(jīng)分發(fā)給了備過程庫和所有的客戶過程庫,也可能只分發(fā)給了其中的一部分,或者根本沒來及分發(fā)。因此客戶過程庫和原備過程庫,即新主過程庫可能是同步的,也可能是失步的。為了保證同步,必須通過通信獲取新主過程庫的所有狀態(tài)數(shù)據(jù)重新實現(xiàn)同步。然而,由于綜合監(jiān)控系統(tǒng)包含諸多專業(yè),其過程庫的數(shù)據(jù)規(guī)模很大,獲取過程庫中全部狀態(tài)數(shù)據(jù)會導(dǎo)致很大的通信量,而容錯過程中多個客戶過程庫同時獲取全部狀態(tài)數(shù)據(jù)對通信網(wǎng)絡(luò)將帶來短時繁重網(wǎng)絡(luò)負(fù)載沖擊。
為此,這里采用了這樣一種策略:如果主過程庫由于主服務(wù)器宕機(jī)等原因失效,那么備過程庫將升格為主過程庫,在角色變更后,新的主過程庫將首先通過通信將角色變更信息M0=<Ra,is,D0>發(fā)送給所有的客戶過程庫(其中Ra表示角色變更為主過程庫,is為新主過程庫的初始狀態(tài),也就是原備過程庫的最終狀態(tài)編號,D0是填充的無效更新訪問請求)。然后,新主過程庫將提供實時數(shù)據(jù)訪問服務(wù),對于更新訪問請求,將在執(zhí)行完成后分發(fā)同步信息。通過分發(fā)角色變更信息M0,原備過程庫通知客戶過程庫自己轉(zhuǎn)換為主過程庫運(yùn)行,初始狀態(tài)為is;客戶過程庫在接收到后,將is與自己在原主過程庫失效后的當(dāng)前狀態(tài)編號ic比較,如果一致,表示在故障容錯過程中,客戶過程庫和原備過程庫并未失步,因此可以直接繼續(xù)運(yùn)行,維持和新主過程庫同步即可。否則,客戶過程庫和原備過程庫失步,只能通過通信從新主過程庫獲取全部當(dāng)前狀態(tài)數(shù)據(jù),重新實現(xiàn)同步,然后維持同步。這樣,最終原備過程庫作為新主過程庫運(yùn)行,而所有客戶過程庫實現(xiàn)并維持和新主過程庫同步,實現(xiàn)故障容錯。
這一策略通過狀態(tài)編號判斷在故障容錯過程中客戶過程庫和新主過程庫是否失步,可以避免沒有失步的客戶過程庫也通過獲取全部狀態(tài)數(shù)據(jù)來重新實現(xiàn)同步而產(chǎn)生的不必要的通信負(fù)載和時間開銷,從而盡可能降低該過程中客戶過程庫同時獲取全部狀態(tài)數(shù)據(jù)對綜合監(jiān)控系統(tǒng)的通信網(wǎng)絡(luò)帶來的短時網(wǎng)絡(luò)負(fù)載沖擊。
在過程庫冗余框架中,主、備過程庫中保存了所有專業(yè)的實時數(shù)據(jù)以實現(xiàn)冗余。但是對于客戶過程庫,并非所有實時數(shù)據(jù)都會被訪問。這是由于安全和隔離的要求,工作站常按專業(yè)劃分,如電調(diào)工作站、環(huán)調(diào)工作站等。對于某專業(yè)的工作站,其操作員僅有權(quán)限操作本專業(yè)的數(shù)據(jù)。例如電調(diào)操作員只能在電調(diào)工作站查看供電信息,實行電調(diào)專業(yè)的控制,無權(quán)操作環(huán)調(diào)等其它專業(yè)的數(shù)據(jù);同樣環(huán)調(diào)操作員只能在環(huán)調(diào)工作站進(jìn)行環(huán)調(diào)專業(yè)的監(jiān)控工作,無權(quán)訪問電調(diào)等其它專業(yè)的數(shù)據(jù)。這樣可以避免綜合監(jiān)控系統(tǒng)的不同專業(yè)間由于誤操作而造成事故。可見,某專業(yè)工作站的過程庫中僅該專業(yè)的實時數(shù)據(jù)是被使用的。
因此,對于各專業(yè)的工作站,其上的客戶過程庫中僅保存與本專業(yè)相關(guān)的實時數(shù)據(jù),并在主過程庫向客戶過程庫分發(fā)與更新訪問請求時僅分發(fā)與該專業(yè)相關(guān)的更新訪問請求,從而顯著降低各專業(yè)工作站的客戶過程庫的存儲空間和同步通信開銷。
本文提出一種適用于地鐵綜合監(jiān)控系統(tǒng)的過程數(shù)據(jù)庫冗余框架設(shè)計方案,不僅在主、備服務(wù)器上同步運(yùn)行主、備過程庫以實現(xiàn)冗余,還在工作站上同步運(yùn)行客戶過程庫以提高實時數(shù)據(jù)查詢訪問的實時性能。通過為主、備過程庫的更新訪問請求分別設(shè)計合理的同步策略,確保更新訪問在冗余框架中的所有過程庫中以相同順序執(zhí)行。在故障容錯過程中,依據(jù)過程庫狀態(tài)編號辨別客戶過程庫和新主過程庫間的同、失步狀況,盡可能降低客戶過程庫同時獲取全部狀態(tài)數(shù)據(jù)產(chǎn)生的網(wǎng)絡(luò)負(fù)載沖擊。通過在各專業(yè)工作站的客戶過程庫中僅保存與本專業(yè)相關(guān)的實時數(shù)據(jù),顯著降低其存儲空間和同步通信開銷。通過在過程庫的分布、同步以及故障容錯等方面分別采用適合的策略,實現(xiàn)了綜合監(jiān)控系統(tǒng)中過程庫的冗余,從而保障了過程庫的可靠性,有助于更有效地保障綜合監(jiān)控系統(tǒng)的整體可靠性。
[1] 玉君,戴孫放.綜合監(jiān)控系統(tǒng)在城市軌道交通工程中的應(yīng)用[J].城市軌道交通研究,2010(9):1.
[2] 周東紅,袁泉,陳洪如,等.地鐵綜合監(jiān)控自動化系統(tǒng)中關(guān)鍵技術(shù)的解決方案[J].城市軌道交通研究,2006(8):50.
[3] 趙春艷.軌道交通綜合監(jiān)控系統(tǒng)冗余解決方法[J].機(jī)電信息,2012(3):111.
[4] 楊佳,何丕雁.分布式實時數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)同步通信研究[J].廣東通信技術(shù),2008(4):73.
[5] 徐勁松,陳抒凡.城軌交通綜合監(jiān)控系統(tǒng)的冗余設(shè)計[J].現(xiàn)代城市軌道交通,2008(5):29.
[6] 劉佳寶,梁奕,陳天浩.RT21-ISCS綜合監(jiān)控系統(tǒng)中實時歷史數(shù)據(jù)庫的設(shè)計與實現(xiàn)[J].城市軌道交通研究,2012(1):59.
A Redundancy Framework of Process Databases Suitable for ISCS
Dai Hongbin
The process databases are the core of the ISCS real-time data in metro,their reliability is of great importance to ensure the continuously stable operation of ISCS,while redundancy is an effective technology to guarantee the operational reliability.In this paper,a framework of distributed redundant process databases suitable for ISCS is presented.Considering the characteristics of different aspects related to real-time data in ISCS,this framework adopts several suitable strategies in the distribution,synchronization and fault tolerance of the process databases in ISCS,thus it could effectively realizes the redundancy of the process databases and guarantee their reliability.This framework plays a solid foundation for the reliability of the whole ISCS.
metro;integrated supervision and control system(ISCS);process database;redundancy;synchronization;fault tolerance
TP 392:U 29-39
2013-07-15)