UltraLite 在其数据管理层中包含 MobiLink 同步技术。与 SQL Anywhere 远程不同,不必增加 UltraLite 资源占用量来包括同步功能。
内置于 UltraLite 运行时的重要同步功能包括行状态跟踪机制和进度计数器。
对于数据同步来说,跟踪表和行的状态特别重要。UltraLite 数据库中的每一行都有一个用于跟踪行状态的单字节标记。除了同步以外,UltraLite 还使用行状态来控制事务处理和数据恢复。请参见UltraLite 行状态。
UltraLite 使用进度计数器来确保稳健的同步。为每个上载都指定一个唯一编号以对其进行标识。这使 UltraLite 可以在出现通信错误时确定上载是否成功。
首次创建新数据库时,UltraLite 始终将同步进度计数器设置为零。进度计数器的值为零时,会将数据库标识为新 UltraLite 数据库,这将指示 MobiLink 服务器为此客户端重设其状态信息。
每发生一次同步,UltraLite 就会相应递增进度计数器的值,因此不能将一个 UltraLite 数据库同步到不同的统一数据库。如果进度计数器的值不为零并且与统一数据库中存储的序列号不匹配,MobiLink 同步会报告偏移不匹配,并且同步失败。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |