论文部分内容阅读
iP2P技术是二十一世纪头十年最热的一种网络计算技术,吸引了学术界、工业界以及普通用户的极大关注,并得到广泛而深入的研究,但是其中还存在一些没有解决而又严重影响P2P应用的问题。P2P网络的抖动特性就是其中一个方面,它是指网络中成千上万的节点频繁地加入和退出网络产生的累积效应。抖动对网络的影响是全方位的,它会导致P2P中节点所看到的网络拓扑和实际的不一致,网络的传输、路由查找等性能降低,网络无法连接、路由失效等问题。针对P2P网络抖动的影响提出相应的应对策略,从而增加网络的稳定性,提高网络性能,仍然具有很高的学术价值和应用价值。P2P网络最主要的功能之一就是在网络上发布和共享数据,供感兴趣的用户查找和获取,数据的可用性直接影响到P2P网络的推广和使用。但是,网络抖动会导致数据丢失,数据迁移,数据访问延迟增大等问题。副本技术是增加数据可用性的主要技术,但是,抖动使得多个副本节点可能随时发生变化,从而产生副本丢失,副本多次迁移等问题,导致副本维护开销增大。如何降低数据副本的维护开销,尽量减少副本的迁移是目前副本维护中应对抖动需要考虑的问题。当叶集规模比较大时,在副本维护中容易产生副本分布过于集中的问题。因此,除了考虑减少副本迁移次数,降低副本维护开销外,还需要尽量避免副本分布不均衡。而在抖动环境下,在叶集规模比较大时,如何在增加副本稳定性的同时,避免副本过于集中,是我们在做副本维护需要兼顾的问题。P2P网络要想高效正确运行,就必须尽量保证路由表中的节点都在线。但是,网络抖动使得路由表中的信息经常陈旧,有很多看似在线的节点,当实际连接时,却不在线。在抖动情况下,如何减少路由表中失效节点数目,尽量保证路由表中节点都是长期在线节点,是路由表维护中应对抖动需要考虑的问题。P2P网络最基本的功能之一就是路由查询功能,但是在抖动环境下,路由查询中被选中的下一跳节点可能是短时长节点或(已下线节点),从而往往产生路由失效,而路由失效后重连的代价是正常连接的3-5倍[1]。因此,在路由查询过程中,应尽量选择稳定的节点发送路由消息。而如何选择下一跳节点,是在路由查询时需要考虑的问题。本文针对结构化P2P网络抖动对副本维护,路由表维护以及路由查询等方面的影响提出相应的应对策略,论文主要贡献如下:1、针对结构化P2P网络中副本维护代价较高,需要频繁迁移副本的问题,提出基于年龄的副本维护策略,尽量减少副本迁移次数。该策略采用本地时钟作为参考,将第一次收到新节点加入网络消息的时刻作为新节点在本节点的出生时刻,然后将叶集中节点按照出生时刻排序。在需要进行副本选择时,选择年龄最大的非副本节作为副本存放位置。分析和实验结果表明,该策略可以以很高的概率选择到稳定节点来保存副本,减少随机邻居选择策略中多次选择才选择到稳定节点的过程。2、针对在叶集规模L比较大(如L>24)时,结构化P2P网络的副本维护既要尽量保证副本的稳定性,又要兼顾副本节点负载均衡性问题,本文提出基于随机因子的副本负载均衡策略。它在副本选择时,首先在叶集中随机选择s个节点作为候选节点集,然后从中选择年龄最大的非副本节点作为副本存放位置。分析和模拟实验表明,在叶集规模比较大时,该策略既能减少副本迁移次数,降低副本维护开销,又能避免副本节点负载不均衡。3、针对结构化P2P网络的路由表中存在很多表面在线而实际下线的节点问题,提出基于流行度的路由表维护策略。该策略基于如下思想:流行度越大的节点越受欢迎,从稳定性角度考虑,其越稳定。在操作时,每个节点首先获取并保存所有连接到该节点的节点列表,该列表的长度即为该节点的流行度。在每次发送消息时,同时将节点的流行度发送过去。节点每收到一条消息,就计算该消息源节点落在哪个k桶中,如果该桶未满,则直接将该消息源节点加入到该桶的尾部;如果已满,则比较桶中最小流行度和消息源节点流行度哪个大。如果消息源节点流行度大,则删除桶中流行度最小的节点,并将消息源节点添加到该k桶中,否则,k桶不做变动。分析和模拟实验表明,该策略能够有效降低路由表中的下线节点数目。4、针对在路由查询时经常将消息发送给下线节点或者短时长节点的问题,本文提出基于比例因子的路由查询策略。我们首先对网络中节点的稳定性进行分析,得出在网络中稳定存在的节点具有一定比例,并且大致均匀地分布于网络中。在路由查询时,根据离目标节点的距离选择s个节点作为候选节点集,并根据网络监测的结果加入相应的比例因子p,在这s个节点中根据流行度选择s*p个节点发送消息。实验表明,该策略可以有效减少网络中路由失效消息数目。