雖然題目沒講 但是依照96 97 都有出
所以就假設是考TimeStamp-Based protocol 吧XDD
( 恐龍本 Synchronization 倒數幾節)
以下是我的答案QQ
AC
原則是 每個operation需成功 滿足
若是Transaction 1 寫入變數A
則 TS(1) >= W-Timestamp(A) 且 TS(1) >= R-timestamp(A)
否則 rejeect
若是Transaction 1 讀取變數A
則 TS(1) >= W-Timestamp(A)
否則是reject
若所有opeations皆成功 就是可序列化
假設左到右有時間軸 ( 一單位時間, 假設1開始 )
假設每個交易的Timestamp是在第一個operation之時間
即 TS(1) = 1 , TS(2) = 2
變數的timestamp皆假設0開始
(A)
Time 1 2 3 4
W-timestamp(A) 0 0 1 1
R-timestamp(A) 1 1 1 1
W-timestamp(B) 0 0 0 2
R-timestamp(B) 0 2 2 2
所以serializable
(B)
Time 1 2 3 4
W-timestamp(A) 0 2
R-timestamp(A) 1 1
W-timestamp(B) 0 0
R-timestamp(B) 0 0
time 3 因為TS(1) = 1 < 2 = W-timestamp(A) 所以reject
所以非serializable
(C)
Time 1 2 3 4
W-timestamp(A) 0 0 0 2
R-timestamp(A) 1 1 1 1
W-timestamp(B) 0 2 0 0
R-timestamp(B) 0 0 2 2
所以serializable
(D)
Time 1 2 3 4
W-timestamp(A) 0 0
R-timestamp(A) 1 1
W-timestamp(B) 0 0
R-timestamp(B) 0 2
因為 time 3 時 TS(1) = 1 < 2 = R-Timestamp(B) 所以拒絕
所以非Serializable
(E)
Time 1 2 3 4
W-timestamp(A) 1 1 1
R-timestamp(A) 0 2 2
W-timestamp(B) 0 0 2
R-timestamp(B) 0 0 0
因為 time 4 時 TS(1) = 1 < 2 = W-Timestamp(B) 所以拒絕
所以非Serializable
我只有對過市面上的解答 可是答案不一樣= =
所以放上來討論一下..
詳細的protocol要查一下書
我不會太會打詳細的教學...非常抱歉QQ
希望有做這題的大大們幫忙討論一下 感謝~~~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 221.120.65.52