国产欧美日韩精品a在线观看-国产欧美日韩精品一区二区三区-国产欧美日韩精品综合-国产欧美中文字幕-一区二区三区精品国产-一区二区三区精品国产欧美

ACS880-07C
關注中國自動化產業發展的先行者!
CAIAC 2025
2024
工業智能邊緣計算2024年會
2023年工業安全大會
OICT公益講堂
當前位置:首頁 >> 案例 >> 案例首頁

案例頻道

一種可靠的服務器冗余控制算法
  • 企業:控制網    
  • 點擊數:1079     發布時間:2011-02-23 13:03:00
  • 分享到:
本文分析了目前工業計算機控制系統中服務器冗余控制存在的問題,提出一種高可靠的服務器冗余控制算法模型,并給出了該算法的詳細內容及其實現。

                                 
   
吳亞鳳(1975-)女,陜西渭南人,碩士,中國勞動關系學院基礎部講師,主要從事應用數學方面的研究。

    摘要:本文分析了目前工業計算機控制系統中服務器冗余控制存在的問題,提出一種高可靠的服務器冗余控制算法模型,并給出了該算法的詳細內容及其實現。

    關鍵詞:計算機控制;服務器;冗余控制;算法模型

    Abstract: This paper analyzes server redundant control problems in industrial computer control system. It presents a highly reliable algorithmic model for the servers’ redundant control. Moreover, it analyzes the detailed content of the algorithm, and describes its realization.
Key words: Computer Control; Server; Redundancy; Algorithmic Model

    1 問題的提出

    在工業計算機控制應用領域,為了提高系統的可靠性以及可用性,經常采用冗余服務器架構,即設置兩臺互為冗余的服務器,工作在一用一備模式下,為網絡上的其他節點提供各類數據服務,并且常常設置冗余網絡,進一步提高系統的可用性。可以實現當存在單個服務器節點故障或者單個網絡故障時,系統的可用性不降低。系統結構如圖1所示[1]。

                                  

    這樣的系統結構一般都會存在如下幾個問題,難于解決:
(1)服務器A、B機的主從控制機制復雜,常會出現“雙主”、“雙從”或者來回切換(“打乒乓球”現象),使得系統可靠性降低。為了解決這個問題,有些系統采用硬件方式給兩臺服務器之間設置硬件切換電路板,保證不出現這個問題,但又存在成本以及切換電路可靠性的問題;
(2)兩臺服務器的數據同步是冗余控制的難點,特別是在雙機進行各種狀態轉換(主機、從機、單機、故障/停機)過程中發生的數據更新或者來自操作站的控制命令時,如何保證雙機數據嚴格的一致性以及不丟失數據是非常困難的;
(3)系統雙網絡結構使得某些情況下難于控制,如兩臺服務器的交叉網絡故障,使得雙機互不能訪問對方,從而造成系統不可用[2]。

    2 冗余控制模型

    本文提出一種基于圖1的改良網絡模型,在兩個服務器上各增加一塊以太網卡,形成第三條網絡(如圖2所示),通過合適的控制算法,使其達到準確檢測、正確切換、無擾控制、不丟數據的目的,以滿足工業控制場合高可靠性與高可用性要求。

                             

    該冗余控制模型如圖3所示,自下到上依次是狀態診斷、主從控制、數據服務以及冗余控制四層結構,下層為上層提供服務,上層的執行依賴于下層的運算結果。

                           

    它們的功能如下:
狀態診斷:為服務器提供自己和對方準確的網絡以及關鍵進程狀態;
主從控制:根據自己和對方的狀態,按照服務器切換狀態機進行主從切換;
數據服務:客戶機向服務器進行數據請求,以及服務器的數據服務過程;
冗余控制:兩臺服務器之間的數據同步過程。

    3 服務器的狀態診斷

    服務器狀態監測包括自我監測、狀態廣播、監聽對方、監聽客戶機四個部分。服務器監測自己的三個網絡的好壞、監測自身關鍵進程的運行狀態,并將這些狀態填入自身狀態字中,然后將自身狀態字通過全部網卡廣播出去;并一直監視來自對方服務器的廣播信息包以及來自其他客戶機的異常監聽反饋,根據它們來填充自己狀態字、計算對方服務器的狀態,并作為服務器主從控制模塊的輸入。

                 

    作為客戶機,一般情況下,它只監聽來自兩臺服務器的廣播信息,只有在以下幾種異常情況下,它才給予回復,用于通知兩臺服務器。
(1)兩臺服務器均聲稱自己看不見對方;
(2)兩臺服務器運行狀態沖突(將雙主、雙從、雙單機三種情況均視為沖突)。

    對于第一種情況,這是因為兩臺服務器之間的網絡存在交叉故障問題,兩臺服務器之間失去了聯系;第二種情況在系統被割裂為獨立的兩個子系統并在恢復的瞬間會出現,以及為了防止程序BUG等意外情況所做的容錯設計。客戶機回復狀態字如圖5所示。

                                   

    由以上的過程,可以對兩臺服務器關鍵進程、各自的網絡、客戶機網絡做出準確的判斷,只要當系統被割裂為完全獨立的兩個子系統時,系統的運行模式轉為兩個獨立系統,如圖6所示。

                         

    只有當兩個服務器的NETA和B交叉故障、NETC故障、每臺客戶機均有一個網絡故障的情況下,才會出現被割裂為完全獨立的兩個子系統的情況。但是故障恢復后,系統可以進行數據的合并,保證不丟失數據。

    4 服務器的主從控制

    服務器的狀態有四種:主機、備用機、故障、單機模式。主機就是該服務器在兩臺冗余的服務器中起著主導地位,處于工作模式,則另外一臺服務器一定也是運行狀態,并且處于備用狀態(備用機)或者故障狀態;單機模式就是網絡中只存在一臺服務器處于運行狀態,是獨立運行的。這四種狀態是隨著網絡狀態、服務器關鍵進程狀態、服務器的配置等情況的不同而動態變化的。

    服務器的主從切換控制就是控制自己的運行狀態在上述這四種狀態中動態切換,它是在服務器狀態診斷的基礎上執行的,并且兩臺服務器的狀態切換是獨立進行的,切換按照圖7所示的服務器狀態機進行。

    服務器狀態機中的轉換條件如表1,表中轉換前狀態以及轉換后狀態請參考圖7。

          

    序號轉換條件:
1 收不到對方服務器的狀態信息,并且在預設的時間內收不到客戶機的異常回復
2 同(1)
3 本機故障恢復,并且具備(1)
4 收到對方服務器狀態信息,本機為A機
5 收到對方服務器狀態信息,本機為B機
6 本機關鍵進程故障
7 本機故障恢復,并收到對方服務器聲稱自己故障
8 本機關鍵進程故障
9 本機關鍵進程故障
10 本機故障恢復,并收到對方服務器聲稱自己為主機
11 收到操作人員的切換命令
12 同(11)

    服務器各自對自身的狀態進行計算與控制,還需要將其狀態回填至圖4所示的狀態字中,以使得網絡上其他節點獲得該信息。

    5 系統數據服務

    服務器向網絡上的客戶機提供各類數據服務,包括為客戶機發布數據(或者服務器的控制命令輸出)和接收客戶機的命令消息(或者服務器的數據更新),這兩類數據服務從服務器的角度看就是輸出數據和輸入數據。對于輸出數據,僅由主機(單機)對外提供;對于輸入數據,則服務器處于任何狀態下均要處理。其消息傳遞模型如圖8所示。

                                

    作為客戶機而言,它向服務器請求數據或者發送命令時,需要同時向兩臺服務器發送,并給消息進行編號;接收數據時,僅接收主機(或者單機)服務器的數據。

    服務器處理數據時,需要記錄已經處理的消息的編號或者處理動作計數器,以便后續數據冗余同步控制的執行。

    6 數據冗余控制

    服務器的冗余控制是為了保證兩臺服務器上的數據的一致性、完整性。其手段是同步控制,即保證兩臺服務器上的數據的源頭一致,處理步調一致,以達到其數據的完全一致。

    服務器要處理的數據根據數據源以及對數據加工需求的不同可以分為如下幾類:(1)僅從外部數據源獲取數據,并更新本機的數據;(2)僅為外部需求者提供數據;(3)根據外部需求做出動作;(4)與外部無關的數據處理過程。對于不同類型的數據處理,其冗余控制不同。對于1、3類,需要冗余同步;對于2、4類,不需要冗余同步控制。
數據冗余同步分為兩種:全部同步、增量同步。全部同步是將主機上的數據庫全部復制至備用機,用于服務器由故障、單機轉為備用機和備用機啟動過程中;增量同步是將主機上的部分數據復制至備用機,用于雙機正常工作中的主機為從機同步過程中。

    全部同步處理比較簡單;增量同步比較復雜,需要記錄哪些內容需要同步以及做哪些數據備份等。雙機在工作過程中,各自維護一個數據處理ID堆棧和計數器堆棧,主機定周期的通知從機自己處理的ID和計數器,從機檢查自己的處理是否與其一致,如不一致,則向主機發出數據備份請求,主機再向從機發出備份數據,并矯正數據處理ID和計數器堆棧,完成一次增量同步過程,如圖9所示。

                                    

    7 小結

    該冗余算法設計采用分層模式,結構清晰明了,層間耦合度小,易于實現[3]。已經在SCADA系統中實現并得以驗證,有較高的可靠性,并提高系統的可用性,能較好的解決工業計算機控制系統的服務器冗余問題。

    參考文獻:
[1] 王常力等. 分布式控制系統(DCS)設計與應用實例[M]. 北京: 電子工業出版社, 2004. 22~31.
[2] 夏士兵等. 變電站SCADA系統雙服務器無擾動切換算法[J]. 電力系統自動化, 2006, 30(14): 58~60.
  [3] 柯奈漢等. 程序設計實踐[M]. 北京: 機械工業出版社, 2000. 23~65

    摘自《自動化博覽》2010年第十二期  

熱點新聞

推薦產品

x
  • 在線反饋
1.我有以下需求:



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 欧美国产在线视频 | 日韩毛片免费视频一级特黄 | 国产精品合集久久久久青苹果 | 国产精品高清全国免费观看 | 真实一级一级一片免费视频 | 成人爱做日本视频免费 | 久久精品在线观看 | 91久久精一区二区三区大全 | 国产二区自拍 | 91香焦视频 | 美国毛片免费一级 | 欧美人成在线观看 | 久久综合亚洲一区二区三区 | 日本一区二区三区在线 视频观看免费 | 黄色免费在线网址 | 欧美三级不卡在线观看视频 | 第一区免费在线观看 | 亚洲成在线| 男女乱淫免费视频 | 一区二区三区欧美 | 久久久久久久久免费视频 | 美女毛片在线观看 | 日本韩国台湾香港三级 | 人成午夜性刺激免费 | 国产精品免费观看视频 | 国产精品久久在线观看 | 女黄人东京手机福利视频 | 久久精品国产精品亚洲综合 | 欧美一级久久久久久久久大 | 国产一区二区三区高清视频 | 国产成人欧美一区二区三区的 | 久久免费高清 | 亚洲va在线va天堂va四虎 | 亚洲天堂成人 | 五月天激激婷婷大综合蜜芽 | 欧美三级在线观看不卡视频 | 三级免费网站 | 免费人成黄页网站在线观看 | 狠狠色丁香婷婷综合久久来 | 免费看欧美日韩一区二区三区 | 欧美亚洲欧美区 |