- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.3分布式数据库中的死锁处理.ppt
5.3分布式数据库中的死锁处理 5.3.1全局死锁与等待图 1.活锁,死锁和全局死锁 活锁:某个事务处于永远等待状态,得不到执行的机会. 解决方法:“先来者先执行”就是简单的排队方式. 死锁:该集合中的每个事务都在等待该集合中另外一个事务释放它所需要的数据项上持有的锁,它才能继续执行下去,结果任何一个事务都无法继续执行 在分布式数据库中,采用封锁机制,系统有可能发生全局死锁.全局死锁涉及两个或多个站点的死锁. 图5.14 分布式数据库中的数据冗余也会增加更新数据时引起死锁的机会.因为更新时需要对全部副本加拒绝锁,有副本的每个站点上都有可能等待另一个事务释放锁,但每个事务只有它全部完成后才能释放拒绝锁,因此造成全局死锁. 图5.15 2 等待图(WFC) 等待图是一种用来表示事务之间相互等待关系的有向图,其中指出哪一个事务在等待其他哪个或哪些事务释放锁. 图中节点表示事务,边表示等待关系,箭头方向就是等待方向. 如下图是5.15的等待图 图5.16 全局等待图(GWFC): 图5.17 5.3.2死锁的预防方法 思想:当有发生死锁危险时,就终止并重新启动其中一个事务或让该事务等待,但如果允许有等待的话,则决不可能发生死锁. 因为这种方法不会发生死锁,所以不需要进行死锁的检测和恢复. 死锁预防是这样进行的:形成死锁的原因是多个事务并发执行,互相等待另一事务所持有的锁,且形成等待回路引起的.如果事务T1请求一资源,而该资源被另一事务T2所持有时,则进行一次预防性测试.若测试结果有死锁的危险时,或不让T1进入等待状态,并重新启动T1或终止并重新启动T2. 预防性测试的一般方法是把事务排序. 如按它们标识符的词典顺序排序,或按它们的开始时间排序等. 预防死锁的方法有两种(按事务开始时间) 1非占先权(排队在先者可能失去优先)方法,也叫等待-死亡模式. 非占先权的理论基础是:最好总是重新启动较年轻的事务.允许年老的事务等待已持有资源的年轻事务,但不允许年轻的事务去等待年老的事务. 2占先权(排队在先者绝对优先)方法,也叫伤害-等待模式. 占先权的理论基础是:因为仍要求终止较年轻的事务,但不允许年老的事务绝对优于年轻的事务,因而只有年轻的等待年老的. 这两种方法都不会发生死锁. 5.3.3死锁的检测和解决方法 1.死锁的检测和解决的一般方法 检测是通过对全局等待图中的回路的形成进行研究来实现的. 如果系统处于死锁状态,就必须撤消一些引起死锁的事务.选择撤消哪个事务称为受害者选择.通过选择一个或多个受害者事务,这些事务或者被优先执行或被撤消,以打破GWFG中的回路. 选择最小总开销来打破死锁很困难,以下是可以影响这一选择的因素: 1:对事务已经投入了大量努力. 2:撤消事务的开销. 3:调度器力图避免撤消那些几乎要完成的事务. 4:包含该事务的回路数目. 2.分布式死锁检测和解决办法 检测有三种基本方法:集中式,层次式及分布式死锁检测法. (1)集中式死锁检测法:某个站点上的锁管理器被指定为整个系统的死锁检测器,其他每个站点上的锁管理器周期性的将它的LWFG传给系统的死锁检测器,然后由系统的死锁检测器形成GWFG并在其中查找回路.或者,每个站点上的锁管理器周期性把一张记录本站点上事务开始时间,对锁的持有,请求情况变化的动态表,发给负责处理封锁的站点.由它维护一张全局封锁动态表,形成GWFG并在其中查找回路.如果GWFG中至少有一个回路,它将选择一个或多个事务,把它们撤消并恢复,释放被占资源,使其他事务继续进行. 这种方法很简单,但是传输开销较高. (2)层次式死锁检测法:以层次方式组织成员数据库管理系统中的死锁检测器.按下述步骤进行死锁检测: 1:树叶是各站点的死锁局部检测器,它们在本站点建立局部等待图. 2:本站点的死锁检测器找出本站点的LWFG中的任何回路,并把有关潜在全局回路的信息发送给层次结构中的紧挨的上一层死锁检测器 3:每个非本地死锁检测器只对它所涉及的下层进行死锁检测器,合并这些接收到的有关潜在全局回路信息,并找出任何回路. 4:如果还有上层死锁检测器,将经过简化的有关潜在全局回路信息发给它的上一层死锁检测器,由上一层死锁检测器再进行合并,找出任何全局回路.这样逐层进行检查,直到最高层. 图5.18 (3)及分布式死锁检测法:赋予每个站点相同的检测死锁职责.简单介绍一下System R系统中使用的方法,它对每一站点的LWFG的形成更新如下: 1:由于每一站点接收从其他站点传来的可能的死锁回路,因此向自己的局部WFG增加一些边. 2:在站点的LWFG中,被增加的用于表示本地事务正在等待其他站点事务的边,同用于表示远程事务正在等待本站点事务的边相连接,该节点称为外部节点(EX). 向谁传送信息:不知道被涉及的哪些站点时,可
您可能关注的文档
- 4保护贸易的理论与政策.ppt
- 4基建类项目活动的环境影响分析评价-Worldbankdocuments.doc
- 4外汇交易业务.改.ppt.ppt
- 4年级数学认识平方千米张小莉.ppt-广元市081中学.ppt
- 4月21日,全国哀悼遇难同胞,默哀三分钟,降半旗.ppt
- 4月30日,国家卫生计生委等7部门在京联合召开全国整治两.ppt
- 4海事政务中心外观形象、标志及内部设置标准.doc
- 4王祖俊.ppt-六安世立医院.ppt
- 4科研标书撰写.ppt-中国医科大学.ppt
- 4设备选型-南京林业大学毕业设计(论文).doc
- 2010-2023历年宁夏银川市育才中学高二上期第一次月考历史试卷(带解析).docx
- 2010-2023历年宁夏银川育才中学高二上期期中考试生物卷(带解析).docx
- 提高鼻饲胃管规范率.pptx
- 2010-2023历年宁夏银川市育才中学高二上期期中历史试卷(带解析).docx
- 北师版六年级上册数学精品教学课件 第四单元 4.4.1 列方程解决百分数问题.ppt
- 2010-2023历年宁夏青铜峡市九年级联考数学试卷(带解析).docx
- 提高食堂管理水平.pptx
- 2010-2023历年宁夏银川市唐徕回民中学高三月考生物试卷(带解析).docx
- 2010-2023历年宁夏银川市唐徕回民中学高一月考历史试卷(带解析).docx
- 2010-2023历年宁夏银川市初二上学期期末考试英语卷.docx
文档评论(0)