[發明專利]基于Hadoop平臺的海量圖片的快速檢索方法在審
| 申請號: | 201510908363.X | 申請日: | 2015-12-08 |
| 公開(公告)號: | CN106855872A | 公開(公告)日: | 2017-06-16 |
| 發明(設計)人: | 孫玉林;徐寶華;賈春樸;張福元;陳守森 | 申請(專利權)人: | 山東商務職業學院 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 264670 山東*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 hadoop 平臺 海量 圖片 快速 檢索 方法 | ||
技術領域
本發明涉及計算機大數據處理領域,具體是基于Hadoop平臺的海量圖片的快速檢索方法。
背景技術
隨著互聯網的普及和廣泛應用,電商平臺和社交網絡也不斷發展,用于商品展示或社交分享的圖片數量呈爆炸式增長。在這些電子商務網站和社交網站上,圖片的信息表達遠遠超過了文字信息的描述,所以這些電子商務網站和社交網站更加注重圖片的質量。從對淘寶網的分析來看,在整個商務平臺的流量中,對圖片的訪問高達91.5%以上。騰訊相冊的用戶每周上傳的圖片也高達11億張,目前的總圖片數量有近700億張,總容量高達15PB。由于海量圖片需要消耗海量的存儲空間,圖片的存儲和檢索都會出現性能瓶頸。面對海量的圖片資源,如何高效的檢索以及如何在滿足高并發訪問的前提下構建高效廉價的檢索系統成為需要迫切解決的問題。
Hadoop是一個能夠對大量數據進行分布式處理的軟件框架,同時它又是可靠、高效、可擴展的。可靠性體現在它假設計算元素和存儲會失敗,因此它維護多個工作數據副本,確保能夠針對失敗的節點重新分布處理。高效性體現在它以并行的方式工作,通過并行處理加快處理速度。可拓展性指其能夠處理PB級數據。
由于Hadoop最初是針對大規模文本數據處理設計的,內部數據類型有限,不能直接處理圖片數據。在HDFS中,文件或目錄等均是以對象形式在內存中存儲,每個對象約使用150比特內存。隨著海量圖片數量的增加,耗費的內存也迅速增加,大量名字節點內存的耗費,嚴重影響了Hadoop的應用性。同時,檢索大量圖片的速度遠遠慢于訪問相同數據量的大文件。
發明內容
針對海量圖片的檢索出現的性能瓶頸問題,本發明提出了基于Hadoop的海量圖片檢索方法,通過Sequence實現對小圖片合并,并在合并過程中設定單個Sequence File的偏移量,解析索引快速定位存儲圖片Block的DataNode和Fileld,解決海量圖片數據擴容和快速檢索的問題。
為解決上述技術問題,本發明的是通過以下技術方案實現的:
步驟一、搭建Hadoop集群平臺。每臺計算機安裝操作系統和Hadoop軟件,將一臺計算機配置成NameNode,其它計算機配置成DataNodes。各個機器通過SSH直接通信。NameNode負責的是整個存儲層的管理,DataNode主要作為存儲節點。驗證DataNode和NameNode之間聯通性是通過心跳檢測來實現,并且DataNode還要定期將自己的存儲區信息發送給NameNode。當客戶端訪問時,首先訪問NameNode,NameNode會分配相應的空間,在得到相應的空間后開始各個作業。
步驟二、設置安全策略。Hadoop集群平臺中新增一臺DataNode2作為NameNode備份機,將原有NameNode中的數據復制到選定的DataNode2中,在NameNode運行時,NameNode2會實時的檢測NameNode的運行狀態,同時把NameNode中的操作實時更新到本地,在NameNode出現故障時,NameNode2代替NameNode保證服務的正常進行。
步驟三、單圖片存儲處理。圖片先經過負載均衡模塊過濾,進入應用服務器隊列等待進入HDFS存儲系統,通過NameNode分配DataNode進行存儲,圖片寫入過程中先確定寫入Block,再確定Sequence File,系統將二者的ID組合命名為圖片的系統內的名稱。圖片元數據保存在HBase,同時元數據也保存在由Redis構建的緩存系統中。圖片完成寫入操作。
步驟四、文件預處理合并。將指定目錄下的圖片文件讀取進圖片數組,并初始化byte數組,用相應的輸出文件流將byte中的圖片讀入到指定路徑下的合并文件中去。
步驟五:建立圖片索引。圖片名用的是聯合編碼的方式,主要包含BlockId和FileId兩部分。其中BlockId代表的是一個存儲單元,NameNode可以根據其確定最近的DateNode地址,FileId代表的是小圖片在拼接的時候SequenceFile的Id;offset代表的是相應key值的一個的偏移量。HDFS前端在接收到客戶端的請求后首先會解析文件名,根據相關信息定位到相應的Block文件、FileId和offset,然后客戶端直接對圖片進行讀取。在對文件名解析以后,可以直接讀取DateNode節點數據,并可以通過偏移量定位到圖片的開始位置。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于山東商務職業學院,未經山東商務職業學院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510908363.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種數據遷移的方法和裝置
- 下一篇:網絡問答系統、方法與計算機可讀取記錄媒體





