(计算机应用技术专业论文)基于web+services数据交换的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于web+services数据交换的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于web+services数据交换的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于web+services数据交换的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于web+services数据交换的研究与实现.pdf_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

东南大学硕士学位论文 摘要 随着企业对信息交互以及w e b 应用对数据交互等需求的增加,数据交换已成为亟需解决的 问题。本文以分布式异构数据库之间数据交换为倒,简介了相关知识,设计了一套基于x m l 的异构数据库之间数据交换的解决方案,提出了一种混合模式匹配算法,并将数据交换作为w e b 服务部署到w e bs e r v i c e s 中。最后简单介绍了原型系统的运行情况。 本文提出的混合模式匹配算法,综合考虑关系模式树的语言和结构,不仅比较结点元素的 “语言”上的相似性,也比较结构上的相似性,借助数据字典还可以比较语义上的相似性。 与现有的模式匹配相比,它针对关系模式和x m ls c h e m a 设计,考虑的因素较为周全,更易于 使甩,该算法能够有效地应用于关系模式的匹配。 本文提出的异构数据库系统之间数据交换的设计方案。基于j a v a x m l 技术实现。将系统 实现作为w e b 服务部署到w e bs e r v i c e s 中能够实现跨平台的数据交换应用。 为了在w e bs e r v i c e s 中发现并调用w e b 服务,在w s d l 规范中定义x m ls c h e m a ,这样请 求交换方可以通过与提供方比较w s d l 来发现并调用服务。 关键字:数据交换,模式匹配,x s l t ,数据字典,w e bs e r v i c e s 东南大学硕士学位论文 a b s t r a c t w i t ht h ei n c r e a s i n gp o p u l a r i t yo ft h ei n f o r m a t i o ni n t e r c h a n g i n gb e t w e e ne n t e r p r i s e sa n dt h e p r o l i f e r a t i o no f d a t ae x c h a n g i n ga m o n g w e ba p p l i c a t i o n s , d a t ae x c h a n g eh a sa l r e a d yb e c o m eac r i t i c a l p r o b l e m i nt h i sp a p e r , w ei l l u s t r a t e t h i sp r o b l e mw i t ht h es c e n a r i oo fd a t ae x c h a n g eb e t w e e n h e t e r o g e n e o u sd a t a b a s e s w ea tf i r s tb r i e f l yi n t r o d u c et h eb a s i ck n o w l e d g eo fd a t ae x c h a n g ea n d d e s i g nas o l u t i o nt od a t ae x c h a n g eb e t w e e nd a t a b a s e sb a s e do nx m l t h e nw ep r e s e n tah y b r i d s c h e m am a t c ha l g o r i t h mb a s e do nd y n a m i cw e i g h t l a s t l y , w ed e p l o yt h ed a t ae x c h a n g ea ss e r v i c e si n w e bs e r v i c e sa n di n t r o d u c et h ep r o t o t y p e , m o s to ft h ee x i g i n gs c h e m am a t c ha l g o r i t h m sa r ec o m p l i c a t e da n dh a r dt ou s e o u ra l g o r i t h m , w h i c hi sc a l l e dd w h m ,i sd e s i g n e da c c o r d i n gt or e l a t i o n a ls c h e m aa n dx m ls c h e m a ,i ti se a s yt o i l s ei nc o n t r a s tw i t ht h o s e n ka l g o r i t h mc o m b i n e st h ec o m p a r i s o nw i t ht h el i n g u i s t i cs i m i l a r i t ya n d s t r u c t u r a ls i m i l a r i t y t u r n i n gt od a t ad i c t i o n a r y , d w h ma l s oc o m p a r e sw i t ht h es e m a n t i cs i m i l a r i t y b e t w e e nt h en o d e si ns c h e m at r e e s t h es o l u t i o nt od a t ae x c h a n g ei sb a s e do nj a v a ,) ( m l | w b e nw ed e p l o yt h ei m p l e m e n t a t i o n 笛 s e r v i c e si nw e bs e r v i c e s 。i tc a r lr e a l i z ea np l a t f o r mi r r e l e v a n ta p p l i c a t i o n 1 no r d e rt of i n da n d i n v o k es e r v i c e si nw e bs e r v i c e s ,w ec o n c e i v ea ni d e at h a tt h ep r o v i d e r s e n c a p s u l a t ex m l s c h e m ai nw s d l s ot h er e q u e s t e rc a l lc o m p a r et h ex m ls c h e m aw i t ht h e p r o v i d e r sb yw s d l k e y w o r d s :d a t ae x c h a n g e ,s c h e m am a t c h ,x s l t , d a t ad i c t i o n a r y , w e bs e r v i c e s i i 东南大学硕士学位论文 东南大学学位论文独创性声明 本人声明所星交的学位论文是我个人在导师指导下进行的研究工作及取得的 研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位 或证书而使用过的材料与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示了谢意 研究生签名 东南大学学位论文使用授权声明 东南大学、中国利学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复 印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和 纸质论文的内容相一致。除在保密期内的保密论文外允许论文被套阅和借阀,可以公布 ( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研究生院办 理。 研究生签名:i 竺鱼: 导师签名:芝盘 日期:二掣 一蚪 第一章弓l 言 1 1 研究背景 第一章引言 为了适应国际化市场的千变万化、提高竞争能力,现代制造企业越来越重视信息资源的优 化配置及利用,斥以巨资建立了众多应用信息系统。但是,由于企业内部职能分工不同、企业 之间信息系统千差万别等因素,众多信息被封闭在相互独立的系统,这严重妨碍了信息共享及 数据交换:数据库管理系统、操作系统的异构性以及数据库对语义描述的能力弱等缺点成为信 息共享和数据交换的难以逾越的壁垒;i n t e r a c t 上的数据量急速增长,每时每刻都进行着大量的 信息交互和共享,越来越多的w e b 应用、a 2 a 、b 2 b 应用需要通过交换数据来实现互操作。对 数据交互的实时性提出了较高要求。因此,如何有效地进行信息共享、数据交换,这成为亟需 解决的问题。 数据交换,简单地说,就是对于给定的源模式数据。创建满足目标模式的某个实例,这个 实例要尽可能准确地反映源模式与目标模式之间的关系以及原数据内容,要达到交换数据所代 表的语义的真止目的。为此,首先必须建立交换的标准和规则,然后按照既定的标准或规则, 以某种方式进行数据的共享或转换,从而为其它系统所使用。 1 2 研究现状 1 2 1 e d i 为了解决数据交换这一课题,二十世纪八十年代提出了电子数据交换( e l e c t r o n i cd a t a i n t e r c h a n g e e d i ) 的概念。e d 根据事先达成的协议,将信息按照一定的标准进行格式化处理, 并把这些格式化的数据通过计算机通信网络在其计算机系统之间进行交换和自动处理。作为计 算机通信技术的一部分,e d i 可以应用于制造业、运输业、零售业以及卫生保健和政府部门等 各种经济部门之中。e d i 交换已较为广泛地在各行各业中使用。 但是e d i 技术需要解决如下问题l lj : 网络通信传输标准:解决异型机、异型网络环境下的信息交换; 交易业务格式标准化:交易双方必须使用相同的交易文件格式; 语言文字标准化i 交易双方应使用相互理解的语言文字进行交换; e d i 中心的建立与管理规范; 权威性与合法性; 安全保密性。 可见e d l 标准较复杂,脱离了易用性。对于企业来说是一种负担;e d l 的标准处理要遵循 一定的步骤及一系列的转换规则对于普通人来说,也不易掌握及应用;而且使用e d i 技术的 费用过高,不能为每个企业所承受。因此,传统的e d i 不适应于新形势下数据交换的需求【2 1 东南大学硕士学位论文 1 2 2 其它解决方案 目前市面上的主流关系型数据库产品纷纷支持以x m l 表示的数据与数据库数据之间的转 换和存储,这能够较好地解决数据库之间的数据交换问题。对于广义的交换,例如基于x m l 的w e b 应用程序之间的数据交换,文 3 1 提出不论源模式和目标模式是何种形式( 可以是关系模 式或x m l s c h e m a ) ,二者之间皆可以进行数据转换。文 3 】首先分析源模式和目标模式的对应关 系,然后根据对应关系,进行数据转换,数据转换的方式可以是通过x s l t 脚本、x q u e r y 或者 其它的方式。文【4 】着眼于找出并解决两s c h e m a 间的间接对应关系,它将间接对应关系分为三 种:1 、g e n e r a l i z a t i o n 与s p e c i a l i z a t i o n ,指元素间的i s - a 、s u p e rs e t 或s u b s e t 关系:2 、m e 唱e d 与 s p l i t ,指的是元素间的p a r t - o f 关系;3 、s c h e m ae l e m e n tn a m ea sv a l u e 。指的是源模式中的某一 元素名称为目标模式中某一元素的值。该文共设计了四种方式进行匹配:1 、对元素名称进行语 义分析;2 、利用元素名称的字符串长度、字母数字与非字母数据的比率来判断:3 、以本体领 域知识来查找某特定元素的元素值;4 、将源模式和目标模式以树形结构表示,对树进行分析, 找出正确的对应关系。在找到间接对应关系后,便以其所设计的各种函数关系来表示三种对应 关系。 近年来,由非赢利组织发起的r o s e t t a n e t 、c o m m e r c e n e t ,以及由电子商务解决方案提供商 发起的c o m m e r c e o n e 、a r i b a ,由微软发起的b i z t a l k 、e b x m l 标准,中科院电子商务中心制定 的c n x m l 标准都以实现数据交换作为研究目标之一。这些标准林林总总,单纯以数据交换而 论,它们都是以x m l 来描述数据,不同行业的人们根据自己应用数据的习惯定义了不同的x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 标签,形成诸如c x m l 、e b x m l 、x c b l 等一系列具有行业特 性的数据描述语言。它们各自独成体系,标准使用较为复杂,由各体系建立的数据信息之问难 以交互,这使得数据交换仿佛陷入了另一个泥淖;并且由于尚未实现基于本体及语义的映射, 基本上是依靠人为干预建立映射,因此数据交换进展缓慢。 1 2 3 数据交换算法 根据对数据交换的算法研究,r o n a l df a g i n 等人在【5 】、 6 】文中介绍了数据交换的一些基础 知识。 模式r 是有限关系符号的集合,记为r = 焉,凰 ,它描述了数据的逻辑结构和 特征,是数据在逻辑层上的视图。模式r 的实例,是与每一个关系符号冠相关联的关 系函数,记为 ,在不引起混淆的情况下,常常也记蜀。 相关性( 或称为依赖关系) d 指的是模式r 上的某一形式化逻辑命题,它表明了实体 之间的关系。对于关系数据库而言,常指的是表中的一列的某个数值能决定另一列相 应的数值。例如:n a t i v e p l a c e ( s t u d e n t ) h o m e ( s t u d e n o a 源实例j 指的是源模式s 的一个实例,目标实例,指的是目标模式t 的一个实例。 源目标相关性( 或称为源目标依赖关系) :v 。( 唬( x ) _ z r ( x ) ) ,其中屯( x ) 、嚣( x ) 分 别是模式s 、t 上的自变量x 的某一逻辑形式的公式。源目标相关性的集合,记为: s t 。 设 | ,分别是源实例和目标实例,记置= q ;j ,则j r 是模式s u t 的一个实例,这里置 ( 鳓= j ) ,置( 功= j ( 乃) 。如果二元关系 满足5 ,则k 就是由源实例和所有目标实例 组成的集合。,即是数据交换的解。数据交换就是:对于模式s 上的实例i 。找到一个模式t 2 第一章引言 上的实例,使得二元组 满足源目标的依赖关系e s t ,则实例,称之为数据交换集中,的 解。由源一目标相关性集所约束的源数据怎样在目标模式中出现? 以怎样的形式出现? 这就是解 决数据交换问题的关键。 r o n a l df a g i n 等人在【5 】、【6 1 3 c e p 提出数据交换是一个四元组,e = 1 6 1 。其 中,s 是源模式。t 是目标模式。s 与t 不相交;e s t 是源目标相关性的集合,表示了s 与t 之间的所有关系,也就是交换规则或称为映射规则;t 是目标相关性的集合,表示了对目标实 例的约束。【5 】、【6 】文主要针对数据库之间数据交换问题,着手于形式化数学推导,作者从图论 出发,阐述了数据交换的核心问题,论述了三种求解通解、特解方法,并分析了时间复杂度。 r o n a l df a g i n 等在 5 】中描述数据交换问题时,把它与数据集成进行比较,因为二者均涉及 异构模式下数据存储管理问题。二者的区别在于:数据交换问题解决如何创建目标模式的实例 以准确地反映源数据;数据集成问题无需创建目标实例,对目标模式进行查询等操作,并用视 图来表示目标模式与源模式之闻的关系斟。 数据集成可以表示成一个三元组,i = i j 。其中g 是全局模式,s 是局部模式, m 代表g 与s 之间的映射关系。数据集成按照映射的方向可以分为:l a v ( l o c a l - a s - v i e w ) 和g a v ( g l o b a l a s - v i e w ) 。l a v 从数据交换 的角度看来,s 是源模式( 由l a v 的视图组成) , t 是目标模式( l a v 中称为全局模式) ,s t 中的每个相关性函数如以下的命题形式: s ( x ) _ 3 y q t ( x ,y ) 。这里s 是源模式( 视图) 的单个关系符号,r t 是目标模式t 上的原子 命题的连接式。对s 进行查询相当于对所有t 的查询,即q u e r y ( s ) = q u e r y ( f ( t t ,t 2 ,t n ) ) 。g a v 与l a v 类似,只是e s t 中相关性函数形式如下:函s ( x ) 一r ( x ) ,这里的r 是目标模式( 视图) 上单个关系符号,廖s 是源模式上原子命题的连接。对s 进行查询时。即q u e r y ( s ) ; q u e r y ( f i ( t i ) ,f 2 ( t 2 ) ,l :l ( l ) ) 。 从源目的相关性集e s t 的角度看来,数据交换系统既不是l a v 系统也不是g a v 系统,它 倒可以看作是一个g l a v 系统,因为它存在着源一目标相关性之间的双向映射”l 。 5 1 文中,r o n a l df a g i n 等人是从数据库查询操作如何进行优化等角度入手讨论了数据交换 的实质,实际上着重解决的是如何通过对查询条件进行关系代数等操作得到查询结果的问题。 例如:设两个待交换数据的关系数据库系统a 、b ,a 数据库( 源模式) 由以下两个表( 关系符 号) 组成:n a t i v e p l a e e ,关联学生与其籍贯;s m d y c 时,关联学生与其求学的城市。b 数据库 ( 目标模式) 由以下三个表( 关系符号) 组成:h o m e ,关联学生与其家庭所在地:s t u d y c o l l e g e , 关联学生与其学校;c o l l e g e c i t y ,关趺学校与所在的城市。考虑以上所述的源模式和目标模式, 设源一目标相笑性为: ) s s t ; ) n a t i v e p l a c e ( s ,h ) 哼h o m e ( s ,h ) ) s t u d y c i t y 斗3 u ( s t u d y c o l l e g e ( s ,u ) c o l l e g e c i t y ( u ,c ) ) ( 西) s t u d y c i t y 了月h o m e ( s ,h ) 具体含义为:( d f ) ,如累已知学生s 的n a t i v ep l a c e 。则可知他的h o m e ,因为关系数据库 a 中的籍贯在关系数据库b 看来就是其家庭所在地;( 勘,如果己知学生s 求学的城市,则存 在着s 所属的大学,它可以由目标数据库中的模式关系s t u d y c o l l e g e ( s ,u ) 和c o l l e g e c i t y ( u ,c ) 来共同决定:( 函) ,如果知道学生s 所求学的城市,则存在着s 的家庭所在她。对于源实例: i = n a t i v e p l a c e ( h o n g ,a n q i n g ) ,n a t i v e p l a c e ( a n n ,w u h u ) ,s t u a y c i t y ( h o n g ,n a n j i n g ) , s t u d y c i t y ( a a l l ,h e f e i ) ,以下是满足目标模式的一个实例: 东南大学硕士学位论文 j ;( h o m e ( 1 - l o n g ,a n q i n g ) ,h o m e ( a n n , w u h u ) ,s m d y c o l l e g e ( h o n g , u t ) ,s t u d y c o l l e g e ( a n n , u 2 ) ,c o l l e g e c i t y ( 奶,n a n j i n g ) ,c o l l e g e c i t y ( u 2 , h e f e i ) ) ,对于此问题,其中u i 、u 2 并不需要知道 确定的值。 可见二元组 满足源目标相关性,所以j 是该数据交换的一个解。 文f 5 】、f 6 1 来去解决数据库之闻关系模式的映射翘题,两本文的数提交换问题着重解决表达 了关系模式( 或x m ls c h e m a ) 之间的匹配及映射问题。 1 3 研究内容与需要解决的问题 1 3 1 为什么需要x m l ? 对于企业内部异构数据库系统( 往往部署在局域网内部) 之间的数据交换,x m l 并不是必 需的。借助数据字典,在两个数据库的字段之间建立映射关系,然后使用应用程序接口( 借助 s q l 语句访问数据库,例如查询及插入等操作) ,可以进行数据交互及共享。但是,更多的情况 是企业间的数据以及w e b 应用通过i n t e m e t 进行信息的交互,通过i n t e m e t 的信息交互还常见于 b 2 b 、b 2 c 、a 2 a 之问。此时上述方法可重用性差常常无法胜任。因为不仅无法预知对方 是何种数据库管理系统,也不能知道对方数据库的设计结构,更因为防火墙的存在屏蔽了数据 的直接访阔,所以必须找到一个平台无关的解决方案, 计算机之间的数据交换类似于人类的信息交流,在人类自然语言中,语法及语义是其两个 要素,但是人们之间信息的传达不一定需要严格的语言组织规律( 也就是语法) 。可以从上下文 环境中理解对方所要表达的意思,但是对于计算机之间的信息交换,语法与语义缺一不可。数 据正确的语法表达是保证计算机之间能够进行信息交互和处理的前提,而数据语义的描述则是 数据可被计算机正确理解和推理的基础i f j 。x m l 的出现使得不同类型的数据表示成同一格式成 为可能,它可以有效她解决数据交换中的“语法”闯题。x m l 的可扩展性是其区蜘其他标记语 言的最基本特征,它以一种标准化的方式来建立数据表示的结构,而将具体标记的定义留给了 用户,返使得它可以满足各种不同领域数据描述的需要,可以对计算机之间交换的任何数据进 行编码。x m l 元素的结构要比数据库中的关系结构更具有表现力,因为它可包含其他元素、变 化顺序和属性的数量,x m ls c h e m a 的i d i d r e f 、k e y k e y r e f 还可以表示出数据库表之间 的键约束关系。x m l 不同于关系、对象、电子数据表格、二进制文件及其它存储机制,它是纯 文本格式的,在程序实现过程中它不需要专门的序列化过程来传输数据,因此可以更有效地 实现网络传输。囚此,x m l 是数据交换过程中信息最合适的载体和表示方式。 x m l 及其相关技术的发展大大促进了数据交换过程中语法描述的统一,它具有平台无关 性、人机可读性、自描述性、可交换性。并且受到大量相关技术的支持,因此它自然而然地被 应用于各种异构系统之间的数据交换,并且已经成为事实上的标准。x m l 具备以下几个特性口j : 它定义了一套信息交换的标准格式,这不同于应用程序规范格式。 它是开源的,可以应用于各种信息的建模。 它诞生以来,就有许多工具集轻松地支持x m l 文档的处理和操作,例如,x q u e r y 等 支持x m l 数据库查询技术的出现,可以完成类似的关系数据库s q l 查询功能。 它严格地定义了自己的语法和文档结构,使得可以有效对自身进行语法及词汇检查。 它是自描述的( 所用的标记描述了数据的结构和类型,尽管缺乏语义) 可交换的,能 够蚍树型或图形结构描述数据。 4 第章引言 x m l 不仅在数据表示方面具有优势,它更是w e bs e r v i c e s 技术架构的基石。s o a p 、w s d l 等都是构建在x m l 之上的w e bs e r v i c e s 规范,x m l 及相关技术解决了w e bs e r v i c e s 所必须解 决的通用性问题,x m l 和消息传递在服务和应用程序之间的相互通信方面起着关键性作用。 但是,在高效存储、索引、并发、安全、事务和数据一致性、触发器等方面x m l 性能要 比数据库逊色得多,在数据存贮、管理方面,数据库是无可替代的。对于数据库之间的数据交 换,应充分发挥二者的特点,以数据库为存贮、管理手段,充分发挥关系型数据库在结构化数 据存贮方面的优势;以x m l 为数据交换载体、s o a p 作为通信协议,能充分发挥x m l s o a p 平台无关性和易于跨平台传输等优势;而x q u e r y 等支持x m l 查询技术的出现,可以完成类似 于s q l 的查询功能。j a v a 是纯面向对象的、针对网络的、平台无关的编程语言,配合 x m l f s o a p ,成为数据交换实现技术的酋选。 1 3 。2 模式匹配算法 事实上,数据交换所要达到的真正目的是交换数据所代表的语义,而不单纯是数据本身的 交换。x m l 有自己的语法和文档结构,它使得构建于其上的应用程序之间的语法互操作成为可 能,但是,x m l 对于基于语义的互操作显得无能为力虽然x m l s c h e m a 为x m l 文档提供了 一定的语义描述能力,但其语义是隐含的,它的元素的语义往往由用户根据元素的名称( 通过 自然语言描述) 去推断它本身并不能对其所含有的语义进行任何解释。如果所有的x m l 文 档都遵循一个x m ls c h e m a ,这就不存在语义问题,显然这是不现实的。因此,必须设计一种 能够“理解”x m ls c h e m a 之间模式匹配的算法,才能实现一定意义土的语义交换,文中提出 的一种混合匹配算法能够自动或手动完成关系模式之间的匹配及映射。 1 3 3 在w e bs e r v i c e s 中部署数据交换服务 如果希望在不同系统之间能够无缝地进行通信和共享、交换数据,传统应用程序在这方面 的能力十分有限。因为在遗留系统中,每个平台、每种系统都习惯于使用自身的协议( 本质上 通常是二进制代码) 来实现系统问的集成跨平台的应用程序在数据共享方面的能力相当有限。 认识到这些限制后,人们一直在致力于建立有关数据格式和数据交换方面的标准,藉此以实现 “不论服务采l i j 何种软件,使用何种硬件,都能够跨越这传统的界限以w e b 的形式无缝地 将它们集成在一起”这一远景目标。目前,这一目标已迅速发展成为种新的计算范例州。该 目标的核心是互操作性概念,即不同系统能够无缝地进行通信和共享数据。这正是w e bs e r v i c e s 追求的目标。w e bs e r v i c e s 是一种可以用标准i n t e m e t 协议来访问的可编程应用逻辑;从另一个 角度来说,w e bs e r v i c e s 是有关机器问和应用程序闻透明通信的、借助于w e b 的标准的具体实 现。w e bs e r v i c e s 屏蔽掉了业务的实现机制的多样性,它依赖于h r r p 协议使得跨越防火墙变缛 比较简单,而其使用基于x m l 的描述方式也使得不同的服务之间具有较好的互操作性;w e b 服 务使用松散耦合的集成模型以支持各种领域( 包括企业到消费者、企业到企业和企业应用程序 集成) 中不同种类的系统的灵活集成。因此,将数据交换作为w e b 服务部署到w e b s e r v i c e s 中 可以实时地在i n t e r a c t 上实现数据的共享及交互。 1 4 本文的组织结构 本文试鸥从具构数据库之阊的数据交换问题着手,研究如何以x m l 作为载体在异构系统 中进行信息交互。主要探讨了以下问题: 5 东南大学硕士学位论文 将数据库的关系模式转换成x m ls c h e m a ; 着重研究基于动态权重的混合匹配算法( 简称为d w h m ) ,并按此算法在模式树之间 匹配结点并建立映射关系; 将数据交换作为w e b 服务部署到w e bs e r v i c e s 中。 论文的结构如下;第二章提出了基于x m l 的分布式数据库系统数据交换的设计方案;第 三章主要阐述了基于动态权重的模式匹配混台算法;第四章讨论了如何部署w e b 服务;第五章 介绍了原型系统的运行情况;最后是本文的总结以及对未来工作的展望。 6 第二章异构数据库之简数据交换设计方案 第二章异构数据库之间数据交换设计方案 异构数据库之间由于关系模式以及表的字段存在差异。导致应用程序无法直接共享、交互 数据。如果在两两模式之闻建立暧射,那么l 1 个数据库之阊就要建立寻个映射关系才能实现任 意两两之间的交互,这大大增j o - j - 复杂性和工作量,而且如果任意其中一个数据库的模式改变 将需要重新建立n 1 次映射。当然,如果都遵守某一个模式,那么就不存在这种问题,显然这 是不可能的。没有交换标准和体系的部落式交换的代价是巨大的,两两之间的交换必须撰写不 同的代码,无法实现代码重用,数据源只能散乱孤立地存在。为此。常常创建一个全局标准模 式,各个数据库模式与它建立映射关系。x m l 作为一种数据格式描述的元语言标准,它为数据 交换带来了光明的前景,以x m l 描述的中间标准可以真正实现集中式交换。针对数据库之间 的数据交换,可以应用星状集中式交换方案l l q 。在此方案中,每个数据库的关系模式都与标准 的模式进行比较,建立与标准模式之间的映射关系,必要时通过与标准模式的比较。还可以在 两两数据库之间建立映射关系。 2 1 星状数据交换方案 r e i a l i o n a i d a t a b a 5 e r e l ar i o n a o a t a b a 5 e 雷2 1 基于标准模式的数据库之间数据交换 如图2 1 ,数据库的关系模式可以以x m ls c h e m a 表示,为了便于用户在g u i 下建立映射 关系x m ls c h e m a 又常以树形结构表示。当然,进行数据交换时,各个数据库表示的关系模式 应该是领域相关的,例如,一个存储订单的数据库和另一个存储学生成绩的数据库不存在交换 的模式基础和现实意义。如果数据交换仅在两个数据库之间进行,则可以直接在两个关系模式 间建立映射关系,而无需与标准模式比较。 2 2 异构数据库之间数据交换的步骤 数据库之间的数据交换可以按以下步骤进行,流程见图2 2 : 将数据库的元数据及关系以x m l s c h e m a 和树形结构( 称为关系模式树) 表示; 将数据库中的视图查询数据以x m l 文档表示该x m l 文档满足上一步创建的x m l 7 表南犬学硬士学位论文 s c h e m a 。称为源x m l 文档; 与目标关系模式树进行匹配,建立映射关系,并以x s l t 脚本表示: 根据x s l t 脚本表示的转换规则,将源x m l 文档转换成目标模式的x m l 文档; 根据需要将目标x m l 文档的数据转换成目标数据库的记录数据。 图2 2 数据库之间数据交换流程图 2 3 用x m ls c h e m a 表示数据库的关系模式 由于数据库中的表和x m l 文档都具有高度规范的结构,因此关系模式与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 l 文档。从关系模式到x m ls c h e m a 的转换 关键在于对实体( 包括关系实体) 的转换。实体转换又包含两个部分:结构转换和约束转换。 对于结构的转换可以将表名作为x m l 元素名,列名作为该元素的子元素或属性,字段的类型 对应w 3 c 定义的标准x m ls c h e m a 数据类型。对于约束转换稍为复杂,这是由表的关系呈网 关结构这一因素所决定的,但表之间的关系无非是两种情况:依赖和被依赖。依赖也就是表中 存在着外键被其它表约束:被依赖也就是该表存在着主键,该主键是其它表的外键j 。 x m ls c h e m a 的i d h d r e f 存在着引用与被引用。这与依赖,被依赖关系类似。主键可以转 换成相麻的l d 属性,外键对主键的依赖关系可以通过i d r e f 属性来实现。然而,通过i d i d r e f 表示这种关系具有其自身弱点:在整个文档中,i d 必须是唯一的,并且1 d r e f 声明没有指定 1 d r e f 属性的实例必须引飓的元素类型。x m l s c h e m a 提供了另一辨与关系数据库中声明的外 键关系几乎相同的方式来指定这些指向关系i l “:k e y k e y r e f 。 x s d :k e yn a m e = ”k e y l ”卢了指 定k e y l 必须出现在其父元素中,并且是唯一的,在该元素的外部某元素可以通过 x s d :k e y r e f l l a m g = ,k e y 2 ”r e f e r = k e y i ”彦来引用这一元素,这种关系相当于关系数据库中的主键与外键之问 的关系。 数据库和x m l 文档在表示莱一事物时,结构上是高度相似的。数据库在设计时,一般将 相互之间有关联的表放在一个数据库中表通过主步h 键与其它表关联。将关系模式转换成x m l s c h e m a 时,可以将一个数据库的所有实体一关系以一个x m l s c h e m a 表示。参照m i c r o s o f t n e t 的m s d n 所提供的转换方法,关系模式转换成x m ls c h e m a 可以按以下步骤进行: 定义一个全局元素表示数据库( 数据集) 名,在全局元素内定义e o m p l e x t y p e 类型的 元素,每个元素对应一个表名,称为表元素。这样做的目的是为了在其中定义相对表 中所有记录唯一的键元素,如果不定义这个全局元素而是将键元素定义在某个表名元 索内,那么该键将只对各个记录产生唯一约束。而不会对表中所有记录唯一 为表元素增加子元素,子元索对应表的字段,字段类型对应子元素类型,由“t y p e ” 属性指定,表中字段记录的值( 即表的数据) 可以由该子元素的值表示,也可以以该 8 第二章异构数据库之间数据交换设计方案 子元素的属性值形式表示; 在全局元素中,也就是与表名元素同级的结构中,定义表的主键和外键。表的主键按 如下方法定义【l l j :创建x m ls c h e m a “k e y ”元素,指定主键名及主键所在的域。表的 外键:创建“k e y r e f ”元素,定义属性r e f e r ,它的值对应所引用的键名,同样还需指 定外键所在的域:关系模式中是否允许为空约束映射为x m l s c h e m a 的u n i q u e 约束。 如果表的主键多于一个。则可以将主键的集合定义成个c o m p l e x t y p e 类型的元素, 名为“p k ”,然后在元素“p k ”中定义键元素。 例2 1 :设数据库e n t e r p r i s e 含有以下四张表,图2 3 表示了它的e r 模型。 p r o j e c t 龇( i o n gi n t ) ,p r o j e c t h a m e ( v a rc h a r ) ,b u d g e t ( d o u b l e ) ) e m p l o y e e 妣( 1 0 n gi n 0 ,f - n a m e ( 1 0 n gi n 0 ,l f l a m e ( v a tc h a r ) ,d e p t - n o ( 1 0 n gi n t ) ) ,d e p a r t m e n t 龇( 1 0 n gi n 0 ,d e p t - n a m e ( v a rc h a r ) ,l o c a t i o n ( v a rc h a r ) ) ,w o r k s o n 蚴( i o n gi n t ) , 衄( 1 0 n gi n t ) ,j o b ( 1 0 n gi n t ) ,e n t c r - d a t e ( d a t e - t i m e ) ) 。其中,表d e p a r t m e n t 的主键“d e p t - n o ” 是表e m p l o y e e 的外键,表p r o j e c t 的主键“p r o j e c t - n o ”和表e m p l o y e e 的主键 “e m p l o y e e - n o ”的组合作为表w o r k s o i l 的外键。 图2 , 3 例2 1 的e r 图 按照转换步骤,例2 1 中的数据库的关系模式转换成以下x m l s c h e m a ,见表2 ,1 : 表2 1 关系模式转换而成的x m ls c h e m a 9 东南大学硬士学位论文 x s d :

温馨提示

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

评论

0/150

提交评论