一种使用SyncML协议进行数据同步的方法

文档序号:7975484阅读:153来源:国知局
专利名称:一种使用SyncML协议进行数据同步的方法
技术领域
本发明涉及一种数据同步方法,尤其涉及一种使用开放移动联盟(OMA) 定义的数据同步规范SyncML进行扩展优化的方法。
背景技术
开放移动联盟(OMA)定义的数据同步规范SyncML是一种同步化标志语 言,唯一行业通用的移动数据同步化协议。SyncML的意义在于改变了移动数 据同步化建立在一些互不相同的私有协议上的现状,解决了每种私有协议只能 支持有限种类的设备、系统及数据类型的问题。SyncML技术的应用,使得各 方面(用户、生产商、服务提供商、开发商)工作的复杂度得到大大的简化。市场上已经有很多设备终端厂商开发了具有SyncML功能的产品,目前基 于SyncML数据同步(DS)的应用主要是个人信息管理(PIM),可用于电话 本、日程安排、Email等应用数据的同步,使得用户可以在拥有的多个设备上 能保持个人数据的同步一致,也可以用作私人信息的备份。SyncML包括基于XML的表示协议、数据同步协议、设备管理协议和传 输绑定协议。其主要应用是数据同步(DS)和设备管理(DM)。两个应用都 使用相同基于XML表示协议和传输绑定协议,可以针对HTTP/WSP/OBEX等 传输协议进行绑定,从而实现通过各种有线、无线传输方式进行对终端设备的 数据同步和设备管理。图1为现有技术SyncML双向同步方法的示意图(其中,将SyncML客户 端和SyncML服务器分别简称为客户端和服务器)。该方法包括步骤IOI,在用户通过人机接口 (MMI)发起同步操作后,客户端向服务 器发送同步初始化包(#1),其中包括同步方式、数据库类型、客户端设备 能力、同步标志和鉴权信息(用户名和密码),试图建立同步会话连接;步骤102,该服务器向客户端发送同步初始化包(#2),对客户端同步请 求做出响应,返回鉴权结果、设备能力和会话建立确认信息等;步骤103,该客户端发送需同步的数据包(#3)给该服务器;步骤104,该服务器收到处理后返回状态和结果,同时发送该服务器端需要同步的数据内容(数据包#4);两者重复这个步骤,直至所有同步数据发送完毕;步骤105,该客户端发送数据同步状态(状态包#5)到服务器,包含了映 射信息;步骤106,服务器对上步骤的数据包进行确认,发送同步响应包(#6), 同步流程结束。下表是数据同步文档例子-上述会话内容都使用XML/WBXML (XML的二进制表示,应用在无线链 路传输,减少带宽占用)文档来表示,以客户端发送的一个数据包为例,分别 如下所示WBXML格式 传输报头,如HTTP HEAD0x6D 0x6C0x71 03312E310001 0x720353796E634D4C2F312E310001 0x65 03310001 0x5B 033200010x6E5703 ......0x000x01 0x010x67 5703 ......OxOO0x01 0x010x01 0x6B0x01 0x01XML格式_传输报头,如HTTP HEAD...... 15<SyncML 〈SyncHdr〉<VerDTD> 1.1 </VerDTD> <VerProto>SyncML/l. l</VerPr oto><SessionID>l</SessionID> 20 <MsgID>2</MsgID><Target><LocURI>......</LocURI></Target><Source><LocURI>......</LocURI></Source>25</SyncHdr> <SyncBody></SyncBody> </SyncML>30
虽然SyncML文档定义了可采用WBXML方式,以对DTD TAG进行压 缩,其本质是采用一种单字节编码字典的方法,而对XML的数据仍然采取原 封不动的明文传输的方式。大多数情况下,在SyncML DS/DM应用中,同步 数据还是占据了整个SyncML传输文档的大部分容量,目前生成的SyncML同 步数据包还是比较大,因此还具备进一步压縮的潜力。发明内容本发明所要解决的技术问题在于提供一种使用SyncML进行数据同步的 优化方法,不仅可以减少传输带宽,同时还可以对传输文档内容进行加密和完 整性校验,增强了用户隐私数据的安全性和传输的可靠性。为达到上述目的,本发明的使用移动数据同步化协议进行数据同步的方 法,用于包括客户端和服务器端的移动通讯网络系统,该方法包括同步初始化步骤,所述客户端发送初始化数据包至所述服务器端,所述服 务器端发送确认数据包返回所述客户端;以及同步处理步骤,所述客户端将同步数据以选定的压縮选项构造同步压縮数 据包发送至所述服务器端,所述服务器端将所述同步数据包解压还原,并按照 原SyncML协议进行同步更新处理,再将构成所述服务器端的同步数据压縮打 包,发送到所述客户端;所述客户端将返回的同步压縮数据包解压还原并按照 原SyncML协议进行同步更新处理;重复上述过程直至所述客户端与所述服务 器端之间的同步数据处理完毕。上述数据同步方法,在所述同步处理步骤之后还包括同步状态确认步骤, 所述客户端按选定的压縮选项构造同步状态数据包发送至所述服务器端,其中 包含映射信息,所述服务器端对所述同步状态数据包解压还原,进行确认返回 响应包。上述数据同步方法,在所述同步初始化步骤中,所述客户端按选定的压縮 选项构造初始化数据包发送至所述服务器端,所述服务器端按选定的压縮选项 对所述初始化数据包进行解压还原,并按照原SyncML协议进行处理,再将确 认数据包按选定的压縮选项压縮打包,发送回所述客户端。上述数据同步方法,在所述同步初始化步骤中,所述客户端发送的初始化 数据包包括同步方式、数据库类型、客户端设备能力、同步标志和鉴权信息;6
所述服务器端返回的确认数据包包括鉴权结果、设备能力和会话建立确认信 息。上述数据同步方法,所述初始化数据包还包含有所采用的压縮算法标志和 相关压縮配置参数信息。上述数据同步方法,所述客户端和服务器端具有针对SyncML整个文档或 针对SyncML文档中同步数据的压縮/解压縮功能。上述数据同步方法,还包括在会话初始阶段,所述用户端与所述服务器端 通过设备能力上报命令进行压缩选项的相关协商的步骤。上述数据同步方法,所述客户端与所述服务器端进行压縮选项的相关协商 步骤中,包括对压縮算法、压縮配置参数、报文大小和/或传输速率进行协商 选择。上述数据同步方法,所述客户端按SyncML协议构造同步数据包时,在类 型域设置压縮数据标志,在数据域中设置压縮后的数据。上述数据同步方法,其特征在于,所述服务器端或客户端收到对端的压縮 数据包,在进行解压縮过程中,如果遇到校验失败,则在确认数据包中利用 SyncML协议中扩展的Status状态码返回响应的错误码。上述数据同步方法,其特征在于,所述客户端或服务器端在进行压縮时选 择同时通过密钥进行加密。上述数据同步方法,其特征在于,所述密钥设置可在会话初始化之前预先 确定,或者由所述客户端或服务器端在同步初始化步骤中动态产生。上述数据同步方法,其特征在于,在所述同步初始化步骤中,还包括所述 客户端和服务器报告各自支持的压縮算法名称、版本和必要配置信息的步骤。上述数据同步方法,其特征在于,在所述会话初始阶段,所述用户端与所 述服务器端通过设备能力上报命令进行压縮选项的相关协商的步骤中,所述设 备能力上报命令中还扩展设置有压縮、加密信息相关域。与现有技术相比,本发明的使用SyncML进行数据同步的优化方法,通过 压縮编码的方式,可以有效的减少传输带宽,这对于非宽带和比较拥挤、流量 较大的无线网络尤为重要;同时还可以对传输文档内容进行加密和完整性校 验,增强了用户隐私数据的安全性和传输的可靠性。


图1是现有技术SyncML数据同步流程示意图;图2是按照本发明具体实施方式
一优化过的同步流程示意图;图3是按照本发明具体实施方式
二优化过的同步流程示意图。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案。本发明的使用移动数据同步化协议进行数据同步的优化方法,用于包括客户端、服务器端的移动通讯网络系统,该方法包括同步初始化步骤,所述客户端发送初始化数据包至所述服务器端,所述服 务器端发送确认数据包返回所述客户端。其中,所述客户端发送的初始化数据 包包括同步方式、数据库类型、客户端设备能力、同步标志和鉴权信息,还 包括该初始化步骤所采用的压縮算法标志和相关压縮配置参数;所述服务器端 返回的确认数据包又包括鉴权结果、设备能力和会话建立确认信息。同步处理步骤,所述客户端将同步数据以选定的压縮选项构造同步压縮数 据包发送至所述服务器端,所述服务器将所述同步数据包解压还原,并按照原 SyncML协议进行同步更新处理,再将构成所述服务器端的同步数据压縮打 包,发送到所述客户端;所述客户端将返回的同步压縮数据包解压还原并按照 原SyncML协议进行同步更新处理;重复上述过程直至所述客户端与所述服务 器端之间的同步数据处理完毕,所述客户端按原SyncML协议构造同步数据包 时,其中在Type域设置压縮数据标志,在Data域中设置压縮后的数据。同步状态确认步骤,所述客户端按选定的压縮选项构造同步状态数据包发 送至所述服务器端,其中包含映射信息,所述服务器端对所述同步状态数据包 解压还原,进行确认返回响应包,同步流程结束。在上述同步初始化步骤中,所述客户端按选定的压縮选项构造初始化数据 包发送至所述服务器端,所述服务器端按选定的压縮选项对所述初始化数据包 进行解压还原,并按照原SyncML协议进行处理,再将确认数据包按选定的压 縮选项压縮打包,发送回所述客户端。进一步的,该数据同步优化方法还包括在会话初始阶段,所述用户端与所 述服务器端进行压縮选项的相关协商的步骤,用于对包括对压缩算法、压縮配
置参数进行协商选择。该会话初始阶段还包括客户端和服务器报告各自支持的 压縮算法名称、版本和必要配置信息的步骤。在该同步初始化步骤中的设备能 力上报命令中,还扩展设置有压縮、加密信息相关域。进一步的,该数据同步的优化方法,所述服务器端或客户端收到对端的 压縮数据包,在进行解压縮过程中,如果遇到校验失败,则在确认数据包中利用SyncML协议中扩展的Status状态码返回响应的错误码。进一步的,所述客户端或服务器端在压縮时可选择同时进行加密,密钥 可在会话外设置,如同用户签约时设置帐户密码一样。所述密钥设置在同步初 始化步骤中;或者,所述密钥由所述客户端或服务器端在同步初始化步骤中进 行动态产生,并随时间、终端ESN/IMSI等参数而随机生成,并通过扩展 SyncML协议中的字段在文档中告知对端。下面分别针对SyncML文档和用户同步数据进行压縮/加密,适用于不同需 求状况下的应用场景为实施例来说明本发明的数据优化方法。图2所示为针对SyncML文档的同步流程优化示意图。在该实施例中,要 求服务器和客户端都支持SyncML文档的压縮/解压縮功能。步骤201,客户端根据所设置的压縮选项,构造包含压縮选项信息的数据 包。以HTTP为例,可在报头中的Content-Type可以定义为扩展的压縮报文类型;步骤202,客户端发送初始化数据包,可以包含所采用的压縮算法标志及 相关压縮参数,以便于解压縮时使用;步骤203,服务器对压縮报文类型进行确认,并将初始化数据包解压縮后, 按照SyncML现有流程处理,将确认数据包按照协商的压縮算法和参数进行压 縮后发送给客户端;步骤204 205,客户端按SyncML现有协议构造同步数据包,然后同步骤 201压縮后的数据包发送给服务器,服务器将数据包解压縮后,按照SyncML 现有流程处理更新数据,之后构造服务器端的同步数据包,同步骤203压縮后 发送给客户端;重复该过程,直至双方的同步数据处理完毕;步骤206,客户端按SyncML现有协议构造数据同步状态数据包,包含了映射信息,发送到服务器;步骤207,服务器对数据包解压縮,进行确认,同步流程结束。
进一步地,服务器和客户端由于性能和内存容量的不同,在压縮算法和参 数设置上可以有所不同,可以根据报文大小、传输速率等因素进行选择;进一步地,实施例中使用的压縮/解压縮可以选用目前现有的各种算法,包 括但不限于ZIP、 LZW等和其优化、组合的算法。对于图2所示的实施例,由于文档是整体压縮的,在解压縮前文档结构是 不可知的,因此服务器在对SyncML文档进行解析或者其他处理,如査询时, 需要解压縮整个文档,不利于这些情况下的应用。对此可以仅针对文档中同步 数据域内容进行压縮,本发明提出了另一种优化方法,具体实施例如图3所示。步骤301 302,客户端和服务器发送同步初始化包,可同现有的SyncML 流程一致,需要在设备能力中增加同步数据内容压縮的标志域,包含压縮选项 信息;步骤303,客户端按SyncML现有协议构造同步数据包,其中的Type域需 要扩展以标志为压縮数据,之后的Data域中为压縮后的数据,将该数据包发 送到服务器;步骤304,服务器收到该数据包后,对于XML/WBXML的解析和SyncML 现有过程一样,但对于压縮数据需要解压縮还原,之后进行同步数据更新处理。 按步骤303的方式构造响应数据包发送;两者重复303 304步骤直至同步数 据处理完毕;步骤305 306,客户端发送数据同步状态到服务器,包含了映射信息;服 务器对上步骤的数据包进行确认,同步结束,和现有流程一致。该实施例针对占据SyncML文档大部分容量的同步数据进行压縮,而文档 结构和其他数据包基本不受影响,对于现有的设备和软件改动较小,实现复杂 度和资源占用度也较小,因此应用起来也更加灵活,可以针对不同类型的数据 采用不同的压縮方式和参数,有效地兼顾容量、处理速度和效率的平衡。当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情 况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但 这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1. 一种使用移动数据同步化协议进行数据同步的方法,用于包括客户端和服务器端的移动通讯网络系统,其特征在于,该方法包括同步初始化步骤,所述客户端发送初始化数据包至所述服务器端,所述服务器端发送确认数据包返回所述客户端;以及同步处理步骤,所述客户端将同步数据以选定的压缩选项构造同步压缩数据包发送至所述服务器端,所述服务器端将所述同步数据包解压还原,并按照原SyncML协议进行同步更新处理,再将构成所述服务器端的同步数据压缩打包,发送到所述客户端;所述客户端将返回的同步压缩数据包解压还原并按照原SyncML协议进行同步更新处理;重复上述过程直至所述客户端与所述服务器端之间的同步数据处理完毕。
2、 根据权利要求1所述的数据同步方法,其特征在于,在所述同步处理 步骤之后还包括同步状态确认步骤,所述客户端按选定的压縮选项构造同步状 态数据包发送至所述服务器端,其中包含映射信息,所述服务器端对所述同步 状态数据包解压还原,进行确认返回响应包。
3、 根据权利要求1所述的数据同步方法,其特征在于,在所述同步初始 化步骤中,所述客户端按选定的压縮选项构造初始化数据包发送至所述服务器 端,所述服务器端按选定的压縮选项对所述初始化数据包进行解压还原,并按 照原SyncML协议进行处理,再将确认数据包按选定的压縮选项压縮打包,发 送回所述客户端。
4、 根据权利要求1或3所述的数据同步方法,其特征在于,在所述同步 初始化步骤中,所述客户端发送的初始化数据包包括同步方式、数据库类型、 客户端设备能力、同步标志和鉴权信息;所述服务器端返回的确认数据包包括: 鉴权结果、设备能力和会话建立确认信息。
5、 根据权利要求4所述的数据同步方法,其特征在于,所述初始化数据 包还包含有所采用的压縮算法标志和相关压縮配置参数信息。
6、 根据权利要求l、 2或3所述的数据同步方法,其特征在于,所述客户 端和服务器端具有针对SyncML整个文档或针对SyncML文档中同步数据的压 縮/解压縮功能。
7、 根据权利要求l、 2或3所述的数据同步方法,其特征在于,还包括在 会话初始阶段,所述用户端与所述服务器端通过设备能力上报命令进行压縮选 项的相关协商的步骤。
8、 根据权利要求7所述的数据同步方法,其特征在于,所述客户端与所述服务器端进行压縮选项的相关协商步骤中,包括对压縮算法、压縮配置参数、 报文大小和/或传输速率进行协商选择。
9、 根据权利要求1所述的数据同步方法,其特征在于,所述客户端按 SyncML协议构造同步数据包时,在类型域设置压縮数据标志,在数据域中设 置压縮后的数据。
10、 根据权利要求l、 2、 3或9所述的数据同步方法,其特征在于,所述服务器端或客户端收到对端的压縮数据包,在进行解压縮过程中,如果遇到校 验失败,则在确认数据包中利用SyncML协议中扩展的Status状态码返回响 应的错误码。
11、 根据权利要求10所述的数据同步方法,其特征在于,所述客户端或 服务器端在进行压縮时选择同时通过密钥进行加密。
12、 根据权利要求ll所述的数据同步方法,其特征在于,所述密钥设置 可在会话初始化之前预先确定,或者由所述客户端或服务器端在同步初始化步 骤中动态产生。
13、 根据权利要求l、 2或3所述的数据同步方法,其特征在于,在所述 同步初始化步骤中,还包括所述客户端和服务器报告各自支持的压縮算法名 称、版本和必要配置信息的步骤。
14、 根据权利要求7所述的数据同步方法,其特征在于,在所述会话初始 阶段,所述用户端与所述服务器端通过设备能力上报命令进行压縮选项的相关 协商的步骤中,所述设备能力上报命令中还扩展设置有压縮、加密信息相关域。
全文摘要
本发明公开了一种使用移动数据同步化协议进行数据同步的方法,用于包括客户端和服务器端的移动通讯网络系统,该方法包括同步初始化步骤所述客户端发送初始化数据包至所述服务器端,所述服务器端发送确认数据包返回所述客户端;同步处理步骤所述客户端将同步数据以选定的压缩选项构造同步压缩数据包发送至所述服务器端,所述服务器端将所述同步数据包解压还原,并按照原SyncML协议进行同步更新处理,再将构成所述服务器端的同步数据压缩打包,发送到所述客户端;所述客户端将返回的同步压缩数据包解压还原并按照原SyncML协议进行同步更新处理;重复上述过程直至所述客户端与所述服务器端之间的同步数据处理完毕。
文档编号H04L29/06GK101212471SQ20061017162
公开日2008年7月2日 申请日期2006年12月31日 优先权日2006年12月31日
发明者江 周 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1