天天看點

系統容錯

系統容錯是系統可靠性設計的重要組成部分。

而容錯的主要手段是備援。所謂備援,就是多個朋友多條路,多個選擇,有備無患,雙保險之類的意思。

備援技術主要分為四類:

結構備援、資訊備援、時間備援、備援附加技術。

1、結構備援

最常用的備援技術。按工作方式又可以分為

1)靜态備援

通過表決和比較來屏蔽系統中出現的錯誤。

所謂表決,就是N版本程式,相同的輸入,然後考察大家的計算結果,少數服從多數,選一個正确機率最大的結果。

系統容錯

所謂比較,就是一緻性檢查,将計算結果與預測值比較,據此判斷軟硬體故障。

2)動态備援

多重子產品待機儲備,相繼運作,以維持系統的正常工作。經典的例子是冷(脫機備份)、熱備(聯機備份)。

3)混合備援

動靜結合

2、資訊備援

在實作正常功能所需的資訊之外再添加一些資訊,用來檢測或糾正資訊處理和傳輸過程中産生的錯誤,如糾錯碼,比如海明碼,CRC校驗碼之類

3、時間備援

重複執行同一條指令或程式來發現和糾正差錯,如指令複執、程式卷回。

4、備援附加技術

備援備份程式的存儲及調用,實作錯誤檢測和錯誤恢複的程式,實作容錯軟體所需的固化程式。(也就是備援的支撐技術吧)

軟體備援和硬體備援

以上是備援技術的分類。如果從執行媒體看,又可以分為硬體備援和軟體備援。軟體備援的思想是從硬體備援中引申而來,利用軟體設計的備援和多樣化來達到屏蔽錯誤的影響,提高系統可靠性的目的。

我看,上述4種備援技術中,每一種都既可以用硬體來實作,也可以用軟體來實作。

繼續閱讀