北京廣利核系統(tǒng)工程有限公司 彭立,柏祥基,傅春霞,胡俊
一種核電站數(shù)字化儀控系統(tǒng)的數(shù)據(jù)服務(wù)器冗余設(shè)計方案
北京廣利核系統(tǒng)工程有限公司 彭立,柏祥基,傅春霞,胡俊
在核電站運行安全性要求不斷提高的大背景下,核電站數(shù)字化儀控系統(tǒng)由于涉及到核電站的事故分析及核電站設(shè)備控制等重要功能,其系統(tǒng)的安全性也受到了越來越多的重視。北京廣利核系統(tǒng)工程有限公司開發(fā)的核電專用儀控系統(tǒng),為了提高系統(tǒng)的可靠性,對于冗余方案進行了深入的研究與設(shè)計。本文基于對核電專用儀控系統(tǒng)中數(shù)據(jù)服務(wù)器的冗余研究,論述了為了提高其可靠性,所設(shè)計的數(shù)據(jù)服務(wù)器無擾動切換和數(shù)據(jù)一致性的實現(xiàn)方案。
核電專用儀控系統(tǒng);數(shù)據(jù)服務(wù)器設(shè)計;冗余;可靠性
北京廣利核系統(tǒng)工程有限公司開發(fā)的核電專用儀控系統(tǒng)(SpeedyHold)是以核電站數(shù)據(jù)快速采集、核電站試驗數(shù)據(jù)采集和核電站三廢處理系統(tǒng)等系統(tǒng)需求為基礎(chǔ),開發(fā)出的能用于核電站眾多儀控系統(tǒng)的產(chǎn)品系統(tǒng)平臺,該平臺具有高性能、高可靠性等系統(tǒng)特性,主要用于核電站對采樣速度、采樣精度和長期穩(wěn)定性等方面特殊要求的相關(guān)系統(tǒng)。
在核電站各種儀控系統(tǒng)的招標書中均明確要求系統(tǒng)設(shè)計中應(yīng)采用合適的冗余配置,使系統(tǒng)具有高度的可靠性。對于冗余系統(tǒng)而言,系統(tǒng)的無擾動切換以及系統(tǒng)數(shù)據(jù)的一致性是兩個重點的設(shè)計對象,其設(shè)計的合理性和有效性直接影響到冗余系統(tǒng)的正常運行。
本文通過對數(shù)據(jù)服務(wù)器冗余設(shè)計中最為關(guān)鍵的無擾動切換以及數(shù)據(jù)一致性進行研究,借此來增強核電專用儀控系統(tǒng)的可靠性,為核電站的安全穩(wěn)定運行創(chuàng)建良好的基礎(chǔ)。
核電專用儀控系統(tǒng)為兩層網(wǎng)絡(luò)架構(gòu),管理網(wǎng)連接著工程師站、操作員站和數(shù)據(jù)服務(wù)器,系統(tǒng)網(wǎng)連接著控制站與數(shù)據(jù)服務(wù)器。數(shù)據(jù)服務(wù)器所處的位置如圖1紅色虛框所示。數(shù)據(jù)服務(wù)器承擔(dān)著往下連接控制站,往上連接操作站,自身還要對數(shù)據(jù)進行分析和處理的重要作用。
圖1 核電專用儀控系統(tǒng)架構(gòu)圖
數(shù)據(jù)服務(wù)器是核電專用儀控系統(tǒng)數(shù)據(jù)的核心及數(shù)據(jù)鏈路的橋梁, 在實際應(yīng)用中一般配置兩臺數(shù)據(jù)服務(wù)器,這兩臺數(shù)據(jù)服務(wù)器采用主從機運行方式運行,只有主機對外提供服務(wù),從機不對外提供服務(wù),從機在主機發(fā)生故障時能迅速切換為主機,對外提供服務(wù),切換過程無需人為干預(yù)。其對外提供服務(wù)的過程如圖2所示。
對于數(shù)據(jù)服務(wù)器而言,由于主從機器同時運行,在設(shè)計上必然會出現(xiàn)主從機進行切換的情況,但是切換不能影響數(shù)據(jù)服務(wù)器對外提供服務(wù)的可靠性,因此對其進行無擾動的切換設(shè)計以及保證主從機數(shù)據(jù)的一致性尤為重要。
圖2 數(shù)據(jù)服務(wù)器外部請求處理圖
2.1 數(shù)據(jù)服務(wù)器無擾動切換設(shè)計
對于數(shù)據(jù)服務(wù)器來說,其無擾動切換需要達到的是對外服務(wù)的持續(xù)穩(wěn)定,因此主從切換時首先要保證的是切換過程中對外服務(wù)的響應(yīng)不能有丟失。其次,如果切換時間過長,會導(dǎo)致切換過程中對外服務(wù)的不確定性增加,也會影響數(shù)據(jù)服務(wù)器對外提供服務(wù)的效果。
(1)對外服務(wù)不間斷設(shè)計
為了達到更高的可靠性,核電專用儀控系統(tǒng)采用主從網(wǎng)絡(luò)和主從數(shù)據(jù)服務(wù)器設(shè)計,基于此數(shù)據(jù)服務(wù)器設(shè)計了三種對外提供服務(wù)的方式,即手動指定服務(wù)端請求、手動指定網(wǎng)絡(luò)請求和自動服務(wù)端和網(wǎng)絡(luò)請求。下面論述一下如何在這三種方式下實現(xiàn)對外服務(wù)的不間斷設(shè)計。
· 手動指定服務(wù)端請求
在這種方式下,外部請求直接通過服務(wù)端的IP地址將請求的數(shù)據(jù)包發(fā)送給服務(wù)端,服務(wù)端不會隨著主從的切換,而不對外部請求進行響應(yīng)。即數(shù)據(jù)服務(wù)器的服務(wù)在主從切換過程中對外服務(wù)不會間斷。
· 手動指定網(wǎng)絡(luò)請求
在這種方式下,外部請求直接通過網(wǎng)絡(luò)標識將請求的數(shù)據(jù)包發(fā)送給服務(wù)端,網(wǎng)絡(luò)標識是系統(tǒng)初始化設(shè)置完成的,不會隨著主從的切換而變化。數(shù)據(jù)服務(wù)器在此網(wǎng)絡(luò)上的的服務(wù)不會在主從切換過程中間斷。
· 自動服務(wù)端和網(wǎng)絡(luò)請求
這種方式是數(shù)據(jù)服務(wù)器最主要的對外提供服務(wù)的方式,即外部服務(wù)不用關(guān)心網(wǎng)絡(luò)的主從狀態(tài),也不用關(guān)心服務(wù)器的主從狀態(tài),直接將請求數(shù)據(jù)包通過主網(wǎng)絡(luò)發(fā)送給主服務(wù)器。這樣的設(shè)計基于在某些特定條件下,從服務(wù)器可能需要作為中轉(zhuǎn)站,將一些數(shù)據(jù)包轉(zhuǎn)發(fā)給主服務(wù)器。在這種方式下,為了避免通訊請求由于網(wǎng)絡(luò)或者服務(wù)端的狀態(tài)導(dǎo)致返回時間過長,核電儀控系統(tǒng)設(shè)計了請求超時時間,外部請求可以根據(jù)請求的數(shù)據(jù)量大小自主設(shè)置超時時間,當服務(wù)端未在此設(shè)置時間內(nèi)返回數(shù)據(jù)時,網(wǎng)絡(luò)通訊程序會自動返回,這樣一方面避免了外部請求等待時間過長導(dǎo)致的自身邏輯處理問題。同時,也增加了對外服務(wù)的響應(yīng),不會因為主從服務(wù)器的切換導(dǎo)致外部請求丟失,數(shù)據(jù)服務(wù)器在此種狀態(tài)下對外服務(wù)也不會中斷。
(2)主從快速切換設(shè)計
在核電儀控系統(tǒng)的數(shù)據(jù)服務(wù)器主從切換機制設(shè)計中,主要考慮了如下三種導(dǎo)致主從切換的因素:數(shù)據(jù)服務(wù)器任務(wù)故障、管理網(wǎng)雙網(wǎng)故障和用戶人為操作。針對每種因素導(dǎo)致的主從切換都有一個共同的前提條件,即主機需要切換時需要診斷從機是否正常,如果從機也處于故障狀態(tài),則不進行主從切換。下面具體論述一下在這三種情況下主從快速切換的設(shè)計:
· 數(shù)據(jù)服務(wù)器任務(wù)故障
數(shù)據(jù)服務(wù)器任務(wù)故障指的是當主機的某個任務(wù)發(fā)生故障時,從機如處于節(jié)點運行正常狀態(tài),則發(fā)生主從切換,否則不進行切換。
數(shù)據(jù)服務(wù)器設(shè)計了主從服務(wù)任務(wù)診斷模塊進行主從診斷,通過主從診斷規(guī)則,獲得和設(shè)置當前數(shù)據(jù)服務(wù)器的主從狀態(tài)。具體設(shè)計上主從服務(wù)任務(wù)診斷模塊首先進行主從的判斷,然后提供主從狀態(tài)接口,來繼承主從診斷功能。服務(wù)任務(wù)之間的主從數(shù)據(jù)對齊由服務(wù)任務(wù)自己實現(xiàn)。每個服務(wù)任務(wù),通過檢測本機網(wǎng)絡(luò)故障情況以及檢測對方任務(wù)的狀態(tài),來決定自己的主從。診斷設(shè)計為在一定時間間隔內(nèi)周期進行診斷,以便在需要進行主從切換時能迅速進行主從屬性切換,而又不會影響計算機CPU的瞬時負荷。當前數(shù)據(jù)服務(wù)器任務(wù)故障的診斷時間不超過150ms,由數(shù)據(jù)服務(wù)器任務(wù)故障導(dǎo)致的主從服務(wù)器切換時間不超過200ms。
· 管理網(wǎng)雙網(wǎng)故障
管理網(wǎng)雙網(wǎng)故障指的是當主機的雙網(wǎng)都故障時,主機節(jié)點直接退出,當從機網(wǎng)絡(luò)能正常使用時自動升級為主機。
數(shù)據(jù)服務(wù)器設(shè)計了雙網(wǎng)冗余模塊進行管理網(wǎng)的雙網(wǎng)故障診斷,在一個網(wǎng)絡(luò)出現(xiàn)故障時以不影響數(shù)據(jù)傳輸為前提將數(shù)據(jù)從備用網(wǎng)發(fā)送出去。在設(shè)計中如果請求數(shù)據(jù)包選擇具體的網(wǎng)絡(luò),則可以根據(jù)其選擇直接進行數(shù)據(jù)的發(fā)送。同時提供任意網(wǎng)絡(luò)發(fā)送的功能,任意網(wǎng)絡(luò)發(fā)送時可以隨機選擇一個進行診斷,如果診斷成功,則使用此網(wǎng)絡(luò)進行發(fā)送,并且記錄下此網(wǎng)絡(luò)屬性,在以后的請求中繼續(xù)使用此網(wǎng)絡(luò),如果診斷失敗,則需要切換到另外一個進行發(fā)送,同時也記錄下此網(wǎng)絡(luò)的屬性,在以后的請求中使用此網(wǎng)絡(luò)。通過這樣的手段可以達到主從網(wǎng)絡(luò)診斷的目的。同時減少切換時間,在最壞情況下(即依次需要診斷管理網(wǎng)雙服務(wù)器和雙網(wǎng)絡(luò)),由管理網(wǎng)雙網(wǎng)故障導(dǎo)致的主從服務(wù)器切換時間不超過200ms。
· 用戶人為操作
人為操作指的是當用戶人為停止了主從機監(jiān)視,此時認為此節(jié)點故障。是否可以進行切換,取決于對方節(jié)點運行是否正常。如果對方節(jié)點正常運行,則進行主從切換。另外無論主從機哪一方發(fā)生系統(tǒng)退出,另一方都會自動升為主機,此時不再判斷對方是否處于運行故障狀態(tài)。
在這種情況下,服務(wù)器主機會直接通知服務(wù)器從機升為主機,并且自身降為從機,其切換是實時的,整個切換時間取決于服務(wù)器主從機通訊的時間,由用戶人為操作導(dǎo)致的服務(wù)器主從切換時間不超過50ms。
綜合上述設(shè)計,數(shù)據(jù)服務(wù)器在切換過程中對外服務(wù)不會間斷,且切換時間最長不超過200ms,對于核電站儀控系統(tǒng)來說,這樣的指標已經(jīng)超越了服務(wù)器切換時間不超過500ms的技術(shù)規(guī)格書要求。
2.2 數(shù)據(jù)服務(wù)器數(shù)據(jù)一致性設(shè)計
對于數(shù)據(jù)服務(wù)器來說,雖然冗余能確保系統(tǒng)可靠性的增加,但是如果冗余的系統(tǒng)數(shù)據(jù)不一致,則在冗余切換的過程中會出現(xiàn)同一時刻不一致的數(shù)據(jù),給系統(tǒng)的運行帶來不確定的問題,針對這個問題,核電專用儀控系統(tǒng)進行了數(shù)據(jù)對齊的設(shè)計,確保系統(tǒng)的數(shù)據(jù)保持一致。在數(shù)據(jù)對齊的設(shè)計中,有兩個至關(guān)重要的設(shè)計,即啟動數(shù)據(jù)對齊設(shè)計和運行數(shù)據(jù)一致性設(shè)計。
(1)啟動數(shù)據(jù)對齊設(shè)計
為了保持啟動數(shù)據(jù)對齊,數(shù)據(jù)服務(wù)器中的各個任務(wù)在初始啟動的數(shù)據(jù)創(chuàng)建時使用了磁盤文件與內(nèi)存相映射的方式,并且將任務(wù)啟動分為了冷啟動、熱啟動和備份啟動三種不同的方式。
· 冷啟動數(shù)據(jù)對齊
冷啟動即系統(tǒng)在初始化狀態(tài)下啟動,在這種狀態(tài)下系統(tǒng)無任何歷史數(shù)據(jù)。系統(tǒng)離線編輯完初始啟動的數(shù)據(jù),這些數(shù)據(jù)稱為冷數(shù)據(jù),在主任務(wù)啟動時讀取冷數(shù)據(jù)并創(chuàng)建其使用的實時數(shù)據(jù),這個實時數(shù)據(jù)稱為熱數(shù)據(jù)。從任務(wù)啟動時向主任務(wù)請求當前的熱數(shù)據(jù)文件,并用請求的熱數(shù)據(jù)文件構(gòu)建自己的實時數(shù)據(jù),來保證啟動時主從數(shù)據(jù)一致。在數(shù)據(jù)對齊的瞬間,將對齊的內(nèi)存數(shù)據(jù)區(qū)上鎖。另外,對于長期連續(xù)記錄歷史數(shù)據(jù)的任務(wù),由于歷史數(shù)據(jù)文件可能較大,如果啟動時連續(xù)對齊將會導(dǎo)致系統(tǒng)負荷增加,因此系統(tǒng)設(shè)計了文件對齊線程,在啟動后逐步對齊文件數(shù)據(jù)。
· 熱啟動數(shù)據(jù)對齊
熱啟動即系統(tǒng)在上次運行數(shù)據(jù)的基礎(chǔ)上啟動。主任務(wù)熱啟動時加載之前保存的熱數(shù)據(jù),從任務(wù)啟動時向主任務(wù)請求當前的熱數(shù)據(jù)文件,并用請求的熱數(shù)據(jù)文件構(gòu)建自己的實時數(shù)據(jù),來保證啟動時主從數(shù)據(jù)一致。在數(shù)據(jù)對齊的瞬間,也需要將對齊的內(nèi)存數(shù)據(jù)區(qū)上鎖以保證數(shù)據(jù)的一致性。
· 備份啟動數(shù)據(jù)對齊
從任務(wù)的啟動稱為備份啟動。從任務(wù)啟動時向主任務(wù)請求當前的熱數(shù)據(jù)文件,并用請求的熱數(shù)據(jù)文件構(gòu)建自己的實時數(shù)據(jù),來保證啟動時主從數(shù)據(jù)一致。在數(shù)據(jù)對齊的瞬間,也會將對齊的內(nèi)存數(shù)據(jù)區(qū)上鎖來保證數(shù)據(jù)的一致性。
(2)運行數(shù)據(jù)一致性設(shè)計
在運行過程中只有主服務(wù)器對外提供數(shù)據(jù)服務(wù)。當主服務(wù)器處理更改實時數(shù)據(jù)狀態(tài)的數(shù)據(jù)時,將此服務(wù)請求發(fā)送到主從一致消息隊列,由主從發(fā)送線程負責(zé)將此服務(wù)請求轉(zhuǎn)發(fā)從服務(wù)器。從服務(wù)器收到服務(wù)請求后執(zhí)行與主服務(wù)器相同的處理邏輯,由此來保持運行過程中的主從數(shù)據(jù)一致。如圖3所示。
圖3 數(shù)據(jù)服務(wù)器運行主從一致設(shè)計圖
通過上述設(shè)計,數(shù)據(jù)服務(wù)器在運行過程中主從服務(wù)器數(shù)據(jù)保持一致,因此在冗余切換后也能保證對外提供服務(wù)的一致,提高了系統(tǒng)運行的可靠性。
本文通過對核電專用儀控系統(tǒng)的數(shù)據(jù)服務(wù)器進行冗余設(shè)計,驗證了數(shù)據(jù)服務(wù)器無擾動切換和數(shù)據(jù)一致性功能,認為通過對數(shù)據(jù)服務(wù)器進行冗余設(shè)計來提高核電專用儀控系統(tǒng)的可靠性是可行的。并且此套冗余方案在陽江核電站3&4號機核電三廢處理系統(tǒng)項目中得到了實際的應(yīng)用,順利通過了業(yè)主組織的工廠驗收測試,得到了陽江核電站3&4號機業(yè)主和中廣核設(shè)計院專家的一致認可。
[1] 王常力, 羅安. 分布式控制系統(tǒng)(DCS)設(shè)計與應(yīng)用實例[M]. 北京: 電子工業(yè)出版社, 2010.
[2] 金以慧, 郭仲偉. 過程系統(tǒng)控制與管理[M]. 北京: 中國石化出版社, 1998.
[3] 郭宗仁. 可編程控制器應(yīng)用系統(tǒng)設(shè)計及通信網(wǎng)絡(luò)技術(shù)[M]. 北京: 人民郵電出版社, 2002.
[4] 陽憲惠. 工業(yè)數(shù)據(jù)通信與控制網(wǎng)絡(luò)[M]. 北京: 清華大學(xué)出版社, 2003.6.
[5] 顧興元. 計算機控制系統(tǒng)[M]. 北京: 冶金工業(yè)出版社, 1981.
[6] 黃錫滋. 軟件可靠性安全性與質(zhì)量保證[M]. 北京:機械工業(yè)出版社, 2003.
[7] Ian Sommerville著. 程成, 陳霞, 等譯. 軟件工程[M]. 北京: 機械工業(yè)出版社, 2003.
[8] Military Handbook. Reliability Prediction of Elevtronic Equipment[M]. MIL-HDBK-217F, Washington, DC, U.S Department of Defense, 1991.
A Redundancy Design Scheme of Data Server in Nuclear Digital Control System
The nuclear digital control system related to accident analysis and equipment control in the increasing of the backdrop with the safety of nuclear power plant operation, so its system security has drawn more and more attention. The redundancy scheme has conducted in-depth research and design in order to improve the reliability of the SpeedyHold which is developed by CTEC. This paper discusses that the data server designs the scheme of none disturbance switching and data consistency in order to improve the reliability which is based on the data server's redundant design of SpeedyHold.
SpeedyHold; Data server design; Redundancy; Reliability
彭立(1981-),男,湖北天門人,高級工程師,碩士,現(xiàn)就職于北京廣利核系統(tǒng)工程有限公司,主要研究方向為核電站數(shù)字化儀控系統(tǒng)。