****** 三十六 ******、软设笔记【网络基础】-安全性、可靠性与系统性能评测-容错技术

容错技术
提高计算机可靠性的技术可以分为避错技术和容错技术
*避错是指预防好避免系统在运行中出错。
*容错就是当计算机由于种种原因在系统中出现了数据、文件损坏或丢失时,系统能够自动将这些损坏或丢失的文件和数据恢复到发送事故以前的状态,是系统能够连续正常地运行。


一、冗余技术
实现容错的主要手段就是冗余。冗余是指所有对于实现系统规定功能来说是多余的那部分的资源。主要的冗余技术包括:
*结构冗余
*信息冗余
*时间冗余
*冗余附加




1.结构冗余
结构冗余按其工作方式,可分为:
(1)静态冗余。常用的有三模冗余和多模冗余。静态冗余通过表决和比较来屏蔽系统中出现的错误。
(2)动态冗余。动态冗余的主要方式是多重模块待机储备,当系统检测到某工作模块出现错误时,就用一个备用的模块来顶替它并重新运行。须有检测、切换和恢复过程,故称其为动态冗余。


*热备份系统中,两套系统同时、同步运行,当联机子系统检测到错误时,退出服务进行检修,而由热备份子系统接替工作。
*冷备份的系统平时停机或者运行与联机系统无关的运算,当联机子系统产生故障时,人工或自动进行切换,使冷备份系统成为联机系统。在运行冷备份时,不能保证从程序端点处精确地连续工作。


(3)混合冗余。它兼有静态冗余和动态冗余的优点。


2.信息冗余
在实现正常功能所需要的信息外,再添加一些信息,以保证运行结果正确性的方法。


3.时间冗余
使用附加一定时间的方法来完成系统功能。
附加的时间主要用在故障检测、复查或故障屏蔽上。时间冗余以重复执行指令(指令复执)或程序(程序复算)来消除瞬时错误带来的影响。


4.冗余附加技术
指为实现上述冗余技术所需的资源和技术,包括程序、指令、数据、存放和调动他们的空间和通道等。
故障的恢复策略一般有两种,分别是前向恢复和后向恢复。
*前向恢复是指使当前的计算继续下去,把系统恢复成连贯的正确状态,妳补当前状态的不连贯,这需要有错误的详细说明。
*后向恢复是指系统恢复到前一个正确状态,继续执行,这种方法显然不适合实时处理场合。


二、软件容错
软件容错的主要目的是提供足够的冗余信息和算法程序,是系统在实际运行时能够及时发现程序设计错误,采取补救措施,以提高软件可靠性,保证整个计算机系统的正常运行。
软件容错技术主要有:
*恢复块方法
*N版本程序设计
*防卫式程序设计




1.恢复块方法
恢复块方法是一种动态的故障屏蔽技术,采用后向恢复策略。它提供具有相同功能的主块和几个后备块,一个块就是一个执行完整的程序端,主块首先投入运行,结束后进行验证测试,如果没有通过验证测试,系统经现场恢复后由一后备块运行。


2.N版本程序设计
N版本程序设计是一种静态的故障屏蔽技术,采用前向恢复的策略,其设计思想是用n个具有相同功能的程序同时执行一项计算,结果通过多数表决来选择。
n份程序必须由不同的人独立设计,使用不同的方法,不同的设计语言,不同的开发环境和工具来实现。
目的是减少n版本软件在表决点上相关错误的概率。


3.防卫式程序设计
防卫式程序设计是基本思想是通过在程序中存储错误检查代码和错误恢复代码,使得一旦错误发生,程序能撤销错误状态,恢复到一个已知的正确状态中去。
其实现策略包括错误检测、破坏估计和错误恢复三个方面。


(2)可靠性计算
1.串联系统
各个子系统的可靠性分别用R1,R2,...,Rn表示
*系统的可靠性为:
R = R1 X R2 ... X Rn


*系统的失效率为:
λ = λ1 + λ2 + ... + λn

2.并联系统
假如一个系统由2个系统组成,只要有一个子系统能够正常工作,系统就能正常工作,设系统各个子系统的可靠性用R1,R2,...,Rn表示
*则系统的可靠性为:
R = 1 - (1-R1) x (1-R2) x...x (1-Rn)


*则系统的失效率为:


μ = 1 / ((1/λ)(n∑j=1)(1/j))




3.模冗余系统
m模冗余系统由m个(m=2n+1为奇数)相同的子系统和一个表决器组成,经过表决器表决后,m个子系统中占有多数相同结果是输出作为系统的输出。


m模冗余系统的可靠性为:


(m∑i=n+1)(iCm)(iR0)(1-R0)的(m-i)次方




在实际应用系统中,往往是多种结构的混联系统。






猜你喜欢

转载自blog.csdn.net/qq_40223688/article/details/80308895