前言:小編為你整理了5篇嵌入式系統(tǒng)參考范文,供你參考和借鑒。希望能幫助你在寫作上獲得靈感,讓你的文章更加豐富有深度。
摘要:隨著計(jì)算機(jī)技術(shù)的發(fā)展,嵌入式系統(tǒng)被廣泛應(yīng)用到社會(huì)生產(chǎn)中。嵌入式計(jì)算機(jī)系統(tǒng)與普通的個(gè)人計(jì)算機(jī)系統(tǒng)存在很大區(qū)別,它具有節(jié)約成本、可靠性高等優(yōu)勢(shì),主要被用于工廠生產(chǎn)設(shè)備、大型器件等的控制與監(jiān)視。而隨著人類社會(huì)對(duì)生產(chǎn)的要求越來越高,因此,需要開發(fā)一個(gè)更加高效的嵌入式系統(tǒng)。基于此,通過運(yùn)用UML語言,對(duì)嵌入式系統(tǒng)進(jìn)行設(shè)計(jì),以尋求更高效的,符合社會(huì)生產(chǎn)需求的計(jì)算機(jī)嵌入式系統(tǒng)。
關(guān)鍵詞:計(jì)算機(jī)技術(shù);嵌入式系統(tǒng);UML語言
UML語言又被稱為標(biāo)準(zhǔn)建模語言,主要是被用來進(jìn)行軟件開發(fā)與支持模型化的計(jì)算機(jī)圖形化的語言。在軟件開發(fā)過程中,可以通過標(biāo)準(zhǔn)建模語言提供的可視化與模型化支撐進(jìn)行軟件規(guī)格、配置及構(gòu)造的最優(yōu)化。與此同時(shí),它還是一種易于表達(dá)、功能強(qiáng)大、定義良好的建模語言,基于這些優(yōu)勢(shì),將UML語言應(yīng)用到嵌入式系統(tǒng)的開發(fā)設(shè)計(jì)中,能實(shí)現(xiàn)目前用戶對(duì)該系統(tǒng)的功能、體積、功耗及可靠性的要求。
1嵌入式系統(tǒng)應(yīng)用背景的產(chǎn)生
嵌入式系統(tǒng)是基于計(jì)算機(jī)技術(shù),融合了電子技術(shù)、半導(dǎo)體技術(shù),并對(duì)應(yīng)用領(lǐng)域?qū)嶋H需求產(chǎn)生的一種具有功能強(qiáng)大、可塑性強(qiáng)及應(yīng)用廣泛的知識(shí)集成系統(tǒng)。由于該系統(tǒng)自身的優(yōu)勢(shì),因此,被廣泛應(yīng)用于技術(shù)、資金密集的工業(yè)生產(chǎn)中。目前,市場(chǎng)中的電子產(chǎn)品、汽車、數(shù)碼等都應(yīng)用了嵌入式系統(tǒng)進(jìn)行生產(chǎn)。嵌入式系統(tǒng)最早形成時(shí)還形不成“系統(tǒng)”概念,因?yàn)樽畛醯那度胧较到y(tǒng)主要是依靠單片機(jī)運(yùn)行的,只能執(zhí)行單線程的工作程序[1]。隨著計(jì)算機(jī)技術(shù)及商業(yè)社會(huì)的發(fā)展需求,嵌入系統(tǒng)初步形成,可以運(yùn)用計(jì)算機(jī)嵌入式系統(tǒng)進(jìn)行應(yīng)用軟件的編輯,執(zhí)行任務(wù)管理和內(nèi)存管理等功能。發(fā)展到至今,嵌入式系統(tǒng)已經(jīng)可以實(shí)現(xiàn)實(shí)時(shí)的多任務(wù)操作,成為目前應(yīng)用軟件開發(fā)的主流,發(fā)展與應(yīng)用前景廣闊。
2UML語言及其框圖的應(yīng)用模式分析
UML語言是一種應(yīng)用于計(jì)算機(jī)系統(tǒng)編程的可視化建模語言,在具體應(yīng)用操作中可以實(shí)現(xiàn)滿足用戶對(duì)系統(tǒng)需求的刻畫、分析、設(shè)計(jì)集成以及實(shí)現(xiàn)和測(cè)試,實(shí)現(xiàn)系統(tǒng)功能的構(gòu)建更加合理[2]。UML建模語言可以將建立的模型數(shù)據(jù)信息運(yùn)用標(biāo)準(zhǔn)的圖形元素直觀地展示在用戶、測(cè)試人員、管理人員以及開發(fā)人員或是其他項(xiàng)目相關(guān)人員面前,使他們可以對(duì)系統(tǒng)的功能、結(jié)構(gòu)設(shè)計(jì)進(jìn)行更好的交流,實(shí)現(xiàn)對(duì)系統(tǒng)的良好構(gòu)建。目前,市場(chǎng)上最為常用的建模語言主要有Booch、OMT及UML三種語言,相較于其他兩種建模語言來講,UML語言更加簡化,操作簡單、適用范圍廣泛,因此,被許多企業(yè)采用。UML語言不僅可以對(duì)靜態(tài)的結(jié)構(gòu)進(jìn)行建模,還可以對(duì)具有動(dòng)態(tài)行為的系統(tǒng)進(jìn)行建模,因此,適用于系統(tǒng)的全部開發(fā)階段。UML語言是一種可視化的建模語言,因此,該語言中的所有語素都是由一個(gè)個(gè)的框圖組成的。系統(tǒng)設(shè)計(jì)人員應(yīng)用在UML語言時(shí),就是通過對(duì)框圖的描述來實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)的設(shè)計(jì)。UML語言的框圖有很多種,現(xiàn)針對(duì)幾種主要框圖進(jìn)行分析。BusinessUseCase框圖與UseCase:這兩種框圖所對(duì)應(yīng)的語素不同,BUC框圖所代表的語素主要是對(duì)整個(gè)系統(tǒng)的機(jī)構(gòu)功能進(jìn)行描述;而UC框圖則主要是根據(jù)用戶對(duì)系統(tǒng)的需求,進(jìn)行系統(tǒng)功能描述。因此,經(jīng)常被用來與客戶之間進(jìn)行交流,提取有效建構(gòu)信息。Class框圖:此種框圖是一種靜態(tài)圖,代表語素主要被用來對(duì)系統(tǒng)中的類進(jìn)行描述。通過對(duì)該框圖的觀察,可以清楚地了解系統(tǒng)中類的內(nèi)容、功能以及結(jié)構(gòu)關(guān)系。StateChart框圖:該框圖主要被用來對(duì)建模對(duì)象的狀態(tài)及各個(gè)建模對(duì)象之間的轉(zhuǎn)換關(guān)系進(jìn)行描述,主要用來提供建模系統(tǒng)的動(dòng)態(tài)功能[3]。此種框圖在實(shí)際應(yīng)用中被廣泛運(yùn)用到系統(tǒng)的實(shí)際建立中,可以生成系統(tǒng)構(gòu)建所需的全部代碼。Collaboration框圖與Sequence框圖:這兩種框圖都是對(duì)系統(tǒng)對(duì)象之間的相互關(guān)系進(jìn)行描述的框圖。但Sequence框圖在進(jìn)行描述時(shí)主要以時(shí)間順序進(jìn)行,而Collaboration框圖則是針對(duì)系統(tǒng)角色與顯示對(duì)象之間的交互進(jìn)行著重描述。通過Collaboration框圖,可以讓系統(tǒng)建筑師與質(zhì)量保證工程師及時(shí)了解分析對(duì)象的分布情況,若出現(xiàn)不合理狀況,系統(tǒng)建筑師便可及時(shí)進(jìn)行調(diào)整或重新分配。UML語言中包含的這些框圖,在進(jìn)行系統(tǒng)設(shè)計(jì)、建模以及分析的過程中,會(huì)提供多種不同的圖片表達(dá)形式,因此,可以用在系統(tǒng)開發(fā)的不同階段。將UML語言中的這些框圖應(yīng)用在嵌入式系統(tǒng)開發(fā)中,通過它們之間的有機(jī)結(jié)合可以構(gòu)建出一個(gè)功能完整、一致的高效系統(tǒng)。
摘要:傳統(tǒng)編程過程中,不僅需要消耗大量時(shí)間,同時(shí)還會(huì)出現(xiàn)軟件資源空間占用率高等問題,為了切實(shí)解決這些問題,本研究指出了一種基于嵌入式系統(tǒng)的C語言編程軟件設(shè)計(jì)架構(gòu)方法,具體闡述了模塊劃分原則以及重點(diǎn)注意事項(xiàng),并從分層方向與分層架構(gòu)設(shè)計(jì)方法兩個(gè)方面分析了分層架構(gòu),依托于中斷服務(wù)程序,完成系統(tǒng)軟件開發(fā)與設(shè)計(jì)。
關(guān)鍵詞:嵌入式系統(tǒng);C語言;編程軟件
0引言
C語言在嵌入式軟件開發(fā)中有著非常廣泛的應(yīng)用,這是因?yàn)镃語言能夠很好的匹配高級(jí)與低級(jí)語言,同時(shí)簡潔高效、靈活便捷,可以實(shí)現(xiàn)對(duì)硬件的直接操作,然而由于C語言具有較強(qiáng)的靈活性,也導(dǎo)致了代碼管理與維護(hù)問題較為繁瑣復(fù)雜[1]。和傳統(tǒng)形式的軟件編程相比較,嵌入式系統(tǒng)編程是以某個(gè)相應(yīng)的硬件平臺(tái)為載體的,服務(wù)的是一種專用的計(jì)算機(jī)系統(tǒng),不單單有對(duì)硬件操作的復(fù)雜性,同時(shí)還表現(xiàn)出應(yīng)用層次的通用性。所以,在實(shí)際開展軟件開發(fā)時(shí),選取適宜的軟件框架以及優(yōu)異的設(shè)計(jì)方法,加強(qiáng)對(duì)項(xiàng)目的工程化管理,可以有效地指導(dǎo)軟件開發(fā)的層次劃分以及功能模塊規(guī)劃設(shè)計(jì)。一方面可以很好的提升高級(jí)軟件系統(tǒng)開發(fā)速度與質(zhì)量,提高后期執(zhí)行與維護(hù)的便捷性,另一方面也可以有效地提升程序代碼的重用性、延伸性以及穩(wěn)定性。為了進(jìn)一步提高嵌入式系統(tǒng)視域下C語言編程軟件設(shè)計(jì)效率與品質(zhì),本文建立在現(xiàn)階段已有的主流軟件工程思想之上,將面向?qū)ο笤O(shè)計(jì)技術(shù)、分層技術(shù)等與C語言嵌入式編程結(jié)合起來,深入探討基于嵌入式系統(tǒng)的C語言編程軟件設(shè)計(jì)方法、分層架構(gòu)等,為不斷提高編程質(zhì)量與效率提供幫助。
1模塊劃分
模塊劃分主要表示為將某個(gè)龐大的、復(fù)雜程度較高的程序依照需要實(shí)現(xiàn)的不同功能,將其分割成若干個(gè)小段,并確保每一個(gè)小段都能夠完成一個(gè)相應(yīng)的功能[2]。軟件需要最大程度降低和外部模塊的接觸,進(jìn)一步改善程序的可移植性能,同時(shí)明確其能夠達(dá)到的既定功能。通常來說,嵌入式系統(tǒng)涵蓋了兩個(gè)方面的模塊,分別是硬件驅(qū)動(dòng)模塊以及軟件功能模塊[3]。其中一個(gè)硬件驅(qū)動(dòng)模塊往往只與某個(gè)特定的硬件相匹配,而在進(jìn)行軟件功能模塊劃分過程中,應(yīng)當(dāng)要最大程度符合低耦合、高內(nèi)聚的基礎(chǔ)需求[4]。在進(jìn)行模塊設(shè)計(jì)與開發(fā)以達(dá)到不同功能時(shí),需要嚴(yán)格遵守兩個(gè)關(guān)鍵性原則。(1)模塊的獨(dú)立性原則,每一個(gè)模塊均是獨(dú)立存在的,避免不同功能模塊之間出現(xiàn)信息交互的現(xiàn)象,既不會(huì)產(chǎn)生相互之間的影響,同時(shí)也不會(huì)產(chǎn)生相互之間的依存,任何一個(gè)模塊中的函數(shù)指令均不會(huì)與其他模塊變量建立聯(lián)系,不同功能模塊之間的連接是建立在函數(shù)接口基礎(chǔ)之上的。(2)正交性原則,所有的功能模塊都是唯一且確定的,而這中間的變量和其要達(dá)成的功能是相同的。在實(shí)際進(jìn)行模塊劃分過程中,應(yīng)當(dāng)要特別重視以下四點(diǎn)注意事項(xiàng):(1)當(dāng)一個(gè)功能模塊在為其他關(guān)聯(lián)功能模塊提供相關(guān)數(shù)據(jù)以及外部函數(shù)時(shí),應(yīng)當(dāng)要在頭文件(.h)中特別注明extern字樣進(jìn)行聲明。(2)某一個(gè)功能模塊內(nèi)包含的全局變量以及函數(shù)信息,應(yīng)當(dāng)要在頭文件(.c)中特別注明static字樣來聲明。(3)當(dāng)出現(xiàn)某一個(gè)功能模塊同時(shí)涵蓋有.h文件以及.c文件時(shí),需要在該功能模塊的接口文件中基于(.h)進(jìn)行聲明。(4)需要特別注意的是,(.h)頭文件中不可以對(duì)任何定量進(jìn)行定義,這是由于定義變量屬于匯編方面的內(nèi)容,會(huì)根據(jù)實(shí)際要求匹配相應(yīng)的內(nèi)存[5]。
2分層架構(gòu)
摘要:單片機(jī)作為集成電路芯片在工業(yè)生產(chǎn)和電子設(shè)備中被廣泛應(yīng)用,且在嵌入式系統(tǒng)中發(fā)揮著重要的功能。筆者概述了單片機(jī)與嵌入式系統(tǒng),探討了單片機(jī)在嵌入式系統(tǒng)中的設(shè)計(jì)應(yīng)用,指出單片機(jī)可以發(fā)揮電機(jī)控制、網(wǎng)絡(luò)測(cè)試等功能,是嵌入式系統(tǒng)中的重要組成部分。應(yīng)用結(jié)果表明:單片機(jī)在嵌入式系統(tǒng)之中具有明顯的應(yīng)用優(yōu)勢(shì),相關(guān)人員需要進(jìn)一步加強(qiáng)技術(shù)研究,提高單片機(jī)的集成能力,推廣其在不同領(lǐng)域中的實(shí)踐應(yīng)用。
關(guān)鍵詞:單片機(jī);嵌入式系統(tǒng);電機(jī)控制;網(wǎng)絡(luò)測(cè)試
隨著嵌入式系統(tǒng)數(shù)量及需求的不斷增加,其所生產(chǎn)的電子產(chǎn)品越來越受大眾的歡迎。此外,單片機(jī)在嵌入式系統(tǒng)中同樣發(fā)揮著不可替代的作用,其具備強(qiáng)大的集成功能,可以將其視為小型的微型計(jì)算機(jī)系統(tǒng)。自20世紀(jì)80年代開始,單片機(jī)集成技術(shù)越來越完善,其在嵌入式系統(tǒng)中的應(yīng)用也日益廣泛,起到測(cè)試、控制等強(qiáng)大功能。
1單片機(jī)與嵌入式系統(tǒng)概述
1.1單片機(jī)
單片機(jī)是具備邏輯功能的集成芯片,又被稱之為單片微控制器,其具備計(jì)算機(jī)的相應(yīng)功能,相比較計(jì)算機(jī)而言,其僅僅缺少I/O設(shè)備。單片機(jī)產(chǎn)生于20世紀(jì)80年代初,20世紀(jì)90年代逐漸普及,其生產(chǎn)和集成技術(shù)應(yīng)用也日益廣泛,集成能力更強(qiáng)。單片機(jī)在系統(tǒng)之中應(yīng)用依靠其擴(kuò)展功能,可以靈活地應(yīng)用在多個(gè)領(lǐng)域之中。芯片技術(shù)的完善為其功能應(yīng)用奠定了良好的基礎(chǔ),其存在SOC層和SPI接口,通過接口可以與其他系統(tǒng)連接在一起,是一種具備可擴(kuò)展性的嵌入式系統(tǒng)[1]。
1.2嵌入式系統(tǒng)
摘要:嵌入式系統(tǒng)分析的時(shí)候,最重要和最關(guān)鍵的就是功耗問題,想要保證有效降低功耗,應(yīng)該從系統(tǒng)角度來分析嵌入式系統(tǒng)問題,低功耗嵌入式系統(tǒng)不但需要硬件設(shè)備的保證,也需要系統(tǒng)軟件技術(shù)的支持,合理優(yōu)化配合系統(tǒng)軟件和硬件技術(shù),才能達(dá)到真正降低嵌入式系統(tǒng)功耗的目的,本文主要分析了嵌入式系統(tǒng)低功耗軟件技術(shù)。
關(guān)鍵詞:嵌入式系統(tǒng);低功耗;軟件技術(shù)
一、嵌入式系統(tǒng)功耗問題概述
目前,不斷發(fā)展計(jì)算機(jī)技術(shù),開始廣泛應(yīng)用嵌入式系統(tǒng),越來越高要求系統(tǒng)功耗問題。在嵌入式系統(tǒng)中應(yīng)用電池供電的便攜設(shè)備,因?yàn)槭怯邢薜碾姵卮鎯?chǔ)量,不能持續(xù)為設(shè)備提供電量。一般來說,為了能夠具備比較高性能,需要合理安置高性能CPU,依據(jù)實(shí)際運(yùn)行規(guī)范,適當(dāng)提高外圍設(shè)備數(shù)量,會(huì)降低系統(tǒng)功耗,衡量嵌入式系統(tǒng)性能的關(guān)鍵就是低耗能,為了能夠具備最平衡的高耗能和高性能需求,在符合系統(tǒng)實(shí)際運(yùn)行性能要求基礎(chǔ)上,盡可能降低系統(tǒng)耗能,從而確??梢蚤L期運(yùn)行系統(tǒng),從軟件和硬件兩方面分析系統(tǒng)節(jié)能問題[1]。
二、嵌入式系統(tǒng)低功耗軟件技術(shù)設(shè)計(jì)
(一)應(yīng)用軟件編寫的節(jié)能設(shè)計(jì)。
第一,中斷替代系統(tǒng)中查詢。系統(tǒng)簡單應(yīng)用中,不管應(yīng)用哪種程序方式都不會(huì)出現(xiàn)很大差異,差別大的就是消耗功率。中斷方式處理系統(tǒng)中,中央處理器可以不做任何事,或者能夠直接進(jìn)入到等待或停止模式;如果是查詢形式,需要中央處理器不斷訪問I/O寄存器,出現(xiàn)額外功率。第二,代替子程序。設(shè)計(jì)人員都知道,相比較讀RAM來說,讀Flash消耗功耗比較小,因此,在設(shè)計(jì)CPU的時(shí)候,RAM會(huì)展現(xiàn)低功耗性能,但是僅僅只能一次調(diào)用子程序,子程序進(jìn)入到CPU以后,會(huì)暫時(shí)存儲(chǔ)中央處理器寄存器,離開系統(tǒng)的時(shí)候,CPU會(huì)彈出寄存器,此時(shí)至少需多次操作RAM,因此,設(shè)計(jì)人員在設(shè)計(jì)程序系統(tǒng)的時(shí)候,利用宏來代替子程序來。設(shè)計(jì)中是在子程序、還是宏上調(diào)用系統(tǒng)沒有很大區(qū)別,但是編譯的時(shí)候會(huì)依據(jù)中央處理器進(jìn)行實(shí)施,避免調(diào)用子程序,但是最重要的就是增加代碼數(shù)量,上述方式可以適當(dāng)降低系統(tǒng)功耗[2]。
摘要:為構(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)生的長時(shí)間服務(wù)中斷,確保服務(wù)器系統(tǒ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ā)較為簡便、邏輯清晰;缺點(diǎn)是靈活性較差、不便于維護(hù)。為了使主機(jī)和備機(jī)具有完全對(duì)等性,采用“先啟為主”的主備機(jī)身份識(shí)別機(jī)制,即先啟動(dòng)的為主機(jī),后啟動(dòng)的為從機(jī)?!跋葐橹鳌钡闹鱾錂C(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)求并與之建立連接。
級(jí)別:統(tǒng)計(jì)源期刊
榮譽(yù):中國優(yōu)秀期刊遴選數(shù)據(jù)庫
級(jí)別:部級(jí)期刊
榮譽(yù):中國學(xué)術(shù)期刊(光盤版)全文收錄期刊
級(jí)別:統(tǒng)計(jì)源期刊
榮譽(yù):中國優(yōu)秀期刊遴選數(shù)據(jù)庫
級(jí)別:統(tǒng)計(jì)源期刊
榮譽(yù):Caj-cd規(guī)范獲獎(jiǎng)期刊
級(jí)別:北大期刊
榮譽(yù):中國優(yōu)秀期刊遴選數(shù)據(jù)庫