摘要
数据同步是移动计算中一种重要的应用模式,进行数据同步的目的是为了在两个实体间交换修改数据并保持实体的连续性。由于经常性的交互,存储在移动设备上的信息通常存在着多个副本。为了使人们正确地共享交流信息,必须及时保持这些信息的副本的一致与更新。
SyncML技术汲取了其他数据同步技术的优点,引入XML技术设计表示框架,并提供了一套标准的信息交互流程与故障处理、恢复机制。它为不同设备间进行数据交换与同步提供了统一的语言,成为了目前同步技术发展的主流。
本论文的研究工作主要是在SyncML协议的基础上实现PC和移动设备的数据同步。首先简单评估了几种常用嵌入式同步协议性能和适用范围,然后详细研究了SyncML协议,在充分理解理论知识的前提下,在windows平台下开发了服务器程序,在嵌入式Linux系统平台下开发客户端程序以实现数据的同步,从而实现移动设备维修程序。
关键词:数据同步;SyncML;XML;嵌入式Linux
Research and Implementation of mobile data Synchronization based on Embedded Linux System
Abstract
Data Synchronization is an important application mode in mobile computing environment. The main purpose of Data Synchronization Service is to exchange modification between two data entities and to make the entities consistent. Because of the frequent interaction, these information have a few copies in different devices. For the correctness and accurateness of collaboration between different people, we must keep the information consistent and updated.
Combined with other synchronization designs' advantage, SyncML implement its representation framework with XML and provide a normal information exchange process and series of fault process/recovery policies. SyncML can be used as the general language of data synchronization between different devices. SyncML has become the most widely accepted synchronization protocol and the defacto synchronization standard.
The research task of this paper is to achieve data synchronization between PC and mobile devices. First evaluate briefly some usual embedded synchronization protocols’ performance and application extension; then research carefully on SyncML protocol; later carry out the protocol’s sever synchronization program on Windows Operating System and the protocol's client synchronization program on the embedded Linux system flat on the premise of fully understanding the theory knowledge, thus realize the maintenance program.
Key words: Data synchronization;SyncML;XML;embedded Linux system
本文首先介绍了数据同步的相关知识,并简单介绍了目前常用的几种同步协议,比较其性能。接下来重点介绍了SyncML协议。本课题以SyncML协议为基础,在嵌入式设备和PC之间,以TCP实现了基本的数据同步,数据同步包括维修单下载、上传。在程序设计时还注意到了可移植性,使得部分模块可以移植到其他平台下。
论文结构
绪论部分概要介绍了本毕业设计课题的背景来源以及研究的意义。
第二部分介绍了目前几种常用的嵌入式同步协议的基本知识,并对他们的性能进行了评估,指出了他们的适用性。
第三部分着重介绍了数据同步中SyncML协议,它是目前几种协议中相对最好的一种协议,也是本课题数据同步所采用的一种协议。
第四部分是论文的重点所在,以第三部分介绍的基本知识为基础,重点介绍该系统的设计和实现方法,并阐述课题的难点、问题所在,并提出了他们的解决方法。
第五部分对研究工作进行归纳和总结。
开发环境及工具
1.服务器
操作系统:Microsoft Windows XP Professional Edition。
开发平台:Microsoft VC++。
开发语言:C语言。
数据库:SQL Server 2000
辅助开发工具:Microsoft Office 2003。
2.客户端
操作系统:Red Hat Linux 9.0。
开发语言:C语言。
目 录 16000字
1. 绪论 1
1.1 本课题的背景及目的 1
1.2 国内外研究状况 2
1.3 本课题的课题来源 2
1.4 论文结构 3
2. 数据同步技术基础 4
2.1 数据同步的概念 4
2.2 数据同步在移动计算中的意义 4
2.3目前嵌入式系统中主要同步协议的研究和评估 4
2.3.1几种常用嵌入式同步协议简介 5
2.3.2几种协议的简单评估 6
3. 数据同步中的SyncML协议 9
3.1 SyncML协议簇分层结构 9
3.2 SyncML表示层协议 9
3.2.1 SyncML消息结构 10
3.2.2 SyncML消息安全性 11
3.2.3 SyncML消息的WBXML编码 11
3.3 SyncML数据同步协议 11
3.3.1 SyncML数据同步业务框架 12
3.3.2 SyncML设备的角色 12
3.4 SyncML数据同步方式 13
4. 数据同步系统的开发与实现 16
4.1 开发环境及工具 16
4.2 数据同步系统模块划分和功能定义 16
4.2.1 数据同步系统模块划分与功能定义 16
4.2.2数据同步系统流程图 18
4.3 数据同步系统实现 19
4.3.1网络传输 20
4.3.2 数据库API 20
4.3.3 SyncML协议实现 21
4.3.4主要的数据结构 22
4.3.5 应用程序 24
4.4 结果分析 27
4.4.1 开发难点及相关策略 27
4.4.2 工作展望及见解 28
总 结 29
致 谢 30
参考文献 31
参考文献
[1] 任立刚,宋俊德.移动终端数据同步协议研究[J].电信科学,2002,11:19-22.
[2] 基于语义的移动数据库同步服务器的设计[J].计算机工程与设计.2005,26(1):212-215.
[3] 李东,曹忠升,冯玉才,王元珍.移动数据库技术研究综述[J].计算机应用研究,2000,10:4-7.
[4] 丁志明,孟小峰,王珊.复制的移动数据库系统事务及同步处理策略[J].软件学报,2002,13(2).
[5] 王文琴,费贤举,鞠时光.基于数据复制技术实现移动数据同步[J].计算机应用,2006,26(7):1676-1678.
[6] 李欣慧, 侯紫峰,贺志强.基于SyncML协议的异构数据源同步方法[J].计算机应用研究,2006,23(6):190-195.
[7] 张宗平, 孙世新.移动数据同步研究与实现[J].成都信息工程学院学报,2006,21(1):91-95.
[8] 王俊建,张继棠.SyncML数据同步协议的核心模块实现[J].信息技术(哈尔滨),2005,29(8):76-80.
[9] Carlos D.Correa,Ivan Marsic. Software framework for managing heterogeneity in mobile collaborative systems[J].Proceedings of the 2003 intenrational ACM SIGGROUP on conference on Supporting group work., 2003,11:59-89.
[10] Wang Lisong,Li die,Wang Haifeng,Ding Qiulin.SECURE DATA SYNCHRONIZATION EXCHANGE SERVICE APPLICATION PROGRAM INTERFACE BASED ON SyncML PROTOCOL(J).Transactions of Nanjing University of Aeronautics & Astronautics,2006,23(1):47-51.
[11] S.Agarwal,D.Starobinski,A.Trachtenberg.On the scalability of data synchronization Protocols for PDAs and mobile devices[J].IEEE Network,2002,16(4):80-87.
[12] A.Trachtenberg,D.Starobinski,S.Agarwal.Fast PDA synchronization using characteristic polynomial interpolation[J].Proceeding of INFOCOM.2002,1(3):105-113.
[13] Jorg Roth.Patterns of Mobile Interaction[J].Personal and Ubiquitous Computing,2002,6:282-290.
[14] 张斌,高波.Linux网络编程[M].北京:清华大学出版社,2000:1-200.
[15] 张威.Linux网络编程教程[M].北京:北京希望电子出版社,2002:1-150.
[16] 傅蓉,周鹏,张昆琪,权威.C语言接口与实现:创建可重用软件的技术[M].北京:机械工业出版社,2004:1-100.
[17] 邱仲潘等.深入学习:GNU C++ for Linux编程技术[M].北京: 电子工业出版社,2000:1-200.
[18] 侯俊杰.深入浅出MFC(第2版)[M].武汉:华中理工大学出版社,2001:100-230.
[19] 邱仲潘等.红帽Linux9从入门到精通[M].北京:电子工业出版社,2003:1-190.
[20] 董慧颖.C和C++代码精粹[M].北京:人民邮电出版社,2003:140-200.
|