劉亞輝 李海洋
摘要:流媒體技術(shù)的出現(xiàn),在一定程度上使互聯(lián)網(wǎng)傳輸音視頻難的局面得到改善。流媒體網(wǎng)絡傳輸技術(shù)的實現(xiàn)是網(wǎng)絡媒體傳輸技術(shù)的一次重要飛躍,它的影響力將是巨大的,它的前景也是無限光明的。正如每一次技術(shù)革命都帶來人類社會的質(zhì)的改變,媒體網(wǎng)絡傳輸技術(shù)也會給媒體傳輸?shù)陌l(fā)展帶來強大的動力。
關(guān)鍵詞:流媒體 流媒體服務系統(tǒng)設計
0 引言
流媒體簡單地說就是應用流式傳輸技術(shù)在Internet/Intranet上傳輸?shù)倪B續(xù)時基媒體,如:音頻、視頻或多媒體文件。流式媒體在播放前并不下載整個文件,只將開始部分內(nèi)容存入內(nèi)存,流式媒體的數(shù)據(jù)流隨時傳送隨時播放,只是在開始時有一些延遲。流媒體實現(xiàn)的關(guān)鍵技術(shù)就是流式傳輸。流式傳輸主要指通過網(wǎng)絡傳送媒體(如視頻、音頻)的技術(shù)總稱。其特定含義為通過Internet將影視節(jié)目傳送到PC機。流媒體技術(shù)是包含了采集、編碼、傳輸、儲存、解碼等多項技術(shù)的綜合技術(shù)。
1 流媒體設計
1.1 流媒體實現(xiàn)的關(guān)鍵技術(shù)——流式傳輸 流式傳輸?shù)亩x很廣泛,現(xiàn)在主要指通過網(wǎng)絡傳送媒體(如視頻、音頻等)的技術(shù)總稱。特定含義為通過INTERNET將影視節(jié)目傳送到PC機。實現(xiàn)流式傳輸有兩種方法:順序流式傳輸和實時流式傳輸。
1.1.1 順序流式傳輸 順序流式傳輸是順序下載,在下載文件的同時用戶可觀看在線媒體,在給定時刻,用戶只能觀看已下載的那部分,而不能跳到還未下載的前頭部分,順序流式傳輸不象實時流式傳輸在傳輸期間根據(jù)用戶連接的速度做調(diào)整。由于標準的HTTP服務器可發(fā)送這種形式的文件,也不需要其他特殊協(xié)議,它經(jīng)常被稱作HTTP流式傳輸。
順序流式傳輸比較適合高質(zhì)量的短片段,如片頭、片尾和廣告,由于該文件在播放前觀看的部分是無損下載的,這種方法保證電影播放的最終質(zhì)量。這意味著用戶在觀看前,必須經(jīng)歷延遲,對較慢的連接尤其如此。
順序流式文件是放在標準HTTP或FTP服務器上,易于管理,基本上與防火墻無關(guān)。順序流式傳輸不適合片段和有隨機訪問要求的視頻,如:講座、演說與演示。它也不支持現(xiàn)場廣播,嚴格來說,它是一種點播技術(shù)。
1.1.2 實時流式傳輸 實時流式傳輸總是實時傳送,特別適合現(xiàn)場事件,也支持隨機訪問,用戶可快進或后退以觀看前面或后面的內(nèi)容。理論上,實時流一經(jīng)播放就不會停止,但實際上,可能發(fā)生周期暫停。
實時流式傳輸必須匹配帶寬連接,這意味著在以調(diào)制解調(diào)器速度連接時圖象質(zhì)量較差。而且,由于出錯丟失的信息被忽略掉,網(wǎng)絡擁擠或出現(xiàn)問題時,視頻質(zhì)量很差。如欲保證視頻質(zhì)量,順序流式傳輸也許更好。實時流式傳輸需要特定服務器,如QuickTime Streaming Server、Real Server與Windows Media Server。這些服務器允許你對媒體發(fā)送進行更多級別的控制,因而系統(tǒng)設置、管理比標準HTTP服務器更復雜。
實時流式傳輸還需要特殊網(wǎng)絡協(xié)議,如:RTSP(Realtime Streaming Protocol)或MMS(Microsoft Media Server)。這些協(xié)議在有防火墻時有時會出現(xiàn)問題,導致用戶不能看到一些地點的實時內(nèi)容。
1.2 基于J2EE的業(yè)務管理系統(tǒng) 軟件系統(tǒng)采用J2EE架構(gòu),采用跨平臺JAVA語言開發(fā),采用Oracle9i.為本系統(tǒng)的后臺數(shù)據(jù)庫.本方案配置的系統(tǒng)為:WebSphere5.0十Oracle 9i.數(shù)據(jù)組織和展現(xiàn)形式都是XML格式來完成。為了在大多數(shù)瀏覽器上(lE和Netscape)正確顯示,系統(tǒng)在服務器端將XML與XSLT進行裝配,生成HTML.當用戶訪問系統(tǒng)時,首先經(jīng)過Filter的過濾,Filter會檢查是否需要Session驗證,如果用戶通過Session驗證,則允許用戶訪問;如果用戶沒有通過驗證,則直接拒絕用戶訪問。用戶提交的訪問請求通過Filter驗證以后,進入JSP頁面處理。JSP獲取必要的參數(shù)以后,調(diào)用業(yè)務邏輯層的業(yè)務邏輯函數(shù)進行處理。業(yè)務邏輯層在必要的時候通過數(shù)據(jù)庫對象映射系統(tǒng)訪問數(shù)據(jù)。在系統(tǒng)中,業(yè)務邏輯層以上的層面上絕不出現(xiàn)任何與數(shù)據(jù)庫相關(guān)的操作。所有的操作均在數(shù)據(jù)庫映射層面上完成。因此在更換數(shù)據(jù)庫的時候就不會對業(yè)務邏輯造成傷害。業(yè)務邏輯層處理好以后,將處理結(jié)果返回給Jsp頁面,Jsp頁面將結(jié)果按照要求,組裝成XML或者HTML,然后提交給Filter. Filter根據(jù)參數(shù),決定是否將結(jié)果與XSLT樣式文件進行裝配,形成最終的HTML,并提交給用戶。J2EE應用程序可以是基于web方式的,也可以是基于傳統(tǒng)方式的。
2 流媒體服務系統(tǒng)設計
2.1 流媒體播放系統(tǒng)設計 整個流媒體播放系統(tǒng)所包含的功能包括:流媒體直播、流媒體點播的支持。流媒體播放系統(tǒng)的管理內(nèi)容包括直播點播管理、內(nèi)容維護、廣告管理、統(tǒng)計分析、內(nèi)容發(fā)布、資費管理等。
2.2 CDN組成及其基本工作原理 一個典型的CDN由以下幾個要素組成:①本地負載均衡。②全局負載均衡及策略調(diào)度。③帶寬與QOS質(zhì)量管理。④分布式存儲與分發(fā)管理系統(tǒng)。
2.3 CDN總體結(jié)構(gòu) 在整個CDN網(wǎng)絡解決方案中,CDN系統(tǒng)通過接收用戶請求,監(jiān)測Cache,從而選擇一個最健康的Cache為用戶提供服務,整個系統(tǒng)分GSLB,Monitor,Console三大模塊,它們之間保持著一個松散禍合的關(guān)系,彼此之間通過SOAP協(xié)議進行通信,從而構(gòu)成一個整體。GSLB模塊:GSLB主要完成為用戶請求引導,選擇一個最好的Cache為用戶提供內(nèi)容服務,主要功能有:用戶請求接入、最佳服務選擇處理、服務狀態(tài)監(jiān)測、數(shù)據(jù)緩存處理、業(yè)務日志處理功能。Console模塊:Console主要完成基礎(chǔ)信息維護、業(yè)務數(shù)據(jù)查詢,主要功能有:基礎(chǔ)信息維護、業(yè)務數(shù)據(jù)查詢、配置信息發(fā)布。Monitor模塊:Monitor功能模塊主要完成業(yè)務數(shù)據(jù)存儲、業(yè)務數(shù)據(jù)匯總,主要功能有:業(yè)務數(shù)據(jù)存儲、業(yè)務數(shù)據(jù)匯總、服務監(jiān)測報等。
2.4 負載均衡系統(tǒng)設計 全局負載均衡的設計涉及到就近性判斷、重定向機制和流量分配策略等問題。
3 服務器性能
隨著流媒體規(guī)模的擴大,流媒體服務器的性能成為制約流媒體服務擴展能力的重要因素。流媒體服務器性能的關(guān)鍵指標是流輸出能力和能同時支持的并發(fā)請求數(shù)量。影響流媒體服務器性能的因素很多,包括CPU能力,I/O總線,存儲帶寬等。通常,單個流媒體服務器的并發(fā)數(shù)都在幾百以內(nèi),因此,為了具有更好的性能,目前的高性能流媒體服務器都采用大規(guī)模并行處理的結(jié)構(gòu),例如采用超立方體的結(jié)構(gòu)將各個流媒體服務單元連接起來。還有一種方法是采用簡單的PC集群的方式,這種方式下多個PC流媒體服務器用局域網(wǎng)連接,前端采用內(nèi)容交換/負載均衡器將流媒體服務的請求分布到各個PC媒體服務單元。后一種方式性能較前一種方式低,但是成本低,容易實現(xiàn)。
4 項目結(jié)論
在學校的校園網(wǎng)環(huán)境中,每一臺微機均能訪問筆者所做的流媒體服務器并能較流暢地播放“點播單播”、“廣播單播”、“多播廣播”等媒體流,并發(fā)訪問的客戶端在20臺以內(nèi)為宜。
4.1 針對多角色參與運營的需求,采用J2EE開發(fā)專門的業(yè)務管理系統(tǒng),提高了大量用戶并發(fā)的情況下,系統(tǒng)的處理能力。同時為下一步的開發(fā)和移植提供了便利。
4.2 單點式的節(jié)點無法滿足大規(guī)模服務的需求。因此,研究中提出了建設分布式的流媒體服務網(wǎng)絡,以CDN的方式進行用戶的全局引導和內(nèi)容分發(fā)調(diào)度。通過將用戶引導到最近的可用節(jié)點的方式,滿足用戶的服務請求,降低了網(wǎng)絡狀況對用戶所能得到的服務質(zhì)量的影響。
參考文獻:
[1]馮延暉.完全手冊北京:中國電力出版社.
[2]孫衛(wèi)琴.精通Hibernate: java對象持久化技術(shù)詳解.北京:電子工業(yè)出版社.