已阅读5页,还剩51页未读, 继续免费阅读
(计算机应用技术专业论文)数据集成平台中多数据源包装器的实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 随着当今社会信息化程度的不断提高,企业应用往往需要从大量异构、分布、 自治的多数据源中提取数据,如何屏蔽底层异构数据源,将异构数据映射为统一 的数据模型,以及如何快捷有效地为上层应用提供对异构数据的访问,成为现阶 段企业数据集成领域研究的重要课题。 本文以中间件模型的设计思想为基础,研究数据集成平台中底层多数据源映 射的相关技术。 基于e c l i p s e 平台,以开发多数据源集成框架为目标,设计实现了一个多数 据源包装器。该包装器由数据源配置模块和查询模块构成,分别用来配置和查询 底层多数据源。其中数据源配置模块作为e c l i p s e 插件项目开发,以向导的形式 供用户配置底层数据源,获得数据源的元数据,并将元数据提交给数据服务开发 平台,供数据服务开发工具开发数据服务,同时自动生成数据源配置文件;而查 询模块提供统一的接口供数据服务管理组件调用,功能包括解析数据源配置文件 和查询脚本文件,得到查询信息和数据源配置信息,开发并利用x q u e r y 解析器 将x q u e r y 格式的查询语句转化为等价的s q l 查询语句,将查询请求映射到具体 的底层数据源进行查询,以及将查询结果转化为x m l 格式。对包装器的扩展性 做出了讨论,结合具体的实例说明了包装器的功能。 综上所述,本文从数据集成框架的设计,以及底层多数据源包装器的设计展 开了一系列工作,最终实现了一个高效的、扩展性强的、涵盖包括数据库、x m l 文件和文本文件等多种异构数据源的多数据源包装器,为异构系统的集成提供了 有力工具,并对集成框架的进一步改进做出了探讨。 关键词:数据集成多数据源包装器x q u e r y a b s t r a c t w i t ht h ed e v e l o p m e n to fi n f o r m a t i z a t i o ni nm o d e ms o c i e t y , e n t e r p r i s ea c t i v i t i e s u s u a l l yn e e dt o e x t r a c td a t af r o mm u l t i t u d e so fh e t e r o g e n e o u s ,d i s t r i b u t e da n d a u t o n o m o u sd a t as o u r c e s i th a sb e c o m ea ni m p o r t a n tr e s e a r c hi s s u ei nm o d e m e n t e r p r i s ed a t ai n t e g r a t i o nf i e l do fh o wt om a s kt h eh e t e r o g e n e o u sd a t a s o u r c e s ,m a p t h eh e t e r o g e n e o u sd a t a s o u r c e si n t oau n i f o r md a t am o d e l ,a n dp r o v i d eh i g h - l e v e l a p p l i c a t i o nw i t ha c c e s st od a t ae f f i c i e n t l ya n de f f e c t i v e l y b a s e do nt h ei d e ao fm i d d l e w a r em o d e l ,t h i sp a p e ri n c l u d e st h er e s e a r c ho f r e l e v a n tt e c h n o l o g yo nm u l t i d a t a s o u c e sm a p p i n gi nd a t ai n t e g r a t i o np l a t f o r m b a s e do ne c l i p s ep l a t f o r m , a i m i n gt od e v e l o pm u l t i d a t a s o u r c e si n t e g r a t i o n f r a m e w o r k ,t h i sp a p e rh a sd e s i g n e da n dr e a l i z e dam u l t i d a t a s o u r c e sw r a p p e r t h e w r a p p e ri sc o m p o s e do fad a t a s o u r c ec o n f i g u r a t i o nm o d u l ea n daq u e r ym o d u l e , w h i c ha r eu s e df o rc o n f i g u r i n ga n dq u e r y i n gm u l t i d a t a s o u r c e s t h ed a t a s o u r c e c o n f i g u r a t i o nm o d u l ei sd e v e l o p e d a sa ne c l i p s ep l u g i n , w h i c hi su s e df o r c o n f i g u r i n gd a t a s o u r c e sb yu s e r si nt h ef o r mo faw i z a r d ,g e t t i n gt h em e t a d a t ao f d a t a s o u r c e s ,s u b m i t t i n gt h em e t a d a t at ot h ed a t as e r v i c ed e v e l o p m e n tp l a t f o r m , f o r w h i c ht od e v e l o pd a t as e r v i c e s ,a n da tt h es a m et i m eg e n e r a t i n gad a t a s o u r c e c o n f i g u r a t i o nf i l ea u t o m a t i c a l l y 1 1 1 eq u e r ym o d u l ep r o v i d e sac o m m o ni n t e r f a c et o d a t as e r v i c em a n a g e m e n tm o d u l e i ti sa b l et oa n a l y z et h ed a t a s o u r c ec o n f i g u r a t i o n f i l ea n dq u e r ys c r i p tf i l e ,g e tt h eq u e r ya n dd a t a s o u r c e si n f o r m a t i o n , t r a n s f o r m x q u e r yt os q le q u i v a l e n t l yb yax q u e r ya n a l y z e r , m a pt h eq u e r yr e q u e s tt ot h e d a t a s o u r c e sa n dt r a n s f o r mt h e q u e r yr e s u l t t ot h ex m lf o r m a t f i n a l l y , t h e e x t e n s i b i l i t yo ft h ew r a p p e ri sd i s c u s s e da n dt h ef u n c t i o no f t h ew r a p p e ri l l u s t r a t e db y as p e c i f i ce x a m p l e t os u mu p ,t h i sp a p e rh a sc o n d u c t das e r i e so fw o r kf r o mt h ed e s i g n i n go fd a t a i n t e g r a t i o nf r a m e w o r ka n dm u l t i d a t a s o u r c e sw r a p p e r a ne f f i c i e n t ,s t r o n g e x p a n s i b l e w r a p p e rw h i c hc o v e r sm u l t id a t a s o u r c e si n c l u d i n gd a t a b a s e s ,x m lf i l e sa n dt e x th a s b e e nr e a l i s e d i tp r o v i d e sag o o dt o o lf o rh e t e r o g e n e o u ss y s t e mi n t e g r a t i o n f i n a l l y t h ep a p e rd i s c u s s e st h ef u t u r ew o r ko fi m p r o v i n gt h ei n t e g r a t i o nf r a m e w o r k k e yw o r d s :d a t a i n t e g r a t i o n , m u l t i d a t a s o u r c e s ,w r a p p e r , x q u e r y l v 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得天津大学或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:栖勇生 签字日期:如胡年月乡e t 学位论文版权使用授权书 本学位论文作者完全了解天津大学有关保留、使用学位论文的规定。 特授权天津大学可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:7 陷勇生 导师签名: y 弘爹 签字日期:p 鼋年月乡日签字日期:文少年夕月i - - 日 第一章绪论 1 1 研究背景 第一章绪论 在人类步入信息化社会的当今时代,随着企业、学校、政府部门等组织的信 息化程度的不断提高,组织间和组织内部业务操作的复杂程度不断增加,对业务 数据的访问提出了更高要求。业务数据是企业中各种业务应用的基础,如何有效 地存储数据,快速及时地获取数据,为企业应用提供便捷的数据访问,成为企业 应用开发集成的关键问题。 由于历史的原因,在信息化过程中,组织根据各自不同的职能、业务需求等 在不同阶段独立构建了自己的应用系统,这些应用系统往往采用了异构的硬件和 软件平台、数据存储管理和访问技术,甚至在一个组织内部所采用的信息化环境 也可能不会固守一个平台,而是由不同平台组成。这些应用建立在相互分离的数 据源基础上,面对组织和部门间业务的复杂化和协同性工作的增加,这些系统间 的数据流动明显缺乏互操作性,无法有效地实现信息共享和信息交互,形成了所 谓的“信息孤岛”现象【1 。而且随着组织信息化过程的推进,这种现象日益严重。 与此同时,随着互联网技术的不断发展,企业间的业务联系日益紧密,通过 互联网进行业务数据交换和访问的需求急剧增加。在此背景下,以x m l 为代表 的新兴数据交换格式被业界广泛接受,而w e bs e r v i c e 作为互联网上标准的互操 作性接口也得到普遍支持,进而产生了大量通过w e bs e r v i c e 发布的以x m l 编 码的业务数据,为企业的数据建模、访问和操纵问题提供了新的前景。 现如今在企业中普遍存在多种异构的数据源类型:一类是传统的关系型数据 库、文件系统等,另一类是新型的x m l 【2 】、h t m l 3 等半结构化数据,以及声音、 图片、视频等非结构的多媒体数据。另外,诸如企业遗留系统、应用程序( 如 c r m 、e r p 等) 、w e b 服务等也可以看作是数据源的形式。如何屏蔽底层异构数 据源,将异构数据映射为统一的数据模型,以及如何快捷有效地为企业上层应用 提供对异构数据的访问,成为追切需要解决的闯题。 1 2 数据集成概述 数据集成是把不同来源和不同格式的数据在逻辑上或物理上有机地集中,从 第一章绪论 而为企业提供全面的数据共享【4 1 。对数据集成领域研究的关注,一方面是由于互 联网和w e b 等分布式计算基础架构的飞速发展使得对大量独立开发和管理的数 据源的访问成为可能,另一方面也是因为随着组织信息化程度的提高,业务应用 趋向复杂化,对信息、知识等数据的创建、分析、重用和共享的要求越来越高。 数据集成实质上是为不同的信息系统和业务应用提供数据的互操作支持 ( i n t e r o p e r a b i l i t y ) ,从而实现数据在这些系统间的重用和共享。 数据集成的核心任务是将相互关联的异构数据源集成到一起使用户能够以 透明的方式访问 5 】。集成是指维护数据源整体上的数据一致性,为用户提供统一 的数据源访问接口,提高数据访问的共享利用的效率;透明的访问方式是指用户 无需关心所需数据所在数据源的位置以及如何访问数据源,只需集中关注对数据 的访问和操作【6 】。数据集成为用户提供了一个数据的统一视图,对于诸如企业门 户、报表生成等企业应用提供便利的数据访问。 在当今的企业数据集成领域,已经有了很多成熟的框架。目前通常采用联邦 式、基于中间件模型和数据仓库等方法来构造集成的系统,这些技术在不同的着 重点和应用上解决数据共享和为企业提供决策支持。 联邦数据库系统( f d b s ) 【7 】由半自治数据库系统构成,相互之间分享数据, 联盟各数据源之间相互提供访问接口,同时联盟数据库系统可以是集中数据 库系统或分布式数据库系统及其他联邦式系统。 中间件模式【8 】通过统一的全局数据模型来访问异构的数据库、遗留系统、w e b 资源等。中间件位于异构数据源系统( 数据层) 和应用程序( 应用层) 之 间,向下协调各数据源系统,向上为访问集成数据的应用提供统一数据模式 和数据访问的通用接口。各数据源的应用仍然完成它们的任务,中间件系统 则主要集中为异构数据源提供一个高层次检索服务。 数据仓库【9 】是在企业管理和决策中面向主题的、集成的、与时间相关的和不 可修改的数据集合。其中,数据被归类为广义的、功能上独立的、没有重叠 的主题。这几种方法在一定程度上解决了应用之间的数据共享和互通的问 题,但也存在以下的异同。数据仓库技术则在另外一个层面上表达数据之间 的共享,它主要是为了针对企业某个应用领域提出的一种数据集成方法。 中间件模式是目前比较流行的数据集成方法,它通过在中间层提供一个统一 的数据逻辑视图来隐藏底层的数据细节,使得用户可以把集成数据源看为一个统 一的整体。本文的数据集成平台就是基于中间件模式实现的,利用x m l 数据的 灵活性,对所有异构数据源提供一个统一的虚拟x m l 视图川。 2 第一章绪论 1 3 异构数据源综述 如上所述,现如今在企业应用中存在多种异构的数据源类型,包括传统的关 系型数据库、文件系统,新型的x m l 、h t m l 等半结构化数据,声音、图片、 视频等非结构的多媒体数据,以及企业遗留系统、应用程序、w e b 服务等。 一般来说,数据集成所面对的数据源有以下特征【l l j : 自治性( a u t o n o m y ) :数据源由于处在不同组织实体的管理和维护下,往往 具有很强的自治性,给数据集成系统的健壮性和快速适应变化的能力提出了 挑战。数据源所体现的自治性包括:设计自治性( d e s i g na u t o n o m y ) 、通讯 自治性( c o m m u n i c a t i o na u t o n o m y ) 、联系自治性( a s s o c i a t i o na u t o n o m y ) i l2 | 。 分布性( d i s t r i b u t i o n ) :数据源的分布范围随着信息技术的发展而不断扩大。 数据源间的访问经历了从点对点或局域网内部互联,到企业或组织间的互 联,再到全球化信息访问的发展过程。对分布性数据源【l3 】的访问给数据集成 领域的研究提出了许多问题,例如对大量数据源特别是包含虚拟数据的数据 源进行访问、与采用多种不同通讯方式或带宽的数据源通讯、对不同性能的 数据源访问的优化等。 异构性( h e t e r o g e n e i t y ) :数据源的异构性可分为三个层次【l 4 1 。 ( 1 ) 平台的异构性数据源的平台异构性是指数据源所在软硬件平台的差异 性,这是由于信息系统运行在异构硬件平台( 指令集、编码等) 、软件系统 ( 操作系统、文件系统、命名、事务控制等) 上,采用的不同的通信协议机 制。数据集成领域的研究从一开始就关注数据源平台异构性问题的解决。 ( 2 ) 系统的异构性随着以d b m s 为代表的数据管理技术的发展,不同信息 系统之间的异构性问题成为研究的关注点。系统异构性是指不同信息系统 ( 例如数据库管理系统d b m s 、数字多媒体库管理系统d m r m s ) 之间数据 模型、系统能力、并发控制和错误恢复等方面的差别。 ( 3 ) 数据的异构性随着信息技术的发展,数据本身的异构性( d a t ai n t r i n s i c h e t e r o g e n e i t y ) 逐步成为数据集成研究的重点。数据本身的异构性包括数据在语 法( s y n t a x ) 、模式( s c h e m a t i c ) 、语义( s e m a n t i c ) 方面的异构性。语法异构性 是指数据格式( f o r m a t ) 即数据的表现形式的差异。例如以网络数据交换格式 x m l 为代表的新兴数据类型( 半结构化、非结构化数据等) 和传统关系型数据 之间存在数据格式上的差别。模式异构性是指数据在描述事物时采用不同的数据 结构( s t r u c t u r e ) 和数据类型( t y p e ) ,因此在模式定义上产生差异。语义异构性 则比上面两种复杂,是指数据所传达的意义以及使用数据的环境不一致。解决语 义异构往往需要对数据的内容作分析处理。随着人们对数据所表示的知识、信息 第一章绪论 本身的关注,数据的语义异构性问题也日益突出。 作为数据存储的主要载体,如今数据库的作用越来越重要。数据库中的数据 大体可分为两种:关系数据和x m l 数据。关系数据是最常见并且最重要的数据 格式,用户也都比较熟悉,这里不详细阐述。而x m l 数据是最近几年开始流行, 并日益被人们开始重视的一种数据格式。伴随着w 3 c 组织发布一系列标准( 如 x m l 、x m ls c h 锄a 【1 5 11 1 6 、x q u e r y t l 7 】【1 8 】) ,以及x m l 数据重要性的逐渐提高, 大的传统型企业级数据库如d b 2 ,o r a c l e 和s q ls e r v e r 等也已经支持x m l 格式 数据的存储和查询,并且其性能也在逐渐优化和提高。本文的数据集成平台就是 以x m l 为数据交换格式的,下面简要介绍d b 2v 8 ,o r a c l e1 0 9 和s q ls e r v e r2 0 0 5 对x m l 的支持。 d b 2v 8 d b 2 中的组件x m le x t e n d e r c2 9 c 2 0 支持存储和提取x m l 数据,将关系数据转 化为x m l 数据,还能将x m l 数据插入到关系表中。x m le x t e n d e r 提供了新的 数据类型,函数和存储过程对x m l 数据进行管理。 x m l 数据可存储在数据库表的一个列中,此列的类型定义为 d b 2 x m l x m l v a r c h a r ,它是存储x m l 的专用类型。 d b 2 提供了相应的函数:d b 2 x m l c o n t e n t ( ) 将x m l 数据从表中提取出来。此 外,d b 2 还支持从关系数据到x m l 数据的转化,可以将关系数据( 如一个表) 转化成x m l 格式数据。d b 2x m le x t e n d e r 提供了几种方法将关系数据转成x m l 数据,如s q l x m l 语句等。d b 2 x m l d x x g e n x m l c l o b 存储过程可以将整个表转 化为x m l 文件。使用此存储过程需要一个d a d ( d a t aa c c e s sd e f i n i t i o n ) 文件,这种 文件定义了表中关系数据映射到x m l 格式的方法。d a d 文件实际上就是一个 x m l 格式的文件,它定义了表中的哪些列定义为元素,哪些列定义为属性,以 及它们之间的组合方式。 o r a c l e1 0 9 x m l t y p e l 2 1 】瞄】是在o r a c l e 数据库中存储x m l 数据的本机的数据类型,它 允许在s q l 中访问数据库中的x m l 文档,同时允许x m l 开发人员在文档 中使用x m l 标准。该数据类型通知数据库该内容是x m l 格式的,并允许我 们在x m l 文档上执行查询。x m l t y p e 可用于创建表、列或视图。它还可用作 参数,返回值或p l s q l 过程中的变量的数据类型。x m l t y p e 提供一组内置的 成员函数,该函数在x m l 内容上进行运算,使开发者能从各种资源中创建 x m l t y p e 实例,解析x m l 内容,针对x m ls c h e m a 使x m l 生效,应用x s l 转换等。存储在x m l t y p e 中的内容必须是格式规范的x m l ,否则出错。 o r a c l ex m l t y p e 提供了两种方式来存储数据:结构化存储和非结构化存储。 4 第一章绪论 x m l 可以使用x m l t y p ec l o b 以非结构化方式存储在o r a c l e 中。从某种 意义上说,使用x m l t y p ec l o b 是存储x m l 文件的最简单方式,也是最好的 保护原始x m l 文件的方式。它将x m l 文档只看作一个文档,在存储中,文件 只作为完整的文本文档保留( 带有空白,注释和缩进等) ,在数据库中只将其简 单保存为单独的,基于字符的实体。因此可保存任意大小和多级的文件,只要它 是结构完整的x m l 。如果想让存储数据匹配文档的准确物理表示,或者数据不 经常更新,整个文档( 而非部分文档) 有大量的插入和读取,可以选择此种存储 方式。默认情况下,除非开发者使用已注册的x m ls c h e m a 模式u r l 与x m l t y p e 列或x m l t y p e 对象表进行关联,否则x m l t y p e 存储在c l o b 中。 在x m l t y p e 上加速x p a t h 查询和进行细粒度的更新,开发者可以创建基于 x m l s c h e m a 的x m l t y p e 。x m ls c h e m a 定义了x m l 文件的“分割”内容,以及 将其存储为一组s q l 对象的方法。在x m l 基于模式的x m l t y p e 中,x m l 文 件切碎,并且存储为一组s q l 对象。x m l 内容被验证,并且存储在一个预先解 析的格式中。在对象相关的表中存储x m l ,该表保护带有高性能的s q l 查询的 x m l 文件。该存储在数据库中优化为较精细的数据查询和恢复。 结构化存储比非结构化存储具有一些性能优势,选择它可通过表和索引设计 提供更多的查询和更新优化。结构化存储上的x m l 操作有助于减少内存和存储, 因为没有存储x m l 标记,而且存在更细粒度的数据检索和使用。基于b 树和 基于函数的索引使用得到了增强,而且使用x p a t h 重写可在文档的部分上执行 适当更新,所有这些都对性能有所帮助。 使用结构化存储也有一些缺点:插入和检索整个文档需要更多开销。此外, 灵活性有限,因为只能存储匹配x m ls c h e m a 的文档,造成模式发展的开销非常 高。文档不存储为逐字节原始表示,而且不保留文档中的数据顺序。 实现基于x m ls c h e m a 的结构化存储,需要以下几个步骤: 1 ) 创建一个模式定义,建立一个宰x s d 文件。 2 ) 注册该模式。可以使用存储过程d b m sx m l s c h e m a r e g i s t e r s c h e m a 在数 据库中注册上面的模式,也可使用o r a c l ee n t e r p r i s em a n a g e r 企业管理器,利用 图形化方法来建立并注册模式。注意:每个x m ls c h e m a 在唯一的u r l 下注册。 3 ) 建立基于此s c h e m a 模式的x m l t y p e 列。 4 ) 插入数据。 特别注意:插入的x m l 文件必须符合建立x m l t y p e 列时所相关联的s c h e m a 模式定义。 s q ls e r v e r2 0 0 5 x m l 数据类型【2 3 】可以用作表中的列,存储过程中的变量和参数。它可接受 第一章绪论 多达2 g 的数据,在磁盘上的存储结构类似于v a r b i n a r y ( m a x ) 数据类型。它可用 于保存有类型和无类型的x m l 数据。如果x m l 列中保存的数据没有x s d 模式, 则被认为是无类型的,反之,则是有类型的,即一个x m l 模式集合与x m l 数 据类型相关联。 使用x m l 模式有如下优点:第一,x m l 验证是自动的。无论是给一个变 量分配x m l 值,还是向x m l 列中插入x m l 值,s q ls e r v e r 都会自动地用模式 来验证x m l 的有效性。因为不用在运行时转换节点的值,所以获得了较好的性 能。第二,x m l 存储的内容是最少的,关于元素和属性的类型信息都由模式本 身来提供,可以为存储值提供更好的转换解释。 如果下列条件满足的话就应使用无类型x m l 1 ) 没有模式与x m l 数据相关联; 2 ) 希望在客户端进行数据验证。 遇到以下情况时,应该使用类型化x m l ; 1 ) 希望在服务端进行数据验证; 2 ) 想利用查询优化; 3 ) 利用存储优化; 钔利用类型信息的汇编。 在建立包含有类型x m l 列的表之前,必须先注册s c h e m a 。接下来,就可以 将此模式集关联,创建包含一个有类型x m l 列的表。最后在插入数据时,插入 的x m l 不仅应该是格式良好的,而且应遵循x s d 模式提供的定义。 1 4 本文的主要工作 本文的工作是天津市重点科技攻关项目“基于数据服务的数据集成平台研 究 的一部分,设计实现了以x q u e r y 为基础的数据集成平台,其主要功能模块 可以分为三部分:提供给开发人员的图形化开发工具。构造用于集成的x q u e r y 查询语句,以及数据源的描述信息;基于w 曲服务技术的数据服务管理组件,包 括数据服务的生命周期管理、运行时管理、安全策略和权限控制、应用接口等; 位于底层的,供开发工具和数据服务管理组件使用的多数据源包装器,用于进行 多数据源的映射,包括元数据的获取和底层数据源的查询等,其中多数据源包括 数据库,x m l 文件和文本文件。 本文的主要工作就是设计实现底层的多数据源包装器,其中包括: 设计了多数据源包装器的架构,将其分为两个功能模块:数据源配置模块和 查询模块。 6 第一章绪论 预定义了数据源配置文件和文本文件的格式,其中数据源配置文件基于x m l 格式,不同的数据源对应不同的字段。 以e c i l p s e 插件的方式实现了数据源配置模块,用户可以通过这个插件以向导 的形式来配置底层数据源,获得多数据源的元数据,同时自动生成数据源配 置文件。 实现了查询模块,包括解析数据源配置文件和查询脚本文件,查询数据库中 的关系数据和x m l 数据,查询文件系统中的x m l 文件和文本文件,以及多 数据源查询结果的x m l 格式的转化。其中设计实现了唯一的接口供数据服务 管理组件调用。 设计实现t x q u e r y 解析器,用于将x q u e r y 语句转化为等价的s q l 语句形式。 1 5 本文的组织结构 第一章绪论。介绍论文的研究背景、数据集成的概念、异构数据源的特性、 关系数据库对x m l 的支持,以及本文的主要工作。 第二章总体设计。描述了数据集成平台框架的设计和功能模块的划分,对各 个功能模块的结构、功能、处理流程及它们之间的关系做了简要的介绍。 第三章数据源配置模块的实现。详细设计了数据源配置文件和文本文件的格 式,说明了插件的实现方法,元数据获取的方式和数据源配置文件的生成过程。 第四章查询模块的实现。介绍了模块的类结构和处理流程,数据源配置文件 的解析算法,详细说明了数据库中关系数据和x m l 数据的查询,文件系统中x m l 文件和文本文件的查询,以及底层数据源查询结果的x m l 格式的转化。最后重 点介绍t x q u e r y 解析器的设计与实现。 第五章应用举例。介绍了多数据源包装器与数据服务开发工具、数据服务管 理组件的交互,并给出了一个实际应用的例子。 第六章总结与展望。总结了本文的工作,对没有实现或做的不完善之处做出 讨论,对今后需要改进的地方做出描述。 第二章总体设计 第二章总体设计 图2 - i 是基于数据服务的数据集成平台的总体设计。谚平台采用x m l 作为 公共数据模型,主要由三部分组成:多数据源包装器、数据服务开发工其和数据 服务管理模块。 圄圈圈网圜圈 图2 - 1 基于数据服务的数据集成平台 2 1 数据服务开发工具 数据服务开发工具斟】为使用数据集成平台实现数据集成的开发者提供支持, 使他们在进行数据集成实施时能够专注于数据之间的映射关系,而无需考虑对数 据源的访问及配置文件的格式等问题。另一方面,该工具提供对所开发数据服务 第二章总体设计 的错误检测和预处理,产生数据服务的运行时信息。开发工具提供数据服务的集 成开发环境,支持元数据集成、查询编辑、静态检测、测试运行和发布等任务。 数据服务开发工具同各种数据源交互,获取数据源的元数据信息展示给用 户,用户可以定义查询的目标格式以及数据源到目标格式的数据映射,开发工具 自动生成查询脚本和数据服务的目标模式。另外,如需要在平台中已有数据服务 之上定义新的数据服务,则开发工具同目标平台实例的控制接口交互,获得平台 中数据服务的信息。 如图2 2 为数据服务开发工具的总体设计。 数据服务开发工具 l 竺l 陟一 j c 数据摸型 验证i 。数l 赳 叫 数据模型 式 ” 几标格式定义投块 川户输入l 一 g u i 编辑界面 。l 一 o u i 编辆界商 h 川_ r 输入 存洵脚本文件 l 一 脚本串或嚣t - 一 一一j 哥八 查询编辑嚣i 遁同数据校刊构造器h x m ls c h a r n a ,d t d 救据服务模型教据 一 l 校型持久化r 其 1 、。, 一 一、j 查询编辑援块 二格式返回数据自 模型解析 调试配置忭珲 静卷运行环境 静 类 g 蹴警强l j 函数变昌,命名中间类利j 樊 态 型 骑订环境,挣式4 型类匹 处型 _配 l 儿寨? 槭茯型南明环境i 理检 削 测断 执行结集矗再 调试执行模块 图2 - 2 数据服务开发工具的总体设计 2 2 数据服务管理模块 数据服务管理平台的主要作用是提供对数据集成平台中数据服务的管理, 其主要功能包括: 数据服务的生命周期管理即数据服务的注册、发布、挂起、移除和更新等 第二章总体设计 操作。事实上,管理平台维护一个服务注册表,其中记录了所有数据服务的 位置、状态、依赖关系等管理信息,管理平台依据该注册表对数据服务进行 生命周期管理。管理平台为管理者提供对数据服务的控制接口,支持管理者 对数据服务的查询、注册、控制等管理工作。 数据服务的运行时管理在运行时,数据服务管理平台负责接受客户提交的 查询请求,通过服务注册表查找相应数据服务提供的配置信息来配置多数据 源,得到查询结果,并将结果返回给客户。管理平台针对慢速数据源采用缓 存策略,根据查询参数等相关信息管理数据缓存来提高查询响应。 数据服务的安全策略和权限控制对数据服务所发布的数据实施安全策略和 访问控制。采取管理平台的全局安全策略和数据服务的局部安全策略相结合 的方式,对数据服务的访问、所发布的数据加以限制和保护。 数据服务的应用接口管理平台提供应用程序编程接口( a p i ) ,使数据集成 平台能够以组件形式集成到企业应用中。在此基础上,管理平台可以在数据 服务注册时自动生成对应的w e b 服务接口描述,为数据服务提供w e b 服务 形式的接口,使所发布的集成数据可以在多个企业应用之间共享。 按照w e bs e r v i c e 规范【2 6 】进行了数据服务管理组件的原型设计,包括数据服 务描述文件的解析,数据服务注册表的维护,数据服务请求s o a p 包的响应,数 据服务w s d l 文件生成,数据服务管理界面等几个部分,以此来实现数据服务 的生命周期管理、运行时管理、安全策略和权限控制、应用接口等功能。最终的 设计图如图2 3 所示。 锵艚潢嚣曼 瓤,a 嗍赡 _ - _ - _ - _ - o _ - _ _ - _ _ - _ - _ _ _ 。一 l 搿a p 矽置i 毹l a 雌矗辉辑il 嗨冀| i 释l 囤雾q 髑 图2 - 3 数据服务管理模块的总体设计 1 0 囝一 第二章总体设计 2 3 多数据源包装器 这是本文的主要工作。多数据源包装器采用中介系统 2 7 1 的体系结构,接受扩 展后的x q u e r y 查询脚本和数据源描述作为功能配置。用户在开发数据服务时可 以通过这个包装器获得多数据源的元数据,供开发平台进行查询编辑,并且数据 服务管理模块可以通过此包装器连接底层数据源进行数据查询。其总体架构如图 2 4 所示: 图2 4 多数据源包装器的总体设计 多数据源包装器分为两个模块:数据源配置模块,查询模块。在整个流程中, 分别对应如下两个阶段: 1 数据服务开发阶段 数据源配置模块将数据库或文件( 文本文件、x m l 文件) 的元数据提供给 开发平台,供开发平台进行查询编辑,同时生成d s 数据源配置文件,将连接信 息等存储到d s 文件中。 2 数据服务提供阶段 数据服务管理模块响应w e b 服务,将查询信息和数据源信息提供给查询模 块,查询模块读取并解析d s 配置文件和x q u e r y 数据服务查询脚本,然后与数据 库或文件系统建立连接,必要时进行查询语句的转化,最后进行查询并将查询结 果( x m l 格式) 返回给数据服务管理模块。其中查询模块提供一个接口供数据 服务管理模块调用。 第二章总体设计 2 4 数据服务和各模块的关系 数据服务圜是联系平台中各模块的纽带。如图2 5 所示,数据服务开发工具、 数据服务管理平台和多数据源包装器通过数据服务联系起来。数据服务开发工具 实现对数据服务的设计,数据服务管理平台提供对数据服务的管理,而多数据源 包装器则通过数据服务的配置完成特定的查询任务。在实现数据集成平台时,将 数据服务配置文件的格式确定后,各模块的开发基本可以独立进行。 2 5 本章小结 图2 - 5 数据服务和各模块的关系 本章介绍了一种基于数据服务的数据集成平台的设计方案,依次分析了平台 的三个主要组成部分:数据服务开发工具、数据服务管理模块和多数据源包装器, 并给出了多数据源包装器的体系架构,分析了其中的各功能模块,即数据源配置 模块和查询模块,最后简要说明了数据集成平台中各部分和数据服务之间的关 系。下面的第三章和第四章将详细介绍数据源配置模块和查询模块的设计与实 现。 第三章数据源配置模块的设计与实现 第三章数据源配置模块的设计与实现 数据源配置模块作用于数据服务开发阶段,其设计目标是:将数据库或文件 的元数据提供给开发平台,供开发平台进行查询编辑,同时生成d s 数据源配置 文件,将连接信息等存储到d s 文件中。 3 1 模块设计 数据源配置模块的结构图可如图3 1 表示: 图3 1 数据源配置模块结构图 其流程为:配置模块将数据库或文件的元数据提供给开发平台,供开发平台 进行查询编辑,同时生成d s 数据源配置文件,将连接信息等存储到d s 文件中。 3 1 1 数据源配置文件的格式 d s 数据源配置文件的作用很重要,它不仅用于发布数据服务,而且在数据服 务提供阶段进行查询时也要解析此文件,获得必要的信息来连接数据库或文件进 行查询。d s 文件的结构可设计为: 第三章数据源配置模块的设计与实现 根元素 数据源名称 = d b 2 o r a c l e s q ls e r v e r 数据库类型 驱动 数据库所在地址 端口 数据库实例名 用户 密码 表 列 * 1 1 0 个或多个 字段 文件名 t x tx m l 文件类型 * 根元素 包括1 个或多个 字段,每个 字 段包含所配置的一个数据源的信息,例如数据源名称,数据库类型,u r l ,用户名 和密码等,其中属性n a m e ( 数据源名称) 唯一标识了数据源,每次进行数据源 配置时所生成的 字段中的n a m e 属性应该不同。在解析d s 文件时, 根据不同的数据源名称,就可获得不同的数据源信息。 3 1 2 文本文件的预定义格式 文本文件的格式多种多样,为了方便在数据集成平台中配置文本文件的元数 据,查询文本信息,应该预定义使用的文本文件的格式。我们设计的文本文件的 格式规定如下: i ) 类似于关系数据库中的表结构,预定义的文本文件的数据由行和列组成, 其中每行数据由空格分开,每列数据具有相同的类型。 1 4 第三章数据源配置模块的设计与实现 _ ,一 一 2 ) 维护对应文本文件的一个表头文件,这个表头文件记录了文本文件的每 一列的列名和列的类型。 例如,文本文件的内容可表示为: 2 0 0 6 2 16 0 0 1t o mm2 3c o m p u t e r 2 0 0 6 2 16 0 0 5l u c yf 21f o r e i g n 2 0 0 6 216 0 9 0l i l yf2 2f o r e i g n 而对应的表头文件可表示为: i d s t r i n g n a m es t r i n g s e xs t r i n g a g e i n t m a j o rs t r i n g 3 2 模块实现 数据源配置模块可实现为一个e c l i p s e 插件2 9 1 ,以向导的方式供开发者提供 信息( 参数) 来获得元数据,并生成d s 文件。 3 2 1 插件的实现 实现此插件所用的相关的类的u m l 类图如图3 - 2 所示: 第三章数据源配置模块的设计与实现 i c r e a t e d s c o m m a n d i 卜x e c u t e o一一一一一目一一一一一目 r d b d a t a s o u r c e t y p c x m l f i l e r o o t e l e m e n t p a g e i 卜s e t g e d s ( ) ix m l f i l e d a t a s o u r c e , + i n i t i a t e ( ) r d b d a l a $ o u r c e w i z a r d + a d d p a g e o iw e b s e r v i t e d a t 8 s o u r c e w i z a r d l j + a d d p a g e ) o r a c l e c o n f i g u r a t i o n w i z a r d + g e t t a b l e m e t a d a t a ( ) + g e t x m l m e t a d a t a ( ) + g e t n e x t p a g e ( ) x q u e r y p l u g i n + c o m p u t e d s w i z a r d s i f ) + c o m p u t e d s w i z a r d s 2 0 o r a c l e w i z a r d + a d d p a g e s ( + p e r f o r m f i n i s h ( ) s q l s e r v e r w i z a r d 0 r a c l e c o n n e c l i n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人工关节置换术后康复指南
- ICU重症监护药物管理规范
- 2025年六年级数学上册期末全真模拟基础卷(二)(答案)(苏教版)
- 分娩期妇女的科学护理指南
- 2026年德阳农业科技职业学院单招职业适应性考试题库必考题
- 2026年抚顺师范高等专科学校单招职业倾向性测试题库新版
- 2026年大庆医学高等专科学校单招职业适应性考试必刷测试卷及答案1套
- 2026年河北机电职业技术学院单招职业倾向性测试题库新版
- 2026年江西艺术职业学院单招职业技能考试题库新版
- 2026年锡林郭勒职业学院单招职业适应性测试题库必考题
- 保密知识竞赛参考试题库(附答案)
- 学校考核物业表格
- 二年级数学《乘加乘减》集体备课活动记录
- 2024年广东省政工师理论知识考试参考题库(含答案)
- 蜜雪冰城是如何实现成本领先的
- 电子商务公司薪资体系
- 幼儿教资(综合素质)及答案
- 列车电子防滑器-电子防滑器原理
- 电子元器件标示及实物对照
- 耕地合法永久转让协议书
- 芜湖仅一机械有限公司年产500万套汽车零部件及通讯设备压轴件生产线项目(承诺制项目)环境影响报告表
评论
0/150
提交评论