《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 一種基于雙機(jī)熱備份的同步監(jiān)聽值守策略設(shè)計(jì)
一種基于雙機(jī)熱備份的同步監(jiān)聽值守策略設(shè)計(jì)
2019年電子技術(shù)應(yīng)用第12期
張軍永,劉榮林,李翼瀚
天津七一二通信廣播股份有限公司,天津300140
摘要: 提出一種基于雙機(jī)熱備份的設(shè)計(jì)方法,采用雙機(jī)熱備份主從工作模式,并通過一定的表決算法,模擬實(shí)現(xiàn)雙機(jī)熱備的全雙工工作模式。從故障檢測、控制表決、數(shù)據(jù)同步、監(jiān)聽值守等方面進(jìn)行雙機(jī)熱備設(shè)計(jì),在不增加硬件的基礎(chǔ)上,盡可能地提高系統(tǒng)可靠性,保證系統(tǒng)的不間斷運(yùn)行。經(jīng)驗(yàn)證,在主控計(jì)算機(jī)功能全部或部分失效時,備控計(jì)算機(jī)能夠快速、“無縫”地進(jìn)行功能控制。
中圖分類號: TN914;TP399
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.190731
中文引用格式: 張軍永,劉榮林,李翼瀚. 一種基于雙機(jī)熱備份的同步監(jiān)聽值守策略設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2019,45(12):106-109,114.
英文引用格式: Zhang Junyong,Liu Ronglin,Li Yihan. A synchronous and listening guard strategy design based on dual-machine hot standby[J]. Application of Electronic Technique,2019,45(12):106-109,114.
A synchronous and listening guard strategy design based on dual-machine hot standby
Zhang Junyong,Liu Ronglin,Li Yihan
Tianjin 712 Communication & Broadcasting Co.,Ltd.,Tianjin 300140,China
Abstract: A design method based on dual-machine hot standby is proposed. The dual-machine hot standby master-slave working mode is adopted, and a full-duplex working mode of dual-system hot standby is simulated by a certain voting algorithm. The two-machine hot standby design is carried out from the aspects of fault detection, control voting, data synchronization and listening guard. On the basis of not increasing hardware, the system reliability is improved as much as possible to ensure the uninterrupted operation of the system. It has been verified that the standby computer can perform function control quickly and "seamlessly" when all or part of the main control computer functions fail.
Key words : hot standby;fault detection;control voting;data synchronization;listening guard

0 引言

    隨著計(jì)算機(jī)技術(shù)的迅猛發(fā)展,計(jì)算機(jī)系統(tǒng)開始廣泛應(yīng)用于航空、航天等領(lǐng)域。受飛機(jī)總體設(shè)計(jì)要求,機(jī)載計(jì)算機(jī)在重量、體積等方面都有嚴(yán)格的設(shè)計(jì)限制,因此在不增加硬件的基礎(chǔ)上,如何盡可能提高計(jì)算機(jī)系統(tǒng)的任務(wù)可靠性,成為航空、航天事業(yè)的一個重要課題。

    在當(dāng)今航空航天領(lǐng)域,為保證核心功能的正常運(yùn)行,常常采用雙機(jī)備份方法提高系統(tǒng)的可靠性,當(dāng)主機(jī)故障時,能夠無縫切換至備機(jī),確保系統(tǒng)能夠長期穩(wěn)定運(yùn)行。

    本方案基于某型機(jī)的綜合CNI系統(tǒng)。為保障系統(tǒng)的生命周期和任務(wù)的完成度,該系統(tǒng)配置兩個系統(tǒng)控制管理模塊,其功能完全相同,互為備份。當(dāng)主處理設(shè)備故障時,備處理設(shè)備能夠快速接管主處理設(shè)備職能,實(shí)現(xiàn)無縫切換,保證綜合CNI系統(tǒng)的穩(wěn)定運(yùn)行。

1 冗余備份概述

    在實(shí)際的工程應(yīng)用中,雙機(jī)冗余備份一般采用雙機(jī)冷備份、雙機(jī)溫備份、雙機(jī)熱備份主從及雙工[1-2]4種模式,拓?fù)浣Y(jié)構(gòu)如圖1所示,其工作特點(diǎn)如表1所示。

jsj3-t1.gif

jsj3-b1.gif

    一般而言,系統(tǒng)可用度較高的為雙機(jī)熱備主從模式及雙工模式。其中,雙工模式能夠通過結(jié)果比較來及時地確定輸出方,確保了系統(tǒng)的連續(xù)工作,但是該模式要求所有冗余模塊必須嚴(yán)格同步,同時表決器設(shè)計(jì)也比較復(fù)雜,隨著表決器工作時間的增長,其仲裁可靠度逐漸降低。而主從模式則設(shè)計(jì)相對簡單,當(dāng)備控計(jì)算機(jī)通過檢測到主控計(jì)算機(jī)故障時,能夠通過仲裁將發(fā)生故障的主控計(jì)算機(jī)隔離,使備控計(jì)算機(jī)變?yōu)橹骺赜?jì)算機(jī),行使控制職能。

    為保證雙機(jī)冗余系統(tǒng)的高可靠性,同時盡可能降低模塊設(shè)計(jì)復(fù)雜度,本文提出了一種基于雙機(jī)熱備份主從工作模式,同時通過一定的表決算法,模擬實(shí)現(xiàn)全雙工工作的設(shè)計(jì)方法。

2 系統(tǒng)設(shè)計(jì)

    系統(tǒng)控制管理模塊作為綜合CNI系統(tǒng)的核心處理單元,實(shí)現(xiàn)了對系統(tǒng)的健康狀態(tài)檢測、資源調(diào)度、綜合控制和綜合管理等,其系統(tǒng)連接概圖如圖2所示。

jsj3-t2.gif

    初始默認(rèn)系統(tǒng)控制管理模塊1為主控計(jì)算機(jī),系統(tǒng)控制管理模塊2為備控計(jì)算機(jī),處于熱備份狀態(tài)。

    為實(shí)現(xiàn)雙機(jī)熱備同步監(jiān)聽值守策略,本文主要通過故障檢測控制表決、數(shù)據(jù)同步、監(jiān)聽值守四方面對系統(tǒng)控制管理模塊進(jìn)行功能設(shè)計(jì)。

2.1 故障檢測

    故障檢測是實(shí)現(xiàn)雙機(jī)熱備份的前提,是完成控制表決的基礎(chǔ)。為保證系統(tǒng)高可靠性前提下最大限度地簡化設(shè)計(jì),降低復(fù)雜度,本方案采用通過軟件實(shí)現(xiàn)的自檢測和心跳檢測等方法作為故障檢測手段。

    其中,自檢測主要完成對系統(tǒng)控制管理模塊軟硬件的狀態(tài)檢測,包括CPU狀態(tài)、I/O狀態(tài)、內(nèi)存狀態(tài)、進(jìn)程及任務(wù)狀態(tài)等;心跳檢測則采用基于PULL模型[3]的雙冗余心跳檢測[4]機(jī)制,分別通過雙冗余CAN總線及千兆以太網(wǎng)檢測對方狀態(tài)。

    當(dāng)主控計(jì)算機(jī)通過雙冗余總線進(jìn)行心跳詢問時,其心跳判斷狀態(tài)如表2所示。

jsj3-b2.gif

    如果兩總線心跳狀態(tài)正常,則證明對方軟件處理正常和總線正常;如果一條總線異常,另一總線正常,則證明軟件處理正常,而心跳異??偩€故障;如果兩條總線心跳狀態(tài)全部異常,因該故障概率較小,則可以判定為對方軟件處理故障。

    以主控計(jì)算機(jī)發(fā)起心跳詢問,備控計(jì)算機(jī)心跳應(yīng)答為例進(jìn)行功能設(shè)計(jì)說明,其控制流程如圖3所示。

jsj3-t3.gif

    故障檢測流程主要包括心跳正常處理流程及心跳異常處理流程,其中,正常處理流程為能夠正常接收心跳應(yīng)答信息;異常處理流程為未能正常接收心跳應(yīng)答信息。

    定義心跳詢問周期為50 ms,在系統(tǒng)運(yùn)行過程中,主控計(jì)算機(jī)分別通過CAN總線及以太網(wǎng)以50 ms周期發(fā)送心跳詢問信息至備控計(jì)算機(jī),備控計(jì)算機(jī)接收到主控計(jì)算機(jī)心跳詢問信息后,將當(dāng)前自身故障信息及外部功能故障信息同步至主控計(jì)算機(jī)。

    定義心跳超時周期為50 ms,若主控計(jì)算機(jī)在2個周期內(nèi)未接收到心跳應(yīng)答信號則置對方總線故障。

2.2 控制表決

    系統(tǒng)運(yùn)行過程中,主備控制權(quán)的狀態(tài)取決于系統(tǒng)控制管理模塊運(yùn)行狀態(tài),而運(yùn)行狀態(tài)則通過故障檢測及故障處理機(jī)制進(jìn)行表決。

    故障處理是指對發(fā)生的故障或錯誤進(jìn)行屏蔽、定位、限制等處理,以保證系統(tǒng)在出現(xiàn)故障仍能正常運(yùn)行。故障處理的行為與健康監(jiān)控器具體報(bào)告的事件有關(guān),如圖4所示。

jsj3-t4.gif

    健康監(jiān)控器需要向故障管理器報(bào)告所有確認(rèn)的故障。故障管理器在接收到故障后根據(jù)已設(shè)定好的故障處理流程對故障進(jìn)行一系列處理,包括故障關(guān)聯(lián)、識別和定位、失效判斷等,并根據(jù)判決結(jié)果進(jìn)行狀態(tài)輸出,由控制表決器進(jìn)行控制表決。本方案基于自檢測數(shù)據(jù)及歷史信息的自適應(yīng)一致性表決算法[5-6]進(jìn)行控制表決,其表決流程如圖5所示。

jsj3-t5.gif

    在進(jìn)行基于自檢測及歷史信息數(shù)據(jù)一致性表決時,需注意:

    (1)設(shè)置本機(jī)自檢測狀態(tài)信息獲取門限(≥3次),避免表決周期內(nèi)的瞬態(tài)錯誤,獲取本機(jī)實(shí)際狀態(tài)信息;

    (2)實(shí)時接收另一計(jì)算機(jī)同步的自檢測信息,并針對不同的自檢測狀態(tài)信息進(jìn)行顆粒度細(xì)化,按子控制塊進(jìn)行功能性分解;

    (3)實(shí)時獲取歷史記錄表決信息,并根據(jù)實(shí)時表決次數(shù),獲取當(dāng)前模塊表決可靠性等級,為本次表決提供一定的依據(jù);

    (4)本機(jī)狀態(tài)信息與他機(jī)狀態(tài)信息進(jìn)行一致性表決,對多個冗余信息進(jìn)行表決后產(chǎn)生表決結(jié)果,輸出當(dāng)前主備控制狀態(tài),同時記錄當(dāng)前表決信息,為下次表決可靠性提供依據(jù)。

2.3 數(shù)據(jù)同步

    為確??刂茩?quán)搶占后系統(tǒng)的連續(xù)平穩(wěn)運(yùn)行,需通過同步來保證兩系統(tǒng)控制管理模塊彼此間狀態(tài)的一致性及任務(wù)的同步性。數(shù)據(jù)同步主要包括靜態(tài)數(shù)據(jù)同步及實(shí)時數(shù)據(jù)同步[7],其中:

    (1)靜態(tài)數(shù)據(jù)同步

    靜態(tài)參數(shù)主要包括對系統(tǒng)各功能的配置、硬件描述以及任務(wù)的定義等各類配置文件,在未進(jìn)行數(shù)據(jù)加載、數(shù)據(jù)刪除等操作時,該類數(shù)據(jù)基本不會發(fā)生變化。

    本方案采用基于rsync算法及服務(wù)器與客戶端的FTP傳輸技術(shù)進(jìn)行文件同步。在靜態(tài)參數(shù)發(fā)生變化后,通過對比主備設(shè)備中相同文件號的文件屬性,獲取靜態(tài)參數(shù)同步策略。并通過FTP客戶端與服務(wù)器端的“控制連接”和“數(shù)據(jù)連接”實(shí)現(xiàn)文件同步傳輸。

    (2)實(shí)時數(shù)據(jù)同步

    實(shí)時數(shù)據(jù)主要包括關(guān)鍵數(shù)據(jù)及預(yù)干預(yù)數(shù)據(jù)。鑒于實(shí)時數(shù)據(jù)的可變性及可擴(kuò)展性,本方案采用基于XML的數(shù)據(jù)定義方式,其處理流程如圖6所示。

jsj3-t6.gif

    主控計(jì)算機(jī)實(shí)時接收外部數(shù)據(jù),并進(jìn)行數(shù)據(jù)處理及狀態(tài)更新,待數(shù)據(jù)處理完成后,根據(jù)XML中的封裝格式進(jìn)行封裝,并同步至備控計(jì)算機(jī)。

    備控計(jì)算機(jī)實(shí)時接收主控計(jì)算機(jī)的同步數(shù)據(jù),并根據(jù)XML數(shù)據(jù)格式進(jìn)行解析處理,確保與主控計(jì)算機(jī)實(shí)時數(shù)據(jù)的一致性[8]

2.4 監(jiān)聽值守

    本方案中兩系統(tǒng)控制管理模塊的總體控制策略如下:

    (1)初始默認(rèn)系統(tǒng)控制管理模塊1為主處理計(jì)算機(jī),負(fù)責(zé)整個系統(tǒng)資源調(diào)度和管理,系統(tǒng)控制管理模塊2為備控計(jì)算機(jī),處于熱備份監(jiān)控狀態(tài);

    (2)主控計(jì)算機(jī)實(shí)時將系統(tǒng)工作狀態(tài)同步至備控計(jì)算機(jī),備控計(jì)算機(jī)則實(shí)時將采集到的數(shù)據(jù)透明轉(zhuǎn)發(fā)至主控計(jì)算機(jī);

    (3)主控計(jì)算機(jī)故障時,若喪失部分或全部控制權(quán),備控計(jì)算機(jī)則“無縫”搶占已喪失部分或全部控制權(quán);

    (4)主控計(jì)算機(jī)由故障變?yōu)檎:螅鶕?jù)表決狀態(tài)重新?lián)屨枷到y(tǒng)控制權(quán),同時備控計(jì)算機(jī)轉(zhuǎn)為熱備份狀態(tài)。

    系統(tǒng)控制管理模塊監(jiān)聽值守流程如圖7所示。

jsj3-t7.gif

    在系統(tǒng)運(yùn)行過程中,兩系統(tǒng)控制管理模塊均正常工作,且產(chǎn)生運(yùn)算結(jié)果,在對外輸出處理時則通過自身表決狀態(tài)進(jìn)行輸出判斷。

3 結(jié)論

    本文分析了多種冗余備份的工作特點(diǎn),提出一種模擬全雙工工作的雙機(jī)熱備份設(shè)計(jì)方法,并從故障檢測、控制表決、數(shù)據(jù)同步及監(jiān)聽值守四方面進(jìn)行雙機(jī)熱備份設(shè)計(jì)。

    本方案當(dāng)前已成功應(yīng)用于某綜合化CNI系統(tǒng),通過長期航電系統(tǒng)聯(lián)試及試飛驗(yàn)證,證明在主控計(jì)算機(jī)功能全部失效或部分失效的情況下,該方案能夠?qū)⑾鄳?yīng)功能的控制權(quán)快速、“無縫”地切換到備控計(jì)算機(jī),切實(shí)提高整個系統(tǒng)的可靠性,降低了計(jì)算機(jī)長期失效帶來的風(fēng)險(xiǎn)。本方案具有普遍通用性,可以為航空、航天或其他工業(yè)控制的雙機(jī)熱備方案提供一定的思路。

參考文獻(xiàn)

[1] 趙豫峰,張善從.一種雙機(jī)熱備的嵌入式計(jì)算機(jī)系統(tǒng)設(shè)計(jì)[J].國外電子測量技術(shù),2013,32(5):75-78.

[2] 張科超,崔剛.實(shí)時嵌入式系統(tǒng)中的雙機(jī)熱備份容錯設(shè)計(jì)[J].計(jì)算機(jī)研究與發(fā)展,2010,47(S):133-136.

[3] 鄒見效.分布式測控系統(tǒng)容錯關(guān)鍵技術(shù)研究[D].成都:電子科技大學(xué),2009.

[4] 徐一鳳,豐大軍,王皓,等,基于麒麟系統(tǒng)的SCADA狀態(tài)診斷系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2018,44(5):134-136.

[5] 俞功兵,王俊峰.基于自檢測的自適應(yīng)一致表決算法[J].電子設(shè)計(jì)工程,2012,20(21):19-21.

[6] 歐陽城添,王曦,鄭劍,等.自適應(yīng)一致表決算法[J].計(jì)算機(jī)科學(xué),2011,38(7):130-133.

[7] 羅悅,陶然,趙明,等,雙冗余熱備份技術(shù)的綜合控制設(shè)備設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代防御技術(shù),2018,46(5):129-134.

[8] 張雅妮.基于熱備份的雙余度嵌入式系統(tǒng)的容錯設(shè)計(jì)[J].西北工業(yè)大學(xué)學(xué)報(bào),2017,35(S):120-123.



作者信息:

張軍永,劉榮林,李翼瀚

(天津七一二通信廣播股份有限公司,天津300140)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。