本發(fā)明屬于數(shù)據(jù)庫集群領(lǐng)域,尤其是涉及一種數(shù)據(jù)庫集群多數(shù)據(jù)分片備份的部署方法及裝置。
背景技術(shù):
數(shù)據(jù)庫集群,利用至少兩臺或者多臺數(shù)據(jù)庫服務(wù)器,構(gòu)成一個虛擬單一數(shù)據(jù)庫邏輯映像,像單數(shù)據(jù)庫系統(tǒng)那樣,向客戶端提供透明的數(shù)據(jù)服務(wù)。在數(shù)據(jù)庫分析應(yīng)用中,數(shù)據(jù)庫集群占有主要地位,為保證集群的可靠性,多采用備份分片對數(shù)據(jù)進行備份,每個主分片對應(yīng)一份備份分片,主分片與備份分片不在同一個數(shù)據(jù)節(jié)點。而在一個數(shù)據(jù)節(jié)點部署多個數(shù)據(jù)分片的數(shù)據(jù)庫集群在擴展性方面有明顯優(yōu)勢,但是其備份數(shù)據(jù)分片如何分布,會影響整個集群的可靠性。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種數(shù)據(jù)庫集群多數(shù)據(jù)分片備份的部署方法及裝置,以解決部署要解決備份數(shù)據(jù)分片的技術(shù)問題。
一方面,本發(fā)明實施例提供了一種數(shù)據(jù)庫集群多數(shù)據(jù)分片備份的部署方法,包括:
獲取數(shù)據(jù)庫集群中的節(jié)點數(shù)量;
獲取數(shù)據(jù)庫集群中每個節(jié)點對應(yīng)的數(shù)據(jù)分片數(shù)量;
按照預(yù)設(shè)的規(guī)則配置備份分片;
計算所述配置備份分片的可靠性,選取最優(yōu)可靠性作為部署方法。
進一步的,所述預(yù)設(shè)的規(guī)則,包括:
將第一個節(jié)點p個數(shù)據(jù)分片的備份分片依次放在下一個節(jié)點開始的p個節(jié)點中;或者
將第一個節(jié)點p個數(shù)據(jù)分片的備份分片全部放在下一個節(jié)點中;或者
如果節(jié)點數(shù)m是p+1的整數(shù)倍且m>p+1,將數(shù)據(jù)節(jié)點分組成n組,每組有p+1個節(jié)點,每個節(jié)點p個數(shù)據(jù)分片的備份分片依次放在本組的其他p個節(jié)點中;或者
如果m是p的整數(shù)倍且m>p。將數(shù)據(jù)節(jié)點分成n組,每組有p個節(jié)點,每個節(jié)點p個數(shù)據(jù)分片的備份分片依次放在下一組的p個節(jié)點中;或者
如果m是2的整數(shù)倍,將數(shù)據(jù)節(jié)點分成m/2組,每組2個節(jié)點,互存p個備份分片。
更進一步的,所述計算所述配置備份分片的可靠性,包括:
根據(jù)任意兩個節(jié)點故障的概率計算所述配置備份分片的可靠性。
另一方面,所述數(shù)據(jù)庫集群多數(shù)據(jù)分片備份的部署裝置,包括:
節(jié)點獲取單元,用于獲取數(shù)據(jù)庫集群中的節(jié)點數(shù)量;
數(shù)據(jù)分片數(shù)量獲取單元,用于獲取數(shù)據(jù)庫集群中每個節(jié)點對應(yīng)的數(shù)據(jù)分片數(shù)量;
配置單元,用于按照預(yù)設(shè)的規(guī)則配置備份分片;
計算單元,用于計算所述配置備份分片的可靠性,選取最優(yōu)可靠性作為部署方法。
進一步的,所述預(yù)設(shè)的規(guī)則,包括:
將第一個節(jié)點p個數(shù)據(jù)分片的備份分片依次放在下一個節(jié)點開始的p個節(jié)點中;或者
將第一個節(jié)點p個數(shù)據(jù)分片的備份分片全部放在下一個節(jié)點中;或者
如果節(jié)點數(shù)m是p+1的整數(shù)倍且m>p+1,將數(shù)據(jù)節(jié)點分組成n組,每組有p+1個節(jié)點,每個節(jié)點p個數(shù)據(jù)分片的備份分片依次放在本組的其他p個節(jié)點中;或者
如果m是p的整數(shù)倍且m>p。將數(shù)據(jù)節(jié)點分成n組,每組有p個節(jié)點,每個節(jié)點p個數(shù)據(jù)分片的備份分片依次放在下一組的p個節(jié)點中;或者
如果m是2的整數(shù)倍,將數(shù)據(jù)節(jié)點分成m/2組,每組2個節(jié)點,互存p個備份分片。
更進一步的,所述計算單元用于:
根據(jù)任意兩個節(jié)點故障的概率計算所述配置備份分片的可靠性。
本發(fā)明實施例提供的數(shù)據(jù)庫集群多數(shù)據(jù)分片備份的部署方法及裝置,通過預(yù)定的規(guī)則配置多種備份分片的部署方式,并選取其中可靠性最高的配置方式作為部署方式,可進行最優(yōu)可靠性部署,并大程度保障集群的可靠性。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例一提供的數(shù)據(jù)庫集群多數(shù)據(jù)分片備份的部署方法的流程示意圖;
圖2是本發(fā)明實施例二提供的數(shù)據(jù)庫集群多數(shù)據(jù)分片備份的部署裝置的結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
實施例一
圖1是本發(fā)明實施例一提供的數(shù)據(jù)庫集群多數(shù)據(jù)分片備份的部署方法的流程示意圖,本實施例可適用于在數(shù)據(jù)庫集群將備份分片進行部署的情況,該方法可以由數(shù)據(jù)庫集群多數(shù)據(jù)分片備份的部署裝置來執(zhí)行,該裝置可由軟件/硬件方式實現(xiàn),并可集成于數(shù)據(jù)庫集群系統(tǒng)中。
參見圖1,所述數(shù)據(jù)庫集群多數(shù)據(jù)分片備份的部署方法,包括:
S110,獲取數(shù)據(jù)庫集群中的節(jié)點數(shù)量。
所述數(shù)據(jù)庫集群,指由多個數(shù)據(jù)庫節(jié)點組成的集群,數(shù)據(jù)庫集群中的節(jié)點稱為集群節(jié)點,集群節(jié)點為數(shù)據(jù)分片和備份分片的載體,可根據(jù)數(shù)據(jù)庫集群的管理節(jié)點確定數(shù)據(jù)庫集群中的節(jié)點數(shù)量。
S120,獲取數(shù)據(jù)庫集群中每個節(jié)點對應(yīng)的數(shù)據(jù)分片數(shù)量。
數(shù)據(jù)分片,指相對于每個集群節(jié)點存放1份數(shù)據(jù)分片,多數(shù)據(jù)分片在每個集群節(jié)點存放多份數(shù)據(jù)分片。
S130,按照預(yù)設(shè)的規(guī)則配置備份分片。
數(shù)據(jù)庫集群多數(shù)據(jù)分片備份,有以下5種配置策略:
假設(shè)集群有m個節(jié)點,每個節(jié)點上有p個主分片。
配置策略1:數(shù)據(jù)節(jié)點不分組,將第一個節(jié)點p個數(shù)據(jù)分片的備份分片依次放在下一個節(jié)點開始的p個節(jié)點中。
配置策略2:數(shù)據(jù)節(jié)點不分組,將第一個節(jié)點p個數(shù)據(jù)分片的備份分片全部放在下一個節(jié)點上。
配置策略3:如果m是p+1的整數(shù)倍且m>p+1,將數(shù)據(jù)節(jié)點分組成n組,每組有p+1個節(jié)點,每個節(jié)點p個數(shù)據(jù)分片的備份分片依次放在本組的其他p個節(jié)點中。
配置策略4:如果m是p的整數(shù)倍且m>p。將數(shù)據(jù)節(jié)點分成n組,每組有p個節(jié)點,每個節(jié)點p個數(shù)據(jù)分片的備份分片依次放在下一組的p個節(jié)點中。
配置策略5:如果m是2的整數(shù)倍,將數(shù)據(jù)節(jié)點分成m/2組,每組2個節(jié)點,互存p個備份分片。
S140,計算所述配置備份分片的可靠性,選取最優(yōu)可靠性作為部署方法。
示例性的,可根據(jù)任意兩個節(jié)點故障的概率計算所述配置備份分片的可靠性。按照S130提供的五種策略,則分別計算可靠性如下:
配置策略1可靠性:集群中所有節(jié)點,任意兩個節(jié)點故障的組合有,而集群中任意兩個節(jié)點故障同時命中數(shù)據(jù)分片和備份分片的組合有m×p,則集群可靠性概率P1=1-=2p/(m-1)。
配置策略2可靠性:集群中所有節(jié)點,任意兩個節(jié)點故障的組合有,而集群中任意兩個節(jié)點故障同時命中數(shù)據(jù)分片和備份分片的組合有m個。則集群可靠性概率P2=1-=(m-3)/(m-1)。
配置策略3可靠性:集群中所有節(jié)點,任意兩個節(jié)點故障的組合有,而每個組內(nèi)任意兩個節(jié)點故障同時命中主備分片的組合有,共有m/(p+1)個組。則集群可靠性概率為P3=1-=(m-p-1)/(m-1)。
配置策略4可靠性:集群中所有節(jié)點,任意兩個節(jié)點故障的組合有,而相鄰兩個組任意兩個節(jié)點故障同時命中主備分片的組合有p×p,共有m/p個相鄰組。則集群可靠性概率P4=1-=2p/(m-1)。
配置策略5可靠性:集群中所有節(jié)點,任意兩個節(jié)點故障的組合有,而組內(nèi)任意兩個節(jié)點故障同時命中主備分片的組合有1個,共有m/2個組。則集群可靠性概率P5=1-=(m-2)/(m-1)。
例如:具有30個節(jié)點的數(shù)據(jù)庫集群,每個節(jié)點要求有5個主數(shù)據(jù)分片。備份分片部署工具內(nèi)部會產(chǎn)生有5種不同的部署方法及并計算可靠性:
將30個節(jié)點(m=30)不分組,按照部署方式1進行部署,根據(jù)本發(fā)明中的公式可計算本部署方式的可靠性P1=10/29
將30個節(jié)點(m=30)不分組,按照部署方式2進行部署,根據(jù)本發(fā)明中的公式可計算本部署方式的可靠性P2=27/29
將30個節(jié)點(m=30)分組,30/(5+1)可以整除,按照部署方式3進行部署。根據(jù)本發(fā)明中公式可計算本部署方式的可靠性P3=24/29
將30個節(jié)點(m=30)分組,30/5可以整除,按照部署方式4進行部署。根據(jù)本發(fā)明中的公式可計算本部署方式的可靠性P4=10/29.
將30個節(jié)點(m=30)分組,30/2可以整除,按照部署方式5進行部署。根據(jù)本發(fā)明中的公式可計算本部署方式的可靠性P5=28/29
由此可以看出,對于具有30個節(jié)點的數(shù)據(jù)庫集群,每個節(jié)點要求有5個主數(shù)據(jù)分片,第五種配制方法最優(yōu),選擇第五種方法進行配置。
本實施例提供的數(shù)據(jù)庫集群多數(shù)據(jù)分片備份的部署方法及裝置,通過預(yù)定的規(guī)則配置多種備份分片的部署方式,并選取其中可靠性最高的配置方式作為部署方式,可進行最優(yōu)可靠性部署,并大程度保障集群的可靠性。
實施例二
圖2是本發(fā)明實施例二提供的數(shù)據(jù)庫集群多數(shù)據(jù)分片備份的部署裝置的結(jié)構(gòu)示意圖,如圖2所示,所述裝置包括:
節(jié)點獲取單元210,用于獲取數(shù)據(jù)庫集群中的節(jié)點數(shù)量;
數(shù)據(jù)分片數(shù)量獲取單元220,用于獲取數(shù)據(jù)庫集群中每個節(jié)點對應(yīng)的數(shù)據(jù)分片數(shù)量;
配置單元230,用于按照預(yù)設(shè)的規(guī)則配置備份分片;
計算單元240,用于計算所述配置備份分片的可靠性,選取最優(yōu)可靠性作為部署方法。
進一步的,所述預(yù)設(shè)的規(guī)則,包括:
將第一個節(jié)點p個數(shù)據(jù)分片的備份分片依次放在下一個節(jié)點開始的p個節(jié)點中;或者
將第一個節(jié)點p個數(shù)據(jù)分片的備份分片全部放在下一個節(jié)點中;或者
如果節(jié)點數(shù)m是p+1的整數(shù)倍且m>p+1,將數(shù)據(jù)節(jié)點分組成n組,每組有p+1個節(jié)點,每個節(jié)點p個數(shù)據(jù)分片的備份分片依次放在本組的其他p個節(jié)點中;或者
如果m是p的整數(shù)倍且m>p。將數(shù)據(jù)節(jié)點分成n組,每組有p個節(jié)點,每個節(jié)點p個數(shù)據(jù)分片的備份分片依次放在下一組的p個節(jié)點中;或者
如果m是2的整數(shù)倍,將數(shù)據(jù)節(jié)點分成m/2組,每組2個節(jié)點,互存p個備份分片。
更進一步的,所述計算單元用于:
根據(jù)任意兩個節(jié)點故障的概率計算所述配置備份分片的可靠性。
本發(fā)明實施例提供的數(shù)據(jù)庫集群多數(shù)據(jù)分片備份的部署方法及裝置,通過預(yù)定的規(guī)則配置多種備份分片的部署方式,并選取其中可靠性最高的配置方式作為部署方式,可進行最優(yōu)可靠性部署,并大程度保障集群的可靠性。
本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述各方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
最后應(yīng)說明的是:以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。