SyncML介绍

SyncML介绍


SyncML (Synchronization Markup Language)是一种平台无关的信息同步标准协议。 一个开放的标准,可以在兼容的设备、程序及网络进行数据同步,意思是,任何设备或程序可以获得一致的数据。SyncML是基于XML的(可扩展的标识语言)。SyncML目的是在若干网络,平台及设备间进行一个开放的,全行业规范的普遍的远程数据及个人信息的同步,是为了发展一个可以在兼容的设备和程序间广泛使用单一的,普通数据同步协议。




SyncML是一种唯一行业通用的移动数据同步化协议,将由SyncML行动(SyncML initiative)发行,是一种开放性协议。SyncML initiative由行业先锋Ericsson, IBM, Lotus, Motorola, Nokia, Palm Inc., Psion, Starfish Software初创,Matsushita也与最近加入,使其会员达到9家。另外还有555家支持公司。SyncML initiative的目的就在于,与终端用户、设备开发商、数据提供商、基础构件开发商、应用软件开发商及服务提供商协同工作,发行SyncML,以真正实现:使用任何终端设备均可随时随地访问任何网络数据。




直到目前,移动数据同步化还是建立在一些互不相同的私有协议上,其中的每种协议只能支持有限种类的设备、系统及数据类型。这些不兼容的协议技术,增加了各方面(用户、生产商、服务提供商、开发商)工作的复杂度。而且这类协议的增加会限制移动设备的使用,会限制数据的访问和发行,还会限制用户的移动性。但SyncML发行后,情况即将改变。




SyncML可以表示通过任意网络同步化所有设备及应用软件。借助XML,SyncML将成为真正的同步化平台(这一点将会得到证实)。




维基百科的介绍页面: http://en.wikipedia.org/wiki/Sync_ML




SyncML规范: http://technical.openmobilealliance.org/tech/affiliates/syncml/syncmlindex.html




SyncML同步协议七种同步类型 




在SyncML同步协议中定义了七种同步类型: 




双向同步




是最常见也最具有代表性的一种同步,其他同步过程都和它有很多相似之处。双向同步总是由客户机首先发起,然后客户端和服务器互换更新信息。同步过程如下:同步初始化;客户端准备要发送的数据;客户端发送自己的更新信息;服务器接收并进行分析处理;服务器返回处理的状态信息和自己的更新信息;客户端接收更新信息并对自己的数据库进行更新;客户端把更新的状态信息发送给服务器,其中包含插入记录的ID映射信息;服务器对客户端发送的映射信息做应答;客户端收到服务器的应答后,把同步结果通知用户。 




慢同步




是双向同步的一种。在一般的双向同步中,客户机只是把自己在上次同步过程中所做的修改发送给服务器,而在慢同步中,客户机则把自己所有的数据都发给服务器,服务器逐一比较接收到的数据和自己的数据,以确定客户端哪些数据需要更新,然后把这些更新信息发送给客户端。需要慢同步的情况一般有:设备之间第一次同步;修改日志丢失;同步双方的同步标志不匹配。由于产生慢同步的原因很多,所以客户机和服务器双方都有可能发起慢同步。 




客户端单向同步




只由客户机向服务器发送上次同步之后自己更新的信息,而服务器不把自己的更新信息发送给客户端。 




客户端刷新同步




属于客户端单向同步的一种。客户机把自己所有的数据都发给服务器,并刷新服务器上的数据。 




服务器单向同步




客户机从服务器那里得到上次同步之后服务器所有的更新信息,但不向服务器发送自己的更新信息。 




服务器刷新同步




属于服务器单向同步的一种。服务器把所有的数据都发给客户端,并刷新客户端的数据。 




服务器发起的同步




前面六种同步方式都是由客户机主动发起的同步过程,而这种同步方式是由服务器首先通知客户端,让其开始某种类型的同步。

你可能感兴趣的:(架构设计)