如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
PAGEIIPAGEII分布式实时数据库的事务恢复机制摘要分布式技术与实时数据库技术二者的结合产生了分布式实时数据库。分布式实时数据库广泛应用在电子商务、电子信息服务和智能电信系统等领域。由于分布式实时数据库不是分布式技术与实时数据库技术功能的简单相加,所以增加了事务并发控制和数据库恢复的难度,特别是事务提交协议在分布式实时数据库的应用中存在很多问题,比如典型的“优先级倒置”问题,死锁问题等等。传统的事务提交协议在提交分布式事务时,在不同阶段及不同的参与结点之间交换各种信息,同时也会产生一些日志记录,其中有些必须写回磁盘,这对于实时数据库的实时性将有很大影响。因此,如何选择提交协议在设计一个分布式实时数据库系统中成为最重要的决定之一。本论文在对分布式实时数据库恢复技术和国内外现存的各种分布式实时数据库的事务提交协议进行分析和比较的基础上,提出了一种新的事务提交协议2SCEP(即DoubleSpaceCommitEarlyPrepare)协议。2SCEP协议从两个方面来提高其实时性能。一方面,对于处于预提交状态的事务,不仅健康的事务可以借出其所持有的数据,而且非健康事务也可借出其数据给其提交依赖集中的事务,因此提高了借出程度;另一方面,将提交处理的第一阶段与数据处理阶段交叉执行,增加了借出时间,减少了参与者处于预提交状态的等待时间,提高了系统的实时性能。本文详细阐述了2SCEP协议的协议机制、特点、事务提交处理及系统集成,并在一定的并发控制机制(基于改进的2PL-HP协议)之上构建了一个分布式实时数据库模型,分别实现了2SC协议及2SCEP协议,最后对2SC和2SCEP协议的性能进行了分析和比较,得出了有益的结果。关键词:分布式实时数据库,事务恢复,分布式实时事务提交协议,2SCEP协议StudyofTheTransaction’sRecoveryofDistributedReal-TimeDatabaseAbstractDistributedreal-timedatabasesystemcomesintobeing,whichiswidelyemployedinmanyfieldssuchase-commerceandinformationservicesaswellasintelligenttelecomsystems.However,suchasystemisnotasimplecombinationofreal-timedatabasetechnologyanddistributingtechnology.Insuchasystem,difficultiesoftransactionconcurrencycontrolandtransactionrecoverygrowupalot.Currently,commitprotocolinthissystemistheoneofthehardones,withwhichmuchisstilllefttobedone.Forinstance,thetypicalPriorityInversionproblemanddeadlockproblem.Traditionalcommitprotocolrequiresexchangeofvariousmessagesinmultiplephasesbetweentheparticipatingsiteswhereadistributedtransactionexecutes.Inaddition,severallogrecordsaregenerated,someofwhichmustbe“forced”,thatis,flushedtodiskimmediately.Suchanactionwilldefinitelyaffecttheperformanceofthereal-timesystem.Therefore,aneffectivecommitprotocolisamustintheestablishmentofareal-timeDatabasesystemwithhighperformance.Afteradetailedtechnicalanalysisoftherecoverymechanismofreal-timedatabasesystemandafurthercomparativestudyofcurrentcommitprotocol,thisdissertationcomesupwithanewcommitprotocolnamed2SCEP(shortformforDoubleSpaceCommitEarlyPrepare).Itgainsgoodperfo