Chinaunix首页 | 论坛 | 博客
  • 博客访问: 92311111
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Sybase

2008-04-10 20:58:11

  来源:赛迪网    作者:Breck Carter

在现场,每位检查员都使用运行Windows 2000操作系统的平板电脑。假如是传统的两层结构——客户端/服务器布局——或甚至是两层分布式层次结构,所有平板电脑都要直接与中心数据库通信或同步。然而,出于安全性的考虑,平板电脑只有在办公室才能与中心数据库连接。也就是说,在每次现场检查前,数据要被复制到小组负责人的平板电脑上,并在检查报告完成后复制回中央数据库。还必须在小组负责人的平板电脑和小组成员的平板电脑间来回复制数据,在检查大型桥梁时,往往要通过无线连接进行多次这种现场操作。

图1.显示了如何将Mobile Inspector 应用所涉及的电脑按三个层次布置,中心数据库置于顶层、小组负责人平板电脑置于中间层、而小组成员的平板电脑置于底层。小组负责人通过有线局域网与中心数据库通信、通过无线局域网与小组成员通信。同步服务器软件同时在中心数据库电脑和小组负责人的平板电脑上运行,这些服务器分别与小组负责人和小组成员的平板电脑上的同步客户端软件通信。

图1. 三级分布式层次结构:

应用程序本身使用关系数据库管理系统(RDBMS)在平板电脑上系统存储数据——包括数码照片。使用RDBMS有充分的理由:它保证数据完整性并提供可还原性,同时功能强大且简单易用。这是它的优点。而缺点是从一个中心数据库向包含多个远程数据库的三层分布式层次结构移动数据是一项艰巨的任务。特别是因为不可能把一个数据库管理员(DBA)外派到每个检查小组中,所以无论北卡罗莱纳州外河岸的天气怎样,即使在无线连接不稳定的情况下也要确保同步过程稳定可靠。

NC DOT使用Oracle 9i作为中心数据库,把Adaptive Server Anywhere(ASA)作为平板电脑上的远程数据库,并应用MobiLink同步软件处理Oracle和ASA之间的传输以及ASA和ASA之间的传输。ASA和MobiLink均为iAnywhere Solutions 公司的SQL Anywhere Studio 9的一部分,随之一起发行。

同步的基本概念

MobiLink软件由客户端组件和服务器组件构成。远程客户端先连接到本地数据库、收集前一次同步后发生变化的所有行并将这些行上传到MobiLink服务器,从而启动同步会话。然后服务器把上传的变更应用到中央数据库,选择要下载的行并把这些行发送给客户端。最后,MobiLink客户端将已下载的变更应用到本地数据库并向服务器返回确认信息。

在任何环境中,故障处理都是同步的一个重要部分,特别是在频繁失去连接或意外断开连接的移动环境下。使用MobiLink时,故障在上传和下载数据库事务的级别得到处理。假如上传失败,全部已上传的变更将回滚,整个过程停止。还原包括重新运行同步过程,从零开始重构建上传流并重复整个过程——就像该过程从未中断一样。

下载期间的故障处理采用类似的方法:下载回滚并应用相同的还原技术:“再试一次”。然而,此时仅重复下载,因为之前的上传已成功并提交。这一切都是由MobiLink 自动完成的。

阅读(520) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~