欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種分布式鎖處理方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)與流程

文檔序號(hào):40521865發(fā)布日期:2024-12-31 13:31閱讀:22來源:國(guó)知局
一種分布式鎖處理方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)與流程

本發(fā)明涉及計(jì)算機(jī),尤其涉及一種分布式鎖處理方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)。


背景技術(shù):

1、在分布式系統(tǒng)中,數(shù)據(jù)一致性和并發(fā)控制是構(gòu)建健壯應(yīng)用的關(guān)鍵挑戰(zhàn)之一。分布式鎖作為解決并發(fā)問題的有效手段,被廣泛用于協(xié)調(diào)多個(gè)服務(wù)或節(jié)點(diǎn)間的操作。其中,傳統(tǒng)的分布式鎖實(shí)現(xiàn)方式,通常要求設(shè)置鎖的過期時(shí)間以防止死鎖,同時(shí)依賴額外的線程或進(jìn)程來監(jiān)控和續(xù)期這些鎖。

2、然而,在現(xiàn)有技術(shù)中,需要為每個(gè)鎖單獨(dú)創(chuàng)建看門狗線程或進(jìn)程來監(jiān)控和續(xù)期,從而導(dǎo)致系統(tǒng)資源消耗增大,尤其是在高并發(fā)場(chǎng)景下,用于監(jiān)控分布式鎖的看門狗線程或進(jìn)程的數(shù)量更多,資源消耗將會(huì)更多。


技術(shù)實(shí)現(xiàn)思路

1、本申請(qǐng)實(shí)施例提供一種分布式鎖處理方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì),以解決現(xiàn)有技術(shù)中,需要為每一個(gè)分布式鎖的監(jiān)控和續(xù)期創(chuàng)建相應(yīng)的線程或進(jìn)程,從而導(dǎo)致資源開銷較大的問題。

2、第一方面,本申請(qǐng)實(shí)施例提供了一種分布式鎖處理方法,所述方法包括:

3、獲取第一線程的加鎖請(qǐng)求,其中,所述加鎖請(qǐng)求中攜帶有所述第一線程的標(biāo)識(shí)信息;

4、在延遲隊(duì)列中不存在所述第一線程的標(biāo)識(shí)信息對(duì)應(yīng)的鎖標(biāo)識(shí)信息時(shí),為所述第一線程加分布式鎖,并在所述延遲隊(duì)列中添加所述第一線程的目標(biāo)信息,其中,所述目標(biāo)信息包括所述第一線程的標(biāo)識(shí)信息、所述第一線程所持有的分布式鎖的標(biāo)識(shí)信息和消費(fèi)時(shí)間信息;

5、在所述消費(fèi)時(shí)間信息指示的時(shí)間到達(dá)時(shí),檢測(cè)所述第一線程對(duì)應(yīng)的業(yè)務(wù)是否執(zhí)行完畢,并在未執(zhí)行完畢時(shí),為所述第一線程的分布式鎖進(jìn)行續(xù)期,并更新所述延遲隊(duì)列中所述第一線程的所述消費(fèi)時(shí)間信息。

6、可選地,所述為所述第一線程加分布式鎖,包括:

7、生成第一版本信息;

8、調(diào)用遠(yuǎn)程字典服務(wù)redis為所述第一線程加分布式鎖,并在redis中存儲(chǔ)所述第一線程持有的分布式鎖的標(biāo)識(shí)信息和所述第一版本信息。

9、可選地,所述方法還包括:

10、在延遲隊(duì)列中存在所述第一線程的標(biāo)識(shí)信息對(duì)應(yīng)的鎖標(biāo)識(shí)信息的情況下,生成所述第一線程持有的分布式鎖的第二版本信息,且保持redis中存儲(chǔ)的所述第一線程持有的分布式鎖的所述第一版本信息不變。

11、可選地,所述方法還包括:

12、獲取所述第一線程的釋放鎖請(qǐng)求,其中,所述釋放鎖請(qǐng)求中攜帶有鎖標(biāo)識(shí)信息、第三版本信息;

13、在redis中存在所述釋放請(qǐng)求中攜帶的鎖標(biāo)識(shí)信息,且該鎖標(biāo)識(shí)信息對(duì)應(yīng)的版本信息與所述第三版本信息相同的情況下,將所述redis中的所述釋放請(qǐng)求中攜帶的鎖標(biāo)識(shí)信息和該鎖標(biāo)識(shí)信息對(duì)應(yīng)的版本信息刪除,并將所述延遲隊(duì)列中所述第一線程的所述目標(biāo)信息丟棄。

14、可選地,所述方法還包括:

15、在redis中存在所述釋放請(qǐng)求中攜帶的鎖標(biāo)識(shí)信息,且該鎖標(biāo)識(shí)信息對(duì)應(yīng)的版本信息與所述第三版本信息不同的情況下,保留所述redis中的所述釋放請(qǐng)求中攜帶的鎖標(biāo)識(shí)信息和該鎖標(biāo)識(shí)信息對(duì)應(yīng)的版本信息,并保留所述延遲隊(duì)列中所述第一線程的所述目標(biāo)信息。

16、可選地,所述更新所述延遲隊(duì)列中所述第一線程的所述消費(fèi)時(shí)間信息,包括:

17、根據(jù)為所述第一線程的分布式鎖續(xù)期的時(shí)長(zhǎng),更新所述消費(fèi)時(shí)間信息。

18、可選地,所述在所述消費(fèi)時(shí)間信息指示的時(shí)間到達(dá)時(shí),檢測(cè)所述第一線程對(duì)應(yīng)的業(yè)務(wù)是否執(zhí)行完畢,并在未執(zhí)行完畢時(shí),為所述第一線程的分布式鎖進(jìn)行續(xù)期,并更新所述延遲隊(duì)列中所述第一線程的所述消費(fèi)時(shí)間信息,包括:

19、通過消費(fèi)線程,在所述消費(fèi)時(shí)間信息指示的時(shí)間到達(dá)時(shí),檢測(cè)所述第一線程對(duì)應(yīng)的業(yè)務(wù)是否執(zhí)行完畢,并在未執(zhí)行完畢時(shí),為所述第一線程的分布式鎖進(jìn)行續(xù)期,并更新所述延遲隊(duì)列中所述第一線程的所述消費(fèi)時(shí)間信息。

20、第二方面,本申請(qǐng)的實(shí)施例提供了一種分布式鎖處理裝置,所述裝置包括:

21、第一獲取模塊,用于獲取第一線程的加鎖請(qǐng)求,其中,所述加鎖請(qǐng)求中攜帶有所述第一線程的標(biāo)識(shí)信息;

22、加鎖模塊,用于在延遲隊(duì)列中不存在所述第一線程的標(biāo)識(shí)信息對(duì)應(yīng)的鎖標(biāo)識(shí)信息時(shí),為所述第一線程加分布式鎖,并在所述延遲隊(duì)列中添加所述第一線程的目標(biāo)信息,其中,所述目標(biāo)信息包括所述第一線程的標(biāo)識(shí)信息、所述第一線程所持有的分布式鎖的標(biāo)識(shí)信息和消費(fèi)時(shí)間信息;

23、續(xù)期模塊,用于在所述消費(fèi)時(shí)間信息指示的時(shí)間到達(dá)時(shí),檢測(cè)所述第一線程對(duì)應(yīng)的業(yè)務(wù)是否執(zhí)行完畢,并在未執(zhí)行完畢時(shí),為所述第一線程的分布式鎖進(jìn)行續(xù)期,并更新所述延遲隊(duì)列中所述第一線程的所述消費(fèi)時(shí)間信息。

24、第三方面,本申請(qǐng)的實(shí)施例提供了一種電子設(shè)備,包括存儲(chǔ)器,收發(fā)機(jī),處理器:

25、存儲(chǔ)器,用于存儲(chǔ)計(jì)算機(jī)程序;收發(fā)機(jī),用于在所述處理器的控制下收發(fā)數(shù)據(jù);處理器,用于讀取所述存儲(chǔ)器中的計(jì)算機(jī)程序并執(zhí)行上述第一方面所述的分布式鎖處理方法。

26、第四方面,本申請(qǐng)的實(shí)施例提供了一種可讀存儲(chǔ)介質(zhì),所述可讀存儲(chǔ)介質(zhì)上存儲(chǔ)程序或指令,所述程序或指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述第一方面所述的分布式鎖處理方法。

27、在本申請(qǐng)實(shí)施例中,能夠獲取第一線程的加鎖請(qǐng)求,該加鎖請(qǐng)求中攜帶有第一線程的標(biāo)識(shí)信息,從而在延遲隊(duì)列中不存在第一線程的標(biāo)識(shí)信息對(duì)應(yīng)的鎖標(biāo)識(shí)信息的情況下,為第一線程加分布式鎖,并在延遲隊(duì)列中添加第一線程的目標(biāo)信息,該目標(biāo)信息包括第一線程的標(biāo)識(shí)信息、第一線程所持有的分布式鎖的標(biāo)識(shí)信息和消費(fèi)時(shí)間信息,從而在該消費(fèi)時(shí)間信息指示的時(shí)間到達(dá)時(shí),檢測(cè)第一線程的業(yè)務(wù)是否執(zhí)行完畢,若未執(zhí)行完畢,則為第一線程的分布式鎖進(jìn)行續(xù)期,并更新延遲隊(duì)列中第一線程的消費(fèi)時(shí)間信息。

28、可見,在本申請(qǐng)實(shí)施例中,可以通過延遲隊(duì)列保存添加了分布式鎖的線程的標(biāo)識(shí)信息、該線程所持有的分布式鎖的標(biāo)識(shí)信息;也就是說,在延遲隊(duì)列中存在某個(gè)線程的標(biāo)識(shí)信息及其對(duì)應(yīng)的鎖標(biāo)識(shí)信息,則表示該線程已持有分布式鎖;在延遲隊(duì)列中不存在某個(gè)線程的標(biāo)識(shí)信息及其對(duì)應(yīng)的鎖標(biāo)識(shí)信息,則表示該線程未持有分布式鎖;并且,通過在延遲隊(duì)列中設(shè)置各個(gè)分布式鎖的消費(fèi)時(shí)間信息,來指示下一次判斷是否進(jìn)行續(xù)期的時(shí)間;這樣,本申請(qǐng)實(shí)施例通過延遲隊(duì)列實(shí)現(xiàn)對(duì)不同線程的加鎖、鎖續(xù)期的統(tǒng)一管理,因此,本申請(qǐng)的實(shí)施例中,不需要為每個(gè)鎖單獨(dú)創(chuàng)建看門狗線程或進(jìn)程,從而可以降低資源消耗。



技術(shù)特征:

1.一種分布式鎖處理方法,其特征在于,所述方法包括:

2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述為所述第一線程加分布式鎖,包括:

3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括:

4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述方法還包括:

5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括:

6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述更新所述延遲隊(duì)列中所述第一線程的所述消費(fèi)時(shí)間信息,包括:

7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在所述消費(fèi)時(shí)間信息指示的時(shí)間到達(dá)時(shí),檢測(cè)所述第一線程對(duì)應(yīng)的業(yè)務(wù)是否執(zhí)行完畢,并在未執(zhí)行完畢時(shí),為所述第一線程的分布式鎖進(jìn)行續(xù)期,并更新所述延遲隊(duì)列中所述第一線程的所述消費(fèi)時(shí)間信息,包括:

8.一種分布式鎖處理裝置,其特征在于,所述裝置包括:

9.一種電子設(shè)備,其特征在于,包括存儲(chǔ)器,收發(fā)機(jī),處理器:

10.一種可讀存儲(chǔ)介質(zhì),其特征在于,所述可讀存儲(chǔ)介質(zhì)上存儲(chǔ)程序或指令,所述程序或指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至7中任一項(xiàng)所述的分布式鎖處理方法。


技術(shù)總結(jié)
本申請(qǐng)實(shí)施例提供了一種分布式鎖處理方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì),該方法包括:獲取第一線程的加鎖請(qǐng)求,加鎖請(qǐng)求中攜帶第一線程的標(biāo)識(shí)信息;在延遲隊(duì)列中不存在第一線程的標(biāo)識(shí)信息對(duì)應(yīng)的鎖標(biāo)識(shí)信息時(shí),為第一線程加分布式鎖,并在延遲隊(duì)列中添加第一線程的目標(biāo)信息,目標(biāo)信息包括第一線程的標(biāo)識(shí)信息、第一線程持有的分布式鎖的標(biāo)識(shí)信息和消費(fèi)時(shí)間信息;在消費(fèi)時(shí)間信息指示的時(shí)間到達(dá)時(shí),檢測(cè)第一線程對(duì)應(yīng)的業(yè)務(wù)是否執(zhí)行完畢,并在未執(zhí)行完畢時(shí),為第一線程的分布式鎖續(xù)期,并更新延遲隊(duì)列中第一線程的消費(fèi)時(shí)間信息。

技術(shù)研發(fā)人員:張曉彬,陶曼曼,賈光偉
受保護(hù)的技術(shù)使用者:中國(guó)電信股份有限公司
技術(shù)研發(fā)日:
技術(shù)公布日:2024/12/30
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
赣州市| 林西县| 沁水县| 夏邑县| 满洲里市| 环江| 抚远县| 锡林郭勒盟| 武隆县| 马公市| 资兴市| 蛟河市| 翁牛特旗| 新疆| 承德县| 林口县| 焉耆| 南陵县| 潼南县| 绥滨县| 平泉县| 东莞市| 邹平县| 海林市| 迭部县| 吉首市| 成都市| 前郭尔| 阿荣旗| 胶南市| 德保县| 高唐县| 日照市| 瓦房店市| 临清市| 荃湾区| 延庆县| 靖宇县| 敖汉旗| 揭东县| 赤城县|