p2p网络维护的优化方案_第1页
p2p网络维护的优化方案_第2页
p2p网络维护的优化方案_第3页
p2p网络维护的优化方案_第4页
p2p网络维护的优化方案_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

p2p网络维护的优化方案

1p2p网络性能p2p系统分为三个部分:泛洪水推动机制的非结构性网络、基于dt的道路建设网络和基于上述两种道路机械的混合p2p网络。本文基于结构化P2P网络。P2P系统中,节点进出频繁,导致系统自组织性效率低下,降低系统的整体性能。节点的路由信息对查询很有价值,节点离开或者失效时,节点的路由信息也会丢失,P2P网络的路由性能会受到很大的影响。当前的P2P网络采取对文件进行备份以及路由的容错控制等措施,但会降低路由质量。P2P系统中多数节点有相对固定的进出网络的规律,利用这个特点进行路由信息缓存,能够减少系统开销。2异构性网络协议及sdk实现针对以上问题,本文提出了一个状态缓存机制,节点离开网络前把自身保存的路由信息备份到附近一个性能较好的节点中去。根据物理网络的分布和节点的异构性,把P2P网络划分成许多群。在每个群中,SCM都会选择一个性能优越的节点作为状态缓存节点SCP(statecachepeer),有选择的记录并且维护那些本群内可能很快回归的节点的路由信息,同时会暂时替代这些节点提供路由服务,这样就大大提高了路由性能。当这些离开节点重新回到本群后,会通知SCP,回收自己的路由信息。SCM使回归节点的自组织显得简单高效,不必重建路由表,使DHT的性能得到明显改善。3系统的目标目标应用了SCM的结构化P2P系统SCS(statecachesystem)旨在实现两个目标:(1)使自组织过程更加高效;(2)提供持续的高质量路由服务。3.1节点sdcs在SCS中,参与节点根据网络的地域性以及节点的异构性被划分到各自所属的群中。每个群都有自己的大小和直径,大小是指本群中同时在线的节点数量,直径是指群中的任意节点和本群SCP的最大距离。SCP根据节点的IP地址和ID来确定节点是否是回归节点。当节点离开时,把自身的路由信息发送到SCP,当节点回来时,回收路由信息,这样就很大程度上简化了节点的加入过程。在节点离开的过程中,SCP利用缓存的路由信息提供路由服务。为了实现状态缓存,SCP需要一个存储空间。SCP每次状态缓存都需要保存一个叶子集,一张路由表和一个邻居集。同在线节点一样,状态缓存中的路由信息用类似的方式进行更新。每个SCP如果把本群内所有离开节点的路由信息都保存下来,会导致其负荷过重,而且也没有必要。因此,SCP限制缓存的节点数量,只缓存那些可能很快回归的节点信息,称这些节点为缓存节点。在网络中,可能存在小部分节点,当其加入网络时,它不能加入任何群中,原因可能是因为本身距离SCP太远而同时没有成为SCP的能力,称这些节点为开放节点。开放节点虽然没有加入到任何群,但是在网络中依然是活跃的。3.2数据结构为了在SCS中实现状态缓存机制,针对SCP和客户节点设计了以下数据结构和消息方式。(1)群的id唯一标识除了网络协议规定的路由信息和数据结构外,每个SCP都要额外的维护包括群的ID,状态存储和成员列表在内的数据结构。群的ID唯一的标识由当前SCP创建的这个群。状态存储是SCP用来保存缓存节点路由信息的存储区域。成员列表则维护本群内的活跃和缓存节点的如下信息:成员的节点ID和IP地址;节点状态,标识节点是活跃还是缓存节点;SCP候选值,标识成为SCP的能力;缓存节点的离线时间OT;EOT,节点的估计离线时间,预测缓存节点从离开到回归的时间。(2)基于dct的节点设计客户节点是指群中除去SCP外的所有节点。客户节点离开和重新加入系统时向SCP要求状态缓存服务。客户节点需要维护包括群的ID和SCP的IP在内的数据结构。SCP的IP用来同SCP周期性的通讯。此外,为了在DHT的基础上实现SCM的功能,节点每次登录路由表时,都要在路由表中添加一个指向本节点SCP的指针。为了能够重新加入到网络,每个离开节点需要在自身缓存中保存一些相关信息,比如群的ID和SCP的IP。(3)cp也通信为了维护群的结构并提供缓存服务,引入了一些新的消息类型如下:在线更新:客户节点周期性的向SCP发送消息,保证SCP的成员列表是最新的,节点同SCP通讯也是通过在线更新消息实现的。SCP改变:当SCP离开或者被别的SCP候选者代替的时候,新的SCP将发送一个SCP变更消息给所有的原成员节点。SCP就绪:当一个SCP被取代,或者一个新的群初始化后,新的SCP要在直径范围内广播SCP就绪信息以覆盖更多的开放节点。反向更新:当某些节点的SCP信息改变时,绑定到路由表的SCP信息可能就会失效,通过反向更新可以解决这个问题。3.3算法的设计算法设计主要包括群的成员维护,SCP的选择方法,节点加入、离开或者失效的处理,以及状态缓存替代策略,最后给出了SCS的整个路由过程。(1)群内+开放节点SCS中,一个群由一个SCP和一系列的客户节点组成,每个客户节点都只属于一个群。SCP维护的成员列表包括本群内的在线节点和缓存节点。列表中的每一项都有一个计时器,计时器的初始值和在线更新的周期设置成一样的。为了保持列表是最新的,每个在线的客户节点周期性地向SCP发送在线更新消息。当接收到更新消息以后,SCP更新对应的项并且重新启动计时器。当SCP正常离开时,将会在成员列表里面选择一个候选值最大的合格节点作为本群新的SCP,接管原SCP的信息。此后,此SCP向所有成员发送SCP变更消息,客户节点也将调整更改SCP地址。SCP被替代后,某些客户节点可能不在本群内了。这种情况下,这些节点会回复一个否认消息离开本群。收到否认回应,SCP就把这些节点从列表中去除。只要群没有饱和,SCP就能够向附近的开放节点发送SCP就绪消息以覆盖更多节点。此后,新的SCP就可以为本群的客户节点提供服务了。如果没有合格的SCP候选节点,本群内的所有节点都将成为开放节点。当SCP失效时,在线节点依然会通过在线更新消息联系SCP,如果一个非SCP候选节点发现SCP失效,它就会成为一个开放节点。如果是SCP候选节点发现SCP失效,它将会初始化一个新群,并利用原来群的ID在新群内广播SCP变更消息,吸收本群范围内的开放节点。一旦收到SCP变更消息,在线节点会通过比较本群的ID和变更消息内的群ID是否一致来判断本群是否已经不可用。如果是,这些节点就可以回复消息给新的SCP并加入新的群中。(2)状态存储被存储的信息不稳定的原因节点加入:图1描述了SCS中节点加入的算法。节点离开或失效:最简单的情况是开放节点离开网络。对于群中节点来说,如果离开或失效节点是SCP,一个新的SCP将被选择出来替换原SCP。当在线客户节点离开或者失效时,分为三种情况:(1)非缓存节点离开:当一个客户节点离开系统时,它的路由信息可能由于状态缓存已满等原因无法缓存。这时,SCP把节点信息从成员列表中删除。(2)缓存节点离开:这种情况下,节点在状态缓存中保存路由信息,可以认为节点是虚拟在线的。同时,成员列表中该节点的状态变为已缓存。由于缓存节点无法发送更新信息,所以就把他的计时器设置地比它的EOT稍微大一点。缓存节点是被期望在EOT时间内返回系统的,如果缓存节点能够在计时器规定时间内回来,那么节点状态将重新变为在线,计时器重置为系统默认值。此外,节点还要更新它的EOT值,SCP候选因数也要相应的调整。如果缓存节点没有在计时器时间内回来,那么本条记录将被标记为到期的,作为缓存替换的一个选择。(3)节点失效:当SCP在收到某节点的更新消息之前,节点所对应的计时器已经到时,就认为此节点已经失效,SCP会从成员列表中移除相应的项。当大多数节点离开系统时,只要有SCP存在其余在线节点就能运行。当系统中不存在SCP及其候选者时,所有的在线节点都将成为开放节点。(3)节点时指定一个eol值更新本文使用类似LRU的替换算法管理状态缓存。当一个节点离开时,如果状态缓存已满,就要决定是否缓存此节点信息。节点第一次加入网络时,都指定一个EOT值,节点每次回到网络时更新EOT值:其中α+β=1,α、β分别表示节点上次的EOT值和离线时间OT更新EOT的权重。当一个节点要离开,发送它的路由信息给SCP,SCP检查是否缓存已满。如果是,SCP将会检查状态缓存中的路由信息记录。如果发现有标识为到期的记录,或是某个节点的EOT大于要离开节点,那么这条记录将被替换掉。否则,将不会有更新发生。(4)sds的反向更新问题在查询过程中,如果下一跳节点没有在线,那么当前节点将发送一个查询消息给下一跳节点的SCP。接收到查询消息后,SCP将在状态缓存中查询相应的节点和路由信息。如果找到(缓存命中),当前节点将根据SCP提供的路由信息继续路由。如果没有找到,则本次路由失败。图2演示了在路由过程中节点在线和离线的情况。假设当路由节点都在线时最优路径是A-B-C-D(虚线所示)。如果节点C不在线,并且它的路由信息都缓存在了SCP2中。根据查找协议,当查询消息从A到达B后,下一跳节点是C,此时由于C不在线,系统不是尝试次优路由路径(A-B-E-F-D),如图中长短线所示,而是把查询消息发送到SCP2,利用缓存消息,就能够把查询消息转发到下一跳节点D。可见,利用缓存路由机制,查询消息依然能够寻找到最优路径,就好像缓存节点依然在线一样。当SCP节点发生替换时,其它节点关于SCP的信息可能没有及时更新,这个问题可以通过反向更新机制来解决。当向下一跳节点(假设下一跳节点在线)发送查询消息时,当前节点会把下一跳节点的SCP信息附属在查询消

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论