一个轻量级的异构数据库同步系统.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一个轻量级的异构数据库同步系统

一个轻量级的异构数据库同步系统 nbsp;摘nbsp; 要nbsp; 本文主要论述了通过Java语言、Hibernate框架和消息队列中间件实现异构数据库的同步。Java的平台无关性很好的地解决了平台问题,Hibernate作为一种新的ORM映射工具,可以支持几乎所有的流行的数据库服务器,所以它基本能满足对数据进行有效、安全处理的需要。同时通过MQSeries classes for Java,利用网络传输,能够实现数据的同步传输。 nbsp;nbsp;nbsp; 关键词nbsp;nbsp; 消息队列;nbsp; Hibernate;nbsp;nbsp; 异构数据库;nbsp; 同步; nbsp; 1nbsp; 引言 nbsp;nbsp;nbsp; 目前,信息化建设正以前所未有的速度发展,各种各样的数据急剧膨胀。在这种大背景下,数据的传输、处理能力已经成为信息化程度的一个重要标志。但是,由于各单位现在使用的软硬件平台、数据库系统不尽相同,当各单位之间需要进行数据交流时,其效率及准确性、及时性必然受到影响,对数据进行有效、安全的传输和处理成为一个重要的技术课题。目前的一些解决方案系统功能复杂、过于庞大而且费用较高,而对于中小型企业一般只需要数据层的一部分进行同步。本文提出了采用Java、Hibernate框架和消息队列来实现异构数据库的同步方案,该方案是一种轻量级的架构,可满足中小型企业需求,并且能够以手工迁移的方式来保证网络出现故障时数据库的同步。 2 nbsp;国内外发展状况 nbsp;nbsp;nbsp; 异构数据库同步是异构数据库集成技术的一种应用。目前国内外几家大型的数据库厂商提出的异构数据库复制方案主要有:Oracle的透明网关技术,IBM的CCD表(一致变化数据表)方案,微软公司的出版者/订阅者方案。国外的如土耳其中东科技大学的MIND系统,美国密歇根-迪尔波恩大学、斯坦福大学的TSUNMMIS项目,国内的如中关村科技软件有限公司、华中科技大学的Panorama系统都有过类似系统的研究。但是由于上述系统致力于解决异构数据库间复杂的交互操作,大而全,并不符合一些中小企业的需求,如IBM的CCD表方案实现复杂且CD表占用资源较多维护费用高昂,微软公司的出版者/订阅者方案只能在NT运行等。而其它的系统大多都存在此类问题。 3 nbsp;所用技术简介 3.1 nbsp;Hibernate技术介绍 nbsp;nbsp;nbsp; Hibernate 是一个开源对象/与持久性和查询相关的框架,Hibernate 帮助基于普通的Java对象模型的持久对象的创建,从而允许持久对象拥有复杂的结构如混合类型、集合和属性,还可以拥有用户自定义的类型。现在这些持久对象可以有效的反映出底层数据库模式的复杂结构。为了提高效率,Hibernate包括了一些策略,如与数据库交互时的多重最优化,包括对象的缓存、有效外部连接的获取、必要时SQL语句的执行,并且Hibernate支持几乎所有流行的数据库服务器。 3.2 nbsp;MQSeries classes for Java 简介nbsp;nbsp; nbsp;nbsp;nbsp; 消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读走。通过消息队列,应用程序可独立地执行--它们不需要知道彼此的位置、或在继续执行前不需要等待接收程序接收此消息。下图1是消息队列本地通讯和远程通讯的原理图。 图1nbsp; MQ的工作原理 nbsp;nbsp;nbsp; MQSeries classes for Java (MQ base Java) 允许以 Java 编程语言编写程序: nbsp;nbsp;nbsp; (1)作为 MQSeries 客户机连接到 MQSeries; nbsp;nbsp;nbsp; (2)直接连接到 MQSeries 服务器。 nbsp;nbsp;nbsp; 它支持 Java 小应用程序、应用程序以及小服务程序对 MQSeries 发出调用并查询。 4 nbsp;解决方案 4.1 nbsp;解决方案的主要框架图 nbsp;nbsp;nbsp; 针对当前存在的这个问题,现提出基于Hibernate和消息队列来实现异构数据库间数据同步的方案,该方案是一种轻量级低成本的方案,可以满足中小企业对于异构数据库数据同步的需求。 下面图2是整个解决方案的原理结构图: 图2nbsp; Hibernate+MQ实现异构数据库的数据同步 nbsp;nbsp;nbsp; 根据系统的工作特点,将系统工作模块分为下列四块,解决方案的主要模式图如图3所示。 图 3nbsp; 解决方案模式图 4.

文档评论(0)

ailuojue4 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档