多副本数据一致性的检测方法及装置.pdf

上传人:Y94****206 文档编号:6286200 上传时间:2019-05-28 格式:PDF 页数:12 大小:839.22KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510954550.1

申请日:

2015.12.17

公开号:

CN105608143A

公开日:

2016.05.25

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 17/30申请日:20151217|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

北京奇虎科技有限公司; 奇智软件(北京)有限公司

发明人:

陈宗志

地址:

100088 北京市西城区新街口外大街28号D座112室(德胜园区)

优先权:

专利代理机构:

北京市浩天知识产权代理事务所(普通合伙) 11276

代理人:

宋菲;刘云贵

PDF下载: PDF下载
内容摘要

本发明公开了一种多副本数据一致性的检测方法及装置。所述方法包括:获取多个副本数据中每个副本数据所在数据分片的二进制日志文件,二进制日志文件用于记录相应数据分片中对副本数据所执行的数据操作;判断各个副本数据所在数据分片的二进制日志文件是否相同;依据对二进制日志文件的判断结果确定各个数据分片中的副本数据是否一致从而无需通过直接比较数据分片中的数据来判断副本数据是否一致,控制了对数据节点的访问量,减轻了数据库的压力,而且节省了时间,提升了性能。

权利要求书

1.一种多副本数据一致性的检测方法,其包括:
获取多个副本数据中每个副本数据所在数据分片的二进制日志文件,所
述二进制日志文件用于记录相应数据分片中对副本数据所执行的数据操作;
判断所述各个副本数据所在数据分片的二进制日志文件是否相同;
依据对所述二进制日志文件的判断结果确定各个数据分片中的副本数据
是否一致。
2.根据权利要求1所述的方法,其中,依据对所述二进制日志文件的判
断结果确定各个数据分片中的副本数据是否一致进一步包括:
若判断出多个副本数据中任意两个副本数据所在数据分片的二进制日志
文件不同,则确定这两个二进制日志文件相应的数据分片中的副本数据不一
致。
3.根据权利要求1或2所述的方法,其中,判断所述各个副本数据所在
数据分片的二进制日志文件是否相同进一步包括:
计算并记录各个副本数据对应的二进制日志文件的哈希值;
判断所述各个副本数据所在数据分片的二进制日志文件的哈希值是否一
致。
4.根据权利要求3所述的方法,其中,所述依据对所述二进制日志文件
的判断结果确定各个数据分片中的副本数据是否一致进一步包括:
若判断出多个副本数据中任意两个副本数据所在数据分片的二进制日志
文件的哈希值不一致,则确定这两个二进制日志文件相应的数据分片中的副
本数据不一致。
5.根据权利要求3或4所述的方法,其中,每个数据分片的二进制日志
文件有多个;多个二进制日志文件按照时间顺序记录对所述数据分片中副本
数据所执行的数据操作。
6.根据权利要求5所述的方法,其中,所述判断所述各个副本数据所在
数据分片的二进制日志文件的哈希值是否一致进一步包括:
根据多个二进制日志的生成顺序,判断所述各个副本数据所在数据分片
的排序相同的多个二进制日志的哈希值是否一致。
7.根据权利要求5所述的方法,其中,所述获取多个副本数据中每个副
本数据所在数据分片的二进制日志文件进一步包括:
获取多个副本数据中每个副本数据所在数据分片的增量的二进制日志文
件,所述增量的二进制日志文件是相对于上一次多副本数据一致性检测之后
新增的二进制日志文件。
8.根据权利要求1-7任一项所述的方法,其中,所述数据操作包括:删
除数据、增加数据、和/或修改数据。
9.一种多副本数据一致性的检测装置,其包括:
获取模块,适于获取多个副本数据中每个副本数据所在数据分片的二进
制日志文件,所述二进制日志文件用于记录相应数据分片中对副本数据所执
行的数据操作;
判断模块,适于判断所述各个副本数据所在数据分片的二进制日志文件
是否相同;
确定模块,适于依据对所述二进制日志文件的判断结果确定各个数据分
片中的副本数据是否一致。
10.根据权利要求9所述的装置,其中,所述确定模块进一步适于:在
所述判断模块判断出多个副本数据中任意两个副本数据所在数据分片的二进
制日志文件不同的情况下,确定这两个二进制日志文件相应的数据分片中的
副本数据不一致。

说明书

多副本数据一致性的检测方法及装置

技术领域

本发明涉及计算机技术领域,具体涉及一种多副本数据一致性的检测方
法及装置。

背景技术

分布式系统就是将数据分散存储在多台独立的设备上,为具有很多数据
节点的集群系统,其中,每个数据节点上会分布有多个数据分片,在分布式
系统中,针对一份数据,一般备份N个副本,将数据的N个副本分别存储在
N个数据节点的数据分片中,且要求N个副本数据相同。

现有方案中,是采用读取数据分片中的数据,将数据进行比较进而确定
数据分片中的数据是否一致,这种方式不仅会产生额外的访问量,给数据库
造成很大的压力,而且还耗费了大量时间。

发明内容

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分
地解决上述问题的多副本数据一致性的检测方法和相应的多副本数据一致性
的检测装置。

根据本发明的一个方面,提供了一种多副本数据一致性的检测方法,其
包括:

获取多个副本数据中每个副本数据所在数据分片的二进制日志文件,二
进制日志文件用于记录相应数据分片中对副本数据所执行的数据操作;

判断各个副本数据所在数据分片的二进制日志文件是否相同;

依据对二进制日志文件的判断结果确定各个数据分片中的副本数据是否
一致。

根据本发明的另一方面,提供了一种多副本数据一致性的检测装置,其
包括:

获取模块,适于获取多个副本数据中每个副本数据所在数据分片的二进
制日志文件,二进制日志文件用于记录相应数据分片中对副本数据所执行的
数据操作;

判断模块,适于判断各个副本数据所在数据分片的二进制日志文件是否
相同;

确定模块,适于依据对二进制日志文件的判断结果确定各个数据分片中
的副本数据是否一致。

根据本发明提供的方案,获取多个副本数据中每个副本数据所在数据分
片的二进制日志文件,二进制日志文件用于记录相应数据分片中对副本数据
所执行的数据操作;判断各个副本数据所在数据分片的二进制日志文件是否
相同;依据对二进制日志文件的判断结果确定各个数据分片中的副本数据是
否一致,从而无需通过直接比较数据分片中的数据来判断副本数据是否一致,
控制了对数据节点的访问量,减轻了数据库的压力,而且节省了时间,提升
了性能。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技
术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它
目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本
领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,
而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示
相同的部件。在附图中:

图1示出了根据本发明一个实施例的多副本数据一致性的检测方法的流
程示意图;

图2示出了根据本发明另一个实施例的多副本数据一致性的检测方法的
流程示意图;

图3示出了根据本发明一个实施例的多副本数据一致性的检测装置的功
能框图;

图4示出了根据本发明另一个实施例的多副本数据一致性的检测装置的
功能框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示
了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不
应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地
理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了根据本发明一个实施例的多副本数据一致性的检测方法的流
程示意图。如图1所示,该方法包括以下步骤:

步骤S100,获取多个副本数据中每个副本数据所在数据分片的二进制日
志文件。

其中,二进制日志文件也称为Binlog文件,是一种逻辑日志,它记录的
是关于每个事务的具体操作内容,也就是说,Binlog文件用于记录相应数据
分片中对副本数据所执行的数据操作,并以二进制的形式保存在磁盘中。
Binlog文件按照对副本数据所执行的数据操作的顺序进行存储,而且记录次
数与所执行操作的次数相对应,即,每对副本数据执行一次数据操作,就在
Binlog文件中记录一次。

Binlog文件是一具有固定大小的文件,一般设定Binlog文件的大小为
20M,当一个Binlog文件递增到20M后,即新建另一个Binlog文件来记录
相应数据分片中对副本数据所执行的数据操作。

步骤S101,判断各个副本数据所在数据分片的二进制日志文件是否相
同。

由于Binlog文件所具有的特性,按照所执行的数据操作顺序记录,且记
录有所有的数据操作,因此可以通过判断各个副本数据所在数据分片的二进
制日志文件是否相同,来确定各个数据分片中的副本数据是否一致。

现有技术方案中,是采用读取数据分片中的数据,将数据进行比较进而
确定数据分片中的数据是否一致,这种方式不仅会产生额外的访问量,给数
据库造成很大的压力,而且还耗费了大量时间。

为了解决上述问题,在根据本发明实施例中的步骤S100获取多个副本数
据中每个副本数据所在数据分片的Binlog文件后,判断各个副本数据所在数
据分片的Binlog文件是否相同,即可确定各个数据分片中的副本数据是否一
致,从而无需通过直接比较数据分片中的数据来判断副本数据是否一致。

步骤S102,依据对二进制日志文件的判断结果确定各个数据分片中的副
本数据是否一致。

对Binlog文件的判断结果可以是以下结果中的任一种:多个副本数据中
任意两个副本数据所在数据分片的Binlog文件不同,或者多个副本数据所在
数据分片的Binlog文件相同。

若判断出多个副本数据中任意两个副本数据所在数据分片的Binlog文件
不同,则确定这两个Binlog文件相应的数据分片中的副本数据不一致;若判
断出多个副本数据所在数据分片的Binlog文件相同,则确定Binlog文件相应
的数据分片中的副本数据一致。

根据本发明上述实施例提供的方法,获取多个副本数据中每个副本数据
所在数据分片的二进制日志文件,二进制日志文件用于记录相应数据分片中
对副本数据所执行的数据操作;判断各个副本数据所在数据分片的二进制日
志文件是否相同;依据对二进制日志文件的判断结果确定各个数据分片中的
副本数据是否一致,从而无需通过直接比较数据分片中的数据来判断副本数
据是否一致,控制了对数据节点的访问量,减轻了数据库的压力,而且节省
了时间,提升了性能。

图2示出了根据本发明另一个实施例的多副本数据一致性的检测方法的
流程示意图。如图2所示,该方法包括以下步骤:

步骤S200,获取多个副本数据中每个副本数据所在数据分片的二进制日
志文件。

其中,二进制日志文件也称为Binlog文件,是一种逻辑日志,它记录的
是关于每个事务的具体操作内容,也就是说,Binlog文件用于记录相应数据
分片中对副本数据所执行的数据操作,这里的数据操作包括:删除数据、增
加数据、和/或修改数据,并以二进制的形式保存在磁盘中。Binlog文件按照
对副本数据所执行的数据操作的顺序进行存储,而且记录次数与所执行操作
的次数相对应,即,每对副本数据执行一次数据操作,就在Binlog文件中记
录一次,例如,需要对副本数据执行以下增加数据的数据操作:

Adda=1;addb=2;adda=3,则上述数据操作也同时记录于Binlog文件
中。

步骤S201,计算并记录各个副本数据对应的二进制日志文件的哈希值。

HASH值(哈希值)是根据文件的内容的数据通过逻辑运算得到的数值,
不同的文件(即使是相同的文件名)得到的HASH值是不同的,因此可以利
用HASH值来验证文件的内容是否相同,不同HASH值的文件被认为是不同
的文件,相同的HASH值的文件的内容肯定是完全相同(即使文件名不同)。

针对每个文件都可以计算出唯一的HASH值,在本发明实施例中采用哈
希算法计算各个副本数据对应的Binlog文件的哈希值,并记录各个副本数据
对应的Binlog文件的HASH值。

步骤S202,判断各个副本数据所在数据分片的二进制日志文件的哈希值
是否一致,若判断出多个副本数据中任意两个副本数据所在数据分片的二进
制日志文件的哈希值不一致,则执行步骤S203;若判断出多个副本数据中每
个副本数据所在数据分片的二进制日志文件的哈希值一致,则执行步骤
S204。

在步骤S201中,计算得到了各个副本数据所在数据分片的Binlog文件
的HASH值,每个Binlog文件都有唯一的HASH值,且HASH值不同表示
文件的内容也不同,因此,通过判断步骤S201中计算得到的各个副本数据
所在数据分片的Binlog文件的HASH值是否一致,可以判断出Binlog文件
相应的数据分片中的副本数据是否一致。

对Binlog文件的判断结果可以是以下结果中的任一种:多个副本数据中
任意两个副本数据所在数据分片的Binlog文件不同,或者多个副本数据所在
数据分片的Binlog文件相同。

若判断出多个副本数据中任意两个副本数据所在数据分片的Binlog文件
不同,则确定这两个Binlog文件相应的数据分片中的副本数据不一致;若判
断出多个副本数据所在数据分片的Binlog文件相同,则确定Binlog文件相应
的数据分片中的副本数据一致。

步骤S203,确定这两个二进制日志文件相应的数据分片中的副本数据不
一致。

在根据步骤S202判断出多个副本数据中任意两个副本数据所在数据分
片的Binlog文件不同,则确定这两个Binlog文件相应的数据分片中的副本数
据不一致。

步骤S204,确定二进制日志文件相应的数据分片中的副本数据一致。

在根据步骤S202判断出多个副本数据中所在数据分片的Binlog文件相
同的情况下,则确定Binlog文件相应的数据分片中的副本数据一致。

在本发明实施例中,Binlog文件是一具有固定大小的文件,一般设定
Binlog文件的大小为20M,当一个Binlog文件递增到20M后,即新建另一
个Binlog文件来记录相应数据分片中对副本数据所执行的数据操作。

因此,每个数据分片的二进制日志文件有多个,多个二进制日志文件按
照时间顺序记录对数据分片中副本数据所执行的数据操作。

因此,在判断数据分片中的副本数据是否一致时,需要根据多个二进制
日志的生成顺序,判断各个副本数据所在数据分片的排序相同的多个二进制
日志的哈希值是否一致。例如,假设每个数据分片的二进制日志文件有3个,
按照生成顺序分别编号为1、2、3,分别判断编号为1的二进制日志文件、
判断编号为2的二进制日志文件、判断编号为3的二进制日志文件的HASH
值是否一致,若任一编号的二进制日志文件的HASH值不一致,确定二进制
日志文件相应的数据分片中的副本数据不一致。

Binlog文件是用于记录相应数据分片中对副本数据所执行的数据操作,
因此随着数据操作的执行,可能会产生新的Binlog文件,由于Binlog文件是
按照数据操作的执行顺序记录的,因此在对多副本数据一致性检测之后,本
发明实施例无需再判断所有二进制日志文件的哈希值是否一致,来确定二进
制日志文件相应的数据分片中的副本数据是否一致。

本发明实施例可以:获取多个副本数据中每个副本数据所在数据分片的
增量的二进制日志文件,增量的二进制日志文件是相对于上一次多副本数据
一致性检测之后新增的二进制日志文件。

根据本发明上述实施例提供的方法,获取多个副本数据中每个副本数据
所在数据分片的二进制日志文件,计算并记录各个副本数据对应的二进制日
志文件的哈希值,判断各个副本数据所在数据分片的二进制日志文件的哈希
值是否一致,若判断出多个副本数据中任意两个副本数据所在数据分片的二
进制日志文件的哈希值不一致,确定这两个二进制日志文件相应的数据分片
中的副本数据不一致,从而无需通过直接比较数据分片中的数据来判断副本
数据是否一致,控制了对数据节点的访问量,减轻了数据库的压力,而且节
省了时间,提升了性能,此外还无需比较全部的二进制日志文件是否相同,
仅增量比较即可,减少了比较次数,提升了检测效率。

图3示出了根据本发明一个实施例的多副本数据一致性的检测装置的功
能框图。如图3所示,该装置包括:获取模块300、判断模块310和确定模
块320。

获取模块300,适于获取多个副本数据中每个副本数据所在数据分片的
二进制日志文件,二进制日志文件用于记录相应数据分片中对副本数据所执
行的数据操作。

判断模块310,适于判断各个副本数据所在数据分片的二进制日志文件
是否相同。

确定模块320,适于依据对二进制日志文件的判断结果确定各个数据分
片中的副本数据是否一致。

根据本发明上述实施例提供的装置,获取多个副本数据中每个副本数据
所在数据分片的二进制日志文件,二进制日志文件用于记录相应数据分片中
对副本数据所执行的数据操作;判断各个副本数据所在数据分片的二进制日
志文件是否相同;依据对二进制日志文件的判断结果确定各个数据分片中的
副本数据是否一致,从而无需通过直接比较数据分片中的数据来判断副本数
据是否一致,控制了对数据节点的访问量,减轻了数据库的压力,而且节省
了时间,提升了性能。

图4示出了根据本发明另一个实施例的多副本数据一致性的检测装置的
功能框图。如图4所示,该装置包括:获取模块400、判断模块410和确定
模块420。

获取模块400,适于获取多个副本数据中每个副本数据所在数据分片的
二进制日志文件,二进制日志文件用于记录相应数据分片中对副本数据所执
行的数据操作。

判断模块410,适于判断各个副本数据所在数据分片的二进制日志文件
是否相同。

确定模块420,适于依据对二进制日志文件的判断结果确定各个数据分
片中的副本数据是否一致。

可选地,确定模块420进一步适于:在判断单元判断出多个副本数据中
任意两个副本数据所在数据分片的二进制日志文件不同的情况下,确定这两
个二进制日志文件相应的数据分片中的副本数据不一致。

可选地,判断模块进一步包括:计算单元411和判断单元412。

计算单元411,适于计算并记录各个副本数据对应的二进制日志文件的
哈希值。

判断单元412,适于判断各个副本数据所在数据分片的二进制日志文件
的哈希值是否一致。

可选地,确定模块420进一步适于:在判断单元判断出多个副本数据中
任意两个副本数据所在数据分片的二进制日志文件的哈希值不一致的情况
下,确定这两个二进制日志文件相应的数据分片中的副本数据不一致。

可选地,每个数据分片的二进制日志文件有多个;多个二进制日志文件
按照时间顺序记录对数据分片中副本数据所执行的数据操作。

可选地,判断模块410进一步适于:根据多个二进制日志的生成顺序,
判断各个副本数据所在数据分片的排序相同的多个二进制日志的哈希值是否
一致。

可选地,获取模块400进一步适于:获取多个副本数据中每个副本数据
所在数据分片的增量的二进制日志文件,增量的二进制日志文件是相对于上
一次多副本数据一致性检测之后新增的二进制日志文件。

可选地,数据操作包括:删除数据、增加数据、和/或修改数据。

根据本发明上述实施例提供的装置,获取多个副本数据中每个副本数据
所在数据分片的二进制日志文件,计算并记录各个副本数据对应的二进制日
志文件的哈希值,判断各个副本数据所在数据分片的二进制日志文件的哈希
值是否一致,若判断出多个副本数据中任意两个副本数据所在数据分片的二
进制日志文件的哈希值不一致,确定这两个二进制日志文件相应的数据分片
中的副本数据不一致,从而无需通过直接比较数据分片中的数据来判断副本
数据是否一致,控制了对数据节点的访问量,减轻了数据库的压力,而且节
省了时间,提升了性能,此外还无需比较全部的二进制日志文件是否相同,
仅增量比较即可,减少了比较次数,提升了检测效率。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固
有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,
构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定
编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,
并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本
发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未
详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个
或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时
被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开
的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求
中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映
的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循
具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利
要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自
适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以
把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可
以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者
单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴
随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或
者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴
随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相
似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其
它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组
合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权
利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使
用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理
器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当
理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据
本发明实施例的多副本数据一致性的检测设备中的一些或者全部部件的一些
或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或
者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样
的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者
多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信
号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,
并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实
施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要
求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于
元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以
借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在
列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个
硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。
可将这些单词解释为名称。

本发明公开了:A1、一种多副本数据一致性的检测方法,其包括:

获取多个副本数据中每个副本数据所在数据分片的二进制日志文件,所
述二进制日志文件用于记录相应数据分片中对副本数据所执行的数据操作;

判断所述各个副本数据所在数据分片的二进制日志文件是否相同;

依据对所述二进制日志文件的判断结果确定各个数据分片中的副本数据
是否一致。

A2、根据A1所述的方法,其中,依据对所述二进制日志文件的判断结
果确定各个数据分片中的副本数据是否一致进一步包括:

若判断出多个副本数据中任意两个副本数据所在数据分片的二进制日志
文件不同,则确定这两个二进制日志文件相应的数据分片中的副本数据不一
致。

A3、根据A1或A2所述的方法,其中,判断所述各个副本数据所在数
据分片的二进制日志文件是否相同进一步包括:

计算并记录各个副本数据对应的二进制日志文件的哈希值;

判断所述各个副本数据所在数据分片的二进制日志文件的哈希值是否一
致。

A4、根据A3所述的方法,其中,所述依据对所述二进制日志文件的判
断结果确定各个数据分片中的副本数据是否一致进一步包括:

若判断出多个副本数据中任意两个副本数据所在数据分片的二进制日志
文件的哈希值不一致,则确定这两个二进制日志文件相应的数据分片中的副
本数据不一致。

A5、根据A3或A4所述的方法,其中,每个数据分片的二进制日志文
件有多个;多个二进制日志文件按照时间顺序记录对所述数据分片中副本数
据所执行的数据操作。

A6、根据A5所述的方法,其中,所述判断所述各个副本数据所在数据
分片的二进制日志文件的哈希值是否一致进一步包括:

根据多个二进制日志的生成顺序,判断所述各个副本数据所在数据分片
的排序相同的多个二进制日志的哈希值是否一致。

A7、根据A5所述的方法,其中,所述获取多个副本数据中每个副本数
据所在数据分片的二进制日志文件进一步包括:

获取多个副本数据中每个副本数据所在数据分片的增量的二进制日志文
件,所述增量的二进制日志文件是相对于上一次多副本数据一致性检测之后
新增的二进制日志文件。

A8根据A1-A7任一项所述的方法,其中,所述数据操作包括:删除数
据、增加数据、和/或修改数据。

本发明还公开了:B9、一种多副本数据一致性的检测装置,其包括:

获取模块,适于获取多个副本数据中每个副本数据所在数据分片的二进
制日志文件,所述二进制日志文件用于记录相应数据分片中对副本数据所执
行的数据操作;

判断模块,适于判断所述各个副本数据所在数据分片的二进制日志文件
是否相同;

确定模块,适于依据对所述二进制日志文件的判断结果确定各个数据分
片中的副本数据是否一致。

B10、根据B9所述的装置,其中,所述确定模块进一步适于:在所述判
断模块判断出多个副本数据中任意两个副本数据所在数据分片的二进制日志
文件不同的情况下,确定这两个二进制日志文件相应的数据分片中的副本数
据不一致。

B11、根据B9或B10所述的装置,其中,所述判断模块进一步包括:

计算单元,适于计算并记录各个副本数据对应的二进制日志文件的哈希
值;

判断单元,适于判断所述各个副本数据所在数据分片的二进制日志文件
的哈希值是否一致。

B12、根据B11所述的装置,其中,所述确定模块进一步适于:在所述
判断单元判断出多个副本数据中任意两个副本数据所在数据分片的二进制日
志文件的哈希值不一致的情况下,确定这两个二进制日志文件相应的数据分
片中的副本数据不一致。

B13、根据B11或B12所述的装置,其中,每个数据分片的二进制日志
文件有多个;多个二进制日志文件按照时间顺序记录对所述数据分片中副本
数据所执行的数据操作。

B14、根据B13所述的装置,其中,所述判断单元进一步适于:根据多
个二进制日志的生成顺序,判断所述各个副本数据所在数据分片的排序相同
的多个二进制日志的哈希值是否一致。

B15、根据B13所述的装置,其中,所述获取模块进一步适于:获取多
个副本数据中每个副本数据所在数据分片的增量的二进制日志文件,所述增
量的二进制日志文件是相对于上一次多副本数据一致性检测之后新增的二进
制日志文件。

B16、根据B9-B15任一项所述的装置,其中,所述数据操作包括:删除
数据、增加数据、和/或修改数据。

多副本数据一致性的检测方法及装置.pdf_第1页
第1页 / 共12页
多副本数据一致性的检测方法及装置.pdf_第2页
第2页 / 共12页
多副本数据一致性的检测方法及装置.pdf_第3页
第3页 / 共12页
点击查看更多>>
资源描述

《多副本数据一致性的检测方法及装置.pdf》由会员分享,可在线阅读,更多相关《多副本数据一致性的检测方法及装置.pdf(12页珍藏版)》请在专利查询网上搜索。

本发明公开了一种多副本数据一致性的检测方法及装置。所述方法包括:获取多个副本数据中每个副本数据所在数据分片的二进制日志文件,二进制日志文件用于记录相应数据分片中对副本数据所执行的数据操作;判断各个副本数据所在数据分片的二进制日志文件是否相同;依据对二进制日志文件的判断结果确定各个数据分片中的副本数据是否一致从而无需通过直接比较数据分片中的数据来判断副本数据是否一致,控制了对数据节点的访问量,减轻了。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1