(计算机应用技术专业论文)基于中间件技术的异构数据库数据整合的研究.pdf_第1页
(计算机应用技术专业论文)基于中间件技术的异构数据库数据整合的研究.pdf_第2页
(计算机应用技术专业论文)基于中间件技术的异构数据库数据整合的研究.pdf_第3页
(计算机应用技术专业论文)基于中间件技术的异构数据库数据整合的研究.pdf_第4页
(计算机应用技术专业论文)基于中间件技术的异构数据库数据整合的研究.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(计算机应用技术专业论文)基于中间件技术的异构数据库数据整合的研究.pdf.pdf 免费下载

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

文档简介

华北电力大学硕士学位摘要摘要随着企业规模的不断扩大,一个单独企业,每个部门或单位就是一个数据源,每个数据源都可能是异构的,它们构成了企业的异构数据源。这必然导致越来越多的企业应用需要访问各种异构数据源,为了满足这种需求,必须研究出能够支持异构数据源数据整合的系统。为了解决企业信息异构的问题,实现企业间资源共享和信息互访的目的,本文提出了基于中间件技术的数据整合方案。其中,中间件技术用c o r b a 和x m l实现。c o r b a ( 通用对象请求代理体系结构) 是一种分布式对象技术,利用c o r b a的核心部件o r b 可以实现异构数据源的透明互访;x m l ( 可扩展标记语言) 是一种标记语言,通过与关系型数据模式的转化,可以消解数据源数据模式的异构。关键词:中间件,异构数据,c o r b a ,x m la b s t r a c tw i t ht h es u s t a i n i n gd e v e l o p m e n to ft h es c a l eo fc o m p a n y , i nas i n g l ec o m p a n y , e v e r yd e p a r t m e n tw i l lb e c o m ead a t as o u r c e a n de a c hd a t as o u r c eh a si t so w nf r a m e w o r k ;a l lo ft h e s ed a t ac o n s t i t u t et h ed i f f e r e n td a t as o u r c eo ft h ec o m p a n y t h i sp h e n o m e n o nw i l ll e a dt ot h er e q u i r e m e n t st h a tm o r ea n dm o r ec o m p a n yn e e dt ov i s i ta l ls o r t so fd a t as o u r c e i no r d e rt om e e tt h i sd e m a n dw en e e dt h es y s t e m ,w h i c hc a l ls u p p o r tt h ei n t e g r a t i o no ft h ed i f f e r e n td a t as o u r c e t os o l v et h ep r o b l e mo fh e t e r o g e n e o u si n f o r m a t i o nb e t w e e ne n t e r p r i s e s ,a n dr e a l i z et h ed a t as h a r i n g ,t h i sp a p e rp u tf o r w a r dt h es c h e m eo fd a t ai n t e g r a t i o nb a s e do nm i d d l e w a r et e c h n o l o g y t h e r ew eu s i n gc o r b aa n dx m lt e c h n o l o g yt or e a l i z et h em i d d l e w a r e c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ) i sat e c h n i q u eo fd i s t r i b u t e do b j e c t ,i tc a l li m p l e m e n tt h et r a n s p a r e n te x c h a n g ev i s i t so fd i s t r i b u t e dh e t e r o g e n e o u sd a t as o u r c eb yt h eu s eo ft h ec o r eo fc o r b a ,o r b ;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 ) i sak i n do fm e t a m a r k u pl a n g u a g e ,w h i c hp r o v i d e saf o r m a tt h a td e s c r i b ed a t a t h r o u g ht h et r a n s f o r mb e t w e e nx m la n dr e l a t i o n s h i pd a t ap a t t e m ,d i f f e r e n td a t ap a t t e mc a nb eu n i f i e da n dt h eh e t e r o g e n e i t yo fd a t as o u r c ec a nb ec l e a r e du p z h a n gy a n ( c o m p u t e ra p p l i c a t i o n )d i r e c t e db yp r o f z h a ix u e m i n gk e yw o r d s :m i d d l e w a r e ,h e t e r o g e n e o u sd a t a ,c o r b a ,x m l华北电力大学硕士学位摘要摘要随着企业规模的不断扩大,一个单独企业,每个部门或单位就是一个数据源,每个数据源都可能是异构的,它们构成了企业的异构数据源。这必然导致越来越多的企业应用需要访问各种异构数据源,为了满足这种需求,必须研究出能够支持异构数据源数据整合的系统。为了解决企业信息异构的问题,实现企业间资源共享和信息互访的目的,本文提出了基于中间件技术的数据整合方案。其中,中间件技术用c o r b a 和x m l实现。c o r b a ( 通用对象请求代理体系结构) 是一种分布式对象技术,利用c o r b a的核心部件o r b 可以实现异构数据源的透明互访;x m l ( 可扩展标记语言) 是一种标记语言,通过与关系型数据模式的转化,可以消解数据源数据模式的异构。关键词:中间件,异构数据,c o r b a ,x m la b s t r a c tw i t ht h es u s t a i n i n gd e v e l o p m e n to ft h es c a l eo fc o m p a n y , i nas i n g l ec o m p a n y , e v e r yd e p a r t m e n tw i l lb e c o m ead a t as o u r c e a n de a c hd a t as o u r c eh a si t so w nf r a m e w o r k ;a l lo ft h e s ed a t ac o n s t i t u t et h ed i f f e r e n td a t as o u r c eo ft h ec o m p a n y t h i sp h e n o m e n o nw i l ll e a dt ot h er e q u i r e m e n t st h a tm o r ea n dm o r ec o m p a n yn e e dt ov i s i ta l ls o r t so fd a t as o u r c e i no r d e rt om e e tt h i sd e m a n dw en e e dt h es y s t e m ,w h i c hc a l ls u p p o r tt h ei n t e g r a t i o no ft h ed i f f e r e n td a t as o u r c e t os o l v et h ep r o b l e mo fh e t e r o g e n e o u si n f o r m a t i o nb e t w e e ne n t e r p r i s e s ,a n dr e a l i z et h ed a t as h a r i n g ,t h i sp a p e rp u tf o r w a r dt h es c h e m eo fd a t ai n t e g r a t i o nb a s e do nm i d d l e w a r et e c h n o l o g y t h e r ew eu s i n gc o r b aa n dx m lt e c h n o l o g yt or e a l i z et h em i d d l e w a r e c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ) i sat e c h n i q u eo fd i s t r i b u t e do b j e c t ,i tc a l li m p l e m e n tt h et r a n s p a r e n te x c h a n g ev i s i t so fd i s t r i b u t e dh e t e r o g e n e o u sd a t as o u r c eb yt h eu s eo ft h ec o r eo fc o r b a ,o r b ;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 ) i sak i n do fm e t a m a r k u pl a n g u a g e ,w h i c hp r o v i d e saf o r m a tt h a td e s c r i b ed a t a t h r o u g ht h et r a n s f o r mb e t w e e nx m la n dr e l a t i o n s h i pd a t ap a t t e m ,d i f f e r e n td a t ap a t t e mc a nb eu n i f i e da n dt h eh e t e r o g e n e i t yo fd a t as o u r c ec a nb ec l e a r e du p z h a n gy a n ( c o m p u t e ra p p l i c a t i o n )d i r e c t e db yp r o f z h a ix u e m i n gk e yw o r d s :m i d d l e w a r e ,h e t e r o g e n e o u sd a t a ,c o r b a ,x m l士= i = l明明本人郑重声明:此处所提交的硕士学位论文基于中间件技术的异构数据库数据整合的研究,是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研究工作和取得的研究成果。据本人所知,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得华北电力大学或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。学位论文作者签名:圭色日期:鲨墨:至:)关于学位论文使用授权的说明本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有权保管、并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或其它复制手段复制并保存学位论文;学校可允许学位论文被查阅或借阅;学校可以学术交流为目的,复制赠送和交换学位论文;同意学校可以用不同方式在不同媒体上发表、传播学位论文的全部或部分内容。( 涉密的学位论文在解密后遵守此规定)作者签名:瑰聿幻日期:叫导师签名:华北电力大学硕士学位论文1 1 论文研究背景与意义第一章引言现在随着计算机技术特别是网络技术的迅猛发展,许多行业、单位和部门内部都逐步实现了业务、信息的计算机化管理。但是,由于各个行业、单位和部门的具体业务和功能归属不同,它们都只是根据自身需要构建了许多相互独立的信息服务和管理系统,甚至在一个单位内部所采用的信息化环境也可能不会固守任何一个平台,而是由不同平台组成。这样随着时间的推移和技术的进步,这些由不同技术构建的信息系统就像一个个“信息孤岛 ,各自有着不同的处理对象、操作方法和专用客户端。而由于各部门之间协同合作的需要,在各个环节之间数据整合的问题也日益严重起来n 1 。从应用角度来看,每个部门就是一个数据源,因为他们之间的信息和组织都不一样,这样每个数据源又都是异构的,如此就构成了一个巨大而复杂的异构数据环境。那么如何在这个异构数据环境中方便的访问这些数据呢? 首要关键的问题是研究异构数据之间的整合问题,只有将这些孤立的数据都整合起来,并且提供给用户一个统一的视图,才有可能从巨大的数据资源中获取所需的东西。这样就引出了数据整合概念,数据整合源于数据集成技术旺1 。数据集成技术的研究始于七十年代中期,至今已有二十多年了。从一开始的多数据库集成发展到现在的异构数据整合,数据整合的范围和作用都在不断扩大。现在,数据整合技术不仅能集成数据库中的数据,也能集成非数据库中的数据;不仅能集成传统数据,也能集成复杂的多媒体数据:不仅能集成结构化数据,也能集成w w w 中的半结构化数据,有的数据整合系统甚至能实现数据源的“即插即用 。而随着很多技术( 比如c o r b a 、x m l 技术) 的涌现,通用异构数据整合的研究也正在如火如荼地进行着。1 2 问题的提出异构数据库的数据共享问题由来己久,是数据库领域的经典问题,并随着x m l技术的兴起,再次成为该领域研究一个非常热门的课题,比如对多数据库系统的研究。随着w e b 平台逐渐成为信息服务的主导平台,对w e b 环境下数据共享系统的研究,也呈现出蓬勃发展的趋势。数据共享系统为多个异构数据源的查询提供统一的界面,方便用户进行集成查询。它自动的将用户的查询请求分解为针对各个数据源的查询请求,然后将各个查华北电力大学硕士学位论文询结果合并成最终的结果呈现给用户。多个数据源的存在对用户是透明的,用户感觉好像只对一个单一的数据源进行操作。近年来各部门各行业各领域根据各自不同的应用需求、业务流程、信息结构和计算机软硬件环境等特点分别在不同历史时期先后建立起并运行着越来越多各种各样的信息系统,众多的信息系统绝大部分都是采用各自不同的开发工具、不同的硬件平台、不同的操作系统、不同的网络协议、不同的数据库管理系统( d b m s ) 开发的。企业在发展过程中积累了大量数据,并为存储和管理这些数据不断投资。然而,由于实施数据管理系统的阶段性、技术性以及其它经济和人为因素的影响,以至即使在一个企业内部,采用的数据管理系统也大不相同,从简单的文件数据库到复杂的网络数据库,它们构成了企业的异构数据源。尽管这些数据管理系统能够满足数据存储和管理要求,但是在许多情况下,为完成一项工作,企业应用可能需要访问分布在不同位置上的多个数据管理系统中的数据。例如,某公司需要了解一套产品的生产和使用情况,那么,相关应用首先必须访问生产科、组装部门以及使用车间部门的不同的数据库系统来提取相关数据,然后进行处理。很显然,原有的数据管理系统并不能提供这种支持,需要一个强大的系统能够整合存在于分布数据源的数据3 1 。随着企业信息系统的不断发展,越来越多的用户需要同时访问和处理不同网络节点的多个异构数据库的数据,希望屏蔽各个层次的异构特性,他们不必知道各物理数据库系统的分布,也不必知道各物理数据库的结构组成,不必自己去进行数据转换和结果汇总,只需通过简单的全局查询便可以得到一个综合结果。特别是在i n t e r n e t 出现后,利用i n t e r n e t 技术建立在宽带高速网络之上的许多应用系统如电子商务电子政务办公自动化o a ( o f f i c ea u t o m a t i o n ) 、呼叫中心( c a l 卜c e n t e r ) 、e r p ( e n t e r p r i s e sr e s o u r c ep l a n n i n g ) 企业资源规划、c i m s ( c o m p u t ei n t e g r a t e dm a n u f a c t u r i n gs y s t e m ) 计算机集成制造和决策支持系统d s s ( d e c i s i o ns u p p o r ts y s t e m ) 等也都需要基于一个能共享各部门和领域各类信息的统一平台。针对以上介绍的问题,本文提出了基于中间件技术的异构数据库数据整合的解决方案,并基于此方案对数据整合的主要问题进行了深入研究。1 3 论文研究内容及重点建立合适的中间件体系,是解决异构数据库数据整合中各种问题的关键,关系模式映射、查询数据的转换及发布是实现异构数据库数据共享的基础内容。所以本文的研究内容主要为:2华北电力大学硕士学位论文通过对c o r b a 技术和x m l 技术的研究,提出了基于c o r b a 和x m l 的数据整合体系结构,并对该结构在实施中涉及的关键问题给出解决方案:( 1 ) 以表为单位的封装粒度。提出以局部系统中的数据表为单位的封装策略,从而保证了局部系统的安全性,并提高了集成系统的灵活性。( 2 ) 异构数据模式消解。本文设计了异构数据源的转换方式,使得异构的数据模式可以通过统一的公共数据模式( x m l 中间数据) 表示。同时,通过统一的数据操作语言,用户可以使用通用语言对局部系统中的数据进行处理。研究的重点内容包括:1 ) 数据整合中中间件系统体系结构的设计;2 ) 数据整合中中间件系统中异构数据模式的消解;3 ) 基于c o r b a x m l 的中间件的具体实现。1 4 章节安排本文的章节安排如下:第一章概述介绍论文的研究背景和选题背景。介绍论文的主要研究内容,讨论异构数据库数据整合的问题,并阐述论文所研究的重点。第二章技术综述介绍中间件相关的技术。对异构数据库的整合目标和方法也进行了介绍。还介绍了x m l 技术及x m ls c h e m a 和d t d 模式的异同,并指出了各自的局限及本课题最佳的应用模式。第三章分布式对象技术主要介绍了目前流行的分布式技术c o m ( c o m + ) ,e j b以及c o r b a 技术,重点从结构、服务和应用三方面介绍c o r b a 技术,之后对三种技术做了相关性比较,最后说明此研究选择c o r b a 技术的主要原因。第四章x m l 与数据库的转换首先主要介绍如何基于d t d 在关系型数据库中存储x m l 文档,接着着重介绍了x m l 和关系数据库之间的相互转换,即如何将x m l作为一种不同数据库之间数据共享的中间格式。其中重点在于x m l 与数据库之间的关系和模式转换,为系统研究中解决数据整合奠定基础。第五章中间件结构设计与实现主要介绍基于中间件技术的异构数据库数据整合系统,其中中间件技术用c o r b a x m l 技术实现。重点从系统的分析、设计、实现等几个方面对异构数据库数据整合系统进行研究,在分析研究了数据整合中的关键问题的基础上,提出了一种基于c o i 洒a ) ( m l 的异构数据库数据整合系统结构,实现了对异构数据库数据信息的查询和共享。3华北电力大学硕士学位论文第六章结束语总结本文的研究工作。1 5 本章小结介绍论文的研究背景和选题背景。介绍论文的主要研究内容,初步讨论了异构数据库数据整合中所存在的问题,并阐述了论文研究的重点。4华北电力大学硕士学位论文2 1 中间件技术第二章技术综述随着计算机技术的不断发展,由不同计算机厂商提供的硬件设施、网络环境、操作系统、数据库管理系统、应用模式等等种类繁多、性能各异。所以,对于用户来说,虽然各类应用的可选范围在不断的扩大,但面i 临的问题也随之越来越多。通常以下问题经常会发生:不同硬件平台,不同网络环境,不同数据库之间的互操作;多种应用模式并存,系统效率过低,传输不可靠;数据加密;开发周期过长等等。在这样的情况下,如果单纯依赖传统的系统软件或工具软件提供的功能已经不能满足要求,用户所迫切需要的是一种简捷并屏蔽了复杂的基础技术细节、使企业的计算系统开发、部署与管理变得轻松和谐的企业应用新方式。这样中间件技术就应运而生了。中间件是一种支持分布式应用的重要组件框架结构,分布式应用借助中间件在不同的技术之间共享资源。中间件为应用提供统一的编程模型,来处理异构、分布问题和管理计算资源以及网络通信。中间件对分布式应用的底层支持,决定了中间件必须负责实现分布式事务处理、安全保障、网络负载平衡和交易控制等工作。这一特点,使得目前的中间件主流技术都是基于分布式对象技术瞄3 。其中,e j b ,c o m + 和c o r b a 组件代表了当前中间件技术的最新发展趋势。2 1 1 中间件的定义中间件( m i d d l e w a r e ) 是基础软件的一大类,属于可复用软件的范畴。它介于系统软件和用户的应用软件之间,使用系统软件所提供的基础服务( 功能) ,衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。详细来讲,中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效的开发和集成复杂的应用软件。目前,它并没有很严格的定义,但是业界普遍接受i d c 的定义:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。从这个意义上讲可以用一个等式来表示中间件:中间件= 平台十通信,这也就限定了只有用于分布式系统中的才能叫中间件,同时也把它与支撑软件和实用软件区5华北电力大学硕士学位论文分开来了。由此说来,中间件是一类基于分布式技术的系统软件或软件平台,而非一种应用软件:中间件是一种分布式计算平台,涉及多种资源,包括各种操作系统、数据库。、网络协议甚至语言,其目标是在分布计算环境中实现应用互连,资源共享,协同工作和互操作。目前中间件已经成为分布式企业计算的关键性基础软件阳1 。中间件的工作原理如图2 1 所示:图2 1 一中间件的工作原理。其原理可说明如下:客户端上的应用程序需要从网络中某个结点处获取一定的数据或者服务,这些数据和服务可能处于一个运行着和客户端不同的操作系统的服务器上,客户服务器应用程序中负责查找数据的那一部分只要通过调用中间件a p i访问一个中间件系统,由中间件完成到网络中查找目标数据源或者服务的任务,进而传输客户请求,重组答复信息,最后将结果送回给应用程序。2 1 2 中间件的作用中间件的作用简单来说就是试图通过屏蔽各种复杂的技术细节使技术问题简单化。世界著名的咨询机构s t a n d i s hg r o u p 在一份研究报告中归纳了中间件的十大优越性:缩短应用的开发周期、节约应用的开发成本、减少系统初期的建设成本、降低应用开发的失败率、保护已有的投资、简化应用集成、减少维护费用、提高应用的开发质量、保证技术进步的连续性、增强应用的生命力。:具体的说,中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。所以说中间件带给应用系统的,不只是开发的简便、开发周期的缩短,同时也减少了系统的维护、运行和管理的工作量,还减少了计算机总体费用的投入。其次,中间件作为新层次的基础软件,其重要作用是将不同时期、在不同操作系统上开发的应用软件集成起来,彼此像一个天衣无缝的整体协调工作,这是操作系统、数据库6华北电力大学硕士学位论文管理系统本身做不了的。中间件的这一作用,使得在技术不断发展之后,系统以往在应用软件上的劳动成果仍然物有所用,节约了大量的人力、财力投入。2 1 3 中间件的分类目前中间件技术的应用非常广泛。在不同的应用领域,中间件所提供的功能不尽相同。下面简要介绍一下中间件的分类。宏观上,从中间件所起的作用来看,中间件技术可以分为三大类:( 1 ) 数据类( d a t ai n t e g r a t i o n ) :用于数据的存取、利用和增值,此类中间件用于构建以数据为中心的应用;( 2 ) 处理类( p r o c e s si n t e g r a t i o n ) :把分布在网络结点上的各个应用或处理连接在一起,形成一个统一的、协同工作的分布式应用;( 3 ) 分布式构件类( d i s t r i b u t e dc o m p o n e n t s ) :支持构件式应用,这是未来应用的发展方向。按照i d c 的分类方法,中间件则可分为六类:数据库中间件、基于r p c ( 远程过程调用方式) 的中间件、交易中间件j 基于事件的消息中间件、面向对象的中间件、终端仿真屏幕转换中间件等口3 。2 2 异构数据整合自从数据库尤其是关系型数据库产品问世以来,异构数据库之间实现互操作的问题就一直被人们关注。当数据库大量建立在l a n 之上,i n t e r n e t 及唧w 逐渐成为获取信息的现实手段之后,这一问题显得尤为突出。人们迫切需要解决这一问题,即要以最小的代价,使各种异构数据库之间实现数据的互访及共享阳1 ,并对用户实现数据的透明访问。由此就产生了异构数据库数据整合。利用异构数据库数据整合技术,可以集成不同物理模型的数据库、不同数据模型的数据库、同数据模型不同厂商的同质异型数据库以及同一数据库厂商的不同版本、针对不同网络环境的数据库产品等等。2 2 1 数据的异构性数据的异构性导致了应用对于数据整合的需求。那么何谓异构数据? 异构数据是一个含义丰富的概念,它是指涉及同一类型但在处理方法上存在各种差异的数据,在内容上,不仅可以指不同的数据库系统之间的数据是异构的( 如o r a c l e 和s q ls e r v e r 数据库中的数据) ;而且可以指不同结构的数据之间的异构,( 如结构化的s q ls e r v e r 数据库数据和半结构化的x m l 数据) 。7华北电力大学硕士学位论文总的来说,数据的异构性可以包括以下三个方面:系统异构、数据模型异构和逻辑异构1 。系统异构是指硬件平台、操作系统、并发控制、访问方式和通信能力等的不同,具体细分如下:( 1 ) 计算机体系结构的不同,即数据可以分别存在于大型机、小型机、工作站、p c 或嵌入式系统中。一( 2 ) 操作系统的不同,即数据的操作系统可以是m i c r o s o f tw i n d o w s ,w i n d o w sn t 、各种版本的u n i x 、i b m0 s 2 、m a c i n t o s h 等。( 3 ) 开发语言的不同,比如c 、c + + 、j a v a 、d e l p h i 等。( 4 ) 网络平台的不同,比如e t h e r n e t 、f d d i 、a t m 、t c p i p 等。:而数据模型异构则是指d m b s 本身的不同。比如数据整合系统可以采用同为关系数据库系统的o r a c l e 、s o ls e r v e r 等作为数据模型,也可以采用不同类型的数据库系统一关系、层次、网络、面向对象型数据库等。逻辑异构则包括命名异构、值异构、语义异构和模式异构等。比如语义的异构具体表现在相同的数据形式表示不同的语义,或者同一语义由不同形式的数据表示。以上这些构成了数据的异构性,数据的异构给行业、单位和部门等的信息化管理以及决策分析带来了极大的不便。于是数据集成技术应运而生了。2 2 。2 数据整合的定义及目标数据整合用来对各种异构数据提供统一的表示、存储和管理,这些功能在异构数据整合系统中实现。数据整合屏蔽了各种异构数据间的差异,通过异构数据整合系统统一操作。因此整合后的异构数据对用户来说是统一的和无差异的。由上述可知,异构数据的统一和无差异是数据整合的目标。因此,数据整合的目标是为了实现各个异构数据源之间的数据共享,有效地利用资源,提高整个异构数据整合系统的性能。而数据整合的理想目标是在分布式环境下给用户提供一个单一系统映像s s i ( s i n g l es y s t e mi m a g e ) 。这意味着各个数据源之间的相互作用必须透明地进行。透明就是说把所有相互作用的细节向用户隐藏起来,使用户把各个子系统看成是一个完全无缝的数据系统。具体来说,数据整合应达到这样两个目标,即分布的透明性和异种数据源的透明性。2 2 3 数据整合方法8华北电力大学硕士学位论文异构数据整合方案从采用的形式来看一般可以分为两种。第一种就是将原有的数据移植到新的数据管理系统中,为了把不同类型的数据整合在一起,必须将一些非传统的数据类型转化成新的数据类型。许多关系数据库供应商提供了类似的功能。这种方案的缺点是随着数据管理系统的升级,原来数据的相关应用软件,或是被废弃或是需要重新开发,以适应新的数据管理系统。因此,移植到一个新系统通常不是一个实际的解决方案。第二种方法是利用中间件技术来集成各异构数据库,该方法并不需要改变原始数据的存储和管理方式。中间件位于异构数据库系统( 数据层) 和应用程序( 应用层)之间,向下协调各数据库系统,向上为访问集成数据的应用提供统一数据模式以及数据访问的通用接口。各数据库的应用仍然完成它们的任务,中间件系统则主要集中为异构数据源提供一个高层次检索服务。显然,中间件系统模式是实现异构数据库数据整合的较理想的解决方案。最常用的具体的数据整合方式一般有三种一一联邦数据库( f e d e r a t e dd a t a b a s e ) 、数据仓库( d a t aw a r e h o u s e ) 以及中介( m e d i a t i o n ) 。联邦数据库是数据库整合的最简单结构。它的构成方式是将所有组件数据库进行一对一的连接。这样会出现以下问题:如果n 个数据库中的每一个都需要与其他( n - i ) 个实现互操作,那么开发者必须编写n ( n - i ) 段代码来支持两两之间的查询访问。而且这种互操作性是有局限性的交互,并不能实现各数据库的灵活的集成。数据仓库是把来自于几个数据源的数据副本都存储在单一的数据库中。在这种结构中,所有数据源的数据都被抽取出来,合成一个全局模式,并存储在数据仓库中,这在用户看来与一般的数据库系统无异。数据仓库支持对历史数据的访问,用户也可以通过数据仓库提供的统一的数据接口进行决策支持的查询。但是这种方式有若干不足:比如数据仓库中的数据在存储之前是经过一定的筛选处理的,数据仓库还需要定期更新,并且通常不允许用户对数据仓库进行更新,因为这些更新不能反映在基本数据源中n 引。中介则是一种软件构件,支持虚拟视图或视图集合。这种整合方式与数据仓库中物化关系集成数据源的方式相似,但它并不存储任何实际数据。中介的作用是在用户提交了一个查询以后,将用户查询翻译成一个或多个对数据源的查询。然后将数据源的查询结果进行综合处理,并将之返回给用户。这种方式实际上就是前面所提及的中间件系统模式。总之,无论是哪种实现方法,它们共同的一点就是要使其中的组件数据库( c o m p o n e n td a t a b a s e ) 保持自治性,即其局部定义,局部应用及与其它数据库交换数据的局部策略都能保持不变。9华北电力大学硕士学位论文2 3 可扩展标记语言x m l2 3 1x 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 ) 是由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 p ,标准化通用标记语言) 发展而来,是s g m l 的一个简化子集。它以一种开放的自我描述方式定义数据结构,在描述数据内容的同时能突出对结构的描述,从而体现出数据之间的关系。x m l 被设计为混合语言,以便在用户和程序之间交换信息。x m l 具有的特性有:可扩展、自描述、结构和内容以及表现分开n 。它的出现,为分布、异构的软硬件环境下信息集成框架和方法的研究提供了一个全新的思路。在x m l 文档中,元素是描述文档逻辑结构的基本概念,实体则是描述文档物理结构的基本概念。在物理上,x m l 文档由标记和字符数据( 实体) 组成,字符数据是文档真正的内容,而标记( t a g ) 则表示文档的逻辑结构,并把实体连接在一起。构造具有良好结构的文档在许多情形下都是有用的,但它们所使用的元素结构仅存在于该文档和开发人员的头脑当中。d t d ( 文档类型定义) 使开发人员将他们的思想具体化,为一组具有相同结构的文档( 而不仅仅是单个文档) 创造规范。正是通过d t d ,x m l 承诺帮助创建更加智能的文档,如提供某种程度的查错功能,易于从中提取出有用的信息,并将它们按照人们的需要展示出来。文档类型声明将d t d 附加到实际的x m l 文档中,或者提供有关的文档结构声明,使d t d 与文档分离,便于复用并且保证文档的一致性,避免开发人员为了自己的方便而编写出格式不兼容的文档。有些d t d 是公共标准,以标准化格式供用户使用。其它d t d 则是在本地开发的,仅对某一个应用、企业或者小的行业使用。在d t d 中定义了u r l 地址,当w e b 地址改变时,改动d t d 中的定义即可,而不必在h t m l 或者x m l 中进行逐一的修改,从而使w e b 的维护更加方便,w e b 应用也更加稳定。对于己经制订成为标准并被广泛接受的d t d ,可以不随着文档一起下载到客户端。对于频繁使用和可重用的d t d 、模板等,可以存储在公共资源库当中,供开发人员引用和下载。这样,开发人员只需要创建当前公共资源库中没有的对象。公共资源库的作用如同中央数据仓库。创建公共资源库存在巨大的挑战。一方面是对象的管理问题,如增加、更新和删除等;另一方面是对象的同步更新问题。除了描述特定文档类的x m l 应用之外,还有几种可以在任意一种x m l 文档类型中使用的x m l 应用,这些x m l 应用在w 3 c 中有详细的定义。它们使得创建文档更加容易,并且为文档添加了增强功能。这些x m l 应用包括:可扩展样式表语言x s l ,x m ls c h e m a ,x m l 链接语言x l i n k ,x m l 指针语言x p o i n t e r 以及x m l 路径语言x p a t h 等】0华北电力大学硕士学位论文等。x m l 具有以下特点:( 1 ) 极具扩展性:x m l 的标记是用户自定义的,所以从理论上讲,其标记类型的数量可以无限多:( 2 ) 结构性强:x m l 的文件结构可以嵌套到任意程度,能用来表示面向对象的等级层次;( 3 ) 交互性好:通过使用x m l ,用户可以非常方便地在本地进行数据操作,不需与服务器交互,减轻了服务器的负担;( 4 ) 语义性强:x m l 可以自定义标记,以利于异构系统之间的数据交换和信息检索:( 5 ) 纯文本:几乎任何工具都可创建和编辑x m l ;( 6 ) 基于内容的数据标识:可以被不同程序用于不同目的:( 7 ) 可格式化:x s l 可以指定如何显示数据;数据和显示是分离的,可以为同一数据指定不同的样式表用于不同输出;( 8 ) 极强的链接能力:可以定义双向链接、多目标链接、扩展链接以及文档间的链接;( 9 ) 易于处理:x m l 对格式的定义极其严格,具层次性,并且与厂商无关:( 1 0 ) 与平台无关:x m l 文档无须任何更改即可移植到其它平台上。正是x m l 语言具有的这些优点,使得它本质上十分适合作为不同应用之间的数据交互格式。2 3 2d t d 与x m ls c h e m a在使用x m l 描述相同的事物时,不同的编写者可能使用不同标记和结构,造成信息交换的困难,因此需要一种机制指定应该如何用x m l 描述某一特定事物,模式就是专门用于检验文档是否满足某种格式要求的机制。在x m ls c h e m a ( 模式) 出现以前,x m ld t d ( x m l 文档类型定义) 一直是x m l 技术领域所使用的最广泛的模式。下面,对x m ls c h e m a 和d t d 进行比较来说明二者的特点:( 1 ) 数据类型x m ls c h e m a 与d t d 相比有一个显著的区别,就是对数据类型的支持。d t d 提供的数据类型只有c d a t a ,e n u m e r a t e d ,n m t o k e n ,n m t o k e n s 等十种内置类型。x m l1 1华北电力大学硕士学位论文s c h e m a 则不同,它内置了1 9 种基本数据类型,它们是所有数据类型的基础。并且规定了2 5 种内置派生数据类型,派生数据类型可以含有元素或混合内容,而且可以有属性。通过将数据类型表示为由v a l u es p a c e ,l e x i c a ls p a c e 和f a c e t 三部分组成的三元组而获得更大的灵活性。但是,x m ls c h e m a 数据类型的真正灵活性来自于其对用户自定义类型的支持。x m ls c h e m a 提供两种方式来实现数据类型的定义。简单类型定义( s i m p l e t y p e ) ,即在x m ls c h e m a 内置的数据类型基础上,或者在其它由x m ls c h e m a 内置的数据类型继承的数据类型基础上,或者在定义所得到的简单的数据类型基础上,通过r e s t r i c t i o n ,l i s t 或者u n i o n 方式定义新的数据类型。例如:( x s :e l e m e n tn a m e = ”z i p c o d e ”复合类型定义( c o m p l e x t y p e ) 。该方法提供了一种功能强大的复杂数据类型定义机制,可以实现包括结构描述在内的复杂数据类型。例如:( 2 ) 元素声明d t d 制定于x m ls c h e m a 出现之前,没有遵循x m l 规范,而x m ls c h e m a 实际上就是一个x m l 文档,因此它们有着完全不同的格式。例如,定义一个元素时,d t d用这样的语法:1 2华北电力大学硕士学位论文可以看到,该定义不但用了不合规定的名字字符( 如字符! ) ,而且e l e m e n t 标识没有关闭,没有引用的属性。而x m ls c h e m a 文档中的完成相同功能的定义如下: x s :e l e m e n tn a m e = “a u t h o r “t y p e = x s :s t r i n 9 6bx m ls c h e m a 允许元素的内容取空值,因而可更灵活地描述数据,而d t d 则没有此功能。此外,d t d 与x m ls c h e m a 都支持对于元素节点顺序的描述,但d t d 没有提供对于无序情况的描述,亦即如果以d t d 来描述元素的无顺序出现情况,它必须采用穷举元素各种可能出现的排列顺序方式来实现,这种方法不仅繁琐,有时甚至是不现实的。( 3 ) 名称空间在x m l 中引入名称空间的目的,是为了能够在一个x m l 文档中使用其它x m l 文档中的一些具有通用性的定义( 通常是一些元素或数据类型等的定义) ,并保证不产生语义上的冲突。d t d 不能支持这一特性( 开发人员可以使用一个属性列表声明,但不是真正代表一个名称空间) ,而x m ls c h e m a 则很好的满足了这一点。例如,如果在一个文件中使用了一个有多个含义的n a m e 元素,可以加一个名称空间来说明其含义:c a rg a t e s1 3华北电力大学硕士学位论文创建一个x m ls c h e m a 文件时,必须声明一个名字空间( 或是一个默认的名字空间,或是一个本地的名字空间) :( 4 ) 属性声明属性声明允许开发人员定义关于属性的信息。对于每个属性,开发人员可以定义一个默认值、行为模式( 固定或可选) 、固定值和一种数据类型。属性总的定义为简单类型,因为它们可以只含有数据。在x m ld t d 中以关键字# i m p l i e d ,# f i x e d ,# r e q u i r e d 来指定属性是否出现,并不支持属性缺省值的定义。x m ls c h e m a 则提供了更明确的标记,来实现清晰易懂的表示。x m ls c h e m a 属性声明的优点是它们允许有更复杂的数据类型。除了预定义数据类型之外,开发人员还可以基于已有的数据类型,定义自己的数据类型。( 5 ) 对a p i 的支持d o m ( 文档对象模型) 和s a x ( 简单的x m l 应用编程接口) 是开发人员最常使用到的x m la p i ( x m l 应用编程接口) 。d o m 和s a x 只对x m l 实例文档有效,虽然可以通过它们实现以d t d 来验证x m l 文档,但是d o m 和s a x 却没有提供解析d t d 文档内容的功能,也就是说无法通过d o m 或s a x 来得到d t d 中元素、属性的声明和约束的描述。但是在基于d t d 的数据交换过程中,一些应用程序需要得到d t d 本身的描述内容和结构,以方便对x m l 文档中数据的处理,例如,在使用关系型数据库存储x m l 文档的过程中,就会涉及到如何将d t d 映射为关系模式描述的问题。为了实现对d t d 的解读,研究人员必须为d t d 开发新的接口或者专用工具n2 1 。而对于x m ls c h e m a ,由于x m ls c h e m a 本身就是一个x m l 文档,所以可以通过使用d o m 或s a x 等x m la p i很容易地解析x m ls c h e m a ,这就实现了x m l 文档与其描述模式在处理方式上的一致性,利于数据的传输和交换。( 6 ) 对数据库的支持目前,如何将关系型数据表示为x m

温馨提示

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

评论

0/150

提交评论