Nutch的插件机制分析.pdfVIP

  1. 1、本文档共5页,可阅读全部内容。
  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文档。上传文档
查看更多
Nutch的插件机制分析

第28卷第1期 广西师范大学学报:自然科学版 V01.28No.1 2010年3月 of Normal ScienceEdition Mar.2010 Journal University:Natural Guangxi Nutch的插件机制分析 夏天 (中国人民大学信息资源管理学院数据工程与知识工程教育部重点实验室,北京100872) 摘要:论述Nutch插件机制的设计目标,分析归纳Nutch轻量级插件体系结构所包括的3组基本概念:微 内核、扩展点和扩展;插件、插件清单和插件清单描述器;插件工厂和插件清单解析器。总结Nutch插件的处 理流程和概念与实际文件之间的对应关系。对Nutch插件机制的深入理解。有助于灵活构建基于Nutch的新 应用。 关键词:Nutch;微内核;插件;扩展;扩展点 中图分类号:TP391 文献标识码:A 文章编号:1001—6600(2010)01—0105—04 Nutch是一个优秀的源代码开放的搜索引擎,已经得到了广泛应用[1剖。Nutch本身涉及词法分析、分 布式存储与并行计算、网络爬虫、网页解析与抽取、索引查询等多个模块,为保证核心逻辑的简洁优雅和系 统的灵活扩展,Nutch采用了“微内核+插件”的设计方式:微内核定义了系统中核心模块的接口要求和各 个模块之间的逻辑关系,插件则用于对已定义接口进行功能实现或增强。 Nutch(所选版本号:831632)核心功能由233个Java文件40600行代码组成,另外Nutch还自带了 61个不同的插件,由162个Java文件26428行代码组成,用于实现核心模块中定义的功能点。因此,如要 全面掌握Nutch的整体结构,并进行扩展应用,就必须对Nutch的插件机制进行深入剖析。本文重点探讨 Nutch项目中轻量级插件框架的设计思想与实现方式。 1 设计原则 传统的插件技术一般基于动态链接库或COM组件实现[5],用于扩展单个应用程序的功能,由宿主程 序负责插件的查找与激活,如为浏览器增加Flash功能。对大型软件来说,则更适合采用新的纯插件框架 设计,插件之间可以有一定的依赖关系,并通过一个插件引擎进行统一管理[6]。人们对插件已经做了一定 的研究r川,并开发出了JPF等通用插件框架[8]。 对于Nutch来说,其开发语言固定,核心模块确定,不涉及安全、事务、桌面应用,因此,庞大、完善的 插件框架并不适合。Nutch插件机制的设计原则综合考虑了以下因素: ①性能:系统应具有延迟加载和热部署能力,在保证主要功能前提下,可舍弃一些附加功能,如有效性 验证、安全管理。②扩展性:每个开发者可以编写一组插件去扩展系统已有的功能点,插件的更换无需改动 核心代码。⑧灵活性:开发人员都可根据接口声明编写插件实现,并可通过管理平台安装新插件或卸载已 有插件,当插件数量较多时,可以选用不同的插件进行组合,随需定制,满足不同层面的需求。④可维护性: 核心开发人员把精力集中于核心逻辑的开发,并提供插件接口描述,后续跟进的开发人员只需关注自己的 代码,无需掌握整个系统。采用插件方式,可以让每个人重点关注自己的工作,降低复杂程度,同时插件本 身是自描述的,掌握和使用新插件也较为简单。⑤简易性:基于Zipf法则,插件结构应当简单易行,既要保 留传统插件结构的优势,又要做到最大程度的精简。 另外,在插件的实现过程中,Nutch还采用了如下思想与技术: 收稿日期:2009—12—20 基金项目:国家社会科学基金资助项目(09CTQ027);中国人民大学科学研究基金资助项目 通讯联系人:夏天(1978一),男,山东潍坊人,中国人民大学讲师,博士。E—mail:iamxiatian@gmail.com 万方数据 广西师范大学学报;自然科学版 第28卷 ①接口与实现分离:由接口规范功能点,与各个模块进行交互,并通过不同的实现类来完成具体的功 能要求,在功能定义不变时,可以有多种不同的实现;②设计模式:充分利用已有的设计

文档评论(0)

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

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

1亿VIP精品文档

相关文档