面試經驗:丟失更新(第一類&第二類)

第一類丟失更新 

    A事務撤銷時,把已經提交的B事務的更新數據覆蓋了。這種錯誤可能造成很嚴重的問題,通過下面的賬戶取款轉賬就可以看出來:

時間

取款事務A

轉賬事務B

T1

開始事務

 

T2

 

開始事務

T3

查詢賬戶餘額爲1000元    

 

T4

 

查詢賬戶餘額爲1000元

T5

 

匯入100元把餘額改爲1100元

T6

 

提交事務

T7

取出100元把餘額改爲900元

 

T8

撤銷事務

 

T9

餘額恢復爲1000 元(丟失更新)

 

   

A事務在撤銷時,“不小心”將B事務已經轉入賬戶的金額給抹去了。 

    第二類丟失更新 

A事務覆蓋B事務已經提交的數據,造成B事務所做操作丟失:   

時間

轉賬事務A

取款事務B

T1

 

開始事務

T2

開始事務

                         

T3

               

查詢賬戶餘額爲1000元    

T4

查詢賬戶餘額爲1000元

                         

T5

 

取出100元把餘額改爲900元

T6

 

提交事務           

T7

匯入100元

 

T8

提交事務

 

T9

把餘額改爲1100 元(丟失更新)

 

 

    上面的例子裏由於支票轉賬事務覆蓋了取款事務對存款餘額所做的更新,導致銀行最後損失了100元,相反如果轉賬事務先提交,那麼用戶賬戶將損失100元。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章