异构数据库复制工具说明.doc_第1页
异构数据库复制工具说明.doc_第2页
异构数据库复制工具说明.doc_第3页
异构数据库复制工具说明.doc_第4页
异构数据库复制工具说明.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

异构数据库复制工具说明文档1前言1.1适用背景在计算机领域,任何部件都有可能发生异常,从机器硬件异常、存储介质损坏、操作异常到各种自然灾害等等,这些事故都会造成数据丢失。我们要清楚这种损失是不可能完全消除的。因此在不同的站点进行数据复制是降低数据丢失的解决办法。数据复制技术可以将企业应用中原本分布在不同站点的数据进行同步更新,它不仅可以实现数据的异地灾备,同时还可以广泛应用在集群、分布式数据库、数据库负载均衡等领域。本产品作为DM数据库系统的一部分,是为了实现DM数据库与其他异构的关系型数据之间的数据复制。1.2术语定义数据复制 将发生变化的数据由源数据库节点传递到目的数据库节点,使目的数据库节点的数据与源数据节点的数据保持一致的过程。同步复制 发生在一个数据节点的数据更新,将实时传递到所有参加复制的节点上,如有任何一个复制节点更新失败,此数据更新操作失败。已操作成功的节点将回滚。异步复制 在一个数据节点的数据更新不是实时传递给其他节点,而是暂存起来,等到指定的时间点才进行数据传递。复制冲突 在异步复制环境中,同一时间在两个不同的节点对同一个表的同一行数据的同一列作更新,这种情况将产生称之为更新冲突的错误。为保证数据的一致性,更新冲突必须被检测到并且适当处理以确保在不同地点的数据元素保持同样的值。通常的处理方法有站点优先、时间戳等参考文件。Shadow-table 专门用来保存变化数据的关系数据库表格,也称作“影子表”。发布者 是复制关系中的角色,被定义为发布者的数据库可以发布需要复制的表结构和这些表的变化数据,也可以接受订阅者主动传递上来的变化数据。订阅者 是复制关系中的角色,被定义为订阅者的数据库可以获取发布者发布的数据表结构和这些表变化数据,也可以主动将发生在订阅者数据库上的变化数据传递给发布者。2.系统主要功能2.1支持分布式应用系统可以分为一个发布者和一个或者多个订阅者,分布在多台主机上使用,以提高执行效率。每个发布者或者订阅者都通过JDBC连接到一台数据库服务器,掌管其上的变化数据。系统的外观如下:2.2 支持集中式应用在一些小型应用或者变化数据量较小的情况下,可以只使用一台服务器运行复制工具以节约运行成本。这个时候,订阅者和接受者都默认定义在一台主机上,所有的复制活动都由这台主机来完成,系统的外观如下。2.3 单向复制复制工具提供了pull、push、快照等复制功能,其中pull是发布者服务器将变化数据发送给订阅者服务器,push是订阅者服务器将变化数据发送给发布者服务器,快照是发布者服务器将快照数据发送给订阅者服务器,这些复制功能都是数据从一台数据库服务器到另一台数据库服务器单向的传播。2.4 双向复制复制工具提供了Synchronization复制功能,这个功能是同步订阅者和发布者的变化数据,如果发生复制冲突,则按预先定义的冲突解决策略来判断以哪一方的数据为标准数据。2.5支持复制汉字、大字段、多媒体数据复制工具支持异构数据库之间复制汉字、大字段和多媒体数据。2.6支持自动复制和手动复制用户可以手工点击复制工具界面上提供的pull、push、快照、Synchronization等按钮,随时手工进行复制。也可以通过预先定义一个复制计划,每隔一定的时间间隔自动进行数据复制。2.7 复制过滤定义复制关系时,可以制定复制条件,指定只复制符合一定条件的数据。2.8 复制冲突在异步并且双向复制的环境下,应该规定冲突的解决策略。用户可设定标本数据库的策略等方式设置当冲突发生时,以哪一方的数据为准。3.系统运行约束3.1数据库要求l 数据库提供JDBC接口。l 数据库支持自增列或者序列。l 数据库支持触发器或者存储过程。l 数据库提供JDBC连接。l 被同步的表中包含主键。3.2 操作系统要求数据复制全部由JAVA语言开发,与操作系统平台无关。4. 系统体系结构与说明4.1 系统结构系统由用户界面模块、复制功能模块、底层数据库适配模块、底层通信模块、通信(xml格式)文件构建和结构模块、通信文件压缩解压缩模块、复制工具配置文件构建和解构模块(初次启动时自动根据向导构建)。下面用层次图来说明这些模块关系:前台界面模块数据发布数据同步数据接受复制功能模块层用户界面层数据库适配模块底层数据库适配层通信模块XML文件压缩模块XML文件解压模块XML文件构建模块XML文件解构模块配置文件构建和解构模块底层通信层 用户界面层由很多的JAVA界面类组成,基本上它们只是显示输入要素和提示信息,接受用户的输入,并将对应的操作发送到复制功能模块层处理,并显示最后的操作结果。每个前台的操作都对应复制功能模块中的一个具体的功能函数,如数据发布对应的就是push函数,数据同步对应的就是synchronization函数等等。在这些功能函数中都会首先从数据库适配器模块提供的连接池中取得数据库连接,然后通过通信模块中的RMI和SOCKET对象通知对方服务器生成或接受通信文件。数据库适配模块,通过JDBC接口完成底层的数据库操作,根据数据库种类提供不同的数据库连接和sql语句。XML构建模块,把数据库的变化数据打包为XML文件。XML解构模块,根据XML文件生成对应的数据库操作语句,借助数据库适配模块把变化的数据落实到底层数据库上XML文件压缩,可以把XML文件压缩为Zip文件,减少带宽的占用。解压XML文件,可以把接受到的Zip文件还原为XML文件。4.2实现方式实现方式是在源数据库表上编写触发器,通过触

温馨提示

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

评论

0/150

提交评论