[發明專利]一種基于HDFS的小文件處理方法有效
| 申請號: | 201410362604.0 | 申請日: | 2014-07-28 |
| 公開(公告)號: | CN104133882B | 公開(公告)日: | 2017-06-23 |
| 發明(設計)人: | 劉曉潔;羅鵬;董雪 | 申請(專利權)人: | 四川大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京方圓嘉禾知識產權代理有限公司11385 | 代理人: | 董芙蓉 |
| 地址: | 610065 四*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 hdfs 文件 處理 方法 | ||
1.一種基于HDFS的小文件處理方法,其特征在于,其包括以下三個方面:
(1)文件的合并與上傳
該步驟在客戶端完成,通過對文件進行過濾,篩選出符合條件的小文件;文件合并時,將小文件的元數據信息添加到合并文件的頭部,小文件的數據內容追加到合并文件中,該合并文件的組織結構稱為MERGE-FILE結構,包括小文件數量,小文件路徑長度,小文件路徑,小文件內容起始偏移量,小文件內容長度,小文件內容,其中頭部包括前五個字段;小文件合并后,記錄小文件與合并文件的映射信息,包括小文件原始路徑,小文件長度,小文件偏移量,合并文件路徑;合并文件的大小滿足要求后,將合并文件以及對應的文件映射信息保存到緩沖隊列,等待上傳;其具體過程為:
a)客戶端判斷文件的大小是否小于閾值Tf,如果是,則該文件被視為小文件,否則該文件不需要進行合并;
b)針對步驟a)過濾后的小文件,客戶端計算小文件的數據內容和元數據的總大小Sd_m,如果還沒有創建合并文件,那么就直接創建合并文件,并將小文件元數據保存到合并文件頭部,小文件內容追加到合并文件中;否則,客戶端計算合并文件大小Smf與Sd_m的總大小是否超過Tb,如果是,則將當前合并文件緩存,并重新創建新的合并文件;否則,就將小文件的元數據和內容保存到合并文件中;客戶端記錄每個小文件與合并文件的映射信息,并將其與對應的合并文件進行緩存;
c)客戶端緩存的一個合并文件對應HDFS的一個數據塊副本,它們都遵循MERGE-FILE的結構;客戶端從緩沖隊列中取出合并文件和對應的文件映射信息,分別上傳到HDFS和MetaData服務器;
(2)小文件與合并文件映射信息的存儲
通過在HDFS存儲集群中新增一臺MetaData服務器,用于緩存小文件與合并文件的映射信息;將所有小文件的原始路徑通過樹狀目錄結構進行組織,內部結點對應了小文件原始路徑中的一個目錄對象,葉子結點對應了一個小文件對象,小文件對應的合并文件信息保存在該對象中;其具體過程為:
a)MetaData服務器接收到客戶端發送的文件映射信息,根據小文件的原始路徑,在緩存的樹狀目錄結構中新增相應的結點,如果已經存在小文件原始路徑中的結點,則直接跳過;
b)將小文件的偏移量、小文件的長度以及合并文件的路徑保存到小文件對應的葉子結點中,并將合并文件的路徑保存到小文件對應葉子結點的父結點中;
(3)小文件的解析與下載
通過解析MERGE-FILE結構的數據塊,查詢頭部的小文件元數據信息,將符合下載要求的小文件從數據塊的相應位置下載到客戶端;其具體過程為:
a)客戶端向MetaData服務器提交下載列表,MetaData服務器通過查詢樹狀目錄結構,向客戶端返回所有對應的合并文件路徑;
b)客戶端通過合并文件路徑找到對應的數據塊,根據MERGE-FILE的結構對數據塊進行解析,并將符合下載條件的小文件從數據塊中下載到客戶端。
2.根據權利要求1所述的小文件處理方法,其特征是,所述閾值Tf默認為16MB。
3.根據權利要求1所述的小文件處理方法,其特征是,所述Tb默認為64 MB。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于四川大學,未經四川大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410362604.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:顯示網頁的方法及裝置
- 下一篇:一種基于配置約束的業務流程模型挖掘的新方法





