(计算机应用技术专业论文)基于xml的异构数据集成技术及应用.pdf_第1页
(计算机应用技术专业论文)基于xml的异构数据集成技术及应用.pdf_第2页
(计算机应用技术专业论文)基于xml的异构数据集成技术及应用.pdf_第3页
(计算机应用技术专业论文)基于xml的异构数据集成技术及应用.pdf_第4页
(计算机应用技术专业论文)基于xml的异构数据集成技术及应用.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(计算机应用技术专业论文)基于xml的异构数据集成技术及应用.pdf.pdf 免费下载

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

文档简介

摘要 摘要 由于业务和功能归属的不同,在信息化建设过程中,企业各部门各自开发了 属于自己的应用系统,这些应用系统中的数据源不尽相同,如何将这些异构数据 源进行有效的集成,给用户和决策者提供统一的数据视图,从而提高工作效率, 对企业具有十分重要的意义。 本文研究基于x m l 的异构数据集成模型及其在青海大学综合信息服务平台中 的应用,它根据应用需要给出了一种简单高效的异构数据集成模型,该模型采用 x m ls c h e m a 和x o u e r y 作为异构数据源的公共数据模型和全局查询语言,利用消息 中间件实现全局代理与局部代理之间的通信,支持关系数据源、x m l 数据源以及 c s v 文件数据源的集成。 本文首先给出了关系数据源、x m l 数据源以及c s v 文件的x m ls c h e m a 仓l j 建方 法,然后以关系数据库为代表,讨论了全局查询和局部查询的处理方法,最后介 绍了该集成方法的关键技术在青海大学综合信息服务平台中应用以及该系统的 实施效果。 关键字m ,;异构数据集成;x m ls c h e m a :x q u e r y a b s i r a c i b e c a u s eo ft h e i rd e f e r e n tb u s i n e s s ,a l lb r a n c h e so fe n t e r p r i s eh a v ed e v e l o p e da l o to ft h e i ra p p l i c a t i o n ss y s t e m s t h e s ea p p l i c a t i o n ss y s t e m sh a v et h e i ro w nd a t a s o u r c e sa n da r eb a s e do nd i f f e r e n tp l a t f o r m s i tv e r yi m p o r t a n tf o re n t e r p r i s e sh o wt o i n t e g r a t et h i sh e t e r o g e n e o u s ,s u p p l yu s e r sw i t ha l li n t e g r a t e dv i e wo fh e t e r o g e n e o u s d a t aa n di m p r o v et h e i rw o r ke f f i c i e n c y t h i sp a p e rr e s e a r c h e so na na r c h i t e c t u r eo fx m l - b a s e dh e t e r o g e n e o u sd a t a i n t e g r a t i o n a n di t s a p p l i c a t i o n o fi n f o r m a t i o n 暇v e l p l a t f o r mo fq i n g h a i u n i v e r s i t y a c c o r d i n gt ot h ef a c to fa p p l i c a t i o r t , i tp r e s e n t sa k i n do fs i m p l ea n de f f e c t a r c h i t e c t u r eo fh e t e r o g e n e o u sd a t ai n t e g r a t i o n t h ea r c h i t e c t u r eu s e sx m ls c h e m a a n dx q u e r ya st h ec o m m o nd a t am o d e la n dg l o b a lq u e r yl a n g u a g e ,r e a l i z e sm e s s a g e e x c h a n g eb e t w e e nc o m m o na g e n ta n dl o c a la g e n tb ym e s s a g em i d d l ew a r e ,a n d s u p p o r t st h ei n t e g r a t i o no f r e l a t i o n a ls o u r c e s ,x m l s o u r c e sa n dc s vf i l es o u r c e s t h i sp a p e rf i r s tp r e s e n t st h ex m ls c h e m ac r e a t i o no fr e l a t i o n a l5 0 u r c e s ,x m l s o u r c e sa n dc s vf i l es o u r c e s ,a n dt h ei n t e g r a t i o no ft h e i rx m ls c h e m a s t h e nt h e p a p e rp r e s e n t saq u e r yp r o c e s s i n gf r a m e w o r ko ft h er e l a t i o n a la g e n t f i n a l l yt h e p a p e rd i s c u s s e s t h ek e yt e c h n o l o g i e so n i m p l e m e n t a t i o n o ft h ex m l - b a s e d h e t e r o g e n e o u sd a t ai n t e g r a t i o ns y s t e mi nt h ei n f o r m a t i o ns e r v e rp l a t f o r mo fq i n g h a i u n i v e r s i t y k e y w o r d s x m l ;h e t e r o g e n e o u sd a t ai n t e g r a t i o n ;x m ls c h e m a :x q u e r y i l 学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人己经发表或撰写过的研究成果,也不包含 为获得壹量盘堂或其他教育机构的学位或证书而使用过的材料。与我 一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 学位论文作者签名( 手写) 3f 司纠签字日期:驴缉厂月肋日学位论文作者签名( 手写) 当f 司叼签字日期:驴缉月肋日 学位论文版权使用授权书 本学位论文作者完全了解壶量盘茔有关保留、使用学位论文的规 定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允 许论文被查阅和借阅。本人授权壹量盘堂可以将学位论文的全部或部 分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制 手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名( 手写) :乌闰日导师签名( 手写) :降,匆 签字日期:曲g 年石月佃日签字日期:f i - , 5 年月加日 基于x m l 的异构数据集成技术及应用 第一章绪论 1 1 课题来源、背景及研究意义 随着计算机技术,特别是i n t e r n e t 技术的迅猛发展,在许多行业、单位或机 构、部门内部都逐步实现了业务、信息的计算机化管理。但是,各个行业、部门 或机构由于业务和功能归属不同,因此都是根据自身的需要,构建了许多相互隔 离的信息服务和管理系统。甚至在一个单位( 如一个企业、一个学校) 内部各部 门所采用的计算环境由不同平台组成,而不是固守任何一个平台。这样随着时间 的推移和技术的进步,这些由不同核心技术构建的信息系统就像一个个“信息孤 岛,各自有着不同的处理对象、操作方法和专用客户端,在各个环节之间存在 着数据交流和部门协同的问题。每个部门或单位就是一个数据源,每个数据源可 能都是异构的,因而他们之间的信息和组织都不一样,这就构成了一个巨大而复 杂的异构数据源环境。“信息孤岛 的存在不仅提高了企业维护数据的费用, 而且企业很难根据分散的数据做出正确的决策。为了改善这种局面,同时在各 个“信息孤岛一之中共享和交换数据,并且给企业用户提供企业数据的集成视 图,从而根据集成之后的数据及时地调整业务策略,就必须考虑数据集成的问 题。 异构数据集成系统为企业解决多平台、多结构数据的集成问题提供了一条 解决途径。通过这样一个集成系统,可以把企业内部和外部的各种相关数据资 源进行整合,为企业的信息资源规划提供了可能,从而搭建起整个企业的信息 平台。 经过多年的信息化建设和积累,青海大学己经建立了连接全校所有部门的 校园网络以及各部门的业务系统,并且有些系统实现了基于网络的应用服务, 如办公自动化系统、教学管理系统、研究生管理系统等。但从学校宏观角度而 言,这些系统彼此之间都是独立的,很难根据这些信息来辅助学校的决策与管 理。校园综合信息服务平台是以校园网为平台、各部门的应用系统为基础,对 全校的各类信息进行管理和实时查询,实现对学校的人、财、物等各种资源进 基于b i l 的异构数据集成技术及应用 行有效利用和控制。通过综合信息服务平台,可以对学校基本情况、教学信息、 科研信息、管理信息、财务信息、设备资产信息等各类信息进行融合,实现多 层次、多角度、多粒度的查询。 目前学校现有的数据存在以下特点: ( 1 ) 覆盖面广。包括校内全部的信息资源,包括管理、教学、科研、后勤 保障等方面的数据。 ( 2 ) 数据来源广泛。一方面数据来自于每个部门的应用系统;另一方面 由于每个部门的应用系统开发单位不一,因而数据源种类很多,包括a c c e s s 、 s q ls e r v e r 、o r a c l e 等关系数据,同时包括x m l 等半结构化数据以及e x c e l 工 作表等电子表格数据。 ( 3 ) 数据不一致。主要表现为在不同的系统中不同的名字表示同二概念, 相同的名字表示不同概念,甚至同一实体在不同系统中维护的数据不一致,如 教务处和学生处维护的学生名册就不一致。 ( 4 ) 变动频繁。在学校的各类信息中一些特殊的信息变化特别频繁,如教 务信息、财务信息等。 数据集成的目的是屏蔽学校各部门应用系统在硬件平台、操作系统、网络 协议和数据源方面的差异,为全校用户提供一个通用的数据集成平台。通过数 据集成平台提供的服务,决策者可以对学校的各类信息进行宏观了解,从而根 据集成之后的统一数据视图及时制定学校的各项决策。 1 2 异构数据集成的研究现状 在二十世纪八十年代异构数据源集成平台的实现多采用联邦数据库系统1 2 4 技术。联邦数据库系统将所有的数据源统一到一个单一的集成系统中。联邦数 据库系统集成几个数据库的最简单结构是实现需要交互的所有数据库对之间的 一对一连接。这些连接允许一个数据库系统d l 以另一个数据库系统d 2 能理解的 术语来查询。这种结构的问题是,如果n 个数据库中的每一个都需要与其他n 1 个数据进行交互,则我们必须写n ( n 1 ) 条代码以支持系统之间的查询。这样, 2 基于x m l 的异构数据集成技术及应用 这个数据库就形成了一个联邦。所以这种方法的缺点是构建开发一个这样的系 统需要很长的时间,要求高性能的设备,实现代价比较高。 随着九十年代中期i n t e r a c t 的出现,数据集成技术得到了进一步的推广。在 这个时期出现了虚拟数据库和数据仓库两种新的数据集成的方法【2 习。在虚拟数 据库中,用户可以查询这个虚拟数据库,就象它已物化( m a t e r i a l i z e d ) ( 已实际创建, 就如数据仓库一样) 。虚拟数据库不存储任何自己的数据,而是将用户的查询翻 译成一个或多个对数据源的查询。然后,虚拟数据库将那些数据源对用户查询 的回答进行综合处理,将结果返回给用户。而数据仓库法是指来自几个数据源 的数据副本存储在单一数据库中,称其为数据仓库。存储在数据仓库中的数据 在存储之前可能要经过一些处理,例如对数据进行筛选,将关系进行连接或聚 集。并且要使所有的数据都符合数据仓库的模式。虽然以上这两种方法在数据 集成的手段和数据分析的层面上都有差别,但都得到了广泛的应用。 由于结构化数据,如严格规范化的关系数据的局限性,九十年代以来半结 构化数据的研究一直是数据管理研究领域的一个热点课题【l l 。x m l 的出现并迅 速发展更加强了对半结构化数据研究的迫切性,x m l 的出现将数据集成的研究 推向了一个新的阶段。尽管大多数的商业数据还是存储在关系数据库中,人们 还是对把传统数据库的数据转换到x m l 中产生了很大的兴趣。研究者把自己对 半结构化数据的研究成果,特别是对数据建模和查询语言的研究进行必要的改 变和扩展以适应新兴的蓬勃发展的数据表示的要求。美国斯坦福大学开发的 t s i m m i s t 2 】是第一个提出在模式集成中使用半结构化数据模型的项目之一。 在国内,东南大学研究的v e r s a t i l e 3 1 和华中科技大学研究的p a n o r a n a t 2 6 】系统 都在虚拟数据集成方面取得了很大的成果。也都是把数据存储在各个数据源中, 通过统一定义的模式来进行查询。 和虚拟数据集成不同,数据仓库技术需要把历史数据集中在一个数据仓库 中,物理地存储在一起,适合于作历史记录的分析。数据仓库是“面向主题的、 集成的、稳定的和随时间变化的数据集合,主要用于决策制定 。数据仓库这些 3 基于x m l 的异构数据集成技术及应用 特点决定了它与传统的面向事务处理的数据库有着本质的不同。作为一个新兴 的研究领域,数据仓库发展得很快,许多大学和公司都在这个领域进行着广泛 深入的研究,其中以斯坦福大学、m ma l a m d e n 研究中心、微软和威斯康辛大 学的研究最具代表性。斯坦福大学进行了一个名为“w h l p s ( w a r e h o u s i n g i n f o r m a t i o np r o j e c ta ts t a n f o r d ) 的科研项目f 4 】,他们的研究目标是要生成一个高 效的、自动集成异构数据源的算法和工具,这个课题组提出了一个基本的数据 仓库模型和一些相应的算法。m ma l a m d e n 研究中心和微软进行了一个称为 “q u e s t 的项目,他们的研究重点是多维数据库的建模与组织。威斯康辛大学 和的研究则侧重于实现图、o l a p 数据组织、数据立方体计算等方面。 1 3 本文的工作和组织 在广泛参考国内外参考文献的基础上,本文研究基于x m l 的异构数据集成 及其应用。经过近一年的工作,在异构数据集成方面进行了深入研究,对青海 大学信息数字化平台中的数据集成方案提出了建议,完成了青海大学综合信息 服务平台数据集成系统的设计和部分编码。 本文的创新之处在于: ( 1 ) 在广泛研究现有数据集成技术的基础上给出了适合于青海大学现有信 息环境中基于x m l 的异构数据集成模式; ( 2 ) 给出了在该数据集成体系结构下的关系数据源、x m l 数据源以及c s v 文件数据源的x m ls c h e m a 创建和集成方法; ( 3 ) 给出了一个易于实现的x q u e r y 查询分解算法; ( 4 ) 对数据集成技术在高校信息化建设中的应用做了一定的探索。 本文的组织如下: 第一章绪论:介绍课题来源、背景及研究意义,介绍数据集成现阶段的研 究现状,介绍本文的工作和组织结构。 第二章数据集成和x m l :介绍数据集成的任务及需要解决的问题,介绍 x m l s c h e m a 公共数据模型及x m l 查询语言x q u e r y ,给出一种基于x m l 的异 4 基于x m l 的异构数据集成技术及应用 构数据集成体系结构。 第三章模式集成:本文的重点章节之一。介绍四级模式结构,介绍关系数 据源、x m l 数据源以及c s v 文件数据源的x m ls c h e m a 创建方法,介绍模式 异构分类及冲突解决方法,最后以实例形式给出关系数据源、x m l 数据源及c s v 文件数据源的模式集成方法。 第四章全局查询处理:本文的重点章节之一。给出x q u e r y 校验算法及 x q u e r y 分解算法,最后用实例说明了x q u e r y 分解算法的应用方法。 第五章局部查询处理:本文的重点章节之一。给出关系代理及x m l 代理 的查询处理框架,介绍处理框架中功能组件的实现。 第六章基于x m l 的数据集成在综合信息服务平台中的应用:简要介绍青 海大学综合信息服务平台项目,介绍数据集成系统的总体设计,介绍数据集成 平台与采集a g e n t 通信、采集a g e n t 实现等关键技术在系统中的实现,最后介绍 数据集成系统的初步实施效果。 第七章总结:本文的总结部分。总结本文所做的工作。 5 基于x m l 的异构数据集成技术及应用 第二章数据集成技术 2 1 数据集成的概念、目标和任务 数据集成用来对各种异构数据提供统一的表示、存储和管理,这些功能在 异构数据集成系统中实现。数据集成屏蔽了各种异构数据间的差异,通过异构 数据集成系统统一操作。因此集成后的异构数据对用户来说是统一的和无差异 的。 总的来说,数据集成的目标是为了实现各个异构数据源之间的数据共享, 有效地利用资源,提高整个异构数据集成系统的性能。而数据集成的理想目标 是在分布式环境下给用户提供一个单一系统的映象。这意味着各个数据源之间 的互相作用必须透明的进行。也就是说把所有互相作用的细节向用户隐藏起来, 使用户把各个子系统看成是一个完全无缝的数据集成系统。 数据集成的根本任务是提供用户对多种异构数据源的透明、一致和实时访 问。透明性是指屏蔽底层数据源的差异,让用户感觉数据似乎来自于一个大的 数据源;一致性是指消除数据源之间存在的结构异构和语义异构;实时性则指 访问到的是最新更新的数据,这点也是数据集成系统与数据仓库的根本区别。 在数据集成系统中,系统维护一个全局模式,该全局模式是定义在数据源 模式上的虚拟集成视图。用户提交一个全局模式上的查询时,系统根据全局模 式与数据源模式的关系将查询分解成数据源模式上的子查询,分解成的子查询 交由数据源包装器处理,最后系统组合来自多个包装器的中间结果,并将组合 后的结果以一定形式返回给用户。 人们通常从以下三个方面来评价数据集成系统的能力【5 】: ( 1 ) 表示用于提交全局查询的全局模式的能力: ( 2 ) 依据全局模式和数据源模式之间的关系重组查询的能力; ( 3 ) 利用局部数据源查询能力执行查询的能力。 2 2 数据集成需要解决的问题 数据集成主要需要解决以下几个问题【5 】: 6 基于x m l 的异构数据集成技术及应用 ( 1 ) 分布性。解决数据的分布性问题,实现数据的集中与汇总。 ( 2 ) 异构性。数据源异构体现为结构异构和语义异构。结构异构指数据源 表达数据的结构存在差异,目前广泛使用的结构有表、对象、文件等。语义异 构区分为两种类型:一种类型指相同数据在不同数据源中的表现形式存在差异 ( 属性名、数据格式和类型等) ;另一种类型指由于数据维护错误导致同一数据项 在不同数据源中有不同值。 ( 3 ) 自治性。在对原有应用系统的数据进行集成时,不能影响原有系统的 正常运行。 ( 4 ) 扩展性。集成系统具有很好的可扩展性和适应性,能够适应数据源的 数目、内容以及格式等的不断变化。 一 ( 5 ) 可靠性。提供数据的可靠传输,解决不同软硬件和网络环境中系统的 通信问题,实现“信息孤岛 之间的连通。 2 3x m l 技术及其相关标准 2 3 1x m l x m l 是由万维网( w 3 c ) 设计的一种可扩展的置标语言 6 1 , x m l 并非像 h t m l 那样提供一组事先已经定好了的标记,而是提供了一个标准,利用这个 标准,可以根据实际需要定义自己的新的置标语言。准确地说,x m l 是一种元 置标语言,它允许程序开发人员根据它所提供的规则,定义应用间传递数据的 结构。而且,这种结构的描述不是基于二进制的、只能由程序去判读的代码, 而是一种简单的、能够用通用编辑器读取的文本。利用这种机制,程序员可以 制定底层数据交换的规范,然后在此基础上开发整个系统的各个模块,而各模 块之间传输的数据将是规范的、符合既定规则的数据。另外,由于x m l 本身始 终以纯文本形式存在,这种特性赋予了x m l 跨平台的能力。因此,运用x m l 可以有效地解决不同应用系统或不同数据源之间数据共享和交换的问题。 x m l 具有如下功能特征r 7 】: 1 ) x m l 是可扩展的。通过定义数据元素和属性来定制x m l 文档以满足特 7 基于x m l 的异构数据集成技术及应用 定的需求。 2 ) x m l 和关系数据库关系密切。x m l 创建和管理层次数据结构,关系数 据库系统使用关系模式来关联数据实体表,以简化数据排序、查询、获取。虽 然这两种数据结构方法大不相同,但都创建了层次结构。 3 ) x m l 跟任何背景无关。创建和处理x m l 文档与具体的编程语言、操作 系统、计算平台等无关。任何计算平台使用文本编辑器便可以开发x m l 文档。 4 ) x m l 是自我描述的。一个x m l 文档应该是易于阅读的,这是由于定义 数据元素和层次关系的过程是在设计者自已对数据的理解基础上进行的。 5 ) x m l 利于标准化数据表示的开发。不同数据库厂商开发的使用不同操作 系统的数据库系统之间转换数据是非常复杂的过程。x m l 可以开发不同数据库 系统都能理解的独立的数据格式。 一个x m l 文档通常包括两个主要部分:文档类型定义( d t d ) 和x m l 文档的 元素。在d t d 中作者可以定义自已的元素集合,每个元素有特定的属性和内容 类型。每个应用领域可以定义d t d 表示该领域的数据和信息。通过相同的d t d , 不同来源的数据可以互相交换、理解、整合,甚至进一步处理,如重新组织、 查询等。 2 3 2 x p a t h x p a t h 是为x m l 定义的查询语言,它提供在文档中选择结点子集的简单语 法,识别) a l 文档的某个部分,它还提供了操纵字符串、数字和布尔值的函数。 x p a t h 将x m l 文档看成带有结点的树状结构,利用x p a t h ,可以在x m l 文档的树 状结构中找到任意的结点。x p a t h 利用位置路径来为x m l 文档的不同部分进行寻 址,位置路径类似于操作系统的目录,提供了指令来定位到文档中任何地方。 位置路径分为绝对位置和相对位置,绝对位置指向文档结构中某个特定的位置, 相对位置则指向文档中某个依赖起始位置而定的位置。x p a t h 的数据模型包含了 七种可能的结点类型:根、元素、属性、命名空间、处理指令、批注与文字。利 用x p a t h ,可以获取x m l 文档中任何位置、任何结点的名字或内容值。 基本的x p a t h 4 4 类似于文件系统寻址,用来精确定位x m l 文档树中的节点。 8 基于舭的异构数据集成技术及应用 路径由一个或多个用“”或“ 隔开的阶( s t e p ) 组成,通常以“ 或“ 开头。 以“刀开头的路径表示到指定元素的绝对路径,以“ 开头的路径表示x m l 文档中所有符合标准的节点。 阶分为两种,它们分别是过滤阶( f i l t e rs t e p ) 和轴阶( a x i ss t e p ) 。轴阶在路径 表达式中比较常见,下面我们仅介绍轴阶。 轴阶由( 前向阶) 逆向阶) + 谓词构成,阶的值由满足谓词的项组成。轴阶可以 看作从上下文节点开始,通过轴导航到可以到达的其它节点。轴阶由两部分组 成:一是轴,定义了阶的运动方向;二是节点测试( n o d et e s o ,基于节点种类、名 称或数据类型对节点进行选择。轴和节点测试之间用双冒号“:一隔开,前向轴 从上下文节点指向其子孙节点,逆向轴从上下文节点指向其祖先节点。通常情 况下,在表达轴阶时,轴可以省略。 节点测试是阶选择的节点必须满足的条件,该条件可以基于节点种类 ( x q u e r y 数据模型中定义的七种节点) 、节点名称或节点数据类型。 谓词由包含在方括弧中的谓词表达式构成,用于过滤序列中的元组。 2 3 3x m l s c h e m a 在数据集成系统中,一个关键问题是提供公共数据模型以屏蔽不同数据源 在结构上存在的差异。公共数据模型必须能够方便的描述多种不同的数据源结 构,好的公共数据模型是实现数据源异构性同一化、分散性集中化的基础。 x m l s c h e m a 9 】是2 0 0 1 年5 月正式发布的w 3 c ( w o d dw i d ew e bc o n s o r t i u m , w w w 联合会) 的推荐标准,经过数年的大规模讨论和开发如今终于奠定下来, 成为全球公认的x m l 环境下首选的数据建模工具。 由于x m l 是s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ,标准通用标记 语言) 的一个子集,它继承了s g m l 用于建模的d t d ( d o c u m 饥tt y p ed e f i n i t i o n , 文档类型定义) 。使用d t d 的好处是可以利用大量现有的d t d 工具,使得开发 应用代价维持在一个相对较低的水平。然而,d t d 有不少缺吲耜】: ( 1 ) d t d 是基于正则表达式的,描述能力有限; ( 2 ) d t d 没有数据类型的支持,在大多数应用环境下能力不足; 9 基于煳l 的异构数据集成技术及应用 ( 3 ) d t d 约束定义能力不足,无法对x m l 实例文档做更细致的语义限制; ( 4 ) d t d 不够结构化,重用的代价相对较高; ( 5 ) d t d 并非使用x m l 作为描述手段,而d t d 的构建和访问并没有标 准的编程接口,无法使用标准的编程方式进行d t d 维护。 x m ls c h e m a 正是针对这些d t d 的缺点而设计的,它完全使用儿作为 描述手段,具有很强的描述能力、扩展能力和处理维护能力。因此,在基于x m l 的数据集成系统中,我们采用x m ls c h e m a 公共数据模型。 2 3 4x m l 查询语言x q u e r y 采用x m ls c h e m a 公共数据模型可以较好的将多种异构数据源中的数据集 成表示为x m l 形式,因此需要一种适合x m l 数据的查询语言。这种查询语言 应具有以下一些基本特征【叫:能从一个或多个舭文档中抽取特定数据,并对 查询结果进行排序、过滤等整合;能在不同逻辑结构的x m l 数据之间进行转换; 查询的输入和输出皆为x m l 形式,具有封闭性;是说明性的查询语言;能实现 多种复杂的数据操作;支持多种数据类型。 w 3 c 提出的x q u c r y l 4 7 1 就具备上述所有特征。x q u e r y 目前版本为 x q u e r y l 0 ,最近一次修订的时间为2 0 0 3 年1 1 月1 2 日。x q u e r y 从x m l 查询 语言q u i l t 发展而来,结合了其它查询语言的特征,包括x p a t h l 0 、x q l 、 x m l - q l 、s q l 以及o q l 等。x q u 哪, 的基本构造模块是表达式,包括路径表 达式、序列表达式、算术表达式、比较表达式、逻辑表达式、元素构造器和f l w o r 表达式等。 f l w o r ( f o r - l e t - w h e r e o r d e rb y - r e t u r n ,发音为“f l o w e r ) 表达式是x q u e r y 语言中非常重要的一部分,x q u e r y 查询语言中绝大部分都是f l w o r 结构的。 f l w o r 表达式支持变量的迭代和绑定,通常用于计算两个或多个x m l 文档之 间的连接和数据重构。f l w o r 表达式由五个子旬组成:f o r 子句和l e t 子句产生 绑定变量的元组序列,称为“元组流 ;w h e r e 子句定义选择和连接谓词对元组 流进行过滤:o r d e rb y 子句按条件对元组流排序;r e t u i i l 子句构造f l w o r 表达 1 0 基于) 眦的异构数据集成技术及应用 式的x m l 输出。 x q u e r y 数据模型把x m l 文档定义为包含不同节点( 文档、元素、属性、文 本、处理指令、命名空间和注释) 的有序节点树。在树里,文档节点表示为根节 点,元素节点表示为带标签的节点,文本节点表示为叶子节点,属性表示为元 素节点旁边的注释。特殊的i d r e f 引用类型的属性表示为从引用节点到被引用 节点的虚线边。图2 1 给出一个样例x m l 的x q u e r y 数据模型图。 陈涛男 图2 - 1 样例x m l 的x q u e r y 数据模型 x q u e r y 执行从变量绑定开始:在遍历数据模型树的过程中对f o r 和l e t 子句 中的路径表达式求值。匹配路径表达式的节点被绑定到f o r 或l c t 子句中的变量。 如果一个路径表达式存在多重匹配,f o r 子句进行迭代并将其变量绑定到每个匹 配,同时为变量的每次赋值执行w h e r e 、o r d e rb y 和r e t u r n 子旬。 2 4 消息中间件 起步于二十世纪9 0 年代初初期的中间件,是一类软件的总称,实现网络互 连、应用之间的互操作,与操作系统和数据库并称为三大基础软件。它位于操 作系统和应用系统之间,是一种独立的系统软件或服务程序,应用软件借助该 软件在不同平台、不同的应用环境之间实现资源共享。 中间件是位于平台( 硬件和操作系统) 和应用之间的通用服务。这些服务 具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符 合接口和协议规范的多种实现。 1 1 基于x m l 的异构数据集成技术及应用 中间件包括的范围十分广泛,针对不同的应用需求涌现出多种各具特色的 中间件产品。基于目的和实现机制的不同,平台可以分为以下几类:消息中间 件、分布式面向对象中间件和事务处理中间件等。 消息中间件【2 3 1 ( m e s s a g e o r i e n t e dm i d d l e w a r e ) 指的是利用高效可靠的消息 传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。 通过传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的 集成。通过提供消息传递和消息排队模型,它可以在分布环境下扩展进程间的 通信,并支持多通信协议、语言、应用程序、硬件和软件平台。 消息中间件适用于任何需要进行网络通信的系统,负责建立网络通信的通 道,进行数据或文件发送。消息中间件可以跨平台操作,为不同操作系统上的 应用软件集成提供方便,从而满足企业内部对系统伸缩性和可扩展性的要求。 总的来说,消息中间件通常是一个独立运行的通信环境,有统一的编程调 用接口,可以跨平台、跨协议。不同结点之间的软件可以通过配置相互连通, 搭起统一的通信平台,从而产生更强大的功能,消息中间件往往安全可靠、配 置灵活,其地位在操作系统之上,在应用程序之下。 2 5 基于x m l 的异构数据集成模型 在x m l 出现之前的数据集成系统大多使用关系模型或对象模型作为公共数 据模型。x m l 的可扩展性、结构性、平台无关性等特点使得x m l 出现之后迅 速成为i n t e m e t 上数据交换的标准,同时数据集成被认为是i n t e m e t h 上应用系统 之间数据交换的主要手段。在这种背景下,越来越多的研究人员和研究机构加 入了基于的数据集成研究的行列。 在对大量基于x m l 的异构数据集成模型的研究后,我们给出了一个适合青 海大学综合信息服务平台的数据集成模型,该模型的体系结构如图2 2 所示。 1 2 基于x m l 的异构数据集成技术及应用 图2 - 2 基于x m l 的异构数据集成模型 在该模型的体系结构中,采用g a v 方法定义全局模式与数据源模式之间的 映射,全局x m ls c h e m a 由集成各数据源的输出x m ls c h e m a 后得到,用户可 通过用户接口定义某种用户模式上的x q u e r y 查询。x q u e r y 查询处理分为七个 步骤: ( 1 ) x q u e r y 校验器检查x q u e r y 的格式正确性: ( 2 ) x q u e r y 标准化器对x q u e r y 进行标准化: ( 3 ) x q u e r y 分解器将x q u e r y 分解成数据源输出x m ls c h e m a 上1 拘x q u e r y 1 3 基于x m l 的异构数据集成技术及应用 查询,并将分解后的x q u e r y 查询封装成x m l 消息发送到消息中间件; ( 4 ) 局部代理从消息中间件接收x q u a v 查询请求: ( 5 ) 局部代理将x q u e r y 翻译成具体数据源的本地查询; ( 6 ) 局部代理将提取的数据格式化成x m l ,并封装成x m l 消息发送到消 息中间件; ( 7 ) x m l 结果组合器组合来自局部代理的x m l 中间结果,从而获得最终 的x m l 查询结果。 下面,我们逐一介绍体系结构中的各个层次。 2 5 1 用户接口层 与传统的b s ( b r o w s e r s e r v e r ,浏览器服务器) 、c s ( c l i e n t s e r v e r ,客户柳 服务器) 结构类似,该层主要完成界面展示任务。该层支持多种交互式应用模式, 如基于g u i ( g r a p h i c su s o ri n t e r f a c e ,图形用户接口) 的用户接口或基于w e b 的应 用等。用户通过此层提交全局模式上的查询,系统一般提供两种查询定义方式: 数据管理专家可以手工书写x q u e r y 查询;普通用户则可以通过界面向导完成查 询定义。用户提交查询后,系统对查询进行相应处理,查询结果通过此接口呈 现给用户。 2 5 2 全局代理层 该层主要由模式仓库和全局代理两大部分组成。其中,模式仓库存储几种 不同类型的信息:一是从各数据源输出的x m ls c h e m a :二是各输出x m ls c h e m a 集成后的全局x m ls c h e m a ;三是全局x m ls c h e m a 与输出x m ls c h e m a 之间 的映射;四是输出x m ls c h e m a 之间的连接条件。全局代理包括以下四个部分: 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 m l 消息分别发送到消息 中间件中的当前数据源消息接收队列中;x m l 结果组合器,用来组合来自局部 1 4 基于x m l 的异构数据集成技术及应用 代理的x m l 中间结果,从而获得全局查询的最终结果。 2 5 3 消息中间件层 m o m t 2 3 ( m e s s a g e o r i e n t e dm i d d l e w a r e ,消息中间件) 为全局代理和局部代理 之间的通信提供一种环境。通过使用可靠的消息队列,提供支持消息传递所需 的目录,安全和管理服务,确保全局代理和局部代理之间消息传送的安全。m o m 支持同步传输和异步传输两种模式。在同步传输模式下,消息传送方在继续执 行之前,需要得到消息接收方的确认;而在异步传输模式下,传输方不需要得 到确认可继续执行。 m o m 支持和提供大量的消息传输模型。最常见的传输模型是点对点消息传 输( p o i n t t o p o i n t ) 和发布订阅消息传输( p u b l i s h s u b s c r i b e ) 。在点对点模型中,消 息制造者把每条消息以同步或异步方式传送到一个特殊的队列中,这个队列是 由客户为保留它的消息而建立的,一个接收者一次可以拥有一个或多个队列; 在发布订阅模型中,消息的目的地称为主题,想要消息的客户订阅主题,当一 个消息发布到主题时,它就可以转发到所有的订阅者。 ? 。 2 5 4 局部代理和数据源层 数据集成环境中的数据源是预先存在的、异构的、自治的数据源。设计数 据源的最初目的是用来存储某种格式的数据,而不是支持数据集成。因此,不 同数据源的查询能力并不相同:某些数据源支持完全查询;某些数据源仅支持 有限访问,如绑定模式查询;某些数据源甚至不支持查询,如x m l 文档、工作 表等。除查询能力之外,不同数据源提供元数据的能力也不同:关系数据库提 供元数据的能力较强:h t m l 页面和文件系统提供元数据的能力较弱。 鉴于数据源在提供元数据、查询能力等信息方面的不确定性和不一致性, 在数据集成系统中,当把某种数据源加入到集成平台中时,需要为不同的数据 源定制不同的局部代理。局部代理是局部数据源的访问接口,它负责维护局部 数据源的输出x m ls c h e m a ,同时还负责将全局代理传递过来的x q u c r y 查询请 求翻译成具体数据源的本地查询,并将本地查询的查询结果封装成x m l 格式后 1 5 基于煳l 的异构数据集成技术及应用 发送到消息中间件中的全局代理消息接收队列中。 1 6 基于x m l 的异构数据集成技术及应用 第三章模式集成 数据模式( s c h e m a ) 主要指的是异构数据源中数据的类型及各数据之间的 相互关系。数据模式在异构数据集成中非常重要,它决定数据的查询及处理方 式。模式集成的主要任务是依据各异构数据源的局部模式,得到全局模式。在 集成过程中需要解决各局部模式之间的异构性以及建立不同模式对象之间的映 射等问题。 。 3 1 四级模式结构 该异构数据集成模型将模式集成过程分为四级,如图3 1 所示。四级模式结 构从低到高分别为局部模式、输出模式、全局模式和用户模式。从低级模式到 高级模式的转换过程,就是建立不同模式对象之间的映射关系的过程【3 1 。 ( 1 ) 局部模式:局部模式指的是各异构数据源中数据的模型,不同的数据 用户模式 t 全局模式 下 l 输出模式输出模式输出模式 :王? i 局部模式局部模式局部模式 图3 l 四级模式结构 源就可能有不同的数据模型,如关系数据库的关系模型、x m l 文件中的层次模 型等。 。 ( 2 ) 输出模式:该模式是局部模式的公共表示,即将各异构数据源中的局 部数据模型翻译成公共数据模型州ls c h e m a 。 ( 3 ) 全局模式:全局模式是各输出模式集成后得到的一个统一的模式,即 由各输出模式得到的一个全局x m ls c h e m a 。 1 7 基于x m l 的异构数据集成技术及应用 ( 4 ) 用户模式:用户模式是为不同的用户或应用而定制的各类模式,该模 式是在全局模式的基础上施加各种不同的约束而形成的特殊模式。 3 2 输出模式的建立 输出模式的建立过程就是将异构数据源的局部模式翻译成输出模式的过 程。该过程包括二个步骤:从数据源中提取元数据;将元数据转换成x m ls c h e m a 并保存到模式仓库中,这一过程在集成模型中是局部代理来完成的。 下面,我们就分别以关系数据库、x m l 及c s v 文件为例来说明输出模式的 建立过程。 3 2 1关系数据库上x m ls c h e m a 的建立 在关系数据库中,代表关系模型的元数据是存储在r d b m s 中,我们可以 从r d b m s 中提取元数据,然后根据元数据就可以很方便地建立x m ls c h e m a , x m ls c h e m a 创建策略如下【冽: ( 1 ) 每个数据库对应一个x m ls c h e m a 文件,文件名为预先定义的数据源 名称; ( 2 ) x m ls c h e m a 的根元素用曲表示: ( 3 ) 表名映射为x m ls c h e m a 的次根元素。与表可以有零个或多个元组相 对应,该元素在x m ls c h e m a 中可以零次或多次出现; ( 4 ) 表中字段映射为表名元素的子元素序列。允许为空的字段在x m l s c h e m a 中可以零次或一次出现;字段类型用相应的x m ls c h e m a 基本数据类型 来表示,如字符类型用x s :s t r i n g ,数值类型用x s :d c c i m a l ,日期类型用x s :d a t c 来 表示; ( 5 ) 表中复杂的字段用嵌套子元素的复杂类型元素来表示; ( 6 ) 表中的主键或外键用x m ls c h e m a 元素的k e y 或k e y r e f 属性来映射。 例如,在图3 - 2 所给出的样例关系数据库上通过上述策略建立的x m l s c h e m a 如图3 3 所示。 s t u d c n t ( s n ov a r c h a r ( 1 0 ) n o tn u l l , s n a m ev a r c h a r ( 8 ) n o tn u l l , s e xc

温馨提示

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

评论

0/150

提交评论