[發(fā)明專利]一種分布式鎖的實(shí)現(xiàn)方法、系統(tǒng)、設(shè)備及存儲(chǔ)介質(zhì)有效
| 申請(qǐng)?zhí)枺?/td> | 202110526501.3 | 申請(qǐng)日: | 2021-05-14 |
| 公開(kāi)(公告)號(hào): | CN113407553B | 公開(kāi)(公告)日: | 2023-05-05 |
| 發(fā)明(設(shè)計(jì))人: | 李琦;宋衛(wèi)東 | 申請(qǐng)(專利權(quán))人: | 重慶銳云科技有限公司 |
| 主分類(lèi)號(hào): | G06F16/23 | 分類(lèi)號(hào): | G06F16/23;G06F16/21;G06F9/50 |
| 代理公司: | 重慶智慧之源知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 50234 | 代理人: | 余洪;高彬 |
| 地址: | 401121 重慶*** | 國(guó)省代碼: | 重慶;50 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 分布式 實(shí)現(xiàn) 方法 系統(tǒng) 設(shè)備 存儲(chǔ) 介質(zhì) | ||
1.一種分布式鎖的實(shí)現(xiàn)方法,其特征在于,包括以下步驟:
設(shè)置目標(biāo)注解,通過(guò)同步枚舉定義分布式鎖的屬性信息;
在Redis操作類(lèi)上定義獲取分布式鎖和釋放分布式鎖,其中,所述獲取分布式鎖包括:定義獲取分布式鎖時(shí),根據(jù)獲取用戶發(fā)出的請(qǐng)求識(shí)別請(qǐng)求標(biāo)識(shí),根據(jù)所述請(qǐng)求標(biāo)識(shí)獲取分布式鎖,設(shè)置分布式鎖的獲取超時(shí)時(shí)長(zhǎng);若未超過(guò)所述獲取超時(shí)時(shí)長(zhǎng),則通過(guò)UUID方法隨機(jī)生成字符串作為所述分布式鎖的value值,并返回獲取分布式鎖的業(yè)務(wù)代碼;若超過(guò)所述獲取超時(shí)時(shí)長(zhǎng),則返回獲取失敗的提示;所述釋放分布式鎖包括:定義釋放分布式鎖時(shí),根據(jù)釋放用戶發(fā)出的釋放請(qǐng)求識(shí)別請(qǐng)求標(biāo)識(shí),根據(jù)所述請(qǐng)求標(biāo)識(shí)判斷所述釋放用戶是否與所述獲取用戶一致;若釋放用戶與所述獲取用戶一致,則根據(jù)釋放用戶發(fā)出的value值與所述分布式鎖攜帶的value值是否相同,判斷是否釋放所述分布式鎖;若釋放用戶與所述獲取用戶不一致,則返回拒絕釋放所述分布式鎖的提示;
定義切面類(lèi),在所述切面類(lèi)中依次添加聲明注解、切面注解和命令注解,配合Spring框架中的事務(wù)性注解,并設(shè)置所述切面類(lèi)和事務(wù)性注解的執(zhí)行順序;
在待加鎖的方法中添加所述目標(biāo)注解,根據(jù)所述切面類(lèi)和事務(wù)性注解的執(zhí)行順序,對(duì)所述待加鎖的方法進(jìn)行自動(dòng)加鎖和釋放鎖。
2.根據(jù)權(quán)利要求1所述的一種分布式鎖的實(shí)現(xiàn)方法,其特征在于,所述設(shè)置目標(biāo)注解,通過(guò)同步枚舉定義分布式鎖的屬性信息,具體包括:
所述屬性信息包括分布式鎖的字符串類(lèi)型、輪詢次數(shù)、輪詢間隔時(shí)間和超時(shí)時(shí)間。
3.根據(jù)權(quán)利要求1所述的一種分布式鎖的實(shí)現(xiàn)方法,其特征在于,所述若為獲取分布式鎖的請(qǐng)求,則根據(jù)請(qǐng)求中攜帶的value值與釋放分布式鎖的value值是否相同確定是否釋放所述分布式鎖,具體包括:
若釋放用戶發(fā)出的value值與所述分布式鎖攜帶的value值相同,則釋放所述分布式鎖,并返回釋放分布式鎖的業(yè)務(wù)代碼;
若釋放用戶發(fā)出的value值與所述分布式鎖攜帶的value值不相同,則重復(fù)請(qǐng)求釋放分布式鎖,至超過(guò)釋放超時(shí)時(shí)長(zhǎng)后,停止請(qǐng)求操作,繼續(xù)下一進(jìn)程或返回釋放失敗的提示。
4.根據(jù)權(quán)利要求1所述的一種分布式鎖的實(shí)現(xiàn)方法,其特征在于,所述定義切面類(lèi),在所述切面類(lèi)中依次添加聲明注解、切面注解和命令注解,配合Spring框架中的事務(wù)性注解,并設(shè)置所述切面類(lèi)和事務(wù)性注解的執(zhí)行順序,具體包括:
設(shè)置所述切面類(lèi)的執(zhí)行順序?yàn)?,所述事務(wù)性注解的執(zhí)行順序?yàn)?;
在執(zhí)行完所述切面類(lèi)后,執(zhí)行所述事務(wù)性注解。
5.根據(jù)權(quán)利要求1所述的一種分布式鎖的實(shí)現(xiàn)方法,其特征在于,所述在待加鎖的方法中添加所述目標(biāo)注解,具體包括:
在多個(gè)用戶訪問(wèn)所述待加鎖的方法時(shí),在所述待加鎖的方法中添加所述目標(biāo)注解,通過(guò)所述目標(biāo)注解在所述待加鎖的方法中自動(dòng)加鎖。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于重慶銳云科技有限公司,未經(jīng)重慶銳云科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110526501.3/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 互動(dòng)業(yè)務(wù)終端、實(shí)現(xiàn)系統(tǒng)及實(shí)現(xiàn)方法
- 街景地圖的實(shí)現(xiàn)方法和實(shí)現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實(shí)現(xiàn)裝置及其圖像實(shí)現(xiàn)方法
- 增強(qiáng)現(xiàn)實(shí)的實(shí)現(xiàn)方法以及實(shí)現(xiàn)裝置
- 軟件架構(gòu)的實(shí)現(xiàn)方法和實(shí)現(xiàn)平臺(tái)
- 數(shù)值預(yù)報(bào)的實(shí)現(xiàn)方法及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 輸入設(shè)備實(shí)現(xiàn)方法及其實(shí)現(xiàn)裝置
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





