一种p2p系统及种子查询方法

文档序号:7923068阅读:162来源:国知局

专利名称::一种p2p系统及种子查询方法
技术领域
:本发明涉及网络通信领域,尤其涉及一种P2P系统及种子查询方法。
背景技术
:P2P系统(Peer-To-Peer,端到端)是一种分布式系统,系统的参与者共享他们所拥有的一部分资源(内容和服务),这些共享资源能被其它对等节点(Peer)直接访问而无需经过中间实体。系统中的每个节点既是资源提供者,又是资源获取者,其地位都是对等的,每个节点为其他节点提供服务,同时也享用其他节点提供的服务。请参阅图l,该图为现有技术中P2P系统的基本架构示意图,主要包括P2P服务器和若干个客户端,其中P2P服务器的作用就是负责维护系统所有客户端的状态信息并为每个客户端提供可以进行共享资源交互的其他客户端,也就是提供所谓的种子查询功能,因此服务器种子的查询能力与种子资源数量以及获取到的种子数量成正比,服务器种子查询能力的好坏直接决定了客户端之间资源交互的效果。请参阅图2,该图为现有技术中P2P系统中的种子查询方法的流程图,其主要实现过程为步骤Sll、客户端A向P2P服务器发起种子查询请求,该请求中携带有客户端请求获取的资源的标识信息和该客户端的地址信息;步骤S12、P2P服务器收到客户端种子查询请求后,根据其中携带的资源的标识信息查找能够提供相应资源的客户端B、C。步骤S13、P2P服务器向客户端A发送客户端B、C的地址信息。步骤S14、客户端A在收到P2P服务器返回的客户端B、C的地址信息后,根据接收到的地址信息逐个与其建立连接,进行资源交互。上述现有技术中,客户端只能通过服务器进行种子查询,因此在P2P服务器种子查询能力一定的情况下,无法更快的获取到需要的种子。
发明内容本发明提供一种P2P系统中的种子查询方法及P2P服务器,用以解决现有技术中在P2P服务器种子查询能力一定的情况下,无法更快的获取到需要的种子的问题。本发明技术方案包括一种P2P系统中的种子查询方法,包括步骤A、客户端向P2P服务器发起种子查询请求,请求中携带有客户端请求获取的资源的特征信息;B、P2P服务器根据所述特征信息查找能够提供相应的共享资源且与请求发起客户端处于同一局域网的客户端的地址信息反馈给请求发起客户端;C、请求发起客户端根据接收到的地址信息与相应客户端建立连接,进行资源交互。一种P2P系统中的种子查询系统,包括服务器,还包括第一客户端用于向服务器发送种子查询,从服务器获取能够为第一客户端提供种子资源的第二客户端的地址信息,向第二客户端发送种子查询请求,获取除第二客户端之外,能够为第一客户端提供种子资源的第三客户端的地址信息。本发明有益效果如下在P2P服务器种子查询能力一定的情况下,除了通过P2P服务器进行种子查询外,还通过向其它客户端发送种子查询请求,获取能够提供种子资源的其它客户端的地址信息,更快的获取到需要的种子。图1为现有技术中P2P系统的基本架构示意图2为现有技术中P2P系统中的种子查询方法的流程图3为本发明P2P系统中种子查询方法的第一种较佳实施例的流程图4为本发明P2P系统的主要组成结构框图。具体实施例方式本发明实施例中向P2P服务器发送种子查询的第一客户端,从服务器获取能够为第一客户端提供种子资源的第二客户端的地址信息;第一客户端向第二客户端发送种子查询请求,获取除第二客户端之外,能够为第一客户端提供种子资源的第三客户端的地址信息。本发明实施例提供的P2P系统中的种子查询方法使得除了通过P2P服务器进行种子查询外,还通过向其它客户端发送种子查询请求,获取能够提供种子资源的其它客户端的地址信息,从而更快的获取到需要的种子。下面将结合各个附图对本发明技术方案的主要实现原理具体实施方式及其对应能够达到的有益效果进行详细的阐述。实施例一一种P2P系统中的种子查询方法请参阅图3,该图为本发明P2P系统中种子查询方法的第一种较佳实施例的流程图,其主要实现过程为步骤S20、向P2P服务器发送种子查询的客户端Pl,从P2P服务器获取能够为客户端Pl4是供种子资源A的客户端P2的地址信息。其中客户端P2的地址信息为客户端P2的外网IP地址和端口号,以及内网IP地址及端口号。步骤S21、客户端P1向客户端P2发起种子查询请求,该查询请求中携带有客户端Pl请求获取的种子资源A的标识信息001(或采用16进制表示)和客户端P1的地址信息。步骤S22、客户端P2向为其提供种子资源的客户端P3发送种子查询请求,该查询请求中携带有种子资源A的标识信息001以及客户端Pl的地址信息。步骤S23、客户端P3根据接收的查询请求中携带标识信息001,判断是否能够为客户端P1提供种子资源,若是,执行步骤S24,否则,执行步骤S25。步骤S24、客户端P3直接向客户端Pl发送其地址信息转步骤S27。步骤S25、客户端P3向为其提供种子资源的客户端P4发送种子查询请求,该查询请求中携带有种子资源A的标识信息001以及客户端Pl的地址信息。步骤S26、客户端P4根据接收的查询请求中携带标识信息001,确定能够为客户端Pl提供种子资源,直接向客户端Pl发送其地址信息。步骤S27、客户端Pl根据接收到的地址信息(客户端P2、P3和P4的地址信息)与相应客户端建立连接,进行资源交互。在本实施例中因为可以实现通过客户端进行种子查询,因此引入查询度的概念,其中客户端Pl向P2P服务器发送种子查询时当前的查询度为1,即为l度查询,客户端P1向客户端P2发送种子查询时当前的查询度为2,即为2度查询,客户端P2向客户端P3发送种子查询时当前的查询度为3,即为3度查询,客户端P3向客户端P4发送种子查询时当前的查询度为4,即为4度查询,以此类推。因经过6度查询后网络带宽和时间等资源消耗较大,作为优选方案本实施例中设定最大的查询度为6,查询度将被携带在查询请求中,一旦客户端收到的查询请求中的查询度大于6,则该终端不再向向为其提供种子资源的客户端发送种子查询请求。因为可能经过多度的,进一步为了防止因经过多度查询后延时较长,查询到的种子资源可能已经不符合客户端P1的需要规定(如已经超出客户端P1预设定的等待时间),因此在查询请求中携带查询请求时间戳,如客户端Pl向P2P服务器发送种子查询的查询请求时间戳为tl,客户端P1向客户端P2发送种子查询的查询请求时间戳为t2。一客户端收到的查询请求后应在tl后的预定时间At内,向为其提供种子资源的客户端发送种子查询请求,否则,停止种子查询请求的发送。客户端P1向客户端P2发送的种子查询请求为例,说明查询请求中包括的信息,如t2-tl已经大于At则无需通过客户端P2向为其提供种子资源的客户端P3发送种子查询请求。<table>tableseeoriginaldocumentpage9</column></row><table>步骤S25中客户端P3向为其提供种子资源的客户端P4发送种子查询请求,该查询请求中携带有种子资源A的标识信息001以及客户端Pl的地址信息,之后执行和步骤S23类似的步骤客户端P4根据接收的查询请求中携带标识信息001,判断是否能够为客户端P1提供种子资源,若是,客户端P4直接向客户端P1发送其地址信息,否则,客户端P4向为其提供种子资源的客户端发送种子查询请求。以此类推直到一客户端收到的查询请求中的查询度大于6,则该终端不再向为其提供种子资源的客户端发送种子查询请求。实施例二为本发明P2P系统中种子查询方法的第二种较佳实施例,其主要实现过程和实施例一类似不同之处在于,步骤S22中客户端P2向为其提供种子资源的客户端P3发送种子查询请求,该查询请求中携带有种子资源A的标识信息001以及客户端P2的地址信息。址信息。在本实施例中,客户端P2向客户端P3发送种子查询请求中携带的是客户端P2的地址信息,此时若客户端P3确认能够为客户端P1提供种子资源,则客户端P3向客户端P2发送能够为客户端Pl提供种子资源的确认信息,并通过客户端P2向客户端Pl发送客户端P3的地址信息。对应上述种子查询方法,本发明进而提出了一种P2P系统,请参阅图4,包括服务器40,还包括第一客户端41:用于向服务器发送种子查询,从服务器获取能够为第一客户端提供种子资源的第二客户端的地址信息,向第二客户端发送种子查询请求,获取除第二客户端之外,能够为第一客户端提供种子资源的第三客户端的地址信息。进一步,该系统还包括第二客户端42:用于向为第二客户端提供种子资源的第三客户端发送种子查询请求,该查询请求中携带有第一客户端请求获取的种子资源的标识信息和第一客户端的地址信息;第三客户端43:用于为第二客户端提供种子资源,确定能够为第一客户端提供种子资源后,直接向第一客户端发送其地址信息。进一步,还包括第三客户端43:还用于向其种子客户端发送种子查询请求;第一客户端41:还用于从第三客户端的种子客户端中获取能够为第一客户端提供种子资源的客户端的地址信息。进一步,第一客户端41:还用于向第二客户端发起种子查询请求,该查询请求中携带有第一客户端请求获取的种子资源的标识信息和第一客户端的地址信息;进一步,第一客户端41:还用于向第二客户端发起种子查询请求,该查询请求中携带有第一客户端请求获取的种子资源的标识信息和第一客户端的地址信息;进一步,所述系统还包括第二客户端42:用于向为第二客户端提供种子资源的第三客户端发送种子查询请求,该查询请求中携带有第一客户端请求获取的种子资源的标识信息和第二客户端的地址信息;第三客户端43:还用于为第二客户端提供种子资源,确定能够为第一客户端提供种子资源后,其地址信息通过第二客户端向第一客户端发送。进一步,第二客户端42:还用于在第一客户端发起种子查询请求后预定时间内,向为提供种子资源的客户端发送种子查询请求。进一步,第一客户端41:还用于根据第三客户端的地址信息与第三客户端建立连接,进行资源交互。明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。权利要求1、一种P2P系统中的种子查询方法,其特征在于,包括向服务器发送种子查询的第一客户端,从服务器获取能够为第一客户端提供种子资源的第二客户端的地址信息;第一客户端向第二客户端发送种子查询请求,获取除第二客户端之外,能够为第一客户端提供种子资源的第三客户端的地址信息。2、如权利要求1所述的方法,其特征在于,第一客户端向第二客户端发送种子查询请求,获取除第二客户端之外,能够为第一客户端提供种子资源的第三客户端的地址信息步骤后还包括能够为第一客户端提供种子资源的第三客户端向其种子客户端发送种子查询请求,第一客户端从第三客户端的种子客户端中获取能够为第一客户端提供种子资源的客户端的地址信息。3、如权利要求1所述的方法,其特征在于,第一客户端向第二客户端发送种子查询请求,获取除第二客户端之外,能够为第一客户端提供种子资源的第三客户端的地址信息具体为第一客户端向第二客户端发起种子查询请求,该查询请求中携带有第一客户端请求获取的种子资源的标识信息和第一客户端的地址信息;第二客户端向为第二客户端提供种子资源的第三客户端发送种子查询请求,该查询请求中携带有第一客户端请求获取的种子资源的标识信息和第一客户端的地址信息;为第二客户端提供种子资源的第三客户端确定能够为第一客户端提供种子资源后,直接向第一客户端发送其地址信息。4、如权利要求1所述的方法,其特征在于,第一客户端向第二客户端发送种子查询请求,获取除第二客户端之外,能够为第一客户端提供种子资源的第三客户端的地址信息具体为第一客户端向第二客户端发起种子查询请求,该查询请求中携带有第一客户端请求获取的种子资源的标识信息和第一客户端的地址信息;第二客户端向为第二客户端提供种子资源的第三客户端发送种子查询请求,该查询请求中携带有第一客户端请求获取的种子资源的标识信息以及第二客户端的地址信息;为第二客户端提供种子资源的第三客户端确定能够为第一客户端提供种子资源后,其地址信息通过第二客户端向第一客户端发送。5、如权利要求3或4所述的方法,其特征在于,在第一客户端向第二客户端发起种子查询请求后预定时间内,第二客户端向为第二客户端提供种子资源的第三客户端发送种子查询请求。6、如权利要求1所述的方法,其特征在于,第一客户端获取第三客户端的地址信息后还包括第一客户端根据第三客户端的地址信息与第三客户端建立连接,进行资源交互。7、一种P2P系统,包括服务器,其特征在于,还包括第一客户端用于向服务器发送种子查询,从服务器获取能够为第一客户端提供种子资源的第二客户端的地址信息,向第二客户端发送种子查询请求,获取除第二客户端之外,能够为第一客户端提供种子资源的第三客户端的地址信息。8、如权利要求7所述的系统,其特征在于,第一客户端还用于向第二客户端发起种子查询请求,该查询请求中携带有第一客户端请求获取的种子资源的标识信息和第一客户端的地址信息;所述系统还包括第二客户端用于向为第二客户端提供种子资源的第三客户端发送种子查询请求,该查询请求中携带有第一客户端请求获取的种子资源的标识信息和第一客户端的地址信息;第三客户端用于为第二客户端提供种子资源,确定能够为第一客户端提供种子资源后,直接向第一客户端发送其地址信息。9、如权利要求7所述的系统,其特征在于,还包括第三客户端还用于向其种子客户端发送种子查询请求;第一客户端还用于从第三客户端的种子客户端中获取能够为第一客户端提供种子资源的客户端的地址信息。10、如权利要求7所述的系统,其特征在于,第一客户端还用于向第二客户端发起种子查询请求,该查询请求中携带有第一客户端请求获取的种子资源的标识信息和第一客户端的地址信息;所述系统还包括第二客户端用于向为第二客户端提供种子资源的第三客户端发送种子查询请求,该查询请求中携带有第一客户端请求获取的种子资源的标识信息和第二客户端的地址信息;第三客户端还用于为第二客户端提供种子资源,确定能够为第一客户端提供种子资源后,其地址信息通过第二客户端向第一客户端发送。11、如权利要求9或10所述的系统,其特征在于,第二客户端还用于在第一客户端发起种子查询请求后预定时间内,向提供种子资源的客户端发送种子查询请求。12、如权利要求7所述的系统,其特征在于,第一客户端还用于根据第三客户端的地址信息与第三客户端建立连接,进行资源交互。全文摘要本发明公开了一种P2P系统及种子查询方法,用以解决现有技术中在P2P服务器种子查询能力一定的情况下,无法更快获取到需要的种子的问题,该方法包括向服务器发送种子查询的第一客户端,从服务器获取能够为第一客户端提供种子资源的第二客户端的地址信息;第一客户端向第二客户端发送种子查询请求,获取除第二客户端之外,能够为第一客户端提供种子资源的第三客户端的地址信息。在P2P服务器种子查询能力一定的情况下,除了通过P2P服务器进行种子查询外,还通过向其它客户端发送种子查询请求,获取能够提供种子资源的其它客户端的地址信息,更快的获取到需要的种子。文档编号H04L29/08GK101431533SQ20081018641公开日2009年5月13日申请日期2008年12月16日优先权日2008年12月16日发明者华有为申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1