基于Web Service的数据库同步系统
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
1 引言
1.1 课题背景
随着信息化建设的深入,企业和政府如何将己有的“信息孤岛”连通起来,实现信息的集成与共享是当前需要解决的一个关键问题。特别是企业和政府部门多数采用层次管理摸式,各个部门、分支机构可能处于Internet上的不同区域,上下级机构之间需要进行大量的数据汇总与分发,实现整个企业或政府部门的数据集成。这种数据集成是从一个或多个数据库中抽取数据,经过远程传输处理后再加载到另一个数据库中。各分支机构数据库系统又包括异构的与同构的,这里的异构可以是操作系统的异构,可以是数据库管理系统的异构,也可以是数据库内部表结构的异构。
然而,分布式数据库系统既要提供局部自治又要实现全局控制,给数据的同步带来了很大的挑战性。如何在不同组织之间、不同类型、不同平台的数据库系统之间进行数据同步工作,是数据库领域一个研究方向。特别是对于异构的情况。Web Service的出现使异构数据库同步的情况变得较为容易实现,因为它是一种完全的无语言相关性、无平台相关性、无对象相关性的模型。非常适合于Internet上的数据集成。 【www.think58.com计算机毕业论文网】
1.2 国内外研究现状
国外对数据集成的研究比较早,许多数据库系统提供了专门的数据转换集成工具。如SQL Server 2000的DTS, Oracle的SQL* Loader, IBM的Visual Warehouse等。另外,还有一些第三方软件开发商也推出一些产品,例如:Ascential Software公司的DataStage, Applied Database Technology公司的DataMapper, Dataflux公司的SmartScurb和Data Junction公司开发的析取包等。这些数据库附带的、第三方公司开发的数据集成工具对于结构化数据在功能上可以说已经基本上能满足一般的要求。而对于数据库研究组织来说,不少研究小组针对数据集成中一些重要的技术难点展开研究工作,例如集成模型,数据集成的通用性,数据集成的构件化,数据转换的技术,数据转换规则的制订,数据同步策略等等。 think58.com
[资料来源:THINK58.com]
异构数据同步方法的研究现状:
集成数据的质量是整个系统的关键点,而保证源数据和目标数据库的数据同步则是保证数据质量的前提,特别是在目前分布式异步数据集成的环境下,减少数据传输过程中的冗余量,实现数据同步的高效性和增量报送成为数据同步的目标。J.Hammer教授讨论了数据同步的两种可能方法;如果数据源是功能完备的数据库系统,则可以通过定义一组触发器,或者通过读取日志的方式来检测分析数据源的变化实现数据同步。该方法的可行性及实现依赖于具体的数据源类型,比如文本型数据源就不支持日志或触发器机制。而对于任意类型的数据源,都可以采用基于快照差分的方法实现数据同步:每隔一定时期重新生成基表的快照,同上一次的旧快照作差分计算,得到反映基表自上次到本次生成快照以来变化的增量数据。增量数据中可以只包含数据源中被删除或插入的元组 W.J.Labio综述了可应用于快照差分的算法,包括几种常用算法:Sort Merge算法、Partition Hash算法、Window算法,和一类新提出的基于压缩策略的算法,并对所有这些算法作了详尽的分析。在增量数据更新方面,目前有五种技术可以达到数据增量更新的要求。第一种方法是扫描已经打上时间戳的数据,当一个应用对记录的最后一次修改打上时间戳时,扫描程序就根据时间戳得到增量数据,但必须原业务系统存在时间戳字段:第二种方法是扫描增量文件,增量文件仅记录应用中所发生的变化,有了增量文件,扫描的过程就会高效,增量文件的生成可以改造应用来完成,如触发器:第三种方法就是扫描日志文件或审计文件,但必须使用某种技术手段作为日志文件内容输出的接口,常见的使用Sybase的工具RepliactionServer来识别:第四种方法就是修改以往的应用程序代码,使这些程序能够数据集成;第五种方法就是将前后两个快照文件进行比对。 think58好,好think58
目前,国内大部分应用系统采用针对系统本身设计开发的数据集成工具,有的甚至用手工方法实现数据抽取、转换和加载。因此当目标数据库结构发生变化或者重建时,需要重新编程实现该过程。
1.3 本课题研究的意义
分布式数据库大量的应用,各种应用之间又有很多的交叉性。数据库同步就显得很重要;特别是异构的情况,然而异构数据库之间的同步不能应用数据库自带的同步工具。另一方面,由于两者分布在Internet中,防火墙的存在使得同步无法使用特定端口通讯。但因为大多数企业会开放用于HTTP的80端口,因而借助Web Service可以完成两者的通讯。数据表要进行的操作,以XML形式编码作为消息内容。借助XML的无语言相关性、无平台相关性、无对象相关性来实现异构数据库的同步,也可应用结构相同的分布式数据库上。
1.4 本课题的研究方法
本同步系统采用Web Service 作为同步数据的传输,使用触发器实时捕获数据库的增量记录,并保存到临时缓冲表,以便供同步到目标数据库,然后采用Windows服务实时的监视目标IP是否有需要同步的数据,如果存在目标IP同步的数据,就向此IP发送同步消息,另外一端收到同步消息就调用Web Servcie方法获取同步的数据,写入到本地,写入成功后向服务器方发送确认消息;服务器收到确认后,将此IP同步了的数据标识为已读。当所有主机同步完成,就物理上删除被同步了的数据。先实现Sql Server 2000同步到 Oracle,设计时考虑到多个IP,多个不同异构数据的情况。 [资料来源:http://think58.com]
[来源:http://www.think58.com]
上一篇:猜数游戏软件
下一篇:133_基于工作流引擎的系统框架