终端和服务器的数据同步方法和装置的制作方法

文档序号:7886387阅读:146来源:国知局
专利名称:终端和服务器的数据同步方法和装置的制作方法
技术领域
本发明涉及一种数据传输方法,具体是一种终端和服务器的数据同步方法。
背景技术
SyncML是一种唯一行业通用的移动数据同步化协议,SyncML的目的就在于,与终端用户、设备开发商、数据提供商、基础构件开发商、应用软件开发商及服务提供商协同工作,以真正实现使用任何终端设备均可随时随地访问任何网络数据。目前SyncML提供7种标准的同步方式:1、双向同步:双向同步由客户机和服务器同步上次交互后变化的数据,最终达到
数据一致。2、慢同步:双向同步总是由客户机和服务器交互全部数据,最终达到数据一致。3、终端单向同步:只由客户机向服务器发送上次同步之后自己更新的信息,而服务器不把自己的更新信息发送给终端。4、终端刷新同步:属于终端单向同步的一种。客户机把自己所有的数据都发给服务器,并刷新服务器上的数据。5、服务器单向同步:客户机从服务器那里得到上次同步之后服务器所有的更新信息,但不向服务器发送自己的更新信息。6、服务器刷新同步:属于服务器单向同步的一种。服务器把所有的数据都发给终端,并刷新终端的数据。7、服务器发起的同步:前面六种同步方式都是由客户机主动发起的同步过程,而这种同步方式是由服务器首先通知终端,让其开始某种类型的同步。具体来说SyncML是一平台无关的信息同步标准协议集,分为SyncML数据传输协议(SyncML-DS)和SyncML设备管理协议(SyncML-DM)。一个完整的SyncML_ds协议包含协议头(SyncHdr)和协议的内容体(SyncBody)。1、SyncHdr:协议头主要描述协议基本信息、协议的版本、本次请求的URL、以及本设备对应的唯一 URI。协议头的信息在一次同步过程中一般不会发生改变。2、SyncBody:协议主体是承载命令、数据的部分。在每次同步过程,其内容都会随着同步的进度而不一样。一般来说协议体包含以下两个部分:同步命令,命令执行的状态。采用上述这些现有的同步方式,均可以实现服务器端和终端的数据同步,如中国第200810240185.8号专利申请就提出了一种实现终端和服务器端数据同步的方法:首先用户在终端的配置文件界面上选择设置P頂数据的同步方式,系统按照用户设置的同步方式执行相应的同步操作,且在同步操作之前,系统先分别将准备删除的终端数据或服务器端数据进行存储备份,以供后续操作调用。当用户因误操作而丢失数据时,选择执行该数据回滚机制步骤,以便恢复原来的数据后,重新选择合适的同步方式再次进行同步。该专利利用SYNCML协议的慢同步实现了 PUT和GET两种同步方式,供用户方便地选择是以服务器端为准进行同步还是以终端为准进行同步,还提供了删除数据的二次确认、建立删除数据的回收站等操作步骤,能有效地维护终端和服务器端两侧数据的一致性。目前移动的号簿管家业务的同步方式与此基本类似。现有的SyncML同步数据的技术和方法存在如下缺陷:现有方法基本解决了终端和服务器数据同步的问题,但现在很多终端所安装的应用软件并不完全支持SyncML协议所提供的7种标准协议(如F0XMAIL只支持双向同步和慢同步),这就限制了同步的方式,无法满足用户个性化的同步数据的要求(如用户希望F0XMAIL能服务器端刷新同步数据);因终端所安装的应用软件并不完全支持SyncML协议所提供的7种标准协议(如F0XMAIL只支持双向同步和慢同步),频繁使用双向同步或者慢同步会反复比较终端和服务器的数据,影响同步数据的效率。

发明内容
为解决上述问题,本发明的目的是提供一种终端和服务器的数据同步方法,同时还提供一种协议转换平台,利用本发明中的协议转换平台及同步方法解决不同终端与服务器之间对数据同步协议方式限制的问题。为实现上述目的,本发明首先提供了一种终端和服务器的数据同步方法,包括以下步骤:终端向协议转换平台发起数据同步的认证请求;协议转换平台将所述认证请求重定向至服务器,并将所述认证请求中的第一同步类型转换为服务器指定的第二同步类型;服务器通过所述认证请求后,向协议转换平台返回认证结果;协议转换平台记录认证结果中的服务器身份认证信息,生成本次同步的会话密钥,并将所述认证结果中的认证身份信息、服务器地址和第二同步类型分别替换为会话密钥、协议转换平台和第一同步类型,然后把转换后的认证结果发送给终端;终端根据所述会话密钥和第一同步类型向协议转换平台发起数据同步请求;协议转换平台将所述数据同步请求重定向至服务器,并将所述数据同步请求中的会话密钥和第一同步类型分别转换为服务器身份认证信息和第二同步类型;服务器根据第二同步类型对终端进行数据同步。本发明可适用于一般的数据传输协议,尤其适用于SyncML协议。根据本发明的目的,还提供了一种协议转换平台装置,包括:重定向模块,用于将终端所发送协议中的目标地址重定向为服务器地址,并且将服务器所发送协议中的服务器地址转换为协议转换平台的地址;会话(Session)管理模块,用于在服务器通过终端的数据同步认证请求后,记录服务器身份认证信息,生成本次同步的会话密钥;同步数据管理模块,用于在终端和服务器进行数据同步的过程中用服务器身份认证信息替换终端发来的数据同步请求中的会话密钥;协议类型转换模块,用于将终端所发送协议中的第一同步类型转换为服务器指定的第二同步类型,并且将服务器所发送协议中的第二同步类型转换为终端的第一同步类型。本发明的技术效果在于,通过在终端和服务器之间设置协议转换平台,在终端不支持服务器的同步方式的情况下,由协议转换平台提供伪同步支持。由于终端只需和协议转换平台通信,因此终端和服务器之间的数据同步不再受双方同步类型的限制,同时也能提闻同步效率。


图1是根据本发明的协议转换平台的实施例之一;图2是根据本发明的终端和服务器的数据同步方法实施例之一的流程图。
具体实施例方式以下结合附图对本发明的优选实施例进行说明。为了方便理解,本实施例中选用了业内最常见的SyncML协议来实现本发明。本领域技术人员应当理解,本发明提供的是一种解决方案,在其他类似的协议上也能够实施和应用。实施例一:为实现本发明的目的,突破不同终端和服务器之间对数据同步协议方式的限制,本发明首先提供了一种协议转换平台装置,设置在需要进行数据同步的终端和服务器之间,如图1所示。参照图1,协议转换平台装置包括5个功能模块重定向模块、session管理模块、同步数据管理模块、协议类型管理模块和协议状态管理模块以下详细介绍各模块的功能。1、终端系统:是指请求数据同步的终端,例如手机、掌上电脑、个人计算机等。在实际应用中,手机终端上的某些应用软件,例如通讯录可能需要向号码管家服务器发起通讯录同步请求。2、服务器:是指和终端进行数据同步的同步服务器。由于服务器和终端的类型很多,双方在同步的时候经常受到同步方式的限制,不能选择最佳的同步方式,数据同步的效率很低。3、协议转换平台装置:用于终端和服务器间通过协议转换的方式实现最佳数据同步方式的一种功能性平台,其包括5个模块:重定向模块:主要功能使将终端的数据同步请求由协议转换平台重定向到服务器。具体而言,由于在终端和服务器之间设置了协议转换平台,因此终端发起的数据请求将指向协议转换平台,此时可以认为终端将协议转换平台当做服务器;对服务器而言,则将协议转换平台当做终端。因此,重定向模块需要将终端所发送协议中的目标地址重定向为服务器地址,并且将服务器所发送协议中的服务器地址转换为协议转换平台的地址。Session管理模块,其主要功能使维持整个同步过程中唯一的逻辑关系。该逻辑关系主要包括:验证功能、请求的次数等。具体地,该模块需要在服务器通过终端的数据同步认证请求后,记录服务器身份认证信息,生成本次同步的会话密钥。会话密钥相对于协议转换平台的身份认证信息,在认证成功后,终端将使用会话密钥和协议转换平台通信,而协议转换平台在把数据同步协议重定向到服务器的时候,则需要用服务器的身份认证信息替换会话密钥,这一功能由同步数据管理模块完成。同步数据管理模块,主要功能是改变终端生成的数据内容,并传递给服务器。具体地,是在终端和服务器进行数据同步的过程中用服务器身份认证信息替换终端发来的数据同步请求中的会话密钥。协议类型转换模块,主要功能使伪造终端系统A和终端系统B之间的数据同步类型。具体地,是将终端所发送协议中的第一同步类型转换为服务器指定的第二同步类型,并且将服务器所发送协议中的第二同步类型转换为终端的第一同步类型。同步状态管理模块,用于在终端和服务器进行数据同步的过程中指定数据比较的结果。例如接收服务器的返回的同步数据,和终端发送的同步数据进行比较,比较后指定结果(例如服务器端数据是最新的)。实施例二:如图2所示,是本发明终端和服务器的数据同步方法的流程图。第I步:终端向协议转换平台发起数据同步的认证请求;第2步:协议转换平台将所述认证请求重定向至服务器,并变更协议类型,将所述认证请求中的第一同步类型转换为服务器指定的第二同步类型。在本步骤中,协议转换平台还可以同时创建本次同步的session并保持验证信息及请求次数信息;第3步:服务器通过所述认证请求后,向协议转换平台返回认证结果。此时,协议转换平台接收服务器返回的验证终端有效性请求的信息,同时还可以指定同步状态(如:慢同步中直接返回数据比较的结果);第4步:协议转换平台重定向URL(即目标地址)将请求指向终端,同时将session生成的会话密钥传递给终端。具体操作为:协议转换平台记录认证结果中的服务器身份认证信息,生成本次同步的会话密钥,并将所述认证结果中的认证身份信息、服务器地址和第二同步类型分别替换为会话密钥、协议转换平台和第一同步类型,然后把转换后的认证结果发送给终端;第5步:终端请求可以同步数据。具体地,终端根据所述会话密钥和第一同步类型向协议转换平台发起数据同步请求;第6步:协议转换平台转换协议类型,请求终端系统B同步数据。具体地,协议转换平台将所述数据同步请求重定向至服务器,并将所述数据同步请求中的会话密钥和第一同步类型分别转换为服务器身份认证信息和第二同步类型;第7步:服务器向协议转换平台返回同步数据。在此过程中,服务器是根据自身的第二同步类型对终端进行数据同步;第8步:协议转换平台变更协议类型,返回同步数据给终端;第9步:同步数据结束。至此,一次完整的数据同步过程结束。在同步结束后,协议转换平台将删除在本次同步中建立的session及其中的会话密钥。实施例三:下面以foxmaiI通讯录与通讯录服务器(SnycML server)同步为场景详细说明终端和服务器的数据同步方法,以及终端和服务器之间的协议转换平台。在本方案中(foxmail通讯录同步)中为提高同步的效率,需要使用从服务器端单向刷新终端(foxmail)的通讯录内容,而foxmail本身所支持的SyncML协议仅支持慢同步和双向同步。本发明的协议转换平台和数据同步方法就解决了这个问题。首先,终端(foxmail)发起同步的认证请求,该请求指向协议转换平台,在SyncML协议中的协议头部有记录认证的目标地址(协议转换平台地址),协议体部分包含同步的类型信息(如慢同步201)、同步的数据结构。协议转换平台接收到SyncML的认证信息后,需要变更其中协议头中的认证目标地址、协议体的同步类型,分别转换为sync服务器的地址和服务器端刷新(207)。转换完成后将新的SyncML同步协议发送到sync服务器端。同时,协议转换平台需要创建一个session用来维持整个同步的身份认证信息(包括服务器的身份认证信息和session生成的会话密钥)和连接次数。服务器端在通过认证后,将认证的身份信息、本次同步的类型、认证的结果、服务端的URL包含在SyncML协议的协议体中返回给协议转换平台,协议转换平台在接受到该认证结果后,获取其中的服务器身份认证信息并记载在session中,同时生成会话密钥作为自身的身份认证信息(此处的服务器身份认证信息和会话密钥具有对应关系,在后续的数据同步过程中需要进行转换),在该步骤中需要替换SyncML协议体中的认证身份信息,本次同步的类型,服务端的URL,分别替换为协议转换平台的身份认证信息(sid),慢同步同步类型(201),协议转换平台的URL,转换后的内容将发送给终端。终端在通过身份认证后,根据慢同步类型的要求将发送本地的所有数据到服务端进行比较,该请求发送到协议转换平台。协议转换平台接收到请求后,直接生成同步结果200 (服务器端数据为最新,终端需要更新),包含在SyncML协议的协议体中发送给终端。终端在得到比较结果后,请求开始同步。该请求内容经过协议转换平台后,协议转换平台需要变更协议体中的同步目标地址、身份认证信息,转换为sync服务器端的同步地址、身份认证信息,发送给sync服务器端。sync服务器端接收到同步请求后,将sync服务器端所有的数据存储到SyncML协议中的协议体部分。将同步应答结果发送到协议转换平台,协议转换平台接受到请求后。获取协议头,需要将其中同步目标地址、身份认证信息再转换回来(转换为协议转换平台对应的地址,身份认证信息)。然后将转换结果发送到终端。同步结束,协议转换平台删除第一步中创建的session。
权利要求
1.一种协转换平台装置,其特征在于,包括: 重定向模块,用于将终端所发送协议中的目标地址重定向为服务器地址,并且将服务器所发送协议中的服务器地址转换为协议转换平台的地址; 会话管理模块,用于在服务器通过终端的数据同步认证请求后,记录服务器身份认证信息,生成本次同步的会话密钥; 同步数据管理模块,用于在终端和服务器进行数据同步的过程中用服务器身份认证信息替换终端发来的数据同步请求中的会话密钥; 协议类型转换模块,用于将终端所发送协议中的第一同步类型转换为服务器指定的第二同步类型,并且将服务器所发送协议中的第二同步类型转换为终端的第一同步类型。
2.如权利要求1所述的装置,其特征在于,所述协议为SyncML协议。
3.如权利要求1所述的装置,其特征在于,所述会话管理模块还用于在本次数据同步结束后删除会话密钥。
4.如权利要求1所述的装置,其特征在于,还包括同步状态管理模块,用于在终端和服务器进行数据同步的过程中指定数据比较的结果。
5.一种终端和服务器的数据同步方法,其特征在于,包括以下步骤: 终端向协议转换平台发起数据同步的认证请求; 协议转换平台将所述认证请求重定向至服务器,并将所述认证请求中的第一同步类型转换为服务器指定的第二同步类型; 服务器通过所述认证请求后,向协议转换平台返回认证结果; 协议转换平台记录认证结果中的服务器身份认证信息,生成本次同步的会话密钥,并将所述认证结果中的认证身份信息、服务器地址和第二同步类型分别替换为会话密钥、协议转换平台和第一同步类型,然后把转换后的认证结果发送给终端; 终端根据所述会话密钥和第一同步类型向协议转换平台发起数据同步请求; 协议转换平台将所述数据同步请求重定向至服务器,并将所述数据同步请求中的会话密钥和第一同步类型分别转换为服务器身份认证信息和第二同步类型; 服务器根据第二同步类型对终端进行数据同步。
6.如权利要求5所述的方法,其特征在于,所述终端和服务器之间通过SyncML协议进行数据同步。
7.如权利要求5所述的方法,其特征在于,在终端根据所述会话密钥和第一同步类型向协议转换平台发起数据同步请求的步骤之后,还包括步骤:协议转换平台确认所述会话密钥有效之后再对所述数据同步请求进行重定向。
8.如权利要求5所述的方法,其特征在于,还包括步骤:本次数据同步结束后,所述协议转换平台删除会话密钥。
全文摘要
一种协转换平台装置,包括重定向模块,用于将终端所发送协议中的目标地址重定向为服务器地址,并且将服务器所发送协议中的服务器地址转换为协议转换平台的地址;Session管理模块,用于在服务器通过终端的数据同步认证请求后,记录服务器身份认证信息,生成本次同步的会话密钥;同步数据管理模块,用于在终端和服务器进行数据同步的过程中用服务器身份认证信息替换终端发来的数据同步请求中的会话密钥;协议类型转换模块,用于将终端所发送协议中的第一同步类型转换为服务器指定的第二同步类型,并且将服务器所发送协议中的第二同步类型转换为第一同步类型。本发明使终端和服务器之间的数据同步不再受双方同步类型的限制,并提高了同步效率。
文档编号H04L29/06GK103200146SQ201210000640
公开日2013年7月10日 申请日期2012年1月4日 优先权日2012年1月4日
发明者卢军 申请人:中国移动通信集团安徽有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1