程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SyBase數據庫 >> SyBase綜合文章 >> SQL Anywhere Studio MobiLink之一

SQL Anywhere Studio MobiLink之一

編輯:SyBase綜合文章

簡介

北卡羅萊納運輸部(NC DOT)曾面臨當今典型移動計算中數據同步的很多挑戰。本文概要地介紹了NC DOT Mobile Inspector 應用、橋梁技術檢查組內部和中心辦公室及時交換信息的需求以及在本應用中實現數據庫同步的SQL Anywhere Studio MobiLink技術。

NC DOT 應用簡介

2004年春天,我來到了北卡羅來納州的羅利市。在此之前,我從未在橋梁和高架橋上花過太多心思。我不知道定期檢查橋梁安全的必要性,當然對“橋梁檢查員”這個職務也知之甚少。就我所知,這些頭帶安全帽、身穿安全背心的人的工作就是清理公路上被撞死的動物。

我開始處理移動檢查(Mobile Inspector)應用程序同步組件的工作時,這些認知很快發生了變化。北卡羅來納州大約有19 000座橋和涵洞橋需要定期檢查,負責檢查工作的現場檢查員約為60人,包含4個水下作業小組。這些檢查員非常繁忙,在返回辦公室准備檢查報告前要在現場做記錄及拍照,檢查報告用於確定哪些橋梁在以後的一段時間內狀況良好,哪些橋梁需要立即維修。

照片2 –現場檢查員Shane Dunlow正在使用平板筆記本(Tablet PC)的Mobile Inspector應用程序記錄凸緣的尺寸。

Mobile Inspector用於收集檢查員所測量的尺寸和觀測的資料,還要存儲數碼照片。Mobile Inspector的設計意圖是把數據錄入從辦公室轉到現場,在節省成本的同時滿足聯邦政府通過電子手段獲取橋梁檢查數據的要求。為此,音控、手寫識別和自定義速記工具成為Mobile Inspector 應用的幾大特色。

在現場,每位檢查員都使用運行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 自動完成的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved