论文部分内容阅读
P2P技术的迅速发展给数字图书馆的建设提供了广阔的应用空间。分布式数字图书馆中的一些应用软件在分布式互操作方面具有较大的共通性,若能为它们提供一个通用的P2P应用平台和统一的应用服务接口,则会给数字图书馆的P2P应用开发带来极大的便利性。
本文以国家“211”工程“中国高等教育文献保障系统”(China Academiclibrary Information System,简称CALIS)“十五”项目“中国高等教育数字图书馆”为背景,针对上述需求,设计了数字图书馆P2P应用平台(CALIS-P2P)。此平台采用层次性的软件架构,总共分为三层,分别是核心层,服务层,应用层。核心层封装P2P网络的基本要素,包括为P2P应用程序提供关键机制的模块,为搭建一个P2P平台提供核心服务,是整个系统的关键。
基于对目前P2P网络路由算法的研究,结合分布式数字图书馆的特点,本人采用了混合式P2P网络的拓扑结构,将目前比较流行的DHT技术和无结构化P2P路由算法Random Walker相结合设计了一个混合式的路由算法。此外,为了克服超级节点单点失效的问题,本文设计了冗余备份策略,以提高路由查询的成功率。
基于上述算法,本文设计并实现了CALIS-P2P平台中的核心层模块。该核心层由路由模块和消息与底层传输模块组成。路由模块主要对混合式网络拓扑结构的形成以及在此之上的路由进行管理。该模块实现了新的混合式路由算法,能在数字图书馆环境中提供较高的路由效率以及准确率。消息与底层传输模块用于对对等点之间的消息传输格式以及传输方式进行管理。本人为该模块设计了消息类型以及格式,并设计了扩展接口;上层服务可以通过扩展消息类型的方式来满足自身应用的开发需求。传输方式实现了TCP和UDP两种模式,上层应用可以根据应用场景的不同选择不同的连接传输方式。