这是一个用于控制分布式数据库环境中的并发性的协议。在这里,我们将了解应用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保持相同的模式。
d)当顶级子事务(T 3 )提交其所有后代的释放时,保留的锁与保留的锁一起释放。
e)当子事务(T 3 )中止时,它会释放所有保留的锁以及保留的锁。源自中止事务的所有子事务也将中止,并且如果它们已经开始执行,则必须从头开始。