📜  MOSS并发控制协议(数据库中的分布式锁定)

📅  最后修改于: 2021-08-25 16:38:50             🧑  作者: Mango

这是一个用于控制分布式数据库环境中的并发性的协议。在这里,我们将了解应用MOSS并发性控制协议时要记住的规则和规定。

MOSS并发控制协议:-

a)它主要用于处理基于继承的嵌套(层次)事务。

b)考虑交易(T )以某种模式(M)获得数据项(X)上的锁。

c)事务(T)在模式(M)中保持锁定,直到终止。

d)T提交的任何人子事务(T 1),则它的父事务占用或继承锁定和保持,直到所有子事务不能完成。

e)如果事务在数据项(X)上拥有锁,则它有权以相应的模式访问锁定的数据项(X)。但是,如果某个事务保留了来自任何其他某个子事务(后继)的锁,则这是无效的。

f)保留的锁只是一种占位符,它表示不在相应层次结构中的子事务无法获取该锁,但是后代可以获取该锁。

g)事务一旦成为后代子事务S的锁的保留者,则它将一直保留到事务完成为止。

关于本协议的一般锁定规则

a)在以下情况下,子事务(T 1 )可以获取对数据项(X)的读取锁定:

a.1)没有其他子事务(后代)持有对X的写锁,并且

a.2)在X上保留写锁定的所有子事务都是子事务(S)的祖先。

b)如果满足以下条件,Subtransaction(T1)可能会在数据项(X)上获得写锁定:

b.1)没有其他子事务持有对X的读/写锁定,并且

b.2)在X保留了读/写锁定的所有子事务都是T 1的祖先。

c)子事务(T 1 )完成执行时, T 1的父级继承(保留) T 1持有的锁 与T 1保持相同的模式。

图c

d)当顶级子事务(T 3 )提交其所有后代的释放时,保留的锁与保留的锁一起释放。

图d

e)子事务(T 3 )中止时,它会释放所有保留的锁以及保留的锁。源自中止事务的所有子事务也将中止,并且如果它们已经开始执行,则必须从头开始。

图e