《《SyncML基本流程》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《SyncML基本流程》PPT课件.ppt(69页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、SyncML基本流程张程2011-12-07概述SyncML(SynchronizationMarkupLanguage)是一平台无关的信息同步标准协议集。分为SyncML数据传输协议(SyncML-DS)和SyncML设备管理协议(SyncML-DM).原来的大部分同步解决方案绝大部分依赖于某个厂商、应用,或者是某个操作系统,SyncML的目的就是提供一个开放标准,目前已经得到Nokia、Symbian,Motorola,SonyEricsson、SiemensAG等大部分公司的产品的支持。手机通讯录的同步和备份是SyncML协议之前的最主要应用,SyncML服务器端和客户端数据传输基于下层
2、的网路传输协议,如obex,wsp,http等。增值业务提供商也已经提供基于SyncML协议的同步服务,可以让手机用户通过GPRS网络上传或下载通讯录数据,避免手机丢失或更更换手机时遗失重要通讯录数据的麻烦。从SyncML1.2起,协议开始支持对电子邮件,目录和文件进行同步。历史版本:最初版本,定义客户端和服务端设备同步标准:增加LargeObjects、UTC、最大对象size和改动数量支持文档被分为SyncMLCommon、SyncMLDS和SyncMLDM,版本时改名为OMA-DS.1.2.x(20090319):支持中断和续传、记录和域过滤、分层数据对象同步、域级替换规范文档中独有的数
3、据格式被分到独立的数据对象定义规范中2.0(20110719):重定语法和语义,增强类型检查,优化减少交互流量,Fingerprint机制增强中断恢复能力,设备信息允许部分返回,sub-parts同步及增强的数据加密能力SyncMLFramework报文基本结构1.2SyncML/1.24http:/192.168.5.10/funambol/ds;jsessionid=1692893B7C2ECF0D6AE015DFB0F5C34F4491104f06700516130SyncHdrhttp:/192.168.5.10/funambol/ds;jsessionid=1692893B7C2EC
4、F0D6AE015DFB0F5C34F4491104f067005162002cardnameebencard常用同步命令AddAlertCopyDeleteExecGetMapMovePutReplaceResultsSearchSequenceSync.七种同步方式两方同步:客户端和服务器交换修改数据,客户端先发送慢同步:双方交换所有数据,发生在第一次及发生失败后客户端单同步:客户端发送修改数据给服务器,服务器不发送数据给客户端客户端更新同步:客户端发送所有数据给服务器,服务器需要用客户端数据替换指定数据库中所有数据服务器单同步:服务器发送修改数据给客户端,客户端不向服务器发数据服务器更新
5、同步:服务器发送某个数据库所有数据给客户端,客户端需要替换该数据库所有数据服务器通知同步:服务器通知客户端启动一个指定方式的同步数据修改状态信息保存数据修改的log信息,以备更新时做相关对比操作NumberOfChangesSyncAnchors分为LastAnchor、NextAnchor,基于时间戳,同步初始化时发送,客户端和服务器有各自的锚对,通过Alert操作传递,接收者必须将Nextanchor在对Alert的Status中回发给发送者LastAnchor:上一次同步锚,接收者用本机存储的lastanchor与发送者发送的LastAnchor对比,如果匹配,说明上次的同步成功,否则认
6、为失败,启动相应措施,如慢同步等NextAnchor:本次同步锚,在同步结束后才能保存为lastanchor,在传输层正常断开后SyncAnchors上一次同步成功SyncAnchors上一次同步失败或数据异常IDMappingLUID/GUIDofDataItemsIDMappingMap操作更新ID映射LUID:由客户端分配,服务器add数据到客户端时,使用临时GUID,客户端在设备信息中告诉服务器最大临时GUID号,服务器必须使用小于该值的临时GUID,然后客户端接收数据后分配新LUID其他操作均使用LUID,服务器根据映射表识别数据项所有新增的数据都需要client使用Map通知ser
7、ver更新映射表客户端缓存Map服务器可能显式不要响应,或其它异常不能接收,客户端可以缓存Map在下一次会话时发送给服务器,才能完成相关数据的同步冲突处理冲突解决通知112Replace1212208寻址URIHTTP/OBEX/WSPURNIMEI/ESN/MEIDDeviceandServiceAddressinghttp:/www.syncml.org/sync-serverIMEI:493005100592800DatabaseAddressing./calendar/james_bond.http:/www.syncml.org/sync-server/calendar/james_
8、bond.AddressingofDataItems.101.设备能力交换时机:1.第一次同步2.设备信息变化3.对方请求*不需要每次都发*不支持的能力不发*对方不用的不发设备内存管理动态内存信息同步时交换静态内存信息初始化时交换1./calendar/james_bond./dev-calendar810081.多报文包包数据超过一个报文的最大限制只有最后一个包带Final标志服务器请求Nextmsg,使用Alert222大对象处理大对象处理大对象处理分层数据同步和无初始化同步同步锚信息及证书与Sync命令在一个报文中发送安全问题引起慢同步发错服务器同步中断和续传主动停止Alert224SUSPEND被动中止网络原因或其它异常会话续传Alert225RESUME同步主动停止1224http:/