云辅助的P2P视频点播分发机制研究.docx
《云辅助的P2P视频点播分发机制研究.docx》由会员分享,可在线阅读,更多相关《云辅助的P2P视频点播分发机制研究.docx(35页珍藏版)》请在冰豆网上搜索。
![云辅助的P2P视频点播分发机制研究.docx](https://file1.bdocx.com/fileroot1/2023-5/26/c2a89084-fedc-48f7-8523-e7773eebb5c0/c2a89084-fedc-48f7-8523-e7773eebb5c01.gif)
云辅助的P2P视频点播分发机制研究
收稿日期:
20120705;修回日期:
20120810 基金项目:
国家“863”计划基金资助项目(2008AA01A315);国家教育部高等学校博士学
科科研基金资助项目(20114101110007);河南省教育厅2011年创新人才资助项目(2011HASTIT003);河南省信息化工程项目(2008xxh001)
作者简介:
郭红方(1981),女,河南濮阳人,博士,主要研究方向为网络多媒体、云服务等(hfguo@zzu.edu.cn);林予松(1973),男,副教授,博
士,主要研究方向为计算机网络、Web服务;王宗敏(1964),男(通信作者),教授,博士,主要研究方向为计算机应用技术.
云辅助的P2P视频点播分发机制研究
郭红方1,2,林予松1,2,王宗敏1
(1.郑州大学 河南省信息网络重点学科开放实验室,郑州450052;2.郑州大学信息工程学院,郑州450001)
摘 要:
提出一种新的流媒体分发混合网络模型P2Cloud,通过将云技术引入到P2P模式中,充分利用云技术的
高可靠性、高存储及处理能力来协助P2P完成视频点播服务。
针对P2Cloud模型的关键问题———视频片段的分
布,引入数据片段有用值的概念,不但考虑到视频片段的流行度,同时考虑已加入节点的失效性,进而提出根据
有用值来决定数据块向云平台的上传策略。
并通过形式化的成本估算模型对P2Cloud点播应用成本进行量化,
以指导点播服务提供商降低其部署成本。
实验验证了提出的P2Cloud在用户满意度、带宽节约率及带宽消耗方
面优于现有方案。
关键词:
视频点播;对等网络;云服务;成本模型;流行度;内容分发
中图分类号:
TP393 文献标志码:
A 文章编号:
10013695(2013)02052504
doi:
10.3969/j.issn.10013695.2013.02.057
ResearchonstreamingdistributionofcloudassistedP2Pvideoondemand
GUOHongfang1,2,LINYusong1,2,WANGZongmin1
(1.HenanProvincialKeyLabonInformationNetworking,ZhengzhouUniversity,Zhengzhou450052,China;2.SchoolofInformation&Engi
neering,ZhengzhouUniversity,Zhengzhou450001,China)
Abstract:
Thispaperproposedahybridstreamingdistributionoverlay,calledP2Cloud,whichsupportedP2PVoDserviceby
introducingcloudtechnologywithhighreliability,storage,andprocessingability.ToaddressthekeyissueofP2Cloud—the
videosegmentdistribution,thesegmentusefulnessconsideringpopularityandpeereffectivenesswasintroduced,itproposeda
migratingpolicyaccordingtothesegmentusefulnessaswell.AnditproposedtheformalizedcostmodelofP2Cloudtoguidethe
VoDservicetoreducethedeploymentcost.TheextensivesimulationexperimentsvalidatethatP2Cloudoutperformstheexisting
solutionsintermoftheuser’ssatisfaction,bandwidthsaving,bandwidthconsumption.
Keywords:
VoD;P2P;cloudservice;costmodel;popularity;contentdistribution
!
引言
随着宽带互联网的普及和多媒体技术的发展,视频点播服
务已经成为互联网生活的重要组成部分,然而庞大的用户规
模、动态的用户操作和海量的流媒体数据向点播服务提出了更
大的挑战。
如何在现有的物理网络上以较低的代价向大规模
的动态用户提供交互性的流媒体应用也一直是点播应用需要
解决的关键问题[1,2]。
P2P技术通过普通节点相互协作实现了
免费的资源共享,成为视频点播应用最有前景的实现方案。
然
而P2P视频点播系统中,用户行为的时间不同步性、兴趣独立
性、节点的高度动态性降低了节点间相互协作共享资源的机
率,不能满足用户对视频的需求,也不满足高资源利用率及系
统的快速扩展。
据统计,对于前25名的流行视频文件就需消耗60%的服
务器带宽。
另外,视频点播应用存在时间局部性,例如每天的
晚8点为视频点播的黄金时间,此时用户量很大,然而一天的
其他时间用户都在上班,用户量小,因此为了满足用户的需求,
视频点播服务提供商不得不部署大量的服务器支持用户量最
大时的点播服务。
这导致了大量的服务器资源大部分时间内
是浪费的,没有充分的利用。
这在一些重大事件、运动会、比赛
等期间尤其突出。
云服务“payasyougo”的付费模式[3],充足的存储空间与
快速的处理能力为点播应用的发展提供了新的发展空间。
如
果把整个视频服务都移到云平台上,用户所有的请求都被定向
到云服务,就成了传统意义上的C/S模式。
这种模式不但不
能充分利用节点自身的资源,用户的频繁访问还使得点播服务
提供者向云服务者付出巨额资金,其成本往往要比点播提供商
自己部署服务器要大。
根据文献[4]提到的MMVE服务,假设
每12h平均的流量是27TB,而AmazonEC2按0.08!
/GB标
准收取费用[5],则每个月带宽的消耗就得花费大概13万美元。
从此不难看出,对于海量的流媒体视频数据如果全部都利用云
服务,那代价更是不可想象。
为了克服P2P流媒体点播系统中节点的不可靠性、请求时
间的局部性、服务器的可扩展性等导致的用户点播服务不能满
足的问题,本文结合P2P与云服务,提出一种新的视频点播内容
分发架构P2Cloud,通过考虑P2P点播应用于中的数据片段的流
行度与节点的离开行为对要迁移到云平台的点播数据片段的选
择进行设计。
云辅助的P2Cloud不但避免了P2PVoD中节点不
第30卷第2期2013年2月 计算机应用研究ApplicationResearchofComputers
Vol.30No.2
Feb.2013
可靠性导致的跳转时延过长,也降低了点播服务提供商为了满
足用户的需求而不断部署新服务器带来的成本。
" 相关工作
根据P2P技术与云服务结合的模式,将其分为以下两类:
a)P2PinCloud模式。
云平台对于一个服务提供商来说,
整个云平台可以被认为是一个集中式的资源,这些数据中心会
分布在不同的地方。
一个Cloudlike的架构支持平台的服务,
存在严重的单点失效问题。
现有的一些研究侧重在利用P2P
技术优化云服务端的拓扑结构[6~10],例如,GFS文件存储系统
为了克服master目录主服务器的性能瓶颈,文献[8]就通过结
构化的DHT组织所有的TrunkServer服务器。
也有的研究利
用部署多个master目录主服务器来减少单点失效的风险[9]。
Ranjan等人[10]提出了采用P2P技术连接不同的云服务的功
能,不仅仅只部署在存储服务上。
P2PinCloud主要是面向云
服务器端的,本文关注的是从用户角度向云服务转移的应用的
CloudinP2P模式。
b)CloudinP2P模式。
文献[4]通过结合P2P资源与
Cloud资源来支持大规模的MMVE应用,Cloud给节点提供了
可信任的资源,极大地提高了其扩展性,并且达到负载均衡。
文献[11]提出了一种基于P2P与Cloud的移动设备流数据的
分发结构,其中Cloud端提供存储与及处理请求的任务,移动
终端之间则通过P2P来合作分发数据、分散负载。
文献[12]
提出基于云服务传递网络的弹性P2PVoD覆盖网络构造方
法。
文献[13]则构建了一种基于CloudP2P的恶意代码联合
防御网络。
与以上研究不同,本文的主要工作如下:
a__________)提出云辅助的
视频点播分发模型,解决其成本高、资源利用率低等问题;b)
进而引出其关键问题数据片段备份策略选择优化问题及系统
部署的形式化成本估算模型;c)通过模拟仿真实验及对比对
所提策略的性能进行分析,验证其有效性。
# 云辅助的&视频点播分发模型
云辅助的P2PVoD服务模型构建的重要依据从以下三方
面来分析:
a)P2P模式需要云模式的辅助,由于P2P流媒体服务中,
节点的不可靠性、服务器的可扩展性等导致的服务不能满足的
情况及服务器带宽消耗高等问题,利用云服务提供的存储空
间、可靠服务,将视频数据分发的部分功能转移到云服务中,从
而实现部分的负载转嫁,达到了降低点播服务提供商服务器的
负载,降低其成本。
b)网络中既然有超级节点这个角色[14],20%的超级节点
完成了80%的请求服务,所以设计思路就可以将Cloud网络作
为P2P网络中的超级节点。
在Cloud中,存储服务器可以作为
P2P网络中的边缘服务器对流数据进行快速可靠的转发。
c)云模式需要P2P模式的辅助,由于云模式下的流媒体
服务是通过租用服务器资源来实现的,所以为了减低其运行成
本,P2P免费资源共享服务是理想的选择。
#" 设计思路
利用云平台提供的存储空间、可靠服务,将视频点播中数
据分发的部分功能转移到云服务中,从而实现部分的负载转
嫁,达到降低点播服务提供商服务器的负载,降低其成本的目
的。
其中需要解决的关键问题是哪些数据应该转移到云服务
中,需要转移多少数据流量等。
这些都直接关系到点播服务提
供商需要向云服务商付出的成本。
本文将利用Cloud网络作为P2P网络中的超级节点来辅
助解决由于海量流媒体与高带宽消耗带来的P2PVoD服务得
不到满足的问题。
而新的服务结构面临的关键问题与挑战如
下:
a)整个数据转发网络包括参加的用户节点、点播应用提
供商的服务器及引入的云服务器,通过合理的部署进行快速的
数据转发。
b)视频片段的放置问题,根据数据片段的流行度与节点
失效率来决定数据片段向云平台转移的策略。
c)对于视频点播服务提供商最关心的带宽消耗问题,通过模
型化的分析以指导提供商需要部署服务器的方案,降低其成本。
## 云辅助的&视频点播架构———'()*+
本文提出了P2Cloud视频点播服务内容分发模型,如图1
所示。
!
"#$%
&'#()%*'
$&"#+%
-'*+.)/0
!
#/-*/-
&'#()%*'
%#1/"#+%
-'*+.)/0
$&"#+%
-'*+.)/0
%#1/"#+%
-'*+.)/0
2/-*'/*-
$&"#+%
-'*+.)/0
!
3456"#$%
"#$%
$,*',
P2Cloud包括三个主要参与对象:
a)内容提供商(contentprovider,CP)。
内容提供商拥有源
视频资源,除了负责整个系统的传统的节点管理、内容分发功
能外,还需负责与另一参与对象———云服务提供者CLP(cloud
provider)的交互。
b)终端用户US(users)。
它是整个系统服务的终端用户,
其动态的用户请求及对服务质量的需求是系统设计的关键参
考因素。
终端用户间可通过向内容提供商请求、互相协作、向
云服务提供者请求资源。
c)云服务提供者CLP(cloudprovider)。
CLP根据当前用
户请求及CP提供服务情况,协助合理地向用户提供数据资源
以满足用户的请求。
对于P2Cloud中用户,其请求操作可通过P2P端用户协
作、内容提供商的私有服务器及租用的云服务器三种方式实
现。
如图2所示。
当用户发起一个请求,首先需要在通过P2P
网络来搜索其目标资源,资源的快速准确定位是P2CloudP2P
端研究的重要内容。
若在P2P端没有找到目标资源,根据传
统的方法,此时需要向内容提供商部署的私有服务器获取。
对
于P2Cloud模式,用户根据本文提出的成本估算模式得到应该
向云服务提供商还是内容提供商服务请求。
#$ 点播应用与云平台交互方式
P2Cloud需要解决的关键问题是哪些数据应该转移到云
服务中,转移多少数据以及点播应用如何与云平台交互等,这
些关系到点播服务提供商需要向云服务商付出的成本。
图3给
出了点播应用与云平台交互的结构。
其中Broker是云提供商与
其客户通信接口。
当接到有用户上传或下载数据的请求时,内
·526·计算机应用研究第30卷
容提供商需与云服务提供商就租用不同服务级别、服务器类型
等成本进行协商,进而通过虚拟机调度机制对虚拟机群的资源
进行调度。
在此需要指出的是,内容提供者与普通用户都可以
向云平台上传资源,这样也降低了内容提供者私有服务器的负
载。
不难看出,在此有两个关键问题需要解决:
a)数据片段内容
放置策略(也可看做是迁移策略);b)如何为内容提供商设计准
确的成本模型,使得能及时合理地选择要租用的服务。
!
"#$%
&'()
*"#$%
+,()
!
-./
&'()
!
01+,2
&'()
$%34
56789:
;<01
56789:
;<01
$%
$%
$%
01+,2
-=>+,2
?
!
"#$%&'()
$%34@A
$%B
!
"#$
%&'(
!
"#)*!
"#+,
-./0123456
.789
!
"#$%"
:
;<=>?
@A
&
BCDA
'
<=EFG
H
(
9IJ.K%&'LMN'
#% 视频数据片段备份上传策略
由于点播用户行为是高度动态变化的,对视频片段的喜好
也遵循时间局部性,对于一些热门片段,访问的用户量多并不
能说明此时提供数据的节点也多,因为大量的用户观看完之后
会选择离开或跳播到其他节目片段。
这也从对实际系统的监
测数据中得到验证,如图4所示,对于服务器端的流量,流行度
前25%的文件夹要消耗60%的带宽资源,越流行的视频并没
有由于请求的节点多而互相共享达到节约带宽资源。
!
!
"#$%&'()'*
"#$
"#$%&'()*(+,
"#$%&,'-&&./
"#$%&+,'-&&./
0122032400
5%'6-7.8(9&.7('-5:
4;0
0;<
0;=
0;>
?
;!
0
所以对于影响带宽资源的流行度高的文件,为了满足用户
的需求,其流行度将作为是否要上传至云平台的一个重要因
素。
同时为了降低上传至云平台的成本,只有在现有节点通过
共享不能满足用户需求时,才会向云平台上转移。
本文提出了
数据片段有用值的概念,不但考虑到视频片段的流行度,同时
也考虑了已加入节点的失效性,进而提出了根据有用值来决定
数据块备份的上传策略PPL(popularityandpeerlife)。
定义1 在t时刻,若缓冲区的状态是S(T)=(n1(t),
n2(t),n3(t),…,nm(t)),m是一个影片包括的数据块的数目,
ni(t)是存储有数据块i的节点集。
对于在时间段[t,t+θ]内,
如果对于存储数据块的节点集离开的概率为Fθ(T)=
(fθ
1(t),fθ
2(t),…,fθ
m(t)),则定义该段时间内缓冲区中节点
有用值为
Σm
i=1(1-Πni(t)
j=1fθij(t))/m
在此加入已经得到的访问概率信息,设在时间段[t,t+θ]
内,数据块i的访问概率是pθi
(t),则此数据块i在整个系统的
效用值可表示为
(1-Πni(t)
j=1fθij(t))/pθi(t)
以上定义是说明数据片段i对于整个系统的有用值,然而
此有用值需要已知系统全局信息情况,这样又会加重服务器的
压力,带来服务器性能瓶颈,浪费大量的资源。
本文提出的
PPL策略通过节点与邻居节点交换信息,选出需要上传的数据
片段,把任务分散到每个节点,这样就减少了服务器的负载。
以下是对选择数据块的理论分析与定义。
定义2 假设节点i在t时刻的邻居节点集为neighbor
(t),其中存储有数据块k的邻居节点定义为neighbork(t),如
果数据块k不在节点i本地缓存区中,即klocalcachei(t),则
节点i选择预存的数据块的方法是通过找到邻居节点中效用
值最小的数据块,如下:
minc∈(1,2,…,m)
[(1-Πnei∈neighbork(t)
fθnei(t))/qθj(t)]klocalcachei(t)
0k∈localcachei(t{)
根据以上分析,数据块的上传策略考虑到其节点离开失效
的情况,利用以上定义的计算公式比较效用值,这种解决方案
更适合高度动态的视频点播应用。
$ 系统成本估算模型
向云服务中转移部分的视频点播服务不得不考虑成本问
题,采用流媒体数据流量的传输作为指标分析了P2Cloud视频
点播的成本估算。
图5描述了视频点播服务在五类节点间的
数据转发模式。
其中源服务器不但要服务部分用户节点,还要
向云平台上传视频数据;P2Cloud也充许普通节点向云平台上
传视频内容。
!
"#$%
&'()*+
!
-.&'
()*+
/01%23
45()*+
67458
9-.:
;
<=1%
>?
1%
@9:
;4
&'()*+
9AB-.C
9DE-.C
!
"!
#$%&'
-.C
F
(!
")$%&'
67GEHI
J1%DK67
!
45L9:
;M67NJ
"
定义:
cost1
为视频点播服务提供商向节点分发数据的流
量,cost2
为视频点播服务提供商向云服务上传的视频资源流
量,cost3
为普通节点向云服务上传视频资源流量,cost4
节点从
云服务上获取视频资源的流量,cost5
为租用的存储服务器的
成本。
其中:
cost2
、cost3
、cost4
、cost5
都是云服务提供商向点播
服务提供商收取的;cost1
、cost2
为视频点播服务提供商自己部
署服务器的成本。
成本估算参数描述如表1所示。
表1 成本估算参数描述
参数功能描述
ε考查的时间段
ci数据块i
s(i)数据块i的大小
tocs__________ε(t)在ε内源服务器向云服务上传的数据块
tocpε(t)在ε内普通节点向云服务上传的数据块
SSCapacitySS服务器的带宽服务能力
Requestε(t)节点在ε时间段内对数据块的平均请求
SStoPeerε(t)节点在ε时间段源服务器提供的平均带宽
P2Pε(t)节点在ε时间段相互资源共享平均带宽
CSS(t)在t时刻存储在云服务上的存储空间
第2期郭红方,等:
云辅助的P2P视频点播分发机制研究·5 27 ·
根据以上分析,下面给出了成本计算的形式化表示,对于
时间段[t,t+ε]内根据参数说明表1所示的参数说明,可以得
出总成本cost为
cost=cost1
×SSCapacity+Σ
i∈tocsε(t)
cost2
×s(i)+Σ
j∈tocpε(t)
cost3
×s(j)+
cost5
×CSS(t)+cost4
×(Requestε(t)-SStoPeerε(t)-P2Pε(t))
为求最小的成本消耗,根据租用成本计算模块,使系统能
自适应地在源服务器、终端节点与云服务器间进行资源请求的
最优配置。
在保证用户请求得到满足的情况下,λ1、λ2代表源
服务器与云服务器提供资源占用的比例。
可形式化成求最小
值问题,如下:
Minimize:
C=λ1×SStoPeerε(t)×cost1
+λ2Cloudε×cost4(t)
Constraints:
P2Pε(t)+SStoPeerε(t)+Cloudε(t)≥Requestε(t)
% 性能测试与分析
%" 实验配置
本节对P2Cloud进行了仿真实验,优化了基于事件驱动的
P2P视频点播模拟器[15],模拟了云计算平台环境,并实现本文
提出的策略,测量了基于P2Cloud视频点播应用的操作成本与
性能,并与P2P、C/S结构进行对比分析。
比较了三种结构在节
点失效时对点播服务的影响。
对提出的PPL策略进行了多方
面的测量分析,根据所提出的成本估算模型作了模拟实验,对成
本消耗进行量化。
主要性能指标如下所示:
a)未满足用户请求的概率。
节点没能获得服务的请求数
量与所有请求的数量比值。
b)带宽节约率。
请求云服务器上的数量与所有请求的比率。
c)成本率。
采用P2Cloud所消耗的成本与传统的C/S模
式的成本比值。
本实验的视频总共包括720块,节点数目是16000。
每个
节点的请求可以是1~720的任意一数据块。
数据块的流行度
采用lognormal分布[16],参数仍是σ=1.35,μ=0.0159。
由图
2得知,前25%受欢迎的数据要占服务60%的带宽,在模拟实
验中,本文采用了这些数据。
%# 实验结果分析
421 未满足用户请求的概率
图6描述了在部分节点失效的情景下,纯Server、P2P、
P2Cloud三种模型性能的对比。
模拟实验假定节点的请求高
于服务器最多能支持的请求。
对于服务器模式下16000个节
点请求,刚开始服务器只能处理40%的请求,随着节点失效数
量的增加,在60%节点都失效时,服务器就能满足所有用户的
需求了。
但对于P2P模式,由于720块的数据分散在整个网络
中,只有持有这些数据块的大部分节点都离开,节点才不能满
足请求。
当90%以上的节点都失效,P2P中没有数据源,其失
败的请求也随之快速增加。
在不考虑成本的情况下,P2P+
Cloud模式对网络的动态性有较强的鲁棒性。
422 云服务中转移数据块策略
图7显示了P2Cloud按流行度效用值的高低来选择要上
传资源的策略性能。
图中采用了两个纵坐标,其中右边的纵坐
标与上面介绍的一样,都是代表请求没有得到满足节点数与所
有请求的比值。
本文假定不考虑P2P模式的作用,根据服务
器带宽对于前25%的文件要消耗60%的带宽,在此基础上,本
实验测量了P2Cloud对点播服务提供商服务器的带宽节约情
况,选择了前20名的数据块作为对象。
!
"#$%&'(
!
"#$"#
%&%
%&%'()*+,
-
./0
.12
.13
.1&
..1&.13.12.10-
)*+,(
-
2
)*+,./01%
&2345
()*+,!
455657",5"#$"#8*5754$69:
()*+,!
455657",+5"#;46)#"<+"57
67)8(
=>
.1?
?
.