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