[發明專利]一種獲取分布式鎖的方法及設備在審
| 申請號: | 202011443894.3 | 申請日: | 2020-12-11 |
| 公開(公告)號: | CN112486696A | 公開(公告)日: | 2021-03-12 |
| 發明(設計)人: | 谷慶旭 | 申請(專利權)人: | 上海悅易網絡信息技術有限公司 |
| 主分類號: | G06F9/52 | 分類號: | G06F9/52;G06F9/50 |
| 代理公司: | 上海百一領御專利代理事務所(普通合伙) 31243 | 代理人: | 汪祖樂;朱永海 |
| 地址: | 200433 上海市楊浦*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 獲取 分布式 方法 設備 | ||
本申請通過一種獲取分布式鎖的方法及設備,首先向緩存系統發送分布式鎖申請信息,其中,所述分布式鎖申請信息包含與發送所述分布式鎖申請信息的業務終端唯一對應的Token,然后將所述Token存儲在所述緩存系統的預設列表中,其中,所述預設列表按時間順序依次存儲接收到的每個發送分布式鎖申請信息的業務終端的Token,最后讀取所述預設列表中最先存儲的Token,并判斷是否與所述業務終端的Token匹配,若所述Token與所述業務終端的Token匹配,則獲取到所述分布式鎖。通過該方法可確保業務終端按照申請先后順序訪問分布式緩存系統的獲取分布式鎖,先申請先獲得,實現邏輯簡單,可靠性好。
技術領域
本申請涉及分布式緩存系統技術領域,尤其涉及一種獲取分布式鎖的技術。
背景技術
隨著電子商務、互聯網等大數據應用的場景越來越多,能夠處理大量動態數據的分布式緩存系統得到廣泛應用。分布式鎖是解決多線程對共享資源訪問的一種互斥機制,即通過分布式鎖來確保同一時間只有一臺計算機中運行的一個業務終端對分布式緩存系統的共享資源進行訪問。
在現有的Redis分布式緩存系統中,一臺或者多臺計算機中運行的各業務終端按照輪詢方式來申請并獲取分布式鎖,而且申請、獲取以及釋放分布式鎖的實現邏輯復雜。但在很多應用場景,希望各業務終端能按照申請的先后順序這種公平方式而不是輪詢方式來獲取分布式鎖,而現有Redis分布式緩存系統不支持這種方式。
發明內容
本申請的目的是提供一種獲取分布式鎖的方法及設備,用以解決現有Redis分布式緩存系統不支持按申請先后順序獲取分布式鎖的技術問題。
根據本申請的一個方面,提供了一種獲取分布式鎖的方法,其中,所述方法包括:
向緩存系統發送分布式鎖申請信息,其中,所述分布式鎖申請信息包含與發送所述分布式鎖申請信息的業務終端唯一對應的Token;
將所述Token存儲在所述緩存系統的預設列表中,其中,所述預設列表按時間順序依次存儲接收到的每個發送分布式鎖申請信息的業務終端的Token;
讀取所述預設列表中最先存儲的Token,并判斷是否與所述業務終端的Token匹配,若所述Token與所述業務終端的Token匹配,則獲取到所述分布式鎖。
可選地,其中,在將所述Token存儲在所述緩存系統的預設列表中之后,所述方法還包括:
在所述緩存系統的預設哈希表中創建一個哈希,其中,所述哈希的key為發送所述分布式鎖申請信息的業務終端的Token,所述哈希的value為第一預設時間。
可選地,所述方法還包括:
執行與所述分布式鎖對應的業務處理;
更新所述預設哈希表中與所述業務終端的Token對應的哈希的value。
可選地,其中,所述更新所述預設哈希表中與所述業務終端的Token對應的哈希的value包括:
更新所述預設哈希表中與所述Token對應的哈希的value為第二預設時間。
可選地,所述方法還包括:
在所述業務處理執行完成后,從所述預設列表中刪除所述Token,并從所述預設哈希表中刪除所述Token對應的哈希。
可選地,其中,若所述Token與所述業務終端的Token不匹配,所述方法還包括:
從所述預設哈希表中獲取所述Token對應的第一預設時間;
比較所述Token對應的第一預設時間與當前時間,若所述Token對應的第一預設時間小于或者等于當前時間,從所述預設列表中刪除所述Token,并從所述預設哈希表中刪除所述Token對應的哈希;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海悅易網絡信息技術有限公司,未經上海悅易網絡信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011443894.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種用于光刻機的深蝕刻輪廓限縮對準方法
- 下一篇:一種半自動激光調阻機





