📅  最后修改于: 2020-12-12 07:47:00             🧑  作者: Mango
时间戳订购协议
- 时间戳排序协议用于根据事务的时间戳对事务进行排序。事务的顺序不过是事务创建的升序。
- 较旧事务的优先级较高,这就是它首先执行的原因。为了确定事务的时间戳,此协议使用系统时间或逻辑计数器。
- 基于锁的协议用于在执行时管理事务之间冲突对之间的顺序。但是基于时间戳的协议在创建事务后立即开始工作。
- 假设有两个事务T1和T2。假设事务T1在007次进入系统,事务T2在009次进入系统。 T1具有更高的优先级,因此它在首先进入系统时首先执行。
- 时间戳排序协议还维护对数据的最后“读”和“写”操作的时间戳。
基本时间戳排序协议的工作方式如下:
1.每当事务Ti发出读取(X)操作时,请检查以下条件:
- 如果W_TS(X)> TS(Ti),则拒绝该操作。
- 如果W_TS(X)<= TS(Ti),则执行该操作。
- 所有数据项的时间戳都会更新。
2.每当事务Ti发出Write(X)操作时,请检查以下条件:
哪里,
TS(TI)表示事务Ti的时间戳。
R_TS(X)表示数据项X的读取时间戳。
W_TS(X)表示数据项X的写入时间戳。
TO协议的优缺点:
- TS协议可确保避免死锁,这意味着没有事务等待。
- 但是时间表可能无法恢复,甚至可能没有级联。