文/曾婷 董丽
数据长期保存引入SOA
文/曾婷 董丽
随着数字资源的急速增长,如何保证资源的长期可用性和永久可读取性,成为一个非常严峻的问题。
数字资源长期保存(Digital Preservation,DP)是指为了长期保存足够的字节流(包括元数据),以再现对应的原始文件所需采取的措施,以及为了随着时间和技术的变化继续存取文档所采取的行动。数字资源长期保存的概念在上世纪80年代末提出以后,于90年代开始得到正式的研究。
随着数字资源长期保存的不断发展,出现了若干可用来构建数字资源长期保存系统的开源仓储软件,如Fedora、DSpace、Lockss、aDORe、DAITSS等。DAITSS(Dark Archive In The Sunshine State)是由佛罗里达图书馆自动化中心(Florida Center for Library Automation,FCLA)为佛罗里达数字保存系统所开发的一个数字保存仓储软件。在2006年底,人们以GNU GPL许可证方式作为开源软件发布了第一版。目前可下载的最新版本是2007年底发布的DAITSS 1.2. 6版本。
DAITSS与其他保存系统的最大区别在于:该系统的设计目标是作为数字图书馆和机构仓储的后台系统,仅提供仓储保存功能,不支持外部用户的直接访问,需要与其他访问系统联合为用户提供检索访问服务。DAITSS专注于保存功能的特点非常适于各机构构建一个基于已有资源环境的保存系统,避免了与其他系统在功能上的重复。
DAITSS基于OAIS(Open Archival Information System)参考模型,执行动态的保存策略,包括迁移、标准化和本地化。
OAIS参考模型
OAIS参考模型是一个全面分析数字资源长期保存活动,并规定其概念、术语和功能结构的总体框架。
OAIS是由美国空间数字系统咨询委员会(Consultative Committee for Space Data Systems,CCSDS)制定的国际存档标准,于2003年正式发布。其功能模型如图1所示。附加功能
DAITSS在遵循开放存档信息系统OAIS参考模型的基础上实现了预处理、摄入、档案存储、数据管理、管理、分发、撤销的功能,其中预处理和撤销是附加功能。下文对这两个附加功能简要介绍。
1.预处理功能
由于DAITSS系统采用统一的SIP(提交信息包)进行摄取,因此预处理功能要对附属机构提交的SIP进行相应的预处理,保证进入系统摄取模块SIP的有效性;如果不需要对SIP进行进一步的检查或改变,也可跳过预处理步骤。人们根据实际情况,当运行DAITSS的保存系统时,通过本地化的方法对SIP进行编辑、规范化等处理。
2.撤销功能
DAITSS的撤销功能是OAIS模型所没有的,在客户要求删除仓储内容的情况下使用撤销功能,可用于修正错误(当摄入的SIP有错误时)、移除被格式转换所代替的版本。
撤销功能包括撤销请求的认证(外部请求或内容请求)、文件删除、元数据修改。撤销操作移除完整的AIP,清除与数据文件相关的所有元数据,只保留与知识实体有关的元数据信息。该操作作为一个事件被记录到数据库中,并给用户和保存系统发送撤销报告。
在图书馆和博物馆服务机构(IMLS)的支持下,佛罗里达图书馆自动化中心基于DAITSS开发了FDA系统。FDA采用MySQL作为关系数据库管理系统,以IBM的Tivoli进行存储、管理文件系统中的三个AIP存档备份。存档文件的保存层次由FCLA附属图书馆指定。FDA采取FCLA与附属保存机构签订协议的方式明确在资源保存中的职责和权利。FDA管理存储资源,保证资源可获取;附属保存机构选择哪些资源予以保存,并在遵守版权规定的前提下管理保存元数据,授权予FCLA进行复制、呈现、建立衍生文件。FDA只能保存经授权的资源,极大地简化了仓储管理的角色和DAITSS软件的设计应用。
与Fedora、DSpace、Lockss等用于数字资源长期保存的开源仓储软件相比,DAITSS还处于应用发展的初始阶段,还没有形成用户群体和开发群体。这一方面是因为DAITSS 1.x的开发单位FCLA主要是为佛罗里达州的10所公立大学图书馆提供计算机应用支持,没有精力为其他应用单位提供更多的应用支持。另外一方面该软件的设计过于复杂,考虑了许多不太可能发生的情况,导致配置使用和定制比较麻烦;而且以前的设计过于紧耦合,不方便添加新的服务。
为了克服上述问题,并且考虑到数字资源长期保存的概念,涉及到诸多服务的互联互通,还要使用到许多第三方的专业工具软件,DAITSS从1.x到2逐渐转向SOA架构,这样它作为一个纯粹的后台仓储系统,可以方便地实现与其他系统的集成、互操作,为各保存机构构建一个基于已有资源环境的保存系统提供了更多的可能性;它本身的模块化和松耦合,方便各保存机构根据自己的特定需求自由地设计实现理想的工作流程。这些系统设计和功能上的改进将方便其它用户群体对于DAITSS的配置使用和定制,使得它更加可能在数字保存界得到广泛接受和应用。
目前,DAITSS 2的开发工作正在进行中,一方面是去掉一些不必要的功能,降低系统的复杂性;另外一方面的主要工作是引入SOA这种面向服务的架构,对目前单一的系统实现模块化和松耦合,以方便组成系统的各个功能组件的独立开发、修改、替换,而且能以Web服务调用的方式集成第三方已经实现的功能,并使得自己的各个功能组件以Web服务调用的方式被第三方集成使用。下文对为下一代DAITSS规划的面向服务的架构的若干组成部分进行介绍。我们可以看到一些外部的开源服务工具在数据处理的工作流程中被调用(见下页图2)。
描述服务
在DAITSS 2中,每个数据文件被送到描述服务,进行格式识别、校验和特征化。
人们使用到的开源服务工具及保存元数据标准如下:
1.PRONOM:由英国国家档案馆开发的一种用来支持数字保存服务的基于网络的技术注册机制。目前的核心服务包括:注册服务、PRONOM永久唯一标识符体系、DROID工具;
2.DROID:全称是Digital Record Object Identification,一种用来自动执行批量文件格式识别的开源工具;
图 2 DAITSS系统功能结构
3.JHOVE:全称是JSTOR/Harvard Object Validation Environment,参见http:/ /hul.harvard.edu/jhove/,是由JSTOR和哈佛大学图书馆合作产生的一个可扩展的开源工具,用于数字对象的格式识别、校验和特征化;
4.PREMIS:全称是Preservation Metadata Implementation Strategies,即数字保存界知名的PREMIS保存元数据体系,它在OCLC/RLG提出的保存元数据框架的工作基础上产生,是关于在数字保存系统中保存元数据所具体实施的策略的内容。
描述服务使用DROID进行文件格式的初步识别,然后根据初步识别的结果选择最合适的校验器,完成格式识别、校验和特征化。对于最常用的格式,一般使用JHOVE的一个修订版本作为校验器,DROID初步识别的结果用来选择初始的JHOVE检验模块。JHOVE处理的结果被解析映射到PREMIS中,同时JHOVE格式信息转换为一个PRONOM格式标识符。也就是说,数据文件被描述服务处理后,返回一个PREMIS XML文档,该文档用来指导进一步的摄入处理。
行动规划服务
数据文件被描述服务处理后产生一个PREMIS XML文档,该文档被送往保存行动规划服务(作为输入),然后返回一个简单的XML文档(作为输出),其中包含到文件转换服务(完成格式迁移或者规范化)的一个或者多个链接。如果DAITSS不能够转换某种格式,或者一个特定文件包含太多错误而不能够可靠转换,该服务返回的文档将包含相关信息。行动规划服务展示了RESTful方法的一个主要特点,那就是让链接驱动摄入的过程。
格式转换服务
DAITSS的当前版本是提供数据文件的规范化和迁移服务。下一代DAITSS将通过一系列转换服务来支持这些转换。根据行动规划服务的规定,一个数据文件被送到合适的转换服务,被转换后的文件通过HTTP返回。对于提交的单个文件可能输出多个文件,如一个PDF文件被规范化为若干个TIFF文件,每个文件代表一页。转换服务可能是本地开发的程序,也可能是一些开源的工具软件。
DAITSS作为数字图书馆和机构仓储的后台系统,其专注于保存功能的特点非常适于各机构构建一个基于已有资源环境的保存系统,避免了与其他系统在功能上的重复。
AIP服务
所有数据文件,包括原始文件和任何后续版本都提交到一个AIP服务,元数据文件如PREMIS文档也被保存。当SIP包中的最后一个文件被完全处理后,数据文件完成AIP包的组装。然后整个AIP包被送往存储服务,实现分布式存储。
存储服务
基于Amazon S3 Web服务的一个简单存储服务,将AIP包存储在几个位置。该服务的实施大大提高了性能。
风险评估服务
风险评估服务专门用来分析与AIP包相关的保存风险。
DAITSS系统需要运行在Unix或Linux操作系统下,也需要安装一些基本的软件环境:
1.MySQL Version 4.x 或更高版本,支持InnoDB data table,而且必须与DAITSS系统安装在同一台机器上;
2.Sun Java Virtual Machine (JVM),version 5 或更高版本;
3.Mail Transfer Agent (MTA),如Sendmail或Postfix。
可选软件
1.Clam AntiVirus:Unix系统下的GPL防病毒软件;
2.Ghostscript:PostScript处理工具;
3.ffmpeg:一个多媒体编码,解码工具集;
4.mencoder:一个视频编码器,可以将视频文件编码成mplayer支持的不同格式;
5.lqt_transcode:libquicktime项目的一部分,处理quicktime/AVI视频格式。安装
下载安装包daitss-1.2-binary.tar.gz,以root用户登录系统,安装过程如下:
运行安装命令后,系统会提示一些输入配置参数,一般情况下,可以选择系统的缺省配置。
(作者单位为清华大学图书馆)