(计算机应用技术专业论文)基于syncml协议的同步协同服务器的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于syncml协议的同步协同服务器的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于syncml协议的同步协同服务器的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于syncml协议的同步协同服务器的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于syncml协议的同步协同服务器的设计与实现.pdf_第5页
已阅读5页,还剩72页未读 继续免费阅读

(计算机应用技术专业论文)基于syncml协议的同步协同服务器的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 随着移动通信技术的发展,智能手机被广泛应用在人们日常生活中,大量的 信息被存储在这些设备上,例如手机的联系人,日程安排,短信等,这些信息由 于手机本身的原因存在着易失性和不安全性,同时作为商业用户来讲,这些信息 在手机上无法及时准确的和商业伙伴进行信息交互,信息同步技术和信息协同技 术及时的进入了人们的生活,以s y n c m l 技术和p u s h 信息为典型代表,s y n c m l 同步汲取了其他数据同步技术的优点,引入) m l 技术进行通用的内容表示框 架的设计,并提供了一套标准的信息交互流程与故障处理、恢复机制。它为不同 设备间进行数据交换与同步提供了统一的语言,成为了目前同步技术发展的主 流,也成为了移动世界里的“世界语”通过s y n c m l 技术衍生出来的信息协同 即有了很强的生命力。 本论文针对目前智能手机在无线网络环境下的应用情况,提出了无限数据, 无线协同的创新思想,结合智能手机本身有计算功能和无线上网的功能,利用 s y n c m l 同步引擎和无线协同服务器,对用户数据提供无线数据同步和无线数据 协同的功能。使用户的客户端与服务器之问建立一种同步的功能,并且和其他用 户的客户端实现协同的功能。 在本课题中,作者通过对s y n c m l 协议的深入分析,并对s y n c m l 的交互 控制与同步的概念模型进行了整理设计,实现了一套同步协同服务器,设计实现 了一套支持s y n c m l 协议和标准v c a r d , l c a l e n d a r 协议的s y n c m l 同步引擎,并且 实现了在同步引擎基础上的无线协同功能的无线同步服务器,可以使同步用户将 自己的名片和日程安排无线同步到服务器上,也可以将自己的手机的个人信息及 时推送给其他授权的同步用户,达到信息的交互和共享,完全实现了无线网络环 境下的数据协同功能。 关键词:s y n c m l 同步引擎;同步:推送;无线协同;智能手机 a b s t r a c t w i t ht h ed e v e l o p m e n to fm o b i l ec o m m u n i c a t i o n ,i n t e l l i g e n tp h o n e sh a v eb e e n m o r ea n dm o 豫w i d e l yu s e di no u rd a i l yl i f c b u te v e r yc o i nh a st w os i d e s 。o u r p e r s o n a li n f o r m a t i o nl i k es h o r tm e s s a g e s ,s c h e d u l e ,a n dt e l e p h o n en u m b e r sa l ei n d a n g e rf o rt h eu n c e r t a i n t y o fo u rc e l l p h o n e s s y n c m lt e c h n o l o g y , at y p i c a l i n f o r m a t i o ns y n d o n o u st e c h n o l o g y , p r o v i d e 憾as t a n d a r d i z e di n f o r m a t i o ne x c h a n g e p r o c e s s , a n df a u l t r e c o v e rm e c h a n i s mb ya b s o r b i n go t h e rd a t a s y n c h r o n o u s t e c h n o l o g i e s a d v a n t a g e s 1 n h ct e c h n o l o g yi sb e c o m i n gt h em a i n s t r e a mt e c h n o l o g yi n t h em o b i l ec o n n n u n i c a t i o nw o r l d ,a n dp r o v i d e sak i n do fu n i v e r s a ll a n g u a g ei nd a t a e x c h a n g ea n ds y n c h r o n o u s n et e c h n o l o g yo fi n f o r m a t i o nc o l l a b o r a t i o nw h i c hi s d e r i v a t e sf r o ms y n c m l t e c h n o l o g yh a s a p r o m i s i n gf u t u r e t l i i sp a p e rw i l li n t r o d u c et h ei n n o v a t i v ei d e ao f “i n f i n i t ed a t a , w i r e l e s s c o l l a b o r a t i o n ”a n dp r o v i d ei n t e l l i g e n tp h o n eu s e r sw i t ht h es e r v i c eo fw i r e l e s sd a t a s y n c h r o n o u s a n dw i r e l e s sc o l l a b o r a t i o nb y u s i n g t h et e c h n o l o g yo fs y n c m l s y n c h r o n o u se n g i n ea n dw i r e l e s sc o l l a b o r a t i o ns e r v e r i nt h i sp r o g r a m ,t h ew r i t e r d e v e l o p e d as u i t eo fs y n c h r o n i z a t i o na n d c o l l a b o r a t i o ns c l v e ra n das u i t eo fs y n c m ls y n c h r o n o u se n g i n et h a ts u p p o r ts t a n d a r d v c a r d i c a l e n d a tp r o t o c o lb ya n a l y z i n gt h es y n c m lp r o t o c o ld e e p l y w i t ht h es e r v i c e o fs y n c h r o n i z a t i o na n dc o l l a b o r a t i o ns e r v e r , au s e rc a ns e n dk i s h e r si n f o r m a t i o nl i k e c a r d sa n ds c h e d u l et ot h es e w e ra n dc a na l s os e n dh i si n f o r m a t i o nt h a ts t o r e di nt h e m o b i l ee q u i p m e n tt oo t h e rq u a l i f i e du s e r st or e a l i z et h ed a t ai n t e r a c t i v ea n dd a t a s h a r i n g i nt h i sc a s e , t h ed a t ao fs y n c h r o n i z a t i o na n dc o l l a b o r a t i o ni sf u l l yr e a l i z e di n t h ee n v i r o n m e n to fw i r e l e s sn e t w o r k k e yw o r d s :s y n c m l s y n c h r o n i z e de n g i n e :s y n c h r o n i z a t i o n :p u s h ;w i r e l e s s c o l l a b o r a t i o n :i n t e l l i g e n tp h o n e 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果。除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得丞洼工些太堂或其他教育机构的学位或 证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示了谢意。 学位论文作者签名: 奄烧 l 签字日期:砷年月弓j 日 学位论文版权使用授权书 本学位论文作者完全了解玉洼王些太堂有关保留、使用学位论文的规定。 特授权丢洼王些太堂可以将学位论文的全部或部分内容编入有关数据库进行 检索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学 校向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:蜀氛赵 签字日期:历矽年月事日 f 翩妣刁鳓辨够 签字同期:力卯年7 月岁日 学位论文的主要创新点 1 创造性的提出了无线数据的同步协同的功能,提出了同步个人信 息之后的协同功能,将用户的数据协同给指定的同步用户,实现 了同步信息的相互协同。 2 采用完全符合r f c 2 4 4 5 的i c a l e n d a r 格式定义日程,将服务器后台 对日程的处理完全符合规范。 3 采用w b x m l 的编码格式,将传输速率提高y 5 - 1 0 倍。 4 在在同步过程中的冲突检测的基础上加入了冲突解决的方案,对 差异数据进行差异化处理 第一章绪论 1 1 无线同步的现状和特点 第一章绪论 随着手机、移动终端的普及使用,信息安全、保密和备份显得日益重要起来。 移动终端上的有了越来越多的重要信息,包括短消息、邮件、通讯录、备忘录、 日程安捧、手机设置信息,图片、电话录音等等,这些信息如果只保存在手机上, 一旦手机损坏或者遗失,这些信息便随即遗失;另外一方面,这些信息直接保存 在手机上,任何能接触到手枫的操作者都有可能看到这些内容,这样就有可能造 成一些重要信息的泄漏。因此,如果能建立一个个人信息关系系统,一方面可以 实现备份和同步功能:移动通信技术主要表现在以下两个方面:数据速率( d a t a r a t e ) 和移动性( m o b i l i t y ) 。移动数据速率正由窄带低速率向宽带高速率发展, 移动性在静止、慢速、快速范围内移动数据的业务将很快超过话音。并向移动 多媒体通信发展,针对移动终端的各种移动网络应用也越来越丰富。可以预见, 在不久的将来,各种移动数据网和无线数据网最终都将成为互联网的无线扩展, 形成全i p 两络。各种移动和无线终端都可以在不同地点和各种运动状态下实现 无线i p 接入互联网,获得互联网的各种信息服务。就目前的移动网络而言,虽 然大多数移动终端都已经支持上网,使用手机通过网络获取信息的用户也越来越 多,但由于移动终端的多样性以及移动网络的数据传输速率和网络稳定性还存在 很大的局限性,对于需要支持多客户端,并需要频繁数据传输和交换,实现不同 设备问数据同步的网络应用,还是无法提供很好的解决方案。 s y n c 扎最早是由一个由e r i c s s o n 、i b m 、l o t u s 、m a t s u s h i t a 、m o t o r o l a 、 n o k i a 、o p e n _ a v e 、s t a r f i s h 、s y m b i a n 这些产业巨头联合组建的s y n c m l i n i t i a t i v e 推出2 0 0 2 年s y n c 札i n i t i a t i v e 正式并入o m a ( o p e nm o b i l e a p p l i a n c e ) ,只要移动设备支持s y n c m l ,那么即使互相使用的平台并不相同, 但是仍旧可以没有任何障碍的交换数据,因为利用x m l 这种开放式的标记语言, 所有需要被交换的信息都会以彼此双方可以识别的格式进行沟通比如手机中的 通讯录功能,交换时采用的就是v c a r d 的格式,而手机中的行程安捧功能,交 换时采用的就是i c a l e n d a r 格式s y n c m l 标准使用了) ( m l ( e x t e n s i b l em a r k u p l a n g u a g e ) 定义他的文挡格式,x m l 是所谓的标记性语言,他的概念是将资料的 表示和处理分开进行,x m l 负责定义资料,应用程序则负责解析x m l 文件,取出 其定义的原始资料并进行处理,以s y n c m l 标准而言,不管使用什么平台或者装 置,只要他的应用程序支持s y n c m l 拯准,就可以解析彼此阿的资料内容进行资 料的同步化。s y n c m l 标准的中心思想是以统一的标准规范数据同步通讯,把同 第一章绪论 步的细节操作丢给智能手机自行处理,数据通讯同步软件需要只告诉智能手机要 做什么和数据来源,至于怎么去做则由智能手机本身来完成,所以需要在智能手 机操作系统上增加s y n c m l 处理引擎。 移动服务的应用与推广成为了目前移动数据同步领域内的主流方向,因此在 服务器上进行对s y n c m l 应用尽心应用开发成为一个热点方向,为了使s y n c m l 产品实际符合标准规范,深入研究s y n c m l 技术并设计实现标准、强大的的服务 器对于推广s y n c m l 应用,提高移动计算应用水平等都有着积极意义,同时也有 着良好的市场前景,同步协同的概念由此而产生 1 2 课题的来源以及研究重点 课题来源于作者在实习中的公司实际开发的项目,为无线应用项目的中的一 个,该项目包括s y n c m l 应用服务器开发和在智能终端上的s y n c m l 客户端应用 开发两个部分,旨在为客户提供s y n c m l 应用开发与产品设计的全方位支持,为 客户提供信息同步协同的全新无线数据体验。作者在项目中主要负责s y n c m l 无 线同步协同服务器的总体设计和同步逻辑、同步信息编解码、数据库等模块的设 计与实现,同时参与了s y n c m l 协议分析和无线应用同步业务运营方面的。主要 完成了以下的研究与工程任务: 1 当前的主流数据同步技术与可能的发展方向研究与评估 2 s y n c m l 的协议分析和同步流程的处理设计 3 s y n c i l 客户端应用开发需求分析 4 同步服务器的同步引擎的设计 5 同步服务器的需求分析和概要设计 6 同步引擎的设计和实现 7 同步协同信息的协议设计和编码解码实现 1 3 论文所阐述的核心理念 本课题强调对s y n c m l 协议的标准支持和无线服务的可扩展应用,强调两个 概念,同步与协同,对标准s y n c 札协议的应用支持支持了同步的概念,对无线 应用进行可扩展性研究和再造支持了协同的概念。目前的具有业界对数据同步协 同并没有严格意义上的定义。s y n c m l 协议的白皮书的定义是:“数据同步是一个 使得两个集合中的数据看起来一致的处理过程本课题中所理解的数据同步协同 是指能在不同设备、不同平台上的异构数据库间保持数据一致性的技术手段,并 且作为使用者可以通过有线或者无线网络随时将自己的数据进行同步一致并且 在权限许可的情况下实现数据信息协同的一种概念,也将其作为设计和实现同步 2 第一章绪论 协同服务器的终极理念。 1 4 本论文的章节安排 本论文的主要内容如下介绍: 第一章简要介绍了本课题所处的背景与现状,说明了课题的来源与研究重 点,同时也介绍了作者在论文工作期间完成的主要工作。 第二章介绍了s y n c m l 协议规范的框架与表示交互协议进行了分析,主要 对s y n c l i l 协议进行了详细的阐述和分析 第三章中通过对于一些具有代表性的同步产品与方案的比较,分析了他们的 基本特征与适用场合,明确了什么样的同步技术可以适用于目前的主流应用,以 及目前的s y n c m l 产品的介绍。 第四章中主要对同步协同服务器总体设计进行概要说明,对服务器系统中的 各个模块进行大体的介绍,对各个功能模块实现的具体功能进行阐述和分析 第五章中结合s y n c m l 协议和p u s h 技术对同步协同服务器详细设计进行阐述, 对作为核心的同步引擎和协同模块进行阐述 第六章主要是对同步协同实现的结果进行分析,对同步的效率进行数据分 析。 第七章主要对同步协同产品研究方向进行展望,对s y n c l 旺, 的产品应用进行前 瞻性分析,对论文所提出的同步协同功能的社会应用进行前瞻性的展望和预期。 3 第二章同步技术分析 第二章同步技术分析 本章主要对同步技术进行分析,对不同移动同步方案进行比较,理清比较的 标准,我们将所列举的标准对一些同步产品( 协议) 方案进行评估。同时也将会对 同步产品进行比较说明。 2 1 同步技术 2 1 1 同步方式类别 目前的同步方式主要是分为3 种同步方式:在线两阶段提交,同步和复制。 i 在线两阶段提交方式 在线两阶段提交同步主要的特征为在低级别的本地自治的条件下通过d t s ( 分 布式事务管理服务器) 确保事务在所有节点上的提交和回滚来保证数据的紧密一 致性 典型的应用为民航售票系统、a t m 等 2 同步方式 同步( s y n c h r o n i z a t i o n ) 方式是在异构环境下忽略事务的执行过程细节,是 将当前状态的最终结果数据回传至相关节点,并更新对应的数据以维护数据的一 致性这种同步方式需要引进冲突检测和解决机制 3 复制方式 复制( r e p l i c a t i o n ) 方式是将更新事务集传递到相关节点上运行,通常利用 消息机制和存储转发机制实现这种同步方式会保存事务状态,具有低延迟、准 实时的特征。 2 1 2 同步技术的比较标准 i 逻辑拓扑 同步的逻辑拓扑结构是指方案中设备间互连的逻辑方式,而并非网络的拓 扑如果有统一的服务器,所有设备都直接与服务器联系称作星形拓扑;任意两 设备间都可以直接联系进行同步的称为p 2 p 的结构:而如果一组数据只能在指 定的设备间进行同步称为固定的端到端结构。逻辑拓扑决定了一个同步系统的抗 单点失效的能力、更新信息传递方式等基本特征 2 系统规模 同步应用可以部署的网络规模如何。在一个同步系统中的终端究竟仅是少数 4 第二章同步技术分析 几台机器,还是几十台、上百台乃至更大数量级。这一标准的评判结果实际上往 往会与前面提到的拓扑结构相关联,但合理的任务分割与冲突处理算法会 对此有改善。 3 传输负载 传输负载情况从两个方面来考虑:一是从单次同步的负载情况来进行分析, 一是从整个系统中一个更新扩散到全系统需要的总传输负荷量。后者主要由同步 拓扑结构决定,我们主要分析前者随记录数量和更新数据量变化而变化的特征 4 计算强度 即同步算法的复杂度。对于终端而言,其计算资源相对缺乏,如果计算复杂 度过高,会严重影响到程序的应用性能甚至失去实用性对于固定终端如工作站 乃至同步服务器,虽然资源配置更为充沛,但由于可能会为更多的终端服务,也 同样会使同步应用的性能无法接受。 5 存储空间消耗 这一项指标同时涉及到同步算法在执行中的空间消耗和为实现同步协议所需 要的额外信息存储的资源占用另外,同步算法在与更多的终端进行同步时消耗 资源随同步对象数据增加而增长的幅度也在考虑之中。 2 2 目前的同步技术比较 2 2 1 a c t i v e s y n c a c t i v es y n c 是微软公司为支持w i n c e 终端与桌面系统同步的而提供的 产品,可以实现从文件到数据记录等多种级别的数据同步微软将这技术框架 作为其产品线中移动同步支持的基础平台,如s q lc e 与s q lc es e r v e r 之间 的互联等都是在此基础上完成的。它的特性也影响到了这些产品的特征。 m i c r o s o f ta c t i v e s y n c 的总体结构分成三个部分:工作于p c 平台上的同 步管理模块,工作于便携终端上的p cl i n k 模块,以及被称为s y n c s e r v i c e p r o v i d e r ( s s p ) 的具体数据访问模块。前两者构成了同步管理的基础设 施,伴随操作系统和a c t i v e s y n c 服务的安装即在系统中被提供。同步管理模块 实现i r e p l s t o r e 和i r e p l o b j l t a n d l e r 接口,同步管理模块实现i r e p l n o t i f 接口在同步管理模块中,对不同的s s p 同等对待( 但位于移动终端上的s s p 需 要通过p cl i n k 才能与同步管理模块通信) 。一个s s p 需要与另一s s p 进行同 步时通过i r e p l n o t i f 接口通知同步管理模块需要进行同步,同步管理模块调用 两个s s p 提供的i r e p l s t o r e 接口提取数据完成同步。开发人员仅需要开发实 现i r e p l s t o r e 和i r e p l o b j h a n d l e r 接口的模块( 以进程内c 嗍组件形式) ,并将模块 5 第二章同步技术分析 在系统中进行注册即可。 a c t i v e s y n c 没有对同步的记录的表示与结构作任何规定,只要求s s p 为每 一条记录提供一个在s s p 内部唯一的标识,这个记录可以是关系数据库中的一 条记录( 如将其用于s q l c e 的同步中) ,也可能是一个文件或是一条p i m 信息。 s s p 不提供映射管理能力,记录映射的维护由拥有较多资源的桌面系统上的 c t i v e s y n c 支持机制完成 2 2 2p a i mh o t s y n c h o t s y n c 提供了p a l s 与桌面平台的互联能力从这个意义上来讲,它的定 位与a c t i v e s y n c 相似。由于它没有可以依恃的桌面平台优势,从最初开始,其 设计就采用了较为开放的设计,在协议与实施框架中就摈弃了对特定系统特性的 依赖 h o t s y n c 技术为p a l m o s 与p c 平台之间提供数据交换、程序安装等能力 它包含了运行在p a l m0 s 平台上一个客户组件( h o t s y n cc 1 i e n t ) 、在p c 平台 上的同步管理程序( h o t s y n cm a n a g e r ) 和同步管理器( s y n cm a n a g e r ) ,以及其它 支持性的技术规范框架( n o t i f i e rd l l 实现规范、c o n d u i t s 实现规范等内容) 。 h o t s y n c 支持的是一种端点到端点模式的同步尽管在同步中,桌面系统与 移动终端的地位是不对等的,但各自都可以与多个异种设备进行同步,没有固定 的中央服务器。设备间连接方式多样灵活,有本地电缆、无线连接、以及m o d e m 、 i p 网络等可选。有两种主要的同步模式一快同步( f a s ts y n c ) 和慢同步( s l o w s y n c ) 。选择的依据除手动指定的情况以外,就在于终端的信息是否与桌面的 s y n cc o n t e x t 数据相吻合这两种同步模式的特性有着较大的差异。 2 2 3 c p i s y n o c p i s y n c 是c o r n e l l 大学的 s a g a r w a l ,d s t a r o b i n s k i ,a t r a c h t e n b e r g 等人在他们所提出的集合一致化( s e tr e c o n c i l e ) 算法基础上 设计实现的一种同步方式这一同步方案的计算量主要与参与同步的数据集中有 差异的项目数相关,而与数据集本身尺寸关系不大有较高的计算复杂度,但它 可以使需要进行的通信量降低到f a s ts y n c 的水平,而又不需要额外的辅助数 据的存贮与维护。 c p i s y n c 的原理是用不同的整数值来表示不同的记录,从而一个数据集s = x l ,x 2 ,x 3 ,x n 就可以用特征多项式:s ( z ) = ( z x 1 ) ( z , x 2 ) ( z x 3 ) ( z | 【x n ) 来表示。当两个数据集s 、s b 中有差异的记录只有少数记录的情况下,两个数 据集的特征多项式相除可以约简去公因数。 第二章同步技术分析 c p i s y n c 的算法中立于于网络拓扑与通信方式。本质上,它依赖于内容的比 较,而不是更新消息的传递,在无需更多额外协调的情况下就可以支持松散p 2 p 环境下的同步在同步过程中,参与同步的设备是完全对等的,不依赖于单一集 中的服务器,没有单点失效的问题。在算法中,由于设备之间直接通过由记录内 容确定的特征多项式来进行信息的交换与比较,可以在大范围内进行数据集的同 步,无须费心维护更新日志一类信息本身在网络中的传递处理时的一致性管理。 该同步方案中,设备无须要存贮额外的同步元信息( 如日志、映射表) 一类,有 效减少了存储空间消耗。但是其计算量随更新记录数量激增,在更新量大而移动 终端运算能力较弱的环境中并不适用。另外,由于它的同步数据单位是以数表示 的信息单元,在具体环境中的应用仍有很大的局限性。 s y n c m l 是一种唯一行业通用的移动数据同步化协议,由s y n c 札行动( s y n c m l i n i t i a t i v e ) 发行,是一种开放性协议。s y n c m l 行动由e r i c s s o n 、i b m 、l o t u s 、 m o t o r o l a 、n o k i a 、p a l mi n c 、p s i o n 以及s t a r f i s hs o f t w a r e 首先发起,后又 吸收m a t s u s h i t a 加入,从而使其会员达到9 家,除此之外还有5 5 5 家支持公司。 通过s y n c m l ,能够使终端用户、设备开发商、基础构件开发商、数据提供商、 应用软件开发商以及服务提供商协同工作,真正实现使用任何终端设备均可随时 随地访问任何网络数据。 s y n c m l 用于在h t t p ,w s p ( 会议层协议,基于霄a p 的无线w e b 应用) ,o b e x ( 一种对象交换协议,它基于红外线和蓝牙技术并用于构建多种操作系统) 和低 层的t c p i p 以及电子邮件协议诸如s m t p , p o p 3 及i m a p 当中。 2 2 4 1s y n c l 的应用及目的 由于s y n c m l 的同步角色的不对称性,使得它不可能应用在p e p 环境下, 只能以客户服务器模式工作。如果多个终端都与服务器上的同一个数据集( 使用 相同的目标地址与用户标识进行访问) 进行同步,可以实现这几个终端与服务器 上数据的更新一致。这样可以构成一种星形的拓朴结构,但由于冲突处理技术方 面的制约,这一结构的规模很有限。在s y n c m l 协议中也作了双向同步( 类同于 h o t s y n c 中快同步) 与双向慢同步的区分。s y n c m l 中数据处理的复杂度与 h o t s y n c 相同,与同步当中出现的修改数量( 双向同步) 或记录数量( 慢同步) 成线 性关系。但由于它的消息以) 【m l w b ) 【m l 方式进行了编码,需要额外的解析与编 码过程,同时在传送中也有较多的额外开销,这使得它的通信负荷与存储消耗等 指标较其它的同步方案偏高。 7 第_ = 章同步技术分析 s y n c m l 的主要目的有两方面: 1 可以通过任何移动设备将网络数据同步化。 2 移动设备中的数据也可以用任何网络数据同步化。 2 2 4 2s y n c m l 的发展 s y n c m l 协议从1 o 版草案的提出至今已经有一定的时间:目前最新的协 议版本是1 2 版,它的2 o 版草案拟定工作也正在o m a 组织的推动下积极进 行,o m a 组织的数据同步与设备管理组制订的路线图,s y n c m l 发展的将在以下 几方面进行改进: 1 支持的数据类型,有更多的数据类型支持被加入。 2 更新传递机制有待革新。在将来的版本中可能会引入更为复杂的元信息 机制对数据记录问结构进行描述。 3 更好的安全机制和安全技术设计,目前s y a c m l 协议的安全机制与底层 绑定的安全机制相重叠,却又并未能提供更高的安全等级和控制。可能会将 s y n c m l 的认证机制与绑定安全通盘考虑,重新进行功能分割与设计。 2 3 目前的s y n c t 产品介绍 2 3 1s y n o m lr e f e r e n c et o o l kit ( r t k ) r t k 是一个比较成熟的产品,可以在w i n d o - s 平台和l i n u x 平台上编译。 但是,l i n u x 用户必须作一些更改,因为该工具箱并未彻底消除一些小错误,例 如期望不区分大小写的文件名。该工具箱包含一个综合c 库,用于创建、发送、 接收和解析s y n c m l 消息。它支持舢。和w b x m l 编码,还支持h t t p ( 用于w e b 上的同步) 、w s p ( 在| a p 上使用) 和o b e x ( 在i r o a 或蓝牙上使用) 传输。 2 3 2f u n a m b o i f u n a m b o l 为目前开源p u s h l i a i l 项目,它的原名为s y n c 4 j 。需要j 2 e e 环境, 以在其中使用j a v a1 4 来运行。s y n c 4 j 提供了j b o s s 安装,从而使用户可以 轻松地获得j 2 e e 环境如果您当前的基础结构位于j 2 e e 环境,那么该环境的 优点一目了然。它的优点就是专业实现,是大型系统的良好基础,国内很多单位 和个人在研究和利用它的同步实现 8 第- 二章同步技术分析 2 3 3n i i a s n i c o l a s 的代码是用流行的w e b 脚本编制语言p h p 编写的,并使用了 m y s q l 数据库作为后端存储器。对s y n c m l 的最直接使用可能是用它备份您手机 上的数据这是n i c o l a sb o u g u e s 已经用他的s y n c m l 服务器实现完成的应用 程序。它只支持s y n c m l 进行x m l 编码,而不支持w b x m l 编码,并且它是针对 s o n ye r i c s s o np 8 0 0 手机而开发的。p 8 0 0 只执行i t t t p 连接上的同步,这是通 过使用g p r s f g s m 连接,或当通过其底座连接至计算机时实现的。 2 3 4m y t t 国内拥有庞大的s y n c 用户群,t t s y n c 是微子网络下属的t t s y n c 开发小组开发 的s y n c m l 日l 擎系统,也是s y n c m l 的产品标识。同步服务器是一个采用c + + 和c o r b a 编写的s y n e u l 服务器,目前其版本只支持通讯录的同步,它使用了大量的基于 l g p l 的类库函数库,但是其声称核心部分完全是其自行编写的代码。 2 3 5h o t p i m h o t p i m 号称是国内唯一一个实现手机端、p c 端和网络端个人信息互连互通的 服务平台帮助用户简便、快捷地完成手机电脑的通讯录、短信息的交换,实 现了用户更换手机时,通讯录瞬间转换到新手机中无论手机还是p c 杌中的通讯 录都能通过一键等多种形式备份到网站上,以及多终端个人信息的统一管理。 2 3 6m i g h t y p h o n e 世界上最大的s y n c 刃:发商,拥有全球最多的用户群,据称已经拥有2 0 多万的 用户,发展势头非常好。付费方式使用,每个月$ 2 9 9 ,现在推出了新功能,可 以随时自动跟新手机通讯录。 2 3 7 无忧通讯录 无忧通讯是一家专业致力于个人信息管理系统开发的专业化公司。个人信息 管理系统是一个以网络和服务器为核心、以个人信息为主要内容的综合管理系 统。他可以为用户提供个人通讯录、日程表、相册、个人收藏,留言等系统以及 相关的服务。 9 第三章s y n c m l 协议分析 3 1s y n c m l 协议概要分析 s y n c m l 是s y n c m li n i t i a t i v e 开发的同步标志语言( s y n c h r o n i z a t i o n m a r k u pl a n g u a g e ) 。作为通用同步协议它的目标是普遍适用,同步两端可以是任 何一种类型、在任一种网络上面。 s y n c m l 的典型应用是移动设备和网络服务 之间的数据同步。除此之外,s y n c m l 还可用于对等的数据同步,如两台p c 之 间。s y n c m l 的同步过程是由同步双方相互发送一系列消息来完成,消息的格式 都在s y n c m l 表示协议中做了具体定义。s y n c m l 的消息都是以x m l 格式的 文档定义的,而x m l 是文本文档标记的工业标准,这必将极大地促进s y n c m l 的推广和普及。 s y n c m l 通过提供一个通用规范来协调客户机与服务器之间的数据交换,它 使用统一格式( 但不必通过合法性验证) 的x m l 语言进行设备间的消息传递, s y n c m l i n i t i a t i v e 给出了一套良好的x m l 文件类型定义( d t d ) q ,并且制造商与 运营商可以在此基础上增加、应用自己的数据格式,使任何网络中的所有设备和 应用实现同步,满足人们对无线通信日益增长的需求。s y n c m l 能够使用较小的 带宽解决无线同步中连接可靠性较低和网络响应时间较长的问题,而且还能够实 现在固定网络、红外、电缆或蓝牙上的同步 s y n c m l 同步协议涉及两方砥内容:一个是如何初始化s y n c m l 环境,另 一个是如何表述连接到远程服务器上的应用信息。s y n c m l 力图推出一种开放的 业界标准,这一同步协议,是建立在x m l 语言的基础上具备了s y n c m l 之后, 再开发一套基于网络的数据同步通讯软件系统,使任意一个s y n c m l 客户端的 设备都能够与一个s y n c m l 服务器完成数据同步通讯,s y n c m l 服务器可以 是因特网服务器,也可以是网络p c 。这样,我们的数据移动同步就可以实现了。 s y n c m l 协议使用x m l 语言来编译命令和数据并旨在成为和m t p ,s s l , 和w a p 一样的最好的w e b 协议,因此它兼容用于w e b - f r i e n d l y 移动平台( 如 j 2 m 匣) 的开发程序开发者只需使用最少的工具便可在移动程序中加入同步化 性能。用来建立和读取x m l 文档的剖析器是处理x m l 执行过程最好的方法, 但却不是必须的方法。一条s y a c m l 信息本身就是一个经过处理的包含标题和正 文的x m l 文档。标题由s y n c h d r 元素和该信息的路由和版本信息组成。正文包 括s y n c b o d y 元素和同步命令,以及相关数据。 第三章s y n c m i 协议分析 3 2s y n c m l 协议的体系构造和协议的基本要素 3 2 1s y n c m l 协议的体系结构 s y n c m l 规定的同步信息交互的基本流程,它采用的基本逻辑结构是端到端 结构。s y n c m l 将同步中的角色分成了客户端与服务器,参与一次同步的两个设 备总是分属于这两类角色。在服务器上,维护着一个全局的数据库,记录在客户 端与服务器上的每一条记录以及它们之间的映射关系,而在客户端,并不需要维 护这个映射关系。这种功能分布的不对称决定了对服务器与客户端的资源消耗也 不对称,尽管协议中说明同一个设备既可以成为服务器,也可以作为客户端,但 在实际的应用中这二者角色分配一般是固定的,将服务器功能分配在拥有较多计 算与存储资源的桌面系统或专用服务器上,而使用移动终端作为客户端。s y n c m l 协议的总体体系结构如图3 一l 所示 图3 - 1s y n c m l 体系结构 3 2 2 数据同步协议的基本要素 3 2 2 1 日志信息( c h a n g el o g ) 数据同步协议需要客户端和服务器端能够记录与数据库中数据项有关联的 修改变化信息,即数据库日志信鼠这些修改包括替换、追加,删除等。协议本 1 1 第三章s y n e m l 协议分析 身不指定日志信息在两端是如何维护的,不过当同步进程开始时,客户端和服务 器端必须能明确知道哪些数据项发生变化了。 3 2 2 2 数据项i d 映射( i dm a p p i n go fd a t ai t e m s ) 数据项的一致性由数据项i d 映射表来判定。客户端有l u i d ( l o c a l l yu n i q u e i d e n t i f i e r ) ,这是一个本地唯一的标识符,唯一标明了本地数据库中的对象。 服务器端有g u i d ( 6 l o b a lu n i q u ei d e n t i f i e r ) ,这是一个全局唯一的标识符, 唯一标明了网络数据库中的对象。服务器端还必须维持数据项i d 映射表,即哪 个l u i d 和哪个g u i d 指着相同的数据项l u i d 总是由客户端分配,也就是说当数 据从服务器端同步增加到客户端时,客户端会为这些数据指定l u i d ,并且将l u i d 返回服务器端。如果服务器端修改己在客户端存在的数据项,服务器必须通过客 户端l u i d 识别该数据项。如果是客户端修改,客户端通过l u i d 识别该数据项, 然后修改传给服务器,服务器通过数据项i d 映射表找到相应的g u i d 。 3 2 2 3 同步锚( s y n oa n c h o r s ) 为了使同步完整性检查成为可能,数据同步协议使用了同步锚。有两种同步 锚,l a s t 和n e x t l a s t 同步锚描述了提交端数据库最后一次同步事件( 时间等) n e x t 同步锚描述了提交端数据库当前的事件。这样,客户端和服务器端能互相 提交他们自己的锚。同步锚的使用是和具体协议实现相关的。但是对端的n e x t 同步锚必须保留到下一个同步化过程,在下一个同步化过程里比较该同步锚是否 和新提交的l a s t 的同步锚一致。如果一致,可以做出结论,最后一次同步没有 失败。如果不一致,就必须要求对端采取特殊的行动( 如双向慢同步) 在同步会 话结束之前同步锚不能被更新 3 2 2 4 寻址( a d d r e s s ) 寻址就是数据同步过程中,用于指定设备、服务、数据库、数据项等对象实 体的定位表示方法。寻址由u r i ( u n i f o r mr e s o u r c ei d e n t i f i e r ) 格式说明,可 以是绝对的或相对的。 对于永久连接网络的设备( 如服务器) 可以如下指定: h t p :m y u l o n g c o i n s y n c s e r v e r 对于i 临时连接网络的设备( 如移动电话) 可以如下指定: i m e i :1 3 9 1 2 3 4 5 6 7 8 数据库相对寻址: 第三章s y n c m l 协议分析 c o n t a c u d a t a b a s e l a b 数据库绝对寻址: 1 0 0 0 1 3 。2 。2 5 忙信号( b u s ys i g n a li n 曲 如果服务器端能够接收来自客户端的数据,但不能在适当的时间内处理时, 服务器端必须发出忙信号通知客户端。客户端收到忙信号通知后,可以选择重新 同步或延迟查询同步结果( 异步方式) 。 3 2 3s y n c n l 同步方式介绍 s y n c m l 同步协议的提出是基于表示协议并不足够来实现信息的交互性:需 要在多种设备之间传输多种格式的数据的要求。该协议满足网络延迟的需要:满 足各种设备;满足现有的各种储存模式;满足多种安全需求;能适应多种使用模 式。 s y n e m l 同步协议所支持的同步类型有: 1 双向同步 2 慢同步 3 客户端单向同步 4 客户端刷新同步 5 服务器单向同步 6 服务器刷新同步 7 服务器发起的同步 详细的同步方式说明将在第五章进行说明和阐述 3 3s y n c m l d t d 的支持要求 s y n c m ld s 协议中包含有2 大类,共4 7 个标签。描述了服务器端对各个标签的 第三章s y n c 柚l 协议分析

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论