本申請涉及數(shù)據(jù)庫,特別是涉及一種信息展示方法、裝置、計算機設(shè)備、計算機可讀存儲介質(zhì)和計算機程序產(chǎn)品。
背景技術(shù):
1、分布式數(shù)據(jù)庫是一種將數(shù)據(jù)存儲在多臺計算機(節(jié)點)上的數(shù)據(jù)庫系統(tǒng),這些節(jié)點通過網(wǎng)絡(luò)連接并協(xié)同工作。隨著分布式數(shù)據(jù)庫的廣泛應(yīng)用,其死鎖問題逐漸成為系統(tǒng)設(shè)計和運維中的一個重要挑戰(zhàn)。
2、死鎖是指兩個或多個進程因互相持有對方所需的資源而陷入一種無法繼續(xù)執(zhí)行的阻塞狀態(tài)。在分布式數(shù)據(jù)庫中,多個事務(wù)可能在多個節(jié)點上同時發(fā)生死鎖,這種死鎖不僅涉及本地資源,還可能涉及跨節(jié)點的遠程資源。由于分布式環(huán)境的復(fù)雜性和資源的分散性,死鎖的檢測和解決變得更加困難。
技術(shù)實現(xiàn)思路
1、基于此,有必要針對上述技術(shù)問題,提供一種能夠提高死鎖解除效率的信息展示方法、裝置、計算機設(shè)備、計算機可讀存儲介質(zhì)和計算機程序產(chǎn)品。
2、第一方面,本申請?zhí)峁┝艘环N信息展示方法,應(yīng)用于第一節(jié)點,所述方法包括:
3、在第一目標(biāo)事務(wù)處于鎖等待狀態(tài)的情況下,響應(yīng)于目標(biāo)節(jié)點發(fā)送的依賴信息,向第二節(jié)點發(fā)送信息獲取請求,以指示所述第二節(jié)點獲取輔助進程中的依賴信息并將所述依賴信息發(fā)送給所述第一節(jié)點;其中,所述依賴信息包括所述第一目標(biāo)事務(wù)處于鎖持有狀態(tài);所述目標(biāo)節(jié)點為所述第二節(jié)點中的任一節(jié)點,所述第二節(jié)點為分布式數(shù)據(jù)庫系統(tǒng)中除了所述第一節(jié)點之外的節(jié)點;
4、基于自身存儲的依賴信息及接收到的依賴信息,生成對應(yīng)的圖數(shù)據(jù)結(jié)構(gòu);所述圖數(shù)據(jù)結(jié)構(gòu)中的點包含事務(wù)信息,所述圖數(shù)據(jù)結(jié)構(gòu)中的邊包含事務(wù)間的鎖等待關(guān)系信息;
5、響應(yīng)于所述圖數(shù)據(jù)結(jié)構(gòu)中存在環(huán)路,展示所述環(huán)路包含的事務(wù)信息及事務(wù)間的鎖等待關(guān)系信息。
6、在其中一個實施例中,在所述在第一目標(biāo)事務(wù)處于鎖等待狀態(tài)的情況下,響應(yīng)于目標(biāo)節(jié)點發(fā)送的依賴信息,向第二節(jié)點發(fā)送信息獲取請求,之前包括:
7、響應(yīng)于第一目標(biāo)事務(wù)處于鎖等待狀態(tài),構(gòu)建所述第一目標(biāo)事務(wù)與第二目標(biāo)事務(wù)之間的第一依賴信息;所述第二目標(biāo)事務(wù)持有所述第一目標(biāo)事務(wù)等待的鎖;
8、將所述第一依賴信息發(fā)送給所述第二目標(biāo)事務(wù)所在的第二節(jié)點;其中,所述第二節(jié)點用于響應(yīng)于所述第二目標(biāo)事務(wù)處于鎖等待狀態(tài),構(gòu)建所述第二目標(biāo)事務(wù)與第三目標(biāo)事務(wù)之間的第二依賴信息,并將所述第二依賴信息發(fā)送給所述第三目標(biāo)事務(wù)所在的節(jié)點;所述第三目標(biāo)事務(wù)持有所述第二目標(biāo)事務(wù)等待的鎖。
9、在其中一個實施例中,所述在第一目標(biāo)事務(wù)處于鎖等待狀態(tài)的情況下,響應(yīng)于目標(biāo)節(jié)點發(fā)送的依賴信息,向第二節(jié)點發(fā)送信息獲取請求,以指示所述第二節(jié)點獲取輔助進程中的依賴信息并將所述依賴信息發(fā)送給所述第一節(jié)點,包括:
10、在第一目標(biāo)事務(wù)處于鎖等待狀態(tài)的情況下,響應(yīng)于目標(biāo)節(jié)點發(fā)送的依賴信息,向第二節(jié)點發(fā)送信息獲取請求,以指示所述第二節(jié)點響應(yīng)于所述信息獲取請求,向輔助進程發(fā)送寫信號,并讀取共享內(nèi)存中的依賴信息發(fā)送給所述第一節(jié)點;其中,所述輔助進程用于響應(yīng)于所述寫信號,將自身存儲的依賴信息寫入所述第二節(jié)點的共享內(nèi)存。
11、在其中一個實施例中,所述響應(yīng)于所述圖數(shù)據(jù)結(jié)構(gòu)中存在環(huán)路,展示所述環(huán)路包含的事務(wù)信息及事務(wù)間的鎖等待關(guān)系信息,包括:
12、為所述圖數(shù)據(jù)結(jié)構(gòu)中每個事務(wù)的事務(wù)信息賦予唯一標(biāo)識;
13、響應(yīng)于所述圖數(shù)據(jù)結(jié)構(gòu)中存在環(huán)路,按照預(yù)設(shè)的排序規(guī)則對所述環(huán)路包含的事務(wù)信息對應(yīng)的唯一標(biāo)識進行拼接,得到所述環(huán)路的標(biāo)識信息;
14、基于所述標(biāo)識信息,展示所述環(huán)路包含的事務(wù)信息及事務(wù)間的鎖等待關(guān)系信息。
15、在其中一個實施例中,在所述響應(yīng)于所述圖數(shù)據(jù)結(jié)構(gòu)中存在環(huán)路,按照預(yù)設(shè)的排序規(guī)則對所述環(huán)路包含的事務(wù)信息對應(yīng)的唯一標(biāo)識進行拼接,得到所述環(huán)路的標(biāo)識信息,之后包括:
16、計算所述標(biāo)識信息對應(yīng)的哈希值并保存;
17、基于所述哈希值對已保存的標(biāo)識信息進行去重處理。
18、在其中一個實施例中,在所述響應(yīng)于所述圖數(shù)據(jù)結(jié)構(gòu)中存在環(huán)路,展示所述環(huán)路包含的事務(wù)信息及事務(wù)間的鎖等待關(guān)系信息,之后包括:
19、從所述環(huán)路中確定出優(yōu)先級最低的事務(wù),并中止所述事務(wù)的執(zhí)行。
20、第二方面,本申請還提供了一種信息展示裝置,包括:
21、信息獲取模塊,用于在第一目標(biāo)事務(wù)處于鎖等待狀態(tài)的情況下,響應(yīng)于目標(biāo)節(jié)點發(fā)送的依賴信息,向第二節(jié)點發(fā)送信息獲取請求,以指示所述第二節(jié)點獲取輔助進程中的依賴信息并將所述依賴信息發(fā)送給第一節(jié)點;其中,所述依賴信息包括所述第一目標(biāo)事務(wù)處于鎖持有狀態(tài);所述目標(biāo)節(jié)點為所述第二節(jié)點中的任一節(jié)點,所述第二節(jié)點為分布式數(shù)據(jù)庫系統(tǒng)中除了所述第一節(jié)點之外的節(jié)點;
22、圖模型構(gòu)建模塊,用于基于自身存儲的依賴信息及接收到的依賴信息,生成對應(yīng)的圖數(shù)據(jù)結(jié)構(gòu);所述圖數(shù)據(jù)結(jié)構(gòu)中的點包含事務(wù)信息,所述圖數(shù)據(jù)結(jié)構(gòu)中的邊包含事務(wù)間的鎖等待關(guān)系信息;
23、信息展示模塊,用于響應(yīng)于所述圖數(shù)據(jù)結(jié)構(gòu)中存在環(huán)路,展示所述環(huán)路包含的事務(wù)信息及事務(wù)間的鎖等待關(guān)系信息。
24、第三方面,本申請還提供了一種計算機設(shè)備,包括存儲器和處理器,所述存儲器存儲有計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)上述任一項所述的方法的步驟。
25、第四方面,本申請還提供了一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述任一項所述的方法的步驟。
26、第五方面,本申請還提供了一種計算機程序產(chǎn)品,包括計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)上述任一項所述的方法的步驟。
27、上述信息展示方法、裝置、計算機設(shè)備、計算機可讀存儲介質(zhì)和計算機程序產(chǎn)品,通過在基于局部的依賴信息檢測到存在死鎖時,獲取其他節(jié)點中輔助進程保存的依賴信息,能夠?qū)崿F(xiàn)依賴信息的實時匯聚;通過基于獲取到的依賴信息構(gòu)建全局的圖數(shù)據(jù)結(jié)構(gòu),在圖數(shù)據(jù)結(jié)構(gòu)中查找死鎖環(huán)并展示環(huán)路包含的信息,能夠?qū)崿F(xiàn)實時地檢測到死鎖環(huán)的同時,也能夠快速、準(zhǔn)確地畫出死鎖環(huán)信息,能夠達到便于開發(fā)人員排查和定位缺陷,讓用戶更加直觀地看到哪些事務(wù)間發(fā)生了死鎖,便于用戶調(diào)整業(yè)務(wù)邏輯策略以避免死鎖。
1.一種信息展示方法,其特征在于,應(yīng)用于第一節(jié)點,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述在第一目標(biāo)事務(wù)處于鎖等待狀態(tài)的情況下,響應(yīng)于目標(biāo)節(jié)點發(fā)送的依賴信息,向第二節(jié)點發(fā)送信息獲取請求,之前包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在第一目標(biāo)事務(wù)處于鎖等待狀態(tài)的情況下,響應(yīng)于目標(biāo)節(jié)點發(fā)送的依賴信息,向第二節(jié)點發(fā)送信息獲取請求,以指示所述第二節(jié)點獲取輔助進程中的依賴信息并將所述依賴信息發(fā)送給所述第一節(jié)點,包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述響應(yīng)于所述圖數(shù)據(jù)結(jié)構(gòu)中存在環(huán)路,展示所述環(huán)路包含的事務(wù)信息及事務(wù)間的鎖等待關(guān)系信息,包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在所述響應(yīng)于所述圖數(shù)據(jù)結(jié)構(gòu)中存在環(huán)路,按照預(yù)設(shè)的排序規(guī)則對所述環(huán)路包含的事務(wù)信息對應(yīng)的唯一標(biāo)識進行拼接,得到所述環(huán)路的標(biāo)識信息,之后包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述響應(yīng)于所述圖數(shù)據(jù)結(jié)構(gòu)中存在環(huán)路,展示所述環(huán)路包含的事務(wù)信息及事務(wù)間的鎖等待關(guān)系信息,之后包括:
7.一種信息展示裝置,其特征在于,所述裝置包括:
8.一種計算機設(shè)備,包括存儲器和處理器,所述存儲器存儲有計算機程序,其特征在于,所述處理器執(zhí)行所述計算機程序時實現(xiàn)權(quán)利要求1至6中任一項所述的方法的步驟。
9.一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時實現(xiàn)權(quán)利要求1至6中任一項所述的方法的步驟。
10.一種計算機程序產(chǎn)品,包括計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時實現(xiàn)權(quán)利要求1至6中任一項所述的方法的步驟。