亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        姚曉玲 陳帥帥

        摘要:針對(duì)視頻存儲(chǔ)快速增長的需求,為中小型視頻網(wǎng)站設(shè)計(jì)了基于Hadoop的視頻存儲(chǔ)與管理系統(tǒng)。系統(tǒng)采用B/S模式,使用多層應(yīng)用架構(gòu),以IntelliJ IDEA為開發(fā)工具,以SSM作為體系結(jié)構(gòu)解決方案,頁面層使用Bootstrap前端框架,以JSP技術(shù)進(jìn)行開發(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ī)普及,近幾年來在線視頻行業(yè)發(fā)展迅猛,截至2018年12月,在線視頻行業(yè)滲透率達(dá)71.3%,12月行業(yè)DAU(daily active user)達(dá)2.06億[1]。面對(duì)急速增長的市場(chǎng)需求,單機(jī)的后臺(tái)視頻存儲(chǔ)服務(wù)器已經(jīng)不能滿足互聯(lián)網(wǎng)企業(yè)的要求。

        針對(duì)以上問題,結(jié)合在線視頻行業(yè)現(xiàn)狀和視頻網(wǎng)站的實(shí)際情況,開發(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ú)立開發(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),帶來極大的訪問量,實(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è)功能模塊在開發(fā)過程中業(yè)務(wù)邏輯,減少開發(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ī),安裝開源的Linux系統(tǒng)CentOS,搭建Hadoop集群環(huán)境,使用hdfs存儲(chǔ)視頻文件,安裝MySQL數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù)。使用Mybatis作為持久化框架,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的增、刪、改、查功能;使用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框架開發(fā)前端用戶界面的響應(yīng)式布局,使用LayUI框架完成后臺(tái)管理員界面模塊化布局。

        系統(tǒng)分層是一種很常見的架構(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ù)庫進(jìn)行訪問類都封裝在此;Service層主要負(fù)責(zé)業(yè)務(wù)模塊的邏輯應(yīng)用設(shè)計(jì);Model層存放應(yīng)用邏輯層的對(duì)象,頁面訪問時(shí):首先Action層引用對(duì)應(yīng)的Service層,Service層進(jìn)行業(yè)務(wù)處理和調(diào)用Dao層,Dao層對(duì)數(shù)據(jù)庫進(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)頁播放成為系統(tǒng)的技術(shù)關(guān)鍵點(diǎn)。

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

        設(shè)計(jì)操作Hadoop接口的類Upload,將從Controller傳過來的數(shù)據(jù)通過調(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ù)說明:

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

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

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

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

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

        4 結(jié)束語

        本文結(jié)合當(dāng)下視頻網(wǎng)站的運(yùn)營模式對(duì)視頻系統(tǒng)功能需求進(jìn)行分析,確定系統(tǒng)使用需求,以IntelliJ IDEA為開發(fā)工具、Hadoop集群為測(cè)試環(huán)境下使用Java WEB結(jié)合MySQL數(shù)據(jù)庫,基于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à)比、高可用性,可以通過廉價(jià)的符合工業(yè)標(biāo)準(zhǔn)的硬件構(gòu)造出高性能的系統(tǒng),解決中小網(wǎng)站前期硬件投資費(fèi)用高昂的痛點(diǎn)。

        參考文獻(xiàn):

        [1] 中國互聯(lián)網(wǎng)絡(luò)信息中心. 第41次中國互聯(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的開放式架構(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]. 長沙: 湖南大學(xué), 2015.

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

        91久久偷偷做嫩模影院| 亚洲色欲久久久综合网| 亚洲熟妇av日韩熟妇av| 国产一区二区三区四区在线视频| 九九综合va免费看| 无码国产精品一区二区高潮| av色综合网站| 亚洲中文字幕一区高清在线 | 亚洲中文字幕久久在线| 久久久国产乱子伦精品作者 | 丰满少妇av一区二区三区| 中文有码无码人妻在线| 丰满少妇高潮惨叫正在播放| av一区二区三区亚洲| 日韩在线视频专区九区| 韩国三级在线观看久| 亚洲av无码片在线观看| 国产精品原创永久在线观看| 丰满老熟女性生活视频| 国产a国产片国产| 香蕉久久夜色精品国产2020| 亚洲av人片在线观看调教| 国产亚洲精品90在线视频| 屁屁影院ccyy备用地址| 欧美在线播放一区二区| 免费人成网站在线播放| 一本色道久久hezyo无码| 国产真人无码作爱视频免费| 精品免费久久久久国产一区| av免费网站免费久久网| 亚洲一区二区三区香蕉| 97久久精品人人妻人人| 国产精品黑丝美女av| 亚洲一区二区三区尿失禁| 亚洲av成人无码网天堂| 青青草99久久精品国产综合| 国产自产二区三区精品| 骚片av蜜桃精品一区| 一区二区韩国福利网站| 国产精品日韩亚洲一区二区| 亚洲日韩av无码一区二区三区人|