一種數(shù)據(jù)存儲方法以及一種數(shù)據(jù)存儲管理服務器的制造方法
【技術領域】
[0001]本發(fā)明涉及數(shù)據(jù)處理技術,特別涉及一種數(shù)據(jù)存儲方法以及一種數(shù)據(jù)存儲管理服務器。
【背景技術】
[0002]現(xiàn)有技術中,在進行數(shù)據(jù)存儲時,通常會對存儲的原數(shù)據(jù)進行數(shù)據(jù)備份。
[0003]數(shù)據(jù)備份是指對原數(shù)據(jù)進行復制或拷貝后單獨存儲,當原數(shù)據(jù)由于硬件故障、病毒、人為等因素造成丟失或損壞時,利用備份數(shù)據(jù)對原數(shù)據(jù)進行恢復的一種技術。
[0004]為了提高數(shù)據(jù)的可靠性等,通常需要增加備份份數(shù),但是,當需要備份的原數(shù)據(jù)很多時,如果不區(qū)分這些原數(shù)據(jù)的重要等級,均備份固定份數(shù)的話,將會造成存儲資源的不合理利用。
[0005]比如,所述固定份數(shù)為2,那么某一重要等級較高的原數(shù)據(jù)和另一重要等級較低的原數(shù)據(jù)均將備份2份,而對于重要等級較高的原數(shù)據(jù)來說,備份份數(shù)會過少,但對于重要等級較低的原數(shù)據(jù)來說,備份份數(shù)又會過多,從而造成了存儲資源的不合理利用。
【發(fā)明內(nèi)容】
[0006]有鑒于此,本發(fā)明提供了一種數(shù)據(jù)存儲方法以及一種數(shù)據(jù)存儲管理服務器,能夠使存儲資源得到合理的利用。
[0007]為了達到上述目的,本發(fā)明的技術方案是這樣實現(xiàn)的:
[0008]一種數(shù)據(jù)存儲方法,包括:
[0009]當接收到針對任一數(shù)據(jù)塊X的存儲請求時,確定數(shù)據(jù)塊X的初始存儲份數(shù),并按照所述初始存儲份數(shù)對數(shù)據(jù)塊X進行存儲;
[0010]周期性地進行以下處理:確定數(shù)據(jù)塊X當前的重要等級,并確定所述重要等級對應的存儲份數(shù)與數(shù)據(jù)塊X當前的存儲份數(shù)是否相同,如果否,則將數(shù)據(jù)塊X當前的存儲份數(shù)調(diào)整為與所述重要等級對應的存儲份數(shù)相同;其中,重要等級越高,對應的存儲份數(shù)越大,重要等級越低,對應的存儲份數(shù)越小。
[0011]—種數(shù)據(jù)存儲管理服務器,包括:
[0012]第一處理模塊,用于當接收到用戶設備發(fā)送來的、針對任一數(shù)據(jù)塊X的存儲請求時,確定數(shù)據(jù)塊X的初始存儲份數(shù),通知所述用戶設備按照所述初始存儲份數(shù)將數(shù)據(jù)塊X存儲到數(shù)據(jù)節(jié)點中,并通知第二處理模塊執(zhí)行自身功能;
[0013]所述第二處理模塊,用于周期性地進行以下處理:確定數(shù)據(jù)塊X當前的重要等級,并確定所述重要等級對應的存儲份數(shù)與數(shù)據(jù)塊X當前的存儲份數(shù)是否相同,如果否,則將數(shù)據(jù)塊X當前的存儲份數(shù)調(diào)整為與所述重要等級對應的存儲份數(shù)相同;其中,重要等級越高,對應的存儲份數(shù)越大,重要等級越低,對應的存儲份數(shù)越小。
[0014]可見,采用本發(fā)明所述方案,針對任一數(shù)據(jù)塊X,初始狀態(tài),可按照確定出的初始存儲份數(shù)對其進行存儲,所存儲的各份數(shù)據(jù)互為備份,并且,可根據(jù)數(shù)據(jù)塊X的重要等級變化,自適應地對數(shù)據(jù)塊X的存儲份數(shù)進行調(diào)整,即重要等級變高,則增加存儲份數(shù),重要等級變低,則減少存儲份數(shù),從而克服了現(xiàn)有技術中存在的問題,進而使得存儲資源得到了合理的利用。
【附圖說明】
[0015]圖1為本發(fā)明數(shù)據(jù)存儲方法實施例的流程圖。
[0016]圖2為本發(fā)明用戶設備、數(shù)據(jù)存儲管理服務器和數(shù)據(jù)節(jié)點之間的連接關系示意圖。
[0017]圖3為本發(fā)明數(shù)據(jù)塊X對應的索引信息的示意圖。
[0018]圖4為本發(fā)明數(shù)據(jù)存儲管理服務器實施例的組成結構示意圖。
【具體實施方式】
[0019]針對現(xiàn)有技術中存在的問題,本發(fā)明中提出一種數(shù)據(jù)存儲方案,能夠使存儲資源得到合理的利用。
[0020]圖1為本發(fā)明數(shù)據(jù)存儲方法實施例的流程圖。如圖1所示,包括以下步驟11?步驟12。
[0021]步驟11:當接收到針對任一數(shù)據(jù)塊X的存儲請求時,確定數(shù)據(jù)塊X的初始存儲份數(shù),并按照所述初始存儲份數(shù)對數(shù)據(jù)塊X進行存儲。
[0022]為便于表述,用數(shù)據(jù)塊X來表示任一待存儲的數(shù)據(jù)塊。
[0023]步驟12:周期性地進行以下處理:確定數(shù)據(jù)塊X當前的重要等級,并確定所述重要等級對應的存儲份數(shù)與數(shù)據(jù)塊X當前的存儲份數(shù)是否相同,如果否,則將數(shù)據(jù)塊X當前的存儲份數(shù)調(diào)整為與所述重要等級對應的存儲份數(shù)相同;其中,重要等級越高,對應的存儲份數(shù)越大,重要等級越低,對應的存儲份數(shù)越小。
[0024]本發(fā)明所述方案中沒有原數(shù)據(jù)和備份數(shù)據(jù)之分,對于數(shù)據(jù)塊X來說,如果將其存儲3份,那么每份的地位都是平等的。
[0025]上述各步驟的執(zhí)行主體通常為數(shù)據(jù)存儲管理服務器,數(shù)據(jù)存儲管理服務器接收來自用戶設備的存儲請求,數(shù)據(jù)塊X將被存儲到數(shù)據(jù)節(jié)點上,在實際應用中,可將系統(tǒng)中的每一個存儲服務器稱為一個數(shù)據(jù)節(jié)點。
[0026]圖2為本發(fā)明用戶設備、數(shù)據(jù)存儲管理服務器和數(shù)據(jù)節(jié)點之間的連接關系示意圖,如圖2所示,數(shù)據(jù)節(jié)點的個數(shù)通常為多個,用戶設備的個數(shù)通常也為多個,為簡化附圖,圖2中只表示出了一個用戶設備。
[0027]以下結合上述具體設備,對本發(fā)明所述方案的具體實現(xiàn)進行詳細說明。
[0028]1)初始存儲
[0029]數(shù)據(jù)存儲管理服務器接收到用戶設備發(fā)送來的、針對數(shù)據(jù)塊X的存儲請求后,可根據(jù)獲取到的數(shù)據(jù)塊X的數(shù)據(jù)類型和重要程度,確定出數(shù)據(jù)塊X的初始存儲份數(shù),初始存儲份數(shù)可能為1份,也可能為多份。
[0030]數(shù)據(jù)塊X的數(shù)據(jù)類型和重要程度可由用戶設備在發(fā)送存儲請求的同時,發(fā)送給數(shù)據(jù)存儲管理服務器,重要程度可由用戶設定。
[0031]如何根據(jù)數(shù)據(jù)塊X的數(shù)據(jù)類型和重要程度來確定出數(shù)據(jù)塊X的初始存儲份數(shù)不作限制。比如,可為不同的數(shù)據(jù)類型和不同的重要程度分別賦予不同的取值,并計算兩個取值的加權平均值,作為所述初始存儲份數(shù)。
[0032]另外,數(shù)據(jù)存儲管理服務器可分別獲取系統(tǒng)中的各數(shù)據(jù)節(jié)點當前的負載情況,并按照負載從低到高的順序對各數(shù)據(jù)節(jié)點進行排序,選出排序后處于前P位的數(shù)據(jù)節(jié)點,P的取值與初始存儲份數(shù)相同,為正整數(shù)。
[0033]之后,數(shù)據(jù)存儲管理服務器可將確定出的初始存儲份數(shù)和P個數(shù)據(jù)節(jié)點通知給用戶設備,以便用戶設備分別在這P個數(shù)據(jù)節(jié)點上存儲一份數(shù)據(jù)塊X。
[0034]所述負載情況可包括:數(shù)據(jù)節(jié)點承擔的服務路數(shù)、網(wǎng)絡流量(碼流)、中央處理單元(CPU, Central Processing Unit)占用率、系統(tǒng)輸入/ 輸出(I/O, Input/Output)情況和內(nèi)存情況等,數(shù)據(jù)存儲管理服務器如何獲取各數(shù)據(jù)節(jié)點的負載情況為現(xiàn)有技術。
[0035]2)存儲份數(shù)調(diào)整
[0036]數(shù)據(jù)存儲管理服務器可周期性地進行以下處理:確定數(shù)據(jù)塊X當前的重要等級,并確定數(shù)據(jù)塊X當前的重要等級對應的存儲份數(shù)與數(shù)據(jù)塊X當前的存儲份數(shù)是否相同,如果否,則將數(shù)據(jù)塊X當前的存儲份數(shù)調(diào)整為與數(shù)據(jù)塊X當前的重要等級對應的存儲份數(shù)相同;其中,重要等級越高,對應的存儲份數(shù)越大,重要等級越低,對應的存儲份數(shù)越小。
[0037]不同的重要等級分別對應的存儲份數(shù)的具體取值可根據(jù)實際需要預先設定,本發(fā)明所述方案中不作限制,但需要遵循重要等級越高對應的存儲份數(shù)越大、重要等級越低對應的存儲份數(shù)越小的原則。
[0038]數(shù)據(jù)存儲管理服務器可根據(jù)獲取到的數(shù)據(jù)塊X的數(shù)據(jù)類型和重要程度,以及最新一個周期內(nèi)數(shù)據(jù)塊X的訪問總次數(shù),確定出數(shù)據(jù)塊X當前的重要等級。
[0039]本發(fā)明所述方案中對如何確定出數(shù)據(jù)塊X當前的重要等級不作限制,比如,可采用預定的計算公式進行計算。另外,假設數(shù)據(jù)塊X共被存儲了 3份,那么最新一個周期內(nèi)數(shù)據(jù)塊X的訪問總次數(shù)即指這3份的訪問總次數(shù)。
[0040]所述存儲份數(shù)調(diào)整可包括兩種情況,即增加存儲份數(shù)和減少存儲份數(shù),具體來說,如果數(shù)據(jù)塊X當前的存儲份數(shù)小于數(shù)據(jù)塊X當前的重要等級對應的存儲份數(shù),則需要增加數(shù)據(jù)塊X的存儲份數(shù),如果數(shù)據(jù)塊X當前的存儲份數(shù)大于數(shù)據(jù)塊X當前的重要等級對應的存儲份數(shù),則需要減少數(shù)據(jù)塊X的存儲份數(shù)。當然,如果數(shù)據(jù)塊X當前的存儲份數(shù)等于數(shù)據(jù)塊X當前的重要等級對