本發(fā)明涉及分布式文件系統(tǒng)存儲(chǔ)的領(lǐng)域,尤其涉及一種分布式文件系統(tǒng)分層存儲(chǔ)方法及系統(tǒng)。
背景技術(shù):
目前,各種應(yīng)用產(chǎn)生的數(shù)據(jù)成指數(shù)型、爆發(fā)式增長,產(chǎn)生的這些數(shù)據(jù)需要在分布式文件系統(tǒng)中進(jìn)行存儲(chǔ)。對(duì)于不同訪問頻次的數(shù)據(jù),對(duì)存儲(chǔ)硬盤的要求也不同,對(duì)于訪問頻次較高的熱數(shù)據(jù)需要iops較高的磁盤,例如ssd(英文全稱:solidstatedisk,中文全稱:固態(tài)硬盤)、轉(zhuǎn)速較高的sas(英文全稱:serialattachedscsi,中文全稱:串行連接scsi)盤或者閃存,而對(duì)于訪問頻次較低的冷數(shù)據(jù)可以用普通硬盤或者磁帶庫進(jìn)行存儲(chǔ)。
但是,現(xiàn)有技術(shù)中,無法根據(jù)數(shù)據(jù)的熱度,智能化的存儲(chǔ)到相應(yīng)的磁盤中。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例提供了一種分布式文件系統(tǒng)分層存儲(chǔ)方法及系統(tǒng),解決了現(xiàn)有技術(shù)中,無法根據(jù)存儲(chǔ)數(shù)據(jù)的不同訪問量,智能化的存儲(chǔ)到相應(yīng)的磁盤中,并且控制了磁盤的使用成本。
本發(fā)明實(shí)施例提供的一種分布式文件系統(tǒng)分層存儲(chǔ)方法,所述方法包括:
當(dāng)接收到待存儲(chǔ)的數(shù)據(jù)時(shí),將所述待存儲(chǔ)的數(shù)據(jù)存儲(chǔ)到第一層存儲(chǔ)目錄下的熱數(shù)據(jù)存儲(chǔ)磁盤中;
周期性的檢測(cè)存儲(chǔ)在所述熱數(shù)據(jù)存儲(chǔ)磁盤中的第一存儲(chǔ)數(shù)據(jù)的訪問次數(shù);
當(dāng)所述第一存儲(chǔ)數(shù)據(jù)的訪問次數(shù)小于預(yù)設(shè)的第一熱度閾值時(shí),將所述第一存儲(chǔ)數(shù)據(jù)遷移到第二層存儲(chǔ)目錄下的冷數(shù)據(jù)存儲(chǔ)磁盤中。
可選的,還包括:
建立第一層存儲(chǔ)目錄和第二層存儲(chǔ)目錄;
將所述第一層存儲(chǔ)目錄綁定熱數(shù)據(jù)存儲(chǔ)磁盤;其中,所述熱數(shù)據(jù)存儲(chǔ)磁盤包括:ssd固態(tài)硬盤、sas盤或者閃存;
將所述第二層存儲(chǔ)目錄綁定冷數(shù)據(jù)存儲(chǔ)磁盤;其中,述冷數(shù)據(jù)存儲(chǔ)磁盤包括:普通硬盤。
可選的,還包括:
當(dāng)所述冷數(shù)據(jù)存儲(chǔ)磁盤中存儲(chǔ)的數(shù)據(jù)所占的內(nèi)存占所述冷數(shù)據(jù)存儲(chǔ)磁盤存儲(chǔ)容量的比例超過了預(yù)設(shè)的比例閾值時(shí),確定所述冷數(shù)據(jù)存儲(chǔ)磁盤中滿足預(yù)設(shè)規(guī)則的第二存儲(chǔ)數(shù)據(jù);
將所述第二存儲(chǔ)數(shù)據(jù)在第三層存儲(chǔ)目錄下的備份磁盤中備份;
刪除所述冷數(shù)據(jù)存儲(chǔ)磁盤中的第二存儲(chǔ)數(shù)據(jù)。
可選的,所述確定所述冷數(shù)據(jù)存儲(chǔ)磁盤中滿足預(yù)設(shè)規(guī)則的第二存儲(chǔ)數(shù)據(jù),包括:
檢測(cè)存儲(chǔ)在所述冷數(shù)據(jù)存儲(chǔ)磁盤中的存儲(chǔ)數(shù)據(jù)的訪問次數(shù);
將在預(yù)設(shè)的時(shí)間段內(nèi)訪問次數(shù)均為零的所述存儲(chǔ)數(shù)據(jù)確定為第二存儲(chǔ)數(shù)據(jù);
或者,
判斷存儲(chǔ)在所述冷數(shù)據(jù)存儲(chǔ)磁盤中的存儲(chǔ)數(shù)據(jù)是否超過了預(yù)設(shè)時(shí)間的存儲(chǔ)數(shù)據(jù);
將超過了預(yù)設(shè)時(shí)間的存儲(chǔ)數(shù)據(jù)確定為第二存儲(chǔ)數(shù)據(jù)。
可選的,還包括:
周期性的檢測(cè)存儲(chǔ)在冷數(shù)據(jù)存儲(chǔ)磁盤中的第三存儲(chǔ)數(shù)據(jù)的訪問次數(shù);
當(dāng)所述第三存儲(chǔ)數(shù)據(jù)的訪問次數(shù)大于預(yù)設(shè)的第二熱度閾值時(shí),將所述第三存儲(chǔ)數(shù)據(jù)遷移到第一層存儲(chǔ)目錄下的熱數(shù)據(jù)存儲(chǔ)磁盤中。
本發(fā)明實(shí)施例還提供了一種分布式文件系統(tǒng)分層存儲(chǔ)系統(tǒng),所述系統(tǒng)包括:第一存儲(chǔ)單元,用于當(dāng)接收到待存儲(chǔ)的數(shù)據(jù)時(shí),將所述待存儲(chǔ)的數(shù)據(jù)存儲(chǔ)到第一層存儲(chǔ)目錄下的熱數(shù)據(jù)存儲(chǔ)磁盤中;
第一檢測(cè)單元,用于周期性的檢測(cè)存儲(chǔ)在所述熱數(shù)據(jù)存儲(chǔ)磁盤中的第一存儲(chǔ)數(shù)據(jù)的訪問次數(shù);
第一遷移單元,用于當(dāng)所述第一存儲(chǔ)數(shù)據(jù)的訪問次數(shù)小于預(yù)設(shè)的第一熱度閾值時(shí),將所述第一存儲(chǔ)數(shù)據(jù)遷移到第二層存儲(chǔ)目錄下的冷數(shù)據(jù)存儲(chǔ)磁盤中。
可選的,所述系統(tǒng)還可以包括:
建立單元,用于建立第一層存儲(chǔ)目錄和第二層存儲(chǔ)目錄;
第一綁定單元,用于將所述第一層存儲(chǔ)目錄綁定熱數(shù)據(jù)存儲(chǔ)磁盤;其中,所述熱數(shù)據(jù)存儲(chǔ)磁盤包括:ssd固態(tài)硬盤、sas盤或者閃存;
第二綁定單元,用于將所述第二層存儲(chǔ)目錄綁定冷數(shù)據(jù)存儲(chǔ)磁盤;其中,述冷數(shù)據(jù)存儲(chǔ)磁盤包括:普通硬盤。
可選的,所述系統(tǒng)還可以包括:
確定單元,用于當(dāng)所述冷數(shù)據(jù)存儲(chǔ)磁盤中存儲(chǔ)的數(shù)據(jù)所占的內(nèi)存占所述冷數(shù)據(jù)存儲(chǔ)磁盤存儲(chǔ)容量的比例超過了預(yù)設(shè)的比例閾值時(shí),確定所述冷數(shù)據(jù)存儲(chǔ)磁盤中滿足預(yù)設(shè)規(guī)則的第二存儲(chǔ)數(shù)據(jù);
備份單元,用于將所述第二存儲(chǔ)數(shù)據(jù)在第三層存儲(chǔ)目錄下的備份磁盤中備份;
刪除單元,用于刪除所述冷數(shù)據(jù)存儲(chǔ)磁盤中的第二存儲(chǔ)數(shù)據(jù)。
可選的,所述確定單元,包括:
檢測(cè)子單元,用于檢測(cè)存儲(chǔ)在所述冷數(shù)據(jù)存儲(chǔ)磁盤中的存儲(chǔ)數(shù)據(jù)的訪問次數(shù);
第一確定子單元,用于將在預(yù)設(shè)的時(shí)間段內(nèi)訪問次數(shù)均為零的所述存儲(chǔ)數(shù)據(jù)確定為第二存儲(chǔ)數(shù)據(jù);
或者,
判斷子單元,用于判斷存儲(chǔ)在所述冷數(shù)據(jù)存儲(chǔ)磁盤中的存儲(chǔ)數(shù)據(jù)是否超過了預(yù)設(shè)時(shí)間的存儲(chǔ)數(shù)據(jù);
第二確定子單元,用于將超過了預(yù)設(shè)時(shí)間的存儲(chǔ)數(shù)據(jù)確定為第二存儲(chǔ)數(shù)據(jù)。
可選的,所述系統(tǒng)還可以包括:
第二檢測(cè)單元,用于周期性的檢測(cè)存儲(chǔ)在冷數(shù)據(jù)存儲(chǔ)磁盤中的第三存儲(chǔ)數(shù)據(jù)的訪問次數(shù);
第二遷移單元,用于當(dāng)所述第三存儲(chǔ)數(shù)據(jù)的訪問次數(shù)大于預(yù)設(shè)的第二熱度閾值時(shí),將所述第三存儲(chǔ)數(shù)據(jù)遷移到第一層存儲(chǔ)目錄下的熱數(shù)據(jù)存儲(chǔ)磁盤中。
本實(shí)施例中,當(dāng)接收到待存儲(chǔ)的數(shù)據(jù)時(shí),將所述待存儲(chǔ)的數(shù)據(jù)存儲(chǔ)到第一層存儲(chǔ)目錄下的熱數(shù)據(jù)存儲(chǔ)磁盤中;周期性的檢測(cè)存儲(chǔ)在所述熱數(shù)據(jù)存儲(chǔ)磁盤中的第一存儲(chǔ)數(shù)據(jù)的訪問次數(shù);當(dāng)所述第一存儲(chǔ)數(shù)據(jù)的訪問次數(shù)小于預(yù)設(shè)的第一熱度閾值時(shí),將所述第一存儲(chǔ)數(shù)據(jù)遷移到第二層存儲(chǔ)目錄下的冷數(shù)據(jù)存儲(chǔ)磁盤中。通過本實(shí)施例的方法,將不同訪問量的數(shù)據(jù)分層存儲(chǔ),不僅控制了磁盤的使用成本,而且簡化了分布式文件系統(tǒng)數(shù)據(jù)存儲(chǔ)的流程。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1示出了本發(fā)明實(shí)施例提供的一種分布式文件系統(tǒng)分層存儲(chǔ)方法的流程示意圖;
圖2示出了本發(fā)明實(shí)施例提供的一種分布式文件系統(tǒng)分層存儲(chǔ)方法的流程示意圖;
圖3示出了本發(fā)明實(shí)施例提供的一種分布式文件系統(tǒng)分層存儲(chǔ)方法的流程示意圖;
圖4示出了本發(fā)明實(shí)施例提供的一種分布式文件系統(tǒng)分層存儲(chǔ)邏輯的示意圖;
圖5示出了本發(fā)明實(shí)施例提供的一種分布式文件系統(tǒng)分層系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
參考圖1,示出了本發(fā)明實(shí)施例提供的一種分布式文件系統(tǒng)分層存儲(chǔ)方法的流程示意圖,在本實(shí)施例中,所述方法可以包括以下步驟中的s101~s103:
s101:當(dāng)接收到待存儲(chǔ)的數(shù)據(jù)時(shí),將所述待存儲(chǔ)的數(shù)據(jù)存儲(chǔ)到第一層存儲(chǔ)目錄下的熱數(shù)據(jù)存儲(chǔ)磁盤中;
本實(shí)施例中,在s101之前還可以包括以下步驟中的s201~s203:
s201:建立第一層存儲(chǔ)目錄和第二層存儲(chǔ)目錄;
s202:將所述第一層存儲(chǔ)目錄綁定熱數(shù)據(jù)存儲(chǔ)磁盤;其中,所述熱數(shù)據(jù)存儲(chǔ)磁盤包括:ssd固態(tài)硬盤、sas盤或者閃存;
s203:將所述第二層存儲(chǔ)目錄綁定冷數(shù)據(jù)存儲(chǔ)磁盤;其中,所述冷數(shù)據(jù)存儲(chǔ)磁盤包括:普通硬盤。
本實(shí)施例中,第一層存儲(chǔ)目錄下的熱數(shù)據(jù)存儲(chǔ)磁盤可以理解為存儲(chǔ)熱度值較高的數(shù)據(jù),也可以理解為存儲(chǔ)訪問次數(shù)較高的數(shù)據(jù)。第二層存儲(chǔ)目錄下的冷數(shù)據(jù)存儲(chǔ)磁盤可以理解為存儲(chǔ)熱度值較低的數(shù)據(jù),也可以理解為存儲(chǔ)訪問次數(shù)較低或者為零的數(shù)據(jù)。其中,第一層存儲(chǔ)目錄還可以表示為hotdir目錄,第二層存儲(chǔ)目錄還可以表示為colddir目錄。
本實(shí)施例中,對(duì)于熱數(shù)據(jù)存儲(chǔ)磁盤可以是iops較高的磁盤,例如可以包括:ssd、轉(zhuǎn)速較高的sas盤、閃存等;冷數(shù)據(jù)存儲(chǔ)磁盤可以包括:普通磁盤,例如可以包括:機(jī)械硬盤。
本實(shí)施例中,第一層存儲(chǔ)目錄和第二層存儲(chǔ)目錄相當(dāng)于元數(shù)據(jù)保存的兩個(gè)數(shù)據(jù)結(jié)構(gòu),第一層存儲(chǔ)目錄和熱數(shù)據(jù)存儲(chǔ)磁盤綁定以及第二層存儲(chǔ)目錄和冷數(shù)據(jù)存儲(chǔ)磁盤綁定后,存儲(chǔ)到第一存儲(chǔ)目錄或第二存儲(chǔ)目錄下的數(shù)據(jù),實(shí)際上,相當(dāng)于將這些數(shù)據(jù)存儲(chǔ)在熱數(shù)據(jù)存儲(chǔ)磁盤中或者冷數(shù)據(jù)存儲(chǔ)磁盤中。
本實(shí)施例中,第一次存入到分布式文件系統(tǒng)中的數(shù)據(jù)可以為熱度值較高的數(shù)據(jù),這些數(shù)據(jù)需要存儲(chǔ)到第一層存儲(chǔ)目錄下的熱數(shù)據(jù)存儲(chǔ)磁盤中。
s102:周期性的檢測(cè)存儲(chǔ)在所述熱數(shù)據(jù)存儲(chǔ)磁盤中的第一存儲(chǔ)數(shù)據(jù)的訪問次數(shù);
本實(shí)施例中,第一存儲(chǔ)數(shù)據(jù)可以表示熱數(shù)據(jù)存儲(chǔ)磁盤中的任何一個(gè)數(shù)據(jù)。
本實(shí)施例中,可以周期性的檢測(cè)一個(gè)周期時(shí)間段內(nèi)第一存儲(chǔ)數(shù)據(jù)的訪問次數(shù),也就是檢測(cè)任何一個(gè)存儲(chǔ)數(shù)據(jù)的訪問次數(shù)。
具體的,s102還可以包括:實(shí)時(shí)的檢測(cè)單位時(shí)間內(nèi)第一存儲(chǔ)數(shù)據(jù)的訪問次數(shù),然后再周期性的統(tǒng)計(jì)一個(gè)周期時(shí)間段內(nèi)的訪問次數(shù)。
s103:當(dāng)所述第一存儲(chǔ)數(shù)據(jù)的訪問次數(shù)小于預(yù)設(shè)的第一熱度閾值時(shí),將所述第一存儲(chǔ)數(shù)據(jù)遷移到第二層存儲(chǔ)目錄下的冷數(shù)據(jù)存儲(chǔ)磁盤中。
本實(shí)施例中,第一熱度閾值可以是技術(shù)人員根據(jù)經(jīng)驗(yàn)設(shè)定的。當(dāng)?shù)谝淮鎯?chǔ)數(shù)據(jù)的訪問次數(shù)較低或者為零的時(shí)候,將第一存儲(chǔ)數(shù)據(jù)從熱數(shù)據(jù)存儲(chǔ)磁盤中遷移到第二層存儲(chǔ)目錄下的冷數(shù)據(jù)存儲(chǔ)磁盤中。本實(shí)施例中,當(dāng)?shù)谝淮鎯?chǔ)數(shù)據(jù)的訪問次數(shù),大于等于預(yù)設(shè)的第一熱度閾值時(shí),不移動(dòng)第一存儲(chǔ)數(shù)據(jù)。
本實(shí)施例中,當(dāng)存儲(chǔ)數(shù)據(jù)遷移到第二層存儲(chǔ)目錄下的冷數(shù)據(jù)存儲(chǔ)磁盤中時(shí),由于冷數(shù)據(jù)存儲(chǔ)磁盤的存儲(chǔ)容量有限,當(dāng)冷數(shù)據(jù)存儲(chǔ)磁盤中存儲(chǔ)了較多的存儲(chǔ)數(shù)據(jù)后,若不及時(shí)清理,會(huì)影響后續(xù)存儲(chǔ)數(shù)據(jù)從熱數(shù)據(jù)存儲(chǔ)磁盤向冷數(shù)據(jù)存儲(chǔ)磁盤的數(shù)據(jù)遷移,因此,還可以包括:以下步驟中的s301~s303:
s301:當(dāng)所述冷數(shù)據(jù)存儲(chǔ)磁盤中存儲(chǔ)的數(shù)據(jù)所占的內(nèi)存占所述冷數(shù)據(jù)存儲(chǔ)磁盤存儲(chǔ)容量的比例超過了預(yù)設(shè)的比例閾值時(shí),確定所述冷數(shù)據(jù)存儲(chǔ)磁盤中滿足預(yù)設(shè)規(guī)則的第二存儲(chǔ)數(shù)據(jù);
s302:將所述第二存儲(chǔ)數(shù)據(jù)在第三層存儲(chǔ)目錄下的備份磁盤中備份;
s303:刪除所述冷數(shù)據(jù)存儲(chǔ)磁盤中的第二存儲(chǔ)數(shù)據(jù)。
本實(shí)施例中,對(duì)于預(yù)設(shè)的規(guī)則可以包括多個(gè),例如可以根據(jù)存儲(chǔ)數(shù)據(jù)的訪問次數(shù)也可以根據(jù)存儲(chǔ)數(shù)據(jù)的存儲(chǔ)時(shí)間確定,具體的,s301可以包括以下的兩個(gè)方面:
第一方面:檢測(cè)存儲(chǔ)在所述冷數(shù)據(jù)存儲(chǔ)磁盤中的存儲(chǔ)數(shù)據(jù)的訪問次數(shù);
將在預(yù)設(shè)的時(shí)間段內(nèi)訪問次數(shù)均為零的所述存儲(chǔ)數(shù)據(jù)作為第二存儲(chǔ)數(shù)據(jù);
或者,
第二方面:判斷存儲(chǔ)在所述冷數(shù)據(jù)存儲(chǔ)磁盤中的存儲(chǔ)數(shù)據(jù)中是否包括超過了預(yù)設(shè)時(shí)間的存儲(chǔ)數(shù)據(jù);
將超過了預(yù)設(shè)時(shí)間的存儲(chǔ)數(shù)據(jù)作為第二存儲(chǔ)數(shù)據(jù)。
舉例說明:
針對(duì)于第一方面:假設(shè)冷數(shù)據(jù)存儲(chǔ)磁盤中存儲(chǔ)的數(shù)據(jù)占該冷數(shù)據(jù)存儲(chǔ)磁盤存儲(chǔ)容量的80%,檢測(cè)存儲(chǔ)在冷數(shù)據(jù)存儲(chǔ)磁盤中存儲(chǔ)數(shù)據(jù)的訪問次數(shù),若檢測(cè)到在一段時(shí)間內(nèi)(例如可以為:半個(gè)月或者一個(gè)月)內(nèi)訪問次數(shù)均為零,則將這些數(shù)據(jù)備份到第三層存儲(chǔ)目錄下的備份磁盤中,并在冷數(shù)據(jù)存儲(chǔ)磁盤中刪除這些數(shù)據(jù)。
針對(duì)于第二方面:假設(shè)冷數(shù)據(jù)存儲(chǔ)磁盤中存儲(chǔ)的數(shù)據(jù)占該冷數(shù)據(jù)存儲(chǔ)磁盤存儲(chǔ)容量的80%,可以將2個(gè)月前保存的存儲(chǔ)數(shù)據(jù),備份到第三層存儲(chǔ)磁盤下的備份磁盤中,并在冷數(shù)據(jù)存儲(chǔ)磁盤中刪除這些數(shù)據(jù)。
本實(shí)施例中,對(duì)于第三層存儲(chǔ)磁盤中的備份磁盤可以為磁帶庫等其它成本較低的存儲(chǔ)磁盤。
本實(shí)施例中,對(duì)于存儲(chǔ)在第二層存儲(chǔ)目錄下的存儲(chǔ)數(shù)據(jù),還可以因?yàn)樵L問量的增加,從第二層目錄中的冷數(shù)據(jù)存儲(chǔ)磁盤中遷移到第一目錄下的熱數(shù)據(jù)存儲(chǔ)磁盤中,具體的,還可以包括:
周期性的檢測(cè)存儲(chǔ)在冷數(shù)據(jù)存儲(chǔ)磁盤中的第三存儲(chǔ)數(shù)據(jù)的訪問次數(shù);
當(dāng)所述第三存儲(chǔ)數(shù)據(jù)的訪問次數(shù)大于預(yù)設(shè)的第二熱度閾值時(shí),將所述第三存儲(chǔ)數(shù)據(jù)遷移到第一層存儲(chǔ)目錄下的熱數(shù)據(jù)存儲(chǔ)磁盤中。
本實(shí)施例中,第三存儲(chǔ)數(shù)據(jù)可以是存儲(chǔ)在冷數(shù)據(jù)存儲(chǔ)磁盤中的任何一個(gè)數(shù)據(jù)。
本實(shí)施例中,當(dāng)接收到待存儲(chǔ)的數(shù)據(jù)時(shí),將所述待存儲(chǔ)的數(shù)據(jù)存儲(chǔ)到第一層存儲(chǔ)目錄下的熱數(shù)據(jù)存儲(chǔ)磁盤中;周期性的檢測(cè)存儲(chǔ)在所述熱數(shù)據(jù)存儲(chǔ)磁盤中的第一存儲(chǔ)數(shù)據(jù)的訪問次數(shù);當(dāng)所述第一存儲(chǔ)數(shù)據(jù)的訪問次數(shù)小于預(yù)設(shè)的第一熱度閾值時(shí),將所述第一存儲(chǔ)數(shù)據(jù)遷移到第二層存儲(chǔ)目錄下的冷數(shù)據(jù)存儲(chǔ)磁盤中。通過本實(shí)施例的方法,將不同訪問量的數(shù)據(jù)分層存儲(chǔ),不僅控制了磁盤的使用成本,而且簡化了分布式文件系統(tǒng)數(shù)據(jù)存儲(chǔ)的流程。
參考圖4,示出了本發(fā)明實(shí)施例提供的一種分布式文件系統(tǒng)分層存儲(chǔ)邏輯的示意圖;
如圖所示:在分布式文件系統(tǒng)中建立hotdir目錄和colddir目錄,其中,將hotdir目錄與ssd綁定;將colddir目錄與普通硬盤綁定;并將磁帶庫與該分布式文件系統(tǒng)相連接。當(dāng)客戶端中產(chǎn)生待存儲(chǔ)的數(shù)據(jù)時(shí),先將該待存儲(chǔ)的數(shù)據(jù)存儲(chǔ)在hotdir目錄下的ssd盤中。周期性的檢測(cè)ssd盤存儲(chǔ)的第一存儲(chǔ)數(shù)據(jù)的訪問次數(shù),當(dāng)?shù)谝淮鎯?chǔ)數(shù)據(jù)的訪問次數(shù)小于預(yù)設(shè)的第一熱度閾值時(shí),將所述第一存儲(chǔ)數(shù)據(jù)遷移到colddir目錄下的普通硬盤中。若是colddir目錄下的普通硬盤中存儲(chǔ)的數(shù)據(jù)的內(nèi)存占普通硬盤存儲(chǔ)容量的比例超過了預(yù)設(shè)的比例閾值時(shí),可以將一段時(shí)間內(nèi)訪問量一直為零的數(shù)據(jù)在磁帶庫中備份,并刪除普通硬盤中的一段時(shí)間內(nèi)訪問量一直為零的數(shù)據(jù);或者,還可以將存儲(chǔ)了較長一段時(shí)間的數(shù)據(jù)在磁帶庫中備份,并刪除普通硬盤中這些存儲(chǔ)了較長一段時(shí)間的數(shù)據(jù)。
其中,對(duì)于偶爾產(chǎn)生的數(shù)據(jù)也可以直接存儲(chǔ)在colddir目錄下的普通硬盤中。
本實(shí)施例中,將不同訪問量的數(shù)據(jù)分層存儲(chǔ),不僅控制了磁盤的使用成本,而且簡化了分布式文件系統(tǒng)數(shù)據(jù)存儲(chǔ)的流程。
參考圖5,示出了本發(fā)明實(shí)施例提供的一種分布式文件系統(tǒng)分層系統(tǒng)的結(jié)構(gòu)示意圖,在本實(shí)施例中,所述系統(tǒng)包括:
第一存儲(chǔ)單元501,用于當(dāng)接收到待存儲(chǔ)的數(shù)據(jù)時(shí),將所述待存儲(chǔ)的數(shù)據(jù)存儲(chǔ)到第一層存儲(chǔ)目錄下的熱數(shù)據(jù)存儲(chǔ)磁盤中;
第一檢測(cè)單元502,用于周期性的檢測(cè)存儲(chǔ)在所述熱數(shù)據(jù)存儲(chǔ)磁盤中的第一存儲(chǔ)數(shù)據(jù)的訪問次數(shù);
第一遷移單元503,用于當(dāng)所述第一存儲(chǔ)數(shù)據(jù)的訪問次數(shù)小于預(yù)設(shè)的第一熱度閾值時(shí),將所述第一存儲(chǔ)數(shù)據(jù)遷移到第二層存儲(chǔ)目錄下的冷數(shù)據(jù)存儲(chǔ)磁盤中。
可選的,所述系統(tǒng)還可以包括:
建立單元,用于建立第一層存儲(chǔ)目錄和第二層存儲(chǔ)目錄;
第一綁定單元,用于將所述第一層存儲(chǔ)目錄綁定熱數(shù)據(jù)存儲(chǔ)磁盤;其中,所述熱數(shù)據(jù)存儲(chǔ)磁盤包括:ssd固態(tài)硬盤、sas盤或者閃存;
第二綁定單元,用于將所述第二層存儲(chǔ)目錄綁定冷數(shù)據(jù)存儲(chǔ)磁盤;其中,述冷數(shù)據(jù)存儲(chǔ)磁盤包括:普通硬盤。
可選的,所述系統(tǒng)還可以包括:
確定單元,用于當(dāng)所述冷數(shù)據(jù)存儲(chǔ)磁盤中存儲(chǔ)的數(shù)據(jù)所占的內(nèi)存占所述冷數(shù)據(jù)存儲(chǔ)磁盤存儲(chǔ)容量的比例超過了預(yù)設(shè)的比例閾值時(shí),確定所述冷數(shù)據(jù)存儲(chǔ)磁盤中滿足預(yù)設(shè)規(guī)則的第二存儲(chǔ)數(shù)據(jù);
備份單元,用于將所述第二存儲(chǔ)數(shù)據(jù)在第三層存儲(chǔ)目錄下的備份磁盤中備份;
刪除單元,用于刪除所述冷數(shù)據(jù)存儲(chǔ)磁盤中的第二存儲(chǔ)數(shù)據(jù)。
可選的,所述確定單元,包括:
檢測(cè)子單元,用于檢測(cè)存儲(chǔ)在所述冷數(shù)據(jù)存儲(chǔ)磁盤中的存儲(chǔ)數(shù)據(jù)的訪問次數(shù);
第一確定子單元,用于將在預(yù)設(shè)的時(shí)間段內(nèi)訪問次數(shù)均為零的所述存儲(chǔ)數(shù)據(jù)確定為第二存儲(chǔ)數(shù)據(jù);
或者,
判斷子單元,用于判斷存儲(chǔ)在所述冷數(shù)據(jù)存儲(chǔ)磁盤中的存儲(chǔ)數(shù)據(jù)是否超過了預(yù)設(shè)時(shí)間的存儲(chǔ)數(shù)據(jù);
第二確定子單元,用于將超過了預(yù)設(shè)時(shí)間的存儲(chǔ)數(shù)據(jù)確定為第二存儲(chǔ)數(shù)據(jù)。
可選的,所述系統(tǒng)還可以包括:
第二檢測(cè)單元,用于周期性的檢測(cè)存儲(chǔ)在冷數(shù)據(jù)存儲(chǔ)磁盤中的第三存儲(chǔ)數(shù)據(jù)的訪問次數(shù);
第二遷移單元,用于當(dāng)所述第三存儲(chǔ)數(shù)據(jù)的訪問次數(shù)大于預(yù)設(shè)的第二熱度閾值時(shí),將所述第三存儲(chǔ)數(shù)據(jù)遷移到第一層存儲(chǔ)目錄下的熱數(shù)據(jù)存儲(chǔ)磁盤中。
本實(shí)施例中,當(dāng)接收到待存儲(chǔ)的數(shù)據(jù)時(shí),將所述待存儲(chǔ)的數(shù)據(jù)存儲(chǔ)到第一層存儲(chǔ)目錄下的熱數(shù)據(jù)存儲(chǔ)磁盤中;周期性的檢測(cè)存儲(chǔ)在所述熱數(shù)據(jù)存儲(chǔ)磁盤中的第一存儲(chǔ)數(shù)據(jù)的訪問次數(shù);當(dāng)所述第一存儲(chǔ)數(shù)據(jù)的訪問次數(shù)小于預(yù)設(shè)的第一熱度閾值時(shí),將所述第一存儲(chǔ)數(shù)據(jù)遷移到第二層存儲(chǔ)目錄下的冷數(shù)據(jù)存儲(chǔ)磁盤中。通過本實(shí)施例的系統(tǒng),將不同訪問量的數(shù)據(jù)分層存儲(chǔ),不僅控制了磁盤的使用成本,而且簡化了分布式文件系統(tǒng)數(shù)據(jù)存儲(chǔ)的流程。
需要說明的是,本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。
對(duì)所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。