SYNCML协议


SYNCML协议用于处理客户端和服务端的数据同步机制。

比如手机上的pushmail,其本质可以理解为客户端和服务端数据同步的实现。


首先,客户端需要进行一个初始化,从server获取全量数据,完成后标识客户端的数据锚点,代表当前client数据的状态。

当服务端收到另一个客户端的数据改动请求,并更新数据后,则需要对其它所有客户端进行sync通知。其它客户端收到通知后,将自己的锚点发送给server,server返回从锚点开始到最新数据点的所有修改日志。客户端根据修改日志重做客户端的数据。

当客户端发生数据变动后,由客户端发起,提交锚点和修改日志给服务端,服务端根据请求,做相应的数据订正,并把服务端接受到的其它客户端的修改变动返回。

当服务端检测到数据冲突后,则返回状态码。由客户端进行决定。包括:1、冲突合并 2、复制数据 3、客户端优先


几个要点:

1、包括client和server,所有数据以“修改日志”的形式,分割为一个个数据单元

2、server的sync notify需要和client进行长连接,从而发起push message通知

3、通信机制可以建立在http协议上,包括客户端和服务端的双向修改,通过http协议的post和response完成。

4、数据同步可能的形式有:client单向, server单向,双向同步,server同步通知

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值