计算机冗余容错
计算机系统容错技术分析及研究
![计算机系统容错技术分析及研究](https://img.taocdn.com/s3/m/8b1e92c1caaedd3382c4d33e.png)
• 177•计算机是一个较为复杂的系统,为确保其运行稳定性和可靠性,应当在系统设计时,对容错技术进行合理运用。
基于此点,文章从容错的常用方法分析入手,论述了容错技术在计算机系统中的具体应用。
期望通过本文的研究能够对计算机系统性能的提升有所帮助。
1 容错的常用方法对于计算机系统而言,容错是系统应当具备的一种能力,具体是指当出现故障问题时,系统仍然能够完成预定任务的功能。
在计算机系统中,描述故障问题的专业术语有以下三个:即故障、错误和失效,三者之间存在较为密切的关系,如故障会导致错误,而错误又会导致失效。
错误是系统故障后所产生的一种现象。
引起系统故障的原因较多,如设计、装配以及使用中外部因素的影响等等。
由于故障的发生具有随机性的特点,因此,想要在计算机系统设计之初对可能出现的故障问题进行检测是非常困难的,为避免故障对系统的运行造成影响,需要在设计时,加入合理可行的容错技术(李其蔚,计算机系统容错技术研究:电脑知识与技术,2016)。
目前,计算机系统中较为常用的容错技术有以下几种:1.1 冗余这是计算机系统容错最为基本的途径之一,通过冗余可以大幅度提升系统的容错性能。
大体上可将冗余分为两类,一类是时间冗余,另一类是空间冗余。
前者是指借助重复计算过程来实现系统容错;后者是指利用额外的资源来实现系统容错,按照使用的冗余资源,可将之细分为硬件冗余、软件冗余、信息冗余等等。
1.2 回滚恢复容错这是一种通过对计算状态进行周期性保存来达到容错目的的方法。
计算机系统在运行的过程中,如果出现故障问题,通过回滚恢复,可以使应用程序回到之前保存的某个状态处,重新对程序进行执行。
该容错方法是时间冗余与空间冗余的有机结合,最早出现在分布式系统当中,随着技术的逐步完善,其在并行计算领域中得到广泛应用。
1.3 TRM容错这是目前计算机系统中应用最为广泛的容错技术,一个基本的TRM系统由三个完全相同的模块和一个投票器组成,三个模块会同时对输入的数据进行接收,每个模块将生成的结果发送给投票器,并由投票器通过投票的方式进行表决,其输出的数据主要取决于三个输入中多数一方的结果。
局域网组建的网络容错和冗余配置
![局域网组建的网络容错和冗余配置](https://img.taocdn.com/s3/m/37b86c65ec630b1c59eef8c75fbfc77da26997cd.png)
局域网组建的网络容错和冗余配置现代社会中,计算机网络的重要性不言而喻。
无论是企业、学校还是家庭,都离不开一个稳定、安全的局域网。
然而,网络故障或中断可能导致数据丢失、业务中断等问题,因此,局域网的网络容错和冗余配置显得尤为重要。
本文将探讨局域网组建中的网络容错和冗余配置,以确保网络运行的稳定性和可靠性。
一、网络容错技术概述网络容错是指在网络设备或连接出现故障时,能够自动检测并转移数据流量,从而在不影响业务的前提下保证网络的可靠运行。
常见的网络容错技术包括冗余设备、链路故障切换和负载均衡等。
1. 冗余设备冗余设备是指在一个网络节点出现故障时,能够自动切换到备用设备,以保证网络的正常运行。
例如,通过配置冗余路由器和交换机,当主设备损坏时,备用设备能够立即接管主设备的功能,从而避免网络中断。
2. 链路故障切换链路故障切换是指当一个网络链路出现故障时,能够自动转移数据流量到备用链路,以确保网络的可用性。
通过配置链路故障检测机制和备用链路,可以在主链路故障时快速切换到备用链路,避免数据丢失和业务中断。
3. 负载均衡负载均衡是指将网络流量均匀分配到多个网络设备上,以避免某个设备负载过重而导致性能下降或故障。
通过配置负载均衡算法,可以根据网络设备的负载情况智能地将流量分担到各个设备上,提高网络的可用性和性能。
二、网络容错和冗余的部署实践在局域网组建过程中,如何合理地配置网络容错和冗余设备,以达到最佳的网络可用性是关键。
下面将介绍一些常见的网络容错和冗余配置实践。
1. 设备冗余部署在局域网中,可以通过配置双机热备、主备模式等方式来实现设备的冗余部署。
双机热备是指在局域网中设置两台主机,一台作为主机提供服务,一台作为备机,当主机故障时,备机会自动接管主机的功能。
主备模式则是在局域网中设置一台主设备和一台备设备,当主设备故障时,备设备会自动切换为主设备。
通过这种方式,可以保证在设备故障时网络的正常运行。
2. 多链路冗余备份在局域网中,可以通过配置多个链路和链路故障检测机制来实现链路的冗余备份。
计算机系统的容错和恢复机制
![计算机系统的容错和恢复机制](https://img.taocdn.com/s3/m/11ed2b5bc4da50e2524de518964bcf84b8d52d51.png)
计算机系统的容错和恢复机制计算机系统的容错和恢复机制是保证系统稳定性和可靠性的重要组成部分。
随着计算机技术的发展和应用范围的扩大,系统出现错误和故障的概率也随之增加。
因此,对于计算机系统的容错和恢复机制的研究和应用变得尤为重要。
本文将介绍计算机系统的容错和恢复机制,包括硬件容错和软件容错两个方面,并探讨它们在保障系统可靠性上的应用。
一、硬件容错机制硬件容错主要是通过硬件设计和电路布线来提高计算机系统的稳定性和可靠性。
常见的硬件容错技术包括冗余和错误检测与纠正。
1. 冗余技术冗余技术是通过增加系统中的冗余组件来提高系统的可靠性。
常见的冗余技术包括备份冗余、硬件冗余和时钟冗余等。
备份冗余是指利用主备份设计来实现系统在主组件失效时能够自动切换到备份组件上继续工作。
硬件冗余是指在关键组件上增加冗余元件,一旦某个元件出现故障,系统可以自动切换到备用元件上。
时钟冗余是指通过多个时钟发生器保证系统中的时钟信号可用性,以防止由于单一时钟发生器故障而导致整个系统的停机。
2. 错误检测与纠正错误检测与纠正技术是通过校验码、纠错码和检错电路等方式来检测和纠正系统中的错误。
校验码主要是通过对数据进行校验和计算,以确定数据在传输过程中是否发生错误。
纠错码是一种能够自动检测和纠正数据传输中的错误的编码方式。
检错电路则是通过一系列的逻辑电路来检测系统电路中的错误。
二、软件容错机制软件容错机制是通过软件设计和程序算法来提高系统的可靠性。
软件容错技术主要包括多线程、异常处理和事务处理。
1. 多线程多线程是指在一个程序中同时运行多个线程,当某个线程出现错误或异常时,不会影响到整个程序的运行。
多线程技术可以提高系统的并发性和吞吐量,并且在某个线程出现故障时可以进行错误恢复。
2. 异常处理异常处理是指在程序运行过程中遇到异常情况时,能够捕捉并妥善处理异常,以保证程序的正常执行。
通过合理设置异常处理程序,可以在系统出现异常情况时尽快进行错误恢复,避免系统崩溃或数据丢失。
数据中心的容错设计与冗余策略
![数据中心的容错设计与冗余策略](https://img.taocdn.com/s3/m/7860e48b5ebfc77da26925c52cc58bd63186938b.png)
数据中心的容错设计与冗余策略数据中心作为现代信息技术基础设施的核心,承载着大量重要数据和系统运行。
为了确保数据中心的高可用性和稳定性,在设计和构建过程中,需要考虑容错设计与冗余策略。
本文将对数据中心的容错设计和冗余策略进行探讨,重点介绍冗余电源、网络和存储方面的应用。
一、容错设计容错设计是指利用不同技术手段,保证数据中心在遭受硬件故障或人为错误时,仍然能够保持正常运行。
容错设计的目标是最大程度地降低故障对系统运行的影响,提升系统的可用性和可靠性。
1. 冗余电源对于数据中心来说,电力是最基础的要素之一。
因此,在容错设计中,冗余电源是必不可少的。
常见的冗余电源包括主电源、备用电源和UPS(不间断电源)系统。
主电源是指数据中心主要使用的供电系统,备用电源一般为发电机组,可以在主电源故障时继续供电。
UPS系统则可以提供临时电源,以便在主电源故障后有足够的时间完成切换操作。
2. 冗余网络冗余网络是指在数据中心中设置多个网络路径,以增加网络的可靠性。
这是通过使用冗余的网络设备、链路以及交换机实现的。
当一个网络设备或链路出现故障时,数据中心可以通过备用路径继续进行通信,不会导致服务中断。
此外,还可以利用网络负载均衡技术,将流量分散到不同路径上,提高网络带宽利用率。
3. 冗余存储冗余存储是为了防止数据中心在存储设备故障时丢失数据。
一种常用的冗余存储策略是使用RAID(独立冗余磁盘阵列)技术。
RAID通过将数据分布在多个物理磁盘上,实现数据冗余和故障恢复。
在RAID 中,常见的级别包括RAID 0、RAID 1、RAID 5和RAID 6等,每种级别都有其特定的容错能力和性能特征。
二、冗余策略冗余策略是指通过备份和复制等手段,保证数据在数据中心中的安全性和可用性。
冗余策略的实施可以分为数据冗余和服务冗余两个方面。
1. 数据冗余数据冗余是指将数据备份到多个物理设备中,以防止单点故障。
常见的数据冗余策略包括:(1) 数据备份:在数据中心中设置备份存储设备,将数据进行定期备份,以防止数据丢失。
了解计算机网络中的网络容错技术
![了解计算机网络中的网络容错技术](https://img.taocdn.com/s3/m/a143105359fafab069dc5022aaea998fcc2240cb.png)
了解计算机网络中的网络容错技术计算机网络中的网络容错技术在计算机网络中,网络容错技术是指在网络出现故障或其他异常情况时,能够保持网络功能正常运行的一系列技术手段。
这些技术旨在提高网络的可靠性、稳定性和可用性,确保网络能够维持正常的数据传输和通信。
1. 冗余技术冗余技术是一种常见的网络容错技术,在计算机网络中被广泛应用。
它的核心思想是通过备份或复制网络中的关键组件,确保在某个组件故障时能够自动切换到备用组件。
常见的冗余技术包括:硬件冗余、网络链路冗余和数据冗余等。
(1)硬件冗余硬件冗余是指通过使用备用设备或组件来替代故障的设备或组件,以保证网络的连续运行。
常见的硬件冗余技术包括:热备插槽、热备插件和热备份电源等。
通过使用这些技术,当主设备出现故障时,备用设备能够立即接管主设备的工作,确保网络的连贯性和可用性。
(2)网络链路冗余网络链路冗余是指在网络拓扑中增加冗余链路,以保证网络中断时能够自动切换到备用链路。
常见的网络链路冗余技术包括:备份链路、双链路和多链路等。
通过配置这些冗余链路,当主链路发生故障时,数据能够自动切换到备用链路,从而保证网络的可靠性和可用性。
(3)数据冗余数据冗余是指将数据存储在多个位置,以提供冗余和备份。
常见的数据冗余技术包括:磁盘阵列、数据镜像和数据备份等。
通过使用这些技术,即使某个存储位置出现故障,数据仍然可以从其他位置进行恢复,确保数据的完整性和可靠性。
2. 容错路由技术容错路由技术是一种能够在网络节点故障或网络拥塞时自动调整路由路径来维持网络性能的技术。
容错路由技术基于网络拓扑的实时状态信息,能够选择出合适的路径来传输数据,以提高网络的可靠性和性能。
(1)备份路径备份路径是指在网络中设置多个具有相同源和目的地的路径,以备份主路径。
当主路径上出现故障时,备份路径能够自动接替主路径,确保数据的连续传输。
备份路径的选择通常基于网络状态信息和链路状况,以选出最佳的备份路径。
(2)动态路由动态路由是一种根据网络状态动态调整路由路径的容错路由技术。
冗余设计如何提高系统的可靠性和容错性
![冗余设计如何提高系统的可靠性和容错性](https://img.taocdn.com/s3/m/0d94e9bcaff8941ea76e58fafab069dc50224786.png)
冗余设计如何提高系统的可靠性和容错性
冗余设计通过以下方式提高系统的可靠性和容错性:
1. 备份功能:冗余设计可以在系统中增加额外的硬件、软件或设计等,作为主系统的备份。
当主系统出现故障时,备份系统可以立即启动并代替工作,从而保证系统的正常运行。
2. 故障隔离:冗余设计可以将系统中的各个部分进行隔离,当某个部分出现故障时,不会影响到其他部分的正常运行。
这样可以降低故障对整个系统的影响,提高系统的容错性。
3. 负载均衡:冗余设计可以通过负载均衡的方式,将系统的负载分散到多个处理器或网络节点上,从而避免单个处理器或节点过载而导致的系统故障。
4. 故障检测与恢复:冗余设计可以增加故障检测和恢复机制,当某个部分出现故障时,可以快速检测到并采取相应的措施进行恢复。
这样可以减少故障对系统的影响时间,提高系统的可靠性。
总之,冗余设计是一种通过增加额外的硬件、软件或设计等来提高系统可靠性和容错性的有效方法。
它可以降低故障对整个系统的影响,提高系统的容错性和可靠性,广泛应用于各种领域,包括计算机存储、通信网络、航空航天等。
互联网行业的网络容错与冗余技术
![互联网行业的网络容错与冗余技术](https://img.taocdn.com/s3/m/aba62e530a4e767f5acfa1c7aa00b52acec79c61.png)
互联网行业的网络容错与冗余技术互联网的快速发展和普及给人们的生活带来了很多便利,但同时也带来了一些问题,比如网络的不稳定性和数据的丢失。
为了解决这些问题,互联网行业不断在网络容错和冗余技术上进行创新和改进。
本文将探讨互联网行业中常见的网络容错和冗余技术,并分析其应用和优势。
一、网络容错技术1. 高可用性技术高可用性技术是指互联网系统在面对网络中断或硬件故障时仍然能够运行的能力。
在实现高可用性的过程中,主要有以下几种技术:(1)负载均衡:通过将请求分发到多个服务器上,以实现对用户请求的平衡负载,提升系统的处理能力和稳定性。
(2)故障转移:一旦服务器出现故障,系统能够自动将请求转移到备份服务器上,确保服务的连续性。
(3)热备份:在主服务器发生故障时,备份服务器能够立即接管主服务器的工作,避免服务中断。
主备服务器之间通过心跳机制实现实时的状态同步。
2. 容错路由技术容错路由技术是指通过多条路径将数据传输到目的地,当某一条路径发生故障时,可以选择备用路径进行数据传输。
容错路由技术主要有以下几种:(1)多路径路由:源节点将数据同时发送到多个相邻节点,并根据不同的路径质量选择最优路径进行传输。
(2)路由备份:当某一节点发现网络中断时,可以选择备份节点进行数据传输,确保数据能够准确快速地到达目的地。
3. 容错协议技术容错协议技术是指通过合理设计和选择网络协议,使得互联网能够在面对故障和攻击时自动恢复或提供可靠的数据传输。
常用的容错协议技术包括:(1)UDP容错协议:UDP协议在数据传输过程中不对数据进行确认和重传,速度快,但不保证数据的可靠传输。
通过在应用层使用冗余校验方法,可以提高UDP传输的可靠性。
(2)TCP容错协议:TCP协议通过使用确认、重传和拥塞控制等机制,保证了数据的可靠传输。
当网络中断时,TCP协议能够自动重传丢失的数据,确保数据的完整性。
二、网络冗余技术网络冗余技术主要是为了保证系统的可用性和数据的安全性,在网络出现故障或攻击时能够进行自我修复和保护。
计算机系统的容错与可靠性
![计算机系统的容错与可靠性](https://img.taocdn.com/s3/m/0c51584e6d85ec3a87c24028915f804d2b1687f5.png)
计算机系统的容错与可靠性计算机系统的容错与可靠性一直是计算机科学领域的重要研究方向。
随着计算机技术的不断发展和广泛应用,对于计算机系统的可靠性要求也越来越高。
本文将从容错技术的定义、常见的容错技术以及容错与可靠性的关系等方面进行探讨。
一、容错技术的定义容错技术是指在计算机系统中通过一系列的设计和措施,使系统能够在部分或者全部组件失效的情况下,仍能够正确地运行并完成预期的功能。
容错技术的目标是确保系统的可靠性,防止系统因故障而导致数据丢失、计算错误或者系统崩溃等问题的发生。
二、常见的容错技术1. 冗余技术:冗余技术是指在计算机系统中引入冗余的组件或者信息,以实现系统的容错。
常见的冗余技术包括硬件冗余和软件冗余。
硬件冗余包括备份电源、磁盘镜像、冗余控制器等;软件冗余包括备份系统、数据镜像、容错编码等。
2. 容错设计:容错设计是指通过改进系统的结构和算法,提高系统抵御故障的能力。
常见的容错设计包括错误检测和错误修复。
错误检测可以通过校验和、循环冗余校验(CRC)等方式实现,用于发现系统中的错误。
错误修复可以通过重传、纠错码等方式实现,用于纠正系统中的错误。
3. 容错恢复:容错恢复是指在系统发生故障时,通过相应的恢复措施将系统恢复到正常工作状态。
常见的容错恢复方案包括备份与恢复、热备插拔、故障转移等。
备份与恢复是指定期备份系统数据,并在系统故障时将备份数据恢复到系统中。
热备插拔是指在系统运行期间替换故障组件以保证系统的连续性。
故障转移是指在系统发生故障时,将任务自动转移到备用系统上继续执行。
三、容错与可靠性的关系容错技术是保证计算机系统可靠性的重要手段。
容错技术可以提高系统的抗干扰能力和容错能力,减少系统因故障而导致的停机时间和数据丢失风险。
因此,容错技术与系统的可靠性密切相关。
容错技术不仅可以提高系统的可靠性,还可以提升系统的稳定性和安全性。
容错技术可以预防系统因硬件故障、恶意攻击或者人为失误等原因而导致系统的异常崩溃或者数据损坏。
计算机系统容错设计
![计算机系统容错设计](https://img.taocdn.com/s3/m/3f54f7b9aff8941ea76e58fafab069dc502247c3.png)
计算机系统容错设计一、引言计算机系统在运行过程中可能会出现各种故障和错误,这些故障和错误可能导致系统崩溃或数据丢失等严重后果。
因此,为了提高计算机系统的可靠性和稳定性,需要进行容错设计。
本文将就计算机系统容错设计的基本原理、策略和方法进行论述,并提供相应的答案和解析。
二、容错设计的基本原理容错设计的基本原理是通过增加冗余和使用错误检测与纠正技术来实现系统的可靠性。
冗余是指在计算机系统中添加额外的硬件、软件或数据,以便在故障发生时可以恢复正常运行。
错误检测与纠正技术是指通过检测和纠正计算机系统中可能出现的错误,以确保系统的正常工作。
三、容错设计的策略1.硬件冗余策略硬件冗余策略是通过增加硬件的冗余来提高系统的可靠性。
这可以包括对主要组件进行冗余设计,如冗余电源、冗余存储器、冗余处理器等。
当一个组件出现故障时,系统可以自动切换到备用组件,以保证系统的正常运行。
2.软件冗余策略软件冗余策略是通过增加软件的冗余来提高系统的可靠性。
这可以包括备份关键软件模块、使用多个相同的软件实例进行执行、实现软件的自动重启等。
当一个软件模块出现故障时,系统可以自动切换到备用模块,以确保系统的正常运行。
3.数据冗余策略数据冗余策略是通过增加数据的冗余来提高系统的可靠性。
这可以包括数据备份、数据镜像、数据冗余存储等。
当数据出现损坏或丢失时,系统可以从备份数据中恢复,以保证数据的完整性和可用性。
四、容错设计的方法1.错误检测与纠正技术错误检测与纠正技术是容错设计中最常用的方法之一。
这可以包括使用冗余校验码、奇偶校验码、哈希校验码等方式来检测和纠正数据传输中的错误。
当检测到错误时,系统可以自动进行纠正或重传,以确保数据的准确传输。
2.故障恢复与重启技术故障恢复与重启技术是容错设计中另一个重要的方法。
这可以包括使用备份组件、备份系统或备份数据来实现对故障的快速恢复。
当系统出现故障时,可以通过自动重启或手动恢复来恢复系统的正常运行。
计算机系统容错技术
![计算机系统容错技术](https://img.taocdn.com/s3/m/a9f28fa0e109581b6bd97f19227916888586b951.png)
计算机系统容错技术汇报人:2023-12-25•容错技术概述•硬件容错技术•软件容错技术目录•容错系统设计•容错技术的发展趋势01容错技术概述容错技术通过冗余设计、错误检测和恢复机制等手段,提高计算机系统的可靠性和稳定性,减少因故障导致的系统停机或数据丢失等问题。
基于硬件的容错技术通过硬件冗余设计,如双机热备、磁盘阵列等,实现故障检测和恢复。
基于软件的容错技术通过软件错误检测和恢复机制,如错误检测码、软件冗余等,提高软件系统的可靠性。
混合容错技术结合硬件和软件的容错技术,实现多层次、全方位的故障检测和恢复。
对于需要高可用性和数据一致性的关键业务系统,如银行、证券等金融机构的系统,容错技术是必不可少的保障措施。
关键业务系统分布式系统中的节点和网络可能会出现故障,容错技术可以保障系统的可靠性和稳定性。
分布式系统云计算平台需要保证服务的连续性和数据的可靠性,容错技术可以提供强大的支撑和保障。
云计算平台容错技术的应用场景02硬件容错技术热备份技术在正常运行时,备用硬件设备处于热备状态,一旦主设备出现故障,备用设备能够迅速接管并继续运行。
冗余硬件通过增加多余的硬件设备来提高系统的可靠性,当某个硬件设备发生故障时,可以依靠冗余硬件继续运行。
硬件自检测技术通过硬件自带的检测机制,实时监测硬件设备的状态,一旦发现故障能够及时报警并采取相应的措施。
硬件冗余技术热备份技术热备份技术是一种硬件容错技术,通过在正常运行时将备用硬件设备保持在热备状态,一旦主设备出现故障,备用设备能够迅速接管并继续运行。
热备份技术需要合理配置主备设备,确保在主设备出现故障时备用设备能够无缝接管。
硬件自检测技术是一种通过硬件自带的检测机制实时监测硬件设备状态的技术。
硬件自检测技术能够及时发现硬件故障,并采取相应的措施,如报警或自动修复等。
硬件自检测技术可以大大提高系统的可靠性和稳定性,减少因硬件故障导致的系统故障。
硬件自检测技术03软件容错技术进程隔离通过创建独立的进程来运行软件的不同部分,每个进程拥有独立的内存空间和资源,降低错误对其他进程的影响。
冗余、容错、容灾、备份定义与区别
![冗余、容错、容灾、备份定义与区别](https://img.taocdn.com/s3/m/656ebf28590216fc700abb68a98271fe900eaf53.png)
冗余、容错、容灾、备份定义与区别1冗余:指重复配置系统的⼀些部件,当系统发⽣故障时,冗余配置的部件介⼊并承担故障部件的⼯作,由此减少系统的故障时间。
通常指通过多重备份来增加系统的可靠性2容错:容错是⽤冗余的资源使计算机具有容忍故障的能⼒,即在产⽣故障的情况下,仍有能⼒将指定的算法继续完成。
2.1冗余与容错的区别:容错主要依靠冗余设计来实现,它以增加资源的办法换取可靠性。
由于资源的不同,冗余技术分为硬件冗余、软件冗余、时间冗余和信息冗余。
硬件冗余是通过硬件的重复使⽤来获得容错能⼒。
软件冗余的基本思想是⽤多个不同软件执⾏同⼀功能,利⽤软件设计差异来实现容错。
信息冗余是利⽤在数据中外加的⼀部分信息位来检测或纠正信息在运算或传输中的错误⽽达到容错。
在通信和计算机系统中,常⽤的可靠性编码包括:奇偶校验码、循环冗余码CRC、汉明码等。
时间冗余是通过消耗时间资源来实现容错,其基本思想是重复运算以检测故障。
按照重复运算是在指令级还是程序级分为指令复执程序复算。
指令复执当指令执⾏的结果送到⽬的地址中,如果这时有错误恢复请求信号,则重新执⾏该指令。
3容灾(Disaster Tolerance)就是在上述的灾难发⽣时,在保证⽣产系统的数据尽量少丢失的情况下,保持⽣存系统的业务不间断地运⾏。
3.1数据容灾数据容灾是指建⽴⼀个异地的数据系统,为了保护数据安全和提⾼数据的持续可⽤性,企业要从RAID保护、冗余结构、数据备份、故障预警等多⽅⾯考虑,将数据库的必要⽂件复制到存储设备的过程,备份是系统中需要考虑的最重要的事项,虽然他们在系统的整个规划。
3.2容灾与容错的区别容错可以通过硬件冗余、错误检查和热交换再加上特殊的软件来实现,⽽容灾必须通过系统冗余、灾难检测和系统迁移等技术来实现。
当设备故障不能通过容错机制解决⽽导致系统宕机时,这种故障的解决就属于容灾的范畴。
4灾难恢复(Disaster Recovery):指的是在灾难发⽣后,将系统恢复到正常运作的能⼒。
如何进行计算机系统的容错和冗余设计
![如何进行计算机系统的容错和冗余设计](https://img.taocdn.com/s3/m/6279079332d4b14e852458fb770bf78a64293a62.png)
如何进行计算机系统的容错和冗余设计计算机系统是现代社会中不可或缺的一部分,它们承担着重要的任务和功能。
然而,计算机系统也存在着硬件或软件故障的风险,这可能会对系统的正常运行和数据的完整性造成严重影响。
为了应对这些风险,容错和冗余设计成为一种常见的解决方案。
本文将介绍如何进行计算机系统的容错和冗余设计。
一、容错设计容错设计是指在计算机系统中加入一定的机制,使其能够在面对硬件或软件故障时保持正常运行。
容错设计的关键目标是确保系统的可用性,即系统能够持续提供服务而不中断。
以下是一些常见的容错设计技术:1. 容错硬件:容错硬件是指采用特殊设计的硬件组件,能够在硬件故障发生时进行自动修复或切换,以保持系统的正常运行。
例如,采用冗余电源、磁盘阵列等硬件设备可以实现故障切换,从而避免单点故障。
2. 容错软件:容错软件是指在系统的设计和编程过程中采用特殊的算法和技术,以实现故障的自动检测、纠正和恢复。
例如,使用冗余数据和校验位进行数据校验和纠错,可以保证数据的完整性。
3. 容错网络:容错网络是指通过网络协议和拓扑设计来提高系统的可靠性和容错性。
例如,采用双机热备份、链路冗余等技术可以防止网络故障对系统的影响。
二、冗余设计冗余设计是指在计算机系统中增加额外的硬件或软件资源,以实现故障恢复和性能提升。
冗余设计的关键目标是提高系统的可靠性和可用性。
以下是一些常见的冗余设计技术:1. 硬件冗余:硬件冗余是指在计算机系统中加入备用的硬件设备,以备份主要设备的功能。
例如,采用双电源供电、磁盘镜像等技术可以确保系统在硬件故障时正常运行。
2. 数据冗余:数据冗余是指在计算机系统中保存备份数据的副本,以保证数据的可靠性和安全性。
例如,数据库的备份和复制可以避免数据丢失。
3. 服务冗余:服务冗余是指在计算机系统中提供备用的服务节点,以确保系统在主服务不可用时仍能继续提供服务。
例如,通过部署多个服务器节点和负载均衡技术,可以实现服务的冗余和故障切换。
常用容错及冗余机制
![常用容错及冗余机制](https://img.taocdn.com/s3/m/e382799427fff705cc1755270722192e453658b4.png)
4 常用容错及冗余机制
4.2双机热备份(容错) 4.2.1 双机热备份的概念
所 谓 双 机 热 备 份 就 是 一 台 主 机 为 工 作 机 〔primary Server〕,另一台主机为备份机〔Standby Server〕,在系 统正常情况下,工作机对信息系统提供支持,备份机监视 工作机运行情况〔工作机同时监视备份机是否正常,有时 备份机因某种原因出现异常,工作机可尽早通知系统管理 工作人员解决,确保下一次切换的可靠性〕。当工作机出 现异常,不能支持信息系统运营时,备份机主动接管 〔Take Over〕工作机的工作,继续支持信息的运营,从而 保证信息系统能够不间断地运行〔Non-Stop〕。当工作机 经过维修恢复正常后,系统管理人员通过管理命令或经由 以人工或自动的方式将备份机的工作切换回工作机,而原 来的工作机就成了备份机。
下图是双机容错系统的硬件示意图
4 常用容错及冗余机制
4 常用容错及冗余机制
4.2.3双机容错的工作模式 双机容错有两种工作模式:一种是热守候,另一种是双工 模式。 1、热守候模式 在热守候模式下,双机容错系统对外只有一个服务(如数 据库服务)在运行。其中一台服务器对外服务另一台处在 守候状态,并不启动服务。当工作的服务器出现问题时, 如数据库服务器出现操作系统挂起、死机、网卡坏、硬盘 控制器坏等等,热守候服务器接管工作主机的任务。
4 常用容错及冗余机制
在RAID 1 over RAID 0架构之下,如果 (RAID 0) A有 一台磁盘驱动器故障,(RAID 0) A就算毁了,当然RAID 1 仍然可以正常工作;如果这时 (RAID 0) B也有一台磁盘驱 动器故障,(RAID 0) B也就算毁了,此时RAID 1的两磁盘 驱动器都算故障,整个RAID 1资料就毁了。
服务器容量规划中的容错与冗余设计
![服务器容量规划中的容错与冗余设计](https://img.taocdn.com/s3/m/ba98d4321611cc7931b765ce0508763231127488.png)
服务器容量规划中的容错与冗余设计在服务器容量规划中,容错与冗余设计是至关重要的。
随着企业对服务器的依赖性不断增加,任何服务器故障都可能导致业务中断和数据丢失,严重影响企业的正常运营。
因此,通过容错与冗余设计来提高服务器的可用性和可靠性是非常必要的。
本文将介绍容错与冗余设计的概念、原理和一些常用的设计方案。
一、容错与冗余设计的概念与原理容错与冗余设计是通过添加冗余系统组件来提高服务器的可用性和可靠性。
容错是指系统能够在部分组件发生故障的情况下,仍能够正常工作。
冗余是指系统中存在多个相同或相互备份的组件,当一部分组件发生故障时,可以自动切换到备份组件,保证系统的连续性。
容错与冗余设计的原理是通过将服务器的各个组件进行冗余化,当其中一个组件发生故障时,可以自动切换到备用组件,不影响系统的正常运行。
容错与冗余设计可以分为软件容错和硬件容错两个层面。
在软件容错方面,常用的设计方法包括备份与恢复、检测与恢复以及数据备份与恢复。
通过设立备份服务器、实时监测系统运行状态以及定期备份数据,可以在软件层面实现容错与冗余。
而在硬件容错方面,可以通过使用冗余硬件设备来保障服务器的可用性和可靠性。
常见的冗余硬件设备包括冗余电源、冗余硬盘阵列(RAID)、冗余网络接口卡(NIC)等。
二、常用的容错与冗余设计方案1. 冗余电源为服务器配置冗余电源是保障服务器稳定运行的重要手段。
当主电源发生故障时,备用电源可以自动接管,避免服务器的停机和数据丢失。
冗余电源常用的设计包括双电源设计和备用电源设计。
双电源设计是指服务器配置两个独立的电源输入,当一个电源故障时,另一个电源可以正常供电。
备用电源设计是指服务器配置备用电源模块,当主电源发生故障时,备用电源可以自动接管供电。
2. RAID技术RAID(Redundant Array of Independent Disks)技术是一种磁盘阵列技术,通过将多个硬盘组合成一个逻辑磁盘单元,提高存储系统的容错性和性能。
ap计算机科学原理容错率
![ap计算机科学原理容错率](https://img.taocdn.com/s3/m/faafb455571252d380eb6294dd88d0d233d43cd4.png)
ap计算机科学原理容错率AP(容错率)是指计算机系统在发生故障或错误时,能够继续提供正常的服务的能力。
容错率是评估计算机系统可靠性的重要指标之一、在AP计算机科学原理中,容错率包括硬件容错和软件容错两个方面。
下面将从这两个方面详细介绍AP计算机科学原理中的容错率。
一、硬件容错硬件容错是指计算机系统在出现硬件故障时,能够自动检测、定位并恢复故障,以确保系统能够继续正常运行的能力。
1.冗余技术:冗余技术是硬件容错的主要手段之一、通过在计算机系统中增加冗余组件,如冗余处理器、冗余存储器、冗余电源等,当一个组件发生故障时,系统可以切换到其他正常的组件上继续运行,保证系统的可靠性和容错性。
2.故障检测与纠正:硬件容错还可以通过故障检测与纠正的方式提高容错率。
例如,通过奇偶校验码、循环冗余检测码等技术,在数据传输过程中检测出数据错误,然后通过纠正码对错误进行纠正,保证数据的完整性和可靠性。
3.容错计算:硬件容错还应用了容错计算的原理。
容错计算是通过将计算任务分配给多个处理器并在计算过程中相互交换信息来提高容错率的一种方法。
当一个处理器发生故障时,其他处理器可以接管任务并继续运行,保证计算任务的完成。
二、软件容错软件容错是指计算机系统通过采取软件技术手段,对软件错误进行检测、定位和纠正,以确保系统在出现错误时能够继续提供正常的服务。
1.异常处理:软件容错的一种方法是通过异常处理来处理软件错误。
异常处理是指在程序执行过程中,当出现错误或异常情况时,系统能够捕获并处理异常,以避免程序的崩溃或异常终止。
通过良好的异常处理机制,可以提高软件的容错性和稳定性。
2.事务管理:软件容错还可以通过事务管理来实现。
事务管理是指将一系列操作组合成一个逻辑单元,保证这些操作要么全部执行成功,要么全部不执行,避免了操作的局部成功和局部失败。
当程序执行过程中出现错误时,可以通过事务回滚来恢复到错误发生前的状态,确保系统数据的一致性和可靠性。
容错技术的4种手段
![容错技术的4种手段](https://img.taocdn.com/s3/m/bb31aae185254b35eefdc8d376eeaeaad1f31621.png)
容错技术的4种手段容错技术是指在计算机系统中为了避免和解决软硬件失效所采用的技术手段。
容错技术是当前计算机系统中不可或缺的关键技术之一,它可以使系统在硬件和软件两方面都更加稳定可靠,为企业提高运行效率、降低损失提供保障。
下面将介绍几种常见的容错技术。
1. 冗余技术冗余技术是指在计算机系统中,对一些关键的硬件或软件部件进行备份,以此来保证计算机系统的运行不会因其中一部分出现故障而受到影响。
例如,可以对计算机存储器进行冗余备份,如果一个存储芯片发生故障,备用芯片可以顶替原来的芯片,使计算机系统继续正常运行。
2. 检错技术检错技术是指通过特定的算法和方法来检测数据传输或存储的过程中出现的错误,从而实现检测、恢复错误的目的。
例如,可以在存储器中增加奇偶校验功能,通过这种方法可以检查存储器中的数据是否正确,以保证数据传输的正确性。
3. 容错硬件容错硬件是一种设计方法,它在硬件电路中嵌入了故障检测和容错修复机制。
当系统中的硬件出现故障时,容错硬件可以检测到这些故障并进行修复,从而保证系统的正常运行。
例如,RAID(独立磁盘冗余阵列)就是一种常见的容错技术,它可以在磁盘阵列中进行数据备份和数据校验,从而保证数据的可靠性和完整性。
4. 容错软件容错软件是指设计具有容错功能的软件程序,这种程序可以检测和处理软件程序中出现的故障或错误,提供恢复或继续运行的选择。
例如,操作系统中的自动重启功能就是一种常见的容错软件,当操作系统发生故障时可以自动进行重启操作,从而避免系统由于故障而崩溃。
总的来说,容错技术对于保证计算机系统的稳定性、可靠性以及数据安全性都具有重要作用。
各种容错技术有各自的优缺点,需要在使用时根据具体情况选择最合适的技术手段。
冗余和容错简单理解
![冗余和容错简单理解](https://img.taocdn.com/s3/m/1c98005cfe00bed5b9f3f90f76c66137ee064fd8.png)
冗余和容错简单理解
冗余和容错是两个相关的概念,都涉及到处理系统中的错误或故障,但它们的实现方式和应用场景有所不同。
冗余是指为了防止系统中的错误或故障而设置的额外资源。
这些资源可以是硬件、软件、信息或时间等,用于提供额外的计算、存储或通信能力,以确保系统在出现故障时仍能继续运行。
冗余可以是通过硬件重复、软件重复、信息冗余和时间冗余等方式实现的。
容错则是指系统在出现故障时能够自动检测和诊断错误,并采取相应的措施来保持系统正常运行的能力。
容错技术通常包括冗余技术、故障检测与隔离、恢复策略等。
容错系统的设计通常会考虑到各种可能的错误情况,并采取相应的措施来减少它们对系统的影响,以提高系统的可靠性和稳定性。
简单来说,冗余是为了提供额外的资源来确保系统能够处理错误或故障,而容错则是通过自动检测和诊断错误并采取相应措施来保持系统正常运行的能力。
容错与冗余技术..
![容错与冗余技术..](https://img.taocdn.com/s3/m/562db074804d2b160b4ec035.png)
容错与冗余技术容错控制的研究虽然面临着空前的挑战,但近些年来,相关研究领域,如鲁棒控制理论,模糊控制,神经网络控制研究的不断深入和发展,也给容错控制的研究带来了良好的机遇,提供了充分的条件。
而计算机控制技术、人工智能等技术的飞速发展,使得容错控制技术在实际工程中应用的可能性变得越来越大。
1.1 容错概念的提出提高系统的可靠性一般有两种办法:1、采用缜密的设计和质量控制方法来尽量减少故障出现的概率。
2、以冗余资源为代价来换取可靠性。
利用前一种方法来提高系统的可靠性是有限的,要想进一步的提高必须采用容错技术。
容错控制技术在国外发展的比较早,是由冯·诺依曼提出的。
随着八十年代微型计算机的迅速发展和广泛应用,容错技术也得到了飞速的发展,容错技术被应用到各个环境中。
我国的容错技术现在发展的也很迅速,一些重要的工作场合如航天、电厂等现在都采用了容错技术。
所谓容错:就是容许错误,是指设备的一个或多个关键部分法生故障时,能够自动地进行检测与诊断,并采取相应措施,保证设备维持其规定功能,或牺牲性能来保证设备在可接受范围内继续工作。
错误一般分为两类:第一类是先天性的固有错,如元器件生产过程中造成的错、线路与程序在设计过程中产生的错。
这一类的错误需对其拆除、更换或修正,是不能容忍的。
第二类的错后天性的错,它是由于设备在运行中产生了缺陷所导致的故障。
这种故障有瞬时性、间歇性和永久性的区别。
容错技术是提高系统可靠性的重要途径。
常采用的容错方法有硬件容错、软件容错、信息容错和时间容错。
1.1.1 智能容错的定义智能容错IFT(Intelligent Fault-Tolerance):就是设备在运行过程中一个或多个关键部件发生故障或即将发生故障之前,利用人工智能理论和方法,通过采取有效措施,对故障自动进行补偿、抑制、消除、修复,以保证设备继续安全、高效、可靠运行,或以牺牲性能损失为代价,保证设备在规定的时间内完成其预定功能。
计算机网络系统的容错技术
![计算机网络系统的容错技术](https://img.taocdn.com/s3/m/501a61b1541810a6f524ccbff121dd36a32dc43e.png)
计算机网络系统的容错技术在当今数字化的时代,计算机网络系统已经成为我们生活和工作中不可或缺的一部分。
从在线购物到远程办公,从金融交易到医疗服务,几乎所有的领域都依赖于稳定可靠的计算机网络。
然而,由于各种原因,网络故障和错误时有发生,这可能会导致严重的后果,如数据丢失、业务中断、服务质量下降等。
为了应对这些问题,容错技术应运而生。
容错技术,简单来说,就是使计算机网络系统在出现故障或错误的情况下,仍然能够继续正常运行或在短时间内恢复正常的技术手段。
它的目标是提高系统的可靠性、可用性和稳定性,减少故障对系统性能和服务的影响。
计算机网络系统中的故障可以分为硬件故障、软件故障和人为操作错误等。
硬件故障包括服务器故障、网络设备故障、存储设备故障等;软件故障可能是由于操作系统漏洞、应用程序错误、病毒攻击等引起的;而人为操作错误则可能是误删除文件、错误配置网络参数等。
为了实现容错,计算机网络系统通常采用多种技术手段。
其中,冗余技术是最常见的一种。
冗余可以分为硬件冗余和软件冗余。
硬件冗余包括电源冗余、存储冗余、网络链路冗余等。
例如,在服务器中采用双电源供电,当一个电源出现故障时,另一个电源可以立即接管,确保服务器的正常运行。
网络链路冗余则是通过在网络中设置多条物理链路,当一条链路出现故障时,数据可以自动切换到其他链路进行传输,从而保证网络的连通性。
软件冗余主要包括数据备份和恢复、系统镜像、软件容错算法等。
数据备份是将重要的数据定期复制到其他存储介质中,以便在数据丢失或损坏时能够进行恢复。
系统镜像则是创建整个系统的副本,当系统出现故障时,可以快速地将系统恢复到之前的正常状态。
软件容错算法则是通过在程序中加入错误检测和处理代码,来提高软件的可靠性。
容错技术还包括故障检测和诊断技术。
故障检测是及时发现系统中出现的故障,这通常通过监测系统的各种参数和状态来实现。
例如,监测服务器的 CPU 使用率、内存使用率、网络流量等,如果这些参数超出了正常范围,就可能表示系统出现了故障。
局域网组建中的网络容错与冗余设计
![局域网组建中的网络容错与冗余设计](https://img.taocdn.com/s3/m/5d0589ca70fe910ef12d2af90242a8956becaae7.png)
局域网组建中的网络容错与冗余设计网络容错与冗余设计在局域网组建中的重要性局域网作为一个较小范围的网络,通常连接着多个计算机和设备。
在局域网的组建过程中,网络容错与冗余设计是非常重要的,它们可以提高网络的可用性和稳定性,确保网络的正常运行。
本文将探讨在局域网组建中网络容错与冗余设计的应用。
一、容错技术1. 容错技术的概念容错技术是指在网络出现故障时,网络具备自动发现和修复故障的能力。
它通过多种技术手段,在网络故障发生时能够自动切换到备用路径或备用设备,以减少网络中断的时间和影响。
2. 容错技术的应用容错技术可以应用在多个方面,以下为几种常见的容错技术:- 冗余链路:通过使用多个链路连接设备,当其中一个链路发生故障时,可以自动切换到备用链路,确保网络的连通性。
- 冗余设备:通过在网络中添加冗余设备,如冗余交换机、冗余路由器等,当原设备故障时,可以自动切换到备用设备,维持网络的正常运行。
- 冗余电源:在关键设备上配置冗余电源供电,当主电源故障时,冗余电源可以立即接管,保持设备的持续工作。
二、冗余设计1. 冗余设计的概念冗余设计是在网络中加入冗余部件,通过提供备用路径或备用设备来增加网络的可靠性。
当网络中的某个部件发生故障时,冗余设计可以自动切换到备用部件,保证网络的连通性和正常运行。
2. 冗余设计的应用冗余设计可以在不同层级的网络中进行,以下为几种常见的冗余设计:- 冗余链路设计:在局域网中使用冗余链路连接交换机、路由器等设备,当一条链路发生故障时,可以自动切换到备用链路,确保网络的连通性。
- 冗余设备设计:在网络中使用冗余设备,如冗余交换机、冗余路由器等,当原设备故障时,可以自动切换到备用设备,维持网络的正常运行。
- 冗余协议设计:在网络中使用冗余协议,如热备份协议(HSRP)、虚拟路由冗余协议(VRRP)等,当主设备发生故障时,备用设备可以接替主设备的功能,确保网络的连通性。
三、网络容错与冗余设计的实践在局域网组建中,网络容错与冗余设计的实践是非常重要的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机冗余容错fault-tolerant computerrongCUO llSUQn』l 容错计算机(fault-tol~t computer)在硬件发生故障或软件产生错误时仍能继续运行并完成其既定任务的计算机系统。
容错计算机的主要设计目标是为了提高计算机系统的可靠性、可用性和可信性等性能。
提高计算 ·600· 容机可靠性的方法可以分为两大类:一类是排错技术,主要是通过使用可靠性高的元器件,严格的老化筛选等方法达到尽量减少发生故障的可能性;另一类是容错技术,主要是运用元余技术来抵消由于故障而引起的影响。
所谓冗余技术,简单地说,是在正常系统运行所需的基础上加上一定数量的信息、时间或后备硬件、后备软件的方法。
冗余技术是容错计算机中容错技术的基础。
冗余大致上可以分为下列几种类型: (l)硬件冗余以检测或屏蔽故障为目的而添加一定硬件设备的方法; (2)软件冗余为了检测或屏蔽软件中的错误而添加一些在正常运行时不需要的软件的方法; (3)信息冗余在实现正常功能所需的信息以外,再附加一些信息的方法,例如纠错码就是信息冗余的一种形式; (4)时间冗余使用附加一定的时间来完成系统的功能,这些附加的时间主要是用在故障检测或故障屏蔽上。
最常用的硬件冗余是硬件的重复。
硬件冗余一般可以分为3种类型:静态冗余(也称为被动冗余)、动态冗余(也称为主动冗余)和混合冗余。
静态冗余将已发生的故障屏蔽起来,使不影响运行的结果。
被动冗余主要是依靠表决机制来屏蔽发生的故障,因而这种方法不需要故障检测也不必进行系统的重新配置等就可以获得容错的效果。
被动冗余技术中使用最广的是三模元余TM[R。
TMR的基本概念是使用3套完全相同的硬件系统执行相同的任务,然后由1个多数表决器对这3套系统的输出进行表决以确定整个系统的输出。
多数表决器的表决原则是三中取二。
也就是说三模冗余系统可以容许有1个模块发生故障而不至于影响到整个系统运行的正确性。
三模冗余的关键是多数表决器本身的可靠性问题。
提高多数表决器可靠性的方法有多种,其中最常用的方法是多数表决器本身也使用三模冗余,即利用3个独立的多数表决器,每个多数表决器分别接受来自3个模块的输出作为它的输人,然后再分别输出。
这种系统通常被称为带三重多数表决器的三模冗余系统。
除了三模冗余系统外,还有多于三模的冗余,称为N模冗余。
主动冗余技术与被动冗余技术相反,它是通过故障检测、故障定位及故障恢复等手段达到容错的目的。
因而在主动冗余技术中不是去防止故障引发的错误,而是暴露由故障引发的错误,从而去纠正错误。
主动冗余技术中最典型的方法是构造带有比较器的双工系统。
在这种方法中,使用两套完全相同的硬件,且同时完成完全相同的任务,然后对它们的结果作比较。
当然,仅仅有1 个比较器的双工系统只能检测到有无故障,尚不足以确定哪一个模块出了故障。
所以在这样的系统中还必须增加一定的措施才能作故障定位。
动态冗余技术除了上述方法以外,还有诸如热备份、使用把关定时器等都是较为常用的方法。
硬件冗余的第三种类型是混合冗余。
这种技术是将主动冗余和被动冗余结合起来,且取二者之长处。
它先使用被动冗余中的故障屏蔽技术,使系统免受某些可以被屏蔽的故障的影响。
而对那些无法屏蔽的故障则采用主动冗余中的故障检测、故障定位、故障恢复等技术,并且对系统可以作重新配置。
因此,混合冗余的效果要大大优于主动和被动冗余。
然而,由于混合冗余既要有被动冗余的屏蔽功能,又要有主动冗余的各种检测、定位等功能,它的附加硬件的开销是相当大的,所以混合冗余的成本很高,仅在对可靠性要求极高的场合中采用。
混合冗余的方法也有多种,例如,带热备份的N模冗余技术,自清洗冗余技术、筛选模块冗余技术等。
信息冗余是一种将冗余信息添加到数据上从而达到故障检测、故障屏蔽和容错的目的。
信息冗余最好的例子就是检错码和纠错码。
这是将冗余的信息加到一个数据字上使每一个数据字变为一个新的带有冗余信息的字。
这种冗余信息的添加方法是按照一组预定的规则进行的。
符合添加规则而形成的带有冗余信息的字称为码字,而那些虽带有冗余信息但不符合添加规则的字则称为非码字。
按添加冗余信息的规则加上冗余信息的过程称为编码。
反之,将已编码的字恢复成原来形式的过程则称为译码。
一般来说,经过编码的码字只是全部编码的子集,另一部分则是非码字,当系统出现故障时,可能会将码字变成非码字,于是在译码过程中会将引起非码字的故障检测出来。
这就是检错码的基本思想。
至于纠错码则不仅可以将错误检测出来,而且还能将由故障引起的非码字纠正成正确的码字。
由此可见,信息冗余的主要任务在于研究出一套理想的编码和译码技术来提高信息冗余的效率。
编码技术中最简单、最常用的检错码是奇偶校验码。
奇偶校验的基本思想是在二进制的信息字上附加一位冗余位,称为校验位,使得该码字(这里的码字是信息位加上冗余位而形成的信息字)中所含有的1的个数为偶数或为奇数b如果码字中的1的个数为偶餐·60 1. 容数,则称这种校验为偶校验。
如果码字中的1的个数为奇数,则称这种校验为奇检验。
由于奇偶校验码简单实用,便于硬件的实现,因而在计算机系统中被广泛使用。
但是奇偶校验码存在一定的缺点,例如它不能检测偶数个同时发生的故障,因而在它的基础上又发展了多种不同的奇偶校验码,例如分段奇偶校验码、分字节奇偶校验码等。
除此以外,还有、中取m”码、双重码、检查和以及循环码等都是常用的检错码。
汉明码(参见存储器差错校验)是纠错码中最典型的代表。
它不仅能够检测出1个甚至两个故障,而且还能将错误纠正过来,将非码字改正为码字,因而被广泛采用。
时间冗余是以时间(即降低系统运行速度)为代价以减少硬件冗余和信息冗余的开销来达到提高可靠性的目的。
在某些实际应用中,硬件冗余和信息冗余的成本、体积、功耗、重量等开销可能过高,而时间并不是太重要的因素时,可以使用时间冗余。
时间冗余的基本概念是重复多次进行相同的计算,或称为重复执行,简称复执,以达到故障检测的目的。
实现时间冗余的方法很多,但是其基本思想不外乎是对相同的计算任务重复执行多次,然后将每次的运行结果存放起来再进行比较。
若每次的结果相同则认为无故障;若存在不同的结果则说明检测到了故障。
不过,这种方法往往只能检测到瞬时型故障而不宜检测永久型的故障。
这是因为瞬时型故障会使各次运行产生不同的结果。
若不仅要检测瞬时型故障,而且还要检测固定故障等永久型故障,则单靠时间冗余是有困难的。
因此,在系统中还必须附加少量的冗余硬件。
时间冗余与硬件冗余的结合,既能检测瞬时型故障,又能检测永久型故障。
软件冗余是利用冗余的软件来检测硬件和软件故障的方法。
利用冗余软件进行故障检测的方法很多。
常用的有一致性检查、能力检查和多版本程序设计等。
一致性检查是对某一运行结果先作一定的预测,然后在程序运行中和运行后对其结果与预测的结果作比较。
若实际结果在期望值的范围内,则一认为正常,若实际结果超越了期望值的范围,则认为有故障。
能力检查是用检查程序去检查系统中各个部件应有的能力,例如用程序来读写某一个存储单元,以检查该单元的存储和读写能力,又如用一组特定的数据去检查运算逻辑部件,以判断该部件能否进行正常的运算等。
多版本程序设计是对一个相同的任务(或算法)用不同的方法进行程序设计,然后对不同版本的程序运行后得到的结果进行比较,若所有版本运行的结果相同,则认为无故障,否则,就认为有故障存在。
值得注意的是,这种方法实际上是来自于硬件冗余技术中的N模冗余的思想。
多版本程序设计不仅能检查硬件故障,也可以检查软件本身的故障,因此,在软件容错技术中经常使用。
上述的冗余技术,即硬件冗余、信息冗余、时间冗余和软件冗余是使系统获得容错功能和提高可靠性的基本措施和手段。
在实际应用中,上述4种冗余技术经常是结合起来使用的。
将这些冗余技术融合在一个计算机系统中,就称这个系统为冗余系统。
一般说来,一个较为完整的冗余系统,在处理运行中出现的故障时,大体上有以下10个步骤: (l)故障检测这是处理故障的基础,因为要容错就先要将故障检测出来。
故障检测的方法很多,如上述的奇偶校验就是检测故障的一种方法。
故障检测一般分为两类:联机检测和脱机检测。
前者提供了实时检测的能力,这种检测工作与系统的正常工作同时进行。
后者在进行检测时,系统必须停止正常工作。
(2)故障屏蔽这与故障检测正好相反,它不是将故障检测出来,而是将出现的故障屏蔽起来,使系统不受故障的影响。
(3)故障限制限制故障影响的范围,防止已发生的故障影响到系统的其它部分。
(4)复执这是一种检测瞬时型故障的有效措施。
它可以提高计算机抗瞬时型故障干扰的能力。
(5)故障诊断在故障检测的基础上,对故障进行定位。
这对以后的修复、重配置等有很重要的意义。
(6)系统重配置若故障一旦被检出并定位,系统应有能力将发生故障的元件或部件替换下来,或将故障部件与其它部分隔离开来。
当故障部件被替换下来后,系统中可能缺少了这一部件,但系统仍应能保持正常运行,只是系统运行速度下降、功能减弱。
这一现象称为系统降级使用。
(7)系统恢复当检测出故障,必要时在系统重配置后即可消除故障引发的差错。
这时,系统应能返回到出现故障断点前的情况继续运行。
这个过程称为系统恢复。
(8)系统重新启动如果系统由于出现过多的故障而造成大量的错误,以致破坏了许多无法恢复的信息时,就不能再使用上述的系统恢复的办法,而必须重新启动运行。
重新启动分为热启动和冷启动。
前者是在部分信息遭到破坏但还有一部分可以利用的情况时使用,而后者则是在几乎所有信息均遭破坏的情况下使用。
(9)修复凡是已确定有故障的部件必须进行修复。
修复分为脱机修复和联机修复二种。
若要修复的部件卸下后对系统影响不大,或者修复这些部件时系统必定会停机,就使用脱机修复。
联机修复通常是指系统能自动启用备份部件替代有故障部件,并保持系统继续运行,然后再修复切换下来的故障部件。
(10)系统重组合当上述各步完成后,系统必须重新组合,以便完全恢复正常运行。
容错计算机主要应用于工业生产、医疗、航空、航天、军事、公安、交通、金融、机要等部门对计算机的可靠性要求很高的场合。
在应用需求的推动下,容错计算机的理论和技术在不断发展。
尤其是在硬件和软件容错理论、测试算法、诊断技术等方面,尚需继续深人研究。