第5章_分布式数据库中的并发控制_2.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.4.3 保守时标法 例子 已知站点i的缓冲区队列中有来自所有站点的读/写请求如下所示: 站点1 站点2 站点3 …… 站点n R11 R21 R31 Rn1 R12 R22 R32 R13 R23 R24 W11 W21 W31 …… Wn1 W22 W32 … Wn2 W23 5.4.3 保守时标法 执行步骤: (1) 设RT=min(Rij), WT= min(Wij) (2) 按下法处理缓冲区中的Rij和Wij a. 若队列中有 (Rij) WT的Rij , 则顺序执行这些Rij,执行完删掉 b. 若队列中有 (Wij) RT的Wij, 则顺序执行这些Wij,执行完删掉 (3) 修改 RT=min(Rij), WT=min(Wij) ,此时的Rij和Wij是队列中剩 余的 (4) 重复上述(2)和(3), 直到没有满足条件的操作, 或者: a. 若某个或某些R队列为空时, RT=0; b. 若某个或某些W队列为空时, WT=0 5.4.3 保守时标法 存在问题和解决方法 如果一个站点从来不向某个站点发送操作的话,那么执行过程中的假定就不符合,操作就无法进行。解决办法是,周期性的发送带有时标的空操作 此方法要求网络上所有站点都连通,这在大系统中很难办到。为避免不必要的通信,可对无读写操作请求的站点,发送一个时标很大的空操作 此方法过分保守,一律按照时序来进行,其中包括了不冲突的操作 5.5 分布式数据库系统并发控制的多版本技术 多版本概念和思想 基于时标的多版本技术 采用验证锁的多版本两阶段封锁 5.5.1 多版本概念和思想 基本思想 保存了已更新数据项的旧值 维护一个数据项的多个版本 通过读取数据项的较老版本来维护可串行性,使得系统可以接受在其他技术中被拒绝的一些读操作 写数据项时,写入一个新版本,老版本依然保存 缺点 需要更多的存储来维持数据库数据项的多个版本 模式分类 基于时标排序 基于两阶段封锁 5.5.2 基于时标的多版本技术 数据项X的多版本 X1, X2, X3,…, Xk 系统保存的值 Xi的值 两种时标 Read_TS(Xi): 读时标,成功读取版本Xi的事务的时标,最大的一个 Write_TS(Xi): 写时标,写入版本Xi的值的事务的时标 5.5.2 基于时标的多版本技术 多版本规则 如果事务T发布一个write_item(X)操作,并且X的版本Xi具有X所有版本中最高的write_TS(Xi),同时write_TS(Xi)=TS(T)且read_TS(Xi)TS(T),那么撤销并回滚T;否则创建X的一个新版本,并且令read_TS(Xi)= write_TS(Xi)= TS(T) 如果事务T发布一个read_item(X)操作,并且X的版本Xi具有X所有版本中最高的write_TS(Xi),同时write_TS(Xi)=TS(T),把Xi的值返回给事务T,并且将read_TS(Xi)的值置为TS(T)和当前read_TS(Xi)中较大的一个 5.5.2 基于时标的多版本技术 图示 写值 v1 v2 v3 … Vn-1 Vn 5 10 20 92 100 若读 TS(Ri)=95, 则读 92, Vn-1 的值 若写TS(Wk)=93, 则出现了 v1 v2 v3 … Vn-1 Vn 5 10 20 92 100 93 v 于是要拒绝TS(Wk), 否则 TS(Ri)=95读的就是Vn-1, 而不是v的值, 但是按规定 TS(Ri)=95应该读的是v值 5.5.3 采用验证锁的多版本两阶段封锁 三种锁方式 读,写,验证 四种锁状态 读封锁(read_locked) 写封锁(write_locked) 验证封锁(certify_locked) 未封锁(unlocked) 锁相

文档评论(0)

cjp823 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:7060131150000004

1亿VIP精品文档

相关文档