个人总结,仅供参考,欢迎加好友一起讨论
文章目录
系分 – 系统可靠性分析与设计
考点摘要
- 可靠性相关基本概念(★)
- 系统可靠性分析(★★)
- 软件可靠性设计(★★)
系统故障类型
系统故障是指由于部件的失效、环境的物理干扰、操作错误或不正确的设计所引起的硬件或软件中的错误(或差错)状态,其中错误是指故障在系统中的具体位置。
故障/错误表现形式
:
-
永久性
永久性是指连续稳定的失效、故障或错误。在计算机硬件中,永久性失效反映了不可恢复的物理改变
-
间歇性
间歇性是指那些由于不稳定的硬件或软件状态所引起的、仅仅是偶然出现的故障或错误
-
瞬时性
瞬时性是指那些由于暂时的环境条件而引起的故障或错误
注:瞬时和间歇故障已经成为系统中的一个主要错误源。
故障/错误模型级别
:
-
逻辑级的故障
逻辑级的故障是指硬件逻辑上出现的故障,一般是指电路中元器件的输入或输出固定为0(或1)
-
数据结构级的故障
故障在数据结构上的表现称为差错
-
软件故障和软件差错
软件故障是指软件设计过程造成的与设计说明的不一致,软件故障在数据结构或程序输出中的表现称为软件差错
-
系统级的故障
故障在系统级上的表现为功能错误,即系统输出与系统设计说明的不一致。如果系统输出无故障保护机构,则故障在系统级上的表现就会造成系统失效
可靠性相关基本概念
- 系统可靠性是系统在规定的时间内及规定的环境条件下,完成规定功能的能力,也就是系统无故障运行的概率
- 系统可用性是指在某个给定时间点上系统能够按照需求执行的概率
软件可靠性 ≠ 硬件可靠性
:
- 复杂性,软件复杂性比硬件高,大部分失效来自于软件失效
- 物理退化,硬件失效主要是物理退化所致,软件不存在物理退化
- 唯一性,软件是唯一的,每个COPY版本都一样,而两个硬件不可能完全一样
- 版本更新周期,硬件较慢,软件较快。
系统可靠性指标
- 平均无故障时间,MTTF = 1 / λ,λ为失效率
- 平均故障修复时间,MTTR = 1 / μ,μ为修复率
- 平均故障间隔时间,MTBF = MTTR + MTTF
-
系统可用性,MTTF / MTBF = MTTF / (MTTR + MTTF) × 100%
串联系统(可靠性)
并联系统(可靠性)
混合系统(可靠性)
可靠性设计
软件容错技术 – N版本程序设计与恢复块方法
N版本程序设计
:
N版本程序设计是一种静态的故障屏蔽技术,采用前向恢复的策略。
- 与通常软件开发过程不同的是,N版本程序设计增加了三个新的阶段:相异成分规范评审、相异性确认、背对背测试。
- N版本程序的同步、N版本程序之间的通信、表决算法(全等表决、非精确表决、Cosmetie表决)、—致比较问题、数据相异性。
恢复块方法
:
恢复块方法是一种动态的故障屏蔽技术,采用后向恢复策略。
- 设计时应保证实现主块和后备块之间的独立性,避免相关错误的产生,使主块和备份块之间的共性错误降到最低程度。
- 必须保证验证测试程序的正确性。
对比 | N版本程序设计 | 恢复块方法 |
---|---|---|
硬件运行环境 | 多机 | 单机 |
错误检测方法 | 表决 | 验证测试程序 |
恢复策略 | 前向恢复 | 后向恢复 |
实时性 | 好 | 差 |
- 前向恢复,使当前的计算继续下去,把系统恢复成连贯的正确状态,弥补当前状态的不连贯情况。
- 后向恢复,系统恢复到前一个正确状态,继续执行。
软件容错技术 – 防卫式程序设计
N版本程序设计和恢复块方法都是基于设计冗余的思想,这给程序员和处理机都增加了许多工作,而且它们的结构本身又带来了一些问题和困难,例如,多版本程序设计中的相关性错误问题和恢复块方法中的验证测试的设计等。
防卫式程序设计是一种不采用任何传统的容错技术就能实现软件容错的方法,对于程序中存在的错误和不一致性,防卫式程序设计的基本思想是通过在程序中包含错误检查代码和错误恢复代码,使得一旦发生错误,程序就能撤消错误状态,恢复到一个已知的正确状态中去。
实现策略包括:错误检测、破坏估计和错误恢复三个方面。
双机容错技术
双机容错技术是一种软硬件结合的容错应用方案。该方案是由两台服务器和一个外接共享磁盘阵列及相应的双机软件组成在双机容错系统中,两台服务器一般区分为主系统和从系统(备用系统),两台服务器互为主从关系。每台服务器都有自己的系统盘(本地盘),安装操作系统和应用程序。每台服务器至少安装两块网卡,一块连接到网络上,对外提供服务;另一块与另一台服务器连接,用以侦测对方的工作状况。同时,每台服务器都连接在共享磁盘阵列上,用户数据存放在共享磁盘阵列中,当一台服务器出现故障时,另一台服务器主动替代工作,保证网络服务不间断。整个网络系统的数据通过磁盘阵列集中管理,极大地保护了数据的安全性和保密性。
双机容错系统根据两台服务器的工作方式不同,可以有三种不同的工作模式,分别是双机热备模式、双机互备模式和双机双工模式。
-
双机热备模式
正常情况下,一台服务器处于工作状态(主系统),另一台服务器处于监控准备状态(备用系统)。如果没有采用共享磁盘阵列,则用户数据同时往两台服务器中写入,以保证数据的即时同步。当主系统出现故障时,通过双机软件将备用系统激活,保证应用在短时间内完全恢复正常使用。当主系统修复后,可重新接入系统要回自己的应用。双机热备模式是目前采用较多的一种模式,典型应用有证券资金服务器或行情服务器等。双机热备模式的主要缺点在于,备用系统长期处于后备的状态,存在一定的计算资源浪费。
-
双机互备模式
两台服务器均处于工作状态,为前端客户机提供各自不同的应用服务,并互相检测对方的运行情况。也就是说,两台服务器同时运行,但彼此均设为备用系统。当某一台服务器出现故障时,另一台服务器可以在短时间内将故障服务器的应用接管过来,从而保证了应用的持续性。双机互备模式的主要缺点是对服务器的性能要求比较高。
-
双机双工模式
双机双工模式是集群(cluster)技术的一种形式,两台服务器均处于工作状态,同时为前端客户机提供相同的应用服务,以保证整体系统的性能,实现负载均衡和互为备份。
集群技术
集群技术就是将多台计算机组织起来进行协同工作,它是提高系统可用性和可靠性的一种技术。在集群系统中,每台计算机均承担部分计算任务和容错任务,当其中一台计算机出现故障时,系统使用集群软件将这台计算机从系统中隔离出去,通过各计算机之间的负载转嫁机制完成新的负载分担,同时向系统管理人员发出警报。集群系统通过功能整合和故障过渡,实现了系统的高可用性和可靠性。
-
高性能计算集群
指以提高科学计算能力为目的计算机集群技术,它是一种并行计算集群的实现方法。并行计算是指将一个应用程序分割成多块可以并行执行的部分,并指定到多个处理器上执行的方法。
-
负载均衡集群
负载均衡集群在多节点之间按照一定的策略(算法)分发负载。负载均衡建立在现有网络结构之上,它提供了一种廉价有效的方法来扩展服务器带宽,增加吞吐量,提高数据处理能力。负载均衡是一种动态均衡,它通过一些工具实时地分析数据包,掌握网络中的数据流量状况,把任务合理分配出去。
-
高可用性集群
在高可用性集群系统中,多台计算机一起工作,各自运行一个或几个服务,各为服务定义一个或多台备用计算机。当某台计算机出现故障时,备用计算机便立即接管该故障计算机的应用,继续为前端的用户提供服务。
补充示例
解:软件容错技术主要有N版本程序设计、恢复块方法和防卫式程序设计等。其中N版本程序设计也就是N模冗余的机制,纠错码是在信息层面有冗余机制。程序走查属于检错机制。