P2p系统中查询索引的方法、p2p服务器以及p2p服务器系统的制作方法

文档序号:7781119阅读:241来源:国知局
P2p系统中查询索引的方法、p2p服务器以及p2p服务器系统的制作方法
【专利摘要】本申请提供了一种P2P系统中查询索引的方法、P2P服务器以及P2P服务器系统,该方法包括:第一服务器接收来自客户端的请求消息,并将请求消息转发给第二服务器,其中,请求消息用于查询索引;第一服务器接收来自第二服务器的响应消息,根据响应消息确定第二服务器中存储有查询的索引;第一服务器通知客户端已查询到索引。通过该方法,简化了系统架构,节省了客户端的信令流量。
【专利说明】P2P系统中查询索引的方法、P2P服务器以及P2P服务器系统
【技术领域】
[0001]本申请涉及网络【技术领域】,特别是涉及一种点对点(Peer to Peer,简称为P2P)系统中查询索引的方法、P2P服务器以及P2P服务器系统。
【背景技术】
[0002]P2P也称为对等连接,是一种新的通信模式,每个参与者都具有同等的能力,可以发起一个通信会话。
[0003]P2P通信系统包括:客户端(Client)和服务器(Server)。其中,服务器包括负责连接功能的服务器(也称为打洞服务器)和提供索引功能的服务器(也称为索引服务器)。打洞服务器和索引服务器均与客户端相连接。当用户需要查询索引时,客户端分别需要先与打洞服务器和索引服务器相连接,然后再通过和索引服务器交互来查询索引。
[0004]在上述查询方法中,系统操作较为复杂。因此,需要本领域技术人员解决的一个技术问题就是:如何简化P2P系统的管理。

【发明内容】

[0005]本申请所要解决的技术问题是提供一种P2P系统中查询索引的方法、P2P服务器以及P2P服务器系统,能够非常简单的对P2P系统进行管理。
[0006]为了解决上述问题,本申请公开了一种点对点P2P系统中查询索引的方法,包括:第一服务器接收来自客户端的请求消息,并将请求消息转发给第二服务器,其中,请求消息用于查询索引;第一服务器接收来自第二服务器的响应消息,根据响应消息确定第二服务器中存储有查询的索引;第一服务器通知客户端已查询到索引。
[0007]优选地,在第一服务器接收来自客户端的请求消息之前,第一服务器接收来自客户端的连接请求,建立与客户端的连接。
[0008]优选地,第一服务器是调度服务器为客户端分配的。
[0009]优选地,第一服务器为打洞服务器,第二服务器为索引服务器。
[0010]为了解决上述问题,本申请公开了一种P2P服务器,包括:接收模块,用于接收来自客户端的请求消息,请求消息用于查询索引;发送模块,用于将请求消息转发给索引服务器;接收模块还用于接收来自索引服务器的响应消息;确定模块,用于根据响应消息确定索引服务器中存储有查询的索引;发送模块还用于通知客户端已查询到索引。
[0011]优选地,该P2P服务器还包括:接收模块还用于在接收来自客户端的请求消息之前,接收来自客户端的连接请求;服务器还包括建立模块,用于建立与客户端的连接。
[0012]优选地,P2P服务器是调度服务器为客户端分配的。
[0013]为了解决上述问题,本申请公开了一种点对点P2P服务器系统,包括:第一服务器,与客户端相连接,用于接收来自客户端的请求消息,并将请求消息转发给第二服务器,其中,请求消息用于查询索引;第二服务器,与第一服务器相连接,用于在接收到请求消息之后,确定第二服务器中存储有查询的索引,并向第一服务器发送响应消息;第一服务器还用于根据响应消息确定第二服务器中存储有查询的索引,并通知客户端已查询到索引。
[0014]优选地,第一服务器还用于在接收来自客户端的请求消息之前,接收来自客户端的连接请求,建立与客户端的连接。
[0015]优选的,上述系统还包括调度服务器,用于为客户端分配第一服务器。
[0016]与现有技术相比,本申请具有以下优点:
[0017]现有技术中,打洞服务器和索引服务器分别与客户端相连接,结构较为复杂,客户端使用的逻辑信令也较多。通过本发明的上述方案,第二服务器通过第一服务器与客户端相连接,简化了系统结构,客户端使用的逻辑信令明显减少。
【专利附图】

【附图说明】
[0018]图1是本申请一种P2P系统中查询索引的方法的流程图;
[0019]图2是本申请另一种P2P系统中查询索引的方法的流程图;
[0020]图3是本申请一种P2P服务器的结构框图;
[0021]图4是本申请一种优选的P2P服务器的结构框图;
[0022]图5是本申请一种P2P服务器系统的结构框图。
【具体实施方式】
[0023]为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本申请作进一步详细的说明。
[0024]参照图1,示出了本申请一种P2P系统中查询索引的方法,包括:
[0025]步骤102,第一服务器接收来自客户端的请求消息,并将该请求消息转发给第二服务器,其中,该请求消息用于查询索引;例如,该请求消息中携带有客户端请求查询的索引。
[0026]在本发明实施例的一种优选的实现方式中,在步骤102之前,上述方法还包括:第一服务器接收来自客户端的连接请求,响应于该请求,建立与客户端之间的连接。
[0027]优选的,第二服务器有多个,在接收到来自客户端的请求消息时,第一服务器根据文件的描述符及哈希算法,直接确定去哪个第二服务器查询,从而将该请求消息转发给确定的那个第二服务器。
[0028]步骤104,第一服务器接收来自第二服务器的响应消息,根据响应消息确定第二服务器中存储有查询的索引;
[0029]优选的,步骤104可以包括:
[0030]第一服务器接收到第二服务器的响应消息,即可确定第二服务器中存储有查询的索引。
[0031]步骤106,第一服务器将查询结果转发给客户端,即,第一服务器通知客户端查询到该索引。
[0032]在本实施例中,索引服务器通过打洞服务器与客户端相连接,简化了系统结构,客户端使用的逻辑信令明显减少。
[0033]优选地,第一服务器是调度服务器为客户端分配的。
[0034]优选地,第一服务器为打洞服务器,第二服务器为索引服务器。[0035]在本发明实施例中,索引的含义是指根据文件查找拥有这个文件的所有客户端节点,是内容相关的。
[0036]本实施例通过调整服务器的功能层次,将其分为打洞服务器和索引服务器,打洞服务器负责连接和协助穿透功能,从而保证连接和索引功能的分离。这样方便系统管理。另夕卜,对于P2P软件来说,客户端的升级相对来说比服务器的升级难,服务器采用分层的设计后,客户端可以只和第一服务器相连接,从而简化客户端的设计。简化的客户端设计可以减少相应的维护成本,保证了软件的稳定性,同时也提供了更大的灵活度。
[0037]本发明实施例还提供了一种P2P系统中查询索引的方法,在本实施例的方法中,打洞服务器可以是上述实施例中的第一服务器,索引服务器可以是上述实施例中的第二服务器。如图2所示,该方法包括:
[0038]步骤202,调度器为客户端分配一个打洞服务器,并将分配到的打洞服务器通知给客户端;例如,服务器向调度器发送连接请求,调度器为客户分配一个打洞服务器,并将分配到的打洞服务器通知给客户端。该步骤是可选的,客户端也可以直接选择一个打洞服务器进行连接。
[0039]步骤204,客户端与打洞服务器进行连接。例如,客户端可以向打洞服务器发送连接请求,打洞服务器确定可以与客户端连接之后,建立与客户端之间的连接,优选的,打洞服务器收到连接请求,辅助穿透请求及保持连接请求之后,确定可以为客户端提供相应的服务,则向客户端返回响应,建立与客户端之间的连接。
[0040]步骤206,客户端向打洞服务器发送请求消息,该请求消息中携带有要查询的索弓I。例如,用户希望观看视频A,则向打洞服务器发送关于视频A的索引。
[0041]步骤208,打洞服务器向索引服务器转发该请求消息,例如,当收到关于查询资源、删除资源及更新资源的索引时,将该请求消息转发给索引服务器。
[0042]步骤210,打洞服务器接收到索引服务器对该请求消息的反馈,据此回应客户端。例如,用户希望观看视频A,该请求消息携带有关于视频A的索引,索引服务器I确定本地存储了视频A的索引,则向打洞服务器发送确认应答,打洞服务器通知客户端已检索到视频A的索引,以便用户观看视频A。优选的,一个打洞服务器可以根据用户要查询的文件的描述符,连接不同的索引服务器,例如:用户查询视频A,连接的是索引服务器1,索引服务器I中存储有视频A的索引;用户查询视频B,可能连接到存储有视频B的索引的索引服务器2。
[0043]本实施例通过调整服务器的功能层次,将其分为打洞服务器和索引服务器,打洞服务器负责连接和协助穿透功能,从而保证连接和索引功能的分离。这样方便系统管理。另夕卜,对于P2P软件来说,客户端的升级相对来说比服务器的升级难,服务器采用分层的设计后,客户端可以只和第一服务器相连接,从而简化客户端的设计。简化的客户端设计可以减少相应的维护成本,保证了软件的稳定性,同时也提供了更大的灵活度。
[0044]本发明实施例还提供了一种P2P服务器,该P2P服务器可以作为第一服务器实现上述方法,因此,上述方法中的内容可以结合到本实施例中。参照图3,示出了本申请一种P2P服务器,该P2P服务器包括:
[0045]接收模块302,用于接收来自客户端的请求消息,该请求消息用于查询索引;
[0046]发送模块304,用于将该请求消息转发给索引服务器;
[0047]接收模块302还用于接收来自索引服务器的响应消息;[0048]确定模块306,用于根据该响应消息确定索引服务器中存储有查询的索引;
[0049]发送模块304还用于通知客户端已检索到该索引。
[0050]参照图4,示出了本申请一种优选的P2P服务器,在图4所示的一个优选实例中,接收模块302还用于在接收来自客户端的请求消息之前,接收来自客户端的连接请求;服务器还包括建立模块402,用于建立与客户端的连接。
[0051]优选地,P2P服务器是调度服务器为客户端分配的。
[0052]本实施例通过调整服务器的功能层次,将其分为打洞服务器和索引服务器,打洞服务器负责连接和协助穿透功能,从而保证连接和索引功能的分离。这样方便系统管理。另夕卜,对于P2P软件来说,客户端的升级相对来说比服务器的升级难,服务器采用分层的设计后,客户端可以只和第一服务器相连接,从而简化客户端的设计。简化的客户端设计可以减少相应的维护成本,保证了软件的稳定性,同时也提供了更大的灵活度。
[0053]本发明实施例还提供了一种P2P服务器系统,该P2P服务器系统中的第一服务器可以实现上述方法实施例中第一服务器的功能,该P2P服务器系统中的第二服务器可以实现上述方法实施例中第二服务器的功能,因此,上述方法中的内容可以结合到本实施例中。参照图5,示出了本申请一种P2P服务器系统,该系统包括:
[0054]第一服务器502,与客户端相连接,用于接收来自客户端的请求消息,并将请求消息转发给第二服务器504,其中,请求消息用于查询索引;
[0055]第二服务器504,与第一服务器502相连接,用于在接收到请求消息之后,确定第二服务器504中存储有查询的索引,并向第一服务器502发送响应消息;
[0056]第一服务器502还用于根据响应消息确定第二服务器504中存储有查询的索引,并通知客户端已检索到该索引。
[0057]优选地,第一服务器502还用于在接收来自客户端的请求消息之前,接收来自客户端的连接请求,建立与客户端的连接。
[0058]可选地,上述系统还包括调度服务器,用于为客户端分配第一服务器。
[0059]本实施例通过调整服务器的功能层次,将其分为打洞服务器和索引服务器,打洞服务器负责连接和协助穿透功能,从而保证连接和索引功能的分离。这样方便系统管理。另夕卜,对于P2P软件来说,客户端的升级相对来说比服务器的升级难,服务器采用分层的设计后,客户端可以只和第一服务器相连接,从而简化客户端的设计。简化的客户端设计可以减少相应的维护成本,保证了软件的稳定性,同时也提供了更大的灵活度。
[0060]本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0061]以上对本申请所提供的一种P2P系统中查询索引的方法、P2P服务器以及P2P服务器系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
【权利要求】
1.一种点对点P2P系统中查询索引的方法,其特征在于,包括: 第一服务器接收来自客户端的请求消息,并将所述请求消息转发给第二服务器,其中,所述请求消息用于查询索引; 所述第一服务器接收来自所述第二服务器的响应消息,根据所述响应消息确定所述第二服务器中存储有所述查询的索引; 所述第一服务器通知所述客户端已查询到所述索引。
2.根据权利要求1所述的方法,其特征在于,在第一服务器接收来自客户端的请求消息之前,所述方法还包括: 所述第一服务器接收来自所述客户端的连接请求,建立与所述客户端的连接。
3.根据权利要求1所述的方法,其特征在于,所述第一服务器是调度服务器为所述客户端分配的。
4.根据权利要求1至3中任一项所述的服务器,其特征在于,所述第一服务器为打洞服务器,所述第二服务器为索引服务器。
5.—种P2P服务器,其特征在于,包括: 接收模块,用于接收来自客户端的请求消息,所述请求消息用于查询索引; 发送模块,用于将所述请求消息转发给索引服务器; 所述接收模块还用于接收来自所述索引服务器的响应消息; 确定模块,用于根据所述响应消息确定所述索引服务器中存储有所述查询的索引; 所述发送模块还用于通知所述客户端已查询到所述索引。
6.根据权利要求5所述的P2P服务器,其特征在于,包括: 所述接收模块还用于在接收来自所述客户端的请求消息之前,接收来自所述客户端的连接请求; 所述服务器还包括建立模块,用于建立与所述客户端的连接。
7.根据权利要求5或6所述的P2P服务器,其特征在于,所述P2P服务器是调度服务器为所述客户端分配的。
8.一种点对点P2P服务器系统,其特征在于,包括: 第一服务器,与客户端相连接,用于接收来自所述客户端的请求消息,并将所述请求消息转发给第二服务器,其中,所述请求消息用于查询索引; 所述第二服务器,与所述第一服务器相连接,用于在接收到所述请求消息之后,确定所述第二服务器中存储有所述查询的索引,并向所述第一服务器发送响应消息; 所述第一服务器还用于根据所述响应消息确定所述第二服务器中存储有所述查询的索引,并通知所述客户端已查询到所述索引。
9.根据权利要求8所述的系统,其特征在于,所述第一服务器还用于在接收来自所述客户端的请求消息之前,接收来自所述客户端的连接请求,建立与所述客户端的连接。
10.根据权利要求8或9所述的系统,其特征在于,所述系统还包括调度服务器,用于为所述客户端分配所述第一服务器。
【文档编号】H04L29/08GK103701885SQ201310701430
【公开日】2014年4月2日 申请日期:2013年12月18日 优先权日:2013年12月18日
【发明者】庞小飞 申请人:北京奇艺世纪科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1