可靠性概述

系统可靠性是系统在规定的时间内及规定的环境下,完成功能的能力,也就是系统无故障运行的概率
系统可用性是指在某个给定时间点上系统能够按照需求执行的概率

与可靠性相关的概念主要有:可靠度、可用度、可维度、平均无故障时间、平均故障修复时间及平均故障间隔时间等。

  • 可靠度:在 t=0 时系统正常的条件下,系统在时间区间[0,t]内能正常运行的概率。
  • 可用度:系统在时刻 t 可运行的概率。
  • 可维度:系统失效后,在时间间隔内被修复的概率。
  • 平均无故障时间:从 t=0 时到故障发生时系统的持续运行时间的期望值:MTTF= 1/失效率
  • 平均故障修复时间:MTTR=1/修复率,修复率是指单位时间内可修复系统的平均次数
  • 平均故障间隔时间:MTBF = MTTR + MTTF
平均无故障时间(MTTF): MTTF = 1/失效率;
平均故障修复时间(MTTR):  MTTR = 1/修复率;
平均故障间隔时间(MTBF):  MTBF = MTTR + MTTF;
系统可用性:  MTTF/ (MTTR+MTTF) × 100%

故障来源

(1)失效:硬件的物理改变。
(2)故障:由于部件的失效、环境的物理干扰、操作错误或不正确的设计引起的硬件或软件中的错误状态。
(3)错误(差错):故障在程序或数据结构中的具体位置。故障或错误有如下几种表现形式。

  • 永久性:描述连续稳定的失效、故障或错误。在硬件中,永久性失效反映了不可恢复的物理改变。
  • 间歇性:描述那些由于不稳定的硬件或变化着的硬件或软件状态所引起的、仅仅是偶然出现的故障或错误。
  • 瞬时性:描述那些由于暂时的环境条件而引起的故障或错误。

系统配置方法

容错技术是保证系统在某些组成部分出现故障或差错时仍能正常工作的技术 。通常根据不同的系统配置方法而采用相应容错技术:单机容错技术、双机热备份技术和服务器集群技术。

(1) 单机容错技术: 提高系统工作可靠性的方法主要有自检技术和冗余技术。容错又有多种形式,如硬件容错、软件容错、整机容错等。

  • 自检技术:系统在发生非致命性故障时能自动发现故障和确定故障的性质、部位,并自动采取措施更换和隔离产生故障的部件。
  • 冗余技术:可分为硬件冗余、软件冗余;冗余技术中最常用的两种方法是重复线路和备份线路。

(2) 双机热备份技术: 一种软硬件结合的较高容错应用方案。

  • 双机热备模式:一台服务器处于工作状态,一台服务器处于后备的状态
  • 双机互备模式:是两个相对独立的应用在两台机器同时运行,但彼此均设为备机
  • 双机双工模式:集群的一种形式,两台服务器均处于活动状态,同时运行相同的应用,以保证整体系统的性能

(3)服务器集群技术: 指一组相互独立的服务器在网络中组合成为单一的系统工作,并以单一系统的模式加以管理。

提高系统可靠性的措施

资源冗余有硬件冗余、信息冗余、时间冗余和软件冗余 4 种形式

硬件冗余最常用的是三模冗余(Triple Modular Redundancy,TMR),三个相同的模块接收三个相同的输入,产生的三个结果送至多数表决器

信息冗余是指通过在数据中附加冗余的信息以达到故障检测、故障掩蔽或容错的目的。应用最广泛的是海明校验码、奇偶校验码。

N版本程序设计: 静态冗余,与三模冗余方式相似,通过三个版本的程序运行相同的输入,根据结果表决。
恢复快设计: 动态冗余,设计时保证主块和备块之间的独立性,主块运行出错时调用备块运行;
防卫式程序设计: try catch