湯卓
摘 要 互聯(lián)網(wǎng)正從一個靜態(tài)數(shù)據(jù)內(nèi)容(文本、圖像)占主導地位的階段快速地發(fā)展成為一個包含靜態(tài)媒體內(nèi)容和連續(xù)媒體內(nèi)容的綜合信息資源庫。視頻點播(VOD)業(yè)務是未來寬帶網(wǎng)中最有前途的業(yè)務之一。它可以讓用戶控制節(jié)目的播放,選擇播放時間和播放的形式,與傳統(tǒng)電視相比有著無可比擬的優(yōu)點。在各種寬帶網(wǎng)絡上實現(xiàn)視頻點播業(yè)務成為當前多媒體和網(wǎng)絡領域的一個研究熱點。本文將針對分布式視頻點播系統(tǒng)展開研究。
關鍵詞 點播系統(tǒng) 分布式 系統(tǒng)研究
中圖分類號:TN948.63 文獻標識碼:A
VOD,它是英語VideoOnDemand的縮寫。視頻點播是近年來新興的一種網(wǎng)絡傳媒方式,它是計算機技術、網(wǎng)絡通信技術、多媒體技術、電視技術和數(shù)字壓縮技術等多學科、多領域融合交叉的產(chǎn)物。它可以根據(jù)用戶需要,隨時提供交互式視頻服務。
視頻點播從根本上改變了傳統(tǒng)的單向傳輸、用戶對視頻節(jié)目無權(quán)選擇的狀況,使用戶不僅能夠觀看固定節(jié)目,而且還可以自由選擇存放在視頻點播系統(tǒng)中的視頻信號,隨時點播自己想看的節(jié)目。VOD技術早在20世紀70年代就引起了人們的關注,但當時其應用范圍有很大的局限性。隨著“信息高速公路”的興起和發(fā)展,數(shù)字壓縮技術的出現(xiàn),使視頻點播系統(tǒng)進入了新的領域,并且為行業(yè)用戶提供了多種解決方案,以滿足用戶的各種需求。
1視頻點播系統(tǒng)的體系結(jié)構(gòu)
一個視頻點播系統(tǒng),無論采用有線電視網(wǎng)絡還是計算機網(wǎng)絡作為媒體傳輸介質(zhì),主要由三部分組成:服務端系統(tǒng)(Server)、網(wǎng)絡系統(tǒng)(Network)、客戶端系統(tǒng)(Client)。
視頻服務器:負責視頻的存儲和視頻節(jié)目的傳送,以及節(jié)目的檢索和服務。它在整個系統(tǒng)中占很重要的地位,是影響整個系統(tǒng)設計的關鍵。
傳輸網(wǎng)絡:傳輸從服務器到用戶的媒體流和控制流。常采用的有窄帶電話線、寬帶有線電視網(wǎng)絡和計算機網(wǎng)絡。
客戶端:主要是用戶用來播放視頻的設備,一般有兩種方式:計算機、電視。計算機須裝備網(wǎng)絡接入設備,并安裝視頻播放軟件。用電視作為播放設備時須要裝備機頂盒(top-setbox)。
VOD系統(tǒng)中技術含量最高的視頻服務器。從計算機的技術角度來講,視頻服務器是一臺或一組提供媒體存儲和傳輸?shù)挠嬎銠C。其功能是存儲并傳輸媒體節(jié)目。之所以將視頻服務器的概念與普通計算機相區(qū)分,是因為視頻服務器在存儲和傳輸媒體節(jié)目的能力上明顯強于普通計算機,而媒體節(jié)目的存儲和傳輸是VOD系統(tǒng)功能實現(xiàn)的核心,VOD系統(tǒng)的服務能力幾乎完全是由視頻服務器服務能力來決定,因此學術界和產(chǎn)業(yè)界對VOD的研發(fā)重點都集中在視頻服務器上。
2分布式視頻點播系統(tǒng)的體系結(jié)構(gòu)
根據(jù)計算機網(wǎng)絡拓撲結(jié)構(gòu)的思想,在Berkeley視頻點播系統(tǒng)的基礎上,人們擴展了分布式層次性的體系結(jié)構(gòu)的設計思想,將只針對視頻文件存儲的分布式層次結(jié)構(gòu)擴展成為媒體文件存儲、媒體流傳輸、系統(tǒng)管理與服務的整體的分布式層次性體系結(jié)構(gòu)。
擴展后的分布式層次結(jié)構(gòu)視頻點播系統(tǒng)根據(jù)網(wǎng)絡的多級互聯(lián)特點,將檔案服務器、視頻文件服務器、管理服務器分布到網(wǎng)絡的多個層次中,協(xié)同完成視頻點播服務功能。點播系統(tǒng)中包含了連接在主干網(wǎng)上的中央視頻點播服務系統(tǒng)和分布在各接入網(wǎng)中的視頻點播服務子系統(tǒng)。中央視頻點播服務系統(tǒng)連接在主干網(wǎng)上,它由一臺全局管理服務器,多臺視頻文件服務器和檔案服務器構(gòu)成。檔案服務器管理存放在三級存儲設備(磁帶、光盤)中的媒體文件,用于擴大視頻文件庫的容量,同時提供媒體文件的備份和恢復功能以保證系統(tǒng)的可靠性。視頻文件服務器為用戶提供媒體流,它連接著大容量、高并發(fā)吞吐速率的磁盤陣列,完成視頻數(shù)據(jù)的磁盤讀取、網(wǎng)絡發(fā)送和調(diào)度的功能。中央管理服務器上運行多個服務程序,完成用戶權(quán)限認證、記賬管理、節(jié)目查找與定位、系統(tǒng)性能監(jiān)控、工作負載平衡等全局的管理功能。
視頻點播服務子系統(tǒng)分布在各級接入網(wǎng)中,它由本地管理服務器、一臺或多臺視頻文件服務器組成。子系統(tǒng)中的視頻文件服務器存儲中央服務系統(tǒng)中的所有視頻節(jié)目的一個子集,負責為本網(wǎng)段和下級接入網(wǎng)段內(nèi)的用戶提供媒體流服務。本地管理服務器同樣也完成本級和下一級接入網(wǎng)中的管理功能。
利用分布式結(jié)構(gòu),將系統(tǒng)服務功能分散到多臺服務器,減小了服務器的工作負載,并為降低服務器的價格創(chuàng)造了條件。層次性的網(wǎng)絡傳輸將系統(tǒng)中的數(shù)據(jù)傳輸盡可能地限制在本地網(wǎng)段中,減輕了本級網(wǎng)絡與上一級網(wǎng)絡之間的網(wǎng)絡帶寬占用,使得整個系統(tǒng)可以承受的用戶數(shù)目增加,從而可以降低用戶的平均服務費用。層次性的系統(tǒng)管理可以減輕中央管理服務器的工作負擔,減少網(wǎng)絡傳輸延遲和服務器處理排隊等待時間,從而縮短用戶的響應時間。
分層式體系結(jié)構(gòu)由于采用樹型結(jié)構(gòu)擴大服務了服務范圍,并且分層的層次可以隨著服務范圍的大小而變化。但這種結(jié)構(gòu)的缺點是一個節(jié)目可能要在許多個服務器上存有備份,造成存儲空間的浪費;而且用戶點播的節(jié)目不在葉子節(jié)點服務器上時,需要較長的響應時間;還有這種系統(tǒng)的設計管理難度很大,多用于大型和特大型網(wǎng)絡環(huán)境中。
3分布式系統(tǒng)管理服務器的主要實現(xiàn)內(nèi)容
由于管理服務器是整個分布式系統(tǒng)的控制管理核心,它負責對整個系統(tǒng)進行管理和協(xié)調(diào)。它是一個純軟件系統(tǒng),主要由作業(yè)調(diào)度和視頻服務器調(diào)度管理模塊、視頻流控制模塊、視頻數(shù)據(jù)管理模塊、用戶管理模塊以及系統(tǒng)監(jiān)控模塊組成,各個功能模塊分工協(xié)調(diào)合作,控制分布式視頻點播系統(tǒng)的各項服務正常運作。下面將針對視頻節(jié)目管理、用戶管理、視頻流管理以及系統(tǒng)監(jiān)控管理展開重點討論。
3.1視頻節(jié)目管理
視頻節(jié)目分布存放在各個視頻服務器上,每個視頻節(jié)目都可以由唯一的路徑來訪問,這對于系統(tǒng)管理員進行視頻數(shù)據(jù)文件的管理提供了極大的方便。視頻節(jié)目管理就是對這些分布存放在各個視頻服務器上的視頻數(shù)據(jù)文件進行管理,提供方便的接口和快速的存取。
向系統(tǒng)新增一個節(jié)目,系統(tǒng)需要做兩件事,一是節(jié)目的導入,即把視頻節(jié)目文件拷貝存放到系統(tǒng)中;二是管理員需要把該節(jié)目的相關信息添加到視頻信息庫中。新的節(jié)目文件存放在哪個視頻服務器上呢?可采用最小使用優(yōu)先算法,也就是選擇磁盤剩余空間最大的視頻服務器存放新的節(jié)目,使各個視頻服務器上存儲的視頻文件盡可能均衡,從而達到提高磁盤I/0能力的目的。當某些節(jié)目不再被點播,或者需要騰出一部分空間存放新的節(jié)目時,管理員要刪除這些節(jié)目。與增加節(jié)目相對應,刪除節(jié)目包括刪除節(jié)目信息記錄和刪除節(jié)目文件兩部分。刪除節(jié)目信息記錄就是從視頻信息數(shù)據(jù)庫中刪除該節(jié)目的記錄。
3.2用戶管理
分布式視頻點播系統(tǒng)對最終用戶也提供管理接口。系統(tǒng)對最終用戶的管理內(nèi)容相對比較簡單。用戶的所有信息存放在用戶數(shù)據(jù)庫中。系統(tǒng)通過數(shù)據(jù)庫提供增加新用戶、刪除己有用戶、修改用戶信息、查詢用戶信息的功能。除此之外,當用戶連接到系統(tǒng)請求服務時,系統(tǒng)必須提供對用戶訪問的合法性進行認證,因此用戶管理也包括用戶認證功能,用戶管理同時也提供記賬功能。當用戶在點播節(jié)目的時候,系統(tǒng)記錄用戶的點播信息,計算用戶的點播費用,并存放到數(shù)據(jù)庫中,作為用戶繳納費用的依據(jù)。
3.3視頻流管理
視頻流就是視頻服務器與用戶端之間傳送的數(shù)據(jù)流。一旦視頻服務器響應了用戶請求,將節(jié)目數(shù)據(jù)從磁盤讀出,并發(fā)送到用戶端,視頻流就建立起來了。當節(jié)目全部傳送完畢,或者由于用戶中途終止播放,視頻流也將終止。系統(tǒng)必須對系統(tǒng)中存在的、未被終止的視頻流進行監(jiān)控和管理。系統(tǒng)對視頻流進行VCR控制的過程如下所示:包含視頻流全局編號和控制代碼;系統(tǒng)從用戶消息中提取視頻流全局編號和控制代碼;系統(tǒng)查找全局視頻流鏈表,找到播放該視頻流的視頻服務器;系統(tǒng)向該服務器發(fā)送視頻流編號和控制代碼;該服務器得到視頻流編號和控制代碼,對視頻流進行播放控制;若服務器控制成功,向系統(tǒng)返回新狀態(tài),若不成功,返回錯誤信息;系統(tǒng)更新視頻流狀態(tài),并反饋給用戶相應信息。
3.4系統(tǒng)監(jiān)控管理
分布式視頻點播系統(tǒng)作為一個大型系統(tǒng),它所包含的軟硬件資源是相當多的,如果系統(tǒng)不對這些軟硬件資源進行有效的監(jiān)控,一旦某些部件失效,可能會影響到系統(tǒng)的正常運行。例如,如果一臺視頻服務器硬盤損壞,該臺服務器上存儲的數(shù)據(jù)將無法讀取,而系統(tǒng)并不知道,以為這些數(shù)據(jù)繼續(xù)有效,仍然將讀取數(shù)據(jù)的請求發(fā)送給它,這將造成讀取數(shù)據(jù)的客戶永久等待,形成死鎖。又如,系統(tǒng)中關鍵部分的負載應該受到監(jiān)視,因為持續(xù)的高負載可能造成該部件的最終失效,例如,如果視頻服務器CPU負載過高,可能使服務器無法繼續(xù)響應請求。為了保證系統(tǒng)高效、可靠地運行,必須對整個系統(tǒng)進行監(jiān)控。系統(tǒng)的監(jiān)控包括以下幾個方面:硬件監(jiān)控、視頻服務器狀態(tài)監(jiān)控、系統(tǒng)視頻流監(jiān)控和系統(tǒng)報警。