系统的可靠性分析与计划是系统架构计划师在系统分析与计划阶段、系统集成阶段应该重点思量的问题。内容重要为可靠性计划、系统的故障模型、系统的可靠性模型、组合模型可靠性计算、马尔柯夫模型可靠性计算,以及硬件冗余、信息校验码等方面;另外也涉及系统可靠性分析与计算、系统可靠性评估和系统设置方法等概念与理论的实际工程运用等内容。本章内容软考考的较少,作为相识即可。
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.冗余技术
冗余可分为硬件冗余(增长硬件)、软件冗余(增长步伐,如同时采用不同算法或不同人体例的步伐)、时间冗余(如指令重复实行、步伐重复实行)、信息冗余(如增长数据位)等。冗余技术中最常用的两种方法是重复线路和备份线路。重复线路指用多个相同品种和规格的元件或构件并联起来,当作一个元件或构件使用,只要有一个不出故障,系统就能够正常工作。在并联工作时每一个构件的可靠性概率是互相独立的。备份线路与重复线路的差异是到场备份的构件并不接入系统,只有在处于工作状态的构件发生故障后才把输入和输出接到备份构件上来,同时堵截故障构件的输入、输出。
容错技术已获得广泛应用,常用于对可靠性要求高的系统,特别是用于危及人身安全的关键部位。在这些部位大多采用双重冗余,也有采用三重、四重甚至五重冗余的。现代的大型复杂系统经常是容错本领很强的系统。容错技术在计算机中应用得最早、最广泛。
17.3.2 双机热备份技术
双机热备份技术是一种软硬件结合的较高容错应用方案。该方案是由两台服务器系统和一个外接共享磁盘阵列柜和相应的双机热备份软件构成。此中的外接共享磁盘阵列柜也可以没有,而是在各自的服务器中采取 RAID(Redundant Array of Independent Disk,独立冗余磁盘阵列)卡。
在这个容错方案中,操作系统和应用步伐安装在两台服务器的当地系统盘上,整个网络系统的数据是通过磁盘阵列集中管理和数据备份的。数据集中管理是通过双机热备份系统,将所有站点的数据直接从中心存储设备读取和存储,并由专业人员进行管理,极大地保护了数据的安全性和保密性。用户的数据存放在外接共享磁盘阵列中,在一台服务器出现故障时,备机自动替代主机工作,包管网络服务不间断。
双机热备份系统采用“心跳”方法包管主系统与备用系统的接洽。所谓“心跳”,指的是主、从系统之间相互按照一定的时间间隔发送通信信号,表明各自系统当前的运行状态。
一旦“心跳”信号表明主机系统发生故障,大概备用系统无法收到主机系统的“心跳” 信号,则系统的高可用性管理软件以为主机系统发生故障,立即将系统资源转移到备用系统上,备用系统替代主机工作,以包管系统正常运行和网络服务不间断。
双机热备份方案中,根据两台服务器的工作方式可以有三种不同的工作模式,即:双机热备模式、双机互备模式和双机双工模式。
双机热备模式即现在通常所说的 active/standby 方式,active 服务器处于工作状态;而standby 服务器处于监控准备状态,服务器数据包罗数据库数据同时往两台或多台服务器写入(通常各服务器采用 RAID 磁盘阵列卡),包管数据的即时同步。当 active 服务器出现故障时,通过软件诊测或手工方式将 standby 机器激活,包管应用在短时间内完全规复正常使用。典范应用有证券资金服务器或行情服务器。这是现在采用较多的一种模式,但由于另外一台服务器长期处于后备的状态,所以浪费了一部分计算资源。
用户可以根据系统的紧张性及终端用户对服务中断的容忍程度决定是否使用双机热备份。比方,网络中的用户最多能容忍多长时间规复服务,如果服务不能很快规复会造成什么样的后果作为是否采用双机热备份的根据。对于承担企业关键业务应用的服务器需要极高的稳固性和可用性,并需要提供每周 7(天)×24(小时)不间断服务的应用,保举使用双机热备份。
双机互备模式,是两个相对独立的应用在两台机器同时运行,但相互均设为备机,当某一台服务器出现故障时,另一台服务器可以在短时间内将故障服务器的应用接管过来,从而包管了应用的持续性,但对服务器的性能要求比力高。
双机双工模式是集群的一种形式,两台服务器均处于运动状态,同时运行相同的应用,以包管团体系统的性能,也实现了负载均衡和互为备份,通常使用磁盘柜存储技术。Web 服务器或 FTP 服务器等用此种方式比力多。
17.3.3 服务器集群技术
集群技术指一组相互独立的服务器在网络中组合成为单一的系统工作,并以单一系统的模式加以管理。此单一系统为客户工作站提供高可靠性的服务。大多数情况下,集群中所有的计算机拥有一个共同的名称,集群内任一系统上运行的服务可被所有的网络客户使用。 集群必须可以和谐管理各分离的构件出现的错误和故障,并可透明地向集群中到场构件。
一个集群包罗多台(至少二台)共享数据存储空间的服务器。此中任何一台服务器运行应用时,应用数据被存储在共享的数据空间内。每台服务器的操作系统和应用步伐文件存储在其各自的当地储存空间上。
集群内各节点服务器通过一个内部局域网相互通信,当一台节点服务器发生故障时,这台服务器上所运行的应用步伐将在另一节点服务器上被自动接管。当一个应用服务发生故障时,应用服务将被重新启动或被另一台服务器接管。当以上的任一故障发生时,客户都将能很快毗连到其他应用服务器上。
17.4 系统可靠性模型
与系统故障模型对应的就是系统的可靠性模型。人们经常说某系统“十分可靠”,那么这个“十分”究竟怎样衡量呢?下面先容几种常用的模型。
17.4.1 时间模型
最闻名的时间模型是由 Shooman 提出的可靠性增长模型,这个模型基于如许一个假设:一个软件中的故障数目在 t = 0 时是常数,随着故障被改正,故障数目逐渐减少。 在此假设下,一个软件经过一段时间的调试后剩余故障的数目可用下式来估计:
此中,τ 为调试时间, Er (τ ) 为在时刻 τ 软件中剩余的故障数, E0 为τ = 0 时,软件中的故障数, Er (τ ) 为在[0,τ]内改正的故障数,I 为软件中的指令数。
由故障数 Er (τ ) 可以得出软件的风险函数:
Z(t)=C⋅Er(τ)
此中 C 是比例常数。于是,软件的可靠度为:
软件的匀称无端障时间为:
17.4.2 故障植入模型
故障植入模型是一个面向错误数的数学模型,其目标是以步伐的错误数作为衡量可靠性的标准,模型的原型是 1972 年由 Mills 提出的。
Mills 提出的故障植入模型的基本假设如下:
(1)步伐中的固有错误数是一个未知的常数。
(2)步伐中的人为错误数按匀称分布随机植入。
(3)步伐中的固有错误数和人为错误被检测到的概率相同。
(4)检测到的错误立即改正。
用 N0 表现固有错误数,N1 表现植入的人为错误数,n 表现检测到的错误数,ξ 表现被检测到的错误中的人为错误数,则:
对于给定的 N1,n,在测试中检测到的人为错误数为 k,用最大似然法求解可得固有错误数 N0 的点估计值为:
思量到实施植入错误时遇到的困难,Basin 在 1974 年提出了两步查错法,这个方法是由两个错误检测人员独立对步伐进行测试,检测到的错误立即改正。用 N0 表现步伐中的固有错误数,N1 表现第一个检测员检测到的错误数,n 表现第二个检测员检测到的错误数,用随机变数 η 表现两个检测员检测到的相同的错误数,则:
如果实际测得的相同错误数为 k,则步伐固有错误数 N 0 的点估计值为:
17.4.3 数据模型
在数据模型下,对于一个预先确定的输入情况,软件的可靠度界说为在 n 次一连运行中软件完成指定使命的概率。
最早的一个数据模型是 Nelson 于 1973 年提出的,其基本方法如下:设说明所规定的功能为 F,步伐实现的功能为 F′,预先确定的输入集。E={ ei:i=1,2,- - -,N } 令导致软件不对的所有输入的集合为 Ee ,即
则软件运行一次出现不对的概率为:P1=|Ee|/|E|
一次运行正常的概率为:R1=1−P1=1−Ee /E
在上述讨论中,假设了所有输入出现的概率相称,如果不相称,且 ei 出现的概率为 pi(i =1,2,- - -,n),则软件运行一次出现不对的概率为:
此中:
于是,软件的可靠度(n 次运行不出现不对的概率)为:R(n)=R1n=(1-P1)n只要知道每次运行的时间,上述数据模型中的 R(n)就很容易转换成时间模型中的 R(t)。
17.5 系统的可靠性分析和可靠度计算
本节先容怎样计算一个组合系统可靠性的几种方法。
17.5.1 组合模型
组合模型是计算机容错系统可靠性最常用的方法。一个系统只要满意以下条件,就可以用组合模型来计算其可靠性。作如下假设。
(1)系统只有两种状态:运行状态和失效状态。
(2)系统可以分别成若干个不重叠的部件,每个部件也只有两种状态:运行状态和失效状态。
(3)部件的失效是独立的。
(4)系统失效当且仅当系统中的剩余资源不满意系统运行的最低资源要求(系统的状态只依靠于部件的状态)时。
(5)已知每个部件的可靠性,可靠性指可用度或可靠度等概率参数。组合模型的目标就是根据各部件的可靠性 Ri(t)来计算系统的可靠度 Rsys(t),组合模型的基本头脑如下。
1.枚举所有系统状态
假设系统被分别为 n 个部件,则系统状态是一个 n 维向量,q = (s1,s2 ,—,sn ) ,此中: si={0,如果部件 i 处于运行状态;1,如果部件 i 处于失效状态( i = 1, 2,—, n )},一个具有 n 个部件的系统共有 2 n 个状态。
2.计算每个系统状态的概率系统状态的概率是指系统处于该状态的概率。设系统状态 q = (s1,s2 ,—,sn ) ,q 的所有 0分量对应的部件用 A0 来表现( A0 是所有处于运行状态的部件的集合),q 的所有 1 分量对应的部件用 A1 来表现( A1 是所有处于失效状态的部件的集合)。于是,系统状态的概率为:
3.可靠性计算直接计算一个复杂系统的可靠性是很困难的,通常的方法是把整个系统分解为简单的子系统,通过子系统的组合来计算整个系统的可靠性。
(1)串接洽统。在一个由 n 个模块(部件)构成的系统中,如果系统中恣意一个模块失效将导致系统失败(系统的最低资源要求是所有模块全部运行,只有全 0 系统(0,0,…,0)能够使系统运行)。
用随机变量 ξi 表现模块 i 发生失效的时间,用随机变量 ξs 表现系统发生失效的时间,则 ξs 可表现为:
则系统可靠度为:
此中, Ri(t)是模块 i 的可靠度,串接洽统的可靠度是各个模块可靠度的乘积。这种系统可抽象地看成一个如图 17-1 示的串接洽统,因此,上式称为串联可靠性公式。
串接洽统的失效率为:
此中, Qi(t) =1− Ri(t) 是模块 i 的失效概率。
(2)并接洽统。在一个由 n 个模块(部件)构成的系统中,只要有一个模块可运行,系统就可运行(系统的基本资源是一个模块,除了全 1 系统状态(1,1,1,…,1)外,系统都是可运行的),因此:
系统的失效概率分布函数可以表现为:
此中 Qi(t) 是模块 i 的失效分布函数。
并接洽统的可靠度为:
此中,Qi(t)=1-Ri(t) 是模块 i 的失效概率
这种系统可抽象地看成一个如图 17-2 所示的并接洽统,因此,上式称为并联可靠性公式
(3)串并接洽统。如果一个系统由 N 个子系统并联而成,而每个并联的子系统又由 n个元件串联而成,如许的系统称为串并接洽统。
设第 j 个子系统的第 i 个元件的可靠度为 Rij(i=1,2,L,n;j=1,2,L,N),则该串并接洽统的可靠度为:
如果 Rij 全相称为 R,则:
17.5.2 马尔柯夫模型
马尔柯夫模型的两个核心概念是状态和状态转移。系统的状态表现了在任何瞬间用以形貌该系统所必须知道的一切。对于可靠性分析,马尔柯夫模型的每个状态表现了有用和失效模块的不同组合。如果每个模块都是处于有用和失效两种情况之一,则一个 n 模块系统的完整模型有 2 n 个状态。
状态转移是指随着时间的流逝,因模块的失效和修复,系统发生的状态变革。作为马尔柯夫模型底子的基本假设是:给定状态的转移概率仅取决于当前的状态。系统从一个状态 i 转移到另一个状态 j 的转移率界说为单位时间内从状态 i 转移到状态 j 的概率。对于一个模块来说,从运行状态到失效状态的转移率就是模块的失效率,从失效状态到运行状态的转移率就是模块的修复率。一个失效率为 λ,修复率为 μ 的模块的状态图如图 17-3 所示。
对于由 n 个模块构成的系统,共有 2 n 个状态。从理论上说,恣意两个状态之间都存在转移的可能性。但因失效是独立的,在很短的时间内发生多个失效的可能性远小于发生一个失效的可能性。因此,只思量任一时刻只有一个模块失效的转移;同样,也只思量恣意时刻只有一个模块修复的转移。系统的状态图也可以表现为层次图。第一层只有一个状态,对应于所有模块都运行的情况;第二层有 n 个状态,对应于一个模块失效的各种情况;第 i +1 层有 Ci 个状态,对应于 n 个模块中有 i 个失效的各种情况;第 n+1 层也只有一个状态,
对应于全部模块都失效的情况。
根据系统的状态图,可以计算出系统处于恣意状态的概率。
设系统在 t 时刻处于状态 0 和 1 的概率分别为 P0(t)和 P1(t),于是,在 t + Δt 时刻系统处于 0 状态的概率为:
同样,在 t + Δt 时刻系统处于 1 状态的概率为:
令 Δt → 0 取极限,得微分方程组:
此中,Pi(t) 是 Pi(t) 对 t 的一阶导数( i = 0,1 )。
只要解此微分方程组就可以得出 P0(t)和 P1(t)。
对于有 n 个状态的状态图,设状态 i 到 j 的转移率为αaij。思量此中的恣意一个状态j,其他状态到 j 的转移和 j 到其他状态的转移,系统在 t + Δt 时刻,处于状态 j 的概率可以表现为:
由此可得:
用矩阵方程把 Pj(t)( j = 1, 2, , n) 全部表现出来就是:
P (t) =T ⋅ P(t)
或
此中, T 称为状态转移矩阵,其对角线上的元素:
这一矩阵方程称为查普曼—科尔莫戈罗夫(Chapman-Kolmoqorov)方程,由它可解出系统处于恣意状态的概率。解方程最常用的是拉普拉斯变换解法。
17.6 提高系统可靠性的步伐
防止故障造成系统失效的两种技术是故障掩蔽技术和系统重组技术,故障掩蔽技术是指防止故障造成不对的各种技术,系统重组技术是防止不对导致系统失效的各种技术。故障掩蔽技术和系统重组技术是到达容错的两种基本途径。而它们又是创建在资源冗余的底子上的。资源冗余有硬件冗余、信息冗余、时间冗余和软件冗余 4 种形式。本节重要先容前两种形式。
17.6.1 硬件冗余
硬件冗余最常用的是三模冗余(Triple Modular Redundancy,TMR),三个相同的模块接
收三个相同的输入,产生的三个结果送至多数表决器。表决器的输出取决于三个输入的多数,
若有一个故障模块,则另两个正常模块的输出可将故障模块的输出掩蔽,从而不在表决器输
生产生不对。
图 17-4 是一个简单的 TMR 系统,用组合模型可以计算出系统的可靠度为:
由于 Rm=e−λt ,因此:
此中 Rv 和 Rm 分别表现表决器和模块的可靠度(假设各模块的可靠度相同)。在无修复的屏蔽冗余系统中,当屏蔽冗余因模块中的故障而耗尽时,再发生模块故障将导致输出的错误。假若模块具有修复本领,则系统的可靠性将会大大提高。下面讨论修复对 TMR 结构可靠性的影响。
设模块的失效率为λ,修复率为 μ,TMR 系统可靠度的马尔柯夫模型如图 17-5 所示
TMR 系统的拉氏系数矩阵为:
设系统的初态 P0(0)=(100)T ,则:
对上式作部分分式分解可得:
查拉氏逆变换表可得:
系统的可靠度:
用同样的方法,可以计算出带修复的 TMR 的可用度 ATMR(t) 。
由 TMR 的完全状态图,可以计算出系统的拉氏系数矩阵为:
用马尔柯夫模型可解出:
则 TMR 结构系统的可用度为:
ATMR(t)=P0(t)+P1(t)
对 TMR 函数积分,可得出匀称无端障时间 MTTF:
简化得:
上面的分析没有思量表决的可靠性,为了能够容忍表决器的故障,可以对表决器也采用3 倍冗余。一样平常说来,对于一个由若干模块构成的系统,可以对每个模块分别实施 TMR 技术。
TMR 的推广是 N 模冗余(N-Modular Redundancy,NMR)。与三模冗余原理相同,但采用 N 个相同的模块, N > 3 ,且 N 为奇数,以方便进行多数表决。NMR 的结构如图17-6 所示。
17.6.2 信息冗余
信息冗余是指通过在数据中附加冗余的信息以到达故障检测、故障掩蔽或容错的目标。应用最广泛的是海明校验码、奇偶校验码。
1.海明校验码
海明校验码是由 Richard Hamming 于 1950 年提出,现在仍然被广泛采用的一种很有用的校验方法,是只要增长少数几个校验位,就能检测出二位同时出错,亦能检测出一位出错并能自动规复该出错位的正确值的有用手段,后者称为自动纠错。它的实现原理,是在 k 个数据位之外加上 r 个校验位,从而形成一个 k+r 位的新的码字,使新的码字的码距比力匀称地拉大。把数据的每一个二进制位分配在几个不同的偶校验位的组合中,当某一位出错后,就会引起相干的几个校验位的值发生变革,不但可以发现出错,还能指出是哪一位出错,为进一步自动纠错提供了依据。
基本的海明纠错码能改正一位错。它的原理是基于重叠奇偶校验的概念:将原始数据位分成若干个重叠的组,每组设一位奇偶校验位。由于组间有重叠,因此每位原始数据附属于多于一个组。而且每位原始数据的附属关系是不一样的,纠错时,根据哪些组的奇偶校验位出错,就可以唯一地确定是哪一位数据出错。将该位取反就完成了纠错。海明校验码是一种特别的(n,k)线性纠错码,线性纠错码可借助它们的奇偶校验矩阵(Parity-Check Matrix,PCM)来形貌。(n,k)线性码的 PCM 是一个(n−k)×n 的矩阵,其元素是 0 和 1。矩阵的每一列与码字中的一个位相对应,而每一行与校验位相对应。 推导并使用长度为 m 位的码字的海明码,所需步调如下:
(1)确定最小的校验位数 k,将它们记成 D1、D2、…、Dk,每个校验位符合不同的奇偶测试规定。
(2)原有信息和 k 个校验位一起编成长为 m+k 位的新码字。选择 k 校验位(0 或 1)以满意须要的奇偶条件。
(3)对所接收的信息作所需的 k 个奇偶查抄。
(4)如果所有的奇偶查抄结果均正确,则以为信息无错误。
如果发现有一位或多位错了,则错误的位由这些查抄的结果来唯一地确定。
2.循环冗余校验码
循环冗余校验码(Cyclic Redundancy Chec,CRC)也广泛应用于移动通信和磁盘数据存储中。CRC 也是给信息码加上几位校验码,以增长整个编码系统的码距和查错纠错本领。 CRC 的基本原理是:在 K 位信息码后再添加 R 位的校验码,整个编码长度为 N 位,因此,这种编码又称(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为 N-K=R 的多项式 G(x)。根据 G(x)可以生成 R 位的校验码,而 G(x)叫作这个 CRC 码的生成多项式。 校验码的具体生成过程为:假设发送信息用信息多项式 C(x)表现,将 C(x)左移 R 位,则可表现成 C(x)×2R 如许 C(x)的右边就会空出 R 位,这就是校验码的位置。通过 C(x)×2R除以生成多项式 G(x)得到的余数就是校验码。 CRC 码的生成步调为:
(1)将 x 的最高幂次为 R 的生成多项式 G(x)转换成对应的 R+1 位二进制数。
(2)将信息码左移 R 位,相当于对应的信息多项式 C(x)×2R 。
(3)用生成多项式(二进制数)对信息码做模 2 除,得到 R 位的余数。
(4)将余数拼到信息码左移后空出的位置,得到完整的 CRC 码。
17.7 备份与规复
在计算机系统中,硬件故障、系统软件和应用软件的故障、操作员的失误,甚至病毒、人为破坏总是不可避免的,为了包管故障发生后,系统能尽快从错误状态规复到某种逻辑同等的状态,系统就必须有备份与规复的机制。
系统的数据备份就是在系统其他地方创建数据与步伐的电子复制,为重修系统中被破坏的或不正确的数据提供条件,备份最常用的技术是数据转储和创建日记文件。可以结合这两种技术为系统提供比力好的备份手段。
数据转储可分为静态转储和动态转储。静态转储是指在系统中无事务时进行的转储操作,动态转储是指转储操作与用户事务并发进行,而且转储工作不会影响事务的运行,但它不能包管副本中的数据正确有用。
创建日记文件是指把所有事务对系统的修改运动都登记下来。若发生了故障,对于静态转储,可以在重装后备副本之后,利用日记文件进行规复,避免重新运行事务;对于动态转储,可以把转储得到的副本和转储期间的日记文件结合起来进行故障规复,使系统规复正常工作状态。
备份通常分为联机备份和脱机备份两种方式。
脱机备份也叫冷备份,是一种静态转储技术,备份系统所有的物理文件(控制文件、数据文件、重做日记和归档日记)和初始化文件。这种方式的长处是在规复过程中步调最少,它比热备份快并且出错机会少,定期的脱机备份加上一组好的重做日记可以把系统的数据规复到任何一个时间点上。
联机备份也叫热备份,是一种动态转储技术,由于只备份所需的文件,因而被看作是部分备份。它在系统运行时实行。这种方式的长处是可以实现完全的时间点规复,同时由于数据库不停处于打开状态,减少了系统对物理资源的要求,改善了数据的实行;但联机备份比力复杂,需要对系统的核心有比力深刻的熟悉,对备份战略进行反复的测试,才气最终确定它的正确性和可用性。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |