張建
(安徽經(jīng)濟管理干部學(xué)院,安徽 合肥 230059)
基于Hadoop的視頻云存儲架構(gòu)研究
張建
(安徽經(jīng)濟管理干部學(xué)院,安徽 合肥 230059)
在計算機技術(shù)及互聯(lián)網(wǎng)技術(shù)不斷發(fā)展及應(yīng)用的過程中,電子信息(視頻、圖片、數(shù)據(jù)等信息)數(shù)量也在不斷的增長,如何夠有效管理及存儲海量電子信息是目前IT行業(yè)中的巨大挑戰(zhàn).傳統(tǒng)的信息存儲方案具有單一、以及不易擴展的劣勢,導(dǎo)致數(shù)據(jù)的存儲及管理出現(xiàn)了一系列的問題.要想解決這些問題,可以使用云存儲基礎(chǔ),以此處理大量的數(shù)據(jù)信息.云存儲具有可擴展性、實用性、高訪問量及成本較低的優(yōu)點,能夠為數(shù)據(jù)存儲提供良好的服務(wù).
Hadoop;視頻;云存儲;研究
目前,云計算是計算機行業(yè)研究最為熱門的行業(yè),也是社會企業(yè)及研究機構(gòu)重點研究課題.云計算目前正朝著并行處理、分布式處理及網(wǎng)絡(luò)計算的方向的發(fā)展,能夠有效實現(xiàn)計算機科學(xué)的行業(yè)化.云計算最主要的優(yōu)點就是它具有豐富的存儲空間及計算能力,存儲模式的發(fā)展不再只是存儲到個人計算機或者服務(wù)器中,其能夠存儲到云服務(wù)器中,并且還能夠在云服務(wù)器中完成信息的計算及處理,為社會企業(yè)提供了方面,節(jié)約了成本.
1.1 云計算的概念
在互聯(lián)網(wǎng)技術(shù)不斷發(fā)展的過程中,在互聯(lián)網(wǎng)中的數(shù)據(jù)也在不斷的增加,這就產(chǎn)生了大數(shù)據(jù).大數(shù)據(jù)指的就是不能夠通過一般的軟件工具集中管理及處理的數(shù)據(jù)集,這些數(shù)據(jù)集主要來源于社交網(wǎng)站、物聯(lián)網(wǎng)信息及企業(yè)內(nèi)部經(jīng)營三方面,其特點就是具有大量的非結(jié)構(gòu)化數(shù)據(jù),并且數(shù)據(jù)多樣化、價值密度較小、具有多種不相關(guān)信息,并且要求數(shù)據(jù)的處理速度實時性較高.
大數(shù)據(jù)的分析要通過強大的計算方式進行,那么就可以使用云計算.云計算是目前計算機行業(yè)中的產(chǎn)業(yè)革命,對于云計算的研究日益增加,云計算的出現(xiàn)也為目前計算機及互聯(lián)網(wǎng)行業(yè)帶來了全新的機遇和挑戰(zhàn).云計算指的就是能夠通過互聯(lián)網(wǎng)訪問IT資源池的方式,此計算方式根據(jù)需求使用、按量付費,其資源主要包括網(wǎng)絡(luò)、存儲、服務(wù)器、計算、服務(wù)及應(yīng)用等,云計算主要包括網(wǎng)絡(luò)計算、并行計算、虛擬化、網(wǎng)格計算等.從使用角度可以將云計算分為私有云、公有云及混合云三種.[1]
1.2 云計算的體系結(jié)構(gòu)
在云計算體系結(jié)構(gòu)中,用戶的存儲及操作等一系列的服務(wù)都是通過云中的服務(wù)器進行,根據(jù)用戶不同的需求訪問存儲系統(tǒng)及計算機,用戶系統(tǒng)不需要安裝其他軟件,數(shù)據(jù)也能夠在云計算機及服務(wù)器中進行存儲.云計算體系結(jié)構(gòu)見圖1.
圖1 云計算體系結(jié)構(gòu)
用戶界面:主要是使用戶和云系統(tǒng)相互交互,用戶能夠通過用戶界面向云發(fā)出請求;
管理系統(tǒng):主要是分配給計算機各種資源,以此使云中的負載保持平衡;
部署工具:用戶可以通過部署工具中的服務(wù)器節(jié)點,配置滿足自身需求的運行環(huán)境;
服務(wù)目錄:主要顯示用戶能夠操作和訪問的服務(wù)目錄列表,用戶可以通過服務(wù)目錄選擇操作;
監(jiān)控:能夠?qū)崟r查看計算云系統(tǒng)資源的使用現(xiàn)狀,保證資源分配合理;
服務(wù)器群:云系統(tǒng)中不同服務(wù)器的幾何.
2.1 云存儲
云計算處理大數(shù)據(jù)的基礎(chǔ)就是解決數(shù)據(jù)的存儲問題,目前數(shù)據(jù)存儲已經(jīng)是社會企業(yè)及人們關(guān)注的重要問題.傳統(tǒng)存儲設(shè)備具有種種劣勢,以滿足不了如今大數(shù)據(jù)的需求,那么云存儲技術(shù)就油然而生.
簡單來說,云存儲就是云計算技術(shù)的延伸,主要是通過數(shù)據(jù)存儲及管理的云計算平臺,結(jié)合不同位置及種類的存儲物質(zhì),從而創(chuàng)建一個大存儲介質(zhì),為外界提供一個同名的存儲結(jié)構(gòu).圖2為云儲存的簡單結(jié)構(gòu).
圖2 云存儲結(jié)構(gòu)
2.2 Hadoop理論
目前,最流行的開源云計算平臺就是Hadoop生態(tài)系統(tǒng),它的主要優(yōu)點就是具有較強的可靠性、容錯性及擴展性,其核心技術(shù)主要有三種:其一, HDFS;其二,MapReduce;其三,HBase.能夠為用戶提供透明的云存儲系統(tǒng).[2]
3.1 云存儲系統(tǒng)架構(gòu)設(shè)計
視頻云存儲使用C/S及B/S兩者相結(jié)合進行設(shè)計,能夠支持企業(yè)內(nèi)部局域網(wǎng),還能夠支持廣域網(wǎng)中的多級部署.根據(jù)不同的網(wǎng)絡(luò)架構(gòu),全面實現(xiàn)最佳的管理.使用MVC三層架構(gòu)體系,層次清晰、便于開發(fā)及維護.
顯示層:使用戶能夠清晰的看到系統(tǒng)交互界面,B/S架構(gòu)一般指的是瀏覽器顯示界面.用戶可以通過頁面添加文件、刪除文件及查找文件,管理員能夠通過顯示層監(jiān)控及維護集群的運行狀態(tài),并且管理用戶.
業(yè)務(wù)邏輯層:指的是整個系統(tǒng)業(yè)務(wù)的規(guī)則和邏輯,能夠通過其進行并行處理并且訪問Hadoop數(shù)據(jù),處理一系列的基本邏輯,并且配置整個平臺的存儲系統(tǒng).
數(shù)據(jù)存儲層:數(shù)據(jù)存儲層是整個系統(tǒng)結(jié)構(gòu)的基礎(chǔ),能夠通過Hadoop存儲文檔并且創(chuàng)建倒排索引,還能夠?qū)崿F(xiàn)原數(shù)據(jù)的存儲.[3]
3.2 云存儲功能模塊設(shè)計
模塊化的設(shè)計能夠使系統(tǒng)的開發(fā)和維護更加方便,將ERMS管理系統(tǒng)業(yè)務(wù)和云存儲相結(jié)合,可以將系統(tǒng)分為系統(tǒng)管理模塊、數(shù)據(jù)處理模塊、普通用戶模塊及審計監(jiān)控模塊.管理員通過系統(tǒng)管理模塊,能夠管理用于及存儲平臺.云存儲服務(wù)提供商也能夠作為ERMS系統(tǒng)管理員,普通用戶就是使用云存儲中服務(wù)的用戶.數(shù)據(jù)處理主要是對文件存儲之前進行基本的信息加工,系統(tǒng)監(jiān)控維護指的主要是故障監(jiān)控、服務(wù)器信息管理及報警管理.[4](圖4為云存儲功能模塊)
圖4 云存儲功能模塊
3.1 視頻文件的上傳
在云存儲平臺中,有許多邏輯處理流程,視頻文件的上傳是最為復(fù)雜的.首先,外部的數(shù)據(jù)是通過交互界面瀏覽器傳送到處理模塊中進行處理,通過中心處理模塊初步處理視頻文件,之后將元數(shù)據(jù)信息提取出來,并且將其放入到數(shù)據(jù)庫中.如果視頻文件到達一定值的時候,要將其直接存放到HDFS中,如果沒有到達一定值的話,可以將其存放到服務(wù)器小文件中.如果文件滿了的化,可以將文件進行壓縮處理,之后合成大文件存放到HDFS中,之后將文件進行處理建立倒排索引,之后將其存放到數(shù)據(jù)HBase中.圖5為Hadoop云存儲文件上傳流程.[5]
圖5 Hadoop云存儲文件上傳流程
3.2 視頻文件的下載
用戶在下載視頻文件的過程后之前,首先要判斷文件是否為多個或者文件夾,或者是否為空.如果出現(xiàn)以上情況,系統(tǒng)就會出現(xiàn)提示信息.用戶選定文件之后,系統(tǒng)就會自動處理用戶提交到數(shù)據(jù),判斷文件的位置是否在HDFS中,如果沒有,那么就會自動返回頁面,如果在的話,系統(tǒng)就會讀取文件內(nèi)容,將讀取數(shù)據(jù)發(fā)送到瀏覽器中,之后輸出,最后返回頁面.圖6為Hadoop云存儲文件下載流程.
3.3 視頻文件創(chuàng)建目錄
在用戶為視頻文件創(chuàng)建目錄文件的時候,系統(tǒng)首先要判斷用戶是否具有創(chuàng)建目錄的權(quán)限,如果沒有,那么系統(tǒng)就會提示用戶返回頁面,如果有,那么系統(tǒng)就會將用戶的數(shù)據(jù)信息傳送到服務(wù)器中,之后處理并且判斷用戶數(shù)據(jù),判斷文件夾是否存在.檢測成功之后,系統(tǒng)就會將其記錄到數(shù)據(jù)庫中,之后返回到頁面中.[6]
圖6 Hadoop云存儲文件的下載流程
3.4 視頻文件重命名
用戶在重新命名視頻文件名稱或者文件夾名稱的時候,系統(tǒng)會判斷用戶是否能夠重命名文件,如果不能,那么就會有提示信息,使用戶返回頁面.如果可以,系統(tǒng)就會顯示一個對話框,提示用戶是否確定重新命名文件夾,用戶將名稱進行修改之后進行保存.將相關(guān)的數(shù)據(jù)提交到服務(wù)器中,之后將數(shù)據(jù)進行過濾驗證處理,驗證成功之后文件名稱將會保存,用戶提示信息就會提示用戶返回頁面.
3.5 數(shù)據(jù)表結(jié)構(gòu)
存儲系統(tǒng)數(shù)據(jù)庫中具有七張表,詳見圖7.
圖7 數(shù)據(jù)表結(jié)構(gòu)
其中用戶信息表和元數(shù)據(jù)表處于整個表的核心部分,用戶信息表中字段說明見表1,元數(shù)據(jù)表字段說明見表2.
表1 用戶信息表字段說明
表2 元數(shù)據(jù)表字段說明
云計算自發(fā)展以來,豐富了計算機與互聯(lián)網(wǎng)的功能及應(yīng)用嗎,云存儲及數(shù)據(jù)管理技術(shù)為云計算的核心.本文基于Hadoop創(chuàng)建了簡單的視頻云存儲架構(gòu),實現(xiàn)了云系統(tǒng)中視頻文件的存儲.目前云存儲還處于起步狀態(tài),在今后對于云存儲的研究還會不斷深入,云存儲也會被廣泛應(yīng)用.
〔1〕劉琨,李愛菊,董龍江.基于Hadoop的云存儲的研究及實現(xiàn)[J].微計算機信息,2011,27(7):220-221.
〔2〕成靜靜.基于Hadoop的分布式云計算/云存儲方案的研究與設(shè)計[J].數(shù)據(jù)通信,2012(5):14-18.
〔3〕崔朝國,劉志明,李婧,等.一種基于Hadoop的Scool云存儲平臺[J].電腦知識與技術(shù),2013(2): 405-408.
〔4〕潘富斌.基于Hadoop的安全云存儲系統(tǒng)研究與實現(xiàn)[D].電子科技大學(xué),2013.
〔5〕王鳳領(lǐng).基于Hadoop高校教育資源云存儲平臺構(gòu)建研究[J].計算機技術(shù)與發(fā)展,2016,26(3):176-180.
〔6〕裴云,陳敏,邢益良.基于Hadoop的數(shù)據(jù)云存儲研究與應(yīng)用 [J].電腦編程技巧與維護,2015(8): 79-80.
TP333
A
1673-260X(2017)04-0025-03
2017-02-12
安徽省教育廳自然科學(xué)重點項目(KJ2015A394)