系统容错

系统容错是系统可靠性设计的重要组成部分。

而容错的主要手段是冗余。所谓冗余,就是多个朋友多条路,多个选择,有备无患,双保险之类的意思。

冗余技术主要分为四类:

1、结构冗余
最常用的冗余技术。按工作方式又可以分为
1)静态冗余
通过表决和比较来屏蔽系统中出现的错误。

所谓表决,就是N版本程序,相同的输入,然后考察大家的计算结果,少数服从多数,选一个正确概率最大的结果。
系统容错_第1张图片

所谓比较,就是一致性检查,将计算结果与预测值比较,据此判断软硬件故障。

2)动态冗余
多重模块待机储备,相继运行,以维持系统的正常工作。经典的例子是冷(脱机备份)、热备(联机备份)。

3)混合冗余
动静结合

2、信息冗余
在实现正常功能所需的信息之外再添加一些信息,用来检测或纠正信息处理和传输过程中产生的错误,如纠错码,比如海明码,CRC校验码之类

3、时间冗余
重复执行同一条指令或程序来发现和纠正差错,如指令复执、程序卷回。

4、冗余附加技术
冗余备份程序的存储及调用,实现错误检测和错误恢复的程序,实现容错软件所需的固化程序。

软件冗余和硬件冗余

以上是冗余技术的分类。如果从执行介质看,又可以分为硬件冗余和软件冗余。软件冗余的思想是从硬件冗余中引申而来,利用软件设计的冗余和多样化来达到屏蔽错误的影响,提高系统可靠性的目的。

我看,上述4种冗余技术中,每一种都既可以用硬件来实现,也可以用软件来实现。

相关文章:
架构师学习笔记17–系统的可靠性分析与设计
冗余技术

你可能感兴趣的:(计算机基础,学习笔记,系统容错,冗余技术,可靠性)