构建半固定p2p网络的方法及其系统的制作方法

文档序号:7957374阅读:179来源:国知局
专利名称:构建半固定p2p网络的方法及其系统的制作方法
技术领域
本发明涉及计算机网络通信领域,更具体地说,涉及一种构建半固定P2P网络的方法及其系统。
背景技术
P2P(Peer-to-Peer,简称P2P)是一种分布式网络,网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源需要由网络提供服务和内容,能被其它对等节点(Peer)直接访问而无需经过中间实体。在此网络中的参与者既是资源(服务和内容)提供者(Server),又是资源(服务和内容)获取者(Client)。P2P技术打破了传统的Client/Server(C/S)模式,在网络中的每个结点的地位都是对等的。每个结点既充当服务器,为其他结点提供服务,同时也享用其他结点提供的服务。
P2P流媒体直播是最新发展起来的一种网络流媒体广播方式,它利用P2P的原理来建立播放网络,采用P2P的“对等广播”(Peer casting)技术,即每一个播放器使用对等连接文件P2P共享软件,实现向用户网络分发内容。节目文件被分解为很多小的片段,每个用户下载存储若干片段再互相对接交换,最后每个用户都得到完整的拷贝。
但是由于数据对象是随机地分布在各个非固定个人节点(或称非固定对等节点,即普通客户端)中,由于节点ID之间距离是不规则,所以某些节点的负载可能是系统平均负载的几倍。因此,导致了整个P2P网络的节点负载不均衡,即节点的负载和节点的能力不相符。
由此可知,当前的P2P网络除了服务器以外的都是非固定个人节点构成的,整个P2P网络与非固定个人节点关系密切。由于当前P2P网络中的客户端基本都不是长期固定的客户端,从而导致P2P网络波动,增加了服务器与客户端的负担,以及导致各非固定个人节点负载不均衡。

发明内容
本发明要解决的技术问题在于,针对现有技术的上述P2P网络中非固定个人节点负载不均衡、增加了服务器和客户端的负担等缺陷,提供一种构建半固定P2P网络的方法及其系统。
本发明解决其技术问题所采用的技术方案是构造一种构建半固定P2P网络的方法,该方法包括以下步骤a.普通客户端获取P2P服务器的下载资源的种子;b.所述普通客户端根据所述种子优先获取加速器客户端的IP地址,并从所述加速器客户端下载资源。
在本发明所述的方法中,所述步骤a之前进一步包括所述加速器客户端根据所述种子从所述P2P服务器上下载资源。
在本发明所述的方法中,所述步骤a之前进一步包括当所述加速器客户端登录加速器服务器时,所述加速器服务器对所述加速器客户端进行身份验证。
在本发明所述的方法中,所述普通客户端和所述加速器客户端通过登录所述P2P服务器或通过由所述P2P服务器广播而获取下载资源的种子。
在本发明所述的方法中,所述步骤b包括所述加速器客户端从所述P2P服务器和/或多个所述加速器客户端和/或多个所述普通客户端同时下载多个资源,并向多个所述普通客户端同时提供多个所述下载资源。
在本发明所述的方法中,所述步骤b进一步包括所述加速器客户端需要定时向所述加速器服务器上报服务数据。在本发明所述的方法中,所述服务数据包括位时间内下载/上传的流量和用户连接数。
一种构建半固定P2P网络的系统,包括多个普通客户端,该系统还包括P2P服务器、加速器服务器以及多个加速器客户端,
所述加速器服务器,用于管理多个所述加速器客户端的正常运作,对所述加速器客户端进行身份验证,接收所述加速器客户端上报的服务数据;所述加速器客户端,具有所述普通客户端的功能,主要负责向所述加速器服务器上报服务数据,并向用户同时提供多个下载资源;所述P2P服务器,用于保存用户下载资源的信息,包括下载资源的种子和当前活动用户下载的情况。
在本发明所述的系统中,所述加速器客户端将多个所述下载资源保存在其内存中。
在本发明所述的系统中,所述服务数据包括位时间内下载/上传的流量和用户连接数。
本发明的有益效果是,由于采用加速器客户端,用户可以从临近的加速器客户端优先提取其所需要的数据,可有效地降低了P2P服务器网络流量,同时也加快了用户获取数据的速度。


下面将结合附图及实施例对本发明作进一步说明,附图中图1是本发明的系统架构图;图2是本发明的加速器工作流程图;图3是本发明的普通客户端与加速器客户端之间通信的流程图。
具体实施例方式
本发明在现有P2P平台的基础上,通过在普通客户端的临近位置预先部署了加速器客户端,从而建立起广泛的半固定(“半固定”是指加速器客户端是固定部署的,但P2P网络中允许存在多个加速器客户短以供选择)的加速器客户端来稳定P2P网络,用户可以从临近的加速器客户端提取其所需要的数据,充分利用了临近网络域内的可闲置的网络资源,降低了服务器网络流量,同时加快了用户获取数据的速度。
为使本发明的目的、技术方案及优点更加清楚明白,以下通过具体实施例并参见附图,对本发明进行详细说明。
图1示出的是构建半固定P2P网络的系统架构图。如图所示,包括P2P服务器、加速服务器、多个加速器客户端(加速器客户端1,…加速器客户端n)以及多个普通客户端(客户端1,…客户端n)。
其中,加速器服务器,用于管理多个加速器客户端的正常运作,对加速器客户端进行身份验证,接收加速器客户端上报的服务数据;加速器客户端,具有普通客户端的功能,主要负责向加速器服务器上报服务数据,并向用户同时提供多个下载资源;P2P服务器,用于保存用户下载资源的信息,包括下载资源的种子和当前活动用户下载的情况。
下面参照图2示出的加速器工作流程图,并结合图1为例进行说明,包括以下步骤步骤S200首先,加速器客户端登录到加速器服务器。加速器客户端在普通客户端的基础上添加了加速器身份验证功能。
因为P2P网络中允许存在多个加速器客户端,为了便于管理多个加速器客户端,便于多个加速器客户端能正常运作,所以加速器客户端需要登录到加速器服务器。
步骤S205加速器服务器对加速器客户端的身份进行验证,以确认用户是否有权使用加速器客户端功能。加速服务器的用途主要是用来管理加速器客户端,包括对加速器客户端登录的验证。
步骤S210当对加速器客户端的登录验证通过,表示登录成功后。
步骤S215当加速器客户端登录成功后,用户(可以是多个用户)就可以通过其普通客户端从加速器客户端上挑选自己需要加速下载的资源(如网络直播节目)。
加速器客户端域普通客户端不同的是,加速器客户端是预先固定部署的,需要经常在线为用户提供服务的,相当于一个固定的超级客户端。当加速器客户端部署到普通PC机或服务器上,该加速器客户端可以无人值守自动运行,在默认的情况下,该加速器客户端可以自动选择3个最热门的P2P资源(如QQLIVE节目)下载。加速器客户端本身具有普通P2P节点的功能。由于一般为无人值守运行,因而可以不间断的提供流量数据给其他需要的普通客户端。
其中,该步骤S215的普通客户端与加速器客户端之间的数据交互如图3所示,该数据交互过程包括以下步骤步骤S300若用户(通过其普通客户端)需要下载资源(如QQLIVE节目),并且当用户取得当前下载资源的种子(“种子”是对第一源文件的称呼,指P2P平台上的完整文件链接,其它用户通过该文件可自动找到提供该文件下载的客户端并进行下载),这些种子可以由用户通过登录所述P2P服务器或通过由P2P服务器广播而获取到。并且根据这些种子,用户就可以优先获取加速器客户端的IP地址,因为当P2P网络中的加速器客户端长期在线时,其IP是优先的。这样,用户(通过其普通客户端)就可以登录到加速器客户端。
当然,之前加速器客户端与普通客户端都需要先登录到P2P服务器,以便获取下载资源(如QQLIVE节目列表),这样用户(通过其普通客户端)才可以从加速器客户端那里获取下载资源。但是,加速器客户端是多个,多个加速器客户端可以同时从P2P服务器上下载资源;而一个加速器客户端也可以同时为一个或多个用户提供下载多个资源。
需要说明的是,现有的P2P方式中,用户通过其普通客户端也可以从另一普通客户端那里下载资源。所以普通客户端也需要登录到P2P服务器并从P2P服务器上下载资源。
因此,用户在下载资源时,一般不直接从P2P服务器和/或普通客户端下载,而是会根据获得的当前下载资源的种子被优先到那些速度快、距离近的已经部署好的加速器客户端那里下载,而且同时还可以下载多个资源(如多个QQLIVE节目)。
步骤S305、S310、S315用户根据取得当前需要下载资源选择需要下载的资源列表(如需要观看的QQLIVE节目)。用户可以从一个加速器客户端中同时下载多个资源。但是,一个加速器客户端也可以同时为多个用户(即多个普通客户端)服务。
其中,加速器客户端上的所有的下载资源的数据均存放在其内存中,这样避免了因为用户频繁直接访问加速器客户端的硬盘数据而导致硬盘损坏。
需要说明的是由于内存容量有限,所以比较适合网络直播方面的节目数据的下载(如QQLIVE节目)。而对于用户需要大容量下载的文件数据的,因为其数据量大,则只能存放在硬盘中。
普通客户端与加速器客户端直接进行交互过程中,加速器相对于普通客户端来说是透明的,一般不用于直接播放节目。
因此,对于加速器客户端来说,其输出的数据越多,效果就越好,相对减轻了P2P服务器的流量与压力(因为可以不需要P2P服务器那里下载资源,而是直接到加速器客户端那里下载资源),同时也加快了用户获取数据的速度。
步骤S220、S225当用户持续在加速客户端中下载资源过程中,加速器客户端需要定时向加速器服务器上报服务数据,该服务数据包括单位时间内下载/上传的流量,用户连接数(即有多少用户正在下载)等等。这样便于加速器服务器对加速器客户端的管理,避免某一加速器客户端负担过重,有利于流量均衡。
以上所述仅为本发明的较佳实施例而已,并用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等。均应包含在本发明的保护范围之内。
权利要求
1.一种构建半固定P2P网络的方法,其特征在于,该方法包括以下步骤a.普通客户端获取P2P服务器的下载资源的种子;b.所述普通客户端根据所述种子优先获取加速器客户端的IP地址,并从所述加速器客户端下载资源。
2.根据权利要求1所述的方法,其特征在于,所述步骤a之前进一步包括所述加速器客户端根据所述种子从所述P2P服务器上下载资源。
3.根据权利要求1所述的方法,其特征在于,所述步骤a之前进一步包括当所述加速器客户端登录加速器服务器时,所述加速器服务器对所述加速器客户端进行身份验证。
4.根据权利要求1或2所述的方法,其特征在于,所述普通客户端和所述加速器客户端通过登录所述P2P服务器或通过由所述P2P服务器广播而获取下载资源的种子。
5.根据权利要求1所述的方法,其特征在于,所述步骤b包括所述加速器客户端从所述P2P服务器和/或多个所述加速器客户端和/或多个所述普通客户端同时下载多个资源,并向多个所述普通客户端同时提供多个所述下载资源。
6.根据权利要求1所述的方法,其特征在于,所述步骤b进一步包括所述加速器客户端需要定时向所述加速器服务器上报服务数据。
7.根据权利要求6所述的方法,其特征在于,所述服务数据包括位时间内下载/上传的流量和用户连接数。
8.一种构建半固定P2P网络的系统,包括多个普通客户端,其特征在于,该系统还包括P2P服务器、加速器服务器以及多个加速器客户端,所述加速器服务器,用于管理多个所述加速器客户端的正常运作,对所述加速器客户端进行身份验证,接收所述加速器客户端上报的服务数据;所述加速器客户端,具有所述普通客户端的功能,主要负责向所述加速器服务器上报服务数据,并向用户同时提供多个下载资源;所述P2P服务器,用于保存用户下载资源的信息,包括下载资源的种子和当前活动用户下载的情况。
9.根据权利要求8所述的系统,其特征在于,所述加速器客户端将多个所述下载资源保存在其内存中。
10.根据权利要求8所述的系统,其特征在于,所述服务数据包括位时间内下载/上传的流量和用户连接数。
全文摘要
本发明涉及一种构建半固定P2P网络的方法,a.普通客户端获取P2P服务器的下载资源的种子;b.所述普通客户端根据所述种子优先获取加速器客户端的IP地址,并从所述加速器客户端下载资源。本发明还同时公开了一种构建半固定P2P网络的系统。本发明由于采用加速器客户端,用户可以从临近的加速器客户端优先提取其所需要的数据,可有效地降低了服务器网络流量,同时也加快了用户获取数据的速度。
文档编号H04N7/24GK101079766SQ20061006149
公开日2007年11月28日 申请日期2006年6月30日 优先权日2006年6月30日
发明者华有为 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1