本發(fā)明涉及計(jì)算機(jī),具體地涉及一種數(shù)據(jù)分片處理方法、裝置、設(shè)備、介質(zhì)。
背景技術(shù):
1、隨著科技的進(jìn)步,各個(gè)領(lǐng)域的數(shù)據(jù)量都在爆發(fā)式增長(zhǎng),單個(gè)節(jié)點(diǎn)已無法滿足大量數(shù)據(jù)的存儲(chǔ)需求,因此分布式數(shù)據(jù)庫營(yíng)運(yùn)而生,其為處理和存儲(chǔ)海量數(shù)據(jù)提供了有效的解決方案。
2、在相關(guān)技術(shù)中,數(shù)據(jù)通常被指定存儲(chǔ)在分布式數(shù)據(jù)庫的不同節(jié)點(diǎn)上以提高整體性能,但一般在建表時(shí)指定數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),導(dǎo)致用戶在大批量建表時(shí)需要根據(jù)配置和節(jié)點(diǎn)剩余空間來逐一確定表的分布節(jié)點(diǎn),操作較為繁瑣且容易出錯(cuò)。
技術(shù)實(shí)現(xiàn)思路
1、鑒于上述問題,本發(fā)明提供了數(shù)據(jù)分片處理方法、裝置、設(shè)備、介質(zhì)。
2、根據(jù)本發(fā)明的第一個(gè)方面,提供了一種數(shù)據(jù)分片處理方法,包括:響應(yīng)于接收到的新增數(shù)據(jù)請(qǐng)求,獲取上述新增數(shù)據(jù)請(qǐng)求中的表標(biāo)識(shí)信息和待新增數(shù)據(jù);基于上述新增數(shù)據(jù)請(qǐng)求中的表標(biāo)識(shí)信息,確定目標(biāo)數(shù)據(jù)表,其中,目標(biāo)數(shù)據(jù)表存儲(chǔ)于數(shù)據(jù)庫集群的目標(biāo)節(jié)點(diǎn)組中,目標(biāo)節(jié)點(diǎn)組包括數(shù)據(jù)庫集群中至少一個(gè)用戶預(yù)先指定的數(shù)據(jù)庫節(jié)點(diǎn);將上述待新增數(shù)據(jù)存儲(chǔ)至上述目標(biāo)數(shù)據(jù)表中。
3、根據(jù)本發(fā)明的實(shí)施例,上述響應(yīng)于接收到的新增數(shù)據(jù)請(qǐng)求,獲取上述新增數(shù)據(jù)請(qǐng)求中的表標(biāo)識(shí)信息和待新增數(shù)據(jù)之前,上述方法還包括:響應(yīng)于接收到新增數(shù)據(jù)表請(qǐng)求,獲取上述新增數(shù)據(jù)表請(qǐng)求中的待處理表的待處理表信息、用于標(biāo)識(shí)上述待處理表對(duì)應(yīng)數(shù)據(jù)庫的庫標(biāo)識(shí)信息;在確定上述節(jié)點(diǎn)標(biāo)識(shí)信息與上述用戶預(yù)先指定的目標(biāo)節(jié)點(diǎn)組的信息相匹配的情況下,將上述待處理表存儲(chǔ)至上述目標(biāo)節(jié)點(diǎn)組中;在確定上述節(jié)點(diǎn)標(biāo)識(shí)信息與上述用戶預(yù)先指定的目標(biāo)節(jié)點(diǎn)組的信息不匹配的情況下,基于上述節(jié)點(diǎn)標(biāo)識(shí)信息,從上述數(shù)據(jù)庫集群中確定與上述待處理表相匹配的表節(jié)點(diǎn)組;將上述待處理表存儲(chǔ)至上述表節(jié)點(diǎn)組中。
4、根據(jù)本發(fā)明的實(shí)施例,上述目標(biāo)節(jié)點(diǎn)組是通過如下方式確定的:響應(yīng)于接收到用戶的數(shù)據(jù)庫新增請(qǐng)求,向上述用戶發(fā)送不同類型的多個(gè)數(shù)據(jù)庫集群,上述多個(gè)數(shù)據(jù)庫集群存儲(chǔ)于不同節(jié)點(diǎn)組上;響應(yīng)于接收到用戶的表征目標(biāo)數(shù)據(jù)庫集群的集群標(biāo)識(shí),向上述用戶發(fā)送與上述目標(biāo)數(shù)據(jù)庫集群相匹配的數(shù)據(jù)庫節(jié)點(diǎn)組;以及響應(yīng)于接收到用戶的表征目標(biāo)節(jié)點(diǎn)組的節(jié)點(diǎn)組標(biāo)識(shí),確定上述目標(biāo)節(jié)點(diǎn)組。
5、根據(jù)本發(fā)明的實(shí)施例,上述方法還包括:響應(yīng)于接收到第一查詢數(shù)據(jù)請(qǐng)求,獲取上述第一查詢數(shù)據(jù)請(qǐng)求中的第一表標(biāo)識(shí)信息和第一待查詢數(shù)據(jù)標(biāo)識(shí);基于上述第一表標(biāo)識(shí)信息,從上述數(shù)據(jù)庫集群的上述目標(biāo)節(jié)點(diǎn)組中確定目標(biāo)數(shù)據(jù)表;基于上述第一待查詢數(shù)據(jù)標(biāo)識(shí)從上述目標(biāo)數(shù)據(jù)表中查詢得到第一目標(biāo)查詢數(shù)據(jù)。
6、根據(jù)本發(fā)明的實(shí)施例,上述數(shù)據(jù)庫集群的目標(biāo)節(jié)點(diǎn)組包括至少一個(gè)數(shù)據(jù)庫管理節(jié)點(diǎn),上述基于上述新增數(shù)據(jù)請(qǐng)求中的表標(biāo)識(shí)信息,從數(shù)據(jù)庫集群的目標(biāo)節(jié)點(diǎn)組中確定目標(biāo)數(shù)據(jù)表包括:獲取表標(biāo)識(shí)與目標(biāo)節(jié)點(diǎn)組的映射關(guān)系,其中,上述表標(biāo)識(shí)與目標(biāo)節(jié)點(diǎn)組的映射關(guān)系存儲(chǔ)于上述數(shù)據(jù)庫管理節(jié)點(diǎn)的緩存中;基于上述表標(biāo)識(shí)與目標(biāo)節(jié)點(diǎn)組的映射關(guān)系和上述新增數(shù)據(jù)請(qǐng)求中的表標(biāo)識(shí)信息,從上述數(shù)據(jù)庫集群的上述目標(biāo)節(jié)點(diǎn)組中確定上述目標(biāo)數(shù)據(jù)表。
7、根據(jù)本發(fā)明的實(shí)施例,上述數(shù)據(jù)庫管理節(jié)點(diǎn)的緩存還存儲(chǔ)有目標(biāo)節(jié)點(diǎn)組的哈希映射值組,上述哈希映射值組包括與每個(gè)上述數(shù)據(jù)庫節(jié)點(diǎn)相對(duì)應(yīng)的哈希值范圍;上述將上述待新增數(shù)據(jù)存儲(chǔ)至上述目標(biāo)數(shù)據(jù)表中包括:利用哈希算法,基于上述待新增數(shù)據(jù)得到待新增數(shù)據(jù)的哈希值;基于上述目標(biāo)節(jié)點(diǎn)組的哈希映射值和上述待新增數(shù)據(jù)的哈希值確定目標(biāo)存儲(chǔ)節(jié)點(diǎn),其中,上述目標(biāo)存儲(chǔ)節(jié)點(diǎn)包括上述目標(biāo)節(jié)點(diǎn)組中的至少一個(gè)上述數(shù)據(jù)庫節(jié)點(diǎn);將上述待新增數(shù)據(jù)存儲(chǔ)至上述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中。
8、根據(jù)本發(fā)明的實(shí)施例,上述方法還包括:響應(yīng)于接收到的第二查詢數(shù)據(jù)請(qǐng)求,獲取上述第二查詢數(shù)據(jù)請(qǐng)求中的第二表標(biāo)識(shí)信息、第二待查詢數(shù)據(jù)標(biāo)識(shí)和上述緩存中的表標(biāo)識(shí)與目標(biāo)節(jié)點(diǎn)組的映射關(guān)系;基于上述第二表標(biāo)識(shí)信息和上述表標(biāo)識(shí)與目標(biāo)節(jié)點(diǎn)組的映射關(guān)系確定子目標(biāo)節(jié)點(diǎn)組;對(duì)于上述子目標(biāo)節(jié)點(diǎn)組中的每個(gè)數(shù)據(jù)庫節(jié)點(diǎn),基于上述第二待查詢數(shù)據(jù)標(biāo)識(shí)從上述數(shù)據(jù)庫節(jié)點(diǎn)中確定子目標(biāo)數(shù)據(jù)表,得到子目標(biāo)數(shù)據(jù)表組;從上述子目標(biāo)數(shù)據(jù)表組中確定與上述第二待查詢數(shù)據(jù)標(biāo)識(shí)相匹配的候選查詢數(shù)據(jù)組;基于上述候選查詢數(shù)據(jù)組,得到第二目標(biāo)查詢數(shù)據(jù)。
9、本發(fā)明的第二方面提供了一種數(shù)據(jù)分片處理裝置,包括:獲取模塊,用于響應(yīng)于接收到的新增數(shù)據(jù)請(qǐng)求,獲取上述新增數(shù)據(jù)請(qǐng)求中的表標(biāo)識(shí)信息和待新增數(shù)據(jù);確定模塊,用于基于上述新增數(shù)據(jù)請(qǐng)求中的表標(biāo)識(shí)信息,從數(shù)據(jù)庫集群的目標(biāo)節(jié)點(diǎn)組中確定目標(biāo)數(shù)據(jù)表,其中,上述目標(biāo)節(jié)點(diǎn)組包括上述數(shù)據(jù)庫集群中的至少一個(gè)數(shù)據(jù)庫節(jié)點(diǎn),上述至少一個(gè)數(shù)據(jù)庫節(jié)點(diǎn)是用戶預(yù)先指定的;存儲(chǔ)模塊,用于將上述待新增數(shù)據(jù)存儲(chǔ)至上述目標(biāo)數(shù)據(jù)表中。
10、根據(jù)本發(fā)明的實(shí)施例,上述裝置還包括:新增請(qǐng)求獲取模塊,用于響應(yīng)于接收到新增數(shù)據(jù)表請(qǐng)求,獲取上述新增數(shù)據(jù)表請(qǐng)求中的待處理表的待處理表信息、用于標(biāo)識(shí)上述待處理表對(duì)應(yīng)數(shù)據(jù)庫的庫標(biāo)識(shí)信息;新增數(shù)據(jù)表存儲(chǔ)模塊,用于在確定上述節(jié)點(diǎn)標(biāo)識(shí)信息與上述用戶預(yù)先指定的目標(biāo)節(jié)點(diǎn)組的信息相匹配的情況下,將上述待處理表存儲(chǔ)至上述目標(biāo)節(jié)點(diǎn)組中;表節(jié)點(diǎn)組確定模塊,用于在確定上述節(jié)點(diǎn)標(biāo)識(shí)信息與上述用戶預(yù)先指定的目標(biāo)節(jié)點(diǎn)組的信息不匹配的情況下,基于上述節(jié)點(diǎn)標(biāo)識(shí)信息,從上述數(shù)據(jù)庫集群中確定與上述待處理表相匹配的表節(jié)點(diǎn)組;表存儲(chǔ)模塊,用于將上述待處理表存儲(chǔ)至上述表節(jié)點(diǎn)組中。
11、根據(jù)本發(fā)明的實(shí)施例,上述目標(biāo)節(jié)點(diǎn)組是通過如下子模塊確定的:集群發(fā)送子模塊,用于響應(yīng)于接收到用戶的數(shù)據(jù)庫新增請(qǐng)求,向上述用戶發(fā)送不同類型的多個(gè)數(shù)據(jù)庫集群,上述多個(gè)數(shù)據(jù)庫集群存儲(chǔ)于不同節(jié)點(diǎn)組上;節(jié)點(diǎn)發(fā)送子模塊,用于響應(yīng)于接收到用戶的表征目標(biāo)數(shù)據(jù)庫集群的集群標(biāo)識(shí),向上述用戶發(fā)送與上述目標(biāo)數(shù)據(jù)庫集群相匹配的多個(gè)數(shù)據(jù)庫節(jié)點(diǎn);以及節(jié)點(diǎn)組確定子模塊,用于響應(yīng)于接收到用戶的表征目標(biāo)節(jié)點(diǎn)組的節(jié)點(diǎn)組標(biāo)識(shí),確定上述目標(biāo)節(jié)點(diǎn)組。
12、根據(jù)本發(fā)明的實(shí)施例,上述裝置還包括:第一查詢模塊,用于響應(yīng)于接收到第一查詢數(shù)據(jù)請(qǐng)求,獲取上述第一查詢數(shù)據(jù)請(qǐng)求中的第一表標(biāo)識(shí)信息和第一待查詢數(shù)據(jù)標(biāo)識(shí);第一數(shù)據(jù)表確定模塊,用于基于上述第一表標(biāo)識(shí)信息,從上述數(shù)據(jù)庫集群的上述目標(biāo)節(jié)點(diǎn)組中確定目標(biāo)數(shù)據(jù)表;第一查詢模塊,用于基于上述第一待查詢數(shù)據(jù)標(biāo)識(shí)從上述目標(biāo)數(shù)據(jù)表中查詢得到第一目標(biāo)查詢數(shù)據(jù)。
13、根據(jù)本發(fā)明的實(shí)施例,上述數(shù)據(jù)庫集群的目標(biāo)節(jié)點(diǎn)組包括至少一個(gè)數(shù)據(jù)庫管理節(jié)點(diǎn),上述確定模塊包括:映射關(guān)系獲取子模塊,用于獲取表標(biāo)識(shí)與目標(biāo)節(jié)點(diǎn)組的映射關(guān)系,其中,上述表標(biāo)識(shí)與目標(biāo)節(jié)點(diǎn)組的映射關(guān)系存儲(chǔ)于上述數(shù)據(jù)庫管理節(jié)點(diǎn)的緩存中;數(shù)據(jù)表確定子模塊,用于基于上述表標(biāo)識(shí)與目標(biāo)節(jié)點(diǎn)組的映射關(guān)系和上述新增數(shù)據(jù)請(qǐng)求中的表標(biāo)識(shí)信息,從上述數(shù)據(jù)庫集群的上述目標(biāo)節(jié)點(diǎn)組中確定上述目標(biāo)數(shù)據(jù)表。
14、根據(jù)本發(fā)明的實(shí)施例,上述數(shù)據(jù)庫管理節(jié)點(diǎn)的緩存還存儲(chǔ)有目標(biāo)節(jié)點(diǎn)組的哈希映射值組,上述哈希映射值組包括與每個(gè)上述數(shù)據(jù)庫節(jié)點(diǎn)相對(duì)應(yīng)的哈希值范圍;上述存儲(chǔ)模塊包括:哈希值計(jì)算子模塊,用于利用哈希算法,基于上述待新增數(shù)據(jù)得到待新增數(shù)據(jù)的哈希值;目標(biāo)存儲(chǔ)節(jié)點(diǎn)確定子模塊,用于基于上述目標(biāo)節(jié)點(diǎn)組的哈希映射值和上述待新增數(shù)據(jù)的哈希值確定目標(biāo)存儲(chǔ)節(jié)點(diǎn),其中,上述目標(biāo)存儲(chǔ)節(jié)點(diǎn)包括上述目標(biāo)節(jié)點(diǎn)組中的至少一個(gè)上述數(shù)據(jù)庫節(jié)點(diǎn);待新增數(shù)據(jù)存儲(chǔ)子模塊,用于將上述待新增數(shù)據(jù)存儲(chǔ)至上述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中。
15、根據(jù)本發(fā)明的實(shí)施例,上述裝置還包括:第二查詢模塊,用于響應(yīng)于接收到的第二查詢數(shù)據(jù)請(qǐng)求,獲取上述第二查詢數(shù)據(jù)請(qǐng)求中的第二表標(biāo)識(shí)信息、第二待查詢數(shù)據(jù)標(biāo)識(shí)和上述緩存中的表標(biāo)識(shí)與目標(biāo)節(jié)點(diǎn)組的映射關(guān)系;子目標(biāo)確定模塊,用于基于上述第二表標(biāo)識(shí)信息和上述表標(biāo)識(shí)與目標(biāo)節(jié)點(diǎn)組的映射關(guān)系確定子目標(biāo)節(jié)點(diǎn)組;子目標(biāo)數(shù)據(jù)表確定模塊,用于對(duì)于上述子目標(biāo)節(jié)點(diǎn)組中的每個(gè)數(shù)據(jù)庫節(jié)點(diǎn),基于上述第二待查詢數(shù)據(jù)標(biāo)識(shí)從上述數(shù)據(jù)庫節(jié)點(diǎn)中確定子目標(biāo)數(shù)據(jù)表,得到子目標(biāo)數(shù)據(jù)表組;候選查詢數(shù)據(jù)組確定模塊,用于從上述子目標(biāo)數(shù)據(jù)表組中確定與上述第二待查詢數(shù)據(jù)標(biāo)識(shí)相匹配的候選查詢數(shù)據(jù)組;第二查詢模塊,用于基于上述候選查詢數(shù)據(jù)組,得到第二目標(biāo)查詢數(shù)據(jù)。
16、本發(fā)明的第三方面提供了一種電子設(shè)備,包括:一個(gè)或多個(gè)處理器;存儲(chǔ)器,用于存儲(chǔ)一個(gè)或多個(gè)計(jì)算機(jī)程序,其中,上述一個(gè)或多個(gè)處理器執(zhí)行上述一個(gè)或多個(gè)計(jì)算機(jī)程序以實(shí)現(xiàn)上述方法的步驟。
17、本發(fā)明的第四方面還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序或指令,上述計(jì)算機(jī)程序或指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述方法的步驟。
18、本發(fā)明的第五方面還提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序或指令,上述計(jì)算機(jī)程序或指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述方法的步驟。
19、根據(jù)本發(fā)明實(shí)施例,通過在新增數(shù)據(jù)時(shí)獲取請(qǐng)求中的表標(biāo)識(shí)信息來從用戶預(yù)先指定的目標(biāo)節(jié)點(diǎn)組中確定對(duì)應(yīng)的目標(biāo)數(shù)據(jù)表,并將數(shù)據(jù)存儲(chǔ)到目標(biāo)數(shù)據(jù)表中,使得用戶在對(duì)分布式數(shù)據(jù)庫進(jìn)行新增數(shù)據(jù)操作時(shí),可以直接基于用戶預(yù)設(shè)的節(jié)點(diǎn)組來進(jìn)行數(shù)據(jù)存儲(chǔ),簡(jiǎn)化了用戶操作,提升了用戶體驗(yàn),進(jìn)一步的減少了硬件設(shè)備計(jì)算量。