摘 要:在CDN和P2P兩種主流的流媒體分發技術的基礎上,提出了基于系統流量的混合流媒體分發模型,根據系統中節點數量和媒體流量之間的關系,在CDN自治域內實現CDN和P2P的混合式服務,并對上述理論進行了仿真。實驗結果表明,與傳統的CDN和P2P相比,新的混合模型既可以減少主干網絡的流量,又能在不降低流媒體質量的情況下,有效降低CDN服務器壓力,減少系統的響應時間,提高網絡利用率。
關鍵詞:內容分發網絡; 對等網絡; 流媒體; 混合流媒體分發模型
中圖分類號:TP393文獻標志碼:A
文章編號:1001-3695(2010)06-2208-03
doi:10.3969/j.issn.1001-3695.2010.06.060
Hybrid streaming media distribution model based on P2P and CDN
ZANG Yungang, CHEN Guangxi
(College of Computer Control, Guilin University of Electronic Technology, Guilin Guangxi 541004, China)
Abstract:Based on CDN and P2P, this paper provided a new HSDM. According to the relation of peers and streaming capacity in the system, realized and then simulated the hybrid model. The result shows that compared with traditional CDN and P2P, this new hybrid model obviously reduces the flow of backbone network. And also, with this new method can effectively reduce the pressure of CDN severs and the response time of system without compromising the media quality delivered, and increases the network utilization.
Key words:CDN(content distribution network); P2P(peertopeer); streaming media; hybrid streaming media distribution model (HSDM)
0 引言
隨著網絡技術的進步,人們對所分發的實時流媒體的質量和分發速度提出了更高的要求。在實時流媒體分發領域,最為常用的是CDN和P2P兩種技術。
CDN技術最初用于Web服務。當用戶向Web服務器發送請求時,利用DNS的重定向機制,將其重定向到離用戶最近或負載最低的CDN服務器上,以加快響應速度和優化熱點內容分布,達到平衡Web服務器負載和降低網絡帶寬消耗的目的。這一技術同樣可以應用于網絡流媒體服務。由于流媒體本身的特點,大量用戶對熱點文件的重復請求,使得網絡中存在大量冗余數據,CDN服務器的處理能力和出口帶寬就成為系統瓶頸;另外,CDN服務器部署和維護的高費用,也增加了服務提供商和客戶的成本。當前相關研究主要從副本放置算法[1]、內容路由[2]、負載均衡和重定向機制[3]等方面對CDN技術進行了改進,使得系統的服務性能和健壯性得到了提高,但是仍未能有效解決網絡流量消耗和系統瓶頸的問題。
與CDN不同,P2P內部所有節點的地位均等,節點之間不需要互聯網路由器和網絡基礎設施的支持,成本低、易于部署;同時,P2P節點在下載文件時還上傳給其他請求節點,擴大了用戶組的規模,提高了系統效率。然而,由于沒用中心服務器,P2P節點之間的內容交換缺乏統一的管理,內容的安全性無法保證;流媒體分發時需調動較多的種子節點,節點之間的頻繁交互占用了大量帶寬;在節點數目太少時,會造成網絡傳輸中斷。目前大量研究分別從文件訪問控制機制[4]、容錯機制和節點激勵機制[5]角度,對P2P進行了改進,但仍不能有效降低主干網絡流量,流媒體分發的啟動速度仍然與種子節點的數量密切相關。
目前,國內外對于CDN和P2P的混合結構的研究尚處于起步階段。文獻[6]提出了基于泛洪的緊急消息廣播技術,但是不適于大型的流媒體分發。文獻[7]是側重系統的安全認證,在非結構化的P2P網絡中引入訪問控制機制,對分發策略進行了分析,卻未涉及系統流量的控制。文獻[8]利用CDN服務器的去中心化,將POP節點(points of provider)構成一個P2P網絡,實現副本放置,但其側重的是服務器層面的P2P實現和負載均衡,自治域內的資源并未充分利用,CDN處理能力和出口帶寬仍然是系統瓶頸。鑒于此,本文從系統流量控制的角度,提出了基于CDN和P2P的新的混合流媒體服務模型。系統由CDN服務器及P2P網絡組成的自治域構成:在用戶請求較少時,采用傳統的C/S服務模式;而在用戶不斷增加的情況下,由CDN作為索引服務器,將客戶端節點構成一個中心化的P2P網絡,這樣既能保證流媒體服務的質量,加快P2P的啟動過程,又能將媒體流量控制在自治域范圍內,從而有效降低主干網絡帶寬和服務器部署成本。
1 系統模型
1.1 傳統CDN和P2P服務模式的比較
傳統的CDN服務模式是將遠程的流媒體服務器上的內容緩存到用戶網絡邊緣的cache服務器上,向自治域內的節點提供高質量的流媒體服務;而P2P模式則是將所有客戶端節點組成一個對等網絡,節點之間互通有無,共享所需的數據。
從圖1(a)中可以看出,傳統的CDN服務模式使得服務器與客戶端的距離變近,避免了由于網間互聯造成的時間延遲,減少了主干網絡的流量,提高了響應速度,但是其C/S服務模式要面向每一個客戶提供會話,網絡上存在大量重復數據,系統流量與CDN服務器所面對的客戶端節點數有關,因此在節點數一定(滿負載)的情況下,系統的流量曲線呈水平狀如圖1(c),CDN服務器的性能和出口帶寬成為系統瓶頸。而在P2P模式下,節點之間共享數據,理論上下載速度只受限于下載帶寬和客戶端性能,但是流媒體的分發過程需要足夠的節點來啟動,種子較少時啟動過程緩慢;隨著P2P網絡規模的增大,網絡流量呈指數增加如圖1(c),而且由于節點間所在地域的差別,導致大量占用了主干網絡帶寬。
通過以上對比,本文提出這樣一種模型:在CDN的自治區域內,初始分發階段由CDN向內部節點提供快速的流媒體響應;后續分發中,將自治區域內的節點組成一個局部的中心化的P2P網絡。這樣,在充分利用內部網絡資源的同時,可以降低CDN服務器的壓力,同時有效減少流入到主干網絡的帶寬。
1.2 混合服務模型的建立
本混合流媒體分發模型由流媒體服務器、CDN服務器和客戶端節點組成的CDN自治域組成。每個流媒體服務器可以向多個CDN服務器發送媒體副本;同樣,每一個CDN服務器也可以向多個自治域提供流媒體服務,如圖2所示。為了便于描述,將系統簡化,只有一個CDN服務器和一個P2P網絡,所有節點只請求一個文件,P2P節點分為兩級,即節點到CDN的最大距離(跳數)為2。
整個媒體分發過程可以分為以下三個階段:
a)流媒體初始分發階段(圖2(a))。客戶端節點群的一個子集向CDN服務器發送流媒體請求。由于此時服務請求數量較少,CDN服務器及其出口帶寬足以提供高質量的流媒體服務,整個服務過程全部由CDN服務器提供;然后將當前獲得服務的節點加入到支撐節點集中,這一過程類似于傳統的CDN服務。
b)CDN和P2P混合服務階段(圖2(b))。此時,隨著客戶端數量的不斷增加,CDN服務器及其網絡負載不斷加大,由于部分節點已經獲得了部分或者全部數據,CDN服務器首先監測支撐節點集的總出口(上傳)媒體流是否滿足流媒體播放,如果是,則由支撐節點提供服務;否則由自己對此請求提供服務。此時CDN服務器承擔著傳統CDN服務器和索引服務器的雙重角色,并加快了P2P的啟動進程。
c)P2P服務階段(圖2(c))。隨著內容分發的進行,支撐節點集的規模越來越大,最終達到一種平衡狀態:自治域中,全部節點流媒體的總和大于CDN所應分發的整個文件。這時系統可以完全啟動P2P模式,如果不考慮節點的失效和退出,僅靠P2P網絡,足以將流媒體文件的分發過程持續下去。設此時為切換時間t0,此后,CDN主要充當索引服務器使用。
2 模型描述
在此系統模型中,假設所有節點均在線,不存在節點失效或退出,系統瓶頸僅為CDN服務器性能及輸出帶寬,與P2P節點之間網絡帶寬無關。同時假設每個會話的持續時間為L,時間間隔以1 min為單位;S(t)表示當前系統內流媒體的總流量;S(t+1)表示下一刻系統中總流量;NCDN為CDN服務器所服務的節點數;λ為P2P節點每分鐘所允許的最大上傳流量;ρ表示每個支撐節點上傳的流量在滿流會話中所占的平均比率;β是節點請求產生率;M(t)為t時刻系統中保持請求的節點數,則M0為分發初始階段,向CDN發出請求(注冊)的節點數。本文尋求系統從CDN模式轉換到完全的P2P模式所需的切換時間t0,t0越小,表示從CDN模式轉換到完全P2P模式所需要的時間越短,CDN的負載壓力越小,分發速度越快。
根據圖2所示,可以簡單地將整個分發過程分為混合服務階段(t≤t0)和P2P階段(t>t0)。
S(t+1)=S(t)+NCDN×λ+S(t)λ×ρ×(λ-1)t≤t0
S(t)+βLM(t)×(λ-1)t>t0(1)
其中:t≤t0時,下一刻系統內流量為當前流媒體流量與CDN提供的流量(NCDN×λ)以及P2P節點之間的流量(S(t)λ×ρ×(λ-1))之和;而在t>t0時,由于CDN不參與流媒體分發,系統下一刻流量為當前流媒體流量與P2P節點之間流量(βLM(t)×(λ-1))之和。
同樣可求得系統中向CDN保持請求的節點數為
M(t+1)=M(t)-S(t)λ×ρ-NCDNt≤t0
M(t)-β×L×M(t)t>t0(2)
在t≤t0時,下一刻的保持請求的節點數為當前請求節點數減去支撐節點數和僅從CDN獲取媒體流的請求節點數。
求解式(1)(2)可得:
當λ≠1時,
S(t)=NCDNρ×λ2λ-1×1+ρ×λ-1λt-1t≤t0
S(t0)+M(t0)×(β-1)×[1-(1-(β×L)t-t0]t>t0(3)
M(t)=M0+t×NCDN-S(t)λ-1t≤t0
M(t0)×(1-β×L)t-t0t>t0(4)
當λ=1時,
S(t)=t×NCDNt≤t0
S(t0)t>t0
(5)
M(t)=M0-t×NCDN-ρ×NCDN×t×(t+1)2t≤t0
M(t0)×(1-β×L)t-t0t>t0(6)
由于t0為切換時間,意味著從t0時刻開始,系統可以離開CDN服務器而獨立運行。為求得t0,可以假設[t0,t0+1]內CDN所接收的請求數與系統請求數的瞬時關系滿足:
β×L×M(t0)=α×ρ×S(t0)λ(α為穩定因子)(7)
將式(7)帶入(4)可得,當λ≠1時,
1+ρ×λ-1λt0=
β×L×M0+t0×NCDNλ-1
α×λλ-1×NCDN+β×L×λλ-12×NCDNρ+1(8)
當λ=1時,
β×L[M0-t0×NCDN×(1+ρ×t0+12)]=α×ρ×t0×NCDN(9)
利用Maple軟件計算解方程式(8)和(9)可得λ≠1和λ=1時的切換時間。
3 系統分析
系統性能主要從CDN服務器的請求響應能力、系統的切換時間以及系統內媒體流量三個方面進行評價,要求系統模型能夠顯著減少CDN的持續請求數量,縮短系統的切換時間,并將系統流量控制在自治區域內。假設兩級P2P節點各占節點總數的50%,c1=2,x1=4,c2=4,x2=8,λ=2,ρ=0.375[9],NCDN=20,β=0.001,α=1,M0=4 000,L=60 min,由式(8)可得,t0≈10。
3.1 CDN服務器性能分析
傳統模式下,CDN服務器只提供流媒體緩存服務,而混合服務模式下,CDN服務器除提供上述服務外,還具有索引服務器的功能,因此CDN的性能直接影響請求的處理能力和流媒體的分發速度。由于P2P系統中無中心服務器,故不作比較。
圖3描述的是傳統CDN和混合服務模式下,與CDN保持請求的節點數的變化。從圖3中可以看出,在傳統的CDN模式下所有請求都指向CDN服務器,直到節點接收流媒體完畢,因此請求數一直保持在較高水平。而在混合模式下,CDN的持續請求節點數在t0后呈現迅速下降的趨勢,這是因為隨著流媒體分發的進行,有相當一部分的流媒體分發是在自治區域中以P2P的方式進行的,減少了向CDN服務器的流媒體請求;t=50之后,CDN的請求數量變化趨于平緩,此時CDN所處理的請求主要是作為索引服務器對節點的響應,這些負載比流媒體請求而言要小得多。
圖4展示的是在混合模式和CDN模式下,CDN服務器的請求拒絕率的變化情況。圖4中一個很明顯的特點就是CDN模式下,系統的請求拒絕率始終居高不下,這是因為在大量用戶訪問(M0=4 000),而服務器的處理能力相對較小(約為40)的情況下,服務器負載很大,絕大多數請求不能及時響應,導致了大量的請求被拒絕。而在混合模式下,分發的開始階段類似于CDN模式,但是在切換時間t0后,絕大多數的媒體分發都是在自治區域內部進行,CDN只是充當了索引服務器的功能,相對于流媒體分發來說,請求數要少得多,因此系統的請求拒絕率迅速下降至最低。
3.2 系統流量及切換時間的分析
自治域內流媒體的流量對網絡狀況有著重要影響,而切換時間的大小,直接決定了CDN服務器在大量請求的情況下所需要提供流媒體服務的時間,因此系統流量變化和切換時間也是評價系統性能的重要指標。
圖5表示的是在CDN、P2P以及混合模式下系統中媒體流量的變化。在P2P模式下,系統中流量隨著時間的增加呈指數變化。這是因為不同節點間同時存在上傳和下載,頻繁的數據交換,造成自治區域內流量的急劇上升。在CDN模式下,由于所有節點的流媒體均來自CDN服務器,系統中的流量只與CDN所服務的節點數有關,在響應節點數一定的情況下,系統中流量是一個固定值,因此呈一條水平直線。在混合模式下,系統流量不僅與系統中CDN處理的請求節點數有關,還與CDN服務器的服務狀態有關:在開始分發的最初一段時間內,以傳統的CDN方式進行媒體分發,此時系統中流量變化緩慢,隨著時間的推移,系統切換到P2P模式,流量急劇上升,當所有節點均參與分發后,系統最終達到一個穩定狀態。對比混合模式與P2P模式,雖然都有流量的增加,但是由于混合模式把所有流量控制在自治區域的范圍內,并不會對主干網絡性能造成沖擊,相對于傳統P2P而言,混合模式更有優勢。
圖6描述的是不同的系統參數下切換時間t0的變化。
系統的切換時間與CDN分配給流媒體的容量NCDN和節點的請求產生率β有關。在同樣的節點請求產生率的情況下,系統分配給某個流媒體的容量NCDN愈大,系統的切換時間越短,說明媒體的分發速度越快,反之亦然。因此,CDN系統分配給流媒體資源的多少,直接影響媒體的分發速度:分配越多,系統資源越充分,CDN參與分發的時間越短,P2P模式的啟動時間越早,CDN服務器的壓力越小;同樣,每個節點每分鐘產生的請求數越多,說明本節點獲取流媒體的能力越強,完成接收的時間越短,那么支撐節點代替CDN進行P2P分發的時間也就越短,CDN退出的時間也就越短。
4 結束語
針對大規模流媒體分發過程中流媒體服務器和主干網絡負載過大的問題,本文在綜合比較了CDN和P2P兩種當前主流的流媒體分發技術后,提出了一種綜合CDN和P2P優勢的混合流媒體分發模型,并對此模型下的服務器負載和網絡流量狀況進行了仿真和分析。試驗結果表明,在混合模式下,由于是CDN提供最初的流媒體分發,故可以得到比傳統P2P更快的啟動速度,與傳統的CDN模式相比,又可以有效降低CDN服務器和主干網絡的負載,減少響應時間,充分利用自治域內的網絡帶寬,加快了流媒體分發。
參考文獻:
[1]陳海濤,徐傳福,黃遵國,等. 基于對等網絡的廣域網內容發布系統[J].計算機應用研究,2004,21(9):250-252.
[2]蔣海,李軍,李忠誠. 混合內容分發網絡及其性能分析模型[J].計算機學報, 2009, 32(3): 473-482.
[3]SHAIKH A, TEWARI R, AGRAWAL M. On the effectiveness of DNSbased server selection[C]//Proc o
f IEEE INFOCOM. Anchorage, AK:[s.n.],2001:1801-1810.
[4]ANCEAUME E, GRADINARIU M, RAVOAJA A. Incentive for P2P fair resource sharing[C]//Proc of the 5th IEEE International Conference on PeertoPeer Computing. Washington DC: IEEE Computer Soeiety, 2005:253-260.
[5]MUSHTAQ M, AHMED T. QoS provisioning for video streaming over SPDriven P2P networks using admission control[C]//Proc of the 6th IEEE Conference on CCNC. Piscataway, NJ: IEEE Press,2009:978-979.
[6]閆正航, 楊宇航,王暉,等.基于 P2P的 CDN網絡中緊急消息廣播技術[J].計算機應用研究,2007,24(5):287-292.
[7]THRKMEN F, MAZZOLENI P, CRISPO B. PCDN: Extending access control capabilities of P2P systems to provide CDN services[C]//Proc of the 15th IEEE SCC. 2008:480-486.
[8]ZHANG Guomin, XING Changyou, CHEN Ming. A distributed multimedia CDN model with P2P architecture[C]//Proc of IEEE ISCIT. 2006:152-156.
[9]XU Dongyan, KULKARNI S S, ROSENBERG C, et al. Analysis of a CDNP2P hybrid architecture for costeffective streaming media distribution[J]. Multimedia Systems,2006,11(4):383-399.