摘 要: 為解決三網融合進程推進下,海量視頻點播業務呈現出的內容雜、平臺多、業務量激增等特征對傳統點播模式提出的巨大挑戰,在分析云計算的基本架構和技術特點的基礎上,結合視頻點播業務的特點,利用云計算強大的計算能力和高效的海量數據處理方式,論述了云計算在視頻點播系統中的應用。討論了云系統的系統架構、工作原理,并對數據的冗余備份、心跳檢測、智能節點替換、負載均衡等關鍵技術進行了詳細闡述,為解決海量視頻的流暢傳播提出了一個全新的思路。
關鍵詞: 云計算; 海量視頻點播; Hadoop系統; 建模
中圖分類號: TN911?34; TP37 文獻標識碼: A 文章編號: 1004?373X(2013)14?0010?03
Cloud computing technology and modeling of mass VOD system
CHEN Xu?wen, HUANG Ying?ming
(Department of Information Engineering, Jieyang Vocational Technical College, Jieyang 522000, China)
Abstract: With the promotion of the triple?net fusion, the mass VOD emerges out some characteristics such as complicating data, multiple platforms and huge business, which make a huge challenge to the traditional on?demand mode. By using the powerful computing ability and mass data efficient processing of cloud computation, the application of cloud computation in mass VOD system is discussed on the basis of analysis of the basic framework and technical characteristics of cloud computation and in combination with the characteristics of VOD service. The framework and working principle of the cloud computing system are analyzed. Some main technologies, such as redundancy backup of data, heartbeat detection, replacement of intelligent nodes and load balancing are elaborated. A new idea to make the mass video propagation smooth is put forward.
Keywords: cloud computation; mass VOD; Hadoop system; modeling
隨著互聯網技術和多媒體技術的迅猛發展,基于網絡的視頻點播(Video On Demand,VOD)業務成為了網絡應用的一大熱點。人們通過手機、掌上電腦等簡易的終端設備隨意欣賞視頻的新型模式極大地顛覆了傳統的電視觀看模式,逐步成為視頻點播的主流。雖然流媒體及P2P技術[1]的應用在一定程度上減輕了中央服務器和骨干網絡的負擔,優化了節目流的播放質量,但當面對熱點視頻時,海量視頻的處理傳播極大地考驗著視頻運營商的實力。另外,隨著電信網、計算機網和有線電視網三網融合步伐的快速推進,對于視頻點播業務的需求也將呈現出數據量劇增和多平臺共存的局面,光靠原有的硬件基礎絕對無法滿足形勢的發展,而增加投入勢必會增加企業的運營成本,租用第三方運營平臺將成為一種發展趨勢。
作為一種新型的商業計算模型,云計算提供了強大靈活的計算能力和高效快捷的海量數據處理方法,其高可靠性也是普通的第三租賃方所無法比擬的。本文以云計算為平臺,研究了基于云平臺的視頻點播模式,為解決海量視頻的高效傳輸提供了新方法。
1 云計算技術及海量視頻點播的技術特點
1.1 云計算的概念
自云計算(Cloud Computing)概念提出以來,至今仍沒有統一、公認的定義,比較獲得業界認可的是2011年由美國國家標準和技術研究院(NIST)提出的[2]:云計算是一種通過網絡以便利的、按需付費的模式獲取計算資源(包括網絡、服務器、存儲、應用和服務)并提高其可用性的模式,這些資源來自一個共享的、可配置的資源池,并能夠以最省力和無人干預的方式獲取和釋放。
云計算是網格計算、并行計算、分布式計算、效用計算、網絡存儲、虛擬化、負載均衡等傳統技術和網絡技術發展融合的產物,它以虛擬化為核心,通過網絡把多個成本較低的計算實體整合成一個具有強大計算能力的資源系統,以按需、易擴展的方式為用戶提供所需的各種資源和服務。云是一個包含大量可用虛擬資源的資源池,云中的資源在使用者看來是可以無限擴展、隨時獲取、按需使用、按量付費的[3]。云模式[4]也即電廠模式,利用電廠的規模效應來降低電力價格,用戶根據用電量付費,便可源源不斷獲取電力資源,而無需維護和購買任何發電設備。
云計算具有低成本、高性能、超大規模、虛擬化、高可靠性、通用性、高可擴展性、按需服務等特點[5]。目前比較成熟的云計算業務和應用有:Google的AppEngine、Amazon的彈性計算云EC2、微軟的Azure云平臺和IBM的藍云等。
1.2 云計算的架構[5]
(1)軟件即服務(Software as a Service,SaaS):SaaS服務供應商將各類應用軟件統一部署在服務器上,用戶通過簡易的互聯網接入終端就能直接使用,并按需按量付費。云中的軟硬件設施由供應商負責維護和管理,用戶不需顧慮類似安裝、升級和防毒等瑣事,且免去初期高昂的硬件投入、人員配置、軟件許可證等費用的支出,經濟便捷。
(2)平臺即服務(Platform as a Service,PaaS):PaaS主要面向開發人員提供一個應用的開發和部署平臺,包括SDK、文檔、測試環境和部署環境等。平臺的部署和運維均由供應商負責,用戶可一心一意致力于研發工作。
(3)基礎設施即服務(Infrastructure as a Service,IaaS):IaaS由底層硬件或虛擬機資源構建而成,用戶從供應商那里獲取所需的計算或存儲資源來裝載相關應用,且僅需為所租借的那部分資源付費。
1.3 海量視頻點播的技術特點
(1)文件龐大,數據量多。單個視頻文件非常大,視頻資源繁多,數據海量化。
(2)編碼多樣,業務復雜。隨著三網融合的推進及視頻播放技術的改革,必將出現多編碼、多平臺共存及多業務共享的局面。
(3)質量至上,要求嚴格。龐大的數據量對服務器性能及網絡帶寬要求甚高,而隨著點播量的快速增長,對于計算能力及處理強度的要求也相應劇增。
2 海量視頻點播系統的云計算技術與建模實現
2.1 系統架構
根據視頻點播業務的技術特征及云計算技術的特點,本文提出了基于云計算的海量視頻點播平臺的基本架構,其拓撲圖如圖1所示。用戶通過Web交互服務器向視頻點播系統發出業務請求,經Web交互服務器受理后將具體的業務要求提交給云核心服務器,由核心服務器對整個云文件系統進行控制處理,完成視頻文件的調用并反饋回客戶端。
圖1 系統架構圖
2.2 系統工作原理
系統采用Hadoop系統實現云點播平臺SaaS層的構建[6]。根據點播系統的功能要求及Hadoop系統的基本構成,包括以下幾個功能組件,闡述如下:
2.2.1 Web交互服務器
在整個點播系統中,Web交互服務器作為系統前端窗口,負責受理用戶的點播、注冊、用戶管理等常規業務,當涉及視頻文件調用時,則將業務請求轉交給后臺的云核心服務器處理,Web交互服務器僅負責點播信息的傳遞工作,沒有涉及具體視頻文件的傳輸內容。
2.2.2 云核心服務器
云核心服務器位于云計算的最上層,負責整個云系統的資源管理及任務控制。
(1)資源管理。作為Hadoop系統的主控節點,云核心服務器負責記錄文件的數據塊分割規則及這些數據塊的具體存儲位置,對內存及I/O進行集中管理。為加快維護效率,同時減輕本身負擔,云核心服務器通過與各集群主控服務器進行交互控制,對集群中的所有節點和所有虛擬機進行實時控制,維護系統的資源狀態信息表。為提高系統的運作性能,云核心服務器僅管理文件系統的元數據,具體的數據訪問則交由下層服務器負責[7]。
(2)任務控制。響應Web交互服務器的點播請求,檢索資源狀態信息表,獲取資源的具體位置,然后通過集群主控服務器匯總節點信息,建立客戶端與各虛擬機實例的通信,實現數據傳輸。
2.2.3 集群主控服務器
為提高云系統的運作效率,減輕核心服務器的負擔,將云系統的資源劃分成多個集群,由集群主控服務器負責管理該集群中的所有資源。集群主控服務器主要有以下作用:
(1)集群主控服務器管理其集群中的所有節點控制器和虛擬機,對系統資源進行實時監控,形成子資源狀態信息表,并將結果反饋給云核心服務器,更新整個云系統的資源狀態信息表。
(2)響應云核心服務器的任務要求,快速調用集群中的虛擬機實例,建立與客戶端機器的連接,傳輸數據。
(3)擔任Hadoop系統的主節點,控制集群中的所有從節點,對集群中所有虛擬機實例及系統資源進行統籌管理,提高系統的響應效率。
2.2.4 節點控制器
節點控制器是整個云系統的前沿陣地,在節點控制器上真正運行著虛擬機實例,并通過虛擬機管理器進行管理,虛擬機實例的數量由節點控制器的資源及計算任務的類型決定,一般為3~5臺。節點控制器的功能包括以下三方面[8]:
(1)節點控制器負責監控節點上運行的所有虛擬機實例的運行狀態及資源的使用情況,并將監控狀況實時返回給上層的集群主控服務器。
(2)響應集群主控服務器的需求,啟動虛擬機實例實現數據通信。當任務完成后或在規定時間內客戶端無響應(如客戶異常退出)時,則停止虛擬機實例運作,釋放網絡帶寬及點播資源。
(3)監控和管理虛擬機實例。包括虛擬機資源的存儲備份、虛擬機宕機的應急處理等。
2.3 系統設計的關鍵技術
2.3.1 數據的冗余備份
云系統的文件傳輸采用流媒體技術實現,即將多媒體文件壓縮后分解成若干大小相等的數據塊(數據塊的大小可根據實際情況進行配置),并統一編號,再由服務器對客戶端進行實時傳送。為了容錯,文件的所有數據塊都會有副本,即冗余備份。系統運行時,節點控制器利用虛擬機管理器對虛擬機上的文件系統進行監控,產生一份數據塊與本地文件對應關系的列表,形成塊報告返回給節點控制器,節點控制器根據塊報告進行完善(如增加數據塊具體路徑等)后反饋給集群主控服務器更新資源狀態信息表。
云系統的集群一般運行在多個機架上,不同機架上的數據通信必須通過交換機,通常機架內節點之間的帶寬比跨機架節點之間的帶寬要大,這有可能影響云系統的可靠性和性能。采用機架感知(Rack?aware)策略[9],將數據塊以多個副本形式部署在本地機架和不同機架上,改進數據的可靠性、可用性和網絡帶寬的利用率。此策略可防止機架失效時的數據丟失,也可保證系統的性能。
2.3.2 心跳檢測技術
在任何系統設計中,硬件異常檢測總是極其重要的。云系統采用心跳檢測[10]技術來控制系統硬件的異常情況。集群主控服務器周期性地通過節點控制器接受虛擬機的心跳包和塊報告,以此判斷虛擬機的存活狀態:收到心跳包說明工作正常;若在特定時間t內沒有收到心跳包信息,則認為宕機,系統將不會發給它們任何新的I/O請求。對于宕機的虛擬機,系統將不斷進行檢測并通過虛擬機管理器進行故障修復,若在特定時間內仍無法恢復,則將重新復制該數據塊,避免該數據塊副本數減少所造成的影響。
2.3.3 智能節點替換技術
智能節點替換技術與心跳檢測技術聯合應用,當系統在特定時間內仍無法檢測到某數據塊的心跳包時,則將該數據包重新復制,此時,節點控制器將更新數據包的新位置,并使用新節點替換原來的故障節點,保證數據傳輸的連貫性。
2.3.4 負載均衡技術
負載均衡是很多系統中需要解決的重要問題。在云系統中,云核心服務器根據節點控制器發送的心跳信息和存儲的數據塊情況,掌握各節點的當前狀態,通過平衡資源狀態信息表中的資源分配情況,將數據塊分配給負載較輕、寫入速度較快的節點控制器。具體包括:在新數據加入時,為新數據尋找優越的存儲位置;若現有的資源過于集中,可采用數據塊遷移方法,重新分配合適的存儲位置,平衡整個文件存儲系統。
3 結 語
隨著三網融合進程的不斷推進,視頻點播業務將面對內容繁雜、平臺多樣、業務量激增等局面,這對傳統的視頻點播模式提出了巨大的挑戰。
本文在分析云計算的基本架構和技術特點的基礎上,結合視頻點播業務的特點,論述了云計算在視頻點播系統中的應用,對其系統架構、工作原理和關鍵技術進行了詳細的闡述,為解決海量視頻的流暢傳播提出了一個全新的思路。
參考文獻
[1] 陳旭文,林若波.基于P2P的多原VOD系統的設計[J].測控技術,2012,31(8):27?30.
[2] MELL P,GRANCE T. NIST SD 800?145 the NIST definition of cloud computing [S]. Gaithersburg,MD: NIST Special Publication,2011.
[3] 吳朱華.云計算核心技術剖析[M].北京:人民郵電出版社,2011.
[4] GROSSMAN R L.The case for cloud computing [J]. IEEE Computer Society,IT Professional, 2009(11):23?27.
[5] 周洪波.云計算技術、應用、標準和商業模式[M].北京:電子工業出版社,2011.
[6] HADOOP W T. 權威指南[M].曾大聃,譯.北京:清華大學出版社,2010.
[7] 劉鵬,黃宜華,陳衛衛.實戰Hadoop:開啟通向云計算的捷徑[M].北京:電子工業出版社,2011.
[8] Anon. Amazon elastic computing cloud [EB/OL]. [2011?07?18]. http://aws.amazon.com/cn/ec2.
[9] 李玲,付園,麻曉珍,等.云存儲系統中數據冗余策略優化問題[J].吉林大學學報:信息科學版,2013,31(1):1?7.
[10] 許丞,劉洪,譚良. Hadoop云平臺的一種新的任務調度和監控機制[J].計算機科學,2013,40(1):112?117.