论文部分内容阅读
Google Scholar为我们搜索各种来源的学术文献信息提供了一个简单易用的平台。它使用网络爬虫来把各种来源的文献信息集中存储到Google自己的数据库里,然后通过web向用户提供这些信息。从技术上来讲,Google Scholar是基于客户端/服务器端模型的,作为一个集中式的系统,有着它自身的缺陷。近年来,P2P(Peer-to-Peer,点对点)计算越来越盛行,它能够以分布,自治的方式来处理海量数据,其特征在搜索能力、可扩展性、高效率,以及对故障和动态环境的应变能力方面展现了巨大的潜力。
在本篇论文中,我们提出了一种面向学术文献检索的P2P网络研究--PPScholar,它建立在P2P网络和Dublin Core元数据标准的基础之上。我们的主要研究内容就是如何使各个学术文献信息源的数据库以P2P的方式合作,建立起一个适用于学术文献检索的基于元数据的P2P网络。在研究过程中,我们主要致力于两大问题:一是如何隐藏信息源的异构性;二是如何建立一个适合于本应用的P2P网络。在建立P2P网络的过程中,我们基于在Gnutella网络中发现的两种幂律分布,在Gnutella网络的基础之上,增加学习型节点来以多种方式改进我们的应用。
首先,我们根据在P2P网络中发现的节点连接数的幂率分布规律,将那些拥有连接数多,性能强大的节点选择为学习型节点,形成一种两层架构的P2P网络。这些学习型节点可以学习整个网络的知识,比如缓冲查询请求与结果等,从而使得查询请求能够在少数的学习型节点中就能得到结果。同时通过模拟实验,在将TTL(Time-to-Live)控制在可接受的前提下,尽量选择那些拥有连接数最多,性能最强大的节点作为学习型节点,从而尽可能减少学习型节点的数量。另外,我们还根据P2P网络中发现的搜索关键字的幂率分布规律,提出了新的缓冲算法--适应性最少频率使用算法(Adaptive Least Frequently Used),并根据此算法在学习型节点中建立缓冲区,作为学习型节点的学习能力之一。
通过实际模拟实验,我们验证了该算法相比其他的缓冲算法拥有更高的命中率。