文档介绍:该【分布式系统与web服务之容错与实时系统概述 】是由【小吴】上传分享,文档一共【84】页,该文档可以免费在线阅读,需要了解更多关于【分布式系统与web服务之容错与实时系统概述 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。第七章 容错与实时系统
属性:
可用性
可靠性
保险性
可信任性
完整性
可维护性
后果:
失灵
错误
故障
策略:
防止故障
故障容错
故障恢复
故障预报
什么是“可依赖的系统〞?
如何区分各种故障?
如何处理故障?
容错与实时系统是分布式系统的两大领域.
一般而言,容错效劳是允许系统出错的,但它可以在故障后恢复,而不丧失数据。
大多数容错应用有两种形式,一种叫做基于事务的容错;二种叫做进程控制的容错,二者的主要区别在于恢复时间。
容错具有两个方面,一是故障特征的描述,二是故障屏蔽, 故障屏蔽的方法有层次式屏蔽和成组屏蔽两种.
本章中将讨论相关设计中的主要问题包括协议、调度策略和设计依据等。
7.1 事务的故障模型
利用事务处理效劳的概念起源于数据库管理,最初的目的是提供原子性协议,用于处理消息的丧失。原子提交协议接受这样一个模型:机器在故障时,将不能做任何事情;而在故障前均能正确地做任何事。对于事务的处理,要考虑磁盘出错,效劳器故障及通信不畅等出错问题,这样便需要一个故障模型,在该模型中,事务处理算法可以在可预测的故障下正常工作(含利用恢复技术),但不保证在出现不可预测的灾难性故障下也能恢复正常工作。
故障模型描述如下:
,可能未写人,也可能写错
例如在出现灾难性故障.
。
。消息可能丧失、重复
或受损。接收消息的效劳器应该能够检测消息损坏情
况。所有出错或未检测出的受损消息都会引起严重故
障。
以上故障模型的特点有:
(1)原子提交协议不能保证在有限的时间内完成,因为通
信消息的延迟可能无限大;
(2)分布式事务的恢复时间可能要比预料的时间长;
(3)原子提交协议认为,效劳器总能正确执行并能检测故
障;
(4)原子提交协议认为,永久性存储器上的受损消息和出
错数据是可检测的。
以上故障模型是设计稳定存储器的根底,稳定存储器要在写操作出现故障时、或在进程故障时提供原子写操作。通信故障可以通过可靠的RPC协议缓解。下面先讨论稳定存储器,此后更详尽地讨论容错概念与技术。
7.2 稳定存储
效劳器(特别是文件效劳器)的重要特性就在于其可恢复性,特别是文件映射表和文件索引的恢复。文件访问一般有这样几种出错情况:读块时出错、写块时出错、数据传输时出错及存储介质本身出错。
因此,需要一种检测错误的方法,一般采用计算并记录校验和的方法来解决,这一方法步骤如下:
(1)写块时,计算数据的校验和并记录下来;写块后,一般要读出一次,进行校验和比较,假设不同那么再写;同样,经过一定次数的重写后,假设读出的校验和仍与写入的校验和不同,那么记下“坏块〞,并向客户机报错,从而保证写时的正确性。
(2)读块时,计算读出数据的校验和并与原记录的校验和比较,假设不同,那么重新读块。经过一定次数的重读后,假设校验和仍然不同,那么向客户机报错。这样,保证防止产生读块时的错误。
上述方法叫做精心块传输(CBT,Careful Block Transfer)方法,但是这种方法并不保证其可恢复性,因为假设在写索引时出现错误,那么所有文件块均将访问不到,如果在写文件映射表时出错,那么无法再访问文件。针对这两种情况,文件映射表和文件索引一般要备份存储,当系统出现故障后,读操作发现校验和不一致时,那么效劳器可利用备份进行恢复。
这种备份一般采用两种存储结构,以减少两备份同时出现错误的可能性,一种常用的结构就是文件映射表和文件索引。