面向数字图书馆的五层模型异构数据集成架构研究,本文主要内容关键词为:架构论文,五层论文,数字图书馆论文,模型论文,异构论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
1 引言
近年来,面对信息的飞速增长,人们一直在研究如何利用计算机来对数据进行管理、组织和利用。在计算机技术的发展过程中,经历了文件系统、层次数据库、网状数据库、关系数据库、面向对象数据库等几个阶段,还产生了许多其他形式的结构性、半结构性、非结构性数据组织方式,例如超文本文件、XML文件、文本文件、自定义格式文档等。如何将这些不同类型、不同结构的信息进行集成利用成了亟待解决的问题。
图书馆同样也面临着信息集成问题。为了更好地为读者服务,许多图书馆都建立了一些自己的应用系统,也引进了大量数据库。由于这些数据库应用所基于的技术环境和针对的需求不同,彼此之间分离独立,互操作困难,造成了资源浪费,信息得不到有效利用。如果使用信息集成技术,将不同的数据库中的信息整合到一起,则可以使现有信息资源发挥更大的作用。本文将对此进行系统的研究,并将成果应用于军事训练数字图书馆。
2 数字图书馆异构数据集成及其性能要求
2.1 异构数据集成的概念
异构数据集成是指对已经存在的多个异构数据库,在尽可能少地影响其本地自治性的基础上,构造具有用户所需要的某种透明性的分布式数据库,以支持对物理上分布的多个数据库的全局访问和数据库之间的互操作性[1]。对多个数据源(假设为n个)进行集成,直接在数据源之间建立连接,则需要C[2][,n]=n×(n—1)/2条路径,数据集成的工作量是O(n[2]),如图1所示。如果对5个数据源进行直接集成,要保证数据源之间能够完全相互访问,就必须在两两之间都建立连接,共需要10条路径。这种集成方法,在n个数据源的基础上增加一个数据源就需要增加n条路径,集成工作量大,容易出错,效率也不高。可以通过增加中间层来降低数据集成的复杂性,消除数据源之间的异构性,如图2所示。由于增加了中间层,对n个数据源集成所需要的路径减少到了n条,且每增加一个数据源只需要再增加1条路径,也不需要对原来的系统进行修改。图2的方法将工作量减少为O(n), 大大降低了数据集成的复杂度,提高了系统的可伸缩性。
附图
图1 在数据源之间进行直接集成
附图
图2 通过中间层进行数据集成
2.2 异构数据集成的性能要求
异构数据集成的目的是为应用系统提供集成、统一、安全、快捷的信息查询、数据挖掘和决策支持服务[2]。为了满足这些条件,集成后的数据必须保证一定的集成性、完整性、一致性和访问安全性。
(1)集成性。各个异构数据库都存在着自己的业务逻辑或数据结构。 对异构数据源进行整合应该发掘不同数据库中数据之间的内在关系,使得集成后的数据成为建立在一定联系上的整体,而不是将简单、孤立的各个异构数据库中的数据堆放在一个更大的数据库系统里。
(2)完整性。为了满足各种应用处理(包括发布)数据的条件, 集成后的数据必须保证一定的完整性,包括数据完整性和约束完整性两方面。数据完整性是指完整访问数据本身。约束是指数据与数据之间的关联,是唯一表征数据间逻辑的特征。保证约束完整性是良好的数据发布和交换的前提,可以方便数据处理过程,提高效率。
(3)一致性。不同信息源之间可能存在着语义上的区别。 如相同概念的不同表达方式,这些语义上的不同会引起各种信息不完整甚至产生错误信息,从简单的名字语义冲突(例如相同的概念由不同的名字代表),到复杂的结构语义冲突(例如不同的模型表达同样的信息)。语义冲突会带来数据集成结果的冗余,干扰数据处理、发布和交换。整合、集成后的数据应该根据一定的数据转换模式和业务规则进行统一数据结构和字段语义编码转换。
(4)访问安全性。由于数据库资源可能归属不同的单位, 各业务数据系统有着各自的用户权限管理模式,访问和安全管理很不方便,不能集中、统一管理,所以在保证访问异构数据源数据基础上保障原有数据库的权限不被侵犯,实现对原有数据源访问权限的隔离和控制,就需要设计基于整合、集成后的综合信息仓库的统一的用户安全管理模式来解决此问题。
上面列举了在构建异构数据源集成系统时所必须满足的几个主要条件,这些条件之间是相互联系、相互制约的,不能简单孤立地对待。
3 基于五层模型的异构数据集成架构
通过对军队图书馆系统面临的异构数据集成问题进行分析,在参考国内外关于异构数据集成的研究成果基础上,针对军事训练数字图书馆的特点,构建了以数据仓库为核心的数据集成平台,设计并实现了一个基于Microsoft.NET平台,以数据仓库为核心和XML为数据交换格式的适合于军事训练数字图书馆的5层模型数据集成架构。
3.1 数据集成架构的设计
数字图书馆的异构数据集成是一个比较复杂的问题。本文认为在构建数字图书馆的异构数据集成系统时,应该着重考虑以下几方面的问题。
3.1.1 从数字图书馆异构集成的需求看
数字图书馆的数据有其自身的一些特点。①数据比较稳定,更新不频繁。目前数字图书馆的数据仍然以书目数据为多,书目数据建立后基本不会对数据进行更改。而且书目数据多是成批录入,追加新数据的时间间隔比较长,对实时数据的要求不是很高。②书目数据具有比较成熟的元数据集(MARC),对书目信息的描述比较统一,有利于建立统一的数据视图。与其他类型的数据集成不同,图书馆的信息资源大多可以统一到MARC描述上。因此,可以立足于MARC建立集成的统一视图,也可以在MARC的全集中抽取部分元数据,组成子集建立独立视图。③书目数据有现成的分类体系,可以对书目数据进行多视角的组织。军队院校图书馆一般使用《中国图书馆图书分类法》进行分类,也可以使用这个分类法对数据资源进行分类组织。④书目数据与全文数据相比,数据长度比较短,需要的存储空间比较少。与将不同数据源的全文数据复制到一起相比,仅将书目数据集成到一起的成本比较底、效果比较好。因此,应立足于对书目数据的集成,在集成架构中加入数据仓库元素,利用数据仓库对集成的书目数据进行统一视图的组织和管理;用MARC作为集成的元数据,利用MARC对书目数据进行描述,并在MARC基础上建立各类视图;通过现成的《中国图书馆图书分类法》将书目数据按照不同的主题进行组织。
3.1.2 从异构数据集成的要求看
前文已经提到,可以使用MARC作为集成的全局模式。在实际的本地图书馆管理系统实施中,几乎没有一个数据源使用全MARC的数据结构,而且实际也没有必要把所有的字段都包括进全局模式中。本文认为应根据实际的需要,从全MARC字段中抽取部分字段来构建全局模式。然而,由于并没有完全遵照MARC的标准,各个数据源之间定义的数据结构也有很大差别。数据源之间“同名异义”和“同义异名”的现象比较严重。如对于题名字段,就存在书名、论文名称、题名等多个称谓。所以应该提供ETL工具,对集成数据进行适当的清理。
当将多个数据源的数据集成使用时,如果不对集成的结果进行处理,当检索返回的结果比较多时对用户的意义就不大。造成这样的原因是主要是缺乏预处理机制。对于集成结果的任何处理都需要占用较大的资源,这样将加重整个系统的负担和响应时间。其次是没有进行必要的索引,对于排序就只能按照数据源适配器返回信息的顺序简单连接起来,这样也不容易发现冗余的结果。如果在架构中加入了数据仓库,可以在数据仓库中按照不同的主题对集成后的数据进行存储,还可以利用关系数据库的工具对数据进行预处理,设置多种索引方式,并给予用户自定义返回信息的能力,这样对于集成后数据的利用就方便得多。
3.1.3 从检索代理的通用性看
根据调研,了解到当前军队院校图书馆拥有的数字资源一般有这样几种类型:一是“军队院校图书馆信息管理系统”(MILINS,NM2000),其后台数据库管理系统是SQL Server ; 二是自建的数据库, 后台数据库一般也是SQL Server或者Microsoft Access,也有用FoxPro或者Lotus Notes的;三是引进的数据库, 其情况比较复杂,有些是数据库的,也有文本的、网页形式的,还有自定义格式的。一般而言,对于不同的数据库形式需要实现不同的适配器,对于相同类型的数据源可以通过配置的形式来实现接入系统。对于适配器还需要考虑以下一些问题。首先是适配器不应该加重原系统的压力。由于很多数据源本身属于其他应用的一部分,比如NM2000系统的后台数据库就是NM2000系统的一部分,对于这种数据库数据的集成不应该影响到原有的应用。其次是适配器使用Web Services的形式暴露接口,这样有利于跨网进行集成,也有利于以后的扩展。再次是可以将部分数据清洗的工作放到适配器上实现,这样可以充分利用资源,减轻主服务器的负担。第四是以XML作为数据交换的格式,将不同数据源的数据都统一到XML上来,这样可以充分实现跨平台的特性。
3.1.4 从适应网络环境和满足用户需求方面看
目前,军事训练网还处于建设中,网络性能暂时得不到满足,这种情况要求架构具备较高的可伸缩性,使之能够根据网络情况以调整服务的质量。现在的架构还主要是针对校园园区网的,但也要能适应网络情况有所规划和调整。在架构中使用Web Services技术就是出于对网络的考虑,通过HTTP和SOAP协议,使得跨网的调用不受限制,并能保证较好的可伸缩性。为了减少网络带宽占用,未来还可在数据传输中采用数据压缩技术,减小数据对网络带宽的需求。对于部分敏感信息,应该建立相应的用户管理模式,对于不同的用户授予不同的权限,以控制用户对信息的获取能力。对于网上传输的敏感信息应该进行适当的加密,保证信息安全。
3.2 五层模型异构数据集成架构
整个架构分为五层:数据源层、集成层、数据层、应用层和表示层。
●数据源层是由分布式异构数据源组成。数据源包括关系数据库、Excel表格、文本文件等形式。
●集成层主要负责按照全局模式从异构数据库中将数据通过抽取、清洗、加载等过程存放入数据库中。
●数据层主要负责对数据仓库的管理和全局模式的定义。
●应用层包含集成后数据应用的业务流程,包括相关度排序,查询优化等功能,并通过Web Services的形式发布接口。
●表示层是系统提供的一个使用ASP.NET实现的基于Web的查询界面。 其他应用也可以通过UDDI查询应用接口接入系统。
图3描述了数字图书馆异构数据集成的一种新的架构——五层模型的异构数据集成架构(5THDIA:5 Tiers-Heterogeneous Data Integration Architecture)。
附图
图3 五层模型的异构数据集成架构5T-HDIA
3.3 数据集成架构的实现
在该系统中,目前主要实现了对人大复印数据、书生、超星、万方、国图、方正、NM2000等数据源的数据集成。其中,数据源书生和NM2000的局部模式基本符合CNMARC定义,其他数据源则或多或少都存在着与CNMARC定义不相符合的地方。有的是有自定义字段名称(超星、国图),有的是使用自定义模式(方正、万方),还有的不具备局部模式(人大)。
在进行数据集成时,以CNMARC作为全局模式,通过局部模式抽取、模式转换和集成模式定义,由系统管理员生成一个集成模式,再将所有数据源的数据按照集成模式的要求,通过数据抽取、数据清洗,集成到数据仓库中。在数据集成过程中,使用了XML作为数据传递和交换的中间语言。
4 结束语
由于数据源间存在着各种各样的限制,互异且分散的数据源中的信息通常不能进行全盘复制或在一个数据库中进行合并。特别是现在的大型应用系统中,越来越多地需要集成不同的应用、服务、数据库等,对于异构信息的集成要求也愈发强烈。数字图书馆如何将已有数字资源有效地整合在一起,更好地为用户服务,成为当前亟待解决的问题。数据集成是解决这一问题的有效方法。本文对数字图书馆面临的异构数据集成问题进行了具体分析,在国内外异构数据集成的最新研究成果基础上,针对军事训练数字图书馆的特点,提出并构建了以数据仓库为核心的数据集成平台,然后设计并实现了一个基于Microsoft.NET平台,以数据仓库为核心和XML为数据交换格式的适合于军事训练数字图书馆的五层模型异构数据集成架构。
标签:数字图书馆论文; 数据集成论文; 数据库系统论文; 架构论文; 应用架构论文; 异构网络论文; 信息架构论文; 信息集成论文; 数据仓库论文; marc论文;