论文部分内容阅读
随着Internet技术的高速发展及互联网的快速普及,网络上的信息成指数级增长。因而也带来了迫切需要解决的问题:如何才能快速准确的搜索和获取到网络资源。在这种背景下搜索引擎技术和P2P技术得到迅速的发展,并成为如今最热门的技术之一。随着近几年来Google和百度等搜索引擎的巨大成功,以及P2P等下载技术的日益成熟,各式各样的网站及企业,都意识到需要加入自己独特的检索功能,以满足用户的不同需求,并提供一种快速的下载方式,在有限的带宽下,使用户能够快速的获取到所需要的资源。所以本文提出了一种搜索引擎及P2P技术的实现,以满足网站及企业定制符合自己特色的网络资源搜索和获取的需求。 网络搜索引擎的关键技术是网络爬虫的实现。网络爬虫又被称为网页蜘蛛或网络机器人,是一种可以按照一定的规则,进而自动搜索网页中所需要的信息的一种程序或者脚本。本论文设计了一种网络爬虫用于从网络上搜索Mp3文件。其主要分为页面分析,页面提取,链接存储,资源下载模块。页面分析模块负责解析并分析页面的DOM树文档结构;页面提取模块负责提取需要的链接;链接存储模块用于保存搜索到的链接,供爬虫下次搜索使用或用于下载模块;下载模块利用HTTP协议将需要的网络资源下载下来。 P2P技术是为了实现端对端的直接通信所提出的技术,被广泛用于资源分享中,可以显著提高资源分享速度。由于网络中存在的网络地址转换设备和防火墙的影响,需要利用P2P技术解决在NAT和防火墙设备里的机器之间的通信问题。本论文使用JXTA开源项目,设计了一个P2P的解决方案,用于穿越防火墙从而将通过搜索引擎搜索到的资源快速的分享给P2P网络中的其他节点。从而实现两个端点间通信和获取资源的问题。 本论文提出了一种个性化的搜索引擎的实现方案,以用于解决网络资源获取的难题。又分析了P2P技术的难点和关键技术,同时提出了一种基于JXTA的跨平台的P2P技术的实现方法,用于将搜索的资源分享给P2P网络上的其他节点。