📜  基于DBMS验证的协议

📅  最后修改于: 2020-12-12 07:47:51             🧑  作者: Mango

基于验证的协议

验证阶段也称为乐观并发控制技术。在基于验证的协议中,交易在以下三个阶段执行:

  • 读取阶段:在此阶段,事务T被读取并执行。它用于读取各种数据项的值并将它们存储在临时局部变量中。它可以对临时变量执行所有写操作,而无需更新实际数据库。
  • 验证阶段:在此阶段,将根据实际数据验证临时变量值,以查看其是否违反了可序列化性。
  • 写入阶段:如果验证了事务验证,则将临时结果写入数据库或系统,否则回滚事务。

这里每个阶段都有以下不同的时间戳:

Start(Ti):它包含Ti开始执行的时间。

验证(T i ):它包含Ti完成其读取阶段并开始其验证阶段的时间。

Finish(Ti):它包含Ti完成其写入阶段的时间。

  • 该协议用于使用验证阶段的时间戳来确定要序列化的事务的时间戳,因为它是确定事务将提交还是回滚的实际阶段。
  • 因此,TS(T)=验证(T)。
  • 可序列化性是在验证过程中确定的。无法事先决定。
  • 在执行事务时,它可以确保更高程度的并发程度以及更少的冲突数量。
  • 因此,它包含回滚次数较少的事务。