【问题标题】:shared / exclusive locking scheme and strict two-phase locking protocol共享/独占锁定方案和严格的两阶段锁定协议
【发布时间】:2015-04-16 10:43:40
【问题描述】:

[考试题]给定一个关键:

S: r3(X); r1(Y); w3(Z); w3(X); w1(Z); w1(X); r2(X); w2(Z); w2(Y); r1(X);

还有

T1: r1(Y); w1(Z); w1(X); r1(X); 
T2: r2(X); w2(Z); w2(Y); 
T3: r3(X); w3(Z); w3(X); 

在每次操作后指出存在哪些锁。我真的不明白,我需要你的帮助。谢谢你。

这是答案:但我不知道它是如何完成的。

此问题的时间戳排序:

【问题讨论】:

  • 你可以问你的考官吗?
  • @jruizaranguren 没有时间,否则我会有,他们不会在考试前 2 天回答问题。

标签: database concurrency locking


【解决方案1】:

注意:这应该是评论,但我对此没有名气

我认为您不应该寻求有关家庭作业的帮助,尽管我可以指出,如果 S 是操作序列(看起来确实如此),那么答案非常简单。

编辑:

在分布式系统:概念与设计第 5 版 (link) 的第 16 章第 4 节图 16.15 中,您有锁兼容性表。 此外,图 16.16 包含执行 2PL 所需了解的所有内容。

至于提交(c1、c2、c3),你只需要查看每个事务的最后一次操作即可。

因此,首先使用操作和提交事件构建表,然后,对于每个对象(X、Y、Z),使用我刚刚给您的引用确定谁拥有锁。

【讨论】:

  • 这不是作业而是考试题,我正在努力理解它。
  • 我已经更新了答案。我希望它有足够的帮助。而且,这本书对于开始学习分布式系统是一个很好的参考。
  • @Duarte Patrício 谢谢你,我试着用一点时间阅读它,你也知道基本的timeste,p redering是如何完成的吗??
  • @David 你的意思是时间戳排序?
  • 是的,我一直试图理解这两个,但我不能。我想我现在了解 2pl 是如何完成的,但我仍然看不到如何将 r1 移动到 c3 之后的下一个事务。是的,我的意思是时间戳排序。具有相同的 S。
猜你喜欢
  • 2015-04-16
  • 1970-01-01
  • 2012-08-03
  • 2014-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多