基于Web Service的数据库同步系统的设计与实现.docx
- 文档编号:135210
- 上传时间:2022-10-04
- 格式:DOCX
- 页数:30
- 大小:161.70KB
基于Web Service的数据库同步系统的设计与实现.docx
《基于Web Service的数据库同步系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Web Service的数据库同步系统的设计与实现.docx(30页珍藏版)》请在冰豆网上搜索。
分类号:
TP319UDC :
D10621-407-(2007)5822-0密级:
公开 编号:
2002801002
成
都
信
息
工
程
学
院
学
位
论
文
基于WebService的数据库同步系统的设计与实现
论文作者姓名:
申请学位专业:
申请学位类别:
指导教师姓名(职称):
论文提交日期:
基于WebService的数据库同步系统的设计与实现摘要
结合当前流行的WebService和ADO.NET技术构造了一个不受平台限制的
异构数据库同步系统。
实现了处于Internet上的SqlServer2000向Oracle的单向同步功能,能够基于IP的安全身份验证功能,多个IP实现了净量数据的传输。
对同步的配置信息采用XML存储,采用Windows应用程序界面化配置,操作方便、易懂。
因为同步环境是对处于Internet上的异构数据库的实时同步;在设计与开发中,重点关注异构数据库的同步以及数据传输的可靠性;探讨能实现可靠数据的同步,以及传输的高效性。
介绍了实现系统的思路以及所需的关键技术。
系统用到的相关技术有捕获技术Windows托盘服务、多线程处理、以及网络消息机制、多IP同步、同步IP权限验证、同步表名及字段以及字段类型的可配置、异构数据类型的转换、WebService等。
关键词:
WebService;异构数据库;同步;ADO.NET;
TheDesignandImplementationofDatabaseSynchronizationSystemBasedonWebServiceAbstract
WecanconstructtheHeterogeneousdatabasesynchronoussystemusingWeb
Service.Ithasrealizedthefunctionofone-waysynchronousfromSQLServer2000toOracle.Ithassomefunctions,thesecurityauthenticationofIP,thedatatransmissionofIP,theSynchronizationconfigurationusingXMLstorageandthewindowsapplicationprogramUIwhichcanmakethissystembeoperatedeasily.
Becausethesynchronousenvironmentwillbereal-timesynchronousforheterogeneousdatabaseontheInternet,inthedesignandimplementation,thissystemhasshowedthesynchronizationofheterogeneousdatabaseanddatatransmissionreliability,achievingthesynchronizationofreliabledata,thesecuritymethodsofdatatransmission,andtheefficiencytransmission.Itwilldisplaytheideasofrealizationandthenecessarycriticaltechnologies.Therearesomerelevanttechnologiesthatthissystemused,forexample,thecapturetechnology,thewindowstrayservice,multi-threadprocessing,andthenetworknewsmechanism,andsoon.
Keywords:
WebService;HeterogeneousDatabase;Synchronization;ADO.NET;
目录
论文总页数:
24页
1 引言 1
1.1课题背景 1
1.2国内外研究现状 1
1.3本课题研究的意义 2
1.4本课题的研究方法 2
2WEBSERVICE数据库同步原理 3
2.1WEBSERVICE构成与特点 3
2.1.1WebServcie的结构 3
2.1.2WebServcie的关键技术---协议 3
2.1.3WebServcie的特点 4
2.1.4WebServcie安全 5
2.2数据库复制的分类 5
2.3复制数据的类型 6
2.4数据捕获技术 7
2.5冲突检测 8
3需求分析 9
3.1同步环境 9
3.2功能需求 9
3.3性能需求 10
3.4输入输出要求 10
3.5运行需求 10
4方案设计 11
4.1数据库同步复制模型 11
4.2数据库设计 11
4.2.1源结点SqlServer2000表设计 11
4.2.2目的结点Oracle表设计 12
4.3模块设计 13
4.3.1数据捕获部分 13
4.3.2同步部分 13
4.3.3冲突检测处理部分 16
5代码实现 16
5.1开发环境 16
5.2关键代码详解。
16
5.2.1数据捕获部分 16
5.2.2同步部分 17
6 测试 19
6.1功能测试 19
6.2性能测试 20
结 论 21
参考文献 21
致 谢 23
声 明 24
1引言
1.1课题背景
随着信息化建设的深入,企业和政府如何将己有的“信息孤岛”连通起来,实现信息的集成与共享是当前需要解决的一个关键问题。
特别是企业和政府部门多数采用层次管理摸式,各个部门、分支机构可能处于Internet上的不同区域,上下级机构之间需要进行大量的数据汇总与分发,实现整个企业或政府部门的数据集成。
这种数据集成是从一个或多个数据库中抽取数据,经过远程传输处理后再加载到另一个数据库中。
各分支机构数据库系统又包括异构的与同构的,这里的异构可以是操作系统的异构,可以是数据库管理系统的异构,也可以是数据库内部表结构的异构。
然而,分布式数据库系统既要提供局部自治又要实现全局控制,给数据的同步带来了很大的挑战性。
如何在不同组织之间、不同类型、不同平台的数据库系统之间进行数据同步工作,是数据库领域一个研究方向。
特别是对于异构的情况。
WebService的出现使异构数据库同步的情况变得较为容易实现,因为它是一种完全的无语言相关性、无平台相关性、无对象相关性的模型。
非常适合于Internet上的数据集成。
1.2国内外研究现状
国外对数据集成的研究比较早,许多数据库系统提供了专门的数据转换集成工具。
如SQLServer2000的DTS,Oracle的SQL*Loader,IBM的VisualWarehouse等。
另外,还有一些第三方软件开发商也推出一些产品,例如:
AscentialSoftware公司的DataStage,AppliedDatabaseTechnology公司的DataMapper,Dataflux公司的SmartScurb和DataJunction公司开发的析取包等。
这些数据库附带的、第三方公司开发的数据集成工具对于结构化数据在功能上可以说已经基本上能满足一般的要求。
而对于数据库研究组织来说,不少研究小组针对数据集成中一些重要的技术难点展开研究工作,例如集成模型,数据集成的通用性,数据集成的构件化,数据转换的技术,数据转换规则的制订,数据同步策略等等。
异构数据同步方法的研究现状:
集成数据的质量是整个系统的关键点,而保证源数据和目标数据库的数据同步则是保证数据质量的前提,特别是在目前分布式异步数据集成的环境下,减少数据传输过程中的冗余量,实现数据同步的高效性和增量报送成为数据同步的目标。
J.Hammer教授讨论了数据同步的两种可能方法;如果数据源是功能完备的数据库系统,则可以通过定义一组触发器,或者通过读取日志的方式来检测分析数据源的变化实现数据同步。
该方法的可行性及实现依赖于具体的数
第1页共24页
据源类型,比如文本型数据源就不支持日志或触发器机制。
而对于任意类型的数据源,都可以采用基于快照差分的方法实现数据同步:
每隔一定时期重新生成基表的快照,同上一次的旧快照作差分计算,得到反映基表自上次到本次生成快照以来变化的增量数据。
增量数据中可以只包含数据源中被删除或插入的元组W.J.Labio综述了可应用于快照差分的算法,包括几种常用算法:
SortMerge算法、PartitionHash算法、Window算法,和一类新提出的基于压缩策略的算法,并对所有这些算法作了详尽的分析。
在增量数据更新方面,目前有五种技术可以达到数据增量更新的要求。
第一种方法是扫描已经打上时间戳的数据,当一个应用对记录的最后一次修改打上时间戳时,扫描程序就根据时间戳得到增量数据,但必须原业务系统存在时间戳字段:
第二种方法是扫描增量文件,增量文件仅记录应用中所发生的变化,有了增量文件,扫描的过程就会高效,增量文件的生成可以改造应用来完成,如触发器:
第三种方法就是扫描日志文件或审计文件,但必须使用某种技术手段作为日志文件内容输出的接口,常见的使用Sybase的工具RepliactionServer来识别:
第四种方法就是修改以往的应用程序代码,使这些程序能够数据集成;第五种方法就是将前后两个快照文件进行比对。
目前,国内大部分应用系统采用针对系统本身设计开发的数据集成工具,有的甚至用手工方法实现数据抽取、转换和加载。
因此当目标数据库结构发生变化或者重建时,需要重新编程实现该过程。
1.3本课题研究的意义
分布式数据库大量的应用,各种应用之间又有很多的交叉性。
数据库同步就显得很重要;特别是异构的情况,然而异构数据库之间的同步不能应用数据库自带的同步工具。
另一方面,由于两者分布在Internet中,防火墙的存在使得同步无法使用特定端口通讯。
但因为大多数企业会开放用于HTTP的80端口,因而借助WebService可以完成两者的通讯。
数据表要进行的操作,以XML形式编码作为消息内容。
借助XML的无语言相关性、无平台相关性、无对象相关性来实现异构数据库的同步,也可应用结构相同的分布式数据库上。
1.4本课题的研究方法
本同步系统采用WebService作为同步数据的传输,使用触发器实时捕获数据库的增量记录,并保存到临时缓冲表,以便供同步到目标数据库,然后采用Windows服务实时的监视目标IP是否有需要同步的数据,如果存在目标IP同步的数据,就向此IP发送同步消息,另外一端收到同步消息就调用WebServcie方法获取同步的数据,写入到本地,写入成功后向服务器方发送确认消息;服务器收到确认后,将此IP同步了的数据标识为已读。
当所有主机同步完成,就
第24页共24页
物理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于Web Service的数据库同步系统的设计与实现 基于 Web Service 数据库 同步 系统 设计 实现