[發明專利]數據庫事務的死鎖檢測方法、裝置及電子設備有效
| 申請號: | 202110028189.5 | 申請日: | 2021-01-11 |
| 公開(公告)號: | CN112363846B | 公開(公告)日: | 2021-04-13 |
| 發明(設計)人: | 王天宇 | 申請(專利權)人: | 北京金山云網絡技術有限公司 |
| 主分類號: | G06F9/52 | 分類號: | G06F9/52;G06F9/46 |
| 代理公司: | 北京超凡宏宇專利代理事務所(特殊普通合伙) 11463 | 代理人: | 徐麗 |
| 地址: | 100000 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據庫 事務 死鎖 檢測 方法 裝置 電子設備 | ||
本發明提供了一種數據庫事務的死鎖檢測方法、裝置及電子設備,涉及數據庫技術領域,該方法包括如果檢測到目標事務處于掛起狀態,判斷該目標事務是否滿足預設的發生死鎖的必要條件;其中,當該目標事務被阻塞時,該目標事務處于掛起狀態;如果該目標事務滿足該發生死鎖的必要條件,觸發死鎖檢測。本發明實施例通過設置發生死鎖的必要條件,用以排除一部分不可能發生死鎖的目標事務被掛起的情況,只在滿足該必要條件時才進行死鎖檢測,從而減少了死鎖檢測的次數,提高了死鎖檢測的效率,節約了數據庫系統的CPU資源,并提高鎖系統的并發處理能力。
技術領域
本發明涉及數據庫技術領域,尤其是涉及一種數據庫事務的死鎖檢測方法、裝置及電子設備。
背景技術
死鎖檢測是一個成本較高的工作,其涉及到持有鎖系統互斥鎖、獲取處于掛起狀態的事務、構建事務等待圖、計算是否出現環和釋放鎖系統互斥鎖。
在實際操作中,只要數據庫鎖系統的后臺線程發現有事務掛起,就會觸發死鎖檢測。但是,實際上大部分事務沖突都不會出現死鎖,在傳統數據庫中,通過上述死鎖檢測方式的有效死鎖檢測概率大概在3%左右,因而導致大量的死鎖檢測沒有實際意義。并且,大量的死鎖檢測不但消耗了數據庫系統CPU資源,由于死鎖檢測持有鎖系統互斥鎖,其還降低了鎖系統的并發處理能力,以及增加了真正需要死鎖檢測的響應耗時。
整體而言,現有數據庫的死鎖檢測方式,會導致大量無意義的死鎖檢測,浪費了數據庫系統CPU資源,降低了鎖系統的并發處理能力,死鎖檢測效率較低。
發明內容
有鑒于此,本發明的目的在于提供一種數據庫事務的死鎖檢測方法、裝置及電子設備,可以減少數據庫鎖系統的無意義死鎖檢測的數量,提升死鎖檢測效率,節約數據庫系統的CPU資源,并提高鎖系統的并發處理能力。
第一方面,本發明實施例提供了一種數據庫事務的死鎖檢測方法,包括:如果目標事務處于掛起狀態,判斷該目標事務是否滿足預設的發生死鎖的必要條件;其中,當該目標事務被阻塞時,該目標事務處于掛起狀態;如果該目標事務滿足該發生死鎖的必要條件,觸發死鎖檢測。
在本發明可選的實施例中,上述判斷該目標事務是否滿足預設的發生死鎖的必要條件的步驟,包括:檢測阻塞該目標事務的第一事務是否處于掛起狀態,以及是否存在被該目標事務阻塞的第二事務;如果阻塞該目標事務的第一事務處于掛起狀態,且存在被該目標事務阻塞的第二事務,確定該目標事務滿足該發生死鎖的必要條件。
在本發明可選的實施例中,上述檢測是否存在被該目標事務阻塞的第二事務的步驟,包括:獲取預設計數參數的計數值,其中,該計數參數用于對被該目標事務阻塞的第二事務進行計數;判斷該計數值是否為零,如果否,則確定存在被該目標事務阻塞的第二事務。
在本發明可選的實施例中,通過原子遞增的方式對該預設計數參數進行計數。
在本發明可選的實施例中,上述方法還包括:如果該計數值不為零,則在檢測到該目標事務完成提交的情況下,對該計數值清零。
在本發明可選的實施例中,上述檢測阻塞該目標事務的第一事務是否處于掛起狀態的步驟,包括:讀取阻塞該目標事務的第一事務的狀態信息;根據該狀態信息判斷該第一事務是否處于掛起狀態。
在本發明可選的實施例中,在如果阻塞該目標事務的第一事務處于掛起狀態,且存在被該目標事務阻塞的第二事務,觸發死鎖檢測的步驟之后,上述方法還包括:如果死鎖檢測的結果為存在死鎖,則撤銷該目標事務。
第二方面,本發明實施例還提供了一種數據庫事務的死鎖檢測裝置,包括:必要條件判斷模塊,用于在目標事務處于掛起狀態的情況下,判斷該目標事務是否滿足預設的發生死鎖的必要條件;其中,當該目標事務被阻塞時,該目標事務處于掛起狀態;死鎖檢測觸發模塊,用于在該目標事務滿足該發生死鎖的必要條件的情況下,觸發死鎖檢測。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京金山云網絡技術有限公司,未經北京金山云網絡技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110028189.5/2.html,轉載請聲明來源鉆瓜專利網。





