CN112506710A - 分布式文件***数据修复方法、装置、设备及存储介质 - Google Patents
分布式文件***数据修复方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112506710A CN112506710A CN202011487179.XA CN202011487179A CN112506710A CN 112506710 A CN112506710 A CN 112506710A CN 202011487179 A CN202011487179 A CN 202011487179A CN 112506710 A CN112506710 A CN 112506710A
- Authority
- CN
- China
- Prior art keywords
- repair
- shared memory
- version number
- node
- information
- 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
- 230000008439 repair process Effects 0.000 title claims abstract description 337
- 238000000034 method Methods 0.000 title claims abstract description 102
- 230000008569 process Effects 0.000 claims abstract description 42
- 238000012545 processing Methods 0.000 claims abstract description 30
- 230000001960 triggered effect Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 10
- 238000011084 recovery Methods 0.000 abstract description 7
- 230000003321 amplification Effects 0.000 abstract description 6
- 238000003199 nucleic acid amplification method Methods 0.000 abstract description 6
- 230000007246 mechanism Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 239000011449 brick Substances 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
Abstract
本申请公开了一种分布式文件***数据修复方法,该方法包括以下步骤:在分布式文件***正常工作过程中,如果有冗余节点发生故障,则使用共享内存记录修复信息,修复信息对应的修复粒度小于全局位图对应的修复粒度;在发生故障的冗余节点恢复后,基于共享内存中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理。应用本申请所提供的技术方案,可以使用更小的修复粒度对发生故障的冗余节点的数据副本进行修复,避免过大的修复粒度引起过度的修复放大,避免拉大单点副本的数据窗口,可以节省资源开销,提高整体***的性能稳定性。本申请还公开了一种分布式文件***数据修复装置、设备及存储介质,具有相应技术效果。
Description
技术领域
本申请涉及计算机应用技术领域,特别是涉及一种分布式文件***数据修复方法、装置、设备及存储介质。
背景技术
随着计算机技术的快速发展,分布式文件***(Distributed File System,DFS)的应用越来越广泛。分布式文件***是指文件***管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连,或是若干不同的逻辑磁盘分区或卷标组合在一起而形成的完整的有层次的文件***。分布式文件***为分布在网络上任意位置的资源提供一个逻辑上的树形文件***结构,使得用户访问分布在网络上的共享文件更加简便。
分布式文件***可以包括多个冗余节点,不同冗余节点具有数据副本,在有冗余节点发生故障,只有一个冗余节点正常工作的情况下分布式文件***也能够正常工作,不会中断上层应用。当发生故障的冗余节点恢复后,需要对其数据副本进行恢复,以保证各个冗余节点中数据副本的一致性,保证数据安全。
目前,多是通过全局位图方式进行数据副本的修复。即在有冗余节点发生故障,有数据更新时,会在全局位图中进行相应标记,然后在发生故障的冗余节点恢复后,通过全局位图进行数据副本的修复。这种修复方式是按128M的粒度进行维护。如果实际使用过程中只是短时中断的情况,如业务重启、***维护(升级)、网络抖动等情况,会出现仅部分数据不一致的情况。在这些类似场景中,128M的修复粒度将会引起过度的修复放大,校验数据不一致的范围较大,即使是短时中断也会引起大量的数据修复任务,拉大单点副本的数据窗口,容易引起多点故障。同时大量范围的数据校验会导致过多的资源开销,影响整体***的性能稳定性。
发明内容
本申请的目的是提供一种分布式文件***数据修复方法、装置、设备及存储介质,以减小数据修复粒度,节省资源开销,提高***的性能稳定性。
为解决上述技术问题,本申请提供如下技术方案:
一种分布式文件***数据修复方法,包括:
在分布式文件***正常工作过程中,如果有冗余节点发生故障,则使用共享内存记录修复信息,发生故障的冗余节点的个数小于冗余节点总个数,所述修复信息对应的修复粒度小于全局位图对应的修复粒度;
在所述发生故障的冗余节点恢复后,基于所述共享内存中记录的所述修复信息,对所述发生故障的冗余节点的数据副本进行修复处理。
在本申请的一种具体实施方式中,在有冗余节点发生故障的情况下,还包括:
在所述共享内存中所述修复信息的占比大于设定第一比例阈值的情况下,将所述共享内存中的所述修复信息批量移入到日志文件中。
在本申请的一种具体实施方式中,所述基于所述共享内存中记录的所述修复信息,对所述发生故障的冗余节点的数据副本进行修复处理,包括:
基于所述共享内存和所述日志文件中记录的所述修复信息,对所述发生故障的冗余节点的数据副本进行修复处理。
在本申请的一种具体实施方式中,在有冗余节点发生故障的情况下,还包括:
在记录所述修复信息的过程中,在所述全局位图中进行待修复标记。
在本申请的一种具体实施方式中,在所述基于所述共享内存和所述日志文件中记录的所述修复信息,对所述发生故障的冗余节点的数据副本进行修复处理之前,还包括:
确定所述日志文件中的所述修复信息的占比是否小于设定第二比例阈值;
如果所述日志文件中的所述修复信息的占比小于所述第二比例阈值,则执行所述基于所述共享内存和所述日志文件中记录的所述修复信息,对所述发生故障的冗余节点的数据副本进行修复处理的步骤。
在本申请的一种具体实施方式中,在所述确定所述日志文件中的所述修复信息的占比是否小于设定第二比例阈值之后,还包括:
如果所述日志文件中的所述修复信息的占比不小于所述第二比例阈值,则基于所述全局位图的待修复标记,对所述发生故障的冗余节点的数据副本进行修复处理。
在本申请的一种具体实施方式中,还包括:
在对所述共享内存进行原子性更新操作之前,在修复日志中记录相应的原子性更新操作;
在基于所述共享内存中记录的所述修复信息,对所述发生故障的冗余节点的数据副本进行修复处理的过程中,如果修复进程崩溃,则在所述修复进程重启后,基于所述修复日志确定崩溃之前要进行的原子性更新操作;
对所述共享内存进行该原子性更新操作。
在本申请的一种具体实施方式中,所述修复日志包括描述头和操作记录缓存区,所述描述头用于描述当前日志记录的状态,所述操作记录缓存区用于依次记录每个原子性更新操作的内容。
在本申请的一种具体实施方式中,在所述基于所述共享内存和所述日志文件中记录的所述修复信息,对所述发生故障的冗余节点的数据副本进行修复处理之前,还包括:
在所述共享内存的索引节点上下文中标记未修复状态;
在所述共享内存的索引节点中记录头尾版本号均为预设的初始值;
在所述共享内存的每个区间节点和所述日志文件的每个批量信息中记录版本号为所述索引节点中尾版本号的值。
在本申请的一种具体实施方式中,在基于所述共享内存和所述日志文件中记录的所述修复信息,对所述发生故障的冗余节点的数据副本进行修复处理的过程中,还包括:
在所述索引节点上下文中标记正在修复状态;
将所述索引节点中记录的尾版本号增加设定的步进值;
在所述共享内存中新***的区间节点和所述日志文件中新增加的批量信息中记录版本号为所述索引节点中尾版本号的值。
在本申请的一种具体实施方式中,在对所述发生故障的冗余节点的数据副本进行修复处理完成后,还包括:
在所述索引节点上下文中标记未修复状态;
将所述索引节点中记录的头版本号更新为与尾版本号相同的值;
根据所述索引节点中记录的头尾版本号,确定所述共享内存和所述日志文件中的失效信息并删除。
在本申请的一种具体实施方式中,在基于所述共享内存和所述日志文件中记录的所述修复信息,对所述发生故障的冗余节点的数据副本进行修复处理的过程中,还包括:
如果修复进程崩溃,则在所述修复进程重启未触发修复的情况下,在所述索引节点上下文中标记未修复状态;
在所述修复进程重启且触发修复的情况下,重复执行所述在所述索引节点上下文中标记正在修复状态;将所述索引节点中记录的尾版本号增加设定的步进值;在所述共享内存中新***的区间节点和所述日志文件中新增加的批量信息中记录版本号为所述索引节点中尾版本号的值的步骤。
在本申请的一种具体实施方式中,还包括:
在所述修复进程重启未触发修复的情况下,如果所述索引节点中记录的尾版本号等于设定的最大版本号,则将所述共享内存中的区间节点和所述日志文件中的批量信息均确定为失效信息并删除;
重复执行所述在所述共享内存的索引节点中记录头尾版本号均为预设的初始值的步骤。
一种分布式文件***数据修复装置,包括:
共享内存信息记录单元,用于在分布式文件***正常工作过程中,如果有冗余节点发生故障,则使用共享内存记录修复信息,发生故障的冗余节点的个数小于冗余节点总个数,所述修复信息对应的修复粒度小于全局位图对应的修复粒度;
数据副本修复单元,用于在所述发生故障的冗余节点恢复后,基于所述共享内存中记录的所述修复信息,对所述发生故障的冗余节点的数据副本进行修复处理。
一种分布式文件***数据修复设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任一项所述分布式文件***数据修复方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述分布式文件***数据修复方法的步骤。
应用本申请实施例所提供的技术方案,在分布式文件***正常工作过程中,如果有冗余节点发生故障,且发生故障的额冗余节点的个数小于冗余节点总个数,则可以使用共享内存记录修复信息,在发生故障的冗余节点恢复后,基于共享内存中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理。修复信息对应的修复粒度小于全局位图对应的修复粒度,基于共享内存中记录的修复信息,可以使用更小的修复粒度对发生故障的冗余节点的数据副本进行修复,避免过大的修复粒度引起过度的修复放大,避免拉大单点副本的数据窗口,可以节省资源开销,提高整体***的性能稳定性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一种分布式文件***数据修复方法的实施流程图;
图2为本申请实施例中差异修复模块基本结构示意图;
图3为本申请实施例中修复日志格式示意图;
图4为本申请实施例中正常情况下的版本号机制实现示意图;
图5为本申请实施例中异常情况下的版本号机制实现示意图;
图6为本申请实施例中一种分布式文件***数据修复装置的结构示意图;
图7为本申请实施例中一种分布式文件***数据修复设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1所示,为本申请实施例所提供的一种分布式文件***数据修复方法的实施流程图,该方法可以包括以下步骤:
S110:在分布式文件***正常工作过程中,如果有冗余节点发生故障,则使用共享内存记录修复信息,发生故障的冗余节点的个数小于冗余节点总个数,修复信息对应的修复粒度小于全局位图对应的修复粒度。
分布式文件***可以包括多个冗余节点,多个冗余节点相互之间构成冗余关系,即使只有一个冗余节点正常分布式文件***也能够正常工作。在分布式文件***正常工作过程中,可能会有冗余节点因为硬件、网络等原因发生故障,发生故障的冗余节点无法继续正常工作。如果发生故障的冗余节点的个数小于冗余节点总个数,则分布式文件***仍可正常工作。
在有冗余节点发生故障,且发生故障的冗余节点的个数小于冗余节点总个数的情况下,未发生故障的冗余节点处于正常工作状态,其数据副本将会实时更新,但发生故障的冗余节点的数据副本不再更新,这样多个冗余节点之间的数据副本不一致,在发生故障的冗余节点恢复后,需要对其数据副本进行恢复,以使得其与正常工作的冗余节点的数据副本一致,保障分布式文件***的安全性。
在有冗余节点发生故障时,可以基于当前正常工作的冗余节点的数据副本确定修复信息,并使用共享内存记录修复信息。修复信息具体可以是需要同步的数据范围,如修复的偏移、长度、副本序号等信息。修复信息对应的修复粒度小于全局位图对应的修复粒度。如修复信息的修复粒度可以是4KB。
S120:在发生故障的冗余节点恢复后,基于共享内存中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理。
在发生故障的冗余节点恢复后,因其数据副本与之前正常工作的冗余节点的数据副本不一致,所以,需要对其数据副本进行修复。可以基于共享内存中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理。具体的,可以通过共享内存中记录的修复信息,确定需要同步的数据范围等信息,在发生故障的冗余节点的数据副本中查找相应的数据范围,进行数据同步,实现对发生故障的冗余节点的数据副本的修复处理。
应用本申请实施例所提供的方法,在分布式文件***正常工作过程中,如果有冗余节点发生故障,且发生故障的额冗余节点的个数小于冗余节点总个数,则可以使用共享内存记录修复信息,在发生故障的冗余节点恢复后,基于共享内存中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理。修复信息对应的修复粒度小于全局位图对应的修复粒度,基于共享内存中记录的修复信息,可以使用更小的修复粒度对发生故障的冗余节点的数据副本进行修复,避免过大的修复粒度引起过度的修复放大,避免拉大单点副本的数据窗口,可以节省资源开销,提高整体***的性能稳定性。
在本申请的一个实施例中,在有冗余节点发生故障的情况下,该方法还可以包括以下步骤:
在共享内存中修复信息的占比大于设定第一比例阈值的情况下,将共享内存中的修复信息批量移入到日志文件中;
步骤S120基于共享内存中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理,可以包括以下步骤:
基于共享内存和日志文件中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理。
在本申请实施例中,考虑到共享内存的存储空间有限,所以,在有冗余节点发生故障的情况下,使用共享内存记录修复信息的过程中,可以对共享内存中修复信息的占比进行监测。在共享内存中修复信息的占比大于设定第一比例阈值的情况下,可以将共享内存中的修复信息批量移入到日志文件中。具体的,可以将共享内存中的修复信息序列化后写入到日志文件中。日志文件可以位于缓存盘上,具有更大的存储空间。第一比例阈值可以根据实际情况进行设定和调整,如设定为80%。
也就是说,当共享内存中记录的修复信息数据量不大时,可以只在共享内存中记录,当共享内存中记录的修复信息数据量较大时,将其序列化后批量移入日志文件中,从而释放共享内存的空间,新生成的修复信息可以继续在共享内存中记录,并在共享内存中记录的修复信息的占比大于第一比例阈值时,将共享内存中的修复信息批量移入日志文件中。
在发生故障的冗余节点恢复后,共享内存和日志文件中都可能记录有修复信息,可以基于共享内存和日志文件中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理。
共享内存保证了最快速的存取访问,同时在进程重启时不会丢失记录的信息,在共享内存空间占用较多时,自动淘汰到存放于数据盘的日志文件中,日志文件容量比共享内存大,可以保证更长的修复优化生效时间。
共享内存和日志文件中记录的修复信息的修复粒度较小,可以避免引起过度的修复放大等问题,在短时中断等场景下不会引起大量的数据修复任务,避免拉大单点副本的数据窗口,提高了整体***的性能稳定性。
在本申请的一个实施例中,在有冗余节点发生故障的情况下,该方法还可以包括以下步骤:
在记录修复信息的过程中,在全局位图中进行待修复标记;
在基于共享内存和日志文件中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理之前,还包括:
确定日志文件中的修复信息的占比是否小于设定第二比例阈值;
如果日志文件中的修复信息的占比小于第二比例阈值,则执行基于共享内存和日志文件中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理的步骤;
如果日志文件中的修复信息的占比不小于第二比例阈值,则基于全局位图的待修复标记,对发生故障的冗余节点的数据副本进行修复处理。
在本申请实施例中,在有冗余节点发生故障的情况下,在共享内存和日志文件中记录修复信息,在记录修复信息的过程中,可以在全局位图中进行待修复标记。如通过“1”、“0”等进行标记。
在基于共享内存和日志文件中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理之前,可以先确定日志文件中的修复信息的占比是否小于设定第二比例阈值。该第二比例阈值可以根据实际情况进行设定和调整,如设定为85%。
如果小于,则可以以较小的修复粒度对数据副本进行修复,即可以基于共享内存和日志文件中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理。
如果不小于,则可以认为当前需要同步的修复信息数据量较大,可以以较大的修复粒度对数据副本进行修复。即可以基于全局位图的的待修复标记,对发生故障的冗余节点的数据副本进行修复处理。
在本申请实施例中,可以通过传统修复模块Diff-record基于全局位图对数据副本进行修复,在该传统修复模块Diff-record之上,增加了差异修复模块DR-Cache,用于基于共享内存和日志文件记录的修复信息对数据副本进行修复。如图2所示,差异修复模块DR-Cache可以在Xlator框架下实现,可以包括差异修复核心子模块、共享内存管理子模块和日志文件管理子模块,其中差异修复核心子模块可以进行修复信息的新增、删除、合并等操作。在日志文件中记录的批量修复信息数据量较大时,差异修复模块DR-Cache失效,使用传统修复模块Diff-record进行数据副本的修复。在传统修复模块Diff-record的基础上增加差异修复模块DR-Cache,减小了修复粒度,减少了修复数据量,缩短了修复完成时间。
以实际故障场景为例,本申请修复方式与传统修复方式对比数据如下:
(1)故障类型:服务进程重启
常见场景:热升级
表1
(2)故障类型:存储网络离线
常见场景:网络闪断、短时网络故障
表2
(3)故障类型:磁盘离线
常见场景:替换数据盘、替换缓存盘
表3
从以上几个表格中数据可以看出,在较多短时中断的场景中,使用本申请方式对数据副本进行修复相较于使用传统方式对数据副本进行修复,修复数据量更小,修复完成时间更短,提高了修复效率,减少了修复开销,修复数据量更趋于真实的数据差异量。
在本申请的一个实施例中,步骤S120基于共享内存中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理,可以包括以下步骤:
第一个步骤:在对共享内存进行原子性更新操作之前,在修复日志中记录相应的原子性更新操作;
第二个步骤:在基于共享内存中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理的过程中,如果修复进程崩溃,则在修复进程重启后,基于修复日志确定崩溃之前要进行的原子性更新操作;
第三个步骤:对共享内存进行该原子性更新操作。
为便于描述,将上述三个步骤结合起来进行说明。
在分布式文件***正常工作过程中,如果有冗余节点发生故障,且发生故障的冗余节点的个数小于冗余节点总个数,则可以使用共享内存记录修复信息,该修复信息对应的修复粒度小于全局位图对应的修复粒度。
在发生故障的冗余节点恢复后,可以基于共享内存中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理。在修复处理过程中,对于每一条修复信息,在基于该修复信息对数据副本进行修复处理完成后,可以在共享内存中清除该修复信息。在共享内存中进行修复信息的记录、删除等操作都可以认为是对共享内存的原子性更新操作。
为保证共享内存数据更新一致性,可以在对共享内存进行原子性更新操作之前,在修复日志中记录相应的原子性更新操作。
修复日志可以包括描述头和操作记录缓存区,描述头用于描述当前日志记录的状态,操作记录缓存区用于依次记录每个原子性更新操作的内容。具体的,修复日志可以为Journal日志,如图3所示,描述头shm_journal_head可以包括用于标记journal是否正在更新的recording字段、用于表示journal中当前记录数量的count字段、用于表示journal操作记录缓存区尾部指针的tail字段等,操作记录缓存区中的每个shm_journal_record表示原子性更新操作的内容,可以包括用于表示共享内存相对目的地址的addr字段、用于表示共享内存要更新的数据长度的len字段、用于表示共享内存要更新的数据内容的value字段等。
在基于共享内存中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理的过程中,可能会出现修复进程崩溃的情况,在这种情况下,可能数据结构刚刚更新部分,容易出现共享内存中数据更新不一致的问题。但是因为本申请在对共享内存进行原子性更新操作之前,会在修复日志中记录相应的原子性更新操作,所以,在修复进程崩溃、重启后,可以通过修复日志中的记录,进行操作回放,确定崩溃之前要进行的原子性更新操作。
确定出崩溃之前要进行的原子性更新操作后,可以对共享内存进行该原子性更新操作,保证共享内存中各数据结构的一致性。
在本申请的一个实施例中,在基于共享内存和日志文件中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理之前,该方法还可以包括以下步骤:
在共享内存的索引节点上下文中标记未修复状态;
在共享内存的索引节点中记录头尾版本号均为预设的初始值;
在共享内存的每个区间节点和日志文件的每个批量信息中记录版本号为索引节点中尾版本号的值;
相应的,在基于共享内存和日志文件中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理的过程中,该方法还可以包括以下步骤:
在索引节点上下文中标记正在修复状态;
将索引节点中记录的尾版本号增加设定的步进值;
在共享内存中新***的区间节点和日志文件中新增加的批量信息中记录版本号为索引节点中尾版本号的值;
相应的,在对发生故障的冗余节点的数据副本进行修复处理完成后,该方法还可以包括以下步骤:
在索引节点上下文中标记未修复状态;
将索引节点中记录的头版本号更新为与尾版本号相同的值;
根据索引节点中记录的头尾版本号,确定共享内存和日志文件中的失效信息并删除。
为便于描述,将上述几个步骤结合起来进行说明。
在本申请实施例中,在分布式文件***正常工作过程中,如果有冗余节点发生故障,且发生故障的冗余节点的个数小于冗余节点总个数,则可以使用共享内存记录修复信息,在共享内存中修复信息的占比大于设定第一比例阈值的情况下,将共享内存中的修复信息批量移入到日志文件中。即通过共享内存和日志文件进行修复信息的记录。
在发生故障的冗余节点恢复后,可以基于共享内存和日志文件中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理。在基于共享内存和日志文件中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理之前,可以在共享内存的索引节点上下文中标记未修复状态,表明当前未进行对数据副本的修复操作。另外,可以在共享内存的索引节点中记录头尾版本号均为预设的初始值,如0。再在共享内存的每个区间节点和日志文件的每个批量信息中记录版本号为索引节点中尾版本号的值。
在基于共享内存和日志文件中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理的过程中,可以在索引节点上下文中标记正在修复状态,即将索引节点上下文中标记的未修复状态更改为正在修复状态。并将索引节点中记录的尾版本号增加设定的步进值,如1。在这个过程中,仍有可能存在要向共享内存中***的修复信息或向日志文件中写入的批量信息等,可以在共享内存中新***的区间节点和日志文件中新增加的批量信息中记录版本号为索引节点中尾版本号的值。
在对发生故障的冗余节点的数据副本进行修复处理完成后,可以在索引节点上下文中标记未修复状态,即将修复过程中标记的正在修复状态修改为未修复状态。将索引节点中记录的头版本号更新为与尾版本号相同的值,再根据索引节点中记录的头尾版本号,确定共享内存和日志文件中的失效信息并删除。具体的,可以将共享内存和日志文件中处于索引节点中的头尾版本号区间外的区间节点或者批量信息确定为无效信息,将其删除。
在本申请的一种具体实施方式中,在基于共享内存和日志文件中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理的过程中,该方法还可以包括以下步骤:
如果修复进程崩溃,则在修复进程重启未触发修复的情况下,在索引节点上下文中标记未修复状态;
在修复进程重启且触发修复的情况下,重复执行在索引节点上下文中标记正在修复状态;将索引节点中记录的尾版本号增加设定的步进值;在共享内存中新***的区间节点和日志文件中新增加的批量信息中记录版本号为索引节点中尾版本号的值的步骤。
在本申请实施例中,在基于共享内存和日志文件中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理的过程中,可能会出现修复进程崩溃修复异常中断的情况。如果重新进行修复,将会对中断前已经修复的数据进行重复修复,增加了额外的修复数据量和修复时间。本申请中,在修复过程中,如果修复进程崩溃,则可以在修复进程重启未触发修复的情况下,在索引节点上下文中标记未修复状态。即将索引节点上下文中将正在修复状态修改为未修复状态。
在修复进程重启且触发修复的情况下,可以重复执行在索引节点上下文中标记正在修复状态、将索引节点中记录的尾版本号增加设定的步进值、在共享内存中新***的区间节点和日志文件中新增加的批量信息中记录版本号为索引节点中尾版本号的值的步骤。方便确定共享内存和日志文件中哪些为无效信息,方便对副本数据的修复的接续,避免增加额外的修复数据量和修复时间。
本申请实施例通过版本号机制实现了共享内存和日志文件中的记录清除。如图4、5所示,在共享内存的索引节点INODE、区间节点RANGE和日志文件批量信息的头部中,都添加了版本号(generation)字段,并在索引节点上下文inode ctx中添加了是否在修复标记(healing),FALSE表示未修复状态,TRUE表示正在修复状态。其中,“T”表示共享内存节点的类型,“G”表示版本号generation的值,“R(rear)”表示版本号尾指针,“F(front)”表示版本号头指针。
图4为正常情况下的版本号机制实现示意图。在未触发对副本数据的修复时,共享内存的INODE节点中记录的版本号头尾指针都是0,即头尾版本号均为初始值0。此时共享内存中新***的RANGE节点的版本号,以及后续刷写到日志文件中的批量信息头部的版本号,都设置为尾指针的值。
当对副本数据开始修复时,在inode ctx中标记正在修复状态,并将尾指针rear值自增1。此时共享内存中新***的RANGE节点的版本号,以及后续刷写到日志文件中的批量信息头部的版本号,也都设置为rear值,即为1。
当对副本数据修复完成后,可以将inode ctx中的正在修复状态的标记修改为未修复状态,然后将共享内存中INODE节点记录的头指针的版本号设置为尾指针的值,即为1。最后删除共享内存中所有RANGE失效节点(版本号在[front,rear]之外),同理,删除日志文件中的失效批量信息。
图5所示为异常情况下的版本号机制实现示意图。在对副本数据进行修复过程中,修复进程(brick进程)发生崩溃重启,在再次触发修复时,INODE节点中的rear值继续自增1,以对修复过程中后续新***的RANGE节点及日志文件中新增加的批量信息进行区分。
在本申请的一个实施例中,该方法还可以包括以下步骤:
在修复进程重启未触发修复的情况下,如果索引节点中记录的尾版本号等于设定的最大版本号,则将共享内存中的区间节点和日志文件中的批量信息均确定为失效信息并删除;
重复执行在共享内存的索引节点中记录头尾版本号均为预设的初始值的步骤。
在本申请实施例中,为了防止版本号的值在多次修复中断之后累加导致溢出的情况发生,采用环形队列记录版本号。可以在索引节点上下文中设定最大版本号。在修复进程重启未触发修复的情况下,如果环形队列已满,即达到了最大版本号,则可以将当前共享内存中的区间节点和日志文件中的批量信息均确定为失效信息并删除,然后在共享内存的索引节点中记录头尾版本号均为预设的初始值。即版本号从初始值开始重新记录。这样可以避免过多的占用共享内存以及日志文件的空间。
通过版本号机制可以有效降低修复过程中出现问题时的排查难度。
相应于上面的方法实施例,本申请实施例还提供了一种分布式文件***数据修复装置,下文描述的分布式文件***数据修复装置与上文描述的分布式文件***数据修复方法可相互对应参照。
参见图6所示,该装置可以包括以下单元:
共享内存信息记录单元610,用于在分布式文件***正常工作过程中,如果有冗余节点发生故障,则使用共享内存记录修复信息,发生故障的冗余节点的个数小于冗余节点总个数,修复信息对应的修复粒度小于全局位图对应的修复粒度;
数据副本修复单元620,用于在发生故障的冗余节点恢复后,基于共享内存中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理。
应用本申请实施例所提供的装置,在分布式文件***正常工作过程中,如果有冗余节点发生故障,且发生故障的额冗余节点的个数小于冗余节点总个数,则可以使用共享内存记录修复信息,在发生故障的冗余节点恢复后,基于共享内存中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理。修复信息对应的修复粒度小于全局位图对应的修复粒度,基于共享内存中记录的修复信息,可以使用更小的修复粒度对发生故障的冗余节点的数据副本进行修复,避免过大的修复粒度引起过度的修复放大,避免拉大单点副本的数据窗口,可以节省资源开销,提高整体***的性能稳定性。
在本申请的一种具体实施方式中,还包括日志文件信息记录单元,用于:
在有冗余节点发生故障的情况下,在共享内存中修复信息的占比大于设定第一比例阈值的情况下,将共享内存中的修复信息批量移入到日志文件中。
在本申请的一种具体实施方式中,数据副本修复单元620,用于:
基于共享内存和日志文件中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理。
在本申请的一种具体实施方式中,还包括:
位图标记单元,用于在有冗余节点发生故障的情况下,在记录修复信息的过程中,在全局位图中进行待修复标记。
在本申请的一种具体实施方式中,数据副本修复单元620,还用于:
在基于共享内存和日志文件中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理之前,确定日志文件中的修复信息的占比是否小于设定第二比例阈值;
如果日志文件中的修复信息的占比小于第二比例阈值,则执行基于共享内存和日志文件中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理的步骤。
在本申请的一种具体实施方式中,数据副本修复单元620,还用于:
在确定日志文件中的修复信息的占比是否小于设定第二比例阈值之后,如果日志文件中的修复信息的占比不小于第二比例阈值,则基于全局位图的待修复标记,对发生故障的冗余节点的数据副本进行修复处理。
在本申请的一种具体实施方式中,还包括共享内存更新单元,用于:
在对共享内存进行原子性更新操作之前,在修复日志中记录相应的原子性更新操作;
在基于共享内存中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理的过程中,如果修复进程崩溃,则在修复进程重启后,基于修复日志确定崩溃之前要进行的原子性更新操作;
对共享内存进行该原子性更新操作。
在本申请的一种具体实施方式中,修复日志包括描述头和操作记录缓存区,描述头用于描述当前日志记录的状态,操作记录缓存区用于依次记录每个原子性更新操作的内容。
在本申请的一种具体实施方式中,还包括版本号机制实现单元,用于:
在基于共享内存和日志文件中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理之前,在共享内存的索引节点上下文中标记未修复状态;
在共享内存的索引节点中记录头尾版本号均为预设的初始值;
在共享内存的每个区间节点和日志文件的每个批量信息中记录版本号为索引节点中尾版本号的值。
在本申请的一种具体实施方式中,版本号机制实现单元,还用于:
在基于共享内存和日志文件中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理的过程中,在索引节点上下文中标记正在修复状态;
将索引节点中记录的尾版本号增加设定的步进值;
在共享内存中新***的区间节点和日志文件中新增加的批量信息中记录版本号为索引节点中尾版本号的值。
在本申请的一种具体实施方式中,版本号机制实现单元,还用于:
在对发生故障的冗余节点的数据副本进行修复处理完成后,在索引节点上下文中标记未修复状态;
将索引节点中记录的头版本号更新为与尾版本号相同的值;
根据索引节点中记录的头尾版本号,确定共享内存和日志文件中的失效信息并删除。
在本申请的一种具体实施方式中,版本号机制实现单元,还用于:
在基于共享内存和日志文件中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理的过程中,如果修复进程崩溃,则在修复进程重启未触发修复的情况下,在索引节点上下文中标记未修复状态;
在修复进程重启且触发修复的情况下,重复执行在索引节点上下文中标记正在修复状态;将索引节点中记录的尾版本号增加设定的步进值;在共享内存中新***的区间节点和日志文件中新增加的批量信息中记录版本号为索引节点中尾版本号的值的步骤。
在本申请的一种具体实施方式中,版本号机制实现单元,还用于:
在修复进程重启未触发修复的情况下,如果索引节点中记录的尾版本号等于设定的最大版本号,则将共享内存中的区间节点和日志文件中的批量信息均确定为失效信息并删除;
重复执行在共享内存的索引节点中记录头尾版本号均为预设的初始值的步骤。
相应于上面的方法实施例,本申请实施例还提供了一种分布式文件***数据修复设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述分布式文件***数据修复方法的步骤。
如图7所示,为分布式文件***数据修复设备的组成结构示意图,分布式文件***数据修复设备可以包括:处理器10、存储器11、通信接口12和通信总线13。处理器10、存储器11、通信接口12均通过通信总线13完成相互间的通信。
在本申请实施例中,处理器10可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件等。
处理器10可以调用存储器11中存储的程序,具体的,处理器10可以执行分布式文件***数据修复方法的实施例中的操作。
存储器11中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,存储器11中至少存储有用于实现以下功能的程序:
在分布式文件***正常工作过程中,如果有冗余节点发生故障,则使用共享内存记录修复信息,发生故障的冗余节点的个数小于冗余节点总个数,修复信息对应的修复粒度小于全局位图对应的修复粒度;
在发生故障的冗余节点恢复后,基于共享内存中记录的修复信息,对发生故障的冗余节点的数据副本进行修复处理。
在一种可能的实现方式中,存储器11可包括存储程序区和存储数据区,其中,存储程序区可存储操作***,以及至少一个功能(比如节点监测功能、信息记录功能)所需的应用程序等;存储数据区可存储使用过程中所创建的数据,如修复信息数据、数据副本数据等。
此外,存储器11可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
通信接口13可以为通信模块的接口,用于与其他设备或者***连接。
当然,需要说明的是,图7所示的结构并不构成对本申请实施例中分布式文件***数据修复设备的限定,在实际应用中分布式文件***数据修复设备可以包括比图7所示的更多或更少的部件,或者组合某些部件。
相应于上面的方法实施例,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述分布式文件***数据修复方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (16)
1.一种分布式文件***数据修复方法,其特征在于,包括:
在分布式文件***正常工作过程中,如果有冗余节点发生故障,则使用共享内存记录修复信息,发生故障的冗余节点的个数小于冗余节点总个数,所述修复信息对应的修复粒度小于全局位图对应的修复粒度;
在所述发生故障的冗余节点恢复后,基于所述共享内存中记录的所述修复信息,对所述发生故障的冗余节点的数据副本进行修复处理。
2.根据权利要求1所述的方法,其特征在于,在有冗余节点发生故障的情况下,还包括:
在所述共享内存中所述修复信息的占比大于设定第一比例阈值的情况下,将所述共享内存中的所述修复信息批量移入到日志文件中。
3.根据权利要求2所述的方法,其特征在于,所述基于所述共享内存中记录的所述修复信息,对所述发生故障的冗余节点的数据副本进行修复处理,包括:
基于所述共享内存和所述日志文件中记录的所述修复信息,对所述发生故障的冗余节点的数据副本进行修复处理。
4.根据权利要求3所述的方法,其特征在于,在有冗余节点发生故障的情况下,还包括:
在记录所述修复信息的过程中,在所述全局位图中进行待修复标记。
5.根据权利要求4所述的方法,其特征在于,在所述基于所述共享内存和所述日志文件中记录的所述修复信息,对所述发生故障的冗余节点的数据副本进行修复处理之前,还包括:
确定所述日志文件中的所述修复信息的占比是否小于设定第二比例阈值;
如果所述日志文件中的所述修复信息的占比小于所述第二比例阈值,则执行所述基于所述共享内存和所述日志文件中记录的所述修复信息,对所述发生故障的冗余节点的数据副本进行修复处理的步骤。
6.根据权利要求5所述的方法,其特征在于,在所述确定所述日志文件中的所述修复信息的占比是否小于设定第二比例阈值之后,还包括:
如果所述日志文件中的所述修复信息的占比不小于所述第二比例阈值,则基于所述全局位图的待修复标记,对所述发生故障的冗余节点的数据副本进行修复处理。
7.根据权利要求1所述的方法,其特征在于,还包括:
在对所述共享内存进行原子性更新操作之前,在修复日志中记录相应的原子性更新操作;
在基于所述共享内存中记录的所述修复信息,对所述发生故障的冗余节点的数据副本进行修复处理的过程中,如果修复进程崩溃,则在所述修复进程重启后,基于所述修复日志确定崩溃之前要进行的原子性更新操作;
对所述共享内存进行该原子性更新操作。
8.根据权利要求7所述的方法,其特征在于,所述修复日志包括描述头和操作记录缓存区,所述描述头用于描述当前日志记录的状态,所述操作记录缓存区用于依次记录每个原子性更新操作的内容。
9.根据权利要求2至8之中任一项所述的方法,其特征在于,在所述基于所述共享内存和所述日志文件中记录的所述修复信息,对所述发生故障的冗余节点的数据副本进行修复处理之前,还包括:
在所述共享内存的索引节点上下文中标记未修复状态;
在所述共享内存的索引节点中记录头尾版本号均为预设的初始值;
在所述共享内存的每个区间节点和所述日志文件的每个批量信息中记录版本号为所述索引节点中尾版本号的值。
10.根据权利要求9所述的方法,其特征在于,在基于所述共享内存和所述日志文件中记录的所述修复信息,对所述发生故障的冗余节点的数据副本进行修复处理的过程中,还包括:
在所述索引节点上下文中标记正在修复状态;
将所述索引节点中记录的尾版本号增加设定的步进值;
在所述共享内存中新***的区间节点和所述日志文件中新增加的批量信息中记录版本号为所述索引节点中尾版本号的值。
11.根据权利要求10所述的方法,其特征在于,在对所述发生故障的冗余节点的数据副本进行修复处理完成后,还包括:
在所述索引节点上下文中标记未修复状态;
将所述索引节点中记录的头版本号更新为与尾版本号相同的值;
根据所述索引节点中记录的头尾版本号,确定所述共享内存和所述日志文件中的失效信息并删除。
12.根据权利要求9所述的方法,其特征在于,在基于所述共享内存和所述日志文件中记录的所述修复信息,对所述发生故障的冗余节点的数据副本进行修复处理的过程中,还包括:
如果修复进程崩溃,则在所述修复进程重启未触发修复的情况下,在所述索引节点上下文中标记未修复状态;
在所述修复进程重启且触发修复的情况下,重复执行所述在所述索引节点上下文中标记正在修复状态;将所述索引节点中记录的尾版本号增加设定的步进值;在所述共享内存中新***的区间节点和所述日志文件中新增加的批量信息中记录版本号为所述索引节点中尾版本号的值的步骤。
13.根据权利要求12所述的方法,其特征在于,还包括:
在所述修复进程重启未触发修复的情况下,如果所述索引节点中记录的尾版本号等于设定的最大版本号,则将所述共享内存中的区间节点和所述日志文件中的批量信息均确定为失效信息并删除;
重复执行所述在所述共享内存的索引节点中记录头尾版本号均为预设的初始值的步骤。
14.一种分布式文件***数据修复装置,其特征在于,包括:
共享内存信息记录单元,用于在分布式文件***正常工作过程中,如果有冗余节点发生故障,则使用共享内存记录修复信息,发生故障的冗余节点的个数小于冗余节点总个数,所述修复信息对应的修复粒度小于全局位图对应的修复粒度;
数据副本修复单元,用于在所述发生故障的冗余节点恢复后,基于所述共享内存中记录的所述修复信息,对所述发生故障的冗余节点的数据副本进行修复处理。
15.一种分布式文件***数据修复设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至13任一项所述分布式文件***数据修复方法的步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至13任一项所述分布式文件***数据修复方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011487179.XA CN112506710B (zh) | 2020-12-16 | 2020-12-16 | 分布式文件***数据修复方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011487179.XA CN112506710B (zh) | 2020-12-16 | 2020-12-16 | 分布式文件***数据修复方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112506710A true CN112506710A (zh) | 2021-03-16 |
CN112506710B CN112506710B (zh) | 2024-02-23 |
Family
ID=74972711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011487179.XA Active CN112506710B (zh) | 2020-12-16 | 2020-12-16 | 分布式文件***数据修复方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112506710B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112882858A (zh) * | 2021-03-29 | 2021-06-01 | 读书郎教育科技有限公司 | 一种智慧课堂资源单点修复的方法 |
CN113407790A (zh) * | 2021-08-19 | 2021-09-17 | 成都冰鉴信息科技有限公司 | 数据修复方法、装置及数据处理设备 |
CN113553216A (zh) * | 2021-06-28 | 2021-10-26 | 北京百度网讯科技有限公司 | 数据恢复方法、装置、电子设备及存储介质 |
CN115168087A (zh) * | 2022-07-08 | 2022-10-11 | 超聚变数字技术有限公司 | 一种确定内存故障的修复资源粒度的方法及装置 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5727206A (en) * | 1996-07-31 | 1998-03-10 | Ncr Corporation | On-line file system correction within a clustered processing system |
WO2003009139A1 (en) * | 2001-07-16 | 2003-01-30 | Transact In Memory, Inc. | Parallelized redo-only logging and recovery for highly available main memory database systems |
US20050147132A1 (en) * | 2004-01-07 | 2005-07-07 | Takashi Asako | System and method for data multiplexing |
CN102368222A (zh) * | 2011-10-25 | 2012-03-07 | 曙光信息产业(北京)有限公司 | 一种多副本存储***在线修复的方法 |
CN103716182A (zh) * | 2013-12-12 | 2014-04-09 | 中国科学院信息工程研究所 | 一种面向实时云平台的故障检测与容错方法及*** |
CN105302768A (zh) * | 2015-10-16 | 2016-02-03 | 浙江宇视科技有限公司 | 一种从cpu异常处理方法及装置 |
CN105302498A (zh) * | 2015-11-24 | 2016-02-03 | 浪潮(北京)电子信息产业有限公司 | 一种存储冗余***与方法 |
CN106789180A (zh) * | 2016-11-30 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种元数据服务器的服务控制方法及装置 |
GB201811795D0 (en) * | 2018-07-19 | 2018-09-05 | Advanced Risc Mach Ltd | Memory scanning operation in reponse to common mode fault signal |
CN108804523A (zh) * | 2018-04-27 | 2018-11-13 | 腾讯科技(深圳)有限公司 | 数据同步方法、***及计算机可读存储介质 |
CN108920637A (zh) * | 2018-07-02 | 2018-11-30 | 北京科东电力控制***有限责任公司 | 应用于同步子***的数据库数据同步方法及装置 |
CN108959390A (zh) * | 2018-06-01 | 2018-12-07 | 新华三云计算技术有限公司 | 共享文件***节点故障后的资源区同步方法及装置 |
CN111488238A (zh) * | 2020-06-24 | 2020-08-04 | 南京鹏云网络科技有限公司 | 一种块存储节点数据修复方法及存储介质 |
-
2020
- 2020-12-16 CN CN202011487179.XA patent/CN112506710B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5727206A (en) * | 1996-07-31 | 1998-03-10 | Ncr Corporation | On-line file system correction within a clustered processing system |
WO2003009139A1 (en) * | 2001-07-16 | 2003-01-30 | Transact In Memory, Inc. | Parallelized redo-only logging and recovery for highly available main memory database systems |
US20050147132A1 (en) * | 2004-01-07 | 2005-07-07 | Takashi Asako | System and method for data multiplexing |
CN102368222A (zh) * | 2011-10-25 | 2012-03-07 | 曙光信息产业(北京)有限公司 | 一种多副本存储***在线修复的方法 |
CN103716182A (zh) * | 2013-12-12 | 2014-04-09 | 中国科学院信息工程研究所 | 一种面向实时云平台的故障检测与容错方法及*** |
CN105302768A (zh) * | 2015-10-16 | 2016-02-03 | 浙江宇视科技有限公司 | 一种从cpu异常处理方法及装置 |
CN105302498A (zh) * | 2015-11-24 | 2016-02-03 | 浪潮(北京)电子信息产业有限公司 | 一种存储冗余***与方法 |
CN106789180A (zh) * | 2016-11-30 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种元数据服务器的服务控制方法及装置 |
CN108804523A (zh) * | 2018-04-27 | 2018-11-13 | 腾讯科技(深圳)有限公司 | 数据同步方法、***及计算机可读存储介质 |
CN108959390A (zh) * | 2018-06-01 | 2018-12-07 | 新华三云计算技术有限公司 | 共享文件***节点故障后的资源区同步方法及装置 |
CN108920637A (zh) * | 2018-07-02 | 2018-11-30 | 北京科东电力控制***有限责任公司 | 应用于同步子***的数据库数据同步方法及装置 |
GB201811795D0 (en) * | 2018-07-19 | 2018-09-05 | Advanced Risc Mach Ltd | Memory scanning operation in reponse to common mode fault signal |
CN111488238A (zh) * | 2020-06-24 | 2020-08-04 | 南京鹏云网络科技有限公司 | 一种块存储节点数据修复方法及存储介质 |
Non-Patent Citations (1)
Title |
---|
陈东江: "基于数据同步的集群***不间断服务的设计与实现", 《中国优秀硕士论文 信息科技》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112882858A (zh) * | 2021-03-29 | 2021-06-01 | 读书郎教育科技有限公司 | 一种智慧课堂资源单点修复的方法 |
CN112882858B (zh) * | 2021-03-29 | 2023-06-27 | 读书郎教育科技有限公司 | 一种智慧课堂资源单点修复的方法 |
CN113553216A (zh) * | 2021-06-28 | 2021-10-26 | 北京百度网讯科技有限公司 | 数据恢复方法、装置、电子设备及存储介质 |
CN113407790A (zh) * | 2021-08-19 | 2021-09-17 | 成都冰鉴信息科技有限公司 | 数据修复方法、装置及数据处理设备 |
CN115168087A (zh) * | 2022-07-08 | 2022-10-11 | 超聚变数字技术有限公司 | 一种确定内存故障的修复资源粒度的方法及装置 |
CN115168087B (zh) * | 2022-07-08 | 2024-03-19 | 超聚变数字技术有限公司 | 一种确定内存故障的修复资源粒度的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112506710B (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112506710B (zh) | 分布式文件***数据修复方法、装置、设备及存储介质 | |
US10817386B2 (en) | Virtual machine recovery method and virtual machine management device | |
US11232073B2 (en) | Method and apparatus for file compaction in key-value store system | |
CN109491609B (zh) | 一种缓存数据处理方法、装置、设备及可读存储介质 | |
US10379977B2 (en) | Data management method, node, and system for database cluster | |
EP3474143B1 (en) | Method and apparatus for incremental recovery of data | |
CN104735107A (zh) | 分布式存储***中数据副本恢复方法及装置 | |
CN113626256A (zh) | 一种虚拟机磁盘数据备份方法、装置、终端及存储介质 | |
CN110597779A (zh) | 一种分布式文件***中的数据读写方法及相关装置 | |
CN110825546A (zh) | 一种面向高可用数据库集群的恢复方法、***及设备终端 | |
CN113885809B (zh) | 数据管理***及方法 | |
CN114791901A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN113268395B (zh) | 业务数据的处理方法、处理装置及终端 | |
US11663165B2 (en) | Method, electronic device, and computer program product for managing file system | |
WO2022173652A1 (en) | Reducing the impact of network latency during a restore operation | |
CN108599982B (zh) | 数据恢复方法及相关设备 | |
CN113485872A (zh) | 故障处理方法、装置及分布式存储*** | |
JP2017208113A (ja) | データ格納方法、データストレージ装置、及びストレージデバイス | |
CN113535470A (zh) | 组态备份方法、装置、电子设备和存储介质 | |
CN113127266A (zh) | 一种基于分布式数据库的多副本灾难恢复方法及装置 | |
CN110941591A (zh) | 一种文件删除方法、装置、设备及可读存储介质 | |
CN107707402B (zh) | 一种分布式***中服务仲裁的管理***及其管理方法 | |
CN110658989B (zh) | 用于备份存储垃圾收集的***和方法 | |
CN110351386B (zh) | 一种不同副本间的增量同步方法及装置 | |
CN116974808A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |