基于XML的异构数据集成方案
一、设计任务
设计出基于XML的异构数据集成方案,具体要求:
i. 数据源包括:结构化数据、非结构化数据和半结构化数据
ii. 实现功能包括:能够用统一的方式实现查询等处理
iii. 应用的技术为XML技术,实现异构数据集成
二、设计应用的具体集成方法
2.1异构数据集成方法简介:
异构数据集成方法包括:模式集成和数据复制方法。
1、模式集成方法中的数据仍保存在各数据源上,由集成系统提供一个虚拟的集成视图(即全局模式)以及全局模式查询的处理机制。用户直接在全局模式的基础上提交请求,由数据集成系统处理这些请求,转换成各个数据源在本地数据视图基础上能够执行的请求。
2、数据复制方法将各个数据源的数据复制到与其相关的其它数据源上,并维护数据源整体上的数据一致性、提高信息共享利用的效率。
3、模式集成包括:联邦数据库和中间件集成方法是现有的两种典型的模式集成方法。
4、数据复制方法:数据仓库方法。
2.2异构数据集成方案分析
1.联邦数据库数据集成
联邦数据库是数据库集成的最简单结构,将所有组件数据库进行一对一的连接为了实现各个数据库和其它数据库数据之间的互操作,需要解决各个数据库之间的格式冲突问题,就要为每一个数据库向其它数据库的数据类型转换提供转换规则。这就是说这样的异构数据库系统需要建立N X(N一1)/2个转换规则,或者说要编写N X (N一1)/2段代码来支持两两之间的查询访问。
在联邦数据库数据集成方式中,如果要向系统中加入新的节点,就需要再建立很多转换规则,并且为系统之间只有通过编写软件来实现互相的信息正确地传递,这样做既费时又费工。如果各个子系统需要修改,那么会带来更多的问题,大大影响了系统的可扩展性、移植性和稳定性。其模型示意图如下图所示:
图1 联邦数据库集成方法示意图
2中间件集成方法
中间件数据集成基于一个“公共数据模型”,实质上数据仍旧保存在各个参加集成的数据源中,通过各数据源的“包装器’将数据虚拟成公共数据模式,用户的查询是基于公共数据模式基础上的,即建立基于公共数据模式的虚拟数据库集成系统。中间件将用户提交的基于公共数据模型的查询分解、解析成针对一个或多个数据源的查询,然后将数据源的查询结果综合处理成公共数据模型的数据,并将结果返回给用户。这种方法中向用户屏蔽了底层数据源的差异,使得用户的查询表面上是针对单一数据源的,而实际上查询是对各个数据源的子查询的结果综合而成的,因此也叫做虚拟视图法。中间件异构数据集成模型示意下图所示: 图2 中间件异构数据集成模型示图
3数据仓库集成方法
数据仓库数据集成方法是建立一个数据仓库,并将参加集成的各个不同的信息源的数据的副本载入到数据仓库,合成一个全局模式,用户的访问是基于数据仓库中的数据进行的查询等处理。数据仓库集成方法如下图所示:
图3 数据仓库集成方法示意图
4几种数据库集成的比较
联邦数据库集成方法、中间件数据库方法和数据仓库集成方法,它们拥有各自己的特点,具体特点如下表所示:
表1 各类异构数据集成方法比较
集成方法 解决的问题 优点 缺点
模式集成
联邦数据库
系统
数据源间异构
问题
支持读写访问 缺乏必要的标准,只适用于数据源个数很少的数据库系统中,对非数据库系统的数据库无能为力。
中间件系统 屏蔽了系统的异构性,使应用软件能够在不同平台上运行 1. 利于复用
2. 管理方便
3. 易维护
4. 节约成本
5. 利于移植 1. 缺乏通用标准
2. 耦合度要求高
3. 对于穿越防火墙
4. 模式构建和异构性解决比较复杂 数据复制
数据仓库技术
解决了数据分布性问题 1. 访问效率高
2. 网络依赖性弱 1. 实时性差
2. 开发周期长
3. 费用昂贵
4. 更新困难
2.3XML技术
1.XML语言
XML可扩充的标记语言 (Extensible Markup Language)标准是一个基于文本的World
Wide Web协会(W3C)规范的标记语言。与HTML使用标签来描述外观和数据不同,XML严格地定义可移植的结构化数据。它能作为定义数据描述语言的语言,例如标记语法或词汇、交换格式和通讯协议。XML己经成为开放环境下描述数据、描述信息的标准技术。 Web Services全部的规范、技术都是以XML为底层核心和构架基础的,对 Web Services而言,无论是SOAP、WSDL,UDDI,都是使用XML作为信息描述和交换的标准手段。
2.XML的特点
XML是一种元标记语言,强调以数据为核心,这两大特点在的众多技术特点中最为突出,同时也奠定了在信息管理中的优势。
XML是一种元标记语言与HTML不同。XML不是一种具体的标记语言,它没有固定的标记符号,是一种元标记语言,是一种用来定义标记的标记语言,它允许用户自己定义一套适于应用的DTD或 XMLSchema。
XML的核心是数据。在一个普通的文档里,往往混合有文档数据、文档结构、文档样式三个要素。而对于XML文档来说,数据是其核心。将样式与内容分离是XML的巨大优点。一方面可以使应用程序轻松的从文档中寻找并提取有用的数出蓦信息,而不会迷失在混乱的各类标签中。另一方面,由于内容与样式的独立,也可以为同一内容套用各种样式,使得显示方式更加丰富、快捷。
正是XML的特点决定了其卓越的性能表现。作为一种标记语言有以下几个主要特点:
可扩展性
XML是设计标记语言的元语言,而不是像HTML这样的只有一个固定标记集的特定的标记语言。XML在两个意义上是可扩展的。首先,它允许开发者创建他们自己的DTD或
XMLSchema,有效地创建可被用于多种应用的“可扩展的”标志集。其次,使用几个附加的标准,用户可以对XML进行扩展,这些附加标准可以向核心的XML功能集增加样式、链接、和参照能力。作为一个核心标准,XML为可能产生的别的标准提供了一个坚实的基础。 灵活性
与HTML相比,XML提供了一种结构化的数据表示方式,使得用户界面分离于结构化数据。这样既可以只关心数据的逻辑结果,也可以通过样式表来格式化数据的表现,甚至可以定义自己的个人样式表来显示各种不同的XML数据。
自描述性
XML文档通常包含一个文档类型声明,从而XML文档是自描述的,不仅人能读懂XML文档,而且计算机也能处理。XML文档中的数据可以被任何能够。XML数据进行解析的应用所提取、分析、处理,并按所需格式显示。这个特性使计算机可以在没有人为干涉的情况下,理解数据的定义,处理数据。
简明性
作为SGML的一个子集,它只有SGML的20%的复杂性,但具有SGML约80%的功能。同完整的SGML相比,XML简单得多,易学、易用并容易实现。此外,XML的诞生也吸收了人们多年来在W亡b上使用HTML的经验,正如HTML开辟了一种计算机用户能浏览Intemet文档的途径,XML将成为人们读和写的世界语。所有这一切使XML成为数据表示的一个开放标准,这种数据表示独立于机器平台、提供商和编程语言。它将为数据交换带来新的机遇。
3 .XML的相关技术
DTD与 XML Schema
XML文档的实质就是保存数据信息的结构化载体。为了能够得到有效的XML文档,必须要明确文档中的信息必须遵守哪些结构,即需要一种用来描述XML文档中信息结构的数据模型。DTD和Schema就是规范XML文档的技术。
DTD(document type definition,文档类型定义)
一个DTD可以看作是标记语言的语法文件,它是一套定义XML标记如何使用的规则。刚开始建立XML时,它是 Standard Generalized Mark即Language(SGML)的一个应用。SGML通过让设计人员创建DTD来允许不同的系统彼此对话。只要数据符合该DTD,每个系统就能阅读它。然而,DTD有着不少缺陷:
1、DTD基本上没有数据类型的定义,尤其对数据元素的内容而言。DTD中所有的表示都是基于字符串,所以对于价格、数量是无法表示成数字的。在计算机与计算机之间
进行信息交换,常涉及数据格式,这就显现出DTD的局限性。
2、DTD只能进行有限的扩展,扩展性不好。 3、DTD中约束定义能力不足,无法做出更细的语义定义。例如,表示价格精确到小数点后两位数是有困难的。
4、DTD不够结构化,重用的代价相对较高。相对于DTD的不足, XML Schema出现较好的解决了DTD的缺点。
XML Schema
XML Schema如同DTD一样是负责定义和描述XML文档的结构和内容模式。它可以定义XML文档中存在哪些元素和元素之间的关系,并且可以定义元素和属性的数据类型。XML
Schema本身是一个XML文档,它符合XML语法结构。可以用通用的XML解析器解析它。 XML
schema的优点 :XML Schema基于XML,没有专门的语法;XML可以像其他XML文件一样解析和处理;支持一系列的数据类型 ((int.、neat、Boolean、date等),提供可扩充的数据模型;支持综合命名空间;支持属性组。
三、基于XML的异构数据集成方案设计
设计的基于XML的数据集成系统的功能目标主要是实现异构数据源的集成,方便数据的访问、分析。在对异构数据源数据查询上通过查询处理层将查询语句分解成对各个数据源的子查询,并将各个子查询结果合并返回给用户。基于XML的数据集成系统设计的具体目标有:
(1)解决数据的异构性问题,使不同格式、不同数据管理系统中的数据能够互相交流和转换。
(2)保持已有系统的自治性,在进行数据集成的同时不影响已有系统的正常运行。
(3)能够满足用户不同层次的数据集成要求,通过中间件集成满足。
(4)系统具有较好的可扩展性,能够适应需求的不断变化。
(5)系统对用户层提供统一的、透明的数据访问接口。使用户不必过多的关系各个底层数据源的差异结构。
考虑到集成方法有多种,所以将集成分为:基于XML的数据仓库异构数据集成方法和基于XML的中间件异构数据集成方法。
3.1.基于XML的数据仓库集成方法
充分发挥XML作为载体时的可扩展性、结构性、平台无关性等特点,用于数据异构集成是本设计的突出特点.
基于XML的数据仓库集成方法系统架构
数据仓库集成的主要思想是,将分散在不同地点的异构数据集中到一个数据库,使之统一管理。在这个转移过程中,主要运用XML作为载体实施操作。基于XML的数据仓库集成示意图: