网站大量收购独家精品文档,联系QQ:2885784924

分布式数据库中的并发控制.pptVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

总结具有意向锁的多粒度加锁方法中,任意事务T要对一个数据对象加锁,必须先对它的上层节点加意向锁申请封锁时应该按自上而下的次序进行释放锁时则应该按自下而上的次序进行具有意向锁的多粒度加锁方法提高了系统的并发度,减少了加锁和释放锁的开销它已经在实际的DBMS系统中广泛应用,例如Oracle中2.4多粒度封锁与意向锁2分布式数据库系统并发控制机制的封锁技术3分布式数据库系统中的死锁处理死锁发生的条件互斥条件:事务请求对资源的独占控制等待条件:事务已持有分配给它的资源,又去申请并等待别的资源非抢占条件:直到资源被持有它的事务释放前,不可能将资源强制从持有它的事务夺去循环等待条件:存在事务互相等待的等待圈死锁分类局部死锁:仅在一个站点上发生的死锁全局死锁:涉及多个站点的死锁(即等待圈由多个站点组成)3.1全局死锁与等待图3分布式数据库系统中的死锁处理事务T1持有对x的锁事务T2请求对x的锁事务T2持有对y的锁事务T1请求对y的锁站点A站点BT2等待T1完成释放对x的锁T1等待T2完成释放对y的锁相互等待引起的全局死锁3.1全局死锁与等待图3分布式数据库系统中的死锁处理T1T2T3站点A:x1,y1站点C:z3站点B:y2,z2等待释放对y的锁等待释放对x的锁等待释放对z的锁站点A:存储x和y的副本,发出事务T1:read(x),write(y)站点B:存储y和z的副本,发出事务T2:read(y),write(z)站点C:存储z的副本,发出事务T3:read(z),write(x)多副本引起的三个站点间的死锁3.1全局死锁与等待图3分布式数据库系统中的死锁处理等待图一种用来表示事务之间相互等待关系的有向图,是分析死锁的有用工具节点表示事务带有箭头的有向边表示“等待”关系如果等待图有回路,就说明有死锁等待图分类局部等待图(LWFG)全局等待图(GWFG)3.1全局死锁与等待图3分布式数据库系统中的死锁处理T1T3T2yxzT1等待T2释放对y的共享锁(s)T2等待T3释放对z的共享锁(s)T3等待T1释放对x的共享锁(s)上例的GWFG等待图3.1全局死锁与等待图3分布式数据库系统中的死锁处理(a)(b)T2T1T1T2T4T3T4T3站点1站点2LWFG和GWFG之间的不同3.1全局死锁与等待图事务间的等待关系T1→T2→T3→T43分布式数据库系统中的死锁处理解决死锁的方法死锁预防,使引起死锁的必要条件不成立所有资源排序,按资源序列申请将所有并发事务排序,按标识符或开始时间有死锁危险时,事务退出已占有的资源,有两种方法等待-死亡(Wait-Die):总是重启较年轻的事务(非占先权)受伤-等待(Wound-Wait):年轻的等待年老的,较年轻的重启,而重启事务并不一定是目前正申请的事务(占先权)死锁检测即检测死锁时循环等待的圈3.2死锁的预防方法3分布式数据库系统中的死锁处理等待-死亡模式如果Ti对已被Tj封锁的一数据项请求封锁的话,则只有在Ti比Tj年老时(TiTj),才允许Ti等待如果Ti比Tj年轻(TiTj),则Ti被终止并带有同一时间戳重新启动最好总是重新启动较年轻的事务允许较年老的事务去等待已持有资源的较年轻的事务但不允许较年轻的事务去等待较年老的事务受伤-等待模式如果Ti对已被Tj封锁的一数据项请求封锁的话,则只有在Ti比Tj年轻时(TiTj),才允许Ti等待否则,Ti比Tj年老(TiTj),则Tj被终止并带有同一时间戳重新启动,而Ti得锁执行只有年轻的等待年老的3.2死锁的预防方法3分布式数据库系统中的死锁处理集中式死锁检测选择一个站点负责整个系统的死锁检测,死锁检测器放到这个站点每个站点的锁管理器周期性地将本站点的LWFG传送给死锁检测器,死锁检测器构造GWFG,并在其中寻找回路或者,其它每个站点上的锁管理器周期性地把记录本站点上事务的开始时间,对锁的持有、请求情况变化的动态表,发送给负责处理封锁的站点,由它维护一张全局封锁动态表,形成GWFG,并在其中寻找回路如果至少包含一条回路,它会选择一个或者多个事务,把它们取消并恢复,释放资源,使得其它事务继续进行。选择的标准是尽可能使撤销并恢复的代价最小,如撤销年轻的事务,撤销占有较少资源的事务,撤销具有最短运行时间的事务,撤销具有最长运行时间的事务等,使系统情况而定3.3死锁的检测和解决方法3分布式数据库系统中的死锁处理层次式死锁

文档评论(0)

135****3907 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档