软件架构之系统可靠性分析与设计


系统的可靠性分析与设计是系统架构设计师在系统分析与设计阶段、系统集成阶段应该重点考虑的问题。内容主要为可靠性设计、系统的故障模型、系统的可靠性模型、组合模型可靠性计算、马尔柯夫模型可靠性计算,以及硬件冗余、信息校验码等方面;另外也涉及系统可靠性分析与计算、系统可靠性评估和系统配置方法等概念与理论的实际工程运用等内容。本章内容软考考的较少,作为了解即可。

17.1 可靠性概述

与可靠性相关的概念主要有:可靠度、可用度、可维度、平均无故障时间、平均故障修复时间及平均故障间隔时间等。
(1)可靠度。系统的可靠度 R(t)是指在 t=0 时系统正常的条件下,系统在时间区间[0,t] 内能正常运行的概率。
(2)可用度。系统的可用度 A(t)是指系统在时刻 t 可运行的概率。
(3)可维度。系统的可维度 M(t)是指系统失效后,在时间间隔内被修复的概率。
(4)平均无故障时间。可靠度为 R(t)的系统平均无故障时间(Mean Time To Failure,MTTF)定义为从 t=0 时到故障发生时系统的持续运行时间的期望值:

在这里插入图片描述
式中 λ 为失效率,是指器件或系统在单位时间内发生失效的预期次数,在此处假设为常数。
(5)平均故障修复时间。可用度为 A(t)的系统平均故障修复时间(Mean Time To Repair,MTTR)可以用类似于求 MTTF 的方法求得。

设 A1(t)是在风险函数 Z(t)=0 且系统的初始状态为 1 状态的条件下 A(t)的特殊情况,则:
在这里插入图片描述
此处假设修复率 μ(t) = μ(常数),修复率是指单位时间内可修复系统的平均次数,则:MTTR =1/ μ

(6)平均故障间隔时间。平均故障间隔时间(Mean Time Between Failure,MTBF)常常与 MTTF 发生混淆。因为两次故障(失败)之间必然有修复行为,因此,MTBF 中应包含 MTTR。对于可靠度服从指数分布的系统,从任一时刻 t 0 到达故障的期望时间都是相等的,因此有:

MTBF = MTTR + MTTF

17.2 系统故障模型

任何系统,不管现在运行得多么稳定,总有发生故障的时候。那么,一般的系统故障遵循一个什么样的规律呢?这就是本节要讨论的内容。

17.2.1 故障的来源以及表现

下面先介绍几个概念。
(1)失效:硬件的物理改变。
(2)故障:由于部件的失效、环境的物理干扰、操作错误或不正确的设计引起的硬件或软件中的错误状态。
(3)错误(差错):故障在程序或数据结构中的具体位置。错误与故障位置之间可能出现一定距离。故障或错误有如下几种表现形式。

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

一个故障可能由物理失效、不适当的系统设计、环境影响或系统的操作员所引起。永久性失效会导致永久性故障。间歇性故障可能由不稳定、临界稳定或不正确的设计所引起。环境条件会造成瞬时性故障。所有这些故障都可能引起错误。不正确的设计和操作员失误会直接引起错误。由硬件的物理条件,不正确的硬件或软件设计,或不稳定但重复出现的环境条件所引起的故障可能是可检测的,并且可以通过替换或重新设计来修复;然而,由于暂时的环境条件所引起的故障是不能修复的,因为其硬件本身实际上并没有损坏。瞬时和间歇故障已经成为系统中的一个主要错误源。

17.2.2 几种常用的故障模型

故障的表现形式千差万别,可以利用故障模型对千差万别的故障表现进行抽象。故障模型可以在系统的各个级别上建立。一般说来,故障模型建立的级别越低,进行故障处理的代价也越低,但故障模型覆盖的故障也越少。如果在某一级别的故障模型不能包含故障的某些表现,则可以用更高一级别的模型来概括。下面介绍几种常用的故障模型。

1.逻辑级的故障模型
固定型故障指电路中元器件的输入或输出等线的逻辑固定为 0 或固定为 1,如某线接地、电源短路或元件失效等都可能造成固定型故障。短路故障是指一个元件的输出线的逻辑值恒等于输入线的逻辑值;元件的开路故障是元件的输出线悬空,逻辑值可根据具体电路来决定。桥接故障指两条不应相连的线连接在一起而发生的故障。

2.数据结构级的故障
故障在数据结构上的表现称为差错。常见的差错如下。

独立差错:一个故障的影响表现为使一个二进制位发生改变。
算术差错:一个故障的影响表现为使一个数据的值增加或减少 2i(i=0,1,2,…)。
单向差错:一个故障的影响表现为使一个二进制向量中的某些位朝一个方向(0 或 1)改变。

3.软件故障和软件差错
软件故障是指软件设计过程造成的与设计说明的不一致的情况,软件故障在数据结构或程序输出中的表现称为软件差错。与硬件不同,软件不会因为环境压力而疲劳,也不会因为时间的推移而衰老。因此,软件故障只与设计有关。常见的软件差错有以下几种。

非法转移:程序执行了说明中不存在的转移。
误转移:程序执行了尽管说明中存在,但依据当前控制数据不应进行的转移
死循环:程序执行时间超过了规定界限。
空间溢出:程序使用的空间超过了规定的界限。
数据执行:指令计数器指向数据单元。
无理数据:程序输出的数据不合理。

4.系统级的故障模型故障在系统级上的表现为功能错误,即系统输出与系统设计说明
的不一致
。如果系统输出无故障保护机构,则故障在系统级上的表现就会造成系统失效

17.3 系统配置方法

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

17.3.1 单机容错技术

容错技术是保证系统在某些组成部分出现故障或差错时仍能正常工作的技术。系统的故障可分为两类:一类是“致命的”,不可能自行修复,例如系统的主要部件全部损坏;另一类是局部的,可能被修复,例如部分元件失效、线路故障、偶然干扰引起的差错等。容错技术正是用于构造一种能够自动排除非致命性故障的系统,即容错系统。

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

1.自检技术
自检指系统在发生非致命性故障时能自动发现故障和确定故障的性质、部位,并自动采取措施更换和隔离产生故障的部件。自检需采用诊断技术,常用专门程序实现,属于程序设计的范围。容错系统的实现要求系统必须具有重复部件或备份部件,或具有不止一个完成某种功能的通道。因此自检技术常配合冗余技术使用。计算机的容错系统一般都需要应用自检技术。

2.冗余技术
冗余可分为硬件冗余(增加硬件)、软件冗余(增加程序,如同时采用不同算法或不同人编制的程序)、时间冗余(如指令重复执行、程序重复执行)、信息冗余(如增加数据位)等。冗余技术中最常用的两种方法是重复线路和备份线路。重复线路指用多个相同品种和规格的元件或构件并联起来,当作一个元件或构件使用,只要有一个不出故障,系统就能够正常工作。在并联工作时每一个构件的可靠性概率是互相独立的。备份线路与重复线路的差别是参加备份的构件并不接入系统,只有在处于工作状态的构件发生故障后才把输入和输出接到备份构件上来,同时切断故障构件的输

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恒二哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值