胡偉俊
(麗水學院工學院,浙江 麗水323000)
近幾年,隨著個人計算機的運算能力與網絡技術的迅速發展,網絡電視、網絡游戲與實時轉播等網絡應用程序得到了越來越多的應用,隨著編碼技術的成熟,目前多基于網絡串流視頻技術來實現。隨著網絡應用程序用戶的增加,傳統客戶端—服務器架構已經無法滿足大量使用者同時實時收看影音串流的需求。另外,傳統的架構必須花費大量代價來進行所需要的帶寬和服務設施建設(如編碼服務器、影音串流服務器及網絡服務器)。這種相對較高的帶寬和媒體服務器部署的巨大成本,對大量服務的用戶的流媒體直播服務供貨商是一個嚴峻的挑戰。
為了解決這個問題,點對點(Peer-to-Peer,P2P)傳輸架構的新技術開始被用于實時影音串流系統中,以克服上述提到的諸多問題[1]。這種點對點的實時影音串流利用用戶的網絡帶寬以及運算能力,來有效地分擔串流服務系統的負擔,以達到使網絡容納更多的用戶,同時降低網絡帶寬以及服務設備成本的目的[2]。在這樣的點對點網絡中,主要的思想與模式是:用戶在網絡中共享彼此的媒體文件,而不是僅僅從服務器上下載文件,即每一位使用者既是一個客戶端,也是一個服務器。這種模式通過共享加載的流媒體服務器,降低了所需的帶寬,為使用者提供服務[3]。目前,有許多網絡上的P2P流媒體如PPLive、PPStream、悠視網等。然而,基于點對點的實時影音串流技術的網絡存在動態的特性,用戶可以隨意加入或離開網絡,使得網絡中的用戶數目實時變化[4]。在該模式下,對于網絡進行實時監控來跟蹤點對點網絡中用戶的網絡狀況、收看質量以及系統狀態來評估系統的效能,是非常重要的一項研究內容,并且成為近年來的一個研究熱點[5-7]。本文分析了點對點串流實時監控系統的需求,指出跟蹤監控的3類主要方法,即網絡級別的監控,被動的應用程序級別的監控和主動應用程序級別的監控。提出了一種用于P2P網絡串流的主動應用程序級的實時監控系統的架構,分析了系統的各個主要組成部分與功能。
圖1給出了3G平臺移動視頻直播網絡模型。在該模型下,目前已有很多對于P2P網絡流媒體直播系統進行監控的研究。在這些監控方法中,主要有3種類型的跟蹤監控方法:網絡級別的監控,被動的應用程序級別的監控和主動應用程序級別的監控。

圖1 3G平臺移動視頻直播網絡模型
網絡級監控的原理是:執行監控任務的監控代碼到網絡設備,如路由器、交換機和網關收集IP層的數據報監控信息。它可以進一步分為路由器和基于非路由器監控工作。監控的功能是內置到路由器并沒有額外安裝硬件或軟件,SNMP(RFC1157),RMON(RFC1757)和NetFlow(RFC3954)是在路由器監控的典型例子。
被動應用程序級別監控的原理是:通過收集應用程序級信息被動的方式,如嗅探,通過對比度實現網絡級的跟蹤,被動應用程序級的監控不需要網絡基礎設施的訪問。
主動應用程序級別的監控原理是:系統收集關于目標P2P應用程序的活動,跟蹤傳播的代理,如“爬蟲”,對數據流量和同行的伙伴關系作進一步的分析。本文討論的就是主動應用程序級別的監控。
所提出的主動應用程序級別的實時監控系統的體系結構如圖2所示。主要組成部分有:日志服務器,日志緩沖區,日志分析器,監控代理和Web GUI接口。

圖2 主動應用程序級別實時監控系統
流媒體服務器接收數據流源,如媒體編碼器能夠從數字攝像機、數字電視卡或攝像頭獲取視頻/音頻信號,然后進行編碼,作為待處理的視頻流信號。一個流媒體服務器如果具有足夠大的帶寬,來自流媒體服務器的種子用戶上傳的流媒體,就會共享分流到其他對等端。在實時監控系統中,Web GUI接口下提供以下信息的輸出:
1)系統信息,即流媒體服務器使用的CPU/內存;
2)內容質量信息,即最終用戶接收信息的質量;
3)通信信息,即流媒體服務器和最終用戶上傳/下載速度和數量。
數據庫是一個可以訪問的資源集合或存儲庫,是一個組織好的電子存儲的數據檢索信息。來自該系統的數據庫中的數據還包括一些日志文件。這些日志數據存儲到數據倉庫ETL進行3步操作:1)在提取階段,數據被分析、解析和進行格式轉化;2)轉換階段是用一系列的規則對源數據轉換,如數據清洗和數據聚合;3)加載階段的最終目標是將數據加載到最終目標。
使用該系統能夠進行實時監控,可以跟蹤點對點網絡中用戶的網絡狀況等內容,主要包括設備信息與服務器信息。設備信息的主要內容包括:網絡設備的基本信息,包含設備名稱、該設備服務的終端設備數目、當前開放服務的數目、設備的IP地址、當前網絡輸入輸出速率、設備當前服務的用戶數目等;輸入/輸出流量速度,即實時監控系統提供不同的時間間隔的輸入/輸出流量速度;輸入/輸出流量,即輸入/輸出流量是在上一個時間間隔內設備的流量變化,其余還包括系統信息、設備信息、終端用戶信息、P2P基本信息、P2P終端用戶信息和客戶—服務器基本信息與終端用戶信息等。在服務器信息部分,主要信息包括服務器基本信息、流量速度、流量、終端用戶信息、P2P基本信息、P2P終端用戶信息、客戶—服務器基本信息與終端用戶信息等內容。
為了評價所構建系統的性能,特別設計了一個最終用戶流量日志數據包發生器,建立從50到15 000個連接,并發送流量日志數據到實時監控服務器,來為監控服務器產生工作量。此外,選擇在2臺機器上進行實驗,以得到更加全面的觀察結果。這2臺機器的硬件信息如表1所示。

表1 機器配置
首先,發送2 000流量日志(1 000記錄一次)到監控服務器,在第5 s,最初的1 000日志包存放于日志緩存中,其他的1 000日志包在第5 s被接收到。在實驗開始時間后約7 s,啟動日志分析器,日志數量減少。服務器1需要1.45 s,服務器2需要2.1 s來處理日志。日志存儲時間服務器1和服務器2采用的是1.25 s和1.95 s。統計在不同節點屬下的數據聚集時間,得到的結果如表2所示。

表2 數據聚集的時間對比
隨著網絡應用程序用戶的增加,P2P傳輸架構的新技術開始被用于實時影音串流系統。然而,這樣的網絡存在動態的特性,每位用戶既是一個客戶端,也是一個服務器,用戶可以隨意加入以及離開點對點的網絡,對于該網絡進行實時監控來跟蹤點對點網絡中用戶的網絡狀況、收看質量以及系統狀態來評估系統的效能,是非常重要的一項研究內容。本文分析了應用于P2P網絡串流的實時監控系統,指出跟蹤監控的3類主要方法,即網絡級別的監控、被動的應用程序級別的監控和主動應用程序級別的監控。最后,提出了主動應用程序級別的監控模式下監控系統的架構與組成,并進行了實驗,分析了其監控性能。
[1]楊文濤,易志雄,劉衛忠,等.P2P網絡流媒體播放系統研究[J].電視技術,2005,29(6):66-68.
[2]HEI X,LIANG C,LIANG J,et al.A measurement study of a large-scale P2P IPTV system[J].IEEE Trans.Multimedia,2007,9(8):1672-1687.
[3]MATHUR A,MATHUR A,ZHANG H.Measurement of commercial peer-to-peer live video streaming[EB/OL].[2012-11-12].http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.61.1906&rep=rep1&type=pdf.
[4]凌燕,藍善禎,徐品,等.P2P流媒體系統關鍵技術概述[J].電視技術,2012,36(3):58-61.
[5]SILVERSTON T,FOURMAUX O.Measuring P2P IPTV systems[EB/OL].[2012-11-12].http://rp.lip6.fr/site_npa/_publications/796-silverston-nossdav07.pdf.
[6]詹曉濤.CDN與P2P相結合的流媒體系統設計[J].電視技術,2009,33(6):67-70.
[7]XIE S,KEUNG G Y,LI B.A measurement of a large-scale peer-to-peer live video streaming system[C]//Proc.ICPPW 2007.[S.l.]:IEEE Press,2007:153-162.