一种基于两阶段封锁的分布式实时提交协议.pdf
上海理工大学学报
第31卷第3期.UniversityofShanghaiforScienceandTechnologyVol.31No.32009
文章编号
一种基于两阶段封锁的分布式实时提交协议
孙红,姚新苗
(上海理工大学光电信息与计算机工程学院,上海200093)
摘要:分析了当提交状态参与者允许执行状态的参与者访问其数据时,由数据冲突访问而引起的
各种依赖关系,提出了一种基于两阶段封锁的乐观提交协议(OCP).让参与者先发送一个WORK-
STARTED消息来代替WORKDONE消息,考虑依赖关系,允许只包含提交依赖的访问者发送
WORKSTARTED消息来解除阻塞,从而减少了事务提交的处理时间,也消除了级联撤销.
关键词:提交;撤销;WORKSTARTED消息;WORKDONE消息
中图分类号:TP311.133文献标志码:A
SUNHong,YAOXin-miao
(SchooofOptica-ElectricaandComputerEngineering,UniversityofShanghaifor
ScienceandTechnology,Shanghai200093,China)
Allkindsofdependenciesthatmayariseduetodataaccessconflictsinexecuting-com-
mittingtransactionwereanalyzed,whenacommittingcohortisallowedtolenditsdatatoanexecu-
tingcohort.Anoptimisticcommitprotocolbasedontwophaselocking(OCP)wasthenproposed,in
whichWORKSTARTEDmessageissentinplaceofWORKDONEmessagejustbeforethestartof
processingphaseofthecohort.Furthermore,incaseofdependency,borrowerwithonlycommitde-
pendencyisallowedtosendWORKSTARTEDmessageinsteadofbeingblocked.Thisreducesthe
timeneededforcommitprocessingandisfreefromcascadedaborts.
commit;abort;WORKSTARTEDmessage;WORKDONEmessage
一个实时数据库系统在处理分布式数据时应该冲突可以发生在执行阶段的两个事务之间(执行-
保持数据一致性,同时也要满足和事务相关的时间执行冲突),也可以发生在执行阶段的一个事务和提
约束,尤其是对事务截止期而言.为了解决事务截止交阶段的一个事务之间(执行-提交冲突).虽然,两
期问题,一个重要因素就是要解决事务之间的数据个执行事务的数据冲突在一定程度上可以得到解
访问冲突.通常一个事务的生命期分成两个阶段,即决,但是发生在执行提交阶段的事务间的数据冲突
[1]
执行阶段和提交阶段.在执行阶段,一个事务的一却不能得到很好的解决.分布式实时数据库系统中
系列操作是分布在系统中的不同站点上.而在提交的提交过程很大程度上增加了事务执行时间,这也
阶段,往往通过提交协议来保证事务的原子性.数据影响了系统处理事务截止期的能力.因此,对分布式
收稿日期