董晓莉(国家图书馆)
随着社会创新速度的加快,图书馆、档案馆、博物馆等数据枢纽角色被弱化,资源保障正在从线性发展模式向实时化的非线性创新模式转变,保存服务对象的复杂性、数据动态性、流变性及资源采集渠道的异构性更强。通过保存机构间的协作实现对保存数字资源的保存与利用,有效保障具有真实性和有效性的资源发现,已经成为驱动保存机构创新发展的必然。随着各保存机构资源保障的开放性和协作利用需求的突显,如何根据用户需求实现针对具有真实性和有效性保存数字对象的精准推送、充分发挥协同服务作用,成为各保存机构服务深化和创新的目标。
近年来,随着数字出版物、政府记录以及数字化文献数量的不断增加,用户对保存数字对象利用需求的多元化和差异化越来越显著,对图书馆、档案馆和博物馆现有保存系统的可持续性和保存数字对象的可持续性以及便捷实用性提出了挑战。如何对现有保存系统进行合理改造,为保存机构提供强大且可持续增长的异构数字对象的收集、处理能力,有效增强现有保存系统资源内容的发现能力,提供真实可信的异构数字对象的采集与发现能力,构建标准、开放、可横向扩展的保存系统是目前亟需解决的问题。针对保存系统的流程再造并非要替换现有的保存系统,而是通过引入外挂“资源库”(如保存库目录索引、临时存储库等)的方式,实现基于保存系统内部资源内容、元数据以及信息包的不同颗粒度的信息检索。资源库的重点集中于信息包内的细粒度搜索和文件级别的随机处理,并非仅限于目前针对保存数字对象的元数据和信息包的访问。
目前,包括图书馆、档案馆以及博物馆在内的数字资源长期保存系统基本都遵循OAIS(Open Archival Information System)[1]参考模型构建,其工作流程主要针对有效提交信息包(Submission Information Package,SIP)的接收、归档信息包(Archival Information Package,AIP)的存储以及当客户端请求,提取AIP并重新打包形成发布信息包(Dissemination Information Package,DIP)为主,其信息保存与提供的形式主要以信息包为最小单元。为增强保存系统对资源的发现能力,需要对原有保存系统进行适度改造,以实现对全文元数据的抽取和精确搜索。根据OAIS参考模型,长期保存系统通常被划分成摄入模块、归档存储模块、数据管理模块、保存规划模块、信息访问模块和系统管理模块六大实体功能模块,基于此可以构建形成标准的长期保存系统。[2]因此,结合OAIS参考模型研究基于资源发现的单机构长期保存系统模型具有先天的架构优势,尤其是与OAIS的功能模块有机结合,既能够保留原有保存系统的功能,保证覆盖现有最基本和最核心的长期保存业务环节,又可以配合OAIS信息模型提供的元数据框架和信息包概念,保证保存信息在机构内部和协作机构系统内的有效流转,促进协作模式下保存系统不同颗粒度资源的有效保存和发现。支持资源发现的单点保存系统模型见图1。
如图1所示,支持资源发现的保存系统模型共分成八大模块,除了摄入模块、归档存储模块(信息包仓储模块)、数据管理模块(元数据仓储模块)、信息访问模块(访问显示模块)、保存规划模块、系统管理模块外,还增加了查询服务模块和临时存储模块。
图1 支持资源发现的单点保存系统模型
摄入模块:该模块主要负责对被保存资源的资源摄入管理,其遵循保存机构预先设定的资源摄取规则完成对提交数字对象的检测、转换和规范,识别数字保存对象的相关技术特征并执行摄入操作,保证摄取过程中所有数字对象在处理过程中的完整性、真实性和可理解性。具体涉及从数字资源提供者那里接受提交信息包(SIP),对SIP包进行核查并确保其质量符合要求,完成信息包中文献内容信息和元数据信息的抽取和拆分,按照相关的数据格式和文件标准生成符合归档存储系统要求的存档信息包(AIP),抽取提交信息包(SIP)中的元数据信息和文献内容信息并提交到临时存储模块,从AIP包中抽取描述信息(DescriptiveInformation)并提交到元数据仓储模块,协调实现对信息包仓储模块和元数据仓储模块的功能设置和完善。信息包中针对每一个文件的抽取都是独立进行的。抽取的过程与保存机构预设的保存规则、服务目标以及文件类型紧密相关。如针对一份报纸的抽取,将涉及作者、题名、主体内容、发行商、发行日期、文件格式、大小、存储介质、数字化工具等内容,此外还涉及该文件信息包、全文信息的唯一标识符等信息。以上信息一旦建立,即存入临时存储区。
临时存储模块:经过摄入模块加工处理后的元数据信息和每个数字对象文件信息被存储到临时存储模块。临时存储模块通过API与查询服务模块相连接并向查询服务模块提供元数据信息与资源内容信息。由于资源类型各异,因此该API的设计应当采用基于参数的高度可配置和可定制的模式。查询服务模块通过API完成对临时存储模块数据的抽取和重新索引,以支持对元数据和资源内容信息访问。
信息仓储模块:元数据仓储模块和信息包仓储模块共同构成了数字资源长期信息保存仓储模块。信息仓储模块主要负责管理数字对象、数字对象相关元数据及其二者之间的相关关系,并提供对数字对象的导入、导出、查询、访问等服务。具体包括:对数字对象描述信息和保存库系统管理数据的载入、维护和访问存取;从摄取单元接收AIP信息包,并将它们存储到信息包仓储系统中;为查询服务模块提供元数据、AIP包以实现对已保存数字对象信息包的提取和利用;负责管理和维护信息仓储。信息仓储模块通过API与查询服务模块相连接,可根据查询反馈结果随时调整API的参数设置,以实现基于不同类资源组成的复杂查询,并基于不同的资源特征进行排序,为用户提供定制查询服务。
查询服务模块:查询服务模块提供索引和查询功能。当在信息仓储模块和临时存储模块中增加、删除或更新记录时,将触发查询服务模块更新索引记录。为与信息仓储模块和临时存储模块中信息一一对应,索引记录以结构化的数据结构存储并构建数据指针和唯一标识符。为保证信息的一致性,同一信息包的元数据、数字对象文件以及信息包被看做是一组记录,它们拥有相同的唯一标识符。该模块提供信息包及信息包内细粒度的搜索和文件内容的随机处理,其支持基于文件和抽取元数据(如信息包中所包含文件的MIME类型、大小、名称等内容)的小范围搜索。当访问显示模块所接收到的用户搜索需求被提交到查询信息模块时,该模块将根据索引信息进行评估,随后将用户所需信息的可选内容片段及关联关系信息的排序列表反馈到访问显示模块。查询服务模块通过API与信息仓储模块和临时存储模块相连,以支持对多源异构数据的访问。同时,该模块通过HTTP接口与访问显示模块连接。
访问显示模块:该模块相当于查询服务模块的客户端,主要负责与用户进行通信并提供保存信息的查询和传递服务,主要包括访问活动协同、DIP生成和资源传递三个部分的职责。该模块接受用户的访问请求,根据用户的资源访问权限,将符合用户需求的元数据、文件信息或信息包反馈给用户。
基于资源发现的保存系统的核心是保证系统的可扩展性和较高的开放性,而信息包的构建是提高系统间互操作性和协作性的必然需求。首先,各保存机构需要确保所接收和提供访问的数字对象、AIP信息包和元数据是按照通用的标准化格式构建的,以满足资源保存与发现系统间的互操作性要求。首先,信息包、数字对象以及元数据都应当是标准化的格式,以保证不受系统间差异的限制;其次,数字对象、元数据及其所需的任何其他信息应组合在同一个概念信息包中,且所有组件都使用同一唯一标识;再次,每个概念信息包都应当包含有足够的信息,以保证数据信息在不同的资源保存与发现系统间传递时,可以进行有效性和可信性验证;最后,每个概念信息包的构建方式都应当保证信息内容可以被长期理解,而无需参考外部系统或标准,即信息包的核心技术和语义的使用原则必须遵循通用的标准。
OAIS参考模型中所定义的SIP、AIP、DIP信息包规范的内容是不可知的,因为其容许对任何数据信息和元数据信息进行打包。为了保证保存信息的完整性、真实性和可信性,在构建信息包时,需要考虑与保存信息资源相关的环境信息、来源信息等内容。例如,一个典型的资源保存发现系统应当包含所有被聚合的信息、与信息有关的元数据及其与其他实体的关系、信息分类标准、用户访问控制策略、规则定义、术语定义、信息搜索技术、存储技术等。[3]所有这些数据、元数据信息以及数字对象信息构成了一个具体的完整的信息包。在协作系统间进行信息交换时,这些数据信息必须一起传输,以保持整个信息包的完整性、真实性和可理解性。为保证系统间细粒度级别上的互操作性,信息包通用模型必须提供信息类型的详细说明、与特定类型内容相关的精确元数据、数字对象、资源内容以及保存发现系统环境信息等内容。信息包通用模型见图2。
图2 信息包通用模型
图2 所示的信息包通用模型符合OAIS规范,以灵活的数据组件形式构建,其容许将任何元数据、资源对象、数据信息、相关模式和资源内容打包成单个概念信息包,以支持在各保存系统间无缝传输、保存和重用。包中的元数据可以分为描述型元数据、保存型元数据以及其他类型元数据:描述型元数据主要用于查找和理解数据信息,保存型元数据主要用于确保资源信息、元数据和整个信息包完整性和真实性,其他类型元数据指其他任何类型被资源保存与发现系统或保存机构认为有关的元数据(如管理型元数据等)。该信息包通用模型可以包含单个实体的一个或多个表示信息,单个表示信息可以表示特定数据信息也可以表示整个信息包甚至复制整个模型结构。通过模型中文档类型元素可以实现对特定表示信息的有效区分,如保存机构可以在根元数据元素中仅包含通用的描述性元数据,在各自的表示信息中保存详细的元数据信息。通过这种方式,可以在不危及原始元数据完整性和真实性的前提下,提供将不同仿真环境或利用环境的描述信息单独表示的可能。由于整个信息包通用模型采用灵活的数据组件形式构建,因此各机构可以结合不同资源类型和使用目的选择是否分割保存元数据信息。同时,该模型可以灵活嵌入保存资源所依托的个性化的环境信息(如权限信息、说明文档、使用模式、数据字典等),以保证信息包的可持续利用,达到信息包自我维护的目的。METS标准是实现系统间互操作的主要工具,它容许根据公认的规则验证信息包内的所有内容信息。[4]因此,为保证信息包及其组件的持久性及独特性。元数据与相关数据信息的可连接性、信息包内所有组件的标准化,信息包通用模型必须包含“METS.xml”的强制性核心元数据文件,该文件内应包含信息包的标识信息和描述信息包本身及其构成组件的结构信息。
这里以古籍数字资源的保存为例,说明上述信息包通用模型的使用。在对古籍数字信息对象进行分析时,首先需要对其颗粒度进行界定。本例仅以册为最小单位进行古籍对象颗粒度的基本划分,对其实施资源保存与发现活动。确定以册作为古籍数字对象的最小知识实体后,在保存过程中需要对最小知识实体所对应的表现进行标识、存储和维护。如在应用过程中,一个.tar文件就是一册相关古籍的表现,将其单独进行封装,并记录文件初始的沿革履历信息、对象间的关系信息、描述信息、权利描述、环境信息等。古籍数字对象信息可以抽象概括出相似的结构特征(见图3)。Book1即一册古籍,其由一组元数据文件、一系列图像文件、相关的许可说明文件、技术说明文件构成。事件可以驱动Book1变为Book1’,对于古籍数字对象而言,Book1和Book1’是不同的两册古籍,但是他们之间存在着衍生关系。代理与Book1不直接相关,但可以通过事件间接地影响Book1。图3中,与事件相关的代理主要包括4种类型:人、组织、软件和物理设备。如,古籍数字资源长期保存管理者通过复制工具,制作了一份Book1的副本Book1’、一本或多本Book构成一个Collection、如多册数字古籍构成一种数字古籍。
图3 古籍数字对象信息包应用模型
图3 中的一个图像文件即一页古籍资源,如一个TIFF图像文件由不同格式的比特流(Bit Stream)组成,这些比特流在物理上没有本质的不同(都是二进制编码),这些二进制编码必须依赖于一系列具有引用关系的呈现信息构成的呈现网络来进行表述。因此,信息包应包含对该图像文件所依赖的软件环境信息、硬件环境信息、应用程序信息、格式信息等内容进行详细的记录和描述。
在结构上,可以分成简单古籍信息对象和复杂古籍信息对象,而复杂古籍信息对象由简单古籍信息对象构成。如图3中的一个TIFF文件就是一个简单信息对象,而多个TIFF文件构成了一册古籍,该册古籍是一个复杂信息对象。复杂信息对象是一个逻辑对象,它可以进一步包含简单信息对象或其他复杂信息对象,而这些信息对象是该复杂信息对象的组件。图3中的TIFF文件是简单信息对象,Book和Collection属于复杂信息对象。
在功能上可以分成种、册、页等古籍对象。如多册古籍可以聚合成为一种古籍资源,每册古籍又由多卷聚合而成,每个卷由一篇或多篇古籍文章构成,每篇文章由一页或多页构成。由于本例确定以册作为最小知识实体,因此每种古籍、每册古籍的描述元数据、技术元数据、保存元数据可以选择分种、册两级进行放置,这种分层数据模型很好地定义了仓储中的数据结构。我们将信息包之间的关系存储在管理元数据组件的数据库中,这保证了协作模式下基于多源异构资源发现的保存系统是一个闭环控制系统,具有良好的自适应性。
在该模型中,以一册古籍信息对象为中心将该信息对象所涉及的各种信息串联起来,涵盖了需要保存的一册古籍对象的基本元素:元数据、文件(页)、许可说明文件、技术说明文件等(见下表)。上述例子中的每册古籍构成了一个独立的信息体,它具有相应的元数据、对象数据、相关技术文件、说明文件、权限控制、许可协议、表现形式等。
表 古籍数字对象信息包应用模型的基本元素
在具体存储实现过程中,应当保证该模型具有自包含、自描述、独立性等特性,就像一个容器,可以承载该信息对象的所有信息,同时可以包含或关联其他信息对象。通过该信息对象模型,可以承载表示信息对象内容的数据流;通过结构元数据、资源命名规则控制、对象数据存储结构控制等手段,有效体现信息对象的结构;通过将对象与相关服务建立关联,一个对象可以同时有多重呈现方式;通过信息对象相互之间的关联关系可以有效体现其各种古籍对象关系,并实现古籍资源的有效组合和复用。在模型应用过程中,可以基于不同的资源分类、权限信息、许可协议建立不同控制域,定义不同的应用场景。[5]针对模型中所涉及的模板文件、相关的Schema文件、技术说明、许可说明等公共重要文件,可以在根元素中进行定义和描述,以增强信息对象模型的灵活性、可扩展性和可继承性。
目前,我国的数字资源长期保存政策和策略尚不完善,且机构间在数字资源长期保存领域的研究与实践工作缺乏有效的沟通和协调,跨机构、行业、区域的合作关系松散,缺乏统一规范的合作规范和制度,特别是各保存机构长期保存的技术能力参差不齐。因此,为最大限度地提供有效的保存和利用服务,我国基于资源发现的长期保存协作系统建设可以考虑采用有机融合分布式存储和信息处理机制的集中分散式架构,即由某一权威机构作为合作保存的中心机构,由其主导并协调指导其他机构共同完成保存任务,通过采用集中管理—分布存储—集中发现的资源保存与服务模式,保障可信保存信息资源的协同保存与利用,改变目前重保存轻利用、重数量轻管理的粗放保存服务模式。在该服务模式和系统架构下,中心机构负责完成保存政策、运行机制、合作机制、保存策略等方面的全局性指导,并通过共享基础设施、功能设计标准框架等方式完成机构间的共享与协作;在统一的资源采集政策下,各分支机构独立完成资源的收集、加工、审核、管理和存储;利用分布式的保存策略和多副本安全策略,保证种类各异的保存资源分布式存储于地理位置分散的各合作保存机构内部;通过规范的数据集中整合流程,保证资源保存形式的一致性,便于更新以及为用户集中揭示资源,实现保存资源的全方位揭示。[6]该系统架构通过机构间的合作保存有效规避了单机构保存有可能存在的风险;通过共享基础设施,降低开发成本;通过共享功能设计标准框架,有效降低管理成本;通过资源的多副本保存,有效提高资源的安全性和完整性。在系统构建过程中,解决协作模式下多源、异构信息资源的协同发现是协作模式下保存系统建设的基础和核心。本文提出一种基于异构数据库协同的系统模型(见图4),该模型吸纳了数据库、元数据、中间件、LDAP目录服务等思想。采用CSCW体系解耦其中的联邦结构,[7]协同查询处理、事务管理、完整性约束模块,访问底层数据库,较好地屏蔽了异构性。
图4 协作模式下基于多源异构资源发现的保存系统架构
协作模式下基于多源异构资源发现保存系统的构建可以首先构建一个基于集中元数据目录的服务,基于该服务,集中保存发现服务能以统一接口透明地访问各分支节点多源异构的数据仓储资源。该服务可以采用以下方法实现:将各分支机构数据库的位置和元数据信息注册到LDAP目录中,以便用户通过目录服务查询到所需要的数据库资源的位置和相关元数据信息;根据应用需求、用户授权以及资源所处的分支节点的位置来访问各个分子节点的数据仓储资源。由于目前的主流数据库基本都是关系型数据库,结构上基本是同构的,且均基于相同的元数据标准,所以元数据大体结构上相似,这就为以统一方式获取和保存元数据信息提供了可能。
协作模式下,机构间的协调控制器采用基于Agent[8]的三层协作模型实现。其中,中心节点的Agent负责收集协作保存与发现联合体系内信息资源保存与发现任务,并在对不同分支节点的资源保存情况、系统空闲情况以及存储空间和计算能力等影响因素进行综合评估后,完成任务的分配。任务一经分配,将触发各分支节点的Agent驱动分支节点的保存与发现系统完成数字信息的保存与利用任务。基于Agent的协作模型可以实现各保存机构异构仓储系统组件和任务的管理与监控,实现各保存机构异构仓储系统间的组件和任务协作。各系统间的级联采用CSCW的联邦结构,能够有效解决多源异构保存资源库的协同问题。当用户需要访问某一数据库时,先向机构间的协同控制器发出请求,无需直接与所要访问的数据库发生作用。协调控制器是底层各保存机构保存仓库的神经中枢,负责各保存仓储库之间的联系与消息传输,协调各保存仓储库之间的消息转换以及任务的规划、分解和管理。
整个系统的具体执行过程如下:用户在集中保存发现服务提供的可视化界面上输入信息保存与利用需求,机构间协同控制器将其提交至联邦结构的CSCW数据库中间件,中间件的协调控制器在通信处理器的支持下调用集中元数据目录服务,协同信息处理、保存管理、完整性约束等模块向不同的分支节点数据库发出操作指令,并将取得的结果传递给保存发现服务。当各分支机构的保存数据仓储节点所摄入的资源发生修改、更新、删除等变更时,各保存节点将提交元数据注册与更新需求,并触发集中元数据目录服务重新完成元数据的更新以及索引的构建。
现代信息环境下,保存机构所依赖的资源体系、资源获取渠道、表现形式、利用形式与服务环境均发生了重大变革。本文针对上述目标,结合目前保存系统存在的不足,通过对单机构保存系统结构的改造,实现了基于不同级别数字对象的发现,并在此基础上探讨了基于资源发现的数字资源长期保存信息包的构建以及协作模式下基于资源发现保存系统的构建方法。但基于资源发现的数字资源长期保存系统的建设与服务需要考虑更多复杂的因素(如知识产权、政策环境等),这是未来需要进一步研究的方向。