标签:
同步协议必须有一种策略解决这样的冲突.在SyncML中,冲突策略是同步引擎的一个基本功能,通常是由同步引擎的同步服务器来解决版本冲突问题,也有可能有写客户端设备提供解决这一问题的解决方式.
在同步描述协议提供了通过通知同步客户端冲突决定和状态码的通用解决方案.如果同步引擎的服务端确定一个冲突,服务端将使用状态码和通知功能通知同步客户端并定义解决方案.下面是一些常用的状态码:
<1>207:数据合并
<2>208:客户端优先
<3>209:数据复制
SyncML为了安全的数据同步提供了框架.SyncML本身并没有提供新的安全机制,但是它提供了安全验证框架和在不同的网络层进行安全验证的机制.
SyncML协议在三个不同的层次定义了用户验证机制,这个三个层分别是:服务器层,数据库层和对象层.SycnML只要求它的安全验证机制在服务器端被支持就可以了.为了使用SycnML协议,同步的客户端和服务器端必须支持基本的MD5验证.在数据库层面和对象层面的安全验证是可以选择的.
Device capabilities(设备性能)
SyncML协议通过一个初始化设置可以使不同性能的客户端设备和服务器端进行信息的交换.任意一个设备(客户端或服务端)都能请求信息交换,只要客户端设备性能和服务端能协同工作,他们就能让一个同步会话继续下去.
有两种类型的信息在设备和服务器端进行交换:
<1>设备信息:包括设备类型,数据模块和制造厂商信息.
<2>服务器信息:描述了客户端或服务器端支持的数据对象的特性.如果客户端支持vCard version 2.1数据格式和慢同步及双向同步,那么服务器就必须具有这样的能力,否则,同步就不能继续下去.
同步的客户端必须在第一次同步或者在设备的静态的信息更新后的时候发送设备信息到服务端。同时,当服务器端请求客户端设备信息的时候,客户端应将自身的设备信息发送到服务端。而一个同步服务器应具备接受和处理设备信息的能力,不论它是否接受过客户端的设备信息或是通过自己请求过客户端设备信息。
(1)Two-way sync:双向同步是客户端和服务器端交换有关任何修改的数据信息的一种常用的同步类型。
(2)Slow sync:慢同步是双向同步的一种特别的形式。慢同步就是将客户端数据库的数据和服务器端的数据库数据逐个进行比较。如果客户端和服务器端的同步锚不匹配或客户端或是服务器端的修改日志遗失时将会请求一个慢同步。实际上,慢同步就意味着客户端发送所有的数据到服务器端,服务器端对客户端的所有数据进行逐个字段的分析,比较,并将服务段的数据发送到客户端。在同步分析完成后,服务端将所有的修改信息返回客户端。然后,客户端返回所有的数据的映射信息,并添加到服务端。
(3)One-way sync from client only:客户端优先同步,是客户端发送修改信息到服务端,但是服务端的修改信息并不被发送到客户端。
(4)Refresh sync from client only: 从客户端同步刷新,这里客户端为服务端提供所有数据的浏览,服务器根据客户端的修改来更新服务端的数据。
(5)One-way sync from server only:服务端同步优先,这个同步方式是客户端从服务获取所有的修改信息,但是客户端不发送修改信息到服务端。
(6)Refresh sync from server only:从服务端刷新同步,这里假设服务端为客户端提供所有的数据的预览,客户端将更新目标数据库中的数据,更新数据由服务器端发送到客户端。
(7)Server-alerted sync: 服务通告同步,服务器端通知客户端需要发起的同步类型指令给服务端。
WebDAV (Web-based Distributed Authoring and Versioning) 一种基于 HTTP 1.1协议的通信协议。它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可直接对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。
标签:
原文地址:http://blog.csdn.net/robertcpp/article/details/51366480