系统的可靠性分析与设计

系统的可靠性分析与设计是在系统分析与设计阶段、系统集成阶段应该重点考虑的问题。主要包括:可靠性设计、系统的故障模型、系统配置方法、可靠性模型、提高系统可靠性的措施等内容。4.系统级的故障模型故障在系统级上的表现为功能错误,即系统输出与系统设

系统的可靠性分析与设计是在系统分析与设计阶段、系统集成阶段应该重点考虑的问题。主要包括:可靠性设计、系统的故障模型、系统配置方法、可靠性模型、提高系统可靠性的措施等内容。

可靠性概述

可靠性:产品在规定的条件下和规定的时间内,完成规定功能的能力。可靠性的概率度量叫可靠度。

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

(1)可靠度。系统的可靠度 R(t)是指在 t=0 时系统正常的条件下,系统在时间区间[0,t] 内能正常运行的概率。

(2)可用度。系统的可用度 A(t)是指系统在时刻 t 可运行的概率。

(3)可维度。系统的可维度 M(t)是指系统失效后,在时间间隔内被修复的概率。

(4)平均无故障时间。可靠度为 R(t)的系统平均无故障时间(Mean Time To ,MTTF)定义为从 t=0 时到故障发生时系统的持续运行时间的期望值:

式中 λ 为失效率,是指器件或系统在单位时间内发生失效的预期次数,在此处假设为常数。

(5)平均故障修复时间。可用度为 A(t)的系统平均故障修复时间(Mean Time To ,MTTR)可以用类似于求 MTTF的方法求得。

设 A1(t)是在风险函数 Z(t)=0 且系统的初始状态为 1 状态的条件下 A(t)的特殊情况,

则:

此处假设修复率 μ(t) = μ(常数),修复率是指单位时间内可修复系统的平均次数数据库的逻辑设计是指什么,则:

MTTR =1/ μ

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

MTBF = MTTR + MTTF

系统故障模型

任何系统,不管现在运行得多么稳定,总有发生故障的时候。系统故障一般遵循一定的规律规律。

故障的来源以及表现

下面先介绍几个概念。

(1)失效:硬件的物理改变。

(2)故障:由于部件的失效、环境的物理干扰、操作错误或不正确的设计引起的硬件或软件中的错误状态。

(3)错误(差错):故障在程序或数据结构中的具体位置。错误与故障位置之间可能出现一定距离。故障或错误有如下几种表现形式。

永久性:描述连续稳定的失效、故障或错误。在硬件中,永久性失效反映了不可恢复的物理改变。

间歇性:描述那些由于不稳定的硬件或变化着的硬件或软件状态所引起的、仅仅是偶然出现的故障或错误。

瞬时性:描述那些由于暂时的环境条件而引起的故障或错误。

一个故障可能由物理失效、不适当的系统设计、环境影响或系统的操作员所引起。

永久性失效会导致永久性故障。

间歇性故障可能由不稳定、临界稳定或不正确的设计所引起。

环境条件会造成瞬时性故障。

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

几种常用的故障模型

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

1.逻辑级的故障模型

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

2.数据结构级的故障

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

独立差错:一个故障的影响表现为使一个二进制位发生改变。

算术差错:一个故障的影响表现为使一个数据的值增加或减少 2i(i=0,1,2,…)。

单向差错:一个故障的影响表现为使一个二进制向量中的某些位朝一个方向(0 或1)改变。

3.软件故障和软件差错

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

非法转移:程序执行了说明中不存在的转移。

误转移:程序执行了尽管说明中存在,但依据当前控制数据不应进行的转移。

死循环:程序执行时间超过了规定界限。

空间溢出:程序使用的空间超过了规定的界限。

数据执行:指令计数器指向数据单元。

无理数据:程序输出的数据不合理。

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

系统配置方法

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

单机容错技术

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

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

1.自检技术

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

2.冗余技术

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

双机热备份技术

双机热备份技术是一种软硬件结合的较高容错应用方案。该方案是由两台服务器系统和一个外接共享磁盘阵列柜和相应的双机热备份软件组成。其中的外接共享磁盘阵列柜也可以没有,而是在各自的服务器中采取 RAID( Array of Disk,独立冗余磁盘阵列)卡。

在这个容错方案中,操作系统和应用程序安装在两台服务器的本地系统盘上,整个网络系统的数据是通过磁盘阵列集中管理和数据备份的。数据集中管理是通过双机热备份系统,将所有站点的数据直接从中央存储设备读取和存储,并由专业人员进行管理,极大地保护了数据的安全性和保密性。用户的数据存放在外接共享磁盘阵列中,在一台服务器出现故障时,备机主动替代主机工作,保证网络服务不间断。双机热备份系统采用“心跳”方法保证主系统与备用系统的联系。

双机热备份方案中,根据两台服务器的工作方式可以有三种不同的工作模式,即:双机热备模式、双机互备模式和双机双工模式。

服务器集群技术

集群技术指一组相互独立的服务器在网络中组合成为单一的系统工作,并以单一系统的模式加以管理。此单一系统为客户工作站提供高可靠性的服务。大多数情况下,集群中所有的计算机拥有一个共同的名称,集群内任一系统上运行的服务可被所有的网络客户使用。

集群必须可以协调管理各分离的构件出现的错误和故障,并可透明地向集群中加入构件。一个集群包含多台(至少二台)共享数据存储空间的服务器。其中任何一台服务器运行应用时,应用数据被存储在共享的数据空间内。每台服务器的操作系统和应用程序文件存储在其各自的本地储存空间上。

集群内各节点服务器通过一个内部局域网相互通信,当一台节点服务器发生故障时,这台服务器上所运行的应用程序将在另一节点服务器上被自动接管。当一个应用服务发生故障时,应用服务将被重新启动或被另一台服务器接管。当以上的任一故障发生时,客户都将能很快连接到其他应用服务器上。

系统可靠性模型

与系统故障模型对应的就是系统的可靠性模型。人们经常说某系统“十分可靠”,那么这个“十分”究竟如何衡量呢?

时间模型

最著名的时间模型是由 提出的可靠性增长模型,这个模型基于这样一个假设:一个软件中的故障数目在 t = 0 时是常数,随着故障被纠正,故障数目逐渐减少。

在此假设下,一个软件经过一段时间的调试后剩余故障的数目可用下式来估计:

其中,τ 为调试时间, Er (τ ) 为在时刻 τ 软件中剩余的故障数, E0 为τ = 0 时软件中的故障数, Er (τ ) 为在[0,τ]内纠正的故障数,I 为软件中的指令数。

由故障数 Er (τ ) 可以得出软件的风险函数:

Z(t)=C⋅Er(τ)

其中 C 是比例常数。于是,

软件的可靠度为:

软件的平均无故障时间为:

故障植入模型

故障植入模型是一个面向错误数的数学模型,其目的是以程序的错误数作为衡量可靠性的标准,模型的原型是 1972 年由 Mills 提出的。

Mills 提出的故障植入模型的基本假设如下:

(1)程序中的固有错误数是一个未知的常数。

(2)程序中的人为错误数按均匀分布随机植入。

(3)程序中的固有错误数和人为错误被检测到的概率相同。

(4)检测到的错误立即改正。

数据模型

在数据模型下,对于一个预先确定的输入环境,软件的可靠度定义为在 n 次连续运行中软件完成指定任务的概率。

提高系统可靠性的措施

防止故障造成系统失效的两种技术是故障掩蔽技术和系统重组技术,故障掩蔽技术是指防止故障造成差错的各种技术,系统重组技术是防止差错导致系统失效的各种技术。故障掩蔽技术和系统重组技术是达到容错的两种基本途径。而它们又是建立在资源冗余的基础上的。资源冗余有硬件冗余、信息冗余、时间冗余和软件冗余 4 种形式。本节主要介绍前两种形式。

硬件冗余

硬件冗余最常用的是三模冗余( ,TMR),三个相同的模块接收三个相同的输入,产生的三个结果送至多数表决器。表决器的输出取决于三个输入的多数,若有一个故障模块,则另两个正常模块的输出可将故障模块的输出掩蔽,从而不在表决器输出产生差错。

信息冗余

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

1.海明校验码

海明校验码是由 于 1950 年提出,目前仍然被广泛采用的一种很有效的校验方法,是只要增加少数几个校验位,就能检测出二位同时出错,亦能检测出一位出错并能自动恢复该出错位的正确值的有效手段,后者称为自动纠错。它的实现原理,是在 k 个数据位之外加上 r 个校验位数据库的逻辑设计是指什么,从而形成一个 k+r 位的新的码字,使新的码字的码距比较均匀地拉大。把数据的每一个二进制位分配在几个不同的偶校验位的组合中,当某一位出错后,就会引起相关的几个校验位的值发生变化,不但可以发现出错,还能指出是哪一位出错,为进一步自动纠错提供了依据。

2.循环冗余校验码

循环冗余校验码( Chec,CRC)也广泛应用于移动通信和磁盘数据存储中。CRC 也是给信息码加上几位校验码,以增加整个编码系统的码距和查错纠错能力。

CRC 的基本原理是:在 K 位信息码后再添加 R 位的校验码,整个编码长度为 N 位,因此,这种编码又称(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为 N-K=R 的多项式 G(x)。根据 G(x)可以生成 R 位的校验码,而 G(x)叫作这个 CRC 码的生成多项式。

备份与恢复

在计算机系统中,硬件故障、系统软件和应用软件的故障、操作员的失误,甚至病毒、人为破坏总是不可避免的,为了保证故障发生后,系统能尽快从错误状态恢复到某种逻辑一致的状态,系统就必须有备份与恢复的机制。

系统的数据备份就是在系统其他地方创建数据与程序的电子复制,为重建系统中被破坏的或不正确的数据提供条件,备份最常用的技术是数据转储和建立日志文件。可以结合这两种技术为系统提供比较好的备份手段。

数据转储可分为静态转储和动态转储。静态转储是指在系统中无事务时进行的转储操作,动态转储是指转储操作与用户事务并发进行,而且转储工作不会影响事务的运行,但它不能保证副本中的数据正确有效。

建立日志文件是指把所有事务对系统的修改活动都登记下来。若发生了故障,对于静态转储,可以在重装后备副本之后,利用日志文件进行恢复,避免重新运行事务;对于动态转储,可以把转储得到的副本和转储期间的日志文件结合起来进行故障恢复,使系统恢复正常工作状态。

备份通常分为联机备份和脱机备份两种方式。

脱机备份也叫冷备份,是一种静态转储技术,备份系统所有的物理文件(控制文件、数据文件、重做日志和归档日志)和初始化文件。这种方式的优点是在恢复过程中步骤最少,它比热备份快并且出错机会少,定期的脱机备份加上一组好的重做日志可以把系统的数据恢复到任何一个时间点上。

联机备份也叫热备份,是一种动态转储技术,由于只备份所需的文件,因而被看作是部分备份。它在系统运行时执行。这种方式的优点是可以实现完全的时间点恢复,同时由于数据库一直处于打开状态,减少了系统对物理资源的要求,改善了数据的执行;但联机备份比较复杂,需要对系统的核心有比较深刻的认识,对备份策略进行反复的测试,才能最终确定它的正确性和可用性。

本文到此结束,希望对大家有所帮助。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至81118366@qq.com举报,一经查实,本站将立刻删除。发布者:简知小编,转载请注明出处:https://www.jianzixun.com/89237.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫

相关推荐

软文友链广告合作联系站长qq81118366