CN101515935A - 数据同步方法和服务器 - Google Patents
数据同步方法和服务器 Download PDFInfo
- Publication number
- CN101515935A CN101515935A CN 200910119500 CN200910119500A CN101515935A CN 101515935 A CN101515935 A CN 101515935A CN 200910119500 CN200910119500 CN 200910119500 CN 200910119500 A CN200910119500 A CN 200910119500A CN 101515935 A CN101515935 A CN 101515935A
- Authority
- CN
- China
- Prior art keywords
- data
- synchronization request
- request
- message
- synchronization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了数据同步方法和服务器,本发明实施例方法,对于处于锁定状态的数据,当数据同步请求的发起者和所述保存的数据的锁定者是否相同时,则允许用户的数据同步请求,执行数据同步,相对于现有技术中,先解锁,再同步,然后再锁定的过程,可以节约信令流程,降低网络资源消耗,并且客户端操作简单,无需进行解锁和再锁定的操作,既保护了数据的安全性,同时又提高了用户体验。
Description
技术领域
本发明涉及通信技术领域,具体涉及数据同步方法和服务器。
背景技术
随着通信技术的发展,用户可以随时随地进行信息的接收和发送,常常需要保持多个设备的数据同步。比如:在手机中保存的通讯录,可以和办公室或家里的PC机或者笔记本保持一致,当其中一个设备上的数据变化时,可以通过数据更新实现其他设备中的数据做相应的改变。
现有技术中的一种设备之间的数据同步方式是:采用同步标记语言(Synchronization Makeup Language,SyncML)实现.SyncML是一套协议集,它主要包括4个部分:SyncML数据同步协议的框架结构、SyncML同步协议、SyncML表示协议、SyncML的传输方式。
在SyncML同步协议中定义了在SyncML客户端和SyncML服务器之间消息的交互过程,同时定义的数据同步类型包括双向同步,客户端发起单向同步,服务器端发起单向同步及慢同步、服务器通告同步等。
以客户端发起单向同步为例:SyncML客户端发送包含客户数据修改信息的SyncML消息给服务器,服务器根据SyncML消息中的数据同步服务器中存储的数据,把修改结果信息回应给SyncML客户端。
当然,数据同步也不仅可以应用于两个设备,也可以应用于多个设备。
基于网页的的分布授权(Web-based Distributed Authoring and Versioning,WebDAV)是一套专为解决因特网(Internet)上分布内容的非同步问题的标准,WebDAV支持数据的锁定和解锁,数据的锁定由客户端发起,服务器在收到客户端的数据锁定指令后,对相应的数据进行锁定操作,并且在解锁前,不允许客户端修改该数据。
发明人在对现有技术的研究过程中发现,现有技术对于处于锁定状态的数据,则不允许客户端进行同步,数据的锁定者如果需要更新该数据,只能先对数据进行解锁,解锁后进行数据更新,然后再触发锁定的过程将数据锁定,流程复杂,浪费信令和网络资源,同时客户端的操作复杂,用户体验差。
发明内容
本发明实施例提供数据同步方法和服务器,可以简化数据锁定者对其锁定的数据进行同步的流程,降低客户端操作的复杂度。
本发明实施例提供的一种数据同步方法,包括:
接收数据同步请求;所述数据同步请求中包含请求同步的数据信息;
检查所述数据信息对应保存的数据是否处于锁定状态;若处于锁定状态,则判断所述数据同步请求的发起者和所述保存的数据的锁定者是否相同,若是,则接受所述数据同步请求,执行数据同步。
本发明实施例提供的一种数据同步方法,包括:
接收数据同步请求;所述数据同步请求中包含请求同步的数据信息;
根据所述请求同步的数据信息对保存的数据进行同步;
若所述保存的数据处于锁定状态,则在同步完成后,向所述数据的锁定者发送数据被更新的消息。
本发明实施例提供的一种服务器,包括:
同步请求接收单元,用于接收数据同步请求;所述数据同步请求中包含请求同步的数据信息;
同步控制单元,用于在同步请求接收单元收到数据同步请求后,检查所述数据信息对应保存的数据是否处于锁定状态;若处于锁定状态,则判断所述数据同步请求的发起者和所述保存的数据的锁定者是否相同,若是,则通知同步单元接受所述数据同步请求,执行数据同步;若否,则拒绝所述同步请求。
同步单元,用于接收同步控制单元的通知,执行数据同步。
本发明实施例提供的一种服务器,包括:
同步请求接收单元,用于接收数据同步请求;所述数据同步请求中包含请求同步的数据信息;
同步处理单元,用于根据所述请求同步的数据信息对保存的数据进行同步;若所述保存的数据处于锁定状态,则在同步完成后,通知更新消息发送单元向数据的锁定者发送更新消息;
更新消息发送单元,用于接收同步处理单元的通知,向所述数据的锁定者发送数据被更新的消息。
本发明实施例方法,对于处于锁定状态的数据,当数据同步请求的发起者和所述保存的数据的锁定者是否相同时,则允许用户的数据同步请求,执行数据同步,相对于现有技术中,先解锁,再同步,然后再锁定的过程,可以节约信令流程,降低网络资源消耗,并且客户端操作简单,无需进行解锁和再锁定的操作,即保护了数据的安全性,同时又提高了用户体验。
附图说明
图1是本发明实施例一数据同步方法的流程图;
图2是本发明实施例二数据同步方法的流程图;
图3是本发明实施例三数据同步方法的流程图;
图4是本发明实施例四服务器的结构示意图;
图5是本发明实施例五服务器的结构示意图;
图6是本发明实施例六服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种数据同步方法,本发明实施例还提供相应的服务器。以下分别进行详细说明。
实施例一、一种数据同步方法,流程如图1所示,包括:
A1,接收数据同步请求;所述数据同步请求中包含请求同步的数据信息;
本发明实施例中,同步请求中包含的请求同步的数据信息可以是用户唯一标识数据的多种信息,如数据在网络上的统一资源定位符(Uniform ResourceLocator,URL)、数据的标识等。具体的数据信息表现形式不构成对本发明的限制。
A2,检查所述数据信息对应保存的数据是否处于锁定状态;若是,则继续步骤A3;若否,则继续步骤A4;
A3,判断所述数据同步请求的发起者和所述保存的数据的锁定者是否相同,若是,则继续步骤A4;若否,则继续步骤A5;
A4,接受所述数据同步请求,执行数据同步;
A5,拒绝所述同步请求。
本发明实施例一,在拒绝同步请求之后,还可以包括:向所述数据同步请求的发起者返回数据被锁定的错误代码,用于通知同步请求的发起者本次同步被拒绝的原因为数据被锁定,也可以返回权限不允许进行同步的错误代码。
本发明实施例一中,对于处于锁定状态的数据,当数据同步请求的发起者和所述保存的数据的锁定者相同时,则允许用户的数据同步请求,执行数据同步,相对于现有技术中,先解锁,再同步,然后再锁定的过程,可以节约信令流程,降低网络资源消耗,并且客户端操作简单,无需进行解锁和再锁定的操作,即保护了数据的安全性,同时又提升了用户体验。
实施例二、一种数据同步方法,流程如图2所示,包括:
B1,接收数据同步请求;所述数据同步请求中包含请求同步的数据信息;
B2,根据所述请求同步的数据信息对保存的数据进行同步;
本实施例,步骤B2之前可以获取数据锁定标识信息;并根据数据锁定标识信息的值判断是否开启了数据锁定的同步模式,若是,才执行B2步骤。具体的参照下属实施例三步骤C3和步骤C4部分的描述。
具体获取数据锁定信息的方式可以采取,获取服务器保存的数据锁定标识信息;或者,获取所述数据同步请求中的数据锁定标识信息。
B3,判断所述保存的数据处于锁定状态,若是,则继续步骤B4;若否,则继续结束本流程。
B4,在同步完成后,向所述数据的锁定者发送数据被更新的消息。
所述数据被更新的消息可以包含:被更新数据的标识和更新者身份标识和更新时间等信息。数据的锁定者收到该更新消息后,则可以得知当前服务器保存的数据的状态。
本实施例中,向数据的锁定者发送数据被更新的消息之前可以先判断所述数据同步请求的发起者和所述保存的数据的锁定者是否相同,若不同,则继续所述B4向数据的锁定者发送数据被更新的消息的步骤,若相同,则不发更新消息给数据的锁定者,基于方法的实现场景,对于锁定者自行进行数据同步,则没有必要进行更新的通知。
实施例三、一种数据同步方法,流程如图3所示,包括:
C1,接收数据同步请求;所述数据同步请求中包含请求同步的数据信息;
C2,检查所述数据信息对应保存的数据是否处于锁定状态;若是,则继续步骤C3;若否,则继续步骤C6;
C3,获取数据锁定标识信息并继续步骤C4;
数据锁定标识信息的值用于标识是否允许在数据锁定的情况下,进行数据同步操作。
具体获取数据锁定标识信息的方式可以为:
方式一、获取服务器保存的数据锁定标识信息;
例如:可以在服务器上设置一个锁定信息标志位作为数据锁定信息,标识位的值为1,则不允许对锁定数据进行同步,标志位的值为0,则允许对锁定数据进行同步。
而数据锁定信息可以是为整个服务器内所有数据设定的,也可以是为特定的某一个数据设定的,用户可以通过与服务器的交互,修改数据锁定信息的值,以实现不同状态的变更。
方式二、获取所述数据同步请求中的数据锁定标识信息。
本方式中,请求同步数据的用户可以通过在同步请求中携带数据锁定标识信息,以指示服务器做不同的处理。当然,在本发明实施例方法运行之前,服务器和用户终端之间会有接入、权限认证等过程。本方式一般应用于请求数据同步的用户具有对服务器数据较高的操作权限的场景(数据操作权限高于数据的锁定者)。
C4,根据所述数据锁定标识信息判断是否开启了数据锁定的同步模式,若否,则继续步骤C5,若是则继续步骤C8;
如果锁定标识信息的值指示开启数据锁定的同步模式,则允许在数据锁定的情况下,进行数据同步操作。如果锁定标识信息的值指示不开启数据锁定的同步模式,则不允许在数据锁定的情况下,进行数据的同步操作。
本发明实施例中用于判断是否开启了数据锁定的同步模式的数据锁定标识信息可以采用步骤C3中的方式一或方式二获取。
可以理解,本实施例中,也可以在步骤C3中,同时获取服务器保存的数据锁定标识信息和数据同步请求中的数据锁定标识信息,而当其中一个数据锁定标识信息指示不开启数据锁定的同步模式,则确认没有开启数据锁定同步模式,并继续步骤C5。
C5,判断所述数据同步请求的发起者和所述保存的数据的锁定者是否相同,若是,则继续步骤C6;若否,则继续步骤C7;
C6,接受所述数据同步请求,执行数据同步;
C7,拒绝所述同步请求。
C8,接受所述数据同步请求,执行数据同步,并向所述数据的锁定者发送数据被更新的消息。所述数据被更新的消息可以包含:被更新数据的标识和更新者身份标识和更新时间等信息。数据的锁定者收到该更新消息后,则可以得知当前服务器保存的数据的状态。
本发明实施例三,在拒绝同步请求之后,还可以包括:向所述数据同步请求的发起者返回数据被锁定的错误代码,用于通知同步请求的发起者本次同步被拒绝的原因为数据被锁定,不允许进行数据同步操作。也可以返回权限不允许进行同步的错误代码。
下面以具体的应用场景为例,对本发明实施例三提供的数据同步方法进行描述。
应用例一、
现有融合消息业务用户Alice和Tony,Alice在服务器端设置数据锁定标识信息的值(这里的数据锁定标识信息采用一个标志位实现,用LFlag表示,以下应用例二至五采用相同的表示方式)为1,即LFlag=1,表明需要考虑数据锁定。Alice在服务器CPM_Content_Server上储存了自己和好友Tony外出旅游的照片和视频文件,而且她把这些媒体资源共享给了Tony,两人都可以对这些文件进行编辑处理。文件如下所示:
照片文件 | 视频文件 |
Alice001.jpg | Alice001.mpg |
Alice002.jpg | Alice002.mpg |
Tony001.jpg | Tony001.mpg |
Tony002.jpg | Tony002.mpg |
Both001.jpg | Both001.mpg |
某天Alice打开了服务器上的文件Both001.jpg,打算对其进行一些编辑处理,并在服务器上将Both001.jpg文件设置为锁定状态。过了一段时间,Tony在自己的PC机上对Both001.jpg文件进行了一些编辑,感觉效果不错,因此打算把它同步到服务器上,因此他用自己的融合消息业务客户端发出了同步请求,请求同步Both001.jpg文件。详细过程如下所示:
客户端发送请求如下:
<CPM>
<Source>Tony</Source>
<Target>CPM_Content_Server</Target>
<Sync>
<Item>Both001.jpg</Item>
</Sync>
</CPM>
服务器接收到上述请求后,首先检查LFlag标志位,发现其取值为“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没有在服务器上设置LFlag标志位,但是Tony在自己的客户端设定了需要考虑数据锁定的标志位LFlag=1。
某天Alice打开了服务器上的文件Both001.jpg,打算对其进行一些编辑处理,Both001.jpg文件处于锁定状态。过了一段时间,Tony在自己的PC机上对Both001.jpg文件进行了一些编辑,感觉效果不错,因此打算把它同步到服务器上,因此他用自己的融合消息业务客户端发出了同步请求,请求同步Both001.jpg文件,由于担心修改冲突,在发送消息中设定标志位LockIgn=”true”,告知服务器需要考虑数据锁定。详细过程如下所示:
客户端发送请求如下:
<CPM>
<Source>Tony</Source>
<Target>CPM_Content_Server</Target>
<Sync>
<Item>Both001.jpg</Item>
</Sync>
<LockIgn>true</LockIgn>
</CPM>
服务器接收到上述请求后,通过解析请求,发现包含了数据锁定标识信息(本发明应用例中用LockIgn标志位表示),取值为“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完成了编辑工作,感觉效果不错,因此打算把它同步到服务器上,因此她用自己的融合消息业务客户端发出了同步请求,请求同步Both001.jpg文件。详细过程如下所示:
客户端发送请求如下:
<CPM>
<Source>Alice</Source>
<Target>CPM_Content_Server</Target>
<Sync>
<Item>Both001.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文件进行了一些编辑,感觉效果不错,因此打算把它同步到服务器上,因此他用自己的融合消息业务客户端发出了同步请求,请求同步Both001.jpg文件。详细过程如下所示:
客户端发送请求如下:
<CPM>
<Source>Tony</Source>
<Target>CPM_Content_Server</Target>
<Sync>
<Item>Both001.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>20090203T121111Z</Time>
<Item>Both001.jpg</Item>
<Itemlength>2351120Bytes</Itemlength>
</Change>
</CPM>
应用例五、
前提条件同应用例一,只不过Alice考虑到这些文件自己都有备份,没有在服务器端设置LFlag标志位。
某天Alice打算对文件Both001.jpg进行一些编辑处理,为了方便处理,她把Both001.jpg文件下载到了自己的PC上,另外为了避免Tony也对其进行编辑,从而造成修改冲突,她锁定了服务器上的该文件,后来由于其它事情,她的编辑工作迟迟没有展开。过了一段时间,Tony在自己的PC机上对Both001.jpg文件进行了一些编辑,感觉效果不错,因此打算把它同步到服务器上,因此他用自己的融合消息业务客户端发出了同步请求,请求同步Both001.jpg文件,由于他已经和Alice就修改的事情做过沟通,因此在发送的消息中使用标志LockIgn=“false”来告诉服务器不用考虑数据锁定。详细过程如下所示:
客户端发送请求如下:
<CPM>
<Source>Tony</Source>
<Target>CPM_Content_Server</Target>
<Sync>
<Item>Both001.jpg</Item>
</Sync>
<LockIgn>false</LockIgn>
</CPM>
服务器接收到上述请求后,通过解析请求,发现包含了LockIgn标志位,取值为“false”,也就是说不需要考虑数据锁定,然后服务器检查Both001.jpg文件的状态,发现其被Alice锁定,也就说数据锁定者与同步发起者不是同一个用户,服务器根据LockIgn的指示仍然会进行数据同步操作。假设由于其它原因,同步操作不成功,那么这时候服务器会发消息告知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的通知,执行数据同步。
消息反馈单元540,用于在所述同步控制单元520拒绝数据同步请求之后,向所述数据同步请求的发起者返回数据被锁定的错误代码、或权限不允许的错误代码。
锁定标识获取单元550,用于获取数据锁定标识信息;
所述同步控制单元520可以包括:模式控制单元521和检查单元522;
模式控制单元521,用于根据所述锁定标识获取单元550根据获取的数据锁定标识信息的值判断是否开启了数据锁定的同步模式,若是,直接通知所述同步单元接受所述数据同步请求,执行数据同步;
所述检查单元522,用于在模式控制单元521判断未开启数据锁定的同步模式时,检查所述数据信息对应保存的数据是否处于锁定状态;若处于锁定状态,则判断所述数据同步请求的发起者和所述保存的数据的锁定者是否相同,若是,则通知同步单元530接受所述数据同步请求,执行数据同步;若否,则拒绝所述同步请求。
实施例六、一种服务器,结构示意图如图6所示,包括:
同步请求接收单元610,用于接收数据同步请求;所述数据同步请求中包含请求同步的数据信息;
同步处理单元620,用于根据通过请求接收单元610接收的请求同步的数据信息对保存的数据进行同步;若所述保存的数据处于锁定状态,则在同步完成后,通知更新消息发送单元向数据的锁定者发送更新消息;
更新消息发送单元630于接收同步处理单元620的通知,向所述数据的锁定者发送数据被更新的消息。
可以理解,本实施例中服务器还可以包括:
锁定标识获取单元640,用于获取数据锁定标识信息;
模式选择单元650,用于在同步处理单元进行数据同步前,根据锁定标识信息获取单元640获取的数据锁定标识信息的值判断是否开启了数据锁定的同步模式,若是,则通知同步处理单元620据同步。
本发明实施例提供的服务器可以运行的方法,可参考上文对本发明提供的提供多个方法实施例和应用例的描述,在此不再重复。
以上对本发明实施例所提供的数据同步方法和服务器进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (16)
1、一种数据同步方法,其特征在于,包括:
接收数据同步请求;所述数据同步请求中包含请求同步的数据信息;
检查所述数据信息对应保存的数据是否处于锁定状态;若处于锁定状态,则判断所述数据同步请求的发起者和所述保存的数据的锁定者是否相同,若是,则接受所述数据同步请求,执行数据同步。
2、如权利要求1所述的方法,其特征在于,所述拒绝同步请求之后还包括:向所述数据同步请求的发起者返回数据被锁定的错误代码或权限不允许的错误代码。
3、如权利要求1或2所述的数据同步方法,其特征在于,若所述数据处于锁定状态,则在判断所述数据同步请求的发起者和所述保存的数据的锁定者是否相同之前还包括:
获取数据锁定标识信息;
根据所述数据锁定标识信息判断是否开启了数据锁定的同步模式,若是,则接受所述数据同步请求,执行数据同步,并向所述数据的锁定者发送数据被更新的消息;若否,则继续所述判断数据同步请求的发起者和所述保存的数据的锁定者是否相同步骤。
4、如权利要求3所述的方法,其特征在于,向所述数据的锁定者发送数据被更新的消息之前包括:
判断所述数据同步请求的发起者和所述保存的数据的锁定者是否相同,若否,则继续所述向数据的锁定者发送数据被更新的消息的步骤。
5、如权利要求3所述的方法,其特征在于,所述数据被更新的消息包含:被更新数据的标识和更新者身份标识和更新时间中的至少一个。
6、如权利要求3所述的方法,其特征在于,所述获取数据锁定标识信息包括:
获取保存的数据锁定标识信息;
或者,
获取所述数据同步请求中的数据锁定标识信息。
7、一种数据同步方法,其特征在于,包括:
接收数据同步请求;所述数据同步请求中包含请求同步的数据信息;
根据所述请求同步的数据信息对保存的数据进行同步;
若所述保存的数据处于锁定状态,则在同步完成后,向所述数据的锁定者发送数据被更新的消息。
8、如权利要求7所述的方法,其特征在于,所述向数据的锁定者发送数据被更新的消息之前包括:
判断所述数据同步请求的发起者和所述保存的数据的锁定者是否相同,若否,则继续所述向数据的锁定者发送数据被更新的消息的步骤。
9、如权利要求8所述的方法,其特征在于,所述数据被更新的消息包含:被更新数据的标识和更新者身份标识和更新时间中的至少一个。
10、如权利要求7至9任意一项所述的方法,其特征在于,根据所述请求同步的数据信息对保存的数据进行同步之前还包括:
获取数据锁定标识信息;
根据数据锁定标识信息的值判断是否开启了数据锁定的同步模式,若是,则继续所述根据所述请求同步的数据信息对保存的数据进行同步的步骤。
11、如权利要求10所述的方法,其特征在于,所述获取数据锁定标识信息包括:
获取保存的数据锁定标识信息;
或者,
获取所述数据同步请求中的数据锁定标识信息。
12、一种服务器,其特征在于,包括:
同步请求接收单元,用于接收数据同步请求;所述数据同步请求中包含请求同步的数据信息;
同步控制单元,用于在同步请求接收单元收到数据同步请求后,检查所述数据信息对应保存的数据是否处于锁定状态;若处于锁定状态,则判断所述数据同步请求的发起者和所述保存的数据的锁定者是否相同,若是,则通知同步单元接受所述数据同步请求,执行数据同步;若否,则拒绝所述同步请求。
同步单元,用于接收同步控制单元的通知,执行数据同步。
13、如权利要求12所述的服务器,其特征在于,还包括:
消息反馈单元,在所述同步控制单元拒绝数据同步请求之后,向所述数据同步请求的发起者返回数据被锁定的错误代码或权限不允许的错误代码。
14、如权利要求12所述的服务器,其特征在于,还包括:
锁定标识获取单元,用于获取数据锁定标识信息;
所述同步控制单元包括:模式控制单元和检查单元;
模式控制单元,用于根据所述锁定标识获取单元根据获取的数据锁定标识信息的值判断是否开启了数据锁定的同步模式,若是,直接通知所述同步单元接受所述数据同步请求,执行数据同步;
所述检查单元,用于在模式控制单元判断未开启数据锁定的同步模式时,检查所述数据信息对应保存的数据是否处于锁定状态;若处于锁定状态,则判断所述数据同步请求的发起者和所述保存的数据的锁定者是否相同,若是,则通知同步单元接受所述数据同步请求,执行数据同步;若否,则拒绝所述同步请求。
15、一种服务器,其特征在于,包括:
同步请求接收单元,用于接收数据同步请求;所述数据同步请求中包含请求同步的数据信息;
同步处理单元,用于根据所述请求同步的数据信息对保存的数据进行同步;若所述保存的数据处于锁定状态,则在同步完成后,通知更新消息发送单元向数据的锁定者发送更新消息;
更新消息发送单元,用于接收同步处理单元的通知,向所述数据的锁定者发送数据被更新的消息。
16、如权利要求15所述的服务器,其特征在于,还包括:
锁定标识获取单元,用于获取数据锁定标识信息;
模式选择单元,用于在同步处理单元进行数据同步前,根据数据锁定标识信息的值判断是否开启了数据锁定的同步模式,若是,则通知同步处理单元进行数据同步。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910119500 CN101515935B (zh) | 2009-03-17 | 2009-03-17 | 数据同步方法和服务器 |
PCT/CN2010/071092 WO2010105557A1 (zh) | 2009-03-17 | 2010-03-17 | 数据同步方法和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910119500 CN101515935B (zh) | 2009-03-17 | 2009-03-17 | 数据同步方法和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101515935A true CN101515935A (zh) | 2009-08-26 |
CN101515935B CN101515935B (zh) | 2012-07-04 |
Family
ID=41040228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910119500 Active CN101515935B (zh) | 2009-03-17 | 2009-03-17 | 数据同步方法和服务器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101515935B (zh) |
WO (1) | WO2010105557A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010105557A1 (zh) * | 2009-03-17 | 2010-09-23 | 华为终端有限公司 | 数据同步方法和服务器 |
CN102075553A (zh) * | 2009-11-23 | 2011-05-25 | 华为终端有限公司 | 一种基于SyncML的数据同步方法及设备 |
CN103870346A (zh) * | 2012-12-11 | 2014-06-18 | 腾讯科技(深圳)有限公司 | 解锁用户数据方法和通信系统 |
CN104065636A (zh) * | 2013-07-02 | 2014-09-24 | 腾讯科技(深圳)有限公司 | 数据处理方法和系统 |
CN105378711A (zh) * | 2013-05-29 | 2016-03-02 | 微软技术许可有限责任公司 | 同步框架可扩展性 |
CN107347090A (zh) * | 2017-06-08 | 2017-11-14 | 广州市呼百应网络技术股份有限公司 | 数据同步方法 |
CN110399383A (zh) * | 2019-07-29 | 2019-11-01 | 中国工商银行股份有限公司 | 应用于服务器的数据处理方法、装置、计算设备、介质 |
CN113407635A (zh) * | 2021-07-09 | 2021-09-17 | 浙江明度智控科技有限公司 | 一种用于智能制造的多终端数据同步方法和系统 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113487284B (zh) * | 2021-07-13 | 2022-11-08 | 上海瓶钵信息科技有限公司 | 设备租赁场景中的设备生命周期管理方法 |
CN113840011A (zh) * | 2021-10-11 | 2021-12-24 | 南方电网数字电网研究院有限公司 | 数据同步方法、装置、计算机设备和存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1271812C (zh) * | 2002-07-31 | 2006-08-23 | 鸿富锦精密工业(深圳)有限公司 | 无线设备同步系统及方法 |
US7668830B2 (en) * | 2004-11-29 | 2010-02-23 | Nokia Corporation | Access rights |
CN100388666C (zh) * | 2004-12-09 | 2008-05-14 | 腾讯科技(深圳)有限公司 | 一种数据传输过程的控制方法及系统 |
CN100459556C (zh) * | 2005-11-03 | 2009-02-04 | 中国移动通信集团公司 | 数据共享的方法 |
CN101515935B (zh) * | 2009-03-17 | 2012-07-04 | 华为终端有限公司 | 数据同步方法和服务器 |
-
2009
- 2009-03-17 CN CN 200910119500 patent/CN101515935B/zh active Active
-
2010
- 2010-03-17 WO PCT/CN2010/071092 patent/WO2010105557A1/zh active Application Filing
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010105557A1 (zh) * | 2009-03-17 | 2010-09-23 | 华为终端有限公司 | 数据同步方法和服务器 |
CN102075553A (zh) * | 2009-11-23 | 2011-05-25 | 华为终端有限公司 | 一种基于SyncML的数据同步方法及设备 |
CN103870346A (zh) * | 2012-12-11 | 2014-06-18 | 腾讯科技(深圳)有限公司 | 解锁用户数据方法和通信系统 |
US10356163B2 (en) | 2012-12-11 | 2019-07-16 | Tencent Technology (Shenzhen) Company Limited | Method and communication system for unlocking user data |
US9762656B2 (en) | 2012-12-11 | 2017-09-12 | Tencent Technology (Shenzhen) Company Limited | Method and communication system for unlocking user data |
CN103870346B (zh) * | 2012-12-11 | 2015-12-23 | 腾讯科技(深圳)有限公司 | 解锁用户数据方法和通信系统 |
CN105378711A (zh) * | 2013-05-29 | 2016-03-02 | 微软技术许可有限责任公司 | 同步框架可扩展性 |
CN105378711B (zh) * | 2013-05-29 | 2022-03-25 | 微软技术许可有限责任公司 | 同步框架可扩展性 |
CN104065636B (zh) * | 2013-07-02 | 2015-09-16 | 腾讯科技(深圳)有限公司 | 数据处理方法和系统 |
CN104065636A (zh) * | 2013-07-02 | 2014-09-24 | 腾讯科技(深圳)有限公司 | 数据处理方法和系统 |
CN107347090A (zh) * | 2017-06-08 | 2017-11-14 | 广州市呼百应网络技术股份有限公司 | 数据同步方法 |
CN110399383A (zh) * | 2019-07-29 | 2019-11-01 | 中国工商银行股份有限公司 | 应用于服务器的数据处理方法、装置、计算设备、介质 |
CN113407635A (zh) * | 2021-07-09 | 2021-09-17 | 浙江明度智控科技有限公司 | 一种用于智能制造的多终端数据同步方法和系统 |
CN113407635B (zh) * | 2021-07-09 | 2022-06-03 | 明度智云(浙江)科技有限公司 | 一种用于智能制造的多终端数据同步方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101515935B (zh) | 2012-07-04 |
WO2010105557A1 (zh) | 2010-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101515935A (zh) | 数据同步方法和服务器 | |
JP4829316B2 (ja) | 中断された同期プロセスに対処してデータを同期させる方法、装置、システム | |
JP4996685B2 (ja) | コンテンツ同期化方法及び装置 | |
CN101689164B (zh) | 服务器辅助的对等同步 | |
CN101316221B (zh) | 通知消息处理方法及设备 | |
CN106648903B (zh) | 调用分布式文件系统的方法和装置 | |
US20060200583A1 (en) | System and method for synchronisation of data between service portals and access platforms for services using such a synchronization system | |
AU2002336667A1 (en) | Data synchronization | |
EP1442397A1 (en) | Data synchronization | |
CN103491055A (zh) | 一种在多个客户端间同步信息的方法、客户端和服务器 | |
US11212342B2 (en) | Merge trees for collaboration | |
JP2011203894A (ja) | 情報処理装置、帳票データ作成方法、及びコンピュータプログラム | |
CN113709250B (zh) | 一种基于订阅发送模式的跨域用户数据同步方法 | |
JP4494970B2 (ja) | 中断された同期プロセスに対処してデータを同期させる方法、装置、システム | |
CN109831439B (zh) | 一种级联同步的方法以及装置 | |
US11265182B2 (en) | Messaging to enforce operation serialization for consistency of a distributed data structure | |
JP2005530258A (ja) | クライアント・デバイスをサーバからリフレッシュする間に再同期化するためのシステムおよび方法 | |
CN105635215B (zh) | 联系人信息的同步方法、装置及云服务器 | |
CN114500651A (zh) | 一种区块链数据传输方法、装置和设备及可读存储介质 | |
CN101877861B (zh) | 节点信息获取方法、客户端、服务器 | |
CN102594874A (zh) | 一种同步处理方法和装置 | |
CN101610225B (zh) | 一种同步处理方法、系统和装置 | |
JP2009129195A (ja) | バックアップサーバ、移動機、およびこれらを用いた通信システム、ならびにバックアップ方法 | |
CN111885103A (zh) | 资源处理方法、服务器、电子设备及存储介质 | |
CN102148853A (zh) | 联系人信息的同步方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 518129 Building 2, B District, Bantian HUAWEI base, Longgang District, Shenzhen, Guangdong. Patentee after: Huawei Terminal (Shenzhen) Co., Ltd. Address before: 518129 Building 2, B District, Bantian HUAWEI base, Longgang District, Shenzhen, Guangdong. Patentee before: Huawei Device Co., Ltd. |