SQL Server 2005 Mobile同步技术初探

时间:2022-08-17 10:13:22

SQL Server 2005 Mobile同步技术初探

摘要:介绍了SQL Server 2005 Mobile数据库及其应用,详细阐述了远程数据访问(RDA)和合并复制(Replication)数据库同步技术,探讨了两种技术的各自特点和结构体系,描述了两种数据同步技术的实现过程,最后对这两种同步技术的特点做了比较。

关键词:SQL Server 2005 Mobile;数据库同步;远程数据访问; 合并复制

中图分类号:TP311文献标识码:A 文章编号:1009-3044(2010)20-5413-02

Synchronization Technology of SQL Server 2005 Mobile

YANG Xue-jing1, ZHANG Zhi-biao2

(1.Middle School Attached to HUST, Wuhan 430074, China; 2.Department of Electronics and Information Engineering Huazhong University of Science and technology Wuhan 430074, China)

Abstract: Introduce SQL Server 2005 Mobile database and its application, illustrate synchronization of remote data access(RDA) and replication, and make a simple discuss on them about the characteristics and architecture. Then describe how to implement in a project. Finally, compare the Features of the two kind of synchronization technology.

Key words: SQL Server 2005 mobile; database synchronization; remote data access; replication

Microsoft SQL Server 2005 Mobile是旨在快速开发应用系统的紧凑型数据库,可以将企业数据管理能力延伸到移动设备。SQL Server Mobile通过支持常见的结构化查询语言(SQL)语法,以及提供开发模式和与SQL Server兼容的API,成为简化移动应用系统开发的强大工具。SQL Server Mobile与SQL Server 2005的Management Studio特性相集成,为开发人员提供了易于建立,部署和管理SQL Server Mobile数据库。

SQL Server Mobile具备一整套关系数据库的精华特性,如一个优化查询处理器,及对交易和多样数据类型的支持等,同时维护一个可保护系统资源的紧凑型印迹.远程数据访问和合并复制功能,确保SQL Server数据库中的数据被可靠地传送,能够脱机操作,以及与服务器滞后同步。 因此,SQL Server Mobile成为移动和无线环境的理想选择。

SQL Server 2005 Mobile Edition支持两种与 SQL Server 数据库交换数据的方法:远程数据访问(RDA)和合并复制(Replication)。在连接到 SQL Server 时,RDA 和复制功能都支持集成 Windows 身份验证和 SQL Server 身份验证。下面详细介绍如何使用RDA和合并复制来进行移动数据库的同步。

1 远程数据访问(RDA)

1.1 RDA简介

SQL Server 2005 Mobile中的远程数据访问 (RDA) 允许应用程序从远程 SQL Server 数据库表中访问数据,并将数据存储到本地 SQL Server Mobile 数据库表中。随后,应用程序可以读取和更新本地 SQL Server Mobile 数据库表。SQL Server Mobile 可以选择跟踪对本地表所做的所有更改。稍后,应用程序可以将本地表中更改的记录更新回 SQL Server 表中。

在 SQL Server Mobile 中,从 SQL Server 表向本地 SQL Server Mobile 表传播数据称为请求数据。将本地 SQL Server Mobile 表中所做的更改传播回 SQL Server 表称为推送数据。

应用程序还可以使用 RDA 来提交 SQL 语句,在远程 SQL Server 数据库上执行。例如,应用程序可以提交 SQL 语句,向 SQL Server 表中插入、更新或删除记录。应用程序可以调用任何不返回记录集的 SQL 语句,包括远程系统上的存储过程。

1.2 RDA体系结构

远程数据访问 (RDA) 使用SQL Server 2005 Mobile的三个组件:SQL Server Mobile 数据库引擎、SQL Server Mobile 客户端和 SQL Server Mobile 服务器。

RDA 使用 Microsoft Internet 信息服务 (IIS) 作为服务器上 SQL Server 数据库和设备上 SQL Server Mobile 数据库之间的通信机制。SQL Server Mobile 数据库引擎、SQL Server Mobile 客户端和 SQL Server Mobile 服务器协同工作才可以完成 RDA,如图1的关系图所示。

SQL Server Mobile 数据库引擎 可以管理设备上的 SQL Server 数据存储区。对于跟踪的请求操作,数据库引擎 将通过维护每个记录的少量更改跟踪信息,跟踪所有插入、更新或删除的数据库记录。如果 SQL Server 数据存在索引,RDA 还支持为本地数据创建索引。

SQL Server Mobile 客户端位于设备上的 SQL Server Mobile 客户端是用于 RDA 的主要组件。客户端可以实现 RDA 对象接口。应用程序通过调用此接口以编程方式控制 RDA。

SQL Server Mobile 服务器位于运行有 IIS 的计算机上,用于处理 SQL Server Mobile 客户端发出的 HTTP 请求。它使用临时消息文件(*.in 和 *.out)来管理 SQL Server 和 SQL Server Mobile 之间的数据交换。

表2说明了 SQL Server Mobile 服务器对 RDA 对象方法调用的响应操作。

2 合并复制(Replication)

2.1 合并复制简介

合并复制完美地适用于便携式设备,因为它让数据自动和独立地在便携式设备和服务器上进行更新。设备和服务器上的数据可以在设备连接时进行同步,将客户端的更改发送到服务器并且从服务器接收新的更改。

合并复制的常见方案包括: 下载只读数据;输入和上载新数据;更新和同步数据。

2.2 合并复制体系结构

在 Microsoft SQL Server 2005 Mobile Edition (SQL Server Mobile) 中,复制使用下列组件: SQL Server Mobile 数据库引擎; SQL Server Mobile 客户端;SQL Server Mobile 服务器 ;SQL Server Mobile 复制提供程序。

体系结构如图2。

SQL Server Mobile 数据库引擎 可管理设备上的本地数据库。对于订阅数据库,SQL Server Mobile 数据库引擎 可通过维护每条记录的更改跟踪信息,跟踪所有插入、更新或删除的数据库记录。

SQL Server Mobile 客户端是设备上主要的 SQL Server Mobile 复制组件。SQL Server Mobile 客户端可实现 SQL Server Mobile Replication 对象接口。应用程序可调用此接口,通过编程方式控制复制。

SQL Server Mobile 服务器是负责管理 SQL Server 和 SQL Server Mobile 之间通信的组件。SQL Server Mobile 服务器位于运行 Microsoft Internet 信息服务 (IIS) 的服务器上,可以处理从 SQL Server Mobile 客户端发出的所有 HTTP 请求。

在执行同步时,SQL Server 协调器将调用 SQL Server Mobile 复制提供程序。SQL Server 协调器和 SQL Server Mobile 复制提供程序都位于运行 IIS 的服务器上,该服务器上还安装有 SQL Server Mobile 服务器工具。在启动 SQL Server 协调器后,服务器上的合并是与订阅相关联的。

3 RDA和Replication的比较

RDA 和合并复制都适用于无线传输。使用压缩可减小传输的数据量。在传输期间可以使用加密来保护敏感的用户数据。

根据智能设备应用程序的用途、功能、规模和要求来决定在SQL Server 2005 Mobile应用程序中使用远程数据访问 (RDA) 还是使用复制。每个连接数据解决方案都有不同的优点和缺点。如表3。

4 结束语

本文对应用较为广泛的移动数据库SQL Server 2005 Mobile与SQL SERVER数据同步进行了较为深入的探讨,并对这两种同步方式进行了功能上的比较。至于在实际项目中采用哪种方式进行同步,则要根据具体移动业务的目的、功能、需求来决定, 对于同步数据量较小且移动客户数量较小的业务适合远程数据访问的方式,反之对于数据量较大且移动客户端数量较多的业务适合选择合并复制的方式来进行同步。

参考文献:

[1] 闵媛,熊前兴.移动数据库数据同步技术研究[J].武汉理工大学学报,2008,32(1):156-169.

[2] 王浩.移动数据库远程同步技术在WINCE嵌入式系统中的应用[J].安康学院学报,2010,22(2):97-98.

[3] 苏伟,陈敏,李紧.SQLServerCE中RDA与Replication的研究[J].现代计算机,2010(02):109-112.

上一篇:下一代互联网技术研究 下一篇:简述“一次性密码”身份验证