网站首页
教育杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
医学杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
经济杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
金融杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
管理杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
科技杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
工业杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
SCI杂志
中科院1区 中科院2区 中科院3区 中科院4区
全部期刊
公務(wù)員期刊網(wǎng) 論文中心 正文

嵌入式系統(tǒng)雙機(jī)熱備技術(shù)淺議

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了嵌入式系統(tǒng)雙機(jī)熱備技術(shù)淺議范文,希望能給你帶來靈感和參考,敬請(qǐng)閱讀。

嵌入式系統(tǒng)雙機(jī)熱備技術(shù)淺議

摘要:為構(gòu)建一個(gè)強(qiáng)實(shí)時(shí)性和高可靠性的嵌入式系統(tǒng),提出了一種嵌入式系統(tǒng)的雙機(jī)熱備方法。該方法首先采用“先啟為主”的主備機(jī)身份識(shí)別機(jī)制確認(rèn)主備機(jī)身份;然后為主備機(jī)之間的心跳通信配備了2條心跳線,并且在處于正常工作運(yùn)行狀態(tài)的主機(jī)上創(chuàng)建一個(gè)互斥信號(hào)量,以此確定當(dāng)前只有一臺(tái)機(jī)器處于工作狀態(tài),避免了雙主機(jī)現(xiàn)象的出現(xiàn);建立主備機(jī)同步通信機(jī)制,確保主備機(jī)的狀態(tài)和相互之間接收數(shù)據(jù)的實(shí)時(shí)通信;通過對(duì)主備機(jī)工作狀態(tài)的實(shí)時(shí)監(jiān)測(cè),及時(shí)診斷系統(tǒng)故障,并采用主備機(jī)自動(dòng)切換算法實(shí)現(xiàn)雙機(jī)熱備功能。

關(guān)鍵詞:嵌入式軟件;軟件測(cè)試;雙機(jī)熱備;實(shí)時(shí)系統(tǒng)

目前,嵌入式系統(tǒng)的健壯性和穩(wěn)定性是用戶和系統(tǒng)設(shè)計(jì)人員都十分關(guān)注的問題。如果在嵌入式系統(tǒng)運(yùn)行過程中,因?yàn)橄到y(tǒng)硬件或者軟件故障導(dǎo)致整個(gè)系統(tǒng)無法繼續(xù)正常工作,則可能會(huì)帶來不可預(yù)知的影響和損失。因此,為了維護(hù)嵌入式系統(tǒng)的高可用性和高可靠性,必須采取適當(dāng)?shù)拇胧﹣肀WC嵌入式系統(tǒng)不間斷的穩(wěn)定運(yùn)行,雙機(jī)容錯(cuò)技術(shù)就是在這樣的背景下產(chǎn)生并在嵌入式系統(tǒng)中得到了廣泛應(yīng)用[1]。當(dāng)前嵌入式系統(tǒng)中最常見的雙機(jī)容錯(cuò)技術(shù)有無磁盤型、共享磁盤型、磁盤鏡像型、共享和鏡像共存型等,這些方法大多應(yīng)用在專用的容錯(cuò)系統(tǒng)中,應(yīng)用在通用的容錯(cuò)系統(tǒng)中的較少[2]。上述這些方法大都是在應(yīng)用層實(shí)現(xiàn)容錯(cuò)的功能,因此不可避免地會(huì)帶來以下問題:①增加設(shè)計(jì)人員的工作量,設(shè)計(jì)人員在實(shí)現(xiàn)具體業(yè)務(wù)的同時(shí)必須考慮容錯(cuò)功能的實(shí)現(xiàn);②數(shù)據(jù)容錯(cuò)的可靠性難以保證,設(shè)計(jì)人員只要有考慮不周的地方,就可能導(dǎo)致容錯(cuò)系統(tǒng)無法正確備份,導(dǎo)致備份失效;③系統(tǒng)可擴(kuò)展性較差,一旦在系統(tǒng)中增加新的功能,設(shè)計(jì)人員必須重新考慮備份功能的實(shí)現(xiàn),系統(tǒng)的可測(cè)試性和可維護(hù)性差。為了能夠有效地保證嵌入式系統(tǒng)穩(wěn)定、可靠、有效和持續(xù)運(yùn)行,本文提出了一種嵌入式系統(tǒng)的雙機(jī)熱備方法。該方法能夠保證設(shè)備在無人監(jiān)管的情況下不間斷正常運(yùn)行,具有技術(shù)成熟、運(yùn)行成本低和任務(wù)可靠性較高等優(yōu)點(diǎn)。

1雙機(jī)熱備系統(tǒng)概述

雙機(jī)熱備技術(shù)一般是在服務(wù)器系統(tǒng)出現(xiàn)臨時(shí)故障時(shí)采取的一種熱備份技術(shù),通過對(duì)服務(wù)器系統(tǒng)的熱備份,可以避免服務(wù)器系統(tǒng)發(fā)生故障時(shí)產(chǎn)生的長(zhǎng)時(shí)間服務(wù)中斷,確保服務(wù)器系統(tǒng)能夠長(zhǎng)時(shí)間可靠運(yùn)行。雙機(jī)熱備概念分為廣義和狹義2種。從廣義上講,就是將2臺(tái)服務(wù)器中的重要服務(wù)進(jìn)行相互備份,并且2臺(tái)服務(wù)器共同執(zhí)行同一服務(wù)。當(dāng)任意1臺(tái)服務(wù)器運(yùn)行時(shí)出現(xiàn)故障,另外1臺(tái)服務(wù)器在最短的時(shí)間內(nèi)接管該故障服務(wù)器的一切服務(wù),該接管工作不需要人工進(jìn)行干預(yù),保證整個(gè)服務(wù)器系統(tǒng)正常不間斷運(yùn)行。狹義上講,服務(wù)器數(shù)據(jù)同時(shí)寫入2臺(tái)服務(wù)器中,或者這2臺(tái)服務(wù)器采用1個(gè)共享存儲(chǔ)設(shè)備。在同一時(shí)間2臺(tái)服務(wù)器只有1臺(tái)處于激活(工作)狀態(tài),另外1臺(tái)處于靜默狀態(tài)。當(dāng)處于激活狀態(tài)的服務(wù)器故障時(shí),通過心跳機(jī)制激活另外1臺(tái)服務(wù)器,讓其接管當(dāng)前工作。雙機(jī)熱備系統(tǒng)采用故障隔離的工作原理,將發(fā)生故障的設(shè)備以故障點(diǎn)轉(zhuǎn)移的方式讓處于熱備份狀態(tài)的正常設(shè)備接管當(dāng)前工作,保證整個(gè)系統(tǒng)的不間斷運(yùn)行。故障的恢復(fù)不是在故障設(shè)備上,而是在熱備份的設(shè)備上,熱備份的方式不是用來修復(fù)當(dāng)前故障設(shè)備,而僅僅是將故障隔離。雙機(jī)熱備系統(tǒng)中的關(guān)鍵技術(shù)有主備機(jī)身份識(shí)別技術(shù)、主備機(jī)之間心跳通信技術(shù)、主備機(jī)同步技術(shù)和主備機(jī)故障檢測(cè)和切換技術(shù)等。

2主備機(jī)身份識(shí)別

目前大多數(shù)的雙機(jī)熱備系統(tǒng)都采用在主備機(jī)端安裝不同軟件的方式。這種方法的優(yōu)點(diǎn)是程序開發(fā)較為簡(jiǎn)便、邏輯清晰;缺點(diǎn)是靈活性較差、不便于維護(hù)。為了使主機(jī)和備機(jī)具有完全對(duì)等性,采用“先啟為主”的主備機(jī)身份識(shí)別機(jī)制,即先啟動(dòng)的為主機(jī),后啟動(dòng)的為從機(jī)。“先啟為主”的主備機(jī)身份識(shí)別機(jī)制采用端口監(jiān)聽的方法實(shí)現(xiàn)。首先在主機(jī)和備機(jī)上分別配置好對(duì)方的IP地址和通信端口號(hào),在嵌入式系統(tǒng)的任務(wù)啟動(dòng)后立即創(chuàng)建一個(gè)套接字并向?qū)Ψ酵ㄐ哦丝诎l(fā)出連接請(qǐng)求。如果連接成功說明對(duì)方已經(jīng)啟動(dòng),本機(jī)標(biāo)識(shí)為備機(jī);如果連接失敗將本機(jī)標(biāo)識(shí)為主機(jī),并將套接字綁定到主備機(jī)通信端口進(jìn)行監(jiān)聽。這樣,無論備機(jī)何時(shí)啟動(dòng),主機(jī)都會(huì)接受備機(jī)的連接請(qǐng)求并與之建立連接。

3建立主備機(jī)之間的心跳通信

為了提高嵌入式雙機(jī)熱備系統(tǒng)的可靠性,首當(dāng)其沖需要解決的是主機(jī)設(shè)備和備機(jī)設(shè)備之間的通信問題。雙方通信的可靠程度很大程度上決定了主機(jī)設(shè)備和備機(jī)設(shè)備數(shù)據(jù)的同步性、主機(jī)設(shè)備和備機(jī)設(shè)備相互監(jiān)測(cè)的準(zhǔn)確性、主機(jī)設(shè)備和備機(jī)設(shè)備數(shù)據(jù)傳輸?shù)姆€(wěn)定性以及隔離故障機(jī)和備用機(jī)恢復(fù)重新切入雙機(jī)系統(tǒng)的健壯性。通常在主機(jī)設(shè)備和備機(jī)設(shè)備之間采用心跳信號(hào)來相互監(jiān)測(cè)對(duì)方的工作狀態(tài),并作為診斷設(shè)備故障的一種輔助手段。一旦主機(jī)設(shè)備和備機(jī)設(shè)備之間的心跳信號(hào)發(fā)生故障,則表明有一方設(shè)備出現(xiàn)了故障,同時(shí)也能初步確定故障設(shè)備的原因。因此,在主機(jī)設(shè)備和備機(jī)設(shè)備之間建立心跳通信機(jī)制,也是提高嵌入式系統(tǒng)安全性的一種有效方法。傳統(tǒng)的雙機(jī)熱備系統(tǒng)中雙機(jī)之間是通過心跳線互發(fā)心跳建立連接通信的。若心跳線發(fā)生故障,就會(huì)將原有協(xié)調(diào)的系統(tǒng)分為2個(gè)獨(dú)立的個(gè)體。由于雙機(jī)彼此失去聯(lián)系,都以為對(duì)方發(fā)生故障,備用機(jī)本能的升為主用機(jī),而主用機(jī)由于本身工作正常,繼續(xù)保持主用,從而導(dǎo)致“雙主”現(xiàn)象的產(chǎn)生。傳統(tǒng)的解決“雙主”現(xiàn)象的辦法是增加心跳線的數(shù)量,但是該辦法的缺點(diǎn)是不僅會(huì)增加系統(tǒng)的硬件成本,而且還會(huì)占用系統(tǒng)的接口資源,新增加的心跳線還會(huì)成為潛在的故障點(diǎn),降低了系統(tǒng)的可維護(hù)性。為了提高雙機(jī)熱備系統(tǒng)的可靠性,主機(jī)和備機(jī)均采用雙網(wǎng)卡工作,雙網(wǎng)通過交換機(jī)連接到局域網(wǎng)中,采用一條心跳線進(jìn)行雙機(jī)之間的通信。因此,雙機(jī)之間通過心跳線、雙網(wǎng)的狀態(tài)3種通道傳遞心跳信號(hào)。只要這3種通道有一個(gè)能收到對(duì)方的心跳,即可認(rèn)為心跳正常。當(dāng)出現(xiàn)心跳失效的情況時(shí),分別選取雙網(wǎng)上的一臺(tái)設(shè)備(主機(jī)或者備機(jī))或設(shè)備的某個(gè)端口作為該通道的遠(yuǎn)程檢測(cè)點(diǎn)。當(dāng)某個(gè)網(wǎng)絡(luò)通道心跳失效時(shí),雙機(jī)通過該網(wǎng)絡(luò)通道檢查設(shè)置的遠(yuǎn)程檢測(cè)點(diǎn),若檢測(cè)不到則表明故障出現(xiàn)在本機(jī)端;若可以檢測(cè)到則表明故障出現(xiàn)在對(duì)方。為了進(jìn)一步提高雙機(jī)熱備系統(tǒng)的可用性,雙網(wǎng)通道在收到對(duì)方心跳時(shí)加入時(shí)間戳。在心跳無效的情況下,根據(jù)心跳時(shí)間戳,選擇最后收到心跳的網(wǎng)絡(luò),然后去檢查對(duì)應(yīng)此網(wǎng)絡(luò)的遠(yuǎn)程檢測(cè)點(diǎn),若可以檢測(cè)到,表明對(duì)方宕機(jī)下線,本機(jī)正常,可作為主機(jī)運(yùn)行;否則,標(biāo)明本機(jī)宕機(jī),此時(shí)應(yīng)工作在備機(jī)。雙機(jī)通信的流程如圖1所示。

4實(shí)現(xiàn)主備機(jī)同步

雙機(jī)熱備系統(tǒng)中主機(jī)設(shè)備與備機(jī)設(shè)備必須保持嚴(yán)格意義上的同步,它們之間同步性的好壞直接影響到主機(jī)設(shè)備和備機(jī)設(shè)備發(fā)生切換后雙方數(shù)據(jù)的一致性。若兩方數(shù)據(jù)同步性不好,則當(dāng)一方接管另一方(故障設(shè)備)工作時(shí),就會(huì)造成數(shù)據(jù)的不完整性,從而影響整個(gè)嵌入式系統(tǒng)的工作流程。因此,主備機(jī)的同步是確保整個(gè)系統(tǒng)主機(jī)設(shè)備及其備機(jī)設(shè)備中程序與數(shù)據(jù)同步運(yùn)行和實(shí)現(xiàn)雙機(jī)無縫切換的基礎(chǔ)。此外,主備機(jī)設(shè)備在運(yùn)行過程中的相互監(jiān)測(cè)以及當(dāng)一方發(fā)生故障時(shí)的故障診斷工作都對(duì)主備機(jī)之間的同步性能提出了更高的要求。主備機(jī)的同步不僅包括時(shí)鐘同步,還包括主備機(jī)狀態(tài)和數(shù)據(jù)同步。主備機(jī)的時(shí)鐘同步是指硬件上的同步,包括雙機(jī)時(shí)鐘周期和時(shí)鐘時(shí)序的同步。在主備機(jī)上電后,保證主備機(jī)使用的是同一外部有源晶振提供的時(shí)鐘周期,以此來保障系統(tǒng)的各個(gè)模塊完全按照相同的時(shí)鐘頻率運(yùn)行。主備機(jī)的狀態(tài)和數(shù)據(jù)同步是指主備機(jī)之間需要實(shí)時(shí)進(jìn)行通信,其中包括主備機(jī)的狀態(tài)和接收數(shù)據(jù)的實(shí)時(shí)通信。為了讓主備機(jī)的任務(wù)初始化能夠同步開始,必須對(duì)主備機(jī)同時(shí)上電。當(dāng)主機(jī)任務(wù)啟動(dòng)指令到達(dá)的第一時(shí)間通知備機(jī)啟動(dòng)任務(wù),使備機(jī)同時(shí)進(jìn)入工作模式。在主備機(jī)均正常工作的情況下,主備機(jī)同時(shí)從網(wǎng)絡(luò)上接收信息,但只有主機(jī)有權(quán)限向外部設(shè)備發(fā)送信息,備機(jī)只接收外部信息,處于信息發(fā)送靜默狀態(tài)。主備機(jī)的同步過程如圖2所示。

5實(shí)現(xiàn)主備機(jī)故障檢測(cè)和切換

故障檢測(cè)技術(shù)是雙機(jī)熱備系統(tǒng)進(jìn)行主機(jī)設(shè)備和備機(jī)設(shè)備切換的關(guān)鍵環(huán)節(jié),通過對(duì)設(shè)備進(jìn)行實(shí)時(shí)準(zhǔn)確地狀態(tài)監(jiān)視和檢測(cè),能夠及時(shí)地發(fā)現(xiàn)并上報(bào)設(shè)備的故障,并啟動(dòng)冗余設(shè)備繼續(xù)完成系統(tǒng)當(dāng)前的工作任務(wù),是保證了雙機(jī)熱備系統(tǒng)可靠性和穩(wěn)定性的前提和基礎(chǔ)。采用如下3種措施實(shí)現(xiàn)主備機(jī)故障檢測(cè):①在主備機(jī)中配備看門狗定時(shí)器。在系統(tǒng)上電后,處理器在正常工作時(shí)會(huì)每隔固定的時(shí)間對(duì)看門狗計(jì)數(shù)器進(jìn)行清零操作。若主機(jī)或者備機(jī)出現(xiàn)故障,看門狗計(jì)數(shù)器值會(huì)超過某個(gè)閾值,最終會(huì)導(dǎo)致看門狗產(chǎn)生復(fù)位信號(hào),使處理器復(fù)位,通過上述方式可判斷主備機(jī)是否出現(xiàn)故障。②在主備機(jī)上電后,可對(duì)系統(tǒng)進(jìn)行自檢操作,包括CPU檢測(cè)、內(nèi)存檢測(cè)、I/O設(shè)備檢測(cè)等,可在上電時(shí)檢測(cè)系統(tǒng)硬件是否工作正常。③在系統(tǒng)運(yùn)行過程中,主備機(jī)之間通過心跳線和雙網(wǎng)的狀態(tài)相互監(jiān)測(cè)對(duì)方的工作狀態(tài)。由于主備機(jī)在上電時(shí)通過身份識(shí)別已明確自身是主機(jī)還是備機(jī),因此,如果在系統(tǒng)運(yùn)行過程中,主機(jī)檢測(cè)到備機(jī)故障,則不進(jìn)行切換,主機(jī)繼續(xù)保持工作;如果備機(jī)檢測(cè)到主機(jī)故障,則進(jìn)行切換,由備機(jī)接管主機(jī)繼續(xù)工作。

6結(jié)束語

雙機(jī)熱備技術(shù)是保證嵌入式實(shí)時(shí)系統(tǒng)可靠性和穩(wěn)定性最重要和最關(guān)鍵的方法,不僅有效降低了系統(tǒng)出現(xiàn)故障的概率,還大大提高了系統(tǒng)可用性。本文提出的方法具有成本低、易于實(shí)現(xiàn)、可靠性高、主備機(jī)切換時(shí)間短等優(yōu)點(diǎn),大大滿足短事務(wù)、強(qiáng)實(shí)時(shí)系統(tǒng)的要求,增強(qiáng)了雙機(jī)熱備系統(tǒng)在復(fù)雜、惡劣環(huán)境下的可維護(hù)性。

參考文獻(xiàn):

[1]肖佳,王古城,楊旭,等.雙機(jī)熱備與負(fù)載均衡的設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2015,23(18):176-179.

[2]羅貴舟,王錦杰,楊旭斌,等.一種多策略雙機(jī)熱備方法[J].計(jì)算機(jī)測(cè)量與控制,2019,27(3):231-234,239.

作者:劉慕霄 劉憲忠 趙昶宇 單位:海軍裝備部駐北京地區(qū)軍事代表局駐天津地區(qū)第二軍事代表室 海軍裝備部駐天津地區(qū)第二軍事代表室 天津津航計(jì)算技術(shù)研究所

AI写作,高效原创

在线指导,快速准确,满意为止

立即体验
相關(guān)熱門標(biāo)簽