网络信息资源保存开源软件综述_nutch论文

网络信息资源保存开源软件综述,本文主要内容关键词为:信息资源论文,开源论文,网络论文,软件论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。

【分类号】G250.76

1 引言

网络信息资源保存(Web Archive,WA)自上世纪90年代中期兴起以来,经过10多年的发展,取得了较大进展,在全球保存机构的共同努力下,已经开发出涵盖WA各个工作阶段所需要的一系列软件工具,这些软件绝大多数为开源软件。

通过调研,笔者发现WA领域之所以使用了大量的开源软件,除受同时期兴起的开源运动影响外,还有更深层的原因:

(1)首先由于网络资源的海量、复杂、动态更新、指数增长等特点,使得WA面临一系列的技术难题,尽管经过10多年的发展,但如增量采集、深层网采集、流媒体采集等一些技术难题仍没有很好地得到解决。而开源软件使得任何人能获得软件源码,对软件进行改进和完善,有利于集中更多人的智慧共同完善软件,促进相关技术的快速发展。

(2)WA是一项系统工程,需要巨大的资金投入,而WA的实施主体以国家图书馆、档案馆、非营利性机构为主,他们需要把有限的资金和精力投入到具体的资源存档工作中,因此,更愿意选择开源软件以降低成本。

(3)WA活动大多由基金或国家政府支持,根本目的在于保存人类文化遗产以供未来用户使用,公益性和资源共享是其本质特点,因此WA对于技术和经验的共享以及软件开源的支持程度不同于其它领域,这也是WA领域工具大多为开源的原因之一。

(4)以推动全球WA活动为宗旨的国际网络保存联盟(International Internet Preservation Consortium,IIPC)每年投入大量资金进行开源软件的开发和完善,对WA开源软件的发展起到了重要推动作用。

可以说开源软件的应用和不断完善推动了WA的发展,反过来WA的发展又很好地促进了开源软件的发展。

2 WebArchive常用开源软件及分析

2.1 采集工具

网络采集工具,WA以前已有很多,如搜索引擎也用网络爬虫对网页进行采集,但由于目的不同(搜索引擎仅对采集到的最新数据进行索引,而无需对历史数据进行保存与管理),用于搜索引擎的爬虫无法满足网络存档的采集需要,因此出现了一些专门用于网络存档的采集工具,而且有些项目或组织利用这些基本的采集工具,开发出了相应的网络存档系统和服务。

(1)Heritrix——开源、可扩展的“Archival Crawler”

Heritrix[1]是Internet Archive、IIPC成员图书馆和其他组织合作开发的、开源的Web网络爬虫。

优点在于:

①高度的可扩展性,开发者可以扩展它的各个组件来实现抓取逻辑;

②丰富的可配置功能,由XML配置语言驱动,支持复杂的爬行定义和过滤,如抓取频率可设置为每天、每周、每月、每季度、每年;

③友好的操作界面,由Web主板控制面板来管理和监督抓取,使用方便,易用性强,且具有远程控制功能,通过JMX进行监督;

④完整的抓取内容,采用广度优先算法,用来抓取完整的、精确的、站点内容的深度复制,重新抓取相同的URL时不针对先前的进行替换。

缺点在于:

①配置复杂,源码较难理解;

②可移植性差,只能在Linux系统上使用,对不熟悉Linux系统的用户来讲操作比较困难。

适用对象:作为IIPC的主要采集工具,Internet Archive、Web at risk项目等使用了该软件,它适合于大规模网络存档,是目前及未来网络存档最主要的采集工具。

(2)HTTrack——免费、开源的站点复制和离线浏览器工具

HTTrack[2]是站点复制和离线浏览工具。

优点在于:

①链接分析功能较强;

②易用性强,是一个桌面抓取工具,可以从互联网上下载整个网站,进行离线浏览;

③可配置性强,且配置简单,使用方便,如可配置单个文件最大的规模、整个网站的最大规模,也可以配置爬行的最大时间限制、传输率(Bytes/秒)以保护爬虫避免爬行陷阱。

④移植性强,可以在Windows和Linux/Unix系统上运行,如WinHTTrack是为Windows 9x NT/2000/XP设计的版本,而WebHTTrack是Linux/Unix/BSD版本。

缺点在于:不适合大规模的采集。

适用对象:HTTrack适用于小规模的网站抓取,应用比较广泛,早期的网络存档项目,如澳大利亚的PANDORA、美国国会图书馆的Minerva Prototype、英国的Domain.UK/UKWAC等都采用了这种采集工具。

(3)WCT——选择性网络采集的过程管理工具

The Web Curator Tool(WCT)[3]是由IIPC发起、新西兰国家图书馆和大英图书馆的合作项目,Sytec Resources公司开发的选择性网络采集过程管理工具。

优点在于:

①易用性强,专为图书馆和其他收藏单位的非技术用户设计,对网络采集全过程进行控制,使用简单;

②开放性好,使用Heritrix作为网络采集工具,在Heritrix基础上进行面向企业级的软件开发,是专门针对Web Archive而开发的工具,并能与Nutchwax、Wayback进行整合提供索引和访问;

③规范性强,拥有完善的采集许可制度、规范流程管理和采集质量审核机制,采集质量高。

缺点在于:

①只对采集过程进行管理,本身没有数据存储库,因此需要一个外部存储库来存储收割的资源,以进行长期保存;

②本身没有访问工具,因此需要利用其他软件提供对收割内容的公开访问,如Wayback,WERA;

③尽管能支持创建一些描述性元数据,如都柏林核心元数据,但它本身不是编目系统;

④尽管它提供与出版商的通信并对通信结果进行记录,但由于它不是文件或记录管理系统,不保存这些记录,需要导出到外部文件管理系统进行保存管理;

⑤由于没有经过广泛测试和使用,其稳定性和可靠性还不能保障。

适用对象:适合非技术人员(如图书馆员)操作使用,作为一个很有前途的工具软件,非常值得关注。

(4)NetArchiveSuite——综合性的网络存档软件包

NetArchveSuite[4]是由丹麦的两个国家存缴图书馆The Royal Library和The State and University Library于2004年的netArchive.dk项目共同开发完成的网络存档软件包。

优点在于:

①基于Heritrix作网络爬虫,具有Heritrix的相关优点;

②对非技术用户友好、低维护、高bit保存安全、松耦合等特点;

③已经建成了built-in bit保存功能,系统架构允许软件分布在不同地方的多台机器上;

适用对象:NetArchiveSuite应用范围比较广,可用于基于事件的采集、选择性采集和完整性的快照。

(5)Nutch——开源、透明、可扩展的网络爬虫

Nutch[5]是一个开源的网络爬虫,开源、透明、可扩展是它的突出优点。Nutch和Heritrix一样,二者均为Java开源框架,Heritrix是SourceForge上的开源产品,而Nutch为Apache的一个子项目,它们都称作网络爬虫/蜘蛛(Web Crawler),其实现的原理基本一致:深度遍历网站的资源,将这些资源抓取到本地,使用方法都是分析网站每个有效的URI,并提交Http请求,从而获得相应结果,生成本地文件及相应的日志信息等。与Heditrix相比,两者在以下几个方面存在差异:

①Nutch只获取并保存可索引的内容,Heritrix则是照单全收,力求保存页面原貌;

②Nutch可以修剪内容,或者对内容格式进行转换;

③Nutch保存内容为数据库优化格式便于以后索引,刷新替换旧的内容,而Heritrix是添加(追加)新的内容;

④Nutch从命令行运行、控制,Heritrix有Web控制管理界面;

⑤Nutch的定制能力不够强,不过现在已经有了一定改进,Heritrix可控制的参数更多。

(6)Smart Crawler——智能爬虫

Smart Crawler[6]项目是Internet Archive、大英图书馆、美国国会图书馆、法国国家图书馆和IIPC成员联合开发的一个项目。Smart Crawler有三个发展阶段的目标:

①去重(1.12版)

②专家/自动化的优先级(2.0/2.2)

③连续/自适应的重新抓取(2.4+,TBD)Smart Crawler

目前,第一阶段的目标“周期性爬行站点时监测并避免重复抓取内容”已经实现,2007年3月16日发布的Heritrix1.12.0版是Smart Crawler项目第一阶段的成果,其突出特点就是降低重复资料的采集和存储战略,Smart Crawler项目以后阶段将关注提高URI的优先性和基于每个网页的变化率进行爬行。

(7)DeepArc——数据库驱动的深层网采集工具

DeepArc[7]是由法国国家图书馆使用XQuark开发的针对基于数据库驱动的深层网进行采集的迁移工具。深层网中有很大一部分是数据库资源,对数据库资源的存档,需要包含数据库内容、数据库管理系统和数据库应用所需要的系统环境等,为了对数据库实现网络存档,法国国家图书馆开发了DeepArc工具,它利用XQuery从关系数据库中抽取信息,按照目标要求重新结构化,把数据库内容转化成XML文件抽取出来以实施网络采集和存档,DeepArc必须由网络出版商(Web Publisher)安装,且需要采集人员对数据库结构和要存档的数据模型有着深刻的理解,该工具成为IIPC的主要工具之一,由法国国家图书馆开发,2005年1月发布第一版。

(8)Wget——命令行采集工具

Wget[8]是开源的采集器,可配置性强,功能强大。Wget没有交互式界面,可在后台运行,在用户退出登录以后,仍可继续运行,Wget非常稳定,它在带宽很低的情况下和不稳定网络中有很强的适应性;Wget最初只用于Unix系统,目前也有Windows系列的版本。但由于Wget没有交互式界面,仅是一个命令行工具,对于一些Unix新手来说在使用和管理上会存在一些困难。Wget尽管功能强大,但由于是命令行工具,易用性差,且存在其他方面的问题,使用并不是很广泛。

(9)NEDLIB Crawler——更新校验的中等规模采集工具

NEDLIB Crawler[9]是NEDLIB项目委托芬兰的科学计算中心(Center for Scientific Computing)研发的开源专门网络存档采集器,它的突出特点是使用NEDLIB采集器进行采集,新获得的资料会和上一次收集的资料进行比较,实施MD5校验,如果相同,则不对信息进行采集,如果不同,才对新资料进行采集,因此使用NEDLIB能比较好地实现副本检验的功能。但这种采集器缺少直接的用户界面,过程控制通过数据库输入,灵活性差,使用不便,且只适合中等规模(几十G)的窄范围采集,它只在北欧国家的小范围内比较流行,如奥地利的AOLA、北欧的Nordic WebArchive项目。

2.2 索引工具

Web Archive的根本目的在于通过对网络信息的采集实施保存与管理,以供未来的用户查询和利用,因此需要对采集来的大量网络资源实施有效地索引,才能确保未来的查询和使用。目前,使用最多的开源的索引工具是NutchWAX和XTF。

(1)NutchWAX

NutchWAX="Nutch(W)eb(A)rchive e(X)tensions"[10],是目前Web Archive中应用最为广泛的全文本索引工具。NutchWAX是针对Web Archive需求在Nutch的基础上减弱其网页采集功能、添加了一些附加软件(add-ons),采用新的日期查询器、在索引中添加额外字段和对非TEXT/HTML内容的索引功能,索引质量和效率较之Nutch都有所提高,从而可以为存档的Web数据提供索引和搜索的功能。NutchWAX是一款开源软件,这些附加软件是由Internet Archive Web Team与一些志愿者、合作伙伴以及终端用户合作开发的,其本身建立在Lucene和Haphoop的基础上,其主要功能是为Web Archive提供全文本索引和搜索功能,是目前最为有效的全文索引工具。

(2)eXtensible Text Framework(XTF)

eXtensible Text Framework(XTF)[11]是一个开源的索引与查询工具。目前为加利福尼亚数字图书馆的Web Archiving Service提供存档资料的索引。XTF使用灵活,并且支持异质数据集合的搜索,以高度可配置(Configuable)的方式展示搜索结果。它所支持的异质文本数据有:XML、PDF、HTML、TEXT等等。XTF使用Java和XSLT2.0编码来索引、查询和显示数字对象。XTF的源代码建立在开源软件(如Lucene,Sxon)基础上,并且开发人员可以免费获得。这个软件可以支持终端用户的Boolean命令查询、截断/通配符查询和精确查询。可以执行结构化搜索(如只搜索某一章)并可以在上下文中浏览搜索项,XTF在开发上具有易于部署(一个Java应用服务器(如Tomcat)有权使用;在SunOS、Linux和Windows也都通过检测)、易于配置(能在任何XML元素或属性上建立索引;整个展示层可通过XSLT定制)、鲁棒性(能在大规模文档集上很好地执行,可扩充到在由上百万文档组成的集合上很好地执行;提供全Unicode支持)和可扩充性的优点。

2.3 访问工具

Web Archive的目的绝不仅仅是为了保存,对网络资源的长期保存也是为了未来更好的利用,因此友好的访问界面对Web Archive非常重要,现有的Web Archive项目已经提供了对外访问功能,如Internet Archive。但由于Web Archive的特点,如需要对同一网页不同历史版本的呈现和查询等,其提供的访问形式有别于原始网页,而且由于版权问题,还需要对访问权限实施一定的控制,因此对Web Archive访问工具提出了新的要求,目前Web Archive访问工具主要有Wayback、Xinq和WERA。

(1)Wayback

Waybackt[12]是Alexa公司为Internet Archive开发的一款Web Archive访问工具。它是早期Wayback Machine的开源版本,本身是一个开源的Java软件包。它允许用户检索资源集来定位文档,通过Web浏览器查看资源集中的存档文档,多种访问方式(存档URL模式、协议URL模式、域名前缀模式)供用户选择实现网站重现。能够支持集中部署模式,实现从单一主机上的单一应用(存放所有存档文件和索引)到高分布式系统(索引和存档内容分布在数百台机器上)的部署,同时也支持高分布式系统(索引和存档内容分布在数百台机器上)的部署,但其对于浏览内容的支持还存在着不足。总体而言,Wayback是目前较好的索引和访问工具。

(2)Xinq

Xinq[13]是澳大利亚国家图书馆开发的一款XML Archive结构化存档内容的访问工具,它能生成一个基于Web的搜索和浏览界面,用来访问基于一个配置文件的任意XML内容,配置文件中描述内容的结构和语义,以及搜索、浏览和展示的规则。作为开源软件,Xinq使用了基准的开源技术,包括XSLT、XQuery、JSP和JavaServlet技术。Xinq能为XML格式存档的Archive集合提供搜索、浏览和显示功能。

(3)WERA

WERA(Web Archive Access)[14]是一款免费的Web Archive浏览工具。由IIPC赞助,由北欧国家图书馆(Nordic National Libraries)的NWA(The Nordic Web Archive)项目开发,于2005年8月首次发布。

WERA是开源的分布式的访问工具,使用PHP和Java构建,为了促进系统不同部分之间的交流,广泛采用了开放标准,如HTTP协议和XML。WERA可以提供类似Wayback的访问功能,还可以提供全文本搜索以及不同版本网页的导航,利用“时间线”界面要素,允许用户不返回搜索结果列表就能在存档页的不同版本间导航。

3 WA开源软件发展应用现状及趋势分析

根据2008年IIPC对成员机构Web Archive项目所使用的采集、访问工具的现状进行相关调查显示[15]:使用率较高的采集工具包括WCT(13%)、PANDAS(7%,PANDAS为澳大利亚国家图书馆保存系统,早先使用HTTrack,随后使用Heritrix作采集器)、NetArchiveSuite(7%)、WAS(7%);访问工具以Wayback为主(47%),其次是WEAR(7%),如图1所示。

WA领域的开源工具普遍遵循标准规范,特别是IIPC的存档格式WARC被接受成为国际标准后,绝大多数的工具软件都予以支持。

Web Archive领域的工具、系统有趋同的发展态势,并呈现出越来越紧密的合作趋势,目前几家具有较强技术实力的机构开始合作开发和完善现有的软件和工具。采集工具方面,IIPC与合作机构正在研发新一代智能爬虫(Smart Crawler),以提高爬虫自动采集的效率;在索引、访问工具发展方面,IIPC与合作机构的开发也使得工具得到进一步发展和完善,如Nutch-WAX增强对大规模存储的索引、Wayback加强访问控制等。

图1 Web Archive使用采集工具、访问工具统计[15]

受开源运动的影响以及Web Archive对于开源软件工具的需求,越来越多的开源软件工具出现在WA领域,最近由商业公司Hanzo在IIPC资助下公布了开源的WARCTools。可以看出IIPC在推动相关开源软件的开发、应用方面发挥了重要作用。

4 WA领域应用开源软件的一些思考

与其它领域相比,WA在应用开源软件时需要重点考虑以下几方面的问题。

4.1 更加关注开源软件的易用性

软件只是作为用户使用的工具,用户使用软件的本意是解放用户自己而腾出更多时间和精力专注于所开拓业务的本身。使用开源软件也同样要关注它的易用性,特别是WA活动的参与者大多为图书馆、档案馆的工作人员,其技术能力有限,而开源软件对比商业软件的弱点之一就是软件的易用性。因此,在WA活动中选择采用开源软件时要综合考虑机构的人员结构和软件的易用性,避免过多精力投入到软件的应用上,而影响了真正的保存业务。

4.2 WA需求有别于其它网络信息采集

在Web Archive领域,网络信息资源采集的过程不同于通常意义上的网络信息资源采集,它是基于长期保存和为未来人群提供资源访问的一种采集,它更强调策略和规划,更加注重数据质量,因此采集策略的制定、采集资源的选择、以及版权问题成为其采集流程中很重要的部分,同时对于所采集资源的元数据获取和编目工作以及数据质量的审核,也成为该流程中的难点和亮点。所采用的采集器要具有礼貌的(Polite)、稳健的(Robust)、容错(Fault Tolerant)、采集元数据(Able to Collect Meta-data)、可配置(Configurable)、可扩展(Scalable)、经济(Economic)、可管理(Manageable)等特征。对于大规模站点采集来说,采集器持久性、运行的平均持久度都是需要考虑的关键因素。

4.3 更好地理解开源软件的使用成本

在WA的活动中,软件费用占据了很高的成本比例。虽然开源软件可免费获得,但其应用对技术人员的要求相对较高,特别是对开源软件的二次开发、利用开源软件进行用户需求的集成、长期维护与支撑等都需要具备一定技术能力的人员投入。因此,需要全面考虑开源软件的使用成本以及成本控制问题。在开源软件成本计算上,要包括软件分析(含调研、需求分析、系统分析)、系统实施(含安装/测试、二次开发、人员培训)、系统维护(含纠错性维护及适应性维护、软件升级更新)等方面的费用,其中管理费用和人工费用没有包括在内,但实际运行中这些费用也是必须考虑的因素。

4.4 WA开源软件普遍缺乏有力地技术支持

开源软件的选择原则之一是提供本地化支持,以便获得方便的技术支持。很多开源软件不但拥有强大的开发团队,还形成了活跃的网络社区,文档资料和应用经验可方便获得,用户之间可方便交流,同时还常常有本地的商业公司提供各种服务支持,如Dspace、Plone。WA领域的开源软件目前还没有形成规模,文档资源不完整,技术支持可获得性比较差,没有商业公司提供相关服务。

收稿日期:2009-03-31

标签:;  ;  ;  ;  ;  

网络信息资源保存开源软件综述_nutch论文
下载Doc文档

猜你喜欢