[發明專利]分布式鎖實現方法、裝置及可讀存儲介質在審
| 申請號: | 201810242246.8 | 申請日: | 2018-03-22 |
| 公開(公告)號: | CN108399107A | 公開(公告)日: | 2018-08-14 |
| 發明(設計)人: | 張振鐸;張文明;陳少杰 | 申請(專利權)人: | 武漢斗魚網絡科技有限公司 |
| 主分類號: | G06F9/52 | 分類號: | G06F9/52;G06F9/50 |
| 代理公司: | 北京超凡志成知識產權代理事務所(普通合伙) 11371 | 代理人: | 逯恒 |
| 地址: | 430000 湖北省武漢市東湖新技術*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 臨界資源 應用程序 分布式鎖 資源鎖 可讀存儲介質 占用 應用程序訪問 分布式系統 訪問請求 高效運行 判斷結果 情況判斷 保證 進程 | ||
本發明實施例提供一種分布式鎖實現方法、裝置及可讀存儲介質。該方法包括:在接收到應用程序對目標臨界資源的訪問請求時,判斷所述目標臨界資源的資源鎖是否存在;若所述目標臨界資源的資源鎖不存在,則允許所述應用程序訪問所述目標臨界資源,并為所述目標臨界資源的資源鎖設置對應的生存時間值;在所述應用程序占用所述目標臨界資源后,基于所述生存時間值執行生存時間值重設命令;根據所述生存時間值重設命令的執行情況判斷所述應用程序是否發生異常;若判斷結果為所述應用程序發生異常,則取消所述應用程序對所述目標臨界資源的占用。由此,解決了傳統分布式鎖由于進程異常造成鎖無限期占用的問題,保證了分布式系統的高效運行。
技術領域
本發明涉及軟件工程領域,具體而言,涉及一種分布式鎖實現方法、裝置及可讀存儲介質。
背景技術
在當前的軟件工程領域,特別是大數據計算領域,經常會有分布式系統的部署,以便并行高效的進行大數據量的計算。在分布式系統中,經常會有進程間互斥的訪問某種資源或者互斥的執行某種任務的情形。例如某個消息,只能被集群中一臺機器消費即可,多臺重復消費會造成嚴重問題,例如機器崩潰。或者是某個文件,同一時間只允許單個進程讀寫,如果被多個進程讀寫,也會造成嚴重問題。如何在實現上述的互斥訪問需求的基礎上保證分布式系統的高效運行,是本領域技術人員亟待解決的技術問題。
發明內容
為了克服現有技術中的上述不足,本發明的目的在于提供一種分布式鎖實現方法、裝置及可讀存儲介質,以解決或者改善上述問題。
為了實現上述目的,本發明實施例采用的技術方案如下:
結合第一方面,本發明實施例提供一種分布式鎖實現方法,應用于電子設備,所述電子設備包括Redis數據庫,所述Redis數據庫中包括有各個臨界資源的資源鎖信息,所述方法包括:
在接收到應用程序對目標臨界資源的訪問請求時,判斷所述目標臨界資源的資源鎖是否存在;
若所述目標臨界資源的資源鎖不存在,則允許所述應用程序訪問所述目標臨界資源,并為所述目標臨界資源的資源鎖設置對應的生存時間值;
在所述應用程序占用所述目標臨界資源后,基于所述生存時間值執行生存時間值重設命令;
根據所述生存時間值重設命令的執行情況判斷所述應用程序是否發生異常;
若判斷結果為所述應用程序發生異常,則取消所述應用程序對所述目標臨界資源的占用。
可選地,在所述在接收到應用程序對目標臨界資源的訪問請求時,判斷所述目標臨界資源的資源鎖是否存在的步驟之后,所述方法還包括:
若所述目標臨界資源的資源鎖存在,則拒絕所述應用程序對目標臨界資源的訪問請求。
可選地,所述基于所述生存時間值執行生存時間值重設命令的狀態下:
所述電子設備基于所述生存時間值進行時間計時,并在每一次計時時間到達所述生存時間值時進行下一次時間計時。
可選地,所述根據所述生存時間值重設命令的執行情況判斷所述應用程序是否發生異常的步驟,包括:
判斷所述電子設備是否在每一次計時時間到達所述生存時間值時及時進行下一次時間計時;
若是,則判定所述應用程序未發生異常;
若否,則判斷所述應用程序發生異常。
可選地,所述若判斷結果為所述應用程序發生異常,則取消所述應用程序對所述目標臨界資源的占用的步驟,包括:
若判斷結果為所述應用程序發生異常,則在本次計時時間到達生存時間值時,銷毀所述目標臨界資源的資源鎖,以取消所述應用程序對所述目標臨界資源的占用。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢斗魚網絡科技有限公司,未經武漢斗魚網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810242246.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:管理物理主機的方法和裝置
- 下一篇:讀取操作和軟解碼時序





