当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于MobiLink的移动数据库同步技术研究

近年来,随着移动计算技术的快速发展,智能手机、PDA等移动设备的普遍使用,使得数据同步技术在分布式数据库系统,特别是在移动数据库系统中发挥了愈来愈大的作用[1-2]。数据同步技术可以使远程数据库和统一数据库保持同步,达到共享数据和保持数据一致性的目的。MobiLink是iAnywhere Solutions公司开发的基于会话的关系数据库同步系统,它支持远程数据库和统一数据库之间的双向数据同步,非常适用于移动计算环境。
1 MobiLink同步系统
    MobiLink是基于会话的同步系统,它允许在统一数据库与多个远程数据库之间进行双向数据同步[3]。统一数据库是可以支持任何ODBC标准的数据库,保存了所有数据的主副本。远程数据库是Adaptive Server Anywhere数据库或UltraLite数据库,保存了部分数据的副本。通常,当MobiLink远程站点请求与MobiLink同步服务器连接时,便开始了同步过程。同步期间,远程站点的MobiLink客户端将上载自上一次同步以来对远程数据库所作的更改。MobiLink同步服务器在接收到这些数据时开始更新统一数据库,然后将统一数据库中的更改下载到远程数据库。
1.1 MobiLink同步系统的结构
    MobiLink同步系统的结构如图1所示[4]:


    (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。
[!--empirenews.page--]2.2 系统初始化
2.2.1 填充数据库[5]

    (1)统一数据库
    在数据库服务器dbsrv9上启动数据库consol.db后,通过Sybase Central连接到数据库,为数据库创建一个名为student的表,只添加属性SId和SName,不填充数据。
    (2)远程数据库
    启动Windows CE上的网络数据库服务器,并在服务器启动远程数据库remote.db。然后用Sybase Central通过网络连接到远程数据库,为数据库创建一个名为student的表,添加与统一数据库中的表student相同的属性,并添加记录。
2.2.2 创建数据源
    (1)统一数据库
    用ODBC管理器为统一数据库consol创建数据源test_consol。
    (2)远程数据库
    由于Windows CE没有ODBC管理器,因此为远程数据库创建文件数据源。创建名为student.dsn的文本文件,填充如下内容:
    [ODBC]
    uid=dba
    pwd=sql
    enginename=remote
    databasename=remote
2.2.3 准备同步
    (1)远程数据库
    通过Sybase Central连接到远程数据库,为表student创建一个新的发布stu_pub。创建MobiLink用户ml_student,为该用户预定发布stu_pub。设置同步预定ml_student的属性,在Connection选项卡中分别设置PC机的IP地址和MobiLink服务器启动的端口号。
    (2)统一数据库
    通过MobiLink Synchronization连接到统一数据库,在表->DBA中将student表添加到同步表中,新建版本default。
    在同步表中选择student表,为其添加如下脚本。
    Download_cursor
    SELECT SId, SName FROM student
    Upload_insert
    INSERT INTO student(SId, SName) VALUES (?,?)
    Upload_update
    UPDATE student SET SName =? WHERE SId =?
    Upload_delete
    DELETE FROM student WHERE SId =?
2.3 启动同步
2.3.1 启动MobiLink服务器

    在PC机命令提示符中运行如下命令:
    dbmlsrv9-c“dsn=test_consol”-o mlserver.mls-v+-dl-x tcpip(port=2639)-za-zu+
2.3.2 启动MobiLink客户端
    针对Adaptive Server Anywhere远程数据库,MobiLink提供了2种客户端,(1)用于支持Win32平台;(2)用于支持Windows CE平台。在2种平台中MobiLink客户端文件名都为dbmlsync的命令行程序。
    在Win32平台中启动MobiLink客户端有2种方法:
    (1)直接运行程序dbmlsync,如图2所示,在这个设置界面中设置好相关参数后即可启动同步。


    (2)在命令提示符中运行如下命令:
    dbmlsync-c “dsn=student”-e “sch=EVERY:00:05”
    与Win32平台不同的是,一方面Windows CE平台不支持命令行程序;另一方面Windows CE平台中的MibiLink客户端输入相关参数后仍然不能顺利实现同步,而且在只有触摸笔的Windows CE设备中输入参数很不方便。
    为了解决这个问题,本文采用了快捷方式文件启动的方法。在Windows CE中创建名为sync.lnk的文本文件,内容如下:100#“Program FilesSybaseASA9dbmlsync.exe” -c “dsn=student” -e “sch=EVERY:00:05”。
    这是一个指向dbmlsync的快捷方式文件,同时在文件中提供了程序运行所需要的参数,运行这个文件即可成功实现同步。同步后的状态如图3所示。


3 应用前景
    MobiLink可以应用于具有以下要求的同步系统:
    (1)大量数据库,MobiLink可用于支持大量的远程数据库。在单个系统中,可支持数以千计的远程数据库。
    (2)不定时连接,MobiLink支持不定时连接或间接连接到服务器所在网络的数据库。
    (3)灵活的同步调度,应用程序按指定的间隔(几分钟、几小时或几天)进行连接和同步。
    (4)低或中等容量,每次只能给远程站点准备1个下载信息。在MobiLink系统中,如果数据量很大,就会造成较长的连接时间,因为远程站点在同步完成之前不能断开连接。
    (5)异类数据库,MobiLink支持将许多常用的关系数据库用作统一数据库。远程站点的模式可以与统一数据库的模式不同,因为可通过编写脚本来控制同步过程。
    随着移动计算技术、无线通信技术和移动数据库技术的飞速发展,MobiLink数据库同步技术将会在移动数据库系统中发挥越来越重要的作用。
    本文在分析了MobiLink数据库同步技术原理的基础上,研究了通过MobiLink来实现移动数据库同步的方法,并利用快捷方式文件解决了Windows CE中MobiLink客户端不能有效传递参数和输入不便的问题,最后对MobiLink同步技术的应用前景提出了展望。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭