论文部分内容阅读
随着互联网的不断发展,出现了大量的P2P网络应用,为互联网用户的提供了非常大的便利,得到了人们的广泛认同。MazeP2P文件共享系统便是其中的一个。它为中国教育网中数十万的用户提供了文件共享服务,已经持续运行若干年,为P2P系统研究提供大量实验数据。但在运行和维护的过程中,我们发现原有Maze系统存在单点失效、可伸缩性较弱、下载效率不够高等问题。
LMaze系统是针对Maze系统的一个完全的升级,它基于结构化的P2P系统设计思想进行实现。具体使用了基于Kademlia的DHT网络来进行节点的路由与发现、共享资源的检索等基本功能的实现。并在文件下载部分针对P2P软件网络连接较多、磁盘IO频繁、程序运行线程数较大的问题进行了分析和优化。此外,LMaze系统在其它多个方面也针对原有的Maze系统进行了改进和优化。
LMaze系统的开发基于Lunar平台进行。Lunar平台是LMaze系统开发过程中形成的专为分布式、P2P系统研发而设计的一个通用软件开发平台。Lunar平台强调的是分布式、P2P系统开发过程中的软件复用。它具有跨平台、兼容IPv4与IPv6等基本特性。提供了多线程、网络IO、磁盘IO在内的多种基础功能的抽象与封装。同时包括消息传递、基于Kademlia协议的DHT等服务功能模块。
本文详细讨论了LMaze系统针对原有Maze系统进行的各种改进,介绍了Lunar系统的基本功能与实现方式,并详细讨论了其中的部分关键模块。