CN102333106A - 一种p2p系统资源调度方法及其装置和系统 - Google Patents
一种p2p系统资源调度方法及其装置和系统 Download PDFInfo
- Publication number
- CN102333106A CN102333106A CN2010102302173A CN201010230217A CN102333106A CN 102333106 A CN102333106 A CN 102333106A CN 2010102302173 A CN2010102302173 A CN 2010102302173A CN 201010230217 A CN201010230217 A CN 201010230217A CN 102333106 A CN102333106 A CN 102333106A
- Authority
- CN
- China
- Prior art keywords
- resource
- server
- client
- user
- mirror image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种P2P系统资源调度方法及其装置和系统,该方法包括:获取P2P系统中P2P客户端进行资源访问的历史信息;根据获取到的历史信息调度P2P系统中的资源。其中包括:P2P客户端从网络侧获取该P2P客户端所请求的资源的各资源块被P2P系统中各P2P客户端下载的统计概率,并根据获取到的所述各资源块被下载的统计概率下载所请求的资源的资源块;或/和,P2P系统中的资源发放服务器获取各资源的访问者数量和共享者数量的统计值,根据获取到的所述统计值预估出的各资源的带宽需求,并根据预估出的各资源的带宽需求发放资源。采用本发明可提高客户端下载访问资源过程中播放访问资源的流畅性。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种P2P系统资源调度方法及其装置和系统。
背景技术
P2P技术属于重叠网(Overlay Network)范畴,是相对于客户机/服务器(C/S)模式来说的另一种网络信息交换方式。C/S模式的缺点包括:因为服务器的个数有限,系统容易出现单一失效点;单一服务器面对众多的客户端,由于CPU能力、内存大小、网络带宽的限制,可同时服务的客户端非常有限,可扩展性差。P2P技术正是为了解决这些问题而提出的一种对等网络结构。在P2P网络中,每个节点既可以从其他节点得到服务,也可以向其他节点提供服务。这样,庞大的终端资源被利用起来,解决了C/S模式中的上述弊端。
VoD(Video On Demand)是视频点播技术的简称,也称为交互式电视点播技术。VoD是计算机技术、网络技术、多媒体技术发展的产物,是一项全新的信息服务。
典型的P2P VoD系统的架构可如图1所示。现有的P2P VoD系统采用服务器结合P2P网络的方式实现视频点播功能。P2P客户端在初次加入网络时向Tracker(资源索引服务器)进行注册,并向其发出资源请求。Tracker反馈给客户端其所申请的资源所在的资源镜像服务器和拥有该资源的Peer(对等节点)列表。P2P客户端依据自身的预取机制向列表中的节点发出请求,进行资源下载。资源镜像服务器以及其他拥有该资源的节点,响应来自客户端发出的连接请求,并提供请求的资源。
图2以节点A申请影片M为例,示出了VoD系统运行的流程,该流程可包括:
1、节点A上线,注册后选择影片M,确认本身拥有足够的缓存后向Tracker发送peer list请求(中间可能存在下载节目单的过程,从略)。
2、Tracker将该影片的peer list返回给节点A,其中包括节点B、资源服务器以及网络中其他拥有该影片chunk(资源块)的节点。
3、节点A启用预取机制选择下载的chunk,向网络中拥有该资源的节点发起chunk请求。
4、各节点响应chunk请求,向节点A传送其所请求的chunk或者经过协商传递更细粒度的分片。
5、节点A在下载过程中会周期性的将自己的可共享chunk汇报给Tracker。
发明人在实现本发明的过程中,发现现有技术至少存在以下技术问题:
基于现有VoD网络系统架构下的访问资源调度机制不够完善,使客户端在下载播放访问资源时出现播放中断的几率较高。
发明内容
本发明实施例提供了一种P2P系统资源调度方法及其装置和系统,用以完善P2P系统中的资源调度机制,进而减少客户端下载资源过程中播放中断发生的几率。
本发明实施例提供的P2P系统资源调度方法,包括以下步骤:
获取P2P系统中P2P客户端进行资源访问的历史信息;
根据获取到的历史信息调度P2P系统中的资源。
所述获取P2P系统中P2P客户端进行资源访问的历史信息,根据获取到的历史信息调度资源,包括:
P2P客户端从网络侧获取该P2P客户端所请求的资源的各资源块被P2P系统中各P2P客户端下载的统计概率,并根据获取到的所述各资源块被下载的统计概率下载所请求的资源的资源块;或/和
P2P系统中的资源发放服务器获取各资源的访问者数量和共享者数量的统计值,根据获取到的所述统计值预估出的各资源的带宽需求,并根据预估出的各资源的带宽需求发放资源。
本发明上述实施例所提供的方法中,获取P2P客户端进行资源访问的历史信息,并根据该历史信息调度P2P系统中的资源。通常,P2P客户端进行资源访问的历史信息能够反映出P2P客户端普遍的资源访问习惯,而结合P2P客户端普遍的资源访问习惯来进行资源调度,与现有技术相比,可以更好的适应P2P客户端资源访问的特点和需求,进而减少客户端下载资源过程中播放中断发生的几率。
本发明实施例提供的P2P客户端设备,包括:
发送模块,用于向网络侧发送资源访问请求;
接收模块,用于接收网络侧返回响应,其中携带有所请求的资源的各资源块被P2P系统中各P2P客户端下载的统计概率;
下载模块,用于根据所述各资源块被下载的统计概率下载所请求的资源的资源块。
本发明上述实施例所提供的P2P客户端设备可在发送资源访问请求后,接收网络侧发送的该资源的各资源块被P2P系统中各P2P客户端下载的统计概率,并根据该统计概率下载所请求的资源的资源块。通常,各资源块被P2P系统中各P2P客户端下载的统计概率能够反映出P2P客户端普遍的资源访问习惯,而结合P2P客户端普遍的资源访问习惯来进行资源调度,与现有技术相比,可以更好的适应P2P客户端资源访问的特点和需求,进而减少客户端下载资源过程中播放中断发生的几率。
本发明实施例提供的资源发放服务器,包括:
获取模块,用于获取各资源的访问者数量和共享者数量的统计值;
预估模块,用于根据获取到的所述统计值预估出的各资源的带宽需求;
发放模块,用于根据预估出的各资源的带宽需求发放资源。
本发明上述实施例所提供的资源发放服务器,可根据各资源的访问者数量和共享者数量的统计值预估出的各资源的带宽需求,并根据该带宽需求发放资源。通常,各资源的访问者数量和共享者数量的统计值能够反映出P2P客户端对资源的带宽需求情况,因此与现有技术相比,根据该带宽需求情况进行资源发放可更好的满足P2P客户端对资源访问的带宽需求,进而减少客户端下载资源过程中播放中断发生的几率。
本发明实施例提供的用户日志服务器,包括:
接收模块,用于从资源索引服务器接收P2P客户端发送的用户观看行为信息;所述用户观看行为信息包括P2P客户端请求访问的资源标识、下载的资源块标识;
日志生成模块,用于根据所述用户观看行为信息生成用户观看行为统计日志;所述用户观看行为统计日志以资源标识为索引,包括与资源标识对应的该资源包含的资源块被P2P客户端下载的统计概率;
发送模块,用于根据P2P客户端所请求访问的资源,将相应资源标识对应的用户观看行为统计日志信息发送给所述P2P客户端。
本发明上述实施例提供的用户日志服务器,可根据资源索引服务器发送的用户观看行为信息生成用户观看行为统计日志,并发送给请求资源访问的P2P客户端,从而为P2P客户端根据用户观看行为统计日志进行资源请求和下载提供的保证,进而减少客户端下载资源过程中播放中断发生的几率。
本发明实施例提供的另一用户日志服务器,包括:
接收模块,用于从资源索引服务器接收P2P客户端发送的用户观看行为信息和用户共享行为信息,所述用户观看行为信息包括用户请求访问的资源的标识,所述用户共享行为信息包括P2P客户端可共享的资源的标识;
统计模块,用于根据所述用户观看行为信息和所述用户共享行为信息分别统计出设定时间段内各资源被多少P2P客户端请求访问,以及被多少P2P客户端共享;
发送模块,用于将统计出的用户数量发送给资源发放服务器。
本发明上述实施例提供的用户日志服务器,可根据资源索引服务器发送的用户观看行为信息和用户共享行为信息统计出设定时间段内各资源被多少P2P客户端请求访问,以及被多少P2P客户端共享,并提供给资源发放服务器,从而为资源发放服务器根据该统计信息进行资源发放提供了保证,进而减少客户端下载资源过程中播放中断发生的几率。
本发明实施例提供的P2P系统,包括:资源索引服务器和用户日志服务器,其中:
资源索引服务器,用于将各P2P客户端上报的用户观看行为信息发送给用户日志服务器,以及将用户日志服务器生成的、与P2P客户端所请求访问的资源对应的用户观看行为统计日志发送给发起资源访问请求的P2P客户端;所述用户观看行为信息包括P2P客户端请求访问的资源标识、下载的资源块标识;
用户日志服务器,用于根据资源索引服务器发送的各P2P客户端上报的用户观看行为信息,生成用户观看行为统计日志,并将生成的用户观看行为统计日志发送给资源索引服务器;所述用户观看行为统计日志以资源标识为索引,包括与资源标识对应的该资源包含的资源块被P2P客户端下载的统计概率。
本发明上述实施例提供的P2P系统中,由于用户日志服务器可根据资源索引服务器提供的用户观看行为信息生成用户观看行为统计日志,并发送给请求资源访问的P2P客户端,而用户观看行为统计日志能够反映P2P客户端普遍的资源访问习惯,而P2P客户端结合该资源访问习惯来进行资源下载,与现有技术相比,可以更好的适应P2P客户端资源访问的特点和需求,进而减少客户端下载资源过程中播放中断发生的几率。
本发明实施例提供的另一P2P系统,包括:
资源索引服务器,用于将各P2P客户端上报的用户观看行为信息和用户共享行为信息发送给用户日志服务器;所述用户观看行为信息包括P2P客户端请求访问的资源标识,所述用户共享行为信息包括P2P客户端可共享的资源的标识;
用户日志服务器,用于根据资源索引服务器发送的各P2P客户端上报的用户观看行为信息和用户共享行为信息,统计各资源的访问者数量和共享者数量并发送给资源发放服务器;
资源发放服务器,用于根据统计出的各资源的访问者数量和共享者数量预估出的各资源的带宽需求,并根据预估出的各资源的带宽需求发放资源。
本发明上述实施例提供的P2P系统中,用户日志服务器可根据资源索引服务器提供的用户观看行为信息和用户共享行为信息统计出各资源的访问者数量和共享者数量并发送给资源发放服务器,资源发放服务器可根据该统计值预估出的各资源的带宽需求,并根据该带宽需求发放资源。通常,各资源的访问者数量和共享者数量的统计值能够反映出P2P客户端对资源的带宽需求情况,因此与现有技术相比,根据该带宽需求情况进行资源发放可更好的满足P2P客户端对资源访问的带宽需求,进而减少客户端下载资源过程中播放中断发生的几率。
附图说明
图1为现有技术中P2P VoD系统的架构示意图;
图2为现有技术中VoD系统运行的流程示意图;
图3为本发明实施例一中采用自适应预取机制的VoD系统架构示意图;
图4为本发明实施例一提供的自适应预取机制的运行流程示意图;
图5A为本发明实施例一中的影片M的各chunk数量示意图;
图5B为本发明实施例一中第一预取阶段示意图;
图5C为本发明实施例一中第二预取阶段示意图;
图6为本发明实施例二中采用自适应负载平衡机制的VoD系统架构示意图;
图7为本发明实施例二提供的自适应负载平衡机制的运行流程示意图;
图8A为本发明实施例二中新增影片发放示意图;
图8B为本发明实施例二中带宽需求列表中的应聘的发放示意图;
图9为本发明实施例三中采用自适应预取机制和自适应负载平衡机制的VoD系统架构示意图;
图10为本发明实施例提供的P2P客户端客户端设备的结构示意图;
图11为本发明实施例提供的资源发放服务器的结构示意图;
图12为本发明实施例提供的用户日志服务器的结构示意图。
具体实施方式
VoD网络的性能主要由网络的总上传带宽是否能满足系统中所有用户流畅播放所需的下载带宽来衡量,而系统的总上传带宽由运营商的分布式资源镜像服务器和P2P网络提供。其中,P2P客户端网络所提供的带宽已在整个网络上传带宽中占主要部分,分布式资源镜像服务器大部分时候所起的作用是用来发布新资源以及补充各影片P2P网络上传带宽的不足。目前随着该服务的飞速发展,服务器带宽已越来越无法满足庞大用户群日益增长的对高质量资源的要求。
VoD系统能正常运营的前提是网络总下载数据速率不能小于整个系统所能提供的播放速率。一般来讲,下载速度相对于影片播放速率越大,则用户获得的播放质量越稳定。为了使用户能有更好的观看体验,产生了预取机制。现有P2P VoD系统主要应用的预取机制有如下几种:
(1)连续预取机制
该机制下,客户端按影片的chunk顺序下载chunk。目前大部分运营的VoD系统采用这种方式。其特点是客户端能获得较短的启动等待时间,播放的连续性较好,但没有考虑用户的观看行为对影片的chunk分布的影响。统计表明,大部分用户都只观看影片的一部分而非看完。这就导致了影片靠近头部的chunk数过剩而影片尾部的chunk数不足,致使观看到尾部的用户经常由于找不到足够数量的供给节点而中断播放。
(2)随机预取机制
该机制下,客户端随机下载chunk。该机制主要应用于传统P2P网络(例如:Bit Torrent)。该机制的优点是网络中影片各位置chunk数基本平衡,系统整体下载速率较高,缺点是由于不是按影片中chunk的顺序下载,因此启动等待时间很长,且在播放初始很易出现播放中断。
(3)最少块优先预取机制
该机制下,用户优先下载网络中数量最少的chunk。该机制主要应用于传统P2P网络。该机制的优缺点与随机预取机制基本相同,不再赘述。
据现网统计资料表明,大部分用户观看影片只是观看影片开头部分而非全部,这意味着影片头部的chunk数较多而尾部较少。而现有P2P VoD系统在客户端采用的预取机制并未充分考虑到用户观看行为对chunk分布的影响,所以会导致用户在观看影片尾部时无法找到足够的chunk而中断播放。
另一方面,现有VoD系统由于没有采用相应的资源排布措施,造成有的资源镜像服务器虽然存储了大量资源但其上传带宽资源没有被充分利用而另一部分资源镜像服务器的负载超负荷的现象经常发生,即没有充分利用各服务器的硬盘和上传带宽资源,进而也会导致客户端下载播放影片等访问资源时容易出现播放中断的情况。
本发明实施例针对现有VoD系统存在的上述问题,分别从两方面进行了改进:
(1)在客户端侧,提供了自适应预取机制,在保证客户端流畅播放访问资源(如影片)的前提下,依据chunk紧缺程度触发chunk预取,最终平衡该影片各位置chunk的供需关系;
(2)在服务器侧,提供了自适应负载平衡机制,该机制能够以设定时长(如天)为单位,动态平衡各资源服务器上的资源分布,以均匀分布服务器带宽和存储负载。
这两种机制都具有根据用户行为进行自适应调节的特征,不需要人为干预。并且,这两种机制可以分别独立使用,如仅使用自适应预取机制或仅使用自适应负载平衡机制;也可以将这两种机制结合使用,即在客户端使用自适应预取机制,并且在服务器侧使用自适应负载平衡机制,从而更有效的解决客户端下载播放影片时容易出现播放中断的问题。
下面结合附图对本发明实施例进行详细描述。
实施例一
本实施例描述了自适应预取机制的实现过程。自适应预取机制通过统计用户以往的观看行为,得出用户对访问资源各chunk的访问概率,再基于该概率分布和网络中客户端所请求访问的资源各chunk数得出各chunk的紧缺程度,最后在保证客户端流畅播放的前提下依据chunk紧缺程度触发chunk预取,最终平衡该资源各位置chunk的供需关系。
图3示出了采用自适应预取机制的VoD系统架构。如图3所示,该系统架构所涉及的主要节点及其功能可包括:
用户日志服务器,为本发明实施例在现有VoD系统中新增加的节点设备。用户日志服务器可从Tracker收集用户观看行为信息,还可进一步收集用户共享行为信息,用户日志服务器可对收集到的用户观看行为信息进行统计处理,统计出一段时间内用户对各资源(如影片)的观看情况并为每个资源生成用户观看行为统计日志反馈给Tracker。
其中,用户观看行为信息和共享行为信息可分别包括:
用户观看行为信息:点播(或请求或访问)资源的客户端的相关信息(如客户端ID或IP地址),该客户端所点播的资源的资源ID,以及该客户端所观看(即下载)的chunk的标识(通常为chunk号);
用户共享行为信息:客户端可共享给其他客户端的chunk的相关信息(包括chunk号,还可以包括chunk数量)。通常,客户端在下载chunk后即可将该chunk在网络中共享。
用户日志服务器根据用户观看行为信息所生成的用户观看行为统计日志中可包括:资源ID(如影片ID)、该资源ID所标识的资源中各chunk被下载的次数,即在一段时间内有哪些资源被访问,以及每个被访问的资源的各片段分别被客户端下载的次数,还可包括访问该资源的用户的数量。用户观看行为统计日志中的chunk被下载的次数,也可由chunk被下载的概率代替,其中,第i个chunk被下载的概率为:
Pi=第i个chunk被下载的次数/访问相应资源的用户数量
表1示出了一种用户观看行为统计日志的内容组织形式
表1
Tracker,可为每个申请加入网络的客户端提供注册,向客户端反馈其所申请的资源所在的资源镜像服务器和拥有该资源的节点的IP地址列表(该列表也可称为peer list,或节点资源列表),此外,本发明实施例还在Tracker上增加了以下功能:
(1)周期性(如每5分钟1次)的收集用户观看行为信息和共享行为信息,并将收集到的信息传递给用户日志服务器;
(2)从日志服务器获得用户观看行为统计日志;
(3)向客户端反馈其所申请(即请求)的资源所对应的用户观看行为统计日志和该资源各chunk数量。
资源发放服务器,可以由现有VoD系统中的资源发放服务器实现,可将导入的新影片分发到资源镜像服务器上,以及删除资源镜像服务器上被决定下线的资源。
资源镜像服务器,可以由现有VoD系统中的资源镜像服务器实现,可响应来自于客户端的连接请求,并提供其所请求的资源。
P2P客户端,可周期性的向Tracker汇报自身可共享chunk数量情况,退出时汇报观看进度(可以时间为单位,也可以chunk为单位)及自身可共享chunk;还可接收Tracker下发的用户观看行为统计日志和各位置chunk数量信息,并按照自适应预取机制进行预取操作。
基于图3所示的系统架构,图4示出了自适应预取机制的运行流程,该流程所涉及的节点设备可包括Tracker、用户日志服务器、资源镜像服务器和P2P客户端。其中,Tracker接收客户端节点周期上报的用户观看行为信息,并发送给用户日志服务器,用户日志服务器根据接收到的用户观看行为信息生成用户观看行为统计日志,并将生成的用户观看行为统计日志发送给Tracker。
该流程以以下场景为例进行描述:资源镜像服务器和节点B以及网络中的一些其它节点保存有节点A(P2P客户端)所请求观看的影片M的chunk。该流程可包括:
步骤1、节点A选择影片M后,向Tracker请求能够提供影片M下载资源的节点列表。
该步骤中,节点A上线并注册后选择影片M,在确定自身拥有足够的缓存后向Tracker发送peer list请求,以请求获取能够提供影片M下载资源的节点列表,其间可能存在下载节目单的过程。
步骤2、Tracker将影片M对应的用户观看行为统计日志以及当前影片M各chunk的数量,以及该影片下载资源的节点列表(peer list)一起返回给节点A。
该步骤中,返回给节点A的peer list包括节点B、资源镜像服务器以及网络中其他拥有该影片chunk的节点。返回给节点A的影片M的各chunk数量和用户观看行为统计日志可如图5A所示,其中,返回给节点A的用户观看行为统计日志中可包括:影片M的各chunk被下载的概率(如图5A中的小数数值所示,图5A中各chunk中的整数为相应chunk的编号)。用户观看行为统计日志中的chunk被下载的概率也可以由相应chunk被下载的次数代替,此时发送的日志中还要包括访问影片M的用户数量,以便为后续选择需要下载的chunk时用于计算chunk被下载的概率。
具体的,Tracker将影片M所对应的用户观看行为统计日志发送给节点A的过程可以包括:
Tracker根据影片M的资源ID在其本地查询与该资源ID对应的用户观看行为统计日志,然后将查询到的用户观看行为统计日志发送给节点A。较佳地,Tracker将最近周期的用户观看行为统计日志发送给节点A,如果最近周期的用户观看行为统计日志中没有与该资源ID对应的日志,也可以将较接近当前时间的与该资源ID对应的用户观看行为统计日志发送给节点A。P2P系统中可规定时间的接近程度,比如,在统计周期长度为5分钟的情况下,如果在30分钟内都没有该资源ID所对应的用户观看行为统计日志,则可不再查询。如果Tracker没有查找到影片M的资源ID对应的用户观看行为统计日志,则可能表明在最近一段时间内该资源没有被访问,或者该资源是首次被访问,此种情况下,Tracker可按照现有机制返回peer list,相应的,节点A可按照现有机制根据peer list获取其所请求的资源。
本实施例的以下步骤以Tracker查询到相应的用户观看行为统计日志为例进行描述。
步骤3、节点A根据Tracker返回的peer list、用户观看行为统计日志选择影片M的chunk。
步骤4、节点A根据选择出的chunk,向peer list中所列出的拥有该资源的节点发起chunk请求。
步骤5、接收到该chunk请求的各节点响应chunk请求,向节点A传送其所请求的chunk。
节点A在下载过程中,可周期(如每5分钟)的将自己的可共享chunk汇报给Tracker。当节点A在离开系统时,可向Tracker汇报最终的观看和可共享存储情况,并进行注销处理。
Tracker可周期性(如每5分钟)的与用户日志服务器进行交互,以便将该周期内针对各影片收集的用户日志汇总到用户日志服务器。用户日志服务器将其生成的各影片的用户观看行为统计日志返回给Tracker以供节点查询。
上述流程的步骤3中,节点A的下载过程可分为两个阶段:
在初始阶段,节点A可采用现有的连续预取机制,按chunk排列顺序下载,以获得最小启动等待时间,如图5B所示;当客户端判断已下载的chunk数量比已播放的chunk数量多出规定的数量(比如总共6MB大小的3个chunk)时,进入第二阶段;
在第二阶段,节点A根据Tracker返回的用户观看行为统计日志选择chunk并进行下载,如图5C所示。
具体的,在第二阶段中,节点A可以以式(1)的概率选择连续的chunk进行下载,从而保证影片在本地的流畅播放,以式(2)概率下载后续的非连续chunk,从而参考以往用户观看影片的习惯来平衡各chunk的数量以最终达到平衡各位置的下载速度。当发现已完成连续下载的资源的量比已观看的量多的值小于一定数值(如2M,1个chunk)时,可切换回第一种下载方式(即顺序下载方式)。
式1:P=r/d
式2:
其中,d表示客户端测量得到的本地下载速度;r表示该影片的播放速率,该值可由客户端测量得到;Pi表示统计以前观看的用户下载第i个chunk的概率,可通过用户观看行为日志计算得到,该值也可包含在用户观看行为日志中;L表示该影片共被分成的chunk数量;Ni表示目前网络中第i个chunk的数量;c表示目前正在连续下载的chunk号。当根据式(1)计算出的P值大于1时,使P值等于1,当根据式(2)计算出的P值小于0时,使P值等于0。
式(1)和式(2)的计算结果值(以P表示)可以用来表示chunk的紧缺程度。
以下给出一种上述第二阶段中选择chunk下载的具体实现方式:
以顺序下载方式确定下一个需要下载的chunk(如chunk m),根据当前测量得到的本地下载速度d和影片播放速度r,根据式(1)计算得到该chunk(chunk m)所对应的P值,由于本地下载速度和影片播放速度是实时变化的,优选地,可选用计算得到的P值中最小的值;对于其它还未下载的chunk(如chunk m+1~chunk L),根据当前测量得到的本地下载速度d和影片播放速度r,以及用户观看行为日志,根据式(2)计算各个chunk对应的P值;由于P值可表示chunk的紧缺程度,其值越高表明紧缺程度越高,因此,可优先下载P值高的chunk,具体的,可通过为不同P值的chunk分配不同下载时间长度的方式实现,比如,客户端可按照P值从大到小的顺序选择多个chunk,根据各chunk的P值分配未来一段时间内下载所选择出的各chunk的时间长度,其中P值越大,相应chunk所分配到的时间越长,如按照P值从大到小的顺序,分配未来1分钟内,各chunk的下载时间长度分别为30秒,20秒,10秒。
另一种在第二阶段中选择chunk下载的具体实现方式,可以是:
如果当前以顺序下载方式确定出的下一个需要下载的chunk为chunk m,则节点A选择并下载chunk的过程包括:使用当前测量得到的本地下载速度d和影片播放速度r,根据式(1)进行计算得到该chunk的P值;对于其它还未下载的chunk(如chunk m+1~chunk L),使用当前测量得到的本地下载速度d和影片播放速度r,以及用户观看行为日志中的信息,根据式(2)计算各个chunk对应的P值。
由于P值可表示chunk的紧缺程度,其值越高表明紧缺程度越高,因此,可优先下载P值高的chunk,具体的,在决定是否选择某chunk时,可根据均衡分布随机机制生成一随机数,根据该chunk的P值将该随机数的取值范围分为两个区段(按照数值从小到大顺序,可称为前一个区段和后一个区段),其中前一个区段表示选择该chunk的概率范围,另一个区段表示不选择该chunk的概率范围,如果该随机数落入前一区段则表示选择该chunk,否则表示不选择该chunk。例如,chunk i(第i个chunk)的P值为0.3,即被选择的概率值为30%,随机数的取值范围是(0,1),概率值30%将随机数取值范围划分为(0,0.3]和(0.3,1),生成的随机数为0.2,落入到(0,0.3]内,表示需要选择该chunk i进行下载。
可以看出,通过以上方式,可以优先下载紧缺程度高的chunk,从而参考以往用户观看影片的习惯来平衡各chunk的数量以最终达到平衡各位置的下载速度。
需要说明的是,以上根据chunk的紧缺程度来选择相应的chunk的具体实现方式并不局限于上述描述过程,本领域技术人员应该能够基于上述思想,采用其他方式依据chunk的紧缺程度来选择相应的chunk,也应该在发明的保护范围之内。
通过实施例一的描述可以看出,由于客户端的预取机制是根据统计得到的用户观看行为日志进行的,即,通过该预取机制所选择和下载chunk的概率符合统计得到的用户观看习惯,从而可优先下载用户观看概率较高的部分,与现有技术中的连续预取机制或随机预取机制相比,可针对用户的观看习惯下载chunk,进而可提高用户观看的连续性,还可以节省网络带宽的使用。另一方面,该预取机制还规定了在客户端已完成连续下载的chunk数量与已观看的chunk数量之差小于一定数值时,切换为现有的连续预取机制,从而保证了用户观看影片的连续性。仿真表明本发明实施例提供的预取机制相对于现有技术提供的预取机制可以达到最小的启动准备时间和播放中断次数。
引入上述自适应预取机制后,P2P系统能够在不延长用户观看启动准备时间的情况下,进一步针对所请求的资源,依据用户观看行为平衡该资源各chunk的数量分布,以达到较大限度的减少因下载速度不平衡而造成的观看中断情况。
实施例二
本实施例描述了自适应负载平衡机制的实现过程。自适应负载平衡机制根据用户的观看行为和共享行为,以设定时长(如天)为单位,预估出各资源(如影片)未来的观看情况和共享情况,动态平衡各资源镜像服务器上的资源分布,以提高各资源镜像服务器的存储资源和上传带宽资源的利用率。
图6示出了采用自适应负载平衡机制的VoD系统架构。如图6所示,该系统架构所涉及的主要节点及其功能可包括:
用户日志服务器,为本发明实施例在现有VoD系统中新增加的节点设备。用户日志服务器可从Tracker收集用户观看行为信息和共享行为信息,并对收集到的信息进行统计处理,得出未来一段时间(如未来一天)各资源的观看用户规模和资源提供者规模,并提供给资源发放服务器。
其中,用户观看行为信息和共享行为信息可分别包括:
用户观看行为信息:点播(或请求或访问)资源的客户端的相关信息(如客户端ID或IP地址),该客户端所点播的资源的资源ID;
用户共享行为信息:客户端可共享给其他客户端的资源(如影片的ID)。
用户日志服务器根据用户观看行为信息和用户共享行为信息所统计出的资源的观看用户规模和资源提供者规模是指:针对每个被点播(或请求)的资源,点播(或请求)该资源的用户数量,以及能够共享该资源的用户数量,优选的,所统计处的用户数量是设定时间段内的统计值。
资源发放服务器,可将导入的新影片分发到资源镜像服务器上,以及删除资源镜像服务器上被决定下线的资源;此外,本发明实施例还在资源发放服务器上增加了以下功能:根据用户日志服务器反馈的未来一段时间(如一天)的各资源的观看用户规模和资源提供者规模,以及根据设置的资源发放策略,迁移资源镜像资源服务器上的影片资源,从而提高资源镜像服务器的带宽以及提高存储资源的利用率。
Tracker,可为每个申请加入网络的客户端提供注册,向客户端反馈其所申请的资源所在的资源镜像服务器和拥有该资源节点的IP地址列表,此外,本发明实施例还在Tracker上增加了以下功能:周期性(如每5分钟1次)的收集用户观看行为信息和共享行为信息,并收集到的信息传递给用户日志服务器。
资源镜像服务器,可以由现有VoD系统中的资源镜像服务器实现,可响应来自于客户端的连接请求,并提供其所请求的资源;以及,响应资源发放服务器的资源调度请求进行资源分布调整。
P2P客户端,可周期性的向Tracker汇报自身可共享chunk数量情况,退出时汇报观看进度(可以时间为单位,也可以chunk为单位)及自身可共享chunk。
基于图6所示的系统架构,图7示出了自适应负载平衡机制的运行流程,该流程所涉及的节点设备可包括Tracker、用户日志服务器、资源发放服务器和资源镜像服务器。该流程可包括:
步骤1、Tracker向用户日志服务器周期性(如每5分钟1次)发送本周期内各资源(如影片)的用户的观看行为信息和共享行为信息。
该步骤中,Tracker可周期性(如5分钟一次)从客户端收集针对资源的用户观看行为信息和共享行为信息,并将该信息上报给用户日志服务器;也可以根据客户端上报的用户观看行为信息和共享行为信息得到各资源的观看者人数和共享者人数,然后将其发送给用户日志服务器。
步骤2、用户日志服务器对收集到的用户观看行为信息和共享行为信息进行统计等处理,并根据统计结果预估出未来一段时间(如未来一天)各资源(如影片)的观看用户规模和资源提供者规模,进而计算出各资源所需服务器提供的带宽。如果Tracker上报的用户观看行为信息和共享行为信息是Tracker统计得到的各资源的观看者人数和共享者人数,则用户日志服务器可以省略上述统计等处理。
该步骤中,若预估时间为天,则用户日志服务器进行资源预估可通过以下方式实现:
对于有观看记录的资源,如果只有今天1天的记录,则将今天的各时刻的观看人数和资源提供者人数作为对明天情况的预估;
对于记录时间超过2天的资源(即昨天和今天都有被观看的记录),预估明天的观看人数和资源提供者人数可采用如下方式:设昨天各采集时刻的值为A(t),今天对应时刻的值为B(t),则明天各时刻的值C(t)=2B(t)-A(t)。
需要说明的是,本发明实施例并不限于上述预估方式。
步骤2中,可按如下方法计算各资源(如影片M)在未来一天所需服务器提供的带宽:
设P2P系统中各节点平均上传带宽为u(可通过实测得到),影片M的播放速率为r,影片M各时刻的观看人数为v(t),资源提供者数量为w(t),则该影片全天需服务器提供的负载可以是:
在得到所有影片的服务器带宽需求后按降序排序,生成各资源一天所需服务器带宽需求列表,该列表可如表2所示。
表2
影片ID | 一天所需带宽值 |
影片M | xxGB |
…… | …… |
步骤3、用户日志服务器将预估结果提供给资源发放服务器。
步骤4、资源发放服务器根据预估结果进行资源发布。
上述流程中,资源发放服务器进行资源发布的场景可包括两种,一种场景是发放的资源为新资源(即服务器带宽需求列表以外的资源),另一种场景是发放的资源为已有资源(即所发放的资源已经存在于服务器带宽需求列表中)。下面以资源类型为影片为例,分别对两种场景的资源发放过程进行描述。
场景一:发放的资源是服务器带宽列表以外的资源
由于本发明实施例的P2P系统周期性的对资源镜像服务器中的影片进行调整,因此这里假设这些影片在排入资源镜像服务器之前,资源镜像服务器中的负载大致均衡。
对于每日新增影片(即未处于带宽需求列表中的影片),资源发放服务器均匀的将各部影片排布到各资源镜像服务器。均匀的含义是指所有新增影片在排布后对每个资源镜像服务器的总带宽需求差异最小。具体的,资源发放服务器可逐一将待发放资源发放到当前数据存储量最小的资源镜像服务器中。
下面举例说明一种排布方法:
假设有多部新增影片,按照影片的大小排序如下表3所示,这些影片需要发放到三台服务器I、II、III当中。
表3
影片ID | 影片大小 |
影片A | 1024MB |
影片B | 1120MB |
影片C | 768MB |
影片D | 300MB |
影片E | 150MB |
影片F | 120MB |
影片G | 50MB |
... | ... |
第一轮发放过程中,将影片A、B、C分别放入3台资源服务器I、II、III;
第二轮发放过程中,找出存储影片比特数最小的服务器,这里为服务器III,将后续影片D放入该服务器;
后续每一部影片的发放方式与第二轮发放类似,都是选取目前存储影片比特数最小的服务器,将影片放入,直到发放完毕为止。本例的发放结果可如图8A所示。
场景二:发放的资源已经存在于服务器带宽列表中
对于处于带宽需求列表中的影片,需要参考影片带宽需求对影片进行发放,发放的目标是使所有影片在排布后对每个服务器的总带宽需求差异最小。具体的,资源发放服务器可按照带宽需求从大到小的顺序,逐一将待发放资源发放到当前带宽压力最小的资源镜像服务器中。
下面举例说明一种发放方法:
假设有多部新增影片,按照影片对带宽的大小排序如下表4所示,这些影片需要发放到三台服务器I、II、III当中。
表4
影片ID | 一天所需带宽值 |
影片A | 100GB |
影片B | 60GB |
影片C | 40GB |
影片D | 30GB |
影片E | 20GB |
影片F | 18GB |
影片G | 15GB |
... | ... |
第一轮发放过程中,将影片A、B、C分别放入3台资源服务器I、II、III;
第二轮发放过程中,找出带宽压力最小的资源镜像服务器,这里为服务器III,将后续影片D放入该服务器;
后续每一步影片的发放方式与第二轮发放类似,都是选取目前带宽压力最小的服务器,将影片放入,直到发放完毕为止。其中,服务器中各影片的带宽压力可根据式(3)计算得到。本例的发放结果如图8B所示。
在需要发布的影片数量少于或等于资源镜像服务器数量的情况下,可通过一轮发布过程完成资源分布,在该过程中,可选择出带宽压力最小的相应数量的资源镜像服务器,并将待发布影片分别存入选择出的资源镜像服务器中,一个资源镜像服务器存一个所述待发布影片。
通过实施例二的描述可以看出,引入服务器自适应负载平衡机制后,能使P2P系统能尽可能的减小各资源镜像服务器出现负载不均衡情况的发生率,从而提高了服务器的带宽和存储资源利用率。
资源发放服务器根据预估结果进行资源发布之后,还可以进一步的对各资源镜像服务器上的影片进行调整。这一步的调整是针对在带宽需求列表中的资源,该调整的目的是使得调整后的各资源镜像服务器的预估网络负载尽量均衡。下面列举一种调整方法。
根据预估的每一个影片在将来所需的网络资源量,求和得出所有影片预估所需的带宽资源总和,然后算出所有资源镜像服务器的预估平均负载l,以及每个资源镜像服务器的预估负载r,并规定门限值m;当|l-r|<m时,认为该资源镜像服务器预估负载接近预估平均负载。这里的门限值m可以根据运营经验、运营者希望的均匀程度,以及可接受的调整复杂度等因素制定。
具体的,调整方式可以包括:
选取所有r-l>m的资源镜像服务器,从每个资源镜像服务器中按照影片从小到大的顺序取出影片,当某资源镜像服务器满足以下条件之一时,从该资源镜像服务器取影片的操作停止:
(1)该资源镜像服务器的|l-r|<=m;
(2)取出某影片后l-r>m(此时该影片不必取出);
当所有资源镜像服务器取影片的操作停止时,该过程停止。
将所有取出的影片放入l-r>m的资源镜像服务器,放置的原则可包括(可根据具体情况选取相应的原则):
(1)从数据量最小的影片开始放置;
(2)从l-r值最小的资源镜像服务器开始放置;
(3)仅剩一台资源镜像服务器未被放置时,将剩余影片全部放入该资源镜像服务器;
(4)当某资源镜像服务器不是唯一未被放置影片的资源镜像服务器,且满足以下条件之一时,停止向该资源服务器放置影片,并开始向l-r值次小的资源镜像服务器放置:
条件1:|l-r|<m;
条件2:当放入某影片后r-l>m。
所有影片放置结束后,此过程结束。
实施例三
本实施例可以通过将实施例一和实施例二结合得到,即分别在客户端采用实施例一的自适应预取机制,以及在服务器端采用实施例二的自适应负载平衡机制。
在本实施例所涉及的P2P系统架构可如图9所示,其中:
用户日志服务器可具有两个功能:
(1)为每个资源统计各时刻观看人数和共享人数,根据其预估未来一段时间(如未来一天)各资源的用户观看情况和共享情况,并反馈给资源发放服务器;
(2)周期性(如每5分钟)的从Tracker接收各影片用户观看行为日志,统计各资源中用户的观看行为,对每部影片生成用户观看行为统计日志并周期反馈给Tracker。
Tracker增加功能如下:
(1)收集用户观看行为日志传递给日志服务器,并从日志服务器获得用户观看行为统计日志。
(2)可以向节点下发用户观看行为统计日志和各chunk数量信息。
资源发放服务器增加功能如下:
(1)从用户日志服务器获取未来一段时间(如未来一天)各资源所需资源的预估;
(2)根据预估情况,执行资源发放策略对各镜像资源服务器进行资源分发和调整。
P2P客户端增加功能如下:
(1)接收Tracker下发的用户观看行为统计日志和各chunk数量信息,并按照实施例一所述自适应预取机制进行预取操作;
(2)周期性(如每5分钟)的向Tracker汇报自身可共享chunk数量情况,退出时汇报观看进度(可以时间为单位,也可以chunk为单位)及自身可共享chunk数量。
基于上述P2P系统架构,可分别在客户端实现自适应预取机制,以及在服务器端实现自适应负载平衡机制,具体实现过程可分别如实施例一和实施例二的描述,在此不再赘述。
基于相同的技术构思,本发明实施例还提供了一种P2P客户端设备,可应用于上述实施例。
参见图10,为本发明实施例所提供的P2P客户端设备的结构示意图,该P2P客户端设备可包括:发送模块101、接收模块102和下载模块103,其中:
发送模块101,用于向网络侧发送资源访问请求;
接收模块102,用于接收网络侧返回的响应,其中携带有P2P系统中P2P客户端进行资源访问的历史信息,所述历史信息为当前所请求的资源的各资源块被P2P系统中各P2P客户端下载的统计概率;
下载模块103,用于根据接收模块102接收到的各资源块被下载的统计概率下载资源块。
上述P2P客户端设备中,下载模块103在下载资源块时,可首先按照资源块排列顺序下载资源块,当下载的资源块数量比所述P2P客户端当前已播放的资源块数量多出设定数量后,根据本地下载所述资源的速度、播放所述资源的速度和所述资源中还未下载的资源块被下载的统计概率来衡量未下载的资源块的紧缺度,并优先下载紧缺度高的资源块。
进一步的,下载模块103可根据前述式(1)计算当前正在下载的资源块的下一个资源块的紧缺度,根据前述式(2)计算除所述下一个资源块以外其它还未下载的资源块的紧缺度。
上述P2P客户端设备中,下载模块103在下载资源块时,按照紧缺度从高到低的顺序选择多个资源块,根据各资源块的紧缺度分配在未来设定时长内所选择出的各资源块下载所用的时长,其中紧缺度越高,相应资源块被分配到的时长越长。
上述P2P客户端设备中的各模块所实现的功能与前述实施例中相应步骤的描述类似,在此不再赘述。
基于相同的技术构思,本发明实施例还提供了一种资源发放服务器,可应用于上述实施例。
参见图11,为本发明实施例提供的资源发放服务器的结构示意图,该资源发放服务器可包括:获取模块111、预估模块112和发放模块113,其中:
获取模块111,用于获取P2P系统中P2P客户端进行资源访问的历史信息,所述历史信息为各资源的访问者数量和共享者数量的统计值;该模块可从用户日志服务器获取所述历史信息;
预估模块112,用于根据获取模块111获取到的所述统计值预估出的各资源的带宽需求;该模块可针对每个资源,根据前述式(3)计算资源的带宽需求;
发放模块113,用于根据预估模块112预估出的各资源的带宽需求发放资源。
上述资源发放服务器中,发放模块113在发放资源时,可根据资源镜像服务器各自存储的资源及其带宽需求,确定出各资源镜像服务器的带宽压力;根据各资源镜像服务器的带宽压力和待发放资源的带宽需求,向资源镜像服务器发放资源。
上述资源发放服务器中,发放模块113可按照带宽需求从大到小的顺序,逐一将待发放资源发放到当前带宽压力最小的资源镜像服务器中。
上述资源发放服务器中,发放模块113还可当待发放资源因没有访问者数量和共享者数量的统计值而不存在带宽需求时,逐一将不存在带宽需求的待发放资源发放到当前数据存储量最小的资源镜像服务器中。
上述资源发放服务器,还可包括移出模块114,该模块用于在发放模块113向资源镜像服务器发放资源之后,选取所有r-l>m的资源镜像服务器,从选取出的每个资源镜像服务器中按照数据量从小到大的顺序取出资源,当有资源镜像服务器满足以下条件之一时,停止从该资源镜像服务器取资源的操作:
该资源镜像服务器的|l-r|<=m;
若取出资源后资源镜像服务器的l-r>m;
相应的,发放模块113还可用于,将取出的所有资源放入l-r>m的资源镜像服务器,其中,放置的原则包括以下之一:
从数据量最小的资源开始放置;
从l-r值最小的资源镜像服务器开始放置;
仅剩一台资源镜像服务器未被放置时,将剩余资源全部放入该资源镜像服务器;
当资源镜像服务器不是唯一未被放置资源的资源镜像服务器,且满足预设条件时,停止向该资源服务器放置资源,并开始向l-r值次小的资源镜像服务器放置资源,直到被取出的资源放置完成;所述条件包括:|l-r|<m,或当放入某资源后r-l>m;
其中,l为各资源镜像服务器的预估平均负载,r为资源镜像服务器的预估负载,m为预设门限值;所述l和r根据各资源的带宽需求计算得到。
上述资源发放服务器中的各模块所实现的功能与前述实施例中相应步骤的描述类似,在此不再赘述。
基于相同的技术构思,本发明实施例还提供的用户日志服务器。
参见图12,为本发明实施例提供的用户日志服务器的结构示意图,该用户日志服务器可应用于前述实施例的系统架构及相应处理流程,该用户日志服务器可包括:接收模块121、日志生成模块122和第一发送模块123,其中:
接收模块121,用于从资源索引服务器接收P2P客户端发送的用户观看行为信息;所述用户观看行为信息包括P2P客户端所访问的资源的标识、所下载的资源块的标识;
日志生成模块122,用于根据所述用户观看行为信息生成用户观看行为统计日志;所述用户观看行为统计日志以资源标识为索引,包括与资源标识对应的相应资源包含的资源块标识以及资源块被P2P客户端下载的统计概率;
第一发送模块123,用于将统计得到的用户观看行为统计日志发送给资源索引服务器。
包括有上述接收模块121、日志生成模块122和第一发送模块123的用户日志服务器可应用于图3所示的系统架构及其相应处理流程。该用户日志服务器中的各模块所实现的功能与前述实施例中相应步骤的描述类似,在此不再赘述。
在此基础上,该用户日志服务器还可包括:统计模块124和第二发送模块125,其中:
接收模块121还可从资源索引服务器接收P2P客户端发送的用户共享行为信息,所述用户共享行为信息包括P2P客户端可共享的资源的标识;
统计模块124可根据所述用户观看行为信息和所述用户共享行为信息分别统计出各资源的访问者数量和共享者数量;
第二发送模块125可将统计出的各资源的访问者数量和共享者数量发送给资源发放服务器。
包括有上述接收模块121、日志生成模块122和第一发送模块123,以及统计模块124和第二发送模块125的用户日志服务器可应用于图9所示的系统架构及其相应处理流程。该用户日志服务器中的各模块所实现的功能与前述实施例中相应步骤的描述类似,在此不再赘述。
本发明实施例还提供了一种用户日志服务器,该用户日志服务器可应用于图6所示的系统架构及其相应处理流程。该用户日志服务器可包括:
接收模块,用于从资源索引服务器接收P2P客户端发送的用户观看行为信息和用户共享行为信息,所述用户观看行为信息包括用户请求访问的资源的标识,所述用户共享行为信息包括P2P客户端可共享的资源的标识;
统计模块,用于根据所述用户观看行为信息和所述用户共享行为信息分别统计出各资源的访问者数量和共享者数量;
发送模块,用于将统计出的各资源的访问者数量和共享者数量发送给资源发放服务器。
包括有上述接收模块、统计模块和发送模块的用户日志服务器中的各模块所实现的功能与前述实施例中相应步骤的描述类似,在此不再赘述。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (29)
1.一种P2P系统资源调度方法,其特征在于,包括以下步骤:
获取P2P系统中P2P客户端进行资源访问的历史信息;
根据获取到的历史信息调度P2P系统中的资源。
2.如权利要求1所述的方法,其特征在于,所述获取P2P系统中P2P客户端进行资源访问的历史信息,根据获取到的历史信息调度资源,包括:
P2P客户端从网络侧获取该P2P客户端所请求的资源的各资源块被P2P系统中各P2P客户端下载的统计概率,并根据获取到的所述各资源块被下载的统计概率下载资源块;或/和
P2P系统中的资源发放服务器获取各资源的访问者数量和共享者数量的统计值,根据获取到的所述统计值预估出的各资源的带宽需求,并根据预估出的各资源的带宽需求发放资源。
3.如权利要求2所述的方法,其特征在于,所述P2P客户端根据所述各资源块被下载的统计概率下载资源块,包括:
所述P2P客户端首先按照资源块排列顺序下载资源块;
当下载的资源块数量比所述P2P客户端当前已播放的资源块数量多出设定数量后,所述P2P客户端根据本地下载所述资源的速度、播放所述资源的速度和所述资源中还未下载的资源块被下载的统计概率来衡量未下载的资源块的紧缺度,并优先下载紧缺度高的资源块。
4.如权利要求3所述的方法,其特征在于,所述P2P客户端根据第一公式计算当前正在下载的资源块的下一个资源块的紧缺度,根据第二公式计算除所述下一个资源块以外其它还未下载的资源块的紧缺度;
所述第一公式为:P=r/d
所述第二公式为:
其中,d表示所述P2P客户端的本地下载速度;r表示所述P2P客户端的资源播放速率;Pi表示第i个资源块被下载的统计概率;L表示所述P2P客户端所请求的资源包含的资源块数量;Ni表示P2P系统中可供下载的第i个资源块的数量;c表示正在连续下载的资源块号。
5.如权利要求3所述的方法,其特征在于,所述优先下载紧缺程度高的资源块,包括:
所述P2P客户端按照紧缺度从高到低的顺序选择多个资源块,根据各资源块的紧缺度分配在未来设定时长内所选择出的各资源块下载所用的时长,其中紧缺度越高,相应资源块被分配到的时长越长。
6.如权利要求2所述的方法,其特征在于,资源块被P2P系统中各P2P客户端下载的统计概率,通过以下方式被P2P客户端获取到:
P2P系统中的资源索引服务器将各P2P客户端上报的各自请求访问的资源标识和已下载的资源块标识发送给用户日志服务器,接收所述用户日志服务器根据所述资源标识和资源块标识统计得到的各资源中的资源块被下载的概率统计值,并当P2P客户端请求访问资源时,将相应资源中各资源块的下载统计概率值发送给所述P2P客户端。
7.如权利要求2所述的方法,其特征在于,资源发放服务器根据预估出的各资源的带宽需求发放资源,包括:
资源发放服务器根据资源镜像服务器各自存储的资源及其带宽需求,确定出各资源镜像服务器的带宽压力;
所述资源发放服务器根据各资源镜像服务器的带宽压力和待发放资源的带宽需求,向资源镜像服务器发放资源。
8.如权利要求7所述的方法,其特征在于,向资源镜像服务器发放资源的步骤包括:
所述资源发放服务器按照带宽需求从大到小的顺序,逐一将待发放资源发放到当前带宽压力最小的资源镜像服务器中。
9.如权利要求7所述的方法,其特征在于,当待发放资源因没有访问者数量和共享者数量的统计值而不存在带宽需求时,还包括步骤:
所述资源发放服务器逐一将不存在带宽需求的待发放资源发放到当前数据存储量最小的资源镜像服务器中。
10.如权利要求7所述的方法,其特征在于,所述资源发放服务器向资源镜像服务器发放资源之后,还包括:
所述资源发放服务器选取所有r-l>m的资源镜像服务器,从选取出的每个资源镜像服务器中按照数据量从小到大的顺序取出资源,当有资源镜像服务器满足以下条件之一时,停止从该资源镜像服务器取资源的操作:
该资源镜像服务器的|l-r|<=m;
若取出资源后资源镜像服务器的l-r>m;
所述资源发放服务器将取出的所有资源放入l-r>m的资源镜像服务器,其中,放置的原则包括以下之一:
从数据量最小的资源开始放置;
从l-r值最小的资源镜像服务器开始放置;
仅剩一台资源镜像服务器未被放置时,将剩余资源全部放入该资源镜像服务器;
当资源镜像服务器不是唯一未被放置资源的资源镜像服务器,且满足预设条件时,停止向该资源服务器放置资源,并开始向l-r值次小的资源镜像服务器放置资源,直到被取出的资源放置完成;所述条件包括:|l-r|<m,或当放入某资源后r-l>m;
其中,l为各资源镜像服务器的预估平均负载,r为资源镜像服务器的预估负载,m为预设门限值;所述l和r根据各资源的带宽需求计算得到。
11.如权利要求2、7-10任一项所述的方法,其特征在于,所述资源发放服务器针对每个资源,根据以下公式计算资源的带宽需求:
其中,u为P2P系统中各P2P客户端平均上传带宽,r为资源播放速率,v(t)为资源在各时刻的访问者数量,w(t)为资源在各时刻的共享者数量。
12.一种P2P客户端设备,其特征在于,包括:
发送模块,用于向网络侧发送资源访问请求;
接收模块,用于接收网络侧返回的响应,其中携带有P2P系统中P2P客户端进行资源访问的历史信息,所述历史信息为当前所请求的资源的各资源块被P2P系统中各P2P客户端下载的统计概率;
下载模块,用于根据所述各资源块被下载的统计概率下载资源块。
13.如权利要求12所述的P2P客户端设备,其特征在于,所述下载模块具体用于,首先按照资源块排列顺序下载资源块,当下载的资源块数量比所述P2P客户端当前已播放的资源块数量多出设定数量后,根据本地下载所述资源的速度、播放所述资源的速度和所述资源中还未下载的资源块被下载的统计概率来衡量未下载的资源块的紧缺度,并优先下载紧缺度高的资源块。
14.如权利要求13所述的P2P客户端设备,其特征在于,所述下载模块具体用于,根据第一公式计算当前正在下载的资源块的下一个资源块的紧缺度,根据第二公式计算除所述下一个资源块以外其它还未下载的资源块的紧缺度;
所述第一公式为:P=r/d
所述第二公式为:
其中,d表示所述P2P客户端的本地下载速度;r表示所述P2P客户端的资源播放速率;Pi表示第i个资源块被下载的统计概率;L表示所述P2P客户端所请求的资源包含的资源块数量;Ni表示P2P系统中可供下载的第i个资源块的数量;c表示正在连续下载的资源块号。
15.如权利要求13所述的P2P客户端设备,其特征在于,所述下载模块具体用于,按照紧缺度从高到低的顺序选择多个资源块,根据各资源块的紧缺度分配在未来设定时长内所选择出的各资源块下载所用的时长,其中紧缺度越高,相应资源块被分配到的时长越长。
16.一种资源发放服务器,其特征在于,包括:
获取模块,用于获取P2P系统中P2P客户端进行资源访问的历史信息,所述历史信息为各资源的访问者数量和共享者数量的统计值;
预估模块,用于根据获取到的所述统计值预估出的各资源的带宽需求;
发放模块,用于根据预估出的各资源的带宽需求发放资源。
17.如权利要求16所述的资源发放服务器,其特征在于,所述发放模块具体用于,根据资源镜像服务器各自存储的资源及其带宽需求,确定出各资源镜像服务器的带宽压力;根据各资源镜像服务器的带宽压力和待发放资源的带宽需求,向资源镜像服务器发放资源。
18.如权利要求17所述的资源发放服务器,其特征在于,所述发放模块具体用于,按照带宽需求从大到小的顺序,逐一将待发放资源发放到当前带宽压力最小的资源镜像服务器中。
19.如权利要求17所述的资源发放服务器,其特征在于,所述发放模块还用于,当待发放资源因没有访问者数量和共享者数量的统计值而不存在带宽需求时,逐一将不存在带宽需求的待发放资源发放到当前数据存储量最小的资源镜像服务器中。
20.如权利要求17所述的资源发放服务器,其特征在于,还包括移出模块;
所述移出模块,用于在所述发放模块向资源镜像服务器发放资源之后,选取所有r-l>m的资源镜像服务器,从选取出的每个资源镜像服务器中按照数据量从小到大的顺序取出资源,当有资源镜像服务器满足以下条件之一时,停止从该资源镜像服务器取资源的操作:
该资源镜像服务器的|l-r|<=m;
若取出资源后资源镜像服务器的l-r>m;
所述发放模块还用于,将取出的所有资源放入l-r>m的资源镜像服务器,其中,放置的原则包括以下之一:
从数据量最小的资源开始放置;
从l-r值最小的资源镜像服务器开始放置;
仅剩一台资源镜像服务器未被放置时,将剩余资源全部放入该资源镜像服务器;
当资源镜像服务器不是唯一未被放置资源的资源镜像服务器,且满足预设条件时,停止向该资源服务器放置资源,并开始向l-r值次小的资源镜像服务器放置资源,直到被取出的资源放置完成;所述条件包括:|l-r|<m,或当放入某资源后r-l>m;
其中,l为各资源镜像服务器的预估平均负载,r为资源镜像服务器的预估负载,m为预设门限值;所述l和r根据各资源的带宽需求计算得到。
21.如权利要求16-20任一项所述的资源发放服务器,其特征在于,所述预估模块具体用于,针对每个资源,根据以下公式计算资源的带宽需求:
其中,u为P2P系统中各P2P客户端平均上传带宽,r为资源播放速率,v(t)为资源在各时刻的访问者数量,w(t)为资源在各时刻的共享者数量。
22.一种用户日志服务器,其特征在于,包括:
接收模块,用于从资源索引服务器接收P2P客户端发送的用户观看行为信息;所述用户观看行为信息包括P2P客户端所访问的资源的标识、所下载的资源块的标识;
日志生成模块,用于根据所述用户观看行为信息生成用户观看行为统计日志;所述用户观看行为统计日志以资源标识为索引,包括与资源标识对应的相应资源包含的资源块标识以及资源块被P2P客户端下载的统计概率;
第一发送模块,用于将统计得到的用户观看行为统计日志发送给资源索引服务器。
23.如权利要求22所述的用户日志服务器,其特征在于,还包括统计模块和第二发送模块;
所述接收模块,还用于从资源索引服务器接收P2P客户端发送的用户共享行为信息,所述用户共享行为信息包括P2P客户端可共享的资源的标识;
统计模块,用于根据所述用户观看行为信息和所述用户共享行为信息分别统计出各资源的访问者数量和共享者数量;
第二发送模块,用于将统计出的各资源的访问者数量和共享者数量发送给资源发放服务器。
24.一种用户日志服务器,其特征在于,包括:
接收模块,用于从资源索引服务器接收P2P客户端发送的用户观看行为信息和用户共享行为信息,所述用户观看行为信息包括用户请求访问的资源的标识,所述用户共享行为信息包括P2P客户端可共享的资源的标识;
统计模块,用于根据所述用户观看行为信息和所述用户共享行为信息分别统计出各资源的访问者数量和共享者数量;
发送模块,用于将统计出的各资源的访问者数量和共享者数量发送给资源发放服务器。
25.一种P2P系统,其特征在于,包括:资源索引服务器和用户日志服务器,其中:
资源索引服务器,用于将各P2P客户端上报的用户观看行为信息发送给用户日志服务器,以及将用户日志服务器生成的、与P2P客户端所请求访问的资源对应的用户观看行为统计日志发送给发起资源访问请求的P2P客户端;所述用户观看行为信息包括P2P客户端所访问的资源的标识、所下载的资源块的标识;
用户日志服务器,用于根据资源索引服务器发送的各P2P客户端上报的用户观看行为信息,生成用户观看行为统计日志,并将生成的用户观看行为统计日志发送给资源索引服务器;所述用户观看行为统计日志以资源标识为索引,包括与资源标识对应的相应资源包含的资源块标识以及资源块被P2P客户端下载的统计概率。
26.如权利要求25所述的P2P系统,其特征在于,还包括资源发放服务器;
所述资源索引服务器还用于,接收各P2P客户端上报的用户共享行为信息并发送给用户日志服务器,所述用户共享行为信息包括P2P客户端可共享的资源的标识;
所述用户日志服务器还用于,根据资源索引服务器发送的各P2P客户端上报的用户观看行为信息和用户共享行为信息,统计各资源的访问者数量和共享者数量并发送给资源发放服务器;
资源发放服务器,用于根据统计出的各资源的访问者数量和共享者数量预估出的各资源的带宽需求,并根据预估出的各资源的带宽需求发放资源。
27.如权利要求26所述的P2P系统,其特征在于,所述资源发放服务器具体用于,根据资源镜像服务器各自存储的资源及其带宽需求,确定出各资源镜像服务器的带宽压力;根据各资源镜像服务器的带宽压力和待发放资源的带宽需求,向资源镜像服务器发放资源。
28.一种P2P系统,其特征在于,包括:
资源索引服务器,用于将各P2P客户端上报的用户观看行为信息和用户共享行为信息发送给用户日志服务器;所述用户观看行为信息包括P2P客户端访问的资源的标识,所述用户共享行为信息包括P2P客户端可共享的资源的标识;
用户日志服务器,用于根据资源索引服务器发送的用户观看行为信息和用户共享行为信息,统计各资源的访问者数量和共享者数量并发送给资源发放服务器;
资源发放服务器,用于根据统计出的各资源的访问者数量和共享者数量预估出的各资源的带宽需求,并根据预估出的各资源的带宽需求发放资源。
29.如权利要求28所述的P2P系统,其特征在于,所述资源发放服务器具体用于,根据资源镜像服务器各自存储的资源及其带宽需求,确定出各资源镜像服务器的带宽压力;根据各资源镜像服务器的带宽压力和待发放资源的带宽需求,向资源镜像服务器发放资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010230217.3A CN102333106B (zh) | 2010-07-13 | 2010-07-13 | 一种p2p系统资源调度方法及其装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010230217.3A CN102333106B (zh) | 2010-07-13 | 2010-07-13 | 一种p2p系统资源调度方法及其装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102333106A true CN102333106A (zh) | 2012-01-25 |
CN102333106B CN102333106B (zh) | 2015-07-29 |
Family
ID=45484709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010230217.3A Active CN102333106B (zh) | 2010-07-13 | 2010-07-13 | 一种p2p系统资源调度方法及其装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102333106B (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013149551A1 (zh) * | 2012-04-06 | 2013-10-10 | 华为终端有限公司 | 一种带宽分配方法和设备 |
CN103856346A (zh) * | 2012-12-06 | 2014-06-11 | 深圳市腾讯计算机系统有限公司 | 节点调度方法、装置和系统 |
CN103944917A (zh) * | 2014-05-04 | 2014-07-23 | 中山大学 | 一种应用于微博社交网络的视频分发优化方法 |
CN104301356A (zh) * | 2013-07-19 | 2015-01-21 | 中国移动通信集团公司 | 一种对等网络的数据传输方法和系统 |
CN104753988A (zh) * | 2013-12-26 | 2015-07-01 | 乐视网信息技术(北京)股份有限公司 | 一种数据下载的控制方法及装置 |
CN105282052A (zh) * | 2014-06-19 | 2016-01-27 | 西安中兴新软件有限责任公司 | 一种基于用户应用业务分配带宽的方法和装置 |
CN105721889A (zh) * | 2015-05-15 | 2016-06-29 | 乐视云计算有限公司 | P2p数据下载的方法和装置 |
CN105848178A (zh) * | 2015-01-16 | 2016-08-10 | 中国移动通信集团四川有限公司 | 一种非授权资源的探测和获取方法及装置 |
CN106027673A (zh) * | 2016-07-06 | 2016-10-12 | 北京奇艺世纪科技有限公司 | 资源预推送的控制及训练方法、装置 |
CN106161542A (zh) * | 2015-04-10 | 2016-11-23 | 广州市动景计算机科技有限公司 | 一种数据下载方法及装置 |
CN106776917A (zh) * | 2016-11-30 | 2017-05-31 | 北京小米移动软件有限公司 | 一种获取资源文件的方法和装置 |
CN106790636A (zh) * | 2017-01-09 | 2017-05-31 | 上海承蓝科技股份有限公司 | 一种云计算服务器集群的均衡负载系统及方法 |
CN107483638A (zh) * | 2017-09-22 | 2017-12-15 | 上海云熵网络科技有限公司 | P2p网络节点管理系统 |
CN109067916A (zh) * | 2018-09-21 | 2018-12-21 | 深圳市九洲电器有限公司 | 一种在线多媒体文件下载方法及装置、电子设备 |
CN109426972A (zh) * | 2017-08-21 | 2019-03-05 | 阿里巴巴集团控股有限公司 | 订单页面的处理方法、装置和系统 |
CN110460879A (zh) * | 2019-08-28 | 2019-11-15 | 北京奇艺世纪科技有限公司 | 一种视频请求调度方法、装置、服务器及存储介质 |
CN110784929A (zh) * | 2019-09-05 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 一种接入资源分配方法、装置、设备及系统 |
CN112335312A (zh) * | 2018-06-28 | 2021-02-05 | 康维达无线有限责任公司 | 用于新无线电车辆侧链路共享信道数据传输的侧链路缓冲器状态报告和调度请求 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101068173A (zh) * | 2006-06-08 | 2007-11-07 | 腾讯科技(深圳)有限公司 | 一种资源共享的方法及系统 |
CN101729581A (zh) * | 2008-10-28 | 2010-06-09 | 华为技术有限公司 | 一种在p2p网络中实现重定向的方法、系统及设备 |
CN101764834A (zh) * | 2008-12-24 | 2010-06-30 | 中国移动通信集团公司 | 一种群组中共享文件的方法、用户终端及系统 |
CN101841556A (zh) * | 2010-02-23 | 2010-09-22 | 中国科学院计算技术研究所 | Cdn-p2p网络中放置资源副本的方法及系统 |
-
2010
- 2010-07-13 CN CN201010230217.3A patent/CN102333106B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101068173A (zh) * | 2006-06-08 | 2007-11-07 | 腾讯科技(深圳)有限公司 | 一种资源共享的方法及系统 |
CN101729581A (zh) * | 2008-10-28 | 2010-06-09 | 华为技术有限公司 | 一种在p2p网络中实现重定向的方法、系统及设备 |
CN101764834A (zh) * | 2008-12-24 | 2010-06-30 | 中国移动通信集团公司 | 一种群组中共享文件的方法、用户终端及系统 |
CN101841556A (zh) * | 2010-02-23 | 2010-09-22 | 中国科学院计算技术研究所 | Cdn-p2p网络中放置资源副本的方法及系统 |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103368811B (zh) * | 2012-04-06 | 2016-08-10 | 华为终端有限公司 | 带宽分配方法和设备 |
CN103368811A (zh) * | 2012-04-06 | 2013-10-23 | 华为终端有限公司 | 带宽分配方法和设备 |
WO2013149551A1 (zh) * | 2012-04-06 | 2013-10-10 | 华为终端有限公司 | 一种带宽分配方法和设备 |
US9369399B2 (en) | 2012-04-06 | 2016-06-14 | Huawei Device Co., Ltd. | Bandwidth allocation method and device |
CN103856346A (zh) * | 2012-12-06 | 2014-06-11 | 深圳市腾讯计算机系统有限公司 | 节点调度方法、装置和系统 |
CN103856346B (zh) * | 2012-12-06 | 2018-05-22 | 深圳市腾讯计算机系统有限公司 | 节点调度方法、装置和系统 |
CN104301356A (zh) * | 2013-07-19 | 2015-01-21 | 中国移动通信集团公司 | 一种对等网络的数据传输方法和系统 |
CN104301356B (zh) * | 2013-07-19 | 2019-01-01 | 中国移动通信集团公司 | 一种对等网络的数据传输方法和系统 |
CN104753988A (zh) * | 2013-12-26 | 2015-07-01 | 乐视网信息技术(北京)股份有限公司 | 一种数据下载的控制方法及装置 |
CN103944917A (zh) * | 2014-05-04 | 2014-07-23 | 中山大学 | 一种应用于微博社交网络的视频分发优化方法 |
CN103944917B (zh) * | 2014-05-04 | 2017-01-04 | 中山大学 | 一种应用于微博社交网络的视频分发优化方法 |
CN105282052A (zh) * | 2014-06-19 | 2016-01-27 | 西安中兴新软件有限责任公司 | 一种基于用户应用业务分配带宽的方法和装置 |
CN105848178A (zh) * | 2015-01-16 | 2016-08-10 | 中国移动通信集团四川有限公司 | 一种非授权资源的探测和获取方法及装置 |
CN105848178B (zh) * | 2015-01-16 | 2019-12-17 | 中国移动通信集团四川有限公司 | 一种非授权资源的探测和获取方法及装置 |
CN106161542A (zh) * | 2015-04-10 | 2016-11-23 | 广州市动景计算机科技有限公司 | 一种数据下载方法及装置 |
CN105721889A (zh) * | 2015-05-15 | 2016-06-29 | 乐视云计算有限公司 | P2p数据下载的方法和装置 |
CN106027673B (zh) * | 2016-07-06 | 2019-07-12 | 北京奇艺世纪科技有限公司 | 资源预推送的控制及训练方法、装置 |
CN106027673A (zh) * | 2016-07-06 | 2016-10-12 | 北京奇艺世纪科技有限公司 | 资源预推送的控制及训练方法、装置 |
CN106776917A (zh) * | 2016-11-30 | 2017-05-31 | 北京小米移动软件有限公司 | 一种获取资源文件的方法和装置 |
CN106776917B (zh) * | 2016-11-30 | 2021-03-02 | 北京小米移动软件有限公司 | 一种获取资源文件的方法和装置 |
CN106790636A (zh) * | 2017-01-09 | 2017-05-31 | 上海承蓝科技股份有限公司 | 一种云计算服务器集群的均衡负载系统及方法 |
CN109426972A (zh) * | 2017-08-21 | 2019-03-05 | 阿里巴巴集团控股有限公司 | 订单页面的处理方法、装置和系统 |
CN107483638A (zh) * | 2017-09-22 | 2017-12-15 | 上海云熵网络科技有限公司 | P2p网络节点管理系统 |
CN112335312A (zh) * | 2018-06-28 | 2021-02-05 | 康维达无线有限责任公司 | 用于新无线电车辆侧链路共享信道数据传输的侧链路缓冲器状态报告和调度请求 |
CN109067916A (zh) * | 2018-09-21 | 2018-12-21 | 深圳市九洲电器有限公司 | 一种在线多媒体文件下载方法及装置、电子设备 |
CN109067916B (zh) * | 2018-09-21 | 2021-05-11 | 深圳市九洲电器有限公司 | 一种在线多媒体文件下载方法及装置、电子设备 |
CN110460879A (zh) * | 2019-08-28 | 2019-11-15 | 北京奇艺世纪科技有限公司 | 一种视频请求调度方法、装置、服务器及存储介质 |
CN110784929A (zh) * | 2019-09-05 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 一种接入资源分配方法、装置、设备及系统 |
CN110784929B (zh) * | 2019-09-05 | 2021-06-15 | 腾讯科技(深圳)有限公司 | 一种接入资源分配方法、装置、设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102333106B (zh) | 2015-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102333106B (zh) | 一种p2p系统资源调度方法及其装置和系统 | |
US10361964B2 (en) | Delaycast queue prioritization | |
CN103891298B (zh) | 用于收集和管理电视收视数据的方法和系统 | |
EP2290912A1 (en) | Content distributing method, service redirecting method and system, node device | |
US8255457B2 (en) | Adaptive content load balancing | |
CN101764831B (zh) | 一种流媒体数据共享方法、共享系统和流媒体节点 | |
US7831989B1 (en) | Intelligent asset management in a cable services system | |
US20070288638A1 (en) | Methods and distributed systems for data location and delivery | |
CN101304514B (zh) | 一种视频点播系统及其数据缓存方法和调度服务器 | |
CN102546711B (zh) | 流媒体系统中的内容存储调整方法、装置及系统 | |
Liang et al. | Incentivized peer-assisted streaming for on-demand services | |
CN106961616B (zh) | 一种多cdn辅助的多层云的直播分发系统 | |
Nair et al. | A rank based replacement policy for multimedia server cache using zipf-like law | |
US20130104175A1 (en) | Using Video Viewing Patterns to Determine Content Placement | |
CN111263229A (zh) | 一种视频分发方法、装置及电子设备 | |
US9538249B2 (en) | Close fulfillment of content requests | |
US11848990B2 (en) | Method and system for distributing and storing content using local clouds and network clouds | |
US9210451B2 (en) | Replication decision in P2P VoD systems | |
Nencioni et al. | SCORE: Exploiting global broadcasts to create offline personal channels for on-demand access | |
Lin et al. | Autotune: game-based adaptive bitrate streaming in P2P-assisted cloud-based vod systems | |
CN102497389A (zh) | 一种iptv 中基于大雨伞缓存算法的流媒体协作缓存管理方法及系统 | |
Claeys et al. | An announcement-based caching approach for video-on-demand streaming | |
CN102291620A (zh) | 内容发布、内容获取的方法、内容发布装置及内容传播系统 | |
Thouin et al. | Video-on-demand equipment allocation | |
Liang et al. | ipass: Incentivized peer-assisted system for asynchronous streaming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |