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

        ?

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

        2.Hadoop介紹

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

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

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

        2.2 MapReduce分布式并行計算模型

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

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

        3.1 系統(tǒng)說明

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

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

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

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

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

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

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

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

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

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

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

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

        圖2 視頻處理流程圖

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

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

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

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

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

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

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

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

        4.實驗及結(jié)果分析

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

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

        從表1可以看出:

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

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

        5.結(jié)束語

        本文主要論述了在Hadoop平臺上視頻轉(zhuǎn)碼的設(shè)計與實現(xiàn)。隨著視頻數(shù)據(jù)量的急劇增長,傳統(tǒng)的集中式視頻轉(zhuǎn)碼系統(tǒng)存在存儲能力和數(shù)據(jù)處理能力不足、存儲能力和處理能力不可擴展的缺點。Hadoop系統(tǒng)的并行任務(wù)分配、任務(wù)本地化、可擴展性和高容錯性使得Hadoop系統(tǒng)在數(shù)據(jù)密集型任務(wù)處理方面有著優(yōu)秀的表現(xiàn)。視頻處理任務(wù)是一種數(shù)據(jù)密集型任務(wù),將視頻轉(zhuǎn)碼任務(wù)移植到Hadoop系統(tǒng)中可以充分利用現(xiàn)有的計算資源,使得視頻轉(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)碼集群框架
        移動云盤在線轉(zhuǎn)碼功能技術(shù)研究
        框架
        視頻轉(zhuǎn)碼技術(shù)在廣播電視中的應(yīng)用研究
        締客世界(2020年1期)2020-12-12 18:18:28
        廣義框架的不相交性
        海上小型無人機集群的反制裝備需求與應(yīng)對之策研究
        一種無人機集群發(fā)射回收裝置的控制系統(tǒng)設(shè)計
        電子制作(2018年11期)2018-08-04 03:25:40
        基于IPTV點播業(yè)務(wù)的視頻分段式轉(zhuǎn)碼方案的研究與應(yīng)用
        傳播力研究(2018年7期)2018-05-10 09:42:47
        Python與Spark集群在收費數(shù)據(jù)分析中的應(yīng)用
        WTO框架下
        法大研究生(2017年1期)2017-04-10 08:55:06
        勤快又呆萌的集群機器人
        国产精品国产三级国产专播| 久久久久无码精品国| 久久本道久久综合一人| 久久精品色福利熟妇丰满人妻91| 国产乱子伦农村xxxx| 亚洲AV无码一区二区三区人| 亚洲成熟丰满熟妇高潮XXXXX| 精品极品一区二区三区| 97在线视频免费人妻| 亚洲综合无码一区二区三区| 久久亚洲精彩无码天堂| 国产av熟女一区二区三区密桃 | 亚洲午夜精品久久久久久人妖| 激情人妻网址| 亚洲一区二区国产一区| 成人毛片av免费| 有码精品一二区在线| 日本最新在线一区二区| 日韩精品熟女中文字幕| 少妇性荡欲视频| 国产亚洲精品日韩综合网| 日韩国产自拍视频在线观看| 亚洲色图片区| 曰本女人与公拘交酡免费视频| 精品国产你懂的在线观看| 亚洲色图专区在线视频| 果冻传媒2021精品一区| 精品久久久久久无码不卡| 亚洲综合中文一区二区| 国产一区二区三区小说| 亚洲av无码乱码国产精品fc2 | 欧美精品一区二区精品久久| 久久久精品2019免费观看| 麻豆AV无码久久精品蜜桃久久| 国产tv不卡免费在线观看| 免费看黄a级毛片| 亚洲AV无码成人精品区网页| 日本成人中文字幕亚洲一区| 粗大的内捧猛烈进出看视频| 亚洲av乱码中文一区二区三区| 久久精品这里就是精品|