[發(fā)明專利]基于Hbase存儲的分布式悲觀鎖及其實現(xiàn)方法在審
| 申請?zhí)枺?/td> | 202010773065.5 | 申請日: | 2020-08-04 |
| 公開(公告)號: | CN111949673A | 公開(公告)日: | 2020-11-17 |
| 發(fā)明(設計)人: | 李英帥;王效忠;劉明 | 申請(專利權)人: | 貴州易鯨捷信息技術有限公司 |
| 主分類號: | G06F16/23 | 分類號: | G06F16/23;G06F16/2453;G06F16/2458 |
| 代理公司: | 成都中炬新匯知識產(chǎn)權代理有限公司 51279 | 代理人: | 羅韜 |
| 地址: | 550000 貴州省貴陽市貴陽綜*** | 國省代碼: | 貴州;52 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 hbase 存儲 分布式 悲觀 及其 實現(xiàn) 方法 | ||
1.一種基于Hbase存儲的分布式悲觀鎖,其特征在于:所述分布式悲觀鎖包括鎖管理器,所述鎖管理器用于安裝在Hbase系統(tǒng)的RegionServer節(jié)點的Region上;
所述鎖管理器具有加鎖與解鎖接口,且由鎖、操作事務與鎖持有者構成十字鏈表格式,其中橫向維度為當前數(shù)據(jù)行的信息,縱向維度為操作事務信息,所述橫向維度與縱向維度之間的交點為鎖持有者。
2.根據(jù)權利要求1所述的基于Hbase存儲的分布式悲觀鎖,其特征在于:所述操作事務為訪問并操作各種數(shù)據(jù)項的一個數(shù)據(jù)庫操作序列,所述數(shù)據(jù)庫操作序列內(nèi)所加的鎖全部保存在鎖管理器的Transaction對象集合中。
3.根據(jù)權利要求1所述的基于Hbase存儲的分布式悲觀鎖,其特征在于:所述鎖包括表鎖和行鎖,所述表鎖對象對應Region表,其rowKey屬性值為空;所述行鎖對象對應Region表的一個數(shù)據(jù)行,其rowKey屬性值為當前數(shù)據(jù)行的行鍵。
4.根據(jù)權利要求1所述的基于Hbase存儲的分布式悲觀鎖,其特征在于:所述鎖持有者為操作事務通過鎖管理器對數(shù)據(jù)加鎖時所新建,所述鎖持有者包括鎖類型、鎖模式與操作事務。
5.根據(jù)權利要求4所述的基于Hbase存儲的分布式悲觀鎖,其特征在于:所述鎖模式包括共享讀鎖、排它鎖、更新鎖、意向讀鎖與意向排它鎖。
6.一種權利要求1至5任意一項所述基于Hbase存儲的分布式悲觀鎖的實現(xiàn)方法,其特征在于所述的方法包括如下步驟:
在對Hbase系統(tǒng)執(zhí)行操作事務前,操作事務首先向鎖管理器申請加鎖,如加鎖成功則執(zhí)行當前的操作事務,反之則等待重新嘗試加鎖;
加鎖的過程由鎖管理器首先查詢當前操作事務的事務號,如存在則繼續(xù)查詢當前操作事務操作的數(shù)據(jù)行的行號,反之則先創(chuàng)建事務號后,再繼續(xù)查詢當前操作事務操作的數(shù)據(jù)行的行號;
如當前操作事務操作數(shù)據(jù)行的行號存在,則繼續(xù)查詢鎖持有者信息,反之則先創(chuàng)建當前數(shù)據(jù)行的行號后,再繼續(xù)查詢鎖持有者信息;
如查詢到鎖持有者信息,則判斷是否允許加鎖,反之則先創(chuàng)建持有者信息,再判斷是否允許加鎖;
如允許加鎖,則修改鎖持有者信息并加鎖,加鎖成功,反之則拒絕加鎖并等待重新嘗試,如重新嘗試N次后仍然拒絕加鎖,則加鎖失敗。
7.根據(jù)權利要求6所述的方法,其特征在于:所述的方法包括解鎖,在當前操作事務提交或者回滾后,由鎖管理器查詢當前操作事務的事務號,然后遍歷刪除當前事務號對應的所有鎖持有者,再刪除當前事務號對應的全部事務對象,當前操作事務操作的數(shù)據(jù)行解鎖完成。
8.根據(jù)權利要求6所述的方法,其特征在于:所述判斷是否允許加鎖的方式為通過已經(jīng)存在的鎖持有者信息獲取到當前操作事務在當前數(shù)據(jù)行已經(jīng)加過鎖的信息,通過對應的數(shù)據(jù)行號得到當前行所有事務加過鎖的信息,將兩者相減得到除當前操作事務外加過鎖的信息,得到關鍵鎖信息后通過沖突矩陣和相容矩陣判斷是否允許添加當前鎖類型。
9.根據(jù)權利要求6所述的方法,其特征在于:所述對Hbase系統(tǒng)執(zhí)行的操作事務包括Get操作、Scan操作、Put操作與Delete操作,所述Get操作為通過Key取一行數(shù)據(jù),Scan操作為通過StartKey和EndKey取一段連續(xù)的數(shù)據(jù),Put操作為通過Key添加一條數(shù)據(jù),Delete操作為通過Key刪除一條數(shù)據(jù)。
10.根據(jù)權利要求6所述的方法,其特征在于:所述操作事務向鎖管理器申請加鎖的所類型包括共享讀鎖、排它鎖、更新鎖、意向讀鎖與意向排它鎖。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于貴州易鯨捷信息技術有限公司,未經(jīng)貴州易鯨捷信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010773065.5/1.html,轉載請聲明來源鉆瓜專利網(wǎng)。
- 一種基于thrift服務的HBase安全插件
- 一種實現(xiàn)Windows下連接控制Hbase的方法及裝置
- 一種基于大數(shù)據(jù)的數(shù)據(jù)脫敏方法和Hbase脫敏處理系統(tǒng)
- 多個集群數(shù)據(jù)一致性的控制方法、裝置、設備及存儲介質
- HBase數(shù)據(jù)遷移方法及遷移裝置
- 基于phoenix改造hbase舊系統(tǒng)的索引同步方法、裝置及系統(tǒng)
- 一種格式化HBase數(shù)據(jù)的方法
- 一種多HBase集群訪問方法、裝置及存儲介質
- HBase集群平衡方法、裝置、電子設備和存儲介質
- 一種基于AEP內(nèi)存的HBase集群性能優(yōu)化方法及系統(tǒng)





