专利名称:数据同步方法和服务器的制作方法
技术领域:
本发明涉及通信技术领域,具体涉及数据同步方法和服务器。
背景技术:
随着通信技术的发展,用户可以随时随地进行信息的接收和发送,常常需
要保持多个设备的数据同步。比如在手机中保存的通讯录,可以和办公室或 家里的PC机或者笔记本保持一致,当其中一个设备上的数据变化时,可以通 过数据更新实现其他设备中的数据做相应的改变。
现有技术中的 一 种设备之间的数据同步方式是采用同步标记语言 (Synchronization Makeup Language, SyncML )实现.SyncML是一套协议集, 它主要包括4个部分SyncML数据同步协议的框架结构、SyncML同步协议、 SyncML表示协i义、SyncML的传输方式。
在SyncML同步协议中定义了在SyncML客户端和SyncML服务器之间消息 的交互过程,同时定义的数据同步类型包括双向同步,客户端发起单向同步, 服务器端发起单向同步及慢同步、服务器通告同步等。
以客户端发起单向同步为例SyncML客户端发送包含客户数据修改信息 的SyncML消息给服务器,服务器根据SyncML消息中的数据同步服务器中存储 的数据,4e/f奮改结果信息回应给SyncML客户端。
当然,数据同步也不仅可以应用于两个设备,也可以应用于多个设备。
基于网页的的分布4受4又(Web-based Distributed Authoring and Versioning, WebDAV)是一套专为解决因特网(Internet)上分布内容的非同步问题的标 准,WebDAV支持数据的锁定和解锁,数据的锁定由客户端发起,服务器在 收到客户端的数据锁定指令后,对相应的数据进行锁定操作,并且在解锁前, 不允许客户端修改该数据。
发明人在对现有技术的研究过程中发现,现有技术对于处于锁定状态的数 据,则不允许客户端进行同步,数据的锁定者如果需要更新该数据,只能先对数据进行解锁,解锁后进行数据更新,然后再触发锁定的过程将数据锁定,流 程复杂,浪费信令和网络资源,同时客户端的操作复杂,用户体验差。
发明内容
本发明实施例提供数据同步方法和服务器,可以简化数据锁定者对其锁定 的数据进行同步的流程,降低客户端操作的复杂度。
本发明实施例提供的一种数据同步方法,包括
接收数据同步请求;所述数据同步请求中包^i青求同步的数据信息;
检查所述数据信息对应保存的数据是否处于锁定状态;若处于锁定状态,
则判断所述数据同步请求的发起者和所述保存的数据的锁定者是否相同,若
是,则接受所述数据同步请求,执行数据同步。
本发明实施例提供的一种数据同步方法,包括 接收数据同步请求;所述数据同步请求中包含请求同步的数据信息; 根据所述请求同步的数据信息对保存的数据进行同步; 若所述保存的数据处于锁定状态,则在同步完成后,向所述凄t据的锁定者 发送数据被更新的消息。
本发明实施例提供的一种服务器,包括
同步请求接收单元,用于接收数据同步请求;所述数据同步请求中包^i青 求同步的数据信息;
同步控制单元,用于在同步请求接收单元收到数据同步请求后,检查所述
数据信息对应保存的数据是否处于锁定状态;若处于锁定状态,则判断所述数 据同步请求的发起者和所述保存的数据的锁定者是否相同,若是,则通知同步 单元接受所述数据同步请求,执行数据同步;若否,则拒绝所述同步请求。
同步单元,用于接收同步控制单元的通知,执行数据同步。
本发明实施例提供的一种服务器,包括
同步请求接收单元,用于接收数据同步请求;所述数据同步请求中包^i青 求同步的数据信息;
同步处理单元,用于根据所述请求同步的数据信息对保存的数据进行同 步;若所述保存的数据处于锁定状态,则在同步完成后,通知更新消息发送单元向数据的锁定者发送更新消息;
更新消息发送单元,用于接收同步处理单元的通知,向所述数据的锁定者 发送数据被更新的消息。
本发明实施例方法,对于处于锁定状态的数据,当数据同步请求的发起者 和所述保存的数据的锁定者是否相同时,则允许用户的数据同步请求,执行数 据同步,相对于现有技术中,先解锁,再同步,然后再锁定的过程,可以节约 信令流程,降低网络资源消耗,并且客户端操作简单,无需进行解锁和再锁定 的操作,即保护了数据的安全性,同时又提高了用户体验。
图l是本发明实施例一数据同步方法的流程图; 图2是本发明实施例二数据同步方法的流程图; 图3是本发明实施例三数据同步方法的流程图; 图4是本发明实施例四服务器的结构示意图; 图5是本发明实施例五服务器的结构示意图; 图6是本发明实施例六服务器的结构示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是 全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造 性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种数据同步方法,本发明实施例还提供相应的服务 器。以下分别进行详细说明。
实施例一、 一种数据同步方法,流程如图l所示,包括 Al,接收数据同步请求;所述数据同步请求中包^*求同步的数据信息; 本发明实施例中,同步请求中包含的请求同步的数据信息可以是用户唯一 标识数据的多种信息,如数据在网络上的统一资源定位符(Uniform Resource Locator, URL )、数据的标识等。具体的数据信息表现形式不构成对本发明的限制。
A2,检查所述数据信息对应保存的数据是否处于锁定状态;若是,则继 续步骤A3;若否,则继续步骤A4;
A3,判断所述数据同步请求的发起者和所述保存的数据的锁定者是否相 同,若是,则继续步骤A4;若否,则继续步骤A5;
A4,接受所述数据同步请求,执行数据同步;
A5,拒绝所述同步请求。
本发明实施例一,在拒绝同步请求之后,还可以包括向所述数据同步请 求的发起者返回数据被锁定的错误代码,用于通知同步请求的发起者本次同步 被拒绝的原因为数据被锁定,也可以返回权限不允许进行同步的错误代码。
本发明实施例一中,对于处于锁定状态的数据,当数据同步请求的发起者 和所述保存的数据的锁定者相同时,则允许用户的数据同步请求,执行数据同 步,相对于现有技术中,先解锁,再同步,然后再锁定的过程,可以节约信令 流程,降低网络资源消耗,并且客户端操作筒单,无需进行解锁和再锁定的操 作,即保护了数据的安全性,同时又提升了用户体验。
实施例二、 一种数据同步方法,流程如图2所示,包括
Bl,接收数据同步请求;所述数据同步请求中包含请求同步的数据信息;
B2,根据所述请求同步的数据信息对保存的数据进行同步;
本实施例,步骤B2之前可以获取数据锁定标识信息;并根据数据锁定标
识信息的值判断是否开启了数据锁定的同步模式,若是,才执行B2步骤。具
体的参照下属实施例三步骤C3和步骤C4部分的描述。
具体获取数据锁定信息的方式可以采取,获取服务器保存的数据锁定标识
信息;或者,获取所述数据同步请求中的数据锁定标识信息。
B3,判断所述保存的数据处于锁定状态,若是,则继续步骤B4;若否,
则继续结束本流程。
B4,在同步完成后,向所述数据的锁定者发送数据被更新的消息。 所述数据被更新的消息可以包含被更新数据的标识和更新者身份标识和
更新时间等信息。数据的锁定者收到该更新消息后,则可以得知当前服务器保存的数据的状态。
本实施例中,向数据的锁定者发送数据被更新的消息之前可以先判断所述 数据同步请求的发起者和所述保存的数据的锁定者是否相同,若不同,则继续
所述B4向数据的锁定者发送数据被更新的消息的步骤,若相同,则不发更新 消息给数据的锁定者,基于方法的实现场景,对于锁定者自行进行数据同步, 则没有必要进行更新的通知。
实施例三、 一种数据同步方法,流程如图3所示,包括 Cl,接收数据同步请求;所述数据同步请求中包含请求同步的数据信息; C2,检查所述数据信息对应保存的数据是否处于锁定状态;若是,则继 续步骤C3;若否,则继续步骤C6;
C3,获取数据锁定标识信息并继续步骤C4;
数据锁定标识信息的值用于标识是否允许在数据锁定的情况下,进行数据 同步操作。
具体获取数据锁定标识信息的方式可以为 方式一、获取服务器保存的数据锁定标识信息;
例如可以在服务器上设置一个锁定信息标志位作为数据锁定信息,标识 位的值为l,则不允许对锁定数据进行同步,标志位的值为O,则允许对锁定数 据进行同步。
而数据锁定信息可以是为整个服务器内所有数据设定的,也可以是为特定 的某一个数据设定的,用户可以通过与服务器的交互,修改数据锁定信息的值, 以实现不同状态的变更。
方式二、获取所述数据同步请求中的数据锁定标识信息。 本方式中,请求同步数据的用户可以通过在同步请求中携带数据锁定标识 信息,以指示服务器做不同的处理。当然,在本发明实施例方法运行之前,服 务器和用户终端之间会有接入、权限认证等过程。本方式一般应用于请求数据 同步的用户具有对服务器数据较高的操作权限的场景(数据操作权限高于数据 的锁定者)。
C4,根据所述数据锁定标识信息判断是否开启了数据锁定的同步模式,若否,则继续步骤C5,若是则继续步骤C8;
如果锁定标识信息的值指示开启数据锁定的同步^f莫式,则允许在数据锁定 的情况下,进行数据同步操作。如果锁定标识信息的值指示不开启数据锁定的 同步模式,则不允许在数据锁定的情况下,进行数据的同步操作。
识信息可以采用步骤C3中的方式一或方式二获取。
可以理解,本实施例中,也可以在步骤C3中,同时获取服务器保存的数 据锁定标识信息和数据同步请求中的数据锁定标识信息,而当其中一个数据锁 定标识信息指示不开启数据锁定的同步模式,则确认没有开启数据锁定同步模 式,并继续步骤C5。
C5,判断所述数据同步请求的发起者和所述保存的数据的锁定者是否相 同,若是,则继续步骤C6;若否,则继续步骤C7;
C6,接受所述数据同步请求,执行数据同步C7,拒绝所述同步请求。
C8,接受所述数据同步请求,执行数据同步,并向所述数据的锁定者发 送数据被更新的消息。所述数据被更新的消息可以包含被更新数据的标识和 更新者身份标识和更新时间等信息。数据的锁定者收到该更新消息后,则可以 得知当前服务器保存的数据的状态。
本发明实施例三,在拒绝同步请求之后,还可以包括向所述数据同步请 求的发起者返回数据被锁定的错误代码,用于通知同步请求的发起者本次同步 被拒绝的原因为数据被锁定,不允许进行数据同步操作。也可以返回权限不允 许进行同步的错-i吴代码。
下面以具体的应用场景为例,对本发明实施例三提供的数据同步方法进行 描述。
应用例一、
现有融合消息业务用户Alice和Tony, Alice在服务器端设置数据锁定标 识信息的值(这里的数据锁定标识信息采用一个标志位实现,用LFlag表示, 以下应用例二至五采用相同的表示方式)为1,即LFlag二l,表明需要考虑数据锁定。Alice在服务器CPM—Content_Server上储存了自己和好友Tony外出 旅游的照片和视频文件,而且她把这些媒体资源共享给了 Tony,两人都可以 对这些文件进行编辑处理。文件如下所示
照片文件视频文件
Alice001.jpgAlice001.mpg
Alice002.jpgAlice002.mpg
Tcmy001.jpgTony001.mpg
Tony002.jpgTony002.mpg
Both001.jpgBoth001.mpg
某天Alice打开了服务器上的文件Both001.jpg,打算对其进行一些编辑处 理,并在服务器上将Both001.jpg文件设置为锁定状态。过了一段时间,Tony 在自己的PC机上对Both001.jpg文件进行了一些编辑,感觉效果不错,因此 打算把它同步到服务器上,因此他用自己的融合消息业务客户端发出了同步请 求,请求同步Both001.jpg文件。详细过程如下所示 客户端发送请求如下 <CPM>
<Source>Tony</Source> <Target>CPM—Content_Server</Target> <Sync>
<Item> BothOOl .jpg </Item> </Sync> </CPM>
服务器接收到上述请求后,首先检查LFlag标志位,发现其取值为"1", 也就是说需要考虑数据锁定,然后服务器检查Both001.jpg文件的状态,发现 其被Alice锁定,也就说数据锁定者与同步发起者不是同一个用户,因此拒绝 进行同步搡作,并返回"4xx"代码,用以标示数据被锁定,无法完成同步操作, 3p下所示
<CPM>
<Source> CPM Content Server </ Source ><Target> Tony </Target> <Sync>
<Status>4xx: Data item is locked, Can't be Sync </Status〉 </Sync> </CPM>
客户端接收到该错误代码4xx后,将相应同步操作标记为未上传的操作。 应用例二、
前提条件同应用例 一 ,只不过Alice没有在服务器上设置LFlag标志位, 但是Tony在自己的客户端设定了需要考虑数据锁定的标志位LFlag=l 。
某天Alice打开了服务器上的文件Both001.jpg,打算对其进行一些编辑处 理,Both001.jpg文件处于锁定状态。过了一4爻时间,Tony在自己的PC才几上 对Both001.jpg文件进行了一些编辑,感觉效果不错,因此打算把它同步到服 务器上,因此他用自己的融合消息业务客户端发出了同步请求,请求同步 BothOOl .jpg文件,由于担心修改冲突,在发送消息中设定标志位 LockIgn="true",告知服务器需要考虑数据锁定。详细过程如下所示 客户端发送请求如下 <CPM>
<Source>Tony</Source> <Target>CPM—Content ServeK/Target> <Sync>
<Item> BothOOl .jpg </Item> </Sync>
<LockIgn> true </LockIgn> </CPM>
服务器接收到上述请求后,通过解析请求,发现包含了数据锁定标识信息 (本发明应用例中用Locklgn标志位表示),取值为"1",也就是说需要考虑 数据锁定,然后服务器检查Both001.jpg文件的状态,发现其被Alice锁定, 也就说数据锁定者与同步发起者不是同一个用户,因此拒绝进行同步操作,并 返回"4xx"代码,用以标示数据被锁定,无法完成同步操作,如下所示<CPM>
<Source> CPM—Content—Server </ Source >
<Target> Tony </Target>
<Sync>
<Status>4xx: Data item is locked, Can't be Sync </Status> </Sync> </CPM>
客户端接收到该错误代码4xx后,将相应同步操作标记为未上传的操作。 应用例三、
前提条件同应用例一。某天Alice打算对照片Both001.jpg进行一些编辑 处理,为了方便处理,她把Both001.jpg文件下载到了自己的PC上,另外为 了避免Tony也对其进行编辑,从而造成修改冲突,她锁定了服务器上的该文 件。过了一段时间,Alice完成了编辑工作,感觉效果不错,因此打算把它同 步到服务器上,因此她用自己的融合消息业务客户端发出了同步请求,请求同 步BothOO 1 .jpg文件。详细过程如下所示 客户端发送请求如下 <CPM>
<Source>Alice</Source> <Target>CPM—Content—Server</Target> <Sync>
<Item> BothOO 1 .jpg </Item> </Sync> </CPM>
服务器接收到上述请求后,首先检查LFlag标志位,发现其取值为"1", 也就是说需要考虑数据锁定,然后服务器检查Both001.jpg文件的状态,发现 其被Alice锁定,也就说数据锁定者与同步发起者是同一个用户,因此进行同 步操作,同步成功后返回"2xx"代码,用以标示同步操作成功完成,如下所示
<CPM>
<Source> CPM Content Server </ Source ><Target> Alice </Target> <Sync>
<Status>2xx:Sync Success </Status> </Sync> </CPM>
应用例四、仅在服务器端设置数据锁定标志位,请求者非锁定者 前提条件同应用例一,只不过Alice考虑到这些文件自己都有备份,因此
在服务器端设置是否忽略数据锁定的标志位LFlag=0,表明不需要考虑数据锁定。
某天Alice打算对文件Both001.jpg进行一些编辑处理,为了方^更处理, 她把Both001.jpg文件下载到了自己的PC上,另外为了避免Tony也对其进行 编辑,从而造成修改冲突,她锁定了服务器上的该文件,后来由于其它事情, 她的编辑工作迟迟没有展开。过了一段时间,Tony在自己的PC机上对 Both001.jpg文件进行了一些编辑,感觉效果不错,因此打算把它同步到服务 器上,因此他用自己的融合消息业务客户端发出了同步请求,请求同步 BothOO 1 .jpg文4牛。i羊细过禾呈^口下声斤示 客户端发送请求如下 <CPM>
<Source>Tony</Source> <Target>CPM_Content—Server</Target> <Sync>
<Item> BothOOl .jpg </Item> </Sync> </CPM>
服务器接收到上述请求后,首先检查LFlag标志位,发现其取值为"0", 也就是说不需要考虑数据锁定,然后服务器检查Both001.jpg文件的状态,发 现其被Alice锁定,也就说数据锁定者与同步发起者不是同一个用户,服务器 根据LFlag的指示仍然会进行数据同步操作,操作成功后服务器需要发送同步 成功的消息给同步发起者Tony,另外还会发送通知信息给数据锁定者Alice,通知信息要包括数据修改人Tony,数据修改的时间为20090203T121111Z,修 改后文件Both001.jpg长度变为2351120Bytes等信息。
发送给Tony的指示数据同步成功的消息如下所示
<CPM>
<Source> CPM_Content_Server </ Source >
<Target> Tony</Target>
<Sync>
<Status>2xx:Sync Success </Status> </Sync> </CPM>
发送给Alice的信息如下所示 <CPM>
<Source> CPM—Content—Server </ Source >
<Target> Alice</Target>
<Change>
<Editor>Tony </Editor>
<Time>20090203T121111 Z</Time>
<Item> BothOOl .jpg </Item>
<Itemlength> 2351120Bytes</Itemlength> </Change> </CPM> 应用例五、
前提条件同应用例一,只不过Alice考虑到这些文件自己都有备份,没有 在服务器端设置LFlag标志位。
某天Alice打算对文件Both001.jpg进行一些编辑处理,为了方i"更处理, 她把BothOOl .jpg文件下载到了自己的PC上,另外为了避免Tony也对其进行 编辑,从而造成修改冲突,她锁定了服务器上的该文件,后来由于其它事情, 她的编辑工作迟迟没有展开。过了一段时间,Tony在自己的PC机上对 Both001.jpg文件进行了一些编辑,感觉效果不错,因此打算把它同步到服务器上,因此他用自己的融合消息业务客户端发出了同步请求,请求同步
Both001 .jpg文件,由于他已经和Alice就修改的事情啦支过沟通,因此在发送的 消息中使用标志Locklgr^ "false"来告诉服务器不用考虑数据锁定。详细过程
客户端发送请求如下 <CPM>
<Source>Tony</Source>
<Target>CPM—Content—Server</Target>
<Sync>
<Item> BothOOl .jpg </Item>
</Sync>
<LockIgn> false </LockIgn> </CPM>
服务器接收到上述请求后,通过解析请求,发现包含了 Locklgn标志位, 取值为"false",也就是说不需要考虑数据锁定,然后服务器检查Both001.jpg 文件的状态,发现其被Alice锁定,也就说数据锁定者与同步发起者不是同一 个用户,服务器根据Locklgn的指示仍然会进行数据同步操作。假设由于其它 原因,同步操作不成功,那么这时候服务器会发消息告知Tony,同步失败, 另外由于服务器上的Both001.jpg文件没什么变化,因此并不需要发送消息告 知Alice 。
发送给Tony的指示数据同步失败的消息如下所示 <CPM>
<Source> CPM—Content—Server </ Source >
<Target> Tony</Target>
<Sync>
<Status>5xx:Sync Failure </Status> </Sync> </CPM>或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计
算机可读存储介质中,存储介质可以包括ROM、 RAM、磁盘或光盘等。 实施例四、 一种服务器,结构示意图如图4所示,包括 同步请求接收单元410,用于接收数据同步请求;所述数据同步请求中包 含请求同步的凝:据信息;
同步控制单元420,用于在同步请求接收单元410收到数据同步请求后,检 查所述数据信息对应保存的数据是否处于锁定状态;若处于锁定状态,则判断 所述数据同步请求的发起者和所述保存的数据的锁定者是否相同,若是,则通 知同步单元接受所述数据同步请求,执行数据同步;若否,则拒绝所述同步请求。
同步单元430,用于接收同步控制单元420的通知,执行数据同步。 实施例五, 一种服务器,结构示意图如图5所示,包括 同步请求接收单元510,用于接收数据同步请求;所述数据同步请求中包 含请求同步的数据信息;
同步控制单元520,用于在同步请求接收单元410收到数据同步请求后,检 查所述数据信息对应保存的数据是否处于锁定状态;若处于锁定状态,则判断 所述数据同步请求的发起者和所述保存的数据的锁定者是否相同,若是,则通 知同步单元530接受所述数据同步请求,执行数据同步;若否,则拒绝所述同 步请求。
同步单元530,用于接收同步控制单元520的通知,4丸行数据同步。
消息反馈单元540,用于在所述同步控制单元520拒绝数据同步请求之后,
向所述数据同步请求的发起者返回数据被锁定的错误代码、或权限不允许的错
误代码。
锁定标识获取单元550,用于获取数据锁定标识信息;
所述同步控制单元520可以包括才莫式控制单元521和冲全查单元522;
模式控制单元521 ,用于根据所述锁定标识获取单元550根据获取的数据锁
定标识信息的值判断是否开启了数据锁定的同步模式,若是,直接通知所述同
步单元接受所述数据同步请求,执行数据同步;所述检查单元522,用于在模式控制单元521判断未开启数据锁定的同步模 式时,检查所述数据信息对应保存的数据是否处于锁定状态;若处于锁定状态, 则判断所述数据同步请求的发起者和所述保存的数据的锁定者是否相同,若 是,则通知同步单元530接受所述数据同步请求,执行数据同步;若否,则拒 绝所述同步请求。
实施例六、 一种服务器,结构示意图如图6所示,包括
同步请求接收单元610,用于接收数据同步请求;所述数据同步请求中包 含请求同步的数据信息;
同步处理单元620,用于根据通过请求接收单元610接收的请求同步的数据 信息对保存的数据进行同步;若所述保存的数据处于锁定状态,则在同步完成 后,通知更新消息发送单元向数据的锁定者发送更新消息;
更新消息发送单元630于接收同步处理单元620的通知,向所述数据的锁定 者发送数据被更新的消息。
可以理解,本实施例中服务器还可以包括
锁定标识获取单元640,用于获取数据锁定标识信息;
模式选择单元650,用于在同步处理单元进行数据同步前,根据锁定标识 信息获取单元640获取的数据锁定标识信息的值判断是否开启了数据锁定的同 步模式,若是,则通知同步处理单元620据同步。
本发明实施例提供的服务器可以运行的方法,可参考上文对本发明提供的 提供多个方法实施例和应用例的描述,在此不再重复。
以上对本发明实施例所提供的数据同步方法和服务器进行了详细介绍,本
明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技 术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处, 综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1、一种数据同步方法,其特征在于,包括接收数据同步请求;所述数据同步请求中包含请求同步的数据信息;检查所述数据信息对应保存的数据是否处于锁定状态;若处于锁定状态,则判断所述数据同步请求的发起者和所述保存的数据的锁定者是否相同,若是,则接受所述数据同步请求,执行数据同步。
2、 如权利要求l所述的方法,其特征在于,所述拒绝同步请求之后还包括 向所述数据同步请求的发起者返回数据被锁定的错误代码或权限不允许的错 误代码。
3、 如权利要求1或2所述的数据同步方法,其特征在于,若所述数据处于 锁定状态,则在判断所述数据同步请求的发起者和所述保存的数据的锁定者是 否相同之前还包括获取数据锁定标识信息;才艮据所述数据锁定标识信息判断是否开启了数据锁定的同步模式,若是, 则接受所述数据同步请求,执行数据同步,并向所述数据的锁定者发送数据被 更新的消息;若否,则继续所述判断数据同步请求的发起者和所述保存的数据 的锁定者是否相同步骤。
4、 如权利要求3所述的方法,其特征在于,向所述lt据的锁定者发送数据 被更新的消息之前包括判断所述数据同步请求的发起者和所述保存的数据的锁定者是否相同,若 否,则继续所述向数据的锁定者发送数据被更新的消息的步骤。
5、 如权利要求3所述的方法,其特征在于,所述数据被更新的消息包含:被更新数据的标识和更新者身份标识和更新时间中的至少一个。
6、 如权利要求3所述的方法,其特征在于,所述获取数据锁定标识信息包括获取保存的数据锁定标识信息; 或者,获取所述数据同步请求中的数据锁定标识信息。
7、 一种数据同步方法,其特征在于,包括接收数据同步请求;所述数据同步请求中包含请求同步的数据信息; 根据所述请求同步的数据信息对保存的数据进行同步; 若所述保存的数据处于锁定状态,则在同步完成后,向所述数据的锁定者 发送数据被更新的消息。
8、 如权利要求7所述的方法,其特征在于,所述向数据的锁定者发送数据 被更新的消息之前包括判断所述数据同步请求的发起者和所述保存的数据的锁定者是否相同,若 否,则继续所述向数据的锁定者发送数据被更新的消息的步骤。
9、 如权利要求8所述的方法,其特征在于,所述数据被更新的消息包含: 被更新数据的标识和更新者身份标识和更新时间中的至少一个。
10、 如权利要求7至9任意一项所述的方法,其特征在于,根据所述请求同 步的数据信息对保存的数据进行同步之前还包括获取数据锁定标识信息;才艮据数据锁定标识信息的值判断是否开启了数据锁定的同步模式,若是, 则继续所述根据所述请求同步的数据信息对保存的数据进行同步的步骤。
11、 如权利要求10所述的方法,其特征在于,所述获取数据锁定标识信息 包括获取保存的数据锁定标识信息; 或者,获取所述数据同步请求中的数据锁定标识信息。
12、 一种服务器,其特征在于,包括同步请求接收单元,用于接收数据同步请求;所述数据同步请求中包含请 求同步的数据信息;同步控制单元,用于在同步请求接收单元收到数据同步请求后,检查所述 数据信息对应保存的数据是否处于锁定状态;若处于锁定状态,则判断所述数 据同步请求的发起者和所述保存的数据的锁定者是否相同,若是,则通知同步 单元接受所述数据同步请求,执行数据同步;若否,则拒绝所述同步请求。同步单元,用于接收同步控制单元的通知,执行数据同步。
13、 如权利要求12所述的服务器,其特征在于,还包括 消息反馈单元,在所述同步控制单元拒绝数据同步请求之后,向所述数据同步请求的发起者返回数据被锁定的错误代码或权限不允许的错误代码。
14、 如权利要求12所述的服务器,其特征在于,还包括 锁定标识获取单元,用于获取数据锁定标识信息; 所述同步控制单元包括模式控制单元和检查单元; 模式控制单元,用于根据所述锁定标识获取单元根据获取的数据锁定标识信息的值判断是否开启了数据锁定的同步模式,若是,直接通知所述同步单元 接受所述数据同步请求,执行数据同步;所述检查单元,用于在模式控制单元判断未开启数据锁定的同步模式时, 检查所述数据信息对应保存的数据是否处于锁定状态;若处于锁定状态,则判 断所述数据同步请求的发起者和所述保存的数据的锁定者是否相同,若是,则 通知同步单元接受所述数据同步请求,执行数据同步;若否,则拒绝所述同步请求。
15、 一种服务器,其特征在于,包括同步请求接收单元,用于接收数据同步请求;所述数据同步请求中包含请 求同步的数据信息;同步处理单元,用于根据所述请求同步的数据信息对保存的数据进行同 步;若所述保存的数据处于锁定状态,则在同步完成后,通知更新消息发送单 元向凄t据的锁定者发送更新消息;更新消息发送单元,用于接收同步处理单元的通知,向所述数据的锁定者 发送数据被更新的消息。
16、 如权利要求15所述的服务器,其特征在于,还包括 锁定标识获取单元,用于获取数据锁定标识信息;模式选择单元,用于在同步处理单元进行数据同步前,根据数据锁定标识 信息的值判断是否开启了数据锁定的同步模式,若是,则通知同步处理单元进 行数据同步。
全文摘要
本发明公开了数据同步方法和服务器,本发明实施例方法,对于处于锁定状态的数据,当数据同步请求的发起者和所述保存的数据的锁定者是否相同时,则允许用户的数据同步请求,执行数据同步,相对于现有技术中,先解锁,再同步,然后再锁定的过程,可以节约信令流程,降低网络资源消耗,并且客户端操作简单,无需进行解锁和再锁定的操作,既保护了数据的安全性,同时又提高了用户体验。
文档编号H04L29/06GK101515935SQ200910119500
公开日2009年8月26日 申请日期2009年3月17日 优先权日2009年3月17日
发明者刘海涛, 常新苗, 李克鹏, 雷 谢 申请人:深圳华为通信技术有限公司