CN101267379B - 基于p2p和cdn的统一内容承载和调度*** - Google Patents
基于p2p和cdn的统一内容承载和调度*** Download PDFInfo
- Publication number
- CN101267379B CN101267379B CN2007100865567A CN200710086556A CN101267379B CN 101267379 B CN101267379 B CN 101267379B CN 2007100865567 A CN2007100865567 A CN 2007100865567A CN 200710086556 A CN200710086556 A CN 200710086556A CN 101267379 B CN101267379 B CN 101267379B
- Authority
- CN
- China
- Prior art keywords
- content
- client
- subsystem
- cdn
- unified
- 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.)
- Active
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明属于通信领域,涉及P2P点对点技术和CDN内容分发网络技术的融合。本发明提出了基于CDN和P2P来实现统一的内容承载和内容调度的***和方法。
Description
技术领域
本发明属于通信领域,涉及P2P(点对点)技术和CDN(内容分发网络)技术的融合。本发明提出了基于CDN和P2P来实现统一的内容承载和内容调度的***和方法。
背景技术
CDN(内容分发网络)技术是一种将内容从中心服务器分发到靠近用户的边缘服务器,从而实现内容的分布式就近访问的方法。CDN技术有效地提高了内容访问的服务质量,并支持大规模的并发访问能力。
P2P(点对点)技术是一种通过用户客户端之间的直接内容交换实现大规模内容传递的方法。通过集中或者分布式的目录服务,P2P能够在不依赖服务器的情况下实现内容的大规模传递,并且具有用户规模越大,性能越好的特点。
随着以内容为中心的服务,例如Web服务,流媒体服务,文件下载服务,IPTV服务等越来越成为互联网应用的主流,基于互联网原有的IP网络,构建相对独立的,业务无关的内容承载网络成为互联网发展的趋势。
但是,利用现有的CDN网络或者P2P网络单独构建内容承载网都存在一定的问题:CDN的主要问题在于服务仍然依赖于服务器,因此提供大规模服务的成本高,扩展性差。P2P的主要问题在于***服务的可用性、性能难以保证,***对用户规模的要求较高。
本发明提出了一种融合CDN和P2P,实现统一的内容承载和内容调度的***和方法,从而能够解决由CDN或者P2P单独组网难以解决的问题。
发明内容
本发明的核心实现是通过CDN和P2P统一调度实现CDN和P2P共同构建的内容承载***。实现统一的内容承载和调度的方法包括:
1.内容的统一分发和发布方法;
内容统一分发和发布方法是应用服务器将内容统一提供给内容承载***。内容承载***可以首先对内容建立统一的索引(即内容目录信息)和发布点(供用户访问的URL),并通过该索引建立内容在CDN子***和P2P子***之间的对应关系,即,内容进入两个子***后,在不同子***之间访问的映射关系。然后将内容分发到CDN子***,并将发布结果送回到应用服务器。
2.内容统一调度方法
当有用户请求的时候,内容调度子***根据当前用户的数量、用户所在的网络域以及其它因素,对用户的请求在CDN和P2P子***中进行动态的调度和切换。确保用户获得最佳的服务,同时保持***的服务能力。
因此,本发明提供了一种基于P2P和CDN的内容承载***200,所述内容承载***200能够把应用服务器300的内容提供给客户端100,所述***包括:内容管理子***201,用于从应用服务器接收内容、或者内容的地址,并实现所述内容的发布;内容调度子***202,用于接收客户端100对所述内容的请求,并调度CDN子***203和P2P子***204,以响应所述客户端100的请求;CDN子***203,基于CDN方式来向所述客户端100提供内容;以及至少一个P2P子***204,每一个P2P子***构成一个P2P服务域从而基于P2P方式为所述客户端100提供所述内容。
其中内容调度子***202当客户端100所在区域的收看该节目的客户端100数低于预定的数值N1,将客户端100的请求调度到CDN子***203中;如果客户端100数不低于预定的数值N1,则内容调度子***202将客户端100的请求调度到所述区域的P2P子***204中。
其中内容调度子***202在当前区域的客户端100数量已经达到预定的数值N2时,其中N2>N1,把从CDN子***203中获取内容的原有客户端100切换到P2P状态,即所述原有客户端100从CDN子***203中获取内容的同时以P2P方式向其它客户端提供内容。
此外,所述应用服务器300至少提供流媒体服务内容、IPTV服务内容、文件下载服务内容。
此外,所述客户端100至少是PC、机顶盒、多媒体手机、PDA之一。
上述发明克服了上述现有技术的缺点,并且实现了这种***和方法之前不可能存在的优点。
以下将参考附图更完整地描述本发明,附图中示出了本发明的优选实施例。但是本发明可体现在许多其他的形式中,而不应当被理解为限于这里所述的实施例;相反提供这些实施例是为了公开内容将会详尽和完整,并且将会完整地将本发明的范围传达给本领域的技术人员。从始至终类似的标号都表示类似的元件。
附图说明
附图1显示了基于本发明的一个方面的P2P和CDN统一内容承载和调度的***。
附图2显示了基于本发明的上述统一内容承载和调度***而实现视频直播服务的流程。
附图3显示了基于附图2所述的流程实现整个***的调度的一个例子。
具体实施方式
以下参考根据本发明的一个实施例的方法、装置(即***)的框图和流程图描述本发明。应当理解,框图和流程图的每个块以及框图和流程图中的块的组合分别可由计算机程序指令实现。这些计算机程序指令可被加载到通用计算机、专用计算机或其他可编程数据处理装置上,以产生相应的装置,以便在计算机或其他可编程数据处理装置上执行的指令产生用于执行***或流程图块中指定的框图的装置。
因此,框图和流程图的模块支持用于执行指定功能的装置的组合、用于执行指定功能的步骤的组合以及用于执行指定功能的程序指令装置。还应当理解,框图和流程图的每个块以及框图和流程图中的块的组合可由执行指定功能或步骤的基于硬件的专用计算机***或专用硬件和计算机指令的组合实现。
附图1显示了本发明的P2P和CDN统一内容承载和调度***的结构。所述统一内容承载***200中包含4个子***:
统一内容管理子***201,用于实现内容的统一发布、内容存储、内容数据库等;
统一内容调度子***202,用于实现内容的统一调度;
CDN子***203,用于提供内容分发服务;
P2P子***204,该子***可能有多个,每个子***构成一个P2P服务域,为某个特定网络区域的用户提供服务。
其中围绕统一内容承载***,应用服务器300面向客户端100提供特定的服务,例如流媒体服务、IPTV服务、文件下载服务等。应用服务器300通过统一内容承载***200将内容传递到用户。不同的应用需要不同的应用服务器,因此,应用服务器300有多个。应用服务器300的具体设计不属于本发明叙述的内容。
用户的客户端100是用户获取服务和内容的软件。它可以驻留在PC上,也可以驻留在特定的硬件设备(如机顶盒,多媒体手机,PDA等)上。
应该注意,本发明提出的上述统一内容承载***200可在软件和/或软件和硬件的组合中实现,例如用专用集成电路(ASIC)、通用计算机或其他硬件等同物来实现。例如,在实施例中模块201-204可被加载到存储器中并由处理器执行,以实现上述功能。这样,本发明的***以及流程可被存储在计算机可读介质或载波上,例如RAM存储器、磁驱动或光驱动或磁盘等等。
本发明描述的上述***可以实现多种内容相关的服务。下面具体描述通过本***和其相应的方法来实现一个视频直播服务的例子。
实现视频直播服务的步骤如图2所示,具体如下:
S1:视频直播应用服务器300将一个直播源地址告知统一内容承载***200(如果不是直播,则可以将所述内容拷贝到内容承载***200)。
S2:统一内容承载***200的统一内容管理子***201为该直播内容建立内容发布点(例如,供用户访问的URL),该发布点可以为一个统一的URL,并被送回应用服务器300。
S3:应用服务器300将发布点发布给用户,通过Portal方式或者通知方式,利用该发布点,用户对该内容的请求将会被引导到统一内容承载***200中。
S4:统一内容管理子***201在CDN子***203中建立直播树(即直播流传播的路径),同时告知P2P子***204直播源为CDN子***203中某个特定的节点,并在P2P子***中建立直播树。
S5:用户客户端101在获取发布点后请求直播内容,该请求被导入到统一内容承载***200中的内容调度子***202。
S6:内容调度子***202判断用户101请求的直播节目和用户所在区域,以及当前收看该节目的用户数(内容调度子***记录这个信息以进行调度),如果用户所在区域(一个特定的网络区域,域的范围和约束由***运营商定义,例如基于特定的IP地址范围)的收看该节目的用户数低于一个特定的数值N1,内容调度子***202将用户请求转移到CDN子***203中,然后进行到S7。反之,则内容调度子***202将用户请求转移到用户所在区域的P2P子***204中,然后进行到S8。
S7:用户请求被导入CDN子***203后,CDN子***203可以对用户请求进行负载均衡,并选择一个距离用户最近的节点向用户提供内容服务。
S8:用户请求被导入P2P子***204后,用户客户端成为一个Peer节点,根据P2P算法加入到P2P子***中已经构建的直播树中,该客户端可以获取内容流,同时也向后续的客户端提供直播流。
S9:如果当前区域用户数量已经达到一个特定的数值N2(N2>N1),则从CDN子***203中获取内容的原有客户端可以根据条件切换到P2P状态,即该原有客户端仍然从CDN子***203中获取内容,但是可以向其它客户端提供内容。
附图3显示了根据上述流程来实现整个***的调度的一个例子。
附图3中有6个客户端,客户端序号表示请求服务的顺序,客户端之间的连线表示从哪里获取内容。其中,N1=3,N2=5。根据前面描述的流程,内容调度子***202接收并调度所述多个客户端的请求。由于N1=3,前3个客户端被调度到CDN子***203提供服务。如步骤S7所述,用户请求被导入CDN子***203后,CDN子***203对用户请求进行负载均衡,并选择一个距离用户最近的节点向用户提供内容服务。当用户个数超过N1时,第4个、第5个客户端被调度到P2P子***204提供服务。如步骤S8所述,第4个用户客户端成为一个Peer节点,根据P2P算法加入到P2P子***中已经构建的直播树中,该客户端可以获取内容流,同时也向后续的客户端提供直播流。如图3所示,客户端5从客户端4以P2P的方式获取服务。此外,因为N2=5,所以第6个客户端被调度到P2P子***,同时,原有的1、2、3客户端可被切换到P2P状态,在获取内容的同时作为P2P节点向客户端6提供服务。
从上面的例子可以看出,通过本发明描述的方法,可以综合利用CDN和P2P的优势,实现统一的内容承载和内容调度。
该方法的优点在于:
(1)当用户数量少的时候,利用CDN服务保证用户的质量;
(2)当用户数量多的时候,利用P2P的扩展性降低整个***的成本;
(3)CDN和P2P服务之间可以平滑过渡和动态切换;
(4)整个内容承载对用户透明,不影响用户的使用;
(5)可以适用于多种内容相关的服务,包括流媒体,下载,IPTV等。
将会理解,在实施例中,所讨论的方法步骤可以由执行存储在存储装置中的指令(代码段)的处理(即计算机)***的(一个或多个)适当的处理器来执行的。还将理解,本发明并不局限于任何特定的实现方式或编程技术,并且本发明可以用任何适当的用于实现这里所描述的功能的技术来实现。本发明并不局限于任何特定的编程语言或操作***。
在前述描述和相关附图中给出的教导的帮助下,本发明所属领域的技术人员将会想到本发明的许多修改和其他实施例。因此,要理解本发明不限于所公开的特定实施例,修改和其他实施例想要被包括在所附权利要求书的范围内。虽然这里采用了特定术语,但是它们只是在一般的描述性意义上使用的,而不是用于限制目的。
作为对详细描述的结论,应该注意本领域的技术人员将会很清楚可对优选实施例做出许多变化和修改,而实质上不脱离本发明的原理。另外,这种变化和修改想要被包含在所附权利要求书所述的本发明的范围之内。此外,在以下权利要求书中,结构、材料、行为和所有装置的等同物或者步骤加功能元素想要包含用于执行其引证的功能的任何结构、材料或行为。
Claims (6)
1.一种基于P2P和CDN的统一内容承载***(200),所述统一内容承载***(200)能够把应用服务器(300)的内容提供给客户端(100),所述***包括:
内容管理子***(201),用于从应用服务器接收内容、或者接收内容的地址,并实现所述内容的发布;
内容调度子***(202),用于接收客户端(100)对所述内容的请求,并调度CDN子***(203)和P2P子***(204)以响应所述客户端(100)的请求;
CDN子***(203),基于CDN方式来向所述客户端(100)提供内容;以及
至少一个P2P子***(204),每一个P2P子***构成一个P2P服务域从而基于P2P方式为所述客户端(100)提供所述内容;
内容调度子***(202)当客户端(100)所在区域的收看该节目的客户端(100)数低于预定的数值N1,将客户端(100)的请求调度到CDN子***(203)中;如果客户端(100)数不低于预定的数值N1,则内容调度子***(202)将客户端(100)的请求调度到所述区域的P2P子***(204)中。
2.根据权利要求1所述的统一内容承载***,应用服务器(300)至少提供流媒体服务内容、IPTV服务内容、文件下载服务内容之一。
3.根据权利要求1所述的统一内容承载***,客户端(100)至少是PC、机顶盒、多媒体手机、PDA之一。
4.根据权利要求1所述的统一内容承载***,其中内容调度子***(202)在当前区域的客户端(100)数量已经达到预定的数值N2时,其中N2>N1,把从CDN子***(203)中获取内容的原有客户端(100)切换到P2P状态,所述原有客户端(100)从CDN子***(203)中获取内容的同时以P2P方式向其它客户端提供内容。
5.根据权利要求1述的统一内容承载***,所述请求被导入P2P子***(204)后,客户端(100)成为一个Peer节点,该客户端(100)能够获取内容流、同时向后续的客户端提供直播流。
6.根据权利要求1所述的统一内容承载***,其中CDN子***(203)选择一个距离客户端(100)最近的节点向其提供内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100865567A CN101267379B (zh) | 2007-03-14 | 2007-03-14 | 基于p2p和cdn的统一内容承载和调度*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100865567A CN101267379B (zh) | 2007-03-14 | 2007-03-14 | 基于p2p和cdn的统一内容承载和调度*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101267379A CN101267379A (zh) | 2008-09-17 |
CN101267379B true CN101267379B (zh) | 2011-07-27 |
Family
ID=39989523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007100865567A Active CN101267379B (zh) | 2007-03-14 | 2007-03-14 | 基于p2p和cdn的统一内容承载和调度*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101267379B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015014176A1 (en) * | 2013-07-31 | 2015-02-05 | Tencent Technology (Shenzhen) Company Limited | Method, device, scheduling server and system for network allocation |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101383853B (zh) * | 2008-10-24 | 2011-11-09 | 清华大学 | 一种直连节点数量控制方法及网络实体装置 |
CN101707595B (zh) * | 2009-10-26 | 2012-11-14 | 中山大学 | 数字家庭中实现混合媒资文件传输管理的***及方法 |
CN101834889A (zh) * | 2010-04-07 | 2010-09-15 | 北京市农林科学院 | 基于流媒体平台的多媒体课件发布方法 |
CN101977242A (zh) * | 2010-11-16 | 2011-02-16 | 西安电子科技大学 | 一种分层分布式云计算体系结构及服务提供方法 |
CN102065150B (zh) * | 2011-01-18 | 2013-02-13 | 乐视网信息技术(北京)股份有限公司 | 一种基于p2p网络和cdn网络的数据传输***和方法 |
US9413846B2 (en) | 2012-12-14 | 2016-08-09 | Microsoft Technology Licensing, Llc | Content-acquisition source selection and management |
US10391387B2 (en) | 2012-12-14 | 2019-08-27 | Microsoft Technology Licensing, Llc | Presenting digital content item with tiered functionality |
US9716749B2 (en) | 2012-12-14 | 2017-07-25 | Microsoft Technology Licensing, Llc | Centralized management of a P2P network |
US9294580B2 (en) * | 2012-12-14 | 2016-03-22 | Microsoft Technology Licensing, Llc | Managed P2P network with content-delivery network |
TWI489889B (zh) | 2012-12-28 | 2015-06-21 | Ind Tech Res Inst | 內容遞送網路及同儕網路之流量控制方法及系統 |
CN103237270A (zh) * | 2013-05-09 | 2013-08-07 | 黄孙明 | 一种可与网络交互的视频流媒体***和方法 |
CN103888512A (zh) * | 2014-02-20 | 2014-06-25 | 上海聚力传媒技术有限公司 | 一种资源下载的方法与装置 |
CN105848011A (zh) * | 2016-03-31 | 2016-08-10 | 乐视控股(北京)有限公司 | 一种视频直播方法及装置 |
CN107645475B (zh) * | 2016-07-22 | 2019-12-27 | 上海云熵网络科技有限公司 | 异质网络中的文件资源分发***与方法 |
CN107295061B (zh) * | 2017-05-05 | 2019-08-30 | 中广热点云科技有限公司 | 一种基于内容分发网络的内容分发方法 |
CN107483614B (zh) * | 2017-08-31 | 2021-01-22 | 京东方科技集团股份有限公司 | 基于cdn与p2p网络的内容调度方法及通信网络 |
CN108540816B (zh) * | 2018-03-28 | 2020-03-17 | 腾讯科技(深圳)有限公司 | 一种直播视频获取方法、装置及存储介质 |
CN108900900A (zh) * | 2018-06-29 | 2018-11-27 | 中国联合网络通信集团有限公司 | 流媒体播放方法及装置 |
CN114124939B (zh) * | 2021-11-25 | 2024-03-26 | 北京奇艺世纪科技有限公司 | 一种预缓存文件处理方法、装置及文件预缓存*** |
CN114827649B (zh) * | 2022-04-22 | 2024-02-23 | 上海哔哩哔哩科技有限公司 | 构建直播对等网络的方法及装置、电子设备和存储介质 |
CN115065859B (zh) * | 2022-06-07 | 2024-05-07 | 北京达佳互联信息技术有限公司 | 视频数据获取方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1645787A (zh) * | 2005-03-01 | 2005-07-27 | 广东省电信有限公司研究院 | 在分布式对等流媒体服务***中实现可靠组播的方法 |
CN1719833A (zh) * | 2004-07-07 | 2006-01-11 | 微软公司 | 对等计算机网络中有效的一对多内容发布 |
CN1889490A (zh) * | 2006-07-14 | 2007-01-03 | 北京时越网络技术有限公司 | 一种基于内容分发网络***的点对点内容再分发方法 |
-
2007
- 2007-03-14 CN CN2007100865567A patent/CN101267379B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1719833A (zh) * | 2004-07-07 | 2006-01-11 | 微软公司 | 对等计算机网络中有效的一对多内容发布 |
CN1645787A (zh) * | 2005-03-01 | 2005-07-27 | 广东省电信有限公司研究院 | 在分布式对等流媒体服务***中实现可靠组播的方法 |
CN1889490A (zh) * | 2006-07-14 | 2007-01-03 | 北京时越网络技术有限公司 | 一种基于内容分发网络***的点对点内容再分发方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015014176A1 (en) * | 2013-07-31 | 2015-02-05 | Tencent Technology (Shenzhen) Company Limited | Method, device, scheduling server and system for network allocation |
Also Published As
Publication number | Publication date |
---|---|
CN101267379A (zh) | 2008-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101267379B (zh) | 基于p2p和cdn的统一内容承载和调度*** | |
US8429263B2 (en) | File content distribution method, device, and system for an interactive network television system | |
KR101370828B1 (ko) | 브로드캐스팅 네트워크에서 노드간 데이터캐스팅을 위한방법 및 시스템 | |
JP5232876B2 (ja) | フィードをベースにした移動端末へのコンテンツの自動送信技術 | |
US20100250677A1 (en) | Subscriber device and subscription management that supports real-time communication | |
JP4603565B2 (ja) | 動的にシンジゲートされたコンテンツ配信のシステムおよび方法 | |
EP2592550B1 (en) | Distributed mapping function for large scale media clouds | |
CN103581245A (zh) | 一种内容分发网络内容分发的方法及*** | |
CN101911687A (zh) | 用于分发内容的方法和装置 | |
JP2007299392A (ja) | 動的移動コンテンツの配信用プッシュフレームワーク | |
JP5183707B2 (ja) | プッシュコンテンツ処理プロトコル内をパスするメタデータ最適化方法およびシステム | |
JP5295998B2 (ja) | 移動コンテンツを断片化するシステムおよび方法 | |
Tran et al. | An efficient hybrid push-pull methodology for peer-to-peer video live streaming system on mobile broadcasting social media | |
Pan et al. | OJUMP: Optimization for joint unicast‐multicast panoramic VR live streaming system | |
JP4731518B2 (ja) | 移動コンテンツを断片化するシステムおよび方法 | |
JP5183710B2 (ja) | プッシュコンテンツメタデータに対する多層化エンベロープされた方法およびシステム | |
CN104683881A (zh) | Vcdn资源控制方法、装置及*** | |
Caporuscio et al. | ubi REST: A RESTful Service-Oriented Middleware for Ubiquitous Networking | |
CN101588492B (zh) | Iptv***中播放素材发布方法及*** | |
Baydeti et al. | Scalable Models for Redundant Data Flow Analysis in Online Social Networks | |
Tyson et al. | Could we fit the Internet in a Box? | |
Triningsih | Bandwidth allocation-aware scheduling algorithm for video-on-demand application over digital learning network | |
Zhao et al. | Design and implementation of streaming media server cluster based on FFMpeg | |
Sousa et al. | Negotiation platform for personalised advertising | |
CN102594805A (zh) | 一种实现单节点提供多种媒体业务服务的方法和*** |
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 |