本發(fā)明涉及數(shù)據(jù)庫(kù)數(shù)據(jù)閃回,具體地涉及一種基于分布式數(shù)據(jù)庫(kù)的數(shù)據(jù)處理方法、裝置及電子設(shè)備。
背景技術(shù):
1、閃回技術(shù)(flashback)是一種在數(shù)據(jù)庫(kù)中進(jìn)行異常數(shù)據(jù)恢復(fù)的高級(jí)技術(shù),可以將數(shù)據(jù)庫(kù)中的數(shù)據(jù)還原到之前的某個(gè)時(shí)間點(diǎn),從而達(dá)到消除誤操作、錯(cuò)誤數(shù)據(jù)或系統(tǒng)故障引起的問題目的。
2、現(xiàn)有的針對(duì)分布式的分析型數(shù)據(jù)庫(kù)實(shí)現(xiàn)閃回功能的方法一般依賴于分布式事務(wù)日志技術(shù),在實(shí)現(xiàn)閃回功能的過程中需要記錄多個(gè)版本事務(wù)日志等,因此,耗費(fèi)成本較高,服務(wù)器和數(shù)據(jù)庫(kù)開銷較大。
技術(shù)實(shí)現(xiàn)思路
1、鑒于上述問題,本發(fā)明提供了一種基于分布式數(shù)據(jù)庫(kù)的數(shù)據(jù)處理方法、裝置及電子設(shè)備。
2、根據(jù)本發(fā)明的第一個(gè)方面,提供了一種基于分布式數(shù)據(jù)庫(kù)的數(shù)據(jù)處理方法,應(yīng)用于集群服務(wù)器,集群服務(wù)器包括主執(zhí)行節(jié)點(diǎn)和子執(zhí)行節(jié)點(diǎn),數(shù)據(jù)處理方法包括:
3、主執(zhí)行節(jié)點(diǎn)將獲取到的操作請(qǐng)求發(fā)送至子執(zhí)行節(jié)點(diǎn),操作請(qǐng)求針對(duì)目標(biāo)表執(zhí)行操作;子執(zhí)行節(jié)點(diǎn)將操作執(zhí)行結(jié)果發(fā)送至主執(zhí)行節(jié)點(diǎn),其中,操作執(zhí)行結(jié)果是根據(jù)操作請(qǐng)求對(duì)目標(biāo)表操作得到的;在操作執(zhí)行結(jié)果表征執(zhí)行成功的情況下,主執(zhí)行節(jié)點(diǎn)獲取與操作執(zhí)行結(jié)果相對(duì)應(yīng)的操作版本標(biāo)識(shí),并將操作版本標(biāo)識(shí)發(fā)送至子執(zhí)行節(jié)點(diǎn);子執(zhí)行節(jié)點(diǎn)根據(jù)操作版本標(biāo)識(shí)和與目標(biāo)表相關(guān)的操作記錄信息,生成位圖記錄文件;根據(jù)位圖記錄文件和操作版本標(biāo)識(shí),對(duì)目標(biāo)表中的數(shù)據(jù)進(jìn)行閃回查詢和閃回恢復(fù)操作。
4、可選的,集群服務(wù)器包括多個(gè)子執(zhí)行節(jié)點(diǎn);主執(zhí)行節(jié)點(diǎn)將獲取到的操作請(qǐng)求發(fā)送至子執(zhí)行節(jié)點(diǎn),包括:
5、在目標(biāo)表的結(jié)構(gòu)表征分布式結(jié)構(gòu)的情況下,主執(zhí)行節(jié)點(diǎn)從多個(gè)子執(zhí)行節(jié)點(diǎn)中,確定至少一個(gè)基準(zhǔn)子執(zhí)行節(jié)點(diǎn)和至少一個(gè)參考子執(zhí)行節(jié)點(diǎn);將操作請(qǐng)求發(fā)送至至少一個(gè)基準(zhǔn)子執(zhí)行節(jié)點(diǎn)。
6、可選的,子執(zhí)行節(jié)點(diǎn)根據(jù)操作版本標(biāo)識(shí)和與目標(biāo)表有關(guān)的操作記錄信息,生成位圖記錄文件,包括:
7、基準(zhǔn)子執(zhí)行節(jié)點(diǎn)根據(jù)與基準(zhǔn)子執(zhí)行節(jié)點(diǎn)上存儲(chǔ)的目標(biāo)表的操作記錄信息,生成基準(zhǔn)位圖記錄信息,其中,基準(zhǔn)位圖記錄信息表征基于操作請(qǐng)求對(duì)目標(biāo)表執(zhí)行操作后的數(shù)據(jù)更改狀態(tài);根據(jù)基準(zhǔn)子執(zhí)行節(jié)點(diǎn)名稱和操作版本標(biāo)識(shí),生成基準(zhǔn)文件名稱;根據(jù)基準(zhǔn)位圖記錄信息和基準(zhǔn)文件名稱,生成與操作版本標(biāo)識(shí)對(duì)應(yīng)的基準(zhǔn)位圖記錄文件。
8、可選的,子執(zhí)行節(jié)點(diǎn)根據(jù)操作版本標(biāo)識(shí)和與目標(biāo)表有關(guān)的操作記錄信息,生成位圖記錄文件,還包括:
9、參考子執(zhí)行節(jié)點(diǎn)根據(jù)參考子執(zhí)行節(jié)點(diǎn)名稱和操作版本標(biāo)識(shí),生成參考文件名稱;復(fù)制參考子執(zhí)行節(jié)點(diǎn)上存儲(chǔ)的與目標(biāo)表對(duì)應(yīng)的上一版本位圖記錄文件中的位圖記錄信息,得到參考位圖記錄信息;根據(jù)參考位圖記錄信息和參考文件名稱,生成與操作版本標(biāo)識(shí)對(duì)應(yīng)的參考位圖記錄文件。
10、可選的,數(shù)據(jù)處理方法還包括:主執(zhí)行節(jié)點(diǎn)將目標(biāo)表的表名稱標(biāo)識(shí)、操作版本標(biāo)識(shí)和操作請(qǐng)求時(shí)刻添加至閃回管理表中。
11、可選的,根據(jù)位圖記錄文件和操作版本標(biāo)識(shí),對(duì)目標(biāo)表中的數(shù)據(jù)進(jìn)行閃回查詢和閃回恢復(fù)操作,包括:
12、主執(zhí)行節(jié)點(diǎn)獲取針對(duì)目標(biāo)表的閃回查詢請(qǐng)求,其中,閃回查詢請(qǐng)求包括目標(biāo)表屬性、查詢條件;在目標(biāo)表屬性包括閃回屬性的情況下,主執(zhí)行節(jié)點(diǎn)將第一歷史操作版本標(biāo)識(shí)發(fā)送至子執(zhí)行節(jié)點(diǎn),其中,第一歷史操作版本標(biāo)識(shí)是基于查詢條件在閃回管理表進(jìn)行匹配得到的,第一歷史操作版本標(biāo)識(shí)表征在歷史目標(biāo)時(shí)刻對(duì)目標(biāo)表進(jìn)行操作的標(biāo)識(shí);子執(zhí)行節(jié)點(diǎn)將與第一歷史操作版本標(biāo)識(shí)對(duì)應(yīng)的位圖記錄文件發(fā)送至主執(zhí)行節(jié)點(diǎn);主執(zhí)行節(jié)點(diǎn)將與位圖記錄文件對(duì)應(yīng)的數(shù)據(jù)查詢結(jié)果發(fā)送至客戶端。
13、可選的,基于查詢條件在閃回管理表進(jìn)行匹配,得到第一歷史操作版本標(biāo)識(shí),包括:
14、在查詢條件包括目標(biāo)表的目標(biāo)表名信息、目標(biāo)數(shù)據(jù)庫(kù)名信息、歷史目標(biāo)時(shí)刻的情況下,在閃回管理表中根據(jù)目標(biāo)表名信息、目標(biāo)數(shù)據(jù)庫(kù)名信息、歷史目標(biāo)時(shí)刻信息進(jìn)行匹配,得到與目標(biāo)表的歷史目標(biāo)時(shí)刻對(duì)應(yīng)的第一歷史操作版本標(biāo)識(shí);在查詢條件包括目標(biāo)表的目標(biāo)表名信息、目標(biāo)數(shù)據(jù)庫(kù)名信息、預(yù)設(shè)操作版本標(biāo)識(shí)的情況下,在閃回管理表中根據(jù)目標(biāo)表名信息、目標(biāo)數(shù)據(jù)庫(kù)名信息、預(yù)設(shè)操作版本標(biāo)識(shí)進(jìn)行匹配,得到匹配結(jié)果;在匹配結(jié)果表征匹配成功的情況下,將預(yù)設(shè)操作版本標(biāo)識(shí)確定為第一歷史操作版本標(biāo)識(shí)。
15、可選的,根據(jù)位圖記錄文件和操作版本標(biāo)識(shí),對(duì)目標(biāo)表中的數(shù)據(jù)進(jìn)行閃回查詢和閃回恢復(fù)操作,還包括:
16、主執(zhí)行節(jié)點(diǎn)獲取針對(duì)目標(biāo)表的閃回恢復(fù)請(qǐng)求,其中,閃回恢復(fù)請(qǐng)求包括目標(biāo)表屬性、目標(biāo)表名信息、目標(biāo)數(shù)據(jù)庫(kù)名信息、刪除操作請(qǐng)求時(shí)刻;在目標(biāo)表屬性包括閃回屬性的情況下,主執(zhí)行節(jié)點(diǎn)將第二歷史操作版本標(biāo)識(shí)發(fā)送至子執(zhí)行節(jié)點(diǎn),其中,第二歷史操作版本標(biāo)識(shí)是基于目標(biāo)表名信息、目標(biāo)數(shù)據(jù)庫(kù)名信息、刪除操作請(qǐng)求時(shí)刻在閃回管理表進(jìn)行匹配得到的,第二歷史操作版本標(biāo)識(shí)表征對(duì)目標(biāo)表進(jìn)行刪除操作之前的最新操作的標(biāo)識(shí);子執(zhí)行節(jié)點(diǎn)將與第二歷史操作版本標(biāo)識(shí)對(duì)應(yīng)的位圖記錄文件發(fā)送至主執(zhí)行節(jié)點(diǎn);主執(zhí)行節(jié)點(diǎn)根據(jù)位圖記錄文件對(duì)目標(biāo)表進(jìn)行數(shù)據(jù)恢復(fù)。
17、本發(fā)明的第二方面提供了一種基于分布式數(shù)據(jù)庫(kù)的數(shù)據(jù)處理裝置,包括:
18、第一獲取模塊,用于主執(zhí)行節(jié)點(diǎn)將獲取到的操作請(qǐng)求發(fā)送至子執(zhí)行節(jié)點(diǎn),操作請(qǐng)求針對(duì)目標(biāo)表執(zhí)行操作;
19、操作模塊,用于子執(zhí)行節(jié)點(diǎn)將操作執(zhí)行結(jié)果發(fā)送至主執(zhí)行節(jié)點(diǎn),其中,操作執(zhí)行結(jié)果是根據(jù)操作請(qǐng)求對(duì)目標(biāo)表操作得到的;
20、第二獲取模塊,用于在操作執(zhí)行結(jié)果表征執(zhí)行成功的情況下,主執(zhí)行節(jié)點(diǎn)獲取與操作執(zhí)行結(jié)果相對(duì)應(yīng)的操作版本標(biāo)識(shí),并將操作版本標(biāo)識(shí)發(fā)送至子執(zhí)行節(jié)點(diǎn);
21、生成模塊,用于子執(zhí)行節(jié)點(diǎn)根據(jù)操作版本標(biāo)識(shí)和與目標(biāo)表相關(guān)的操作記錄信息,生成位圖記錄文件;
22、閃回模塊,用于根據(jù)位圖記錄文件和操作版本標(biāo)識(shí),對(duì)目標(biāo)表中的數(shù)據(jù)進(jìn)行閃回查詢和閃回恢復(fù)操作。
23、本發(fā)明的第三方面提供了一種電子設(shè)備,包括:一個(gè)或多個(gè)處理器;存儲(chǔ)器,用于存儲(chǔ)一個(gè)或多個(gè)程序,其中,當(dāng)一個(gè)或多個(gè)程序被一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得一個(gè)或多個(gè)處理器執(zhí)行上述基于分布式數(shù)據(jù)庫(kù)的數(shù)據(jù)處理方法。
24、根據(jù)本發(fā)明提供的基于分布式數(shù)據(jù)庫(kù)的數(shù)據(jù)處理方法、裝置及電子設(shè)備,通過主執(zhí)行節(jié)點(diǎn)獲取與操作執(zhí)行結(jié)果相對(duì)應(yīng)的操作版本標(biāo)識(shí),并將操作版本標(biāo)識(shí)發(fā)送至子執(zhí)行節(jié)點(diǎn),子執(zhí)行節(jié)點(diǎn)根據(jù)操作版本標(biāo)識(shí)和與目標(biāo)表相關(guān)的操作記錄信息,生成位圖記錄文件;根據(jù)位圖記錄文件和操作版本標(biāo)識(shí),對(duì)目標(biāo)表中的數(shù)據(jù)進(jìn)行閃回查詢和閃回恢復(fù)操作。由于使用位圖記錄文件來置位標(biāo)記每次操作后數(shù)據(jù)的有效性,較大節(jié)省了目標(biāo)表的內(nèi)存空間,在不需要增加額外事務(wù)日志的前提下,結(jié)合主執(zhí)行節(jié)點(diǎn)中的操作版本標(biāo)識(shí)對(duì)分布式數(shù)據(jù)庫(kù)進(jìn)行閃回查詢和閃回恢復(fù)操作,降低了數(shù)據(jù)庫(kù)和服務(wù)器性能開銷。
1.一種基于分布式數(shù)據(jù)庫(kù)的數(shù)據(jù)處理方法,其特征在于,所述方法應(yīng)用于集群服務(wù)器,所述集群服務(wù)器包括主執(zhí)行節(jié)點(diǎn)和子執(zhí)行節(jié)點(diǎn),所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述集群服務(wù)器包括多個(gè)所述子執(zhí)行節(jié)點(diǎn);
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述子執(zhí)行節(jié)點(diǎn)根據(jù)所述操作版本標(biāo)識(shí)和與所述目標(biāo)表有關(guān)的操作記錄信息,生成位圖記錄文件,包括:
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述子執(zhí)行節(jié)點(diǎn)根據(jù)所述操作版本標(biāo)識(shí)和與所述目標(biāo)表有關(guān)的操作記錄信息,生成位圖記錄文件,還包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,?所述方法還包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,根據(jù)所述位圖記錄文件和所述操作版本標(biāo)識(shí),對(duì)所述目標(biāo)表中的數(shù)據(jù)進(jìn)行閃回查詢和閃回恢復(fù)操作,包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,基于所述查詢條件在所述閃回管理表進(jìn)行匹配,得到所述第一歷史操作版本標(biāo)識(shí),包括:
8.根據(jù)權(quán)利要求5所述的方法,其特征在于,根據(jù)所述位圖記錄文件和所述操作版本標(biāo)識(shí),對(duì)所述目標(biāo)表中的數(shù)據(jù)進(jìn)行閃回查詢和閃回恢復(fù)操作,還包括:
9.一種基于分布式數(shù)據(jù)庫(kù)的數(shù)據(jù)處理裝置,其特征在于,所述裝置包括:
10.一種電子設(shè)備,其特征在于,包括: