基于Web Service的数据库同步系统的研究
摘要:Web Service是建立可互操作的分布式应用程序的新平台。本文主要论述了利用Web Service技术解决Internet上数据库同步问题的基本原理和实现方案,阐述了利用Web Service技术实现远程数据库同步的基本思路、关键技术、实现步骤和方法。
关键词:Web Service 同步 数据库
就当代企业信息化建设而言,企业和政府如何将己有的“信息孤岛”连通起来,实现信息的集成与共享是当前需要解决的一个关键问题。为了保证共享数据的一致,通常需要解决如何高效、安全的保持各数据库间的数据同步,实现企业中各系统之间的信息资源共享,即实现异构数据库的同步是现代企业应用系统中需要考虑的重要问题之一。然而,分布式数据库系统既要提供局部自治又要实现全局控制,给数据的同步带来了很大的挑战性。
1 Web Service技术
Web Service的主要目标是跨平台的可互操作性。为了达到这一目标,Web Service完全基于XML(可扩展标记语言)、XSD(XML Schema)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新技术。Web Services体系以SOAP,XML和WSDL分别作为其数据传输协议、消息传送格式以及服务描述语言。
SOAP:SOAP(Simple Object Access Protocol)协议,是一组基于XML的无状态、单向、轻量级的消息传递协议。用于无中心、分布式远程过程的调用。它是Web Services的通信协议,实质上是一个基于文本的协议,它没有对平台和环境的依赖性。
WSDL:WSDL(Web Service Description Language)协议,Web服务描述语言,定义了一个基于XML的组件描述标准机制,用来描述Web服务的相关信息,它把网络服务定义成一个能交换消息的通信端点集。我们可以认为WSDL文件是一个XML文档,Web Services的细节描述都包含在里面,如参数类型、函数功能、返回类型、终端和绑定协议等。
Web Services提供者编写接口函数与服务描述,并把它发布到服务请求者或服务注册中心。服务请求者通过查询本地或服务注册中心的服务描述,选择所需的服务进行绑定并调用Web Services函数,Web Services提供者则以XML的形式把结果返回给服务请求者,从而实现信息交互。
2 基于 XML/Web Services技术的数据库同步技术
基于XML的数据库同步不同于传统的在分布式系统构架下的数据库同步,它的目标是在Internet范围内实现数据库间的数据同步,参与同步的对象具更强的独立性和多样性。根据这种新的目标和应用环
境,人们对实现数据库同步的技术产生了新的要求。
本文将利用XML作为信息传输和交换数据的公共表示,在表示数据的时候,将其结构信息和值信息分开来描述,分别定义为数据结构文档和数据值文档。通过分析结构信息文档,解决数据冲突,完成数据值文档的转换。使用Web Services技术将各数据库系统联接起来,数据库系统之间使用SOAP协议通信。
3 异构数据库同步系统的设计与实现 3.1 数据捕获技术
不同的数据捕获技术在生成复制数据的能力方面上有所不同。现在常用的数据捕获技术包括触发器法、快照法等。
(1)快照法。
快照(snapshot)是在某一时刻将数据库中存储对象的状态存储下来,构成当前数据库的一个映像文件,将此映像文件作为复制数据,用来更新其他的数据库。快照法只是在复制时进行一次全面扫描,实现简单,它不需依赖特别的机制,也不占用系统资源。由于快照法生成完全拷贝的复制数据,因此效率很低,应用的范围也比较小,一般在复制初始化和崩溃恢复时通常需要采用这种方式。