P2p系统中的种子查询方法及p2p服务器的制作方法

文档序号:7963089阅读:171来源:国知局
专利名称:P2p系统中的种子查询方法及p2p服务器的制作方法
技术领域
本发明涉及网络通信领域,尤其涉及一种P2P系统中的种子查询方法及 P2P服务器。
背景技术
P2P系统(Peer-To-Peer)是一种分布式系统,系统的参与者共享他们所拥 有的一部分资源(内容和服务),这些共享资源能被其它对等节点(Peer)直接 访问而无需经过中间实体。系统中的每个节点既是资源提供者,又是资源获取 者,其地位都是对等的,每个节点为其他节点提供服务,同时也享用其他节点 提供的服务。
请参阅图l,该图为现有技术中P2P系统的基本架构示意图,主要包括P2P 服务器和若干个客户端,其中P2P服务器的作用就是负责维护系统所有客户端 的状态信息并为每个客户端提供可以进行共享资源交互的其他客户端,也就是 提供所谓的种子查询功能,因此种子查询策略的好坏直接决定了客户端之间资 源交互的效果。
请参阅图2,该图为现有技术中P2P系统中的种子查询方法的流程图,其 主要实现过程为
步骤SIO、客户端登录P2P服务器,P2P服务器记录该客户端登录的地址 信息及其所能提供的共享资源的特征信息;
步骤Sll、客户端向P2P服务器发起种子查询请求,该请求中携带有客户 端请求获取的资源的特征信息;
步骤S12、 P2P服务器收到客户端种子查询请求后,根据其中携带的资源 的特征信息查找能够提供相应资源的客户端,为了提高资源交互的效果,P2P
服务器通常从中选取预定数量的与查询请求发起客户端所属地域相同的客户 端,将其地址信息反馈给查询请求发起客户端。
步骤S13、请求发起客户端收到P2P服务器返回的能够提供自身所需资源 的且与自身所属地域相同的其他客户端的地址信息后,根据接收到的地址信息 逐个与其建立连接,进行资源交互。
上述现有技术中,P2P服务器在进行种子查询时仅能从相应的资源提供客 户端中查询与请求发起客户端物理位置临近的客户端,而实际上所属地域相同 的两个客户端可能处于不同网络运营商所提供的网络中,比如电信、网通和教
育网,由于不同网络运营商提供的网络之间的数据传输会有较大的延迟,因此 所属地域相同的两个客户端之间的数据传输速度并不一定很快,其资源交互效 果往往并不理想。

发明内容
本发明提供一种P2P系统中的种子查询方法及P2P服务器,用以解决现有 技术中P2P服务器在进行种子查询时仅从能相应的资源提供客户端中选取与 查询请求发起客户端所属地域相同的客户端的问题。
本发明技术方案包括
一种P2P系统中的种子查询方法,包括步骤
A、 客户端向P2P服务器发起种子查询请求,请求中携带有客户端请求获 取的资源的特征信息;
B、 P2P服务器根据所述特征信息查找能够提供相应的共享资源且与请求 发起客户端处于同 一局域网的客户端的地址信息反馈给请求发起客户端;
C、 请求发起客户端根据接收到的地址信息与相应客户端建立连接,进行 资源交互。
较佳地,所述P2P服务器通过查询所述能够提供共享资源的客户端的外网 地址信息判定其是否与请求发起客户端处于同 一局域网。
较佳地,当所述能够提供共享资源且与请求发起客户端处于同 一局域网的
客户端的数量小于预定数量时,P2P服务器继续从能够提供共享资源的客户端
中选取符合预设策略要求的客户端,使选取出的客户端的总数量达到所述预定 数量,并将所述选取出的客户端的地址信息返回给请求发起客户端。
较佳地,所述预设策略为继续从能够提供相应共享资源的客户端中选取与 请求发起客户端所属运营商相同,且/或所属地域相同的客户端。
较佳地,所述客户端在登录P2P服务器时将自身所处网络的NAT类型告 知给P2P服务器。
较佳地,所述客户端在登录P2P服务器前通过STUN测试获知自身所处网 络的NAT类型。
较佳地,所述预设策略为继续从能够提供相应共享资源的客户端中继续选 取能够与请求发起客户端互通的客户端,或者能够与请求发起客户端互通且所 属运营商相同的客户端,或者能够与请求发起客户端互通且所属地域相同的客 户端,或者能够与请求发起客户端互通且所属运营商相同且所属地域相同的客 户端。
较佳地,所述地址信息为IP地址和端口号。 一种P2P服务器,包括
存储单元,用于存储当前各登录客户端能够提供的共享资源的特征信息、 登录的地址信息、所属运营商、所属地域及所属网络的NAT类型信息;
种子查询单元,根据客户端发出的种子查询请求从存储单元中查询出能够 提供相应共享资源的客户端,从中获取与请求发起客户端处于同一局域网的客 户端,并在与请求发起客户端处于同 一局域网的客户端的数量小于预设数量时 根据预设策略继续从能够提供相应共享资源的客户端选出相应的客户端,使其 总数量满足所述预设数量;
种子信息提供单元,用于将种子查询单元查询到的客户端的地址信息提供 给请求发起客户端。
较佳地,所述预设策略为继续从能够提供相应共享资源的客户端中选取与 请求发起客户端所属运营商相同,且/或所属地域相同的客户端。
较佳地,所述预设策略为继续从能够提供相应共享资源的客户端中继续选 取能够与请求发起客户端互通的客户端,或者能够与请求发起客户端互通且所 属运营商相同的客户端,或者能够与请求发起客户端互通且所属地域相同的客 户端,或者能够与请求发起客户端互通且所属运营商相同且所属地域相同的客 户端。
本发明有益效果如下
实施本发明技术方案使得P2P服务器在收到客户端发出的种子查询请求 时,查找能够提供相应的共享资源且与请求发起客户端处于同一局域网的客户 端,并将查找到的客户端的地址信息发送给请求发起客户端,由于处于同一局 域网的客户端之间的数据传输速度最快,因此其资源交互效果最好。
进一步,当所述能够提供共享资源且与请求发起客户端处于同一局域网的 客户端的数量小于预定数量时,P2P服务器继续从能够提供共享资源的客户端 中选取符合预设策略要求的客户端,使选取出的客户端的总数量达到所述预定 数量,并将所述选取出的客户端的地址信息返回给请求发起客户端,实施本发 明所述种子查询方法使得P2P服务器能够采用多种灵活的方式查询出与请求 发起客户端数据传输效果较好的客户端,从而大大增强了 P2P系统中客户端之 间进行资源交互的效果。


图1为现有技术中P2P系统的基本架构示意图2为现有技术中P2P系统中的种子查询方法的流程图3为本发明P2P系统中种子查询方法的第一种较佳实施例的流程图4为本发明P2P系统中种子查询方法的第二种较佳实施例的流程图5为本发明P2P服务器的主要组成结构框图。
具体实施例方式
本发明技术方案中P2P服务器在收到客户端发出的种子查询请求时,查找 能够提供相应的共享资源且与请求发起客户端处于同 一局域网的客户端,并将 查找到的客户端的地址信息发送给请求发起客户端。
进一步,当所述能够提供共享资源且与请求发起客户端处于同 一局域网的 客户端的数量小于预定数量时,P2P服务器继续从能够提供共享资源的客户端 中选取符合预设策略要求的客户端,使选取出的客户端的总数量达到所述预定 数量,并将所述选取出的客户端的地址信息返回给请求发起客户端,实施本发 明所述种子查询方法使得P2P服务器能够采用多种灵活的方式查询出与请求 发起客户端数据传输效果较好的客户端,从而大大增强了 P2P系统中客户端之 间进行资源交互的效果。
下面将结合各个附图对本发明技术方案的主要实现原理具体实施方式
及 其对应能够达到的有益效果进行详细的阐述。
实施例一
请参阅图3,该图为本发明P2P系统中种子查询方法的第一种较佳实施例 的流程图,其主要实现过程为
步骤S20、客户端登录P2P服务器,P2P服务器记录登录客户端登录的地
址信息及其所能提供的资源的特征信息,并根据客户端登录的地址信息判定并 记录其所属运营商及所属地域信息;
其中P2P服务器记录的登录客户端的地址信息为客户端的外网IP地址和 端口号,以及内网IP地址及端口号。
步骤S21 、当前登录P2P服务器的某一客户端向P2P服务器发出种子查询 请求,请求中携带有客户端请求获取的资源的特征信息。
步骤S22、 P2P服务器收到所述查询请求后,根据请求中携带的客户端请 求获取的资源的特征信息查找能够提供相应的共享资源的客户端,并根据客户
端的外网地址信息从中获取与请求发起客户端处于同 一局域网的客户端。
步骤S23、 P2P服务器判断查询到的客户端的数量是否达到预设数量,若 是,执行步骤S24,否则,执行步骤S25。
步骤S24、 P2P服务器将查询到的客户端的地址信息反馈给请求发起客户 端,或者从查询到的客户端中选取预设数量的客户端,将其地址信息反馈给请 求发起客户端,转步骤S27。
步骤S25、 P2P服务器根据预定策略继续从能够提供共享资源的客户端中 选取与请求发起客户端所属运营商相同,且/或所属地域相同的客户端,使选取 出的客户端的总数量达到所述预定数量。
步骤S26、 P2P服务器将所述选取出的客户端的地址信息返回给请求发起 客户端。
步骤S27、请求发起客户端根据接收到的地址信息与相应客户端建立连接, 进行资源交互。 实施例二
请参阅图4,该图为本发明P2P系统中种子查询方法的第二种较佳实施例 的流程图,其主要实现过程为
步骤S30、客户端通过STUN测试获知自身所处网络的NAT类型;
所述客户端采用现有技术中通用的STUN测试方式获知自身所处网络的 NAT类型,这里不再赘述。所得测试结果具有五种可能,第一种为公网;第二 种为完全透明NAT;第三种为IP受限NAT;第四种为IP和端口受限NAT; 第五种为对称型NAT。
步骤S31、客户端登录P2P服务器,登录时将自身所处网络的NAT类型 告知给P2P服务器,P2P服务器记录登录客户端所处网络的NAT类型、登录 地址信息及其所能提供的资源的特征信息,并且根据客户端登录的地址信息确 定并记录其所属运营商及所属地域。
步骤S32、当前登录P2P服务器的某一客户端向P2P服务器发出种子查询
请求,请求中携带有客户端请求获取的资源的特征信息。
步骤S33、 P2P服务器收到所述查询请求后,根据请求中携带的客户端请 求获取的资源的特征信息查找能够提供相应的共享资源的客户端,并根据客户 端的外网地址信息从中获取与请求发起客户端处于同 一局域网的客户端。
步骤S34、 P2P服务器判断查询到的客户端的数量是否达到预设数量,若 是,执行步骤S35,否则,执行步骤S36。
步骤S35、 P2P服务器将查询到的客户端的地址信息反馈给请求发起客户 端,或者从查询到的客户端中选取预设数量的客户端,将其地址信息反馈给请 求发起客户端。
步骤S36、 P2P服务器根据预定策略继续从能够提供相应资源的客户端中 选取能够与请求发起客户端的互通的客户端,或者选取能够与请求发起客户端 互通且所属运营商相同的客户端,或者能够与请求发起客户端互通且所属地域 相同的客户端,或者能够与请求发起客户端互通且所属运营商相同且所属地域 相同的客户端,使选取出的客户端的总数量满足所述预定数量。
P2P服务器根据客户端所属网络的NAT类型判断客户端之间能否互通,判 断原则根据现有技术中的NAT互通原则完成,不再赘述。
步骤S37、 P2P服务器将所述选取出的客户端的地址信息返回给请求发起 客户端。
步骤S38、请求发起客户端根据接收到的地址信息与相应客户端建立连接, 进行资源交互。
对应上述种子查询方法,本发明进而提出了一种P2P服务器,请参阅图5, 该图为本发明所述P2P服务器的主要组成结构框图,其主要包括
存储单元40,用于存储当前各登录客户端能够提供的共享资源的特征信 息、登录的地址信息、所属运营商信息、所属地域信息及所属网络的NAT类 型信息;
种子查询单元50,根据客户端发出的种子查询请求从存储单元50中查询
出能够提供相应共享资源的客户端,从中获取与请求发起客户端处于同 一局域 网的客户端,并在与请求发起客户端处于同 一局域网的客户端的数量小于预设 数量时根据预设策略继续从能够提供相应共享资源的客户端选出相应的客户
端,使其总数量满足所述预设数量;
所述预设策略为继续从能够提供相应共享资源的客户端中选取与请求发 起客户端所属运营商相同,且/或所属地域相同的客户端。
所述预设策略为继续从能够提供相应共享资源的客户端中继续选取能够 与请求发起客户端互通的客户端,或者能够与请求发起客户端互通且所属运营 商相同的客户端,或者能够与请求发起客户端互通且所属地域相同的客户端, 或者能够与请求发起客户端互通且所属运营商相同且所属地域相同的客户端。
种子信息提供单元60,用于将种子查询单元50查询到的客户端的地址信 息提供给请求发起客户端。
明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种P2P系统中的种子查询方法,其特征在于,包括步骤A、客户端向P2P服务器发起种子查询请求,请求中携带有客户端请求获取的资源的特征信息;B、P2P服务器根据所述特征信息查找能够提供相应的共享资源且与请求发起客户端处于同一局域网的客户端的地址信息反馈给请求发起客户端;C、请求发起客户端根据接收到的地址信息与相应客户端建立连接,进行资源交互。
2、 如权利要求1所述的方法,其特征在于,所述P2P服务器通过查询所 述能够提供共享资源的客户端的外网地址信息判定其是否与请求发起客户端 处于同一局域网。
3、 如权利要求1所述的方法,其特征在于,当所述能够提供共享资源且 与请求发起客户端处于同一局域网的客户端的数量小于预定数量时,P2P服务 器继续从能够提供共享资源的客户端中选取符合预设策略要求的客户端,使选 取出的客户端的总数量达到所述预定数量,并将所述选取出的客户端的地址信 息返回给请求发起客户端。
4、 如权利要求3所述的方法,其特征在于,所述预设策略为继续从能够 提供相应共享资源的客户端中选取与请求发起客户端所属运营商相同,且/或所 属地域相同的客户端。
5、 如权利要求3所述的方法,其特征在于,所述客户端在登录P2P服务 器时将自身所处网络的NAT类型告知给P2P服务器。
6、 如权利要求5所述的方法,其特征在于,所述客户端在登录P2P服务 器前通过STUN测试获知自身所处网络的NAT类型。
7、 如权利要求5所述的方法,其特征在于,所述预设策略为继续从能够 提供相应共享资源的客户端中继续选取能够与请求发起客户端互通的客户端, 或者能够与请求发起客户端互通且所属运营商相同的客户端,或者能够与请求 发起客户端互通且所属地域相同的客户端,或者能够与请求发起客户端互通且 所属运营商相同且所属地域相同的客户端。
8、 如权利要求1至7中任意一项所述的方法,其特征在于,所述地址信 息为IP地址和端口号。
9、 一种P2P服务器,包括存储单元,用于存储当前各登录客户端能够提供的共享资源的特征信息、 登录的地址信息、所属运营商、所属地域及所属网络的NAT类型信息;种子查询单元,根据客户端发出的种子查询请求从存储单元中查询出能够 提供相应共享资源的客户端,从中获取与请求发起客户端处于同一局域网的客 户端,并在与请求发起客户端处于同 一局域网的客户端的数量小于预设数量时 根据预设策略继续从能够提供相应共享资源的客户端选出相应的客户端,使其 总数量满足所述预设数量;种子信息提供单元,用于将种子查询单元查询到的客户端的地址信息提供 给请求发起客户端。
10、 如权利要求9所述的服务器,其特征在于,所述预设策略为继续从能 够提供相应共享资源的客户端中选取与请求发起客户端所属运营商相同,且/ 或所属地域相同的客户端。
11、 如权利要求9所述的服务器,其特征在于,所述预设策略为继续从能 够提供相应共享资源的客户端中继续选取能够与请求发起客户端互通的客户 端,或者能够与请求发起客户端互通且所属运营商相同的客户端,或者能够与 请求发起客户端互通且所属地域相同的客户端,或者能够与请求发起客户端互 通且所属运营商相同且所属地域相同的客户端。
全文摘要
本发明公开了一种P2P系统中的种子查询方法及P2P服务器,用以解决现有技术中P2P服务器在进行种子查询时仅从能相应的资源提供客户端中选取与查询请求发起客户端所属地域相同的客户端的问题。所述方法包括客户端向P2P服务器发起种子查询请求,请求中携带有客户端请求获取的资源的特征信息;P2P服务器根据所述特征信息查找能够提供相应的共享资源且与请求发起客户端处于同一局域网的客户端的地址信息反馈给请求发起客户端;请求发起客户端根据接收到的地址信息与相应客户端建立连接,进行资源交互。所述P2P服务器包括存储单元、种子查询单元及种子信息提供单元。本发明能够增强P2P系统中客户端之间进行资源交互的效果。
文档编号H04L12/46GK101098272SQ20061009044
公开日2008年1月2日 申请日期2006年6月27日 优先权日2006年6月27日
发明者波 吴, 洋 宋, 斌 方, 林实立 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1