论文部分内容阅读
随着互联网节点计算能力的迅速提高、磁盘空间的不断增长以及网络带宽的改善,面向互联网文件资源共享的应用得到了迅速发展。更丰富的文件资源、更高的可靠性、更高效的数据传输、更好的负载均衡、更低的使用成本,已经成为互联网文件共享新的追求目标。P2P系统中的节点通过共享它们所拥有的一部分资源,如处理器、磁盘空间、网络带宽等等,使得用户可以直接使用系统中其它节点上的共享资源,而不需要从特定的服务器上获取。系统中的对等节点既是资源的拥有者,也是资源的请求者。P2P技术已经在文件共享、分布式计算、协同工作、实时通信、搜索引擎等方面得到了广泛的应用。本论文通过分析和总结文件共享系统的发展,并在对P2P技术进行了理解和分析的基础上,设计了一种基于P2P技术的分布式文件共享系统。系统通过P2P技术将互联网中的节点组成一个覆盖网络,充分利用这些节点资源,构建一个大规模、低成本、高可扩展、高可靠、高性能的分布式文件共享系统。本系统采用中心化的拓扑结构,以高效地实现系统的负载平衡和文件的上传、下载、查询和系统的管理。同时,使用全分布式非结构化的拓扑结构作为系统结构的补充。如果索引服务器出现故障,系统会自动转换成全分布式非结构化拓扑结构,大大提高了系统的可靠性。在系统处于中心化拓扑结构时,为了提高索引服务器的运行效率,系统采用了内存映射文件技术来提高文件读写的效率,并使用套接字I/O完成端口模型来提高套接字的I/O效率。通过负载平衡,系统可以充分利用P2P覆盖网络中各个节点的磁盘空间、计算和带宽资源,从而提高系统的扩展性和磁盘空间的利用率。采用动态副本技术,系统中文件副本的数量和位置可以根据系统的需要进行更改。系统的很多具体的实现策略都可以实现自由地配置。如在节点进行文件淘汰时,用户可以根据实际情况和需要来选择合适的文件淘汰算法;在下载文件和进行文件备份时,用户可以选择一个或多个系统定义的节点选择算法,并对选定的各种算法规定它们之间的优先级。系统的日志和过滤功能则可以加强系统的安全性,使系统得到更好的管理和控制。