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

(计算机应用技术专业论文)异构数据库同步模型的研究与实现.pdf.pdf 免费下载

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

文档简介

d i s s e r t a t i o no fm a s t e rd e g r e eo ft h ey e a r2 0 1 0 c o d eo ft h eu n i v e r s i t y :1 0 2 6 9 s t u d e n tn o :51 0 7 1 5 0 0 0 0 8 葶震即绍天等 t h er e s e a r c ha n di m p l e m e n t a t i o n o nt h ec o n c u r r e n c ym o d e lo f h e t e r o g e n e o u s d a t a b a s e s c o l l e g e d e p a r t m e n t :q 鱼盟垒堡基旦g i 垒曼曼! i 坠g ! 塾曼丛! 坠! 曼 m a j o r :g q 蛩! p 坠! 曼! 鲍p ! i 堡垒! i q 卫i 匹鱼! 垒曼h 塾q ! q g y r e s e a r c hd i r e c t i o n :m o b i l ed a t a b a s e m e n t o r : 里! q ! 垒墨墨q ! i 垦坠g 趟i 塾g k 垒卫g g r a d u a t i o ns t u d e n t :c h e ns h u f i n i s h e di nf e b r u a r y2 0 1 0 卜一 华东师范大学学位论文原创性声明 郑重声明:本人呈交的学位论文青怕数据序同嘭搓爱白研芤多受记, 是在华东师范大学攻读硕生博士( 请勾选) 学位期间,在导师的指导下进行的研究工作 及取得的研究成果。除文中已经注明引用的内容外,本论文不包含其他个人已经发表或 撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中作了明确说 明并表示谢意。 作者签名:- j 盟 日期:0 29 p 年罗月j c 7 同 华东师范大学学位论文著作权使用声明 哥物券据库同当饭爱仍研宪多受礼系本人在华东师范大学攻读 学位期间在导师指导下完成的碗蛭博士( 请勾选) 学位论文,本论文的研究成果归华东 师范大学所有。本人同意华东师范大学根据相关规定保留和使用此学位论文,并向主管 部门和相关机构如国家图书馆、中信所和“知网”送交学位论文的印刷版和电子版;允 许学位论文进入华东师范大学图书馆及数据库被查阅、借阅:同意学校将学位论文加入 全国博士、硕士学位论文共建单位数据库进行检索,将学位论文的标题和摘要汇编出版, 采用影印、缩印或者其它方式合理复制学位论文。 本学位论文属于( 请勾选) () 1 经华东师范大学相关部门审查核定的“内部”或“涉密学位论文t , 于年月日解密,解密后适用上述授权。 v 乃2 不保密,适用上述授权。 翮戳一 即p 叫。f 本人签名篮篮 乡。扣年3 月f c 7 同 木“涉密”:学何论文虑是已经华尔师范人学学位评定委员会办公室或保密委员会审定过的学位 论文( 需附获批的华尔师范人学研究生中请! 学位论文“涉密”审批表方为有效) ,术经上 述部| 、j 审定的学何论文均为公开学何论文。此卢明栏不填写的,默认为公开学何论文,均适 上述授权) 。 华东师范大学硕:上学位论文 异构数据库同步模型的研究与实现 陈舒硕士学位论文答辩委员会成员名单 姓名职称单位备注 多季旌如 劫摇上净大孚 主席 职宁 劫搐馁芝大孚 划钧劫搐鲜寺t 牌老大学 华东师范大学硕上学位论文 异构数据库同步模型的研究与实现 论文摘要 在信息化建设过程中,企业先后构建起了多个信息系统。由于各种原因,在 企业间或企业内,每个部门建立的系统都使用独立的数据库( 称为异构数据库) , 导致各部门之间信息不能分享,从而形成了“信息孤岛”。因此在异构数据库的 环境下对数据进行同步就显得非常重要。 本论文对异构数据库同步问题进行了研究,提出一种异构数据库的同步模 型:c m o h d 模型。该异构数据库同步模型以提供基于j a v a 的s d k 的方式在软 件开发层面上实现了主流数据库o r a c l e ,s q ls e r v e r ( 可进一步扩展为d b 2 , m y s q l ,s y b a s e 等) 的对通。同时由于利用了j a v a 的跨平台性,对于使用该s d k 开发的应用软件而言,实现了u n 啪u x 和w i n d o w s 全平台可部署性。 论文首先提出异构数据库的同步模型:c m o h d 模型。对c m o h d 模型作 了架构设计,提出了轻量级异构数据库同步模型架构以及企业级异构数据库同步 模型架构。 其次借鉴移动数据库系统的同步思想,对解决异构数据库同步的一致性问题 提出了基于程序检测语义的多方面完整性检测的可剪裁算法。 再次从经典数据库封锁方式和o r a c l e 特有的封锁方式这两点出发,对异构 数据库同步模型的封锁问题进行了研究,并提出了异构数据库同步模型 r e p o s i t o r y 的封锁机制以及异构数据库同步模型实体数据库的保守封锁机制。 最后在上述理论的基础上实现了基于异构数据库同步模型原型的封锁机制 性能实验。 关键词:异构数据库,同步,封锁 华东师范人学硕士学位论文 异构数据库同步模型的研究与实现 a b s t r a c t d u r i n gt h ep r o c e s so fi n f o r m a t i o n i z a t i o n ,e n t e r p r i s e sh a v ee s t a b l i s h e dv a r i e t yo f i n f o r m a t i o ns y s t e m d u et od i f f e r e n tk i n d so fr e a s o n s ,e v e r yd e p a r t m e n t ss y s t e mu s e s a ni n d e p e n d e n td a t a b a s e ( c a l l e dh e t e r o g e n e o u sd a t a b a s e ) b e t w e e nc o r p o r a t i o n so r d e p a r t m e n t s ,t of i n dt h a t “i n f o r m a t i o ni s l a n d ”e m e r g e s s o i ti si m p o r t a n tt op e r f o r m c o n c u r r e n c ya m o n gh e t e r o g e n e o u sd a t a b a s e s b a s e do nt h ec o n c u r r e n c yi s s u eo fh e t e r o g e n e o u sd a t a b a s e s ,t h ea u t h o rb r o u g h t f o r w a r dah e t e r o g e n e o u sd a t a b a s e s c o n c u r r e n c ym o d e l :cm o d e l t h em o d e l i m p l e m e n t st h ec o n n e x i t yo fm a i n s t r e a md a t a b a s e s ,e g o r a c l e ,s q ls e r v e r ( c a nb e a d d e dw i t hd b 2 ,m y s q l , s y b a s ee t c ) b e s i d e s ,m a k i n gu s eo fj a v a sc r o s s p l a t f o r m c o m p a t i b i l i t y , t h ea p p l i c a t i o ns o f t w a r e sd e v e l o p e do nt h i ss d k c a nb ed e p l o y e do v e r a l lp l a t f o r m si n c l u d i n gu n i x l i n u xa n dw i n d o w s f i r s t l y , t h ea u t h o rd e s i g n e dt h ea r c h i t e c t u r eo fc o n c u r r e n c ym o d e lo f h e t e r o g e n e o u sd a t a b a s e sb yb r i n g i n gf o r w a r dal i g h t w e i g h tc o n c u r r e n c ym o d e lo f h e t e r o g e n e o u sd a t a b a s e sa n d a ne n t e r p r i s ec o n c u r r e n c ym o d e lo fh e t e r o g e n e o u s d a t a b a s e s s e c o n d l y , b yr e f e r r i n gt ot h et h o u g h t so fm o b i l ed a t a b a s ec o n c l l r r e n c y t h ea u t h o r d e s i g n e dac o n c u r r e n c ym e c h a n i s mo fh e t e r o g e n e o u sd a t a b a s eu s i n gm u l t i a s p e c t s i n t e g r i t yd e t e c t i o nf r o mp r o g r a m m i n gs e m a n t i c s t h i r d l y , b a s e do nc l a s s i c a ll o c k i n gm e c h a n i s ma n ds p e c i f i cl o c k i n gm e c h a n i s m o fo r a c l e ,t h ea u t h o rw e l le x a m i n e dt h el o c k i n gm e c h a n i s mi nh e t e r o g e n e o u s d a t a b a s e sa n dp u tf o r w a r dt h el o c k i n gm e c h a n i s mf o rc o n c u r r e n c ym o d e lo f h e t e r o g e n e o u sd a t a b a s e sa n d t h ec o n s e r v a t i v el o c k i n gm e c h a n i s mf o r t h ee n t i t y d a t a b a s eo ft h ec o n c u r r e n c ym o d e lo fh e t e r o g e n e o u sd a t a b a s e s l a s t ,t h ea u t h o ri m p l e m e n t sab a s i cp r o t o t y p eb a s e do nt h ep r e v i o u st h e o r i e s k e y w o r d :h e t e r o g e n e o u sd a t a b a s e ,c o n c u r r e n c y , l o c k i n g u l 华东师范大学硕士学位论文 异构数据库同步模型的研究与实现 第一章 第一节 第二节 第三节 第四节 第五节 第六节 第七节 第八节 第九节 第二章 第一节 第二节 第三节 第四节 第三章 第一节 第二节 第三节 第四章 第一节 第二节 第三节 第五章 第一节 第二节 第六章 第一节 第二节 目录 弓i 言:1 工业背景1 异构数据库系统1 异构数据库转换1 异构数据库同步的定义2 异构数据库同步的具体工作2 本论文课题的中外学术界的研究状况3 本论文的主要工作4 本论文的主要创新点。4 本论文对数据库应用开发的实用价值。5 异构数据库同步模型c i o l i d 模型一6 异构数据库同步模型c m o h d 模型概述6 异构数据库同步模型c m o h d 模型以其工业应用架构的关系- 8 异构数据库同步模型架构9 异构数据库同步模犁c m o i i d 模型的优点1 5 异构数据库同步模型c m o h d 模型的数据库一致性问题解决方法1 7 借鉴移动数据库系统的同步思想1 7 基于多方面完整性检测的异构数据库同步机制设计方案基本思想1 9 基于多方面完整性检测的异构数据库同步机制设计方案算法2 4 异构数据库同步模型c m o h d 模型的封锁机制2 9 数据库的并发控制3 0 异构数据库同步模型的r e p o s i t o r y 封锁机制实现3 8 异构数据库同步模型实体数据库的保守封锁机制4 3 异构数据库同步模型c m o h d 模型原型实现和封锁机制性能实验4 5 原型实现的技术背景4 5 异构数据库同步模型封锁机制性能实验4 6 总结和展望5 0 工作总结5 0 工作展望5 0 东师范大学硕士学位论文异构数据库同步模型的研究与实现 第章引言 第一节工业背景 在信息化建设过程中,企业先后构建起了多个信息系统。由于各种原因,在 企业间或企业内,每个部门建立的系统都使用独立的数据库( 称为异构数据库系 统) ,导致各部门之间信息不能分享,从而形成了“信息孤岛 n 。如何从整体 上有效地组织和管理这些数据,消除“信息孤岛 现象,就是数据集成需要解决 的问题。 第二节异构数据库系统 异构数据库系统是相关的多个数据库系统的集合,可以实现数据的共享和透 明访问,每个数据库在加入异构数据库系统之前本身就已经存在,拥有自己的 d b m s 堙1 。异构数据库系统的各个组成部分具有自身的自治性,实现数据共享的同 时,每个数据库系统仍保有自己的应用特性、完整性控制和安全性控制。异构数 据库系统的异构性主要体现在以下几个方面: 1 ) 计算机体系结构的异构 2 ) 各个参与的数据库可以分别运行在大型机、小型机、工作站、p c 或嵌入 式系统中。 3 ) 基础操作系统的异构:各个数据库系统的基础操作系统可以是u n i x ( a i x , s o l a r i s ,h p u x ) ,l i n u x ( r e d h a t ,s u s e ,u b u n t u ) ,w i n d o w ss e r v e r ( w i n d o w s s e r v e r2 0 0 3 、w in d o w ss e r v e r2 0 0 8 ) 等。 4 ) d m b s 本身的异构:可以是同为关系型数据库系统的o r a c l e ,s q ls e r v e r , m y s q l ,d b 2 等,也可以是同一类型的数据库的不同版本,如o r a c l e9 i ,o r a c l e l o g ,也可以是不同数据模型的数据库,如关系( 本文仅限于关系型数据库) 、模 式、层次、网络、面向对象,函数型数据库共同组成一个异构数据库系统。 第三节异构数据库转换 对于异构数据库系统,实现数据共享应当达到两点:一是实现数据库转换: 二是实现数据的透明访问瞪1 。 在转换的过程中,有时要想实现严格的异构数据库间的表、索引、存储过程 1 华东师范大学硕士学位论文 e 异构数据库同步模型的研究与实现 等各种对象的等价转换是比较困难的。首先要确定两种模型中所存在的各种语法 和语义上的冲突,这些冲突可能包括: 1 ) 命名冲突:即源模型中的标识符可能是目的模型中的保留字,这时就需 要重新命名。 2 ) 格式冲突:同一种数据类型可能有不同的表示方法和语义差异,这时需 要定义两种模型之间的变换函数。 3 ) 结构冲突:如果两种数据库系统之间的数据定义模型不同,如分别为关 系模型和层次模型,那么需要重新定义实体属性和联系,以防止属性或联系信息 的丢失。 总之,在进行数据转换后,一方面源数据库模式中所有需要共享的信息都转 换到目的数据库中,另一方面这种转换又不能包含冗余的关联信息。 第四节异构数据库同步的定义 本文所指的异构数据库同步是:在非分布式的异构数据库系统中,开发层面 上,以事物提交为粒度的实时同步过程。 第五节异构数据库同步的具体工作 数据库转换工具可以实现不同数据库之间的数据模型转换,需要进一步研究 的问题是:如果数据库转换同时进行数据定义模式转换和数据转换,就可能引起 同一数据集合在异构数据库系统中存在多个副本,因此需要引入新的访问控制机 制嘲。在保证各个参与数据库自治,维护其完整性、安全性的基础上,对于异构 数据库系统提供全局的访问控制二并发机制和安全控制( 本文第三章详述) 。 如果对数据库转换是把源数据库( 下文亦称为实体数据库) 中的数据引入操 作库( r e p o s i t o r y ) 中作为副本,那么在操作库的框架下访问数据,实现上仍是 模拟源数据库的特性和s q l 语法特性对操作库中的数据进行操作。这时利用操作 库遵循的数据处理语言实现的事务,不能直接访问操作库,必须进行事务级的翻 译才可以执行( 本文第四章详述) 。 2 华东师范大学硕士学位论文异构数据库同步模型的研究与实现 第六节本论文课题的中外学术界的研究状况 一、国内学术界的研究状况 1 ) 华中科技大学开发了拥有自主版权的商品化数据库管理系统d m 3 系统, 通过所提供的数据库转换工具和a p i 接口实现了异构数据库系统的数据共享乜1 。 实现了异构数据库系统的数据库转换以及数据的透明访问这两点要求。 2 ) 南京大学软件学院的杨灵鑫、罗轶衔提出一种基于发布一订阅模式的 p u s h 和p u l l 异构数据同步系统。该系统基于j a v a 和x m l 这两种与平台无关的 技术,采用了数据库触发器对数据库的变化进行捕捉,使用控制变化表来保存数 据变化,并利用x m l 文件作为中介存储来交换变化数据,进而达到数据同步的 目的心1 。 3 1 电子科技大学计算机科学与工程学院的肖波、吴跃在j a v ae e 环境下,提 出了一种基于u b 3 0 技术的异构数据库之间数据同步问题的解决方案n 1 。 4 ) 山东大学威海分校信息工程学院的孟雷、孙彦杰提出了基于p 2 p 的异构 数据同步模型,该模型采用x m l 技术和面向服务技术屏蔽数据的异构性,通过 触发器和控制表的方式实现了差异更新,并利用基于最短路径p 2 p 算法实现增 量提取和传输优先级,从而增强了传输的效率和可靠性瞄1 。 二、国外学术界的研究状况 1 ) 在分布式异构数据库领域采用的是基于帧观察的隐马尔可夫模型分布方 案1 。 2 ) m a n o l i sd e l a k i s a ,g u i l l a u m eg r a v i e r b ,p a t r i c kg r o s c 提出了使用段特征的 段模型来解决分布式异构数据库的同步问题m 1 。 3 ) t o b i nj l e h m a n ,a l e xc o z z i a ,y u h o n gx i o n g 等人提出了t s p a c e s 。t s p a c e s 是解决异构分布式系统h o o k i n g 问题的通信包。t s p a c e s 也是系统全局通信的中 间件,该中间件能整合数据库的各种特征,如事务、保存的数据、查询和对x m l 的支持。t s p a c e s 通过提供异步匿名的客户端和服务器之间的连接成为了搭建分 布式应用的理想工具盯1 。 总之,目前国内外学术界对异构数据库同步的研究一般集中在分布式系统中 数据库触发器级别上的同步。本文则侧重在对于在非分布式系统中,开发层面上, 3 华东师范大学硕七学位论文 异构数据库同步模型的研究与实现 以事物提交为粒度的实时同步。 第七节本论文的主要工作 本论文对异构数据库同步问题进行了研究,进而提出了一种异构数据库的同 步模型:c m o h d 模型。主要包含以下四方面的工作: 1 ) 提出异构数据库的同步模型:c m o h d 模型。对c m o h d 模型作了架构 设计,提出了轻量级异构数据库同步模型架构以及企业级异构数据库同步模型架 构。 2 ) 借鉴移动数据库系统的同步思想,对解决异构数据库同步的一致性问题 提出了基于程序检测语义的多方面的完整性检测的可剪裁的算法。 3 ) 从经典数据库封锁方式和o r a c l e 特有的封锁方式这两点出发,对异构数 据库同步模型的封锁问题进行了研究,并提出了异构数据库同步模型的封锁方式 以及异构数据库同步模型实体数据库的保守封锁方式。 4 ) 在上述理论的基础上实现了基于异构数据库同步模型原型的封锁机制性 能实验。 第八节本论文的主要创新点 c m o h d 模型1 ) 图l l 本论文的主要工作 4 华东师范大学硕十学位论文异构数据库同步模型的研究与实现 如图1 1 ,图中的数字标号表明了本文的三个核心创新点的具体位置,分 别为: 1 ) 提出异构数据库的同步模型:c m o h d 模型。 2 ) 对异构数据库在操作库( r e p o s i t o r y ,第二章详述) 中的数据库副本写回 实体数据库设计了同步算法。 3 ) 对异构数据库同步模型中操作库和实体数据库( 第二章详述) 分别提出 了封锁机制。 第九节本论文对数据库应用开发的实用价值 本论文对异构数据库同步问题进行了研究,进而提出了一种异构数据库的同 步模型:c m o h d 模型。 该c m o h d 模型向开发人员提供了基于j a v a 的s d k 。实现了以下两点: 1 ) 在软件开发层面上实现了主流数据库o r a c l e ,s q ls e r v e r ( 可进一步扩 展为d b 2 ,m y s q l ,s y b a s e 等) 的对通。举例来讲,开发人员可以在基于c m o h d 模型的s d k 的基础上做这样的软件开发:从o r a c l e 中选取一张表,与s q ls e r v e r 中选取的另一张表作连接( 笛卡尔积) 而后进行查询,得到的结果集再通过c m o h d 模型写回到目标数据库中( 可以是o r a c l e ,也可以是s o ls e r v e r ) 。 2 ) 由于利用了j a v a 的跨平台性,对于使用该s d k 开发的应用软件而言, 实现了u n n u x 和w i n d o w s 全平台的可部署性。 5 华东师范大学硕士学位论文 异构数据库同步模型的研究与实现 第二章异构数据库同步模型c m o h d 模型 本章介绍本论文提出的异构数据库同步模型c m o h d 模型及基于c m o h d 模型的 两种架构设计,分别是轻量级异构数据库同步模型架构以及企业级异构数据库同 步模型架构。 第一节异构数据库同步模型c m o h d 模型概述 一、实体数据库的定义 需要进行数据整合的原异构数据库环境就是实体数据库。 二、源数据库表和目标数据库表的定义 源数据库表为实体数据库中供读取数据的数据库表,通常在s q l 中体现为 s e l e c t 语句的w h e r e 连接的表,简称“源表”。 目标数据库数据表为实体数据库中供写入数据的数据库表,通常在s q l 中体 现为i n s e r t 语句中i n t o 连接的表以及u p d a t e 语句中u p d a t e 连接的表,简称 “目标表 。 三、 r e p o s i t o r y 的定义 r e p o s i t o r y 是一组用户创建或预定义的系统对象,源元数据和目标元数据, 变换规则的集合。在开放的c s 平台下建立r e p o s i t o r y 可以大大简化共享元数 据的过程。r e p o s i t o r y 是保存在已经存在的r d b m s ( 关系型数据库管理系统) 中 的嘲。 本文的r e p o s i t o r y 的设计遵循主流数据库o r a c l e 的设计思想,包括数据类 型,封锁机制,s q l 语法特性等。 四、d a t a s t o r e 的定义 d a t a s t o r e ,亦称数据源,是连通r e p o s i t o r y 同源数据库( 表) 和目标数据 库( 表) 的逻辑通道嘲。d a t a s t o r e 抽象表示的具体数据库称为实体数据库。 d a t a s t o r e 包含了源数据库表和目标数据库表的抽象表示。 d a t a s t o r e 的引用方式为: d a t a s t o r e _ n a m e o w n e r _ n a m e t a b l e n a m e 6 华东师范大学硕上学位论文 异构数据库同步模型的研究与实现 d a t a s t o r e 引用参数的具体意义见表2 1 : 表2 - id a t a s t o r e 引用参数表 一 o r a c l e s q ls e r v e rm y s q l d b 2 引用参数 d a t a s t o r e _ n a m e d a t a s t o r e 名 d a t a s t o r e 名 d a t a s t o r e 名d a t a s t o r e 名 o w l 2 e r n a m e 用户名 d b o s c h e m a 名用户名 t a ble n a m e 表名表名表名 表名 五、异构数据库同步模型c m o h d 模型的定义 异构数据库同步模型c m o h d 模型的设计借鉴了智能商务领域中的数据整合 ( d a t ai n t e g r a t o r ) 的思想随1 。数据处理过程为首先将不同的源数据库表中的 数据导入r e p o s i t o r y ,然后在r e p o s i t o r y 中进行各种数据库查询操作,最后将 含有查询结果集的更新操作导回目标数据库表,如图2 一l 所示: 图2 - 1 异构数据库同步模型c m o h d 模型的数据处理过程 图2 - 1 中的英文字母标号的描述如下: a ) 任意多个作为数据读取来源的源数据库,源数据库中含有源数据库表 b ) 任意多个作为数据写入位置的目标数据库,目标数据库中含有目标数据 7 华东师范大学硕士学位论文异构数据库同步模型的研究与实现 库表 c ) 存放对异构数据库进行各种操作时所用到的操作数据的r e p o s i t o r y d ) 对源数据库或目标数据库进行抽象所得到的d a t a s t o r e 主要分为三个过程,分别对应着图2 - 1 中的标号: 1 ) r e a d 过程。即是以表为粒度将源数据库表中的数据导入到r e p o s i t o r y 中, 并将源数据库中的表抽象为d a t a s t o r e 的过程。该过程中,要求实现不同数据库 系统之间的数据模型转换。有时要想实现严格的等价转换是比较困难的。比较常 见的就是格式冲突,即同一种数据类型可能有不同的表示方法和语义差异,这时 需要定义两种模型之间的变换函数。 2 ) m a n i p u l a t e 过程。即是将不同抽象为d a t a s t o r e 的数据源进行基于数据 库操作语言s q l 的处理过程,得到结果集。 3 ) l o a d 过程。即是将m a n i p u l a t e 过程得到的结果集导入到目标数据库表中。 这里不仅需要注意r e a d 过程中的不同数据库系统之间的数据模型转换的问题, 而且也要对目标数据在并发条件下的不一致情况进行冲突检测及冲突消解,完成 目标数据库的同步。 第二节异构数据库同步模型c m o h d 模型以其工业应用架构的关系 本论文提出了异构数据库同步模型c m o h d 模型并在此基础上于工业应用领 域设计了两种架构:轻量级异构数据库同步模型架构和企业级异构数据库同步模 型架构。而提供给开发人员的两套s d k 的底层就是分别依赖这两种架构实现的, 同时两套s d k 的上层提供一致的编程接口,以方便开发人员使用。 如图2 2 所示: 8 华东师范大学硕十学位论文 异构数据库同步模型的矾究与实现 图2 2 异构数据库同步模型c m o h d 模型及其工业应用的关系 第三节异构数据库同步模型架构 一、轻量级异构数据库同步模型架构 ( 一)实现方式 图2 - 3 轻量级同步模型架构图 9 华东师范大学硕士学位论文异构数据库同步模型的研究与实现 图2 - 3 是本文定义的轻量级同步模型架构图。图中,系统没有专用的同步服 务器,p c 直接可以访问到各个数据库和r e p o s i t o r y n 引。开发人员通过使用j a v a 插件形式的s d k ,可在业务逻辑中使用对底层数据库进行抽象的d a t a s t o r e 接口 进行开发。数据模型转换和同步工作会由c m o h d 模型提供的s d k 的相关程序运用 本机的c p u 负载对开发人员透明地完成。本论文把种架构定义为轻量级同步模型 架构。 ( 二)优劣分析 轻量级同步模型架构的优点是: 1 ) 系统实施方便,不需要专门新增服务器,只需要找现成的数据库环境建 一个r e p o s i t o r y 即可。 缺点是: 1 ) 由于p c 都可以直接连接个服务器,安全性不佳 2 ) 由于不存在同步服务器,各p c 在l o a d 过程同步时均需对目标数据库表 加行级锁,避免发生二次丢失更新的问题,这样造成了并发度低,各事务彼此互 相阻塞严重的问题。 1 0 华东师范大学硕士学位论文 异构数据库同步模型的研究与实现 二、企业级异构数据库同步模型架构 ( 一)实现方式 图2 4 企业级同步模型架构 图2 - 4 给出的是论文提出的企业级同步模型架构图。图中,有专用的同步服 务器,各p c 只能和服务器相连,不能直接连向数据库n7 1 。开发人员通过使用j a v a 插件形式的s d k ,可在业务逻辑中使用对底层数据库进行抽象的d a t a s t o r e 接口 进行开发。数据模型转换和同步工作会由部署在同步服务器上的程序运用其c p u 负载对开发人员透明的完成。本论文把种架构定义为企业级同步模型架构。 ( 二)优劣分析 企业级同步模型架构的优点是: 1 ) 由于p c 只能连接同步服务器,故安全性好。 2 ) 由于存在同步服务器,各p c 在l o a d 过程同步均由同步服务器按事务队 列的方式统一管理( 期间还加入了能大幅度提升性能的一致性检测程序检测语 义) ,同时又兼备服务器本事对数据处理的性能上的优势,所以并发度高,阻塞 少。 缺点是: 华东师范大学硕士学位论文异构数据库同步模型的研究与实现 1 ) 系统实施不便,除了需要找现成的数据库环境建一个r e p o s i t o r y ,还需 专门新增同步服务器。 三、r e a d 及m a n i p u l a t e 过程 图2 5r e a d 及m a n i p u l a t e 过程图 图2 - 5 描述的是r e a d 及m a n i p u l a t e 过程,图中的字母表明的对象为: ( a ) 数据库层:该层次中都是各种异构的数据库 ( b ) 数据库抽象层:该层次用于将各种异构数据库抽象为d a t a s t o r e ,以对 业务逻辑层提供同一的数据库接口。 1 2 华东师范大学硕士学位论文异构数据库同步模型的研究与实现 ( c ) 业务逻辑层:该层次用于开发人员编写业务逻辑 ( d ) o r a c l e :类型为o r a c l e 的数据库 ( e ) s o ls e r v e r :类型为s o ls e r v e r 的数据库 ( f ) r e p o s i t o r y ( o r a c l e ) :类型为o r a c l e 的r e p o s i t o r y ,用于存放各种数 据库操作所需的临时数据。 ( g ) d a t a s t o r e l :从o r a c l e 数据库抽象出的d a t a s t o r e l ( h ) d a t a s t o r e 2 :从s o ls e r v e r 数据库抽象出的d a t a s t o r e 2 ( i ) 连接r e p o s it o r y :连接r e p o s it o r y 的进程 ( j ) 注册:用于注册数据库中具体表的进程 ( k ) 连接:对d a t a s t o r e l 的t a b l e l 和d a t a s t o r e 2 的t a b l e 2 进行的表连接 操作。 ( 1 ) 结果集:对d a t a s t o r e l 的t a b l e l 和d a t a s t o r e 2 的t a b l e 2 进行查询得 到的结果集。 图2 5 中的数字按顺序表明r e a d 及m a n i p u l a t e 过程中的具体步骤,分别是: ( 1 ) 连接r e p o s i t o r y ,获得数据操作的具体场所。 ( 2 ) 对d a t a s t o r e l 的t a b l e l 和d a t a s t o r e 2 的t a b l e 2 分别进行注册,后台 其实完成了对这两张表的r e p o s i t o r y 导入。 ( 3 ) o r a c l e 数据库抽象为d a t a s t o r e l ,s q ls e r v e r 数据库抽象为 d a t a s t o r e 2 。 ( 4 ) 在业务逻辑层对t a b l e l 和t a b l e 2 作连接,而后查询。 ( 5 ) 连接的对象为d a t a s t o r e l o w n e r t a b l e l 和d a t a s t o r e 2 o w n e r t a b l e 2 ( 6 ) 后台其实是将在r e p o s i t o r y 中的d a t a s t o r e l o w n e r t a b l e l 和 d a t a s t o r e 2 o w n e r t a b l e 2 作连接,而后查询。 ( 7 ) 得到的结果返回业务逻辑层的结果集。 ( 8 ) 从开发人员看来,数据模型转换过程是透明的,结果集来自对 d a t a s t o r e l o w n e r t a b l e l 和d a t a s t o r e 2 o w n e r t a b l e 2 连接的查询。 1 3 华东师范大学硕士学位论文 异构数据库同步模型的研究与实现 四、l o a d 过程 图2 - 6l o a d 过程图 图2 - 6 描述的是l o a d 过程,图中的字母表明的对象为: ( a ) 数据库层:该层次中都是各种异构的数据库 ( b ) 数据库抽象层:该层次用于将各种异构数据库抽象为d a t a s t o r e ,以对 业务逻辑层提供同一的数据库接口。 ( c ) 业务逻辑层:该层次用于开发人员编写业务逻辑 ( d ) o r a c l e :类型为o r a c l e 的数据库 ( e ) r e p o s i t o r y ( o r a c l e ) :类型为o r a c l e 的r e p o s i t o r y ,用于存放各种数 据库操作所需的临时数据。 1 4 华东师范大学硕士学位论文异构数据库同步模型的研究与实现 ( f ) d a t a s t o r e 3 :从o r a c l e 数据库抽象出的d a t a s t o r e 3 ( g ) 更新操作:业务逻辑层中将d a t a s t o r e 3 o w n e r t a b l e 3 进行s q l 更新操 作的进程。 ( h ) 提交:对业务逻辑层的事务提交 图2 - 6 中的数字按顺序表明r e a d 及m a n i p u l a t e 过程中的具体步骤,分别是: ( 1 ) o r a c l e 数据库抽象为d a t a s t o r e 3 。 ( 2 ) 在业务逻辑层中将d a t a s t o r e 3 o w n e r t a b l e 3 进行s q l 更新操作。 ( 3 ) 更新的对象为d a t a s t o r e 3 o w n e r t a b l e 3 。 ( 4 ) 后台其实是对d a t a s t o r e 3 o w n e r t a b l e 3 在r e p o s i t o r y 中的副本进行 更新的过程。 ( 5 ) 后台其实是从r e p o s i t o r y 到实体数据库的同步过程。 ( 6 ) 从开发人员看来,同步上载过程是透明的。如果同步成功则进程正常结 束,如果同步失败则会有异常抛出。 第四节异构数据库同步模型c m o h d 模型的优点 c m o h d 模型有以下几处优点: 1 ) 较短的开发周期。对于数据库开发人员而言,使用基于c m o h d 模型的 s d k 作为异构数据库的应用开发,可以极大地提升开发效率,缩短开发周期。 原因是开发人员可以绕开如下繁琐过程: ( 1 ) 自己用j d b c 解开各种类型数据库的查询结果集 ( 2 ) 用程序设计语言做连接查询 ( 3 ) 将结果更新到各种类型数据库中( 很可能出现破坏数据库一致性的问 题) 。 异构数据库系统高效并发性能的保证。c m o h d 模型可以在后台透明地 为数据库开发人员同步r e p o s i t o r y 和各种类型的实体数据库,并自动进行合理的 封锁,保证了系统高效的并发性能。 3 ) 应用软件的可移植性。使用基于c m o h d 模型的数据库抽象层,可以在 按抽象层规范( 类o r a c l e 规则) 开发的基础上,使应用软件在任何数据库上移 植。c m o h d 模型会全盘负责底层与数据库的通讯。 4 ) 应用软件的全平台可部署性。基于c m o h d 模型的s d k 是用j a v a 技术 1 5 华东师范大学硕士学位论文 异构数据库同步模型的研究与实现 开发的,这样就可以跨u n i x l i n u x 和w i n d o w s 平台。这使得c m o h d 模型同 时又达到了应用软件操作系统级别的全平台可部署性。 1 6 华东师范大学硕士学位论文 异构数据库同步模型的研究与实现 第三章异构数据库同步模型c m o h d 模型的数据库一致性问题解决方法 为解决异构数据库同步的一致性问题,本章介绍本论文提出的基于程序检测 语义的多方面完整性检测的可剪裁算法。该算法是借鉴移动数据库系统的同步思 想n 引,并将其移植到异构数据库同步领域中所得的。 第一节借鉴移动数据库系统的同步思想 随着移动通讯技术的迅猛发展,移动设备已经相当普及,并且正在往体积更 小、计算能力更强、应用功能更多等方向发展n 。另一方面,数据库在事务性、 完整性、安全性等方面的优点,使其在移动应用领域有非常乐观的前景,特别是 在移动电子商务领域,基于移动设备的移动数据库可以轻松支持移动销售、移动 订阅、移动支付等全新服务,同时保证高可靠性和良好的用户体验。 移动数据库的特点有:频繁的断接性、网络条件的多样性、资源的有限性( 包 括移动设备性能以及移动通信带宽两方面) 以及系统规模庞大等。因此,移动数 据库很难像普通的分布式数据库那样进行长时间的稳定连接,这样就必须在移动 客户端保留服务器数据库的一个镜像,称为副本数据库,也就是缓存n 引。同时系 统存在一个中心数据库和一个同步服务器,体系结构如图3 - 1 ,这就是典型的三 级复制体系结构n 副。在断接的情况下,允许用户在副本数据库上单独进行读写操 作,这时会造成系统短暂的不一致状态,称为积累状态。随后副本数据库向同步 服务器同步上载,中心数据库和副本数据库进行同步,这个阶段称为消解状态。 经历了同步下载从而使本地副本与中心数据库重新达到一致,就称为一致性状 态。状态转换如图3 - 2 所示: 1 7 华东师范大学硕士学位论文 异构数据库同步模型的研究与实现 图3 - 1 三级复制体系结构 图3 - 2 状态转换图 由于异构数据库的同步如同移动数

温馨提示

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

评论

0/150

提交评论