CN102868710A - 一种对等网中消息交互的方法及装置、系统 - Google Patents
一种对等网中消息交互的方法及装置、系统 Download PDFInfo
- Publication number
- CN102868710A CN102868710A CN2011101868338A CN201110186833A CN102868710A CN 102868710 A CN102868710 A CN 102868710A CN 2011101868338 A CN2011101868338 A CN 2011101868338A CN 201110186833 A CN201110186833 A CN 201110186833A CN 102868710 A CN102868710 A CN 102868710A
- Authority
- CN
- China
- Prior art keywords
- peer
- client
- routing table
- network routing
- peer network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
Abstract
本发明公开了一种对等网中消息交互的方法,所述方法包括:客户端获取对等网路由表,并根据所述对等网路由表向目的对等体发送消息;和/或,对等体获取客户端的地址信息并保存到本地的客户端列表,根据所述本地的客户端列表向目的客户端发送消息。本发明还公开了一种客户端、对等体以及对等网系统,使得与对等网交互信息量大的客户端接入至对等网后可以直接与对等体交互消息,不需要经由接入节点中转,有效地避免了接入节点的性能瓶颈问题,并减少了客户端与对等网消息路由的跳数,并且,客户端与对等网的路由关系可以随对等网的调整而及时调整,有效地提升了客户端与对等网信息的交互效率。
Description
技术领域
本发明涉及分布式通信网络领域,尤其涉及一种对等网中消息交互的方法及装置、系统。
背景技术
对等网络(P2P,Peer to Peer)是一种分布式网络,网络的参与者共享他们所拥有的资源和服务。通常这些资源和服务的共享包括:信息的共享与交换、计算资源(如CPU)和存储资源(如缓存和磁盘空间)的共享等。P2P打破了传统的客户端/服务器(C/S,Client/Server)模式,在P2P网络中每个节点的地位都是对等的。每个节点既充当服务器为其他节点提供服务,同时也享用其他节点提供的服务。
资源定位和发现协议(RELOAD,Resource Locate And Discovery)是互联网工程任务组(IETF,Internet Engineering Task Force)的P2P会话初始协议(SIP,Session Initiation Protocol)工作组定义的一种应用于对等网络的资源定位和发现协议。
RELOAD对等网中节点主要有对等体(Peer)和客户端(Client)两种。其中,对等体负责对等网资源的存储和消息路由,具有公网地址、处理能力强、自身资源丰富等特性,是对等网的主要节点。客户端一般不具备对等体的特性,可以通过自身的接入节点(默认的接入节点为该客户端的负责节点,但也可以是任意的对等体)接入对等网,可以完全利用对等网的路由机制与对等网中其它对等体、以及其他客户端进行通信。
RELOAD对等网中,现有的客户端只能获知自身接入节点的地址信息,同时对等网中也只有所述客户端的接入节点能够获知所述客户端的地址信息。客户端与对等网网络侧进行消息交互的过程中,在客户端与接入节点建立连接后,客户端发往对等网中目的对等体的消息必须经过接入节点中转,对等网中除接入节点以外的其他对等体发往客户端的所有消息也必须经过所述接入节点中转才能到达客户端。如此,使得客户端与对等网网络侧的信息交互必须全部经过其接入节点中转才能够实现,而不能直接到达客户端或目的对等体,增加了消息的路由跳数,并且在客户端与对等网信息交互消息量很大时,接入节点难以满足大量消息的转发,因而引起接入节点的性能瓶颈,此外,还会降低消息交互的处理效率和成功率。
发明内容
有鉴于此,本发明的主要目的在于提供一种对等网中消息交互的方法及装置、系统,以解决现有对等网中客户端与对等网网络侧进行消息交互时消息路由跳数多、引起接入节点性能瓶颈以及影响降低消息交互的处理效率和成功率的问题。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种对等网中消息交互的方法,所述方法包括:
客户端获取对等网路由表,并根据所述对等网路由表向目的对等体发送消息;和/或,对等体获取客户端的地址信息并保存到本地的客户端列表,根据所述本地的客户端列表向目的客户端发送消息。
在上述方案中,所述客户端获取对等网路由表,包括:
所述客户端从作为自身接入节点的对等体下载对等网路由表并保存。
在上述方案中,根据所述对等网路由表向目的对等体发送消息,包括:
所述客户端查询本地的对等网路由表,从所述对等网路由表中查询到目的对等体的地址信息时,直接向所述目的对等体发送消息。
在上述方案中,所述对等体获取客户端的地址信息并保存到本地的客户端列表,包括:
作为客户端的接入节点的对等体,获取所述客户端的地址信息,并将所述客户端的地址信息保存本地的客户端列表;
所述作为客户端的接入节点的对等体或所述客户端,将所述客户端的地址信息通知给与所述客户端相关的其他各对等体,所述其他各对等体分别将所述客户端地址信息保存到本地的客户端列表。
在上述方案中,所述客户端将所述客户端的地址信息通知给与所述客户端相关的其他各对等体,包括:
所述客户端根据所述对等网路由表,将自身的地址信息通知给与自身相关的对等体。
在上述方案中,根据所述本地的客户端列表向目的客户端发送消息,包括:
所述对等体查询本地的客户端列表,从所述客户端列表中查询到目的客户端的地址信息时,直接向所述目的客户端发送消息。
在上述方案中,所述方法还包括:
所述客户端从对等体获取所述客户端列表,并根据所述客户端列表,向目的客户端发送消息。
在上述方案中,根据所述客户端列表,向目的客户端发送消息,包括:
所述客户端查询本地的客户端列表和本地路由表,在查询到目的客户端的地址信息时,直接向所述目的客户端发送消息。
在上述方案中,所述方法还包括:所述对等体接收到需要转发到目的客户端的消息时,查询本地的客户端列表,在本地的客户端列表中包含有所述目的客户端的地址信息时,将所述消息直接转发给所述目的客户端。
在上述方案中,所述方法还包括:客户端实时获取当前的对等网路由表,并更新本地的对等网路由表。
在上述方案中,所述客户端实时获取当前的对等网路由表,并更新本地的对等网路由表,为:
所述客户端与作为所述客户端接入节点的对等体保活,实时更新本地的对等网路由表。
在上述方案中,所述客户端实时获取当前的对等网路由表,并更新本地的对等网路由表,为:
在所述客户端的接入节点失效后,所述客户端与重新确定为接入节点的对等体保活,实时更新本地的对等网路由表。
在上述方案中,所述客户端实时获取当前的对等网路由表,并更新本地的对等网路由表,为:
作为所述客户端接入节点的对等体,在对等网调整后,向所述客户端发送更新后的对等网路由表,所述客户端接收所述对等网路由表,并更新本地的对等网路由表。
在上述方案中,所述方法还包括:
所述对等体实时获取客户端的地址信息,并更新本地的客户端列表。
在上述方案中,所述对等体实时获取客户端的地址信息,并更新本地的客户端列表,包括:
在所述客户端失效后,作为所述客户端接入节点的对等体更新本地的客户端列表;
所述作为客户端的接入节点的对等体或所述客户端,通知与所述客户端相关的其他各对等体更新客户端列表,所述其他各对等体根据所述通知,分别更新本地的客户端列表。
在上述方案中,所述对等体实时获取客户端的地址信息,并更新本地的客户端列表,包括:
在所述客户端退出对等网后,作为所述客户端接入节点的对等体更新本地的客户端列表;
所述作为客户端的接入节点的对等体或所述客户端,通知与所述客户端相关的其他各对等体所述客户端已退出对等网,所述其他各对等体根据所述通知,分别更新本地的客户端列表。
在上述方案中,所述对等体实时获取客户端的地址信息,并更新本地的客户端列表,包括:
在对等网调整后,作为所述客户端接入节点的对等体更新本地的客户端列表;
所述作为客户端的接入节点的对等体或所述客户端,通知与所述客户端相关的其他各对等体更新客户端列表,所述其他各对等体根据所述通知,分别更新本地的客户端列表。
本发明还提供了一种客户端,所述客户端包括:第一获取单元和第一发送单元,其中,
第一获取单元,用于获取对等网路由表;
第一发送单元,用于根据所述第一获取单元获取的对等网路由表,向目的对等体发送消息。
在上述方案中,所述客户端还包括:第一存储单元,用于保存所述第一获取单元获取的对等网路由表;
所述第一获取单元,用于从客户端的接入节点下载对等网路由表。
在上述方案中,所述第一发送单元,用于查询所述第一存储单元保存的对等网路由表,从所述对等网路由表中查询到目的对等体的地址信息时,直接向所述目的对等体发送消息。
在上述方案中,所述客户端还包括:第一更新单元;
所述第一获取单元,用于实时获取对等网路由表;
所述第一更新单元,用于根据所述第一获取单元获取的对等网路由表,更新所述第一存储单元保存的对等网路由表。
本发明还提供了一种对等体,所述对等体包括:第二获取单元、第二存储单元和第二发送单元,其中,
第二获取单元,用于获取客户端的地址信息并保存到所述第二存储单元保存的客户端列表中;
第二发送单元,用于根据所述第二存储单元保存的客户端列表,向目的客户端发送消息。
在上述方案中,所述第二发送单元,用于查询所述第二存储单元保存的对等网路由表,从所述对等网路由表中查询到目的客户端的地址信息时,直接向所述目的客户端发送消息。
在上述方案中,所述第二发送单元,还用于在接收到需转发至目的客户端的消息时,查询所述第二存储单元保存的对等网路由表,从所述对等网路由表中查询到目的客户端的地址信息时,直接向所述目的客户端发送消息。
在上述方案中,所述第二获取单元,用于从客户端或作为客户端接入节点的对等体,获取所述客户端的地址信息。
在上述方案中,所述对等体还包括:第二更新单元,用于在对等网调整后、和/或客户端失效后、和/或对等网中有对等体失效后、和/或客户端退出对等网后,更新所述第二存储单元保存的客户端列表;和/或,用于在接收到作为客户端接入节点的对等体或客户端发送的通知后,根据所述通知更新所述第二存储单元保存的客户端列表。
本发明还提供了一种对等网系统,所述系统包括:客户端和两个或两个以上的对等体,其中,
客户端,用于获取对等网路由表,并根据所述对等网路由表向目的对等体发送消息;
和/或,所述对等体,用于获取客户端的地址信息并保存到本地的客户端列表,根据所述本地的客户端列表向目的客户端发送消息。
本发明中,客户端根据获取的对等网路由表向目的对等体发送消息;和/或,对等体根据保存有客户端地址信息的客户端列表向目的客户端发送消息,如此,使得与对等网交互信息量大的客户端接入至对等网后可以直接与对等体交互消息,不需要经由接入节点中转,有效地避免接入节点的性能瓶颈问题,并减少了客户端与对等网消息路由的跳数,并且,客户端与对等网的路由关系可以随对等网的调整而及时调整,有效地提升了客户端与对等网信息的交互效率。
附图说明
图1为本发明中客户端的组成结构示意图;
图2为本发明中对等网系统一种实施例的组成结构示意图;
图3为本发明实施例一中客户端接入对等网的流程示意图;
图4为本发明实施例二中客户端寻址对等网的流程示意图;
图5为本发明实施例三中对等网中的一个对等体寻址客户端的流程示意图;
图6为本发明实施例四中对等网中客户端之间互相寻址的流程示意图;
图7为本发明实施例五中对等网调整时更新对等网路由表、以及调整本地客户端列表的流程示意图;
图8为本发明实施例六中接入节点失效后更新对等网路由表的流程示意图;
图9为本发明实施例七中客户端失效后更新客户端列表的流程示意图;
图10为本发明实施例八中客户端退出对等网时更新客户端列表的流程示意图。
具体实施方式
本发明的基本思想是:让客户端保存并维护包含有对等网中相关对等体地址信息的对等网路由表,对等网中相关对等体也可以保存并维护包含有客户端地址信息的客户端地址列表,客户端根据自身保存的对等网路由表向目的对等体发送消息,对等体根据自身保存的客户端地址列表,向客户端发送消息。如此,使得客户端和对等体之间可以直接进行消息交互,不需要经过客户端的接入节点中转,避免在客户端与对等网的网络侧之间交互的消息量很大时,引起接入节点的性能瓶颈,提高对等网中消息交互的处理效率和成功率。
本发明的对等网中消息交互的方法,主要可以包括:客户端获取对等网路由表,并根据所述对等网路由表向目的对等体发送消息;和/或,对等体获取客户端的地址信息,并根据所述客户端的地址信息向所述客户端发送消息。
这里,所述客户端可以从作为自身接入节点的对等体下载对等网路由表并保存。所述客户端可以查询本地的对等网路由表,从所述对等网路由表中查询到目的对等体的地址信息时,则直接向所述目的对等体发送消息。
例如,客户端寻址对等网时,客户端查询本地的对等网路由表,如果查询到目的对等体的地址信息时,则直接向所述目的对等体发送消息,如果没有查询到目的对等体的地址信息,则可以按照现有的路由机制路由消息至最近的对等体,再由该对等体将所述消息发送到目的对等体。
其中,作为客户端的接入节点的对等体,获取所述客户端的地址信息,并将所述客户端的地址信息保存本地的客户端列表;所述作为客户端的接入节点的对等体或所述客户端,将所述客户端的地址信息通知给与所述客户端相关的其他各对等体,所述其他各对等体分别将所述客户端地址信息保存到本地的客户端列表。发送消息时,所述对等体查询本地的客户端列表,从所述客户端列表中查询到目的客户端的地址信息时,直接向所述目的客户端发送消息。
这里,所述客户端可以根据所述对等网路由表,将自身的地址信息通知给与自身相关的对等体。
这里,所述方法还可以包括:所述客户端从对等体获取所述客户端列表,并根据所述客户端列表,向目的客户端发送消息。具体地,客户端可以从作为自身接入节点的对等体上获取客户端列表。所述客户端可以查询本地的客户端列表和本地路由表,在查询到目的客户端的地址信息时,直接向所述目的客户端发送消息。
这里,所述方法还可以包括:所述对等体接收到需要转发到目的客户端的消息时,查询本地的客户端列表,在本地的客户端列表中包含有所述目的客户端的地址信息时,将所述消息直接转发给所述目的客户端。
其中,客户端还可以实时获取当前的对等网路由表,并更新本地的对等网路由表。
具体地,所述客户端可以与作为所述客户端接入节点的对等体保活,实时更新本地的对等网路由表。
在所述客户端的接入节点失效后,所述客户端可以与重新确定为接入节点的对等体保活,实时更新本地的对等网路由表。
作为所述客户端接入节点的对等体,在对等网调整后,向所述客户端发送更新后的对等网路由表,所述客户端接收所述对等网路由表,并更新本地的对等网路由表。
其中,所述对等体还可以实时获取客户端的地址信息,并更新本地的客户端列表。
具体地,在所述客户端失效后,作为所述客户端接入节点的对等体更新本地的客户端列表;所述作为客户端的接入节点的对等体或所述客户端,通知与所述客户端相关的其他各对等体更新客户端列表,所述其他各对等体根据所述通知,分别更新本地的客户端列表。
这里,在所述客户端退出对等网后,作为所述客户端接入节点的对等体更新本地的客户端列表;所述作为客户端的接入节点的对等体或所述客户端,通知与所述客户端相关的其他各对等体所述客户端离开对等网,所述其他各对等体根据所述通知,分别更新本地的客户端列表。
这里,在对等网调整后,作为所述客户端接入节点的对等体更新本地的客户端列表;所述作为客户端的接入节点的对等体或所述客户端,通知与所述客户端相关的其他各对等体更新客户端列表,所述其他各对等体根据所述通知,分别更新本地的客户端列表。
相应的,本发明还提供了一种客户端,如图1所示,所述客户端包括:第一获取单元和第一发送单元,其中,第一获取单元,用于获取对等网路由表;第一发送单元,用于根据所述第一获取单元获取的对等网路由表,向目的对等体发送消息。
其中,所述客户端还可以包括:第一存储单元,用于保存所述第一获取单元获取的对等网路由表;所述第一获取单元,用于从客户端的接入节点下载对等网路由表。
其中,所述第一发送单元,具体可以用于查询所述第一存储单元保存的对等网路由表,从所述对等网路由表中查询到目的对等体的地址信息时,直接向所述目的对等体发送消息。
其中,所述客户端还包括:第一更新单元;所述第一获取单元,用于实时获取对等网路由表;所述第一更新单元,用于根据所述第一获取单元获取的对等网路由表,更新所述第一存储单元保存的对等网路由表。
本发明还提供了一种对等体,所述对等体包括:第二获取单元、第二存储单元和第二发送单元,其中,第二获取单元,用于获取客户端的地址信息并保存到所述第二存储单元保存的客户端列表中;第二发送单元,用于根据所述第二存储单元保存的客户端列表,向目的客户端发送消息。
其中,所述第二发送单元,用于查询所述第二存储单元保存的对等网路由表,从所述对等网路由表中查询到目的客户端的地址信息时,直接向所述目的客户端发送消息。
其中,所述第二发送单元,还用于在接收到需转发至目的客户端的消息时,查询所述第二存储单元保存的对等网路由表,从所述对等网路由表中查询到目的客户端的地址信息时,直接向所述目的客户端发送消息。
其中,所述第二获取单元,用于从客户端或作为客户端接入节点的对等体,获取所述客户端的地址信息。
其中,所述对等体还包括:第二更新单元,用于在对等网调整后、和/或客户端失效后、和/或对等网中有对等体失效后、和/或客户端退出对等网后,更新所述第二存储单元保存的客户端列表;和/或,用于在接收到作为客户端接入节点的对等体或客户端发送的通知后,根据所述通知更新所述第二存储单元保存的客户端列表。
本发明还提供了一种对等网系统,所述系统包括:客户端和两个或两个以上的对等体,其中,客户端,用于获取对等网路由表,并根据所述对等网路由表向目的对等体发送消息;和/或,所述对等体,用于获取客户端的地址信息并保存到本地的客户端列表,根据所述本地的客户端列表向目的客户端发送消息。
图2为本发明的对等网系统的一种实施例的组成架构示意图,该对等网系统包括对等体1、对等体2、对等体3、对等体4和客户端,其中,对等体1为客户端的接入节点。各对等体中保存有客户端列表,客户端中保存有对等网路由表。
实施例一
本实施例中,在客户端加入对等网的流程中,客户端获取对等网路由表,对等体获取客户端的地址信息,生成客户端地址列表。如图3所示,本实施例中的对等网包括对等体1、对等体2、对等体3和客户端。
具体地,参照图3所示,客户端接入对等网的流程可以包括以下步骤:
步骤301,客户端选取对等体1作为自身的接入节点,向对等体1发出加入对等网请求,对等体1获取客户端的地址信息;
具体地,客户端可以按照对等网的默认方式,选取自身的负责节点作为自身的接入节点,本实施例中,客户端在对等网的负责节点为对等体1,则客户端选择对等体1作为自身的接入节点。
实际应用中,客户端还可以选取对等网中其他任意节点(如对等体2或对等体3)作为自身的接入节点。
具体地,对等体1可以从客户端发出的加入对等网请求中,提取到客户端的地址信息。
步骤302,客户端从所述对等体1中下载对等网路由表并保存,如此,客户端能够利用所述对等网路由表直接发送消息给目的对等体。
步骤303,对等体1将所述客户端的地址信息保存到本地的客户端列表,继续步骤304;
这里,客户端列表用于保存客户端的标识、地址等信息。
步骤304,对等体1向对等网中其他与所述客户端相关的对等体通知所述客户端的地址信息,或者,客户端根据获取的对等网路由表,向对等网中除自身接入节点外的、与自身相关的对等体通知所述客户端的地址信息。如此,使得对等网中的对等体可以根据客户端的地址信息,直接发送或路由消息至客户端。
具体地,对等网中除对等体1以外、与所述客户端相关的对等体,可以由具体的对等网算法来确定,基本原则是尽量选择在客户端接入节点的寻址路径上的对等体。本实施例中,除客户端的接入节点即对等体1外、与客户端相关的对等体为对等体2。例如,对于默认的哈希(Chord)算法,在对等体的本地路由表中包含有所述客户端的接入节点的相关信息(如接入节点的地址信息)时,则认为该对等体为与所述客户端相关的对等体。
这里,所述对等网中接收到上述通知的对等体,将所述客户端的地址信息保存至本地的客户端列表。
步骤305,对等体1向客户端返回加入对等网的响应消息。
实施例二
本实施例中,如图4所示,对等网包括对等体1、对等体2、对等体3和客户端。
具体地,参照图4所示,客户端寻址对等网的流程可以包括以下步骤:
步骤401,客户端成功加入对等网;
步骤402,客户端需要与对等网中的对等体3进行通信;
步骤403,客户端从自身保存的对等网路由表中,查询是否有所述对等体3的地址信息,如果有,则继续步骤404,否则,继续步骤405;
步骤404,客户端根据查询到的对等体3的地址信息,直接向所述对等体3发送消息;
步骤405,客户端按照路由算法,确定自身保存的对等网路由表中对等体2与所述对等体3最近,则从所述对等网路由表中查询到对等体2的地址信息,并将发往对等体3的消息路由给对等体2。
这里,客户端可以利用对等网路由表,按照现有对等体之间的路由方式将消息路由至对等网路由表中距离对等体3最近的对等体,即对等体2。
步骤406,对等体2将所述客户端发送的消息转发至所述对等体3。
具体地,在对等体2上按照现有的路由算法将所述消息路由至对等体3,该过程为现有技术,在此不再赘述。
本实施例中,客户端可以根据已获取的对等网路由表,在本地直接寻址对等体,避免了消息经由客户端的接入节点转发,解决了接入节点的瓶颈问题,同时也减少了客户端将消息传递至目的对等体的路由跳数。
实施例三
本实施例中,如图5所示,对等网包括对等体1、对等体2、对等体3和客户端。
具体地,参照图5所示,对等网中的一个对等体寻址客户端的流程可以包括以下步骤:
步骤501,客户端成功加入对等网;
步骤502,对等网中对等体3需要与客户端通信;
步骤503,对等体3查询本地的客户端列表,是否包含有所述客户端的地址信息,如果是,则继续步骤504,否则,继续步骤505;
步骤504,对等体3根据本地客户端列表中所述客户端的地址信息,直接向所述客户端发送消息,结束当前流程。
步骤505,对等体3按照对等网路由算法,将发送给客户端的消息发送至本地路由表中距离所述客户端最近的对等体2;
具体地,对等体3通过查询本地路由表,确定本地路由表中对等体2与所述客户端最近,则将发送给所述客户端的消息路由至对等体2,具体过程为现有技术,在此不再赘述。
步骤506,对等体2按照上述步骤503-505的流程,转发所述消息,直至所述消息路由至所述客户端,结束当前流程。
具体地,对等体2可以查询本地的客户端列表,如果本地的客户端列表中包含有所述客户端的地址信息,则直接将所述消息转发至所述客户端,如果本地的客户端列表中不包含所述客户端的地址信息,则查询本地路由表,将所述消息转发至本地路由表与所述客户端最近的对等体1中,再由对等体1将所述消息转发至所述客户端。
本实施例中,对等体通过查询本地的客户端列表,在本地的客户端列表中存有所述客户端的地址信息时,便可以直接将消息路由至客户端,不需要将消息经由接入节点转发,解决了接入节点的瓶颈问题,同时减少了对等体与客户端之间消息的路由跳数。
实施例四
本实施例中,如图6所示,对等网包括对等体1、对等体2、对等体3、客户端1和客户端2。
具体地,参照图6所示,对等网中客户端之间互相寻址的流程可以包括以下步骤:
步骤601,客户端1和客户端2成功加入对等网;
步骤602,客户端1需要与客户端2通信;
步骤603,客户端1查询本地路由表和客户端列表,是否包含有客户端2的地址信息,如果是,则继续步骤604,如果不是,继续步骤605;
这里,客户端1可以从自身的接入节点获取客户端列表并保存到本地。
步骤604,客户端1根据客户端2的地址信息,直接向客户端2发送消息,结束当前流程。
步骤605,客户端1按照对等网路由算法,将发往客户端2的消息发送至本地的对等网路由表中距离客户端2最近的对等体2;
步骤606,对等体2查询本地的客户端列表,是否包含有客户端2的地址信息,如果是,则继续步骤607,如果不是,继续步骤608;
步骤607,对等体2根据本地客户端列表中客户端2的地址信息,直接将所述发送客户端2的消息转发至客户端2,结束当前流程。
步骤608,对等体2按照对等网路由算法,将发往客户端2的消息转发至本地路由表中距离客户端2最近的对等体3;
步骤609,对等体3按照上述步骤606-608的流程,转发所述发送客户端2的消息,直至所述发往客户端2的消息转发至客户端2,结束当前流程。
本实施例中,客户端可以通过查询本地的客户端列表,在本地的客户端列表中存有所述客户端的地址信息时,便可以直接将消息路由至客户端,此外,转发所述消息的对等体也可以通过查询本地的客户端列表,在本地的客户端列表中存有所述客户端的地址信息时,直接将所述消息转发至客户端,如此,不需要将消息经由接入节点转发,解决了接入节点的瓶颈问题,同时减少了对等网中消息的路由跳数。
实施例五
本实施例中,如图7所示,对等网包括对等体1、对等体2、对等体3、和客户端。
具体地,参照图7所示,对等网调整时更新对等网路由表、以及调整本地客户端列表的流程可以包括以下步骤:
步骤701,客户端选取对等体1作为自身的接入节点,并成功加入对等网;
步骤702,对等网组成及结构变更,例如,有新的对等体加入对等网、或者对等网中有对等体失效退出。
步骤703,对等网中各对等体更新自身的对等网路由表,其中,对等体1也更正死神的对等网路由表;
步骤704,对等体1将更新后的对等网路由表发送给客户端;
步骤705,客户端接收对等体1发送的对等网路由表,并更新自身保存的对等网路由表,向对等体返回更新响应;
步骤706,对等体1或客户端更新对等网中相应对等体的客户端列表。
具体地,对等体1或客户端向相应的对等体发起客户端列表的更新指示,所述相应的对等体根据所述更新指示,更新本地的客户端列表。
这里,在对等网的组成结构变更后,需要更新对等网中各对等体的客户端列表,例如,原来与所述客户端不相关的对等体,在对等网变更后,可能成为与所述客户端相关的对等体,此时,就需要向该对等体发起添加客户端地址信息的更新指示,该对等体接收到所述更新指示后,将所述客户端的地址信息保存到本地的客户端列表中,以便后续可以直接将消息发送给所述客户端;再例如,对于原来与客户端相关的对等体,在对等网变更后,可能成为与所述客户端不相关的对等体,此时,就需要向该对等体发起删除客户端地址信息的更新指示,该对等体接收到所述更新指示后,将本地客户端列表中保存的所述客户端地址信息删除。
其中,对等体1和客户端可以根据具体的对等网算法,确定对等网变更前后与所述客户端相关的对等体,由此,可以确定需要添加客户端地址信息的对等体、和/或需要删除客户端地址信息的对等体。
具体地,客户端列表的更新可以由客户端或客户端的接入节点发起,由相应的对等体执行。
实施例六
本实施例中,如图8所示,对等网包括对等体1、对等体2、对等体3、和客户端。
本发明中,客户端需要实时从其接入节点获取最新的对等网路由表,与接入节点保活,在客户端的接入节点失效后,客户端需要及时地与新的接入节点建立连接,并从新的接入节点处获得并更新的对等网路由表,以免过期的对等网路由表影响消息的正确路由。参照图8所示,接入节点失效后更新对等网路由表的流程可以包括以下步骤:
步骤801,客户端选取对等体1作为自身的接入节点,并成功加入对等网;
步骤802,客户端与对等体1保活;
具体地,客户端实时从对等体1获取对等网路由表,并根据实时获取的对等网路由表,更新本地的对等网路由表。
步骤803,客户端感知到对等体1失效;
这里,客户端在预设时间内未接收到对等体1发送的对等网路由表,则客户端与对等体1保活失败,感知到对等体1失效。
步骤804,对等网调整自身组成及结构后,由对等体2作为所述客户端的新接入节点,向所述客户端发送对等网路由表的更新消息,该更新消息中包含有当前的对等网路由表。
具体地,客户端等待对等网调整完毕后,对等网中客户端的新接入节点向客户端发送对等网路由表的更新消息;或者为防止对等网出现异常,客户端在预设的时间内未接收到新接入节点发送的对等网路由表更新信息,则主动选取新接入节点,向该新接入节点发起新的加入对等网请求,重新加入对等网,该新接入节点向所述客户端发送对等网路由表或对等网路由表更新消息。
步骤805,客户端更新本地的对等网路由表;
步骤806,客户端继续与对等体2保活。
这里,步骤806的具体实现过程与步骤802相似,在此不再赘述。
本实施例中,新的接入节点或客户端还可以按照对等网的具体算法,向对等网中相关的对等体通知所述客户端的地址信息,具体实现过程与实施例五中步骤707相似,在此不再赘述。
实施例七
本实施例中,如图9所示,对等网包括对等体1、对等体2、对等体3、和客户端。
本发明中,客户端需要实时从其接入节点获取最新的对等网路由表,与接入节点保活,在客户端失效后,客户端的接入节点需要及时通知对等网中与所述客户端相关的对等体,删除所述客户端的地址信息。参照图9所示,客户端失效后更新客户端列表的流程可以包括以下步骤:
步骤901-902,与步骤801-802完全相同;
步骤903,对等体1感知到客户端失效。
这里,对等体1在预设时间内未接收到客户端返回的更新响应,对等体1与客户端保活失败,则对等体1感知到客户端失效。
步骤904,对等体1将所述客户端的地址信息从本地的客户端列表中删除,更新本地的客户端列表;
步骤905,对等体1按照对等网的具体算法,通知对等网中存有所述客户端的地址信息的各对等体,更新客户端列表。
具体地,对等体1按照对等网的具体算法,向对等网中存有所述客户端的地址信息的各对等体发送通知消息,通知所述各对等体将所述客户端的地址信息删除;所述各对等体接收到所述通知消息后,将所述客户端的地址信息从本地的客户端列表中删除,并向所述对等体1返回通知响应。
本实施例中,对等体1按照对等网的具体算法,确定当前对等网中只有对等体2保存有所述客户端的地址信息,则向对等体2发送所述通知消息,对等体2接收所述通知消息,并将所述客户端的地址信息从本地的客户端列表中删除,向所述对等体1返回通知响应。
实施例八
本实施例中,如图10所示,对等网包括对等体1、对等体2、对等体3、和客户端。
如图10所示,客户端退出对等网时,更新客户端列表的流程可以包括如下步骤:
步骤1001,客户端选取对等体1作为自身的接入节点,并成功加入对等网;
步骤1002,客户端退出对等网;
步骤1003,客户端向对等体1发出离开对等网消息;
步骤1004,对等体1更新本地的客户端列表,将所退出客户端的地址信息从本地的客户端列表中删除;
步骤1005,对等体1或客户端,向对等网中保存有所述客户端地址信息的对等体2发送客户端离开对等网的通知消息。
具体地,对于对等网中其它已经存有该客户端地址信息的对等体,可以采用两种方式通知:一种是客户端的接入节点向对等网中存有所述客户端地址信息的对等体,发送客户端离开对等网的通知信息;另一种是由客户端向对等网中存有所述客户端地址信息的对等体,发送客户端离开对等网的通知信息。
步骤1006,对等体2接收到所述客户端离开对等网的通知消息后,更新本地的客户端列表。
具体地,所述对等体2接收到所述客户端离开对等网消息后,将所述客户端的地址信息从本地的客户端列表中删除。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (27)
1.一种对等网中消息交互的方法,其特征在于,所述方法包括:
客户端获取对等网路由表,并根据所述对等网路由表向目的对等体发送消息;和/或,对等体获取客户端的地址信息并保存到本地的客户端列表,根据所述本地的客户端列表向目的客户端发送消息。
2.根据权利要求1所述对等网中消息交互的方法,其特征在于,所述客户端获取对等网路由表,包括:
所述客户端从作为自身接入节点的对等体下载对等网路由表并保存。
3.根据权利要求1所述对等网中消息交互的方法,其特征在于,根据所述对等网路由表向目的对等体发送消息,包括:
所述客户端查询本地的对等网路由表,从所述对等网路由表中查询到目的对等体的地址信息时,直接向所述目的对等体发送消息。
4.根据权利要求1所述对等网中消息交互的方法,其特征在于,所述对等体获取客户端的地址信息并保存到本地的客户端列表,包括:
作为客户端的接入节点的对等体,获取所述客户端的地址信息,并将所述客户端的地址信息保存本地的客户端列表;
所述作为客户端的接入节点的对等体或所述客户端,将所述客户端的地址信息通知给与所述客户端相关的其他各对等体,所述其他各对等体分别将所述客户端地址信息保存到本地的客户端列表。
5.根据权利要求4所述对等网中消息交互的方法,其特征在于,所述客户端将所述客户端的地址信息通知给与所述客户端相关的其他各对等体,包括:
所述客户端根据所述对等网路由表,将自身的地址信息通知给与自身相关的对等体。
6.根据权利要求1所述对等网中消息交互的方法,其特征在于,根据所述本地的客户端列表向目的客户端发送消息,包括:
所述对等体查询本地的客户端列表,从所述客户端列表中查询到目的客户端的地址信息时,直接向所述目的客户端发送消息。
7.根据权利要求1至6任一项所述对等网中消息交互的方法,其特征在于,所述方法还包括:
所述客户端从对等体获取所述客户端列表,并根据所述客户端列表,向目的客户端发送消息。
8.根据权利要求7所述对等网中消息交互的方法,其特征在于,根据所述客户端列表,向目的客户端发送消息,包括:
所述客户端查询本地的客户端列表和本地路由表,在查询到目的客户端的地址信息时,直接向所述目的客户端发送消息。
9.根据权利要求1至6任一项所述对等网中消息交互的方法,其特征在于,所述方法还包括:
所述对等体接收到需要转发到目的客户端的消息时,查询本地的客户端列表,在本地的客户端列表中包含有所述目的客户端的地址信息时,将所述消息直接转发给所述目的客户端。
10.根据权利要求1至6任一项所述对等网中消息交互的方法,其特征在于,所述方法还包括:
客户端实时获取当前的对等网路由表,并更新本地的对等网路由表。
11.根据权利要求10所述对等网中消息交互的方法,其特征在于,所述客户端实时获取当前的对等网路由表,并更新本地的对等网路由表,为:
所述客户端与作为所述客户端接入节点的对等体保活,实时更新本地的对等网路由表。
12.根据权利要求10所述对等网中消息交互的方法,其特征在于,所述客户端实时获取当前的对等网路由表,并更新本地的对等网路由表,为:
在所述客户端的接入节点失效后,所述客户端与重新确定为接入节点的对等体保活,实时更新本地的对等网路由表。
13.根据权利要求10所述对等网中消息交互的方法,其特征在于,所述客户端实时获取当前的对等网路由表,并更新本地的对等网路由表,为:
作为所述客户端接入节点的对等体,在对等网调整后,向所述客户端发送更新后的对等网路由表,所述客户端接收所述对等网路由表,并更新本地的对等网路由表。
14.根据权利要求1至6任一项所述对等网中消息交互的方法,其特征在于,所述方法还包括:
所述对等体实时获取客户端的地址信息,并更新本地的客户端列表。
15.根据权利要求14所述对等网中消息交互的方法,其特征在于,所述对等体实时获取客户端的地址信息,并更新本地的客户端列表,包括:
在所述客户端失效后,作为所述客户端接入节点的对等体更新本地的客户端列表;
所述作为客户端的接入节点的对等体或所述客户端,通知与所述客户端相关的其他各对等体更新客户端列表,所述其他各对等体根据所述通知,分别更新本地的客户端列表。
16.根据权利要求14所述对等网中消息交互的方法,其特征在于,所述对等体实时获取客户端的地址信息,并更新本地的客户端列表,包括:
在所述客户端退出对等网后,作为所述客户端接入节点的对等体更新本地的客户端列表;
所述作为客户端的接入节点的对等体或所述客户端,通知与所述客户端相关的其他各对等体所述客户端已退出对等网,所述其他各对等体根据所述通知,分别更新本地的客户端列表。
17.根据权利要求14任一项所述对等网中消息交互的方法,其特征在于,所述对等体实时获取客户端的地址信息,并更新本地的客户端列表,包括:
在对等网调整后,作为所述客户端接入节点的对等体更新本地的客户端列表;
所述作为客户端的接入节点的对等体或所述客户端,通知与所述客户端相关的其他各对等体更新客户端列表,所述其他各对等体根据所述通知,分别更新本地的客户端列表。
18.一种客户端,其特征在于,所述客户端包括:第一获取单元和第一发送单元,其中,
第一获取单元,用于获取对等网路由表;
第一发送单元,用于根据所述第一获取单元获取的对等网路由表,向目的对等体发送消息。
19.根据权利要求18所述客户端,其特征在于,所述客户端还包括:第一存储单元,用于保存所述第一获取单元获取的对等网路由表;
所述第一获取单元,用于从客户端的接入节点下载对等网路由表。
20.根据权利要求19所述客户端,其特征在于,所述第一发送单元,用于查询所述第一存储单元保存的对等网路由表,从所述对等网路由表中查询到目的对等体的地址信息时,直接向所述目的对等体发送消息。
21.根据权利要求19或20所述客户端,其特征在于,所述客户端还包括:第一更新单元;
所述第一获取单元,用于实时获取对等网路由表;
所述第一更新单元,用于根据所述第一获取单元获取的对等网路由表,更新所述第一存储单元保存的对等网路由表。
22.一种对等体,其特征在于,所述对等体包括:第二获取单元、第二存储单元和第二发送单元,其中,
第二获取单元,用于获取客户端的地址信息并保存到所述第二存储单元保存的客户端列表中;
第二发送单元,用于根据所述第二存储单元保存的客户端列表,向目的客户端发送消息。
23.根据权利要求22所述的对等体,其特征在于,所述第二发送单元,用于查询所述第二存储单元保存的对等网路由表,从所述对等网路由表中查询到目的客户端的地址信息时,直接向所述目的客户端发送消息。
24.根据权利要求22所述的对等体,其特征在于,所述第二发送单元,还用于在接收到需转发至目的客户端的消息时,查询所述第二存储单元保存的对等网路由表,从所述对等网路由表中查询到目的客户端的地址信息时,直接向所述目的客户端发送消息。
25.根据权利要求22所述的对等体,其特征在于,所述第二获取单元,用于从客户端或作为客户端接入节点的对等体,获取所述客户端的地址信息。
26.根据权利要求22至25任一项所述的对等体,其特征在于,所述对等体还包括:第二更新单元,用于在对等网调整后、和/或客户端失效后、和/或对等网中有对等体失效后、和/或客户端退出对等网后,更新所述第二存储单元保存的客户端列表;和/或,用于在接收到作为客户端接入节点的对等体或客户端发送的通知后,根据所述通知更新所述第二存储单元保存的客户端列表。
27.一种对等网系统,其特征在于,所述系统包括:客户端和两个或两个以上的对等体,其中,
客户端,用于获取对等网路由表,并根据所述对等网路由表向目的对等体发送消息;
和/或,所述对等体,用于获取客户端的地址信息并保存到本地的客户端列表,根据所述本地的客户端列表向目的客户端发送消息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110186833.8A CN102868710B (zh) | 2011-07-05 | 2011-07-05 | 一种对等网中消息交互的方法及装置、系统 |
PCT/CN2012/077661 WO2013004139A1 (zh) | 2011-07-05 | 2012-06-27 | 一种对等网中消息交互的方法及装置、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110186833.8A CN102868710B (zh) | 2011-07-05 | 2011-07-05 | 一种对等网中消息交互的方法及装置、系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102868710A true CN102868710A (zh) | 2013-01-09 |
CN102868710B CN102868710B (zh) | 2018-03-30 |
Family
ID=47436506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110186833.8A Active CN102868710B (zh) | 2011-07-05 | 2011-07-05 | 一种对等网中消息交互的方法及装置、系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102868710B (zh) |
WO (1) | WO2013004139A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113301170A (zh) * | 2021-07-27 | 2021-08-24 | 湖南三湘银行股份有限公司 | 基于通信节点的数据处理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1988449A (zh) * | 2005-12-20 | 2007-06-27 | 中国科学院声学研究所 | 一种基于网络信息的数据分布/获取方法 |
CN101044735A (zh) * | 2004-06-29 | 2007-09-26 | 达马卡公司 | 用于对等混合通信的系统和方法 |
CN101414975A (zh) * | 2008-11-28 | 2009-04-22 | 中兴通讯股份有限公司 | 基于对等网络的服务节点选择方法及装置、索引实体 |
CN101843076A (zh) * | 2007-10-30 | 2010-09-22 | 摩托罗拉公司 | 网络上的对等链接建立的方法和设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1916816A1 (en) * | 2006-10-26 | 2008-04-30 | Alcatel Lucent | Method and devices to establish a public communication session |
CN101699801B (zh) * | 2009-10-30 | 2011-09-28 | 孙喜明 | 一种数据传输方法及传输数据的虚拟对等网络系统 |
-
2011
- 2011-07-05 CN CN201110186833.8A patent/CN102868710B/zh active Active
-
2012
- 2012-06-27 WO PCT/CN2012/077661 patent/WO2013004139A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101044735A (zh) * | 2004-06-29 | 2007-09-26 | 达马卡公司 | 用于对等混合通信的系统和方法 |
CN1988449A (zh) * | 2005-12-20 | 2007-06-27 | 中国科学院声学研究所 | 一种基于网络信息的数据分布/获取方法 |
CN101843076A (zh) * | 2007-10-30 | 2010-09-22 | 摩托罗拉公司 | 网络上的对等链接建立的方法和设备 |
CN101414975A (zh) * | 2008-11-28 | 2009-04-22 | 中兴通讯股份有限公司 | 基于对等网络的服务节点选择方法及装置、索引实体 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113301170A (zh) * | 2021-07-27 | 2021-08-24 | 湖南三湘银行股份有限公司 | 基于通信节点的数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102868710B (zh) | 2018-03-30 |
WO2013004139A1 (zh) | 2013-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108833487B (zh) | 一种tcp传输协议代理方法 | |
KR101605175B1 (ko) | 정보 중심 네트워크에서의 명칭 기반 이웃 탐색 및 멀티홉 서비스 탐색 | |
CN101699801B (zh) | 一种数据传输方法及传输数据的虚拟对等网络系统 | |
US20130254415A1 (en) | Routing requests over a network | |
US20060036747A1 (en) | System and method for resource handling of SIP messaging | |
WO2016155300A1 (zh) | 无线终端设备的远程控制系统及远程控制方法 | |
CN103166959B (zh) | 一种多径实时传输控制系统及方法 | |
US20080285436A1 (en) | Methods, systems, and computer program products for providing site redundancy in a geo-diverse communications network | |
KR20130088774A (ko) | 분할 콘텐트 전달 시스템 및 방법 | |
EP2171600A2 (en) | Assisted peer-to-peer media streaming | |
CN102045270A (zh) | 聊天服务器系统、构建聊天服务器系统的方法以及聊天系统 | |
KR101381701B1 (ko) | 데이터 메시지 처리 방법, 시스템 및 접속 서비스 노드 | |
US8706845B2 (en) | Method, apparatus, and system for maintaining status of bootstrap peer | |
KR101573197B1 (ko) | 피투피 기반 파일 전송 제어 방법 및 이를 위한 피투피 통신 제어 장치 | |
WO2021008591A1 (zh) | 数据传输方法、装置及系统 | |
JP3872051B2 (ja) | コンテンツの検索と配信を行うシステムと方法、及びプログラム | |
CN104301287A (zh) | 一种多对多会话的实现方法、网络节点、服务器及系统 | |
Jin et al. | MANET for Disaster Relief based on NDN | |
KR101144190B1 (ko) | 메시지 전송 시스템 및 방법 | |
CN102868710A (zh) | 一种对等网中消息交互的方法及装置、系统 | |
CN104995897A (zh) | 用于在ip网络中进行内容缓存和传输的方法、系统和装置 | |
CN101119249B (zh) | 一种数据下载方法及系统 | |
CN112788135B (zh) | 资源调度方法、设备及存储介质 | |
WO2009086764A1 (zh) | 在网络上提供服务的方法、网络服务实体和网络系统 | |
WO2021005756A1 (ja) | コンテンツ配信システム、ユニキャストマルチキャスト変換装置、コンテンツ配信方法及びコンテンツ配信プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |