本申請涉及分布式數(shù)據(jù)庫,具體而言,本申請涉及一種數(shù)據(jù)處理方法、裝置、電子設(shè)備及計算機可讀存儲介質(zhì)。
背景技術(shù):
1、數(shù)據(jù)庫領(lǐng)域中,元數(shù)據(jù)(meta?data)是描述數(shù)據(jù)庫結(jié)構(gòu)和內(nèi)容的數(shù)據(jù),屬于描述數(shù)據(jù)庫中數(shù)據(jù)的數(shù)據(jù),元數(shù)據(jù)包括但不限于存儲節(jié)點或數(shù)據(jù)分片的標(biāo)識、數(shù)據(jù)字典信息、路由信息以及數(shù)據(jù)庫統(tǒng)計信息等。
2、分布式數(shù)據(jù)庫系統(tǒng)中包括元數(shù)據(jù)層,元數(shù)據(jù)層包括元數(shù)據(jù)節(jié)點集群,所有元數(shù)據(jù)節(jié)點中只有一個主元數(shù)據(jù)節(jié)點,只有主元數(shù)據(jù)節(jié)點對外提供數(shù)據(jù)分片的元數(shù)據(jù),供計算層的計算節(jié)點訪問,同時主元數(shù)據(jù)節(jié)點還要管理儲存層中數(shù)據(jù)分片的元數(shù)據(jù)。
3、然而,當(dāng)分布式數(shù)據(jù)庫系統(tǒng)中的存儲節(jié)點集群是大規(guī)?;蛘叱笠?guī)模時,主元數(shù)據(jù)節(jié)點也需要維護(hù)大量的元數(shù)據(jù),獲取元數(shù)據(jù)的計算節(jié)點也非常多,這會產(chǎn)生巨量的消息,單個元數(shù)據(jù)主節(jié)點難以為如此大規(guī)模的集群服務(wù)。
技術(shù)實現(xiàn)思路
1、本申請實施例提供了一種數(shù)據(jù)處理方法、裝置、電子設(shè)備、計算機可讀存儲介質(zhì)及計算機程序產(chǎn)品,用于解決背景技術(shù)中的技術(shù)問題。
2、根據(jù)本申請實施例的第一方面,提供了一種數(shù)據(jù)處理方法,應(yīng)用于分布式數(shù)據(jù)庫系統(tǒng),分布式數(shù)據(jù)庫系統(tǒng)包括計算層、存儲層和元數(shù)據(jù)層,元數(shù)據(jù)層包括管理節(jié)點和元數(shù)據(jù)節(jié)點集群,該方法由計算層執(zhí)行,該方法包括:獲得待操作數(shù)據(jù)的目標(biāo)數(shù)據(jù)標(biāo)識和目標(biāo)操作類型;
3、若確定本地未緩存待操作數(shù)據(jù)所需的目標(biāo)元數(shù)據(jù),則從本地預(yù)先緩存的各個并行執(zhí)行單元的第一數(shù)據(jù)區(qū)間中,確定目標(biāo)數(shù)據(jù)標(biāo)識所處的目標(biāo)第一數(shù)據(jù)區(qū)間,并將目標(biāo)第一數(shù)據(jù)區(qū)間對應(yīng)的并行執(zhí)行單元作為目標(biāo)并行執(zhí)行單元;每個并行處理單元與存儲層中的至少一個數(shù)據(jù)分片綁定,且用于存儲綁定的數(shù)據(jù)分片的元數(shù)據(jù);每個并行執(zhí)行單元的第一數(shù)據(jù)區(qū)間為所綁定的至少一個數(shù)據(jù)分片的第二數(shù)據(jù)區(qū)間的并區(qū)間;
4、根據(jù)目標(biāo)數(shù)據(jù)標(biāo)識,從目標(biāo)并行執(zhí)行單元綁定的至少一個數(shù)據(jù)分片中確定目標(biāo)數(shù)據(jù)分片,從目標(biāo)并行執(zhí)行單元中獲取目標(biāo)數(shù)據(jù)分片的目標(biāo)元數(shù)據(jù);
5、根據(jù)目標(biāo)元數(shù)據(jù),在目標(biāo)數(shù)據(jù)分片,對待操作數(shù)據(jù)進(jìn)行目標(biāo)操作類型的操作。
6、根據(jù)本申請實施例的第二方面,提供了一種數(shù)據(jù)處理裝置,應(yīng)用于分布式數(shù)據(jù)庫系統(tǒng),分布式數(shù)據(jù)庫系統(tǒng)包括計算層、存儲層和元數(shù)據(jù)層,元數(shù)據(jù)層包括管理節(jié)點和元數(shù)據(jù)節(jié)點集群,該裝置位于計算層,該裝置包括:
7、第一獲得模塊,用于獲得待操作數(shù)據(jù)的目標(biāo)數(shù)據(jù)標(biāo)識和目標(biāo)操作類型;
8、目標(biāo)并行執(zhí)行單元確定模塊,用于若確定本地未緩存待操作數(shù)據(jù)所需的目標(biāo)元數(shù)據(jù),則從本地預(yù)先緩存的各個并行執(zhí)行單元的第一數(shù)據(jù)區(qū)間中,確定目標(biāo)數(shù)據(jù)標(biāo)識所處的目標(biāo)第一數(shù)據(jù)區(qū)間,并將目標(biāo)第一數(shù)據(jù)區(qū)間對應(yīng)的并行執(zhí)行單元作為目標(biāo)并行執(zhí)行單元;每個并行處理單元與存儲層中的至少一個數(shù)據(jù)分片綁定,且用于存儲綁定的數(shù)據(jù)分片的元數(shù)據(jù);每個并行執(zhí)行單元的第一數(shù)據(jù)區(qū)間為所綁定的至少一個數(shù)據(jù)分片的第二數(shù)據(jù)區(qū)間的并區(qū)間;
9、目標(biāo)數(shù)據(jù)分片確定模塊,用于根據(jù)目標(biāo)數(shù)據(jù)標(biāo)識,從目標(biāo)并行執(zhí)行單元綁定的至少一個數(shù)據(jù)分片中確定目標(biāo)數(shù)據(jù)分片,從目標(biāo)并行執(zhí)行單元中獲取目標(biāo)數(shù)據(jù)分片的目標(biāo)元數(shù)據(jù);
10、操作模塊,用于根據(jù)目標(biāo)元數(shù)據(jù),在目標(biāo)數(shù)據(jù)分片,對待操作數(shù)據(jù)進(jìn)行目標(biāo)操作類型的操作。
11、根據(jù)本申請實施例的第三方面,提供了一種電子設(shè)備,該電子設(shè)備包括存儲器、處理器及存儲在存儲器上的計算機程序,處理器執(zhí)行程序時實現(xiàn)如第一方面所提供的方法的步驟。
12、根據(jù)本申請實施例的第四方面,提供了一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)如第一方面所提供的方法的步驟。
13、根據(jù)本申請實施例的第五方面,提供了一種計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括計算機指令,該計算機指令存儲在計算機可讀存儲介質(zhì)中,當(dāng)計算機設(shè)備的處理器從計算機可讀存儲介質(zhì)讀取該計算機指令,處理器執(zhí)行該計算機指令,使得該計算機設(shè)備執(zhí)行實現(xiàn)如第一方面所提供的方法的步驟。
14、本申請實施例提供的技術(shù)方案帶來的有益效果是:
15、本申請實施例在元數(shù)據(jù)層的元數(shù)據(jù)節(jié)點集群的每個元數(shù)據(jù)節(jié)點中設(shè)置了至少一個并行執(zhí)行單元,由每個并行執(zhí)行單元分別維護(hù)相應(yīng)數(shù)據(jù)分片的元數(shù)據(jù),不受限于一個單獨的主元數(shù)據(jù)節(jié)點提供元數(shù)據(jù),可以提高管理效率;
16、通過多個并行執(zhí)行單元共同管理數(shù)據(jù)分片的元數(shù)據(jù),即使新增數(shù)據(jù)分片的元數(shù)據(jù),也不會過多影響系統(tǒng)的運行效率,增強了系統(tǒng)的可擴展性;
17、計算層在需要獲取目標(biāo)元數(shù)據(jù)時,只需要和存儲目標(biāo)元數(shù)據(jù)的目標(biāo)執(zhí)行單元交互即可,多個并行執(zhí)行單元可以同時工作,提高了元數(shù)據(jù)層的吞吐率,此外,即使目標(biāo)執(zhí)行單元故障,也不會影響其他的并行執(zhí)行單元,增強了系統(tǒng)的高可用性。
1.一種數(shù)據(jù)處理方法,其特征在于,應(yīng)用于分布式數(shù)據(jù)庫系統(tǒng),所述分布式數(shù)據(jù)庫系統(tǒng)包括計算層、存儲層和元數(shù)據(jù)層,所述元數(shù)據(jù)層包括管理節(jié)點和元數(shù)據(jù)節(jié)點集群,所述方法由計算層執(zhí)行,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定本地未緩存所述待操作數(shù)據(jù)所需的目標(biāo)元數(shù)據(jù),包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述目標(biāo)數(shù)據(jù)標(biāo)識,從所述目標(biāo)并行執(zhí)行單元綁定的至少一個數(shù)據(jù)分片中確定目標(biāo)數(shù)據(jù)分片,包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述從本地預(yù)先緩存的各個并行執(zhí)行單元的第一數(shù)據(jù)區(qū)間中,確定所述目標(biāo)數(shù)據(jù)標(biāo)識所處的目標(biāo)第一數(shù)據(jù)區(qū)間,之前還包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述主元數(shù)據(jù)管理節(jié)點在各個元數(shù)據(jù)節(jié)點中創(chuàng)建至少一個并行執(zhí)行單元,包括:
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述主元數(shù)據(jù)管理節(jié)點設(shè)置每個并行執(zhí)行單元的第一數(shù)據(jù)區(qū)間,還包括:
7.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括:
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述主元數(shù)據(jù)管理節(jié)點將所述至少一個第一并行執(zhí)行單元遷移至第二元數(shù)據(jù)節(jié)點,包括:
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述元數(shù)據(jù)管理節(jié)點還用于存儲各個并行執(zhí)行單元的路由信息;并行執(zhí)行單元的路由信息用于指示所述并行執(zhí)行單元所在的元數(shù)據(jù)節(jié)點;
10.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述主元數(shù)據(jù)管理節(jié)點還包括各個并行執(zhí)行單元的路由信息;
11.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述主元數(shù)據(jù)管理節(jié)點還包括各個并行執(zhí)行單元的路由信息;所述存儲層還包括多個存儲節(jié)點;
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述存儲節(jié)點通過以下方式確定與其存在預(yù)設(shè)對應(yīng)關(guān)系的并行執(zhí)行單元:
13.一種數(shù)據(jù)處理裝置,其特征在于,應(yīng)用于分布式數(shù)據(jù)庫系統(tǒng),所述分布式數(shù)據(jù)庫系統(tǒng)包括計算層、存儲層和元數(shù)據(jù)層,所述元數(shù)據(jù)層包括管理節(jié)點和元數(shù)據(jù)節(jié)點集群,所述裝置位于所述計算層,所述裝置包括:
14.一種電子設(shè)備,包括存儲器、處理器及存儲在存儲器上的計算機程序,其特征在于,所述處理器執(zhí)行所述計算機程序以實現(xiàn)權(quán)利要求1-12任一項所述的方法的步驟。
15.一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時實現(xiàn)權(quán)利要求1-12任一項所述的方法的步驟。
16.一種計算機程序產(chǎn)品,包括計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時實現(xiàn)權(quán)利要求1-12任一項所述的方法的步驟。