併發事務的資料安全

2021-10-02 12:43:05 字數 816 閱讀 3741

1)目標的提出:併發事務的資料安全

在網際網路環境中,我們經常遇到比如:1)春節搶票系統。2)**中大家同時下單買最後的幾十個商品。3)你用你的工行賬號買東西,同時你的老婆給你這個賬號 轉入錢或轉出錢。上述幾個問題的計算機本質就是:幾個使用者瀏覽器同時想修改資料庫中同一行資料。這就促成了乙個著名的艱難話題形成:網際網路環境下併發甚至 高併發下的資料安全。馬克-to-win:通常都是乙個使用者瀏覽器的請求由伺服器端單例的servlet乙個執行緒來應答,即乙個使用者瀏覽器對應乙個執行緒。乙個執行緒又對應乙個事 務,結論就是:乙個使用者瀏覽器對應乙個事務。這樣上面的諸多n個使用者瀏覽器同時想修改資料庫中同一行資料問題,就轉化為n個事務同時操作(又看又改)同一 行資料的安全問題。所以解決了n個事務同時操作同一行資料的安全問題,也就解決了網際網路環境下併發甚至高併發下的資料安全的核心問題。所以本節要研究的目 標確定:併發事務的資料安全。

2)乙個實際的案例引發的問題:「網路併發資料安全」

假設你賬戶有800元,你要在**買衣服,衣服600元。同時,你老婆要從你的賬上轉走600元到她自己的賬戶。假如這兩件事兒資料庫設 計者開始時沒有預案的話,正常流程應該是樣這的:你買**的執行緒,想從賬上轉600,判斷一下賬上還有800,沒問題,於是就轉了。當你執行緒判斷時,恰巧 你老婆的執行緒也執行到她程式的「判斷賬上還有800」這句程式,也認為沒問題,於是也轉了。最後的結果就是你買了衣服,你老婆也轉了錢,你的賬上還有兩百 塊錢。這種情況肯定是不對的。馬克-to-win:這不符合資料的一致性規則,如果這個資料庫版本這樣就發布的話,這就是個殘次產品。問題出在哪?併發修改同乙個資料。所以並 發訪問的確存在安全問題。

更多請看:

併發事務的資料安全

1 目標的提出 併發事務的資料安全 馬克 to win 在網際網路環境中,我們經常遇到比如 1 春節搶票系統。2 中大家同時下單買最後的幾十個商品。3 你用你的工行賬號買東西,同時你的老婆給你這個賬號 轉入錢或轉出錢。上述幾個問題的計算機本質就是 幾個使用者瀏覽器同時想修改資料庫中同一行資料。這就促...

事務 事務併發

最近工作非常鬱悶,天天被領導盯著。主要是系統近來死鎖發生在頻率很高。最終,經過大家的共同努力,我們成功的定位並解決了問題,所以把過程中學習的知識與經驗分享一下 問題背景 系統中有乙個賬戶模組,負責管理和維護會員的各種資金及明細,對外的功能涉及資金的增加與扣減等。通過監控系統發現,當外圍系統併發訪問和...

資料庫併發事務

比如有乙個方法a,在a的內部有兩次同樣的select查詢,但是在兩次select之間方法b對資料庫進行了修改,那麼查詢到的a兩次查詢到的內容是否一致呢,這其實就是資料庫的 不可重複讀 幻讀 問題 這裡用spring hibernate mysql實驗,如果方法a不在事務環境下執行,那麼查詢到的兩次結...