軟件工程-第14章第6節(jié)_第1頁(yè)
軟件工程-第14章第6節(jié)_第2頁(yè)
軟件工程-第14章第6節(jié)_第3頁(yè)
軟件工程-第14章第6節(jié)_第4頁(yè)
軟件工程-第14章第6節(jié)_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

14.6軟件容錯(cuò)技術(shù)提高軟件質(zhì)量和可靠性的技術(shù)大致可分為兩類,一類是避開錯(cuò)誤技術(shù),即在開發(fā)的過(guò)程中不讓差錯(cuò)潛入軟件的技術(shù);另一類是容錯(cuò)技術(shù),即對(duì)某些無(wú)法避開的差錯(cuò),使其影響減至最小的技術(shù)。避開錯(cuò)誤技術(shù)是進(jìn)行質(zhì)量管理實(shí)現(xiàn)產(chǎn)品應(yīng)有質(zhì)量所必不可少的技術(shù)。但是,無(wú)論使用多么高明的避開錯(cuò)誤技術(shù),也無(wú)法做到完美無(wú)缺和絕無(wú)錯(cuò)誤,這就需要采用即使錯(cuò)誤發(fā)生也不影響系統(tǒng)特性的容錯(cuò)技術(shù),或使錯(cuò)誤發(fā)生時(shí)對(duì)用戶影響限制在某些允許的范圍內(nèi)。一些高可靠性、高穩(wěn)定性的系統(tǒng),例如原子能發(fā)電控制系統(tǒng)、飛機(jī)導(dǎo)航控制系統(tǒng)、醫(yī)院疾病診斷系統(tǒng)和銀行網(wǎng)絡(luò)系統(tǒng)等,都非常重視應(yīng)用容錯(cuò)技術(shù)。14.6.1容錯(cuò)軟件定義歸納容錯(cuò)軟件的定義,有以下四種:(1)規(guī)定功能的軟件,在一定程度上對(duì)自身錯(cuò)誤的作用(軟件錯(cuò)誤)具有屏蔽能力,則稱此軟件為具有容錯(cuò)功能的軟件,即容錯(cuò)軟件。(2)規(guī)定功能的軟件,在一定程度上能從錯(cuò)誤狀態(tài)自動(dòng)恢復(fù)到正常狀態(tài),則稱此軟件為容錯(cuò)軟件。(3)規(guī)定功能的軟件,在因錯(cuò)誤而發(fā)生錯(cuò)誤時(shí),仍然能在一定程度上完成預(yù)期的功能,則把該軟件稱為容錯(cuò)軟件。(4)規(guī)定功能的軟件,在一定程度上具有容錯(cuò)能力,則稱之為容錯(cuò)軟件。14.6.2容錯(cuò)的一般方法實(shí)現(xiàn)容錯(cuò)技術(shù)的主要手段是冗余。冗余是指實(shí)現(xiàn)系統(tǒng)規(guī)定功能是多余的那部分資源,包括硬件、軟件、信息和時(shí)間。由于加入了這些資源,有可能使系統(tǒng)的可靠性得到較大的提高。通常冗余技術(shù)分為四大類。1.結(jié)構(gòu)冗余結(jié)構(gòu)冗余是通常用的冗余技術(shù)。按其工作方式它可分為靜態(tài)、動(dòng)態(tài)和混合冗余三種。14.6.2容錯(cuò)的一般方法(1)靜態(tài)冗余:常用的有三模冗余TMR(TripleModulerRedundancy)和多模冗余。靜態(tài)冗余通過(guò)表決和比較來(lái)屏蔽系統(tǒng)中出現(xiàn)的錯(cuò)誤。三模冗余是對(duì)三個(gè)功能相同但由不同的人采用不同的方法開發(fā)出來(lái)的模塊的運(yùn)行結(jié)果通過(guò)表決,以多數(shù)結(jié)果作為系統(tǒng)的最終結(jié)果。即如果模塊中有一個(gè)出錯(cuò),這個(gè)錯(cuò)誤能夠被其他模塊的正確結(jié)果“屏蔽”。由于無(wú)需對(duì)錯(cuò)誤進(jìn)行特別的測(cè)試,也不必進(jìn)行模塊的切換就能實(shí)現(xiàn)容錯(cuò),故稱為靜態(tài)容錯(cuò)。14.6.2容錯(cuò)的一般方法(2)動(dòng)態(tài)冗余:其主要方式是多重模塊待機(jī)儲(chǔ)備,當(dāng)系統(tǒng)檢測(cè)到某工作模塊出現(xiàn)錯(cuò)誤時(shí),就用一個(gè)備用的模塊來(lái)頂替它并重新運(yùn)行。這里須有檢測(cè)、切換和恢復(fù)過(guò)程,故稱其為動(dòng)態(tài)冗余。每當(dāng)一個(gè)出錯(cuò)模塊被其備用模塊頂替后,冗余系統(tǒng)相當(dāng)于進(jìn)行了一次重構(gòu)。各備用模塊在其待機(jī)時(shí),可與主模塊一樣工作,也可不工作。前者叫做熱備份系統(tǒng),后者叫做冷備份系統(tǒng)。在熱備份系統(tǒng)中,備用模塊在待機(jī)過(guò)程中其失效率為0。(3)混合冗余:兼有靜態(tài)冗余和動(dòng)態(tài)冗余的長(zhǎng)處。14.6.2容錯(cuò)的一般方法2.信息冗余為檢測(cè)或糾正信息在運(yùn)算或傳輸中的錯(cuò)誤,須另外加一部分信息,這種現(xiàn)象稱為信息冗余。在通信和計(jì)算機(jī)系統(tǒng)中,信息常以編碼的形式出現(xiàn)。采用奇偶碼、定重碼及循環(huán)碼等冗余碼制式就可以發(fā)現(xiàn)甚至糾正這些錯(cuò)誤。為了達(dá)到此目的,這些碼(統(tǒng)稱誤差校正碼)的碼長(zhǎng)遠(yuǎn)遠(yuǎn)超過(guò)不考慮誤差校正時(shí)的碼長(zhǎng),增加了計(jì)算量和信道占用的時(shí)間。14.6.2容錯(cuò)的一般方法3.時(shí)間冗余時(shí)間冗余是指以重復(fù)執(zhí)行指令(指令復(fù)執(zhí))或程序(程序復(fù)算)來(lái)消除瞬時(shí)錯(cuò)誤帶來(lái)的影響。對(duì)于復(fù)執(zhí)不成功的情況,通常的處理辦法是發(fā)出中斷,轉(zhuǎn)入錯(cuò)誤處理程序,或?qū)Τ绦蜻M(jìn)行復(fù)算,或重新組合系統(tǒng),或放棄程序處理。在程序復(fù)算中較常用的方法是程序回滾技術(shù)。14.6.2容錯(cuò)的一般方法4.冗余附加技術(shù)冗余附加技術(shù)是指為實(shí)現(xiàn)上述冗余技術(shù)所需的資源和技術(shù)。包括程序、指令、數(shù)據(jù)、存放和調(diào)動(dòng)它們的空間與通道等。在沒(méi)有容錯(cuò)要求的系統(tǒng)中,它們是不需要的;但在容錯(cuò)系統(tǒng)中,它們是必不可少的。在屏蔽硬件錯(cuò)誤的冗錯(cuò)技術(shù)中,冗余附加技術(shù)包括:(1)關(guān)鍵程序和數(shù)據(jù)的冗余存儲(chǔ)和調(diào)用。(2)檢測(cè)、表決、切換、重構(gòu)、糾錯(cuò)和復(fù)算的實(shí)現(xiàn)。14.6.2容錯(cuò)的一般方法由于硬件出錯(cuò)對(duì)軟件可能帶來(lái)破壞作用,例如導(dǎo)致進(jìn)程混亂或數(shù)據(jù)丟失等,因此,對(duì)它們做預(yù)防性的冗余存儲(chǔ)十分必要。在屏蔽軟件錯(cuò)誤的冗錯(cuò)系統(tǒng)中,冗余附加件的構(gòu)成包括:(1)冗余備份程序的存儲(chǔ)及調(diào)用。(2)實(shí)現(xiàn)錯(cuò)誤檢測(cè)和錯(cuò)誤恢復(fù)的程序。(3)實(shí)現(xiàn)容錯(cuò)軟件所需的固化程序。容錯(cuò)消耗了資源,但換來(lái)對(duì)系統(tǒng)正確運(yùn)行的保護(hù)。這與那種由于設(shè)計(jì)不當(dāng)而造成資源浪費(fèi)的冗余不同。14.6.3容錯(cuò)軟件的設(shè)計(jì)過(guò)程容錯(cuò)系統(tǒng)的設(shè)計(jì)過(guò)程包括以下設(shè)計(jì)步驟:(1)按設(shè)計(jì)任務(wù)要求進(jìn)行常規(guī)設(shè)計(jì),盡量保證設(shè)計(jì)的正確性。按常規(guī)設(shè)計(jì)得到非容錯(cuò)結(jié)構(gòu),它是容錯(cuò)系統(tǒng)構(gòu)成的基礎(chǔ)。在結(jié)構(gòu)冗余中,不論是主模塊還是備用模塊的設(shè)計(jì)和實(shí)現(xiàn),都要在費(fèi)用許可的條件下,用調(diào)試的方法盡可能提高可靠性。14.6.3容錯(cuò)軟件的設(shè)計(jì)過(guò)程(2)對(duì)可能出現(xiàn)的錯(cuò)誤分類,確定實(shí)現(xiàn)容錯(cuò)的范圍。對(duì)可能發(fā)生的錯(cuò)誤進(jìn)行正確的判斷和分類,例如,對(duì)于硬件的瞬時(shí)錯(cuò)誤,可以采用指令復(fù)執(zhí)和程序復(fù)算;對(duì)于永久錯(cuò)誤,則需要采用備份替換或者系統(tǒng)重構(gòu)。對(duì)于軟件來(lái)說(shuō),只有最大限度地弄清錯(cuò)誤發(fā)生和暴露的規(guī)律,才能正確地判斷和分類,實(shí)現(xiàn)成功的容錯(cuò)。14.6.3容錯(cuò)軟件的設(shè)計(jì)過(guò)程(3)按照“成本—效率”最優(yōu)原則,選用某種冗

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論