(计算机软件与理论专业论文)面向空间数据集成的xquery语言与查询分解技术的研究.pdf_第1页
(计算机软件与理论专业论文)面向空间数据集成的xquery语言与查询分解技术的研究.pdf_第2页
(计算机软件与理论专业论文)面向空间数据集成的xquery语言与查询分解技术的研究.pdf_第3页
(计算机软件与理论专业论文)面向空间数据集成的xquery语言与查询分解技术的研究.pdf_第4页
(计算机软件与理论专业论文)面向空间数据集成的xquery语言与查询分解技术的研究.pdf_第5页
已阅读5页,还剩85页未读 继续免费阅读

(计算机软件与理论专业论文)面向空间数据集成的xquery语言与查询分解技术的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 随着h 1 把n 】e t 技术的迅速崛起和在全球范围内应用的飞速发展,信息共享已经成为 种必然的要求,地理信息也不例外。集成分布式的、异构的信息直是数据库领域 的个活跃的研究方向。在空间数据库领域,由于空间数据结构复杂,在g i s 发展初期 没有定的工业标准可循,因而i i 生幻i s 平台所采用的数据结构、数据组织方法和数据 在系统中的存储和表现形式都各不相同。而目大量的空间数据被存储在不同的物理位 置上,这使得g i s 的数据共享问题变得尤为突出。 本课题组设计并开发了个基于g m l x m l 和扩展x q u 日y 的空间数据集成系统 的原型,该系统用中间件的方式集成空间和非空间数据。空间数据集成系统屏蔽了分 布式的空间数据源之间的差异,以透明的方式向用户提供了一致的访问接口,实现了 空间数据资源的共享和互操作。 本文主要探讨了面向空间数据集成的x l 了u e r y 语言的设计和实现,以及在此系统 中使用的查询分鳃算法。x q u e q 是w 3 c 提出的x m l 查询语言标准,它能够对各种 结构复杂的x m l 文档进行数据的检索、处理和转换。作者在此系统中主要负责扩展 x 啦哪语言的设计与实现,其核心是x 洄的查询分解算法。 分布式x q u r 查询需要从多个分布式的数据源中获取数据,用户在编写分布式 查询时,只需考虑从不同的数据源中获取什么样的数据,以及最后的查询结果用什么 样的形式返回,而无需考虑查询是如何由中间件分配给各个数据源的。因此,需要 个有效的查询分析和变换算法,根据各个数据源的能力,将全局的针对多数据源的查 询分解为多个单数据源子查询。本文介绍的查询分解算法实现了空间数据库分布式查 询的功能。用户在编写分布式查询时,可以简单地将多个数据源理解为多个x m l 文 档,而无需对分布式查询的处理做任何的干预。 北京工业大学硕士学位论文 我们 暾u 叼商滩语言至暇q u e i y 核心语言的转化过程称为洄的规范化。 x q u e r y 的规范化是x q 塘嚆言实现和优化的基础。x q u e r y 核心语言是x q i m 标准语 言的子集,它能够精确地表达查询的语义。本文给出了空间数据集成系统的x ( 抽觎 范化算法。我们以w 3 c 的形式语义为基础,在考虑了执行效率、空间数据集成的要求 等因素后,设计t x q u c r y 的规范化算法,给出了x q i i 南滩文法到核心文法的映射关 系。 最后,本文介绍自咖l 瑚娟狲鹈黼语义不变的基础e 把x q i e i y 核心表达式树转 变为由f x q l 语言表达式树。f x l 2 嚆言是本系统的查询计划描述语言,翻译为f ) ( q l 语言后,其形式更为简单,语义更为清晰,精确地描述了查询的执行动作。 关键词空间数据集成;如a c y ;查询分解;规范化;函数式语言 a b s t r a c t n o w a d a y s ,w i t ht h er a p i dd e v e l o p m e n to fi r t t e m c tt 黜t m o o g ya n d t h ew i d es p r e a d i n go f i t s a p p l i c a t i o n , i n f o r m a t i o n s h a r i n g i s a n i n e v i t a b l e t e n d e n c y t o u s a s w e l l a s s p a d a l i n f o r m a t i o n i n t e g r a t i n gd i s t r i b u t e da n dh e t e r o m e r o u si n f o n n a t i o ni sa l la c t i v ef i e l di nd a t a b a s ec o m m t m i t y i ns p a t i a ld a t a b a s ef i e l d , d u et ot h ec o r r e p l e x i t yo f s p a t i a ld a t aa n dt h ea b s e n c eo f a ni n d u s t r i a l s t a n d a r df o re n c o d k n 4 9s p a 蛀a jd a t a ,e v e r yg i s ( g e o g r a p h i c a li n f o r m a t i o ns y s t e m ) p l a t f o r m a d o p t sd i t 妾r e r t td a t as i i l 丘:n & s t o r a g em e t h o da n dr e p r e s e n t a t i o nm e t h o df o rs p a t i a ld a t a f o r t h e r m o r e , a 耐d e a lo f s p a t i a l d a t al o c a t e si nd i s t r i b u t e dp o s i t i o n , t h i sm a k et h ep r o b l e m o f g sd a t a 峨r n o r e s e v c t e o u rr e s e a r c hg r o u pd e s i g na n dd e v e l o pap r o t o t y p eo fa 印酬d a t ai n t e g r a t i o ns y s t e m b a s e do ng m l x m la n de x t e n d e dx q u e r y , u s i n gm e d i a t o r 幻i n t e g r a t es p a t i a la n d n o r l - s p 面a ld a t a s p a t i a ld a t ai n 垃罂锄协s y s t e me l i m i n a t et h ed i f f e r e n c eb e t w e e nd i s t r i b u t e d 印瓿a ld a t as o u r c e ,p r o v i d i n gan m a s p a r e n tw a y f o ru s e rt o 越螂d a t ab yam a i t b r mi n t e r f a c e , a n d i m p l e m e n t s t h es h a r i n g a n d i n t e r o p e r a b t u t y o f s p a t i a l d a t a r e s o u r c e s t h i sp a p e ra n a i n l ys r l d i e st h ed e s i g na n di m p l e m e n t a t i o no f x q u e r yf o rg e o - r e f e m n c e d d a t ai n l e g r a t i o na n dt h eq u e r yd e c o m p o s i t i o na l g o r i t h mu s e di nt h i ss y s t e m x q u e r yi st h e w 3 cr e c o r f l i 2 2 0 d a t i o nf o rx m l q u e r yl a n g u a g e ,i tp r o v i d e st h ea b i l i t ) ,t oe x 廿a c t , p r o c e s sa n d c o n v e r to f x m l d , a l ai1 t 1 1r e s p o n s i b l ef o rt h ed e s i g na n dd e v e l o p m e n to f e x t e n d e dx q u e r y l a n g u a g e ,t h ec o r eo f t h i st e c h n o l o g yi st h eq u e r yd e c o m p o s i t i o na l g o r i t h m d i s t r i b u t e dx q u e r yr e q u e s tn e e dr e t r i e v ed a mf r o mm u l t i p l ed i s t r i b u t e dd a t as o u r c e s w h e nl a s e rw r i t i n gd i s t r i b u t e dq u e r y , t h e yo n l yn e e dt oc o n s i d e rw h a td a t as h o u l db er e t r i e v e f r o md a t as o u r c e sa n dt h ef o r mo ft h eq u e r yr e s u l t t h e yn e e dn o tt oc o n s i d e rh o wq u e r yi s d e l i v e r e dt ot h eb a c k e n dd a t as 0 1 i l i ab ym e d i a t o r s o 、en e e da ne f f e c t i v eq u e r ya n a l y s i sa n d 北京工业大学硕士学位论文 w a n s l a t ea l g o r i t h m , b a s e do i lt h eq u e r yc a p a b i l i t yo fe a c hd a t as o u r c e ,t ot l a n s l a t e t h e m u l t i - s o m r 七g l o b a lq u e r yt o s e v e r a ls u b - q u e r i e sf o rm o n od a ms o t l r c e t h eq u e r y d e c o m p o s i t i o na l g o r i t h mi n t h i sp a p e ri m p l e m e n t st h ed i s t r i b u t e dq u e r yi n 洲d a m i n t e g r a l i o ns y s t e m u s e rc o u l dq u e r ym u l i t i p l ed a t as o u r c el i k eq u e r y s e v 目a lx m l d o c t m l e n 协, v , d m o m a n y i n t e r f e r e n c e :f o r d i s t r i b u t e d q t m 3 p r o c e s s i n g n o m a a l i z a t i o no fx q u e r yi sa l le s s e n t i a ls t e pf o ri m p l e m e n t a t i o no fx q u e r yl a n g u a g e t h ec o n v e r s i o nf r o mx q u e r ys t a n d a r ds y n t a xt ox q u e r yc o l es y n t a xi sx q u e r y n o n n a l i 洳o r lx q ) i 】e r yc o r es y n m xi sas u b s e to f x q u e r ys t a n d a r ds y n t a x ;i tc o u l dp r e c i s e l y e x p r e s s t h e m e a n i n g o f a q u e r y t h i s p a p e r 口趴捌e s a n a l g o r i 吐) i n f o r x q u e r y n o r m a l i z a t i o i l t h i sa l g o r i t h mi sm a i n l yb a s e do nt h ew 3 cf o r m a ls e m a n 虹c w i t hc o n s i d e r i n gq u e r y e 伍c i 髓c ya n dt h er e q u i r e m e n to f 印鲥a ld a t ai n 忙g r a t i o n , t h i sa l g o r i t h mg i v e st h er u l e sf o r m a p p i n gb e t w e e n x q u e r y s t a n d a r ds y n t a xa n dx q u e r yc o r es y n t a x f i n a l l y , t h et r a n s l a t i o na l g o r i t h mi nt h i sp a p e r c o n v e r t st h ex q u e r yc , 0 1 s y n t a xt r e et o i n t e r m e d i a t e l a n g u a g es y n t a x f r e e t h e f x q l l a n g u a g e i s t h e q m , r y a l g e b r a f o r t h es p a t i a l d a t a i n t e g r a t i o ns y s t e m a f t e rt r a 越醯n g t of x ( 沮l a l l g b a 窖e , t h ef o r mo fq u e r y _ b e c o m e ss i m p l e r a n di t sm e a n i n 4 9b e c o m ec l e a r e r i ta c c t :a t e l yp r e s e n t st h ea c t i o n so f e x e c u t ee n g i n e k e y w o r d s :s p 商a ld a t ai n t e g r a t i o n ;x q u e r y ;q u e r yd e c o m p o s i t i o n ;n o r m a l i z a t i o n ; f u n c t i o n a ll a n g u a g e l v - 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 签名日期:! 竺:厶宝 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 躲埠翩虢鼻牛嗍一夕 1 1 课题背景 第1 章绪论 随着地理信息系统( g e o g r a p h i c a li n f o r m a t i o ns y s t e m ,o i s ) 及其应用的飞速 发展,越来越多的企业在跨网络的应用系统中直接或间接地涉及到空间信息的处 理。由于地理信息数据结构复杂,在g i s 发展初期没有一定的工业标准可循, 因而这些g i s 平台所采用的数据结构、数据组织方法和数据在系统中的存储和 表现形式都各不相同。而且,大量的空间数据被存储在不同的物理位置上,这使 得g i s 的数据共享问题变得尤为突出。 因此需要一个完整的地理信息数据集成系统,它能够屏蔽地理信息的分布性 和异构性,提供高效的空间信息查询服务。一方面使得处于不同环境、分布存放 的各种专业和行业地理信息库能够协同工作、互相配合、互相补充;另一方面, 使得用户能够快速准确地定位、获取并使用他们所关心的空间信息,而不用关心 相应的信息位于何处,以何种存储格式存储。 本课题组设计并实现了一个基于g m l x m l 和扩展x q u e r y 方法的空间数据 集成系统的原型,该系统用m e d i a t o r - w r a p p e r 的方式集成空间和非空间数据。在 此系统中,我们将来自多种数据源的数据集成为统一的x m l 视图,用户能够用 x q u e r y 语言的查询来检索多个数据源中的信息,实现了多种数据源的无缝集成。 本文主要探讨了面向空间数据集成的x q u e r y 语言的设计和实现,以及在此 系统中使用的查询分解算法。 1 2 相关研究内容及研究现状 1 2 1 空间数据集成的方法 在分布式空间数据处理和空间数据集成方面,已经存在了很多不同的互操作 方法和软件体系结构。它们大致可以分为以下三类娜i : 空间数据目录服务:是一个空间信息的注册查询中心,注册鬻记了地理信息 资源的连接和特征等信息,利用这些信息用户能快速准确地获取自己所需的 北京工业大学硕上学位论文 资源。美国加州大学圣巴巴拉分校的a l e x a n d r i a 数字图书馆是这种方法的一 个代表。 数据仓库( d a t aw a r e h o u s i n g ) 数据仓库的方式也被称为预先集成( i n a d v a n c e ) 的方式5 2 1 ,用数据仓库 集成异构数据需要三个阶段的工作:1 ,从不同的数据源收集信息;2 ,将收 集到的数据重新组织,存储在数据仓库中;3 ,在数据仓库中奄询。在数据 仓库的第一、二个阶段,数据仓库是离线的,只有在所有数据都不再改变时, 数据仓库才变为在线状态。此种方式主要的缺点在于无法动态地集成异构数 据,只适合在己知数据源种类较少的情况下使用,优点是查询的效率比较高。 基于m e d i a t o r w r a p p e r 的方式 同联邦数据库( 也称为多数据库系统) 的概念类似,基于m e d i a t o r w r a p p e r 的系统用统一数据模型的方式为用户提供了一个统一视图。多数据库系统一 般是一个基于客户机服务器结构,用中间件系统( 例如基于c o r b a 或者 c o m ) 连接客户和服务层。基于m e d i a t o r w r a p p e r 的系统基于三层的体系结 构,包括数据层( 用w r a p p e r 包装的数据源) ,m e d i a t o r 层( 支持查询和查询 结果的分解和重新组织) ,以及应用程序接口层。m e d i a t o r 位于异构数据库 系统( 数据层) 和应用程序( 应用层) 之间,向下协调各数据库系统,向上 为访问集成数据的应用提供统一数据模式和数据访问的通用接口。各数据 库的应用仍然完成它们的任务,m e d i a t o r 贝, lj 主要集中为异构数据源提供一个 高层次检索服务。 基于m e d i a t o r - w r a p p e r 的系统是集成的数据源的虚拟视图的集合, m e d i a t o r 将用户的全局查询分解为可被w r a p p e r 执行的子查询,然后将 w r a p p e r 返回的结果重新组织返回给用户。m e d i a t o r 自己不存储任何数据,由 w r a p p e r 将m e d i a t o r 发出的查询转化成为支持本地数据源的查询。w r a p p e r 斥 于提供对异构数据源的访问。对于每一个数据源,w r a p p e r 对外提供了数据 源的s c h e m a 、数据和查询能力的描述。 基于m e d i a t o r - w r a p p e r 的信息集成系统是当前信息集成系统研究的主要 对象,已经出现了许多基于m e d i a t o r w r a p p e r 结构的信息集成系统,如 m i x l 3 1 , 1 4 ,t s i m m i s ,d i s c o 。本课题组曾经研制了一个基于 m e d i a t o r - w r a p p e r 的空间数据库引擎系统s d b e f 3 9 4 0 j ,s d b e 是一个支持 第l 章绪论 s h a p e f i l e 、o r a c l es p a t i a l _ j l l 常用关系数据库等多种数据源的空间数据库引擎。 本系统使用m e d i a t o r - w r a p p e r 的方法集成空间数据。基于m e d i a t o r 的体系 结构的优势在于它的模块化和可扩展性。m e d i a t o r 系统支持查询结果的重构 而不是将多个数据源的中的数据合并在一起。该方法并不需要改变原始数据 的存储和管理方式。关于该方法的具体论述见第2 章。 1 2 2 x m l 和g m l x m l 语言是w 3 c 提出和维护的数据交换标准。i n t e m e t 技术的发展使得x m l 逐步成为组织、机构间交换数据的手段。大量的工业组织,包括交通、医疗、电 信和测绘等机构用d t d 和x m l s c h e m a 的方式公布了各自的x m l 方言,用来描述 在他们的应用间交换数据的x m l 格式。x m l 的目标是成为数据交换的通用语言, 使得数据的交换不依赖其存储位置和处理的方法。 x m l 支持自定义标记,提供了强有力的扩展机制,这必然会出现许多g i s 行业独有的标记。杂乱的标记必然影响网络数据挖掘和数据管理,因此行业需要 基于元数据的x m l 标准体系。开放式g i s 协会o g c ( o p e ng i sc o n s o r t i u m ) , 是一个旨在解决空间数据互操作问题的组织,提出了g m l l 6 】来解决这个问题。 在o g c 的草案中,g m l 被定义为一个x m l 的空间数据编码格式,g m l 使得 组织间进行空间数据的共享成为可能。 g m l 是一个用x m ls c h e m a f 5 0 1 描述的x m l 语法,用来进行空间和非空间的 地理信息的建模、传输、和存储。它被开发为一个数据交换的标准接口,减少了 在异构系统间数据转换的代价,达成了数据互操作的目标。而且g m l 是一个开 放源代码的标准,能够免费使用,它不依赖任何的g i s 软件供应商。同时,g m l 提供一系列通用地理建模对象,从而使各自独立开发的应用之问互操作成为可 能,g m l 可以通过限制、扩展等机制来创建自己的应用s c h e m a 。 目前,国内北京大学、武汉大学、国防科学技术大学等单位在网络地理信息 系统( w e b g i s ) 的研究4 74 8 1 中,已经探讨了基于g m l 数据的空间信息集成技 术。 本系统使用g m l x m l 作为空间数据集成系统中的通用数据模型,不同类型 的卒问数据将统一使用g m l 来编码,而非卒恻数据将用x m l 来编码。 北京工业大学硕士学位论文 1 2 , 3g m l 查询语言 x m l 有能力将来自不同数据源的半结构化或者关系型的数据信息用标签标 注起来。因此种使用x m l 作为数据类型的查询语言可以便捷的在上述类型的 数据源间作查询,无论这些数据源是真正的x m l 文件或者是中间件提供的x m l 视图。随着x m l 技术的发展,很多查询x m l 数据的语言被发展出来,l o r e l h 】、 q u i l t t l 叩和x q u e r y t l 】是其中的代表。g m l ,作为x m l 语言的一种应用,同样能 被上述语言所查询,但是这些语言都没有提供空间关系运算和空间操作的功能, 而这些功能对空间数据库系统来说是必要的需求。 现有三种方式来实现基于g m l 的空间数据查询: 全新设计一种专用的g m l 查询语言。 对s q l 进行扩展,使之支持g m l 和空间运算。 对一种x m l 查询语言进行扩展,增加空间运算的功能。 国内外有若干家研究机构提出了基于g m l 的空间数据集成系统,他们在设 计g m l 查询语言时使用了扩展s q l 的方式【4 4 j 。我们认为s q l 只适合处理扁平 的、结构相对规范的数据,不适合处理x m l 这样半结构化的、结构复杂的数据, 因此简单地通过扩展s q l 来支持g m l 是无法满足集成各类异构数据的需求的。 由于传统的关系数据库只支持简单的数据类型,o g c 定义了一个s q l 的扩 展数据模型n 】来表示和查询空间数据。这个扩展包括一系列空间数据类型和空间 谓词函数。在此思想的启发下,我们认为通过扩展x q u e r y ,这个即将成为x m l 查询语言标准的语言,来作为空间数据的查询语言是较为科学和合理的。美国 m i n n e s o t a 大学正在研究面向g m l 数据的查询语言g m l q l 坦l ,通过扩展 x q u e r y 的空间运算处理功能来适应空间信息处理的需求。巴西里约热内卢州立 大学【1 6 1 也在尝试在x q u e r y 语言中扩展空问关系运算,来支持空间数据的处理。 x q u e r y 是种从x m l 格式的文档中获取数据项的查询语言。2 0 0 3 年5 月中 旬,在x m lq u e r y i 作小组成员包括微软、o r a c l e 、i b m 等公司积极推动下国 际标准组织w 3 c 已难式摧 x q u e r y y l 为共通标准。f 女d s q l - - 直是查询关系型结 构数据库的标准语言,x q u e r y 也因为可查询x m l 数据库而逐渐成为主流的技术。 第1 章绪论 1 3 课题来源和主要研究内容 本课题来源于北京市自然科学基金项目:面向空间数据集成的统一数据查询 语言的研究。本课题组总的目标是设计和实现一个基于g m l x m l 和扩展 x q u e r y 空间数据集成系统。该系统屏蔽了地理信息的分布性和异构性,提供高 效的空间信息查询服务。 该空间数据集成系统采用g m l x m l 作为通用数据模型,为x q u e r y 语言扩 展空间运算、g m l 专用操作和多数据源描述方法,设计面向空间信息集成的空 间数据查询语言。用m e d i a t o r - w r a p p e r 的方式集成分布式的、异构的空间数据, 针对各种数据源,设计不同的w r a p p e r ,为m e d i a t o r 提供统一的数据访问接口。 并且针对空间信息集成的需求来设计查询原语,设计了一种简单的函数式语言一 一f x q l 作为查询计划的表示,实现空间查询语言到查询计划的变换。通过 x q u e r y 和查询计划的优化来实现查询的优化。 作者在此系统中主要负责扩展x q u e r y 语言的设计与实现,其核心是x q u e r y 的查询分解算法。工作内容可以分为以下两部分: x q u e r y 的扩展和x q u e r y 的查询分解算法的研究和实现: _ 研究针对x q u e r y 语言扩展空间运算和多数据源描述方法。 一研究分布式查询的分解算法,使得x q u e r y 支持多数据源的访问和数据 处理。 x q u e r y 语言的实现技术: _ 研究x q u e r y 的规范化算法,在研究x q u e r y 形式语义【2 j 的基础上实现 x q u e r y 标准语法到x q u e r y 核心语法的翻译算法。 _ 研究x q u e r y 核心表达式到f x q l 的映射关系,实现x q u e r y 到f x q l 的翻译算法。 1 4 本文贡献 本文的主要贡献在于: 设计了一种面向空间数据集成的查询语言和与之配套的查询分解算法。 探讨了x q u e r y 实现技术的若f 问题:x q u e r y 的规范化和x q u e r y 到查 北京工业大学颀上学位论文 询计划描述语言f x q l 的翻译。 1 5 本文结构 本文第1 章介绍空间数据集成的背景知识及其相关工作,并介绍了本文的主 要研究内容。第2 章介绍了空间数据集成系统的整体解决方案。第3 章介绍了 x q u e r y 语言的特点和x q u e r y 针对空间数据集成的扩展。第4 章介绍了分布式 查询的分解算法。第5 章介绍了m e d i a t o r 的查询处理模型。第6 章介绍了x q u e r y 的规范化技术。第7 章介绍了x q u e r y 到f x q l 语言的翻译算法。附录的系统测 试用例给出了本系统已经通过的3 2 个w 3 c 测试用例和4 个查询分解算法的测 试用例。 :。,:!量:耋,茎兰些! 筌呈:至墼耋璺茎堡篓些重篁 , 第2 章基于g m l x q u e r y 的空间数据集成系统 本章介绍了空间数据集成系统的整体解决方案。空间数据集成系统用 m e d i a t o r w r a p p e r 的方式集成异构数据,采用基于x m l 的g m l 标准和x m l s c h e m a 作为空间信息集成的通用数据模型,采用支持网络多数据源和空间数据 处理的扩展x q u e r y 语言作为空间信息集成的通用数据查询语言,从而形成完整 的空间信息集成模型,使其支持空间信息和非空间信息的无缝连接、分布式数据 查询和数据集成,支持基于多空间数据源的分布式应用系统的数据建模和软件开 发。 2 1 基于m e d i a t o r - w r a p p e r 的体系结构 基于m e d i a t o r - w r a p p e r 的数据集成系统是实现异构数据集成的一种解决方 案。利用m e d i a t o r 中间件集成各种异构数据库时,不用改变原始数据的存储和 管理方式,能够为用户提供一个查询异构数据源的高层服务。 本系统使用m e d i a t o r - w r a p p e r 的方式集成异构数据。系统可以分为三层,位 于最上层的是应用层,用户和数据集成管理员能够使用应用层中的应用程序或者 应用程序接口进行空间数据查询或者空间元数据的管理和查询。位于应用层之下 的是中间件层,它由m e d i a t o r 和元数据服务器组成。m e d i a t o r 是查询处理的核心, 负责查询的分析和执行,它向用户提供了一个高层的x m l 视图,用户可以通过 x q u e r y 对集成的空间数据源进行分布式查询。元数据服务器提供了空间数据源 的元数据信息。位于系统底层的是数据源层,负责屏蔽各数据源的差别。图2 - 1 是系统的体系结构图,由上至下分别是应用层、中间件层和数据源层,下面将分 别讨论系统中的组件。 2 1 1 应用层 图2 - 1 系统体系结构图 应用层又可以称为客户层,它由本系统中的客户程序组成。客户程序是空间 数据集成系统的人机交互界面。空间数据集成系统的用户可以分为两种角色:空 间数据用户和数据集成管理员,不同的角色使用不同类别的客户端和空间数据集 成系统交互。 空间数据用户通过查询客户端和本系统交互。查询客户端可以是简单的字符 客户端,也可以是g u i 客户端。 查询客户端将由三个组件构成:查询编辑器、数据展示器以及元数据浏览器。 查询编辑器提供查询生成的能力,用户能通过自动化工具指定查询范围来生成面 向特定应用的查询,而不必手工编写查询。数据展示器负责将查询结果转化为矢 量图像( 如s v g ) 、栅格图像( 如g i f 、j p e g 等) 或者其他的形式。而用户将 通过元数据浏览器来访问元数据服务器息,了解空间数据集成系统中的各个数据 源的信息,在得到了数据源相关信息后用户将使用查淘编辑器来制定x q u e r y 查询。 数据集成管理员负责空间数据源在空间数据集成系统中的注册和维护,该角 色使用元数据编辑器和元数据服务器交互。 第2 章基于g m l x q u e r y 的空间数据集成系统 2 1 2 元数据服务器 元数据服务器为m e d i a t o r 和数据集成系统的用户提供元数据注册和访问的 功能。存储在元数据服务器中的信息用于描述数据源的三方面的信息: 数据源中的存储数据的x m ls c h e m a 定义,它描述了数据的结构和约束条 件,数据集成系统的用户将通过x m ls c h e m a 了解数据源的特征信息,编写 查询。由于x q u e r y 是强类型语言,m e d i a t o r 能够根据数据源的x m ls c h e m a 定义,进行表达式的类型推导和类型检查,以及在此基础上进行的逻辑优化。 数据源的连接信息( 例如连接关系数据库时使用的连接串) :这部分信息用 于动态建立w r a p p e r 。通过数据源连接信息,m e d i a t o r 完成了w r a p p e r 的构 造和连接。 数据源查询能力的描述。这部分信息在m e d i a t o r 进行查询分解时使用,关于 查询分解算法的描述,详见第六章。 2 1 3 数据源层 数据源层由一系列的w r a p p e r 组成,每个w r a p p e r 对应一个本系统支持的数 据源类型。w r a p p e r 负责对各种数据源的包装,w r a p p e r 根据模式映射文件将 m e d i a t o r 发送来的子查询转换为本地查询,并将查询结果转换为g m l 格式返回 给m e d i a t o r 。 w r a p p e r 为m e d i a t o r 提供一个虚拟的x m l 视图,屏蔽了各数据源之间的差 异。从而使得m e d i a t o r 能够用统一的方式处理不同类型的数据源。 本系统现支持4 种类型的数据源:o r a c l es p a t i a l 数据库、a r c s d e 数据引擎、 w f s 服务和x m l 文档。 2 1 4m e d i a t o r m e d i a t o r 是查询处理的核心,负责查询的处理和执行。m e d i a t o r 的主要功能 包括:查询的编译、分布式查询的分解、查询的优化,查询的执行、w r a p p e r 的 构造和管理。 m e d i a t o r 向应用层提供了一个商层的x m l 视图,用户可以把本系统中被集 9 - 北京工业大学硕士学位论文 成的数据源系统视为若干个x m l 文档。 用户首先通过元数据服务器了解数据源的特征信息,比如,数据源存储了哪 些空间要素,空间要素的存储路径,图层代表的实际空间要素等。然后用户在客 户端中编写查询,并且通过客户端将查询发送给m e d i a t o r 。 m e d i a t o r 将用户的分布式查询分解为针对单个w r a p p e r 的单数据源子查询, w r a p p e r 将该子查询转化为本地数据源支持的查询,然后将获取到的数据按一定 的形式组织好并返回给m e d i a t o r ,m e d i a t o r 按照用户的查询意图对w r a p p e r 返回 的数据进行重新组织,最终将查询结果返回给用户。 m e d i a t o r 发送给w r a p p e r 的子查询必须符合后台数据源的查询能力。例如, 如果后台数据源是一个x m l 文件,则只能从文件中顺序地读取数据,而所有的 数据处理操作都毫无选择的必须由m e d i a t o r 来完成。另一方面,如果后台数据 源是关系数据库,则w r a p p e r 能够将m e d i a t o r 发送来的查询转化为s q l 查询, 这使得大部分的查询处理能够由后台数据库完成,这样做有两个好处:第一,缩 小从数据源返回给引擎的数据集的大小;第二,使得数据源本身查询处理和查询 优化的能力得到有效的利用。 有关m e d i a t o r 实现和设计的内容,参见第5 章。 分布式查询的执行需要一个有效的查询变换算法,根据数据源的能力,将全 局的针对多数据源的查询分解为多个单数据源子查询。设计查询分解算法时,应 该在保证变换后的查询结果和未变换前的查询结果相一致的条件下,使得发送到 特定数据源的查询尽可能的详细,从而减小从数据源返回的数据集的大小,提高 查询的执行速度。关于查询分解算法的设计和实现,参见第4 章。 2 2 数据模型及类型系统 数据模型是数据库领域用来抽象现实事物的方法。由于在异构数据源之间存 在着语法和语义的差异,为了让m e d i a t o r 或者数据集成管理员能够同时理解多 种异构数据源的语义,数据集成系统需要个唯一的数据模型来描述数据,该数 据模型称为通用数据模型。 通用数据模型在数据集成系统中用来为不同数据源的s c h e m a 提供一个规范 化的语义描述。所有被空间数据集成系统集成的数据源中的数据将被转化为通用 第2 章基十g m l x q u e r y 的空间数据榘成系统 数据模型。本系统使用g m l ) ( m l 作为通用数据模型,所有空间数据必须用 g m l 编码和约束,非空间数据用x m l 编码。 而本系统在进行查询处理时的数据模型基于x q u e r y 的数据模型f 3 1 ,该数据 模型是上述通用数据模型的超集,因为该数据模型除了用来描述静态的数据模型 之外,还要能够描述的动态的数据模型,也就是查询处理的中间和最终结果。 x q u e r y 的数据模型基于x m li n f o s e t r 4 8 1 。i n f o s e t 是x m li n f o r m a t i o n s e t 的简称,l n f o s e t 是x m l 的抽象数据模型。i n f o s e t 的功用在于提供一套通用的语 汇以便描述某一x m l 文件的内容。换言之,i n f o s e t 的语汇说明了某一良构的 x m l 文件是由那些不同的信息类型所构成。任何的x m l 处理器( 如解析器) 在处理某一x m l 文件之后,即是利用i n f o s e t 的信息类型来描述该x m l 文件的 内容。此外,w 3 c 的其它x m l 相关技术规范在处理x m l 文件内容时也是以 i n f o s e t 为基础。 x q u e r y 选取了x m li n f o s e t 的子集作为数据模型的基础,同时x q u e r y 的类 型系统基于x i v i ls c h e m a 。根据x m lq u e r yr e q u i r e m e n t s 【5 j x q u e r y 应该使用 x m ls c h e m a t 4 9 1 来描述简单数据类型和复杂数据类型,同时也必须能够描述复杂 数据类型的c o l l e c t i o n 。 在x q u e r y 中,每个数据模型的实例都是一个s e q u e n c e 。所谓s e q u e n c e 是一 个有序的零个或多个i t e m 的集合。每个s e q u e n c e 不能直接包含另个s e q u e n c e , 因此s e q u e n c e 是扁平的,没有层次。一个i t e m 可以是一个n o d e 或者一个原子值。 每个n o d e 是x m li n f o s e t 中定义的7 种结点的实例:d o c u m e n t e l e m e n t , a t t r i b u t e ,t e x t ,n a m e s p a c e ,p r o c e s s i n gi n s t r u c t i o n ,和c o m m e n t 。原子值是x m l s c h e m a 中定义的2 3 个基本数据类型的实例,例如x s :s t r i n g 、x s :d o u b l e 、x s :i n t e g e r 等。 本系统的数据模型与w 3 c 的x q u e r y 数据模型基本一致,唯一的区别在于 i t e m 可取的类型。w 3 c 的i t e m 只包含n o d e 和原子值两种类型。本系统的i t e m 除上述两种类型外,还有系统内部使用的t u p l e 类型。 t u p l e 是零个或多个s e q u e n c e 的集合。t u p l e 是一个非扁平化的数据结构,将 s e q u e n c e 和t u p l e 配合使用能够完成数据的分组。本系统中的一些操作,如排序、 聚合等需要使用t u p l e 来保存数据的分组信息。本文论述的查询分解算法也使用 北京工业大学硕士学位论文 了t u p l e 来进行数据的分组。在本系统中,可以用n t h ( t u p l e ,n ) 来访问一个t u p l e 中的第n 个s e q u e n c e 。 2 3 通用查询语言及应用示例 用户将使用本系统扩展的x q u e r y 语言来查询分布式空间数据。扩展的 x q u e r y 语言支持分布式查询和空间数据的筛选,用户可以用x q u e r y 来表达

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论