複製鏈接
請複製以下鏈接發送給好友

容錯

鎖定
容錯,亦作“ 容厝 ”。亦作“ 容措 ”。指措置;安放。對於不同的領域有不同的意思,比如對計算機通信術語來説意思就是指當系統在運行時有錯誤被激活的情況下仍能保證不間斷提供服務的方法和技術。
中文名
容錯
別    名
容厝
別    名
容措
英    譯
Fault Tolerance
釋    義
措置;安放

容錯詞語解釋

猶措置;安放。
仲長統《昌言》:“ 孝宣之世,則以弘恭為中書令, 石顯為僕射。 中宗嚴明,二豎不敢容錯其奸心也。”《晉書·劉毅傳》:“故天下之人退而修本,州黨有德義,朝廷有公正,浮華邪佞,無所容厝。” 唐 韓愈上鄭尚書相公啓》:“伏蒙仁恩,猥賜示問,感戴戰悚,若無所容措。” [1] 

容錯相關概念

容錯既是一種彩票專業術語又是計算機行業的專業術語。
容錯是彩票軟件運算中條件過濾保護機制的一種高級模式,在彩票專業術語裏指用户選擇了N個指標,並指定了其中允許出現錯誤的條件個數範圍,在這種情況下的最終結果依然是正確的。
容錯參數格式:A-B(其中A必須小於B,而且B一定不能大於用户選擇的參與過濾的總條件個數。)
容錯參數含義:前一個數字A代表錯誤的最小可能性,後面數字B代表錯誤的最大限度。只要錯誤的情況在這個範圍之內,過濾後的結果中一定包含中獎號碼。
例如:實戰中一共選擇了5個條件參與過濾,容錯設置參數為0-2,那麼前面的參數0表示這5個條件中錯誤的最小可能性為0,即沒有錯誤發生;後面的參數2表示這5個條件裏允許錯誤的最大限度為2個,即可能有1個條件或2個條件是錯誤的,但是不能超過2個,如果實際操作中的條件錯誤個數範圍在0-2之間,那麼過濾後的結果一定包括中獎號碼。
再如:實戰中一共選擇了6個條件參與過濾,容錯設置參數為1-3,那麼前面的參數1表示這6個條件中錯誤的最小可能性為1,即最少會有1個條件是錯誤的,但是不知道是哪個條件錯誤;後面的參數3表示這6個條件錯誤的最大限度為3個,即可能有1個條件或2個條件或3個條件是錯誤的。如果實際操作中的條件錯誤個數範圍在1-3之間,那麼過濾後的結果中也一定包括中獎號碼。

容錯優勢

1.對於彩票,即使選擇的條件有意料中的錯誤,中獎號碼也會在容錯後的號碼組裏。
2.對於計算機,當系統出現數據、文件損壞或丟失時,使用容錯技術能夠自動將損壞或丟失的數據和文件恢復到事故發生前的狀態,使系統能夠保持連續正常的運行。

容錯缺點

一、容錯後過濾結果的號碼注數隨着容錯參數設置的變化相應地增加了。
二、容錯在計算機中指系統恢復文件的錯誤,存儲在計算機中的文件或者在網絡中傳輸的文件有可能因為故障或者干擾信號等的影響而發生錯誤或者丟失,此時一般情況下系統能夠自動恢復文件,但是文件錯誤嚴重時候必須人為恢復或者文件徹底丟失。系統的恢復能力就是容錯能力簡稱容錯。

容錯IT含義

容錯定義

容錯描述的是一個電腦系統或組件,它們被設計用來在組件發生故障時備用組件或程序能夠立即代替它,這樣就不會耽誤它的服務。容錯可以通過軟件或嵌入硬件來提供,也可由一些組合來提供。
當執行軟件時,操作系統提供一個界面,這個界面允許程序員在事務中預先確定的地點“檢查站點”的關鍵數據。在執行硬件時(如Stratus 和它的VOS操作系統 ),程序員不需要知道機器的容錯能力。
在硬件層上,容錯通過轉接各個硬件組件來實現。磁盤被鏡像。多處理器以鎖步(lock-stepped)的方式運行。當異常情況發生時,錯誤的組件被確定並從服務中刪除,同時機器能繼續正常運行。

容錯重要性

在一些特殊應用場合,如航空航天、國防軍事、核能電力、工業化工、衞生醫療急救等關鍵部門,一次計算機系統錯誤的發生就可能導致不可挽回的巨大損失,在這些關鍵系統的設計中必須採用大量的容錯技術來保證運行中突發的計算機錯誤不會導致整個系統的失效。

容錯容錯方法

硬件錯誤的容錯方法:
計算機硬件錯誤可分為永久性錯誤(permanent fault) 、瞬態錯誤(transient fault) 和間歇性錯誤 (intermittent fault)。永久性錯誤一般由硬件老化、電路短路等原因產生,一旦發生則原定功能失效,必須通過替換元器件來完成恢復;間歇性錯誤處於永久性錯誤和瞬態錯誤2種情況之間,表現為瞬態錯誤的發生頻率超過系統可靠性允許閾值範圍;瞬態錯誤在的硬件環境及未來元器件繼續高度集成的發展趨勢下正以幾何級數的速度增長,其錯誤數在整個系統錯誤總數中佔最大的比重,對整個系統的可靠性影響度也是最大的。
冗餘的系統不一定是容錯的,但容錯的系統一定是存在冗餘的。冗餘方法在容錯策略中被廣泛用來探測、診斷並恢復系統運行時發生的錯誤。按冗餘資源的形式不同可以將冗餘方法分為硬件冗餘、信息冗餘、時間冗餘、線程冗餘等。
軟件錯誤的容錯方法:
分析一個計算機系統的可靠性,必須要考慮其軟件的可靠性因素,但由於軟件可靠性方面的研究比較困難,大大地落後於硬件方面的研究,還沒有確定並且成熟的一套可供工程使用的方式和方法,所以在進行系統的可靠性預計時,往往忽視軟件的失效率。人為的軟件設計錯誤在軟件整個生命週期中都一直存在,這一點已經得到證明。這種設計錯誤,在一定的輸入激勵下將產生一定的故障現象,客觀上很難使用統一的模型對這種思維的結果進行數學的描述。例如,軟件測試可以發現軟件設計錯誤,通過修改軟件的可靠性可以得到提高,但也有可能因為修改了已存在的錯誤帶來了新的錯誤使得可靠性下降,所以軟件可靠性在研究方面有很多地方不夠成熟。這裏主要介紹軟件多樣性方法,恢復塊方法以及防衞式程序設計方法,除此之外提高軟件容錯能力亦可以從計算機平台環境、軟件工程和構造異常處理模塊等不同方面達到。此外,利用高級程序設計語言本身的容錯能力,採取相應的策略,也是可行的辦法,如C++語言中的try_except處理法、try_finally中止法等。
故障的恢復策略一般有2 種:前向恢復和後向恢復。所謂前向恢復是指使當前的計算繼續下去,把系統恢復成連貫的正確狀態,彌補當前狀態的不連貫情況,所謂後向恢復是指系統恢復到前 一 個正確狀態,繼續執行。N-versionprogramming 方法屬於前向恢復策略。
一般化容錯方法:
雖然不同的應用背景對於可靠性的要求不同( 可靠性、成本、反應時間等諸多因素) 使得各種容錯策略的設計迥異,研究者們還是在試圖尋找各種容錯設計的最大共同點和更具有一般性、廣泛性的方法,目標是實現可靠性設計的非定製COTS(commercial off-the-shelf) 與可靠性的可裁剪,下面分別介紹兩個從硬件和軟件不同角度出發的以容錯設計一般化為目標的例子。
Chameleon是一種容錯軟件設計的一種結構。根據可靠性需求可進行不同選擇來動態地達到可靠性可裁剪的目的。整個軟件體系都由對象ARMORs來組成,根據功能不同可以將ARMORs 分為三類: ( 1 ) 管理模塊Managers :負責管理其他 ARMORs 對象根據用户可靠性要求完成容錯策略的選擇和組織;(2) 後台通信模塊Daemons :允許 Chameleon 訪問網絡中其他節點,提供ARMOR 的錯誤探測並給出 ARMOR 之間通信的渠道。(3)普通ARMORs :根據應用的可靠性需求提供具體實施方法,比如指令重執、表決、檢查點、心跳檢測等具體解決方法。
整個Chameleon 軟件結構類似於操作系統的結構組成,內核由執行硬件平台構成,外圍是商業非定製的一般化操作系統( 例如 Linux 等 ) ,操作系統之上依次分別為可重構的ARMORs 框架以及具體 ARMORs 對象和管理執行層,最後是具體的應用層。
計算機容錯圖 計算機容錯圖 [2]
一般化硬件結構GUARDS基於所有組件 ( 包括硬件和軟件)COTS 原則,給出了一種容錯計算機系統設計的一般化體系結構,在最大程度保證容錯策略普適性的同時最小化具體應用的功能特點,根據具體應用的可靠性不同可以對各個可配置層進行不同的配置方案,比如冗餘信道、冗餘鏈路的冗餘度大小、輸入輸出數據整合層的數據核查方案的選擇等。通過配置的改變,系統可以達到可靠性由低到高很大範圍內的自由裁剪。

容錯研究現狀

儘管計算機系統容錯研究已經取得了一些成果但仍然存在一些薄弱的研究點以及一些關鍵問題沒有得到很好的解決,具體可以概括為以下幾點:
(1) 關於硬件冗餘容錯方法研究,雖然可以根據系統結構從總體上使用概率統計方法分析系統的可靠性,但還缺乏廣泛適用的有效方法實現對複雜冗餘系統的有效建模、管理和精確量化分析,特別是在各部件可靠度不一致的情況下,建模分析的理論問題尚未解決。另外,硬件冗餘實現成本大、功耗大、佔用空間大等依然是需要解決的大難題。
(2) 對於信息冗餘容錯方法來説,絕大部分 ECC算法( 如前文提到的 RED-FEC Mechanism 、 ABFT [9] 、check-sum EDAC 等 ) 對於處理連續位出錯的能力非常有限,而佔系統總錯誤比例非常大的瞬態錯誤所導致的內存錯誤通常就是多個連續位出錯的情況。這方面還需要繼續研究發展。
(3) 對於時間冗餘容錯方法,除了由時間換空間而帶來的較大的延遲外,此類方法還存在對永久性錯誤(permanenterror) 不敏感的問題。
(4) 對於並行多線程冗餘容錯方法,冗餘線程之間的同步、通信等問題,線程之間的系統資源合理分配避免死鎖問題等都還沒有得到很好的解決,而且對於在單線程的處理器上引入真正的線程級機制實現容錯人們研究較少。
(5) 在軟件冗餘方面,對於規模較小、數據處理過程較簡單的小型軟件很難體現N-version programming 軟件多樣性的優勢,而另一方面,如果程序規模過大、過於複雜,一般來説N 版本軟件的費用也會不菲。而且軟件冗餘技術的研究尤其滯後。
(6) 對於恢復塊方法來説,用來判斷程序是否安全運行的測試模塊的無錯運行假設是整個系統設計的前提,這個假設本身就存在一定的問題。
(7) 防衞式程序設計方法缺乏系統的理論依據,主要依靠程序員自身的經驗是無法進行系統可靠性分析的。 [3] 
參考資料
  • 1.    資料  .漢典[引用日期2014-12-23]
  • 2.    陸陽, 王強, 張本宏,等. 計算機系統容錯技術研究[J]. 計算機工程, 2010, 36(13):230-235.
  • 3.    傅忠傳, 陳紅松, 崔剛,等. 處理器容錯技術研究與展望[J]. 計算機研究與發展, 2007(1):154-160.