英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料
基于移动代理和Java Aglets的Web爬虫
Md. Abu Kausar
Dept. of Computer amp; System Sciences, Jaipur National University, Jaipur, India
E-mail: kausar4u@gmail.com
V. S. Dhaka
Dept. of Computer amp; System Sciences, Jaipur National University, Jaipur, India
E-mail: vijaypal.dhaka@gmail.com
Sanjeev Kumar Singh
Dept. of Mathematics, Galgotias University, Gr. Noida, India
E-mail: sksingh8@gmail.com
摘要:随着互联网的巨大增长,许多网页都可以在线获得。 搜索引擎使用网络爬虫从万维网收集这些网页用于存储和索引。 基本上Web爬虫是一个程序,它可以从万维网以系统和自动的方式查找信息。 使用移动代理可以减少网络负载。
所提出的方法使用移动代理来抓取页面。 移动代理未绑定到开始执行的系统。 它具有将自身从网络中的一个系统转移到另一个系统的独特能力。 基于移动代理的网络爬虫的主要优点是爬网过程的分析部分是在本地完成的,而不是在远程侧完成的。 这大大减少了网络负载和流量,可以提高整个爬网过程的性能和效率。
索引术语:万维网,搜索引擎,移动爬虫,Aglets,Web爬虫,移动代理
1.简介
网络非常动态,其中53%的内容每天都在变化[11],为了保持组中最新的页面,爬虫需要多次重新访问网站。 由于更多的重访,诸如CPU周期,磁盘空间和网络带宽等特性,它将变得过载并且由于这种类型的过载,有时网站可能会崩溃。 研究[12]报告称,目前的网络爬虫已经下载并索引了数十亿的网页,目前约41%的互联网流量和带宽开支是由于网络爬虫。 尽管如此,任何知名搜索引擎的最大网络范围不超过当前网络规模的16%。
使用移动代理即移动爬虫,网页选择和过滤的方法可以在服务器而不是搜索引擎端完成,这可以减少网络爬虫引起的网络负载[9]。
搜索引擎使用访问网站的抓取工具,阅读实际网站上的信息,阅读网站的元标记,还可以按照网站链接来链接所有链接网站上的链接。爬行程序将所有信息返回到中央存储库,在该中央存储库中对数据进行索引。抓取工具会定期返回到网站以检查是否有任何已更改的信息。
本文结构如下:第2节详细介绍了搜索引擎的结构和工作,第3节介绍了搜索引擎的相关工作,第4节介绍了第5节中描述的基于移动代理的爬行,Aglet生命周期模型, 6描述了移动代理在抓取中的好处,第7节描述了所提议的系统的整个工作,并在上一节中做出结论8。
- 搜索引擎的结构和工作
基于爬虫的搜索引擎的基本结构如图1所示。任何搜索引擎的主要步骤是:
每个搜索引擎都依赖于一个爬虫来为其操作提供基础。 该操作由称为爬行器的特殊软件执行。 网络爬虫是一个程序/软件或程序脚本,代表搜索引擎以系统,自动化的方式浏览WWW。 这些程序被赋予一组称为种子URL的URL,这些URL从Web中检索它们的页面。 网络爬行器提取出现在检索到的页面中的URL,并将这些信息提供给爬虫控制模块。 该模块确定下一个要访问的链接,并将链接提供给访问者以回访。
2.1维护存储库
搜索引擎的所有数据都存储在存储库中,如图1所示。所有搜索都是通过该数据库执行的,并且需要经常更新。 在爬网过程中,并且在完成爬网过程之后,搜索引擎必须存储他们检索到的所有新的有用页面。
2.2索引
一旦网页存储在存储库中,搜索引擎的下一个工作就是制作存储数据的索引。 索引器模块从每个网页中提取所有单词,并记录每个单词出现的URL。 结果通常可以是非常大的
提供指向给定单词出现的网页的所有URL。
2.3查询
该模块处理用户查询。 查询引擎模块的责任是接收和填充来自用户的搜索请求。 搜索引擎深深地依赖于索引,有时甚至在页面存储库上。
2.4排名
由于用户查询导致大量结果,搜索引擎的工作就是向用户显示最合适的结果。 要做到这一点有效的搜索,结果的排名进行。 排名模块的任务是对结果进行排序,使得靠近顶部的结果最有可能成为用户正在查找的结果。 排名模块完成排名后,最终结果会显示给用户。
3. 相关工作
搜索引擎有三大部分命名为索引器,爬虫和查询引擎。网络爬虫是代表搜索引擎遍历网络的程序按照链接来实现不同的网页来下载它们。从一个名为seed url的设置URL开始,爬虫将从检索到的页面中提取URL,并将页面存储在存储库中。下载的网页被编入索引并存储在搜索引擎存储库中。资料库的这种持续更新使得搜索引擎可以获得更加一致的相关信息和更新信息。爬虫的细节在[14]中讨论。
抓取工具必须处理两项主要责任,即下载新的网页并保留以前下载的网页新鲜。然而,新鲜度只有通过简单地重新访问所有网页才能保证,而不会给互联网带来不必要的负担。在可用带宽既不是无限也无空闲的情况下,如果要继续进行几个合理的质量或新鲜度量度,则不仅可以扩展而且高效地抓取网页。
4. 基于移动代理的爬行
移动代理是一个自主导向的程序,代表其所有者行事。根据其路径,它访问通过网络链接在一起的主机。移动代理被创建,发送,最终在其所有者的家庭框架中接收和评估。在访问过的主机上,移动代理在工作环境中执行。使用移动代理构建Web索引称为移动爬虫。在该Web服务器上启动实际爬网过程之前,移动爬网程序的功能是迁移到Web服务器。移动爬虫能够访问需要访问的资源,以利用本地数据访问。访问资源后,移动爬虫转移到下一台服务器,将网络爬虫结果携带到内存中。移动爬虫被转移到数据源所在的站点,以便在将任何不必要的数据传回搜索引擎之前将其过滤掉[15]。这些移动爬网程序可以通过降低通过网络传输的数据量来减少爬虫造成的网络负载。使用此方法可过滤那些未使用移动搜寻器修改的网页,但只会从远程服务器中检索真正修改过的网页,并在不下载页面的情况下对未修改的网页执行过滤。
这些移动爬虫移动到Web服务器,并执行Web文档的下载,处理和提取关键字,并在压缩后将结果传回中央搜索引擎。移动爬行器和数据检索架构的角色由移动爬虫建立如下:
4.1 Aglet架构
Aglet是一个基于Java的移动代理系统[5]。 Aglets架构由两层和API组成,它们定义了访问其功能的接口。 Aglet运行时层是Aglet的实现API,并定义API组件的活动,例如AgletProxy和AgletContext。 它提供了创建,管理和分派到远程主机的aglet的基本功能。 通信层主要负责将序列化的代理转移到目的地并接收它。
4.1.1 Aglets运行时层
Aglets运行时层应用Aglet代理接口,如AgletProxy和AgletContext。它还包括核心框架和子组件。核心框架提供了以下机制,它们对于aglet执行至关重要:
lt;1gt;aglets的序列化和反序列化
lt;2gt;类加载和传输
lt;3gt;引用管理和垃圾回收子组件被设计为可扩展和可定制的,因为这些服务可能因环境而异。
PersistenceManager:PersistenceManager负责将序列化的代理存储起来,包括aglet的代码和状态到硬盘等常数介质中。
CacheManager:CacheManager负责维护aglet使用的字节码,并在aglet移动到下一个目标时传输它,即使定义了匹配类后,CacheManager也会缓存所有字节码。
SecurityManager:SecurityManager负责保护aglet平台和aglet免受恶意实体的侵害。它捕获每个安全敏感操作并验证调用者是否被允许执行它。系统中只有一个SecurityManager实例,安装后无法更改。
4.1.2通信层
Aglets运行时没有将aglet的序列化数据传输到目标的通信机制。 Aglets运行时采用抽象代理系统之间通信的通信API。 这个API定义了技术
以代理系统和协议独立的方式创建和传输代理,跟踪代理和管理代理。 目前的Aglets使用代理传输协议(ATP)作为通信层的默认实现。 ATP建模在HTTP协议上,是用于传输移动代理的应用级协议。 为了促进代理之间的远程通信,ATP还保存消息传递。
5. Aglet生命周期模型
Aglet是一个用Java编写的Java库,用于支持移动代理的开发。 执行Aglet的执行环境称为Aglet的上下文,负责执行移动代理的安全限制。
Aglet生命周期[6]中的不同状态如下:
创建:一个全新的aglet诞生了, - 它的状态被初始化,其主线程开始执行
克隆:双胞胎aglet诞生 - 原始的当前状态复制到克隆中
分派:aglet转到新的 主机 - 状态与它一起
撤回:先前分派的一个aglet从远程主机返回 - 其状态随其一起退出
停用:一个aglet进入休眠状态 - 其状态存储在某个磁盘上
已激活 :一个被停用的aglet被恢复生命 - 它的状态从磁盘中恢复
处置:aglet死亡 - 它的状态永远消失
Aglet生命周期状态图如下图所示:
- 使用移动代理的好处
1.减少网络负载:由于HTTP请求或响应模式,从Web服务器下载内容涉及主要开销,因为请求消息必须单独为每个Web页面发送。使用移动爬虫,我们可以通过将爬虫转移到数据源来减少HTTP开销。然后,网络爬虫就本地发送关于HTTP服务器的所有HTTP请求。这种方法每个Web文档仍然需要一个HTTP请求,但不需要通过网络发送这些请求。因此,移动爬行器通过减少HTTP请求引起的Web流量来节省带宽。
2.远程页面选择:传统的爬虫实现数据库系统的数据传送方式,因为他们下载整个数据库,然后才能发出查询来识别相关部分。与此相反,移动爬网程序实现数据库系统的查询发送方式,因为识别相关数据部分所需的所有信息都与移动爬网程序一起直接移至数据源。在远程执行查询之后,只有查询结果通过网络移动,并可用于设置所需的索引而无需进一步分析。
3.远程页面过滤:远程页面过滤将远程页面选择的想法扩展到网页的内容。远程页面过滤的目标将允许搜寻器管理其检索的数据的粒度。根据相关信息与无关信息的比率,传输无效数据会导致网络带宽的主要部分耗尽。移动爬虫克服了这个困难,因为它可以过滤掉所有不相关的页面部分,只保留与爬虫工作的搜索引擎相关的信息。远程页面过滤对于使用网页专用表示(例如,URL,标题,修改日期,关键字)而非存储完整页面源代码的搜索引擎特别有用。
4.远程页面压缩:为了减少要传送回爬虫控制器的数据量,我们引入了远程页面压缩作为移动爬虫的另一个基本特征。为了减少将抓取程序与数据一起传输到搜索引擎所需的带宽,移动爬行程序在传输之前会缩小其大小。
7. 建议系统的工作
建议的系统工作如下:
在开始的过程中,移动代理被分派到远程服务器以在本地抓取网页。 第一次,移动代理将不同网站的HTML页面下载到客户端网站上。 这些网页被正确编入索引,其全部内容存储在客户端网站的数据库中。 从下次开始,抓取管理器会分别为每个远程站点生成移动代理。 移动代理移至远程站点以抓取分配给它的页面。 在远程站点,Mobile代理以递归方式搜索页面,然后逐个检索每个页面,其中的URL在数据库中给出,并且还下载网页大小。
所提出的系统的完整工作在下图示出:
8. 建议系统的工作
在本文中,我们提出了一个基于Java Aglets的Web爬网模型。 基于移动代理的Web抓取将产生高质量的页面。 抓取过程将迁移到主机或服务器以开始下载。
基于移动代理的Web爬网程序可以过滤掉自上次爬网以来尚未修改的网页。 这种技术可以减少远程站点CPU使用率。 所提出的基于Java Aglets的移动爬虫系统与传统爬虫相比将显着减少网络上的流量并节省CPU周期。
参考资料
- Web Crawler, “网络爬虫搜索引擎”, 网站, http://www.webcrawler.com.
- Berners-Lee, Tim, “万维网:过去,现在和未来”,网站: http://www.w3.org/People/BernersLee/1996/ppf.html. MIT (1996).
- Brin S. and Page L., “大规模超文本网络搜索引擎的解析,” Technical Report, Stanford University, Stanford, CA (1997)
- Cho J., Garcia-Molina H., and Page L., “通过URL排序进行高效的爬网,” Technical Report, Computer Science Department, Stanford University, Stanford, CA, USA (1997)
-
Lange D. and Oshima M.,使用Aglets编程和部署Java Mobile
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[22573],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。