本文概述
- 如果计划在交换无冲突的操作之后可以转换为串行计划, 则该计划称为冲突可序列化性。
- 如果该调度与串行调度冲突, 则该调度将是可序列化的冲突。
行动冲突
如果所有条件都满足, 则这两个操作将发生冲突:
- 两者都属于单独的交易。
- 它们具有相同的数据项。
- 它们包含至少一个写操作。
例:
仅当S1和S2在逻辑上相等时才可以交换。
在此, S1 = S2。这意味着它是非冲突的。
在此, S1≠S2。那就是冲突。
冲突当量
在冲突等效中, 可以通过交换非冲突操作将一个转换为另一个。在给定的示例中, S2是与S1等效的冲突(可以通过交换非冲突操作将S1转换为S2)。
当且仅当以下两种情况被称为两个时间表是等效的:
- 它们包含同一组事务。
- 如果每对冲突操作都以相同的方式排序。
例:
调度表S2是串行调度表, 因为在这种情况下, T1的所有操作都在开始T2的任何操作之前执行。通过交换S1的无冲突操作, 可以将日程表S1转换为串行日程表。
交换无冲突的操作之后, 时间表S1变为:
T1 | T2 |
---|---|
读(A)写(A)读(B)写(B) | 读(A)写(A)读(B)写(B) |
由于S1是冲突可序列化的。
评论前必须登录!
注册