




已阅读5页,还剩58页未读, 继续免费阅读
(计算机软件与理论专业论文)通用数据同步协议syncml的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中山大学硕士学位论文摘要 通用数据同步协议s y n c m l 的研究与实现 计算机软件与理论 硕士生:陈锡彬 指导教师:王若梅副教授 摘要 当前市场上的众多的移动应用与工具表明移动计算已经是商业的必备条 件。商业人士使用膝上型电脑、个人数字助理、移动电话等等来改善开展业务 的方式。应用程序和数据可以从办公室下载到移动手持设备。在两边( 手持设 备和办公室) 保持数据的一致性状态变得必不可少了。同步概念被用来获得一 致性。市场上存在不同的私有同步协议,然而由于它们的互操作性以及总体的 维护问题,它们给最终用户、设备制造商、服务提供商、应用程序开发者造成 了许多问题。s y n c m l 是一个通用的数据同步协议而且已经成为事实上的同步标 准。 本文在深入研究s y n c m l 数据同步协议之后,提出了远程服务器、桌面p c 、 移动设备三方同步的模型,并且在g s l 移动终端- - p c 数据交换系统( 简称u p c ) 的基础上,设计实现了u p c s 原型。u p c s 解决了原有的u p c 软件无法满足用户 对数据共享和兼容性的日益增长的要求的问题,且在不同的同步环境下对 s y n c m l 作了探索和研究。u p c s 服务器是根据s y n c m l 规范进行的从零开始的设 计,采用了分层次的结构,分离了传输协议的绑定与s y n c m l 协议的实现,可以 很方便的支持新的传输协议和不同类型的数据。提供新的同步服务。桌面p c 客 户端( u p c ) 卿j 是在原来u p c 软件的基础上,对其进行改进,使其能够支持s y n c m l , 并且增加了一个代理插件,让移动设备可以通过它与远程服务器同步。 u p c s 采用面向对象方法设计,易于部署配置,具有良好的可扩展性与 s y n c l v l l 的兼容性,可以作为一个进行数据同步协议研究的测试验证的平台。 关键词:s y n c m l 、数据同步、三方同步 中山大学硕士学位论文a b s l l t a c t r e s e a r c ha n di m p l e m e n t a t i o no nc o m m o nd a t as y n c h r o n i z a t i o np r o t o c o l s y n c m l c o m p u t e rs o f t w a r ea n dt h e o r y n a m e :c h e nx i b i n s u p e r v i s o r :w a n gr u o m e i a b s t r a c t i t i m p l i e st h eg r o w t ho ft h em o b i l ec o m p u t i n ga sab u s i n e s sr e q u i r e m e n tt h a t t h e r ea r es om a n ym o b i l eb u s i n e s sa p p l i c a t i o n sa n dt o o l sa v a i l a b l ei nt h em a r k e t l a p t o pc o m p u t e r s , p e r s o n a ld i g i t a la s s i s t a n t s , m o b i l ep h o n e s ,e t c a i eb e i n gu s e d b y b u s i n e s s p e o p l et oi m p r o v et h ew a y o f d o i n gb u s i n e s s a p p l i c a t i o n sa n d d a t ac a l lb e d o w n l o a d e dt om o b i l eh a n dh e l dd e v i c e sf r o mt h eo f f i c e i tb e c o l l l e se s s e n t i a lt o h e l dd a t ao nb o t ht h es i d e s ( h a n dh e l dd e v i c e sa n do f f i c e ) w i t ht h ec o n s i s t e n ts t a t e s y n c h r o n i z a t i o nc o n c e p t i su s e dt oa c h i e v e c o n s i s t e n c y v a r i o u sp r o p r i e t a r y s y n c h r o n i z a t i o np r o t o c o l s e x i s ti nt h em a r k e t ,b u tp o s e sp r o b l e m st oe n du s g r s , d e v i c em a u u f a c t a r e r , s e r v i c ep r o v i d e r s , a p p l i c a t i o nd e v e l o p e r sd u et ot h e i ri n t e r o p e r a b i l i t y a n do v e rh e a di n m a i n t e n a n c e s y n c m l i sac o m m o nd a t a s y n c h r o n i z a t i o np r o t o c o la n dh a s b e c o m et h ed ef a c t os y n c h r o n i z a t i o ns t a n d a r d a f t e rd i v i n gi n t os y n c m ld a t as y n c h r o n i z a t i o np r o t o c o l s ,t h ed i s s e r t a t i o np u t s f o r w a r dan e wm o d e lo fr e m o t es e r v e r , d e s k t o pp c m o b i l ed e v i c et h r e e - s i d e d s y n c h r o n i z a t i o n , f u r t h e r m o r ed e s i g n sa n di m p l e m e n t su p c sp r o t o t y p eb a s e d o ht h e g s lm o b i l et e r m i n a l - p cd a t ae x c h a n g i n gs y s t e m u p c sf u l f i l l st h er e q u i r e m e n t so f s h a r i n gd a t aa n dd a t ac o m p a t i b i l i t yt h a tt h eo m u p cs o f t w a r e 啪ta f f o r d a n dm a l d e e pr e s e a r c hi nd i f f e r e n ts y n c h r o n i z a t i o ne n v i r o n m e n t s u p c ss e r v e ri sd e s i g n e d b a s e do ns y n c m l s p e c i f i c a t i o n sf r o mt h eb e r g i t h a sl a y e ra r c h i t e c t u r ea n d s p l i t st r a n s f e rp r o t o c o lb i n d i n g f r o mt h es y n e m l p r o t o c o lh a n d l i n gi m p l e m e n t a t i o n , s ow ec a ne a s i l ys u p p o r ts o wt r a n s f e rp r o t o c o l sa n dd i f f e r e n tt y p e so fd a t a , p r o v i d e n e ws y n c h r o n i z a t i o ns e r v i c e i nt h em e a nt i m e ,w ea l s oi m p r o v et h eo l dd e s k t o pp c c f i e n tf o p os o f t w a r et os u p p o r ts y n c m la n da d dap r o x yp l u g i nt oi t s ot h a t m o b i l ed e v i c ec a l ls y n c h r o n i z ew i t hr e m o t es e r v e rt h r o u g hi t u p c si s d e s i g n e dw i t ho b j e c t o r i e n t e dm e t h o d ,w h i c hi se a s yt od e p l o ya n d c o n f i g u r e ,a n d h a s a c q u i r e d t h e p r i o r i t y o f s c a l a b i l i t y a n dc o m p a t i b i l i t yw i t h s y n c m l i tc o n s t i t u t e s au s e f u l p h t f o r mf o r t h er e s e a r c ha n dt e s t i n go fd a t a s y n c h r o n i z a t i o np r o t o c o l k e yw o r d s :s y n c m l , d a t as y n c h r o n i z a t i o n , t h r e e - s i d e ds y n c h r o n i z a t i o n 中山大学硕士学位论文引言 引言 现代社会是信息社会,人们需要进行各种信息的交流、传递、存储。移动 通信技术和计算机技术的进步,特别是易于使用的方便功能促进了移动计算和 通信设备的流行。用户可以随时随地进行信息的接收和发送,可以随时随地用 手持设备执行设备中的应用程序。而这种数据交互和执行应用程序的结果需要 存储到手持设备中,也需要与其他数据设备中这种类型的数据保持一致。人们 希望这些设备中的信息能保持一致,当其中一个设备上的数据变化时,可以操 作其他设备中的数据做相应的改变,这就是数据同步。但是目前在数据同步领 域还有两种方式没有实现,一是支持任何移动设备同步的网络数据类型,二是 支持任何类型数据的移动设备。这样的直接后果是目前存在大量的互不兼容的 数据同步协议,并且只是支持部分移动终端和部分数据类型。单一同步标准的 缺乏为最终用户、设备制造商、应用程序开发者和设备提供商带来了很多问题。 因此,在数据同步领域急需一种能够支持各种数据类型和多种终端设备通用的 同步协议。 s y n c m l 就是这样一种通用的数据同步协议。s y n c m l 提供了一个开放的工业 标准技术,充分利用了现有的w e b 技术,这些技术已经被广泛应用,并具有易 用性和互操作性的特点。s y n c m l 提供了一个数据同步操作平台,为众多的移动 设备和网络设备之间的数据同步的统一提供了可能性和互操作性。通过使用 s y n c m l ,可以使数据同步对于最终用户、设备制造商、服务提供商、应用程序 开发者等变得简单易用;同时也能够实现各种设备、各种应用、各种服务器之 间的互操作,因此,s y n c m l 将会成为个移动互联网的高效的操作平台,必将 大大促进移动互联网的发展。 本课题是中山大学与香港权智集团的合作课题6 s l 移动终端- - p c 数据交换 系统( 简称u p c ) 的深入研究。我们的目标是设计一个远程服务器( s y n c b i l 服 务器) 、桌面p c ( u p o 、移动设备三方同步的系统( u p c s ) ,它具有可扩展性、 跨平台性、跨设备性、与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 的三大部件作了 详细论述。第3 章提出三方同步模型,并且阐述u p c s 框架。第4 章具体描述 中山大学硕士学位论文引言 u p c s 服务器的设计,包括u p c s 服务器架构的设计等问题以及相应的设计。第5 章引入s y n c m l 的思想来改造原来的桌面p c 应用程序u p c 使其支持s y n c m l 。 第5 章还阐述了如何用自动化的方法来测试u p c s 。 2 中山大学硕士学位论文 第1 章绪论 第1 章绪论 信息和通讯技术的发展带动了移动计算( 普适计算) 设备的繁荣。典型的移 动计算让用户可以随意访问他们的数据而不用理会数据的位置。他们可以在路上 通过p d a 、膝上型电脑与真正的网络互连。对于日益增长的业务来说,可以快速 访问到更新的信息的能力变得必不可少了。i a n y w h e r e 解决方案公司商业发展部 的r o bv e i t c h 支持这一观点,认为“客户服务及运作效率是意义重大的一而当应 用可以移动时则会发生引人注目的增长。” 1 移动计算的关键之一是使用移动设备上面的应用程序与信息,并且可以和办 公室里面的桌面p c 或网络上的数据同步以获得最新的信息。在日常工作和生活 中,人们需要多个计算设备或信息终端来处理自己工作和生活中的事务,并记录 和更新各种信息。在外出工作时,人们使用移动终端,如p d a 、智能手机或笔记 本电脑:在办公室时,使用工作p c ;在家中时,使用自己的p c 。为了保持工作和 生活的连续性,人们需要这些设备上存储相同的信息,以便在不同的终端上都可 以继续先前的工作。比如,当在户外用手机中的名片管理软件修改了某客户的联 系电话,并且用手机中的便签软件记录了其客户提供的重要信息,此时,如何将 这些改动及时地反映到工作用p c 机以及其它终端设备上的操作就叫做“同步操 作”;而进行“同步操作”后,各个终端上的信息保持一致,就处于“同步状态”。 在移动中访问整合进企业应用的大量应用,用户获得的益处是难以估量的。数据 同时分布在桌面p c ( 服务器等) 与移动设备的特性引起了一个不可避免的问题一 数据同步,即在办公室做的修改必须反映到移动设备,反之亦然。g a r t n e rg r o u p 的分析家k a r e ns c h e r b e r g e r 提出了同样的问题“如果没有同步,您如何能够让 移动的工作人员拥有来自企业数据库的最新信息来处理客户的订单? ” 2 3 1 1 数据同步的目标 商业总是得益于采用能提供所需的商业解决方案的更好的技术。下面的目标 表明了数据同步这种技术对于一个商业组织的良性影响。 1 、保持系统的信息最新 分布式信息系统通常包括多个结点,每个结点都持有一份该结点所需的数据 的本地拷贝。同步技术可以在这些结点之间交换信息,使得每个结点更新到最新 的数据。例如,一个跨国公司拥有遍布全球的分布式网络。如果每个网络之间可 中山大学硕士学位论文 第1 章绪论 以互相同步,则每个本地服务器的信息就会和国外的服务器一样持有相同的最近 的信息,因而也可以为分散的用户提供更好的访问对闯及业务数据的可用性。 2 、减少网络的数据流动 通过访问本地同步后的数据,网络上数据的流动可以极大地减少。请求可以 转向本地服务器,而本地服务器则用同步获得的数据来回应请求。还是上面的例 子,用户可以从他们的本地服务器访问数据而不用从远程的服务器取得数据,因 而减少了网络数据的传输。 3 、保持数据的可靠性 虽然持有数据的移动设备不是一直连到网络上。却是值得信赖的,因为它的 信息是通过最近成功的同步获取的。例如,移动用户可以用移动设备连接到服务 器下载最新的信息,像行事历的条目:然后用户就可以断开与服务器的连接而在 p d a 上仍然持有有价值的、最新的、可靠的数据。 4 、解决时间引起的冲突 在分布式系统中,为了避免时间的差异引起的冲突,时钟必须处于同样的状 态。在网络上同步时钟允许通信在网络中正确地传输。因此在这种环境中时间的 同步是必须的。 4 例如,当我们保存文件到网络服务器时,肯定希望文件的时 间戳在两端的系统( 用户的机器和网络服务器) 保持一致。如果用户和网络的机 器进行过时间的同步,则双方都表示同样的时间,就可以避免时间冲突的问题。 5 、交付质量服务( q o s ) 音频和视频的应用需要双方保持同步来传送有意义的信息。如果应用程序不 能交付最小的必要的质量服务,则业务中就不再需要它们。例如,如果在视频会 议中声音与图像失去同步,由于难以理解,声音和图像就会显得毫无意义了。 1 2 数据同步的概念 “同步”意味着同时发生正如不同的时钟显示同样的时间。扩展的同步一数 据同步,表示使两个数据集合达到一致的过程。 为了保持数据的一致性状态,数据在任何一方( 桌面p c p d a ) 改变后,必须 进行同步。一致性有不同的粒度一数据库级别和文件级别。文件级别的一致性可 以通过c v s ( 并发版本系统) 得到。c v s 保存文件集合修改的历史。当更新文件时, 只要修改不是发生在文件相同的行上,不同的修改可以合并到文件中。本文中关 注的是数据库的同步面非文件的同步。 m a x i m il i a n 认为达到同步状态的最简单的办法是数据库的复制。在这种情形 中,当前的数据库被更新的数据库所覆盖,使两边的数据库达到一致的状态。 5 基于同步是通过交换全部还是部分修改过的数据的方式,同步可以简单地分为两 中山大学硕士学位论文 第1 章绪论 大类:慢同步和快同步。在慢同步( 完全同步) ,一方的全部条且都发送给另一 方。通过同步分析来找出匹配的条目以避免重复的条目,最后用新的或修改过的 条目来更新两边的设备。如果上次同步的状态丢失或者是第一次同步,则一方完 全不知道另一方数据的情况,这一漫长的过程是必不可少的。 快同步时,一方只需发送修改过的条目给另一方( 已经知道对方的数据的情 况) 就可以使双方的设备同步。因为不用发送整个数据库,在窄带宽的情况下这 一方式的效率更高。服务器上修改的条目可以用“最后修改”时间戳来跟踪。类 似地客户端可以用“脏”位来跟踪。如果一条记录被修改了则设置其“脏”位。 当进行同步时,发送所有含“脏”位的条目;同步完成后,移除“脏”位。在同 步时可能发生冲突,冲突由同步引擎及相应的业务逻辑来解决。必要时可能要用 户干预。 6 ii - 。引一 初始日程 上午9 点与甲见面 上午1 0 点与乙见面 下午1 点与丁吃饭 p d a 桌面p c 修改过的日程 一 慢同步 p d a 上修改过的自程 上午9 点与甲见面 l h l 日e = m #上午9 点与甲见面 下午1 点与丁吃饭 修改 一 下午1 点与丁皑饭 桌面p e 修改过的日程 快同步 p d a k 修改过的日程 上午9 点与甲见面 _ ! 一 上午9 点与甲见面 j t 1 u ,r - j u 下午1 点与丁口幺饭 下午1 点与丁吃饭 图卜l 慢同步和快同步的比较 图i - i 显示了慢同步和快同步之间的比较。慢同步时p d a 将所有的条目发送给 桌面p c ,而快同步时,p d a 只将修改过的条目发送给桌面p c 。 慢同步是同步整个数据库的过程,而快同步是仅同步变化的过程。如果需要 同步两个以上的设备,不能使用快同步。因为和一个设备同步的过程中就会清除 状态标志( “脏”位) ,即使这些标志还要用来和其他的设备同步。然而,对于 服务器而言,它对于同一个数据库,可以分别保存不同设备的“脏”标志的集合。 这样用户的不同设备之间就可以共享这些数据。 5 中山大学硕士学位论文 第l 章绪论 在慢同步时,因为所有的记录都要交换,通讯的时间复杂度随着设备中的记 录数呈线性增长,而与修改的记录数无关。 1 3 数据同步的应用领域 l 、w e b 日历( v c a l e n d a r ) 秘书在基于w e b 的日历应用程序上修改了工作安排和会议安排,这些安排可 以更新到相关人员( 老板) 的移动设备上。老板也可以反馈他的更新回秘书。在 这个例子中,两边的用户都可以更新得到任何的修改。 2 、联系人( v c a r d ) : 联系人信息可以以类似乳b 日历的方式交换。v c a r d 是电子形式的名片。v c a r d 通常用在电子邮件、w e b 浏览器、视频会议、p i m 、p d a 、智能卡中。 3 、电子邮件 很多用户喜欢在移动中阅读和答复他们的电子邮件。他们希望移动设备上邮 件的拷贝跟在办公室看到的一样,也就是电子邮件在不同的设备中是同样的状 态:哪些邮件己读,发送了哪些回复邮件等等。 4 、网络文件 通过同步,一台网络机器上的文件保存的状态可以与其他机器上的文件的状 态保持一致。这种同步通常发生在:给一个站点做镜像、备份数据、使不同的网 络数据服务器达到相同的状态。 5 、时钟 网络上的时间必须同步以避免不同机器上的时间不同引起冲突。解决全球时 间约束的更好办法是使用u t c ( 统一协调时间) 定时法 3 9 。在芬兰首都赫尔辛 基中用到的公共汽车优先权函数中使用了时钟的同步来帮助公共汽车的定时。关 于这一项目的更多内容,请参考 7 。 6 、音频视频应用 目前已经有了很多不同的包含了音频和视频的应用。如果在应用中声音比视 频来迟了几秒钟( 或更长时间) ,即失去了同步,则序列就变得难以理解以致毫 无意义了。因此在这种应用中,视频、音频必须保持良好的同步以产生有意义的 输出。 1 4 不同的数据同步协议 同步协议对同步的概念扩展了通信的语法和语义。同步协议应该包括: 8 命名和鉴定记录 公共协议命令 中山大学硕士学位论文 第1 章 绪论 辨认和解决同步冲突 当前市场上的同步协议,如p a l m 的h o t s y n c 、p u m a t e c h 的i n t e l l i s y n c 、微软 的a c t i v es y n c 、权智的p cs y n c 、s y n c 儿都具备这些特性。然而,除t s y n c m l , 其他协议都是公司出于业务上或商业上的需要开发的,因而都是私有协议。 1 4 1 h o t s y n c 协议 p a l m 的操作系统通常安装在p a l m 的p d a 中。这些设备是通过h o t s y n c 的私有协 议来支持同步的,h o t s y n c 要用到p a l m 操作系统的a p i 。h o t s y n c 提供两种模式的 操作一慢同步和快同步。h o t s y n c 同步是记录级别的。 1 4 2 i n t e l l i s y n c 协议 为了最小化连接时间,p u m a t e c h 公司的i n t e l l i s y n ca n y w h e r e 技术致力于使 每种类型的同步都是“快速同步”。它的整个技术是基于中央服务器的架构一所 有的设备都是和中央服务器同步。 中央服务器保存每个设备的修改和状态标志,因而只需发送自从上一次成功 同步以来所发生的修改,也就是快同步。该系统允许桌面p c 和移动设备( 包括p a l m p d a 、p o c k e tp c 、s y m b i a n 设备) 同步,允许与企业应用程序( 如微软的o u t l o o k 、 e x c h a n g e ) 同步。这系统最大的缺陷在于它的集中式架构使得两个设备之间的 同步很麻烦一必须通过服务器。 9 1 4 3a c t i v es y n c 协议 a c t i v es y n c 是微软为p o c k e tp c 提供的同步软件。它建立在微软的操作系统 之上的,拥有很多用户友好特性:用u s b 连接、在桌面p c 上自动检测到通信端口 来用红外通信等等。它能够同步w e b 收藏夹、o u t l o o k 里面的便条,还能自动检测 到s c h e d u l e + 和o u t l o o k = 里面的修改。 1 0 对于微软的o u t l o o k t f l p o c k e tp c 而言, 这一协议己足够健壮了。 1 4 4 p c s y n c 协议 p cs y n c 协议是权智的p d a 使用的协议。权智的p d a 有不同的操作系统 ( m i c r oi c o n 、x p l o r e r 、l i n u x 等等) ,但使用的协议都是p cs y n c 。当然不同 操作系统的p d a 的指令集是不同的。 7 中山大学硕士学位论文第1 章绪论 1 4 5 s y n c m l 协议 “s y n c m l 是一个工业界开发和提供的单一的、通用的数据同步协议,它是全 行业通用的。” 1 1 也就是,它致力于提供一个跨越不同平台和设备的开放的数 据同步标准。这一协议得到了业界很多公司的支持,包括爱立信、i b m 、l o t u s 、 m a t s u s h i t a 、摩托罗拉、诺基亚、o p e n w a v e 、s t a r f i s h 以及s y l n b i a n 。其他的公 司、企业仍不断的补充进来。s y n c m l 标准现在由国际标准化组织o m a $ 0 定和发布。 目前s y n c m l 已成为事实上的数据同步标准。w a p 论坛、蓝牙论坛以及3 g p p 组 都已经采用s y n c 札作为他们的同步协议。 2 6 8 中山大学硕士学位论文 第2 章通用数据同步协议s y n c m l 第2 章通用数据同步协议s y n c m l s y n c m l 创始协会在2 0 0 0 年1 2 月发布了s y n c m lv 1 0 。s y n c m l 标准在推出 之后得到业界的广泛支持和响应,s t a r f i s hs o f t w a r e 向业界推出他们的 t r u e s y n c 科技,它能让m o t o r o l a 手机和t r u e s y n c 支持的e x c i t ep 1 a n n e r 之 间的地址簿和时间表的数据达到同步。p o i n t b a s e 使用s y n c m l 标准发布了业内 第一个基于j a v a 的同步软件,来帮助j a v a 开发工具将j a v a 数据库与联合数据 库相连接,同时扫除了型号与生产厂家不同的障碍。n o k i a 也开发s y n c m l 标准 的产品,如n o k i a 9 2 1 0 和6 3 1 0 ,成为最早推出支持s y n c m l 标准的手机厂商。 经过一些早期产品的测试和检验,s y n c m l 创始协会在2 0 0 1 年6 月推出了s y n c m 儿 v 1 1 ,修正了部分b u g 和不足,提供了更好的数据兼容性和扩展性。2 0 0 2 年1 0 月s y n c m lv 1 1 1 发布。 2 1 通用同步协议的特性 通用同步协议的目标是普遍适用,同步两端可以是任何一种类型网络设备、 在任一种网络上面,同步操作的数据可以是任何一种网络数据。即 一种网络数据可以与任一种移动设备同步 一种移动设备可以与任一种网络数据同步 有了s y n c m l ,网络数据可以通过多种设各同步化,用户可以通过不同的设 备( 包括掌上电脑、移动电话、汽车计算机、桌面p c 等) 访问和操作同样的数 据集合,例如,用户可以使用掌上设备或者移动电话阅读电子邮件,还可以维 护一个一致的、更新的纪录。同步两端可以使用任意类型的数据类型,包括电 子邮件、日历、事务管理信息、数据库中的企业数据和w e b 文档。这种功能使 得想要通过电子邮件接收订单的用户可以在同样的设备上访问公司的目录清单 系统,用来决定交付日期。实现这些目标,通用同步协议需要下列特性: 1 1 能够高效地在有线和无线网络上传输; 支持多种传输协议: 支持任意的网络数据: 可由多种应用程序访问; 考虑到移动设各的资源限制; 构造于现有的互联网和w e b 技术基础之上; 中山大学项士学位论文 第2 章通用数据同步协议s y n c h l 协议最小功能就是赋予所有设备最常用的同步能力。 需要有一个标准的通用的同步协议的主要原因是要有一个一致的标准提供 所有基本的必须的功能,被每一种可能的设备支持,跨越所有的平台。前文提 到的大多数协议都是私有豹协议。s y n c m l 似乎是满足这个需求的唯一的协议。 有没有s y n c m l 的替代物呢? d a v i db u c h m a n n 的调查发现“没有别的协议可以 替代s y n c m l 。有很多网络通信的协议,但s y n c m l 是唯一的为了记录的同步这 一明确目的的通用标准协议。” 6 上面的私有协议在特定的场合中已经相当够 用了,如h o t s y n c 提供了p a l mp d a 和桌面p c 之间记录级的同步,i e t f 定义的 i t i p 可以用来同步i c a l e n d a r 条目。然而,采用像s y n c m l 这样的通用同步协 议,工业界内的不同群体都可以从中获益。 1 1 1 、最终用户 今天移动设备用户可能在不同的设备上使用了不同的同步产品。这样就会, 有一种程序用来在膝上型电脑和网络数据之间同步文件,另一种程序用来同步 掌上电脑的日历,还有一种程序用来访问远程e m a i l 。每一种技术只能用来同 步少数应用程序或者被限制成特殊类型的网络连接。这种安排安装昂贵、配置 和操作复杂、管理烦琐。使用s y n c m l ,用户可以购买能够使用广泛的数据类型 的设备。 2 、设备制造商 每个设备制造商都想他们的设备能够支持所有用户和服务提供商的数据访 问需要。在当前是不可能的,每一种设备都有自己的私有协议,而且只能支持 一种数据同步技术。这种选择迫使制造商压缩存储空间、内存、电源的用量和 消耗。设备制造商会从通用的协议中获得好处,这种通用的协议使设备共同使 用广泛的应用程序、服务、网络和传输技术。 3 、服务提供商 正在进入快速增长的应用程序舞台的服务提供商非常关注这样一个现象,即 同步技术的增多会使在有限的成本下扩展用户和支持用户成为不可能。现在服务 提供商已经支持一定范围的数据类型和应用中的设备:还必须安装、配置多种服 务的基础结构,维护和支持这些基础结构,并且保证兼容性和性能。现在可选的 是利用单独的数据连通方案,则会导致陷入紧密结合的私有解决方案。使用 s y n c m l ,将会使提供支持广阔的应用程序的连接成为可能。 4 、应用程序开发者 选择支持多种同步技术可以使应用程序支持更多的设各类型和网络数据,但 是这种选择会造成成本和时间的浪费。为了保持向下兼容性,开发者失去了选 择网络数据仓库的灵活性,也增加了程序开发的消耗和最终产品的复杂性。使 用s y n c m l ,可以开发能连接更多设备集合和网络数据的应用程序。 中山大学硕士学位论文 第2 章通用数据同步协议s y n c f f l 2 2 s y n c m l 概述 s y n c m l 协议基于x m l 语言,是同步标记语言( s y n c h r o n i z a t i o nm a r k u pl a n g u a g e ) 的缩写。s y n c m l 可以看作是跨越网络、同步不同设备和应用的通用语言。有了 s y n c m l ,可以同步任何类型的信息( 像日历、联系人、任务列表、电子邮件等等) , 使信息一致和最新,无需理会设备和网络的位置。 通常私有协议只能在有限的传输协议和有限的设备中使用。而且只能访问很 小的网络数据的集合。私有系统相互无法沟通导致同步问题发生在顾客、服务提 供商和业务中。s t a r f i s h 软件公司的首席执行官g r e g ga r m s t r o n g 批评了这个问 题,并认为“那是我们要发起s y n c v l l 联盟的原因之一”。 】2 下面的图显示了s y n c m l 的框架 1 3 。实际的服务器和客户端的实现不一定按 这样的框架来设计,但是该框架有助于分析与s y n c m l 实现相关联的系统模型。虚 线框里面是s y n c m l 标准讨论的s y n c m l 框架结构,虚线框外面是数据同步协议。 图2 - 1s y n c m l 框架图 应用a ;位于服务器端的应用,负责为其他应用提供数据同步服务。 应用b :位于客户端的应用,请求并接受应用a 所提供的数据同步服务。 同步引擎:位于服务器端,负责管理整个同步数据的操作,分析数据集里 面所做的改动,检测和解决冲突。客户端也可以有部分类似的功能。 同步服务器代理管理同步引擎对网络的访问,管理客户端和服务器端的应 用进行数据同步的相互通信过程。同步服务器代理通过调用s y n c m l 接口或在此 接口上的函数完成这些功能。 应用b 通过s y n c m l 客户端代理调用s y n c m l 接口的函数,访问网络和它的 中山大学硕l 学位论文 第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 联盟定义和发行。 s y n c m l 适配器负责消息的收发过程,在这个过程中收发双方相互收发 s y n c m l 格式文档。s y n c m l 适配器同时负责创建和维护应用a 和应用b 之间的网 络连接。 应用a 和应用b 之间的数据同步操作可以利用h t t p 、w s p 、o b e x 等传输协 议进行。 s y n c m l 是一套协议集,它的数据同步协议部分主要包括: 基于x m l 的表示协议; s y n c m l 同步协议; 同步协议的传输绑定。 s y n e m l 的一个特性是既可以作为表示协议也可以作为同步协议,这个特性使 得在企业应用的部署中更有吸引力。 2 3 s y n c m l 表示协议 s y n c m l 表示协议定义了用于数据同步操作中实体之间传递的消息的格式, 该协议定义了一个x m l 的文档类型定义( d o c u m e n tt y p ed e f i n i t i o n ,d t d ) , 在此d t d 中定义所有同步操作中所需的数据的表示方式。s y n c m l 消息必须符合 d t d ,以便客户端和服务器交换操作( 增加、删除、更新) 信息和结果状态信息。 在表示协议中还定义了设备性能信息( 存储能力等) 和各种元信息( 像认证信 息) 的描述方法。s y n c m l 消息是以x m l 文档形式表示的,在各种网络上传播的 s y n c m l 包和消息被注册成两种m i m e 媒体类型,一种是 a p p l i c a t i o n v n d s y n c m l + x m l 类型,用来鉴别基于纯文本的s y n c m l 消息;另 一种是a p p l i c a t i o n v n d s y n c m l + w b x m l 类型,用来鉴别基于w b ) 函i l 二进制表示 的s y n c m l 消息。s y n c m l 表示协议指定了一套x m l 的元素,根据它们的功能可 以分成五种 1 4 :消息容器元素、协议命令元素、协议管理元素、公共用途元 素、数据描述元素。消息容器元素包含三个基本元素: 与它的两个子 元素一 和 。数据描述元素和公共用途元素可以出现在 和 里面。协议命令和协议管理元素只能出现在 元素里面。 中山大学硕士学位论文 第2 章通用数据同步协议s y n c t l 从概念上讲,s y n c m l 表示协议定义的s y n c m l 包的基本结构是各种同步消 息的容器。每个s y n c m l 包可以包含一个隧上良构的s y n c t l 消息,用于客户端 和服务器的数据同步操作。每个s y n c m l 消息可以包含一个以上的同步命令。 s y n c m l 同步消息的基本结构如图2 2 所示。 图2 - 2s y n c m l 消息的基本结构 一个s y n c m l 消息包括两部分:消息头和消息体。消息头中含有消息的路由 信息、版本信息、认证信息、会话信息等等,s y n c m l 消息头由s y n c h d r 元素说 明。消息体包含一个或者多个s y n c m l 同步命令,也包含需要同步的数据项,消 息体由s y n c b o d y 元素说明。 每一个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 4 1 、请求命令 a d d :允许发送者将数据元素加入到接收者可以访问的同步数据中去,该命 令必须在s y n c 命令中指定。 a l e r t :允许发送者通知接收者。通知可以作为应用程序和应用程序之间的 消息或者是作为在接收者的用户界面显示的消息。 a t o m i c :允许发送者指明一个命令集合,该集合要么全部执行要么全部不 执行。 c o p y :请求在接收者数据库中创建某个条目的拷贝。 d e l e t e :允许发送者删除可由接受者访问的数据。d e l e t e 命令可以包含一 个请求以实现数据存档。 e x e c :发送者可以要求接收者调用一个命名的可执行的程序。 g e t :允许发送者从接收者那里请求数据元素。 m a p :用于维护本地资源标识与远程资源对应的匹配表。例如,移动电话上 中山大学硕士学位论文 第2 章通用数据同步协议s y n c m l 的某项资源可能只具有一个2 字节的标识( l u i d ) ,而在服务器上同一项资源的 i d ( g u i d ) 则可能用一个1 6 个字符的字符串表示。 p u t :允许发送者发送数据给接收者,这个命令不能被s y n c 命令指定。 r e p l a c e :允许发送者对接收者可以访问的数据元素进行替换,这个命令不 能被s y n c 命令指定。 s e a r c h :允许发送者进行数据元素的查询。 s e q u e n c e :允许发送者指定一系列按顺序执行的命令集合。 s y n c :允许发送者指定包含的命令作为同步两个数据集合的部分。 2 、应答命令 s t a t u s ;指明操作的完成状态,或者指明处理前一个请求发生的错误。 r e s u l t s :用来返回g e t 或者s e a r c h 命令的数据结果。 2 4 s y n c m l 同步协议 定义s y n c m l 同步协议的动机在于: 1 、s y n c m l 表示协议并不足以实现信息的交互性; 2 、可以在多种设备之间传输多种格式的数据。 s y n c b t l 同步协议主要定义数据同步操作会话过程中的数据流程、同步双方 的握手过程、同步操作的类型等等 在图2 - 3 中举例说明了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 m c 蠊务嚣 曾主釜 图2 - 3 手机与服务器之间的同步实例 从上例中我们可以得到同步协议中各个角色的定义: s y n c m l 客户端一是指包含了同步客户端代理并首先把其修改信息发给服 务器的设备,而且客户端必须能接收来自s y n c m l 服务器端的应答消息。尽管总 中山大学硕士学位论文第2 章通用数据同步协议s y n c m l 是s y n c m l 客户端先发送修改信息,但在特定情况下,服务器端也要能发起同步 过程。s y n c t d l 客户端通常是移动电话、p d a 、p c 等设备。 s y n c m l 服务器一是指包含了同步服务器代理和同步引擎的设备,通常要 等待s y n c m l 客户端发起同步过程。服务器接收客户端的修改信息并分析同步命 令。如果传输层支持服务器端的命令,s y n c i d l 服务器也可以主动发起同步过程。 一般服务器设备或p c 都可以成为s y n c m l 服务器。 根据同步是由客户端还是服务器发起以及信息的流向,s y n c m l 中定义了七种 不同的同步类型。 1 、双向同步 是最常见的一种同步,其他同步过程都和它有很多相似之处。双向同步总是 由客户机首先发起,然后客户端和服务器交换更新
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030植物蛋白肉口感改良技术与消费者接受度调研报告
- 人工智能练习题库+参考答案
- 光电讲师培训课件
- 2025人工智能笔试模拟题及答案
- 2025年人工智能训练师数据标注与模型训练模拟试卷(高级技能版)含答案
- 鞋类供应链优化
- 2025年跨境电商货物仓储及国际运输一体化服务合同
- 2025口腔药品器械管理制度
- 2025年度智能脚手架租赁及施工进度智能调整协议
- 2025年专业博物馆安防监控升级改造及运维服务合同
- 泪腺肿瘤护理课件
- 中建幕墙安装工安全培训课件
- 高端住宅保洁服务策划方案
- 大单元教学培训
- 公墓建设可行性研究报告
- 混合痔护理教学课件
- 矿井物探工作管理制度
- 中建五局公司管理制度
- 2025-2030年中国膀胱过度活动疗法行业市场现状供需分析及投资评估规划分析研究报告
- 石家庄供暖管网规划方案
- 检测公司销售管理制度
评论
0/150
提交评论