CN109213431A - 多副本数据的一致性检测方法和装置以及电子设备 - Google Patents

多副本数据的一致性检测方法和装置以及电子设备 Download PDF

Info

Publication number
CN109213431A
CN109213431A CN201710536471.8A CN201710536471A CN109213431A CN 109213431 A CN109213431 A CN 109213431A CN 201710536471 A CN201710536471 A CN 201710536471A CN 109213431 A CN109213431 A CN 109213431A
Authority
CN
China
Prior art keywords
check code
detected
data
data slot
copy
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
Application number
CN201710536471.8A
Other languages
English (en)
Other versions
CN109213431B (zh
Inventor
石超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710536471.8A priority Critical patent/CN109213431B/zh
Publication of CN109213431A publication Critical patent/CN109213431A/zh
Application granted granted Critical
Publication of CN109213431B publication Critical patent/CN109213431B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种多副本数据的一致性检测方法和装置以及电子设备。该方法包括:将待检测副本数据切分为数个数据片段,所述数据片段组成待检测集合;针对所述待检测集合中的每一个所述数据片段,向多台存储服务器发送校验码获取请求,将多台所述存储服务器返回的所述校验码进行比较,当多台所述存储服务器返回的所述校验码相同时,删除所述待检测集合中相应的所述数据片段;当所述待检测集合为空时,判定所述待检测副本数据一致。本发明实施例通过对待检测副本数据进行切分,分段对数据进行校验码比较,对于动态变化的副本数据,降低了一致性检测的误报率,实现了多副本数据一致性的快速检测,极大地提高了系统性能。

Description

多副本数据的一致性检测方法和装置以及电子设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种多副本数据的一致性检测方法和装置以及电子设备。
背景技术
在分布式存储系统中,用户写入的数据一般以多副本方式冗余地存储于多台服务器中。一份用户数据在多台存储服务器上的副本应该完全相同,即,多副本数据一致。通常以下几种情况可能会导致两个或两个以上的副本数据不一致:
1、存储服务器磁盘或内存故障。例如,发生位翻转或机器掉电,从而造成最近写入的数据丢失;
2、数据在网络传输过程中发生了损坏;
3、软件BUG。例如,在用户写入数据的过程中,一个存储服务器未响应,分布式存储系统却没有正确地将这台存储服务器排除在外。
为了检测多副本数据是否一致,一般采用控制服务器来控制各存储服务器,由存储服务器计算各自存储的副本数据的校验码,并返回给控制服务器。控制服务器收集各个副本数据的校验码,进行比较,以判定多副本数据是否一致。
发明人在实现本发明的过程中,发现现有技术至少存在如下问题:现有的多副本数据一致性检测方法仅适应于只读数据的检测。如果用户持续地更新数据(即,数据是动态变化的),则,由于数据在网络上的传输延迟,可能存在某些时刻,多个副本存在短时间内的不一致情况(部分副本数据还未更新),此时若进行校验码比较,则会得出不一致的结论,从而导致误报。
发明内容
本发明实施例提供一种多副本数据的一致性检测方法和装置以及电子设备,以降低一致性检测的误报率,提高系统性能。
为达到上述目的,本发明实施例提供了一种多副本数据的一致性检测方法,包括:控制服务器将待检测副本数据切分为数个数据片段,所述数据片段组成待检测集合;针对所述待检测集合中的每一个所述数据片段,向多台存储服务器发送校验码获取请求;所述存储服务器根据所述校验码获取请求,向所述控制服务器返回所述数据片段的校验码;所述控制服务器将多台所述存储服务器返回的所述校验码进行比较,当多台所述存储服务器返回的所述校验码相同时,删除所述待检测集合中相应的所述数据片段;当所述待检测集合为空时,判定所述待检测副本数据一致。
本发明实施例还提供了一种多副本数据的一致性检测方法,包括:控制服务器将待检测副本数据切分为数个数据片段,所述数据片段组成待检测集合;针对所述待检测集合中的每一个所述数据片段,向存储服务器发送校验码获取请求;所述存储服务器根据所述校验码获取请求,向所述控制服务器返回所述数据片段的校验码;所述控制服务器将所述存储服务器返回的所述校验码与存储于所述控制服务器中的校验码进行比较,当所述存储服务器返回的所述校验码与所述控制服务器中的校验码相同时,删除所述待检测集合中相应的所述数据片段;当所述待检测集合为空时,判定所述待检测副本数据一致。
本发明实施例还提供了一种多副本数据的一致性检测方法,包括:控制服务器针对待检副本数据,向多台存储服务器发送校验码获取请求;所述存储服务器根据所述校验码获取请求,向所述控制服务器返回所述待检测副本数据的校验码;所述控制服务器将多台所述存储服务器返回的所述校验码进行比较,当多台所述存储服务器返回的所述校验码相同时,判定所述待检测副本数据一致。
本发明实施例还提供了一种多副本数据的一致性检测方法,包括:控制服务器将待检测副本数据切分为数个数据片段,所述数据片段组成待检测集合;针对所述待检测集合中的至少一个所述数据片段,向多台存储服务器发送校验码获取请求;所述存储服务器根据所述校验码获取请求,向所述控制服务器返回所述数据片段的校验码;所述控制服务器根据返回的所述校验码,确定所述待检测副本数据的一致性。
本发明实施例还提供了一种多副本数据的一致性检测方法,包括:将待检测副本数据切分为数个数据片段,所述数据片段组成待检测集合;针对所述待检测集合中的每一个所述数据片段,向多台存储服务器发送校验码获取请求,所述校验码获取请求用于指示所述存储服务器返回所述数据片段的校验码,将多台所述存储服务器返回的所述校验码进行比较,当多台所述存储服务器返回的所述校验码相同时,删除所述待检测集合中相应的所述数据片段;当所述待检测集合为空时,判定所述待检测副本数据一致。
本发明实施例还提供了一种多副本数据的一致性检测装置,包括:切分模块,用于将待检测副本数据切分为数个数据片段,所述数据片段组成待检测集合;第一处理模块,用于针对所述待检测集合中的每一个所述数据片段,向多台存储服务器发送校验码获取请求,所述校验码获取请求用于指示所述存储服务器返回所述数据片段的校验码,将多台所述存储服务器返回的所述校验码进行比较,当多台所述存储服务器返回的所述校验码相同时,删除所述待检测集合中相应的所述数据片段;判定模块,用于当所述待检测集合为空时,判定所述待检测副本数据一致。
本发明实施例还提供一种电子设备,包括:存储器,用于存储程序;处理器,用于运行所述存储器中存储的所述程序,以用于:将待检测副本数据切分为数个数据片段,所述数据片段组成待检测集合;针对所述待检测集合中的每一个所述数据片段,向多台存储服务器发送校验码获取请求,所述校验码获取请求用于指示所述存储服务器返回所述数据片段的校验码,将多台所述存储服务器返回的所述校验码进行比较,当多台所述存储服务器返回的所述校验码相同时,删除所述待检测集合中相应的所述数据片段;当所述待检测集合为空时,判定所述待检测副本数据一致。
本发明实施例提供的多副本数据的一致性检测方法和装置以及电子设备,通过对待检测副本数据进行切分,分段对数据进行校验码比较,对于动态变化的副本数据,降低了一致性检测的误报率,实现了多副本数据一致性的快速检测,极大地提高了系统性能。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例提供的业务系统的结构示意图;
图2a为本发明提供的多副本数据的一致性检测方法一个实施例的流程图;
图2b为本发明提供的多副本数据的一致性检测方法另一个实施例的流程图;
图2c为本发明提供的多副本数据的一致性检测方法另一个实施例的流程图;
图2d为本发明提供的多副本数据的一致性检测方法另一个实施例的流程图;
图3为本发明提供的多副本数据的一致性检测方法另一个实施例的流程图;
图4为本发明提供的多副本数据的一致性检测方法另一个实施例的流程图;
图5为本发明提供的多副本数据的一致性检测装置一个实施例的结构示意图;
图6为本发明提供的多副本数据的一致性检测装置另一个实施例的结构示意图;
图7为本发明提供的电子设备实施例的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
针对现有技术的缺陷,本申请提供一种解决方案,其主要原理是:在分布式存储系统中,引入控制服务器,对存储于各存储服务器中的待检测副本数据进行处理。首先,将待检测副本数据切分为数个数据片段,由这些数据片段组成一个待检测集合。然后,针对待检测集合中的每一个数据片段进行校验码比较,即,从各存储服务器获取该数据片段的校验码,并对这些校验码进行比较,当一个数据片段对应的所有校验码都相同时,在待检测集合中删除该数据片段。当所有数据片段都经过校验码比较,且每个数据片段的校验码分别相同时,上述待检测集合则为空,此时,可以判定该待检测副本数据一致。通过对待检测副本数据分段进行校验码比较,对于动态变化的副本数据来说,较小的数据片段在单位时间内的更新概率更低,因此,能够降低一致性检测的误报率。
本发明实施例提供的方法可应用于任何以多副本方式冗余地存储数据的业务系统。图1为本发明实施例提供的业务系统的结构示意图。如图1所示,业务系统中包括客户端、控制服务器和N个存储服务器(其中,N≥1)。用户通过客户端向存储服务器写入或更新数据,N个存储服务器的磁盘或内存中分别存储有副本1至副本N。用户可以通过客户端直接向N台存储服务器发送副本数据;或者向一台存储服务器发送副本数据,再由存储服务器向其它存储服务器转发;或者将上述两种方式相结合。控制服务器可以用来执行下述图2和图3所示的处理流程。首先,将待检测副本数据切分为数个数据片段,由这些数据片段组成待检测集合。然后,针对待检测集合中的每一个数据片段,向多台存储服务器发送校验码获取请求,以指示各存储服务器返回该数据片段的校验码,当多台存储服务器返回的校验码相同时,证明该段数据片段一致,此时,删除待检测集合中相应的数据片段。当待检测集合为空时,判定该待检测副本数据一致。
实施例一
图2a为本发明提供的多副本数据的一致性检测方法一个实施例的流程图。如图2a所示,该多副本数据的一致性检测方法包括如下步骤:
S201,控制服务器将待检测副本数据切分为数个数据片段;针对待检测集合中的每一个数据片段,向多台存储服务器发送校验码获取请求。
本发明实施例中,可以将待检测副本数据切分为长度不超过L的数据片段(例如,L取值2MB),这些数据片段组成待检测集合。上述校验码获取请求用于指示存储服务器向控制服务器返回数据片段的校验码。
S202,存储服务器根据接收到的校验码获取请求,向控制服务器返回该数据片段的校验码。
存储该待检测多副本数据的存储服务器在接收到该校验码获取请求后,计算该数据片段的校验码(例如,可以采用MD5或者CRC32等算法),并将其返回至控制服务器。
S203,控制服务器将多台存储服务器返回的校验码进行比较,当多台存储服务器返回的校验码相同时,删除待检测集合中相应的数据片段;当待检测集合为空时,判定该待检测副本数据一致。
控制服务器接收到多台存储服务器返回的校验码后,对其进行比较,当各校验码相同时,说明该段数据片段一致,此时,在待检测集合中删除该数据片段。控制服务器需要对待检测集合中所有的数据片段都进行校验码比较(从各存储服务器获取校验码,然后进行比较)的操作,这些操作可以同时进行,也可以按照随机或特定的顺序依次进行。
当多台存储服务器返回的校验码不同时,控制服务器判断校验码不同的所述数据片段的长度是否大于或等于最小长度阈值的两倍,该最小长度阈值为数据片段被允许的最小长度。当校验码不同的数据片段的长度大于或等于该最小长度阈值的两倍时,将校验码不同的数据片段切分为两个新的数据片段;当校验码不同的数据片段的长度小于该最小长度阈值的两倍时,重新获取该数据片段的校验码并进行比较,同时,将数据片段的重试次数值加一,重试次数值初始为零。将切分产生的新的数据片段添加到待检测集合中,代替校验码不同的数据片段,重新获取校验码并进行比较。
当数据片段的重试次数值大于最大重试次数阈值时,控制服务器判定该待检测副本数据不一致,其中,最大重试次数阈值为允许同一个数据片段重新进行校验码比较的最大次数。
当所有数据片段都经过校验码比较,且每个数据片段的校验码分别相同时,上述待检测集合则为空,此时,可以判定该待检测副本数据一致。
本发明实施例提供的多副本数据的一致性检测方法,通过对待检测副本数据进行切分,分段对数据进行校验码比较,对于动态变化的副本数据,降低了一致性检测的误报率,实现了多副本数据一致性的快速检测,极大地提高了系统性能。
实施例二
图2b为本发明提供的多副本数据的一致性检测方法另一个实施例的流程图。如图2b所示,该多副本数据的一致性检测方法包括如下步骤:
S204,控制服务器将待检测副本数据切分为数个数据片段,这些数据片段组成待检测集合;针对待检测集合中的每一个数据片段,向存储服务器发送校验码获取请求。
S205,存储服务器根据接收到的校验码获取请求,向控制服务器返回该数据片段的校验码。
S206,控制服务器将存储服务器返回的校验码与存储于控制服务器中的校验码进行比较,当存储服务器返回的校验码与控制服务器中的校验码相同时,删除待检测集合中相应的数据片段;当待检测集合为空时,判定该待检测副本数据一致。
本发明实施例提供的多副本数据的一致性检测方法,通过对待检测副本数据进行切分,分段对数据进行校验码比较,对于动态变化的副本数据,降低了一致性检测的误报率,实现了多副本数据一致性的快速检测,极大地提高了系统性能。
实施例三
图2c为本发明提供的多副本数据的一致性检测方法另一个实施例的流程图。如图2c所示,该多副本数据的一致性检测方法包括如下步骤:
S207,控制服务器针对待检测副本数据,向多台存储服务器发送校验码获取请求。
S208,存储服务器根据接收到的校验码获取请求,向控制服务器返回该待检测副本数据的校验码。
S209,控制服务器将多台存储服务器返回的校验码进行比较,当多台存储服务器返回的校验码相同时,判定该待检测副本数据一致。
本发明实施例提供的多副本数据的一致性检测方法,通过对待检测副本数据进行多副本校验码比较,实现了多副本数据一致性的检测,提高了系统性能。
实施例四
图2d为本发明提供的多副本数据的一致性检测方法另一个实施例的流程图。如图2d所示,该多副本数据的一致性检测方法包括如下步骤:
S210,控制服务器将待检测副本数据切分为数个数据片段,这些数据片段组成待检测集合;针对待检测集合中的至少一个数据片段,向多台存储服务器发送校验码获取请求。
S211,存储服务器根据接收到的校验码获取请求,向控制服务器返回该数据片段的校验码。
S212,控制服务器根据多台存储服务器返回的校验码,确定该待检测副本数据的一致性。
本发明实施例提供的多副本数据的一致性检测方法,通过对待检测副本数据进行切分,分段对数据进行校验码比较,对于动态变化的副本数据,降低了一致性检测的误报率,实现了多副本数据一致性的快速检测,极大地提高了系统性能。
实施例五
图3为本发明提供的多副本数据的一致性检测方法另一个实施例的流程图,该方法的执行主体可以为上述业务系统中的控制服务器。如图3所示,该多副本数据的一致性检测方法包括如下步骤:
S301,将待检测副本数据切分为数个数据片段。
本发明实施例中,可以将待检测副本数据切分为长度不超过L的数据片段(例如,L取值2MB),这些数据片段组成待检测集合。
S302,针对待检测集合中的每一个数据片段,向多台存储服务器发送校验码获取请求,当多台存储服务器返回的校验码相同时,删除待检测集合中相应的数据片段。
上述校验码获取请求用于指示存储服务器向控制服务器返回数据片段的校验码,存储该待检测多副本数据的存储服务器在接收到该校验码获取请求后,计算该数据片段的校验码(例如,可以采用MD5或者CRC32等算法),并将其返回至控制服务器。控制服务器接收到多台存储服务器返回的校验码后,对其进行比较,当各校验码相同时,说明该段数据片段一致,此时,在待检测集合中删除该数据片段。控制服务器需要对待检测集合中所有的数据片段都进行校验码比较(从各存储服务器获取校验码,然后进行比较)的操作,这些操作可以同时进行,也可以按照随机或特定的顺序依次进行。
S303,当待检测集合为空时,判定该待检测副本数据一致。
在本发明实施例中,当所有数据片段都经过校验码比较,且每个数据片段的校验码分别相同时,上述待检测集合则为空,此时,可以判定该待检测副本数据一致。
本发明实施例提供的多副本数据的一致性检测方法,通过对待检测副本数据进行切分,分段对数据进行校验码比较,对于动态变化的副本数据,降低了一致性检测的误报率,实现了多副本数据一致性的快速检测,极大地提高了系统性能。
实施例六
图4为本发明提供的多副本数据的一致性检测方法另一个实施例的流程图。如图4所示,在上述图3所示实施例的基础上,本实施例提供的多副本数据的一致性检测方法可以进一步包括以下步骤:
S401,将待检测副本数据切分为数个数据片段,这些数据片段组成待检测集合。
S402,判断待检测集合是否为空,若是,则执行步骤S403,否则,执行步骤S404。
S403,判定该待检测副本数据一致。
当待检测集合为空时,判定待检测副本数据一致,或者报告“未发现多副本数据不一致”等信息,并结束操作。
S404,从待检测集合中选出一个数据片段,向存储该数据片段的所有存储服务器发送校验码获取请求,获取存储服务器返回的校验码。
在本发明实施例中,可以按照随机或特定的顺序依次对各数据片段进行后续处理。
S405,比较各存储服务器返回的校验码是否相同,若相同,则执行步骤S402,否则,执行步骤S406。
若当前数据片段的各校验码相同,则删除待检测集合中相应的数据片段,然后重返步骤S402,对其它数据片段进行处理。
S406,判断当前数据片段的长度(L)是否大于或等于最小长度阈值(Lmin)的两倍,若是,则执行步骤S407,否则,执行步骤S408。
若多台存储服务器返回的校验码不相同,则判断校验码不同的数据片段的长度是否大于或等于最小长度阈值的两倍,该最小长度阈值为数据片段被允许的最小长度。
S407,将当前数据片段切分为两个新的数据片段,添加到待检测集合中,并删除原数据片段,然后执行步骤S402。
对于动态变化的副本数据来说,数据片段越小,则在单位时间内的更新概率越低,因此,当校验码不同的数据片段的长度大于或等于最小长度阈值的两倍时,将校验码不同的数据片段切分为两个新的数据片段,将新的数据片段添加到待检测集合中,代替原数据片段(校验码不同的数据片段),重新获取校验码并进行比较,从而进一步降低一致性检测的误报率。
S408,判断当前数据片段的重试次数值(M)是否大于最大重试次数阈值(Mmax),若是,执行步骤S409,否则,执行步骤S410。
在本发明实施例中,该最大重试次数阈值为允许同一个数据片段重新进行校验码比较的最大次数。当校验码不同的数据片段的长度小于最小长度阈值的两倍时,则不再对其进行切分,同时,判断该数据片段重新进行校验码比较的次数是否超过最大重试次数阈值。
S409,判定该待检测副本数据不一致。
当前数据片段的重试次数值大于最大重试次数阈值时,判定该待检测副本数据不一致,或者报告“发现多副本数据不一致”等信息,并结束操作。
S410将当前数据片段的重试次数值加一,然后执行步骤S402。
当前数据片段的重试次数值小于或等于最大重试次数阈值时,将其重试次数值加一,并对其重新进行校验码比较的操作。
本发明实施例提供的多副本数据的一致性检测方法,通过将校验码不同的数据片段切分为两个新的数据片段,将新的数据片段添加到待检测集合中,代替原数据片段(校验码不同的数据片段),重新获取校验码并进行比较,从而进一步降低一致性检测的误报率。
实施例七
图5为本发明提供的多副本数据的一致性检测装置一个实施例的结构示意图,可以为本发明实施例提供的业务系统中的控制服务器,用于执行如图2或图3所示的方法步骤。如图5所示,该装置可以包括:切分模块51、第一处理模块52和判定模块53。
其中,切分模块51用于将待检测副本数据切分为数个数据片段,这些数据片段组成待检测集合;第一处理模块52用于针对待检测集合中的每一个数据片段,向多台存储服务器发送校验码获取请求,该校验码获取请求用于指示存储服务器返回该数据片段的校验码,将多台存储服务器返回的校验码进行比较,当多台存储服务器返回的校验码相同时,删除待检测集合中相应的数据片段;判定模块53用于当待检测集合为空时,判定该待检测副本数据一致。
在本发明实施例中,切分模块51可以将待检测副本数据切分为长度不超过L的数据片段(例如,L取值2MB),这些数据片段组成待检测集合。存储该待检测多副本数据的存储服务器在接收到该校验码获取请求后,计算该数据片段的校验码(例如,可以采用MD5或者CRC32等算法),并将其返回至控制服务器。第一处理模块52接收到多台存储服务器返回的校验码后,对其进行比较,当各校验码相同时,说明该段数据片段一致,此时,在待检测集合中删除该数据片段。第一处理模块52需要对待检测集合中所有的数据片段都进行校验码比较(从各存储服务器获取校验码,然后进行比较)的操作,这些操作可以同时进行,也可以按照随机或特定的顺序依次进行。当所有数据片段都经过校验码比较,且每个数据片段的校验码分别相同时,上述待检测集合则为空,此时,判定模块53判定该待检测副本数据一致。
本发明实施例提供的多副本数据的一致性检测装置,通过对待检测副本数据进行切分,分段对数据进行校验码比较,对于动态变化的副本数据,降低了一致性检测的误报率,实现了多副本数据一致性的快速检测,极大地提高了系统性能。
实施例八
图6为本发明提供的多副本数据的一致性检测装置另一个实施例的结构示意图,可用于执行如图4所示的方法步骤。如图6所示,在上述图5所示实施例的基础上,该多副本数据的一致性检测装置还可以包括:第二处理模块61。
该第二处理模块61可以用于当多台存储服务器返回的校验码不同时,将校验码不同的数据片段切分为两个新的数据片段;将新的数据片段添加到待检测集合中,代替校验码不同的数据片段,由第一处理模块52重新获取校验码并进行比较。
对于动态变化的副本数据来说,数据片段越小,则在单位时间内的更新概率越低,因此,当校验码不同的数据片段的长度大于或等于最小长度阈值的两倍时,第二处理模块61将校验码不同的数据片段切分为两个新的数据片段,将新的数据片段添加到待检测集合中,代替原数据片段(校验码不同的数据片段),以重新获取校验码并进行比较,从而进一步降低一致性检测的误报率。
进一步地,本发明实施例提供的多副本数据的一致性检测装置还可以包括:比较模块62。
该比较模块62用于在第二处理模块61将校验码不同的数据片段切分为两个新的数据片段之前,判断校验码不同的数据片段的长度是否大于或等于最小长度阈值的两倍,该最小长度阈值为数据片段被允许的最小长度;当校验码不同的数据片段的长度大于或等于最小长度阈值的两倍时,由第二处理模块61执行将校验码不同的数据片段切分为两个新的数据片段的操作;当校验码不同的数据片段的长度小于最小长度阈值的两倍时,由第一处理模块52重新获取该数据片段的校验码并进行比较,同时,将数据片段的重试次数值加一,该重试次数值初始为零。
更进一步地,上述判定模块53还可以用于当重试次数值大于最大重试次数阈值时,判定该待检测副本数据不一致,该最大重试次数阈值为允许同一个数据片段重新进行校验码比较的最大次数。
本发明实施例提供的多副本数据的一致性检测装置,通过将校验码不同的数据片段切分为两个新的数据片段,将新的数据片段添加到待检测集合中,代替原数据片段(校验码不同的数据片段),重新获取校验码并进行比较,从而进一步降低一致性检测的误报率。
实施例九
以上描述了多副本数据的一致性检测装置的内部功能和结构,该装置可实现为一种电子设备。图7为本发明提供的电子设备实施例的结构示意图。如图7所示,该电子设备包括存储器71和处理器72。
存储器71,用于存储程序。除上述程序之外,存储器71还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器71可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器72,与存储器71耦合,执行存储器71所存储的程序,以用于:
将待检测副本数据切分为数个数据片段,这些数据片段组成待检测集合;针对待检测集合中的每一个数据片段,向多台存储服务器发送校验码获取请求,该校验码获取请求用于指示存储服务器返回该数据片段的校验码,将多台存储服务器返回的校验码进行比较,当多台存储服务器返回的校验码相同时,删除待检测集合中相应的数据片段;当待检测集合为空时,判定该待检测副本数据一致。
在一可选实施方式中当多台存储服务器返回的所述校验码不同时,处理器72还用于:将校验码不同的数据片段切分为两个新的数据片段;将新的数据片段添加到待检测集合中,代替校验码不同的数据片段,重新获取校验码并进行比较。
上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。
进一步,如图7所示,电子设备还可以包括:通信组件73、电源组件74、音频组件75、显示器76等其它组件。图7中仅示意性给出部分组件,并不意味着电子设备只包括图7所示组件。
通信组件73被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件73经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件73还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件74,为电子设备的各种组件提供电力。电源组件74可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件75被配置为输出和/或输入音频信号。例如,音频组件75包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器71或经由通信组件73发送。在一些实施例中,音频组件75还包括一个扬声器,用于输出音频信号。
显示器76包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (13)

1.一种多副本数据的一致性检测方法,其特征在于,包括:
控制服务器将待检测副本数据切分为数个数据片段,所述数据片段组成待检测集合;针对所述待检测集合中的每一个所述数据片段,向多台存储服务器发送校验码获取请求;
所述存储服务器根据所述校验码获取请求,向所述控制服务器返回所述数据片段的校验码;
所述控制服务器将多台所述存储服务器返回的所述校验码进行比较,当多台所述存储服务器返回的所述校验码相同时,删除所述待检测集合中相应的所述数据片段;当所述待检测集合为空时,判定所述待检测副本数据一致。
2.根据权利要求1所述的多副本数据的一致性检测方法,其特征在于,当多台所述存储服务器返回的所述校验码不同时,所述方法还包括:
所述控制服务器将校验码不同的所述数据片段切分为两个新的数据片段;将所述新的数据片段添加到所述待检测集合中,代替校验码不同的所述数据片段,重新获取校验码并进行比较。
3.根据权利要求2所述的多副本数据的一致性检测方法,其特征在于,在所述控制服务器将校验码不同的所述数据片段切分为两个新的数据片段之前,还包括:
所述控制服务器判断校验码不同的所述数据片段的长度是否大于或等于最小长度阈值的两倍,所述最小长度阈值为所述数据片段被允许的最小长度;当校验码不同的所述数据片段的长度大于或等于所述最小长度阈值的两倍时,执行所述将校验码不同的所述数据片段切分为两个新的数据片段的操作;当校验码不同的所述数据片段的长度小于所述最小长度阈值的两倍时,重新获取所述数据片段的校验码并进行比较,同时,将所述数据片段的重试次数值加一,所述重试次数值初始为零。
4.根据权利要求3所述的多副本数据的一致性检测方法,其特征在于,还包括:
当所述重试次数值大于最大重试次数阈值时,所述控制服务器判定所述待检测副本数据不一致,所述最大重试次数阈值为允许同一个所述数据片段重新进行校验码比较的最大次数。
5.一种多副本数据的一致性检测方法,其特征在于,包括:
控制服务器将待检测副本数据切分为数个数据片段,所述数据片段组成待检测集合;针对所述待检测集合中的每一个所述数据片段,向存储服务器发送校验码获取请求;
所述存储服务器根据所述校验码获取请求,向所述控制服务器返回所述数据片段的校验码;
所述控制服务器将所述存储服务器返回的所述校验码与存储于所述控制服务器中的校验码进行比较,当所述存储服务器返回的所述校验码与所述控制服务器中的校验码相同时,删除所述待检测集合中相应的所述数据片段;当所述待检测集合为空时,判定所述待检测副本数据一致。
6.一种多副本数据的一致性检测方法,其特征在于,包括:
控制服务器针对待检副本数据,向多台存储服务器发送校验码获取请求;
所述存储服务器根据所述校验码获取请求,向所述控制服务器返回所述待检测副本数据的校验码;
所述控制服务器将多台所述存储服务器返回的所述校验码进行比较,当多台所述存储服务器返回的所述校验码相同时,判定所述待检测副本数据一致。
7.一种多副本数据的一致性检测方法,其特征在于,包括:
控制服务器将待检测副本数据切分为数个数据片段,所述数据片段组成待检测集合;针对所述待检测集合中的至少一个所述数据片段,向多台存储服务器发送校验码获取请求;
所述存储服务器根据所述校验码获取请求,向所述控制服务器返回所述数据片段的校验码;
所述控制服务器根据返回的所述校验码,确定所述待检测副本数据的一致性。
8.一种多副本数据的一致性检测方法,其特征在于,包括:
将待检测副本数据切分为数个数据片段,所述数据片段组成待检测集合;
针对所述待检测集合中的每一个所述数据片段,向多台存储服务器发送校验码获取请求,所述校验码获取请求用于指示所述存储服务器返回所述数据片段的校验码,将多台所述存储服务器返回的所述校验码进行比较,当多台所述存储服务器返回的所述校验码相同时,删除所述待检测集合中相应的所述数据片段;
当所述待检测集合为空时,判定所述待检测副本数据一致。
9.根据权利要求8所述的多副本数据的一致性检测方法,其特征在于,当多台所述存储服务器返回的所述校验码不同时,所述方法还包括:
将校验码不同的所述数据片段切分为两个新的数据片段;
将所述新的数据片段添加到所述待检测集合中,代替校验码不同的所述数据片段,重新获取校验码并进行比较。
10.根据权利要求9所述的多副本数据的一致性检测方法,其特征在于,在所述将校验码不同的所述数据片段切分为两个新的数据片段之前,还包括:判断校验码不同的所述数据片段的长度是否大于或等于最小长度阈值的两倍,所述最小长度阈值为所述数据片段被允许的最小长度;
当校验码不同的所述数据片段的长度大于或等于所述最小长度阈值的两倍时,执行所述将校验码不同的所述数据片段切分为两个新的数据片段的操作;
当校验码不同的所述数据片段的长度小于所述最小长度阈值的两倍时,重新获取所述数据片段的校验码并进行比较,同时,将所述数据片段的重试次数值加一,所述重试次数值初始为零。
11.根据权利要求10所述的多副本数据的一致性检测方法,其特征在于,还包括:
当所述重试次数值大于最大重试次数阈值时,判定所述待检测副本数据不一致,所述最大重试次数阈值为允许同一个所述数据片段重新进行校验码比较的最大次数。
12.一种多副本数据的一致性检测装置,其特征在于,包括:
切分模块,用于将待检测副本数据切分为数个数据片段,所述数据片段组成待检测集合;
第一处理模块,用于针对所述待检测集合中的每一个所述数据片段,向多台存储服务器发送校验码获取请求,所述校验码获取请求用于指示所述存储服务器返回所述数据片段的校验码,将多台所述存储服务器返回的所述校验码进行比较,当多台所述存储服务器返回的所述校验码相同时,删除所述待检测集合中相应的所述数据片段;
判定模块,用于当所述待检测集合为空时,判定所述待检测副本数据一致。
13.一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,以用于:
将待检测副本数据切分为数个数据片段,所述数据片段组成待检测集合;
针对所述待检测集合中的每一个所述数据片段,向多台存储服务器发送校验码获取请求,所述校验码获取请求用于指示所述存储服务器返回所述数据片段的校验码,将多台所述存储服务器返回的所述校验码进行比较,当多台所述存储服务器返回的所述校验码相同时,删除所述待检测集合中相应的所述数据片段;
当所述待检测集合为空时,判定所述待检测副本数据一致。
CN201710536471.8A 2017-07-04 2017-07-04 多副本数据的一致性检测方法和装置以及电子设备 Active CN109213431B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710536471.8A CN109213431B (zh) 2017-07-04 2017-07-04 多副本数据的一致性检测方法和装置以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710536471.8A CN109213431B (zh) 2017-07-04 2017-07-04 多副本数据的一致性检测方法和装置以及电子设备

Publications (2)

Publication Number Publication Date
CN109213431A true CN109213431A (zh) 2019-01-15
CN109213431B CN109213431B (zh) 2022-05-13

Family

ID=64993309

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710536471.8A Active CN109213431B (zh) 2017-07-04 2017-07-04 多副本数据的一致性检测方法和装置以及电子设备

Country Status (1)

Country Link
CN (1) CN109213431B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416891A (zh) * 2020-11-26 2021-02-26 北京天融信网络安全技术有限公司 数据检测方法、装置、电子设备及可读存储介质
CN115544175A (zh) * 2022-12-01 2022-12-30 深圳市明源云科技有限公司 数据同步结果检测方法、装置、设备及可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1818878A (zh) * 2006-03-10 2006-08-16 四川大学 信息系统数据一致性检测方法
CN103699494A (zh) * 2013-12-06 2014-04-02 北京奇虎科技有限公司 一种数据存储方法、数据存储设备和分布式存储系统
US20140281065A1 (en) * 2011-09-23 2014-09-18 Netapp, Inc. Consistent distributed storage communication protocol semantics in a clustered storage system
CN105608143A (zh) * 2015-12-17 2016-05-25 北京奇虎科技有限公司 多副本数据一致性的检测方法及装置
CN105630625A (zh) * 2014-10-29 2016-06-01 国际商业机器公司 检测数据副本之间的一致性的方法和装置
CN105989044A (zh) * 2015-02-04 2016-10-05 阿里巴巴集团控股有限公司 一种数据库校验方法及系统
CN106033427A (zh) * 2015-03-11 2016-10-19 阿里巴巴集团控股有限公司 一种抽样校验数据方法及设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1818878A (zh) * 2006-03-10 2006-08-16 四川大学 信息系统数据一致性检测方法
US20140281065A1 (en) * 2011-09-23 2014-09-18 Netapp, Inc. Consistent distributed storage communication protocol semantics in a clustered storage system
CN103699494A (zh) * 2013-12-06 2014-04-02 北京奇虎科技有限公司 一种数据存储方法、数据存储设备和分布式存储系统
CN105630625A (zh) * 2014-10-29 2016-06-01 国际商业机器公司 检测数据副本之间的一致性的方法和装置
CN105989044A (zh) * 2015-02-04 2016-10-05 阿里巴巴集团控股有限公司 一种数据库校验方法及系统
CN106033427A (zh) * 2015-03-11 2016-10-19 阿里巴巴集团控股有限公司 一种抽样校验数据方法及设备
CN105608143A (zh) * 2015-12-17 2016-05-25 北京奇虎科技有限公司 多副本数据一致性的检测方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416891A (zh) * 2020-11-26 2021-02-26 北京天融信网络安全技术有限公司 数据检测方法、装置、电子设备及可读存储介质
CN112416891B (zh) * 2020-11-26 2023-11-28 北京天融信网络安全技术有限公司 数据检测方法、装置、电子设备及可读存储介质
CN115544175A (zh) * 2022-12-01 2022-12-30 深圳市明源云科技有限公司 数据同步结果检测方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN109213431B (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
US10554805B2 (en) Information processing method, terminal, and computer-readable storage medium
CN104536848B (zh) 固件恢复方法、装置和终端
CN110751275A (zh) 图训练系统、数据访问方法及装置、电子设备、存储介质
US20130297563A1 (en) Timestamp management method for data synchronization and terminal therefor
CN108572789B (zh) 磁盘存储方法和装置、消息推送方法和装置及电子设备
CN110377235B (zh) 数据处理方法、装置、移动终端及计算机可读存储介质
KR20180080620A (ko) 전자 장치 간 콘텐츠 공유 시스템 및 전자 장치의 콘텐츠 공유 방법
CN110390641B (zh) 图像脱敏方法、电子设备及存储介质
CN107943562A (zh) 信息存储方法、装置、存储介质及电子设备
CN109213431A (zh) 多副本数据的一致性检测方法和装置以及电子设备
KR20170050170A (ko) 연락처 정보 제공 방법 및 장치
CN111291112B (zh) 分布式数据库的读写控制方法和装置以及电子设备
CN112613745A (zh) 记录仪管理方法、系统、存储介质以及电子设备
KR20180122137A (ko) 영상에 동적 효과를 부여하기 위한 방법 및 그 전자 장치
CN114928620B (zh) 用户信息同步方法、装置、设备、存储介质和程序产品
CN106294123A (zh) 一种遍历测试中路径匹配的方法、装置及移动终端
CN107168648B (zh) 文件存储方法、装置及终端
CN110321321A (zh) 网络块设备快照读写方法、装置、设备及存储介质
CN115422203A (zh) 区块链分布式系统的数据管理方法、装置、设备及介质
CN111831472B (zh) 快照创建方法和装置以及电子设备
CN114911759A (zh) 一种文件接续方法、装置、终端设备以及存储介质
US9159115B1 (en) Processing vectorized elements associated with IT system images
CN111049981A (zh) 消息标识方法、装置、用户设备以及计算机可读存储介质
CN111190549A (zh) 一种共享卷可用容量获取方法、装置、设备及介质
WO2015066247A1 (en) Managing server membership

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant