




已阅读5页,还剩81页未读, 继续免费阅读
(计算机应用技术专业论文)异构数据源集成与查询方法的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 数据集成的需求由来已久,对数据集成以及查询方法的研究一直是数 据库领域以及其他相关领域一个非常热门的话题。随着w e b 平台逐渐成为 信息服务的主导平台,对w e b 环境下数据的集成和对集成数据查询的研究 也越来越呈现蓬勃发展的势态。 本文以三层结构技术为基础,研究在像互联网这样一个开放的环境下 集成多个异构数据源将会遇到的问题。研究的核心集中于异构数据源集成 与查询处理,主要包含以下几个方面的内容: 首先,本文对查询异构数据源的传统分类标准进行进一步细分,根据 制定的新的细分标准把一些已有的具体方法和新的方法归并到产生的分类 中。并对这些方法进行分析比较,进而得到解决本文问题需要采用的方法。 其次,给出了中介层的概念视图以及概念视图的结构表示。采用在中 介层上的视图定义来描述数据源的内容。用户的查询就是针对这个视图进 行的。然后,分析比较了已经存在的三种数据模型,提出了适合异构数据 源的数据模型以及元数据模型,给出了元数据模型的实现。 再次,针对提出的数据模型选择适合异构数据源的查询语言,并对这 种语言进行了一些扩展。扩展的查询语言对半结构、结构以及非结构化数 据查询提供支持。正则路径表达式以及类型强制是解决半结构化数据查询 的处理办法。对于非结构化数据,本文使用了一些特殊操作符。还给出了 这种查询语言对集成异构数据源的查询支持。 最后,针对查询转换过程中要解决的特殊操作符、查询路径及致查 询等问题,设计了处理特殊操作符和产生查询路径的算法以及一致查询处 理规则。研究了中心处理阶段的查询分割和查询计划产生以及查询后处理 阶段的查询结果处理问题,还对返回结果的排序列表进行了探讨。 关键词异构数据;半结构化数据;非结构化数据;数据模型;查询转换 燕山大学工学硕士学位论文 a b s t r a c t t h e r e q u i r e m e n t so fi n t e g r a t i n gm u l t i p l ed a t as o u r c e se x i tf o r al o n gt i m e t h er e s e a r c ho na p p r o a c h e st od a t ai n t e g r a t i o na n dq u e r yi sa l w a y sv e r ya c t i v e i nd a t a b a s ec o m m u n i t ya n do t h e rr e l a t e dc o m m u n i t i e s t h ew e b i sb e c o m i n ga m a j o r c o n d u i tf o r p e o p l e t oo b t a i ni n f o r m a t i o n ,s ot h er e s e a r c ho nd a t a i n t e g r a t i o n a n d q u e r y i n gi n t e g r a t e d d a t au n d e rw e be n v i r o n m e n ti s v e r y f l o u r i s h i n g i nr e c e n t y e a r s b a s e do nt h et e c h n o l o g yo ft h r e e - l e v e ls l r u c t u r e ,t h ep a p e rs t u d i e st h e p r o b l e m sw h i c hw o u l d b ef a l l e ni n t ow h e ni n t e g r a t i n gm u l t i p l eh e t e r o g e n e o u s d a t as o k u c e su n d e rs u c ho p e n i n ge n v i r o n m e n ta si n t e r n e t t h er e s e a r c hf o c u s e s o nt h ei n t e g r a t i o na n dq u e r yo f h e t e r o g e n e o u sd a t as o u r c e s ,t h ep a p e rp r i m a r i l y c o n t a i n sf o u r p a r t s : a t f i r s t ,t h et r a d i t i o n a lc l a s s i f i c a t i o nc r i t e r i aa b o u tq u e r y i n ga n di n t e g r a t i n g h e t e r o g e n e o u sd a t as o u r c e sa r ed i v i d e df u r t h e r a c c o r d i n g t h en e wc r i t e r i a ,t h i s p a p e r s o r t sa n dc h a r a c t e r i z e sm a n yt r a d i t i o n a la n dn e w a p p r o a c h e sw h i c h c a r lb e u s e df o rq u e r y i n ga n di n t e g r a t i n gh e t e r o g e n e o u sd a t as o i l l c e s t h e s ea p p r o a c h e s a r e a n a l y z e d c o n s e q u e n t l y , w e o b t a i nt h e a p p r o a c h w h i c hc a ns o l v et h e p r o b l e mo f t h i sp a p e r s e c o n d l y , t h ed e f i n i t i o no fc o n c e p t u a lv i e w o nm e d i a t i o nl e v e li sp r e s e n t e d a n dt h er e p r e s e n t a t i o no ft h es t r u c t u r ea b o u tc o n c e p t u a lv i e wi sp r o p o s e d a l l q u e r i e sa g a i n s tt h ev i e w c a l lb ep e r f o r m e d t h e n ,t h r e ed a t am o d e l sa r ea n a l y z e d a n dt h en e wd a t am o d e la b o u tm e d i a t i o nl e v e li sd e s i g n e d a ts r t n et i m e ,t h e m e t ad a t am o d e la n di t si m p l e m e n t a t i o na r ep u tf o r w a r d t h i r d l y , t h eo q l i se x t e n d e di ns o m ee x t e n ta n di ti se m p l o y e dt oq u e r y s t r u c t u r e d ,s e m i s t r u c t u r e da n du n s t r u c t u r e dd a t a r e g u l a rp a t he x p r e s s i o na n d t y p ec o e r c e ra r eu s e di n t op r o c e s f i n gs e m i - s t r u c t u r e dd a t a s p e c i a lo p e r a t o r s h a b s t r a c t s u c ha sc o n t a i n sa n dl i k ea r eu s e dt op r o c e s su n s t r u c t u r e dd a t a f o re x t e n d e d o q l ,t h es u p p o r tt oi n t e g r a t eh e t e r o g e n e o u s d a t as o u r c e si sp r o v i d e d f i n a l l y , i nt h ec o u r s eo fq u e r yt r a n s f o r m a t i o n ,t h ea l g o r i t h m sf o rs p e c i a l o p e r a t o r sa n dg e n e r a t i n gp a t ha r ed e s i g n e d a n d t h er u l e sa b o u ti n s i s t e n tq u e r y a r ep r o p o s e d t h e n ,t h ep r o b l e m si nc o r ep r o c e s s s t e p a r e e x p l o r e da n dt h e s o l u t i o n st ot h e ma r e p r e s e n t e d i np o s t - q u e r ys t e p ,t h ec o m b i n a t i o no ft h e r e t u r n e dr e s u l t sf r o md i f f e r e mh e t e r o g e n e o u sd a t ai sp r o c e s s e da n dt h eq u e s t i o n a b o u tt h er a n k i n gl i s to fa n s w e r sr e t u r n e di se x p l o r e d k e y w o r d sh e t e r o g e n e o u sd a t a ;s e m i s t r u c t u r e dd a t a ;u n s t r u c t u r e dd a t a ;d a t a m o d e l ;q u e r yt r a n s f o r m a t i o n i l l 第1 章绪论 第1 章绪论 随着计算机网络的普及和w w w 的出现,人们的注意力逐渐由多库集 成1 1 2 转向多数据源集成。传统的数据库集成方法已经远远不能适应人们对 数据获取的需求,因此就迫切需要一种新的数据集成方法。使用新方法不 仅可以集成传统的数据库中的结构化数据,而且还可以集成w e b 上应用广 泛的半结构化数据以及非结构化数据。在此背景下。异构数据源的集成方 法受到越来越多人的重视,这方面的研究也成为近年来数据集成研究的一 个热点。 1 1 背景 伴随着i n t e m e t 、w w w 技术以及计算机硬件的迅速发展,可以获取的 在线信息量以及使用信息的用户数量呈现爆炸式增长势态。这就对数据库 研究领域提出了新的挑战性问题:如何满足用户对数量上日益增长的信息 访问的多样化要求。不同的用户对数据的要求情况是各不相同的:有的用 户需要准确的信息,有的用户常常只想知道一些大致的情况。也有用户需 要把来自不同信息源的信息( 这里信息也常常说成是数据,本文对数据和信 息不作进一步区分1 进行合成处理。然而,这里就有一个无法回避的话题, 即数据源的异构问题。异构包括硬件、软件平台以及数据逻辑结构的异构。 存储在不同数据源中的信息常常是相互关联的,因而,数据源的共享和集 成问题就必须要面对和解决。显而易见,仅仅依靠技术进步来有效地使用 w e b 这样的开放环境中存在的信息已经很难适应用户多样化的需求。 数据异构涉及的方面较多,关于数据异构的定义口- 6 也说法颇多。一般 而言,数据异构指的是以下两种情况: ( 1 ) 数据环境的异构数据环境的异构包括数据库管理系统、硬件平台 或操作系统平台、开发工具等三方面的内容。现在,一个企业中多种数据 燕山大学工学硕士学位论文 库管理系统并存的情况并不少见,比如说:财务部门、生产部门、人事部 门可能分别采用的是像o r a c l e 、d b 2 、s q ls e r v e r 这样的数据库管理系 统,这就导致了数据库系统本身的异构;企业内部不同的部门使用不同的 操作系统,像u n i x 、l i n u x 、w i n d o w s 等操作系统,从而导致操作系统的异 构;各个数据库系统可能运行在不同的硬件平台上大型机、小型机、工作 站、p c 机或嵌入式系统中,这就导致了计算机体系结构的异构;同时由于 历史的原因,开发数据库时所使用的开发工具也可能各不相同,比如v i s u a l f o x p r 0 7 0 、o r a c l ed e v e l o p e r 2 0 0 0 、p o w e rb u i l d e r 等。上述因素综合在一起 结果就构成一个异构的数据库环境,在这个数据环境中不同数据源的数据 是异构的。 ( 2 ) 数据本身的异构另外,从数据本身来说,也存在数据异构的问题。 传统的数据库应用处理的数据都是结构化的,对这些数据的查询处理被称 为结构化查询,结构化查询被用于精确查询。这些数据具有的特征为:数 据遵从模式定义,它的模式是预先定义的;模式是外在的,即存储在与数 据不同的地方;模式是严格的,即数据必须遵从模式的要求;模式是可见 的,即模式可以被查询,并且查询数据时可以利用模式。 除了上述的结构化数据之外,还有非结构化数据和半结构化数据。数 据是由数据元素组成的。非结构化数据的数据元素具有的特征为:它不是 简单的原子数据类型,像整型、实型、字符型;它不遵循某个固定模式; 它的模式除了可以定义简单的字节或字符串外,没有其他的组成。 非结构化数据的例子比如文本、视频和音频,因为它们只能被分解成 字符或者字节。非结构化数据的查询是由一系列的字符或字节以及操作符 组成,称之为非结构化查询。 所谓半结构化数据,研究界并没有一个严格统一的定义。一般认为, 半结构化数据是指没有预先定义严格模式的数据【7 1 ,它既非原始数据( r a w d a t a ) ,如图像、声音等,又非严格类型化 ( s t r i c t l yt y p e d ) 的数据,如标准 关系数据库中的面向表结构组织的数据,以及面向对象数据库中按有序图 ( s o r t e d - g r a p h ) 组织的数据。半结构化数据存在一定的结构,但是这些结构或 者没有被清晰地描述,或者是经常动态变化的,或者过于复杂而不能被传 2 第1 章绪论 统的模式定义来表现。在很多应用中,我们可以看到半结构化数据的身影, w e b 中的h t m l 和x m l 文档,s g m l 文档,在人类基因工程中非常流行 的a c e d b 的数据组织方式,以及l o t u sn o t e s 的数据组织方式等。半结构 化数据具有的特征为:没有预先给出的模式,或者模式隐含在数据中【8 】;模 式相对较大,它可能和数据的大小一样,并且经常变化;模式是描述性的, 它描述了当前数据的状态,但违反模式的要求也是可以的。半结构化数据 对于异构数据源的集成应用是重要的,因为:首先,在很多的情况下,数 据源是半结构化和非结构的,如h t m l 文档、文本;其次,当集成的大量 数据源具有不同的数据模型时,考虑使用一种介于这些模型之间的中间模 型形式是有利的。介于结构化和非结构数据之间的数据被称为半结构化数 据,如h t m l 网页等。 除上述两种异构情况之外,常见的异构类型还包括数据表述方面的异 构,如:域异构、命名异构、语义异构表述方式异构等等。 由此可见,在集成数据源时,常常需要考虑大量的数据异构类型。显 然,面对如此繁杂的异构数据,而且,它们又存在于像今天这样一个互联 网时代的开放式环境中,如果仅仅依靠目前可用的技术去解决异构数据集 成问题根本无法满足用户对数据的多样化需求。所以,一种新的解决异构 数据源的集成方法就迫在眉睫。 今天,万维网上的搜索引擎已经不得不学着去应付在线信息数量的快 速增长、信息多样性的不断增加以及信息源的数量、内容和位置的经常改 变。搜索引擎的主要特点是形成查询很简单。多数情况下查询都是简单地 输入关键词,而后搜索引擎去找出包含满足给定信息的文档。然而,查询 形成简单化的代价是查询答案的质量问题,也就是说,万维网的搜索工具 常常返回太多的搜索结果,其中有好多是用户不需要的,满足用户需要的 搜索结果往往并不在这些返回的结果中。 数据库管理系统( d b m s ) 在管理和存取访问数据方面做得不错。数据在 存储时连同其结构一并存储,数据查询的形成是通过它的结构和一种查询 语言来完成的。d b m s 的主要优点是高质量的查询结果。从另一个角度说, 为了换取相关查询的答案,用户付出了增加查询表述难度的代价。 燕山大学工学硕士学位论文 以上两个例子是进行数据查询处理所用到方法的两个极端。搜索引肇 解决非结构化数据,d b m s 处理结构化数据,它们中的每一个都具有具体 明确的查询能力。现在许多研究已经着手用半结构化数据【9 】来填补这两个极 端方法之间的缺口。与数据库管理系统相比,半结构化数据在阐述查询往 往是非常灵活的;而与搜索引擎相比,其查询结果是非常明确、具体的。 目前,已经有好多方法用于异构数据源的集成,然而,由于这个问题 的复杂性,到目前为止,尚未有一个包含所有异构类型的集成方法存在。 1 2 研究现状 1 2 1 国外研究现状 近年来,随着对异构数据集成和查询研究的不断深入,国外开发出许 多系统【1 0 以2 1 以实现对异构数据源的集成和查询处理,其中以g a r l i c a t l 0 1 和 t s i m m i s t 垃1 较为著名。这些系统大多采用了一个中介层体系结构f 1 3 ,在这 个结构中用户把查询提交给一个叫做中介器的组件,这个组件从不同源中 检索数据来回答用户的查询请求。数据源上的包装机对数据进行翻译后进 而去完成本地的查询处理。 t s i m m i s t l 4 , 1 5 1 支持从非结构化到结构化等各种类型的数据集成。同时, 由于数据源可能被集成为一个全局或部分模型,它支持透明访问。它使用 一种用于查询半结构化数据的语言l o r e l 来查询系统。基于这个原因,它所 支持的查询类型既不像数据库管理系统那样精确,也不像搜索引擎那样模 糊。系统为产生新的中介器和包装器提供了基本结构和工具。 g a r l i c , a t l 6 , 1 7 1 是i b m 阿尔马登研究中心为集成来自异构数据源的数据而 开发的一个面向对象的中阎件系统。数据源可以是结构化、半结构化和菲 结构化的,但是查询语言不能与所有这些种类的数据源组合在一起,它允 许以方法调用的方式对封装的半结构化和非结构化数据进行访问。 除此之外,法国信息自动化研究院研究开发出的系统d i s c o t l 8 , 1 9 ( t h e d i s t r i b u t e di n f o r r a a t i o ns e a r c hc o m p o n e n t ) 是一个用于集成和查询处理异构 4 第1 章绪论 数据源的系统,d i s c o 的主要贡献是很好地处理了数据源不可用问题。在 d i s c o 中的数据源可以是结构化、半结构化也可以是非结构化的,但是它 们必须以结构化的方式输出数据,d i s c o 支持精确的查询方式。由加拿大 阿尔伯塔大学以及美国俄勒冈科技研究生院共同研究开发出来的d i o m e 2 0 】 ( t h ed i s t r i b u t e di n t e r o p e r a b l eo b j e c tm o d e d 项目把实现一个具有“u s e c a ” 属性中介查询系统的作为其主要要求。d i o m 的主要贡献在于定义基础接 口作为数据源的视图和定义复合接口作为用户对数据的视图。d i o m 只支 持阐述精确的查询。 国外的这些研究注重于数据源性能的考虑,为解决数据源性能优化问 题提供了很好的解决思路。但对所查询数据类型种类的支持有限,而且也 存在着只提供精确查询的方式或者模糊查询一种方式,这对有着不同的查 询知识背景的用户来说是不适合的。 1 2 2 国内研究现状 国内对多数据库集成的研究主要是以东大阿尔派公司的推出的基于 c s 体系结构的o p e n b a s e 口1 】为标志的。它是我国第一个具有自主版权的, 而且使c l i e n t s e r v e r 体系结构的通用数据库软件完全产品化的数据库管理 系统。它可以运行在t c p i p 协议连接的各种u n i x 、w m d o w s 以及d o s 组 成的网络环境中,支持a n s i 、s q l 、x b a s e 语言,面向扩展实体关系( e r ) 模型的d d l ;提供事务处理、查询优化、安全控制、完整性控制和故障恢 复机制;支持o d b c ,提供标准化的应用程序开发工具。 东南大学研制的v e r s a t i l e t 2 2 郐1 是一个基于c o r b a 的可扩展的异构数据 集成系统原型。它使用动态字典的概念统一描述各种异构数据源的模式。 可以对微软公司的s q ls e r v e r 、面向对象数据库管理系统v e r s a n t 、文件系 统、超文本数据进行包装和集成。它采用了具有较强描述能力的o i m 做为 集成系统的公共模型,不仅可以集成上述的数据源的数据,还可以随时集 成插入的新数据源中的数据。 此外,大连海事大学的异构数据集成系统s o r e 以及中科院软件研究 所自治异构数据源的集成查询处理的研究工作都在进一步开展中。 燕山大学工学硕士学位论文 国内的研究着力于集成多种数据源以满足在w e b 环境下信息爆炸式 增长的需要,但是,它们多以集成关系数据库以及扩展的关系数据库为主, 在支持查询方式方面的研究尚需进一步深入。 1 3 本文研究内容 异构数据集成系统要集成的数据来自各种各样的数据源。数据源的数 量众多、种类繁杂、各个源中的数据结构也不相同。同时,用户对信息的 要求越来越多样化。伴随着信息量的急剧增加,用户对信息的要求呈现出 多样化。时间上,用户更加注重快速地获取到自己需要的信息;在空间上, 用户对信息的需求已经不再仅仅局限于单一的数据源,而是在开放式环境 中的种类繁杂的异构数据源中;精确度上,有的用户需要准确的信息,或 许是因为他们掌握了该信息的有关情况,然而,有些用户对于要查找的信 息并没有清楚了解的情况下,他们需要的是得到相关的信息:效果上,他 们更加重视来自不同信息源的信息的可用性。 为了解决数量众多、异构而且相互之间有联系的数据源集成和查询处 理问题,目前较为多用的一种方法是构建一个全局信息系统,这个系统允 许用户简单地阐述查询。这包含着两个层面的含义:其一,查询表述的方 式要简单,用户可以在不了解数据结构、数据位置甚至数据是否存在的情 况下进行查询处理;其二,新的数据源必须可以和系统连接从而为用户所 用,旧的、没有用处的数据源能够容易地被删除。简言之,就是考虑结构 上异构的数据源网络以及旨在以灵活、统一的方式来对它们进行查询处理。 此外,在系统被查询处理时来自异构数据源中的数据应该被合并。这种方 法不同于传统的联邦的方法,联邦的方法根据全局模式集成数据,并且使 用这种方法用户可以透明地对系统进行查询,好像用户已经知道要查询的 数据的结构在一个单个数据库中进行查询一样。 显而易见,这两种方法是在查询简单化和查询结果质量的优劣之间进 行取舍。全局信息系统的方法允许简单查询,而且,新的数据源可以很容 易地与系统连接从而被使用,旧的、无用数据源可以很容易地从系统中删 6 第1 章绪论 除,但是这种方法的查询结果并不总能满足用户对信息的要求;联邦的方 法是利用数据的结构来阐述查询,因而查询结果总是可以满足用户对信息 的需求,然而,当有新的数据源需要集成到系统中的时候,全局模式就不 得不改变。今天,在互联网这种开放的环境下,面对如此繁多的应用需求, 对用户来说这两种方法都是需要的。全局信息系统的方法适用于象互联网 这样开放的环境中,而联邦的方法适用于对数据有明确、具体要求的情形。 由此可见,理想的情况是,可以把这两种方法汇集到一个方法中,在这个 汇集的方法中,用户可以根据自己的需要使用其中的一种,根据不同的应 用要求轻松地在两种方法之间转换。 如果认为数据库研究的总体方向是致力于提供单个数据库管理服务 2 4 2 6 】,那么本文就是把数据库的查询处理特征化,并把其查询能力扩展到 包括非结构化、半结构化和结构化数据的查询。 综上所述,本文将重点研究以下几个方面的问题: ( 1 ) 研究各种结构上异构的数据集成方法问题。异构数据集成过程中要 集成的数据从结构上看,可分为结构化、半结构化以及非结构化数据。对 目前异构数据集成和查询方法进行了进一步分类,并指出目前集成方法的 优缺点和适用范围,详细研究异构数据集成时采用的数据模型。 ( 2 ) 研究查询语言的选择问题。鉴于半结构化以及非结构化数据的特点, 研究查询语言如何提供对它们的支持,对已有的查询语言进行了一些扩展。 对扩展中使用的特殊处理给出相应的算法。 ( 3 ) 研究当用户提交查询之后,查询在中介层以及数据源层的转换问题。 指出查询预处理、中心查询处理以及查询后处理阶段进行的工作,研究相 应的处理规则,设计相关的解决算法。 本文所研究的异构数据源集成和查询方法主要是基于以下几个前提展 开的: ( 1 ) 研究结构上异构的数据源。数据源的异构类型很多,但是,本文仅 讨论异构类型中的一个方向,数据结构上的异构。 ( 2 ) 重点研究查询处理问题,不考虑数据操纵。本文的重点将是探讨查 询数据,而不是操纵数据。因为数据操纵可以由局部数据源在本地完成。 7 茎些查堂三兰堡主兰垡笙墨 f 3 ) 数据源的查询性能。本文假定每一个数据源都具备一定的查询能力, 它可能是搜索引擎或者是数据库管理系统等。 1 4 论文结构 本文共分为五章,各章分别为: 第1 章为绪论。介绍了异构数据源集成的研究背景,并对异构数据源 集成的国内外现状进行了总结,指出了目前研究的不足之处,概述了本文 的主要工作。 第2 章为异构数据源查询技术。对以往的异构数据源查询方法进行了 分类,并把目前一些已经开发出的查询系统归并到相应的分类中。同时, 介绍了三层中介器系统的方法。 第3 章为一种异构数据源集成方法的研究。进一步分析了以往的集成 方法,提出解决基于集成的异构数据查询的概念视图。并对比三种数据模 型的优劣,提出了解决异构数据集成的数据模型,对数据模型以及元数据 模型的扩展实现进行了较为详细的探讨。 第4 章基于集成的异构数据查询语言的研究。按照第三章提出的数据 模型选择并定义了合适的查询语言。对查询语言如何对半结构化以及非结 构化数据查询进行了详细的阐述。 第5 章基于集成的异构数据源查询转换的研究。把查询处理过程分成 了三个阶段。对每一个阶段进行的工作进行了说明。对如何处理特殊操作 符、如何进行查询分割、产生查询计划以及查询结果合并等进行了研究并 设计了相应的算法和处理规则。 在结束语中对本文进行了总结,并就进一步的工作进行了分析与展望。 在本章的最后,需要指出的一点是,整篇论文探讨异构数据源集成查 询处理的几个关键问题。各章围绕着在构建一个完整的集成系统时所遇到 的问题从上到下展开,但各个部分又独立成篇,对一些关键技术,作者进 行了深入的探讨和详细的阐述。但是由于时间有限,本文并没有能够对整 个系统加以实现。 0 第2 章异构数据源查询技术 2 1 引言 第2 章异构数据源查询技术 数据源是管理数据的软件系统,它不仅具有存储数据的能力,还提供 对数据进行访问的能力。数据源为访问数据提供的能力常常是一种查询语 言,一个程序接口,或者是其他的数据导航方法。常见的数据源有:数据 库管理系统和信息检索系统。 近年来,随着w e b 平台逐渐成为信息服务的主导平台,对w e b 环境下 的数据集成的研究 2 7 呈现蓬勃发展的势态。要对存在于象w e b 这样开放异 构的环境中的不同数据进行统一查询处理,首先要考虑的就是对不同数据 源进行集成。 数据集成系统也被称为信息集成系统,信息系统集成【2 8 1 是一个非常复 杂的问题,因为信息系统是由数据、过程以及应用程序组成的。这就要求 信息系统集成要在各个层面进行,显然这个过程是非常复杂的,本文只考 虑对数据的集成。到目前为止,关于数据集成并没有一个明确统一的概念。 现在,有好多传统方法以及新方法用于查询和集成异构数据源,例如: 联邦数据库、数据仓库、元搜索引擎以及三层结构的方法等,对于这些方 法的合理划分极大地方便了研究人员借鉴和参考以往的研究成果,也有利 于该领域研究工作的进一步展开。 2 2 异构数据源查询技术分类 2 2 1实体化方法和虚拟的方法 一般有两种方法来构建异构数据查询系统,如图2 1 。一种称为实体化 方法( m a t e r i a l i z e da p p r o a c h ) ,另一种方法称为虚拟方法( v i r t u a la p p r o a c h ) 。前 9 燕山大学工学硕士学位论文 ( )表示方法l _ j 表示具体的例子 图2 - 1异构数据源查询方法分类 f i g 2 - 1t h ec l a s s i f i c a t i o n o f a p p r o a c h e s f o r q u e r y i n g h e t e r o g e n e o u sd a t a 一种方法中数据事先被复制并加载到一个新的数据库中,然后所有的查询 操作针对这个新的数据库中的数据进行。这种方法的最大优点在于能够保 证快速高效的查询,查询可以被优化。但是查询的数据缺乏时效性,并且 对新的数据源进行查询处理是非常困难的。而在虚拟的方法中,数据仍然 存储在数据源中,面向集成系统的用户查询请求在运行时被分解为针对各 数据源的查询要求,这种方法中数据没有事先被复制,可以充分地保证数 据的时效性。虚拟的方法更适合于处理数据源数量较大,数据变化频繁, 集成系统对数据源没有控制的情况。这种方法的不足是对查询进行优化处 理十分困难。 可以按照上述两种方法所管理数据的结构不同进一步对这两种方法进 1 0 第2 章异构数据源查询技术 行分类,具体划分为管理结构化数据、半结构化数据以及非结构化数据等。 此外,根据数据的来源对它们进行细分,这里的来源是指数据来自数据源, 还是由数据源派生而来,来源于数据源的数据称之为本地数据,由数据源 派生而来的数据称之为派生数据。 常见的实体化方法有通用数据库管理系统和数据仓库的方法。多数情 况下,通用数据库管理系统和数据仓库这两种方法管理的数据都是结构化 数据,其中数据仓库的数据有些是从数据源当中派生出来的。而虚拟的方 法包含元搜索引擎、基于视图集成技术、虚拟集成数据库以及三层结构的 方法等。元搜索引擎管理的数据是本地的非结构化的,基于视图集成技术 管理的多数是结构化数据,虚拟集成数据库管理的数据多数是本地的结构 化的数据,三层结构的方法管理的数据可以是结构化、半结构化以及非结 构化数据,当然这种方法也可以被作为实体化方法使用。虚拟集成数据库 的方法又包含有联邦数据库和多库语言的方法,中介系统也是虚拟方法的 一种,它可以用于处理结构化、半结构化以及非结构化数据,由于它一般 都采用了三层体系结构,与三层结构方法相仿,某种意义上可以把它看成 是三层结构方法的特例。 2 2 2 异构数据源集成与查询方法比较 2 2 2 1 通用数据库管理系统“通用数据库”被认为是“对象一关系数据 库”的同义词,它综合了关系数据库和面向对象数据库的特点,是一种可 以为多种用途且在多种环境下使用的产品。通用数据库也被认为就是对象一 关系数据库或者是关系一对数据库。如图2 2 ,在通用数据库管理系统中, 第一步要做的工作就是定义全局集成模式,然后局部系统中的数据输入到 新的数据库中去。用这种方法,查询就是对新的数据库进行的,随后把结 果呈现给用户。这种方法的不足是已经存在于本地库当中的应用需要重写, 数据迁移过程非常昂贵。不过,当用户或者应用需要整个数据库的功能, 并且不再需要旧系统的应用时,迁移就是一个很好的方法1 2 叭。 2 2 2 2 数据仓库数据仓库也是实物化方法的一种。在这种方法中,数据 从本地的数据源输送到一个被称为数据仓库的数据库管理系统中。对历史 l l 燕山大学工学硕士学位论文 图2 2 通用数据库管理系统 f i g 2 - 2t h eu n i v e r s a ld a t a b a s em a n a g e m e n ts y s t e m 数据访问的需要是采用数据仓库这一方法的真正动机。借助这种方法,可 以不断地增加组织中的信息量,通过对信息量的分析达到改善企业规划和 控制策略的目的。与上面提到的通用数据库管理系统不同的是组成数据仓 库的局部数据源仍然可以被操作。在数据仓库的方法中数据是被复制,如 图2 3 所示。在数据仓库方法中首先要定义集成模式,然后处理来自各数据 源中的数据,集成数据、清洗数据以及对数据进行丰富,并且把它们存储 到数据仓库中。随着时间的推移,那些为数据仓库提供数据抽取服务的数 据源发生变化,为了保证数据仓库与之一致,数据仓库要定期刷新数据。 图2 3 数据仓库 f 远2 - 3t h ed a t aw a r e h o u s e 数据仓库的方法适用于以下类型的客户: ( 1 ) 不需要最近可用数据的客户。因为数据仓库并不在数据源发生变化 的时候就立即更新,用户不可以立即使用到变化的数据。 l 空 第2 章异构数据源查询技术 f 2 ) 需要历史、派生以及特定数据的客户。基于这一需求的原因,数据 可能需要被转换、清洗、聚集为分析任务做准备,例如数据挖掘以及联机 分析处理。 ( 3 1 要求很高的查询性能的客户。因为大量的复杂数据要被查询,对不 同的业务方案而言,数据仓库是最佳方案。 2 2 2 3 元搜索引擎 由于网络的发展,当查询分布式非结构化数据源时, 搜索引擎和元搜索引擎的重要作用就得到体现。搜索引擎是一种软件,它 只可使用自然语言关键词( 或者关键词的组合) 进行查询处理,查询返回的结 果是文档。搜索引擎的主要特征是数据可以很容易地被用于查询处理,同 时查询的表述方式非常简单。然而,基于以下原因,查询结果并不总能满 足用户对信息的需求: ( 1 ) 查询返回的结果常常是整个文档,并不仅仅是包含相关信息的部分。 ( 2 ) 返回的结果中往往包含好多无关于查询要求的信息,而且在众多的 返回结果中,用户根本不可能对其进行全部浏览。 ( 3 ) 有些可能是查询答案的信息存在于数据源中,但是并没有被返回到 结果集中。 搜索引擎具有如下特征: ( 1 ) 搜索效率。其含义是指查询结果返回的速度有多快; ( 2 ) 搜索效果。其含义是指返回结果的质量如何,是衡量提供用户所需 信息的能力的指标之一。 为了达到更高的查询效果,发现输入信息的相关含义以及与其相匹配 的文档,搜索引擎使用探试法。然而,如果考虑在象网络这样的异构环境 中,找到查询的正确含义将是一件非常困难的事情,在这种情况下,搜索 引擎的能力显得非常有限。 引入元搜索引擎就是为了达成增加搜索效果和合并不同搜索引擎的目 的,如图2 - 4 。用户可以在一个完全相同的接口处形成查询,查询被处理后 分解成子查询发送给相关的搜索引擎。最后,把查询得到的结果集合起来, 合并它们,并将它们一致地提交给所需要的用户。常见的元搜索引擎例子 如m e t a c r a w l c r t 3 0 , 3 1 和s a v v y s e a r c h 3 2 1 。元搜索引擎并不需准备被查询数据, t 燕山大学工学硕士学位论文 图2 4 元搜索引擎 f 培2 - 4t h em e t as e a r c he n g i n e 它们仅仅使用其下面搜索引擎的查询接口并且为这些搜索引擎准备输入查 询。它们也需要实旌足够的探试法合并来自不同源的结果。然而,元搜索 引擎下面的源必须是非结构的,因而它们不适合查询所有类型的数据源。 2 2 2 4 基于视图的集成技术这是一种模式集成技术,属于虚拟方法的一 种。在这种方法中,集成视图被定义成虚类的集合,这些虚类定义了一个 视图模式,他们的虚对象则构成一个虚数据库。基于视图集成技术的过程 如下:先建立空的集成视图,然后各个异构的数据库将自身想要参与集成 的类输入到集成视图中,集成系统通过语法、语义的分析解决输入类之间 的冲突,并进行类的派生操作,从而建立适宜于数据共享的集成视图。类 的派生最典型的做法是根据需要合并不同对象中的共有部分。 2 2 2 5 虚拟集成数据库在分布式数据库管理系统的研究领域中,早期的 工作致力于把单个模式合并到单一的全局概念模式中,因之产生的系统称 之为多数据库【33 1 。全局模式复杂性导致的主要问题有:为了识别和解决数 据异构问题需要关于局部模式的大量知识。同时,局部模式的变化必须反 映到全局模式中。 联邦数据库的方法只需要部分集成,并且可以利用这种方式解决一些 与全局模式相关的问题。这种结构允许把数据库的集合合成为一个松耦合 的联邦以达到共享和交换信息的目的。 自从这种方法引入以来,“联邦数据库管理系统”这个术语在许多方面 都得到使用( 除了在与数据库管理系统体系结构相关的方面使用之外) 。通常 1 4 第2 章异构数据源查询技术 对联邦数据库管理系统而言,集成是分两步进行的: ( 1 1 同构。来自数据库管理系统的数据按照全局数据模型被转换; ( 2 1 集成。转换后的数据被放到一起。这个步骤的主要挑战是发现来自 源中那些数据是重叠的。图2 5 表示在联邦数据库管理系统中数据集成的方 式以及查询处理过程。 图2 - 5 联邦数据库管理系统 f i g 2 - 5t h ef e d e r a t e dd a t a b a s em a n a g e m e n ts y s t e m s 有些时候,联邦数据库系统也遵从实物化方法,因为它们可能在内部 知识库中存储部分来自源中的数据。这个实物化方法只是部分的或者暂时 的,它的出现往往是为了增强系统性能。在多数情况下数据的管理以及检 索都是由局部系统完成的,这与前面定义的实物化方法正好相反,在实物 化方法中局部系统不再被使用。 东南大学研制的v e r s a t i l e 是基于c o r b a 3 4 的联邦数据库管理系统,主 要实现了o r a c l e 、i n g r e s 、d b a s e 三者之间的数据接口等,而且还能插入新的 数据源中的数据口”。 以上这些方法表明:集成意味着给终端用户一种在一个单独的系统中 进行查询处理的感觉,因而,集成的数据库管理系统对用户来说是透明的。 用户无需关注数据是从那个数据源中来的,也不必知道在数据源中数据是 怎么被管理的。 另外一种方法是多库语言,这种方法中没有可维护的全局模式,即使 一部分也没有。通过提供具有超越标准查询性能的s q l ,用户负责集成处 理。然而,对用户而言,让其指明集成信息是难以承受的重担,由于这个 原因,这一方法并没有获得成功。显然,这种方法不支持透明性,但是它 燕山大学工学硕士学位论文 为数据库管理系统的集成提供了一种值得借鉴的办法,具有重要的意义。 2 2 2 6 三层结构的方法三层结构是最近几年才出现的新技术,在数据源 集成方面也有着良好的应用前景。相对于两层结构,三层构架的不同之处 在于它在客户端和服务器之间设立一个中间层,对数据的一切访问都要通 过中间层进行。这样做的好处很多:首先,在两层结构中,如果要想若干 个客户端都具有访问某个数据源的能力,就必须在每个客户端都进行相应 的配置,而如果每个客户又要求访问多个服务器,又会造成系统的大量冗 余和浪费;而在三层结构中,可以把访问多个异构数据源的能力配置在中 间层上,每个客户端只要具有访问中间层的能力就可以了,这就使得系统 大为简化。另外,两层结构中,一旦对s e r v e r 端提出数据的访问要求,真 正的集成就将在客户端上进行,而在三层结构中,集成可以在中间层上进 行,只把最终的结果返回给用户,这将减少不必要的网络传输,大大改善 网络性能。 此外,中介查询系统技术也属于异构数据查询技术虚拟方法的一种, 因为这种方法并不实际迁移不同数据源中的数据。这种方法可以用于查询 结构化、半结构化以及非结构化数据。有关这一技术下面一节内容中给出 详细介绍,在此不再赘述。 2 3 异构数据源查询系统 2 3 1中介查询系统 前面的内容中介绍了异构数据源集成与查询的一些方法,它们具有下 面一些特征: ( 1 ) 它们考虑结构化或者非结构化的数据,并不综合考虑所有结构上异 构的数据; ( 2 ) 它们常常要么提供一种精确的查询方式,要么提供模糊的查询方式, 很少考虑二者同时存在的情况; ( 3 ) 对于结构化数据源,它们通常采用模式集成的方法集成数据。 然而,在w e b 这样的环境下,大量的在线数据和大量的有着不同知识 第2 章异构数据源查询技术 水平查询数据的用户呼唤一种新的方法查询异构数据。因此,新的技术需 要构建一个数据集成系统,在这个系统中,数据源的连接和断开非常容易, 并且支持所有类型的用户表达他们的查询需求。 解决这个问题的方法早在9 0 年代初就有人提出,当时w i e d e r h o l d 提出 中介器r ( m e d i a t o r ) 的概念。 中介器是一个软件模块,能够开发已经编码的关于某些集合或者子集 的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论