一種數據存儲方法及系統的制作方法
【技術領域】
[0001]本發明涉及數據處理技術領域,更具體的說,涉及一種數據存儲方法及系統。
【背景技術】
[0002]隨著信息科技的進步,搜索引擎、社交網絡、電子商務、智能終端、物聯網等持續發展,數據被快速地產生和積累,導致數據規模急劇膨脹。PB(Petabyte)級別的數據成為常態。與此同時,由于數據的來源不同,采用了如文本、圖片、音頻、視頻等不同的形式,當前的數據還呈現多樣化的特征。
[0003]如此大規模的數據給存儲帶來了很大挑戰。首先在存儲時要保證大規模數據集的安全性,確保數據不會丟失;然后當前存儲大規模數據的主要目的是滿足數據訪問需求,而不是作為歸檔性存儲,要求具有良好的數據訪問性能。
[0004]這對大規模數據的存儲提出了新的要求。以往的存儲方式只能滿足小規模數據的需求,或者數據訪問性能差。現有的大規模數據集存儲方法中,僅考慮數據安全性,通過采用經典的數據副本方式來保證安全,存儲空間利用率低,訪問效率低。
【發明內容】
[0005]為解決上述問題,本發明提供了一種數據存儲方法及系統,提高了存儲空間的利用率以及訪問效率。
[0006]為實現上述目的,本發明提供如下技術方案:
[0007]—種數據存儲方法,該數據存儲方法包括:
[0008]為多個數據均對應分配多個副本;
[0009]根據所述數據的受訪問熱度調整所述數據的副本數量,受訪問熱度越大的數據,其副本容量越大。
[0010]優選的,在上述數據存儲方法中,所述為多個數據均對應分配多個副本包括:
[0011]為所有數據分配相同個數的副本。
[0012]優選的,在上述數據存儲方法中,所述根據所述數據的受訪問熱度調整所述數據的副本數量包括:
[0013]獲取所述數據對應的單位數據在多個時間段內的受訪問頻率;
[0014]為每個時間段設定對應的權重系數;
[0015]根據每個時間段對應的權重系數以及受訪問頻率計算所述數據的受訪問熱度;
[0016]根據所述受訪問熱度調整所述數據的副本數量,所述受訪問熱度越大,所述副本容量越大,且所述副本容量小于上限閾值。
[0017]優選的,在上述數據存儲方法中,所述受訪問熱度的計算方法是:
[0018]Hi =K1*F1+...+Κ j*F j+...+Kn*Fn ;
[0019]其中,j、n為正整數,且j小于n;Hi表示單位數據i的所述受訪問熱度;Kj表示第j個時間段對應的權重系數,Fj表示第j個時間段對應的訪問頻率。
[0020]優選的,在上述數據存儲方法中,還包括:調整所述訪問節點的數據分布策略,將關聯性值大的兩數據存儲在同一訪問節點。
[0021 ]優選的,在上述數據存儲方法中,所述調整所述訪問節點的數據分布策略包括:
[0022]按照數據同時受訪問的次數計算數據之間的關聯性值;
[0023]對于關聯性值達到設定關聯閾值的兩個數據,判斷二者是否位于同一訪問節點;
[0024]如果否,進行移動成本代價評價;
[0025]根據移動成本代價評價,將第一訪問節點中的第一數據移動到第二訪問節點,將所述第二訪問節點中的第三數據移動到所述第一訪問節點;其中,所述兩個數據中:移動成本代價低的一者為所述第一數據,位于所述第一訪問節點;移動成本代價高的一者為所述第二數據,位于所述第二訪問節點;所述第三數據為移動前所述第二訪問節點中移動成本代價小于所述第一數據,且與所述第二數據的關聯性值不滿足所述關聯閾值的數據。
[0026]優選的,在上述數據存儲方法中,所述關聯性值的計算方法是:
[0027]Rxy = P1 *Rxy 1+---+P i *Rxy i+...+Pn*Rxy η ;
[0028]其中,1、n為正整數,且j小于η; Rxy表示數據χ與數據y的關聯性值;Rxyi表示數據x和數據y之間的在時間段i內的關聯次數;Pi表示第i個時間段的權重系數。
[0029 ]本發明還提供了一種數據存儲系統,該數據存儲系統包括:
[0030]分配模塊,所述分配模塊用于為多個數據均對應分配多個副本;
[0031]副本調整模塊,所述副本調整模塊用于根據所述數據的受訪問熱度調整所述數據的副本數量,受訪問熱度越大的數據,其副本容量越大。
[0032]優選的,在上述數據存儲系統中,所述副本調整模塊包括:
[0033]獲取單元,所述獲取單元用于獲取所述數據對應的單位數據在多個時間段內的受訪問頻率;
[0034]設定單元,所述設定單元用于為每個時間段設定對應的權重系數;
[0035]計算單元,所述計算單元用于根據每個時間段對應的權重系數以及受訪問頻率計算所述數據的受訪問熱度;
[0036]調整單元,所述調整單元用于根據所述受訪問熱度調整所述數據的副本數量,所述受訪問熱度越大,所述副本容量越大,且所述副本容量小于上限閾值。
[0037]優選的,在上述數據存儲系統中,還包括:數據分布調整模塊,所述數據分布調整模塊用于調整所述訪問節點的數據分布策略,將關聯性值大的兩數據存儲在同一訪問節點。
[0038]通過上述描述可知,本發明提供的數據存儲方法包括:為多個數據均對應分配多個副本;根據所述數據的受訪問熱度調整所述數據的副本數量,增大受訪問熱度高的數據的副本數量,減少受訪問熱度低的數據的副本數量。所述數據存儲方法為每個數據設置多個副本數量,保證了數據存儲的安全性,同時,每個數據副本的數量會根據數據的受訪問熱度進行調整,增大受訪問熱度高的數據的副本數量,減少受訪問熱度低的數據的副本數量,提高了存儲空間的利用率以及訪問效率。
【附圖說明】
[0039]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
[0040]圖1為本申請實施例提供的一種數據存儲方法的流程示意圖;
[0041 ]圖2為本申請實施例提供一種調整所述數據的副本數量的方法流程示意圖;
[0042]圖3為本申請實施例提供的一種數據分布策略調整方法的流程示意圖;
[0043]圖4為本申請實施例提供的一種數據存儲系統的結構示意圖;
[0044]圖5為本申請實施例提供的一種副本調整模塊的結構示意圖。
【具體實施方式】
[0045]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0046]傳統的數據存儲方法只考慮數據安全的需求,而沒有考慮數據訪問需求。這樣導致只是簡單地設置數據副本及數據分布策略。如典型的如GFS(Google File System)中將所有數據的副本默認設置為3份,然后分布在不同的機架上來獲得較好的數據安全性。但這種設置沒有考慮數據訪問需求,導