[發明專利]閂鎖請求方法、閂鎖授權方法、裝置及終端設備有效
| 申請號: | 201810872377.4 | 申請日: | 2018-08-02 |
| 公開(公告)號: | CN109063132B | 公開(公告)日: | 2020-08-25 |
| 發明(設計)人: | 韓朱忠;王海龍;薛慧 | 申請(專利權)人: | 上海達夢數據庫有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 孟金喆 |
| 地址: | 201203 上海*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 請求 方法 授權 裝置 終端設備 | ||
本發明公開了閂鎖請求方法、閂鎖授權方法、裝置及終端設備。所述方法包括:接收對應的數據庫節點發起的第一閂鎖請求,所述第一閂鎖請求包括所述數據庫節點的待封鎖對象及對應的閂封鎖模式;根據所述第一閂鎖請求查找所述數據庫節點對應的本地控制信息,所述本地控制信息包括歷史第一閂鎖請求和本地閂鎖授權信息;如果查找結果滿足請求發送條件,則向提供閂鎖授權的第一數據庫發送第二閂鎖請求,所述第二閂鎖請求包括所述待封鎖對象、所述閂封鎖模式和所述數據庫節點的實例標識。利用該方法能夠有效地避免每次數據庫節點發起第一閂鎖請求均引發一次與第一數據庫的信息交互,有效地減少了全局數據庫間的并發沖突,提高了數據庫集群的工作效率。
技術領域
本發明實施例涉及數據庫技術領域,尤其涉及閂鎖請求方法、閂鎖授權方法、裝置及終端設備。
背景技術
閂(LATCH)是數據庫管理系統中一種輕量級資源鎖,用于快速、短時間鎖定資源,防止用戶訪問某個正在被修改的共享資源。
閂一般提供兩種封鎖模式:共享模式和獨占模式,分別用S和X表示。共享模式顧名思義就是以只讀方式鎖定一個對象,阻止其他用戶修改對象,并允許多個用戶同時以共享模式封鎖。一個對象一旦被以獨占模式鎖定后,其他用戶不再允許訪問此對象,修改對象之前必須先以獨占模式封鎖對象。多個用戶同時對同一個對象進行X封鎖,會產生沖突,后發起請求的用戶會被阻塞,直到先請求的用戶釋放閂鎖后被喚醒;如果多個用戶分別請求S封鎖和X封鎖,也會產生閂鎖沖突。
共享存儲數據庫集群允許多個數據庫實例同時訪問、修改同一個數據庫的數據頁,因此需要將閂擴展成為一種全局并發訪問控制機制。一種比較直觀的做法是將閂直接擴展為全局對象,指定一個實例作為控制實例,所有實例直接向控制實例發起閂鎖請求。這種方式可以達到并發控制的目的,但所有閂封鎖、閂鎖授權、閂鎖釋放操作,都需要通過網絡在數據庫實例間進行傳遞,會影響數據庫管理系統的整體性能。
發明內容
本發明實施例提供了閂鎖請求方法、閂鎖授權方法、裝置及終端設備,能夠有效避免每次閂封鎖都引發一次數據庫實例間的信息交互。
第一方面,本發明實施例提供了一種閂鎖請求方法,包括:
接收對應的數據庫節點發起的第一閂鎖請求,所述第一閂鎖請求包括所述數據庫節點的待封鎖對象及對應的閂封鎖模式;
根據所述第一閂鎖請求查找所述數據庫節點對應的本地控制信息,所述本地控制信息包括歷史第一閂鎖請求和本地閂鎖授權信息;
如果查找結果滿足請求發送條件,則向提供閂鎖授權的第一數據庫發送第二閂鎖請求,所述第二閂鎖請求包括所述待封鎖對象、所述閂封鎖模式和所述數據庫節點的實例標識。
第二方面,本發明實施例還提供了一種閂鎖授權方法,包括:
接收提供閂鎖請求的第二數據庫發送的第二閂鎖請求,所述第二閂鎖請求包括所述第二數據庫的待封鎖對象、對應的閂封鎖模式和所述第二數據庫的實例標識;
根據所述第二閂鎖請求查找數據庫集群對應的全局控制信息,所述全局控制信息包括歷史第二閂鎖請求和全局閂鎖授權信息;
如果查找結果滿足請求授權條件,則向所述第二數據庫發送所述封鎖對象的閂鎖授權信息,所述閂鎖授權信息包括所述待封鎖對象、所述閂封鎖模式和所述第二數據庫的實例標識。
第三方面,本發明實施例還提供了一種閂鎖請求裝置,包括:
請求接收模塊,用于接收對應的數據庫節點發起的第一閂鎖請求,所述第一閂鎖請求包括所述數據庫節點的待封鎖對象及對應的閂封鎖模式;
請求查詢模塊,用于根據所述第一閂鎖請求查找所述數據庫節點對應的本地控制信息,所述本地控制信息包括歷史第一閂鎖請求和本地閂鎖授權信息;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海達夢數據庫有限公司,未經上海達夢數據庫有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810872377.4/2.html,轉載請聲明來源鉆瓜專利網。





