999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Hadoop分布式視頻存儲(chǔ)與管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)

2019-11-11 13:14:38姚曉玲陳帥帥
電腦知識(shí)與技術(shù) 2019年27期

姚曉玲 陳帥帥

摘要:針對(duì)視頻存儲(chǔ)快速增長(zhǎng)的需求,為中小型視頻網(wǎng)站設(shè)計(jì)了基于Hadoop的視頻存儲(chǔ)與管理系統(tǒng)。系統(tǒng)采用B/S模式,使用多層應(yīng)用架構(gòu),以IntelliJ IDEA為開(kāi)發(fā)工具,以SSM作為體系結(jié)構(gòu)解決方案,頁(yè)面層使用Bootstrap前端框架,以JSP技術(shù)進(jìn)行開(kāi)發(fā),使用MySQL進(jìn)行結(jié)構(gòu)化信息數(shù)據(jù)存儲(chǔ),使用Hadoop對(duì)視頻進(jìn)行分布式存儲(chǔ)。系統(tǒng)對(duì)日益增多的視頻數(shù)據(jù)進(jìn)行有效的存儲(chǔ)和快速的檢索,具備大容量、高并發(fā)、高可靠、易擴(kuò)展、易整合、易管理等特性。

關(guān)鍵詞:Hadoop;hdfs;分布式存儲(chǔ);在線視頻;SSM

中圖分類號(hào):TP315? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2019)27-0071-03

Abstract: In view of the rapid growth of video storage, a video storage and management system based on Hadoop is designed for small and medium-sized video websites. The system adopts B/S mode multi-layer application architecture, uses IntelliJ IDEA as development tool, uses SSM as the architecture solution, and the page layer uses Bootstrap front-end framework to develop with JSP technology, using MySQL as the database. The management system uses the Hadoop distributed file storage system to store video. The system can store and retrieve more and more video data effectively. It has the characteristics of large capacity, high concurrency, high reliability, easy expansion, easy integration and easy management.

Key words: Hadoop; hdfs; distributed storage; Online Video; SSM

1 背景

隨著4G網(wǎng)絡(luò)迅速發(fā)展以及移動(dòng)手機(jī)普及,近幾年來(lái)在線視頻行業(yè)發(fā)展迅猛,截至2018年12月,在線視頻行業(yè)滲透率達(dá)71.3%,12月行業(yè)DAU(daily active user)達(dá)2.06億[1]。面對(duì)急速增長(zhǎng)的市場(chǎng)需求,單機(jī)的后臺(tái)視頻存儲(chǔ)服務(wù)器已經(jīng)不能滿足互聯(lián)網(wǎng)企業(yè)的要求。

針對(duì)以上問(wèn)題,結(jié)合在線視頻行業(yè)現(xiàn)狀和視頻網(wǎng)站的實(shí)際情況,開(kāi)發(fā)了基于Hadoop視頻存儲(chǔ)與管理的分布式系統(tǒng)。該系統(tǒng)運(yùn)用模塊化的思想,將業(yè)務(wù)功能分成了多個(gè)獨(dú)立的模塊,如:視頻存儲(chǔ)模塊,視頻管理模塊,用戶模塊,廣告模塊等。每個(gè)模塊分別部署在集群中,當(dāng)某個(gè)模塊需求較大時(shí),只需要增加相應(yīng)的子節(jié)點(diǎn)。分布式結(jié)構(gòu)極大降低了各模塊之間的耦合度,使其可以獨(dú)立開(kāi)發(fā)、部署、測(cè)試,也可以更有針對(duì)性地對(duì)整個(gè)系統(tǒng)進(jìn)行擴(kuò)展[2]。

2 系統(tǒng)設(shè)計(jì)

2.1 系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)

部署該系統(tǒng)的目的是讓網(wǎng)站能夠?yàn)橛脩籼峁┝己玫牟シ朋w驗(yàn),帶來(lái)極大的訪問(wèn)量,實(shí)現(xiàn)收益的最大化,因此面向用戶的前臺(tái)有以下功能:用戶注冊(cè)、登錄、個(gè)人信息維護(hù)、視查詢、視頻播放、評(píng)論以及系統(tǒng)推薦,后臺(tái)管理員的權(quán)限和功能主要包括:服務(wù)器和系統(tǒng)管理、用戶管理、視頻管理、前臺(tái)模板管理、廣告的管理、數(shù)據(jù)采集管理。

系統(tǒng)功能結(jié)構(gòu)圖[3]能夠梳理視頻管理系統(tǒng)各個(gè)功能模塊在開(kāi)發(fā)過(guò)程中業(yè)務(wù)邏輯,減少開(kāi)發(fā)的工作量。系統(tǒng)前臺(tái)功能結(jié)構(gòu)圖如圖1,系統(tǒng)后臺(tái)功能結(jié)構(gòu)圖如圖2所示。

2.2 系統(tǒng)技術(shù)架構(gòu)設(shè)計(jì)

系統(tǒng)使用的是廉價(jià)的服務(wù)器主機(jī),安裝開(kāi)源的Linux系統(tǒng)CentOS,搭建Hadoop集群環(huán)境,使用hdfs存儲(chǔ)視頻文件,安裝MySQL數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù)。使用Mybatis作為持久化框架,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的增、刪、改、查功能;使用Spring管理所有Bean的生命周期,維護(hù)應(yīng)用中所有對(duì)象的創(chuàng)建、初始化、銷毀及關(guān)聯(lián)關(guān)系;使用SpringMVC作為View層的實(shí)現(xiàn)者,完成用戶的請(qǐng)求接收功能,SpringMVC的Controller作為整個(gè)應(yīng)用的控制器,完成用戶請(qǐng)求的轉(zhuǎn)發(fā)及對(duì)用戶的響應(yīng)[4]。使用Bootstrap框架開(kāi)發(fā)前端用戶界面的響應(yīng)式布局,使用LayUI框架完成后臺(tái)管理員界面模塊化布局。

系統(tǒng)分層是一種很常見(jiàn)的架構(gòu)模式,是大多數(shù)Java EE應(yīng)用的實(shí)際標(biāo)準(zhǔn), 分層架構(gòu)模式里的組件被分成幾個(gè)平行的層次,每一層都代表了應(yīng)用的一個(gè)功能(展示邏輯或者業(yè)務(wù)邏輯)。本系統(tǒng)分為Action、Service、DAO、Model層,其中DAO層主要是做數(shù)據(jù)持久層的工作,負(fù)責(zé)與數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn)類都封裝在此;Service層主要負(fù)責(zé)業(yè)務(wù)模塊的邏輯應(yīng)用設(shè)計(jì);Model層存放應(yīng)用邏輯層的對(duì)象,頁(yè)面訪問(wèn)時(shí):首先Action層引用對(duì)應(yīng)的Service層,Service層進(jìn)行業(yè)務(wù)處理和調(diào)用Dao層,Dao層對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作并將數(shù)據(jù)封裝到Model層的實(shí)體類返回給Service層,Service層再返還給Action層,Action返回給前端。其他包如Util里面存放的是靜態(tài)工具類,Interceptor里面放的全局的攔截器,Exception里面存放的異常信息,Task里面存放的是一些定時(shí)任務(wù)。

3 視頻存儲(chǔ)在Hdfs中的技術(shù)實(shí)現(xiàn)

Hadoop作為一個(gè)大數(shù)據(jù)框架,可以實(shí)現(xiàn)對(duì)存儲(chǔ)到hdfs數(shù)據(jù)進(jìn)行分布式管理,因此如何將視頻數(shù)據(jù)存儲(chǔ)到hdfs以及從hdfs下傳數(shù)據(jù)實(shí)現(xiàn)網(wǎng)頁(yè)播放成為系統(tǒng)的技術(shù)關(guān)鍵點(diǎn)。

3.1 視頻存儲(chǔ)到hdfs視頻上傳首先使用Spring上傳文件的形式先將前端文件接收到后臺(tái),然后調(diào)用Upload類,關(guān)鍵部分代碼如下所示:

設(shè)計(jì)操作Hadoop接口的類Upload,將從Controller傳過(guò)來(lái)的數(shù)據(jù)通過(guò)調(diào)用Hadoop的FileSystem接口中的copyFromLocalFile方法實(shí)現(xiàn)將視頻文件上傳到hdfs中。

其中的fs.defaultFS屬性需要與集群Master NameNode節(jié)點(diǎn)中配置的一致。該屬性配置一般在etc/hadoop/core-site.xml文件中進(jìn)行定義。

copyFromLocalFile方法參數(shù)說(shuō)明:

第一個(gè)參數(shù):表示是否刪除本地的源文件,也就是上傳文件后是否保留原文件,這里為了避免后續(xù)文件越來(lái)越多,就直接采用上傳成功就刪除的方式。

第二個(gè)參數(shù):表示是否覆蓋已存在的文件,這里false表示不覆蓋,如果HDFS集群中已存在該文件,就提示上傳失敗。

第三個(gè)參數(shù):表示源文件路徑。

第四個(gè)參數(shù):上傳到HDFS指定的路徑。

3.2 網(wǎng)頁(yè)播放HDFS視頻的技術(shù)實(shí)現(xiàn)后臺(tái)接收前臺(tái)傳來(lái)的播放請(qǐng)求,將HDFS路徑和前臺(tái)文件路徑參數(shù)拼接形成完整的視頻源文件路徑。然后新建數(shù)據(jù)流,判斷是否是斷點(diǎn)續(xù)播,設(shè)置不同的頭文件參數(shù)及開(kāi)始和結(jié)束的位置,最后調(diào)用Hadoop的IOUtils接口中的copyBytes方法實(shí)現(xiàn)文件流的傳輸。

4 結(jié)束語(yǔ)

本文結(jié)合當(dāng)下視頻網(wǎng)站的運(yùn)營(yíng)模式對(duì)視頻系統(tǒng)功能需求進(jìn)行分析,確定系統(tǒng)使用需求,以IntelliJ IDEA為開(kāi)發(fā)工具、Hadoop集群為測(cè)試環(huán)境下使用Java WEB結(jié)合MySQL數(shù)據(jù)庫(kù),基于Spring、Spring MVC、MyBatis的Java EE企業(yè)級(jí)框架,設(shè)計(jì)與實(shí)現(xiàn)了視頻存儲(chǔ)與管理系統(tǒng)。

系統(tǒng)使用集群結(jié)構(gòu),實(shí)現(xiàn)了負(fù)載均衡,同時(shí)又具有高性價(jià)比、高可用性,可以通過(guò)廉價(jià)的符合工業(yè)標(biāo)準(zhǔn)的硬件構(gòu)造出高性能的系統(tǒng),解決中小網(wǎng)站前期硬件投資費(fèi)用高昂的痛點(diǎn)。

參考文獻(xiàn):

[1] 中國(guó)互聯(lián)網(wǎng)絡(luò)信息中心. 第41次中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告[EB/OL]. http://www.cac.gov.cn/2018-01/31/c_1122347026.html.

[2] 李慶君. Hadoop架構(gòu)下海量空間數(shù)據(jù)存儲(chǔ)與管理[D]. 武漢: 武漢大學(xué), 2017.

[3] 朱三元. 軟件工程技術(shù)概論[M]. 北京: 科學(xué)出版社, 2002: 145-150.

[4] 張宇, 王映輝, 張翔南. 基于Spring的MVC框架設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程, 2010, 36(4): 59-62.

[5] 吳張順, 張珣. 基于FFmpeg的視頻編碼存儲(chǔ)研究與實(shí)現(xiàn)[J]. 杭州電子科技大學(xué)學(xué)報(bào), 2006, 26(3).

[6] 高煜紅, 陳清華, 方路平. ZFS在基于Hadoop的視頻存儲(chǔ)系統(tǒng)中的應(yīng)用[J]. 杭州電子科技大學(xué)學(xué)報(bào), 2013(5): 102-105.

[7] 王志力, 李瑩. 基于WEB的開(kāi)放式架構(gòu)下視頻管理系統(tǒng)設(shè)計(jì)[J]. 現(xiàn)代電子技術(shù), 2017, 40(17): 15-18.

[8] 馮亞洲. 基于Hadoop的電力視頻大數(shù)據(jù)分布式檢索系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D]. 南京: 南京郵電大學(xué), 2017.

[9] 范進(jìn)超. 基于SSH框架的網(wǎng)絡(luò)視頻管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 長(zhǎng)沙: 湖南大學(xué), 2015.

【通聯(lián)編輯:謝媛媛】

主站蜘蛛池模板: 女人毛片a级大学毛片免费| 尤物国产在线| 狠狠干综合| 日本亚洲欧美在线| 国产日韩精品一区在线不卡| 国产精品美女网站| 欧美在线导航| 国产亚洲精品91| 国产无吗一区二区三区在线欢| 伊人网址在线| 国产精品9| 啊嗯不日本网站| 国产精品内射视频| 国产高清国内精品福利| 亚洲二区视频| 亚洲综合天堂网| 免费一极毛片| 性网站在线观看| 看你懂的巨臀中文字幕一区二区 | 国产精品视频系列专区| 国产欧美视频在线| 亚洲国产综合精品中文第一| Jizz国产色系免费| 美女扒开下面流白浆在线试听| 亚洲成人播放| 亚洲人成网线在线播放va| 久久久久久久久久国产精品| 国产一区二区精品福利| 国产精品99r8在线观看| 久久精品最新免费国产成人| 日韩国产高清无码| 在线视频一区二区三区不卡| 综合人妻久久一区二区精品| 亚洲天堂啪啪| 国产91精品最新在线播放| 超薄丝袜足j国产在线视频| 99r在线精品视频在线播放| 免费一级毛片在线播放傲雪网| 亚洲成aⅴ人片在线影院八| 亚洲无码视频一区二区三区| 国产正在播放| 欧美福利在线播放| 欧美日本一区二区三区免费| 毛片一级在线| 中文无码日韩精品| 亚洲国产理论片在线播放| 久久综合激情网| 99成人在线观看| 日本少妇又色又爽又高潮| 色婷婷综合在线| 国产精品国产主播在线观看| 老司机午夜精品网站在线观看| 亚洲色图狠狠干| 香蕉eeww99国产精选播放| 国产成人精品18| 日韩中文无码av超清| 99re热精品视频国产免费| 国产人碰人摸人爱免费视频| 国产网站在线看| 亚洲三级影院| 99激情网| 欧美亚洲中文精品三区| 国产精品久久久免费视频| 伊人久久精品无码麻豆精品| 久久精品女人天堂aaa| 91久久性奴调教国产免费| 日韩成人高清无码| a级毛片免费网站| 麻豆精选在线| 不卡的在线视频免费观看| 91精品专区国产盗摄| 偷拍久久网| 国产国语一级毛片| 114级毛片免费观看| 99热线精品大全在线观看| 亚洲综合色区在线播放2019 | 久久www视频| 日本一本在线视频| 国产一区二区三区免费观看 | 国产精品永久久久久| 亚洲欧美成人综合| 宅男噜噜噜66国产在线观看|