[發(fā)明專利]一種基于Hbase的海量圖片存儲方法及裝置在審
| 申請?zhí)枺?/td> | 201410425822.4 | 申請日: | 2014-08-26 |
| 公開(公告)號: | CN104199899A | 公開(公告)日: | 2014-12-10 |
| 發(fā)明(設(shè)計)人: | 房體盈;辛國茂 | 申請(專利權(quán))人: | 浪潮(北京)電子信息產(chǎn)業(yè)有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京安信方達知識產(chǎn)權(quán)代理有限公司 11262 | 代理人: | 王丹;李丹 |
| 地址: | 100085 北京市海*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 hbase 海量 圖片 存儲 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及大數(shù)據(jù)存儲領(lǐng)域,尤指一種基于Hbase的海量圖片存儲方法及裝置。
背景技術(shù)
伴隨著計算機網(wǎng)絡(luò)的發(fā)展,海量數(shù)據(jù)的時代已經(jīng)到來。互聯(lián)網(wǎng)數(shù)據(jù)中心預(yù)測全球的數(shù)據(jù)使用量到2020年將會增長44倍,達到35.2ZB。海量數(shù)據(jù)集的共同特點主要包含三點:其一是超過80%的數(shù)據(jù)是非結(jié)構(gòu)化的;其二是數(shù)據(jù)量在持續(xù)不斷地增加;其三是這些數(shù)據(jù)需要長時間存儲,而海量數(shù)據(jù)集中的非熱點的數(shù)據(jù)也會被隨機訪問。
在這持續(xù)增長的海量數(shù)據(jù)集中,從數(shù)量級上來看,需要計算處理的數(shù)據(jù)大部分是數(shù)字、文本等結(jié)構(gòu)化信息,但是從數(shù)據(jù)存儲容量上來看視頻、圖片等非結(jié)構(gòu)化數(shù)據(jù)在整個數(shù)據(jù)集中占有著超過80%的空間,而這所有的數(shù)量集都有可能被計算處理。
對于如此大數(shù)據(jù)集的分析、管理和挖掘,傳統(tǒng)技術(shù)(包括傳統(tǒng)關(guān)系數(shù)據(jù)庫)是無法勝任的,如何最快最好的分析和理解這些數(shù)據(jù)是一個亟需解決的問題。而在現(xiàn)有的技術(shù)和工具中,最成熟也最成功的一套大數(shù)據(jù)解決方案為分布式系統(tǒng)架構(gòu)(Hadoop)文件存儲計算框架及構(gòu)架于其上的相關(guān)組件(例如分布式數(shù)據(jù)庫HBase)。
Hadoop本身由分布式文件系統(tǒng)(HDFS)和分布式計算框架(MapReduce)組成,其中MapReduce計算框架主要適用于批量文件處理,而在實時數(shù)據(jù)分析處理方面,主要運用的技術(shù)就是分布式的、面向列的開源數(shù)據(jù)庫(HBase)。相比于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,列式存儲的HBase對于非結(jié)構(gòu)化數(shù)據(jù)處理擁有其得天獨厚的優(yōu)勢。
目前,業(yè)內(nèi)對于存儲海量圖片的方法主要有兩種解決方案:一種解決方案是,將結(jié)構(gòu)化數(shù)據(jù)存儲到Hbase,非結(jié)構(gòu)化的圖片數(shù)據(jù)直接存儲到HDFS上,將圖片的存儲地址存儲到Hbase中。在這種方式中,HDFS最小數(shù)據(jù)塊默認是64M,直接將圖片存儲到HDFS上,不足64M的圖片也會占用64M的空間,這樣不僅會浪費大量存儲空間,而且也會產(chǎn)生大量的元數(shù)據(jù),集群運行會將元數(shù)據(jù)加載到內(nèi)存中,勢必會占用大量內(nèi)存,極大影響HDFS整體性能。
另一種解決方案是,將結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化的圖片都存儲到Hbase上,圖片以字節(jié)類型存儲。這種方式無法回避Hfile文件的Region分裂(split)和合并(Compaction),在寫入時容易頻繁的觸發(fā)Split和Compaction。由于Split對于寫操作的阻塞和Compaction對于集群I/O的占用,將直接對寫性能造成直接的不良影響。緩慢的Compaction操作也會導(dǎo)致Flush的延時,從而阻塞了客戶端的更新及實時的查詢。
發(fā)明內(nèi)容
為了解決上述技術(shù)問題,本發(fā)明提供一種基于Hbase的海量圖片存儲方法及裝置,能夠減少磁盤空間的浪費,避免元數(shù)據(jù)內(nèi)存瓶頸,并極大地提高Hbase寫入速度。
為了達到本發(fā)明目的,本發(fā)明提供了一種基于Hbase的海量圖片存儲方法,包括:
讀取預(yù)設(shè)大小的結(jié)構(gòu)化文本信息,并創(chuàng)建一個Mapfile文件;其中,結(jié)構(gòu)化文本信息包括圖片的屬性信息與圖片的原始索引信息;
確定讀取的預(yù)設(shè)大小的結(jié)構(gòu)化文本信息所對應(yīng)的各個圖片,將確定的各個圖片以字節(jié)流的形式寫入到已建立的Mapfile文件中;
將讀取的預(yù)設(shè)大小的結(jié)構(gòu)化文本信息中的各個圖片的屬性信息以及各個圖片所在的Mapfile文件的索引信息存儲至HBase表中。
進一步地,在讀取預(yù)設(shè)大小的結(jié)構(gòu)化文本信息之前,該方法還包括:
啟動MapReduce任務(wù),預(yù)先設(shè)置待處理的結(jié)構(gòu)化文本信息路徑,獲取待處理的結(jié)構(gòu)化文本信息;
將待處理的結(jié)構(gòu)化文本信息分成多個大小為預(yù)設(shè)大小的結(jié)構(gòu)化文本信息。
進一步地,圖片的屬性信息包括:圖片的大小、和圖片的名稱、和圖片的類型、和創(chuàng)建時間、和修改時間。
進一步地,確定讀取的預(yù)設(shè)大小的結(jié)構(gòu)化文本信息所對應(yīng)的各個圖片包括:
在讀取的預(yù)設(shè)大小的結(jié)構(gòu)化文本信息中,獲取讀取的預(yù)設(shè)大小的結(jié)構(gòu)化文本信息所對應(yīng)的各個圖片的原始索引信息;
根據(jù)獲得的各個圖片的原始索引信息找到各個圖片。
進一步地,將確定的各個圖片以字節(jié)流的形式寫入到已建立的Mapfile文件中包括:
設(shè)置建立的Mapfile文件中第一列為Key值,設(shè)置第二列為Value值;
其中,將圖片的名稱寫入Key值所在的列,將圖片的字節(jié)流寫入Value值所在的列。
進一步地,各個圖片所在的Mapfile文件的索引信息包括:Mapfile文件中各個圖片的名稱以及各個圖片所在的Mapfile文件的索引。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浪潮(北京)電子信息產(chǎn)業(yè)有限公司;,未經(jīng)浪潮(北京)電子信息產(chǎn)業(yè)有限公司;許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410425822.4/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種基于thrift服務(wù)的HBase安全插件
- 一種實現(xiàn)Windows下連接控制Hbase的方法及裝置
- 一種基于大數(shù)據(jù)的數(shù)據(jù)脫敏方法和Hbase脫敏處理系統(tǒng)
- 多個集群數(shù)據(jù)一致性的控制方法、裝置、設(shè)備及存儲介質(zhì)
- HBase數(shù)據(jù)遷移方法及遷移裝置
- 基于phoenix改造hbase舊系統(tǒng)的索引同步方法、裝置及系統(tǒng)
- 一種格式化HBase數(shù)據(jù)的方法
- 一種多HBase集群訪問方法、裝置及存儲介質(zhì)
- HBase集群平衡方法、裝置、電子設(shè)備和存儲介質(zhì)
- 一種基于AEP內(nèi)存的HBase集群性能優(yōu)化方法及系統(tǒng)
- 一種數(shù)據(jù)庫海量數(shù)據(jù)比對的方法
- 基于云計算的海量數(shù)據(jù)訪問處理系統(tǒng)
- 一種實現(xiàn)海量數(shù)據(jù)離線分析的方法
- 一種海量矢量切片數(shù)據(jù)云存儲方法及系統(tǒng)
- 一種多源海量數(shù)據(jù)處理系統(tǒng)及方法
- 快速實現(xiàn)海量數(shù)據(jù)準(zhǔn)實時全量統(tǒng)計的方法、裝置及系統(tǒng)
- 一種海量數(shù)據(jù)分析系統(tǒng)及方法
- 在線繪制地圖海量線的方法
- 一種海量點數(shù)據(jù)聚合渲染方法、裝置、設(shè)備及存儲介質(zhì)
- 一種海量不確定XML數(shù)據(jù)存儲方法





