论文部分内容阅读
P2P技术的诞生给数据集成领域带来了强大的发展动力。传统的集中式数据集成系统具有系统性能依赖服务器这一系统短板,结合P2P和数据集成系统两者优势而诞生的P2P数据集成系统,能够克服传统集中式数据集成系统的这一缺陷,为用户提供高速精确的数据查询服务。在众多的基于DHT的P2P网络中,Kademlia网络作为一种比较成熟且比较高效的协议,得到了广泛的应用。它的逻辑结构类似数据结构中的二叉树,清晰而明了,每个节点根据DHT分配一个独一无二的节点ID,对于计算节点之间的距离,Kademlia网络采用的独特的XOR计算方式。通过这种方式,对于资源关键字,它定位的时间复杂度是θ(logn)。但是Kademlia网络并不是完美无缺的,在本文中我们着重要解决的问题包括:Kademlia网络的逻辑拓扑和物理拓扑不匹配的问题,如何最大限度的减少热点资源对网络本身带来的冲击,如何在原有的基础之上进一步提高资源定位的速度和精确度。对于这些问题的深入研究和解决,成为了本文的主要内容。为了解决这些问题,在本文中,我们对网络中的节点ID进行了一系列修改,将节点的IP地址的网络号加入到了节点的ID之中,通过Kademlia特有的计算节点距离的方式,可以使得网络在物理拓扑上与逻辑拓扑相匹配。针对我们改进的模型,我们提出在原有的节点基础之上增加超级节点的概念,超级节点负责管理本局域网的节点并且担负路由调控功能。针对热点资源,我们在节点的结构中增加了快表来缓解对网络的冲击。首先,对节点的ID结构进行了改进,将节点IP地址的网络号作为ID的高位部分,结合Kademlia固有的XOR计算方式,使得在物理上靠近的节点在逻辑上也处于相近的位置。其次,针对改进后网络的逻辑拓扑结构,为了能够进一步提高资源查询的速度和精度,我们提出在原有的基础上增加超级节点的概念,超级节点只在本LAN中发挥作用,负责掌握本LAN的结构和其中节点的信息,在路由转发过程中超级节点负责本LAN的路由调控职责。超级节点机制和改进的节点ID互相配合,充分调用了网络中的计算机资源,并且在很大程度上提高了资源定位的速度。最后,针对P2P网络中经常出现的热点资源现象,我们在节点的结构中加入了新设计的快表,用快表来记录热点资源的信息。在快表的帮助之下,一方面提高了节点对热点资源的查询访问速度,另一方面也降低了短时间内对热点资源的海量访问所带来的对网络的冲击,可谓一举两得。