Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » MobiLink - 入门 » MobiLink 技术简介 » 了解 MobiLink 同步

 

同步过程

同步是 MobiLink 客户端和中心数据源之间的数据交换过程。在此过程中,客户端必须建立并维护与 MobiLink 服务器的会话。如果成功,此会话将使远程数据库和统一数据库保持相互一致的状态。

通常由客户端发起同步过程。此过程首先与 MobiLink 服务器建立连接。

上载和下载

若要上载行,MobiLink 客户端会准备并发送一个上载,其中包含自上次同步后在远程数据库上更新、插入或删除的所有行的列表。类似地,若要下载行,MobiLink 服务器会准备并发送一个下载,其中包含插入、更新和删除的行的列表。

  • 上载   缺省情况下,MobiLink 客户端会自动跟踪上次成功同步后远程数据库中插入、更新和删除的行。连接一旦建立,MobiLink 客户端就会将包含所有这些更改的列表上载到 MobiLink 服务器。

    上载由远程数据库中被修改行的一组新行值和旧行值组成。(更新具有新行值和旧行值;删除具有旧行值;插入具有新行值。)如果某行被更新或删除,旧行值是指就在上次成功同步后所存在的那些值。如果某一行被插入或更新,新行值是指当前的行值。即使在到达当前状态之前,行已被修改过数次,也不会发送任何中间值。

    MobiLink 服务器接收上载并执行您定义的上载脚本。缺省情况下,所有的更改都会在一次事务中完成应用。完成后,MobiLink 服务器将提交该事务。

  • 下载   MobiLink 服务器将使用您创建的同步逻辑,编译要在 MobiLink 客户端上插入、更新或者删除的行的列表。它将这些行下载到 MobiLink 客户端。为了对此列表进行编译,MobiLink 服务器将在统一数据库中打开一个新事务。

    MobiLink 客户端接收下载。当下载到达时,MobiLink 客户端认为统一数据库已成功应用所有上载的更改。并确保这些更改不会再发送到统一数据库中。

    接下来,MobiLink 客户端将自动对下载进行处理,删除旧行、插入新行并更新已更改的行。所有的更改将在远程数据库的一个事务中完成。完成后,MobiLink 客户端将提交该事务。

在 MobiLink 同步过程中,很少有明显的信息交换。客户端建立并上载整个上载。作为响应,MobiLink 服务器建立并下载整个下载。在通信速度较慢而等待时间较长时(例如使用电话线或公共无线网时),对协议的详细程度加以限制是很重要的。

注意

MobiLink 运行时使用 ODBC 隔离级别 SQL_TXN_READ_COMMITTED 作为统一数据库的缺省隔离级别。如果用于统一数据库的 RDBMS 支持快照隔离,并且为数据库启用了快照,则缺省情况下 MobiLink 对下载使用快照隔离。请参见MobiLink 隔离级别

另请参见

MobiLink 事件
同步过程中的事务
如何处理同步失败
如何处理上载
参照完整性与同步