本公開(kāi)的實(shí)施例涉及計(jì)算機(jī),并且更具體地涉及一種分布式鎖的方法、裝置、系統(tǒng)、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以及計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù):
1、數(shù)據(jù)庫(kù)存算一體是一種傳統(tǒng)的數(shù)據(jù)庫(kù)架構(gòu)。在這種架構(gòu)中,數(shù)據(jù)庫(kù)分析器、數(shù)據(jù)庫(kù)優(yōu)化器和數(shù)據(jù)庫(kù)執(zhí)行器通常被稱為數(shù)據(jù)庫(kù)計(jì)算節(jié)點(diǎn),而數(shù)據(jù)庫(kù)存儲(chǔ)則作為數(shù)據(jù)庫(kù)的存儲(chǔ)節(jié)點(diǎn)。當(dāng)將計(jì)算和存儲(chǔ)程序部署在同一臺(tái)物理機(jī)上時(shí),通常被稱為存算一體部署模式。以數(shù)據(jù)庫(kù)一主兩從(備)為例,每個(gè)主從節(jié)點(diǎn)都有自己的計(jì)算單元(cpu)和存儲(chǔ)(硬盤),它們被分別部署在不同的機(jī)器上。
2、數(shù)據(jù)庫(kù)存算分離是另一種數(shù)據(jù)庫(kù)架構(gòu),其中計(jì)算和存儲(chǔ)被分開(kāi),并且存儲(chǔ)空間被共享,以用于由所有數(shù)據(jù)庫(kù)計(jì)算節(jié)點(diǎn)訪問(wèn),例如通過(guò)高速網(wǎng)絡(luò)進(jìn)行訪問(wèn)。在存算分離的數(shù)據(jù)庫(kù)架構(gòu)中,存儲(chǔ)空間只需一份,計(jì)算節(jié)點(diǎn)之間共享存儲(chǔ)空間,并且由存儲(chǔ)節(jié)點(diǎn)保證存儲(chǔ)的高可用性。這種架構(gòu)在云存儲(chǔ)中被廣泛使用。
技術(shù)實(shí)現(xiàn)思路
1、提供了一種分布式鎖的方案。通過(guò)本方案,能夠?qū)⒎植际降逆i管理權(quán)限放在存儲(chǔ)節(jié)點(diǎn)上,減少計(jì)算節(jié)點(diǎn)之間通信的需求,存儲(chǔ)節(jié)點(diǎn)可以作為協(xié)調(diào)者,管理鎖的分配和釋放,并將必要的信息傳遞給相關(guān)的計(jì)算節(jié)點(diǎn),從而減少了計(jì)算節(jié)點(diǎn)之間的直接通信,能夠節(jié)省計(jì)算節(jié)點(diǎn)的網(wǎng)絡(luò)流量,在一些實(shí)現(xiàn)方案中,當(dāng)計(jì)算節(jié)點(diǎn)出現(xiàn)故障時(shí)無(wú)需重新確定分布式鎖的管理者,從而降低了故障恢復(fù)時(shí)間,提高了數(shù)據(jù)庫(kù)的可用性。
2、在本公開(kāi)的第一方面,提供了一種用于數(shù)據(jù)庫(kù)系統(tǒng)分布式鎖的方法。該方法包括由數(shù)據(jù)庫(kù)系統(tǒng)中的目標(biāo)存儲(chǔ)節(jié)點(diǎn)從數(shù)據(jù)庫(kù)系統(tǒng)中的第一計(jì)算節(jié)點(diǎn)接收對(duì)分布式鎖的分配請(qǐng)求,其中目標(biāo)存儲(chǔ)節(jié)點(diǎn)是分布式鎖的管理者,分配請(qǐng)求用于請(qǐng)求存儲(chǔ)節(jié)點(diǎn)改變分布式鎖的持有者,數(shù)據(jù)庫(kù)系統(tǒng)包括多個(gè)計(jì)算節(jié)點(diǎn)和多個(gè)存儲(chǔ)節(jié)點(diǎn),多個(gè)計(jì)算節(jié)點(diǎn)提供數(shù)據(jù)訪問(wèn),多個(gè)存儲(chǔ)節(jié)點(diǎn)存儲(chǔ)多個(gè)計(jì)算節(jié)點(diǎn)的數(shù)據(jù)。方法還包括由目標(biāo)存儲(chǔ)節(jié)點(diǎn)為分布式鎖分配持有者。根據(jù)本公開(kāi)的第一方面的分布式鎖的方法,將分布式的鎖管理權(quán)限放在存儲(chǔ)節(jié)點(diǎn)上,減少計(jì)算節(jié)點(diǎn)之間通信的需求,存儲(chǔ)節(jié)點(diǎn)可以作為協(xié)調(diào)者,管理鎖的分配和釋放,并將必要的信息傳遞給相關(guān)的計(jì)算節(jié)點(diǎn),從而減少了計(jì)算節(jié)點(diǎn)之間的直接通信,因此能夠節(jié)省計(jì)算節(jié)點(diǎn)的網(wǎng)絡(luò)流量。并且在一些實(shí)現(xiàn)方案中,當(dāng)計(jì)算節(jié)點(diǎn)出現(xiàn)故障時(shí),由于計(jì)算節(jié)點(diǎn)只需從存儲(chǔ)節(jié)點(diǎn)注冊(cè)和登記,因此當(dāng)不需要進(jìn)行額外的資源重分配處理,并且由計(jì)算節(jié)點(diǎn)管理的資源信息已經(jīng)被分散存儲(chǔ)在高可用的存儲(chǔ)設(shè)備上,因此計(jì)算節(jié)點(diǎn)無(wú)需重新確定分布式鎖的管理者,從而降低了故障恢復(fù)時(shí)間,提高了數(shù)據(jù)庫(kù)的可用性。
3、在第一方面的一種實(shí)現(xiàn)方案中,方法還可以包括由目標(biāo)存儲(chǔ)節(jié)點(diǎn)查詢到分布式鎖的持有者是數(shù)據(jù)庫(kù)系統(tǒng)中的第二計(jì)算節(jié)點(diǎn)。方法還可以包括由目標(biāo)存儲(chǔ)節(jié)點(diǎn)向除第一計(jì)算節(jié)點(diǎn)之外的第二計(jì)算節(jié)點(diǎn)發(fā)送釋放分布式鎖的通知。以及方法還可以包括向第一計(jì)算節(jié)點(diǎn)分配分布式鎖。這樣,通過(guò)存儲(chǔ)節(jié)點(diǎn)來(lái)查詢分布式鎖的持有者,并且向查詢到的分布式鎖的持有者發(fā)送釋放分布式鎖的通知,可以使得對(duì)分布鎖的管理權(quán)限由計(jì)算節(jié)點(diǎn)卸載到存儲(chǔ)節(jié)點(diǎn),因此可以使得計(jì)算節(jié)點(diǎn)的擴(kuò)展能力提高。
4、在第一方面的一種實(shí)現(xiàn)方案中,給第一計(jì)算節(jié)點(diǎn)分配分布式鎖可以包括由目標(biāo)存儲(chǔ)節(jié)點(diǎn)從第二計(jì)算節(jié)點(diǎn)接收分布式鎖已經(jīng)被釋放的通知。還可以包括由目標(biāo)存儲(chǔ)節(jié)點(diǎn)登記分布式鎖的持有者為第一計(jì)算節(jié)點(diǎn)。以及還可以包括由目標(biāo)存儲(chǔ)節(jié)點(diǎn)向第一計(jì)算節(jié)點(diǎn)發(fā)送對(duì)分布式鎖已經(jīng)請(qǐng)求成功的通知。這樣,給第一計(jì)算節(jié)點(diǎn)分配分布式鎖是由存儲(chǔ)節(jié)點(diǎn)來(lái)完成的,因此可以使得對(duì)分布鎖的管理權(quán)限由計(jì)算節(jié)點(diǎn)卸載到存儲(chǔ)節(jié)點(diǎn),因此可以使得計(jì)算節(jié)點(diǎn)的擴(kuò)展能力提高。
5、在第一方面的一種實(shí)現(xiàn)方案中,目標(biāo)存儲(chǔ)節(jié)點(diǎn)可以管理多個(gè)分布式鎖,其中多個(gè)分布式鎖的多個(gè)登記信息可以從數(shù)據(jù)庫(kù)系統(tǒng)中的多個(gè)計(jì)算節(jié)點(diǎn)獲取。在第一些實(shí)現(xiàn)方案中,分布式鎖可以被用以對(duì)數(shù)據(jù)庫(kù)系統(tǒng)中的由多個(gè)計(jì)算節(jié)點(diǎn)共享的資源的讀或?qū)?,資源可以包括頁(yè)面、表、以及庫(kù)中的至少一項(xiàng)。通過(guò)使存儲(chǔ)節(jié)點(diǎn)管理多個(gè)分布式鎖,可以提高對(duì)多個(gè)分布式鎖的管理效率,減少節(jié)點(diǎn)之間的通信開(kāi)銷。
6、在第一方面的一種實(shí)現(xiàn)方案中,方法還可以包括可以基于多個(gè)分布式鎖的多個(gè)登記信息,由目標(biāo)存儲(chǔ)節(jié)點(diǎn)登記多個(gè)分布式鎖以作為多個(gè)分布式鎖的管理者。在一些實(shí)現(xiàn)方案中,多個(gè)分布式鎖的多個(gè)登記信息可以包括多個(gè)分布式鎖中的每個(gè)分布式鎖所位于的計(jì)算節(jié)點(diǎn)的信息,以及每個(gè)分布式鎖的管理者、持有者或請(qǐng)求者中的至少一項(xiàng)的信息。這樣,可以在存儲(chǔ)節(jié)點(diǎn)保存多個(gè)分布式鎖的信息,進(jìn)一步提高效率,減少存儲(chǔ)節(jié)點(diǎn)與計(jì)算節(jié)點(diǎn)之間的開(kāi)銷。
7、在第一方面的一種實(shí)現(xiàn)方案中,其中由目標(biāo)存儲(chǔ)節(jié)點(diǎn)登記多個(gè)分布式鎖可以包括登記由目標(biāo)存儲(chǔ)節(jié)點(diǎn)管理的數(shù)據(jù)庫(kù)系統(tǒng)中全部分布式鎖中的一部分,并且全部分布式鎖的多個(gè)管理者可以包括目標(biāo)存儲(chǔ)節(jié)點(diǎn)在內(nèi)的多個(gè)存儲(chǔ)節(jié)點(diǎn)。通過(guò)登記存儲(chǔ)節(jié)點(diǎn)管理多個(gè)分布式鎖中的一部分,可以將多個(gè)分布式所均勻分配至相應(yīng)的存儲(chǔ)節(jié)點(diǎn),避免某一個(gè)存儲(chǔ)節(jié)點(diǎn)管理的分布式鎖的數(shù)目過(guò)多,從而避免存儲(chǔ)節(jié)點(diǎn)故障而造成的影響分布式鎖管理的風(fēng)險(xiǎn)。
8、在本公開(kāi)的第二方面,提供了一種分布式鎖的方法。該方法包括由數(shù)據(jù)庫(kù)系統(tǒng)中的第一計(jì)算節(jié)點(diǎn)向數(shù)據(jù)庫(kù)系統(tǒng)中的目標(biāo)存儲(chǔ)節(jié)點(diǎn)發(fā)送對(duì)分布式鎖的分配請(qǐng)求,其中目標(biāo)存儲(chǔ)節(jié)點(diǎn)是分布式鎖的管理者,分配請(qǐng)求用于請(qǐng)求目標(biāo)存儲(chǔ)節(jié)點(diǎn)改變分布式鎖的持有者,數(shù)據(jù)庫(kù)系統(tǒng)包括多個(gè)計(jì)算節(jié)點(diǎn)和多個(gè)存儲(chǔ)節(jié)點(diǎn),多個(gè)計(jì)算節(jié)點(diǎn)提供數(shù)據(jù)訪問(wèn),多個(gè)存儲(chǔ)節(jié)點(diǎn)存儲(chǔ)多個(gè)計(jì)算節(jié)點(diǎn)的數(shù)據(jù)。方法還包括從目標(biāo)存儲(chǔ)節(jié)點(diǎn)接收對(duì)分布式鎖已經(jīng)請(qǐng)求成功的通知。根據(jù)本公開(kāi)的第二方面的分布式鎖的方法,將分布式的鎖管理權(quán)限放在存儲(chǔ)節(jié)點(diǎn)上,減少計(jì)算節(jié)點(diǎn)之間通信的需求,存儲(chǔ)節(jié)點(diǎn)可以作為協(xié)調(diào)者,管理鎖的分配和釋放,并將必要的信息傳遞給相關(guān)的計(jì)算節(jié)點(diǎn),從而減少了計(jì)算節(jié)點(diǎn)之間的直接通信,因此能夠節(jié)省計(jì)算節(jié)點(diǎn)的網(wǎng)絡(luò)流量。并且在一些實(shí)現(xiàn)方案中,當(dāng)計(jì)算節(jié)點(diǎn)出現(xiàn)故障時(shí),由于計(jì)算節(jié)點(diǎn)只需從存儲(chǔ)節(jié)點(diǎn)注冊(cè)和登記,因此當(dāng)不需要進(jìn)行額外的資源重分配處理,并且由計(jì)算節(jié)點(diǎn)管理的資源信息已經(jīng)被分散存儲(chǔ)在高可用的存儲(chǔ)設(shè)備上,因此計(jì)算節(jié)點(diǎn)無(wú)需重新確定分布式鎖的管理者,從而降低了故障恢復(fù)時(shí)間,提高了數(shù)據(jù)庫(kù)的可用性。
9、在第二方面的一種實(shí)現(xiàn)方案中,其中對(duì)分布式鎖的請(qǐng)求成功是由目標(biāo)存儲(chǔ)節(jié)點(diǎn)查詢到并且通知作為分布式鎖的持有者的除第一計(jì)算節(jié)點(diǎn)之外的第二計(jì)算節(jié)點(diǎn)釋放分布式鎖而實(shí)現(xiàn)。這樣,通過(guò)存儲(chǔ)節(jié)點(diǎn)來(lái)查詢分布式鎖的持有者,并且向查詢到的分布式鎖的持有者發(fā)送釋放分布式鎖的通知,可以使得對(duì)分布鎖的管理權(quán)限由計(jì)算節(jié)點(diǎn)卸載到存儲(chǔ)節(jié)點(diǎn),因此可以使得計(jì)算節(jié)點(diǎn)的擴(kuò)展能力提高。
10、在本公開(kāi)的第三方面,提供了一種分布式鎖的方法。該方法包括由數(shù)據(jù)庫(kù)系統(tǒng)中的第二計(jì)算節(jié)點(diǎn)從數(shù)據(jù)庫(kù)系統(tǒng)中的目標(biāo)存儲(chǔ)節(jié)點(diǎn)接收釋放分布式鎖的通知,其中目標(biāo)存儲(chǔ)節(jié)點(diǎn)是分布式鎖的管理者,數(shù)據(jù)庫(kù)系統(tǒng)包括多個(gè)計(jì)算節(jié)點(diǎn)和多個(gè)存儲(chǔ)節(jié)點(diǎn),多個(gè)計(jì)算節(jié)點(diǎn)提供數(shù)據(jù)訪問(wèn),多個(gè)存儲(chǔ)節(jié)點(diǎn)存儲(chǔ)多個(gè)計(jì)算節(jié)點(diǎn)的數(shù)據(jù)。方法還包括由第二計(jì)算節(jié)點(diǎn)向目標(biāo)存儲(chǔ)節(jié)點(diǎn)發(fā)送分布式鎖已經(jīng)被釋放的通知。根據(jù)本公開(kāi)的第三方面的分布式鎖的方法,將分布式的鎖管理權(quán)限放在存儲(chǔ)節(jié)點(diǎn)上,減少計(jì)算節(jié)點(diǎn)之間通信的需求,存儲(chǔ)節(jié)點(diǎn)可以作為協(xié)調(diào)者,管理鎖的分配和釋放,并將必要的信息傳遞給相關(guān)的計(jì)算節(jié)點(diǎn),從而減少了計(jì)算節(jié)點(diǎn)之間的直接通信,因此能夠節(jié)省計(jì)算節(jié)點(diǎn)的網(wǎng)絡(luò)流量。并且在一些實(shí)現(xiàn)方案中,當(dāng)計(jì)算節(jié)點(diǎn)出現(xiàn)故障時(shí),由于計(jì)算節(jié)點(diǎn)只需從存儲(chǔ)節(jié)點(diǎn)注冊(cè)和登記,因此當(dāng)不需要進(jìn)行額外的資源重分配處理,并且由計(jì)算節(jié)點(diǎn)管理的資源信息已經(jīng)被分散存儲(chǔ)在高可用的存儲(chǔ)設(shè)備上,因此計(jì)算節(jié)點(diǎn)無(wú)需重新確定分布式鎖的管理者,從而降低了故障恢復(fù)時(shí)間,提高了數(shù)據(jù)庫(kù)的可用性。
11、在第三方面的一種實(shí)現(xiàn)方案中,其中目標(biāo)存儲(chǔ)節(jié)點(diǎn)從除第二計(jì)算節(jié)點(diǎn)之外的第一計(jì)算節(jié)點(diǎn)接收到對(duì)分布式鎖的分配請(qǐng)求,并且查詢到分布式鎖的持有者為第二計(jì)算節(jié)點(diǎn),其中分配請(qǐng)求用于請(qǐng)求目標(biāo)存儲(chǔ)節(jié)點(diǎn)改變分布式鎖的持有者。這樣,通過(guò)存儲(chǔ)節(jié)點(diǎn)來(lái)查詢分布式鎖的持有者,并且向查詢到的分布式鎖的持有者發(fā)送釋放分布式鎖的通知,可以使得對(duì)分布鎖的管理權(quán)限由計(jì)算節(jié)點(diǎn)卸載到存儲(chǔ)節(jié)點(diǎn),因此可以使得計(jì)算節(jié)點(diǎn)的擴(kuò)展能力提高。
12、在本公開(kāi)的第四方面,提供了一種分布式鎖的裝置。該裝置包括接收模塊,被配置為由數(shù)據(jù)庫(kù)系統(tǒng)中的目標(biāo)存儲(chǔ)節(jié)點(diǎn)從數(shù)據(jù)庫(kù)系統(tǒng)中的第一計(jì)算節(jié)點(diǎn)接收對(duì)分布式鎖的分配請(qǐng)求,其中目標(biāo)存儲(chǔ)節(jié)點(diǎn)是分布式鎖的管理者,分配請(qǐng)求用于請(qǐng)求存儲(chǔ)節(jié)點(diǎn)改變分布式鎖的持有者,數(shù)據(jù)庫(kù)系統(tǒng)包括多個(gè)計(jì)算節(jié)點(diǎn)和多個(gè)存儲(chǔ)節(jié)點(diǎn),多個(gè)計(jì)算節(jié)點(diǎn)提供數(shù)據(jù)訪問(wèn),多個(gè)存儲(chǔ)節(jié)點(diǎn)存儲(chǔ)多個(gè)計(jì)算節(jié)點(diǎn)的數(shù)據(jù)。該裝置還包括分配模塊,被配置為由目標(biāo)存儲(chǔ)節(jié)點(diǎn)為分布式鎖分配持有者。根據(jù)本公開(kāi)的第四方面的分布式鎖的裝置,能夠節(jié)省計(jì)算節(jié)點(diǎn)的網(wǎng)絡(luò)流量,并且在一些實(shí)現(xiàn)方案中,將分布式的鎖管理權(quán)限放在存儲(chǔ)節(jié)點(diǎn)上,減少計(jì)算節(jié)點(diǎn)之間通信的需求,存儲(chǔ)節(jié)點(diǎn)可以作為協(xié)調(diào)者,管理鎖的分配和釋放,并將必要的信息傳遞給相關(guān)的計(jì)算節(jié)點(diǎn),從而減少了計(jì)算節(jié)點(diǎn)之間的直接通信,因此能夠節(jié)省計(jì)算節(jié)點(diǎn)的網(wǎng)絡(luò)流量。在一些實(shí)現(xiàn)方案中,當(dāng)計(jì)算節(jié)點(diǎn)出現(xiàn)故障時(shí),由于計(jì)算節(jié)點(diǎn)只需從存儲(chǔ)節(jié)點(diǎn)注冊(cè)和登記,因此當(dāng)不需要進(jìn)行額外的資源重分配處理,并且由計(jì)算節(jié)點(diǎn)管理的資源信息已經(jīng)被分散存儲(chǔ)在高可用的存儲(chǔ)設(shè)備上,因此當(dāng)計(jì)算節(jié)點(diǎn)出現(xiàn)故障時(shí),無(wú)需重新確定分布式鎖的管理者,從而降低了故障恢復(fù)時(shí)間,提高了數(shù)據(jù)庫(kù)的可用性。
13、在本公開(kāi)的第五方面,提供了一種分布式鎖的裝置。該裝置包括發(fā)送模塊,被配置為由數(shù)據(jù)庫(kù)系統(tǒng)中的第一計(jì)算節(jié)點(diǎn)向數(shù)據(jù)庫(kù)系統(tǒng)中的目標(biāo)存儲(chǔ)節(jié)點(diǎn)發(fā)送對(duì)分布式鎖的分配請(qǐng)求,其中目標(biāo)存儲(chǔ)節(jié)點(diǎn)是分布式鎖的管理者,分配請(qǐng)求用于請(qǐng)求存儲(chǔ)節(jié)點(diǎn)改變分布式鎖的持有者,數(shù)據(jù)庫(kù)系統(tǒng)包括多個(gè)計(jì)算節(jié)點(diǎn)和多個(gè)存儲(chǔ)節(jié)點(diǎn),多個(gè)計(jì)算節(jié)點(diǎn)提供數(shù)據(jù)訪問(wèn),多個(gè)存儲(chǔ)節(jié)點(diǎn)存儲(chǔ)多個(gè)計(jì)算節(jié)點(diǎn)的數(shù)據(jù)。該裝置還包括接收模塊,被配置為從目標(biāo)存儲(chǔ)節(jié)點(diǎn)接收對(duì)分布式鎖的請(qǐng)求已經(jīng)成功的通知。根據(jù)本公開(kāi)的第五方面的分布式鎖的裝置,將分布式的鎖管理權(quán)限放在存儲(chǔ)節(jié)點(diǎn)上,減少計(jì)算節(jié)點(diǎn)之間通信的需求,存儲(chǔ)節(jié)點(diǎn)可以作為協(xié)調(diào)者,管理鎖的分配和釋放,并將必要的信息傳遞給相關(guān)的計(jì)算節(jié)點(diǎn),從而減少了計(jì)算節(jié)點(diǎn)之間的直接通信,因此能夠節(jié)省計(jì)算節(jié)點(diǎn)的網(wǎng)絡(luò)流量。在一些實(shí)現(xiàn)方案中,當(dāng)計(jì)算節(jié)點(diǎn)出現(xiàn)故障時(shí),由于計(jì)算節(jié)點(diǎn)只需從存儲(chǔ)節(jié)點(diǎn)注冊(cè)和登記,因此當(dāng)不需要進(jìn)行額外的資源重分配處理,并且由計(jì)算節(jié)點(diǎn)管理的資源信息已經(jīng)被分散存儲(chǔ)在高可用的存儲(chǔ)設(shè)備上,因此當(dāng)計(jì)算節(jié)點(diǎn)出現(xiàn)故障時(shí),無(wú)需重新確定分布式鎖的管理者,從而降低了故障恢復(fù)時(shí)間,提高了數(shù)據(jù)庫(kù)的可用性。
14、在本公開(kāi)的第六方面,提供了一種分布式鎖的裝置。該裝置包括接收模塊,被配置為由數(shù)據(jù)庫(kù)系統(tǒng)中的第二計(jì)算節(jié)點(diǎn)從數(shù)據(jù)庫(kù)系統(tǒng)中的目標(biāo)存儲(chǔ)節(jié)點(diǎn)接收釋放分布式鎖的通知,其中目標(biāo)存儲(chǔ)節(jié)點(diǎn)是分布式鎖的管理者,數(shù)據(jù)庫(kù)系統(tǒng)包括多個(gè)計(jì)算節(jié)點(diǎn)和多個(gè)存儲(chǔ)節(jié)點(diǎn),多個(gè)計(jì)算節(jié)點(diǎn)提供數(shù)據(jù)訪問(wèn),多個(gè)存儲(chǔ)節(jié)點(diǎn)存儲(chǔ)多個(gè)計(jì)算節(jié)點(diǎn)的數(shù)據(jù)。裝置還包括發(fā)送模塊,被配置為由第二計(jì)算節(jié)點(diǎn)向目標(biāo)存儲(chǔ)節(jié)點(diǎn)發(fā)送分布式鎖已經(jīng)被釋放的通知。根據(jù)本公開(kāi)的第六方面的分布式鎖的裝置,將分布式的鎖管理權(quán)限放在存儲(chǔ)節(jié)點(diǎn)上,減少計(jì)算節(jié)點(diǎn)之間通信的需求,存儲(chǔ)節(jié)點(diǎn)可以作為協(xié)調(diào)者,管理鎖的分配和釋放,并將必要的信息傳遞給相關(guān)的計(jì)算節(jié)點(diǎn),從而減少了計(jì)算節(jié)點(diǎn)之間的直接通信,因此能夠節(jié)省計(jì)算節(jié)點(diǎn)的網(wǎng)絡(luò)流量。在一些實(shí)現(xiàn)方案中,當(dāng)計(jì)算節(jié)點(diǎn)出現(xiàn)故障時(shí),由于計(jì)算節(jié)點(diǎn)只需從存儲(chǔ)節(jié)點(diǎn)注冊(cè)和登記,因此當(dāng)不需要進(jìn)行額外的資源重分配處理,并且由計(jì)算節(jié)點(diǎn)管理的資源信息已經(jīng)被分散存儲(chǔ)在高可用的存儲(chǔ)設(shè)備上,因此當(dāng)計(jì)算節(jié)點(diǎn)出現(xiàn)故障時(shí),無(wú)需重新確定分布式鎖的管理者,從而降低了故障恢復(fù)時(shí)間,提高了數(shù)據(jù)庫(kù)的可用性。
15、根據(jù)本公開(kāi)的第七方面,提供了一種數(shù)據(jù)庫(kù)系統(tǒng)。該數(shù)據(jù)庫(kù)系統(tǒng)包括存儲(chǔ)節(jié)點(diǎn),存儲(chǔ)節(jié)點(diǎn)包括處理器和存儲(chǔ)器,處理器用于執(zhí)行存儲(chǔ)器中存儲(chǔ)的指令,以使得存儲(chǔ)節(jié)點(diǎn)執(zhí)行根據(jù)第一方面所述的方法;第一計(jì)算節(jié)點(diǎn),第一計(jì)算節(jié)點(diǎn)包括處理器和存儲(chǔ)器,處理器用于執(zhí)行所述存儲(chǔ)器中存儲(chǔ)的指令,以使得第一計(jì)算節(jié)點(diǎn)執(zhí)行根據(jù)第二方面所述的方法;以及第二計(jì)算節(jié)點(diǎn),第二計(jì)算節(jié)點(diǎn)包括處理器和存儲(chǔ)器,處理器用于執(zhí)行存儲(chǔ)器中存儲(chǔ)的指令,以使得第二計(jì)算節(jié)點(diǎn)執(zhí)行根據(jù)第三方面所述的方法。
16、根據(jù)本公開(kāi)的第八方面,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有指令,這些指令在被計(jì)算設(shè)備執(zhí)行時(shí),使計(jì)算機(jī)執(zhí)行根據(jù)本公開(kāi)的第一方面、第二方面或第三方面所述的方法。在一些實(shí)現(xiàn)方案中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是非瞬態(tài)的。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包括但不限于易失性存儲(chǔ)器(例如,隨機(jī)訪問(wèn)存儲(chǔ)器)、非易失性存儲(chǔ)器(例如,快閃存儲(chǔ)器、硬盤(hard?disk?drive,hdd)、固態(tài)盤(sol?id?state?drive,ssd)等)。
17、根據(jù)本公開(kāi)的第九方面,提供了一種計(jì)算機(jī)程序產(chǎn)品。該計(jì)算機(jī)程序產(chǎn)品包括指令,這些指令在被計(jì)算設(shè)備執(zhí)行時(shí),使計(jì)算設(shè)備執(zhí)行根據(jù)本公開(kāi)的第一方面、第二方面或第三方面所述的方法。在一些實(shí)現(xiàn)方案中,計(jì)算機(jī)程序產(chǎn)品可以包括一個(gè)或多個(gè)軟件安裝包,在需要使用前述第一方面、第二方面或第三方面或其可能的變形提供的方法的情況下,可以下載或拷貝軟件安裝包并且在計(jì)算設(shè)備上執(zhí)行。
18、應(yīng)當(dāng)理解,上述根據(jù)本公開(kāi)的第七方面的數(shù)據(jù)庫(kù)系統(tǒng)、第八方面的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)、或者第九方面的計(jì)算機(jī)程序產(chǎn)品用于執(zhí)行第一方面、第二方面或第三方面所述的方法。因此,關(guān)于第一方面、第二方面或第三方面的解釋或說(shuō)明同樣適用于第七方面、第八方面和第九方面。此外,第七方面、第八方面和第九方面所能達(dá)到的有益效果可以參考對(duì)應(yīng)方法中的有益效果,此處不再贅述。
19、請(qǐng)注意,提供
技術(shù)實(shí)現(xiàn)要素:
部分是為了以簡(jiǎn)化的形式介紹一系列概念,下面將在具體實(shí)施方式中進(jìn)一步描述這些概念。發(fā)明內(nèi)容部分無(wú)意于標(biāo)識(shí)本公開(kāi)內(nèi)容的關(guān)鍵特征或必要特征,也無(wú)意于限制本公開(kāi)內(nèi)容的范圍。