[發(fā)明專利]一種基于HDFS存儲文件的去重方法及裝置有效
| 申請?zhí)枺?/td> | 201611159251.X | 申請日: | 2016-12-15 |
| 公開(公告)號: | CN106649676B | 公開(公告)日: | 2020-06-19 |
| 發(fā)明(設(shè)計)人: | 張為鋒 | 申請(專利權(quán))人: | 北京銳安科技有限公司 |
| 主分類號: | G06F16/174 | 分類號: | G06F16/174 |
| 代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 胡彬;鄧猛烈 |
| 地址: | 100044 北京市海淀區(qū)西小口*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 hdfs 存儲 文件 方法 裝置 | ||
本發(fā)明實施例公開了一種基于HDFS存儲文件的去重方法及裝置。該方法包括:將待去重文件的文件指紋,與已存儲文件的文件指紋進行比對;如果比對結(jié)果為相同,根據(jù)所述待去重文件的文件標(biāo)識計算鏈接標(biāo)識;以所述鏈接標(biāo)識和相同的已存儲文件在存儲節(jié)點中的存儲地址,替換所述待去重文件的文件內(nèi)容,作為所述待去重文件的文件標(biāo)識的鍵值存儲到存儲節(jié)點中。通過本發(fā)明的技術(shù)方案,有效去除內(nèi)容重復(fù)的文件,減少文件數(shù)量,節(jié)約存儲空間,提升系統(tǒng)性能。
技術(shù)領(lǐng)域
本發(fā)明實施例涉及非結(jié)構(gòu)化數(shù)據(jù)存儲技術(shù),尤其涉及一種基于HDFS存儲文件的去重方法及裝置。
背景技術(shù)
Hadoop分布式文件系統(tǒng)(Hadoop Distributed File System,簡稱HDFS)是對超大規(guī)模數(shù)據(jù)集提供可靠存儲功能的系統(tǒng),建立在響應(yīng)以“一次寫入,多次讀取”任務(wù)的基礎(chǔ)上,對用戶應(yīng)用程序提供高帶寬的輸入輸出數(shù)據(jù)流。HDFS具有高容錯性,可以運行在低廉的硬件集群上。采用MASTER/SLAVES的主從架構(gòu),一個HDFS集群由一個Namenode節(jié)點(管理節(jié)點)和多個Datanode節(jié)點(存儲節(jié)點)組成。管理節(jié)點是一個中心服務(wù)器,負(fù)責(zé)管理文件系統(tǒng)的元數(shù)據(jù)和客戶端對文件的訪問。管理節(jié)點存儲著文件的元數(shù)據(jù),因此管理節(jié)點的內(nèi)存容量限制了文件的數(shù)量。HDFS默認(rèn)會將文件分割成block(存儲塊),例如64M為1個存儲塊。然后將各存儲塊以鍵值對的形式存儲在HDFS的存儲節(jié)點中,并將鍵值對的映射存到內(nèi)存中。每個文件、存儲塊以及索引目錄在內(nèi)存中均以對象的形式存儲,每個對象約占150字節(jié)。舉例來說,如果有1000000個小文件,每個文件占用一個存儲塊,則管理節(jié)點就至少需要300M的內(nèi)存;如果存儲1億甚至更多的文件時,需要20G甚至更多的內(nèi)存容量,解決辦法是搭建支持集群的內(nèi)存數(shù)據(jù)庫,但增加系統(tǒng)成本。如果小文件太多,占用過多的內(nèi)存資源,影響集群性能,需要對小文件進行合并,減少文件數(shù)量。
然而,在實際互聯(lián)網(wǎng)應(yīng)用中,存在著海量的小文件,尤其是隨著博客、微博、Facebook等社交網(wǎng)站的興起,改變了互聯(lián)網(wǎng)存儲內(nèi)容的方式。用戶基本上已經(jīng)成為互聯(lián)網(wǎng)內(nèi)容的創(chuàng)造者,其數(shù)據(jù)具有海量、多樣、動態(tài)變化等特點,由此產(chǎn)生了海量小文件,如狀態(tài)文件、用戶資料、頭像等。這些數(shù)據(jù)按照數(shù)據(jù)的存儲格式可以分為結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。結(jié)構(gòu)化數(shù)據(jù)具有相同的層次和網(wǎng)格結(jié)構(gòu),可以用數(shù)字或文字來描述;而有一些信息則無法用數(shù)字或者統(tǒng)一的結(jié)構(gòu)表示,例如,掃描圖像、傳真、照片、計算機生成的報告、字處理文檔、電子表格、演示文稿、語音和視頻等,這些即為非結(jié)構(gòu)化數(shù)據(jù)。非結(jié)構(gòu)化數(shù)據(jù)在經(jīng)過結(jié)構(gòu)化的提取之后,需要把原始文件進行保存,以供后續(xù)使用。
在很多領(lǐng)域中,非結(jié)構(gòu)化數(shù)據(jù)所占比例遠遠高于結(jié)構(gòu)化數(shù)據(jù)所占比例。非結(jié)構(gòu)化數(shù)據(jù)信息量非常大,如果直接存儲于數(shù)據(jù)庫中,除了大幅度加大數(shù)據(jù)庫的容量外,還會降低維護和應(yīng)用的效率。尤其是在互聯(lián)網(wǎng)獲得的非結(jié)構(gòu)化數(shù)據(jù)往往具有重復(fù)性,熱點事件在短時間內(nèi)會帶來大量的網(wǎng)民關(guān)注,導(dǎo)致少量非結(jié)構(gòu)化數(shù)據(jù)在短時間內(nèi)被大量重復(fù)利用,占用系統(tǒng)存儲空間。現(xiàn)有技術(shù)中,采用壓縮技術(shù)對數(shù)據(jù)按照一定的比例進行壓縮,但是非結(jié)構(gòu)化數(shù)據(jù)不具備嚴(yán)格的結(jié)構(gòu),較之結(jié)構(gòu)化信息更難以標(biāo)準(zhǔn)化,管理起來更困難。針對這些特點,目前HDFS存儲的海量非結(jié)構(gòu)化小文件采用Mapfile技術(shù)合并為大文件后,沒有經(jīng)過壓縮處理,占用的存儲空間多,因此,如何去除海量非結(jié)構(gòu)化數(shù)據(jù)中重復(fù)的內(nèi)容,節(jié)約存儲空間是急需解決的問題。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種基于HDFS存儲文件的去重方法及裝置,以使HDFS處理存儲的海量非結(jié)構(gòu)化小文件時,有效去重,節(jié)約存儲空間。
第一方面,本發(fā)明實施例提供了一種基于HDFS存儲文件的去重方法,包括:
將待去重文件的文件指紋,與已存儲文件的文件指紋進行比對;
如果比對結(jié)果為相同,根據(jù)所述待去重文件的文件標(biāo)識計算鏈接標(biāo)識;
以所述鏈接標(biāo)識和相同的已存儲文件在存儲節(jié)點中的存儲地址,替換所述待去重文件的文件內(nèi)容,作為所述待去重文件的文件標(biāo)識的鍵值存儲到存儲節(jié)點中。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京銳安科技有限公司,未經(jīng)北京銳安科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611159251.X/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





