一种p2p系统及p2p系统中的网络资源管理方法

文档序号:7704876阅读:174来源:国知局
专利名称:一种p2p系统及p2p系统中的网络资源管理方法
技术领域
本发明属于通信领域,尤其涉及一种P2P系统、P2P系统中的网络资源管 理方法、种子服务器及客户端。
背景技术
随着边缘网络信息的不断丰富,互联网中传统的客户端/服务器 (Client/Server, C/S )才莫式逐渐被对等(peer to peer, P2P)通信才莫式所取代, P2P模式是分布式海量信息服务的必然选择。从计算模式上来说,P2P打破了 传统的C/S模式,P2P工作方式中,在网络中的每个结点的地位都是对等的, 每个结点既充当服务器,为其他结点提供服务,同时也享用其他结点提供的服 务,即每一个结点既是客户端又是服务器。
但是,现有P2P网络中,能提供下载的资源可能集中在某几个结点,这时, 在某个结点向另外一个能提供下载资源的结点请求相应资源时,会消耗该被请 求结点的带宽。并且,当多个结点同时向一个能提供下载资源的结点请求资源 时,所需带宽大、实现成本高、下载速度慢、用户体验差。

发明内容
本发明实施例旨在解决现有技术存在的问题,提供一种P2P系统,所需带 宽小、实现成本低、下载资源速度快、用户体验优。
本发明实施例是这样实现的, 一种P2P系统,所述系统包括种子服务器、 至少一个种子客户端和至少一个非种子客户端;
所述种子客户端用于根据预设的汇报条件向所述种子服务器发送汇报信 息,所述汇报信息包括所述种子客户端对应的客户端标识及种子客户端所存储资源对应的资源标识;所述种子服务器用于根据接收到的汇报信息更新种子资源信息,并在需要 扩展种子客户端数量的时候向非种子客户端发送资源获取指令,所述资源获取指令包括资源标识和种子客户端对应的客户端标识;所述非种子客户端根据接收到的资源获取指令向相应种子客户端获取对应 的资源。本发明实施例的另一目的在于提供一种P2P系统中的网络资源管理方法, 所述方法包括下述步骤种子客户端根据预设的汇报条件向种子服务器发送汇报信息,所述汇报信 息包括所述种子客户端对应的客户端标识及种子客户端所存储资源对应的资源 标识;种子服务器根据接收到的汇报信息更新种子资源信息,并在需要扩展种子 客户端数量的时候向非种子客户端发送资源获取指令,所述资源获取指令包括 资源标识和种子客户端对应的客户端标识;非种子客户端根据接收到的资源获取指令向相应种子客户端获取对应的资源。本发明实施例的另一目的在于提供一种种子服务器,所述服务器包括种子资源更新单元,用于接收种子客户端发送的汇报信息,并根据接收到 的汇报信息更新种子资源信息中相应种子客户端对应的资源标识;判断单元,用于根据预设的时间间隔和种子资源信息判断存储各资源的种 子客户端的数量是否大于预设的种子数临界值,输出判断结果为否的各资源对 应的资源标识;以及种子扩展管理单元,用于根据所述判断单元输出的各资源标识以及所述种 子资源信息向非种子客户端发送资源获取指令,所述资源获取指令包括接收到 的各资源标识及对应种子客户端的客户端标识。本发明实施例的另一目的在于提供一种客户端,所述客户端包括资源汇报单元,用于根据预设的汇报条件向种子服务器发送汇报信息,汇 报信息包括所述客户端对应的客户端标识及客户端所存储资源对应的资源标 识;以及
资源获取单元,用于接收种子服务器发送的资源获取指令,并根据接收到 的资源获取指令向相应客户端获取对应资源,资源获取指令包括资源标识及存 储该资源客户端对应的客户端标识。
在本发明实施例中,通过种子客户端主动向种子服务器上报其存储资源的 信息,种子服务器在需要扩展种子客户端数量的时候向非种子客户端发送资源
获取指令,以扩展种子客户端的数量,实现了一种P2P系统,种子服务器及各
种子客户端、非种子客户端所需带宽小,实现成本低、下载资源速度快、用户 体验优。


图1是本发明实施例提供的P2P系统的结构示意图2是本发明实施例提供的种子服务器的结构示意图3是本发明实施例提供的P2P系统中的网络资源管理方法的实现流程
图4是本发明实施例提供的客户端的结构示意图。
具体实施例方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅 仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,通过客户端主动向种子服务器上报其存储资源的信息, 种子服务器根据预设的时间间隔判断是否需要扩展存储相应资源的种子客户端 的数量,并根据判断结果扩展存储相应资源的种子客户端数量。
7图1示出了本发明实施例提供的P2P系统的结构,为了便于说明仅示出了 与本发明实施例相关的部分,该P2P系统包括种子服务器、至少一个种子客户 端、至少一个非种子客户端,其中
种子客户端101,用于根据预设的汇报条件向种子服务器102发送汇报信 息,汇报信息包括种子客户端101对应的客户端标识及种子客户端101所存储 资源对应的资源标识;其中,汇报条件可以为定时触发、根据存储资源变化触 发或这两种方式相结合等。
种子服务器102,根据接收到的汇报信息更新种子资源信息,并在需要扩 展种子客户端数量的时候向非种子客户端发送资源获取指令,资源获取指令包 括资源标识和种子客户端对应的客户端标识;该种子资源信息可以存储在种子 服务器102中,也可以存储在其他数据库、存储器等中。
非种子客户端103,根据接收到的资源获取指令向相应种子客户端101获 取对应的资源。
其中,种子客户端101与非种子客户端103是相对某一资源定义的两个物 理客户端,存储有该资源的物理客户端为种子客户端101,没有存储该资源的 物理客户端及为非种子客户端102,相对于某一资源是种子客户端101的物理 客户端与相对于另一资源是非种子客户端103的物理客户端可以是同一个物理 客户端。并且,同一个物理客户端上可以存储多种资源。种子服务器102以及 各种子客户端IOI、各非种子客户端103之间为P2P连接,它们都为PP系统 的结点,P2P系统中的各个节点在地域上可以位于同一城市或不同城市,可以 采用相同或不同的互联网数据中心(Internet Data Center, IDC ),例如电信、 网通等,种子服务器102和各种子客户端101、各非种子客户端103可以采用 相同类型或不同类型的网络,例如直接连接公网的、有防火墙限制的、接了路 由器的、局域网内向外访问的等。另外,非种子客户端103可以以纯P2P方式 到对应的种子客户端101下载相应资源,
种子服务器102根据其存储的,或从其他存储器、服务器、终端获得的预设的种子数临界值确定是否需要扩展种子客户端的数量,如果存储某资源的种 子客户端101数量小于种子数临界值则需要扩展存储该资源的种子客户端的数 量,种子服务器102根据种子资源信息向一个或多个没有存储该资源的非种子客户端103发送资源获取指令,资源获取指令包括该资源对应的资源标识和存 储该资源的种子客户端101对应的客户端标识。其中,资源标识唯一标识该P2P 系统中种子客户端101存储的各资源,且该P2P系统中相同资源对应相同的资 源标识,资源标识可以为资源标识号、资源名称等;客户端标识用于标识P2P 系统中的各种子客户端101和非种子客户端103,可以为种子客户端101或非 种子客户端103对应的客户端名称、IP地址等。 如图2所示,种子服务器102具体包括种子资源更新单元1021,接收种子客户端IOI发送的汇报信息,并根据接 收到的汇报信息更新种子资源信息中相应种子客户端对应的资源标识。种子资 源信息记载该P2P系统中各种子客户端101存储的资源,在具体实现中可以采 用表格存储,包括客户端标识及对应的资源标识,该种子资源信息可以存储在 种子服务器中,或存储在其他数据库、存储器、数据库、服务器或终端等中。判断单元1022,根据预设的时间间隔和种子资源信息判断存储各资源的种 子客户端101的数量是否大于预设的种子数临界值,输出判断结果为否的各资 源对应的资源标识。判断的时间间隔4艮据实际需要和系统环境确定,例如一淑: 情况下为3分钟。当然,还可以根据实际需要进行调整。种子扩展管理单元1023,根据判断单元1022输出的各资源标识以及种子 资源信息向非种子客户端103发送资源获取指令,资源获取指令包括接收到的 各资源标识及对应种子客户端的客户端标识。这里,种子扩展管理单元1023 根据接收到的各资源标识,分别到种子资源信息中查询对应种子客户端的客户 端标识,统计查询到的客户端标识的数量,向一个或多个没有存储有该资源的 非种子客户端103发送资源获取指令,该资源获取指令包括该资源标识及对应 种子客户端的客户端标识。其中,向非种子客户端103发送资源获取指令的数量可以为种子数临界值与统计到的客户端标识的数量之差。当然,为了更准确的判断是否需要扩展各资源的种子数量,作为本发明的 一个优选实施例,种子服务器102还根据种子客户端的网络信息和/或资源标识 确定是否需要扩展种子客户端的数量,不同的客户端网络信息和/或资源标识对应相同或不同的种子数临界值,即种子服务器102中的判断单元1022还根据种 子客户端的网络信息和/或资源标识判断是否需要扩展种子客户端的数量。这样,种子服务器102或其他数据库、存储器、服务器等中还存储种子客 户端的网络信息,可以针对不同种子客户端的网络信息设置相同或不同的种子 数临界值,网络信息包括地域、采用的IDC、网络类型等中'的一个或多个。例 如,对应同城市同IDC的种子客户端101,种子数临界值的取值与对该资源的 需求成正比,对该资源的需求越大,则对应的种子数临界值应越大, 一般情况 下,种子数临界值可以取8,只要某资源标识对应的同城市同IDC的种子客户 端101数量小于该临界值,则需要扩展该资源的种子客户端101的数量;不同 网络类型的种子客户端101,可以分别设置不同的种子数临界值,种子数临界 值的取值与对该资源的需求和当前P2P系统中物理客户端的数量有关, 一般情 况下,直接连接公网的网络类型的种子数临界值的取值大于接了路由器的网络 类型的种子数临界值的取值,而接了路由器的网络类型的种子数临界值的取值 又大于有防火墙限制的网络类型的种子数临界值的取值,具体临界值的取值需 要根据具体的资源环境来计算。例如,当物理客户端的数量为1W个时, 一般 可以配置IO个为种子数临界值。当然,也可以针对不同的资源标识预设不同的种子数临界值,以满足本同 需求及环境对某种资源的种子数的要求。进一步地,种子服务器102可以针对 不同的种子客户端的网络信息和资源标识设置不同的种子数临界值。进一步地,为了避免存储某种资源的种子客户端的数量过多,种子服务器 102还可以针对不同的种子客户端的网络信息和/或资源标识设置不同的种子客 户端数量最大值,将存储某种资源的种子客户端的数量限制在其对应的最大值以内,最大值的选fl与对该存^f诸资源的需求成正比,需求越大则选取的最大值 应越大。为了保证P2P系统中各资源对应的非种子客户端的数量能满足扩展种子客 户端的需要,作为本发明的另一个优选实施例,某一资源对应的在预设时间内 空闲的非种子客户端103的数量必需满足下式t"RCount* RICount >-;ACount其中,ICount为该资源对应的在预^没时间内空闲的非种子客户端102的凝: 量,即在预设时间内没有上传和/或下载任务的非种子客户端102的数量, RCount为P2P系统需要该资源的总数量,R为该资源对应的种子数临界值, ACount为每个种子客户端101或非种子客户端103中能存储资源的总数量,这 些总数量、临界值的单位均为个。当然,为了使种子服务器102知道各种子客 户端101和非种子客户端103上传和下载任务情况,各种子客户端101和非种 子客户端103定时向种子服务器102上报其上传和下载任务的情况。例如,P2P系统需要的资源的总数量为10w个,每个种子客户端101或非 种子客户端103最多能保存IO个不同的资源,种子数临界值为IO个,则要求 没有存储该资源的在预设时间内空闲的非种子客户端103数量必需大于10w 个。图3示出了本发明实施例才是供的P2P系统中的网络资源管理方法的实现流 程,详述如下在步骤S301中,种子客户端根据预设的汇报条件向种子服务器发送汇报 信息,该汇报信息包括该种子客户端对应的客户端标识及种子客户端所存储资 源对应的资源标识;在步骤S302中,种子服务器根据接收到的汇报信息更新种子资源信息, 并在需要扩展种子客户端数量的时候向非种子客户端发送资源获取指令,该资 源获取指令包括资源标识和种子客户端对应的客户端标识;在步骤S303中,非种子客户端根据接收到的资源获取指令向相应种子客户端获取对应的资源。
其中,种子服务器发送汇报信息的汇报条件可以为定时触发、根据存储资
源变化触发或这两种方式相结合等;种子服务器根据预设的种子数临界值确定
是否需要扩展种子客户端的数量,其具体实现如上所述,不再赘述。
为了更准确的判断是否需要扩展各资源的种子数量,作为本发明的一个优 选实施例,种子服务器还根据种子客户端的网络信息和/或资源标识确定是否需 要扩展种子客户端的数量,不同的客户端网络信息和/或资源标识对应相同或不 同的种子数临界值,其具体实现如上所述,不再赘述。
为了保证该P2P系统中各资源对应的非种子客户端的数量能满足扩展种子
客户端的需要,作为本发明的另一个优选实施例,某一资源对应的在预设时间
内空闲的非种子客户端103的数量必需满足下式
T^ RCount*R
ICount >-;
ACount
其中,ICount为该资源对应的在预设时间内空闲的非种子客户端102数量, RCount为P2P系统需要该资源的总数量,R为该资源对应的种子数临界值, ACount为每个种子客户端101或非种子客户端103中能存储资源的总数量,这 些总数量、临界值的单位均为个,其具体实现如上所述,不再赘述。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤 是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机 可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等,该程序 用来执行如下步骤
种子客户端根据预设的汇报条件向种子服务器发送汇报信息,该汇报信息 包括该种子客户端对应的客户端标识及种子客户端所存储资源对应的资源标 识;
种子服务器根据接收到的汇报信息更新种子资源信息,并在需要扩展种子 客户端数量的时候向非种子客户端发送资源获取指令,该资源获取指令包括资 源标识和种子客户端对应的客户端标识;非种子客户端根据接收到的资源获取指令向相应种子客户端获取对应的资源。
图4示出了本发明实施例提供的客户端的结构,为了便于说明仅示出了与 本发明实施例相关的部分,其中
资源汇报单元401,根据预设的汇报条件向种子服务器发送汇报信息,汇 报信息包括资源汇报单元401对应的客户端标识及客户端所存储资源对应的资 源标识。资源汇报单元401发送汇报信息的汇报条件可以为定时触发、根据存 储资源变化触发或这两种方式相结合等。采用定时触发时,根据实际需求及其 所属P2P系统的环境确定定时触发的时间间隔,例如,该时间间隔一般为3分 钟;根据存储资源变化触发,则只要客户端存储的资源发生变化,即触发向种 子服务器发送汇报信息,采用这种方式便于种子服务器即时更新种子资源信息。 但是,如果某个客户端存储的资源变化过快时,可以设置为在存储资源变化后 一定时间内都没有再发生变化才触发。
资源获取单元402,接收种子服务器发送的资源获取指令,并根据接收到 的资源获取指令向相应客户端获取对应资源,资源获取指令包括资源标识及存 储该资源客户端对应的客户端标识。资源获取单元402可以根据接收到的资源 获取指令,以纯P2P方式到资源获取指令中客户端标识对应的客户端下载资源 获取指令中资源标识对应的资源。
在本发明实施例中,通过种子客户端主动向种子服务器上报其存储资源的 信息,种子服务器在需要扩展种子客户端数量的时候向非种子客户端发送资源 获取指令,以扩展种子客户端的数量,实现了一种P2P系统,种子服务器及各 种子客户端、非种子客户端所需带宽小,实现成本低、下载资源速度快、用户 体验优。
并且,可以针对不同种子客户端的网络信息和/或资源定义不同的种子数临 界值,以满足不同需要及环境对种子数的要求。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明 的保护范围之内。
权利要求
1、一种P2P系统,其特征在于,所述系统包括种子服务器、至少一个种子客户端和至少一个非种子客户端;所述种子客户端用于根据预设的汇报条件向所述种子服务器发送汇报信息,所述汇报信息包括所述种子客户端对应的客户端标识及种子客户端所存储资源对应的资源标识;所述种子服务器用于根据接收到的汇报信息更新种子资源信息,并在需要扩展种子客户端数量的时候向非种子客户端发送资源获取指令,所述资源获取指令包括资源标识和种子客户端对应的客户端标识;所述非种子客户端根据接收到的资源获取指令向相应种子客户端获取对应的资源。
2、 如权利要求l所述的系统,其特征在于,所述种子服务器根据预设的种 子数临界值确定是否需要扩展种子客户端的数量,所述种子客户端发送汇报信 息的汇报条件为定时触发、根据存储资源变化触发或这两种方式相结合。
3、 如权利要求2所述的系统,其特征在于,所述种子服务器包括 种子资源更新单元,用于接收所述种子客户端发送的汇报信息,并根据接收到的汇报信息更新种子资源信息中相应种子客户端对应的资源标识;判断单元,用于4艮据预设的时间间隔和种子资源信息判断存储各资源的种子客户端的数量是否大于预设的种子数临界值,输出判断结果为否的各资源对应的资源标识;以及种子扩展管理单元,用于根据所述判断单元输出的各资源标识以及所述种子资源信息向非种子客户端发送资源获取指令。
4、 如权利要求2所述的系统,其特征在于,在预设时间内空闲的所述非种子客户端的数量满足下式T。 RCount*RICount >-;ACount其中,ICount为在预设时间内空闲的非种子客户端的数量,RCount为所述 P2P系统需要的资源的总数量,R为所述种子数临界值,ACount为每个种子客 户端或非种子客户端能存储资源的总数量。
5、 一种P2P系统中的网络资源管理方法,其特4i在于,所述方法包括下 述步骤种子客户端根据预设的汇报条件向种子服务器发送汇报信息,所述汇报信 息包括所述种子客户端对应的客户端标识及种子客户端所存储资源对应的资源 标识;种子服务器根据接收到的汇报信息更新种子资源信息,并在需要扩展种子 客户端数量的时候向非种子客户端发送资源获取指令,所述资源获取指令包括 资源标识和种子客户端对应的客户端标识;非种子客户端根据接收到的资源获取指令向相应种子客户端获取对应的资源。
6、 如权利要求5所述的方法,其特征在于,所述种子服务器根据预设的种 子数临界值确定是否需要扩展种子客户端的数量,所述种子客户端发送汇报信 息的汇报条件为定时触发、根据存储资源变化触发或这两种方式相结合。
7、 如权利要求6所述的方法,其特征在于,所述种子服务器还根据种子客 户端的网络信息和/或资源标识确定是否需要扩展种子客户端的数量,不同的客 户端网络信息和/或资源标识对应相同或不同的种子数临界值。
8、 如权利要求7所述的方法,其特征在于,所述客户端网络信息包括地域、 采用的互联网数据中心、网络类型中的一个或多个。
9、 如权利要求6所迷的方法,其特征在于,在预设时间内空闲的所述非种子客户端的数量满足下式T^ RCount*RICount >-;ACount其中,ICount为在预设时间内空闲的非种子客户端的数量,RCount为所述 P2P系统需要的资源的总数量,R为所述种子数临界值,ACount为每个种子客户端或非种子客户端能存储资源的总数量。
10、 一种种子服务器,其特征在于,所述服务器包括种子资源更新单元,用于接收种子客户端发送的汇报信息,并根据接收到的汇报信息更新种子资源信息中相应种子客户端对应的资源标识;判断单元,用于根据预设的时间间隔和种子资源信息判断存储各资源的种子客户端的数量是否大于预设的种子数临界值,输出判断结果为否的各资源对应的资源标识;以及种子扩展管理单元,用于根据所述判断单元输出的各资源标识以及所述种子资源信息向非种子客户端发送资源获取指令,所述资源获取指令包括接收到的各资源标识及对应种子客户端的客户端标识。
11、 如权利要求IO所述的服务器,其特征在于,所述判断单元还根据种子 客户端的网络信息和/或资源标识判断是否需要扩展种子客户端的数量,不同的 客户端网络信息和/或资源标识对应相同或不同的种子数临界值。
12、 如权利要求11所述的服务器,其特征在于,所述客户端网络信息包括 地域、采用的互联网数据中心、网络类型中的一个或多个。
13、 一种客户端,其特征在于,所述客户端包括资源汇报单元,用于根据预设的汇报条件向种子服务器发送汇报信息,汇 报信息包括所述客户端对应的客户端标识及客户端所存储资源对应的资源标 识;以及资源获取单元,用于接收种子服务器发送的资源获取指令,并根据接收到 的资源获取指令向相应客户端获取对应资源,资源获取指令包括资源标识及存 储该资源客户端对应的客户端标识。
14、 如权利要求13所述的客户端,其特征在于,所述资源汇报单元发送汇 报信息的汇报条件为定时触发、根据存储资源变化触发或这两种方式相结合。
全文摘要
本发明适用于通信领域,提供了一种P2P系统、P2P系统中的网络资源管理方法、种子服务器及客户端,所述P2P系统包括种子服务器、至少一个种子客户端和至少一个非种子客户端;所述种子客户端用于根据预设的汇报条件向所述种子服务器发送汇报信息;所述种子服务器用于根据接收到的汇报信息更新种子资源信息,并在需要扩展种子客户端数量的时候向非种子客户端发送资源获取指令;所述非种子客户端根据接收到的资源获取指令向相应种子客户端获取对应的资源。在本发明实施例提供的P2P系统,所需带宽小、实现成本低、下载速度快。
文档编号H04L29/08GK101631141SQ20091010946
公开日2010年1月20日 申请日期2009年8月19日 优先权日2009年8月19日
发明者华有为 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1