CN112463444A - 一种数据不一致修复方法及相关装置 - Google Patents

一种数据不一致修复方法及相关装置 Download PDF

Info

Publication number
CN112463444A
CN112463444A CN202011296703.5A CN202011296703A CN112463444A CN 112463444 A CN112463444 A CN 112463444A CN 202011296703 A CN202011296703 A CN 202011296703A CN 112463444 A CN112463444 A CN 112463444A
Authority
CN
China
Prior art keywords
data
object data
error
information
recovery
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.)
Withdrawn
Application number
CN202011296703.5A
Other languages
English (en)
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202011296703.5A priority Critical patent/CN112463444A/zh
Publication of CN112463444A publication Critical patent/CN112463444A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data

Abstract

本申请公开了一种数据不一致修复方法,包括:按照预设周期执行数据一致性校验操作;当校验到不一致的对象数据时,记录所述对象数据的信息;根据所述对象数据的信息和当前对象数据的版本号进行错误记录表构建处理,得到所述对象数据对应的错误记录表;根据所述错误记录表进行数据修复处理。通过执行数据一致性校验操作后,当校验到不一致的对象数据时记录到对应的信息,直接根据该信息进行数据修复处理,避免等待其他的扫描操作,提高数据修复的效率,减短数据修复过程的时长。本申请还公开了一种数据不一致修复装置、服务器以及计算机可读存储介质,具有以上有益效果。

Description

一种数据不一致修复方法及相关装置
技术领域
本申请涉及数据存储技术领域,特别涉及一种数据不一致修复方法、数据不一致修复装置、服务器以及计算机可读存储介质。
背景技术
随着信息技术的不断发展,出现了分布式计算技术。其中,分布式计算就是在两个或多个软件互相共享信息,其中的软件既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。分布式计算是一种计算方法,和集中式计算是相对的。随着计算技术的发展,有些应用需要非常巨大的计算能力才能完成,如采用集中式计算,需要耗费相当长的时间来完成。分布式计算将该应用分解成许多小的部分,分配给多台计算机进行处理。进一步的,分布式存储系统,是将数据分散存储在多台独立的设备上。进一步的,对于分布式存储集群,需要保障副本之间数据的一致性,集群运行过程中对数据进行一致性处理。
相关技术中,由于各种原因导致了副本之间的数据不一致,数据一致性校验提供了感知副本间数据不一致的方式,集群会定期进行数据一致性校验扫描的工作,用于检查是否出现了数据不一致,如果出现了数据不一致,会上报集群状态,显示出来,集群出现数据一致性校验错误后,需要尽快进行修复。但是,在执行修复命令的时候,需要重新进行一次数据一致性扫描过过程,然后才做数据修复操作,如果数据量比较大的情况下,进行一次数据修复操作耗时很长时间,降低了数据修复的效率。
因此,如何提高对数据进行不一致修复的效率是本领域技术人员关注的重点问题。
发明内容
本申请的目的是提供一种数据不一致修复方法、数据不一致修复装置、服务器以及计算机可读存储介质,通过执行数据一致性校验操作后,当校验到不一致的对象数据时记录到对应的信息,直接根据该信息进行数据修复处理,避免等待其他的扫描操作,提高数据修复的效率,减短数据修复过程的时长。
为解决上述技术问题,本申请提供一种数据不一致修复方法,包括:
按照预设周期执行数据一致性校验操作;
当校验到不一致的对象数据时,记录所述对象数据的信息;
根据所述对象数据的信息和当前对象数据的版本号进行错误记录表构建处理,得到所述对象数据对应的错误记录表;
根据所述错误记录表进行数据修复处理。
可选的,还包括:
当所述数据修复处理完成时,清除所述对象数据对应的错误标识。
可选的,当校验到不一致的对象数据时,记录所述对象数据的信息,包括:
当校验到不一致的对象数据时,记录所述对象数据的信息,并将对所述对象数据标记对应的错误标记。
可选的,根据所述错误记录表进行数据修复处理,包括:
采用do_recovery事件根据所述错误记录表进行数据修复处理。
本申请还提供一种数据不一致修复装置,包括:
校验操作模块,用于按照预设周期执行数据一致性校验操作;
信息记录模块,用于当校验到不一致的对象数据时,记录所述对象数据的信息;
错误记录表构建模块,用于根据所述对象数据的信息和当前对象数据的版本号进行错误记录表构建处理,得到所述对象数据对应的错误记录表;
错误修复模块,用于根据所述错误记录表进行数据修复处理。
可选的,还包括:
标识清除模块,用于当所述数据修复处理完成时,清除所述对象数据对应的错误标识。
可选的,所述信息记录模块,具体用于当校验到不一致的对象数据时,记录所述对象数据的信息,并将对所述对象数据标记对应的错误标记。
可选的,所述错误修复模块,具体用于采用do_recovery事件根据所述错误记录表进行数据修复处理。
本申请还提供一种服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的数据不一致修复方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的数据不一致修复方法的步骤。
本申请所提供的一种数据不一致修复方法,包括:按照预设周期执行数据一致性校验操作;当校验到不一致的对象数据时,记录所述对象数据的信息;根据所述对象数据的信息和当前对象数据的版本号进行错误记录表构建处理,得到所述对象数据对应的错误记录表;根据所述错误记录表进行数据修复处理。
通过执行数据一致性校验操作后,当校验到不一致的对象数据时记录到对应的信息,直接根据该信息进行数据修复处理,避免等待其他的扫描操作,提高数据修复的效率,减短数据修复过程的时长。
本申请还提供一种数据不一致修复装置、服务器以及计算机可读存储介质,具有以上有益效果,在此不做赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种数据不一致修复方法的流程图;
图2为本申请实施例所提供的一种数据不一致修复装置的结构示意图。
具体实施方式
本申请的核心是提供一种数据不一致修复方法、数据不一致修复装置、服务器以及计算机可读存储介质,通过执行数据一致性校验操作后,当校验到不一致的对象数据时记录到对应的信息,直接根据该信息进行数据修复处理,避免等待其他的扫描操作,提高数据修复的效率,减短数据修复过程的时长。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中,由于各种原因导致了副本之间的数据不一致,数据一致性校验提供了感知副本间数据不一致的方式,集群会定期进行数据一致性校验扫描的工作,用于检查是否出现了数据不一致,如果出现了数据不一致,会上报集群状态,显示出来,集群出现数据一致性校验错误后,需要尽快进行修复。但是,在执行修复命令的时候,需要重新进行一次数据一致性扫描过过程,然后才做数据修复操作,如果数据量比较大的情况下,进行一次数据修复操作耗时很长时间,降低了数据修复的效率。
因此,本申请提供一种数据不一致修复方法,通过执行数据一致性校验操作后,当校验到不一致的对象数据时记录到对应的信息,直接根据该信息进行数据修复处理,避免等待其他的扫描操作,提高数据修复的效率,减短数据修复过程的时长。
以下通过一个实施例,对本申请提供的一种数据不一致修复方法进行说明。
请参考图1,图1为本申请实施例所提供的一种数据不一致修复方法的流程图。
本实施例中,该方法可以包括:
S101,按照预设周期执行数据一致性校验操作;
本步骤旨在按照预设周期执行数据一致性操作,以便按照预设周期对存储的数据进行一致性校验,及时发现数据中出现的错误。
其中,执行的数据一致性校验操作可以采用现有技术提供的任意一种数据一致性校验操作,在此不做具体限定。
其中,该预设周期可以按照技术人员的检验进行设定,也可以根据存储系统的数据存储状况进行设定,还可以根据存储系统的运行时间进行设定。可见,本步骤中设定预设周期的方式并不唯一,在此不做具体限定。
S102,当校验到不一致的对象数据时,记录对象数据的信息;
在S101的基础上,本步骤旨在当校验到不一致的对象数据时,记录对象数据的信息。也就是,上一步骤中当校验到出现不一致情况的对象数据时,即可记录该对象数据的信息,以便通过该信息进行数据修复。
其中,记录的该对象数据的信息可以包括:对象信息、主OSD(Object-basedStorage Device,对象存储设备)、数据不一致对象数据所在的OSD。
进一步的,为了提高确定错误数据的效率,本步骤可以包括:
当校验到不一致的对象数据时,记录对象数据的信息,并将对对象数据标记对应的错误标记。
可见,本可选方案中主要是对如何记录对象数据的信息进行说明。本可选方案中主要是当校验到不一致的对象数据时,记录对象数据的信息,并将对对象数据标记对应的错误标记。也就是,在记录该对象数据的信息的同时,并对该对象数据标记上错误标记,以方便数据修复过程通过错误标记快速确定对象数据。
S103,根据对象数据的信息和当前对象数据的版本号进行错误记录表构建处理,得到对象数据对应的错误记录表;
在S102的基础上,直接根据对象数据的信息和当前对象数据的版本号进行错误记录表构建处理,得到对象数据对应的错误记录表。
而在相关技术中,是对该单位的存储数据进行全部的数据一致性校验后然后针对所有的一致性校验出错的数据再构建出对应的错误记录表,最后再根据该错误记录表进行数据修复操作。可见,相关技术中需要等待所有的数据扫描完成后才能进行相应的数据修复操作,在一定程度上延长了数据修复的时长。
因此,本步骤可以直接根据该对象数据的信息和当前对象数据的版本号构建出错误记录表,以便直接进行相应的数据修复处理。其中,构建错误记录表的方式可以采用现有技术提供的任意一种构建方式,在此不做具体限定。
S104,根据错误记录表进行数据修复处理。
在S103的基础上,本步骤旨在根据错误记录表进行数据修复处理。其中,本步骤可以采用现有技术提供的任意一种数据修复处理,在此不做具体限定。
进一步的,在实际的应用环境中为了提高修复的效率,本步骤可以包括:
采用do_recovery事件根据错误记录表进行数据修复处理。
可见,本可选方案主要是对如何进行数据修复处理进行说明。其中,具体的是采用do_recovery事件进行数据修复,该do_recovery事件为存储系统中自带的数据修复事件,而不用采用其他外挂的数据修复方式,提高了数据修复过程调用的效率,也就是提高了数据修复的效率。
综上,本实施例通过执行数据一致性校验操作后,当校验到不一致的对象数据时记录到对应的信息,直接根据该信息进行数据修复处理,避免等待其他的扫描操作,提高数据修复的效率,减短数据修复过程的时长。
以下通过另一具体的实施例,对本申请提供的一种数据不一致修复方法做进一步说明。
为了进一步对本申请的技术方案进行说明。以下首先对相关技术的技术内容进行介绍。相关技术中,对不一致数据进行的修复过程可以包括:
触发数据修复的命令,对象存储设备接收到修复PG(Placement Group,归置组)不一致的消息;注册对应的PG的scrub(数据一致性校验),触发这个PG的scrub流程;开始进行扫描,主对象存储设备开始构建scrubmap(数据一致性校验地图),同时给备对象存储设备发送消息;备对象存储设备收到主对象存储设备的消息后,开始构建同样的scrubmap;备对象存储设备构建完成scrubmap后,返回给主对象存储设备;主对象存储设备收到所有备的scrubmap后,开始进行比较,本次比较完成,如果该PG还有对象没有扫描完,继续扫描比较,扫描完成,开始构建错误列表;scrub扫描完成后,如果有错误,开始构建错误记录表,然后触发do_recovery流程,根据构建的错误记录表来进行数据恢复操作;数据恢复完成,数据修复结束,数据不一致修复完成。
可见,相关技术中执行数据修复命令的时候,重新进行了一次scrub扫描过程,然后才做的数据修复操作,如果数据量比较大的情况下,进行一次数据修复操作耗时很长时间。并且,由于构建错误记录表的时候,使用的信息是scrub扫描到的信息构建的,数据量大这个时间很长,如果这个期间有不一致的对象进行写操作,会导致对象的版本号大于构建错误记录表时对象的版本号,最后执行恢复操作的时候会因为版本号不一致导致修复失败,修复失败会导致出现前端数据流程卡顿的情况。
因此,本实施例提供一种数据不一致修复方法,以便提高数据不一致修复过程的效率,减短修复时间。
本实施例中,该方法可以包括:
步骤1,集群运行过程中,定时触发scrub的任务;
步骤2,scrub过程中,发现对象数据不一致的情况后,记录下数据不一致的对象、权威对象存储设备、数据不一致对象所在的对象存储设备,扫描任务结束后,上报scrub错误;
步骤3,客户发现scrub错误后,开始进行数据修复工作,执行数据修复命令,对象存储设备收到命令后,查看该PG记录的出错列表,根据记录的列表和出错对象当前的版本号构建错误记录表,构建错误记录表之后,触发do_recovery事件进行对象恢复,修复不一致的对象;
步骤4,数据不一致对象修复以后,清除scrub错误的标志。
可见,本实施例通过执行数据一致性校验操作后,当校验到不一致的对象数据时记录到对应的信息,直接根据该信息进行数据修复处理,避免等待其他的扫描操作,提高数据修复的效率,减短数据修复过程的时长。同时,也避免了修复失败而导致的前端业务卡顿的问题。
下面对本申请实施例提供的数据不一致修复装置进行介绍,下文描述的数据不一致修复装置与上文描述的数据不一致修复方法可相互对应参照。
请参考图2,图2为本申请实施例所提供的一种数据不一致修复装置的结构示意图。
本实施例中,该装置可以包括:
校验操作模块100,用于按照预设周期执行数据一致性校验操作;
信息记录模块200,用于当校验到不一致的对象数据时,记录对象数据的信息;
错误记录表构建模块300,用于根据对象数据的信息和当前对象数据的版本号进行错误记录表构建处理,得到对象数据对应的错误记录表;
错误修复模块400,用于根据错误记录表进行数据修复处理。
可选的,该装置还可以包括:标识清除模块,用于当数据修复处理完成时,清除对象数据对应的错误标识。
可选的,该信息记录模块200,具体可以用于当校验到不一致的对象数据时,记录对象数据的信息,并将对对象数据标记对应的错误标记。
可选的,该错误修复模块300,具体可以用于采用do_recovery事件根据错误记录表进行数据修复处理。
本申请实施例还提供一种服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如以上实施例所述的数据不一致修复方法的步骤。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如以上实施例所述的数据不一致修复方法的步骤。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种数据不一致修复方法、数据不一致修复装置、服务器以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

Claims (10)

1.一种数据不一致修复方法,其特征在于,包括:
按照预设周期执行数据一致性校验操作;
当校验到不一致的对象数据时,记录所述对象数据的信息;
根据所述对象数据的信息和当前对象数据的版本号进行错误记录表构建处理,得到所述对象数据对应的错误记录表;
根据所述错误记录表进行数据修复处理。
2.根据权利要求1所述的数据不一致修复方法,其特征在于,还包括:
当所述数据修复处理完成时,清除所述对象数据对应的错误标识。
3.根据权利要求1所述的数据不一致修复方法,其特征在于,当校验到不一致的对象数据时,记录所述对象数据的信息,包括:
当校验到不一致的对象数据时,记录所述对象数据的信息,并将对所述对象数据标记对应的错误标记。
4.根据权利要求1所述的数据不一致修复方法,其特征在于,根据所述错误记录表进行数据修复处理,包括:
采用do_recovery事件根据所述错误记录表进行数据修复处理。
5.一种数据不一致修复装置,其特征在于,包括:
校验操作模块,用于按照预设周期执行数据一致性校验操作;
信息记录模块,用于当校验到不一致的对象数据时,记录所述对象数据的信息;
错误记录表构建模块,用于根据所述对象数据的信息和当前对象数据的版本号进行错误记录表构建处理,得到所述对象数据对应的错误记录表;
错误修复模块,用于根据所述错误记录表进行数据修复处理。
6.根据权利要求1所述的数据不一致修复装置,其特征在于,还包括:
标识清除模块,用于当所述数据修复处理完成时,清除所述对象数据对应的错误标识。
7.根据权利要求1所述的数据不一致修复装置,其特征在于,所述信息记录模块,具体用于当校验到不一致的对象数据时,记录所述对象数据的信息,并将对所述对象数据标记对应的错误标记。
8.根据权利要求1所述的数据不一致修复装置,其特征在于,所述错误修复模块,具体用于采用do_recovery事件根据所述错误记录表进行数据修复处理。
9.一种服务器,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述的数据不一致修复方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的数据不一致修复方法的步骤。
CN202011296703.5A 2020-11-18 2020-11-18 一种数据不一致修复方法及相关装置 Withdrawn CN112463444A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011296703.5A CN112463444A (zh) 2020-11-18 2020-11-18 一种数据不一致修复方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011296703.5A CN112463444A (zh) 2020-11-18 2020-11-18 一种数据不一致修复方法及相关装置

Publications (1)

Publication Number Publication Date
CN112463444A true CN112463444A (zh) 2021-03-09

Family

ID=74836756

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011296703.5A Withdrawn CN112463444A (zh) 2020-11-18 2020-11-18 一种数据不一致修复方法及相关装置

Country Status (1)

Country Link
CN (1) CN112463444A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114416665A (zh) * 2022-03-25 2022-04-29 苏州浪潮智能科技有限公司 一种数据一致性检测和修复的方法、装置及介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114416665A (zh) * 2022-03-25 2022-04-29 苏州浪潮智能科技有限公司 一种数据一致性检测和修复的方法、装置及介质
CN114416665B (zh) * 2022-03-25 2022-06-10 苏州浪潮智能科技有限公司 一种数据一致性检测和修复的方法、装置及介质
WO2023179077A1 (zh) * 2022-03-25 2023-09-28 苏州浪潮智能科技有限公司 一种数据一致性检测和修复的方法、装置及介质

Similar Documents

Publication Publication Date Title
CN110008129B (zh) 一种存储定时快照的可靠性测试方法、装置及设备
US10552242B2 (en) Runtime failure detection and correction
US7398511B2 (en) System and method for providing a health model for software
CN102542016B (zh) 文件系统弹性管理
CN111309506A (zh) 一种编译错误的定位方法、设备、服务器及可读存储介质
WO2023226380A1 (zh) 一种磁盘处理方法、系统及电子设备
CN112463444A (zh) 一种数据不一致修复方法及相关装置
CN108650123B (zh) 故障信息记录方法、装置、设备和存储介质
CN106648969B (zh) 一种磁盘中损坏数据巡检方法及系统
CN113312205A (zh) 数据校验方法、装置、存储介质和计算机设备
CN116069765A (zh) 数据迁移方法、装置、电子设备及存储介质
CN110968456A (zh) 分布式存储系统中故障磁盘的处理方法及装置
CN111984473B (zh) 一种内存快照数据获取方法及相关装置
CN110362464B (zh) 软件分析方法及设备
CN110908821A (zh) 任务失败管理的方法、装置、设备和存储介质
CN111124787B (zh) 一种mcs多节点并发转储稳定性的验证方法、系统及设备
CN115599310B (zh) 存储节点中存储资源的控制方法、装置以及存储节点
CN110460478B (zh) 告警测试方法、告警测试系统及告警制造设备、网管系统
CN110008114B (zh) 配置信息维护方法、装置、设备及可读存储介质
CN117149487A (zh) 确定数据丢失的方法、装置、设备及存储介质
CN114253846A (zh) 自动化测试异常定位方法、装置、设备及可读存储介质
CN111930550A (zh) 一种客户端修复方法、装置、设备及介质
CN112905480A (zh) 测试脚本生成方法、装置、存储介质和电子设备
CN112380136A (zh) 数据清理方法、装置、测试设备及存储介质
CN114691508A (zh) 测试案例执行方法及装置、存储介质及电子设备

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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20210309