• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Hadoop的海量圖片存儲平臺的設(shè)計與開發(fā)

      2018-09-13 11:22:00周曉慶周智勇高江錦肖建瓊羅興賢
      電腦知識與技術(shù) 2018年17期
      關(guān)鍵詞:分布式計算

      周曉慶 周智勇 高江錦 肖建瓊 羅興賢

      摘要:隨著 Internet的飛速發(fā)展與深入應(yīng)用,海量圖片數(shù)據(jù)的存取問題顯得越發(fā)突出,傳統(tǒng)存儲架構(gòu)已突顯管理效率不高、存儲能力不足及成本太高等問題,Hadoop為我們提供了一種新的解決問題的思路,Hadoop可以充分利用集群的威力進行高速運算和存儲,但是小文件過多時Hadoop的NameNode將導(dǎo)致內(nèi)存出現(xiàn)瓶頸問題,使得系統(tǒng)效率變得極為低下。該文提出了一種基于Hadoop的、可對海量圖片文件進行高效處理的存儲架構(gòu),通過預(yù)處理模塊的歸類算法,并引入擴展一級索引機制,能較好地解決海量圖片的處理問題,并避免內(nèi)存瓶頸問題。實驗表明,該系統(tǒng)易維護、具有良好的可擴展性,其穩(wěn)定性、安全性、并發(fā)性均有較大改善。

      關(guān)鍵詞:海量圖片;Hadoop;分布式計算;存儲架構(gòu)

      中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)17-0135-03

      Abstract: With fast development and deep appliance of the Internet, problem of mass image data storage stand out, so the problem of low management efficiency, low storage ability and high cost of traditional storage framework has appeared. The appearance of Hadoop provides a new thought. However, Hadoop itself is not suit for the handle of small files. This paper puts forward a storage framework of mass image files based on Hadoop, and solved the internal storage bottleneck of NameNode when small files are excessive through classification algorithm of preprocessing module and lead-in of high efficiency and first-level of index mechanism. The test manifests that the system is safe, easy to defend and has fine extension quality; as a result, it can reach to a fine effect.

      Key words: Massive Images; Hadoop; Distributed Calculation;storage framework

      1 背景

      隨著 Internet的飛速發(fā)展與深入應(yīng)用,大型門戶網(wǎng)站、電子商務(wù)網(wǎng)站及網(wǎng)絡(luò)社區(qū)大量出現(xiàn),這些網(wǎng)站都存儲有大量圖片,傳統(tǒng)的技術(shù)架構(gòu)在處理海量數(shù)據(jù)方面顯得越來越乏力[1]。如何構(gòu)建一個能高并發(fā)訪問且廉價高效的圖片存儲管理系統(tǒng)已經(jīng)成為一個亟待解決的問題。云存儲概念的提出給我們提供了一種解決思路, Hadoop能夠?qū)A繑?shù)據(jù)進行分布式高效處理,然而, HDFS并不是為處理小文件而設(shè)計的[2][3],要用Hadoop來進行海量圖片的存儲及處理,必須對其進行改進。通過對Hadoop的HDFS、MapReduce技術(shù)的研究以及圖片存儲的業(yè)務(wù)需求分析[4],我們提出了一種基于Hadoop的海量圖片存儲模型。系統(tǒng)采用 Map Reduce 編程算法實現(xiàn)并行處理,可以對海量數(shù)據(jù)進行快速處理,充分利用低廉PC的處理能力,充分利用現(xiàn)有資源實現(xiàn)高并發(fā)、高可靠的應(yīng)用。

      2 平臺總體設(shè)計

      系統(tǒng)采用HA架構(gòu)及平滑擴容,可用性和擴展性都較好,通過引入高效的擴展一級索引機制,可使系統(tǒng)快速定位到圖片文件所在的序列文件及其偏移位置。通過建立圖片存儲模型,可實現(xiàn)在高并發(fā)高訪問下圖片存取的高擴展性和高容錯性。通過負載均衡系統(tǒng)和緩存系統(tǒng)的設(shè)計,對各存儲節(jié)點進行存儲優(yōu)化,使其存儲穩(wěn)定性得到較大提高。系統(tǒng)采用 MVC三層架構(gòu)設(shè)計,分別是數(shù)據(jù)資源層、業(yè)務(wù)邏輯層、應(yīng)用接口層。

      數(shù)據(jù)資源層是整個平臺的基礎(chǔ),是云存儲系統(tǒng)的基礎(chǔ)部分。存儲設(shè)備可以采用多種光纖存儲設(shè)備,如NAS、iSCSI等設(shè)備,也可以采用SCSI或SAS等DAS存儲設(shè)備[5]。由一個統(tǒng)一的存儲設(shè)備管理系統(tǒng)對存儲設(shè)備進行管理,從而對物理存儲設(shè)備實現(xiàn)邏輯虛擬化管理、多鏈路冗余管理,并且對硬件設(shè)備進行狀態(tài)監(jiān)控及故障維護,其主要功能是協(xié)調(diào)下層若干存儲設(shè)備,對上層的應(yīng)用服務(wù)。該層通過利用HadoopHDFS提供的文件存儲系統(tǒng),HadoopMapReduce提供的海量數(shù)據(jù)處理能力,通過集成大量廉價PC的集群來提供海量存儲容量。

      業(yè)務(wù)邏輯層并行處理海量圖片數(shù)據(jù),并對整個平臺系統(tǒng)進行配置管理,它是云存儲系統(tǒng)中最重要的部分。該層使得各個存儲設(shè)備協(xié)調(diào)運行,多個存儲設(shè)備向上層應(yīng)用提供統(tǒng)一的服務(wù),屏蔽下層的存儲設(shè)備,提供更好的訪問性能。同時,通過集群、分布式文件系統(tǒng)和網(wǎng)格計算等來實現(xiàn)云存儲中存儲設(shè)備間的協(xié)同工作,對外提供同一種服務(wù)。

      應(yīng)用接口層為用戶提供方便、易用和友好界面,是云存儲最靈活多變的部分,在云計算平臺中,可以支持各種不同類型的應(yīng)用,在相同的時間點上,云端也同時支持不同類型的應(yīng)用,各系統(tǒng)可以自行定制各自的服務(wù),這也正體現(xiàn)了云存儲的優(yōu)勢。

      3 平臺功能設(shè)計

      3.1 平臺總體功能模塊構(gòu)成

      從系統(tǒng)功能角度考慮,整個系統(tǒng)的總體功能模塊構(gòu)成如圖1所示:

      3.2 平臺分層模塊構(gòu)成分析

      3.2.1 業(yè)務(wù)邏輯層模塊構(gòu)成

      業(yè)務(wù)邏輯層是本系統(tǒng)設(shè)計開發(fā)的重點內(nèi)容,也是整個系統(tǒng)的核心,該層由5個功能模塊構(gòu)成,分別是圖片文件索引模塊、存儲控制模塊、緩存服務(wù)模塊、業(yè)務(wù)處理模塊、負載均衡模塊。

      圖片文件預(yù)處理模塊的主要功能是對圖片文件進行預(yù)處理、文件名設(shè)計和圖片元數(shù)據(jù)管理。預(yù)處理模塊通過歸類算法將具有強相關(guān)性強的文件合并為序列文件,從而大大減少文件數(shù)量,再通過擴展一級索引即可快速找到圖片文件在序列文件中的位置。為此我們采用Hadoop中的HBase來存儲圖片元數(shù)據(jù)[6],索引則可保證其唯一性。

      存儲控制模塊主要功能是對存儲管理提供統(tǒng)一界面和命令,通過在廉價PC上部署 HDFS 文件系統(tǒng),搭建機器集群,為海量數(shù)據(jù)的存儲提供相關(guān)存儲設(shè)備,對上層應(yīng)用提供接口,以實現(xiàn)對圖片的相關(guān)操作,保證數(shù)據(jù)的安全性及存儲節(jié)點的穩(wěn)定性,并進行存儲優(yōu)化。用戶可通過Hadoop提供的端口50070查看NameNode信息。

      緩存服務(wù)模塊的主要功能是構(gòu)建緩存區(qū),起到篩檢過濾的功能。與傳統(tǒng)的緩存區(qū)使用 Memecache 來構(gòu)建有所不同,我們利用Redis來構(gòu)建緩存區(qū)。Redis 跟 Memecache 類似,也是一個的存儲模型,但所支持的Value 類型更多,而且可支持像取交集、并集、差集等這樣一些原子性操作。

      業(yè)務(wù)處理模塊主要對圖片數(shù)據(jù)進行處理,上傳圖片都要進行相關(guān)處理,如縮放、切割等等。利用map Reduce即可對上傳的圖片進行處理,處理后的圖片被存儲到廉價PC的節(jié)點機器上,這樣可減少各個節(jié)點的壓力。在對存儲的圖像進行處理的時候,Map Reduce每次處理圖像時,會讀取緩沖區(qū)中相應(yīng)的數(shù)據(jù)加載到內(nèi)存中,由于緩沖區(qū)中的數(shù)據(jù)是按矩陣存儲的,可通過各種圖片處理算法對圖片進行壓縮,壓縮完成后存入到 HDFS 系統(tǒng)中。

      負載均衡模塊的主要功能是在高并發(fā)情況下使系統(tǒng)能夠安全穩(wěn)定的運行,它承擔著系統(tǒng)災(zāi)難控制,資源分配,故障規(guī)避等功能。Hadoop中,數(shù)據(jù)在HDFS節(jié)點中分布并不均衡,特別是當有新增從節(jié)點或從節(jié)點發(fā)生故障的時候,其數(shù)據(jù)分布不均勻狀況則更加嚴重。該文采用HAProxy的RoundRobin負載均衡算法,通過負載均衡算法進行負載管理,降低系統(tǒng)局部負載,對系統(tǒng)資源進行合理分配和調(diào)度。

      3.2.2 應(yīng)用接口層模塊構(gòu)成

      該層由基于用戶的GUI界面模塊和基于算法庫的API模塊兩大模塊構(gòu)成?;谟脩舻腉UI界面模塊面向用戶,針對不同的用戶為用戶提供各種友好的操作應(yīng)用工具,以方便用戶進行海量數(shù)據(jù)存儲處理工作?;谒惴◣斓腁PI模塊對于有較高、較多要求的高級用戶,可提供編寫應(yīng)用系統(tǒng),調(diào)用算法庫中的API來擴展系統(tǒng)功能,實現(xiàn)所需的應(yīng)用功能。

      4 系統(tǒng)實現(xiàn)及結(jié)果分析

      4.1 軟件準備

      操作系統(tǒng)使用Ubuntu9.04,分布式文件系統(tǒng)用Hadoop0.20.2,選擇JDK1.6.0_31作為JDK環(huán)境,包括一個NameNode 服務(wù)器、一個JobTracker服務(wù)器和4個 DataNode 服務(wù)器。圖片服務(wù)器用Nginx-0.9.6,緩存軟件為Redis,負載均衡軟件使用HAProxy,使用Java 作為開發(fā)環(huán)境。通過配置 host 文件、創(chuàng)建新的用戶和目錄、安裝 JDK 和配置環(huán)境參數(shù)、然后配置SSH 免密碼登錄、安裝 Hadoop ,從而完成Hadoop 的部署及配置。

      4.2 實驗結(jié)果分析

      4.2.1 集群安全性測試

      NameNode安全性測試,通過HeartAgent實現(xiàn)DataNode2對NameNode的熱備份,當斷開NameNode的網(wǎng)絡(luò)連接后,迅速通過HeartAgent將vip綁定到NameNode2的地址,檢查后確認滿足安全性需求且服務(wù)正常,從而完成系統(tǒng)安全性測試。

      4.2.2 圖片存取接口測試

      首先通過并發(fā)線程對小圖片進行大量存取操作,以測試應(yīng)用服務(wù)器的并發(fā)能力,然后隨機對小圖片的讀取情況進行分析處理,其讀取和寫入效果如圖2和圖3所示。

      從圖中可以看出,通過Hadoop構(gòu)建的存儲系統(tǒng)的讀寫TPS (每秒傳輸?shù)牟僮鞔螖?shù))與傳統(tǒng)NFS構(gòu)建的存儲系統(tǒng)相比,其達到峰值時的所能容納的線程數(shù)明顯增加。這說明采用Hadoop的新存儲系統(tǒng)減少了系統(tǒng)IO操作次數(shù),提高了系統(tǒng)的承載量,在同等機器配置下,能實現(xiàn)更多的并發(fā)讀取及寫入操作。采用Hadoop的新存儲系統(tǒng)在讀寫性能上優(yōu)于NFS,可保證系統(tǒng)的高吞吐性。面對高并發(fā)的讀寫操作時,新存儲系統(tǒng)中的HDFS能保證系統(tǒng)的穩(wěn)定性及安全性。

      4.2.3 系統(tǒng)性能測試

      在系統(tǒng)性能測試中,我們將數(shù)據(jù)文件分成不同量級進行計算分析,并對單機和Hadoop 集群在不同量級上所耗時間進行統(tǒng)計對比。測試結(jié)果如圖4所示。

      從圖4中可以看出,當數(shù)據(jù)量較小時,集群比單機耗用時間較多,說明集群的分布式架構(gòu)在系統(tǒng)初始化和中間文件的生成與傳遞上耗時較多,Hadoop 集群在數(shù)據(jù)量較小時并沒有優(yōu)勢。隨著數(shù)據(jù)量增大,可看出Hadoop 集群的分布式并行計算的優(yōu)勢逐漸發(fā)揮出來,集群系統(tǒng)處理時間增加幅度明顯較小。測試結(jié)果表明,隨著數(shù)據(jù)量的增大,相比單機,集群節(jié)約的時間越來越大,這充分體現(xiàn)了 Hadoop 集群在大數(shù)據(jù)量處理速度上有很大的優(yōu)勢。

      5 結(jié)束語

      該文設(shè)計了一個基于Hadoop的海量圖片數(shù)據(jù)存儲平臺架構(gòu),該平臺采用并行分布式技術(shù)、Linux集群技術(shù)。平臺以Hadoop分布式平臺為基礎(chǔ),使用HDFS分布式文件系統(tǒng)、Map Reduce并行計算模型及HBase數(shù)據(jù)庫技術(shù)作為處理海量圖片數(shù)據(jù)的有效方法,以Redis和HAProxy來構(gòu)建緩存區(qū)并進行負載均衡處理。通過使用大量的普通PC形成集群,達到了高效存儲和管理海量圖片數(shù)據(jù)的要求。仿真實驗的結(jié)果表明,系統(tǒng)具有良好的穩(wěn)定性,在處理大數(shù)據(jù)量時性能良好,同時還具有很好的擴展性和易維護性,具有編程簡化、安全可靠性高、開發(fā)成本低、易于實現(xiàn)等優(yōu)點

      參考文獻:

      [1] 趙曉永, 楊揚, 孫莉莉, 等. 基于 Hadoop 的海量 MP3 文件存儲架構(gòu)[J]. 計算機應(yīng)用,2012, 32(6): 1724-1726.

      [2] 鄧涵元, 盧山, 程光, 等. 基于MPP-Hadoop混合架構(gòu)高校數(shù)據(jù)集成系統(tǒng)研究[J]. 計算機技術(shù)與發(fā)展, 2018(7).

      [3] 崔杰, 李陶深, 蘭紅星. 基于Hadoop的海量數(shù)據(jù)存儲平臺設(shè)計與開發(fā)[J]. 計算機研究與發(fā)展, 2012(49): 12-18.

      [4] 柳俊. 基于 Hadoop 的海量教學(xué)資源存儲平臺的設(shè)計與研究[J]. 電腦與電信,2013(7).

      [5] Bibhudutta Jena, Mahendra Kumar Gourisaria, Siddharth Swarup Rautaray, et al. A Survey Work on Optimization Techniques Utilizing Map Reduce Framework in Hadoop Cluster[J]. International Journal of Intelligent Systems and Applications(IJISA), 2017, 9(4): 61-68.

      [6] Systems, Tome White. Hadoop: The Definitive Guide [M]. O'REILLY PRESS, 2009: 9-13.

      猜你喜歡
      分布式計算
      基于云計算的大數(shù)據(jù)處理與分析綜述
      基于云計算的移動學(xué)習(xí)平臺設(shè)計與實現(xiàn)
      云計算中MapReduce分布式并行處理框架的研究與搭建
      云計算技術(shù)概述
      面向異構(gòu)分布式計算環(huán)境的并行任務(wù)調(diào)度優(yōu)化方法
      四会市| 巴林右旗| 达孜县| 万荣县| 崇礼县| 盐边县| 禄丰县| 吐鲁番市| 尼木县| 长沙市| 西乡县| 吉安县| 军事| 苍山县| 滨海县| 宜春市| 嘉善县| 温州市| 名山县| 扬中市| 迭部县| 都江堰市| 朔州市| 余姚市| 时尚| 莒南县| 卢湾区| 哈巴河县| 廊坊市| 苍溪县| 明星| 阜平县| 临西县| 弥渡县| 札达县| 宜章县| 马关县| 菏泽市| 潞城市| 共和县| 镇雄县|