一種基于hadoop異構(gòu)存儲的數(shù)據(jù)存儲方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及分布式架構(gòu)領(lǐng)域,特別涉及一種基于hadoop異構(gòu)存儲的數(shù)據(jù)存儲方法及系統(tǒng)。
【背景技術(shù)】
[0002]Hadoop是一個分布式系統(tǒng)基礎(chǔ)架構(gòu),用戶可以在不了解分布式底層細(xì)節(jié)的情況下,開發(fā)分布式程序,充分利用集群的威力高速運算和存儲。Hadoop實現(xiàn)了一個分布式文件系統(tǒng)(Hadoop Distributed File System),簡稱HDFS,HDFS有著高容錯性的特點,并且設(shè)計用來部署在低廉的(low-cost)硬件上。Hadoop以并行的方式工作,通過并行處理加快處理速度,能夠處理PB級數(shù)據(jù)。但現(xiàn)有的hadoop集群一般都是采用單一的機(jī)械硬盤作存儲,沒有按使用頻率區(qū)分?jǐn)?shù)據(jù)的級別,在使用過程中經(jīng)常因磁盤I/O瓶頸影響效率。
[0003]因而現(xiàn)有技術(shù)還有待改進(jìn)和提高。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的不足,提供一種基于hadoop異構(gòu)存儲的數(shù)據(jù)存儲方法及系統(tǒng),其能夠解決現(xiàn)有采用單一的機(jī)械硬盤作存儲,沒有按使用頻率區(qū)分?jǐn)?shù)據(jù)的級別,在使用過程中經(jīng)常因磁盤1/0瓶頸影響效率的問題。
[0005]為了解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案如下:
一種基于hadoop異構(gòu)存儲的數(shù)據(jù)存儲方法,其包括:
A、獲取設(shè)置于hadoop集群的數(shù)據(jù)節(jié)點上的存儲硬盤中的數(shù)據(jù)在一段時間內(nèi)的被訪問頻率;
B、根據(jù)所述被訪問頻率,查找預(yù)先設(shè)置與所述被訪問頻率對應(yīng)的數(shù)據(jù)存儲硬盤,確定為所述被訪問頻率數(shù)據(jù)的存儲硬盤;
C、根據(jù)所述被訪問頻率數(shù)據(jù)的存儲硬盤,將所述數(shù)據(jù)迀移至所述存儲硬盤。
[0006]所述基于hadoop異構(gòu)存儲的數(shù)據(jù)存儲方法,其還包括,預(yù)先設(shè)置用于確定被訪問頻率與存儲硬盤對應(yīng)關(guān)系的閾值、以及被訪問頻率與存儲硬盤的對應(yīng)關(guān)系;所述關(guān)系為:
被訪問頻率小于第一閾值,數(shù)據(jù)存儲于低速機(jī)械硬盤,
第一閾值小于被訪問頻率,且被訪問頻率小于第二閾值,數(shù)據(jù)存儲于高速機(jī)械硬盤, 被訪問頻率大于第二閾值,數(shù)據(jù)存儲于SSD高速硬盤。
[0007]所述基于hadoop異構(gòu)存儲的數(shù)據(jù)存儲方法,其中,所述存儲硬盤包括:SSD高速硬盤、高速機(jī)械硬盤和低速機(jī)械硬盤。
[0008]所述基于hadoop異構(gòu)存儲的數(shù)據(jù)存儲方法,其中,所述步驟A具體包括:
Al、記錄數(shù)據(jù)在一段時間內(nèi)被訪問次數(shù);
A2、根據(jù)數(shù)據(jù)被訪問次數(shù),計算數(shù)據(jù)被訪問頻率。
[0009]所述基于hadoop異構(gòu)存儲的數(shù)據(jù)存儲方法,其中,所述數(shù)據(jù)被訪問次數(shù)記錄于設(shè)置于數(shù)據(jù)訪問層的訪問日志記錄層。
[0010]所述數(shù)據(jù)被訪問次數(shù)為數(shù)據(jù)讀取次數(shù)、寫入次數(shù)、以及刪除次數(shù)的和。
[0011]—種基于hadoop異構(gòu)存儲的數(shù)據(jù)存儲系統(tǒng),其包括:
獲取模塊,用于獲取設(shè)置于hadoop集群的數(shù)據(jù)節(jié)點上的存儲硬盤中的數(shù)據(jù)在一段時間內(nèi)的被訪問頻率;
查找模塊,用于根據(jù)所述被訪問頻率,查找預(yù)先設(shè)置與所述被訪問頻率對應(yīng)的數(shù)據(jù)存儲硬盤,確定為所述被訪問頻率數(shù)據(jù)的存儲硬盤;
迀移模塊,用于根據(jù)所述被訪問頻率數(shù)據(jù)的存儲硬盤,將所述數(shù)據(jù)迀移至所述數(shù)據(jù)存儲硬盤。
[0012]所述基于hadoop異構(gòu)存儲的數(shù)據(jù)存儲系統(tǒng),其還包括:
預(yù)設(shè)模塊,用于預(yù)先設(shè)置用于確定被訪問頻率與存儲硬盤對應(yīng)關(guān)系的閾值、以及被訪冋頻率與存儲硬盤的對應(yīng)關(guān)系;所述關(guān)系為:
被訪問頻率小于第一閾值,數(shù)據(jù)存儲于低速機(jī)械硬盤,
第一閾值小于被訪問頻率,且被訪問頻率小于第二閾值,數(shù)據(jù)存儲于高速機(jī)械硬盤, 被訪問頻率大于第二閾值,數(shù)據(jù)存儲于SSD高速硬盤。
[0013]所述存儲硬盤包括:SSD高速硬盤、高速機(jī)械硬盤和低速機(jī)械硬盤。
[0014]所述基于hadoop異構(gòu)存儲的數(shù)據(jù)存儲系統(tǒng),其中,所述獲取模塊包括:
記錄子單元,用于記錄數(shù)據(jù)在一段時間內(nèi)被訪問次數(shù);
計算單元,用于根據(jù)數(shù)據(jù)被訪問次數(shù),計算數(shù)據(jù)被訪問頻率。
[0015]有益效果:與現(xiàn)有技術(shù)相比,本發(fā)明所提供基于hadoop異構(gòu)存儲的數(shù)據(jù)存儲方法及系統(tǒng),其首先,獲取數(shù)據(jù)在一段時間內(nèi)被訪問頻率;其次,根據(jù)所述被訪問頻率,查找預(yù)先設(shè)置與所述被訪問頻率對應(yīng)的數(shù)據(jù)存儲硬盤,確定為所述被訪問頻率數(shù)據(jù)的存儲硬盤;最后,根據(jù)所述被訪問頻率數(shù)據(jù)的存儲硬盤,將所述數(shù)據(jù)迀移至所述數(shù)據(jù)存儲硬盤。通過獲取數(shù)據(jù)在最近一周的使用頻率,根椐數(shù)據(jù)的使用頻率不同,自動將hadoop數(shù)據(jù)分級存儲,將使用頻率高的數(shù)據(jù)存放在SSD高速硬盤,將使用頻率高中等的數(shù)據(jù)放在高速機(jī)械硬盤上,將使用頻率低的數(shù)據(jù)存放在低速機(jī)械硬盤上,提升系統(tǒng)的整體性能。從根本上解決了現(xiàn)有采用單一的機(jī)械硬盤作存儲,沒有按使用頻率區(qū)分?jǐn)?shù)據(jù)的級別,在使用過程中經(jīng)常因磁盤I/0瓶頸影響效率的問題。
【附圖說明】
[0016]圖1為本發(fā)明提供基于hadoop異構(gòu)存儲的數(shù)據(jù)存儲方法較佳實施例的流程圖。
[0017]圖2為本發(fā)明提供基于hadoop異構(gòu)存儲的數(shù)據(jù)存儲系統(tǒng)的結(jié)構(gòu)原理圖。
【具體實施方式】
[0018]本發(fā)明提供一種基于hadoop異構(gòu)存儲的數(shù)據(jù)存儲方法及系統(tǒng),為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下參照附圖并舉實施例對本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0019]下面結(jié)合附圖,通過對實施例的描述,對
【發(fā)明內(nèi)容】
作進(jìn)一步說明。
[0020]請參見圖1,圖1為本發(fā)明提供基于hadoop異構(gòu)存儲的數(shù)據(jù)存儲方法較佳實施例的流程圖。所述方法包括如下步驟: 一種基于hadoop異構(gòu)存儲的數(shù)據(jù)存儲方法,其包括:
S1、獲取設(shè)置于hadoop集群的數(shù)據(jù)節(jié)點上的存儲硬盤中的數(shù)據(jù)在一段時間內(nèi)的被訪問頻率。
[0021]具體地,所述獲取數(shù)據(jù)在一段時間內(nèi)被訪問頻率,其具體過程為:首先記錄數(shù)據(jù)一段時間內(nèi)的訪問次數(shù),再根據(jù)所述訪問次數(shù)計算該數(shù)據(jù)的被訪問頻率。所述被訪問頻率的計算公式可以為:
被訪問頻率=一段時間訪問次數(shù)/一段時間。
[0022]其中,所述數(shù)據(jù)被訪問次數(shù)為數(shù)據(jù)讀取次數(shù)、寫入次數(shù)、刪除次數(shù)的和。
[0023]也就是說,所述被訪問頻率指的是一段時間內(nèi)的平均訪問次數(shù)。其可以是一個小時內(nèi)的平均訪問次數(shù),也可以是一天內(nèi)的平均訪問次數(shù),還可以是一周內(nèi)的平均訪問次數(shù)。所述被訪問頻率所表述的時間段可以根據(jù)用戶需求自行設(shè)定,也可以預(yù)設(shè)設(shè)置。這里,對于時間段不做具體限制,僅給出例子加以說明。例如,所述一段時間為一周,頻率表示數(shù)據(jù)一周內(nèi)被訪問頻率,指的是每天被訪問的平均次數(shù);其計算公式:
被訪問頻率=一周內(nèi)數(shù)據(jù)被訪問次數(shù)/ 一周的天數(shù)7。
[0024]進(jìn)一步,所數(shù)據(jù)被訪問次數(shù)記錄于設(shè)置于數(shù)據(jù)訪問層的訪問日志記錄層;所述訪問日志記錄層為增設(shè)的。所述訪問日志記錄層記錄每個數(shù)據(jù)被訪問的情況。當(dāng)數(shù)據(jù)被訪問時,查找訪問日志記錄層內(nèi)可以將數(shù)據(jù)被訪問的情況與被訪問的時間作為一組信息存儲,其按照時間由早先近的順序存儲。這樣,系統(tǒng)設(shè)定每天固定時間獲取今天以前的一周內(nèi)數(shù)據(jù)被訪問的頻率,根據(jù)被訪問頻率對數(shù)據(jù)進(jìn)行迀移;實現(xiàn)了每天根據(jù)前一周數(shù)據(jù)被訪問頻率自動分級存儲數(shù)據(jù)。
[0025]進(jìn)一步,所述數(shù)據(jù)記錄功能可以系統(tǒng)設(shè)定的,其也可以根據(jù)用戶需求自行設(shè)定開啟/關(guān)閉,如果關(guān)閉,那么SSD高速硬盤、高速機(jī)械硬盤、低速機(jī)械硬盤被看做一個機(jī)械硬盤,其存儲數(shù)據(jù)的順序為依次存儲,可以先存儲SSD高速硬盤,在存儲高速機(jī)械硬盤,最后存儲低速機(jī)械硬盤。也可以先存儲低速機(jī)械硬盤,在存儲高速機(jī)械硬盤,最后存儲SSD高速硬盤,這里對于存儲順序不做限制。當(dāng)開啟,則根據(jù)數(shù)據(jù)被訪問頻率將數(shù)據(jù)存儲于其被訪問頻率所對應(yīng)的硬盤,例如,所述數(shù)據(jù)的被訪問頻率與SSD高速硬盤對數(shù)據(jù)被訪問頻率的要求相匹配,則將所述數(shù)據(jù)存儲于SSD高速硬盤。
[0026]S2、根據(jù)所述被訪問頻率,查找預(yù)先設(shè)置與頻率對應(yīng)的數(shù)據(jù)存儲硬盤,確定為所述被訪問頻率數(shù)據(jù)的存儲硬盤。
[0027]具體地,根據(jù)所述被訪問頻率,查找預(yù)先設(shè)置與被訪問頻率對應(yīng)的數(shù)據(jù)存儲硬盤,確定為所述數(shù)