本發(fā)明涉及數(shù)據(jù)庫事務(wù)處理,尤其涉及一種事務(wù)請求處理方法、裝置、設(shè)備、存儲介質(zhì)和程序產(chǎn)品。
背景技術(shù):
1、數(shù)據(jù)庫作為存儲和處理數(shù)據(jù)的系統(tǒng),在實際應(yīng)用中需要處理大量且邏輯復(fù)雜的事務(wù)請求,且在事務(wù)請求執(zhí)行的過程中通常存在著大量的并發(fā)執(zhí)行的sql(structured?querylanguage,結(jié)構(gòu)話查詢語言)請求語句。而數(shù)據(jù)庫死鎖是在并發(fā)執(zhí)行的情況下較為常見的現(xiàn)象,出現(xiàn)死鎖后會影響業(yè)務(wù)對數(shù)據(jù)的處理,需要重新處理或進行回滾等操作,而對整個系統(tǒng)有較大影響,且對事務(wù)請求進行邏輯優(yōu)化所能提供的分析信息比較有限。
2、因此,如何對并發(fā)執(zhí)行的事務(wù)請求中,因sql請求語句的執(zhí)行時間存在沖突而造成的數(shù)據(jù)庫死鎖現(xiàn)象進行優(yōu)化處理,成為本領(lǐng)域技術(shù)人員所亟需解決的技術(shù)問題。
技術(shù)實現(xiàn)思路
1、本發(fā)明提供了一種事務(wù)請求處理方法、裝置、設(shè)備、存儲介質(zhì)和程序產(chǎn)品,以解決并發(fā)執(zhí)行的事務(wù)請求中可能出現(xiàn)的數(shù)據(jù)庫死鎖問題。
2、根據(jù)本發(fā)明的一方面,提供了一種事務(wù)請求處理方法,包括:
3、獲取相同執(zhí)行時間下的并行執(zhí)行的至少兩個數(shù)據(jù)庫事務(wù)執(zhí)行請求;
4、根據(jù)各所述數(shù)據(jù)庫事務(wù)執(zhí)行請求對應(yīng)的sql請求語句,確定待訪問數(shù)據(jù)庫表信息;
5、根據(jù)所述待訪問數(shù)據(jù)庫表信息,確定各所述數(shù)據(jù)庫事務(wù)執(zhí)行請求中是否存在滿足數(shù)據(jù)庫死鎖邏輯判斷條件的目標事務(wù)執(zhí)行請求;
6、若是,則調(diào)整所述目標事務(wù)執(zhí)行請求的執(zhí)行時間,以使所述目標執(zhí)行事務(wù)請求基于調(diào)整后的執(zhí)行時間執(zhí)行事務(wù)。
7、根據(jù)本發(fā)明的另一方面,提供了一種事務(wù)請求處理裝置,包括:
8、執(zhí)行請求獲取模塊,用于獲取相同執(zhí)行時間下的并行執(zhí)行的至少兩個數(shù)據(jù)庫事務(wù)執(zhí)行請求;
9、數(shù)據(jù)表信息確定模塊,用于根據(jù)各所述數(shù)據(jù)庫事務(wù)執(zhí)行請求對應(yīng)的sql請求語句,確定待訪問數(shù)據(jù)庫表信息;
10、執(zhí)行請求確定模塊,用于根據(jù)所述待訪問數(shù)據(jù)庫表信息,確定各所述數(shù)據(jù)庫事務(wù)執(zhí)行請求中是否存在滿足數(shù)據(jù)庫死鎖邏輯判斷條件的目標事務(wù)執(zhí)行請求;
11、執(zhí)行時間調(diào)整模塊,用于當(dāng)存在滿足數(shù)據(jù)庫死鎖邏輯判斷條件的目標事務(wù)執(zhí)行請求時,調(diào)整所述目標事務(wù)執(zhí)行請求的執(zhí)行時間,以使所述目標執(zhí)行事務(wù)請求基于調(diào)整后的執(zhí)行時間執(zhí)行事務(wù)。
12、根據(jù)本發(fā)明的另一方面,提供了一種電子設(shè)備,所述電子設(shè)備包括:
13、至少一個處理器;以及
14、與所述至少一個處理器通信連接的存儲器;其中,
15、所述存儲器存儲有可被所述至少一個處理器執(zhí)行的計算機程序,所述計算機程序被所述至少一個處理器執(zhí)行,以使所述至少一個處理器能夠執(zhí)行本發(fā)明任一實施例所述的事務(wù)請求處理方法。
16、根據(jù)本發(fā)明的另一方面,提供了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)存儲有計算機指令,所述計算機指令用于使處理器執(zhí)行時實現(xiàn)本發(fā)明任一實施例所述的事務(wù)請求處理方法。
17、根據(jù)本發(fā)明的另一方面,提供了一種計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括計算機程序,所述計算機程序在被處理器執(zhí)行時實現(xiàn)本發(fā)明任一實施例所述的事務(wù)請求處理方法。
18、本發(fā)明實施例的技術(shù)方案,通過獲取相同執(zhí)行時間下的并行執(zhí)行的至少兩個數(shù)據(jù)庫事務(wù)執(zhí)行請求;根據(jù)各數(shù)據(jù)庫事務(wù)執(zhí)行請求對應(yīng)的sql請求語句,確定待訪問數(shù)據(jù)庫表信息;根據(jù)待訪問數(shù)據(jù)庫表信息,確定各數(shù)據(jù)庫事務(wù)執(zhí)行請求中是否存在滿足數(shù)據(jù)庫死鎖邏輯判斷條件的目標事務(wù)執(zhí)行請求;若是,則調(diào)整目標事務(wù)執(zhí)行請求的執(zhí)行時間,以使目標執(zhí)行事務(wù)請求基于調(diào)整后的執(zhí)行時間執(zhí)行事務(wù)??梢源_定相同執(zhí)行時間下的,并行執(zhí)行的數(shù)據(jù)庫事務(wù)請求對應(yīng)的sql請求語句是否滿足死鎖邏輯條件,并對滿足死鎖邏輯條件的并行執(zhí)行的數(shù)據(jù)庫事務(wù)請求的執(zhí)行時間進行調(diào)整,可以對因sql請求語句的執(zhí)行時間存在沖突而造成的數(shù)據(jù)庫死鎖現(xiàn)象進行優(yōu)化處理,從而避免因出現(xiàn)死鎖邏輯而導(dǎo)致事務(wù)執(zhí)行報錯或回滾。
19、應(yīng)當(dāng)理解,本部分所描述的內(nèi)容并非旨在標識本發(fā)明的實施例的關(guān)鍵或重要特征,也不用于限制本發(fā)明的范圍。本發(fā)明的其它特征將通過以下的說明書而變得容易理解。
1.一種事務(wù)請求處理方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述待訪問數(shù)據(jù)庫表信息包括待訪問數(shù)據(jù)表和待訪問數(shù)據(jù)行;
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)庫事務(wù)執(zhí)行請求中包括至少兩條sql請求語句;
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述調(diào)整所述目標事務(wù)執(zhí)行請求的執(zhí)行時間,包括:
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述調(diào)整所述目標事務(wù)執(zhí)行請求的執(zhí)行時間,以使所述目標執(zhí)行事務(wù)請求基于調(diào)整后的執(zhí)行時間執(zhí)行事務(wù)之后,還包括:
7.一種事務(wù)請求處理裝置,其特征在于,包括:
8.一種電子設(shè)備,其特征在于,所述電子設(shè)備包括:
9.一種計算機可讀存儲介質(zhì),其特征在于,所述計算機可讀存儲介質(zhì)存儲有計算機指令,所述計算機指令用于使處理器執(zhí)行時實現(xiàn)權(quán)利要求1-6中任一項所述的事務(wù)請求處理方法。
10.一種計算機程序產(chǎn)品,其特征在于,所述計算機程序產(chǎn)品包括計算機程序,所述計算機程序在被處理器執(zhí)行時實現(xiàn)根據(jù)權(quán)利要求1-6中任一項所述的事務(wù)請求處理方法。