1.一種基于庫(kù)復(fù)制的分布式存儲(chǔ)方法,其特征在于,該方法使用n臺(tái)存儲(chǔ)服務(wù)器存儲(chǔ)數(shù)據(jù)庫(kù),包括以下步驟:
(1)將數(shù)據(jù)庫(kù)切分為多個(gè)子庫(kù);
(2)設(shè)置冗余服務(wù)器的數(shù)量t;
(3)在n臺(tái)存儲(chǔ)服務(wù)器中任取t臺(tái),組成一個(gè)服務(wù)器,共得到個(gè)服務(wù)器組,記這些服務(wù)器組為S1,S2,……,SK,由這些服務(wù)器組構(gòu)成一個(gè)集合S={Si,1≤i≤K}。
(4)計(jì)算每一臺(tái)存儲(chǔ)服務(wù)器當(dāng)前的存儲(chǔ)代價(jià);
(5)對(duì)于集合S中的每個(gè)服務(wù)器組,計(jì)算服務(wù)器組的存儲(chǔ)代價(jià),所述服務(wù)器組的存儲(chǔ)代價(jià)是該服務(wù)器組中所有存儲(chǔ)服務(wù)器的存儲(chǔ)代價(jià)之和;
(6)對(duì)集合S中的服務(wù)器組,按照服務(wù)器組的存儲(chǔ)代價(jià)進(jìn)行排序,將存儲(chǔ)代價(jià)最小的服務(wù)器組作為一個(gè)選擇組,并從集合S中刪除;
(7)重復(fù)步驟4-6,一直到獲取了m個(gè)選擇組;
(8)每個(gè)選擇組分別存儲(chǔ)一個(gè)子庫(kù),即將選擇組中的每一臺(tái)存儲(chǔ)服務(wù)器都存儲(chǔ)相應(yīng)子庫(kù)的一個(gè)復(fù)制。
2.根據(jù)權(quán)利要求1所述的基于庫(kù)復(fù)制的分布式存儲(chǔ)方法,其特征在于,該方法還包括:
(9)對(duì)于不在任何一個(gè)選擇組中的存儲(chǔ)服務(wù)器,使用該存儲(chǔ)服務(wù)器存儲(chǔ)所有的子庫(kù)。
3.根據(jù)權(quán)利要求1-2任意一項(xiàng)所述的基于庫(kù)復(fù)制的分布式存儲(chǔ)方法,其特征在于,所述步驟(4)包括以下步驟:
(4.1)設(shè)n臺(tái)存儲(chǔ)服務(wù)器為A1,A2,……,An;首先計(jì)算Ai(1≤i≤n)的數(shù)據(jù)代價(jià)Di,即Di=Ti/Li;其中,Ti是存儲(chǔ)服務(wù)器Ai到接口服務(wù)器的傳輸延遲時(shí)間,Li是存儲(chǔ)服務(wù)器Ai本身的數(shù)據(jù)吞吐率;
(4.2)計(jì)算存儲(chǔ)服務(wù)器Ai的存儲(chǔ)代價(jià)Ci=FiDi,其中,F(xiàn)i是Ai在已經(jīng)獲取的選擇組中出現(xiàn)的次數(shù)。
4.根據(jù)權(quán)利要求1-3任意一項(xiàng)所述的基于庫(kù)復(fù)制的分布式存儲(chǔ)方法,其特征在于,所述子庫(kù)的數(shù)量不少于3個(gè)。
5.根據(jù)權(quán)利要求1所述的基于庫(kù)復(fù)制的分布式存儲(chǔ)方法,其特征在于,所述存儲(chǔ)服務(wù)器的數(shù)量n、子庫(kù)的數(shù)量m和冗余服務(wù)器的數(shù)量t,滿足n≥mt/2。
6.根據(jù)權(quán)利要求1所述的基于庫(kù)復(fù)制的分布式存儲(chǔ)方法,其特征在于,當(dāng)有一臺(tái)存儲(chǔ)服務(wù)器丟失數(shù)據(jù)時(shí),根據(jù)該存儲(chǔ)服務(wù)器上所存儲(chǔ)的子庫(kù),選擇相應(yīng)的存儲(chǔ)服務(wù)器為其恢復(fù)數(shù)據(jù)。