HAPS: 一种动态P2P网络中高效全文检索系统
HAPS: Supporting Effective and Efficient Full-Text P2P Search with Peer Dynamics
-
摘要: 1. 本文的创新点
我们提出了一种基于分层P2P架构全文检索系统(HAPS)。HAPS建立在两层的P2P网络拓扑结构,其中上层(超级节点)维护一个分层的分布式查询目录结构,底层(普通节点)提供基本的文件共享和搜索服务。使用这种分层的查询目录结构,HAPS能够在节点加入退出和文件变化的动态环境,提供高效率和准确的文本检索服务。
另外,针对HAPS系统,我们提出采用文本聚类技术,将所有节点按其分享的文件内容划分成的多个聚类,内容相近的节点被归为同一个类,每个类的节点连结同一个超级节点。这种基于内容的节点分类,能够提高搜索的准确性和效率。实验结果表明基于内容分类能够有效提高HAPS的搜索性能。
2.实现方法
现有的P2P全文检索系统存在一些缺点,比如查询效率和性能不高、网络开销过大,以及在网络频繁波动下索引信息维护代价过高。为了克服这些缺点,本方法提供一种新型的解决方案,这个方案不仅能提高查询的效率和性能,还能降低索引信息维护开销。
本系统采用的技术方案是:
1) 基于内容分类
将普通节点看作一个 “大文件”,这个“大文件”是由它所共享的文档集合并而成。利用文本分类技术将所有普通节点分成若干个组。每个组内所有普通结点连接同一个超级节点。普通节点按内容分组后,每个查询的结果集中在少数组中,这样可以减少查询消息的跳转次数;
2) 构建组内查询目录
超级节点收集普通节点发送的资源描述信息,并构建组内查询目录,用于将选择某些最优的普通节点来转发查询;
3) 构建全局查询目录
通过合并它的普通节点的资源描述,超级节点得到组内资源描述信息。超级节点将组内资源描述信息发布到由所有超级结点构成的DHT网络中。随着所有超级节点完成资源描述发布过程,全局查询目录也就构建完成;
4) 两阶段检索过程
a) 某个普通节点发起查询,并将查询请求转发至它所连接的超级结点。利用全局查询目录,超级节点获得与查询关键词相关超级节点列表;
b) 收到查询请求的各个超级节点根据组内查询目录,向与查询关键词相关的普通节点转发查询;
3.结论及未来待解决的问题
在本文中,我们提出了一个基于分层的网络结构的P2P文本检索系统。该系统的最大优点在于能够适应高动态网络环境。HAPS包括两层网络结构:超级节点层和普通节点层。超级节点之间通过一个DHT相互连结的,同时每个超级节点连接多个普通节点。我们设计了一种新型分层的查询目录结构,运用于HAPS分层的体系结构。
在今后的工作中,我们将采取的统计方法,通过筛选出重要词汇,降低查询目录的空间开销。例如,我们可以考虑从查询历史记录,挖掘更具代表性的词汇或标签。此外,我们还要研究新的节点聚类方法来改善聚类的准确性。
4.实用价值或应用前景
全文检索是计算机技术中的一个重要内容。传统的集中式全文检索系统经过多年的发展,已经取得了巨大的成功,但是同时也面临着日益增加的用户数据、数据分布地域空间更加广阔,数据量巨大,数据可靠性要求越来越高、性能要求越来越高等新的挑战。另一方面,随着P2P计算模式的兴趣,网络带宽的大幅增加和Internet端系统计算能力的迅速增强,P2P网络成为学术界和产业界所关注的一大热点。
基于P2P网络的全文检索系统不仅可以用于解决传统集中式检索系统低扩展性的问题,还可广泛应用于企业内及企业间快速廉价地搭建文件共享系统,为用户提供可扩展的,高可用性的文件检索服务。Abstract: Recently, peer-to-peer (P2P) search technique has become popular in the Web as an alternative to centralized search due to its high scalability and low deployment-cost. However, P2P search systems are known to suffer from the problem of peer dynamics, such as frequent node join/leave and document changes, which cause serious performance degradation. This paper presents the architecture of a P2P search system that supports full-text search in an overlay network with peer dynamics. This architecture, namely HAPS, consists of two layers of peers. The upper layer is a DHT (distributed hash table) network interconnected by some super peers (which we refer to as hubs). Each hub maintains distributed data structures called search directories, which could be used to guide the query and to control the search cost. The bottom layer consists of clusters of ordinary peers (called providers), which can receive queries and return relevant results. Extensive experimental results indicate that HAPS can perform searches effectively and efficiently. In addition, the performance comparison illustrates that HAPS outperforms a flat structured system and a hierarchical unstructured system in the environment with peer dynamics.