CN103428264A - 数据同步的方法、设备及系统 - Google Patents
数据同步的方法、设备及系统 Download PDFInfo
- Publication number
- CN103428264A CN103428264A CN2013102634488A CN201310263448A CN103428264A CN 103428264 A CN103428264 A CN 103428264A CN 2013102634488 A CN2013102634488 A CN 2013102634488A CN 201310263448 A CN201310263448 A CN 201310263448A CN 103428264 A CN103428264 A CN 103428264A
- Authority
- CN
- China
- Prior art keywords
- data item
- client
- data
- item
- server
- 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
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种数据同步的方法、设备及系统,属于互联网领域。所述方法包括:服务器接收客户端上传的数据同步请求;根据恢复标识和客户端的数据项获取差异数据项集合;将差异数据项集合发送给客户端,使得客户端根据差异数据项集合同步客户端的本地数据。本发明通过服务器根据恢复标识和客户端的数据项获取包括服务器的数据项中相对于客户端的数据项的修改数据项和新增数据项的差异数据项集合后,不修改服务器的数据,使得客户端根据服务器发送的差异数据项集合同步客户端的本地数据,扩展了数据同步的方式,实现在数据同步过程中不修改服务器的数据,且能够用服务器的数据恢复客户端的本地数据,避免对服务器的数据造成错误修改。
Description
技术领域
本发明涉及互联网领域,特别涉及一种数据同步的方法、设备及系统。
背景技术
随着互联网技术的发展,用户会使用多个客户端连接到互联网,以便于享受互联网的多种便捷服务。用户的每个客户端的本地都会存储有一定的数据,为了方便用户管理不相同客户端的本地数据,可以将不相同客户端的本地数据上传到服务器,由服务器进行备份。服务器的数据中包括多个数据项,每个数据项可以包含用户名、电话号码、邮箱地址、QQ号码等内容,服务器的每个数据项可以与客户端的本地数据中的数据项一一对应。多个客户端中的一客户端可以将服务器的数据同步到该客户端的本地。
现有技术在进行数据同步时,至少提供了如下两种同步的方式:
方式一:双向同步。服务器接收客户端上传的数据同步请求,数据同步请求中携带有修改标识和客户端的本地数据中的修改数据项和新增数据项,服务器根据修改标识将客户端的本地数据中的修改数据项和新增数据项同步到服务器的数据中;将服务器的数据中的修改数据项及新增数据项发送给客户端,使得客户端根据服务器的数据中的修改数据项及新增数据项同步客户端的本地数据。
方式二:慢同步。服务器接收客户端上传的数据同步请求,数据同步请求中携带有新增标识和客户端的所有数据项,根据新增标识和客户端的所有数据项获取第一差异数据项集合和第二差异数据项集合,第一差异数据项集合中包括服务器的数据项中相对于客户端的数据项的修改数据项和新增数据项,第二数据项集合中包括客户端的数据项中相对于服务器的数据项的修改数据项和新增数据项;根据第二差异数据项集合同步服务器的数据;将第一差异数据项集合发送给客户端,使得客户端根据第一差异数据项集合同步客户端的本地数据。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
由于无论方式一或是方式二,在数据同步时服务器的数据都将被修改,如果服务器的数据项为服务器根据其他客户端的本地数据同步后的最新数据项,或者该客户端的数据项为被篡改后的错误的数据项,而对应的服务器的数据项为正确的数据项,由于在本次数据同步过程中服务器的数据项被同步于该客户端的数据项,导致服务器的数据发生错误,并且难以恢复。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种数据同步的方法、设备及系统。所述技术方案如下:
第一方面,提供了一种数据同步的方法,所述方法包括:
服务器接收客户端上传的数据同步请求,所述数据同步请求中携带有恢复标识和所述客户端的数据项;
根据所述恢复标识和所述客户端的数据项获取差异数据项集合,所述差异数据项集合中包括所述服务器的数据项中相对于所述客户端的数据项的修改数据项和新增数据项;
将所述差异数据项集合发送给所述客户端,使得所述客户端根据所述差异数据项集合同步所述客户端的本地数据。
结合第一方面,在第一方面的第一种可能的实现方式中,所述数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项,所述根据所述恢复标识和所述客户端的数据项获取差异数据项集合,包括:
根据所述恢复标识将所述客户端的每个数据项与所述服务器的所有数据项进行比对;
如果比对出所述客户端的一数据项与所述服务器的一数据项的部分项内容相同且其余项内容不相同,则将所述服务器的一数据项确定为修改数据项;
将与所述客户端的所有数据项的所有内容均不相同的所述服务器的数据项确定为新增数据项;
将所述修改数据项和所述新增数据项合并为差异数据项集合。
结合第一方面,在第一方面的第二种可能的实现方式中,所述数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项,所述数据同步请求中还携带有所述客户端的每个数据项的标识,所述根据所述恢复标识和所述客户端的数据项获取差异数据项集合,包括:
根据所述客户端的每个数据项的标识确定与所述客户端的每个数据项对应的所述服务器的数据项;
根据所述恢复标识将所述客户端的每个数据项与对应的所述服务器的数据项进行比对;
如果比对出所述客户端的一数据项与对应的所述服务器的数据项的部分项内容或全部内容不相同,则将对应的所述服务器的数据项确定为修改数据项;
将与所述客户端的所有数据项均不对应的所述服务器的数据项确定为新增数据项;
将所述修改数据项和所述新增数据项合并为差异数据项集合。
结合第一方面,在第一方面的第三种可能的实现方式中,所述数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项中的至少一个待恢复数据项,所述数据同步请求中还携带有时间标识,所述时间标识用于标识所述客户端上一次发送数据同步请求的时间;所述根据所述恢复标识和所述客户端的数据项获取差异数据项集合,包括:
根据所述恢复标识将每个待恢复数据项与所述服务器的所有数据项进行比对;
如果比对出一待恢复数据项与所述服务器的一数据项的部分项内容相同且其余项内容不相同,则将所述服务器的一数据项确定为修改数据项;
将在所述时间标识所标识的时间之后添加的所述服务器的数据项确定为新增数据项;
将所述修改数据项和所述新增数据项合并为差异数据项集合。
结合第一方面,在第一方面的第四种可能的实现方式中,所述数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项中的至少一个待恢复数据项,所述数据同步请求中还携带有时间标识和每个待恢复数据项的标识,所述时间标识用于标识所述客户端上一次发送数据同步请求的时间;所述根据所述恢复标识和所述客户端的数据项获取差异数据项集合,包括:
根据每个待恢复数据项的标识确定与所述每个待恢复数据项对应的所述服务器的数据项;
根据所述恢复标识将所述每个待恢复数据项与对应的所述服务器的数据项进行比对;
如果比对出一待恢复数据项与对应的所述服务器的数据项的部分项内容或全部内容不相同,则将对应的所述服务器的数据项确定为修改数据项;
将在所述时间标识所标识的时间之后添加的所述服务器的数据项确定为新增数据项;
将所述修改数据项和所述新增数据项合并为差异数据项集合。
第二方面,提供了一种数据同步的方法,所述方法包括:
客户端将数据同步请求上传给服务器,所述数据同步请求中携带有恢复标识和所述客户端的数据项,使得所述服务器根据所述恢复标识和所述客户端的数据项获取差异数据项集合,将所述差异数据项集合发送给所述客户端;
接收所述服务器发送的所述差异数据项集合,并根据所述差异数据项集合同步所述客户端的本地数据;
其中,所述差异数据项集合中包括所述服务器的数据项中相对于所述客户端的数据项的修改数据项和新增数据项。
结合第二方面,在第二方面的第一种可能的实现方式中,所述数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项,使得所述服务器根据所述恢复标识将所述客户端的每个数据项与所述服务器的所有数据项进行比对,并在比对出所述客户端的一数据项与所述服务器的一数据项的部分项内容相同且其余项内容不相同时,将所述服务器的一数据项确定为修改数据项,将与所述客户端的所有数据项的所有内容均不相同的所述服务器的数据项确定为新增数据项之后,将所述修改数据项和所述新增数据项合并为差异数据项集合。
结合第二方面,在第二方面的第二种可能的实现方式中,所述数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项,所述数据同步请求中还携带有所述客户端的每个数据项的标识,使得所述服务器根据所述客户端的每个数据项的标识确定与所述客户端的每个数据项对应的所述服务器的数据项,并根据所述恢复标识将所述客户端的每个数据项与对应的所述服务器的数据项进行比对,在比对出所述客户端的一数据项与对应的所述服务器的数据项的部分项内容或全部内容不相同时,将对应的所述服务器的数据项确定为修改数据项,将与所述客户端的所有数据项均不对应的所述服务器的数据项确定为新增数据项之后,将所述修改数据项和所述新增数据项合并为差异数据项集合。
结合第二方面,在第二方面的第三种可能的实现方式中,所述数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项中的至少一个待恢复数据项,所述数据同步请求中还携带有时间标识,所述时间标识用于标识所述客户端上一次发送数据同步请求的时间,使得所述服务器根据所述恢复标识将每个待恢复数据项与所述服务器的所有数据项进行比对,并在比对出一待恢复数据项与所述服务器的一数据项的部分项内容相同且其余项内容不相同时,将所述服务器的一数据项确定为修改数据项,将在所述时间标识所标识的时间之后添加的所述服务器的数据项确定为新增数据项之后,将所述修改数据项和所述新增数据项合并为差异数据项集合。
结合第二方面,在第二方面的第四种可能的实现方式中,所述数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项中的至少一个待恢复数据项,所述数据同步请求中还携带有时间标识和每个待恢复数据项的标识,所述时间标识用于标识所述客户端上一次发送数据同步请求的时间,使得所述服务器根据每个待恢复数据项的标识确定与所述每个待恢复数据项对应的所述服务器的数据项,并根据所述恢复标识将所述每个待恢复数据项与对应的所述服务器的数据项进行比对,并在比对出一待恢复数据项与对应的所述服务器的数据项的部分项内容或全部内容不相同时,将对应的所述服务器的数据项确定为修改数据项,将在所述时间标识所标识的时间之后添加的所述服务器的数据项确定为新增数据项之后,将所述修改数据项和所述新增数据项合并为差异数据项集合。
结合第二方面的第三种可能的实现方式或第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述将数据同步请求上传给服务器之前,还包括:
确定用户在所述客户端的所有数据项中选择的数据项,并根据所述用户选择的数据项确定待恢复数据项。
结合第二方面,在第二方面的第六种可能的实现方式中,所述根据所述差异数据项集合同步所述客户端的本地数据,包括:
将所述差异数据项集合中的修改数据项替换所述客户端的本地数据中对应的数据项;
将所述差异数据项集合中的新增数据项添加到所述客户端的本地数据中。
结合第二方面的第六种可能的实现方式,在第二方面的第七种可能的实现方式中,所述将所述差异数据项集合中的修改数据项替换所述客户端的本地数据中对应的数据项之前,还包括:
显示所述差异数据项集合中的修改数据项,并确定用户在显示的所述差异数据项集合中的修改数据项中选择的修改数据项;
所述将所述差异数据项集合中的修改数据项替换所述客户端的本地数据中对应的数据项,包括
将所述差异数据项集合中用户选择的修改数据项替换所述客户端的本地数据中对应的数据项。
结合第二方面的第七种可能的实现方式,在第二方面的第八种可能的实现方式中,所述将所述差异数据项集合中的新增数据项添加到所述客户端的本地数据中之前,还包括:
显示所述差异数据项集合中的新增数据项,并确定用户在显示的所述差异数据项集合中的新增数据项中选择的新增数据项;
所述将所述差异数据项集合中的新增数据项添加到所述客户端的本地数据中,包括:
将所述差异数据项集合中用户选择的新增数据项添加到所述客户端的本地数据中。
第三方面,提供了一种服务器,所述服务器包括:
接收模块,用于接收客户端上传的数据同步请求,所述数据同步请求中携带有恢复标识和所述客户端的数据项;
获取模块,用于根据所述恢复标识和所述客户端的数据项获取差异数据项集合,所述差异数据项集合中包括所述服务器的数据项中相对于所述客户端的数据项的修改数据项和新增数据项;
发送模块,用于将所述获取模块获取到的差异数据项集合发送给所述客户端,使得所述客户端根据所述差异数据项集合同步所述客户端的本地数据。
结合第三方面,在第三方面的第一种可能的实现方式中,所述接收模块接收到的数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项,所述获取模块,包括:
第一比对单元,用于根据所述恢复标识将所述客户端的每个数据项与所述服务器的所有数据项进行比对;
第一确定单元,用于在所述第一比对单元比对出所述客户端的一数据项与所述服务器的一数据项的部分项内容相同且其余项内容不相同时,将所述服务器的一数据项确定为修改数据项;
所述第一确定单元,还用于将与所述客户端的所有数据项的所有内容均不相同的所述服务器的数据项确定为新增数据项;
第一合并单元,用于将所述第一确定单元确定的修改数据项和所述新增数据项合并为差异数据项集合。
结合第三方面,在第三方面的第二种可能的实现方式中,所述接收模块接收到的数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项,所述数据同步请求中还携带有所述客户端的每个数据项的标识,所述获取模块,包括:
第二确定单元,用于根据所述客户端的每个数据项的标识确定与所述客户端的每个数据项对应的所述服务器的数据项;
第二比对单元,用于根据所述恢复标识将所述客户端的每个数据项与对应的所述服务器的数据项进行比对;
所述第二确定单元,还用于在所述第二比对单元比对出所述客户端的一数据项与对应的所述服务器的数据项的部分项内容或全部内容不相同,则将对应的所述服务器的数据项确定为修改数据项;
所述第二确定单元,用于将与所述客户端的所有数据项均不对应的所述服务器的数据项确定为新增数据项;
第二合并单元,用于将所述第二确定单元确定的修改数据项和所述新增数据项合并为差异数据项集合。
结合第三方面,在第三方面的第三种可能的实现方式中,所述接收模块接收到的数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项中的至少一个待恢复数据项,所述数据同步请求中还携带有时间标识,所述时间标识用于标识所述客户端上一次发送数据同步请求的时间;所述获取模块,包括:
第三比对单元,用于根据所述恢复标识将每个待恢复数据项与所述服务器的所有数据项进行比对;
第三确定单元,用于在所述第三比对单元比对出一待恢复数据项与所述服务器的一数据项的部分项内容相同且其余项内容不相同时,将所述服务器的一数据项确定为修改数据项;
所述第三确定单元,还用于将在所述时间标识所标识的时间之后添加的所述服务器的数据项确定为新增数据项;
第三合并单元,用于将所述第三确定单元确定的所述修改数据项和所述新增数据项合并为差异数据项集合。
结合第三方面,在第三方面的第四种可能的实现方式中,所述接收模块接收到的数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项中的至少一个待恢复数据项,所述数据同步请求中还携带有时间标识和每个待恢复数据项的标识,所述时间标识用于标识所述客户端上一次发送数据同步请求的时间;所述获取模块,包括:
第四确定单元,用于根据每个待恢复数据项的标识确定与所述每个待恢复数据项对应的所述服务器的数据项;
第四比对单元,用于根据所述恢复标识将所述每个待恢复数据项与对应的所述服务器的数据项进行比对;
所述第四确定单元,还用于在所述第四比对单元比对出一待恢复数据项与对应的所述服务器的数据项的部分项内容或全部内容不相同时,将对应的所述服务器的数据项确定为修改数据项;
所述第四确定单元,还用于将在所述时间标识所标识的时间之后添加的所述服务器的数据项确定为新增数据项;
第四合并单元,用于将所述第四确定单元确定的修改数据项和所述新增数据项合并为差异数据项集合。
第四方面,提供了一种客户端,所述客户端包括:
上传模块,用于将数据同步请求上传给服务器,所述数据同步请求中携带有恢复标识和所述客户端的数据项,使得所述服务器根据所述恢复标识和所述客户端的数据项获取差异数据项集合,将所述差异数据项集合发送给所述客户端;
接收模块,用于接收所述服务器发送的所述差异数据项集合;
同步模块,用于根据所述接收模块接收到的差异数据项集合同步所述客户端的本地数据;
其中,所述差异数据项集合中包括所述服务器的数据项中相对于所述客户端的数据项的修改数据项和新增数据项。
结合第四方面,在第四方面的第一种可能的实现方式中,所述上传模块上传的数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项,使得所述服务器根据所述恢复标识将所述客户端的每个数据项与所述服务器的所有数据项进行比对,并在比对出所述客户端的一数据项与所述服务器的一数据项的部分项内容相同且其余项内容不相同时,将所述服务器的一数据项确定为修改数据项,将与所述客户端的所有数据项的所有内容均不相同的所述服务器的数据项确定为新增数据项之后,将所述修改数据项和所述新增数据项合并为差异数据项集合。
结合第四方面,在第四方面的第二种可能的实现方式中,所述上传模块上传的数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项,所述数据同步请求中还携带有所述客户端的每个数据项的标识,使得所述服务器根据所述客户端的每个数据项的标识确定与所述客户端的每个数据项对应的所述服务器的数据项,并根据所述恢复标识将所述客户端的每个数据项与对应的所述服务器的数据项进行比对,在比对出所述客户端的一数据项与对应的所述服务器的数据项的部分项内容或全部内容不相同时,将对应的所述服务器的数据项确定为修改数据项,将与所述客户端的所有数据项均不对应的所述服务器的数据项确定为新增数据项之后,将所述修改数据项和所述新增数据项合并为差异数据项集合。
结合第四方面,在第四方面的第三种可能的实现方式中,所述上传模块上传的数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项中的至少一个待恢复数据项,所述数据同步请求中还携带有时间标识,所述时间标识用于标识所述客户端上一次发送数据同步请求的时间,使得所述服务器根据所述恢复标识将每个待恢复数据项与所述服务器的所有数据项进行比对,并在比对出一待恢复数据项与所述服务器的一数据项的部分项内容相同且其余项内容不相同时,将所述服务器的一数据项确定为修改数据项,将在所述时间标识所标识的时间之后添加的所述服务器的数据项确定为新增数据项之后,将所述修改数据项和所述新增数据项合并为差异数据项集合。
结合第四方面,在第四方面的第四种可能的实现方式中,所述上传模块上传的数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项中的至少一个待恢复数据项,所述数据同步请求中还携带有时间标识和每个待恢复数据项的标识,所述时间标识用于标识所述客户端上一次发送数据同步请求的时间,使得所述服务器根据每个待恢复数据项的标识确定与所述每个待恢复数据项对应的所述服务器的数据项,并根据所述恢复标识将所述每个待恢复数据项与对应的所述服务器的数据项进行比对,并在比对出一待恢复数据项与对应的所述服务器的数据项的部分项内容或全部内容不相同时,将对应的所述服务器的数据项确定为修改数据项,将在所述时间标识所标识的时间之后添加的所述服务器的数据项确定为新增数据项之后,将所述修改数据项和所述新增数据项合并为差异数据项集合。
结合第四方面的第三种可能的实现方式或第四方面的第四种可能的实现方式,在第四方面的第五种可能的实现方式中,所述客户端还包括:
确定模块,用于确定用户在所述客户端的所有数据项中选择的数据项,并根据所述确定的用户选择的数据项确定待恢复数据项。
结合第四方面,在第四方面的第六种可能的实现方式中,所述同步模块,包括:
替换单元,用于将所述差异数据项集合中的修改数据项替换所述客户端的本地数据中对应的数据项;
添加单元,用于将所述差异数据项集合中的新增数据项添加到所述客户端的本地数据中。
结合第四方面的第六种可能的实现方式,在第四方面的第七种可能的实现方式中,所述同步模块,还包括:
显示单元,用于显示所述差异数据项集合中的修改数据项;
确定单元,用于确定用户在所述显示单元显示的所述差异数据项集合中的修改数据项中选择的修改数据项;
所述替换单元,具体用于将所述确定单元确定的所述差异数据项集合中用户选择的修改数据项替换所述客户端的本地数据中对应的数据项。
结合第四方面的第七种可能的实现方式,在第四方面的第八种可能的实现方式中,所述显示单元,还用于显示所述差异数据项集合中的新增数据项;
所述确定单元,还用于确定用户在所述显示单元显示的所述差异数据项集合中的新增数据项中选择的新增数据项;
所述添加单元,具体用于将所述确定单元确定的所述差异数据项集合在用户选择的新增数据项添加到所述客户端的本地数据中。
第五方面,提供了一种数据同步的系统,所述系统包括:服务器和客户端;
其中,所述服务器如上述第三方面所述的服务器;
所述客户端如上述第四方面所述的客户端。
本发明实施例提供的技术方案带来的有益效果是:
通过服务器根据恢复标识和客户端的本地数据获取包括服务器的数据中相对于客户端的数据项的修改数据项和新增数据项的差异数据项集合后,不修改服务器的数据,将差异数据项集合发送给客户端,使得客户端根据差异数据项集合同步客户端的本地数据,扩展了数据同步的方式,实现了在数据同步过程中不修改服务器的数据,且能够用服务器的数据恢复客户端的本地数据,从而避免了客户端的本地数据发生错误时对服务器的数据造成的错误修改。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种数据同步的方法流程图;
图2是本发明实施例一提供的另一种数据同步的方法流程图;
图3是本发明实施例二提供的一种数据同步的方法流程图;
图4是本发明实施例二提供的一种服务器的结构示意图;
图5是本发明实施例三提供的一种服务器的结构示意图;
图6是本发明实施例四提供的一种客户端的结构示意图;
图7是本发明实施例五提供的一种数据同步的系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明实施例提供了一种数据同步的方法,该方法以服务器侧的角度为例,对数据同步的方法进行说明。参见图1,本发明实施例提供的方法流程包括:
101:服务器接收客户端上传的数据同步请求,数据同步请求中携带有恢复标识和客户端的数据项。
102:根据恢复标识和客户端的数据项获取差异数据项集合,差异数据项集合中包括服务器的数据项中相对于客户端的数据项的修改数据项和新增数据项。
具体地,数据同步请求中携带的客户端的数据项为客户端的所有数据项,根据恢复标识和客户端的数据项获取差异数据项集合,包括:
根据恢复标识将客户端的每个数据项与服务器的所有数据项进行比对;
如果比对出客户端的一数据项与服务器的一数据项的部分项内容相同且其余项内容不相同,则将服务器的一数据项确定为修改数据项;
将与客户端的所有数据项的所有内容均不相同的服务器的数据项确定为新增数据项;
将修改数据项和新增数据项合并为差异数据项集合。
具体地,数据同步请求中携带的客户端的数据项为客户端的所有数据项,数据同步请求中还携带有客户端的每个数据项的标识,根据恢复标识和客户端的数据项获取差异数据项集合,包括:
根据客户端的每个数据项的标识确定与客户端的每个数据项对应的服务器的数据项;
根据恢复标识将客户端的每个数据项与对应的服务器的数据项进行比对;
如果比对出客户端的一数据项与对应的服务器的数据项的部分项内容或全部内容不相同,则将对应的服务器的数据项确定为修改数据项;
将与客户端的所有数据项均不对应的服务器的数据中的数据项确定为新增数据项;
将修改数据项和新增数据项合并为差异数据项集合。
具体地,数据同步请求中携带的客户端的数据项为客户端的所有数据项中的至少一个待恢复数据项,数据同步请求中还携带有时间标识,时间标识用于标识客户端上一次发送数据同步请求的时间;根据恢复标识和客户端的数据项获取差异数据项集合,包括:
根据恢复标识将每个待恢复数据项与服务器的所有数据项进行比对;
如果比对出一待恢复数据项与服务器的一数据项的部分项内容相同且其余项内容不相同,则将服务器的一数据项确定为修改数据项;
将在时间标识所标识的时间之后添加的服务器的数据项确定为新增数据项;
将修改数据项和新增数据项合并为差异数据项集合。
具体地,数据同步请求中携带的客户端的数据项为客户端的所有数据项中的至少一个待恢复数据项,数据同步请求中还携带有时间标识和每个待恢复数据项的标识,时间标识用于标识客户端上一次发送数据同步请求的时间;根据恢复标识和客户端的数据项获取差异数据项集合,包括:
根据每个待恢复数据项的标识确定与每个待恢复数据项对应的服务器的数据项;
根据恢复标识将每个待恢复数据项与对应的服务器的数据项进行比对;
如果比对出一待恢复数据项与对应的服务器的数据项的部分项内容或全部内容不相同,则将对应的服务器的数据项确定为修改数据项;
将在时间标识所标识的时间之后添加的服务器的数据项确定为新增数据项;
将修改数据项和新增数据项合并为差异数据项集合。103:将差异数据项集合发送给客户端,使得客户端根据差异数据项集合同步客户端的本地数据。
服务器得到与客户端数据的差异数据项集合后,根据恢复(Restore)标识,确定本次客户端上传的数据仅用于恢复比较用,因此在比较操作完成后,不修改服务器的数据;服务器下发差异数据项集合给客户端,以使客户端做相应的数据更新。
若客户端的某些数据项与服务器数据的所有数据项均不对应,即客户端的这些数据项未包含在服务器的数据中,不将这些数据项放入差异数据项集合,后续客户端根据这些数据项进行的同步处理可以有不同方式,如客户端删除这些数据项,或者客户端不删除这些数据项,发送给服务器以添加这些数据项。
本发明实施例还提供了一种数据同步的方法,该方法以客户端侧的角度为例,对数据同步的方法进行说明。参见图2,本发明实施例提供的方法流程包括:
201:客户端将数据同步请求上传给服务器,数据同步请求中携带有恢复标识和客户端的数据项,使得服务器根据恢复标识和客户端的数据项获取差异数据项集合,将差异数据项集合发送给客户端。
202:接收服务器发送的差异数据项集合,并根据差异数据项集合同步客户端的本地数据。
其中,差异数据项集合中包括服务器的数据项中相对于客户端的数据项的修改数据项和新增数据项。
具体地,数据同步请求中携带的客户端的数据项为客户端的所有数据项,使得服务器根据恢复标识将客户端的每个数据项与服务器的所有数据项进行比对,并在比对出客户端的一数据项与服务器的一数据项的部分项内容相同且其余项内容不相同时,将服务器的一数据项确定为修改数据项,将与客户端的所有数据项的所有内容均不相同的服务器的数据项确定为新增数据项之后,将修改数据项和新增数据项合并为差异数据项集合。
具体地,数据同步请求中携带的客户端的数据项为客户端的所有数据项,数据同步请求中还携带有客户端的每个数据项的标识,使得服务器根据客户端的每个数据项的标识确定与客户端的每个数据项对应的服务器的数据项,并根据恢复标识将客户端的每个数据项与对应的服务器的数据项进行比对,在比对出客户端的一数据项与对应的服务器的数据项的部分项内容或全部内容不相同时,将对应的服务器的数据项确定为修改数据项,将与客户端的所有数据项均不对应的服务器的数据项确定为新增数据项之后,将修改数据项和新增数据项合并为差异数据项集合。
具体地,数据同步请求中携带的客户端的数据项为客户端的所有数据项中的至少一个待恢复数据项,数据同步请求中还携带有时间标识,时间标识用于标识客户端上一次发送数据同步请求的时间,使得服务器根据恢复标识将每个待恢复数据项与服务器的所有数据项进行比对,并在比对出一待恢复数据项与服务器的一数据项的部分项内容相同且其余项内容不相同时,将服务器的一数据项确定为修改数据项,将在时间标识所标识的时间之后添加的服务器的数据项确定为新增数据项之后,将修改数据项和新增数据项合并为差异数据项集合。
具体地,数据同步请求中携带的客户端的数据项为客户端的所有数据项中的至少一个待恢复数据项,数据同步请求中还携带有时间标识和每个待恢复数据项的标识,时间标识用于标识客户端上一次发送数据同步请求的时间,使得服务器根据每个待恢复数据项的标识确定与每个待恢复数据项对应的服务器的数据项,并根据恢复标识将每个待恢复数据项与对应的服务器的数据项进行比对,并在比对出一待恢复数据项与对应的服务器的数据项的部分项内容或全部内容不相同时,将对应的服务器的数据项确定为修改数据项,将在时间标识所标识的时间之后添加的服务器的数据项确定为新增数据项之后,将修改数据项和新增数据项合并为差异数据项集合。
进一步地,将数据同步请求上传给服务器之前,还包括:
确定用户在客户端的所有数据项中选择的数据项,并根据用户选择的数据项确定待恢复数据项。
具体地,根据差异数据项集合同步客户端的本地数据,包括:
将差异数据项集合中的修改数据项替换客户端的本地数据中对应的数据项;
将差异数据项集合中的新增数据项添加到客户端的本地数据中。
具体地,将差异数据项集合中的修改数据项替换客户端的本地数据中对应的数据项之前,还包括:
显示差异数据项集合中的修改数据项,并确定用户在显示的差异数据项集合中的修改数据项中选择的修改数据项;
将差异数据项集合中的修改数据项替换客户端的本地数据中对应的数据项,包括:
将差异数据项集合中用户选择的修改数据项替换客户端的本地数据中对应的数据项。
具体地,将差异数据项集合中的新增数据项添加到客户端的本地数据中之前,还包括:
显示差异数据项集合中的新增数据项,并确定用户在显示的差异数据项集合中的新增数据项中选择的新增数据项;
将差异数据项集合中的新增数据项添加到客户端的本地数据中,包括:
将差异数据项集合中用户选择的新增数据项添加到客户端的本地数据中。
综上所述,本发明实施例提供的方法,通过服务器根据恢复标识和客户端的本地数据获取包括服务器的数据中相对于客户端的数据项的修改数据项和新增数据项的差异数据项集合后,不修改服务器的数据,将差异数据项集合发送给客户端,使得客户端根据差异数据项集合同步客户端的本地数据,扩展了数据同步的方式,实现了在数据同步过程中不修改服务器的数据,且能够用服务器的数据恢复客户端的本地数据,从而避免了客户端的本地数据发生错误时对服务器的数据造成的错误修改。
实施例二
为了避免在客户端和服务器同步的过程中错误地修改服务器的数据,本发明实施例提供了一种数据同步的方法。结合上述实施例一的内容,参见图3,本发明实施例提供的方法流程包括:
301:客户端上传数据同步请求给服务器,数据同步请求中携带有恢复标识和客户端的数据项。
其中,客户端通常安装在终端上,也可以安装在其他设备上。终端可以包括手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts GroupAudio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑和台式电脑等等。
针对该步骤,在实际应用中,服务器通常管理一个或多个客户端,每个客户端都可以将每个客户端的本地数据和服务器的数据进行同步。如果用户不确定某个客户端的本地数据中某个数据项或全部数据项是否正确,或者是否为相对于对应的服务器的数据项来说是被修改后的数据项,并且用户也不期望用客户端的本地数据同步服务器的数据,因而,用户可以在该客户端上传给服务器的数据同步请求中携带恢复标识和客户端的本地数据中的数据项。
客户端上传数据同步请求给服务器时,可以通过OMA(Open MobileAlliance,开放移动联盟)SyncML(Synchronization Markup Language,同步标记语言)DS(Data Synchronization,数据同步)协议与服务器建立SyncML连接之后,通过SyncML连接发送数据同步请求给服务器。其中,数据同步请求可以是HTTP(Hyper Text Transfer Protocol,超文本传输协议)同步请求,数据同步请求可以通过XML(Extensible Markup Language,可扩展标记语言)报文或者WBXML(Wireless Application Protocol Binary Extensible Markup Language,无线应用协议二进制可扩展标记语言)报文的形式上传给服务器。
302:服务器在接收到客户端上传的数据同步请求后,根据恢复标识和客户端的本地数据获取差异数据项集合,差异数据项集合中包括服务器的数据项中相对于客户端的数据项的修改数据项和新增数据项。
由于数据同步请求中携带有恢复标识,表示客户端期望确定客户端的本地数据中某个数据项或全部数据项是否为正确或者是否为相对于对应的服务器的数据项来说是被修改后的数据项,而不期望用客户端的本地数据同步服务器的数据。因此,服务器在接收到客户端上传的数据同步请求后,根据恢复标识确定本次客户端上传的数据仅用于恢复比较,从而根据恢复标识和客户端的数据项获取差异数据项集合,且不修改服务器的数据。因此,服务器的数据不会同步于客户端的本地数据。
具体地,根据数据同步请求中携带的客户端的数据项的不相同和数据同步请求中携带的信息的不相同,服务器根据恢复标识和客户端的数据项获取差异数据项集合的方式也不相同,具体包括但不限于以下四种方式:
方式一:数据同步请求中携带的客户端的数据项为客户端的所有数据项,根据恢复标识和客户端的数据项获取差异数据项集合,包括:根据恢复标识将客户端的每个数据项与服务器的所有数据项进行比对;如果比对出客户端的一数据项与服务器的一数据项的部分项内容相同且其余项内容不相同,则将服务器的一数据项确定为修改数据项;将与客户端的所有数据项的所有内容均不相同的服务器的数据项确定为新增数据项;将修改数据项和新增数据项合并为差异数据项集合。
该方式通常用于客户端执行第一次数据同步操作时,由于服务器预先不知道客户端的数据项与服务器的数据项之间的对应关系,因此,需要将客户端的每个数据项与服务器的所有数据项进行比对。由于数据项通常包含多项内容,例如,可以包含用户名、电话号码、QQ号码、邮箱地址等内容,用户在修改客户端的一数据项时,往往会修改其中部分项内容。例如,修改该数据项中的QQ号码,或在该数据项中继续添加一个或多个新的电话号码等。因而,在比对时,如果比对出客户端的一数据项与服务器的一数据项的部分项内容相同,说明该待恢复数据项与该服务器的数据项对应,又由于其余部分项内容不相同,则将该服务器的数据项确定为修改数据项。此外,如果客户端的一数据项与服务器的一数据项的全部内容均相同,说明客户端的该数据项与服务器的该数据项一致,无需使用服务器的数据项进行恢复操作,因而可以忽略该数据项。当然,如果客户端的所有数据项与服务器的数据项的全部内容均相同,则差异数据项集合中的修改数据项为空。
并且,如果一服务器的数据项与客户端的所有数据项的全部内容均不相同,则说明该数据项为新增到服务器的数据项,在客户端的本地数据中没有相应的记录,因而将该数据项确定为新增数据项。当然,如果没有任一服务器的数据项与客户端的所有数据项的全部内容均不相同,则差异数据项集合中的新增数据项为空。
举例来说,以客户端的所有数据项和服务器的所有数据项如下表1所示为例,每个数据项中包含用户名和手机号码,服务器接收到客户端上传的数据同步请求后,将客户端的数据项A与服务器的所有数据项A1-F进行比对,得到客户端的数据项A的用户名与服务器的数据项A1的用户名相同,且客户端的数据项A的手机号码与服务器的数据项A1的手机号码不相同,则将服务器的数据项A1确定为修改数据项。同样地,确定出服务器的数据项D1为修改数据项。并且,由于服务器的数据项E和数据项F的所有内容与客户端的所有数据项的所有内容均不相同,因而将服务器的数据项E和F确定为新增数据项。将修改数据项A1和D1以及新增数据项E和F合并为差异数据项集合。
表1
客户端的数据项 | 服务器的数据项 |
A:小张,138 | A1:小张,139 |
B:小李,188 | B:小李,188 |
C:Cindy,131 | C:Cindy,131 |
D:Gary,159 | D1:Gary,189 |
E:小梅,155 | |
F:小韩,137 |
方式二:数据同步请求中携带的客户端的数据项为客户端的所有数据项,数据同步请求中还携带有客户端的每个数据项的标识,根据恢复标识和客户端的数据项获取差异数据项集合,包括:根据客户端的每个数据项的标识确定与客户端的每个数据项对应的服务器的数据项;根据恢复标识将客户端的每个数据项与对应的服务器的数据项进行比对;如果比对出客户端的一数据项与对应的服务器的数据项的部分项内容或全部内容不相同,则将对应的服务器的数据项确定为修改数据项;将与客户端的所有数据项均不对应的服务器的数据项确定为新增数据项;将修改数据项和新增数据项合并为差异数据项集合。
该方式通常用于客户端先前执行过一次或多次数据同步请求之后,当客户端执行第一次数据同步请求且数据同步请求在携带有客户端的所有数据项时,服务器可以为客户端的每个数据项分配对应的标识,并为服务器的每个数据项分配对应的标识。在比对出全部内容均相同的客户端的数据项和服务器的数据项后,建立客户端的数据项的标识和与其相同的服务器的数据项的标识之间的映射关系。服务器还可以将客户端的每个数据项的标识以及建立的映射关系发送给客户端。当然,对于在客户端发送数据项同步请求之后新增到服务器的数据项,服务器先不分配标识,而是等待下一次客户端发送数据同步请求且在客户端的数据项中存在于新增到服务器的数据项相同的数据项时,再分别为客户端的数据项和新增到服务器的数据项分配标识,并建立标识之间的映射关系。
因此,客户端在发送本次数据同步请求时,除了在数据同步请求中携带客户端的所有数据项之外,还携带客户端的每个数据项的标识。服务器在根据客户端的每个数据项的标识确定与客户端的每个数据项对应的服务器的数据项,具体包括:根据预先建立的映射关系确定客户端的每个数据项的标识对应的服务器的数据项的标识,将对应的服务器的数据项的标识所标识的服务器的数据项确定为与客户端的每个数据项对应的服务器的数据项。因此,在对比时,根据恢复标识将客户端的每个数据项与对应的服务器的数据项进行比对。在比对时,如果客户端的一数据项与对应的服务器的数据项的部分项内容或全部内容不相同,则将对应的服务器的数据项确定为修改数据项。当然,如果客户端的每个数据项与对应的服务器的数据项的全部内容均相同,则差异数据项集合中的修改数据项为空。
在确定新增数据项时,如果服务器的一数据项与客户端的所有数据项均无法对应,则说明该服务器的数据项为相对于客户端的数据项的新增数据项。当然,如果服务器的所有数据项与客户端的所有数据项均对应,则差异数据项集合中的新增数据项为空。
举例来说,以客户端的所有数据项和服务器的所有数据项如下表2所示为例,服务器接收到客户端上传的数据同步请求后,根据预先建立的映射关系确定客户端的数据项A的标识ID1对应的服务器的数据项的标识ID2,从而根据服务器的数据项的ID2确定与客户端的数据项A对应的服务器的数据项A1;根据恢复标识将客户端的数据项A与对应的服务器的数据项A1进行比对,比对出客户端的数据项A与服务器的数据项A1的用户名相同而手机号码不相同,则将服务器的数据项A1确定为修改数据项。同样地,将服务器的数据项D1确定为修改数据项。服务器还将与客户端的所有数据项均不对应的服务器的数据项E和F作为新增数据项,将修改数据项A1和D1,以及新增数据项E和F合并为差异数据项集合。
表2
客户端的数据项 | 服务器的数据项 |
A:ID1,小张,138 | A1:ID2,小张,139 |
B:ID3,小李,188 | B:ID4,小李,188 |
C:ID5,Cindy,131 | C:ID6,Cindy,131 |
D:ID7,Gary,159 | D1:ID8,Gary,189 |
E:小梅,155 | |
F:小韩,137 |
方法三:数据同步请求中携带的客户端的数据项为客户端的所有数据项中的至少一个待恢复数据项,数据同步请求中还携带有时间标识,时间标识用于标识客户端上一次发送数据同步请求的时间;根据恢复标识和客户端的数据项获取差异数据项集合,包括:根据恢复标识将每个待恢复数据项与服务器的所有数据项进行比对;如果比对出一待恢复数据项与服务器的一数据项的部分项内容相同且其余项内容不相同,则将服务器的一数据项确定为修改数据项;将在时间标识所标识的时间之后添加的服务器的数据项确定为新增数据项;将修改数据项和新增数据项合并为差异数据项集合。
在该方式中,可以将客户端的所有数据项中的至少一个待恢复数据项作为客户端的本地数据,携带在数据同步请求中,由于数据同步请求中携带的数据较少,从而提高了客户端上传数据同步请求的速率。该方式应用于客户端预先并未获知客户端的每个数据项的标识的情况,当然,可以是客户端预先已经获知客户端的每个数据项的标识,而用户选择在数据同步请求中不携带待恢复数据项的标识。
具体地,为了在客户端上传的数据同步请求中携带客户端的所有数据项中至少一个待恢复数据项,客户端在将数据同步请求上传给服务器之前,还需要从客户端的所有数据项中确定至少一个待恢复数据项,具体包括:在将数据同步请求上传给服务器之前,确定用户在客户端的所有数据项中选择的数据项,并根据用户选择的数据项确定待恢复数据项。
其中,根据用户选择的数据项确定待恢复数据项,可以包括:将用户选择的数据项直接确定为待恢复数据项;或者,将客户端的所有数据项中除用户选择的数据项之外的其他数据项确定为待恢复数据项。除此之外,还可以有其他方式从客户端的所有数据项中确定待恢复数据项,本发明实施例在此不进行具体限定。
除了确定待恢复数据项,还需要在数据同步请求中携带时间标识,时间标识用于标识客户端上一次发送数据同步请求的时间。客户端可以在每次发送数据同步请求时,均记录本次发送数据同步请求的时间,从而在下一次发送数据同步请求时,可以在数据同步请求中携带时间标识,用于标识客户端上一次发送数据同步请求的时间。
服务器在接收到客户端发送的携带有待恢复数据项和时间标识的数据同步请求后,由于数据同步请求中没有待恢复数据项的标识,服务器无法判断与每个待恢复数据项对应的服务器的数据项,因此,需要将每个待恢复数据项与服务器的所有数据项进行比对。由于数据项通常包含多项内容,例如,可以包含用户名、电话号码、QQ号码、邮箱地址等内容,用户在修改客户端的数据项时,往往会修改其中的部分项内容。例如,修改该数据项中的QQ号码,或在该数据项中继续添加一个或多个新的电话号码等。因而,在比对时,如果比对出一待恢复数据项与服务器的一数据项的部分项内容相同,则说明该待恢复数据项与该服务器的数据项对应,又由于其余项内容不相同,可以将该服务器的数据项确定为修改数据项。此外,如果一待恢复数据项与服务器的一数据项的全部项内容均相同,说明该待恢复数据项与该服务器的数据项一致,无需使用该服务器的数据项进行恢复操作,因而可以忽略该服务器的数据项。当然,如果所有待恢复数据项与服务器的数据项的全部内容均相同,则差异数据项集合中的修改数据项为空。
并且,服务器还记录了服务器的每个数据项添加到服务器的数据的时间,在确定新增数据项时,从而可以将服务器的数据中在数据同步请求携带的时间标识所标识的时间之后添加的数据项确定为新增数据项。当然,如果服务器的数据项中没有在时间标识所标识的时间之后添加的数据项,则差异数据项集合中的新增数据项为空。
举例来说,仍以客户端的所有数据项和服务器的所有数据项如上述表1所示为例,客户端在上传数据同步请求之前,还可以确定用户在客户端的所有数据项中选择的客户端的数据项A和B,将客户端的数据项A和B确定为待恢复数据项,并待恢复数据项和标识客户端上一次发送数据同步请求的时间的时间标识“12:45”携带在数据同步请求中上传给服务器,服务器接收到客户端上传的数据同步请求后,根据恢复标识将待恢复数据项A与服务器的所有数据项A1-F进行比对,比对得到待恢复数据项A与服务器的数据项A1的用户名相同且手机号码不相同,则将服务器的数据项A1确定为修改数据项。同样的,比对出客户端的数据项B与服务器的数据项B的全部内容均相同,且与服务器的数据项A1、C、D1、E、F的全部内容均不相同,则仅将服务器的数据项A1确定为修改数据项。并且,将在时间标识“12:45”所标识的时间12:45之后添加的服务器的数据项E和F确定为新增数据项,将修改数据项A1和新增数据项E和F合并为差异数据项集合。
方式四:数据同步请求中携带的客户端的数据项为客户端的所有数据项中的至少一个待恢复数据项,数据同步请求中还携带有时间标识和每个待恢复数据项的标识,时间标识用于标识客户端上一次发送数据同步请求的时间;根据恢复标识和客户端的数据项获取差异数据项集合,包括:根据每个待恢复数据项的标识确定与每个待恢复数据项对应的服务器的数据项;根据恢复标识将每个待恢复数据项与对应的服务器的数据项进行比对;如果比对出一待恢复数据项与对应的服务器的数据项的部分项内容或全部内容不相同,则将对应的服务器的数据项确定为修改数据项;将在时间标识所标识的时间之后添加的服务器的数据项确定为新增数据项;将修改数据项和新增数据项合并为差异数据项集合。
方式四也是为了提高了客户端上传数据同步请求的速率,从而将客户端的所有数据项中的至少一个待恢复数据项作为客户端的本地数据,并携带在数据同步请求中。
在方式四中,具体确定待恢复数据项的方式与方式三相同,在此不再赘述。并且,由于数据同步请求中还携带有每个待恢复数据项的标识,因此,服务器可以根据每个待恢复数据项的标识确定与每个待恢复数据项对应的服务器的数据项。根据每个待恢复数据项的标识确定与每个待恢复数据项对应的服务器的数据项时,具体包括:根据预先建立的映射关系确定每个待恢复数据项的标识对应的服务器的数据项的标识,将对应的服务器的数据项的标识所标识的服务器的数据项确定为与每个待恢复数据项对应的服务器的数据项。因此,在对比时,仅需要根据恢复标识将每个待恢复数据项与对应的服务器的数据项进行比对即可。在比对时,如果一待恢复数据项与对应的服务器的数据项的部分项内容或全部内容不相同,则将对应的服务器的数据项确定为修改数据项。当然,如果所有待恢复数据项与对应的服务器的数据项的全部内容均相同,则差异数据项集合中的修改数据项为空。
在确定新增数据项时,根据数据同步请求中携带的时间标识确定新增数据项,具体可以参见上述方式三,在此不再赘述。
举例来说,仍以客户端的所有数据项和服务器的所有数据项如上述表2所示为例,客户端在上传数据同步请求之前,还可以确定用户在客户端的所有数据项中选择的客户端的数据项A和客户端的数据项B,将客户端的数据项A和客户端的数据项B确定为待恢复数据项,并待恢复数据项、标识客户端上一次发送数据同步请求的时间的时间标识“12:45”和每个待恢复数据项的标识携带在数据同步请求中上传给服务器,服务器接收到客户端上传的数据同步请求后,根据预先建立的映射关系确定客户端的数据项A的标识ID1对应的服务器的数据项的标识ID2,从而根据服务器的数据项的ID2确定与客户端的数据项A对应的服务器的数据项A1;根据恢复标识将客户端的数据项A与对应的服务器的数据项A1进行比对,比对出客户端的数据项A与服务的数据项A1的用户名相同且手机号码不相同,则将服务器的数据项A1确定为修改数据项。同样地,确定出与客户端的数据项B对应的服务器的数据项B,并比对出客户端的数据项B与服务器的数据项B的全部内容均相同,则不将服务器的数据项B确定为修改数据项。并且,服务器还将服务器的数据项中在时间标识“12:45”所标识的时间12:45之后添加的数据项E和F确定为新增数据项,将修改数据项A1和新增数据项E和F合并为差异数据项集合。
需要说明的是,在上述方式一至方式四中,服务器在获取到差异数据项集合后,可以丢弃数据同步请求中携带的客户端的数据项。此外,无论是在上述方式一、方式二、方式三或是方式四中,服务器还可以根据数据同步请求中携带的客户端的数据项获取第二差异数据项集合,第二差异数据项集合中包括客户端的数据项中相对于服务器的数据项的修改数据项和新增数据项。然而,由于客户端上传的数据同步请求中携带有恢复标识,服务器根据恢复标识不修改服务器的数据,因此,服务器需要丢弃第二差异数据项集合。
303:服务器将差异数据项集合发送给客户端。
服务器在获取到差异数据项集合后,还将差异数据项集合发送给客户端,以便于后续客户端执行同步操作。服务器将差异数据项集合发送给客户端时,也可以通过上述步骤301中建立的SyncML连接将差异数据项集合发送给客户端。
304:客户端根据差异数据项集合同步客户端的本地数据。
针对该步骤,根据差异数据项集合同步客户端的本地数据的具体方式包括但不限于:将差异数据项集合中的修改数据项替换客户端的本地数据中对应的数据项;将差异数据项集合中的新增数据项添加到客户端的本地数据中。
其中,客户端在将差异数据项集合中的修改数据项替换客户端的本地数据中对应的数据项时,可以根据客户端的数据项的标识和修改数据项的标识以及预先获取到的服务器发送的映射关系确定修改数据项对应的客户端的数据项。客户端可以将差异数据项集合中所有的修改数据项都替换客户端的本地数据中对应的数据项,将差异数据项集合中所有的新增数据项都添加到客户端的本地数据中。进一步地,为了使得用户能够根据自己的意愿选择需要客户端的本地数据中同步的数据项,将差异数据项集合中的修改数据项替换客户端的本地数据中对应的数据项之前,还包括:显示差异数据项集合中的修改数据项,并确定用户在显示的差异数据项集合中的修改数据项中选择的修改数据项。相应地,将差异数据项集合中的修改数据项替换客户端的本地数据中对应的数据项,包括:将差异数据项集合中用户选择的修改数据项替换客户端的本地数据中对应的数据项。而将差异数据项集合中的新增数据项添加到客户端的本地数据中之前,还包括:显示差异数据项集合中的新增数据项,并确定用户在显示的差异数据项集合中的新增数据项中选择的新增数据项。相应地,将差异数据项集合中的新增数据项添加到客户端的本地数据中,包括:将差异数据项集合中用户选择的新增数据项添加到客户端的本地数据中。
通过显示差异数据项集合中的修改数据项和新增数据项,用户可以根据自己的意愿选择修改数据项用于替换客户端的本地数据中对应的数据项,并根据自己的意愿选择新增数据项添加到客户端的本地数据中。
举例来说,以步骤302中获取到的差异数据项集合中的修改数据项为A1和D1,新增数据项为E和F为例,显示差异数据项集合中的修改数据项为A1和D1,确定用户选择的修改数据项A1,将用户选择的修改数据项A1替换客户端的本地数据中对应的数据项A。显示差异数据项集合中的新增数据项E和F,确定用户选择的新增数据项E和F,将用户选择的新增数据项添加到客户端的本地数据中。
经过数据同步后,客户端的所有数据项和服务器的所有数据项如下表3所示。由于客户端上传的数据同步请求中携带有恢复标识,因而服务器根据恢复标识不修改服务器的数据,从而防止了当客户端的本地数据为错误数据时,服务器根据客户端的本地数据修改服务器的数据后,将造成服务器的数据也发生错误,且由于原先正确的服务器的数据已被修改无法恢复,从而造成无法恢复的数据错误。
表3
客户端的数据项 | 服务器的数据项 |
A1:ID2,小张,139 | A1:ID2,小张,139 |
B:ID3,小李,188 | B:ID4,小李,188 |
C:ID5,Cindy,131 | C:ID6,Cindy,131 |
D:ID7,Gary,159 | D1:ID8,Gary,189 |
E:小梅,155 | E:小梅,155 |
F:小韩,137 | F:小韩,137 |
除了上述方式一和方式二之外,还可以采用其他方式根据差异数据项集合同步客户端的本地数据,例如,客户端将差异数据项集合中的意一个或多个修改数据项替换客户端的本地数据中对应的数据项,将差异数据项集合中的意一个或多个新增数据项添加到客户端的本地数据中。对于根据差异数据项集合同步客户端的本地数据的具体方式,本发明实施例在此不进行具体限定。
需要说明的是,在用户不确定客户端的本地数据是否正确或者是否为相对服务器的数据来说被修改后的数据项时,可以选择采用本发明实施例提供的数据同步的方法,实现根据服务器返回的差异数据项集合同步客户端的本地数据。并且,在将差异数据项集合中的修改数据项替换客户端的本地数据中对应的数据项或者将差异数据项集合中的新增数据项添加到客户端的本地数据时,用户通过显示的修改数据项或新增数据项可以判断用服务器返回的数据项是否为正确的数据项或者为相对于客户端的本地数据来说被修改后的数据项。如果用户判断出服务器返回的数据项为正确的数据项或者相对于客户端的本地数据来说被修改后的数据项,则可以选择用服务器返回的数据项修改客户端的本地数据;如果用户判断出服务器返回的数据项并不是正确的数据项或者相对于客户端的本地数据来说被修改后的数据项,则说明客户端的本地数据中对应的数据项为正确的数据项或者相对于服务器的数据来说被修改后的数据项,用户将不会选择用服务器返回的数据项修改客户端的本地数据。此外,用户还可以选择采用现有技术提供的双向同步、慢同步或者其他数据同步的方式,根据客户端的本地数据修改服务器的数据,使得服务器的数据同步于客户端的本地数据,从而确保了同步之后的服务器的数据和客户端的本地数据均为用户认为正确的数据。
例如,仍以差异数据项集合中的修改数据项为A1和D1为例,由于用户仅选择修改数据项A1,因而仅将用户选择的修改数据项A1替换客户端的本地数据中对应的数据项A。此时,说明用户判断显示的修改数据项D1相对于客户端的本地数据中对应的数据项D来说不是最新的数据项,因而,用户还可以使客户端采用双向同步的方式,上传携带有修改(Add)标识和客户端的修改数据项D,服务器在接收到客户端上传的数据同步请求后,根据修改标识将客户端的修改数据项D同步到服务器的数据中对应的数据项。经过上述双向同步后,客户端的所有数据项和服务器的所有数据项如下表4所示。此时,客户端的所有数据项和服务器的所有数据项均为正确的数据项且相互同步的数据项。
表4
客户端的数据项 | 服务器的数据项 |
A1:ID2,小张,139 | A1:ID2,小张,139 |
B:ID3,小李,188 | B:ID4,小李,188 |
C:ID5,Cindy,131 | C:ID6,Cindy,131 |
D:ID7,Gary,159 | D:ID7,Gary,159 |
E:小梅,155 | E:小梅,155 |
F:小韩,137 | F:小韩,137 |
在本发明实施例中,服务器的架构如图4所示,其中,数据存储模块用于存储服务器的数据;映射关系维护模块用于维护服务器的数据中的数据项和客户端的本地数据中的数据项之间的对应关系;同步客户端维护模块用于维护可以与服务器的数据进行同步的多个客户端。HTTP接入模块用于与客户端建立OMA SyncML DS同步连接,并接收客户端通过HTTP请求上传的XML或WBXML报文形式的数据同步请求,该数据同步请求中携带有恢复标识和客户端的数据项;将XML或WBXML报文发送给同步适配模块。同步适配模块用于解析HTTP接入模块接收到的XML或WBXML报文,并根据解析结果获取待执行的同步命令和数据;将获取到的待执行的同步命令和数据发送给同步引擎。同步引擎根据同步适配模块发送的恢复标识和客户端的数据项获取差异数据项集合,并将差异数据项集合发送给同步代理out(输出)模块。同步代理in(输入)模块用于接收客户端发送的数据;同步代理out模块用于将差异数据项集合发送给客户端,使得客户端根据差异数据项集合同步客户端的本地数据。
综上所述,本发明实施例提供的方法,通过服务器根据恢复标识和客户端的本地数据获取包括服务器的数据中相对于客户端的数据项的修改数据项和新增数据项的差异数据项集合后,不修改服务器的数据,将差异数据项集合发送给客户端,使得客户端根据差异数据项集合同步客户端的本地数据,扩展了数据同步的方式,实现了在数据同步过程中不修改服务器的数据,且能够用服务器的数据恢复客户端的本地数据,从而避免了客户端的本地数据发生错误时对服务器的数据造成的错误修改。
实施例三
本发明实施例提供了一种服务器,该服务器用于执行上述实施例一或实施例二提供的数据同步的方法。参见图5,该服务器包括:
接收模块501,用于接收客户端上传的数据同步请求,数据同步请求中携带有恢复标识和客户端的数据项;
获取模块502,用于根据恢复标识和客户端的数据项获取差异数据项集合,差异数据项集合中包括服务器的数据项中相对于客户端的数据项的修改数据项和新增数据项;
发送模块503,用于将获取模块502获取到的差异数据项集合发送给客户端,使得客户端根据差异数据项集合同步客户端的本地数据。
具体地,接收模块接收到的数据同步请求中携带的客户端的数据项为客户端的所有数据项,获取模块,包括:
第一比对单元,用于根据恢复标识将客户端的每个数据项与服务器的所有数据项进行比对;
第一确定单元,用于在第一比对单元比对出客户端的一数据项与服务器的一数据项的部分项内容相同且其余项内容不相同时,将服务器的一数据项确定为修改数据项;
该第一确定单元,还用于将与客户端的所有数据项的所有内容均不相同的服务器的数据项确定为新增数据项;
第一合并单元,用于将第一确定单元确定的修改数据项和新增数据项合并为差异数据项集合。
具体地,接收模块接收到的数据同步请求中携带的客户端的数据项为客户端的所有数据项,数据同步请求中还携带有客户端的每个数据项的标识,获取模块,包括:
第二确定单元,用于根据客户端的每个数据项的标识确定与客户端的每个数据项对应的服务器的数据项;
第二比对单元,用于根据恢复标识将客户端的每个数据项与对应的服务器的数据项进行比对;
第二确定单元,还用于在第二比对单元比对出客户端的一数据项与对应的服务器的数据项的部分项内容或全部内容不相同,则将对应的服务器的数据项确定为修改数据项;
该第二确定单元,还用于将与客户端的所有数据项均不对应的服务器的数据项确定为新增数据项;
第二合并单元,用于将第二确定单元确定的修改数据项和新增数据项合并为差异数据项集合。
具体地,接收模块接收到的数据同步请求中携带的客户端的数据项为客户端的所有数据项中的至少一个待恢复数据项,数据同步请求中还携带有时间标识,时间标识用于标识客户端上一次发送数据同步请求的时间;获取模块,包括:
第三比对单元,用于根据恢复标识将每个待恢复数据项与服务器的所有数据项进行比对;
第三确定单元,用于在第三比对单元比对出一待恢复数据项与服务器的一数据项的部分项内容相同且其余项内容不相同时,将服务器的一数据项确定为修改数据项;
该第三确定单元,还用于将在时间标识所标识的时间之后添加的服务器的数据项确定为新增数据项;
第三合并单元,用于将第三确定单元确定的修改数据项和新增数据项合并为差异数据项集合。
具体地,接收模块接收到的数据同步请求中携带的客户端的数据项为客户端的所有数据项中的至少一个待恢复数据项,数据同步请求中还携带有时间标识和每个待恢复数据项的标识,时间标识用于标识客户端上一次发送数据同步请求的时间;获取模块,包括:
第四确定单元,用于根据每个待恢复数据项的标识确定与每个待恢复数据项对应的服务器的数据项;
第四比对单元,用于根据恢复标识将每个待恢复数据项与对应的服务器的数据项进行比对;
该第四确定单元,还用于在第四比对单元比对出一待恢复数据项与对应的服务器的数据项的部分项内容或全部内容不相同时,将对应的服务器的数据项确定为修改数据项;
该第四确定单元,还用于将在时间标识所标识的时间之后添加的服务器的数据项确定为新增数据项;
第四合并单元,用于将第四确定单元确定的修改数据项和新增数据项合并为差异数据项集合。
综上所述,本发明实施例提供的服务器,通过服务器根据恢复标识和客户端的本地数据获取包括服务器的数据中相对于客户端的数据项的修改数据项和新增数据项的差异数据项集合后,不修改服务器的数据,将差异数据项集合发送给客户端,使得客户端根据差异数据项集合同步客户端的本地数据,扩展了数据同步的方式,实现了在数据同步过程中不修改服务器的数据,且能够用服务器的数据恢复客户端的本地数据,从而避免了客户端的本地数据发生错误时对服务器的数据造成的错误修改。
实施例四
本发明实施例提供了一种客户端,该客户端用于执行上述实施例一或实施例二提供的数据同步的方法。参见图6,该客户端包括:
上传模块601,用于将数据同步请求上传给服务器,数据同步请求中携带有恢复标识和客户端的数据项,使得服务器根据恢复标识和客户端的数据项获取差异数据项集合,将差异数据项集合发送给客户端;
接收模块602,用于接收服务器发送的差异数据项集合;
同步模块603,用于根据接收模块602接收到的差异数据项集合同步客户端的本地数据;
其中,差异数据项集合中包括服务器的数据项中相对于客户端的数据项的修改数据项和新增数据项。
具体地,上传模块上传的数据同步请求中携带的客户端的数据项为客户端的所有数据项,使得服务器根据恢复标识将客户端的每个数据项与服务器的所有数据项进行比对,并在比对出客户端的一数据项与服务器的一数据项的部分项内容相同且其余项内容不相同时,将服务器的一数据项确定为修改数据项,将与客户端的所有数据项的所有内容均不相同的服务器的数据项确定为新增数据项之后,将修改数据项和新增数据项合并为差异数据项集合。
具体地,上传模块上传的数据同步请求中携带的客户端的数据项为客户端的所有数据项,数据同步请求中还携带有客户端的每个数据项的标识,使得服务器根据客户端的每个数据项的标识确定与客户端的每个数据项对应的服务器的数据项,并根据恢复标识将客户端的每个数据项与对应的服务器的数据项进行比对,在比对出客户端的一数据项与对应的服务器的数据项的部分项内容或全部内容不相同时,将对应的服务器的数据项确定为修改数据项,将与客户端的所有数据项均不对应的服务器的数据项确定为新增数据项之后,将修改数据项和新增数据项合并为差异数据项集合。
具体地,上传模块上传的数据同步请求中携带的客户端的数据项为客户端的所有数据项中的至少一个待恢复数据项,数据同步请求中还携带有时间标识,时间标识用于标识客户端上一次发送数据同步请求的时间,使得服务器根据恢复标识将每个待恢复数据项与服务器的所有数据项进行比对,并在比对出一待恢复数据项与服务器的一数据项的部分项内容相同且其余项内容不相同时,将服务器的一数据项确定为修改数据项,将在时间标识所标识的时间之后添加的服务器的数据项确定为新增数据项之后,将修改数据项和新增数据项合并为差异数据项集合。
具体地,上传模块上传的数据同步请求中携带的客户端的数据项为客户端的所有数据项中的至少一个待恢复数据项,数据同步请求中还携带有时间标识和每个待恢复数据项的标识,时间标识用于标识客户端上一次发送数据同步请求的时间,使得服务器根据每个待恢复数据项的标识确定与每个待恢复数据项对应的服务器的数据项,并根据恢复标识将每个待恢复数据项与对应的服务器的数据项进行比对,并在比对出一待恢复数据项与对应的服务器的数据项的部分项内容或全部内容不相同时,将对应的服务器的数据项确定为修改数据项,将在时间标识所标识的时间之后添加的服务器的数据项确定为新增数据项之后,将修改数据项和新增数据项合并为差异数据项集合。
进一步地,客户端还包括:
确定模块,用于确定用户在客户端的所有数据项中选择的数据项;并根据第一确定模块确定的用户选择的数据项确定待恢复数据项。
具体地,同步模块,包括:
替换单元,用于将差异数据项集合中的修改数据项替换客户端的本地数据中对应的数据项;
添加单元,用于将差异数据项集合中的新增数据项添加到客户端的本地数据中。
具体地,同步模块,还包括:
显示单元,用于显示差异数据项集合中的修改数据项;
确定单元,用于确定用户在显示单元显示的差异数据项集合中的修改数据项中选择的修改数据项;
替换单元,具体用于将确定单元确定的差异数据项集合中用户选择的修改数据项替换客户端的本地数据中对应的数据项。
具体地,显示单元,还用于显示差异数据项集合中的新增数据项;
确定单元,还用于确定用户在显示单元显示的差异数据项集合中的新增数据项中选择的新增数据项;
添加单元,具体用于将确定单元确定的差异数据项集合在用户选择的新增数据项添加到客户端的本地数据中。
综上所述,本发明实施例提供的客户端,通过上传恢复标识和客户端的本地数据给服务器,使得服务器根据恢复标识和客户端的本地数据获取包括服务器的数据中相对于客户端的数据项的修改数据项和新增数据项的差异数据项集合后,不修改服务器的数据,将差异数据项集合发送给客户端后,客户端根据差异数据项集合同步客户端的本地数据,扩展了数据同步的方式,实现了在数据同步过程中不修改服务器的数据,且能够用服务器的数据恢复客户端的本地数据,从而避免了客户端的本地数据发生错误时对服务器的数据造成的错误修改。
实施例五
本发明实施例提供了一种数据同步的系统,该系统用于执行上述实施例一或实施例二提供的数据同步的方法。参见图7,该系统包括:服务器701和客户端702;
其中,服务器701如上述实施例三所述的服务器;
客户端702如上述实施例四所述的客户端。
综上所述,本发明实施例提供的系统,通过服务器根据恢复标识和客户端的本地数据获取包括服务器的数据中相对于客户端的数据项的修改数据项和新增数据项的差异数据项集合后,不修改服务器的数据,将差异数据项集合发送给客户端,使得客户端根据差异数据项集合同步客户端的本地数据,扩展了数据同步的方式,实现了在数据同步过程中不修改服务器的数据,且能够用服务器的数据恢复客户端的本地数据,从而避免了客户端的本地数据发生错误时对服务器的数据造成的错误修改。
实施例六
本发明实施例提供了一种服务器,该服务器包括至少一个存储器和至少一个处理器,例如CPU(Central Processing Unit,中央处理器单元)等,存储器可以包含高速Ram存储器,也可以还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器用于存储处理器所执行方案的流程代码,存储器用于存储处理器所执行方案的流程代码,处理器通过总线与多个存储节点耦合,以执行数据同步的功能。
处理器,用于接收客户端上传的数据同步请求,数据同步请求中携带有恢复标识和客户端的数据项;
根据恢复标识和客户端的数据项获取差异数据项集合,差异数据项集合中包括服务器的数据项中相对于客户端的数据项的修改数据项和新增数据项;
将差异数据项集合发送给客户端,使得客户端根据差异数据项集合同步客户端的本地数据。
具体地,数据同步请求中携带的客户端的数据项为客户端的所有数据项,处理器,用于根据恢复标识将客户端的每个数据项与服务器的所有数据项进行比对;
如果比对出客户端的一数据项与服务器的一数据项的部分项内容相同且其余部分项内容不相同,则将服务器的一数据项确定为修改数据项;
将与客户端的所有数据项的所有内容均不相同的服务器的数据项确定为新增数据项;
将修改数据项和新增数据项合并为差异数据项集合。
具体地,数据同步请求中携带的客户端的数据项为客户端的所有数据项,数据同步请求中还携带有客户端的每个数据项的标识,处理器,用于根据客户端的每个数据项的标识确定与客户端的每个数据项对应的服务器的数据项;
根据恢复标识将客户端的每个数据项与对应的服务器的数据项进行比对;
如果比对出客户端的一数据项与对应的服务器的数据项的部分项内容或全部内容不相同,则将对应的服务器的数据项确定为修改数据项;
将与客户端的所有数据项均不对应的服务器的数据项确定为新增数据项;
将修改数据项和新增数据项合并为差异数据项集合。
具体地,数据同步请求中携带的客户端的数据项为客户端的所有数据项中的至少一个待恢复数据项,数据同步请求中还携带有时间标识,时间标识用于标识客户端上一次发送数据同步请求的时间;处理器,用于根据恢复标识将每个待恢复数据项与服务器的所有数据项进行比对;
如果比对出一待恢复数据项与服务器的一数据项的部分项内容相同且其余部分项内容不相同,则将服务器的一数据项确定为修改数据项;
将在时间标识所标识的时间之后添加的服务器的数据项确定为新增数据项;
将修改数据项和新增数据项合并为差异数据项集合。
具体地,数据同步请求中携带的客户端的数据项为客户端的所有数据项中的至少一个待恢复数据项,数据同步请求中还携带有时间标识和每个待恢复数据项的标识,时间标识用于标识客户端上一次发送数据同步请求的时间;处理器,用于根据每个待恢复数据项的标识确定与每个待恢复数据项对应的服务器的数据项;
根据恢复标识将每个待恢复数据项与对应的服务器的数据项进行比对;
如果比对出一待恢复数据项与对应的服务器的数据项的部分项内容或全部内容不相同,则将对应的服务器的数据项确定为修改数据项;
将在时间标识所标识的时间之后添加的服务器的数据项确定为新增数据项;
将修改数据项和新增数据项合并为差异数据项集合。
综上所述,本发明实施例提供的服务器,通过服务器根据恢复标识和客户端的本地数据获取包括服务器的数据中相对于客户端的数据项的修改数据项和新增数据项的差异数据项集合后,不修改服务器的数据,将差异数据项集合发送给客户端,使得客户端根据差异数据项集合同步客户端的本地数据,扩展了数据同步的方式,实现了在数据同步过程中不修改服务器的数据,且能够用服务器的数据恢复客户端的本地数据,从而避免了客户端的本地数据发生错误时对服务器的数据造成的错误修改。
实施例七
本发明实施例提供了一种客户端,该客户端包括至少一个存储器和至少一个处理器,例如CPU等,存储器可以包含高速Ram存储器,也可以还包括非不稳定的存储器,例如至少一个磁盘存储器用于存储处理器所执行方案的流程代码,存储器用于存储处理器所执行方案的流程代码,处理器通过总线与多个存储节点耦合,以执行数据同步的功能。
处理器,用于将数据同步请求上传给服务器,数据同步请求中携带有恢复标识和客户端的数据项,使得服务器根据恢复标识和客户端的数据项获取差异数据项集合,将差异数据项集合发送给客户端;
接收服务器发送的差异数据项集合,并根据差异数据项集合同步客户端的本地数据;
其中,差异数据项集合中包括服务器的数据项中相对于客户端的数据项的修改数据项和新增数据项。
具体地,数据同步请求中携带的客户端的数据项为客户端的所有数据项,使得服务器根据恢复标识将客户端的每个数据项与服务器的所有数据项进行比对,并在比对出客户端的一数据项与服务器的一数据项的部分项内容相同且其余部分项内容不相同时,将服务器的一数据项确定为修改数据项,将与客户端的所有数据项的所有内容均不相同的服务器的数据项确定为新增数据项之后,将修改数据项和新增数据项合并为差异数据项集合。
具体地,数据同步请求中携带的客户端的数据项为客户端的所有数据项,数据同步请求中还携带有客户端的每个数据项的标识,使得服务器根据客户端的每个数据项的标识确定与客户端的每个数据项对应的服务器的数据项,并根据恢复标识将客户端的每个数据项与对应的服务器的数据项进行比对,在比对出客户端的一数据项与对应的服务器的数据项的部分项内容或全部内容不相同时,将对应的服务器的数据项确定为修改数据项,将与客户端的所有数据项均不对应的服务器的数据项确定为新增数据项之后,将修改数据项和新增数据项合并为差异数据项集合。
具体地,数据同步请求中携带的客户端的数据项为客户端的所有数据项中的至少一个待恢复数据项,数据同步请求中还携带有时间标识,时间标识用于标识客户端上一次发送数据同步请求的时间,使得服务器根据恢复标识将每个待恢复数据项与服务器的所有数据项进行比对,并在比对出一待恢复数据项与服务器的一数据项的部分项内容相同且其余部分项内容不相同时,将服务器的一数据项确定为修改数据项,将在时间标识所标识的时间之后添加的服务器的数据项确定为新增数据项之后,将修改数据项和新增数据项合并为差异数据项集合。
具体地,数据同步请求中携带的客户端的数据项为客户端的所有数据项中的至少一个待恢复数据项,数据同步请求中还携带有时间标识和每个待恢复数据项的标识,时间标识用于标识客户端上一次发送数据同步请求的时间,使得服务器根据每个待恢复数据项的标识确定与每个待恢复数据项对应的服务器的数据项,并根据恢复标识将每个待恢复数据项与对应的服务器的数据项进行比对,并在比对出一待恢复数据项与对应的服务器的数据项的部分项内容或全部内容不相同时,将对应的服务器的数据项确定为修改数据项,将在时间标识所标识的时间之后添加的服务器的数据项确定为新增数据项之后,将修改数据项和新增数据项合并为差异数据项集合。
进一步地,处理器,用于确定用户在客户端的所有数据项中选择的数据项,并根据用户选择的数据项确定待恢复数据项。
具体地,处理器,用于将差异数据项集合中的修改数据项替换客户端的本地数据中对应的数据项;
将差异数据项集合中的新增数据项添加到客户端的本地数据中。
具体地,处理器,用于显示差异数据项集合中的修改数据项,并确定用户在显示的差异数据项集合中的修改数据项中选择的修改数据项;
将差异数据项集合中用户选择的修改数据项替换客户端的本地数据中对应的数据项。
具体地,处理器,用于显示差异数据项集合中的新增数据项,并确定用户在显示的差异数据项集合中的新增数据项中选择的新增数据项;
将差异数据项集合中用户选择的新增数据项添加到客户端的本地数据中。
综上所述,本发明实施例提供的客户端,通过客户端上传的恢复标识和客户端的数据项给服务器,使得服务器根据恢复标识和客户端的本地数据获取包括服务器的数据中相对于客户端的数据项的修改数据项和新增数据项的差异数据项集合后,不修改服务器的数据,将差异数据项集合发送给客户端后,客户端根据差异数据项集合同步客户端的本地数据,扩展了数据同步的方式,实现了在数据同步过程中不修改服务器的数据,且能够用服务器的数据恢复客户端的本地数据,从而避免了客户端的本地数据发生错误时对服务器的数据造成的错误修改。
需要说明的是:上述实施例提供的服务器和客户端在数据同步时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不相同的功能模块完成,即将服务器和客户端的内部结构划分成不相同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的服务器和客户端与数据同步的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (29)
1.一种数据同步的方法,其特征在于,所述方法包括:
服务器接收客户端上传的数据同步请求,所述数据同步请求中携带有恢复标识和所述客户端的数据项;
根据所述恢复标识和所述客户端的数据项获取差异数据项集合,所述差异数据项集合中包括所述服务器的数据项中相对于所述客户端的数据项的修改数据项和新增数据项;
将所述差异数据项集合发送给所述客户端,使得所述客户端根据所述差异数据项集合同步所述客户端的本地数据。
2.根据权利要求1所述的方法,其特征在于,所述数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项,所述根据所述恢复标识和所述客户端的数据项获取差异数据项集合,包括:
根据所述恢复标识将所述客户端的每个数据项与所述服务器的所有数据项进行比对;
如果比对出所述客户端的一数据项与所述服务器的一数据项的部分项内容相同且其余项内容不相同,则将所述服务器的一数据项确定为修改数据项;
将与所述客户端的所有数据项的所有内容均不相同的所述服务器的数据项确定为新增数据项;
将所述修改数据项和所述新增数据项合并为差异数据项集合。
3.根据权利要求1所述的方法,其特征在于,所述数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项,所述数据同步请求中还携带有所述客户端的每个数据项的标识,所述根据所述恢复标识和所述客户端的数据项获取差异数据项集合,包括:
根据所述客户端的每个数据项的标识确定与所述客户端的每个数据项对应的所述服务器的数据项;
根据所述恢复标识将所述客户端的每个数据项与对应的所述服务器的数据项进行比对;
如果比对出所述客户端的一数据项与对应的所述服务器的数据项的部分项内容或全部内容不相同,则将对应的所述服务器的数据项确定为修改数据项;
将与所述客户端的所有数据项均不对应的所述服务器的数据项确定为新增数据项;
将所述修改数据项和所述新增数据项合并为差异数据项集合。
4.根据权利要求1所述的方法,其特征在于,所述数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项中的至少一个待恢复数据项,所述数据同步请求中还携带有时间标识,所述时间标识用于标识所述客户端上一次发送数据同步请求的时间;所述根据所述恢复标识和所述客户端的数据项获取差异数据项集合,包括:
根据所述恢复标识将每个待恢复数据项与所述服务器的所有数据项进行比对;
如果比对出一待恢复数据项与所述服务器的一数据项的部分项内容相同且其余项内容不相同,则将所述服务器的数据项确定为修改数据项;
将在所述时间标识所标识的时间之后添加的所述服务器的数据项确定为新增数据项;
将所述修改数据项和所述新增数据项合并为差异数据项集合。
5.根据权利要求1所述的方法,其特征在于,所述数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项中的至少一个待恢复数据项,所述数据同步请求中还携带有时间标识和每个待恢复数据项的标识,所述时间标识用于标识所述客户端上一次发送数据同步请求的时间;所述根据所述恢复标识和所述客户端的数据项获取差异数据项集合,包括:
根据每个待恢复数据项的标识确定与所述每个待恢复数据项对应的所述服务器的数据项;
根据所述恢复标识将所述每个待恢复数据项与对应的所述服务器的数据项进行比对;
如果比对出一待恢复数据项与对应的所述服务器的数据项的部分项内容或全部内容不相同,则将对应的所述服务器的数据项确定为修改数据项;
将在所述时间标识所标识的时间之后添加的所述服务器的数据项确定为新增数据项;
将所述修改数据项和所述新增数据项合并为差异数据项集合。
6.一种数据同步的方法,其特征在于,所述方法包括:
客户端将数据同步请求上传给服务器,所述数据同步请求中携带有恢复标识和所述客户端的数据项,使得所述服务器根据所述恢复标识和所述客户端的数据项获取差异数据项集合,将所述差异数据项集合发送给所述客户端;
接收所述服务器发送的所述差异数据项集合,并根据所述差异数据项集合同步所述客户端的本地数据;
其中,所述差异数据项集合中包括所述服务器的数据项中相对于所述客户端的数据项的修改数据项和新增数据项。
7.根据权利要求6所述的方法,其特征在于,所述数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项,使得所述服务器根据所述恢复标识将所述客户端的每个数据项与所述服务器的所有数据项进行比对,并在比对出所述客户端的一数据项与所述服务器的一数据项的部分项内容相同且其余项内容不相同时,将所述服务器的一数据项确定为修改数据项,将与所述客户端的所有数据项的所有内容均不相同的所述服务器的数据项确定为新增数据项之后,将所述修改数据项和所述新增数据项合并为差异数据项集合。
8.根据权利要求6所述的方法,其特征在于,所述数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项,所述数据同步请求中还携带有所述客户端的每个数据项的标识,使得所述服务器根据所述客户端的每个数据项的标识确定与所述客户端的每个数据项对应的所述服务器的数据项,并根据所述恢复标识将所述客户端的每个数据项与对应的所述服务器的数据项进行比对,在比对出所述客户端的一数据项与对应的所述服务器的数据项的部分项内容或全部内容不相同时,将对应的所述服务器的数据项确定为修改数据项,将与所述客户端的所有数据项均不对应的所述服务器的数据项确定为新增数据项之后,将所述修改数据项和所述新增数据项合并为差异数据项集合。
9.根据权利要求6所述的方法,其特征在于,所述数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项中的至少一个待恢复数据项,所述数据同步请求中还携带有时间标识,所述时间标识用于标识所述客户端上一次发送数据同步请求的时间,使得所述服务器根据所述恢复标识将每个待恢复数据项与所述服务器的所有数据项进行比对,并在比对出一待恢复数据项与所述服务器的一数据项的部分项内容相同且其余项内容不相同时,将所述服务器的一数据项确定为修改数据项,将在所述时间标识所标识的时间之后添加的所述服务器的数据项确定为新增数据项之后,将所述修改数据项和所述新增数据项合并为差异数据项集合。
10.根据权利要求6所述的方法,其特征在于,所述数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项中的至少一个待恢复数据项,所述数据同步请求中还携带有时间标识和每个待恢复数据项的标识,所述时间标识用于标识所述客户端上一次发送数据同步请求的时间,使得所述服务器根据每个待恢复数据项的标识确定与所述每个待恢复数据项对应的所述服务器的数据项,并根据所述恢复标识将所述每个待恢复数据项与对应的所述服务器的数据项进行比对,并在比对出一待恢复数据项与对应的所述服务器的数据项的部分项内容或全部内容不相同时,将对应的所述服务器的数据项确定为修改数据项,将在所述时间标识所标识的时间之后添加的所述服务器的数据项确定为新增数据项之后,将所述修改数据项和所述新增数据项合并为差异数据项集合。
11.根据权利要求9或10所述的方法,其特征在于,所述将数据同步请求上传给服务器之前,还包括:
确定用户在所述客户端的所有数据项中选择的数据项,并根据所述用户选择的数据项确定待恢复数据项。
12.根据权利要求6所述的方法,其特征在于,所述根据所述差异数据项集合同步所述客户端的本地数据,包括:
将所述差异数据项集合中的修改数据项替换所述客户端的本地数据中对应的数据项;
将所述差异数据项集合中的新增数据项添加到所述客户端的本地数据中。
13.根据权利要求12所述的方法,其特征在于,所述将所述差异数据项集合中的修改数据项替换所述客户端的本地数据中对应的数据项之前,还包括:
显示所述差异数据项集合中的修改数据项,并确定用户在显示的所述差异数据项集合中的修改数据项中选择的修改数据项;
所述将所述差异数据项集合中的修改数据项替换所述客户端的本地数据中对应的数据项,包括:
将所述差异数据项集合中用户选择的修改数据项替换所述客户端的本地数据中对应的数据项。
14.根据权利要求13所述的方法,其特征在于,所述将所述差异数据项集合中的新增数据项添加到所述客户端的本地数据中之前,还包括:
显示所述差异数据项集合中的新增数据项,并确定用户在显示的所述差异数据项集合中的新增数据项中选择的新增数据项;
所述将所述差异数据项集合中的新增数据项添加到所述客户端的本地数据中,包括:
将所述差异数据项集合中用户选择的新增数据项添加到所述客户端的本地数据中。
15.一种服务器,其特征在于,所述服务器包括:
接收模块,用于接收客户端上传的数据同步请求,所述数据同步请求中携带有恢复标识和所述客户端的数据项;
获取模块,用于根据所述恢复标识和所述客户端的数据项获取差异数据项集合,所述差异数据项集合中包括所述服务器的数据项中相对于所述客户端的数据项的修改数据项和新增数据项;
发送模块,用于将所述获取模块获取到的差异数据项集合发送给所述客户端,使得所述客户端根据所述差异数据项集合同步所述客户端的本地数据。
16.根据权利要求15所述的服务器,其特征在于,所述接收模块接收到的数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项,所述获取模块,包括:
第一比对单元,用于根据所述恢复标识将所述客户端的每个数据项与所述服务器的所有数据项进行比对;
第一确定单元,用于在所述第一比对单元比对出所述客户端的一数据项与所述服务器的一数据项的部分项内容相同且其余项内容不相同时,将所述服务器的一数据项确定为修改数据项;
所述第一确定单元,还用于将与所述客户端的所有数据项的所有内容均不相同的所述服务器的数据项确定为新增数据项;
第一合并单元,用于将所述第一确定单元确定的修改数据项和所述新增数据项合并为差异数据项集合。
17.根据权利要求15所述的服务器,其特征在于,所述接收模块接收到的数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项,所述数据同步请求中还携带有所述客户端的每个数据项的标识,所述获取模块,包括:
第二确定单元,用于根据所述客户端的每个数据项的标识确定与所述客户端的每个数据项对应的所述服务器的数据项;
第二比对单元,用于根据所述恢复标识将所述客户端的每个数据项与对应的所述服务器的数据项进行比对;
所述第二确定单元,还用于在所述第二比对单元比对出所述客户端的一数据项与对应的所述服务器的数据项的部分项内容或全部内容不相同,则将对应的所述服务器的数据项确定为修改数据项;
所述第二确定单元,还用于将与所述客户端的所有数据项均不对应的所述服务器的数据项确定为新增数据项;
第二合并单元,用于将所述第二确定单元确定的修改数据项和所述新增数据项合并为差异数据项集合。
18.根据权利要求15所述的服务器,其特征在于,所述接收模块接收到的数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项中的至少一个待恢复数据项,所述数据同步请求中还携带有时间标识,所述时间标识用于标识所述客户端上一次发送数据同步请求的时间;所述获取模块,包括:
第三比对单元,用于根据所述恢复标识将每个待恢复数据项与所述服务器的所有数据项进行比对;
第三确定单元,用于在所述第三比对单元比对出一待恢复数据项与所述服务器的一数据项的部分项内容相同且其余项内容不相同时,将所述服务器的数据项确定为修改数据项;
所述第三确定单元,还用于将在所述时间标识所标识的时间之后添加的所述服务器的数据项确定为新增数据项;
第三合并单元,用于将所述第三确定单元确定的所述修改数据项和所述新增数据项合并为差异数据项集合。
19.根据权利要求15所述的服务器,其特征在于,所述接收模块接收到的数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项中的至少一个待恢复数据项,所述数据同步请求中还携带有时间标识和每个待恢复数据项的标识,所述时间标识用于标识所述客户端上一次发送数据同步请求的时间;所述获取模块,包括:
第四确定单元,用于根据每个待恢复数据项的标识确定与所述每个待恢复数据项对应的所述服务器的数据项;
第四比对单元,用于根据所述恢复标识将所述每个待恢复数据项与对应的所述服务器的数据项进行比对;
所述第四确定单元,还用于在所述第四比对单元比对出一待恢复数据项与对应的所述服务器的数据项的部分项内容或全部内容不相同时,将对应的所述服务器的数据项确定为修改数据项;
所述第四确定单元,还用于将在所述时间标识所标识的时间之后添加的所述服务器的数据项确定为新增数据项;
第四合并单元,用于将所述第四确定单元确定的修改数据项和所述新增数据项合并为差异数据项集合。
20.一种客户端,其特征在于,所述客户端包括:
上传模块,用于将数据同步请求上传给服务器,所述数据同步请求中携带有恢复标识和所述客户端的数据项,使得所述服务器根据所述恢复标识和所述客户端的数据项获取差异数据项集合,将所述差异数据项集合发送给所述客户端;
接收模块,用于接收所述服务器发送的所述差异数据项集合;
同步模块,用于根据所述接收模块接收到的差异数据项集合同步所述客户端的本地数据;
其中,所述差异数据项集合中包括所述服务器的数据项中相对于所述客户端的数据项的修改数据项和新增数据项。
21.根据权利要求20所述的客户端,其特征在于,所述上传模块上传的数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项,使得所述服务器根据所述恢复标识将所述客户端的每个数据项与所述服务器的所有数据项进行比对,并在比对出所述客户端的一数据项与所述服务器的一数据项的部分项内容相同且其余项内容不相同时,将所述服务器的一数据项确定为修改数据项,将与所述客户端的所有数据项的所有内容均不相同的所述服务器的数据项确定为新增数据项之后,将所述修改数据项和所述新增数据项合并为差异数据项集合。
22.根据权利要求20所述的客户端,其特征在于,所述上传模块上传的数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项,所述数据同步请求中还携带有所述客户端的每个数据项的标识,使得所述服务器根据所述客户端的每个数据项的标识确定与所述客户端的每个数据项对应的所述服务器的数据项,并根据所述恢复标识将所述客户端的每个数据项与对应的所述服务器的数据项进行比对,在比对出所述客户端的一数据项与对应的所述服务器的数据项的部分项内容或全部内容不相同时,将对应的所述服务器的数据项确定为修改数据项,将与所述客户端的所有数据项均不对应的所述服务器的数据项确定为新增数据项之后,将所述修改数据项和所述新增数据项合并为差异数据项集合。
23.根据权利要求20所述的方法,其特征在于,所述上传模块上传的数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项中的至少一个待恢复数据项,所述数据同步请求中还携带有时间标识,所述时间标识用于标识所述客户端上一次发送数据同步请求的时间,使得所述服务器根据所述恢复标识将每个待恢复数据项与所述服务器的所有数据项进行比对,并在比对出一待恢复数据项与所述服务器的一数据项的部分项内容相同且其余项内容不相同时,将所述服务器的一数据项确定为修改数据项,将在所述时间标识所标识的时间之后添加的所述服务器的数据项确定为新增数据项之后,将所述修改数据项和所述新增数据项合并为差异数据项集合。
24.根据权利要求20所述的客户端,其特征在于,所述上传模块上传的数据同步请求中携带的所述客户端的数据项为所述客户端的所有数据项中的至少一个待恢复数据项,所述数据同步请求中还携带有时间标识和每个待恢复数据项的标识,所述时间标识用于标识所述客户端上一次发送数据同步请求的时间,使得所述服务器根据每个待恢复数据项的标识确定与所述每个待恢复数据项对应的所述服务器的数据项,并根据所述恢复标识将所述每个待恢复数据项与对应的所述服务器的数据项进行比对,并在比对出一待恢复数据项与对应的所述服务器的数据项的部分项内容或全部内容不相同时,将对应的所述服务器的数据项确定为修改数据项,将在所述时间标识所标识的时间之后添加的所述服务器的数据项确定为新增数据项之后,将所述修改数据项和所述新增数据项合并为差异数据项集合。
25.根据权利要求23或24所述的客户端,其特征在于,所述客户端还包括:
确定模块,用于确定用户在所述客户端的所有数据项中选择的数据项;并根据所述确定的用户选择的数据项确定待恢复数据项。
26.根据权利要求20所述的客户端,其特征在于,所述同步模块,包括:
替换单元,用于将所述差异数据项集合中的修改数据项替换所述客户端的本地数据中对应的数据项;
添加单元,用于将所述差异数据项集合中的新增数据项添加到所述客户端的本地数据中。
27.根据权利要求26所述的客户端,其特征在于,所述同步模块,还包括:
显示单元,用于显示所述差异数据项集合中的修改数据项;
确定单元,用于确定用户在所述显示单元显示的所述差异数据项集合中的修改数据项中选择的修改数据项;
所述替换单元,具体用于将所述确定单元确定的所述差异数据项集合中用户选择的修改数据项替换所述客户端的本地数据中对应的数据项。
28.根据权利要求27所述的客户端,其特征在于,
所述显示单元,还用于显示所述差异数据项集合中的新增数据项;
所述确定单元,还用于确定用户在所述显示单元显示的所述差异数据项集合中的新增数据项中选择的新增数据项;
所述添加单元,具体用于将所述确定单元确定的所述差异数据项集合在用户选择的新增数据项添加到所述客户端的本地数据中。
29.一种数据同步的系统,其特征在于,所述系统包括:服务器和客户端;
其中,所述服务器如上述权利要求15至19任一权利要求所述的服务器;
所述客户端如上述权利要求20至28任一权利要求所述的客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310263448.8A CN103428264B (zh) | 2013-06-27 | 2013-06-27 | 数据同步的方法、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310263448.8A CN103428264B (zh) | 2013-06-27 | 2013-06-27 | 数据同步的方法、设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103428264A true CN103428264A (zh) | 2013-12-04 |
CN103428264B CN103428264B (zh) | 2016-12-28 |
Family
ID=49652429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310263448.8A Active CN103428264B (zh) | 2013-06-27 | 2013-06-27 | 数据同步的方法、设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103428264B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103973816A (zh) * | 2014-05-27 | 2014-08-06 | 广东威创视讯科技股份有限公司 | 显示同步的方法、服务器以及客户端 |
CN104503868A (zh) * | 2014-12-29 | 2015-04-08 | 成都致云科技有限公司 | 数据同步方法、装置以及系统 |
CN104580454A (zh) * | 2014-12-31 | 2015-04-29 | 乐视网信息技术(北京)股份有限公司 | 一种数据同步方法、装置及系统 |
CN104917917A (zh) * | 2014-03-14 | 2015-09-16 | 佳能株式会社 | 图像形成装置、系统及信息处理方法 |
CN105187475A (zh) * | 2015-06-09 | 2015-12-23 | 深圳市金蝶友商电子商务服务有限公司 | 数据同步的方法和系统 |
CN106209999A (zh) * | 2016-06-30 | 2016-12-07 | 武汉斗鱼网络科技有限公司 | 一种基于互联网网站的信息更新通知方法及系统 |
CN106302719A (zh) * | 2016-08-13 | 2017-01-04 | 乐视控股(北京)有限公司 | 资源同步方法、客户端和服务器 |
CN106528247A (zh) * | 2016-11-30 | 2017-03-22 | 北京小米移动软件有限公司 | 数据刷新方法及装置 |
CN108874884A (zh) * | 2018-05-04 | 2018-11-23 | 广州多益网络股份有限公司 | 数据同步更新方法、装置和系统、服务器设备 |
CN108959504A (zh) * | 2018-06-27 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种文件系统远程数据同步实现方法和系统 |
CN109032747A (zh) * | 2018-08-10 | 2018-12-18 | 江苏奇异点网络有限公司 | 数据更新方法及装置 |
CN109101156A (zh) * | 2018-08-22 | 2018-12-28 | 苏州达家迎信息技术有限公司 | 信息展示方法、装置、终端及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040025072A1 (en) * | 2002-07-30 | 2004-02-05 | International Business Machines Corporation | Method, system and program for synchronizing data |
CN1852160A (zh) * | 2005-12-30 | 2006-10-25 | 华为技术有限公司 | 一种数据慢同步的实现方法及系统 |
CN1937536A (zh) * | 2006-10-31 | 2007-03-28 | 华为技术有限公司 | 网管拓扑数据同步刷新的方法及系统 |
CN101005428A (zh) * | 2006-01-19 | 2007-07-25 | 华为技术有限公司 | 一种检测与解决数据同步冲突的实现方法 |
CN101447874A (zh) * | 2008-12-25 | 2009-06-03 | 深圳华为通信技术有限公司 | 一种数据同步方法、客户端及服务器 |
CN102334366A (zh) * | 2011-08-12 | 2012-01-25 | 华为终端有限公司 | 数据同步方法、服务器、移动终端及数据同步系统 |
US8346718B2 (en) * | 2001-09-07 | 2013-01-01 | Extended Systems, Inc. | Synchronizing recurring events |
-
2013
- 2013-06-27 CN CN201310263448.8A patent/CN103428264B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8346718B2 (en) * | 2001-09-07 | 2013-01-01 | Extended Systems, Inc. | Synchronizing recurring events |
US20040025072A1 (en) * | 2002-07-30 | 2004-02-05 | International Business Machines Corporation | Method, system and program for synchronizing data |
CN1852160A (zh) * | 2005-12-30 | 2006-10-25 | 华为技术有限公司 | 一种数据慢同步的实现方法及系统 |
CN101005428A (zh) * | 2006-01-19 | 2007-07-25 | 华为技术有限公司 | 一种检测与解决数据同步冲突的实现方法 |
CN1937536A (zh) * | 2006-10-31 | 2007-03-28 | 华为技术有限公司 | 网管拓扑数据同步刷新的方法及系统 |
CN101447874A (zh) * | 2008-12-25 | 2009-06-03 | 深圳华为通信技术有限公司 | 一种数据同步方法、客户端及服务器 |
CN102334366A (zh) * | 2011-08-12 | 2012-01-25 | 华为终端有限公司 | 数据同步方法、服务器、移动终端及数据同步系统 |
Non-Patent Citations (1)
Title |
---|
蒋陶: "《基于嵌入式系统的SyncML协议研究与实现》", 《中国优秀博硕士学位论文全文数据库 (硕士) 信息科技辑》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104917917A (zh) * | 2014-03-14 | 2015-09-16 | 佳能株式会社 | 图像形成装置、系统及信息处理方法 |
US10298790B2 (en) | 2014-03-14 | 2019-05-21 | Canon Kabushiki Kaisha | Image-forming apparatus, system, information processing method and storage medium for causing an operation screen to be displayed based on display language information |
CN103973816A (zh) * | 2014-05-27 | 2014-08-06 | 广东威创视讯科技股份有限公司 | 显示同步的方法、服务器以及客户端 |
CN104503868B (zh) * | 2014-12-29 | 2017-10-27 | 成都致云科技有限公司 | 数据同步方法、装置以及系统 |
CN104503868A (zh) * | 2014-12-29 | 2015-04-08 | 成都致云科技有限公司 | 数据同步方法、装置以及系统 |
CN104580454A (zh) * | 2014-12-31 | 2015-04-29 | 乐视网信息技术(北京)股份有限公司 | 一种数据同步方法、装置及系统 |
CN105187475A (zh) * | 2015-06-09 | 2015-12-23 | 深圳市金蝶友商电子商务服务有限公司 | 数据同步的方法和系统 |
CN105187475B (zh) * | 2015-06-09 | 2018-10-12 | 深圳金蝶账无忧网络科技有限公司 | 数据同步的方法和系统 |
CN106209999A (zh) * | 2016-06-30 | 2016-12-07 | 武汉斗鱼网络科技有限公司 | 一种基于互联网网站的信息更新通知方法及系统 |
CN106209999B (zh) * | 2016-06-30 | 2020-01-03 | 武汉斗鱼网络科技有限公司 | 一种基于互联网网站的信息更新通知方法及系统 |
CN106302719A (zh) * | 2016-08-13 | 2017-01-04 | 乐视控股(北京)有限公司 | 资源同步方法、客户端和服务器 |
CN106528247A (zh) * | 2016-11-30 | 2017-03-22 | 北京小米移动软件有限公司 | 数据刷新方法及装置 |
CN106528247B (zh) * | 2016-11-30 | 2020-01-07 | 北京小米移动软件有限公司 | 数据刷新方法及装置 |
CN108874884A (zh) * | 2018-05-04 | 2018-11-23 | 广州多益网络股份有限公司 | 数据同步更新方法、装置和系统、服务器设备 |
CN108959504A (zh) * | 2018-06-27 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种文件系统远程数据同步实现方法和系统 |
CN108959504B (zh) * | 2018-06-27 | 2021-11-26 | 郑州云海信息技术有限公司 | 一种文件系统远程数据同步实现方法和系统 |
CN109032747A (zh) * | 2018-08-10 | 2018-12-18 | 江苏奇异点网络有限公司 | 数据更新方法及装置 |
CN109032747B (zh) * | 2018-08-10 | 2021-10-15 | 江苏奇异点网络有限公司 | 数据更新方法及装置 |
CN109101156A (zh) * | 2018-08-22 | 2018-12-28 | 苏州达家迎信息技术有限公司 | 信息展示方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103428264B (zh) | 2016-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103428264A (zh) | 数据同步的方法、设备及系统 | |
CN102171661B (zh) | 从整体数据库备份中恢复所选对象 | |
WO2017028514A1 (zh) | 一种数据存储、读取方法及装置 | |
CN109597655A (zh) | 配置应用程序的方法及装置 | |
MX2014011988A (es) | Sistema de telemetria para un sistema de sincronizacion de nube. | |
CN102272751B (zh) | 在数据库环境通过背景同步的数据完整性 | |
CN102752294B (zh) | 基于设备能力的多终端数据同步方法和系统 | |
CN102821111A (zh) | 文件云存储实时同步方法 | |
CN105302925A (zh) | 推送语音搜索数据的方法和装置 | |
CN102945260B (zh) | 一种基于用户级文件双向同步的冲突检测方法 | |
CN101588268A (zh) | 通用可扩展的管理设备配置文件的方法及设备 | |
CN103312489A (zh) | 一种终端与服务器进行同步的方法和装置 | |
CN103905441A (zh) | 数据获取方法及装置 | |
CN105205100A (zh) | 终端之间基于mtp的数据同步方法及终端 | |
CN103079108A (zh) | 启动机顶盒的方法及机顶盒 | |
CN104063377A (zh) | 信息处理方法和使用其的电子设备 | |
CN107609197B (zh) | 一种数据同步方法、数据同步装置及移动终端 | |
CN106411977A (zh) | 标签页同步方法、终端、服务器及系统 | |
CN103812908B (zh) | 云端文件处理方法以及系统 | |
CN103685191A (zh) | 数据同步系统及其方法 | |
CN111241044B (zh) | 搭建异构数据库的方法、装置、设备及可读存储介质 | |
CN103237007A (zh) | 媒体文件更新方法及装置 | |
CN104077285A (zh) | 文件命名方法及第一电子设备 | |
CN103379167A (zh) | 多点同步存储的文件下载异常处理系统及方法 | |
CN108650320B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200226 Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee after: HUAWEI TECHNOLOGIES Co.,Ltd. Address before: 210012 HUAWEI Nanjing base, 101 software Avenue, Yuhuatai District, Jiangsu, Nanjing Patentee before: Huawei Technologies Co.,Ltd. |