基于分級存儲的分布式文件系統實現方法
【專利摘要】本發明涉及一種基于分級存儲的分布式文件系統實現方法,包括以下步驟:1)對系統中的數據采用全局統一命名空間,建立無元數據服務的分布式文件系統;2)將整個分布式文件系統根據業務需要劃分為不同的邏輯分區;3)對不同的邏輯分區選用不同的存儲介質和存儲方式;4)邏輯分區間的數據實現自動遷移,并對遷移后的數據進行數據重定位。與現有技術相比,本發明具有數據訪問完全并行化、性能好、硬件成本低等優點。
【專利說明】基于分級存儲的分布式文件系統實現方法
【技術領域】
[0001]本發明涉及一種計算機存儲【技術領域】,尤其是涉及一種基于分級存儲的分布式文件系統實現方法。
【背景技術】
[0002]在過去的幾年里產生的數據量比以往四萬年的數據量還要多,大數據時代的來臨已經毋庸置疑。面對數據爆炸式增長,需要的存儲數量越來越多,并且不同的數據對存儲的性能、要求保留的時間、被訪問的頻度差異很大,當采用采用單一形式的存儲無法滿足資金、性能、場地、法律法規等的綜合要求。而傳統的采用人工方式將數據存儲到不同的存儲系統的方式在海量數據面前已很難管理,容易出錯,直接造成數據版本混亂,浪費存儲空間。采用傳統的數據備份時也恢復效率低,費時費力。總之使用傳統的方式難以確保恰當的數據永遠只保存在恰當位置。
【發明內容】
[0003]本發明的目的就是為了克服上述現有技術存在的缺陷而提供一種數據訪問完全并行化、性能好、硬件成本低的基于分級存儲的分布式文件系統實現方法,支持scale-out的橫向擴展,無元數據服務,只需少量的高速設備實現全系統提速,熱點數據自動分級管理,能夠對不同區間的邏輯分區的采用不同介質,不同存儲方式對數據進行存儲。
[0004]本發明的目的可以通過以下技術方案來實現:
[0005]一種基于分級存儲的分布式文件系統實現方法,其特征在于,包括以下步驟:
[0006]I)對系統中的數據采用全局統一命名空間,建立無元數據服務的分布式文件系統;
[0007]2)將整個分布式文件系統根據業務需要劃分為不同的邏輯分區;
[0008]3)對不同的邏輯分區選用不同的存儲介質和存儲方式;
[0009]4)邏輯分區間的數據實現自動迀移,并對迀移后的數據進行數據重定位。
[0010]所述的分布式文件系統中的各個節點關系對等,并使用彈性哈希算法定位文件。
[0011]所述的不同的邏輯分區包括高速集群邏輯分區、半活動集群邏輯分區和低速集群邏輯分區。
[0012]所述的對不同的邏輯分區選用不同的存儲介質具體為:
[0013]對高速集群邏輯分區選用大內存和固態硬盤的存儲服務器;
[0014]對半活動集群邏輯分區選用SAS接口硬盤的存儲服務器;
[0015]對低速集群邏輯分區選用SATA接口硬盤的存儲服務器。
[0016]所述的對不同的邏輯分區選用不同的存儲方式具體為:
[0017]對高速集群邏輯分區選用三副本的存儲模式;
[0018]對半活動集群邏輯分區和低速集群邏輯分區選用二副本或單副本外加軟RAID的存儲模式。
[0019]所述的邏輯分區間的數據實現自動迀移具體為:
[0020]41)數據使用信息模塊采集文件的使用頻率、文件的大小、文件所處的邏輯分區信息;
[0021]42)數據迀移管理模塊根據數據使用信息模塊采集信息和用戶設定的迀移策略,觸發對數據的迀移操作;
[0022]43)數據迀移執行模塊完成對數據的迀移。
[0023]所述的數據迀移管理模塊根據數據使用信息模塊采集信息和用戶設定的迀移策略,觸發對數據的迀移操作具體為:
[0024]①在高速集群邏輯分區中設置容量迀移閥值,當容量達到閥值時,開始啟動迀移;
[0025]②首先需要考慮數據的使用頻度,根據LRU算法準備迀移數據,其次需要考慮數據迀移的成本,迀移算法具體為:迀移值=使用頻率*權重Al-文件大小*權重BI ;
[0026]③對于半活動集群邏輯分區或低速集群邏輯分區的數據若經常被訪問,需要考慮數據回迀,數據回迀的策略值為:回迀值=文件所在區間*權重A2+上級區間所剩空間*權重B2。
[0027]所述的數據迀移執行模塊進行熱迀移,即在數據的迀移的過程應該不能中斷上層的相關業務。
[0028]所述的熱迀移具體為:
[0029]當客戶端訪問的文件正在進行從邏輯分區A到邏輯分區B的迀移時,同步過程需要經過增量的迭代,只有當兩邊文件全部相同時,才能修改邏輯分區A的原有文件的元信息,將其定位到邏輯分區B上,同時將邏輯分區A上的數據刪除已釋放相應空間。
[0030]所述的對迀移后的數據進行數據重定位具體為:
[0031](I)客戶端根據文件定位算法直接訪問原文件;
[0032](2)根據當前文件的元信息,返回重定位操作;
[0033](3)根據重定位信息訪問新的文件位置;
[0034](4)獲取相應的文件操作。
[0035]與現有技術相比,本發明具有以下優點:
[0036]I)無元數據服務的設計使得文件定位不需要查詢索引或者其他服務器,這使得數據訪問完全并行化,從而實現真正的近線性擴展。
[0037]2)分級的存儲管理,使得可以根據業務需求使用較少高速硬件設備,獲得相對較高的整體性能,大大節省硬件成本。
[0038]3)不同分區使用不同存儲方式滿足用于在各個數據生命周期的不同應用需求。
[0039]4)用戶根據業務需求制定相關迀移策略,管理數據的迀移。
[0040]5)熱點數據的自動迀移,較低用戶的使用門檻,以使得其能夠在傳統行業中推行。
【專利附圖】
【附圖說明】
[0041]圖1是無元數據服務的分布式分級存儲文件系統整體示意圖;
[0042]圖2是數據迀移期間對文件訪問示意圖;
[0043]圖3是迀移后數據訪問示意圖。
【具體實施方式】
[0044]下面結合附圖和具體實施例對本發明進行詳細說明。
[0045]本發明設計出分級存儲的分布式文件系統,本發明的技術問題通過以下技術手段予以解決:
[0046]I)建立無元數據服務的分布式文件系統,在分布式系統下的各個節點關系對等,使用彈性哈希算法定位文件。
[0047]2)將將整個分布式文件系統根據業務需要劃分為不同的邏輯子集群分區,一般可分為高速集群邏輯分區、半活動集群邏輯分區、低速集群邏輯分區。
[0048]3)在不同的邏輯分區中,選用不同的存儲介質以達到不同的性能要求,如在高速集群邏輯分區選用擁有較大內存的和固態硬盤的存儲服務器,而在半活動集群邏輯分區組要選用擁有SAS接口的硬盤的存儲服務器。在低速集群邏輯分區中主要選擇擁有SATA接口硬盤的存儲服務器。
[0049]4)在不同的邏輯分區中采用不同的存儲方式,如在高速集群邏輯分區中由于數據訪問比較頻繁,數據的高可用,高性能需求比較強烈可以使用三副本的存儲模式,這樣既能滿足高性能的要求,也能在系統出現故障時自動的進行數據修復。而在半活動集群邏輯分區或低速集群邏輯分區中由于數據訪問頻率尤其數據的修改頻率一般較低可以采用二副本或單副本外加軟RAID的方式,這樣出現故障時需要少量的人工參與,但一般出現頻率較低對故障的解決也相對容易。
[0050]5)內嵌的數據使用信息模塊完成對數據迀移觸發所需的相關信息的采集。
[0051]6)用戶可以根據業務需要設定相關的迀移參數和相關的迀移策略。數據迀移管理模塊根據相關條件觸發對數據的迀移操作。
[0052]7)數據迀移和回迀執行模塊作為數據迀移的執行者完成對數據的搬迀。
[0053]8)由于文件系統本身沒有元數據,需要對迀移后的數據通過數據的重定位以實現數據訪問。
[0054]下面將結合本發明實施例中的附圖,對本發明的技術方案進行清楚、完整地描述。此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
[0055]如圖1所示,本系統主要包括以下部分:
[0056]I)系統提供全局統一命名空間,數據具體處于何種邏輯分區對用戶透明。
[0057]2)系統采用無元數據服務的模式建立,對文件定位采用一致性哈希算法。
[0058]3)根據存儲節點的硬件配置和業務需求組建分布式存儲系統并將系統劃分為不同的邏輯分區,至少為兩個邏輯分區,在實踐中一般采用三級分層的模式可分為高速集群邏輯分區、半活動集群邏輯分區、低速集群邏輯分區。
[0059]4) 一般高速分區中使用高速介質,低速分區采用低速介質,而在不同分區主要可使用的不同的存儲方式為:①三副本分布式存儲、②二副本分布式存儲、③單副本無壓縮軟RIAD5存儲、④單副本軟RIAD5壓縮存儲、⑤高安全性控制存儲。這五種存儲方式中①為高可用高性能模塊,能夠在故障時能夠自動保證數據的高可用,②的在使用有出現腦裂無法修復風險,但對修改較少時,一般是能夠根據業務特點制定其腦裂的數據修復,③、④主要適用數據修改和使用頻率都較低的場景,能夠保證故障時有一定的錯誤緩沖期的應用場景。⑤主要針對數據安全性或法律法規的相關規定的特定存儲區。
[0060]5)內嵌的數據使用信息模塊主要采集文件的使用頻率信息,文件的大小,文件所處的邏輯分區等信息。
[0061]6)根據上述的采集信息,完成對數據觸發策略的分析,數據迀移促發策略作為系統的重要組成部分重點考慮數據迀移的效率,防止數據的頻繁回迀引起系統的性能抖動,使得盡可能多的數據訪問在高速邏輯分區中實現。具體步驟為:
[0062]①在高一級邏輯分區中設置容量迀移閥值如30%,當容量達到閥值時,開始啟動迀移。
[0063]②首先需要考慮數據的使用頻度,根據LRU算法準備迀移數據。其次需要考慮數據迀移的成本,如大文件的數據迀移的權重校高,應該盡量少的迀移。所以最終的迀移算法為:迀移值=使用頻率*權重Al-文件大小*權重BI ;
[0064]③對于低級的數據如果經常被訪問,需要考慮數據回迀,數據回迀的策略值為:回迀值=文件所在區間*權重A2+上級區間所剩空間*權重B2 ;
[0065]7)在不同的邏輯分區間可根據相關策略實現數據的熱迀移,在數據的迀移的過程應該不能中斷上層的相關業務,如圖2所示,在系統對某個文件迀移時,客戶端仍然可以訪問原有的數據文件,而當前此文件正在進行從邏輯分區A到邏輯分區B的迀移,由于數據迀移可能為耗費一段時間,所以在文件進行不同的過程中文件本身又發生修改,所以同步過程需要進過增量的迭代,只有當兩邊文件全部相同時,就可以修改邏輯分區A的原有文件的元信息,將其定位到邏輯分區B上。并將邏輯分區A上的數據刪除已釋放相應空間。經過重定位后的文件訪問過程如圖3所示:
[0066]①客戶端根據文件定位算法直接訪問原文件(邏輯分區A上文件);
[0067]②根據當前文件的元信息,返回重定位操作;
[0068]③根據重定位信息訪問新的文件位置;
[0069]④獲取相應的文件操作。
[0070]綜上所述,本發明設計的無元數據服務的分布式分級存儲文件系統能夠實現漸線性水平擴展,數據的智能分級存儲分布式存儲。
[0071]當然,本發明還可有其他多種實施例,在不背離本發明精神及其實質的情況下,熟悉本領域的技術人員當可根據本發明作出各種相應的變化,但這些相應的變化都應屬于本發明所附的權利要求的保護范圍。
【權利要求】
1.一種基于分級存儲的分布式文件系統實現方法,其特征在于,包括以下步驟: 1)對系統中的數據采用全局統一命名空間,建立無元數據服務的分布式文件系統; 2)將整個分布式文件系統根據業務需要劃分為不同的邏輯分區; 3)對不同的邏輯分區選用不同的存儲介質和存儲方式; 4)邏輯分區間的數據實現自動迀移,并對迀移后的數據進行數據重定位。
2.根據權利要求1所述的一種基于分級存儲的分布式文件系統實現方法,其特征在于,所述的分布式文件系統中的各個節點關系對等,并使用彈性哈希算法定位文件。
3.根據權利要求1所述的一種基于分級存儲的分布式文件系統實現方法,其特征在于,所述的不同的邏輯分區包括高速集群邏輯分區、半活動集群邏輯分區和低速集群邏輯分區。
4.根據權利要求3所述的一種基于分級存儲的分布式文件系統實現方法,其特征在于,所述的對不同的邏輯分區選用不同的存儲介質具體為: 對高速集群邏輯分區選用大內存和固態硬盤的存儲服務器; 對半活動集群邏輯分區選用SAS接口硬盤的存儲服務器; 對低速集群邏輯分區選用SATA接口硬盤的存儲服務器。
5.根據權利要求3所述的一種基于分級存儲的分布式文件系統實現方法,其特征在于,所述的對不同的邏輯分區選用不同的存儲方式具體為: 對高速集群邏輯分區選用三副本的存儲模式; 對半活動集群邏輯分區和低速集群邏輯分區選用二副本或單副本外加軟RAID的存儲模式。
6.根據權利要求3所述的一種基于分級存儲的分布式文件系統實現方法,其特征在于,所述的邏輯分區間的數據實現自動迀移具體為: 41)數據使用信息模塊采集文件的使用頻率、文件的大小、文件所處的邏輯分區信息; 42)數據迀移管理模塊根據數據使用信息模塊采集信息和用戶設定的迀移策略,觸發對數據的迀移操作; 43)數據迀移執行模塊完成對數據的迀移。
7.根據權利要求6所述的一種基于分級存儲的分布式文件系統實現方法,其特征在于,所述的數據迀移管理模塊根據數據使用信息模塊采集信息和用戶設定的迀移策略,觸發對數據的迀移操作具體為: ①在高速集群邏輯分區中設置容量迀移閥值,當容量達到閥值時,開始啟動迀移; ②首先需要考慮數據的使用頻度,根據LRU算法準備迀移數據,其次需要考慮數據迀移的成本,迀移算法具體為:迀移值=使用頻率*權重Al-文件大小*權重BI ; ③對于半活動集群邏輯分區或低速集群邏輯分區的數據若經常被訪問,需要考慮數據回迀,數據回迀的策略值為:回迀值=文件所在區間*權重A2+上級區間所剩空間*權重B2o
8.根據權利要求6所述的一種基于分級存儲的分布式文件系統實現方法,其特征在于,所述的數據迀移執行模塊進行熱迀移,即在數據的迀移的過程應該不能中斷上層的相關業務。
9.根據權利要求8所述的一種基于分級存儲的分布式文件系統實現方法,其特征在于,所述的熱迀移具體為: 當客戶端訪問的文件正在進行從邏輯分區A到邏輯分區B的迀移時,同步過程需要經過增量的迭代,只有當兩邊文件全部相同時,才能修改邏輯分區A的原有文件的元信息,將其定位到邏輯分區B上,同時將邏輯分區A上的數據刪除已釋放相應空間。
10.根據權利要求7所述的一種基于分級存儲的分布式文件系統實現方法,其特征在于,所述的對迀移后的數據進行數據重定位具體為: (1)客戶端根據文件定位算法直接訪問原文件; (2)根據當前文件的元信息,返回重定位操作; (3)根據重定位信息訪問新的文件位置; (4)獲取相應的文件操作。
【文檔編號】G06F17/30GK104462389SQ201410756537
【公開日】2015年3月25日 申請日期:2014年12月10日 優先權日:2014年12月10日
【發明者】雍帥 申請人:上海愛數軟件有限公司