CN1874284A - 一种用于构建簇状对等网络的分布式聚集方法 - Google Patents

一种用于构建簇状对等网络的分布式聚集方法 Download PDF

Info

Publication number
CN1874284A
CN1874284A CN 200610089345 CN200610089345A CN1874284A CN 1874284 A CN1874284 A CN 1874284A CN 200610089345 CN200610089345 CN 200610089345 CN 200610089345 A CN200610089345 A CN 200610089345A CN 1874284 A CN1874284 A CN 1874284A
Authority
CN
China
Prior art keywords
node
cluster
network
initialization
neighbor
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
Application number
CN 200610089345
Other languages
English (en)
Other versions
CN100488145C (zh
Inventor
曹佳
张国清
鲁士文
张国强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CNB2006100893454A priority Critical patent/CN100488145C/zh
Publication of CN1874284A publication Critical patent/CN1874284A/zh
Application granted granted Critical
Publication of CN100488145C publication Critical patent/CN100488145C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种用于构建簇状对等网络的分布式聚集方法,该方法包括:A.新加入对等P2P网络的节点建立自身与网络中当前活跃节点之间的初始化连接;B.建立初始化连接的节点优化所建立的初始化连接,构建簇状P2P网络。利用本发明,实现了将P2P网络中的节点聚集成不同的集群,提高了P2P网络中节点的聚集度和连通性,使运行在P2P网络上的闲聊发布机制既可以获得理想的扩散速度,又可以具有一定的可靠度,从而大大提高了P2P系统的工作效率。

Description

一种用于构建簇状对等网络的分布式聚集方法
技术领域
本发明涉及对等(Peer-to-Peer,P2P)网络技术领域,尤其涉及一种用于构建簇状P2P网络的分布式聚集方法。
背景技术
P2P网络是一个由主机自主形成的虚拟分布式网络,网络的参与者共享他们所拥有的一部分硬件资源,例如处理能力、存储能力、网络连接能力、打印机等。这些共享资源需要由网络提供服务和内容等资源,这些资源可被其它对等节点(Peer)直接访问而无需经过中间实体。在此网络中的节点既是服务和内容等资源的提供者(Server),又是服务和内容等资源的获取者(Client)。即在网络中每个节点的地位都是对等的,每个节点既充当服务器,为其它节点提供服务,同时也享用其它节点提供的服务。
因此,P2P网络可以实现目前网络无法支持的传输服务。例如全网范围的组播服务。另外,在P2P网络上面也可以部署各种不同的应用。例如文件共享系统、即时通讯软件等。根据不同的应用场景设计者需要构建不同的P2P网络拓扑,为其赋予恰当的主机路由功能,从而才能获得好的传输效率。P2P网络作为一种灵活的信息发布方式得到了人们的密切关注,使得内容制造商可以获得除电视广播以外更为自由的网络发布途径。
P2P网络在组通讯中有广泛的应用。参与通讯的节点一方面作为信息的接收者,另一方面也作为信息的转发者,直接承担着P2P应用的传输任务。但是,由于参与P2P通讯的节点受到自身或周边网络环境等因素的制约,其稳定性不好,可能随时加入或退出网络,进而也导致P2P网络的可靠性差,所以如何提高P2P网络的可靠性是一个亟待解决的重要问题。
针对此问题,目前采用了不同于传统基于树的组通讯实现机制,主要的策略是采用闲聊策略(Gossip)。闲聊策略是一种扩展性十分好的发布策略。衡量闲聊策略的指标有扩散速度、流畅性、可靠性。其中扩散速度指消息的即时性,表示每个节点收到消息体的时间先后;流畅性指每个接收方收到信息的流畅程度;可靠性指信息的可用性和动态环境下系统的鲁棒性。考虑到采用很多组通讯应用属于单源传输,即一个发送源,多个接收方,所以人们比较关心的闲聊策略流畅性和可靠性。
如果闲聊策略运作在簇状网络中,即空间距离较为接近的节点的聚集程度高,则使得网络呈簇状结构,即形成一个个集群。此时系统得到的好处有:一个集群内的节点的播放时间类似,集群内部的高连通性使得一个信息可以在一个集群内迅速地扩散开;减小了网络的传输开销,信息一般在一些彼此靠近的节点之间交换;增加了系统的健壮性,一些具有相似特性的节点聚合在一起,则会慢慢地将一些机器或者网络性能不匹配的节点排斥在外,从而形成一个彼此互惠的稳定团体;拓扑呈簇状可以将复杂的拓扑信息进行压缩,不仅可以减少网络维护的状态信息,而且可以减少存储空间和路由计算时间;在簇状网络中,每个节点主要维护集群内的节点信息,这样就加强了对所在集群的拓扑的探测力度,从而增强上下层网络的吻合程度。因此,簇状网络的研究对增强网络的可扩展性具有关键意义,闲聊策略在簇状网络中具有良好的表现。
P2P网络本身是一种分布式网络,所以基于Gossip的P2P网络组通讯应用需要一种分布式的网络聚集算法,用于形成簇状P2P网络。
作为现有的一种分布式网络的聚集算法,参见Moritz Steiner;Ernst W.Biersack.DDC:A Dynamic and Distributed Clustering Algorithm forNetworked Virtual Environments based on P2P networks.Proceeding of IEEEINFOCOM’06,Barcelona,Spain.Apr.2006,Estivill-Castro提出了划分每个节点的集群内连接和集群外连接的方法。这个方法基于长短准则:d(i,j)<Mean(i)+w×Dev(i),如果满足上述不等式,则表示节点j为节点i的集群内节点,对应的连接为集群内连接,需要保持这个连接;否则,如果不满足上述不等式,则表示节点j为节点i的集群外节点,对应的连接为集群外连接,需要断开这个连接,寻找新的更近的节点。其中d(i,j)表示节点i和节点j之间的链路延迟;Mean(i)表示节点i相邻连接权的平均值;Dev(i)表示成员i相邻连接的方差;w表示二者的一个权衡指标。但是,由于这种方法没有考虑每个节点所在群组的大小,所以经常导致一个高度聚合的网络出现不连通的现象。
作为另外一种分布式网络的聚集算法,参见Lakshmish Ramaswamy;Bugra Gedik;Ling Liu.A Distributed Approach to Node Clustering inDecentralized Peer-to-Peer Networks.IEEE Transaction on Parallel andDistributed Systems.Vol.16,No.9,Sept.2005:814-829,LakshmishRamaswamy等人提出CDC(Connectivity-based Distributed Node Clusteringscheme)方法。这个方法类似于蚁群算法,首先系统选择一些源节点,然后每个源节点向四周发布洪泛带有度量值的信息包,这些信息包每经过一个节点度量值就会根据一个约定的标准减小,并且经过的节点会记录这个变化的值,如此不停地扩散下去,直至度量值为0。最终每个节点根据记录不同源节点信息的度量值的大小,决定自己属于哪个集群。这个算法的关键问题是初始化中心节点,这是一个难解的问题,通常采用集中式方法来解决,所以CDC方法不是完全意义上的分布式方法。
发明内容
(一)要解决的技术问题
针对上述现有技术存在的不足,本发明的主要目的在于提供一种用于构建簇状P2P网络的分布式聚集方法,以实现将分散在P2P网络中的节点聚集成不同的集群,提高P2P网络中节点聚集度和连通性,使运行在P2P网络上的Gossip发布机制既可以获得理想的扩散速度,又可以具有一定的可靠度,从而提高P2P应用系统的工作效率。
(二)技术方案
为达到上述目的,本发明的技术方案是这样实现的:
一种用于构建簇状对等网络的分布式聚集方法,该方法包括:
A、新加入对等P2P网络的节点建立自身与网络中当前活跃节点之间的初始化连接;
B、建立初始化连接的节点优化所建立的初始化连接,构建簇状P2P网络。
所述步骤A包括:
A1、新加入P2P网络的节点获取网络中当前活跃节点的物理信息,根据获取的信息向当前活跃节点发送建立连接请求;
A2、接收到新加入节点请求的当前活跃节点接受接收的请求,建立自身与发送请求的新加入节点之间的初始化连接。
所述P2P网络包括一个集中服务节点,这个集中服务节点用于记录当前活跃节点信息、在接收到节点的加入请求后随机选取一定数目的当前活跃节点,并将被选取的活跃节点的物理信息返回给发送加入请求节点,步骤A1中所述新加入P2P网络的节点获取网络中当前活跃节点的物理信息包括:
新加入P2P网络的节点向所述集中服务节点发送获取当前活跃节点信息的加入请求,所述集中服务节点接收到加入请求后随机选取一定数目的当前活跃节点,并将被选取的活跃节点的物理信息返回给发送加入请求的节点。
所述P2P网络包括一个用于为新加入节点随机分配一个接入点的集中服务节点,步骤A1中所述新加入P2P网络的节点获取网络中当前活跃节点的物理信息包括:
新加入P2P网络的节点向所述集中服务节点发送获取一个接入点的加入请求,所述集中服务节点接收到加入请求后为发送请求的节点随机分配一个接入点,这个接入点为P2P网络中的活跃节点,并将分配的这个接入点返回给发送加入请求的节点;
新加入节点向接入点发送一定数目且具有随机TTL值的游走包,所述游走包从接入点向整个P2P网络扩散,采用的扩散方式是节点收到游走包后如果游走包需要继续游走下去,则该节点随机选择一个非来源方的邻居节点并且将游走包转发给选择的邻居节点,游走包每到达一个节点,其TTL值就减1,当TTL减至0时,所述游走包到达的节点就被选中,作为新加入节点的邻居节点之一,由此新加入节点获取所述邻居节点的物理信息。
步骤B中所述建立初始化连接的节点优化所建立的初始化连接包括:
B1、建立初始化连接的节点对建立的初始化连接进行集群内和集群外分类,并按初始化连接所属的类别将初始化连接分别填入到节点自身的邻居列表中;
B2、建立初始化连接的节点从自身邻居列表信息中获取自身邻居列表中节点的邻居列表,根据获取的信息估计其所处集群包含的节点数目;
B3、建立初始化连接的节点按照一定的准则重置集群外节点之间的连接。
步骤B1中所述建立初始化连接的节点对建立的初始化连接进行集群内和集群外分类包括:
建立初始化连接的节点按照长短准则,将建立的初始化连接分为集群内连接和集群外连接。
所述建立初始化连接的节点按照长短准则对建立的初始化连接进行分类的过程包括:
建立初始化连接的节点计算相邻连接延迟的平均值Mean,计算相邻连接延迟的方差Dev,并假设w=0.1,如果某个相邻连接的延迟d小于Mean+w×Dev,则该连接属于集群内连接,与该连接对应的节点为集群内邻居节点;否则,该连接属于集群外连接,与该连接对应的节点为集群外邻居节点。
所述步骤B2包括:建立初始化连接的节点向自身邻居列表中的节点发送请求,获取自身邻居列表中节点的邻居列表,并根据获取的信息采用抽样估计的方法来估计其所处集群的节点数目。
所述获取的自身邻居列表中节点的邻居列表至少包括:邻居节点的邻居节点的ID、邻居节点的邻居节点的物理通讯地址、邻居节点的邻居节点之间的关系。
所述采用的抽样估计方法为简单估计方法,所述采用简单估计方法估计其所处集群的节点数目的过程包括:
当节点A收到多个来自邻居的邻居列表信息后,采用统计的方式获取表项包含的信息,主要统计的信息是每个节点周边的集群内节点的数目总和;这个过程基于假设:如果邻居节点bi是节点a的集群内节点,则节点bi的集群内邻居节点ci也是节点a的集群内节点;
每个节点由此统计获得周边集群内链路的数目,统计总的信息数Nt和实际有的节点Ni;
当节点A获取了邻居的邻居列表信息后,根据任意节点i的集群内邻居节点的集群内邻居节点也是这个节点i的集群内邻居节点的假设,统计其中的集群内节点的信息项,记为Nt个,其中可能存在几个信息项同时指向一个节点的情况,因此有效信息项为Ni个,表示Ni个节点;设N表示待估计的所在集群的规模,
Nt log ( 1 - 1 N ) = log ( 1 - N i N )
通过牛顿插值法解出这个N值,即为节点A所在集群的节点数目的估计值。
步骤B3中所述建立初始化连接的节点按照下列任一种准则重置所已经建立的集群外节点之间的连接:
准则1:以大的概率断开与规模小的集群的连接;
准则2:当两个具有连接的节点彼此都处于有一定规模的集群内时,需要以一定的概率保证所述连接。
准则3:保持与规模大的集群的连接。
所述节点A和节点B为两个任意节点,所述建立初始化连接的节点按照上述准则重置集群外节点之间连接的过程包括:
节点A认为节点B是集群内节点,但是节点B认为节点A是集群外节点,即节点B处于节点数目多的集群中,节点A处于节点数目少的集群中,则节点A保持自身与节点B之间的连接;
节点A认为节点B是集群外节点,但是节点B认为节点A是集群内节点,即节点A处于节点数目多的集群中,节点B处于节点数目少的集群中,则节点A倾向于断开节点B之间的连接;
节点A和节点B彼此都认为对方是集群外节点,即节点A和节点B都会认为对方处于节点数目多的集群中,则节点A和节点B都倾向于以一定的概率保持彼此之间的连接;
节点A和节点B都认为彼此是集群内节点,则节点A和节点B会保持彼此之间的连接。
当节点的一个连接被断开后,步骤B3进一步包括:节点从自身集群内寻找新的节点,并与之建立新的连接。
(三)有益效果
从上述技术方案可以看出,本发明具有以下有益效果:
1、利用本发明,新加入P2P网络的节点通过建立自身与网络中当前活跃节点之间的初始化连接,然后P2P网络中建立初始化连接的节点优化所述建立的初始化连接,构建了簇状P2P网络,实现了将分散在P2P网络中的节点聚集成不同的集群,提高了P2P网络中节点的聚集度和连通性,使运行在P2P网络上的Gossip发布机制既可以获得理想的扩散速度,又可以具有一定的可靠度,从而大大提高了P2P应用系统的工作效率。
2、本发明充分利用了P2P网络自主网络的特征,适合节点自己组建适合自己的P2P网络,每个节点只需要进行有限的测试,就可以组建出一个合理簇状P2P网络。
3、在本发明中,每个节点的工作基于局部信息,是一种完全分布的实现方案,其中每个节点都可以从自己的角度来看待整个P2P网络。
4、本发明在网络连接优化阶段,每个节点只接收并处理来自邻居节点的拓扑信息或者请求信息,所以在一定程度上保证了整个P2P网络系统的安全性,能够有效地阻止恶意拓扑信息的扩散。
附图说明
图1为本发明提供的用于构建簇状P2P网络分布式聚集总体技术方案的实现流程图;
图2为本发明实施例中用于构建簇状P2P网络分布式聚集的方法流程图;
图3为本发明实施例中节点获取的P2P网络中当前活跃节点物理信息的示意图;
图4为本发明实施例中节点获取的自身邻居列表中节点邻居列表的示意图;
图5为本发明实施例中节点A与节点B之间聚集关系的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
如图1所示,图1为本发明提供的用于构建簇状P2P网络分布式聚集总体技术方案的实现流程图,该方法包括以下步骤:
步骤101:新加入P2P网络的节点建立自身与网络中当前活跃节点之间的初始化连接;
步骤102:建立初始化连接的节点优化所述建立的初始化连接,构建簇状P2P网络。
上述步骤101进一步包括:
步骤1011:新加入P2P网络的节点获取网络中当前活跃节点的物理信息,根据获取的信息向当前活跃节点发送建立连接请求;
步骤1012:接收到新加入节点请求的当前活跃节点接受接收的请求,建立自身与发送请求的新加入节点之间的初始化连接。
在上述步骤1011中,新加入P2P网络的节点获取网络中当前活跃节点的信息时,至少可以采用集中式方案和分布式方案。
其中,在采用集中式方案时,P2P网络中有一个集中服务点,这个集中服务点用于记录当前活跃节点信息、在接收到节点的加入请求后随机选取一定数目的当前活跃节点,并将被选取的活跃节点的物理信息返回给发送加入请求的节点。新加入P2P网络的节点向所述集中服务节点发送获取当前活跃节点物理信息的加入请求,所述集中服务节点接收到加入请求后随机选取一定数目的当前活跃节点,并将被选取的活跃节点的物理信息返回给发送加入请求的节点。
在采用分布式方案时,P2P网络中也有一个集中服务点,这个集中服务点用于为新加入P2P网络的节点随机分配一个接入点。新加入P2P网络的节点向所述集中服务节点发送获取一个接入点的加入请求,所述集中服务节点接收到加入请求后为发送请求的节点随机分配一个接入点,这个接入点为P2P网络中的活跃节点,并将分配的这个接入点返回给发送加入请求的节点;新加入节点向接入点发送一定数目且具有随机TTL值的游走包,所述游走包从接入点向整个P2P网络扩散,采用的扩散方式是节点收到游走包后如果游走包需要继续游走下去,则该节点随机选择一个非来源方的邻居节点并且将游走包转发给选择的邻居节点,游走包每到达一个节点,其TTL值就减1,当TTL减至0时,所述游走包到达的节点就被选中,作为新加入节点的邻居节点之一,由此新加入节点获取所述邻居节点的物理信息。虽然分布式方案中也有一个集中服务点,用来给每个新加入P2P网络的节点随机分配一个接入点,但是节点获取当前活跃的随机节点的物理信息的过程没有该集中服务点的参与。
在上述步骤1011中,新加入P2P网络的节点获取网络中当前活跃节点的信息后,将根据获取的信息向当前活跃节点发送建立连接的请求,以建立自身与当前活跃节点之间的连接。
在上述步骤1012中,接收到新加入节点请求的当前活跃节点一旦同意与新加入节点建立连接,即当前活跃节点接受接收的请求,则建立自身与发送请求的新加入节点之间的初始化连接,彼此就可以交换所拥有的资源信息和网络拓扑信息,从而完成初始化连的建立。
上述步骤102中建立初始化连接的节点优化所述建立的初始化连接包括:
步骤1021:建立初始化连接的节点对建立的初始化连接进行集群内和集群外分类,并按初始化连接所属的类别将初始化连接分别填入到节点自身的邻居列表中;
在本发明中,P2P网络中的节点共同维护一个邻居列表,列表中网络拓扑信息包括:邻居节点ID、自己和邻居节点之间的度量值,其中度量值用于作为衡量聚集程度的标准;
步骤1022:建立初始化连接的节点从自身邻居列表信息中获取自身邻居列表中节点的邻居列表,根据获取的信息估计其所处集群包含的节点数目;
步骤1023:建立初始化连接的节点按照一定的准则重置集群外节点之间的连接。
在上述步骤1021中所述建立初始化连接的节点对建立的初始化连接进行集群内和集群外分类包括:建立初始化连接的节点按照长短准则,将建立的初始化连接分为集群内连接和集群外连接。
所述建立初始化连接的节点按照长短准则对建立的初始化连接进行分类的过程包括:建立初始化连接的节点计算相邻连接延迟的平均值Mean,计算相邻连接延迟的方差Dev,并假设w=0.1,如果某个相邻连接的延迟d小于Mean+w×Dev,则该连接属于集群内连接,与该连接对应的节点为集群内邻居节点;否则,该连接属于集群外连接,与该连接对应的节点为集群外邻居节点。
在上述步骤1022包括:建立初始化连接的节点向自身邻居列表中的节点发送请求,获取自身邻居列表中节点的邻居列表,并根据获取的信息采用抽样估计的方法来估计其所处集群的节点数目,即集群的规模大小。所述获取的自身邻居列表中节点的邻居列表至少包括:邻居节点的邻居节点的ID、邻居节点的邻居节点的物理通讯地址、邻居节点的邻居节点之间的关系。
上述步骤1023中所述建立初始化连接的节点按照下列任一种准则重置所已经建立的集群外节点之间的连接:
准则1:以大的概率断开与规模小的集群的连接;
准则2:当两个具有连接的节点彼此都处于有一定规模的集群内时,需要以一定的概率保证所述连接。
准则3:保持与规模大的集群的连接。
实施例
基于图1所示的本发明提供的用于构建簇状P2P网络分布式聚集总体技术方案的实现流程图,图2示出了本发明实施例中用于构建簇状P2P网络分布式聚集的方法流程图。在本实施里中,新加入P2P网络的节点采用集中式方案获取当前活跃节点的信息,该方法包括以下步骤:
步骤201:新加入P2P网络的节点向集中服务节点发送获取当前活跃节点信息的加入请求。
步骤202:集中服务节点接收到加入请求后随机选取一定数目的当前活跃节点,并将被选择的活跃节点的物理信息返回给发送加入请求的节点;
本步骤节点的物理信息可参见图3,图3为本发明实施例中节点获取的P2P网络中当前活跃节点物理信息的示意图。
步骤203:新加入P2P网络的节点获取网络中当前活跃节点的信息后,根据获取的信息向当前活跃节点发送建立连接请求,以建立自身与当前活跃节点之间的连接;
步骤204:接收到新加入节点请求的当前活跃节点一旦同意与新加入节点建立连接,即当前活跃节点接受接收的请求,则建立自身与发送请求的新加入节点之间的初始化连接,彼此就可以交换所拥有的资源信息和网络拓扑信息,从而完成初始化连的建立。
在完成初始化连的建立后,所形成的网络是一个纯粹的随机网络。考虑到簇状网络适合于Gossip发布机制,所以每个节点需要定期优化相邻连接,从而既有助于形成簇状网络,也有助于在动态的网络环境下仍然保证网络的连通性。下面对如何优化相邻连接进行详细说明。
步骤205:建立初始化连接的节点按照长短准则,将建立的初始化连接分为集群内连接和集群外连接;
在本步骤中,所述建立初始化连接的节点按照长短准则对建立的初始化连接进行分类的过程包括:建立初始化连接的节点计算相邻连接延迟的平均值Mean,计算相邻连接延迟的方差Dev,并假设w=0.1,如果某个相邻连接的延迟d小于Mean+w×Dev,则该连接属于集群内连接,与该连接对应的节点为集群内邻居节点;否则,该连接属于集群外连接,与该连接对应的节点为集群外邻居节点。
步骤206:建立初始化连接的节点按初始化连接所属的类别将初始化连接分别填入到节点自身的邻居列表中。
步骤207:建立初始化连接的节点向自身邻居列表中的节点发送请求,获取自身邻居列表中节点的邻居列表;
在本步骤中,所述获取的自身邻居列表中节点的邻居列表至少包括:邻居节点的邻居节点的ID、邻居节点的邻居节点的物理通讯地址、邻居节点的邻居节点之间的关系;可参见图4,图4为本发明实施例中节点获取的自身邻居列表中节点邻居列表的示意图。
步骤208:建立初始化连接的节点向自身邻居列表中的节点发送请求,获取自身邻居列表中节点的邻居列表,并根据获取的信息估计其所处集群的节点数目,即估计集群规模的大小;
在本步骤中,在节点估计集群内节点的数目时基于这样一个假设:即假设任意节点i的集群内邻居节点的集群内邻居节点也是这个节点i的集群内邻居节点,即节点A已经获取了一定数目的节点信息。这个相当于随机抽样的样本总量,节点A可以采用简单估计法或者其它总量估计方法来估计总量,即估计集群内节点的数目。
在本实施例中,如果节点A采用简单估计方法来估计其所处集群的节点数目,则其具体实现过程如下:
当节点A收到多个来自邻居的邻居列表信息后,采用统计的方式获取表项包含的信息,主要统计的信息是每个节点周边的集群内节点的数目总和。这个过程基于假设:如果邻居节点bi是节点a的集群内节点,则节点bi的集群内邻居节点ci也是节点a的集群内节点。每个节点由此统计获得周边集群内链路的数目,统计总的信息数Nt和实际有的节点Ni。
当节点A获取了邻居的邻居列表信息后,根据“任意节点i的集群内邻居节点的集群内邻居节点也是这个节点i的集群内邻居节点”的假设,统计其中的集群内节点的信息项,记为Nt个,其中可能存在几个信息项同时指向一个节点的情况,因此有效信息项为Ni个,表示Ni个节点。设N表示待估计的所在集群的规模。
Nt log ( 1 - 1 N ) = log ( 1 - N i N )
通过牛顿插值法解出这个N值,即为节点A所在集群的规模的估计值。
步骤209:建立初始化连接的节点重置所组成集群外节点之间的连接;
在本步骤中,所述建立初始化连接的节点可以按照下列准则重置已建立的集群外节点之间的连接:
准则1:以大的概率断开与规模小的集群的连接;
准则2:当两个具有连接的节点彼此都处于有一定规模的集群内时,需要以一定的概率保证所述连接。
准则3:保持与规模大的集群的连接;
根据上述准则,如果节点A和节点B为两个任意节点,则建立初始化连接的节点按照所述准则重置所组成集群内节点之间连接的过程如图5所示,图5为本发明实施例中节点A与节点B之间聚集关系的示意图;具体重置过程包括:
节点A认为节点B是集群内节点,但是节点B认为节点A是集群外节点,即节点B处于节点数目多的集群中,节点A处于节点数目少的集群中,则节点A保持自身与节点B之间的连接;
或者节点A认为节点B是集群外节点,但是节点B认为节点A是集群内节点,即节点A处于节点数目多的集群中,节点B处于节点数目少的集群中,则节点A倾向于断开节点B之间的连接;
或者节点A和节点B彼此都认为对方是集群外节点,即节点A和节点B都会认为对方处于节点数目多的集群中,则节点A和节点B都倾向于以一定的概率保持彼此之间的连接;
或者节点A和节点B都认为彼此是集群内节点,则节点A和节点B会保持彼此之间的连接。
另外,当节点的一个连接被断开后,节点将从自身集群内寻找新的节点,并与之建立新的连接,从而保证自己总相邻连接的数目保持不变。
另外,每个节点可以定期运行步骤205、步骤206、步骤207、步骤208和步骤209,从而保证P2P网络在动态环境下的聚集状态。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (13)

1、一种用于构建簇状对等网络的分布式聚集方法,其特征在于,该方法包括:
A、新加入对等P2P网络的节点建立自身与网络中当前活跃节点之间的初始化连接;
B、建立初始化连接的节点优化所建立的初始化连接,构建簇状P2P网络。
2、根据权利要求1所述的用于构建簇状对等网络的分布式聚集方法,其特征在于,所述步骤A包括:
A1、新加入P2P网络的节点获取网络中当前活跃节点的物理信息,根据获取的信息向当前活跃节点发送建立连接请求;
A2、接收到新加入节点请求的当前活跃节点接受接收的请求,建立自身与发送请求的新加入节点之间的初始化连接。
3、根据权利要求2所述的用于构建簇状对等网络的分布式聚集方法,其特征在于,所述P2P网络包括一个集中服务节点,这个集中服务节点用于记录当前活跃节点信息、在接收到节点的加入请求后随机选取一定数目的当前活跃节点,并将被选取的活跃节点的物理信息返回给发送加入请求节点,步骤A1中所述新加入P2P网络的节点获取网络中当前活跃节点的物理信息包括:
新加入P2P网络的节点向所述集中服务节点发送获取当前活跃节点信息的加入请求,所述集中服务节点接收到加入请求后随机选取一定数目的当前活跃节点,并将被选取的活跃节点的物理信息返回给发送加入请求的节点。
4、根据权利要求2所述的用于构建簇状对等网络的分布式聚集方法,其特征在于,所述P2P网络包括一个用于为新加入节点随机分配一个接入点的集中服务节点,步骤A1中所述新加入P2P网络的节点获取网络中当前活跃节点的物理信息包括:
新加入P2P网络的节点向所述集中服务节点发送获取一个接入点的加入请求,所述集中服务节点接收到加入请求后为发送请求的节点随机分配一个接入点,这个接入点为P2P网络中的活跃节点,并将分配的这个接入点返回给发送加入请求的节点;
新加入节点向接入点发送一定数目且具有随机TTL值的游走包,所述游走包从接入点向整个P2P网络扩散,采用的扩散方式是节点收到游走包后如果游走包需要继续游走下去,则该节点随机选择一个非来源方的邻居节点并且将游走包转发给选择的邻居节点,游走包每到达一个节点,其TTL值就减1,当TTL减至0时,所述游走包到达的节点就被选中,作为新加入节点的邻居节点之一,由此新加入节点获取所述邻居节点的物理信息。
5、根据权利要求1所述的用于构建簇状对等网络的分布式聚集方法,其特征在于,步骤B中所述建立初始化连接的节点优化所建立的初始化连接包括:
B1、建立初始化连接的节点对建立的初始化连接进行集群内和集群外分类,并按初始化连接所属的类别将初始化连接分别填入到节点自身的邻居列表中;
B2、建立初始化连接的节点从自身邻居列表信息中获取自身邻居列表中节点的邻居列表,根据获取的信息估计其所处集群包含的节点数目;
B3、建立初始化连接的节点按照一定的准则重置集群外节点之间的连接。
6、根据权利要求5所述的用于构建簇状对等网络的分布式聚集方法,其特征在于,步骤B1中所述建立初始化连接的节点对建立的初始化连接进行集群内和集群外分类包括:
建立初始化连接的节点按照长短准则,将建立的初始化连接分为集群内连接和集群外连接。
7、根据权利要求6所述的用于构建簇状对等网络的分布式聚集方法,其特征在于,所述建立初始化连接的节点按照长短准则对建立的初始化连接进行分类的过程包括:
建立初始化连接的节点计算相邻连接延迟的平均值Mean,计算相邻连接延迟的方差Dev,并假设w=0.1,如果某个相邻连接的延迟d小于Mean+w×Dev,则该连接属于集群内连接,与该连接对应的节点为集群内邻居节点;否则,该连接属于集群外连接,与该连接对应的节点为集群外邻居节点。
8、根据权利要求5所述的用于构建簇状对等网络的分布式聚集方法,其特征在于,所述步骤B2包括:
建立初始化连接的节点向自身邻居列表中的节点发送请求,获取自身邻居列表中节点的邻居列表,并根据获取的信息采用抽样估计的方法来估计其所处集群的节点数目。
9、根据权利要求8所述的用于构建簇状对等网络的分布式聚集方法,其特征在于,所述获取的自身邻居列表中节点的邻居列表至少包括:
邻居节点的邻居节点的ID、邻居节点的邻居节点的物理通讯地址、邻居节点的邻居节点之间的关系。
10、根据权利要求8所述的用于构建簇状对等网络的分布式聚集方法,其特征在于,所述采用的抽样估计方法为简单估计方法,所述采用简单估计方法估计其所处集群的节点数目的过程包括:
当节点A收到多个来自邻居的邻居列表信息后,采用统计的方式获取表项包含的信息,主要统计的信息是每个节点周边的集群内节点的数目总和;这个过程基于假设:如果邻居节点bi是节点a的集群内节点,则节点bi的集群内邻居节点ci也是节点a的集群内节点;
每个节点由此统计获得周边集群内链路的数目,统计总的信息、数Nt和实际有的节点Ni;
当节点A获取了邻居的邻居列表信息后,根据任意节点i的集群内邻居节点的集群内邻居节点也是这个节点i的集群内邻居节点的假设,统计其中的集群内节点的信息项,记为Nt个,其中可能存在几个信息项同时指向一个节点的情况,因此有效信息项为Ni个,表示Ni个节点;设N表示待估计的所在集群的规模,
Nt log ( 1 - 1 N ) = log ( 1 - N i N )
通过牛顿插值法解出这个N值,即为节点A所在集群的节点数目的估计值。
11、根据权利要求5所述的用于构建簇状对等网络的分布式聚集方法,其特征在于,步骤B3中所述建立初始化连接的节点按照下列任一种准则重置所已经建立的集群外节点之间的连接:
准则1:以大的概率断开与规模小的集群的连接;
准则2:当两个具有连接的节点彼此都处于有一定规模的集群内时,需要以一定的概率保证所述连接。
准则3:保持与规模大的集群的连接。
12、根据权利要求11所述的用于构建簇状对等网络的分布式聚集方法,其特征在于,所述节点A和节点B为两个任意节点,所述建立初始化连接的节点按照上述准则重置集群外节点之间连接的过程包括:
节点A认为节点B是集群内节点,但是节点B认为节点A是集群外节点,即节点B处于节点数目多的集群中,节点A处于节点数目少的集群中,则节点A保持自身与节点B之间的连接;
节点A认为节点B是集群外节点,但是节点B认为节点A是集群内节点,即节点A处于节点数目多的集群中,节点B处于节点数目少的集群中,则节点A倾向于断开节点B之间的连接;
节点A和节点B彼此都认为对方是集群外节点,即节点A和节点B都会认为对方处于节点数目多的集群中,则节点A和节点B都倾向于以一定的概率保持彼此之间的连接;
节点A和节点B都认为彼此是集群内节点,则节点A和节点B会保持彼此之间的连接。
13、根据权利要求5所述的用于构建簇状对等网络的分布式聚集方法,其特征在于,当节点的一个连接被断开后,步骤B3进一步包括:
节点从自身集群内寻找新的节点,并与之建立新的连接。
CNB2006100893454A 2006-06-21 2006-06-21 一种用于构建簇状对等网络的分布式聚集方法 Active CN100488145C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100893454A CN100488145C (zh) 2006-06-21 2006-06-21 一种用于构建簇状对等网络的分布式聚集方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100893454A CN100488145C (zh) 2006-06-21 2006-06-21 一种用于构建簇状对等网络的分布式聚集方法

Publications (2)

Publication Number Publication Date
CN1874284A true CN1874284A (zh) 2006-12-06
CN100488145C CN100488145C (zh) 2009-05-13

Family

ID=37484559

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100893454A Active CN100488145C (zh) 2006-06-21 2006-06-21 一种用于构建簇状对等网络的分布式聚集方法

Country Status (1)

Country Link
CN (1) CN100488145C (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009155817A1 (zh) * 2008-06-27 2009-12-30 华为技术有限公司 一种维护引导节点状态的方法、装置和系统
CN101854301A (zh) * 2010-06-02 2010-10-06 中兴通讯股份有限公司 网络节点链路断开方法及装置
WO2010118672A1 (zh) * 2009-04-13 2010-10-21 华为技术有限公司 对点到点网络中的节点进行分组的方法和装置
CN101472166B (zh) * 2007-12-26 2011-11-16 华为技术有限公司 一种内容缓存、查询方法及点对点媒体传输系统
CN102571887A (zh) * 2010-12-28 2012-07-11 英属维京群岛商速位互动股份有限公司 无线通信系统、点对点传输方法与通信装置
CN101617518B (zh) * 2007-02-19 2012-09-05 艾利森电话股份有限公司 用于在通信网络中实现用户群服务的方法和装置
CN103533597A (zh) * 2013-10-14 2014-01-22 李军 非结构化的移动对等覆盖网及其构建和维护方法
CN103931159A (zh) * 2011-10-05 2014-07-16 皮里亚埃利斯姆有限公司 实时流媒体p2p网络中配置对等端的方法和设备
CN105743980A (zh) * 2016-02-03 2016-07-06 上海理工大学 一种自组织的云资源共享分布式对等网络模型构造方法
CN108712470A (zh) * 2018-04-20 2018-10-26 南京天溯自动化控制系统有限公司 一种路由数据同步方法及装置、计算机装置和存储介质
CN109451039A (zh) * 2018-12-07 2019-03-08 上海分布信息科技有限公司 一种网络信息传输处理方法
CN110990448A (zh) * 2019-10-28 2020-04-10 北京大学 一种支持容错的分布式查询方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100495995C (zh) * 2003-04-08 2009-06-03 国家数字交换系统工程技术研究中心 因特网中构造对等网络及获取该网络中共享信息的方法

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101617518B (zh) * 2007-02-19 2012-09-05 艾利森电话股份有限公司 用于在通信网络中实现用户群服务的方法和装置
CN101472166B (zh) * 2007-12-26 2011-11-16 华为技术有限公司 一种内容缓存、查询方法及点对点媒体传输系统
US8706845B2 (en) 2008-06-27 2014-04-22 Huawei Technologies Co., Ltd. Method, apparatus, and system for maintaining status of bootstrap peer
WO2009155817A1 (zh) * 2008-06-27 2009-12-30 华为技术有限公司 一种维护引导节点状态的方法、装置和系统
CN101616171B (zh) * 2008-06-27 2013-08-28 华为技术有限公司 一种维护引导节点状态的方法、装置和系统
WO2010118672A1 (zh) * 2009-04-13 2010-10-21 华为技术有限公司 对点到点网络中的节点进行分组的方法和装置
CN101854301A (zh) * 2010-06-02 2010-10-06 中兴通讯股份有限公司 网络节点链路断开方法及装置
CN102571887A (zh) * 2010-12-28 2012-07-11 英属维京群岛商速位互动股份有限公司 无线通信系统、点对点传输方法与通信装置
CN103931159A (zh) * 2011-10-05 2014-07-16 皮里亚埃利斯姆有限公司 实时流媒体p2p网络中配置对等端的方法和设备
CN103931159B (zh) * 2011-10-05 2017-03-15 皮里亚埃利斯姆有限公司 实时流媒体p2p网络中配置对等端的方法和设备
CN103533597A (zh) * 2013-10-14 2014-01-22 李军 非结构化的移动对等覆盖网及其构建和维护方法
CN103533597B (zh) * 2013-10-14 2016-08-31 李军 非结构化的移动对等覆盖网及其构建和维护方法
CN105743980A (zh) * 2016-02-03 2016-07-06 上海理工大学 一种自组织的云资源共享分布式对等网络模型构造方法
CN108712470A (zh) * 2018-04-20 2018-10-26 南京天溯自动化控制系统有限公司 一种路由数据同步方法及装置、计算机装置和存储介质
CN109451039A (zh) * 2018-12-07 2019-03-08 上海分布信息科技有限公司 一种网络信息传输处理方法
CN109451039B (zh) * 2018-12-07 2021-06-04 上海分布信息科技有限公司 一种网络信息传输处理方法
CN110990448A (zh) * 2019-10-28 2020-04-10 北京大学 一种支持容错的分布式查询方法及装置
CN110990448B (zh) * 2019-10-28 2021-06-25 北京大学 一种支持容错的分布式查询方法及装置

Also Published As

Publication number Publication date
CN100488145C (zh) 2009-05-13

Similar Documents

Publication Publication Date Title
CN1874284A (zh) 一种用于构建簇状对等网络的分布式聚集方法
Yang et al. An efficient hybrid peer-to-peer system for distributed data sharing
US8358652B2 (en) Apparatus, system and method for reliable, fast, and scalable multicast message delivery in service overlay networks
Dhanaraj et al. Hybrid and dynamic clustering based data aggregation and routing for wireless sensor networks
CN101069392A (zh) 在ad hoc网络中用于动态适配服务质量标准的方法和系统
CN1691619A (zh) 自组织网络的实现方法
CN1968164A (zh) 基于全局Internet拓扑知识的P2P应用构建方法
Mazaheri et al. Qos based and energy aware multi-path hierarchical routing algorithm in wsns
CN1625119A (zh) 构建于结构化P2P网络之上的pub/sub系统的路由方法
CN1716955A (zh) 一种覆盖网络组播协议技术
Chen et al. Weighted overlay design for topic-based publish/subscribe systems on geo-distributed data centers
CN111866438B (zh) 用户体验驱动的多方视频会议的转码和组播路由方法及装置
CN1937553B (zh) 基于流媒体数据帧的对等网络数据调度方法
Wakamiya et al. Toward overlay network symbiosis
Chen et al. Design and implementation of an anycast services discovery in mobile ad hoc networks
Byun et al. Hypo: a peer-to-peer based hybrid overlay structure
Apolonia et al. SELECT: A distributed publish/subscribe notification system for online social networks
Famaey et al. A latency-aware algorithm for dynamic service placement in large-scale overlays
Fantacci et al. A novel routing algorithm for mobile pervasive computing
Gilbert et al. Peer-to-peer data replication meets delay tolerant networking
Gurses et al. Maximum utility peer selection for p2p streaming in wireless ad hoc networks
CN1710884A (zh) 一种支持多QoS约束的多播路由方法
Chaudet et al. Building an efficient overlay for publish/subscribe in wireless sensor networks
Hsu et al. Message transmission techniques for low traffic P2P services
Guo et al. An enhanced p4p-based pastry routing algorithm for P2P network

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant