[發明專利]一種分布式鎖實現方法和系統有效
| 申請號: | 201710088027.4 | 申請日: | 2017-02-19 |
| 公開(公告)號: | CN106776055B | 公開(公告)日: | 2019-10-25 |
| 發明(設計)人: | 陳良龍;鄒寧勇 | 申請(專利權)人: | 網宿科技股份有限公司 |
| 主分類號: | G06F9/52 | 分類號: | G06F9/52;H04L29/08;G06F16/182 |
| 代理公司: | 北京華智則銘知識產權代理有限公司 11573 | 代理人: | 王昌貴 |
| 地址: | 200030 上海市徐匯區*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 分布式 實現 方法 系統 | ||
本發明公開了一種分布式鎖實現方法和系統,本發明屬于網絡通信技術領域。所述方法包括:客戶端響應應用程序針對需求的共享數據在根目錄下創建子目錄的請求,根據請求生成并發送第一請求數據包;中心機器接收第一請求數據包,判斷中心機器中是否存在對應共享數據的子目錄的路徑信息,當中心機器中不存在路徑信息時,在中心機器中創建對應共享數據的子目錄的路徑信息,并向客戶端發送創建成功信號。本發明利用操作系統的基本操作如創建、刪除子目錄的方式實現分布式鎖,不受開發語言的限制,通用性好,實現過程簡單。
技術領域
本發明涉及網絡通信技術領域,特別涉及一種分布式鎖實現方法和系統。
背景技術
分布式鎖是控制分布式系統之間同步訪問共享資源的一種方式。在分布式系統中,常常需要協調訪問共享資源的動作。如果不同的系統或是同一個系統的不同主機之間共享了一個或一組資源,那么訪問這些資源的時候,往往需要互斥來防止彼此干擾來保證一致性,在這種情況下,便需要使用到分布式鎖,在分布式系統中,某一主機的一個應用了分布式鎖的應用程序先通過獲得分布式鎖,才能根據該分布式鎖訪問共享資源。
現有技術中,分布式鎖有zookeeper,大致思想即為:每個客戶端對某個功能加鎖時,在zookeeper上的與該功能對應的指定節點的目錄下,生成一個唯一的瞬時有序節點。獲取目錄下的所有節點,判斷最小節點是否為自己來獲取鎖。
在實施本發明實施例的過程中,發明人發現現有技術至少存在以下問題:
現有技術中,獲得分布式鎖的過程繁瑣,且受開發語言的限制,通用性不佳。
發明內容
為了解決現有技術中的問題,本發明實施例提供了一種分布式鎖實現方法和系統。所述技術方案如下:
第一方面,本發明實施例提供的一種分布式鎖實現方法,包括:
客戶端響應應用程序針對需求的共享數據在根目錄下創建子目錄的請求,根據請求生成并發送第一請求數據包;
中心機器接收第一請求數據包,判斷中心機器中是否存在對應共享數據的子目錄的路徑信息,當中心機器中不存在路徑信息時,在中心機器中創建對應共享數據的子目錄的路徑信息,并向客戶端發送創建成功信號。
可選地,所述方法還包括:
當中心機器中已存在對應共享數據的子目錄的路徑信息時,向客戶端發送創建失敗信號。
可選地,客戶端還包含用戶空間文件系統,通過用戶空間文件系統提供出根目錄,根目錄下對應共享數據的子目錄的路徑與中心機器中對應共享數據的子目錄的路徑信息相同。
可選地,所述方法還包括:
客戶端響應應用程序在根目錄下刪除對應共享數據的子目錄的請求,根據請求生成并發送第二請求數據包至中心機器;
中心機器接收第二請求數據包,并在中心機器中刪除共享數據的子目錄的路徑信息。
可選地,所述方法還包括:
中心機器檢測共享數據的子目錄的路徑信息存在時間是否超過預設閾值,當存在時間超過預設閾值時,刪除中心機器中共享數據的子目錄的路徑信息。
可選地,不同的應用程序針對同一共享數據在根目錄下創建子目錄的路徑信息相同。
可選地,中心機器中對應共享數據的子目錄的路徑信息保存在中心機器的內存中。
第二方面,本發明實施例提供的一種分布式鎖實現系統,包括:
客戶端,用于響應應用程序針對需求的共享數據在根目錄下創建子目錄的請求,并根據請求生成并發送第一請求數據包;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于網宿科技股份有限公司,未經網宿科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710088027.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種內存優化方法和裝置
- 下一篇:在終端實現按鍵智能化控制系統及方法





