北京廣利核系統工程有限公司開發的核電專用儀控系統(SpeedyHold)是以核電站數據快速采集、核電站試驗數據采集和核電站三廢處理系統等系統需求為基礎,開發出的能用于核電站眾多儀控系統的產品系統平臺,該平臺具有高性能、高可靠性等系統特性,主要用于核電站對采樣速度、采樣精度和長期穩定性等方面特殊要求的相關系統。
在核電站各種儀控系統的招標書中均明確要求系統設計中應采用合適的冗余配置,使系統具有高度的可靠性。對于冗余系統而言,系統的無擾動切換以及系統數據的一致性是兩個重點的設計對象,其設計的合理性和有效性直接影響到冗余系統的正常運行。
本文通過對數據服務器冗余設計中最為關鍵的無擾動切換以及數據一致性進行研究,借此來增強核電專用儀控系統的可靠性,為核電站的安全穩定運行創建良好的基礎。
1 核電專用儀控系統設計
核電專用儀控系統為兩層網絡架構,管理網連接著工程師站、操作員站和數據服務器,系統網連接著控制站與數據服務器。數據服務器所處的位置如圖1紅色虛框所示。數據服務器承擔著往下連接控制站,往上連接操作站,自身還要對數據進行分析和處理的重要作用。
圖1 核電專用儀控系統架構圖
2 核電專用儀控系統數據服務器冗余設計
數據服務器是核電專用儀控系統數據的核心及數據鏈路的橋梁, 在實際應用中一般配置兩臺數據服務器,這兩臺數據服務器采用主從機運行方式運行,只有主機對外提供服務,從機不對外提供服務,從機在主機發生故障時能迅速切換為主機,對外提供服務,切換過程無需人為干預。其對外提供服務的過程如圖2所示。
對于數據服務器而言,由于主從機器同時運行,在設計上必然會出現主從機進行切換的情況,但是切換不能影響數據服務器對外提供服務的可靠性,因此對其進行無擾動的切換設計以及保證主從機數據的一致性尤為重要。
2.1 數據服務器無擾動切換設計
對于數據服務器來說,其無擾動切換需要達到的是對外服務的持續穩定,因此主從切換時首先要保證的是切換過程中對外服務的響應不能有丟失。其次,如果切換時間過長,會導致切換過程中對外服務的不確定性增加,也會影響數據服務器對外提供服務的效果。
(1)對外服務不間斷設計
為了達到更高的可靠性,核電專用儀控系統采用主從網絡和主從數據服務器設計,基于此數據服務器設計了三種對外提供服務的方式,即手動指定服務端請求、手動指定網絡請求和自動服務端和網絡請求。下面論述一下如何在這三種方式下實現對外服務的不間斷設計。
手動指定服務端請求
在這種方式下,外部請求直接通過服務端的IP地址將請求的數據包發送給服務端,服務端不會隨著主從的切換,而不對外部請求進行響應。即數據服務器的服務在主從切換過程中對外服務不會間斷。
手動指定網絡請求
在這種方式下,外部請求直接通過網絡標識將請求的數據包發送給服務端,網絡標識是系統初始化設置完成的,不會隨著主從的切換而變化。數據服務器在此網絡上的的服務不會在主從切換過程中間斷。
自動服務端和網絡請求
這種方式是數據服務器最主要的對外提供服務的方式,即外部服務不用關心網絡的主從狀態,也不用關心服務器的主從狀態,直接將請求數據包通過主網絡發送給主服務器。這樣的設計基于在某些特定條件下,從服務器可能需要作為中轉站,將一些數據包轉發給主服務器。在這種方式下,為了避免通訊請求由于網絡或者服務端的狀態導致返回時間過長,核電儀控系統設計了請求超時時間,外部請求可以根據請求的數據量大小自主設置超時時間,當服務端未在此設置時間內返回數據時,網絡通訊程序會自動返回,這樣一方面避免了外部請求等待時間過長導致的自身邏輯處理問題。同時,也增加了對外服務的響應,不會因為主從服務器的切換導致外部請求丟失,數據服務器在此種狀態下對外服務也不會中斷。
圖2 數據服務器外部請求處理圖
(2)主從快速切換設計
在核電儀控系統的數據服務器主從切換機制設計中,主要考慮了如下三種導致主從切換的因素:數據服務器任務故障、管理網雙網故障和用戶人為操作。針對每種因素導致的主從切換都有一個共同的前提條件,即主機需要切換時需要診斷從機是否正常,如果從機也處于故障狀態,則不進行主從切換。下面具體論述一下在這三種情況下主從快速切換的設計:
數據服務器任務故障
數據服務器任務故障指的是當主機的某個任務發生故障時,從機如處于節點運行正常狀態,則發生主從切換,否則不進行切換。
數據服務器設計了主從服務任務診斷模塊進行主從診斷,通過主從診斷規則,獲得和設置當前數據服務器的主從狀態。具體設計上主從服務任務診斷模塊首先進行主從的判斷,然后提供主從狀態接口,來繼承主從診斷功能。服務任務之間的主從數據對齊由服務任務自己實現。每個服務任務,通過檢測本機網絡故障情況以及檢測對方任務的狀態,來決定自己的主從。診斷設計為在一定時間間隔內周期進行診斷,以便在需要進行主從切換時能迅速進行主從屬性切換,而又不會影響計算機CPU的瞬時負荷。當前數據服務器任務故障的診斷時間不超過150ms,由數據服務器任務故障導致的主從服務器切換時間不超過200ms。
管理網雙網故障
管理網雙網故障指的是當主機的雙網都故障時,主機節點直接退出,當從機網絡能正常使用時自動升級為主機。
數據服務器設計了雙網冗余模塊進行管理網的雙網故障診斷,在一個網絡出現故障時以不影響數據傳輸為前提將數據從備用網發送出去。在設計中如果請求數據包選擇具體的網絡,則可以根據其選擇直接進行數據的發送。同時提供任意網絡發送的功能,任意網絡發送時可以隨機選擇一個進行診斷,如果診斷成功,則使用此網絡進行發送,并且記錄下此網絡屬性,在以后的請求中繼續使用此網絡,如果診斷失敗,則需要切換到另外一個進行發送,同時也記錄下此網絡的屬性,在以后的請求中使用此網絡。通過這樣的手段可以達到主從網絡診斷的目的。同時減少切換時間,在最壞情況下(即依次需要診斷管理網雙服務器和雙網絡),由管理網雙網故障導致的主從服務器切換時間不超過200ms。
用戶人為操作
人為操作指的是當用戶人為停止了主從機監視,此時認為此節點故障。是否可以進行切換,取決于對方節點運行是否正常。如果對方節點正常運行,則進行主從切換。另外無論主從機哪一方發生系統退出,另一方都會自動升為主機,此時不再判斷對方是否處于運行故障狀態。
在這種情況下,服務器主機會直接通知服務器從機升為主機,并且自身降為從機,其切換是實時的,整個切換時間取決于服務器主從機通訊的時間,由用戶人為操作導致的服務器主從切換時間不超過50ms。
綜合上述設計,數據服務器在切換過程中對外服務不會間斷,且切換時間最長不超過200ms,對于核電站儀控系統來說,這樣的指標已經超越了服務器切換時間不超過500ms的技術規格書要求。
2.2 數據服務器數據一致性設計
對于數據服務器來說,雖然冗余能確保系統可靠性的增加,但是如果冗余的系統數據不一致,則在冗余切換的過程中會出現同一時刻不一致的數據,給系統的運行帶來不確定的問題,針對這個問題,核電專用儀控系統進行了數據對齊的設計,確保系統的數據保持一致。在數據對齊的設計中,有兩個至關重要的設計,即啟動數據對齊設計和運行數據一致性設計。
(1)啟動數據對齊設計
為了保持啟動數據對齊,數據服務器中的各個任務在初始啟動的數據創建時使用了磁盤文件與內存相映射的方式,并且將任務啟動分為了冷啟動、熱啟動和備份啟動三種不同的方式。
冷啟動數據對齊
冷啟動即系統在初始化狀態下啟動,在這種狀態下系統無任何歷史數據。系統離線編輯完初始啟動的數據,這些數據稱為冷數據,在主任務啟動時讀取冷數據并創建其使用的實時數據,這個實時數據稱為熱數據。從任務啟動時向主任務請求當前的熱數據文件,并用請求的熱數據文件構建自己的實時數據,來保證啟動時主從數據一致。在數據對齊的瞬間,將對齊的內存數據區上鎖。另外,對于長期連續記錄歷史數據的任務,由于歷史數據文件可能較大,如果啟動時連續對齊將會導致系統負荷增加,因此系統設計了文件對齊線程,在啟動后逐步對齊文件數據。
熱啟動數據對齊
熱啟動即系統在上次運行數據的基礎上啟動。主任務熱啟動時加載之前保存的熱數據,從任務啟動時向主任務請求當前的熱數據文件,并用請求的熱數據文件構建自己的實時數據,來保證啟動時主從數據一致。在數據對齊的瞬間,也需要將對齊的內存數據區上鎖以保證數據的一致性。
備份啟動數據對齊
從任務的啟動稱為備份啟動。從任務啟動時向主任務請求當前的熱數據文件,并用請求的熱數據文件構建自己的實時數據,來保證啟動時主從數據一致。在數據對齊的瞬間,也會將對齊的內存數據區上鎖來保證數據的一致性。
(2)運行數據一致性設計
在運行過程中只有主服務器對外提供數據服務。當主服務器處理更改實時數據狀態的數據時,將此服務請求發送到主從一致消息隊列,由主從發送線程負責將此服務請求轉發從服務器。從服務器收到服務請求后執行與主服務器相同的處理邏輯,由此來保持運行過程中的主從數據一致。如圖3所示。
圖3 數據服務器運行主從一致設計圖
通過上述設計,數據服務器在運行過程中主從服務器數據保持一致,因此在冗余切換后也能保證對外提供服務的一致,提高了系統運行的可靠性。
3 結語
本文通過對核電專用儀控系統的數據服務器進行冗余設計,驗證了數據服務器無擾動切換和數據一致性功能,認為通過對數據服務器進行冗余設計來提高核電專用儀控系統的可靠性是可行的。并且此套冗余方案在陽江核電站3&4號機核電三廢處理系統項目中得到了實際的應用,順利通過了業主組織的工廠驗收測試,得到了陽江核電站3&4號機業主和中廣核設計院專家的一致認可。
參考文獻:
[1] 王常力, 羅安. 分布式控制系統(DCS)設計與應用實例[M]. 北京: 電子工業出版社, 2010.
[2] 金以慧, 郭仲偉. 過程系統控制與管理[M]. 北京: 中國石化出版社, 1998.
[3] 郭宗仁. 可編程控制器應用系統設計及通信網絡技術[M]. 北京: 人民郵電出版社, 2002.
[4] 陽憲惠. 工業數據通信與控制網絡[M]. 北京: 清華大學出版社, 2003.6.
[5] 顧興元. 計算機控制系統[M]. 北京: 冶金工業出版社, 1981.
[6] 黃錫滋. 軟件可靠性安全性與質量保證[M]. 北京:機械工業出版社, 2003.
[7] Ian Sommerville著. 程成, 陳霞, 等譯. 軟件工程[M]. 北京: 機械工業出版社, 2003.
[8] Military Handbook. Reliability Prediction of Elevtronic Equipment[M].MIL-HDBK-217F, Washington, DC, U.S Department of Defense, 1991.
作者簡介
彭立(1981-),男,湖北天門人,高級工程師,碩士,現就職于北京廣利核系統工程有限公司,主要研究方向為核電站數字化儀控系統。
摘自《自動化博覽》2月刊