首页> 中文学位 >基于分布式哈希表技术的Kademlia网络研究
【6h】

基于分布式哈希表技术的Kademlia网络研究

代理获取

目录

文摘

英文文摘

声明

第一章绪论

1.1国内外P2P技术研究现状

1.1.1 P2P与资源共享

1.1.2 P2P的发展阶段

1.1.3 P2P的信息检索

1.2基于分布式哈希表技术的Kademlia网络

1.2.1分布式哈希表

1.2.2 Kademlia协议简述

1.2.3 Kademlia的应用

1.3研究目标

第二章KAD网络设计

2.1 Emule代码研究

2.1.1搭建编译环境

2.1.2 KAD网络工作过程分析

2.1.3 KAD网络模块的分离

2.2 KAD网络的设计

2.2.1分离出来的KAD网络模块结构分析

2.2.2改进的KAD系统结构

2.3确定测试方案

第三章KAD网络实现

3.1基本组件

3.1.1 KEY描述

3.1.2文件I/O与缓冲区I/O

3.1.3日志管理

3.1.4常用工具

3.2线程池

3.3 SOCKET通信管理层

3.4数据包协议处理层

3.5节点管理

3.6搜索管理

3.7任务协调管理层

3.8动态库接口管理层

3.9本章小结

第四章性能测试及综合应用

4.1性能测试方案

4.2参数选定

4.3综合应用

结论

参考文献

致谢

展开▼

摘要

基于分布式哈希表(DHT,Distributed Hash Table)技术的Kademlia(简称KAD)协议是用于实现P2P网络中信息的存储与检索,它的原理和实现非常简洁,而且具有很高的效率,许多P2P软件都采用它作为辅助检索协议,如Emule、Skype等。 西码数据有限公司研发的Instant Forms网络工作平台采取了P2P的机制,本文的目标就是为它提供一个用于信息检索的KAD协议。考虑到Emule是开放源代码的,它所实现的KAD网络遵守国际通用的Kademlia协议,专门为文件交换系统提供信息索引服务。所以本文希望能最大程度地使用Emule的源代码,并在它的基础上作出一些改进。 Emule的代码中并没有明确地将KAD网络作为一个模块,而是将它嵌入到整个UI应用程序里面。本设计所要做的首先是将这个KAD网络从复杂的Emule代码中切割出来,并用动态链接库的形式加以封装,独立成为一个可供应用程序调用的模块。 由于Emule是一个文件交换系统,它的KAD网络必然有许多地方不太适合Instant Forms网络工作平台,经过详细的测试与分析以后,本文对所分离出来的KAD网络模块进行了以下两点改进: ·提高KAD网络的信息检索速度。 ·提高KAD网络对并发任务的处理能力。 文中第二章对Emule的代码进行了深入的研究,并分离出KAD网络模块,然后对这个KAD网络模块的组成结构加以分析并进行改造,使它适用于Instant Forms的系统。 第三章则阐述了如何根据所设计的模块对KAD网络进行改进,包括各模块的类设计、类方法和变量的设计、各种数据结构算法以及多线程和线程池机制等。 第四章将所实现的KAD网络使用于Instant Forms系统,并通过信息检索来验证对KAD网络所作的改进。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号