MobiLink 是一种基于会话的技术,用来在中心统一数据库和大量远程数据库间进行双向数据复制。它支持多种统一数据库服务器,包括非 Sybase 数据库。远程站点的管理和资源要求已降到了最低限度,因此,它非常适于各种移动数据库。每个同步会话结束后,这些数据库就会保持一致。
MobiLink 工作方式如下:将远程数据库上的多个事务的结果合并成一个更改集,然后应用到统一数据库中。同步始终在事务边界进行的,可以保持参照完整性;从不复制未提交的数据,可以保证保数据完整性。在安全方面,MobiLink 在数据传输的过程中通过用户授权、数据压缩加密等手段保证数据在传输过程中的安全性。
统一数据库推送数据到移动数据库的步骤:
(1)统一数据库中的通告程序使用基于业务逻辑的查询轮询统一数据库,检测需要对移动数据库中进行同步的任何修改。
(2)检测到更改时,通告程序准备使用 UDP和 SMTP发出一条信息给移动数据库。
(3)监听器根据过滤器设置的过滤规则检查消息的内容和发送者,目的是为了其安全性。
(4)如果要发送的信息与过滤器匹配,监听器将运行已经通过过滤器后的相关的程序。
移动数据库将数据更新到统一数据库的步骤:
(1)数据更新请求由移动数据库发出。
(2)经过 MobiLink 服务器核对处理。
(3)数据库更新请求发送核对后的数据给统一服务器,完成数据更新。
MobiLink双向同步过程:
(1)数据上载:MobiLink客户端自动跟踪记录在上一次成功同步之后远程移动数据库中插入、更新和删除了哪些行。连接一旦建立,MobiLink 客户端将一个列出所有这些更改的列表上载到同步服务器。
上载流由远程移动数据库中被修改的各行的新行值和旧行值组成。如果某行被更新或删除,旧行值是指上次成功同步后时的那些值。如果某一行被插入或更新,新行值是指当前的行值。即使在到达当前状态之前,行已经更改过数次,也不会发送任何中间值。
MobiLink 同步服务器接收上载流并将更改应用于统一数据库中。所有的更改一般都在一次事务中完成应用。此后,MobiLink 同步服务器将提交该事务。
(2)数据下载: MobiLink 同步服务器将使用创建的同步逻辑编译在 MobiLink 客户端插入、更新或删除的一组行。它将这些行下载到 MobiLink 客户端。为了对该列表进行编译,MobiLink 同步服务器将在统一数据库中打开一个新事务。
MobiLink 客户端接收下载流。当下载流到达时,MobiLink 客户端认为统一数据库已成功应用所有上载的更改,并将确保这些更改不会再发送到统一数据库中。
接下来,MobiLink 客户端将自动对下载流进行处理,删除旧行、插入新行以及更新已更改的行。所有的更改将在远程数据库中的一个事务中完成应用。此后,MobiLink 同步服务器将提交该事务。
(3)确认: MobiLink 客户端可以将一个简短确认消息发送给 MobiLink 同步服务器。该消息让同步服务器知道客户端已经接收并处理了所有下载的更改。作为响应 ,同步服务器将提交上一步的下载事务。
最后 ,通过 MobiLink 同步服务器使统一数据库和移动数据库达到数据同步。