[发明专利]一种数据同步方法、装置、存储介质及计算机设备在审
申请号: | 202010668230.0 | 申请日: | 2020-07-13 |
公开(公告)号: | CN111917834A | 公开(公告)日: | 2020-11-10 |
发明(设计)人: | 王健 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 深圳翼盛智成知识产权事务所(普通合伙) 44300 | 代理人: | 彭绪坤 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 同步 方法 装置 存储 介质 计算机 设备 | ||
本申请实施例公开了一种数据同步方法、装置、存储介质及计算机设备;本申请实施例与云储存的文件存储以及数据库同步相关,本申请实施例可以获取第一服务器上的数据集的第一哈希树,以及获取待同步的第二服务器上的目标数据集的第二哈希树;基于第一哈希树和第二哈希树的根节点开始遍历对比,确定存在差异的目标叶子节点对应的目标标识;确定目标标识在数据集和目标数据集对应的第一数据和第二数据;根据第一数据和第二数据的版本信息之间的区别进行数据同步。本申请可以有效提高数据同步效率。
技术领域
本申请涉及数据存储领域,具体涉及一种数据同步方法、装置、存储介质及计算机设备。
背景技术
在分布式数据存储的过程中,可以为数据集中的一份数据设置多个副本,并将不同的副本存放在不同的服务器中,以确保数据的可靠性和可用性,由于对数据的修改和读写是不间断的,但部分服务器并非始终处于可用状态,因此部分服务器中数据的副本值并不是此数据的最新数据值。
在对现有技术的研究和实践过程中,本申请的发明人发现,在将多个服务器中的副本进行同步的过程中会读取大量的数据进行比对,由于数据集中数据的数量巨大,同步的时间往往很慢,使得数据同步效率较下。
发明内容
本申请实施例提供一种数据同步方法、装置、存储介质及计算机设备,可以提高数据同步效率。
本申请实施例提供一种数据同步方法,包括:
获取第一服务器上的数据集的第一哈希树,以及获取待同步的第二服务器上的目标数据集的第二哈希树;
基于所述第一哈希树和所述第二哈希树的根节点开始遍历对比,确定存在差异的目标叶子节点对应的目标标识;
确定所述目标标识在所述数据集和所述目标数据集对应的第一数据和第二数据;
根据所述第一数据和所述第二数据的版本信息之间的区别进行数据同步。
相应地,本申请实施例提供一种数据同步装置,包括:
获取模块,用于获取第一服务器上的数据集的第一哈希树,以及获取待同步的第二服务器上的目标数据集的第二哈希树;
对比模块,用于基于所述第一哈希树和所述第二哈希树的根节点开始遍历对比,确定存在差异的目标叶子节点对应的目标标识;
确定模块,用于确定所述目标标识在所述数据集和所述目标数据集对应的第一数据和第二数据;
同步模块,用于根据所述第一数据和所述第二数据的版本信息之间的区别进行数据同步。
在本申请的一些实施例中,获取模块包括数据子模块、设置子模块和循环子模块,其中,
数据子模块,用于对第一服务器上的数据集中的每一数据做哈希计算,得到每一数据的哈希值;
设置子模块,用于将第一服务器上的每一数据的哈希值设置为叶子节点的数值,并对叶子节点的数值之和进行哈希计算,得到上层节点的数值;
循环子模块,用于循环对上层节点的数值之和进行哈希计算,得到新的上层节点的数值,直至上层节点为根节点结束,以得到数据集的第一哈希树。
在本申请的一些实施例中,第一服务器上的数据集中包含多个数据,每一数据包含标识、数据值和版本信息,数据子模块具体用于:
对第一服务器上的数据集中的每一包含标识、数据值和版本信息的数据做哈希计算,得到每一数据的哈希值。
在本申请的一些实施例中,对比模块包括设置子模块、循环子模块和获取子模块,其中,
设置子模块,用于将所述第一哈希树和所述第二哈希树上的根节点的子节点中哈希值不同的子节点设置为候选节点;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010668230.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置