(计算机应用技术专业论文)中小企业异构数据库集成的研究与实现.pdf_第1页
(计算机应用技术专业论文)中小企业异构数据库集成的研究与实现.pdf_第2页
(计算机应用技术专业论文)中小企业异构数据库集成的研究与实现.pdf_第3页
(计算机应用技术专业论文)中小企业异构数据库集成的研究与实现.pdf_第4页
(计算机应用技术专业论文)中小企业异构数据库集成的研究与实现.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(计算机应用技术专业论文)中小企业异构数据库集成的研究与实现.pdf.pdf 免费下载

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

文档简介

江苏大学硕士学位论文 摘要 由于企业信息化是一个渐进的过程,所以在企业中会出现信息孤岛 的问题,它们同时构成了企业的异构数据库结构。如何解决这个问题, 使得企业数据能够共享,是计算机领域研究的一个热点。 本文设计并实现了中小企业异构数据集成系统,主要的研究内容如 下: 在对传统数据提取方法分析的基础上,针对我们开发的中小企业 异构数据库集成实用系统,提出了两种新的增量数据提取方法:一种是 虚拟日志,该方法利用触发器把数据库操作序列写入操作表中,通过 读取操作表来获取增量数据。创新处在于我们将提取的对象缩小到了 字段级,并提出了对日志的优化方法,减少了数据的冗余。另一种针 对不支持触发器的数据库情况提出了s h a l 法,利用s h a l 算法对数据 记录进行摘要运算,通过前后两次的摘要的对比来提取增量数据,该 算法易于实现且速度快。 在异构数据转换方法的研究中,通过对常用的转换方法的比较分 析,我们提出了一种基于x m l 模版的异构数据转换方法。在该方法中, 利用x m l 映射来消除命名异构;利用转换表达式来消除单位异构;利 用转换函数,映射表来消除精度的异构,数据类型异构以及数据表示 方法的异构。这样异构转换信息都保存在x m l 模版里,与业务逻辑分 开,实现了可扩展性。 在分析现有的异构数据集成方法的基础上,针对它们对中小企业 进行异构数据集成的不足,提出了一种适用于中小企业的异构数据集 成方法:增量数据提取+ f t p 传输+ x m l 转换模版+ 签名加密。客户端程 序利用增量提取程序来提取局部数据库增量数据,处理后通过f t p 把数 江苏大学硕士学位论文 据传递到服务器端。服务器端程序接收到数据后调用n l 转换模版进 行异构消除,最后把数据到全局数据库。此方法不需要改动原有的业 务系统程序,花费小,数据传输效率高,满足了中小企业异构数据集 成的要求。 最后用镇江安监局系统来验证该方法。该系统是在各子系统分散的 环境下,实现中小企业异构数据库集成的一个典型例子,它的成功应 用表明了我们提出的中小企业异构数据集成方法的可行性及良好的功 能特性,达到了预期的目标。 关键词:数据集成;数据复制;x m l :触发器;s h m 算法;虚拟目恚 狂 江苏大学硕士学位论文 a b s t r a c t w i t ht h eg r a d u a lp r o c e d u r eo fe n t e r p r i s ei n f o r m a t i o n ,i n f o r m a t i o ni s l a n d sc a nb e f o u n di nt h e s ee n t e r p r i s e s t h e yc o n s t r u c tt h eh e t e r o g e n e o u sd a t a b a s es t r u c t u r ei nt h e e n t e r p r i s e s h o wt or e s o l v et h ep r o b l e mi sah o t s p o ti nc o m p u t e rf i e l d t h i sp a p e rd e s i g n sa n dr e a l i z e st h es m eh 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 m , t h em a i nc o n t e n t sa r ea sf o l l o w s : h a v i n ga n a l y z e dt h et r a d i t i o n a lm e t h o do fd a t ae x t r a c t i o n ,t h et h e s i sp r o p o s e st w o k i n d so fn e wi n c r e m e n t a ld a t ae x t r a c t i o nm e t h o d e sf o rt h em i d a n ds m a l l - s c a l e e n t e r p r i s ep r a c t i c a ls y s t e mw ed e v e l o p :o n ei si n c r e m e n t a ld a t ae x t r a c t i o nm e t h o do f v i r t u a ll o g b ym a k i n gu s eo ft r i g g e ri tw r i t e sd a t a b a s eo p e r a t i o ns e q u e n c ei n t o o p e r a t i o nt a b l e s ,a n da c q u i r e si n c r e m e n t a ld a t ab yr e a d i n go p e r a t i o nt a b l e s t h em e a n s o fv i r t u a ll o gr e d u c e st h ee x t r a c t i o no b j e c tf r o mr o wt of i e l d s ,a n do p t i m i z e sl o g , r e d u c i n gt h ed a t ar e d u n d a n c y t h eo t h e ri si n c r e m e n t a ld a t ae x t r a c t i o nm e t h o do fs h a l u n d e rt h es c e n eo fn ot r i g g e rs u p p o r tb yd b m s ,w em a k eu s eo fs h a la l g o r i t h mt o c a l c u l a t et h er e c o r d ss u m m a r y a c c o r d i n gt oc o m p a r et h en e ws u m m a r ya n do l do n e , w ec a ne x t r a c tt h ei n c r e m e n t a ld a t a t h i ss t r a t e g yi ss i m p l e ,lu l l sr a p i d l y i nt h er e s e a r c ho fh e t e r o g e n e o u sd a t at r a n s f o r m a t i o nm e t h o d ,h a v i n ga n a l y z e da n d c o m p a r e dt h et r a d i t i o n a lt r a n s f o r m a t i o nm e t h o d e s , w ep r e s e n tah e t e r o g e n e o u sd a t a t r a n s f o r m a t i o nm e t h o db a s i so fx m lt e m p l a t e i nt h i sm e t h o d ,w em a k eu s eo fx m l m a p p i n g t oe l i m i n a t en a m eh e t e r o g e n e i t y , u t i l i z et r a n s f o r m a t i o ne x p r e s s i o nt oe l i m i n a t e u n i th e t e r o g e n e i t y , m a k eu s eo ft r a n s f o r m a t i o nf u n c t i o na n dm a p p i n gt a b l e st oe l i m i n a t e p r e c i s i o nh e t e r o g e n e i t y , d a t at y p eh e t e r o g e n e i t ya n d t h e h e t e r o g e n e i t y o fd a t a e x p r e s s i o nm e t h o d w es t o r et h eh e t e r o g e n e i t yt r a n s f o r m a t i o ni n f o r m a t i o ni n t ox m l t e m p l a t e ,w h i c hi ss e p a r a t e df r o mb u s i n e s ss y s t e m ,a n dr e a l i z e st h es c a l a b i l i t y h a v i n ga n a l y z e dc u r r e n td a t ai n t e g r a t i o nm e t h o d ,w ea r ea w a r eo ft h a tt h e yd o n t m e e tt h ed e m a n do 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 nf o rs m a l la n dm e d i u m - s i z e d e n t e r p r i s e s ,s ow ep r e s e n tad a t ai n t e g r a t i o nm e t h o dw h i c hi sf e a s i b l et om e d i u m s i z e d e n t e r p r i s e s :i n c r e m e n t a ld a t ae x t r a c t i o n + f t pt r a n s m i s s i o n + x m lc o n v e r s i o nt e m p l a t e + x m ls i g n a t u r ee n c r y p t i o n c l i e n t p r o g r a mm a k e su s eo fi n c r e m e n t a l e x t r a c t i o n p r o c e d u r et oe x t r a c tl o c a l d a t a b a s ei n c r e m e n t a ld a t a , a f e rd e a l i n gw i t ht h ed a t a , t r a n s m i t st h ed a t at os e r v e r a f t e rt h es e r v e rp r o g r a mr e c e i v e st h ed a t a ,i tw i l le l i m i n a t e t h ed a t ah e t e r o g e n e i t yb ym a k i n gu s eo fx m lt r a n s f o r m a t i o nt e m p l a t e ,a n dw r i t e st h e d a t ai n t oc e n t e rd a t a b a s e t m sm e t h o dd o e s n tn e e dt om o d i f yo r i g i n a lb u s i n e s ss y s t e m p r o g r a m m i n g ,s p e n d sl i t t l em o n e y , h a sag o o dd a t a ,t r a n s m i s s i o ns p e e d i tm e e t st h e d e m a n do fs m a l la n dm e d i u m - s i z e de n t e r p r i s e s l a s t l y , t h et h e s i sp r e s e n t sa ni n s t a n c eo fz h e n j i a n gs e c u r i t ym o n i t o rs y s t e m t h i s m 江苏大学硕士学位论文 s y s t e mi m p l e m e n t st h ed a t ai n t e g r a t i o no fh e t e r o g e n e o u sd a t a b a s e si nt h ee n v i r o n m e n t o fd e c e n t r a l i z e ds u b s y s t e m sf o rs m a l la n dm e d i u m - s i z e de n t e r p r i s e s t h er e s u l t ss h o w t h a tt h em e t h o do fd a t ai n t e g r a t i o nf o rs m a l la n dm e d i u m s i z e dw h i c hw ep r e s e n ti s a v a i l a b l e ,i ta c h i e v e st h ee x p e c t a t i o n k e yw o r d s :d a t ai n t e g r a t i o n ;d a t ar e p l i c a t i o n ;x m l ;t r i g g e r ;s h a la l g o r i t h m ;v i r t u a l l o g i v 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定, 同意学校保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。本人授权江苏大学可以将本学位论文的全部 内容或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存和汇编本学位论文。 本学位论文属于 保密口,在年解密后适用本授权书。 不保密区 学位论文作者签名:辫鼍 知钾年l :月l g 匿 师签穆加 矿参,7 年m 蜩 独创性声明 本人郑重声明:所呈交的学位论文,是本人在导师盼指导下,独 立进行研究工作所取得的成果。除文中已注明引用的内容以外,本论 文不包含任何其他个人或集体己经发表或撰写过的作品成果。对本文 的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本 人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:棠警罾 嚣期:唧年i 2 月埽日 江苏大学硕士学位论文 1 1 选题背景 第一章绪论 随着计算机技术的迅速发展,各个行业都实现了企业信息化管理,这些系统之 间是独立的、异构的,它们形成了信息孤岛。这些系统之间信息交换不方便、无 法信息共享、以及信息不一致成为企业信息系统的缺陷。所以为了消除信息孤岛, 需要有一种能够集成异构信息的异构数据库集成系统来实现信息的共享。 数据集成【l 】的概念是把不同来源、格式、特点性质的数据在逻辑上或物理上有 机地集中,实现分布的、异构的、自治的数据共享的主要技术,数据集成一般还 应满足用户数据访问的实时性和安全性等方面的要求。 虽然异构数据库集成技术已经研究了多年,在理论和实践上都有很大的进步, 但仍有很多问题没有得到解决,特别是在实际运用中。作者参与了镇江安监局系 统的设计与开发,由于各个子系统分散,距离远,数据库存在异构等因素的制约, 在现有的数据集成方案无法很好地解决在实际应用中遇到的各种问题的情况下, 设计了一种适应于中小企业的异构数据库集成方案:增量数据提取+ 脚传输+ x j l 2 异构转换模版+ 签名加密。该方案不影响原有的业务系统,花费小,对网络要求 低,实现难度低,实施费用低,满足了对中小企业进行异构数据集成的目的。 1 2 国内外研究现状 数据集成技术的研究始于七十年代中期,至今已有三十多年了。从一开始的 多数据库集成发展到现在的异构数据源集成,数据集成的范围和作用都在不断扩 大。目前典型的数据集成方法有:模式集成方法与数据复制方法。 1 2 1 模式集成方法 模式集成圆是人们最早采用的数据集成方法【3 】【4 】。模式集成方法中的数据仍保 存在各数据源上,由集成系统提供一个虚拟的集成视图( 即全局模式) 以及全局模 式查询的处理机制。用户直接在全局模式的基础上提交请求,由数据集成系统处 理这些请求,转换成各个数据源在本地数据视图基础上能够执行的请求【5 】。联邦数 据库和中间件集成方法是现有的两种典型的模式集成方法。 1 联邦式数据库 联邦式数据库网【7 】【8 】【9 1 是早期人们采用的一种模式集成方法。联邦数据库中数 江苏大学硕士学位论文 据源之间共享自己的一部分数据模式,形成一个联邦模式。联邦数据库系统按集 成度可分为两类:紧耦合联邦数据库系统和松耦合联邦数据库系统【l o 】。紧耦合系 统拥有统一的全局模式,各数据源的数据模式均映射到全局数据模式上,集成度 较高,但是构建全局数据模式比较复杂,扩展性也差。松耦合系统没有全局模式, 采用联邦模式,通过提供统一的查询语言,由用户解决异构的问题,集成度不高。 f d b s 中实现互操作最常用的方法是将每个数据库模式分别和其它所有数据 库模式进行映射,这样联邦中需要建立n 宰( n 一1 ) 个模式映射规则,但当参与联邦的 数据库很多( n 值很大) 时,建立映射规则的任务变得不可行了。所以,联邦数据库 集成系统适合于自治数据库的数量比较小的情况。 2 中间件解决方法 此集成方法是另一种典型的模式集成方法,它同样使用全局数据模式。g w i e d e r h o l d 最早给出了基于中间件的集成方法的构架【l l 】。斯坦福大学g a r c i a m o l i n a 等人在1 9 9 4 年开发了t s i 删i s 系统就是一个典型的中间件集成系统【1 2 1 。基于 中间件的数据集成模式如图1 1 所示: 呆 用户 久 图1 1 基于中间件的数据集成模式 基于m e d i a t e d 的数据集成系统主要由中介器( m e d i a t o r ) 和针对每个数据源 的包装器( w r a p p e r ) 组成。其中每个数据源对应一个包装器,中间件通过包装器 和各个数据源交互。用户在全局数据模式的基础上向中间件发出查询请求。中间 件处理用户请求,将其转换成各个数据源能够处理的子查询请求,并对此过程进 2 江苏大学硕士学位论文 行优化,以提高查询处理的并发性,减少响应时间。包装器对特定数据源进行了 封装,将其数据模型转换为系统所采用的通用模型,并提供一致的访问机制。中 间件将各个子查询请求发送给包装器,由包装器来和其封装的数据源交互,执行 子查询请求,并将结果返回给中间件。 由于中间件都是由各个厂商独立开发的,所以这些中间件都具有专有的a p i 和通信协议,这使得不同的中间件很难进行相互的操作。而且这些中间件只提供 了某些平台的实现,从而限制了应用在异构系统之间的移植。应用开发者在这些 中间件之上建立自己的应用还要承担相当大的风险,由于技术的更新往往需要重 写以前的应用。 1 2 2 数据复制方法 数据复制方法【1 3 1 将各个数据源的数据复制到与其相关的其它数据源上,并维护 数据源整体上的数据一致性、提高信息共享利用的效率。最常见的数据复制方法 就是数据仓库方法【1 4 】【1 5 1 1 1 6 1 。数据仓库中的数据是在对原有分散的数据库数据抽取、 清理的基础上经过系统加工、汇总和整理得到的。用户则像访问普通数据库一样 直接访问数据仓库。 由于数据仓库系统的昂贵的投资费用、项目实施周期长、项目成功率风险大 等原因制约了数据仓库在中、小型企业或数据积累少的企业解决异构数据源整合 和集成需求的应用。而且由于数据仓库中存储的是历史与汇总数据,用于数据决 策,一般不允许对数据仓库进行更新。 由于数据库厂商提供的复制方案都依赖于各自的数据库,基本不支持异构数据 库之间的数据集成。另外这些复制方案要么需要改动原有的应用系统,要么影响 原有应用系统的运行效率。 1 2 3 上述两种方法的优势和不足 以上两种数据集成方法各有优缺点及适用范围。模式集成方法为用户提供了 全局数据视图及统一的访问接口,透明度高。模式集成方法适用于被集成的系统 规模大、数据更新频繁、数据实时一致性要求高的情况。但该方法自身并不保存 数据,每次数据访问都需要调用各个局部数据库来获取数据。因此网络开销很大, 需要有很好的网络性能。 数据复制方法是对数据集中管理,数据集中在全局数据库中,用户只需要访 3 江苏大学硕士学位论文 问全局数据库中的数据即可,这会大大提高系统处理用户请求的效率。当数据分 布性比较广,网络延迟较大,同时又需要有很短的处理时间时,也可考虑采用数 据复制集成方法。但数据复制通常存在延时,使用该方法时,很难保障数据源之 间数据的实时一致性。典型数据集成方法的优缺点如表1 - 1 所示: 表1 - 1 典型数据集成方法的优缺点对照表 集成方法解决的问题优点缺点 缺乏必要的标准,只适用 联邦数据于数据源个数很少的数 库系统 数据源间异构问题支持读写访问 据库系统中,对非数据库 系统数据无能为力 模 1 利于复用1 缺乏通用标准 屏蔽了系统的异 式 中间件构性,使应用软件 2 管理方便 2 耦合度要求高 集 系统能够运在不同平 3 易维护3 难于穿越防火墙 台上 4 节约成本4 模式构建和异构性解 成 5 利于移植 决比较复杂 1 避免网络不稳定带来的 移动 解决了主动服务 通信不正常 a g e n t s 的问题 2 降低延迟效率不高 技术3 提高网络的利用率、降低 通信的中断率 数据数据仓 解决了数据分布 1 实时一直性差 1 访问效率高2 开发周期长 复制库技术性问题2 网络依赖性弱3 费用昂贵 4 更新困难 1 3 本文的主要研究内容 通过上节介绍可知,模式集成方式需要每次数据访问都需要调用各个局部数据 库来获取数据,网络开销很大,导致数据集成的效率很低。而我们的各个子系统 都很分散,距离远,网络性能不是很好,决定了采取模式集成的方法不可行。而 采用数据仓库则投资费用昂贵、项目实施周期长,项目风险大。中小企业无力采 用数据仓库进行数据的集成。 根据需求,本文提出了一个适用于中小企业异构数据集成的方法。该方法将子 系统的数据集中起来,形成一个大的全局数据库。可以在全局数据库上建立一个 应用系统,该应用系统实现了各个子系统数据的一致性,可以提供对全局数据的 4 江苏大学硕士学位论文 查询与分析。各个局部数据库可以通过访问全局数据库来获取所要的数据,全局 数据库可以定时从局部数据库获取新的数据,来保持局部数据库和全局数据库数 据的一致。我们主要研究怎样把局部数据库集中到全局数据库,怎样通过程序来 定时把局部数据库的数据更新到全局数据库来保持全局数据库和局部数据库数据 的一致。其中的主要难点是增量提取技术与异构冲突消解技术,增量数据是指一 段时间内数据库数据变化的部分,我们对这两点进行了深入的研究。 ( 1 ) 提出了一个适用于中小企业异构数据集成的方法 该集成方法是:增量数据提取+ f t p 传输+ x m l 异构转换模版+ 签名加密。通过 该方法把局部数据库中的数据定时更新到全局数据库,达到全局数据库和局部数 据库数据的一致性。我们利用增量数据提取用来提取增量数据,f t p 用来传输增量 数据,x m l 异构转换模版用来消除各个局部数据库异构性,签名加密用来保证数据 传输的安全性。具体过程是:局部数据库端运行客户端程序,中心数据库端运行 服务器端程序。客户端程序定时利用增量数据提取模块定时提取增量数据,同时 把增量数据转换成x m l 格式文件,经过签名加密后放在客户端的f t p 目录下,并 发送消息通知服务器程序来下载增量数据。服务器端连接f t p 服务器来下载数据, 接收到数据后首先验证签名并解密,然后利用x m l 模版来消除数据的异构性并进 行主键转换,最后通过s q l 生成模块把数据生成s q l 语句并批量执行s q l 语句来 把数据更新到中心数据库。该方法不需要改动原有系统,数据传输率高,花费小, 该数据集成方法满足中小企业进行异构数据集成的要求。 ( 2 ) 提出了两种增量数据提取方法 对支持触发器的数据库提出了一种虚拟同志法的数据提取方法;对不支持触发 器的数据库系统提出了一种基于s h a l 的算法的增量数据提取方法。 在虚拟日志法中,首先为子系统中每个要集成的表建立一个操作跟踪表,并在 原表上建立插入、修改、删除三种触发器,当对该表进行操作时触发器就会把原 表主键、执行的操作、更新时间等控制信息写入操作跟踪表中。以后我们可以根 据操作跟踪表来提取该表的数据变化情况,把该情况反映到全局数据库中达到局 部数据库和全局数据库的一致。我们把监视对象缩小到了字段级别,如果是修改 操作,我们只需把变化的字段传到服务器端,而不是把整条数据都传到服务器端, 减少了数据传输量。此外,在一段时间内,业务系统会对统一数据行进行多次的 数据操作,这样在操作跟踪表中就出现了多次的操作记录。我们提出一种虚拟日 志优化算法,来对这些多次操作记录进行分析,确定最终应该对全局数据库执行 的操作。如多次对一条记录修改,我们只需对全局数据库一次修改即可。又如在 局部数据库插入一条记录随后又删除,我们就不需要把该记录更新到全局数据库。 通过优化,消除了数据的冗余,提高了系统的运行效率。 5 江苏大学硕士学位论文 s h m 法是为每一个要提取的表建立相应的s h a l 表,s h a l 表包括记录的主键, 以及该条记录经过s i - l a i 算法产生的摘要。s i t m 算法是散列算法,对输入产生唯一 的输出,所以可以利用s h m 来判断两个数据是否相同。把s i - 认i 表和现在对应数 据库表进行比较,如果一条记录在s h a l 表存在而在现在数据库表不存在则说明该 记录已经删除,如果一条记录在现在的数据库表存在而s h m 表不存在该记录说明 是新增的记录,如果都存在则对现在的记录利用s h a l 生成摘要,通过比较摘要来 判断该记录是否改变,若改变则该记录是修改的。这样就得到了在一段时间内新 增的,删除的,以及修改的记录。并在比较过程中更新s h m 表用来记录此时的数 据库表的状态以备下次再进行比较。该方法适用于不支持触发器的数据库,在数 据量较小的情况下具有很好的提取效率。 ( 3 ) 提出了一个基于x m l 模版的异构数据转换方法 为了数据集成我们需要把各个数据模式通过转换统一到全局模式,我们提出了 一个基于x m l 模版的异构数据转换方法。该方法通过x m l 模版来建立全局数据库 表与局部数据表之间的映射,字段与字段之间的映射,并说明字段之间进行转换 的方法,如需调用函数,进行表达式运算,或者查找映射表进行转换。通过表与 表,字段与字段的映射来消除命名异构;通过转换表达式来消除字段单位的不一 致;通过转换函数,映射表来消除精度的不同,数据类型不同以及数据表示方法 的不同。该方法将异构数据转换统一进行管理,增加了系统的灵活性与扩展性。 把上述提出的中小企业异构数据集成方法应用到了镇江安监局系统。该系统是 在各个子系统分散的环境下实现异构数据集成的典型例子,运行结果表明我们提 出的中小企业异构数据集成方法的可行性及良好的功能特性,达到了预期的目标。 1 4 本文的组织结构 第一章:绪论。主要介绍本文的课题背景、数据集成领域当前的研究现状、本 文的主要研究内容和组织结构。 第二章:首先介绍了异构数据库的概念,接着介绍了数据库复制技术发展现状, 分析了主流数据库的复制方案。然后讨论了常用的增量数据提取方法,对它们的 原理,适用范围,优缺点进行了详细的分析。最后分析了进行数据传输所使用的 各种技术。 第三章:异构增量数据提取方案的分析。根据目前增量数据提取方法的不足, 我们对支持触发器的数据库提出了虚拟日志的数据提取方法,对不支持触发器的 数据库提出了s h a l 法的数据提取方法,并且与其它的数据提取方法进行了效率 的对比。 6 江苏大学硕士学位论文 第四章:数据集成系统的实现。基于三章所提出的数据提取方法,设计了进行 数据集成的整体框架介绍了系统各个子模块,并对用到的关键技术进行了详细的 分析。最后对系统进行了性能测试。 第五章:结束语。总结本文的研究成果并对未来的工作进行了展望。 7 江苏大学硕士学位论文 第二章相关技术综述 2 1 异构数据集成的特点 异构数据集成的特点可以归纳为以下几点【1 7 】【1 8 】【1 9 】: ( 1 ) 已存性:已存性是指在异构数据库集成系统建立之前各个子系统已经存 在。 ( 2 ) 分布性:全局数据库所需的数据来源于多个成员局部数据库,各个局部 数据库可以在同一场地,但更多的是工作于一个分布式环境中。分布性是指各个 要集成的数据库被分散地存储在各个不同场地上。 0 ) 自治性【2 0 】:由于要集成的各成员系统都是独立设计的,并且运行在局部数 据库管理系统的控制之下,因此自治性是指各成员数据库管理系统能保持对自己 数据库的控制,而不受其它系统的限制。 ( 4 ) 异构性【2 1 】【2 2 】【2 3 】:由于在进行数据集成之前其局部数据库已经存在,不可 避免地导致各个局部数据库存在彼此的异构性。这种异构性可分为两个方面:环 境的异构和数据的异构。 环境的异构主要体现在不同的数据源有各自独立的运行环境,包括:不同的硬 件平台、不同的系统软件、不同的网络平台以及不同的数据库。 数据的异构主要包括数据模式和数据语义上的异构。数据模式上的异构是指数 据在结构和组织上的异构,主要体现在数据类型的定义,数据的标识和聚合方式 等方面。数据语义的异构一方面表现在对数据的命名、计量单位、精度的差别, 另外还表现在具有不同的完整性、安全性要求。 数据集成的主要任务就是要在全局上屏蔽掉这些差异,使用户看到一致的合 理的数据,用一种一致的界面来访问这些数据,从而实现数据的共享。 2 2 常用的增量数据提取方法 增量数据提取是数据库集成的基础,直接决定了数据库集成的效率和质量,因 此是本论文的核心内容之一。通过对当前使用的增量数据提取方法进行综合分析, 本文总结出六种基本增量数据提取方法,它们是:( 1 ) 基于快照法( 劲基于触发器法( 3 ) 基于日志法( 4 ) 基于时间戳法( 5 ) 基于a p i 法( 6 ) 影子表法幽1 口5 1 瞄1 。 8 江苏大学硕士学位论文 2 2 1 基于快照法 快照是数据库中存储对象在某一时刻的即时映像。通过为复制对象定义一个快 照或采用类似方法可以将它的当前映像作为更新副本的内容。基于快照法是最简 单的增量数据提取方法,可以在任何数据库上实现。它不需要依赖特别的机制,。 不占用额外的系统资源,管理和操作也非常容易,而且在复制初始化和崩溃时是 必需的。但由于无法仅分复制对象中那些具体发生改变,因此效率很低。 2 2 2 基于触发器法 此方法在数据库表上建立相应的触发器,当数据库表发生新增、插入和删除操 作时,此时触发器就会被执行,通过相应的数据提取程序,将增量数据写入目标 数据库中,实现本地数据库和目标数据库数据保持一致。如下图2 一l 所示: 图2 - 1 基于触发器提取数据方法 s q ls e r v e r 2 0 0 0 支持在数据库表上或者在视图上对i n s e r t ,u p d a t e 或者 d e l e t e 操作定义触发器,触发器可以在s q l 操作语句执行完毕后执行触发器,也 可利用替代触发器只执行触发器而不执行引起触发器的s q l 操作语句。在s q l s e r v e r 2 0 0 0 中创建触发器的格式描述如下: c r e a t et r i g g e rt r i g g e r n a m eo n t a b l e n a m ev i e w n a m e w i t he n c r y p t i o n f o ra f t e ri n s t e a d ) d e l e t e , i n s e r t , u p d a t e 在s q l 2 0 0 0 中在触发器通过i n s e r t e d 表和d e l e t e d 来获得用户操作表的信息,以 及使用u p d a t e ( 列名) 来获得用户更新了那一行。 o r a c l e 对触发器的支持更加完善,除了支持在d m l 上定义触发器以外,还支 持在d d l 系统事件上定义触发器,触发器的粒度可以精确到字段,可以支持 b e f o r e ,a f t e r ,i n s t e a do f 触发器类型。在o r a c l e 中创建触发器的格式描述如下: c r e a t e o rr e p l a c et r i g g e rt r i g g e r n a m e b e f o r ea f t e ri n s t e a do f d m l e v e n t c l a u s ed a t a b a s e e v e n t o n s c h e m ad a t a b a s e ) 在o r a c l e 中定义了:n e w 和:o l d 两个特殊的操作符,分别代表新的数值和原数值, 在触发器中通过引用:n e w 和:o l d 可以获得用户操作的数据。 但是这种基于触发器的方法占用的系统资源较多,影响系统效率,并且对通信 9 江苏大学硕士学位论文 的网络可靠性和安全性要求比较高,一旦网络中断,系统就无法正常运行。同时, 基于触发器的复制方法对比较复杂的复制任务需要非常复杂的配置和实施,管理 极不方便,对于对等复制和异构复制也较难实现,因而这种方法不适用于企业级 数据复制。 2 2 3 基于日志法 数据库日志作为维护数据完整性和数据库恢复的重要工具,其中已经包含了全 部成功提交的数据库操作记录信息。基予日志法就是通过分析数据库日志的这些 信息来捕获复制对象的变化序列。如图2 - 2 所示: 图2 - 2 基于日志检测提取数据方法 目前常见的服务器关系数据库系统有o r a c l e 、d b 2 、s q ls e r v e r 、i n f o r m i x 等, 它们都提供了日志机制的支持。 因此理论上可以用同志检测可以分析出数据的变化序列,这种方法不仅方便, 也不会占用太多额外的系统资源,对任何类型的复制都适合,不但能提高效率和 保证数据的完整性,还能在对等式复制时提供详细的控制信息。但由于数据库日 志的格式是不公开且存在差异,它们所提供的日志接口也各不相同,因而不得不 基于某一固定的数据库日志分析工具或接口,这给异构数据库复制带来了问题。 2 2 4 基于时间戳法 基于时间戳的方法主要是根据数据记录的更新时间来判断是否最新更新,并据 此对数据副本进行相应的修改。该方法需要相关应用系统中的每个表中都有一个 时间戳字段,以记录每个表的修改时间。这种方法不影响原有应用的运行效率, 但却需要对原有系统做较大的调整,而且不能捕获到那些并非通过应用系统引起 的操作数据变化。 2 2 5 基于a p i 法 在应用程序和数据库之间引入中间件,在完成应用程序对数据库修改的同时, 中间件会记录下复制对象的变化序列,从而达到数据提取的目的。但是中间件的编 写一般比较复杂,但是随着计算机技术的不断发展,面向方面编程h o p ( a s p e c t 1 0 江苏大学硕士学位论文 o r i e n t e dp r o g r a m m i n g ) 技术给中间件的编写带来很大的方便。 h o p 将一个系统中的非功能性需求( 横切关注点) 从系统中分离出来,将这 些横切关注点单独模块化为独立的方面,而不是像o o p 那样将这些横切关注点加 在每个需要的对象中封装。a o p 在系统编译时静态的或在系统运行时动态的将这 些模块化的方面织入到每个类中,实现业务逻辑实现类和方面的组合。 数据提取关心的是如何获得用户操作数据库的信息,这在a o p 中属于关注点, 关注的是对数据库的操作。当用户操作应用系统时,应用系统会通过调用数据库 驱动( j d b c ,o d b c ,a d o n e t 等) 程序的方法来进行对数据库的操作,此时通过a o p 技术来通知数据提取模块来分析用户要执行的操作,从而取得用户要对数据库的 操作。如图2 - 3 所示。 图2 3 基于a p i 法提取数据方法 这种方法既可以实现异构数据库复制,也减轻了d b a 的负担,但是对于不经过 a p i 操作进行的s q l 语句而产生的变化,a p i 法是无法捕捉到的,另外这种方法可 移植性差,当从一种运行环境( d b m s ,o s 等) 移植到另一种运行环境时,往往要重 新编写应用程序甚至改变数据库模式。同时当复制逻辑复杂时,有可能影响应用 程序的运行效率,因而这种方法不适用于企业级数据复制。 2 2 6 基于影子表法 影子表法在初始化时为复制对象表t 建立一个影子表s ,也就是做一份当时的拷 贝。以后就可在适当时机通过比较当前t 和s 的内容来获取净变化信息。影子表法 是一种通用的增量数据提取方法,能在任何数据库上实现。影子表法得到的是净 变化值,传输效率比较高。影子表法的缺点也很明显。首先,它不符合单副本可 串行性的要求,中间过程的操作信息全部丢失不能提供足够的控制信息。其次, 每次数据提取时都需扫描整个t 表和s 表,数据提取效率很低,随着数据的增多会 1 1 江苏大学硕士学位论文 成为一个严重的性能瓶颈。 2 3 常用的数据传输方法 在提取增量数据以后,需要把提取的数据通过网络传输到服务器端来更新目标 数据库,以达到数据集成的目的。通过对常见的数据传输的分析,我们总结出以 下几种数据传输方式( 1 ) 邮件( 2 ) t c p i ps o c k e t 通信( 3 ) 消息中间件( 4 ) f t p 传输( 5 ) 分布式计算机远程调用中间件( 6 ) w e bs e r v i c e s 传输【2 7 l 2 3 1 邮件 对于一些分布在不同地域的系统或在两系统之间网络不能互通时,可以通过在 数据库服务器端获得更新数据后,通过i n t e r n e t 网络邮件服务器发送和接收包含 更新数据的邮件方式来实现数据的远程同步。这种方法可以支持异种数据库的数 据更新;费用低,无需额外的网络投入;数据同步全自动化,操作简单;功能较 强,所有的任务均通过描述语言书写,适合各种应用情况。但它不能支持实时性 要求较高的应用;许多安全和数据同步机制都需应用程序完成,例如“两阶段提 交协议 ,增加了程序的复杂度和实现难度。 2 3 2t ips o c k e t 通信 对于一些需要实时同步的中小型应用,可以以t c p i ps o c k e t 通信方式为基 础,进行类似前面邮件方式的数据同步。该方式比邮件方式实时性好,但传输受 网络稳定性的影响较大,客户端和服务器端之间的通信协议需要自己定义,比较 烦琐和麻烦。 2 3 3 消息中间件 使用消息中间件可以在服务器端和客户端之间建立一种数据的缓冲,消息的 发送者把自己想要发送的信息放入一个容器中( m e s s a g e ) ,然后把它保存至一个 系统公用空间的消息队列( m e s s a g eq u e u e ) 中,本地或者是异地的消息接收程序 再从该队列中取出发给它的消息进行处理。这样就实现了客户端和服务器端可靠 的异步通信。目前比较常用的消息中间有m m 的m q s e f i e s ,s u n 公司的j m s 和微软 的m s m q 。使用消息中间件来实现服务器和客户端的数据同步不失为一种选择, 但是m q s e d e s 和j m s 价格昂贵,而m s m q 是微软专用技术,且其性能低而不稳定。 2 3 4 f t p 传输 在局部数据库端建立f t p 服务器,程序定时把增量数据放到f t p h 艮务器目录下, 这样全局数据库就可以访问f t p 服务器来下载局部数据库的增量数据。服务器端程 江苏大学硕士学位论文 序通过读取增量数据来达到更新全局数据库中的数据,实现局部数据库和全局数 据库的数据同步。f t p 传输具有很高的传输效率且能跨过防火墙,也不需要额外的 花费开销,且有较高的传输速率,所以我们采用f t p 来进行数据的传输。 2 3 5 分布式计算机远程调用中间件 目前支持分布式计算的中间件有c o r b a ,c o m d e c o m ,j a v a r m i 。利用远程过程调 用可以把操作全局数据库的接口封装起来,这样可以远程的调用接口来实现定时 更新全局数据库,实现全局数据库和局部数据库的数据同步。 c o r b afc 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 ,公共对象请求代理体系 结构) 【2 8 】【2 9 】【3 川是由o m g ( o b j e c tm a n a g e m e n tg r o u p ,对象管理组织) 提出的应用软 件体系结构和对象技术规范,其核心是一套标准的语言、接口和协议,以支持异 构分布应用程序间的互操作性及独立于平台和编程语言的对象重用。 d c o m 2 9 1 1 3 0 1 ( 分布式组件对象模型) 基于c o m ( 组件对象模型) ,是m ic r o s o f t ,d e c 等公司的分布式计算策略。m i c r o s o f t 提出的d c o m 是基于以下一个简单的思想:在 d c o

温馨提示

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

评论

0/150

提交评论