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

        ?

        Hadoop云計(jì)算平臺(tái)在視頻轉(zhuǎn)碼上的應(yīng)用

        2011-08-08 12:48:18張浩孫淑霞
        電腦與電信 2011年12期
        關(guān)鍵詞:轉(zhuǎn)碼集群框架

        張浩 孫淑霞

        (成都理工大學(xué)信息科學(xué)與技術(shù)學(xué)院, 四川 成都 610059)

        1.引言

        隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)可提供的服務(wù)越來越多。視頻業(yè)務(wù)作為一種典型的網(wǎng)絡(luò)服務(wù),具有極大的發(fā)展?jié)摿褪袌?chǎng)規(guī)模。與其它業(yè)務(wù)比較而言,視頻業(yè)務(wù)有自身特點(diǎn):視頻處理過程對(duì)計(jì)算能力要求高;視頻的編碼、解碼、實(shí)時(shí)視頻處理等技術(shù),涉及到大量的空域頻域的變換,在時(shí)效性較強(qiáng)的視頻業(yè)務(wù)中,對(duì)計(jì)算能力構(gòu)成很大挑戰(zhàn)。Hadoop是一個(gè)開源的云計(jì)算框架,它是一個(gè)適合處理海量數(shù)據(jù)的并行編程系統(tǒng),可以根據(jù)輸入數(shù)據(jù)分布等信息自動(dòng)創(chuàng)建多個(gè)并行子任務(wù),并將子任務(wù)調(diào)度到合適的集群節(jié)點(diǎn)上并行執(zhí)行。所以此模型能夠很好地適用于多個(gè)視頻文件同時(shí)轉(zhuǎn)碼。MapReduce是Hadoop系統(tǒng)的一個(gè)核心模塊,它使得程序員不必關(guān)心節(jié)點(diǎn)失效、任務(wù)失效及任務(wù)之間的數(shù)據(jù)等問題,而只需按照MapReduce編程規(guī)范定義好map函數(shù)、reduce函數(shù)以及一些數(shù)據(jù)格式信息,即可完成分布式數(shù)據(jù)處理問題。

        2.Hadoop介紹

        談到Hadoop不得不提到云計(jì)算,云計(jì)算是網(wǎng)格計(jì)算、分布式計(jì)算、并行計(jì)算、效應(yīng)計(jì)算、網(wǎng)絡(luò)存儲(chǔ)、虛擬化、負(fù)載均衡等傳統(tǒng)計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)發(fā)展融合的產(chǎn)物。云計(jì)算的基本思想是通過構(gòu)建大規(guī)模的基于集群系統(tǒng)的數(shù)據(jù)中心,將集群中的資源以虛擬化的形式向用戶提供資源池。總之,云計(jì)算是在分布式計(jì)算的技術(shù)基礎(chǔ)上的更高層次的“集中式”計(jì)算處理模式,Hadoop是由Apache開源組織的一個(gè)分布式計(jì)算框架,可以在大量廉價(jià)的硬件設(shè)備組成的集群上運(yùn)行應(yīng)用程序,為應(yīng)用程序提供了一組穩(wěn)定可靠的接口,旨在構(gòu)建一個(gè)有高可靠性和良好擴(kuò)展性的分布式系統(tǒng),它是現(xiàn)在實(shí)現(xiàn)云計(jì)算的主要可選方式之一。Hadoop主要包括Hadoop分布式文件系統(tǒng)和計(jì)算模型MapReduce兩個(gè)部分。

        2.1 HDFS分布式文件系統(tǒng)

        HDFS有著高容錯(cuò)性(fault-tolerent)的特點(diǎn),設(shè)計(jì)用來部署在低廉的(low-cost)硬件上。它提供高傳輸率(high throughput)來訪問應(yīng)用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集(large data set)的應(yīng)用程序。HDFS采用Master/Slave架構(gòu),一個(gè)HDFS集群由一個(gè)NameNode節(jié)點(diǎn)和一組DataNode節(jié)點(diǎn)組成;NameNode管理文件系統(tǒng)的元數(shù)據(jù),而DataNode存儲(chǔ)了實(shí)際的數(shù)據(jù)。

        2.2 MapReduce分布式并行計(jì)算模型

        MapReduce是由Google提出的云計(jì)算核心計(jì)算模型,提供了比多線程編程更上一層的接口,屏蔽了許多細(xì)節(jié)性問題,降低了開發(fā)者的入門門檻,提高了開發(fā)分布式程序的效率。MapReduce是一個(gè)用于大數(shù)據(jù)量計(jì)算的編程模型,同時(shí)也是一種高效的任務(wù)調(diào)度模型。在MapReduce計(jì)算模型中,需要用戶提供兩個(gè)關(guān)鍵函數(shù),map函數(shù)和reduce函數(shù),即映射和規(guī)約兩個(gè)主要過程。MapReduce框架運(yùn)行于HDFS文件系上面,這兩個(gè)函數(shù)對(duì)一組鍵值對(duì)(key/value)進(jìn)行操作,得出另一組鍵值對(duì):(input)->map->->combine->->reduce->(output)。

        3.基于Hadoop的視頻轉(zhuǎn)碼系統(tǒng)

        3.1 系統(tǒng)說明

        通過上面關(guān)于云計(jì)算和Hadoop相關(guān)知識(shí)的介紹,結(jié)合大批量、多用戶視頻轉(zhuǎn)碼對(duì)計(jì)算資源的需求,實(shí)現(xiàn)基于Hadoop云計(jì)算平臺(tái)的視頻轉(zhuǎn)碼。本項(xiàng)目視頻處理類的實(shí)現(xiàn)是基于音視頻轉(zhuǎn)換軟件ffmpeg,通過MapReduce中map函數(shù)封裝ffmpeg轉(zhuǎn)碼功能,當(dāng)大量視頻轉(zhuǎn)碼任務(wù)提交到集群時(shí),系統(tǒng)自動(dòng)把任務(wù)隨機(jī)分配到集群節(jié)點(diǎn)上,利用集群系統(tǒng)計(jì)算能力和已有視頻轉(zhuǎn)碼開源軟件實(shí)現(xiàn)多視頻同時(shí)在線轉(zhuǎn)碼。關(guān)于視頻轉(zhuǎn)碼相關(guān)技術(shù)如碼率轉(zhuǎn)換、空間分辨率轉(zhuǎn)換、時(shí)間分辨率轉(zhuǎn)換、語法轉(zhuǎn)換、容錯(cuò)視頻轉(zhuǎn)碼等都交給已有的轉(zhuǎn)碼軟件來實(shí)現(xiàn)。關(guān)于Hadoop集群的搭建可以通過網(wǎng)絡(luò)、書籍找到大量相關(guān)資料,關(guān)于具體map函數(shù)、reduce函數(shù)以及key、value對(duì)的劃分等細(xì)節(jié)問題這里也不做詳細(xì)解釋,只給出了視頻轉(zhuǎn)碼的開發(fā)框架。

        在本設(shè)計(jì)中,使用Java提供的Runtime類進(jìn)行本地轉(zhuǎn)碼功能代碼的調(diào)用。這樣做的好處是:不論本地視頻處理功能是由什么編程語言實(shí)現(xiàn)的,只要最終的形式是可執(zhí)行文件,都可以被MapReduce框架調(diào)用。Runtime類可以取得Java虛擬機(jī)的運(yùn)行時(shí)環(huán)境,這個(gè)類有一個(gè)非常有用的方法exec(String cmdArray[])用于調(diào)用本地可執(zhí)行文件。此方法的參數(shù)是要被調(diào)用的可執(zhí)行文件的命令行字符串?dāng)?shù)組。該字符串?dāng)?shù)組的值取決于視頻處理功能的具體實(shí)現(xiàn)。

        3.2 Hadoop架構(gòu)實(shí)現(xiàn)

        Hadoop系統(tǒng)包括分布式文件系統(tǒng)HDFS、并行計(jì)算框架MapReduce、作業(yè)隊(duì)列管理模塊。HDFS用于存儲(chǔ)本地上傳的視頻文件,MapReduce框架用于完成視頻轉(zhuǎn)碼功能,作業(yè)隊(duì)列管理模塊用于接收本地提交的任務(wù)信息,分析任務(wù),將任務(wù)分割給云節(jié)點(diǎn)的計(jì)算單元,最后將視頻轉(zhuǎn)碼后的信息寫入數(shù)據(jù)庫。

        視頻轉(zhuǎn)碼框架如圖1所示:

        圖1 視頻轉(zhuǎn)碼系統(tǒng)整體架構(gòu)

        Hadoop系統(tǒng)中的視頻作業(yè)控制模塊主要由5個(gè)模塊組成。各個(gè)模塊的功能如下:

        (1)子作業(yè)流創(chuàng)建模塊:一個(gè)視頻處理作業(yè)可以劃分為多個(gè)MapReduce子作業(yè),根據(jù)視頻開發(fā)用戶提供的信息生成一系列的MapReduce作業(yè)流,包括視頻作業(yè)子作業(yè)的個(gè)數(shù)和各個(gè)子作業(yè)之間的依賴關(guān)系。

        (2)視頻作業(yè)信息模塊:此模塊用于維護(hù)一個(gè)視頻作業(yè)完成狀態(tài)信息和各個(gè)子作業(yè)的完成進(jìn)度信息以及各個(gè)子作業(yè)的文件輸出位置等信息。子作業(yè)提交模塊根據(jù)此模塊和子作業(yè)創(chuàng)建模塊提供的信息決定哪個(gè)時(shí)間提交子作業(yè)流中的一個(gè)MapReduce子作業(yè)。

        (3)子作業(yè)提交模塊:此模塊對(duì)視頻作業(yè)信息模塊中的子作業(yè)信息進(jìn)行監(jiān)控,一旦滿足作業(yè)提交的要求,從子作業(yè)流創(chuàng)建模塊中取出一個(gè)子作業(yè),提交到Hadoop中執(zhí)行。

        (4)子作業(yè)監(jiān)控模塊:此模塊負(fù)責(zé)向Hadoop系統(tǒng)獲取各個(gè)子作業(yè)完成的狀態(tài)信息,并負(fù)責(zé)更新視頻作業(yè)信息的完成狀態(tài)。

        (5)作業(yè)清理模塊:此模塊用于一個(gè)視頻作業(yè)完成后,清理完成視頻作業(yè)的過程中HDFS上的臨時(shí)文件,并將視頻作業(yè)的完成狀態(tài)存入數(shù)據(jù)庫中。

        圖2 視頻處理流程圖

        視頻處理流程如圖2所示流程詳細(xì)過程如下:

        (1)用戶將需要處理的視頻上傳到HDFS上;

        (2)將視頻的處理信息和所要用到的處理函數(shù)傳遞到視頻處理框架中;

        (3)子作業(yè)創(chuàng)建模塊創(chuàng)建一個(gè)子作業(yè)流和一個(gè)視頻作業(yè)信息模塊;

        (4)子作業(yè)提交模塊根據(jù)各個(gè)子作業(yè)流的依賴關(guān)系和各個(gè)子作業(yè)的完成狀態(tài)向Hadoop系統(tǒng)提交MapReduce子作業(yè);

        (5)Hadoop框架執(zhí)行MapReduce子作業(yè),將各個(gè)子作業(yè)的結(jié)果寫入到HDFS中;

        (6)子作業(yè)監(jiān)控模塊從Hadoop系統(tǒng)中獲取各個(gè)子作業(yè)的完成狀態(tài)并更新視頻作業(yè)信息模塊;

        (7)整個(gè)視頻作業(yè)完成后,作業(yè)清理模塊負(fù)責(zé)清理HDFS上中間子作業(yè)輸出的臨時(shí)文件并更新視頻作業(yè)信息模塊。

        4.實(shí)驗(yàn)及結(jié)果分析

        集群使用兩個(gè)節(jié)點(diǎn)作為轉(zhuǎn)碼工作節(jié)點(diǎn),測(cè)試數(shù)據(jù)大小為700M,分布式文件系統(tǒng)塊大小為64M。測(cè)試結(jié)果如表1所示。

        表1 集群轉(zhuǎn)碼性能

        從表1可以看出:

        (1)集群轉(zhuǎn)碼的時(shí)間平均時(shí)間約為單機(jī)轉(zhuǎn)碼所用時(shí)間的1/2,這個(gè)結(jié)果與期望的結(jié)果一致。這說明了將視頻轉(zhuǎn)碼移植到Hadoop平臺(tái)上可以提高轉(zhuǎn)碼效率。

        (2)當(dāng)視頻文件分片遠(yuǎn)遠(yuǎn)小于文件系統(tǒng)分片的大小的時(shí)候,集群的轉(zhuǎn)碼性能會(huì)惡化。這表明Hadoop系統(tǒng)適合處理大數(shù)據(jù)量的應(yīng)用。

        5.結(jié)束語

        本文主要論述了在Hadoop平臺(tái)上視頻轉(zhuǎn)碼的設(shè)計(jì)與實(shí)現(xiàn)。隨著視頻數(shù)據(jù)量的急劇增長,傳統(tǒng)的集中式視頻轉(zhuǎn)碼系統(tǒng)存在存儲(chǔ)能力和數(shù)據(jù)處理能力不足、存儲(chǔ)能力和處理能力不可擴(kuò)展的缺點(diǎn)。Hadoop系統(tǒng)的并行任務(wù)分配、任務(wù)本地化、可擴(kuò)展性和高容錯(cuò)性使得Hadoop系統(tǒng)在數(shù)據(jù)密集型任務(wù)處理方面有著優(yōu)秀的表現(xiàn)。視頻處理任務(wù)是一種數(shù)據(jù)密集型任務(wù),將視頻轉(zhuǎn)碼任務(wù)移植到Hadoop系統(tǒng)中可以充分利用現(xiàn)有的計(jì)算資源,使得視頻轉(zhuǎn)碼效率得到提高。

        [1]Chuck Lan.Hadoop INACTION[M],Manning Publications,2011.

        [2]Hadoop 官 方 文 檔 .http://Hadoop.apache.org/common/docs/toturial.htm[EB/OL].

        [3]K.Breitman,M.Endler,R.Pereira,M.Azambuja.."When TV Dies,Will It Go to the Cloud?".IEEEComputer Society,2010:81~83.

        [4]FFMpeg.http://ffmpeg.org[EB/OL],2011.

        [5]Koetter R.Converting video formats with FFmpeg.Linux Journal archive,2006.

        猜你喜歡
        轉(zhuǎn)碼集群框架
        移動(dòng)云盤在線轉(zhuǎn)碼功能技術(shù)研究
        框架
        視頻轉(zhuǎn)碼技術(shù)在廣播電視中的應(yīng)用研究
        締客世界(2020年1期)2020-12-12 18:18:28
        廣義框架的不相交性
        海上小型無人機(jī)集群的反制裝備需求與應(yīng)對(duì)之策研究
        一種無人機(jī)集群發(fā)射回收裝置的控制系統(tǒng)設(shè)計(jì)
        電子制作(2018年11期)2018-08-04 03:25:40
        基于IPTV點(diǎn)播業(yè)務(wù)的視頻分段式轉(zhuǎn)碼方案的研究與應(yīng)用
        傳播力研究(2018年7期)2018-05-10 09:42:47
        Python與Spark集群在收費(fèi)數(shù)據(jù)分析中的應(yīng)用
        WTO框架下
        法大研究生(2017年1期)2017-04-10 08:55:06
        勤快又呆萌的集群機(jī)器人
        日韩精品免费视频久久| 国产精品一区二区久久| 手机在线看永久av片免费| 中文字幕少妇AV| 免费一级黄色大片久久久| 亚洲小少妇一区二区三区| 99精品久久精品一区| 免费国产在线精品一区| 丰满少妇被猛男猛烈进入久久| 久久精品性无码一区二区爱爱| 亚洲国产色图在线视频| 国产一区二区av免费观看| 野外亲子乱子伦视频丶| 国产欧美一区二区精品仙草咪| 亚洲AV无码一区二区三区性色学| 亚洲女同高清精品一区二区99| 自拍视频在线观看首页国产| 亚洲国产精品无码aaa片| 国产精品久久国产精品99| 日本高清www无色夜在线视频| 亚洲一区二区三区久久不卡| 国产特黄a三级三级三中国| 日本在线精品一区二区三区| 亚洲国产成人无码av在线影院| 日本欧美在线播放| 国产自拍伦理在线观看| 色窝窝亚洲av网在线观看| 丰满少妇a级毛片野外| 亚洲综合一区无码精品| 亚洲国产成人aⅴ毛片大全| 丰满少妇av一区二区三区| 日本一卡二卡3卡四卡免费观影2022| 亚洲爆乳少妇无码激情| 亚洲日产AV中文字幕无码偷拍| av毛片亚洲高清一区二区| 日本少妇春药特殊按摩3| 久久综合久久鬼色| 91青青草久久| 青青草成人免费播放视频| 高清毛茸茸的中国少妇| 精品少妇人妻av免费久久久|