本發(fā)明涉及分布式數(shù)據(jù)庫(kù),具體涉及跨數(shù)據(jù)庫(kù)遷移的數(shù)據(jù)均勻分布規(guī)則推薦方法。
背景技術(shù):
1、分布式數(shù)據(jù)庫(kù)是指數(shù)據(jù)在物理上分布而在邏輯上集中管理的數(shù)據(jù)庫(kù)系統(tǒng)。分布式數(shù)據(jù)庫(kù)具有透明性、數(shù)據(jù)冗余性和易擴(kuò)展性。易擴(kuò)展性是分布式數(shù)據(jù)庫(kù)的重要特性,分布式數(shù)據(jù)庫(kù)依賴擴(kuò)展性提升數(shù)據(jù)庫(kù)的處理能力,數(shù)據(jù)被動(dòng)態(tài)地分布到新增dn?(data?node,數(shù)據(jù)節(jié)點(diǎn))上,消除數(shù)據(jù)傾斜,而易擴(kuò)展性的提高依賴數(shù)據(jù)分區(qū)。
2、數(shù)據(jù)被拆分到多個(gè)dn上,在多個(gè)dn上進(jìn)行存儲(chǔ)和處理,這種技術(shù)稱為數(shù)據(jù)分區(qū),也稱數(shù)據(jù)分片。數(shù)據(jù)分區(qū)有水平分區(qū)和垂直分區(qū)兩種。水平分區(qū)是將表數(shù)據(jù)按照規(guī)則分散存儲(chǔ)到多個(gè)dn上,每個(gè)dn包含表的部分?jǐn)?shù)據(jù)。垂直分區(qū)是將不同的表存儲(chǔ)在不同的dn,或者表的不同列信息分布到不同的dn。分布式數(shù)據(jù)庫(kù)分發(fā)規(guī)則(分區(qū)規(guī)則)是將整個(gè)數(shù)據(jù)集按照分區(qū)規(guī)則映射到多個(gè)dn的問(wèn)題,即把數(shù)據(jù)集劃分到多個(gè)dn上,每個(gè)dn負(fù)責(zé)整體數(shù)據(jù)的一個(gè)子集。表數(shù)據(jù)的分區(qū)規(guī)則和分發(fā)范圍會(huì)影響數(shù)據(jù)在遷移前后,在目的端分布式數(shù)據(jù)庫(kù)的存儲(chǔ)分布和業(yè)務(wù)處理效率,因此,合理的數(shù)據(jù)分發(fā)規(guī)則對(duì)分布式數(shù)據(jù)庫(kù)具有重要意義。
3、隨著互聯(lián)網(wǎng)在線業(yè)務(wù)的發(fā)展,業(yè)務(wù)訪問(wèn)的并發(fā)量成指數(shù)上升,海量的數(shù)據(jù)計(jì)算和分析需求越來(lái)越普遍,傳統(tǒng)的單機(jī)系統(tǒng)在業(yè)務(wù)、成本和開放性方面面臨巨大挑戰(zhàn),分布式數(shù)據(jù)庫(kù)的出現(xiàn)能夠更好地迎接這些挑戰(zhàn)。因此,分布式數(shù)據(jù)庫(kù)越來(lái)越得到青睞,與其他數(shù)據(jù)庫(kù)之間的數(shù)據(jù)交互也越來(lái)越多,數(shù)據(jù)向分布式數(shù)據(jù)庫(kù)遷移也越來(lái)越普遍。為了保證數(shù)據(jù)的完整性、一致性和操作的規(guī)范性,遷移評(píng)估系統(tǒng)起到了重要作用。而對(duì)于分布式數(shù)據(jù)庫(kù),數(shù)據(jù)如何被合理地分布具有重要的研究意義,提供合理的分發(fā)規(guī)則對(duì)于數(shù)據(jù)遷移至分布式數(shù)據(jù)庫(kù)有重要意義。
4、通過(guò)專利檢索發(fā)現(xiàn),數(shù)據(jù)庫(kù)分發(fā)規(guī)則相關(guān)的發(fā)明很少,現(xiàn)有分發(fā)方法存在以下問(wèn)題:依據(jù)表信息生成分發(fā)規(guī)則表,參考的信息較少,缺乏可靠性;沒(méi)有考慮分發(fā)方式和分發(fā)鍵如何選擇,更沒(méi)有考慮目的端dn的容量。也有方法考慮到了數(shù)據(jù)容量和業(yè)務(wù)模型進(jìn)行分布規(guī)則優(yōu)化;但其分布規(guī)則較為機(jī)械和死板,需要人工指定規(guī)則,不能動(dòng)態(tài)地根據(jù)數(shù)據(jù)現(xiàn)狀進(jìn)行調(diào)整;且單一的依賴表數(shù)據(jù)量進(jìn)行分發(fā)范圍確定。因此,基于數(shù)據(jù)現(xiàn)狀、業(yè)務(wù)模型和目標(biāo)分布式數(shù)據(jù)庫(kù)給出一種可靠的數(shù)據(jù)分發(fā)規(guī)則具有重要價(jià)值,能保證在數(shù)據(jù)遷移后,目的端庫(kù)的存儲(chǔ)均勻性和業(yè)務(wù)處理的負(fù)載均衡。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于,基于多維度信息,為數(shù)據(jù)遷移到分布式數(shù)據(jù)庫(kù)提供一種合理的分布規(guī)則推薦方法,以保證數(shù)據(jù)遷移后的數(shù)據(jù)存儲(chǔ)均勻性和業(yè)務(wù)處理的負(fù)載均衡,解決分發(fā)后的數(shù)據(jù)存儲(chǔ)均勻性和業(yè)務(wù)處理負(fù)載均衡的難點(diǎn)。
2、為實(shí)現(xiàn)上述發(fā)明目的,本申請(qǐng)實(shí)施例首先提供一種跨數(shù)據(jù)庫(kù)遷移的數(shù)據(jù)均勻分布規(guī)則推薦方法,其特征在于,包括:
3、采集源端數(shù)據(jù)庫(kù)的基礎(chǔ)信息;
4、對(duì)采集的基礎(chǔ)信息進(jìn)行分類處理,篩選出目的端數(shù)據(jù)庫(kù)可支持和不可支持的業(yè)務(wù);
5、對(duì)目的端數(shù)據(jù)庫(kù)可支持的庫(kù)表選擇分發(fā)規(guī)則優(yōu)先級(jí),包括選擇目的端dn數(shù)量?jī)?yōu)先和選擇目的端dn容量?jī)?yōu)先;
6、根據(jù)表的關(guān)聯(lián)關(guān)系對(duì)表進(jìn)行分組;
7、根據(jù)表分組信息選擇表分發(fā)鍵;
8、根據(jù)表分組信息選擇表分發(fā)方式;
9、綜合存儲(chǔ)代價(jià)和計(jì)算代價(jià),確定表分發(fā)范圍,給出跨庫(kù)遷移的結(jié)果評(píng)估。
10、為實(shí)現(xiàn)上述發(fā)明目的,本申請(qǐng)實(shí)施例還提供一種跨數(shù)據(jù)庫(kù)遷移的數(shù)據(jù)均勻分布規(guī)則推薦裝置,其特征在于,包括:
11、采集模塊,用于采集源端數(shù)據(jù)庫(kù)的基礎(chǔ)信息;
12、分類模塊,用于對(duì)采集的基礎(chǔ)信息進(jìn)行分類處理,篩選出目的端數(shù)據(jù)庫(kù)可支持和不可支持的業(yè)務(wù);
13、分發(fā)規(guī)則選擇模塊,用于對(duì)目的端數(shù)據(jù)庫(kù)可支持的庫(kù)表選擇分發(fā)規(guī)則優(yōu)先級(jí),包括選擇目的端dn數(shù)量?jī)?yōu)先和選擇目的端dn容量?jī)?yōu)先;
14、分組模塊,用于根據(jù)表的關(guān)聯(lián)關(guān)系對(duì)表進(jìn)行分組;
15、分發(fā)鍵選擇模塊,用于根據(jù)表分組信息選擇表分發(fā)鍵;
16、分發(fā)方式選擇模塊,用于根據(jù)表分組信息選擇表分發(fā)方式;
17、評(píng)估模塊,用于綜合存儲(chǔ)代價(jià)和計(jì)算代價(jià),確定表分發(fā)范圍,給出跨庫(kù)遷移的結(jié)果評(píng)估。?為實(shí)現(xiàn)上述發(fā)明目的,本申請(qǐng)實(shí)施例還提供一種電子設(shè)備,包括處理器和存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)有可在所述處理器上運(yùn)行的程序,其特征在于,所述程序被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)上述的跨數(shù)據(jù)庫(kù)遷移的數(shù)據(jù)均勻分布規(guī)則推薦方法的步驟。
18、以及,提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),存儲(chǔ)有至少一個(gè)程序,其特征在于,所述至少一個(gè)程序可被至少一個(gè)處理器執(zhí)行,以實(shí)現(xiàn)上述的跨數(shù)據(jù)庫(kù)遷移的數(shù)據(jù)均勻分布規(guī)則推薦方法的步驟。
19、本發(fā)明具有如下有益效果:
20、a)本發(fā)明方法首先從整體上進(jìn)行分發(fā)規(guī)則優(yōu)先級(jí)規(guī)劃,根據(jù)表組特點(diǎn)進(jìn)行特性分析處理,從細(xì)分場(chǎng)景進(jìn)行適配,提供2種分發(fā)優(yōu)先級(jí)選擇,其一是目的端dn數(shù)量?jī)?yōu)先,其二是目的端dn容量?jī)?yōu)先,使本發(fā)明方法能靈活適用于多場(chǎng)景,適應(yīng)性廣。
21、b)本發(fā)明方法根據(jù)表結(jié)構(gòu)、業(yè)務(wù)頻率及表關(guān)聯(lián)信息選擇分發(fā)鍵,保證了數(shù)據(jù)遷入時(shí)的效率和后續(xù)業(yè)務(wù)處理效率。
22、c)本發(fā)明方法基于目的端庫(kù)的存儲(chǔ)代價(jià)和計(jì)算代價(jià),綜合考慮表的存儲(chǔ)代價(jià)和計(jì)算代價(jià),每處理一個(gè)表組后即進(jìn)行一次均勻性校驗(yàn),對(duì)可能超限的表組實(shí)行拆分或重新分配操作等,保證目標(biāo)端數(shù)據(jù)庫(kù)在遷移前后的存儲(chǔ)均勻性和計(jì)算均勻性,保證業(yè)務(wù)處理效率。
23、d)本發(fā)明方法根據(jù)表組特征和整體規(guī)劃對(duì)表的分布規(guī)則實(shí)現(xiàn)自動(dòng)化處理,包括但不限于擴(kuò)展或拆分的自動(dòng)化動(dòng)作,且可根據(jù)配置方案生成不同的分布規(guī)則,具有很強(qiáng)的靈活性。
1.一種跨數(shù)據(jù)庫(kù)遷移的數(shù)據(jù)均勻分布規(guī)則推薦方法,其特征在于,包括:
2.如權(quán)利要求1所述的跨數(shù)據(jù)庫(kù)遷移的數(shù)據(jù)均勻分布規(guī)則推薦方法,其特征在于,當(dāng)選擇目的端dn數(shù)量?jī)?yōu)先時(shí),所述方法還包括:
3.如權(quán)利要求1所述的跨數(shù)據(jù)庫(kù)遷移的數(shù)據(jù)均勻分布規(guī)則推薦方法,其特征在于,當(dāng)選擇目的端dn容量?jī)?yōu)先時(shí),所述方法還包括:
4.如權(quán)利要求1所述的跨數(shù)據(jù)庫(kù)遷移的數(shù)據(jù)均勻分布規(guī)則推薦方法,其特征在于,根據(jù)表的關(guān)聯(lián)關(guān)系對(duì)表進(jìn)行分組,包括:
5.如權(quán)利要求1所述的跨數(shù)據(jù)庫(kù)遷移的數(shù)據(jù)均勻分布規(guī)則推薦方法,其特征在于,根據(jù)表分組信息選擇表分發(fā)鍵,包括:
6.如權(quán)利要求1所述的跨數(shù)據(jù)庫(kù)遷移的數(shù)據(jù)均勻分布規(guī)則推薦方法,其特征在于,根據(jù)表分組信息選擇表分發(fā)方式,包括:
7.如權(quán)利要求1所述的跨數(shù)據(jù)庫(kù)遷移的數(shù)據(jù)均勻分布規(guī)則推薦方法,其特征在于,綜合存儲(chǔ)代價(jià)和計(jì)算代價(jià),確定表分發(fā)范圍,包括:
8.一種跨數(shù)據(jù)庫(kù)遷移的數(shù)據(jù)均勻分布規(guī)則推薦裝置,其特征在于,包括:
9.一種電子設(shè)備,包括處理器和存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)有可在所述處理器上運(yùn)行的程序,其特征在于,所述程序被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1-7任一項(xiàng)所述的跨數(shù)據(jù)庫(kù)遷移的數(shù)據(jù)均勻分布規(guī)則推薦方法的步驟。
10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),存儲(chǔ)有至少一個(gè)程序,其特征在于,所述至少一個(gè)程序可被至少一個(gè)處理器執(zhí)行,以實(shí)現(xiàn)權(quán)利要求1-7任一項(xiàng)所述的跨數(shù)據(jù)庫(kù)遷移的數(shù)據(jù)均勻分布規(guī)則推薦方法的步驟。