中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

一種提高云存儲中小文件存儲效率的方案

2019-02-26    來源:多智時代

容器云強(qiáng)勢上線!快速搭建集群,上萬Linux鏡像隨意使用

    實驗結(jié)果表明,在不影響存儲系統(tǒng)運(yùn)行狀況的基礎(chǔ)上,該方案提高了HDFS(Hadoop distributed file system)是一種具有高度容錯性質(zhì)的分布式文件系統(tǒng)模型,可以部署在支持JAVA運(yùn)行環(huán)境的普通機(jī)器或虛擬機(jī)上,能夠提供高吞吐量的數(shù)據(jù)訪問,非常適合部署云存儲平臺。

    HDFS采用主從式架構(gòu)設(shè)計模式(master/slavearchitecture),一個名稱節(jié)點(diǎn)(NameNode)和若干數(shù)據(jù)節(jié)點(diǎn)(DataNode)構(gòu)成HDFS集群。HDFS的這種單名稱節(jié)點(diǎn)的設(shè)計極大地簡化了文件系統(tǒng)的結(jié)構(gòu),然而也因此引發(fā)了HDFS的小文件存儲效率低的問題。因為HDFS中的每個目錄和文件的元數(shù)據(jù)信息都存放在名稱節(jié)點(diǎn)的內(nèi)存中,如果系統(tǒng)中存在大量的小文件(指那些比HDFS數(shù)據(jù)塊(默認(rèn)為64MB)d,得多的文件),則無疑會降低整個存儲系統(tǒng)的存儲效率和存儲能力。

    在各種存儲系統(tǒng)中,存在大量這樣的小文件。美國西北太平洋國家實驗室2007年的一份研究報告表明,他們系統(tǒng)中有1 200萬個文件,其中94%的文件小于64 MB,58%的小于64 kB。在一些具體的科研計算環(huán)境中,也存在大量的小文件,例如,在某些生物學(xué)計算中可能會產(chǎn)生3 000萬個文件,而其平均大小只有190 kB。

    解決基于HDFS的存儲系統(tǒng)中小文件存儲效率問題的主流思想是將小文件合并或組合為大文件,目前主要的方法分為2種,一種是利用Hadoop歸檔(Hadoop archive,HAR)等技術(shù)實現(xiàn)小文件合并的方法,另一種則是針對具體的應(yīng)用而提出的文件組合方法。

    Mackey等利用HAR技術(shù)實現(xiàn)小文件的合并,從而提高了HDFS中元數(shù)據(jù)的存儲效率。Liu等結(jié)合WebGIS應(yīng)用,以Hadoop為存儲平臺開發(fā)了HDWebGIS原型系統(tǒng);結(jié)合WebGIS訪問模式的特點(diǎn),將小文件組合為大文件并為其建立全局索引,從而提高了小文件存儲效率。Dong等[4]針對BlueSky系統(tǒng)中PPT課件的存儲問題,提出了將小文件合并到大文件中并結(jié)合預(yù)取機(jī)制來提高系統(tǒng)存儲和訪問小文件的效率的方法。劉立坤等對分布式存儲系統(tǒng)中小文件的并發(fā)訪問進(jìn)行了優(yōu)化。

    以上的研究工作都是基于文件的合并或組合來解決小文件存儲效率不高的問題,然而還存在以下2個問題:第一,作為一個完整的系統(tǒng),在提高小文件存儲效率的同時,也應(yīng)該考慮到系統(tǒng)的負(fù)載狀況,因為不管是文件合并還是文件組合,對HDFS而言都是一個額外的操作;第二,未對小文件合并規(guī)模進(jìn)行研究,即尚未確定多少個小文件合并為一個大文件可以使系統(tǒng)性能達(dá)到最優(yōu)。

    基于以上兩點(diǎn),本文提出了一個面向HDFS的云存儲系統(tǒng)中小文件存儲效率的優(yōu)化方案:采用序列文件技術(shù)將小文件合并為大文件,結(jié)合多屬性決策理論和實驗得出合并文件的最優(yōu)方式,通過基于層次分析法(analytic hierarchy process,AHP)的系統(tǒng)負(fù)載預(yù)測算法實現(xiàn)系統(tǒng)的負(fù)載均衡。

    1 小文件存儲效率優(yōu)化方案設(shè)計

    在構(gòu)建的云存儲系統(tǒng)中,采用多叉樹的結(jié)構(gòu)來構(gòu)建文件索引。用戶將文件上傳到云存儲系統(tǒng)后,系統(tǒng)會自動根據(jù)用戶文件的組織形式建立對應(yīng)的多叉樹索引。

    1.1序列文件合并技術(shù)

    序列文件(SequenceFile)是HDFS提供的一種二進(jìn)制文件技術(shù),這種二進(jìn)制文件直接將對序列化到文件,文件序列化時可實現(xiàn)基于記錄或數(shù)據(jù)塊的壓縮。在云存儲系統(tǒng)中,對二進(jìn)制文件采用SequenceFile技術(shù)將小文件合并為大文件,以小文件的索引號為key、內(nèi)容為value的形式進(jìn)行合并,合并的同時實現(xiàn)基于數(shù)據(jù)塊的壓縮,這樣,在節(jié)省名稱節(jié)點(diǎn)內(nèi)存空間的同時也節(jié)省了數(shù)據(jù)節(jié)點(diǎn)的磁盤空間。

    1.2小文件存儲效率優(yōu)化方案

    在基于HDFS的云存儲系統(tǒng)中,小文件存儲效率優(yōu)化方案如圖1所示。為提高對小文件的處理效率,系統(tǒng)為每個用戶建立了3種隊列:第1種為序列文件隊列(SequenceFile queue,SFQ),第2種為序列文件操作隊列(SequenceFile operation queue,SFOQ),第3種為備用隊列(Backup queue,BQ)。其中,SFQ用于小文件的合并,SFOQ用于對合并后小文件的操作,BQ用于操作的小文件數(shù)超過SFQ或SFOQ長度的情況。3種隊列的長度一致,可通過實驗得出隊列長度的最優(yōu)值。下面介紹具體的處理流程。

    一種提高云存儲中小文件存儲效率的方案

      圖1 小文件存儲效率優(yōu)化方案

    如圖1所示,用戶將本地的文件上傳至云存儲服務(wù)器(過程1),然后服務(wù)器開始對該文件的類型進(jìn)行判斷(過程2),如果是小文件,將該文件的索引號放入SFQ中(過程3)。當(dāng)SFQ滿時,將發(fā)送“隊列滿”信號(QF)給控制器,如圖中虛線口所示,而當(dāng)定時器到定時點(diǎn)時,將發(fā)送“時間到”信號(TU)給控制器,如虛線b所示。接收到QF或者TU信號后,控制器開始讀取SFQ的相關(guān)信息(過程4.1),對系統(tǒng)負(fù)載進(jìn)行計算(過程4.2)(具體算法在第2節(jié)中介紹),并據(jù)此決定是否進(jìn)行小文件的合并(過程5)。文件合并后完成小文件與大文件之間的映射(過程6)控制器的具體處理邏輯如圖2所示。

    當(dāng)控制器接收到信號時,首先判斷信號類型,如果是QF,則調(diào)用基于AHP的系統(tǒng)負(fù)載預(yù)測算法計算系統(tǒng)負(fù)載。如果得到的系統(tǒng)負(fù)載低于系統(tǒng)設(shè)定的閾值,則開始合并文件(包括SFQ和BQ),并取消系統(tǒng)中的TU信號;如果系統(tǒng)負(fù)載大于系統(tǒng)設(shè)定的閾值,則進(jìn)一步判斷BQ的數(shù)量,若BQ數(shù)量小于某個值(例如3),則新建BQ,將SFQ轉(zhuǎn)移到BQ中并推遲合并操作(系統(tǒng)中設(shè)定推遲的時間為30 min),設(shè)定TU信號,若BQ數(shù)量大于3,則將BQ中的小文件進(jìn)行合并,取消系統(tǒng)中的TU信號。

    一種提高云存儲中小文件存儲效率的方案

    圖2 控制器控制邏輯

    如果接收到的是TU信號,計算系統(tǒng)負(fù)載并判斷是否大于系統(tǒng)設(shè)定的閾值。若負(fù)載大于閾值,則推遲合并操作并設(shè)定TU信號;若負(fù)載小于閾值,則合并BQ中的小文件,取消系統(tǒng)中的其他TU信號。

    2 基于AHP的系統(tǒng)負(fù)載預(yù)測算法

    系統(tǒng)負(fù)載預(yù)測通常定義為基于CPU利用率、內(nèi)存利用率、帶寬利用率和系統(tǒng)平均吞吐量等系統(tǒng)屬性對系統(tǒng)運(yùn)行狀態(tài)進(jìn)行的多屬性決策。

    層次分析法(AHP)E7]是美國運(yùn)籌學(xué)家托馬斯薩迪提出的一種層次權(quán)重決策分析方法,是對定性問題進(jìn)行定量分析的一種簡便、靈活而又實用的多準(zhǔn)則決策方法。

    負(fù)載計算得到的是一個即時值或歷史值,即只能夠得到當(dāng)前或以前時刻的系統(tǒng)負(fù)載,然而對小文件的操作是在系統(tǒng)負(fù)載計算之后,因此需要根據(jù)系統(tǒng)負(fù)載的歷史信息來推測下一時刻的系統(tǒng)負(fù)載;诖,本文設(shè)計了基于AHP的系統(tǒng)負(fù)載預(yù)測算法。該算法通過獲取系統(tǒng)屬性的歷史信息,經(jīng)過2次AHP分析,最終可得到系統(tǒng)負(fù)載的預(yù)測值。

    算法依據(jù)系統(tǒng)屬性的重要性,將每個時刻的系統(tǒng)負(fù)載屬性值經(jīng)過AHP分析融合為單一的決策屬性值,然后依據(jù)決策屬性值的時間重要性,經(jīng)過第二次AHP分析最終得到下一時刻的系統(tǒng)負(fù)載值。具體步驟如下。

    一種提高云存儲中小文件存儲效率的方案

    通過本文提出的這一算法,可以實現(xiàn)對系統(tǒng)負(fù)載的預(yù)測,從而將對小文件的操作控制在某個能夠均衡系統(tǒng)負(fù)載的時刻進(jìn)行

    3 實驗

    為提高小文件的操作效率,系統(tǒng)為每個用戶建立了SFQ和SFOQ。在這一節(jié)中,將通過實驗研究SFQ長度對云存儲系統(tǒng)的影響,選取讀取文件時間、合并文件時間和節(jié)省的內(nèi)存空間作為參考指標(biāo),以得到小文件合并的最優(yōu)方式。

    在基于HDFS的云存儲系統(tǒng)中,對文件的操作主要有上傳、下載、讀取等。合并操作對上傳沒有影響,下載的核心操作也是讀取,因此選取讀取文件時間作為參考指標(biāo)。提高名稱節(jié)點(diǎn)內(nèi)存利用率是本文的主要工作,因此將通過合并文件節(jié)省的內(nèi)存空間作為參考指標(biāo)之一。合并文件的效率是影響存儲系統(tǒng)性能的一個重要因素,故也將合并文件時間作為參考指標(biāo)。

    3.1實驗方案與實驗結(jié)果

    我們將通過3個實驗分別獲取在SequenceFile中讀取小文件的平均時間、合并文件的平均時間以及合并所能節(jié)省的內(nèi)存空間等指標(biāo)值,并通過AHP分析數(shù)據(jù),得出SFQ長度與系統(tǒng)性能的關(guān)系。6臺Dell服務(wù)器構(gòu)成云存儲環(huán)境,服務(wù)器的配置均為CPU 8 Intel Xeon 2。13 GHz,內(nèi)存8 GB,硬盤500 GB,操作系統(tǒng)均為Ubuntu Server 9。04,Hadoop版本為0.20.0.

    實驗1統(tǒng)計合并文件的平均時間(t1)。按照SFQ長度分別為100、200、300、400、500、600、700、800、900、1 000合并小文件50次,并且在不同的時段重復(fù)這樣的實驗10次。統(tǒng)計這10種情況下合并文件所需時間的平均值,最終得到合并文件的時間,結(jié)果如圖3所示。

    一種提高云存儲中小文件存儲效率的方案

    圖3 合并文件的平均時間

    實驗2統(tǒng)計讀取小文件的平均時間(t2)。小文件合并為SequenceFile之后,讀取小文件的時間主要分為在SequenceFile中查找小文件的時間和獲取小文件內(nèi)容的時間2部分,因此,小文件合并之后讀取文件的時間與該文件在SequenceFile中所處的位置有關(guān)。HDFS提供的API中采用順序查找算法進(jìn)行文件查找,因此讀取的文件在SequenceFile中位置越靠后所需的時間越長。在實驗l中得到的10個大文件中以10為步長讀取小文件,獲取其平均時間作為讀取該大文件中小文件的平均時間,實驗結(jié)果如圖4所示。

    實驗3統(tǒng)計合并10 000個小文件節(jié)省的內(nèi)存空間。將10 000個小文件上傳到云存儲系統(tǒng),統(tǒng)計其占用名稱節(jié)點(diǎn)的內(nèi)存空間,然后分別按照SFQ長度為100、200、300、400、500、600、700、800、900、1 000進(jìn)行合并,獲取合并后占用名稱節(jié)點(diǎn)的內(nèi)存空間,兩者之差即為合并操作所節(jié)省的內(nèi)存空間,實驗結(jié)果如圖5所示。

    一種提高云存儲中小文件存儲效率的方案

    圖4 讀取小文件的平均時間

    一種提高云存儲中小文件存儲效率的方案

    圖5 節(jié)省的內(nèi)存空間

    3.2實驗結(jié)果分析

    3.2.1數(shù)據(jù)標(biāo)準(zhǔn)化將實驗指標(biāo)轉(zhuǎn)化為逆指標(biāo)(越小越好的指標(biāo)),分別利用Min-Max方法和Z-Score方法對轉(zhuǎn)化為逆指標(biāo)的實驗數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化睜9I,結(jié)果如圖6、圖7所示。

    一種提高云存儲中小文件存儲效率的方案

    圖6 Min-Max法的標(biāo)準(zhǔn)化數(shù)據(jù)

    一種提高云存儲中小文件存儲效率的方案

    圖7 Z-Score法的標(biāo)準(zhǔn)化數(shù)據(jù)

    3.2.2系統(tǒng)性能決策值計算利用AHP進(jìn)行權(quán)重計算。由于讀取文件是最頻繁的操作,因此認(rèn)定讀取文件時間為3個指標(biāo)中最重要的,節(jié)省的內(nèi)存空間其次。據(jù)此,計算3個指標(biāo)的權(quán)重如表2所示。

    表2權(quán)重

    將標(biāo)準(zhǔn)化的數(shù)據(jù)與相應(yīng)的權(quán)重相乘之后相加,得到系統(tǒng)性能決策值,如圖8所示。

    一種提高云存儲中小文件存儲效率的方案

    圖8分析結(jié)果

    3.2.3結(jié)果分析從圖8可以看到,兩種數(shù)據(jù)標(biāo)準(zhǔn)化方法都反映出一個規(guī)律,即在本文的實驗環(huán)境中,性能決策值隨著SFQ長度的增大呈現(xiàn)一種類似開口向上的拋物線狀變化,并且在SFQ長度為400時取得最小值。由于我們采用了逆指標(biāo)進(jìn)行計算,因此當(dāng)性能決策值最小時,表示系統(tǒng)性能達(dá)到了最優(yōu)。由此可以得出結(jié)論:在本文的云存儲環(huán)境中,SFQ長度取400是小文件合并的最優(yōu)方式;根據(jù)基于AHP的系統(tǒng)負(fù)載預(yù)測算法對系統(tǒng)運(yùn)行狀況監(jiān)控的結(jié)果,可以得到小文件合并的最佳時間。

    通過實驗可知,小文件合并的規(guī)模越大,名稱節(jié)點(diǎn)消耗的內(nèi)存空間將越少,與此同時,對小文件的操作(讀取、刪除等)以及合并文件所花費(fèi)的時間代價也將越大。在其他基于HDFS的存儲系統(tǒng)中采用本文的方案進(jìn)行分析和部署,都可在時間消耗和內(nèi)存利用率之間實現(xiàn)一種最優(yōu)平衡,實現(xiàn)在小文件存儲效率提高的同時不影響系統(tǒng)性能的目標(biāo)。

    4 結(jié)語

    本文針對基于HDFS的云存儲系統(tǒng)中小文件存儲效率不高的問題,提出了一套完整的解決方案。在該方案中,采用SequenceFile技術(shù)將小文件以隊列的形式合并為大文件,從而實現(xiàn)了節(jié)省名稱節(jié)點(diǎn)所占內(nèi)存空間的目的,同時也實現(xiàn)了對合并之后的小文件的透明操作。在確定影響隊列長度的指標(biāo)之后,通過實驗獲取指標(biāo)值,采用數(shù)據(jù)標(biāo)準(zhǔn)化方法和三標(biāo)度層次分析法確定隊列長度的最優(yōu)值,使得小文件的合并能在合并時間、文件操作時間和節(jié)省內(nèi)存空間之間達(dá)到一種平衡;谪(fù)載均衡的目的,本文設(shè)計了基于AHP的負(fù)載預(yù)測算法對系統(tǒng)負(fù)載進(jìn)行預(yù)測。

    在以后的工作中,我們將從以下兩個方面來進(jìn)行改進(jìn):①將小文件的合并以及小文件的讀取改進(jìn)為Map-Reduce任務(wù),從而提高操作的效率;②對SequenceFile中的小文件查找算法進(jìn)行改進(jìn),提高小文件查找效率。

在不久的將來,云計算一定會徹底走入我們的生活,有興趣入行未來前沿產(chǎn)業(yè)的朋友,可以收藏云計算,及時獲取人工智能、大數(shù)據(jù)、云計算和物聯(lián)網(wǎng)的前沿資訊和基礎(chǔ)知識,讓我們一起攜手,引領(lǐng)人工智能的未來!

標(biāo)簽: 大數(shù)據(jù) 服務(wù)器 云存儲服務(wù)器 云計算

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:云計算環(huán)境下安全服務(wù)的思考與探索

下一篇:云計算所需的獨(dú)特安全保護(hù)措施