基于WINCE. NET操作系统的主从式数据库系统

作者: 丁 丁,黄成军,沈 昊   发布日期:2006-10-20 19:45   查看数:0
中文摘要:

  采用SQL Server CE相关技术实现了嵌入式设备的本地数据库与远程SQL Server数据库 的数据同步功能。详细介绍了该系统的方案原理以及两项关键技术:合并复制与RDA (远程数据访问) ,并给出了软件部分的具体设计与实现。


1. 1 WINCE.NET操作系统
     目前基于操作系统的嵌入式设备在工业和移动产品领域 得到非常广泛的应用,常用的有VxWorksuClinux等。但是 在高端嵌入式应用中微软的W INCE系统一直占据领先地位。 WINCE操作系统延伸了台式机Windows操作系统的外部特 征,在内部用嵌入式实时操作系统的技术来实现Win32 API 的子集,以简捷、高效的完全抢占式多任务为核心,支持强大 的通讯和图形显示功能。 本文采用的嵌入式操作系统为Microsoft WindowsCE.NET (版本4. 1) 。该系统是Windows CE 3. 0的后续产品,它 不仅是一个功能强劲的实时嵌入式多任务操作系统,而且提 供了众多非常强大的工具和丰富的编程接口和资料,借助于 完善的操作系统功能和开发工具,开发人员可以充分利用 WindowsCE.NET系统的特性来快速且高效地完成自己的应 用。相对先前版本的强大功能,WINCE.NET进一步得到扩 充和丰富。在实时处理能力、网络通信的支持以及本文将要 介绍的数据库等方面都有着更为优秀的性能表现。
2. 1 Replication复制及RDA技术
     SQL Server CE的复制技术基于SQL Server 2000 的合并 复制技术。我们分别对嵌入式设备与远程Server的数据进行 操作之后,只要当两者通过网络或其他媒质相连时,就可以对 两部分相应的数据整理合并。该技术基于消息机制,首先需 要远程SQL Server根据需要对服务器上的数据库进行发布, 之后当嵌入式设备与远程SQL Server之间的数据库同步时, 就可以通过IIS建立HTTP连接完成。此外复制技术中的行 列过滤也是比较有实用价值的功能,针对发布表格中不同行 或不同列进行二次发布,就可以解决各个嵌入式设备对需要 同步数据的不同要求。 合并复制一般用于较高级的数据同步,远程数据访问 (Remote data access, RDA)则是将表格数据拖出/拖入嵌入式 设备的简便方法。当应用的目标系统不需要用到SQL Server CE合并复制的完整功能时(例如多客户端冲突解决等) , RDA技术是比较合适作为普通应用的选择。与复制技术相 比使用RDA技术可以不在服务器SQL Server中进行数据库 的发布和复制配置。 RDA技术有两种应用方式:一种是应用程序提交数据操作 语言(DML) 语句,该语句被转交到服务器SQL Server执 行,另一种是应用程序提供返回行集合的SQL 查询。结果行 集合被传送到基于W INCE的设备,并以表的形式存储,同时 选择性地跟踪应用程序所做的所有更改。当应用程序发出请 求时,更新的行被发送回服务器,并在那里应用于SQL Server 数据库SQL Server CE提供了RDA功能。通过使用相关编程接 口就可以轻松访问远程SQL Server上的数据库表格,将数据 存储到嵌入式本地的数据库表格中。当应用程序对本地数据 进行修改之后,还可以对服务器相应数据表格进行升级。前 者数据从远端到本地,称之为PULL,后者对远程数据升级称 之为PUSH。RDA另一个实用的特点就是可以在W INCE设 备本地执行SQL语句,直接对远程SQL Server数据库操作。 采用RDA的系统结构和复制技术基本完全相同,仅是服务器 端对数据库的处理机制不同。如图3所示,服务器的Server 端代理响应客户端访问请求,直接通过SQL Server的OLE DB 数据库供应器对SQL Server数据库进行操作。
3 结语
     本文结合从方案选择到具体代码实现的开发经验,较详 细地介绍了基于WINCE. NET操作系统及SQL Server CE技 术的数据库应用系统。完成的系统不仅可以在设备平台的对 数据库进行各种访问,而且可以与远程SQL Server服务器数 据同步,轻松交换数据信息。 应用于嵌入式设备的主从式数据库技术是今后发展的方 向,也是具有广阔应用前景的领域。紧密结合网络功能的嵌 入式数据库技术相信在学术界、工业界、军事领域、民用部门 等各方面都将会得到进一步的发展。