一种基于P2P网络和CDN网络的数据传输系统和方法转让专利

申请号 : CN201110009629.9

文献号 : CN102065150B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨永强李茗祝晓光

申请人 : 乐视网信息技术(北京)股份有限公司

摘要 :

本发明提供一种基于P2P网络和CDN网络的数据传输方法和系统,P2P节点能够从P2P网络和CDN节点获取数据;利用P2P子系统监听一个已经和播放端约定好的端口,当播放端有请求到达时,该P2P子系统启动优先到P2P网络获取数据功能,并将获得的数据即时的推给播放端。本发明所提供的技术方案,能够解决在短时间内,大量的p2p网络中的节点涌向服务器,所引起的服务器不堪重负,导致服务器当机这一技术问题。

权利要求 :

1.一种基于P2P网络和CDN网络的数据传输系统,包括:一源服务器,一CDN网络,以及一P2P网络;其特征在于:所述源服务器用于存储源数据;

所述CDN网络,包括多个CDN节点,每一CDN节点包括一CDN服务器;

所述P2P网络不直接连接到源服务器;

所述P2P网络,包括多个P2P节点,各P2P节点能够从P2P网络和CDN节点获取数据;

各P2P节点在从P2P网络和CDN节点获取数据时,优先地从P2P网络中的其他P2P节点获取数据;

该系统进一步包含一个P2P子系统,P2P节点通过开启/关闭该P2P子系统来选择是否放弃从P2P网络中获取数据;该P2P子系统监听一个已经和播放端约定好的端口,当播放端有请求到达时,该P2P子系统启动优先到P2P网络获取数据功能,并将获得的数据即时的推给播放端;

当用户关闭P2P子系统时,播放端将前往CDN网络获取数据,CDN网络中的各CDN节点根据P2P节点的请求,向源服务器获取相应的源数据,将该源数据传输至P2P节点;在用户开启P2P子系统的情况下,P2P子系统优先到P2P网络获取数据,如果P2P网络不存在所需要的数据,该P2P子系统进一步根据下载调度策略的需要前往CDN网络获取数据;

当P2P节点开启一个频道时,播放端将依次向P2P子系统和CDN网络发送此节目相关的HTTP请求,请求包含此频道的数据源地址;如果该P2P节点没有放弃从P2P网络中获取数据,则优先从P2P网络获取数据,否则,将全部从CDN网络获取数据。

2.如权利要求1所述的基于P2P网络和CDN网络的数据传输系统,其特征在于:在各个P2P节点中,每个P2P节点能够选择是否放弃从P2P网络中获取数据;如果放弃从P2P网络中获取数据,那么该节点所需要的所有数据由CDN网络直接供给。

3.一种基于P2P网络和CDN网络的数据传输方法,

所述CDN网络包括多个CDN节点,每一CDN节点包括一CDN服务器;当用户的请求到达指定节点时,CDN的服务器将用户请求的内容提供给用户,所述P2P网络包括多个P2P节点;

所述P2P网络不直接连接到源服务器;

其特征在于:

该方法包括以下步骤:

步骤1,所述P2P节点中的播放器开启一个频道,该播放器向P2P子系统发送此节目相关的http请求,该http请求包含此频道的数据源地址;

步骤2,所述P2P子系统判断该P2P节点是否放弃从P2P网络中获取数据,如果没有放弃,则P2P子系统根据调度策略,优先从P2P网络获取数据,否则,从CDN网络获取数据;

所述步骤1具体为:当P2P节点开启一个频道时,播放端将依次向P2P子系统和CDN网络发送此节目相关的HTTP请求,请求包含此频道的数据源地址;如果该P2P节点没有放弃从P2P网络中获取数据,则优先从P2P网络获取数据,否则,将全部从CDN网络获取数据;

所述步骤2具体为:P2P节点通过开启/关闭该P2P子系统来选择是否放弃从P2P网络中获取数据;该P2P子系统监听一个已经和播放端约定好的端口,当播放端有请求到达时,该P2P子系统启动优先到P2P网络获取数据功能,并将获得的数据即时的推给播放端;

当用户关闭P2P子系统时,播放端将前往CDN网络获取数据,CDN网络中的各CDN节点根据P2P节点的请求,向源服务器获取相应的源数据,将该源数据传输至P2P节点;在用户开启P2P子系统的情况下,P2P子系统优先到P2P网络获取数据,如果P2P网络不存在所需要的数据,该P2P子系统进一步根据下载调度策略的需要前往CDN网络获取数据。

4.一种基于P2P网络和CDN网络的数据传输方法,

所述CDN网络包括多个CDN节点,每一CDN节点包括一CDN服务器;当用户的请求到达指定节点时,CDN的服务器将用户请求的内容提供给用户,所述P2P网络包括多个P2P节点;各P2P节点能够从P2P网络和CDN节点获取数据;

所述P2P网络不直接连接到源服务器;其特征在于:

该方法包括以下步骤:

步骤1,所述P2P节点中的播放器开启一个频道,该播放器向P2P子系统发送此节目相关的http请求,该http请求包含此频道的数据源地址;

步骤2,所述P2P子系统监听一个已经和播放端约定好的端口,当播放端有请求到达时,该P2P子系统启动优先到P2P网络获取数据功能,并将获得的数据即时的推给播放端;

所述步骤1具体为:当P2P节点开启一个频道时,播放端将依次向P2P子系统和CDN网络发送此节目相关的HTTP请求,请求包含此频道的数据源地址;如果该P2P节点没有放弃从P2P网络中获取数据,则优先从P2P网络获取数据,否则,将全部从CDN网络获取数据;

所述步骤2具体为:P2P节点通过开启/关闭该P2P子系统来选择是否放弃从P2P网络中获取数据;该P2P子系统监听一个已经和播放端约定好的端口,当播放端有请求到达时,该P2P子系统启动优先到P2P网络获取数据功能,并将获得的数据即时的推给播放端;

当用户关闭P2P子系统时,播放端将前往CDN网络获取数据,CDN网络中的各CDN节点根据P2P节点的请求,向源服务器获取相应的源数据,将该源数据传输至P2P节点;在用户开启P2P子系统的情况下,P2P子系统优先到P2P网络获取数据,如果P2P网络不存在所需要的数据,该P2P子系统进一步根据下载调度策略的需要前往CDN网络获取数据。

说明书 :

一种基于P2P网络和CDN网络的数据传输系统和方法

技术领域

[0001] 本发明涉及一种基于P2P网络和CDN网络的数据传输系统和方法,涉及流媒体、计算机网络等交叉领域。

背景技术

[0002] P2P是英文Peer-to-Peer(对等)的简称,又被称为“点对点”。“对等”技术是一种新兴的网络技术,主要依赖于网络中参与者的计算能力和带宽,而并非把所有依赖都聚集在成本较为昂贵的服务器上去。P2P亦是point-to-point(点对点)的简称。也就是说它自己的下载的同时,也要上载给网络上的其他节点。参与P2P网路的用户越多,相应的上载者就越多,上载者数量越多,P2P终端到服务器上取数据的机会也就越小,所以P2P的存在不但使服务器压力大大减少,更达到了人数越多速度就越快的效果。
[0003] 然而,在P2P流媒体领域,由于P2P这种分布式系统先天的不确定性,可能会引起某一时刻,大量的p2p网络中的节点涌向服务器,会导致服务器不堪重负,严重的将会导致服务器当机,以至于整个服务无法访问。轻者也可能使用户播放不够流畅影响用户体验。

发明内容

[0004] 为了克服现有技术的缺陷,本发明首先提出一种基于P2P网络和CDN网络的数据传输系统,包括:一源服务器,一CDN网络,以及一P2P网络;所述源服务器用于存储源数据;所述CDN网络,包括多个CDN节点,每一CDN节点包括一CDN服务器;所述P2P网络,包括个多P2P节点,各P2P节点能够从P2P网络和CDN节点获取数据;各P2P节点在从P2P网络和CDN节点获取数据时,优先地从P2P网络中的其他P2P节点获取数据。
[0005] 进一步,在各个P2P节点中,每个P2P节点能够选择是否放弃从P2P网络中获取数据;如果放弃从P2P网络中获取数据,那么该节点所需要的所有数据由CDN网络直接供给。
[0006] 当P2P节点开启一个频道时,播放端将依次向P2P子系统和CDN网络发送此节目相关的HTTP请求,请求包含此频道的数据源地址;如果该P2P节点没有放弃从P2P网络中获取数据,则优先从P2P网络获取数据,否则,将全部从CDN网络获取数据。
[0007] 该系统进一步包含一个P2P子系统,P2P节点通过开启/关闭该P2P子系统来选择是否放弃从P2P网络中获取数据;该P2P子系统监听一个已经和播放端约定好的端口,当播放端有请求到达时,该P2P子系统启动优先到P2P网络获取数据功能,并将获得的数据即时的推给播放端。
[0008] 当用户关闭P2P子系统时,播放端将前往CDN网络获取数据,CDN网络中的各CDN节点根据P2P节点的请求,向源服务器获取相应的源数据,将该源数据传输至P2P节点;在用户开启P2P子系统的情况下,P2P子系统优先到P2P网络获取数据,如果P2P网络不存在所需要的数据,该P2P子系统进一步根据下载调度策略的需要前往CDN网络获取数据。
[0009] 本发明进一步提出了一种基于P2P网络和CDN网络的数据传输方法,所述CDN网络包括多个CDN节点,每一CDN节点包括一CDN服务器;当用户的请求到达指定节点时,CDN的服务器将用户请求的内容提供给用户,所述P2P网络包括个多P2P节点;该方法包括以下步骤:
[0010] 步骤1,所述P2P节点中的播放器开启一个频道,该播放器向P2P子系统发送此节目相关的http请求,该http请求包含此频道的数据源地址;步骤2,所述P2P子系统判断该P2P节点是否放弃从P2P网络中获取数据,如果没有放弃,则P2P子系统根据调度策略,优先从P2P网络获取数据,否则,从CDN网络获取数据。
[0011] 以及一种基于P2P网络和CDN网络的数据传输方法,所述CDN网络包括多个CDN节点,每一CDN节点包括一CDN服务器;当用户的请求到达指定节点时,CDN的服务器将用户请求的内容提供给用户,所述P2P网络包括个多P2P节点;各P2P节点能够从P2P网络和CDN节点获取数据;该方法包括以下步骤:步骤1,所述P2P节点中的播放器开启一个频道,该播放器向P2P子系统发送此节目相关的http请求,该http请求包含此频道的数据源地址;步骤2,所述P2P子系统监听一个已经和播放端约定好的端口,当播放端有请求到达时,该P2P子系统启动优先到P2P网络获取数据功能,并将获得的数据即时的推给播放端。
[0012] 本发明所提供的上述技术方案,能够解决在短时间内,大量的p2p网络中的节点涌向服务器,所引起的服务器不堪重负,导致服务器当机这一技术问题。

附图说明

[0013] 附图1是本发明提供的基于P2P网络和CDN网络的数据传输系统的示意图;
[0014] 附图2是本发明提供的基于P2P网络和CDN网络的数据传输方法的示意图。

具体实施方式

[0015] 为了避免在短时间内,大量P2P节点涌向服务器,而导致服务器无法提供正常的服务。本发明提出的解决方案中,引入了CDN(Conetent Delivery Network)网络,即内容分发网络,其目的是通过在现有的服务器端增加一层新的网络架构,将服务器数据发布到最接近用户的网络“边缘”,使用户可以就近获取想要的数据,从而缓解网络拥挤的状况,提高响应速度,从根本上解决了由于带宽不足,高访问量,服务器分布不均等因素所导致的用户获取数据的延时过大的问题。另外,CDN网络还提供了统一的文件分发平台,即不需要诸如windows media server,flash media server这类软件,而是实时的拉取这些软件所产生的流数据,在通过CDN分发给用户。
[0016] 附图1示出了本发明提供的基于P2P网络和CDN网络的数据传输系统。该系统包括:一源服务器,用于存储源数据,例如视频素材、影像等;
[0017] 一CDN网络,包括多个CDN节点,每一CDN节点包括一CDN服务器;当用户的请求到达指定节点时,CDN的服务器将用户请求的内容提供给用户。
[0018] 一P2P网络,包括个多P2P节点,各P2P节点优先地从P2P网络中的其他P2P节点获取数据。另一方面,各P2P节点也可以从CDN节点中获取数据。
[0019] 在各个P2P节点中,每个P2P节点能够选择是否放弃从P2P网络中获取数据。如果用户放弃p2p网络,那么用户所需要的所有数据将完全由强大的CDN网络直接供给。从而,避免了因p2p带来的不确定性而导致的用户不良体验。
[0020] 当P2P节点开启一个频道时,播放端将依次向P2P子系统和CDN网络发送此节目相关的HTTP请求,请求包含此频道的数据源地址。如果该P2P节点没有放弃从P2P网络中获取数据,则优先从P2P网络获取数据,否则,将全部从CDN网络获取数据。
[0021] 上述基于P2P网络和CDN网络的数据传输系统中,P2P网络不直接连接到源服务器中。进一步包含一个P2P子系统,该P2P子系统监听一个已经和播放端约定好的端口,当播放端有请求到达时,也就是P2P子系统监听到有用户请求时,便会启动优先到P2P网络获取数据功能,并将获得的数据即时的推给播放端。
[0022] 当用户关闭P2P子系统时,播放端将前往CDN网络获取数据,CDN网络中的各CDN节点根据P2P节点的请求,向源服务器获取相应的源数据,将该源数据传输至P2P节点。在用户开启P2P子系统的情况下,P2P子系统优先到P2P网络获取数据,如果P2P网络不存在所需要的数据,该P2P子系统进一步根据下载调度策略的需要前往CDN网络获取数据。
[0023] 附图2示出了本发明提供的基于P2P网络和CDN网络的数据传输方法的示意图。该方法包括以下步骤:
[0024] 步骤1,P2P节点中的播放器开启一个频道,该播放器向P2P子系统发送此节目相关的HTTP请求,请求包含此频道的数据源地址。
[0025] 步骤2,P2P子系统判断该P2P节点是否放弃从P2P网络中获取数据,如果没有放弃,则P2P子系统根据调度策略,优先从P2P网络获取数据,否则,将全部从CDN网络获取数据。
[0026] 上述步骤2中,所述CDN网络,包括多个CDN节点,每一CDN节点包括一CDN服务器;当用户的请求到达指定节点时,CDN的服务器将用户请求的内容提供给用户。
[0027] 上述步骤1中,P2P网络,包括个多P2P节点,各P2P节点优先地从P2P网络中的其他P2P节点获取数据。另一方面,各P2P节点也可以从CDN节点中获取数据。
[0028] 另一个可选的实施方式中,所述步骤2中,P2P子系统监听一个已经和播放端约定好的端口,当播放端有请求到达时,该P2P子系统启动优先到P2P网络获取数据功能,并将获得的数据即时的推给播放端。
[0029] 本发明中,CDN网络取代了传统的基于私有协议的数据源服务器,而统一利用HTTP协议的WEB服务器,在可靠性、稳定性、及扩展性方面有质的提高,而且还节约了服务器端的开发成本。综上所述,P2P网络的提出及解决了用户数量剧增的情况下服务器压力过大的问题,也大大加强了用户间的资源利用率,而CDN网络的提出解决了由于P2P网络的不确定性带来的用户体验问题。本发明所提出的基于P2P网络和CDN网络的数据传输系统和方法,使得用户得到良好体验的同时,又从一定程度上降低了P2P子系统优化的难度。
[0030] 本发明所述的方法和系统并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。