[發明專利]一種分布式鎖實現方法及系統在審
| 申請號: | 201911403931.5 | 申請日: | 2019-12-30 |
| 公開(公告)號: | CN111190913A | 公開(公告)日: | 2020-05-22 |
| 發明(設計)人: | 徐加明;趙樹偉;王杰;杜勇 | 申請(專利權)人: | 聯動優勢(北京)數字科技有限公司 |
| 主分類號: | G06F16/23 | 分類號: | G06F16/23;G06F16/176;G06F9/52;G06Q40/04 |
| 代理公司: | 北京路浩知識產權代理有限公司 11002 | 代理人: | 楊明月 |
| 地址: | 100088 北京市西城*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 分布式 實現 方法 系統 | ||
本發明實施例提供一種分布式鎖實現方法及系統,該方法包括:客戶端向區塊鏈網絡中的任一分布式鎖服務節點發送分布式鎖交易信息;若接收分布式鎖交易信息的分布式鎖服務節點為正常節點,則區塊鏈網絡通過預設的共識算法對分布式鎖交易信息進行共識后,利用預設的智能合約對分布式鎖交易信息進行后根據客戶端標識向客戶端發送預設反饋信息。本發明實施例提供的分布式鎖實現方法及系統,通過將分布式鎖服務節點構成區塊鏈網絡,并通過共識對分布式鎖交易信息進行處理,即使一定量的分布式鎖服務節點被攻擊,區塊鏈系統依舊提供高可用的鎖服務能力,并可防止單點故障導致分布式鎖服務不可用,由此提高了分布式鎖服務的抗攻擊能力和可用性。
技術領域
本發明涉及區塊鏈技術領域,具體涉及一種分布式鎖實現方法及系統。
背景技術
分布式鎖是控制分布式系統之間同步訪問共享資源的一種方式。在分布式系統中,常常需要協調他們的動作。如果不同的系統或是同一個系統的不同主機之間共享了一個或一組資源,那么訪問這些資源的時候,往往需要互斥來防止彼此干擾來保證一致性,在這種情況下,便需要使用到分布式鎖。
現在的分布式鎖實現方式主要是基于Zookeeper、數據庫等中心化方式,當這些中心化系統被惡意攻擊時,提供的分布式鎖服務失效,導致業務處理異常。比如,在基于Zookeeper實現分布式鎖時,所采用的方案為:1)在Zookeeper指定節點(locks)下創建臨時順序節點;2)獲取locks下所有子節點;3)對子節點按節點自增序號從小到大排序;4)判斷本節點是不是第一個子節點,若是,則獲取鎖;若不是,則監聽比該節點小的那個節點的刪除事件;5)若監聽事件生效,則回到第二步重新進行判斷,直到獲取到鎖。Zookeeper使用基于raft的分布式一致性算法,當惡意的分布式zk節點攻擊Zookeeper系統時,導致Zookeeper系統異常,分布式鎖服務提供錯誤信息。
可見,現有技術的分布式鎖的實現方法抗攻擊能力差、可用性差。
發明內容
為解決現有技術中的問題,本發明實施例提供一種分布式鎖實現方法及系統。
第一方面,本發明實施例提供一種分布式鎖實現方法,包括:分布式部署的客戶端向區塊鏈網絡中的任一分布式鎖服務節點發送分布式鎖交易信息,所述分布式鎖交易信息包括客戶端標識及鎖標識;若接收所述分布式鎖交易信息的所述分布式鎖服務節點為正常節點,則所述區塊鏈網絡通過預設的共識算法對所述分布式鎖交易信息進行共識后,利用預設的智能合約對所述分布式鎖交易信息進行處理,處理完成后根據所述客戶端標識向所述客戶端發送預設反饋信息。
進一步地,所述方法還包括:若所述客戶端在預設時間內未接收到所述區塊鏈網絡發送的與所述分布式鎖交易信息對應的所述預設反饋信息,或所述客戶端在預設時間內接收到所述預設反饋信息,但通過查詢區塊鏈網絡發現當前相應的鎖持有狀態信息與所述預設反饋信息不一致,則向另一所述分布式鎖服務節點再次發送所述分布式鎖交易信息,重復上述過程,直至接收到所述預設反饋信息,且所述預設反饋信息與當前所述鎖持有狀態信息一致。
進一步地,所述分布式鎖交易信息為獲取鎖交易信息;所述區塊鏈網絡利用預設的智能合約對所述分布式鎖交易信息進行處理包括:所述區塊鏈網絡根據所述鎖標識查看是否有客戶端已經獲取相應鎖;若已經有客戶端獲取相應鎖且正常使用,則向發送所述獲取鎖交易信息的所述客戶端發送鎖占用信息;若沒有客戶端獲取相應鎖,或有客戶端獲取相應鎖但未正常使用,則變更鎖持有者為發送所述分布式鎖交易信息的所述客戶端,并向所述客戶端發送鎖成功獲取信息;其中,所述預設反饋信息包括所述鎖占用信息或所述鎖成功獲取信息。
進一步地,所述分布式鎖交易信息為釋放鎖交易信息;所述區塊鏈網絡利用預設的智能合約對所述分布式鎖交易信息進行處理包括:所述區塊鏈網絡判斷發送所述分布式鎖交易信息的所述客戶端是否是當前與所述鎖標識對應的鎖的持有者,若是,則釋放所述鎖,并向所述客戶端發送鎖成功釋放信息;若否,則向所述客戶端發送錯誤信息;其中,所述預設反饋信息包括所述鎖成功釋放信息或所述錯誤信息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于聯動優勢(北京)數字科技有限公司,未經聯動優勢(北京)數字科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911403931.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:基于全局閾值與模板匹配的焊縫特征點濾波方法
- 下一篇:一種拼接式計算機機箱





