《基于WEB SERVICE的数据库同步系统的设计与实现—计算机毕业设计》由会员分享,可在线阅读,更多相关《基于WEB SERVICE的数据库同步系统的设计与实现—计算机毕业设计(37页珍藏版)》请在金锄头文库上搜索。
1、毕业设计(论文)基于Web Service的数据库同步系统的设计与实现论文作者姓名:申请学位专业:申请学位类别:指导教师姓名职称:论文提交日期:基于Web Service的数据库同步系统的设计与实现摘 要结合当前流行的Web Service和ADO.NET技术构造了一个不受平台限制的异构数据库同步系统。实现了处于Internet上的Sql Server2000向Oracle 的单向同步功能,能够基于IP的平安身份验证功能,多个IP实现了净量数据的传输。对同步的配置信息采用XML存储,采用Windows应用程序界面化配置,操作方便、易懂。因为同步环境是对处于Internet上的异构数据库的实时同
2、步;在设计与开发中,重点关注异构数据库的同步以及数据传输的可靠性;探讨能实现可靠数据的同步,以及传输的高效性。介绍了实现系统的思路以及所需的关键技术。系统用到的相关技术有捕获技术Windows 托盘效劳、多线程处理、以及网络消息机制、多IP同步、同步IP权限验证、同步表名及字段以及字段类型的可配置、异构数据类型的转换、Web Service等。关键词:Web Service;异构数据库;同步;ADO.NET; The Design and Implementation of Database Synchronization System Based on Web Service Abstrac
3、tWe can construct the Heterogeneous database synchronous system using Web Service. It has realized the function of one-way synchronous from SQL Server2000 to Oracle. It has some functions, the security authentication of IP, the data transmission of IP, the Synchronization configuration using XML sto
4、rage and the windows application program UI which can make this system be operated easily.Because the synchronous environment will be real-time synchronous for heterogeneous database on the Internet, in the design and implementation, this system has showed the synchronization of heterogeneous databa
5、se and data transmission reliability, achieving the synchronization of reliable data, the security methods of data transmission, and the efficiency transmission. It will display the ideas of realization and the necessary critical technologies. There are some relevant technologies that this system us
6、ed, for example, the capture technology, the windows tray service, multi-thread processing, and the network news mechanism, and so on. Key words: Web Service; Heterogeneous Database; Synchronization; ADO.NET;目 录论文总页数:24页1引言11.1课题背景11.2国内外研究现状11.3本课题研究的意义21.4本课题的研究方法22WEB SERVICE数据库同步原理32.1Web Servic
7、e构成与特点32.1.1Web Servcie的结构32.1.2Web Servcie的关键技术-协议32.1.3Web Servcie的特点42.1.4Web Servcie平安52.2数据库复制的分类52.3复制数据的类型62.4数据捕获技术72.5冲突检测83需求分析93.1同步环境93.2功能需求93.3性能需求103.4输入输出要求103.5运行需求104方案设计114.1数据库同步复制模型114.2数据库设计114.2.1源结点Sql Server 2000表设计114.2.2目的结点Oracle表设计124.3模块设计134.3.1数据捕获局部134.3.2同步局部134.3.3
8、冲突检测处理局部165代码实现165.1开发环境165.2关键代码详解。165.2.1数据捕获局部165.2.2同步局部176测试196.1功能测试196.2性能测试20结 论21参考文献21致 谢23声 明241 引言1.1 课题背景随着信息化建设的深入,企业和政府如何将己有的“信息孤岛连通起来,实现信息的集成与共享是当前需要解决的一个关键问题。特别是企业和政府部门多数采用层次管理摸式,各个部门、分支机构可能处于Internet上的不同区域,上下级机构之间需要进行大量的数据汇总与分发,实现整个企业或政府部门的数据集成。这种数据集成是从一个或多个数据库中抽取数据,经过远程传输处理后再加载到另一
9、个数据库中。各分支机构数据库系统又包括异构的与同构的,这里的异构可以是操作系统的异构,可以是数据库管理系统的异构,也可以是数据库内部表结构的异构。然而,分布式数据库系统既要提供局部自治又要实现全局控制,给数据的同步带来了很大的挑战性。如何在不同组织之间、不同类型、不同平台的数据库系统之间进行数据同步工作,是数据库领域一个研究方向。特别是对于异构的情况。Web Service的出现使异构数据库同步的情况变得较为容易实现,因为它是一种完全的无语言相关性、无平台相关性、无对象相关性的模型。非常适合于Internet上的数据集成。1.2 国内外研究现状国外对数据集成的研究比拟早,许多数据库系统提供了专
10、门的数据转换集成工具。如SQL Server 2000的DTS, Oracle的SQL* Loader, IBM的Visual Warehouse等。另外,还有一些第三方软件开发商也推出一些产品,例如:Ascential Software公司的DataStage, Applied Database Technology公司的DataMapper, Dataflux公司的SmartScurb和Data Junction公司开发的析取包等。这些数据库附带的、第三方公司开发的数据集成工具对于结构化数据在功能上可以说已经根本上能满足一般的要求。而对于数据库研究组织来说,不少研究小组针对数据集成中一些重
11、要的技术难点展开研究工作,例如集成模型,数据集成的通用性,数据集成的构件化,数据转换的技术,数据转换规那么的制订,数据同步策略等等。异构数据同步方法的研究现状:集成数据的质量是整个系统的关键点,而保证源数据和目标数据库的数据同步那么是保证数据质量的前提,特别是在目前分布式异步数据集成的环境下,减少数据传输过程中的冗余量,实现数据同步的高效性和增量报送成为数据同步的目标。J.Hammer教授讨论了数据同步的两种可能方法;如果数据源是功能完备的数据库系统,那么可以通过定义一组触发器,或者通过读取日志的方式来检测分析数据源的变化实现数据同步。该方法的可行性及实现依赖于具体的数据源类型,比方文本型数据
12、源就不支持日志或触发器机制。而对于任意类型的数据源,都可以采用基于快照差分的方法实现数据同步:每隔一定时期重新生成基表的快照,同上一次的旧快照作差分计算,得到反映基表自上次到本次生成快照以来变化的增量数据。增量数据中可以只包含数据源中被删除或插入的元组 W.J.Labio综述了可应用于快照差分的算法,包括几种常用算法:Sort Merge算法、Partition Hash算法、Window算法,和一类新提出的基于压缩策略的算法,并对所有这些算法作了详尽的分析。在增量数据更新方面,目前有五种技术可以到达数据增量更新的要求。第一种方法是扫描已经打上时间戳的数据,当一个应用对记录的最后一次修改打上时
13、间戳时,扫描程序就根据时间戳得到增量数据,但必须原业务系统存在时间戳字段:第二种方法是扫描增量文件,增量文件仅记录应用中所发生的变化,有了增量文件,扫描的过程就会高效,增量文件的生成可以改造应用来完成,如触发器:第三种方法就是扫描日志文件或审计文件,但必须使用某种技术手段作为日志文件内容输出的接口,常见的使用Sybase的工具RepliactionServer来识别:第四种方法就是修改以往的应用程序代码,使这些程序能够数据集成;第五种方法就是将前后两个快照文件进行比对。目前,国内大局部应用系统采用针对系统本身设计开发的数据集成工具,有的甚至用手工方法实现数据抽取、转换和加载。因此当目标数据库结
14、构发生变化或者重建时,需要重新编程实现该过程。1.3 本课题研究的意义分布式数据库大量的应用,各种应用之间又有很多的交叉性。数据库同步就显得很重要;特别是异构的情况,然而异构数据库之间的同步不能应用数据库自带的同步工具。另一方面,由于两者分布在Internet中,防火墙的存在使得同步无法使用特定端口通讯。但因为大多数企业会开放用于 的80端口,因而借助Web Service可以完成两者的通讯。数据表要进行的操作,以XML形式编码作为消息内容。借助XML的无语言相关性、无平台相关性、无对象相关性来实现异构数据库的同步,也可应用结构相同的分布式数据库上。1.4 本课题的研究方法本同步系统采用Web
15、 Service 作为同步数据的传输,使用触发器实时捕获数据库的增量记录,并保存到临时缓冲表,以便供同步到目标数据库,然后采用Windows效劳实时的监视目标IP是否有需要同步的数据,如果存在目标IP同步的数据,就向此IP发送同步消息,另外一端收到同步消息就调用Web Servcie方法获取同步的数据,写入到本地,写入成功后向效劳器方发送确认消息;效劳器收到确认后,将此IP同步了的数据标识为已读。当所有主机同步完成,就物理上删除被同步了的数据。先实现Sql Server 2000同步到 Oracle,设计时考虑到多个IP,多个不同异构数据的情况。2 Web Service数据库同步原理2.1 Web Service构成与特点2.1.1 Web Servcie的结构效劳提供者效劳注册中心效劳请求者效劳效劳描述效劳描述Web Service由效劳提供者、效劳注册中心和效劳请求者三角色以及发布、查找和绑定三个操作组成。三个角色的交互完成效劳。交互涉及发布、查找和绑定操作。图1描述了角色调用操作完成效劳的结构。效劳提供者管理可以通过网络访问