基于节点临近度估计的对等网络资源搜索优化方法

文档序号:7771075阅读:249来源:国知局
基于节点临近度估计的对等网络资源搜索优化方法
【专利摘要】本发明是一种基于节点临近度估计的对等网络资源搜索优化方法。该方法结合了混合式分层P2P网络拓扑结构,主要用于优化P2P网络资源搜索过程,解决P2P网络逻辑拓扑与物理拓扑失配、节点异构等问题。考虑到一般情况下,各主机通常选择与物理上邻近的域名解析服务器相连,基于这一点,本发明运用余弦相似度原理公式将具有相同或相近域名解析服务器的主机根据节点临近度估计值划分到一个P2P群组内,使得P2P应用在搜索和下载资源过程中尽可能选择本地群组内部资源或物理距离较接近的资源节点,降低在域间或骨干网络上产生的不必要流量,提高资源搜索效率,促进P2P流量优化。
【专利说明】基于节点临近度估计的对等网络资源搜索优化方法
【技术领域】
[0001]本发明涉及一种应用于对等网络(P2P, PeertoPeer)的基于节点临近度估计的资源搜索优化方法,具体应用在P2P网络资源搜索过程中,属于网络通信【技术领域】。
【背景技术】
[0002]近年来,互联网用户数飞速增长,P2P应用得到了空前的发展,用户数占据了互联网用户的绝大部分。在P2P促使网络空前活跃的同时,P2P流量占据了大量网络带宽,消耗了大量网络资源,导致了网络关键链路拥塞和其它互联网应用性能急剧下降。
[0003]现有研究工作表明:P2P过度消耗网络资源的重要原因之一是P2P应用在资源搜索节点选择上的随意性。这种随意性主要源于P2P网络中逻辑拓扑和实际物理拓扑的失配,在P2P网络中逻辑相邻的节点可能在物理网络中相隔很远,这就给P2P路由带来了不便。P2P路由是根据节点查询请求基于逻辑拓扑找到P2P网络中相应资源信息存储的位置,其不是基于物理拓扑实现的。事实上,局域网或自治域内节点之间的查找,在下一跳的P2P路由过程中,IP路由可能往返于局域网或自治域内外之间,不能保证每一跳的合理性。可能存在两节点逻辑距离很近、但物理距离很远的情况发生,从而可能导致部分P2P流量频繁穿越运营商网络和骨干链路,造成P2P路由效率低下,查询时延较大。
[0004]在P2P网络中,节点的异构性也是值得考虑的。一般来说,大多数P2P网络中对等节点的地位设置是平等的。然而这种平等和实际情况存在着一定的差距。事实上,P2P网络中的各节点存在普遍的差异性,每个节点在存储能力、CPU能力、网络能力以及节点在线时间长短等方面都可能存在差异。然而在大多数P2P网络中均没有考虑这些节点之间的差异,而是将所有节点都平等地看待,这样可能会引起存储负载和路由负载不均衡等一系列问题,造成对等节点负载失衡,浪费大量的可用资源。由于P2P节点的在线活动时间也存在着巨大的差异,节点频繁加入和退出可能会影响网络的稳定性。而且,当网络中节点数目达到一定数量时,网络拓扑维护以及网络中的流量超过大部分节点的最大负载极限时,很容易造成网络的突然崩溃。
[0005]因此,当前P2P网络中逻辑拓扑和实际物理拓扑失配、节点异构是亟待解决的问题,其对于提升P2P应用性能、提高网络资源搜索效率均有着重要意义。

【发明内容】

[0006]技术问题:本发明针对P2P网络逻辑拓扑和物理拓扑失配问题而导致路由低效与节点异构引起的负载失衡等,提出了一种混合式的分层P2P拓扑结构,更进一步,考虑到节点的实际物理地址和节点性能的差异,设计了一种基于节点临近度估计的对等网络资源搜索优化方法,将网络中的节点按照节点临近度估计值划分为不同的群组,群组之间互连构成分层分布式的P2P网络。
[0007]技术方案:这种分层分布式的P2P网络分为两层,主干网层和子网层。上层主干网由超级节点组成一个自适应的P2P网络,而下层的网络由一个超级节点,一个备份节点和若干个普通节点组成一个以本组超级节点为中心服务器的群组。实际数据存放在普通节点上,超级节点保存数据索引并负责响应本组普通节点请求。群组的划分基于节点临近度估计值,参照了节点的物理地址,使得物理地址邻近的节点被分在同一个群组内,保证了 P2P网络逻辑拓扑和物理拓扑的一致性,以减少不必要的跨域流量,从而提高P2P路由效率和资源搜索效率。
[0008]为了优化P2P网络资源搜索方法,提高资源搜索效率,我们引入了一种基于节点临近度估计的对等网络资源搜索优化方法。节点临近度估计需要用到域名解析服务器的一些信息。域名解析服务器(DNS, Domain Name System)是指保存有网络中主机的域名和对应的IP地址,并具有将域名转换为IP地址功能的服务器。考虑到一般情况下,各主机通常选择与物理上邻近的DNS服务器相连,我们可将具有相同或相近DNS服务器的主机根据节点临近度估计值划分到一个群组内,使得P2P应用在搜索和下载资源过程中尽可能降低在域间或骨干网络上产生的不必要流量,促进P2P流量优化。
[0009]在超级节点的选择上,优先选择在线活动时间长、存储运算能力强的高性能节点。并且我们在超级节点中嵌入移动代理(Agent)的运行环境,使之与移动代理结合起来。移动代理是一个可以在网络中从某一主机迁移到另一主机,并且可以与其他的代理相互通信,并与网络系统上的分布式系统进行沟通及交互作用的智能代理(Intellgent Agent)软件程序。移动代理可以到远程的服务器上要求服务器执行搜寻或者直接至远程的服务器上执行所需的服务;也可以与其他的移动代理作互动与会谈,以达到分工合作的目的。移动代理的加入,减少了 P2P网 络路由查询的时间,提高了资源搜索效率。
[0010]一、体系结构
[0011]基于本发明的混合式分层P2P网络拓扑结构如图1所示,由三类节点组成:超级节点、普通节点和备份节点。实际数据存放在普通节点上,超级节点保存数据索引并负责响应本组普通节点的请求。超级节点中嵌有移动代理的运行环境,在数据查询过程中超级节点的移动代理之间可以进行交互、信息查询,提高P2P资源搜索效率。
[0012]?普通节点
[0013]普通节点主要用来存放数据,能在P2P网络中进行数据发布,资源搜索,请求加入网络,请求离开网络。
[0014].超级节点
[0015]超级节点用来存放数据索引,负责响应普通节点的发布,搜索,加入,离开请求。
[0016]?备份节点
[0017]备份节点存放超级节点必要信息备份,在超级节点失效的时候能自行恢复。
[0018]二、方法流程
[0019]本发明的基于节点临近度估计的对等网络资源搜索优化方法为:当节点加入P2P网络后进行资源搜索时,利用节点临近度估计值的计算方法,选择本地群组内部资源或者物理距离较接近的资源节点,降低在域间或骨干网络上产生的不必要流量,促进P2P流量优化;主要用于解决P2P网络逻辑拓扑与物理拓扑失配、节点异构问题,其具体步骤如下:
[0020]步骤1.初始时刻,构建P2P网络,设置超级节点;
[0021]步骤2.普通节点基于节点临近度估计加入到P2P网络中相应的群组;
[0022]步骤3.普通节点向所在群组的超级节点发送数据资源搜索请求;[0023]步骤4.超级节点接收到搜索请求后首先查询本地索引资源列表,在本群组内进行搜索,如果查询到本群组内有符合条件的资源,则直接向查询节点发送请求响应,即发送拥有该资源的节点信息;[0024]步骤5.若本群组内尚未发现符合条件的资源,则超级节点在上层主干网上发起搜索请求;由于上层主干网是一个由超级节点组成的自适应的P2P网络,同时也是一个由移动代理组成的P2P网络,根据移动代理的自主性、协作性、移动性和智能性等特征,该超级节点中的移动代理会通过与邻居超级节点或邻近超级节点的移动代理之间进行信息交互,来进行P2P路由;
[0025]步骤6.规定一个最长查找时间T,如果在时间T内未找到符合条件的资源,则超级节点向查询节点发送数据资源搜索失败的消息,如果在时间T内查找到了符合条件的资源,若资源数目为1,则直接向查询节点发送拥有该资源的节点信息,若资源数目大于等于2,就利用节点临近度估计值的计算方法,将查询节点与这些资源节点的临近度分别进行计算,比较得出一个物理距离最接近的资源节点,发送给查询节点;
[0026]步骤7.普通查询节点收到超级节点的响应后,便向目标资源节点发起连接请求,资源搜索过程结束。
[0027]所述步骤2普通节点基于节点临近度估计加入到P2P网络中相应群组的具体过程为:
[0028]I).普通节点随机选择一个超级节点M并向它发送加入请求;
[0029]2).超级节点M收到加入请求后,不会立即进行回复,而是将请求加入节点与所有的超级节点通过节点临近度估计值的计算方法进行计算,根据计算结果得到与请求加入节点物理地址临近度的一个超级节点序列,与之物理地址最近的超级节点排在序列首部,后面依次类推;
[0030]3).在计算得出的超级节点序列中,选择与请求加入节点物理地址最接近的超级节点NI,M通过移动代理和NI进行交互,查询NI的群组中节点个数是否已满,如果未满,就让超级节点NI所在群组做好接收该普通节点的准备,如果NI的群组已满,就选择与请求加入节点物理地址次接近的超级节点N2,再进行查询,并依次类推,直到找到可以接收该普通节点的群组;
[0031]4).如果所有群组容量都达到了上限,则M向普通节点回复请求加入失败,否则,M向普通节点发送能够接收它并且与它物理地址相对较近的超级节点N,指示它向该超级节点发送加入请求;
[0032]5).普通节点收到回复后,重新向由M发送过来的超级节点N发送加入请求;
[0033]6).超级节点N向普通节点回复允许加入的消息,保存新加入节点的相关信息,将其所存放的数据资源记录在自己的数据索引项,并使群组内节点个数加一。
[0034]所述步骤6中节点临近度估计值的计算方法具体如下:
[0035]①为了估算节点A和节点B物理地址的临近度,首先通过查询得出A、B的域名解析服务器列表 Ia 和 Ib,假设 Ia = (S1, S2,...,Si,...,SJ,其中 S1, S2,...Si,...Sm 代表 Ia 中不同的域名解析服务器,1,2,…i,…,m分别是不同域名解析服务器的标号且有I < i < m,i,me N+,N+为正整数,Ib= (K1, K2,…K」,…Kj,其中K1, K2,-Kj,~Kn代表1b中不同的域名解析服务器,1,2,…j,…,η分别是不同域名解析服务器的标号且有I < j < n,j,n e N+,N+为正整数;对于Ia和Ib中任意的域名解析服务器,即VS, Glu^KjGlb,其中Si代表1a中标号为i的域名解析服务器,Kj代表1b中标号为j的域名解析服务器,在现实环境中可能会存在A、B的域名解析服务器列表1a和Ib中同时具有相同服务器的情况,即37>[1,?|,能够使得51 e Ia, Kj e Ib且Si = Kj,其中i,j为域名解析服务器的标号,Si为Ia中标号为i的域名解析服务器,Kj为Ib中标号为j的域名解析服务器,根据A、B的域名解析服务器列表、和Ib可以得到A、B两节点的频率图,用二元组表示为:
[0036]
【权利要求】
1.一种基于节点临近度估计的对等网络资源搜索优化方法,其特征在于:当节点加入P2P网络后进行资源搜索时,利用节点临近度估计值的计算方法,选择本地群组内部资源或者物理距离较接近的资源节点,降低在域间或骨干网络上产生的不必要流量,促进P2P流量优化;主要用于解决P2P网络逻辑拓扑与物理拓扑失配、节点异构问题,其具体步骤如下: 步骤1.初始时刻,构建P2P网络,设置超级节点; 步骤2.普通节点基于节点临近度估计加入到P2P网络中相应的群组; 步骤3.普通节点向所在群组的超级节点发送数据资源搜索请求; 步骤4.超级节点接收到搜索请求后首先查询本地索引资源列表,在本群组内进行搜索,如果查询到本群组内有符合条件的资源,则直接向查询节点发送请求响应,即发送拥有该资源的节点信息; 步骤5.若本群组内尚未发现符合条件的资源,则超级节点在上层主干网上发起搜索请求;由于上层主干网是一个由超级节点组成的自适应的P2P网络,同时也是一个由移动代理组成的P2P网络,根据移动代理的自主性、协作性、移动性和智能性等特征,该超级节点中的移动代理会通过与邻居超级节点或邻近超级节点的移动代理之间进行信息交互,来进行P2P路由; 步骤6.规定一个最长查找时间T,如果在时间T内未找到符合条件的资源,则超级节点向查询节点发送数据资源搜索失败的消息,如果在时间T内查找到了符合条件的资源,若资源数目为1,则直接向查询节点发送拥有该资源的节点信息,若资源数目大于等于2,就利用节点临近度估计值的计算方法,将查询节点与这些资源节点的临近度分别进行计算,比较得出一个物理距离最接近的资源节点,发送给查询节点; 步骤7.普通查询节点收到超级节点的响应后,便向目标资源节点发起连接请求,资源搜索过程结束。
2.根据权利要求1所述的基于节点临近度估计的对等网络资源搜索优化方法,其特征在于,步骤2普通节点基于节点临近度估计加入到P2P网络中相应群组的具体过程为: 1).普通节点随机选择一个超级节点M并向它发送加入请求; 2).超级节点M收到加入请求后,不会立即进行回复,而是将请求加入节点与所有的超级节点通过节点临近度估计值的计算方法进行计算,根据计算结果得到与请求加入节点物理地址临近度的一个超级节点序列,与之物理地址最近的超级节点排在序列首部,后面依次类推; 3).在计算得出的超级节点序列中,选择与请求加入节点物理地址最接近的超级节点NI,M通过移动代理和NI进行交互,查询NI的群组中节点个数是否已满,如果未满,就让超级节点NI所在群组做好接收该普通节点的准备,如果NI的群组已满,就选择与请求加入节点物理地址次接近的超级节点N2,再进行查询,并依次类推,直到找到可以接收该普通节点的群组; 4).如果所有群组容量都达到了上限,则M向普通节点回复请求加入失败,否则,M向普通节点发送能够接收它并且与它物理地址相对较近的超级节点N,指示它向该超级节点发送加入请求; 5).普通节点收到回复后,重新向由M发送过来的超级节点N发送加入请求;6).超级节点N向普通节点回复允许加入的消息,保存新加入节点的相关信息,将其所存放的数据资源记录在自己的数据索引项,并使群组内节点个数加一。
3.根据权利要求1所述的基于节点临近度估计的对等网络资源搜索优化方法,其特征在于,步骤6中节点临近度估计值的计算方法具体如下: ①为了估算节点A和节点B物理地址的临近度,首先通过查询得出A、B的域名解析服务器列表込和Ib,假设Ia = (S1, S2,…,Si,…,S1J,其中S1, S2,…Si,...Sm代表1a中不同的域名解析服务器,1,2,…i,…,m分别是不同域名解析服务器的标号且有1≤i≤m,i,m e N+,N+为正整数,Ib = (K1, K2,…K」,…KJ,其中K1, K2,…K」,代表1b中不同的域名解析服务器,I, 2,…j,…,η分别是不同域名解析服务器的标号且有1≤j≤n,j,n e N+,N+为正整数;对于Ia和Ib中任意的域名解析服务器,即VSi e/? ,^Kj ∈/6,其中Si代表込中标号为i的域名解析服务器,&代表1b中标号为j的域名解析服务器,在现实环境中可能会存在A、B的域名解析服务器列表込和一中同时具有相同服务器的情况肩出^队叫及^队/小能够使得Si e Ia, Kj e Ib且Si = K」,其中i,j为域名解析服务器的标号,Si为Ia中标号为i的域名解析服务器,Kj为Ib中标号为j的域名解析服务器,根据A、B的域名解析服务器列表Ia和Ib可以得到A、B两节点的频率图,用二元组表示为:
Fa =< (S1, 1/m), (S2, 1/m),…(Si, 1/m),…,(Sm, 1/m) >
Fb =< (K1, 1/n), (K2, 1/n),…(Kj, 1/n),…,(Kn, 1/N) > ②根据以上二元组可以作出A、B两节点的频率图e込和(Ubi)i e Ib,横坐标为域名解析服务器,纵坐标为所占频率,由余弦相似度的计算公式
【文档编号】H04L29/08GK103701846SQ201310431043
【公开日】2014年4月2日 申请日期:2013年9月18日 优先权日:2013年9月18日
【发明者】肖甫, 是晨航, 王汝传, 韩志杰, 王少辉 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1