新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于MobiLink的移動數據庫同步技術研究

        基于MobiLink的移動數據庫同步技術研究

        作者: 時間:2010-04-01 來源:網絡 收藏
        近年來,隨著計算的快速發展,智能手機、PDA等設備的普遍使用,使得數據在分布式系統,特別是在系統中發揮了愈來愈大的作用[1-2]。數據可以使遠程和統一數據庫保持,達到共享數據和保持數據一致性的目的。是iAnywhere Solutions公司開發的會話的關系數據庫同步系統,它支持遠程數據庫和統一數據庫之間的雙向數據同步,非常適用于移動計算環境。
        1 同步系統
        會話的同步系統,它允許在統一數據庫與多個遠程數據庫之間進行雙向數據同步[3]。統一數據庫是可以支持任何ODBC標準的數據庫,保存了所有數據的主副本。遠程數據庫是Adaptive Server Anywhere數據庫或UltraLite數據庫,保存了部分數據的副本。通常,當MobiLink遠程站點請求與MobiLink同步服務器連接時,便開始了同步過程。同步期間,遠程站點的MobiLink客戶端將上載自上一次同步以來對遠程數據庫所作的更改。MobiLink同步服務器在接收到這些數據時開始更新統一數據庫,然后將統一數據庫中的更改下載到遠程數據庫。
        1.1 MobiLink同步系統的結構
        MobiLink同步系統的結構如圖1所示[4]:

        本文引用地址:http://www.104case.com/article/151976.htm


        (1)統一數據庫,此數據庫包含同步系統中所有數據的集中副本。
        (2)統一數據庫服務器,管理統一數據庫的服務器或DBMS。此服務器可以是Sybase公司的產品,如Adaptive Server Anywhere或Adaptive Server Enterprise,也可以是其他公司支持ODBC標準的DBMS(如Oracle,Microsoft SQL Server等)。
        (3)ODBC,MobiLink同步服務器和統一數據庫之間的所有通信都通過ODBC進行連接。ODBC使同步服務器可以連接多種統一數據庫系統。
        (4)MobiLink同步服務器,此服務器管理同步過程并提供所有MobiLink客戶端與統一數據庫服務器之間的接口。
        (5)網絡,MobiLink同步服務器與MobiLink客戶端或UltraLite之間的連接,可以使用多種協議。
        (6)MobiLink同步客戶端,通過網絡與MobiLink同步服務器進行連接,是遠程數據庫與MobiLink同步服務器之間進行通信的接口。
        (7)遠程數據庫,此數據庫包含同步系統中部分數據的副本。
        1.2 MobiLink同步系統的特性[4]
        MobiLink同步系統具有很強的適應性和靈活性。其關鍵特性如下:
        (1)數據協調,MobiLink可以為同步過程選擇數據的特定部分,并解決不同數據庫之間的更改沖突。同步過程由編寫為SQL、Java或.NET應用程序的同步邏輯控制。同步邏輯的每個單元稱為1個腳本。例如,可以使用腳本指定如何將上載的數據應用到統一數據庫中,并指定下載內容,以及處理統一數據庫與遠程數據庫之間不同的模式和名稱。
        (2)自動化,MobiLink具備多種自動化功能。可以指導MobiLink同步服務器生成適合于快照同步的腳本,或者生成示例同步腳本。它還可以自動添加需要鑒定的用戶。服務器啟動的同步系統允許將數據更新推送到遠程數據庫。
        (3)監控和報告,MobiLink提供了2種同步監控機制:MobiLink監控器和統計腳本。可以監控腳本、模式內容、行數的值、腳本名稱、轉換的腳本內容以及行值。
        (4)性能調優,調優MobiLink性能的機制有多種。例如,可以調優爭用程度、上載高速緩存大小、數據庫連接數、工作線程數、日志詳細程度或BLOB高速緩存的大小。
        (5)雙向同步,可以在任意位置對數據庫進行更改。
        (6)僅上載同步或僅下載同步,可以選擇僅執行上載或僅執行下載。
        (7)文件的下載,可以將下載作為文件分發,從而實現了脫機分發同步更改。只需1次創建文件,然后將其廣泛分發。
        (8)服務器啟動的同步,可從統一數據庫啟動MobiLink同步。這意味著可以將數據更新推送到遠程數據庫,并讓遠程數據庫將更新數據上載到統一數據庫中。
        (9)通信流的選擇,同步可以通過TCP/IP、HTTP或HTTPS執行。Palm設備可以通過HotSync同步。Windows CE設備可以使用ActiveSync同步。
        (10)遠程啟動,可以在遠程數據庫啟動該數據庫和統一數據庫之間的同步。
        (11)基于會話,對所有更改的上載和下載都分別在單個事務中完成。每次同步成功完成后,統一數據庫和遠程數據庫將保持一致。
        (12)事務完整性,要么同步全部事務、要么不進行任何同步。確保了每個數據庫的事務完整性。
        (13)數據一致性,MobiLink使用松散一致性策略來進行操作。所有更改經過一段時間后,將在每個站點中保持一致,從而實現同步,但在任一瞬時不同的站點可能擁有不同的數據副本。
        (14)范圍廣泛的硬件和軟件平臺,多種廣泛使用的數據庫管理系統都可以用作MobiLink統一數據庫:Adaptive Server Anywhere、Adaptive Server Enterprise、Oracle、Microsoft SQL Server 或 IBM DB2等。遠程數據庫可以是Adaptive Server Anywhere數據庫或UltraLite數據庫。MobiLink同步服務器可在Windows或UNIX平臺上運行。Adaptive Server Anywhere可在Windows、Windows CE或UNIX計算機上運行。UltraLite可在Palm、Windows CE或基于Java的設備上運行。
        (15)靈活性,MobiLink同步服務器使用SQL、Java或.NET腳本來控制數據的上載和下載。該腳本在每次同步期間將根據事件模型執行。通過基于事件的腳本編寫這種方式,為同步過程的設計提供了很大的靈活性,包括如解決沖突、錯誤報告和用戶鑒定等功能。
        (16)可伸縮性,MobiLink同步是可伸縮的:1個服務器可以處理數千個共存的同步,而通過負載平衡可以同時運行多個MobiLink服務器。MobiLink同步服務器是多線程的,可對統一數據庫使用連接池,并提供大量的監控和報告工具。
        2 使用MobiLink進行移動數據庫同步
        本文主要目的在于利用MobiLink同步技術,在統一數據庫和移動數據庫之間進行數據同步的方法。但在MobiLink的幫助文檔中,對于如何在Windows CE平臺中啟動MobiLink客戶端沒有給出明確說明,中發現,Windows CE中的MobiLink客戶端不能有效地傳遞參數,同時使用觸摸筆輸入參數也很不方便。經過提出了一種利用快捷方式文件啟動的解決方法。
        本文選用Sybase公司的Adaptive Server Anywhere分別作為統一數據庫和遠程數據庫。Adaptive Server Anywhere是基于事務的關系數據庫,適用于個人和工作組,可以在多種操作系統上運行,包括各種Windows和UNIX操作系統以及Novell NetWare操作系統。
        2.1 資源配置
        (1)工作平臺和軟件環境
        硬件平臺:PC機和Windows CE移動設備。統一數據庫:Adaptive Server Anywhere 9.0,在PC機安裝SQL Anywhere Studio 9.0。移動數據庫:Adaptive Server Anywhere 9.0,通過SQL Anywhere for Windows CE部署選項將Adaptive Server Anywhere部署到Windows CE設備上。網絡:TCP/IP。
        (2)準備數據庫
        統一數據庫:用Sybase Central在PC機創建1個統一數據庫consol.db。遠程數據庫:用Sybase Central為Windows CE創建1個遠程數據庫remote.db。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 乌什县| 丘北县| 岑溪市| 夹江县| 灵山县| 乌鲁木齐市| 景泰县| 大新县| 定边县| 江城| 上虞市| 浦江县| 永州市| 永善县| 嵩明县| 巫溪县| 黑水县| 信宜市| 宁乡县| 广昌县| 固阳县| 三河市| 大冶市| 翼城县| 易门县| 遵义市| 古丈县| 安国市| 崇左市| 玉环县| 满洲里市| 凌源市| 萨嘎县| 广平县| 岢岚县| 会理县| 浠水县| 哈巴河县| 曲麻莱县| 乐陵市| 鹿邑县|