[發(fā)明專利]一種基于HDFS的小文件處理方法有效
| 申請?zhí)枺?/td> | 201410362604.0 | 申請日: | 2014-07-28 |
| 公開(公告)號: | CN104133882B | 公開(公告)日: | 2017-06-23 |
| 發(fā)明(設(shè)計)人: | 劉曉潔;羅鵬;董雪 | 申請(專利權(quán))人: | 四川大學(xué) |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京方圓嘉禾知識產(chǎn)權(quán)代理有限公司11385 | 代理人: | 董芙蓉 |
| 地址: | 610065 四*** | 國省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 hdfs 文件 處理 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)存儲領(lǐng)域,尤其涉及的是一種基于HDFS的小文件處理方法。
背景技術(shù)
隨著互聯(lián)網(wǎng)技術(shù)的高速發(fā)展和社會信息化程度的不斷提高,網(wǎng)絡(luò)數(shù)據(jù)正以指數(shù)級別的速度增長。因此,如何為海量的數(shù)據(jù)提供高吞吐量、并且安全可靠的存儲服務(wù),成為人們最為關(guān)注的話題之一。目前比較成熟的方法是在存儲集群上部署分布式文件系統(tǒng)對數(shù)據(jù)進(jìn)行分布存儲和管理。存儲集群可以被部署到多個地區(qū),從而有利于分散風(fēng)險,防止毀滅性的的災(zāi)難。國內(nèi)外有多款分布式文件系統(tǒng),包括Google的GFS、Hadoop Distributed File System(簡稱HDFS)、Lustre、FastDFS、MooseFS、MogileFS、NFS等。這些分布式文件系統(tǒng)特點各不相同,因此在應(yīng)用場合上會有所差異。其中,HDFS是由Apache自由軟件基金會發(fā)起的Hadoop項目中的重要組成部分,它作為一個開源的分布式文件系統(tǒng),在近幾年發(fā)展迅速,是國內(nèi)外研究機(jī)構(gòu)、企事業(yè)單位等團(tuán)體或組織,以及個人研究和使用較多的分布式文件系統(tǒng)。
然而,HDFS在進(jìn)行小文件處理時,名稱節(jié)點需要耗費大量的內(nèi)存來保存小文件的元數(shù)據(jù)信息,而且小文件上傳和下載的效率很不理想。雖然,HDFS提供了HAR、SequenceFile、MapFile、CombineFileInputFormat方法用來處理小文件問題,但是HAR與CombineFileInputFormat方法不能提高小文件的上傳效率,SequenceFile與MapFile方法雖然上傳效率較高,但是它們的查詢效率低,因此解決HDFS的小文件問題是非常有意義的。
中國專利公開號為103530387A的專利,通過將Namenode的部分權(quán)限下放到Datanode節(jié)點上,讓Datanode緩存部分小文件元數(shù)據(jù)信息,讓Datanode處理絕大多數(shù)的小文件讀寫請求。然而該方法在小文件上傳時,每上傳一個小文件都需要訪問HDFS,因此該方法在小文件上傳操作時,HDFS集群的負(fù)載壓力依然比較大。中國專利公開號為103577123A的專利,通過小文件合并和存儲預(yù)處理,文件目錄結(jié)構(gòu)優(yōu)化,元數(shù)據(jù)分布式存儲等思想對小文件處理進(jìn)行了優(yōu)化,但是該方法在小文件下載時沒有充分利用文件訪問的局部性原理,從而每次小文件下載操作都需要重新連接數(shù)據(jù)節(jié)點,根據(jù)小文件的位置信息從對應(yīng)的數(shù)據(jù)塊中獲取小文件數(shù)據(jù)內(nèi)容。南京師范大學(xué)碩士學(xué)位論文《HDFS中文件存儲優(yōu)化的相關(guān)技術(shù)研究》針對HDFS存儲小文件的不足,提出了將小文件合并成若干大文件并將大文件和相關(guān)元數(shù)據(jù)一同存儲到HDFS中,在讀取某個小文件時,Client端緩存從Datanode返回的包含該小文件的整個大文件,從而在讀取該小文件或者大文件中的其他小文件時,可以直接從Client端讀取。該方法雖然減少了Client訪問HDFS的次數(shù),但是該方法將所有的元數(shù)據(jù)信息都緩存在Namenode中,沒有很好的解決Namenode的內(nèi)存損耗問題。
發(fā)明內(nèi)容
本發(fā)明針對HDFS小文件處理效率低的問題,提供了一種基于HDFS的小文件處理方法。
本發(fā)明的技術(shù)方案如下:
一種基于HDFS的小文件處理方法,其包括以下三個方面:
(1)文件的合并與上傳
該步驟在客戶端完成,通過對文件進(jìn)行過濾,篩選出符合條件的小文件;文件合并時,將小文件的元數(shù)據(jù)信息添加到合并文件的頭部,小文件的數(shù)據(jù)內(nèi)容追加到合并文件中,該合并文件的組織結(jié)構(gòu)稱為MERGE-FILE結(jié)構(gòu),包括小文件數(shù)量,小文件路徑長度,小文件路徑,小文件內(nèi)容起始偏移量,小文件內(nèi)容長度,小文件內(nèi)容,其中頭部包括前五個字段;小文件合并后,記錄小文件與合并文件的映射信息,包括小文件原始路徑,小文件長度,小文件偏移量,合并文件路徑;合并文件的大小滿足要求后,將合并文件以及對應(yīng)的文件映射信息保存到緩沖隊列,等待上傳;其具體過程為:
a)客戶端判斷文件的大小是否小于閾值Tf,如果是,則該文件被視為小文件,否則該文件不需要進(jìn)行合并;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于四川大學(xué),未經(jīng)四川大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410362604.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





