分布式实时数据库的事务恢复机制.doc
《分布式实时数据库的事务恢复机制.doc》由会员分享,可在线阅读,更多相关《分布式实时数据库的事务恢复机制.doc(55页珍藏版)》请在三一办公上搜索。
1、分布式实时数据库的事务恢复机制摘要分布式技术与实时数据库技术二者的结合产生了分布式实时数据库。分布式实时数据库广泛应用在电子商务、电子信息服务和智能电信系统等领域。由于分布式实时数据库不是分布式技术与实时数据库技术功能的简单相加,所以增加了事务并发控制和数据库恢复的难度,特别是事务提交协议在分布式实时数据库的应用中存在很多问题,比如典型的“优先级倒置”问题,死锁问题等等。传统的事务提交协议在提交分布式事务时,在不同阶段及不同的参与结点之间交换各种信息,同时也会产生一些日志记录,其中有些必须写回磁盘,这对于实时数据库的实时性将有很大影响。因此,如何选择提交协议在设计一个分布式实时数据库系统中成为
2、最重要的决定之一。本论文在对分布式实时数据库恢复技术和国内外现存的各种分布式实时数据库的事务提交协议进行分析和比较的基础上,提出了一种新的事务提交协议2SCEP( 即Double Space Commit Early Prepare)协议。2SCEP协议从两个方面来提高其实时性能。一方面,对于处于预提交状态的事务,不仅健康的事务可以借出其所持有的数据,而且非健康事务也可借出其数据给其提交依赖集中的事务,因此提高了借出程度;另一方面,将提交处理的第一阶段与数据处理阶段交叉执行,增加了借出时间,减少了参与者处于预提交状态的等待时间,提高了系统的实时性能。本文详细阐述了2SCEP协议的协议机制、特点
3、、事务提交处理及系统集成,并在一定的并发控制机制(基于改进的2PL-HP协议)之上构建了一个分布式实时数据库模型,分别实现了2SC协议及2SCEP协议,最后对2SC和2SCEP协议的性能进行了分析和比较,得出了有益的结果。关键词:分布式实时数据库,事务恢复,分布式实时事务提交协议,2SCEP协议Study of The Transactions Recovery of Distributed Real-Time DatabaseAbstractDistributed real-time database system comes into being, which is widely empl
4、oyed in many fields such as e-commerce and information services as well as intelligent telecom systems. However, such a system is not a simple combination of real-time database technology and distributing technology. In such a system, difficulties of transaction concurrency control and transaction r
5、ecovery grow up a lot. Currently, commit protocol in this system is the one of the hard ones, with which much is still left to be done. For instance, the typical Priority Inversion problem and deadlock problem. Traditional commit protocol requires exchange of various messages in multiple phases betw
6、een the participating sites where a distributed transaction executes. In addition, several log records are generated, some of which must be “forced”,that is,flushed to disk immediately. Such an action will definitely affect the performance of the real-time system. Therefore, an effective commit prot
7、ocol is a must in the establishment of a real-time Database system with high performance. After a detailed technical analysis of the recovery mechanism of real-time database system and a further comparative study of current commit protocol, this dissertation comes up with a new commit protocol named
8、 2SCEP(short form for Double Space Commit Early Prepare). It gains good performance. On the one hand, when a cohort in preparing (to commit) want to enter committing phase, not only a healthy transaction could lend its data, but an unhealthy transaction could lend its data to transactions which is i
9、n its commit dependency set. On the other hand, the first phase of commit processing is overlapped with the data processing phase, which reduce the overheads of waiting time in preparing state and increase the time for lending. So it enhances the real-time performance of the DRTDBS.This dissertation
10、 discusses the features, protocol mechanics, system integration and data processing phase of 2SCEP protocol. And based on it, a simulation model is established with one concurrency control protocol (improved Two Phase Lock-High Priority, 2PL-HP), and a further extensive experiment with 2SC protocol,
11、 is carried out to compare its performance with beneficial results concluded. Key Words: Distributed Real-Time Database(DRTDB),transaction recovery,Distributed real-time transaction commit protocol,2SCEP protocol目录 序 言1第1章集中式数据库的事务恢复机制31.1事务恢复31.2 基于运行记录的恢复技术31.3 运行记录的结构4第2章分布式数据库的事务恢复机制62.1 故障模型62.
12、1.1集中式数据库系统的故障模型62.1.2分布式数据库系统的通讯故障模型62.2分布式数据库中的事务提交协议72.2.12PC协议72.2.2 3PC协议122.3 分布式数据库中对故障的处理13第3章分布式实时数据库的事务提交协议163.1分布式实时数据库的事务提交163.1.1分布式实时数据库163.1.2分布式实时数据库的事务提交173.2分布式实时数据库中的事务提交协议173.2.1 PROMPT协议183.2.2 DDCR协议193.2.3 2SC协议223.2.4 几种协议的比较23第4章2SCEP协议254.12SCEP协议特点254.1.1 一段提交处理254.1.2预提交数
13、据的借出254.1.3解决恶意借出和死锁问题264.1.4数据冲突解决机制284.1.5cohorts的内在的主动终止284.1.6内在的基于进度的优先级增加294.22SCEP协议机制294.32SCEP协议的提交处理314.4系统集成32第5章实验模型的构建345.1实验模型的构建原则345.1.1数据库模型355.1.2时限分配355.1.3事务执行355.1.4优先级分配365.1.5并发控制365.1.6日志375.1.7性能参数375.2模型的构建375.2.1开发平台375.2.2 分布式实时数据库系统模型的整体结构385.2.3分布式实时数据库模型的设计395.2.4分布式实时
14、数据库系统模型事务管理层的设计40总结与展望47参考文献48致 谢50攻读硕士学位期间发表的学术论文目录51序 言实时系统和数据库结合产生的实时数据库技术在工厂生产自动控制、电话交换、电力或数据网络管理、雷达跟踪、CIMS(Computer Integrated Manufacturing System)、证券交易等领域应用日益广泛。同时,随着网络技术和分布式计算的蓬勃发展应运而生的电子商务、电子信息服务和智能电信系统等,要求实时数据存贮在分布的结点上。这就产生了分布式实时数据库。由于分布式实时数据库增加了事务并发控制和数据库恢复的难度,因此它不可能是二者功能的简单相加。特别是分布事务提交协议
15、在分布式实时数据库的应用中存在很多问题,比如典型的“优先级倒置”问题,死锁问题等等。传统的事务提交协议要求在不同阶段,在不同的参与结点之间交换各种信息。同时,会产生一些日志记录,其中有些必须写回磁盘。这对实时数据库的实时性将有很大影响。因此,选择提交协议在设计一个分布式实时数据库系统中成为最重要的决定之一。分布式实时数据库系统中的事务提交处理是当前RTDBS(Real-Time Database Systems)和RTSS(Real-Time Systems Symposium)两大年会研究的重点所在。本论文重点分析、研究了目前国内外分布式实时数据库事务提交协议的最新研究成果,并提出了一种新的
16、事务提交协议2SCEP协议(for Double Space Commit Early Prepare)。2SCEP协议从两个方面来改进其实时性能:一方面,对于处于预提交状态的事务,不仅健康的事务可以借出其所持有的数据,即使是非健康事务也可借出数据给其提交依赖集中的事务,因此增加了借出程度;另一方面,将提交处理的第一阶段与数据处理阶段交叉执行,增加了借出时间,减少了参与者处于预提交状态的等待时间,因此提高了系统的实时性能。作为验证,构建了一个分布式实时数据库模型,在一定的并发控制机制之上(扩展的2PLHP协议)实现了2SC协议及2SCEP协议。本论文的整体框架如下:首先介绍了传统的集中式数据库
17、的事务恢复机制;然后介绍了分布式数据库的事务恢复机制,说明了它与集中式数据库的事务恢复机制的异同及其所具有的难度,并详细介绍了分布式数据库的事务提交协议(2PC协议和3PC协议);接下来介绍了在分布式实时数据库中使用传统分布式数据库的事务提交协议(2PC)所带来的问题,并分别介绍了为解决这些问题而提出的适用于分布式实时数据库的事务提交协议:PROMPT、PEP、DDCR、2SC协议等;然后基于以上的分析、比较,提出了一种新的分布式实时事务提交协议2SCEP协议,并详细介绍了2SCEP协议的协议机制,分析其可能出现的问题,提供了解决方案;为了验证2SCEP协议的性能,我们构建了一个实验模型,并给
18、出了其详细的构建过程;最后通过实验结果分析,得出了有益的结论。第1章集中式数据库的事务恢复机制1.1事务恢复事务是数据库管理系统(DBMS)的执行单位,事务应满足ACID(原子性,一致性,隔离性,持久性)准则。保证事务在故障时满足ACID准则的技术称为恢复。要恢复丢失的数据,数据必须有后备的复本。对于恢复,数据冗余是必需的。恢复技术大致分为下列3种:1.单纯以后备复本为基础的恢复技术 即周期性地把磁盘上的数据库转储(dump)到磁带上,磁带上的数据库复本称为后备复本。当数据库失效时,可取最近的后备复本来恢复数据库。 此种恢复技术实现简单,但不能恢复到数据库的最近一致状态。 2.以后备复本和运行
19、记录(log或journal)为基础的恢复技术运行记录是供恢复用的数据库运行情况的记录。当数据库失效时,可取出最近后备复本,然后根据运行记录,对未提交的事务用前像卷回;对已提交的事务,必要时用后像重做。由于此种恢复技术可使数据库恢复至最近的一致状态,在数据库系统中用得最多。3.基于多复本的恢复技术如果系统中有多个数据库复本,而且这些复本具有独立的失效模式(指各个复本不致因同一故障而一起失效),则可利用这些复本互为备份,用于恢复。近来由于硬件价格下降,在某些可靠性要求高的系统中,采用镜像磁盘技术,即数据库以双复本的形式存于两个独立的磁盘系统中。由于第二种恢复技术在数据库系统中用得最多,大部分商品
20、化的DBMS都支持这种恢复技术,以下我们对这种恢复技术进行详细介绍。1.2 基于运行记录的恢复技术运行记录王能斌编著,数据库系统原理,电子工业出版,2000年1月,136-161是供恢复用的数据库运行情况的记录。一般包括下列3个内容:1.前像(before image,BI):当数据库被一个事务更新时,所涉及的物理块更新前的映像(image)称为该事务的前像。前像以物理块为单位。有了前像,如果需要,可以使数据库恢复到更新前的状态,即撤消更新,这种操作在恢复技术中称为撤消(undo)。 2.后像(after image,AI):当数据库被一个事务更新时,所涉及的物理块更新后的映像(image)称
21、为该事务的后像。后像以物理块为单位。有了后像,即使更新的数据丢失了,仍可以使数据库恢复到更新后的状态,相当于重做一次更新,这种操作在恢复技术中称为重做(redo)。3.事务状态:记录每个事务的状态,以便在恢复时做不同的处理。每个事务从交付DBMS到结束为止,其状态的变迁如图1-1所示。每个事务有两种可能的结局:一是经提交(commit)而结束,这标志着事务已成功地执行(这相当于all),只有在事务提交后,事务对数据库的更新才能被其它事务访问;另一种结局是由于事务本身或外部的原因,事务失败,要消除事务对数据库的影响(这相当于nothing)。对事务的这种处理称为卷回(rollback或abort
22、)。对恢复来说,不必记下图1-1中的每个状态,但是至少要区分出一个事务是提交的,还是未提交的。事务结束图1-1事务状态变迁图事务开始活动状态操作结束事务提交事务失败卷回事务结束当数据库失效时,可取出最近后备复本,然后根据运行记录,对未提交的事务用前像卷回,这叫向后恢复(backward recovery);对已提交的事务,必要时用后像重做,这叫向前恢复(forward recovery)。用这种恢复技术,必须有运行记录。 1.3 运行记录的结构运行记录一般不能和数据库放在同一磁盘上,以免在磁盘损坏时,两者同归于尽。运行记录的结构因数据库管理系统(DBMS)而异。下面列出运行记录中的一些基本内容
23、,实际DBMS的运行记录还可能包括若干其它细节,具体结构也不一定相同。1. 活动事务表活动事务表(active transaction list, 简称为ATL)记录所有正在执行,尚未提交的事务的标识符(transaction identifier,简称TID)。2. 提交事务表提交事务表(committed transaction list,简称CTL)记录所有已提交的事务的标识符。在提交时,应先将要提交的TID列入提交事务表,然后再从活动事务表中删除该TID。如果先从活动事务表中删除TID,再将TID加入提交事务表,则可能冒如下的危险:即TID刚从活动事务表中删除后,该事务的状态在系统中将
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分布式 实时 数据库 事务 恢复 机制
链接地址:https://www.31ppt.com/p-4015837.html