网站大量收购独家精品文档,联系QQ:2885784924

WebSpider的设计与实现一.pptVIP

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
WebSpider的设计与实现一.ppt

Web Spider的设计与实现 (一) 基于ProActive的分布式并行 P-Spider 1.0 引 言 互联网信息量非常巨大并且不断快速增长,所以提高搜索引擎的Web Spider的数据采集和更新速度有着重要意义。 在分布式并行计算方面,传统的基于MPI的技术具有程序可移植性差和配置复杂等不足。如果直接用java开发,在多线程和分布式java应用程序之间还存在很大的缝隙,而且为了在多线程应用程序上构建分布式应用程序而禁止了代码重用。编程人员增加了很大的负担。 ProAcitive ProActive是一个由法国的INIRA的Denis Caromel教授带领的开发小组开发的适合并行、分布和并发计算,在统一框架具有的移动性和安全性的java开源开发包,是ObjectWeb consortium 开源中间件的一部分。 我们实验室的研究情况 主动对象 主动对象(Active Object, AO)是ProActive计算概念的核心 。它包括一个远程对象和一个线程。这个线程控制主动对象的活动,以及和其他已经部署好的主动对象协同工作。主动对象是在标准对象的基础上增加了位置透明、活动透明和同步三种功能。主动对象的通讯默认是异步模式的。一个主动对象包括一个主要的对象、一个线程、待处理请求队列。 异步调用 ProActive对主动对象的异步调用是通过Future对象来实现的。Future对象是ProActive中为方法调用时自动产生表示调用的返回结果的对象。ProActive采用一种Wait-by-necessity方式来解决内部对象的同步,其思想如下:生成Future对象后可继续往下执行,除非是直接对Future对象的引用,才会自动停下等待,直到Future对象得到具体数值。Future对象的值变为可用时,会自动得到更新。 Type Group 所谓Type Group就是具有相同类型的主动对象的群,可以向普通对象一样调用其中的群方法。Typed Group群通信是建立在ProActive异步远程方法调用基础之上的,可以实现一次调用多个AO操作。如果有返回值,结果也是一个群。 节点的部署 ProActive的部署文件是一个XML类型文件,它主要由三个部分构成:componentDefinition、deployment及infrastructure。用来提供虚拟节点(VirtualNode,简称VN)、 Java虚拟机(JVM)及节点(Node)的映射关系信息。ProActive在程序运行时从部署文件获取结点部署信息。 P-Spider的系统框架 协调器(SpiderCoordinator) Spider类 P-Spider的部署 virtualNodesDefinition virtualNode name=spiderNode property=multiple/ /virtualNodesDefinition ? map virtualNode=spiderNode jvmSet vmName value=Jvm1/ vmName value=Jvm2/ …… /jvmSet /map jvms jvm name=Jvm1 creation processReference refid=localJVM/ /creation /jvm jvm name=Jvm2 creation processReference refid=zhlc/ /creation /jvm …… /jvms ?processes processDefinition id=localJVM jvmProcess class=org.objectweb.proactive.core.process.JVMNodeProcess /jvmProcess /processDefinition processDefinition id=zhlc sshProcess class=org.objectweb.proactive.core.process.ssh.SSHProcess hostname=192.168.32.125 processReference refid=localJVM / /sshProcess /processDefinition …… /processes 实验 不足和将来的工作 SpiderWorkload 的url去重算法不能支持太大的规模,对此算法进行改进。 当规模太大的时候,协调器节点容易成为系统瓶颈。对系统结构进行改进。 心得体会 当系统规模较大的时候,设计阶段详细周全的考虑十分重要。 分布式程序和单机程

文档评论(0)

000 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档