基于Sync协议设计与实现联系人同步系统.docVIP

基于Sync协议设计与实现联系人同步系统.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Sync协议设计与实现联系人同步系统

毕业设计(论文) 译  文 题目 基于SyncML协议设计与实现 Android联系人同步系统 学生姓名 郑翠仙 学号 2010112257 专业 计算机科学与技术 班 指导教师 杨旺明 评阅教师 杨旺明 完成日期 2013年12月25日 基于Sync协议设计与实现Android联系人同步系统 Hao Yujie,Yan Chao 摘要:Android正在变得越来越流行。直到2012年上半年,Android手机市场份额已经达到52.5%。仅仅拿智能手机来说,该比率甚至超过75%。联系人对用户是非常重要的。联系人同步系统允许用户联系人可以被存储在一个网络服务器上。用户可以通过多个客户端处理他们的数据。并且服务器能保证用户的数据的一致性和安全性。因此,基于SyncML协议我们为Android设计并实现一个联系人同步系统。 现有Android联系人同步软件一般使用单独的同步协议。它们导出所有的联系人数据到一个文件中,并应用rsnyc算法来查找变化。与此相反,我们提供一种新的方式来找到变化并使用SyncML协议实现同步系统。 关键字:SyncML协议;Android;联系人同步。 I.引言 SyncML是同步标记语言的缩写。它是一种基于XML独立平台的信息同步协议。它是由IBM,摩托罗拉,诺基亚,PalmInc和Psion等公司成立的SyncML数据同步论坛开发的。SyncML的目的是提供一个开放的标准以替换现有的数据同步解决方案,其中大多是有些厂商,应用程序或操作系统所特有的。SyncML协议的框架示于图1。 SyncML协议包括SyncML数据同步协议,SyncML表示协议和SyncML传输绑定协议。SyncML被认为是在一些类型的手持式装置和一台计算机之间最常见的方法来同步联系人和日历信息,诸如移动电话和个人计算机。该规范的新版本包括支持推送电子邮件,提供一个标准的协议替代专有的解决方案,如黑莓手机。 我们开发我们的应用程序基于一个名为libsyncml的开源库。SyncML表示协议和传输绑定协议已在动态链接库中被实现。所以,我们只专注于SyncML数据同步协议。 图1. SyncML框架 SyncML同步协议在客户端与服务器同步时定义数据类型和消息。同步消息的主要部分如下所示。 A.数据映射 SyncML协议规定,客户端和服务器为每个数据项必须有一个标识符,这在客户端称作LUID和在服务器称作GUID。LUID可能与GUID不一样。LUID是由客户决定的。所以,服务器需要建立一个鉴定映射表来知道每个GUID和LUID的对应关系。 B.变化日志 当改变发生在数据项,服务器和客户端必须把它记录到变化日志文件中。设备根据改变的日志决定哪个数据项需要被同步。 C.同步锚 同步锚表示一个同步事件。它通常以一个字符串或一个时间戳的形式表示。有下一个和最后一个两种锚。最后锚代表上次同步的时间而下一个锚代表数据项改变的时间。当同步开始时,客户端和服务器发送其锚到对方。如果下一锚与最后一个锚相同,它们就启动正常的同步。否则,一个缓慢的同步被启动。 图2. 系统设计 D.同步类型 在SyncML协议中有7种同步类型。仅仅两个同步类型被用在我们的应用程序中。它们是缓慢同步和正常同步。缓慢同步是指发送所有的数据项给客户端。正常同步只发送改变的数据项给客户端。 E.冲突解决方案 在服务器和客户端修改同一个数据项是不允许的。当它们这样同步做冲突就会发生。这个问题必须解决。在不同的应用程序中可以使用不同的规则。在我们的应用程序中,我们保留最新修改的数据项。 II.系统设计 图2示出了该系统的体系结构。 前置服务器用来做身份验证和负载平衡。当启动同步, Android客户端发送它的用户名和密码给前置服务器。前置服务器通过查询数据库检查它的信息。如果用户名和密码正确,那么前置服务器根据负载平衡算法发送同步服务器的IP地址。客户端用IP地址指定的同步服务器同步。 同步服务器负责与Android客户端同步联系人信息。一个线程池被设置在同步服务器中。当接收一个同步请求时,同步服务器从线程池中取一个线程来响应,当同步完成后恢复线程。这可以防止每个创建和销毁线程的开销。 所有的联系人数据保存在数据服务器中。为了确保数据的安全性,需要建立一个镜像服务器。该镜像服务器具有与数据服务器相同的数据。当数据服务器出现故障时,我们可以根据镜像服务器的内容恢复数据服务器的内容。 此外,为方便用户管理,我们还建立了一个门户网站。用户可以通过浏览器访问他们的联系人数据。 A.开源库 为了支持SyncML协议书写代码比

您可能关注的文档

文档评论(0)

zhuliyan1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档