一种p2p环境下资源查询的方法和装置的制作方法

文档序号:7660562阅读:271来源:国知局
专利名称:一种p2p环境下资源查询的方法和装置的制作方法
技术领域
本发明涉及通信技术领域,特别涉及一种P2P环境下资源查询的方法和 装置。
背景技术
会;舌初始协i义(SIP, Session Initiation Protocol)是IETF (Internet Engineering Task Force,互联网工程任务组)制订的,用于多方多媒体通信, 其开发目的是用来帮助提供跨越因特网的高级电话业务。SIP用于发起^^舌, 它能控制由多个参与者参加的多媒体会话的建立和终结,并能动态调整和修 改会话属性,如会话带宽要求、传输的媒体类型(语音、视频和数据等)、 媒体的编解码格式、对组播和单播的支持等。SIP是一个基于文本的应用层控 制协议,独立于底层传输协议TCP/UDP,用于建立、修改和终止IP (Internet Protocol,互联网协议)网上的双方或多方多媒体会话,支持语音、视频、数 4居、E-mail、 4犬态、IM (Instant messaging,即时通ifl)、取卩天、游戏等。
现在大量的VoIP ( Voice over IP, IP语音通讯)系统采用正TF定义的基于 C/S( Client/Server,客户端/服务器)模式的SIP架构,终端用户称为SIP UA( User Agent,用户代理)。每个SIP UA在SIP系统下有唯一名称,即URI (Uniform Resource Identifier,统一资源标识符),如"sip:alice⑥atlanta.com,,为用户Alice 的URI,该URI不随UA在网络中的实际位置的变化而变化。UA在网络中的实 际位置是通过其联系地址,如IP地址来表现的,例如,用户Alice的联系地址 可以是一个IP地址"192.0.2.4"。
传统的SIP架构下,通常VoIP终端用户在使用SIP进行通讯之前,每个SIP UA将自己的URI和联系方式的映射注册到所在域的SIP注册服务器(如图l和 图2中的步骤①),如果注册成功,SIP注册服务器就会发送一个注册成功消 息,例如200OK,给SIPUA (如图1和图2中的步骤②)。在注册完成之后,
如果VoIP终端用户希望与指定的被叫进行通讯,它会发送一个针对被叫URI 的SIP邀请消息,这个SIP邀请消息首先会被发送给主叫所在域的SIP代理服务 器(如图1和图2中的步骤③),该SIP代理服务器通过DNS (Domain Name System,域名系统)解析被叫URI的域名信息得知被叫所在域的SIP代理服务 器的位置,然后将这个SIP邀请消息发送给该SIP代理服务器(如图l和图2中的 步骤 ),最后被叫所在域的SIP代理服务器会通过被叫注册的与该URI对应 的联系地址将该SIP邀请消息发送给被叫URI (如图1和图2中的步骤⑤)。
传统的SIP系统由SIP UA和SIP服务器组成,该SIP服务器在SIP UA向该 SIP服务器注册自己的URI和联系方式的映射时为SIP注册服务器,在主叫SIP UA向该SIP服务器发送针对被叫SIPUA的URI的SIP邀请消息时为SIP代理服 务器。在这个系统中SIPUA与SIP服务器构成C/S关系,C/S模式使得系统易于 管理,但是可扩展性差、部署代价高,而且存在严重的单点失效风险,因此 现在P2P网络架构被广泛地考虑与SIP结合来提供VoIP服务。P2P(Peer to Peer, 对等网络)建立在互联网架构上,系统的每个节点在网络中具有相同的地位、 相互协作形成虚拟子网,系统中没有服务器和客户端之分,有效地解决了现 有网络中服务器的瓶颈问题,可充分地利用网络的资源。对等网络中的关键 技术是如何实现分布式对象的定位,目前主要釆用两个机制:洪泛机制 (flooding)和分布式哈希表(Distributed Hash Table, DHT)机制,其基本思路是应 用系统通过安全散列算法(Secure Hash Algorithm, SHA)把访问资源映射到某 个标识空间(全局唯一标识符),在给定资源标识符(Resource-ID)之后,系统利 用分布式查询协议查询对象所依附的节点,再对资源进行访问。该定位机制 改变了现有网络中以服务器为中心的现状,使任意两个主机之间可交换数据、 共享信息,具有良好的可扩展性和负载平衡性。P2P与SIP的结合被称为P2PSIP (Peer-to-Peer Session Initiation Protocol,只于等会i舌净刀始4b十办i义)。
当前P2P系统使用P2PClient/Peer (客户节点/对等节点)架构,这个架构 中仅存在两类节点,P2P对等节点和P2P客户节点。对等节点参与构建PSP重叠 网络,P2P重叠网络是位于应用层的网络。P2P客户节点与P2P对等节点的区 别仅在于P2P对等节点参与构建P2P重叠网络来提供资源的分布式存储和数据
的分布式传送服务,而P2P客户节点则不参与构建P2P重叠网络,而是通过P2P 对等节点获得P2P重叠网络服务。相应地,P2PSIP架构中也存在两类节点, P2PSIP对等节点和P2PSIP客户节点,这两类节点与传统的SIP架构没有对应关 系,均可同时支持SIPUA的功能。
P2PSIP架构下,VoIP终端用户在使用SIP进行通讯之前,每个SIPUA将自 己的URI和联系方式的映射注册到为其提供服务的P2PSIP对等节点(如图3和 图4中的步骤①),该P2PSIP对等节点会对该URI使用Hash算法(散列算法) 进行处理得到一个Resource-ID (资源标识符),然后该P2PSIP对等节点就会 将该映射信息发布到在整个重叠网络上拥有与该Resource-ID最接近的Peer-ID 的P2PSIP对等节点上(如图3和图4中的步骤②),这里的Peer-ID是P2PSIP对 等节点在P2PSIP重叠网络中的标识,它与Resource-ID在同 一个凝:值空间,二者 可直接比较。Peer-ID可以使用相同的Hash算法对P2PSIP对等节点的联系地址 如IP地址进行Hash后得到,也可以由一个集中的服务器在P2PSIP对等节点加 入到P2PSIP重叠网络时分配给该P2PSIP对等节点。4姿收到该映射信息的 P2PSIP对等节点会向为该SIPUA服务的P2PSIP对等节点反馈一个资源分布式 存储成功的应答(如图3和图4中的步骤③),然后为该SIPUA服务的P2PSIP 对等节点会告知该SIPUA注册成功(如图3和图4中的步骤④)。
在注册完成之后,如果P2PSIP客户节点希望与指定的通讯的宿端进行通 讯,它会发送一个针对通讯的宿端URI的P2PSIP资源查询消息,这个P2PSIP 资源查询消息首先会被发送给为通讯的源端提供服务的P2PSIP对等节点(如 图3和图4中的步骤⑤)。这个P2PSIP对等节点首先基于URI使用指定的Hash 算法进行处理得到Resource-ID,然后将这个查询消息发送到重叠网络上拥有 与该Resource-ID最接近的Peer-ID的P2PSIP对等节点即在这个重叠网络中负责 存储对应资源信息的节点(如图3和图4中的步骤⑥)。在资源查询消息到达 目的P2PSIP对等节点之后,通讯的宿端的URI和联系地址的映射被应答给为通 讯的源端提供服务的P2PSIP对等节点(如图3和图4中的步骤⑦),该P2PSIP 对等节点会将结果应答给通讯的源端(如图3和图4中的步骤⑧),然后通讯
的源端使用通讯的宿端的联系地址直接向通讯的宿端发送一个SIP邀请消息
以发起VoIP会话(如图3和图4中的步骤⑨)。
在当前的P2P架构下,由于资源分布式存储机制导致同一个P2P对等节点 所服务的多个P2P客户节点所发布的资源被存储到P2P重叠网络上不同的P2P 对等节点,这就使得P2P客户节点在查询由同一个P2P对等节点提供服务的其 它P2P客户节点所发布的资源时必须去P2P重叠网络上进行分布式查询,这个 分布式查询通常需要多个P2P对等节点协作处理才能得到结果,这个资源查询 机制在本地通讯的场景下是相当低效的。这里的"本地通讯"是指通讯的源端和 通讯的宿端都在本地,且通讯的源端和通讯的宿端都由同 一个P2P对等节点提 供P2P重叠网络服务。
现有技术的缺点是在通讯的源端和通讯的宿端均由同一个P2P对等节点 提供P2P重叠网络服务时,通讯的源端也必须从P2P重叠网络上进行分布式查 询才能得到通讯的宿端的资源信息,本地资源的查询效率低。

发明内容
本发明实施例提供一种P2P环境下资源查询的方法和装置,解决现有技 术中在通讯的源端和通讯的宿端均由同一个P2P对等节点提供服务时,本地
资源查询效率低的缺点。
为达到上述目的,本发明实施例一方面提供一种P2P环境下资源查询的 方法,包括以下步骤本地对等节点接收第一客户节点针对第二客户节点的 资源查询消息;本地对等节点根据所述资源查询消息在本地查询所述第二客 户节点的资源信息;本地对等节点将所述第二客户节点的资源信息应答给所 述第一客户节点。
另一方面,本发明实施例还提出一种本地对等节点,包括资源存储模块、 消息接收模块、资源查询模块和信息应答模块,所述资源存储模块用于存储 客户节点的资源信息;所述消息接收模块用于接收第一客户节点针对第二客 户节点的资源查询消息;所述资源查询冲莫块用于根据所述资源查询消息在本 地查询所述第二客户节点的资源信息;所述信息应答模块用于将所述第二客
户节点的资源信息应答给所述第一客户节点。
与现有技术相比,本发明实施例具有以下优点本发明实施例在接收到
第 一客户节点针对第二客户节点的资源查询消息之后,本地对等节点先在本 地查询该第二客户节点的资源信息,如果查到,则将该第二客户节点的资源
信息应答给第 一客户节点,这就缩减了在P2P重叠网络上分布式查询的过程, 提高了本地资源查询的效率。


图1为现有技术SIP架构下资源注册和SIP邀请消息路由处理示意图; 图2为现有技术SIP架构下资源注册和SIP邀请消息路由处理流程图; 图3为现有技术P2P-SIP架构下资源注册和SIP邀请消息路由处理示意
图4为现有技术P2P-SIP架构下资源注册和SIP邀请消息路由处理流程
图5为本发明实施例本地对等节点的结构图; 图6为本发明实施例P2P环境下资源查询的方法的流程图; 图7为本发明P2P环境下资源查询的方法实施例一的流程图; 图8为本发明P2P环境下资源查询的方法实施例二的流程图; 图9为本发明P2P环境下资源查询的方法实施例三的流程图; 图IO为本发明P2P环境下资源查询的方法实施例四的流程图。
具体实施例方式
本发明实施例提供了 一种P2P环境下资源查询的方法,在本发明实施例 中,根据客户节点的资源发布消息在本地对等节点上存储客户节点的资源信 息。在接收到第一客户节点针对第二客户节点的资源查询消息之后,先在本 地查询该第二客户节点的资源信息,如果查到该第二客户节点的资源信息, 则将该第二客户节点的资源信息应答给第 一客户节点。本发明实施例在本地
通讯的场景下,缩减了在P2P重叠网络上分布式查询的过程,提高了本地资源的查询效率。这里的"本地通讯"是指第一客户节点和第二客户节点均由同一个 本地对等节点提供P2P重叠网络服务,如果第一客户节点和第二客户节点不是 由同一个本地对等节点提供P2P重叠网络服务,但是第一客户节点和第二客户 节点在同一个局域网内,且第一客户节点经常与第二客户节点进行通讯,贝'J 该第 一客户节点和第二客户节点的通讯也属于"本地通讯"的范畴,因此该第二
客户节点的资源信息也可存储在为第一客户节点提供P2P重叠网络服务的对
等节点上。另外,客户节点的资源信息可以通过客户节点发送资源发布消息 的方式存储在本地对等节点上,也可以由用户手动配置在该本地对等节点上。
本发明实施例中提到的资源信息,在P2PClient/Peer架构下,为客户节点 的统一资源标识符URI和联系地址的映射信息;在P2PSIP架构下,可以是SIP 客户节点的统一资源标识符URI和联系地址的映射信息,也可以是基于SIP客 户节点的URI生成的资源标识符Resource-ID。该Resource-ID是由P2PSIP对等 节点对SIP客户节点的URI使用Hash算法(散列算法)进行处理得到的,第一 客户节点在得到了第二客户节点的Resource-ID之后,就可获得与该 Resource-ID对应的第二客户节点的联系地址,这时,第一客户节点就可以通 过第二客户节点的联系地址例如IP地址向第二客户节点发送一个SIP邀请消息 以发起IP语音会话。
如图5所示,为本发明实施例本地对等节点的结构图,包括资源存储模块 1、消息接收模块2、资源查询模块3和信息应答才莫块4。资源存储模块l,用于 根据发布消息接收子模块ll接收的客户节点的资源发布消息存储该客户节点 的资源信息。在发布消息接收子模块ll接收到该客户节点的资源发布消息之 后,资源存储模块1先根据本地策略判断是否可以在该本地对等节点上存储该 客户节点的资源信息,如果判断可以在该本地对等节点上存储该客户节点的 资源信息,则资源存储模块l存储该客户节点的资源信息。如果判断不可以在 该本地对等节点上存储该客户节点的资源信息,则资源存储模块l将该客户节 点的资源信息分布存储到P2P重叠网络上。无论是否可以在该本地对等节点上 存储该客户节点的资源信息,该本地对等节点都会遵循当前P2P Client/Peer架 构的处理规则在P2P重叠网络上分布式存储该客户节点的资源信息。该资源信息,在P2PSIP架构下,可以是SIP客户节点的统一资源标识符URI和联系地址 的映射信息,也可以是基于SIP客户节点的URI生成的资源标识符Resource-ID。 这里的本地策略指本地对等节点的存储空间状态和^f吏用策略,例如在本地对 等节点存储空间允许的情况下,将该客户节点的资源信息存储在该本地对等 节点上;如果本地对等节点存储空间紧张,则不在该本地对等节点上存储该 客户节点的资源信息,而是将该客户节点的资源信息分布存储到P2P重叠网络 上,这时在P2P重叠网络的一个或多个对等节点上都可能存储有该客户节点的 资源信息。该使用策略指存储空间的使用规则,比如限定存储空间的大小和在 存储空间耗尽的情况下如何插入新的信息,例如通过删除那些最近最少被访 问的本地緩存的资源信息来释放存储空间。消息接收模块2用于接收第 一客户 节点针对第二客户节点的资源查询消息。在P2PSIP架构下,该资源查询消息 包括第二客户节点的统一资源标识符URI。
资源查询模块3用于根据消息接收模块2接收的第 一客户节点针对第二客 户节点的资源查询消息,在本地查询该第二客户节点的资源信息。在消息接 收模块2接收到第一客户节点针对第二客户节点的资源查询消息之后,资源查 询模块3先判断该第二客户节点是否为本地对等节点所服务的客户节点,如果 判断该第二客户节点是该本地对等节点所服务的客户节点,则资源查询模块3 根据消息接收模块2接收到的资源查询消息在本地查询该第二客户节点的资 源信息。如果判断该第二客户节点不是该本地对等节点所服务的客户节点, 则资源查询模块3在P2P重叠网络上分布式查询该第二客户节点的资源信息。
消息应答模块4用于在资源查询模块3查询到该第二客户节点的资源信息 之后,将该第二客户节点的资源信息应答给第一客户节点。这时,在P2PSIP 架构下,第 一客户节点就可以使用该第二客户节点的资源信息携带的联系地 址直接向第二客户节点发送一个SIP邀请消息以发起IP语音会话。
其中,资源存储模块1还包括发布消息接收子模块11和本地存储子模块 13,发布消息接收子模块11用于接收客户节点的资源发布消息,在P2PSIP 架构下,该资源发布消息包括SIP客户节点的统一资源标识符URI和联系方 式例如IP地址的映射。本地存储子模块13用于存储发布消息接收子模块11
接收的所述客户节点的资源信息。
其中,优选地,资源存储模块1还包括存储判断子模块12,用于在发布 消息接收子模块11接收到客户节点的资源发布消息之后,根据本地策略判断 是否可以在本地对等节点上存储该客户节点的资源信息。如果存储判断子模 块12判断可以在该本地对等节点上存储该客户节点的资源信息,则通知本地
存储子模块13存储该客户节点的资源信息。如果存储判断子模块12判断不
可以在该本地对等节点上存储该客户节点的资源信息,则通知分布存储子模
块14将该客户节点的资源信息分布存储到P2P重叠网络上。无论是否可以在 该本地对等节点上存储该客户节点的资源信息,分布存储子模块14都会遵循 当前P2P Client/Peer架构的处理身见则在P2P重叠网络上分布式存^"该客户节 点的资源信息。这里的本地策略指本地对等节点的存储空间状态和使用策略, 如在本地对等节点存储空间允许的情况下,将该客户节点的资源信息存储在 该本地对等节点上;如果本地对等节点存储空间紧张,则不可以将该客户节 点的资源信息存储在该本地对等节点上,而是将该客户节点的资源信息分布 存储到P2P重叠网络上,这时在P2P重叠网络的一个或多个对等节点上都可 能存储有该客户节点资源信息。该使用策略指存储空间的使用规则,比如限定 存储空间的大小和在存储空间耗尽的情况下如何插入新的信息,例如通过删 除那些最近最少被访问的本地緩存的资源信息来释》丈存储空间。
其中,资源存储模块1还包括本地存储子模块13,用于在存储判断子模 块12判断可以在本地对等节点上存储客户节点的资源信息时,根据发布消息 接收子模块11接收的客户节点的资源发布消息将该客户节点的资源信息存储 在该本地对等节点上。
其中,资源存储模块1还包括分布存储子模块14,用于在存储判断子模 块12判断不可以在本地对等节点上存储客户节点的资源信息之后,根据发布 消息接收子模块11接收的客户节点的资源发布消息将该客户节点的资源信息 分布存储到P2P重叠网络上,这时在P2P重叠网络的一个或多个对等节点上 都可能存储有该客户节点的资源信息。同时无论是否可以在该本地对等节点 上存储该客户节点的资源信息,分布存储子模块14都会遵循当前P2P
Client/Peer架构的处理规则在P2P重叠网络上分布式存储该客户节点的资源 信息。
其中,资源查询模块3还包括查询判断子模块31,用于在消息接收模块 2接收到第一客户节点针对第二客户节点的资源查询消息之后,判断该第二客 户节点是否为该本地对等节点所服务的客户节点。如果查询判断子模块31判 断该第二客户节点是该本地对等节点所服务的客户节点,则通知本地查询子 模块32根据消息接收模块2接收到的资源查询消息在本地查询该第二客户节 点的资源信息。如果查询判断子模块31判断该第二客户节点不是该本地对等 节点所服务的客户节点,则通知分布查询子模块33在P2P重叠网络上分布式 查询该第二客户节点的资源信息。
其中,资源查询模块3还包括本地查询子模块32,用于在查询判断子模 块31判断该第二客户节点是该本地对等节点所服务的客户节点之后,根据消 息接收模块2接收到的资源查询消息在本地查询该第二客户节点的资源信息。
其中,资源查询模块3还.包括分布查询子模块33,用于在查询判断子模 块31判断该第二客户节点不是该本地对等节点所服务的客户节点之后,根据 消息接收模块2接收到的第一客户节点针对第二客户节点的资源查询消息在 P2P重叠网络上分布式查询所述第二客户节点的资源信息。
如图6所示,为本发明实施例P2P环境下资源查询的方法的流程图,具 体包括以下步骤
步骤S601,本地对等节点根据客户节点的资源发布消息存储该客户节点 的资源信息。该资源发布消息,在P2PSIP架构下,包括SIP客户节点的统一 资源标识符URI和联系方式例如IP地址的映射。在本地对等节点接收到该客 户节点发送的资源发布消息之后,该本地对等节点先根据本地策略判断是否 可以在该本地对等节点上存储该客户节点的资源信息。如果判断可以在该本 地对等节点上存储该客户节点的资源信息,则该本地对等节点存储该客户节 点的资源信息。如果判断不可以在该本地对等节点上存储该客户节点的资源 信息,则该本地对等节点将该客户节点的资源信息分布存储到P2P重叠网络 上。无论是否可以在该本地对等节点上存储该客户节点的资源信息,该本地
对等节点都会遵循当前P2P Client/Peer架构的处理规则在P2P重叠网络上分 布式存储该客户节点的资源信息。该资源信息,在P2PSIP架构下,可以是SIP 客户节点的统一资源标识符URI和联系地址的映射信息,也可以是基于SIP 客户节点的URI生成的资源标识符Resource-ID。这里的本地策略指本地对等 节点的存储空间状态和使用策略,如在本地对等节点存储空间允许的情况下, 可以将该客户节点的资源信息存储在该本地对等节点上;如果本地对等节点 存储空间紧张,则不可以在该本地对等节点上存储该客户节点的资源信息, 而是将该客户节点的资源信息分布存储到P2P重叠网络上,这时在P2P重叠 网络的 一个或多个对等节点上都可能存储有该客户节点的资源信息。该使用 策略指存储空间的使用规则,比如限定存储空间的大小和在存储空间耗尽的 情况下如何插入新的信息,例如通过删除那些最近最少被访问的本地缓存的 资源信息来释放存储空间。
步骤S602,本地对等节点接收第一客户节点针对第二客户节点的资源查 询消息。在第一客户节点想与第二客户节点建立会话时,第一客户节点会发 送一个包括第二客户节点的资源标识符的资源查询消息,该资源查询消息由 为第一客户节点服务的本地对等节点接收。
步骤S603,本地对等节点在该本地对等节点上查询第二客户节点的资源 信息。在本地对等节点接收到第一客户节点针对第二客户节点的资源查询消 息之后,该本地对等节点先判断该第二客户节点是否为该本地对等节点所服 务的客户节点,如果判断该第二客户节点是该本地对等节点所服务的客户节 点,则该本地对等节点根据接收到的资源查询消息在该本地对等节点上查询 该第二客户节点的资源信息。如果判断该第二客户节点不是该本地对等节点
所服务的客户节点,则该本地对等节点将根据接收到的资源查询消息在P2P 重叠网络上分布式查询该第二客户节点的资源信息。
步骤S604,本地对等节点将第二客户节点的资源信息应答给第一客户节 点。在本地对等节点查询到第二客户节点的资源信息之后,该本地对等节点 将该第二客户节点的资源信息应答给第一客户节点。这时,在P2PSIP架构下, 第 一客户节点就可以使用该第二客户节点的资源信息携带的联系地址例如IP
地址直接向第二客户节点发送一个SIP邀请消息以发起IP语音会话。
本发明实施例提供了一种P2P环境下资源查询的方法,通过本发明实施
例,本地对等节点4艮据客户节点的资源发布消息在该本地对等节点上存储该 客户节点的资源信息,在第一客户节点和第二客户节点均由同一个本地对等 节点提供服务时,在接收到第一客户节点针对第二客户节点的资源查询消息 之后,该本地对等节点先在该本地对等节点上查询该第二客户节点的资源信 息,如果查到,则将该第二客户节点的资源信息应答给该第一客户节点。这
就缩减了本地对等节点在P2P重叠网络上分布式查询的过程,提高了本地资 源的查询效率。
下面通过具体实施例并结合附图对本发明作进一步详细说明
如图7所示,为本发明P2P环境下资源查询的方法实施例一的流程图, 本地对等节点在接收到客户节点的资源发布消息之后,存储该客户节点的资 源信,氛、的流程具体包括以下步骤
步骤S701,本地对等节点接收客户节点的资源发布消息。如果一客户节 点想与其他客户节点建立会话,使用P2P重叠网络提供的服务,则该客户节 点会向为该客户节点提供服务的本地对等节点发送资源发布消息。该资源发 布消息,在P2PSIP架构下,包括SIP客户节点的统一资源标识符URI和联系 方式例如IP i也址的映射。
步骤S702,本地对等节点判断是否可以将客户节点的资源信息存储在该 本地对等节点上。在本地对等节点接收到该客户节点的资源发布消息之后, 会根据本地策略判断是否可以在该本地对等节点上存储该客户节点的资源信 息。这里的本地策略指本地对等节点的存储空间状态和使用策略,如在本地 对等节点存储空间允许的情况下,可以将该客户节点的资源信息存储在该本 地对等节点上;如果本地对等节点存储空间紧张,则不可以在该本地对等节 点上存储该客户节点的资源信息,而是将该客户节点的资源信息分布存储到 P2P重叠网络上,这时在P2P重叠网络的一个或多个对等节点上都可能存储 有该客户节点的资源信息。该使用策略指存储空间的使用规则,比如限定存储 空间的大小和在存储空间耗尽的情况下如何插入新的信息,例如通过删除那
些最近最少被访问的本地緩存的资源信息来释放存储空间。该资源信息,在
P2PSIP架构下,可以是SIP客户节点的统f资源标识符URI和SIP客户节点 的联系地址例如IP地址的映射,也可以是SIP客户节点对应的资源标识符 Resource-ID 。
步骤S703,本地对等节点将客户节点的资源信息存储在该本地对等节点 上。在本地对等节点根据本地策略判断可以在该本地对等节点上存储该客户 节点的资源信息之后,本地对等节点将该客户节点的资源信息存储在该本地 对等节点上。
步骤S704,本地对等节点将客户节点的资源信息分布存储到P2P重叠网 络上。无论是否可以在该本地对等节点上存储该客户节点的资源信息,该本 地对等节点都会遵循当前P2P Client/Peer架构的处理身见则在P2P重叠网络上 分布式存储该客户节点的资源信息。这时在P2P重叠网络的一个或多个对等 节点上都可能存储有该客户节点的资源信息。该资源信息,在P2PSIP架构下, 可以是SIP客户节点的统一资源标识符URI和SIP客户节点的联系地址例如 IP地址的映射,也可以是SIP客户节点对应的资源标识符Resource-ID。
步骤S705,本地对等节点将存储处理结果下发给客户节点。在本地对等 节点将客户节点的资源信息存储完成之后,会将对该客户节点的资源信息的 存储处理结果下发给该客户节点。
上述P2P环境下资源查询的方法,在现有技术P2P环境下资源发布流程 的基础上增加了本地存储的步骤,本地对等节点接收该客户节点的资源发布 消息,在根据本地策略判断可以将该客户节点的资源信息存储在该本地对等 节点上之后,该本地对等节点存储该客户节点的资源信息。这就弥补了现有 技术中本地对等节点将该客户节点的资源信息分布存储到P2P重叠网络上而 本地对等节点上没有备份的缺陷。这样,在本地通讯的场景下,就缩减了在 P2P重叠网络上分布式查询的过程,提高了本地资源查询的效率。这里的"本 地通讯,,是指第一客户节点和第二客户节点均由同一个本地对等节点提供P2P 重叠网络服务。
如图8所示,为本发明P2P环境下资源查询的方法实施例二的流程图,
在本地对等节点接收到第 一客户节点针对第二客户节点的资源查询消息之
后,在本地对等节点上查询第二客户节点的资源信息的流程包括以下步骤
步骤S801,本地对等节点接收第一客户节点针对第二客户节点的资源查 询消息。在第一客户节点想与第二客户节点建立会话时,第一客户节点会发 送一个包括第二客户节点的资源标识符的资源查询消息,该资源查询消息由 为第一客户节点服务的本地对等节点接收。
步骤S802,本地对等节点判断在该本地对等节点上能否查询到第二客户 节点的资源信息。在接收到第 一客户节点针对第二客户节点的资源查询消息 之后,本地对等节点先根据该资源查询消息在该本地对等节点上查询第二客 户节点的资源信息,如果查到,则将查询到的第二客户节点的资源信息应答 给第一客户节点;如果没有在该本地对等节点上查到第二客户节点的资源信 息,则在P2P重叠网络上分布式查询第二客户节点的资源信息。该资源信息, 在P2PSIP架构下,可以是SIP客户节点的统一资源标识符URI和SIP客户节 点的联系地址例如IP地址的映射,也可以是SIP客户节点对应的资源标识符 Resource-ID 。
步骤S803,本地对等节点在P2P重叠网络上分布式查询第二客户节点的 资源信息。在接收到第一客户节点针对第二客户节点的资源查询消息之后, 如果本地对等节点在该本地对等节点上没有查询到第二客户节点的资源信 息,则根据接收到的资源查询消息在P2P重叠网络上分布式查询第二客户节 点的资源信息。
步骤S804,本地对等节点将第二客户节点的资源信息应答给第一客户节 点。在本地对等节点查询到第二客户节点的资源信息之后,该本地对等节点 将该第二客户节点的资源信息应答给第一客户节点。这时,在P2PSIP架构下, 第 一客户节点就可以使用该第二客户节点的资源信息携带的联系地址直接向 第二客户节点发送一个SIP邀请消息以发起IP语音会话。
上述P2P环境下资源查询的方法,在现有技术P2P环境下资源信息查询 的处理流程的基础上增加了本地查询的步骤,在本地对等节点接收到第 一客 户节点针对第二客户节点的资源查询消息之后,该本地对等节点根据该资源
查询消息先在该本地对等节点上查询该第二客户节点的资源信息,如果查到, 则将该第二客户节点的资源信息应答给第一客户节点,从而缩减了在P2P重 叠网络上分布式查询的过程,提高了本地资源查询的效率。
如图9所示,为本发明P2P环境下资源查询的方法实施例三的流程图, 在本地对等节点接收到第 一客户节点针对第二客户节点的资源查询消息之 后,该本地对等节点先判断该第二客户节点是否为该本地对等节点所服务的 客户节点,然后再在本地对等节点上查询该第二客户节点的资源信息,该处 理流程具体包括以下步骤
步骤S901,本地对等节点接收第一客户节点针对第二客户节点的资源查 询消息。在第一客户节点想与第二客户节点建立会话时,第一客户节点会发 送一个包括第二客户节点的资源标识符的资源查询消息,该资源查询消息由 为第一客户节点服务的本地对等节点接收。
步骤S902,本地对等节点判断该第二客户节点是否为该本地对等节点所 服务的客户节点。在接收到第一客户节点针对第二客户节点的资源查询消息 之后,本地对等节点先判断该第二客户节点是否为该本地对等节点所服务的 客户节点。该判断可以根据第二客户节点的资源信息来判断,例如,在P2PSIP 架构下,可以^^据第二客户节点的统一资源标识符URI的后缀来判断,也可 以根据第二客户节点的资源标识符Resource-ID来判断。在该本地对等节点判 断该第二客户节点是该本地对等节点所服务的客户节点之后,该本地对等节
点根据接收到的第 一客户节点针对第二客户节点的资源查询消息在该本地对 等节点上查询该第二客户节点的资源信息。
步骤S903,本地对等节点判断在该本地对等节点上能否查询到第二客户 节点的资源信息。在本地对等节点判断该第二客户节点是该本地对等节点所 服务的客户节点之后,会根据接收到的资源查询消息在该本地对等节点上查 询该第二客户节点的资源信息,如果查到,则将该第二客户节点的资源信息 应答给第一客户节点。如果本地对等节点没有在该本地对等节点上查到该第 二客户节点的资源信息,则在P2P重叠网络上进行分布式查询。
步骤S904,本地对等节点在P2P重叠网络上分布式查询第二客户节点的
资源信息。如果本地对等节点没有在该本地对等节点上查到该第二客户节点 的资源信息,则会在P2P重叠网络上进行分布式查询,并将查到的第二客户 节点的资源信息应答给第 一客户节点。
步骤S905,本地对等节点将第二客户节点的资源信息应答给第一客户节 点。在本地对等节点查询到第二客户节点的资源信息之后,该本地对等节点 将该第二客户节点的资源信息应答给第一客户节点。这时,在P2PSIP架构下, 第一客户节点就可以使用该第二客户节点的资源信息携带的联系地址例如IP 地址直接向第二客户节点发送一个SIP邀请消息以发起IP语音会话。
上述P2P环境下资源查询的方法,在现有技术P2P环境下资源信息查询 的处理流程的基础上不仅增加了在本地对等节点上查询第二客户节点的资源 信息的步骤,在进行本地查询之前还增加了判断第二客户节点是否为同一个 本地对等节点所服务的客户节点的步骤,这样的处理流程更适合本地对等节 点能容易判断第二客户节点的接入范围的场景,例如,固定接入场景。
如图10所示,为本发明P2P环境下资源查询的方法实施例四的流程图, 在P2PSIP架构下,SIP客户节点资源注册和本地通讯场景下SIP邀请消息的 路由处理流程具体包括以下步骤
步骤SIOOI,本地对等节点接收客户节点的资源发布消息。在P2PSIP架 构下,该资源发布消息包括SIP客户节点的统一资源标识符URI和联系方式 例如IPi也址的映射。
步骤S1002,本地对等节点根据资源发布消息存储客户节点的资源信息并 将该资源信息分布存储到P2PSIP重叠网络上。在接收到该客户节点的资源发 布消息之后,该本地对等节点先根据本地策略判断是否可以在该本地对等节 点上存储该客户节点的资源信息,如果本地对等节点判断可以在该本地对等 节点上存储该客户节点的资源信息,则该本地对等节点存储该客户节点的资 源信息。同时,无论是否可以在该本地对等节点上存储该客户节点的资源信 息,该本地对等节点都会根据客户节点的统一资源标识符URI得到一个资源 标识符Resource-ID,然后该本地对等节点将该客户节点的资源信息发布到 P2PSIP重叠网络上拥有与该资源标识符Resource-ID最接近的对等节点标识
符Peer-ID的P2PSIP对等节点上,将该客户节点的资源信息在该重叠网络上 进行分布式存储。这里的Peer-ID是P2PSIP对等节点在P2PSIP Overlay网络 中的标识,它与Resource-ID在同 一个数值空间,二者可直接比较。Peer-ID可以 通过使用相同的Hash算法对P2PSIP对等节点的联系地址如IP地址进行Hash 后得到,也可以由一个集中的服务器在P2PSIP对等节点加入到P2PSIP Overlay网络时分配给该P2PSIP对等节点。这时在P2PSIP重叠网络的一个或 多个对等节点上都可能存储有该客户节点的资源信息。该资源信息可以是该 客户节点的统一资源标识符URI和联系地址例如IP地址的映射,也可以是本 地对等节点根据SIP客户节点的统一资源标识符URI通过P2PSIP重叠网络约 定的Hash算法(散列算法)生成的资源标识符Resource-ID。
步骤SI003,本地对等节点接收P2PSIP重叠网络上存储了该客户节点的 资源信息的对等节点发送的分布式存储成功的应答消息。在该本地对等节点 将该客户节点的资源信息发布到P2PSIP重叠网络上拥有与该资源标识符 Resource-ID最接近的对等节点标识符Peer-ID的P2PSIP对等节点上之后,接 收到该客户节点的资源信息的对等节点会向该本地对等节点发送一个分布式 存储成功的应答消息,告知该本地对等节点该客户节点的资源信息分布式存 储成功。
步骤S1004,本地对等节点向客户节点发送资源发布成功的应答消息。在 本地对等节点接收到存储了该客户节点的资源信息的对等节点发送的分布式 存储成功的应答消息之后,该本地对等节点会向该客户节点发送一个资源发 布成功的应答消息,告知该客户节点资源发布成功。
步骤S1005 ,本地对等节点接收第 一客户节点针对第二客户节点的资源查 询消息。在该本地对等节点所服务的客户节点资源发布成功之后,如果该本 地对等节点所服务的第 一客户节点想与第二客户节点进行通讯,则该第 一客 户节点会发送一个包括第二客户节点的统一资源标识符URI的资源查询消 息,该资源查询消息由该本地对等节点接收。
步骤S1006,本地对等节点根据资源查询消息在该本地对等节点上查询第 二客户节点的资源信息。在接收到第一客户节点针对第二客户节点的资源查
询消息之后,该本地对等节点先在该本地对等节点上查询该第二客户节点的 资源信息,如果能查到该第二客户节点的资源信息,则将该第二客户节点的 资源信息应答给第一客户节点。如果该本地对等节点没有在该本地对等节点 上查询到该第二客户节点的资源信息,则该本地对等节点会根据该资源查询
消息中包括的第二客户节点的统一资源标识符URI生成一个资源标识符 Resource-ID,然后将该资源查询消息发送到P2PSIP重叠网络上拥有与该资源 标识符Resource-ID最接近的对等节点标识符Peer-ID的P2PSIP对等节点上。 这里的Peer-ID是P2PSIP对等节点在P2PSIP Overlay网络中的标识,它与 Resource-ID在同一个数值空间,二者可直接比较。Peer-ID可以通过使用相同 的Hash算法对P2PSIP对等节点的联系地址如IP地址进行Hash后得到,也 可以由一个集中的服务器在P2PSIP对等节点加入到P2PSIP Overlay网络时分 配给该P2PSIP对等节点。在该对等节点接收到该资源查询消息之后,该对等 节点会将该第二客户节点的资源信息应答给为第一客户节点提供服务的本地 对等节点。该资源信息可以是该第二客户节点的统一资源标识符URI和联系 地址例如IP地址的映射,也可以是本地对等节点根据第二客户节点的统一资 源标识符URI通过P2PSIP重叠网络约定的Hash算法(散列算法)生成的资 源标识符Resource-ID。
步骤S1007,本地对等节点将第二客户节点的资源信息应答给第一客户节 点。在本地对等节点查到该第二客户节点的资源信息之后,将该第二客户节 点的资源信息应答给第一客户节点。
步骤S1008,第一客户节点根据接收到的第二客户节点的资源信息携带的 联系地址向第二客户节点发送SIP邀请消息以发起会话。在本地对等节点将 该第二客户节点的资源信息应答给第一客户节点之后,第一客户节点就可以 通过第二客户节点的联系地址例如IP地址向第二客户节点发送一个SIP邀请 消息以发起IP语音会话。
上述P2P环境下资源查询的方法,在现有技术P2PSIP架构下资源注册的 基础上增加了在本地对等节点上存储该本地对等节点所服务客户节点的资源 信息的步骤,在SIP邀请消息路由处理流程的基础上增加了在本地对等节点
上查询第二客户节点的资源信息的步骤。这样,在本地通讯的场景下,就缩 减了在P2PSIP重叠网络上分布式查询第二客户节点的资源信息的步骤,提高 了本地资源查询的效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发
明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件, 但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案 本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来, 该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算 机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实 施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此, 任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1、一种P2P环境下资源查询的方法,其特征在于,包括以下步骤:本地对等节点接收第一客户节点针对第二客户节点的资源查询消息;所述本地对等节点根据所述资源查询消息在本地查询所述第二客户节点的资源信息;所述本地对等节点将所述第二客户节点的资源信息应答给所述第一客户节点。
2、 如权利要求1所述P2P环境下资源查询的方法,其特征在于,在接收 到第 一客户节点针对第二客户节点的资源查询消息之后,还包括以下步骤本地对等节点判断所述第二客户节点是否为所述本地对等节点所服务的客户节点;如果所述本地对等节点判断所述第二客户节点是所述本地对等节点所服 务的客户节点,则根据所述资源查询消息在本地查询所述第二客户节点的资 源4言息。
3、 如权利要求1所述P2P环境下资源查询的方法,其特征在于,在根据 所述资源查询消息在本地查询所述第二客户节点的资源信息之后,还包括以 下步骤如果没有在本地查询到所述第二客户节点的资源信息,则在P2P重叠网 络上分布式查询所述第二客户节点的资源信息。
4、 如权利要求1所述P2P环境下资源查询的方法,其特征在于,所述资 源查询消息具体包括所述第二客户节点的资源标识符。
5、 如权利要求1所述P2P环境下资源查询的方法,其特征在于,在接收 第 一客户节点针对第二客户节点的资源查询消息之前,还包括以下步骤在本地对等节点上存储客户节点的资源信息。
6、 如权利要求5所述P2P环境下资源查询的方法,其特征在于,所述在 本地对等节点上存储客户节点的资源信息具体包括以下步骤接收客户节点 的资源发布消息,所述资源发布消息携带所述客户节点的资源信息;根据接收到的所述客户节点的资源发布消息,所述本地对等节点存储所 述客户节点的资源信息。
7、 如权利要求6所述P2P环境下资源查询的方法,其特征在于,在所述 本地对等节点存储所述客户节点的资源信息之前还包括以下步骤所述本地对等节点根据本地策略判断是否存储所述客户节点的资源信自 如果判断存储所述客户节点的资源信息,则所述本地对等节点存储所述 客户节点的资源信息。
8、 如权利要求5所述P2P环境下资源查询的方法,其特征在于,在本地 对等节点上存储所述客户节点的资源信息之后,还包括以下步骤将所述客 户节点的资源信息分布式存储到P2P重叠网络上。
9、 一种本地对等节点,其特征在于,包括资源存储模块、消息接收才莫块、 资源查询模块和信息应答模块,所述资源存储模块用于存储客户节点的资源信息;所述消息接收模块用于接收第一客户节点针对第二客户节点的资源查询 消息;所述资源查询模块用于根据所述资源查询消息在本地查询所述第二客户 节点的资源信息;所述信息应答模块用于将所述第二客户节点的资源信息应答给所述第一 客户节点。
10、 如权利要求9所述本地对等节点,其特征在于,所述资源存储模块 包括发布消息接收子模块和本地存储子模块,所述发布消息接收子模块,用于接收客户节点的资源发布消息,所述资 源发布消息携带所述客户节点的资源信息;所述本地存储子模块,用于存储所述发布消息接收子模块接收的所述客户节点的资源信息。
11、 如权利要求IO所述本地对等节点,其特征在于,所述资源存储模块 还包括存储判断子模块,用于在所述发布消息接收子模块接收到所述客户节 点的资源发布消息之后,根据本地策略判断是否在所述本地对等节点上存储 所述客户节点的资源信息,如果判断在所述本地对等节点上存储所述客户节点的资源信息,则所述存储判断子模块通知所述本地存储子模块存储所述客 户节点的资源信息。
12、 如权利要求10或11所述本地对等节点,其特征在于,所述资源存 储模块包括分布存储子模块,用于在所述存储判断子模块根据本地策略判断 不在所述本地对等节点上存储所述客户节点的资源信息之后,将所述客户节 点的资源信息分布式存储到P2P重叠网络上。
13、 如权利要求9所述本地对等节点,其特征在于,所述资源查询沖莫块包括查询判断子模块,用于在所述消息接收模块接收到所述第一客户节点针 对第二客户节点的资源查询消息之后,判断所述第二客户节点是否为所述本地对等节点所服务的客户节点。
14、 如权利要求13所述本地对等节点,其特征在于,所述资源查询模块 包括本地查询子模块,用于在所述查询判断子模块判断所述第二客户节点是 所述本地对等节点所服务的客户节点之后,在本地查询所述第二客户节点的 资源信息。
15、 如权利要求13或14所述本地对等节点,其特征在于,所述资源查 询模块还包括分布查询子模块,用于在所述查询判断子模块判断所述第二客 户节点不是所述本地对等节点所服务的客户节点之后,在P2P重叠网络上分 布式查询所述第二客户节点的资源信息。
全文摘要
本发明公开了一种P2P环境下资源查询的方法,包括以下步骤本地对等节点接收第一客户节点针对第二客户节点的资源查询消息;本地对等节点根据所述资源查询消息在本地查询所述第二客户节点的资源信息;本地对等节点将所述第二客户节点的资源信息应答给所述第一客户节点。通过本发明实施例本地对等节点在接收到第一客户节点针对第二客户节点的资源查询消息之后,先在本地查询该第二客户节点的资源信息,在本地通讯的场景下缩减了在P2P重叠网络上分布式查询的过程,提高了本地资源查询的效率。
文档编号H04L29/06GK101378392SQ20071014590
公开日2009年3月4日 申请日期2007年8月29日 优先权日2007年8月29日
发明者郑合文 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1