MobiLink 同步具有容错能力。例如,如果通信链接在同步过程中失败,远程数据库和统一数据库的状态将保持一致。
在客户端,故障由一个返回代码指示。
同步失败的处理方式依发生时间的不同而异。以下情况采用不同的方式进行处理:
上载中的故障 如果在建立或应用上载时出现故障,远程数据库的状态将与同步开始时的状态完全相同。在服务器端,任何已应用的上载部分将被回退。
上载和下载之间的故障 如果故障在上载完成之后、MobiLink 客户端接收到下载之前发生,客户端将无法确定上载更改是否成功地应用到统一数据库中。上载可能已被全部应用并提交,故障也可能出现在服务器应用整个上载之前。此时 MobiLink 服务器会自动回退统一数据库中的未完成事务。
MobiLink 客户端保留所有已上载更改的记录。下一次客户端同步时,它会在创建新的上载之前请求上一个上载的状态。如果没有提交上一个上载,则新的上载将包含自上次上载时起发生的所有更改。
下载中的故障 如果应用下载时远程设备发生故障,则所有已应用的下载部分都将回退,而远程数据库将与下载前保持相同的状态。
如果正在使用非阻塞下载确认,则下载事务已经提交,但既不调用 nonblocking_download_ack 脚本,也不调用 publication_nonblocking_download_ack 脚本。
如果不使用下载确认,则服务器端不受下载故障影响。
发生故障时没有丢失任何数据。这将由 MobiLink 服务器与 MobiLink 客户端为您进行管理。您或用户不必对保持应用程序中的数据一致性而担忧。
![]() |
使用DocCommentXchange 讨论此页。
|
版权 © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |