CN106919474A - 一种缓存数据保护方法和装置 - Google Patents
一种缓存数据保护方法和装置 Download PDFInfo
- Publication number
- CN106919474A CN106919474A CN201511003094.9A CN201511003094A CN106919474A CN 106919474 A CN106919474 A CN 106919474A CN 201511003094 A CN201511003094 A CN 201511003094A CN 106919474 A CN106919474 A CN 106919474A
- Authority
- CN
- China
- Prior art keywords
- data cached
- data
- file
- cached file
- storage device
- 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.)
- Pending
Links
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/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明实施例公开了一种缓存数据保护方法,应用于数据存储系统,该方法包括:在数据存储系统发生掉电时,将数据存储系统的内存中的每一个缓存数据文件分别存储到N个存储设备中,N为大于1的自然数;所述N个存储设备包括1个主存储设备和N-1个从属存储设备;在数据存储系统重新上电时,从每个存储设备读取数据存储系统掉电时存储的缓存数据文件;在从主存储设备读取任意一个缓存数据文件失败时,基于从至少一个从属存储设备读取的缓存数据文件,进行缓存数据恢复;本发明实施例还公开了一种缓存数据保护装置。
Description
技术领域
本发明涉及数据安全性领域,尤其涉及一种缓存数据保护方法和装置。
背景技术
随着大数据时代的到来,数据存储系统越来越成为经济社会发展的必不可少的一部分;大数据时代到来的同时也为数据存储系统的设计难度带来巨大挑战,例如,如何保证数据的安全性,如何在大规模I/O(input/output)并发访问数据存储系统时,保证数据的一致性和数据存储系统的I/O性能变得非常关键;数据存储系统通常引入磁盘数据缓存技术,以确保数据存储系统的I/O吞吐性能;当数据存储系统的电源出现故障时,如果不采取应急保护措施,必然会导致缓存数据丢失。
目前针对数据存储系统的掉电保护方案中,通常设置数据存储系统的主板基本输入输出系统(Basic Input Output System,BIOS)工作在ADR-C2F模式,在数据存储系统发生掉电后,利用电池备份单元(Battery Backup Unit,BBU)继续供电,此时相应的操作系统不能正常工作,掉电后依靠主板BIOS将位于内存中的全部缓存数据直接拷贝到磁盘;在数据存储系统重新上电后,开机进入BIOS,由BIOS将掉电保存的缓存数据从磁盘重新完整拷贝到内存。
上述的掉电保护方案中严重依赖于磁盘的可靠性,在存储缓存数据的磁盘发生故障时,会导致缓存数据恢复失败。
发明内容
为解决上述技术问题,本发明实施例期望提供一种缓存数据保护方法和装置,能够提高数据存储系统中缓存数据的可恢复性。
本发明的技术方案是这样实现的:
本发明实施例提供了一种缓存数据保护方法,应用于数据存储系统,所述方法包括:
在数据存储系统发生掉电时,将数据存储系统的内存中的每一个缓存数据文件分别存储到N个存储设备中,N为大于1的自然数;所述N个存储设备包括1个主存储设备和N-1个从属存储设备;
在数据存储系统重新上电时,从每个存储设备读取数据存储系统掉电时存储的缓存数据文件;在从主存储设备读取任意一个缓存数据文件失败时,基于从至少一个从属存储设备读取的缓存数据文件,进行缓存数据恢复。
上述方案中,所述基于从至少一个从属存储设备读取的缓存数据文件,进行缓存数据恢复,包括:获取未能从主存储设备成功读取的缓存数据文件的序号,基于所获取的缓存数据文件的序号,在从至少一个从属存储设备读取出的缓存数据文件中找出相应的缓存数据文件;基于所找出的缓存数据文件,进行缓存数据恢复。
上述方案中,在数据存储系统发生掉电时,所述方法还包括:存储每个缓存数据文件的标识信息,所述每个缓存数据文件的标识信息包括:对应的缓存数据文件的元数据和下一个缓存数据文件的元数据位置信息;
读取数据存储系统掉电时存储的缓存数据文件包括:令i取1至M-1,M表示数据存储系统发生掉电时内存中存储的缓存数据文件的个数;在读取第i个缓存数据文件后,基于第i个缓存数据文件的标识信息,读取第i+1个缓存数据文件的元数据;基于第i+1个缓存数据文件的元数据,从对应存储设备中读取第i+1个缓存数据文件。
上述方案中,在数据存储系统发生掉电时,所述方法还包括:存储第1个至第M-1个缓存数据文件的特征码,其中,第i个缓存文件的特征码,用于指示第i+1个缓存数据文件的位置信息、第i+1个个缓存数据文件的元数据或第i+1个缓存数据文件的元数据位置信息;
在从主存储设备读取第i个缓存数据文件失败时,读取第i+1个缓存数据文件包括:基于第i个缓存数据文件的特征码,从主存储设备读取第i+1个缓存数据文件。
上述方案中,在存储各个缓存数据文件之前,所述方法还包括:基于内存中缓存数据的基数树,找出待存储的各个缓存数据文件。
本发明实施例还提供了一种缓存数据保护装置,应用于数据存储系统,所述装置包括:第一存储模块、读取模块和恢复模块;其中,
第一存储模块,用于在数据存储系统发生掉电时,将数据存储系统的内存中的每一个缓存数据文件分别存储到N个存储设备中,N为大于1的自然数;所述N个存储设备包括1个主存储设备和N-1个从属存储设备;
读取模块,用于在数据存储系统重新上电时,从每个存储设备读取数据存储系统掉电时存储的缓存数据文件;
恢复模块,用于在从主存储设备读取任意一个缓存数据文件失败时,基于从至少一个从属存储设备读取的缓存数据文件,进行缓存数据恢复。
上述方案中,所述恢复模块,具体用于获取未能从主存储设备成功读取的缓存数据文件的序号,基于所获取的缓存数据文件的序号,在从至少一个从属存储设备读取出的缓存数据文件中找出相应的缓存数据文件;基于所找出的缓存数据文件,进行缓存数据恢复。
上述方案中,所述装置还包括第二存储模块,所述第二存储模块,具体用于在数据存储系统发生掉电时,存储每个缓存数据文件的标识信息,所述每个缓存数据文件的标识信息包括:对应的缓存数据文件的元数据和下一个缓存数据文件的元数据位置信息;
所述读取模块,具体用于在读取第i个缓存数据文件后,基于第i个缓存数据文件的标识信息,读取第i+1个缓存数据文件的元数据;基于第i+1个缓存数据文件的元数据,从对应存储设备中读取第i+1个缓存数据文件,i取1至M-1,M表示数据存储系统发生掉电时内存中存储的缓存数据文件的个数。
上述方案中,所述装置还包括第三存储模块,所述第三存储模块,具体用于在数据存储系统发生掉电时,存储第1个至第M-1个缓存数据文件的特征码,其中,第i个缓存文件的特征码,用于指示第i+1个缓存数据文件的位置信息、第i+1个个缓存数据文件的元数据或第i+1个缓存数据文件的元数据位置信息;
所述读取模块,具体用于在从主存储设备读取第i个缓存数据文件失败时,基于第i个缓存数据文件的特征码,从主存储设备读取第i+1个缓存数据文件。
上述方案中,所述第一存储模块,还用于在存储各个缓存数据文件之前,基于内存中缓存数据的基数树,找出待存储的各个缓存数据文件。
本发明实施例提供的一种缓存数据保护方法和装置,在数据存储系统发生掉电时,将数据存储系统的内存中的每一个缓存数据文件分别存储到N个存储设备中,N为大于1的自然数;所述N个存储设备包括1个主存储设备和N-1个从属存储设备;在数据存储系统重新上电时,从每个存储设备读取数据存储系统掉电时存储的缓存数据文件;在从主存储设备读取任意一个缓存数据文件失败时,基于从至少一个从属存储设备读取的缓存数据文件,进行缓存数据恢复;如此,能够提高数据存储系统中缓存数据的可恢复性。
附图说明
图1为本发明缓存数据保护方法的第一实施例的流程图;
图2为本发明缓存数据保护方法的第一实施例中存储设备中数据存储结构示意图;
图3为本发明缓存数据保护方法的第一实施例中缓存数据恢复的流程图;
图4为本发明缓存数据保护方法的第一实施例中使用两个存储设备进行数据恢复的流程图;
图5为本发明实施例缓存数据保护装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
第一实施例
图1为本发明缓存数据保护方法的第一实施例的流程图,如图1所示,该流程包括:
步骤100:在数据存储系统发生掉电时,将数据存储系统的内存中的每一个缓存数据文件分别存储到N个存储设备中,N为大于1的自然数;所述N个存储设备包括1个主存储设备和N-1个从属存储设备。
这里,针对数据存储系统设置有持续供电模块,该持续供电模块,用于在数据存储系统发生掉电时,继续为数据存储系统的内存和各个存储设备进行供电;示例性地,持续供电模块可以采用BBU实现。
本步骤中,每个存储设备的类型包括但不限于:FLASH存储器、非易失性内存(Nonvolatile RAM,NVRAM)、随机存储器等等。
进一步地,数据存储系统发生掉电时,将数据存储系统的内存中的每一个缓存数据文件都可以称为脏数据文件;在存储各个缓存数据文件之前,还可以基于内存中缓存数据的基数树(Radix-tree),找出待存储的各个缓存数据文件;这里,每个从属存储设备存储的缓存数据文件可以称为镜像数据文件。
在实际应用中,在数据存储系统发生掉电时,还可以存储每个缓存数据文件的标识信息,所述每个缓存数据文件的标识信息包括:对应的缓存数据文件的元数据和下一个缓存数据文件的元数据位置信息;这里,每个缓存数据文件的元数据可以用于指示对应缓存数据文件的存储位置信息。
也就是说,第i个缓存数据文件的标识信息包括:第i个缓存数据文件的元数据和第i+1个缓存数据文件的元数据位置信息;i取1至M-1,M表示数据存储系统发生掉电时内存中存储的缓存数据文件的个数。
这里,存储第i个缓存数据文件的标识信息的存储设备,可以与存储第i个缓存数据文件的存储设备相同,也可以与存储第i个缓存数据文件的存储设备不相同。
进一步地,在数据存储系统发生掉电时,还可以存储第1个至第M-1个缓存数据文件的特征码,其中,第i个缓存文件的特征码,用于指示第i+1个缓存数据文件的位置信息、第i+1个个缓存数据文件的元数据或第i+1个缓存数据文件的元数据位置信息;如此,根据第i个缓存文件的特征码,便可以找出第i+1个个缓存数据文件所在的位置。
下面通过图2示例性地说明:当存储每个缓存数据文件的标识信息的存储设备与存储对应的缓存数据文件的存储设备相同时,存储设备中数据存储的结构示意图,如图2所示,NVM_pfp_header表示存储的数据的首部,NVM_pfp_unit[0]表示存储的第1个缓存数据文件的标识信息和特征码,NVM_pfp_item[0,0]至NVM_pfp_item[0,n]表示存储的第1个缓存数据文件;NVM_pfp_unit[1]表示存储的第2个缓存数据文件的标识信息和特征码,NVM_pfp_item[1,0]至NVM_pfp_item[1,n]表示存储的第2个缓存数据文件。
步骤101:在数据存储系统重新上电时,从每个存储设备读取数据存储系统掉电时存储的缓存数据文件;在从主存储设备读取任意一个缓存数据文件失败时,基于从至少一个从属存储设备读取的缓存数据文件,进行缓存数据恢复。
本步骤中,可以解析出第1个缓存数据文件的元数据,根据第1个缓存数据文件的元数据,读取第1个缓存数据文件;在从每个存储设备中读取第i个缓存数据文件后,基于第i个缓存数据文件的标识信息,解析出第i+1个缓存数据文件的元数据;基于第i+1个缓存数据文件的元数据,从对应存储设备中读取第i+1个缓存数据文件;如此,便于按顺序读取第1个缓存数据文件至第M个缓存数据文件。
由于每个存储设备可能发生区域故障,因此,可能存在至少一个缓存数据文件或至少一个缓存数据文件的元数据存储失败的情况,进而,读取对应缓存数据文件时,会出现读取失败的情况;针对这种情况,在本步骤中,在从主存储设备读取第i个缓存数据文件失败时,可以基于第i个缓存数据文件的特征码,从主存储设备读取第i+1个缓存数据文件;具体地,在从主存储设备读取第i个缓存数据文件失败时,通过模式匹配解析出第i个缓存数据文件的特征码,这里,可以对第i个缓存数据文件的特征码所指示的第i+1个缓存数据文件的元数据进行循环冗余校验(Cyclic Redundancy Check,CRC),在通过CRC校验后,确认i+1个缓存数据文件的元数据,进而基于第i+1个缓存数据文件的元数据读取第i+1个缓存数据文件,实现第i+1个缓存数据文件的恢复。
在现有技术中,在从磁盘中恢复缓存数据文件时,如果磁盘存储介质出现区域损坏时,又可能导致一个或多个缓存数据文件读取失败,导致后续的缓存数据文件也不能读取;相对地,在本发明第一实施例中,使用缓存数据文件的特征码,可以保证磁盘存储介质出现区域损坏时,通过对应的特征码找到后续的缓存数据文件的位置或元数据,从而继续读取后续的缓存数据文件;如此,提高了缓存数据的可恢复性。
本步骤中,所述基于从至少一个从属存储设备读取的缓存数据文件,进行缓存数据恢复,包括:获取未能从主存储设备成功读取的缓存数据文件的序号,基于所获取的缓存数据文件的序号,在从至少一个从属存储设备读取出的缓存数据文件中找出相应的缓存数据文件;基于所找出的缓存数据文件,进行缓存数据恢复;示例性地,未能从主存储设备成功读取第j个缓存数据文件时,获取的未能从主存储设备成功读取的缓存数据文件的序号为j,从属存储设备对第j个缓存数据文件进行数据恢复,j小于等于M。
图3为本发明缓存数据保护方法的第一实施例中缓存数据恢复的流程图,如图3所示,共有一个从属存储设备,主存储设备和从属存储设备统称为存储设备1。
参照图3,缓存数据恢复的流程包括:
步骤101A:缓存数据保护装置在数据存储系统重新上电时,读取存储设备1存储的缓存数据文件。
这里,缓存数据保护装置用于按照本发明第一实施例的缓存数据保护方法进行缓存数据恢复,读取存储设备1的缓存数据文件的过程已经在步骤101中作出说明,这里不再重复。
步骤101B:按照所读取的缓存数据文件对受保护装置中的缓存数据进行恢复。
这里,受保护装置可以是数据存储系统的内存。
步骤101C:在缓存数据恢复完成后,结束流程。
图4为本发明缓存数据保护方法的第一实施例中使用两个存储设备进行数据恢复的流程图,这两个存储设备分别为一个从属存储设备和主存储设备,在图4中,将控制主存储设备的装置记为SC0,将控制从属存储设备的装置记为SC1,可以理解的是,SC0和SC1可以是同一个装置,也可以是不同的装置。
如图4所示,上述使用两个存储设备进行数据恢复的流程包括:
步骤101a:在数据存储系统上电后,SC0和SC1分别读取对应的存储设备中保存的缓存数据文件。
这里,读取对应的存储设备中保存的缓存数据文件已经在步骤101中作出说明,这里不再重复。
步骤101b:SC0将主存储设备的读取统计信息发送至SC1。
这里,主存储设备的读取统计信息包括:主存储设备成功读取的缓存数据文件的序号、以及主存储设备读取失败的缓存数据文件的序号。
步骤101c:SC1根据主存储设备的读取统计信息,将从属存储设备保存的未能在主存储设备中成功读取的缓存数据文件发送至SC0。
步骤101d:SC0根据来自主设备和从属存储设备的缓存数据文件,进行缓存数据恢复。
步骤101e:SC0在数据恢复完成后,向SC1发出通知信息,通知SC1缓存数据恢复已经完成。
在本发明的缓存数据保护方法的第一实施例,还可以根据数据恢复控制信号来确定是否进行缓存数据恢复;具体地说,在数据存储系统发生掉电时,向至少一个存储设备写入掉电信息;在未接收到数据恢复控制信号时,不进行缓存数据的恢复;在接收到数据恢复控制信号时,读取对应的存储设备中的掉电信息,如果不能成功读取出掉电信息,则不进行缓存数据的恢复;反之,如果能够成功读取出掉电信息,则基于读取出的掉电信息,判断数据存储系统发生异常掉电,此时再进行缓存数据的恢复;这里,缓存数据的恢复过程已经在步骤100和步骤101中做出说明,这里不再重复。
应用本发明缓存数据保护方法的第一实施例,在至少两个存储设备中均进行缓存数据的备份,实现了数据镜像;在进行缓存数据恢复时,可以从从属存储设备中获取在主存储设备中未能读取的缓存数据文件,提高了缓存数据文件的可恢复性;另外,通过使用缓存数据文件的特征码,可以保证每个存储设备的存储介质出现区域损坏时,找到后续的缓存数据文件的位置或元数据,从而继续读取后续的缓存数据文件,如此,进一步提高了缓存数据的可恢复性。
第二实施例
针对本发明第一实施例的缓存数据保护方法,本发明第二实施例提供了一种缓存数据保护装置。
图5为本发明实施例缓存数据保护装置的结构示意图,如图5所示,该装置应用于数据存储系统,该装置包括:第一存储模块500、读取模块501和恢复模块502;其中,
第一存储模块500,用于在数据存储系统发生掉电时,将数据存储系统的内存中的每一个缓存数据文件分别存储到N个存储设备中,N为大于1的自然数;所述N个存储设备包括1个主存储设备和N-1个从属存储设备;
读取模块501,用于在数据存储系统重新上电时,从每个存储设备读取数据存储系统掉电时存储的缓存数据文件;
恢复模块502,用于在从主存储设备读取任意一个缓存数据文件失败时,基于从至少一个从属存储设备读取的缓存数据文件,进行缓存数据恢复。
具体地,所述恢复模块502,用于获取未能从主存储设备成功读取的缓存数据文件的序号,基于所获取的缓存数据文件的序号,在从至少一个从属存储设备读取出的缓存数据文件中找出相应的缓存数据文件;基于所找出的缓存数据文件,进行缓存数据恢复。
进一步地,所述装置还包括第二存储模块503,所述第二存储模块,用于在数据存储系统发生掉电时,存储每个缓存数据文件的标识信息,所述每个缓存数据文件的标识信息包括:对应的缓存数据文件的元数据和下一个缓存数据文件的元数据位置信息;
所述读取模块501,具体用于在读取第i个缓存数据文件后,基于第i个缓存数据文件的标识信息,读取第i+1个缓存数据文件的元数据;基于第i+1个缓存数据文件的元数据,从对应存储设备中读取第i+1个缓存数据文件,i取1至M-1,M表示数据存储系统发生掉电时内存中存储的缓存数据文件的个数。
进一步地,所述装置还包括第三存储模块504,所述第三存储模块504,具体用于在数据存储系统发生掉电时,存储第1个至第M-1个缓存数据文件的特征码,其中,第i个缓存文件的特征码,用于指示第i+1个缓存数据文件的位置信息、第i+1个个缓存数据文件的元数据或第i+1个缓存数据文件的元数据位置信息;
所述读取模块501,具体用于在从主存储设备读取第i个缓存数据文件失败时,基于第i个缓存数据文件的特征码,从主存储设备读取第i+1个缓存数据文件。
这里,所述第一存储模块500,还用于在存储各个缓存数据文件之前,基于内存中缓存数据的基数树,找出待存储的各个缓存数据文件。
在实际应用中,所述第一存储模块500、读取模块501、恢复模块502、第二存储模块503和第三存储模块504均可由位于终端中的中央处理器(CentralProcessing Unit,CPU)、微处理器(Micro Processor Unit,MPU)、数字信号处理器(Digital Signal Processor,DSP)、或现场可编程门阵列(Field ProgrammableGate Array,FPGA)等实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (10)
1.一种缓存数据保护方法,其特征在于,应用于数据存储系统,所述方法包括:
在数据存储系统发生掉电时,将数据存储系统的内存中的每一个缓存数据文件分别存储到N个存储设备中,N为大于1的自然数;所述N个存储设备包括1个主存储设备和N-1个从属存储设备;
在数据存储系统重新上电时,从每个存储设备读取数据存储系统掉电时存储的缓存数据文件;在从主存储设备读取任意一个缓存数据文件失败时,基于从至少一个从属存储设备读取的缓存数据文件,进行缓存数据恢复。
2.根据权利要求1所述的方法,其特征在于,所述基于从至少一个从属存储设备读取的缓存数据文件,进行缓存数据恢复,包括:获取未能从主存储设备成功读取的缓存数据文件的序号,基于所获取的缓存数据文件的序号,在从至少一个从属存储设备读取出的缓存数据文件中找出相应的缓存数据文件;基于所找出的缓存数据文件,进行缓存数据恢复。
3.根据权利要求1所述的方法,其特征在于,在数据存储系统发生掉电时,所述方法还包括:存储每个缓存数据文件的标识信息,所述每个缓存数据文件的标识信息包括:对应的缓存数据文件的元数据和下一个缓存数据文件的元数据位置信息;
读取数据存储系统掉电时存储的缓存数据文件包括:令i取1至M-1,M表示数据存储系统发生掉电时内存中存储的缓存数据文件的个数;在读取第i个缓存数据文件后,基于第i个缓存数据文件的标识信息,读取第i+1个缓存数据文件的元数据;基于第i+1个缓存数据文件的元数据,从对应存储设备中读取第i+1个缓存数据文件。
4.根据权利要求3所述的方法,其特征在于,在数据存储系统发生掉电时,所述方法还包括:存储第1个至第M-1个缓存数据文件的特征码,其中,第i个缓存文件的特征码,用于指示第i+1个缓存数据文件的位置信息、第i+1个个缓存数据文件的元数据或第i+1个缓存数据文件的元数据位置信息;
在从主存储设备读取第i个缓存数据文件失败时,读取第i+1个缓存数据文件包括:基于第i个缓存数据文件的特征码,从主存储设备读取第i+1个缓存数据文件。
5.根据权利要求1至4任一项所述的方法,其特征在于,在存储各个缓存数据文件之前,所述方法还包括:基于内存中缓存数据的基数树,找出待存储的各个缓存数据文件。
6.一种缓存数据保护装置,其特征在于,所述装置应用于数据存储系统,所述装置包括:第一存储模块、读取模块和恢复模块;其中,
第一存储模块,用于在数据存储系统发生掉电时,将数据存储系统的内存中的每一个缓存数据文件分别存储到N个存储设备中,N为大于1的自然数;所述N个存储设备包括1个主存储设备和N-1个从属存储设备;
读取模块,用于在数据存储系统重新上电时,从每个存储设备读取数据存储系统掉电时存储的缓存数据文件;
恢复模块,用于在从主存储设备读取任意一个缓存数据文件失败时,基于从至少一个从属存储设备读取的缓存数据文件,进行缓存数据恢复。
7.根据权利要求6所述的装置,其特征在于,所述恢复模块,具体用于获取未能从主存储设备成功读取的缓存数据文件的序号,基于所获取的缓存数据文件的序号,在从至少一个从属存储设备读取出的缓存数据文件中找出相应的缓存数据文件;基于所找出的缓存数据文件,进行缓存数据恢复。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括第二存储模块,所述第二存储模块,具体用于在数据存储系统发生掉电时,存储每个缓存数据文件的标识信息,所述每个缓存数据文件的标识信息包括:对应的缓存数据文件的元数据和下一个缓存数据文件的元数据位置信息;
所述读取模块,具体用于在读取第i个缓存数据文件后,基于第i个缓存数据文件的标识信息,读取第i+1个缓存数据文件的元数据;基于第i+1个缓存数据文件的元数据,从对应存储设备中读取第i+1个缓存数据文件,i取1至M-1,M表示数据存储系统发生掉电时内存中存储的缓存数据文件的个数。
9.根据权利要8所述的装置,其特征在于,所述装置还包括第三存储模块,所述第三存储模块,具体用于在数据存储系统发生掉电时,存储第1个至第M-1个缓存数据文件的特征码,其中,第i个缓存文件的特征码,用于指示第i+1个缓存数据文件的位置信息、第i+1个个缓存数据文件的元数据或第i+1个缓存数据文件的元数据位置信息;
所述读取模块,具体用于在从主存储设备读取第i个缓存数据文件失败时,基于第i个缓存数据文件的特征码,从主存储设备读取第i+1个缓存数据文件。
10.根据权利要求6至9任一项所述的装置,其特征在于,所述第一存储模块,还用于在存储各个缓存数据文件之前,基于内存中缓存数据的基数树,找出待存储的各个缓存数据文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511003094.9A CN106919474A (zh) | 2015-12-28 | 2015-12-28 | 一种缓存数据保护方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511003094.9A CN106919474A (zh) | 2015-12-28 | 2015-12-28 | 一种缓存数据保护方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106919474A true CN106919474A (zh) | 2017-07-04 |
Family
ID=59455881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511003094.9A Pending CN106919474A (zh) | 2015-12-28 | 2015-12-28 | 一种缓存数据保护方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106919474A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918228A (zh) * | 2019-01-28 | 2019-06-21 | 浙江中控技术股份有限公司 | 一种数据掉电保持方法及系统 |
WO2019196157A1 (zh) * | 2018-04-10 | 2019-10-17 | 网宿科技股份有限公司 | 一种文件读取方法及应用实体 |
CN111143899A (zh) * | 2018-11-06 | 2020-05-12 | 中兴通讯股份有限公司 | 存储数据的方法、装置、存储介质及电子装置 |
CN112863582A (zh) * | 2021-02-23 | 2021-05-28 | 广东申菱环境系统股份有限公司 | 一种数据掉电保持方法、装置、计算机设备和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060056321A1 (en) * | 2004-09-13 | 2006-03-16 | Nec Infrontia Corporation | Recovery of duplex data system after power failure |
CN1794190A (zh) * | 2004-12-22 | 2006-06-28 | 国际商业机器公司 | 使用数个存储介质来存储和恢复数据文件的方法 |
CN101118508A (zh) * | 2007-08-24 | 2008-02-06 | 成都索贝数码科技股份有限公司 | 一种数据的安全存储方法 |
CN101727298A (zh) * | 2009-11-04 | 2010-06-09 | 北京东方广视科技股份有限公司 | 实现独立磁盘冗余阵列的方法和装置 |
CN102929805A (zh) * | 2012-10-19 | 2013-02-13 | 浪潮电子信息产业股份有限公司 | 一种存储系统缓存数据掉电保护方法 |
CN103942160A (zh) * | 2014-04-03 | 2014-07-23 | 华为技术有限公司 | 存储系统、存储设备及数据存储方法 |
WO2015081470A1 (zh) * | 2013-12-02 | 2015-06-11 | 华为技术有限公司 | 数据处理设备和数据处理的方法 |
CN105045685A (zh) * | 2015-08-04 | 2015-11-11 | 浪潮电子信息产业股份有限公司 | 缓存数据的备份方法及装置、缓存数据的恢复方法及装置 |
-
2015
- 2015-12-28 CN CN201511003094.9A patent/CN106919474A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060056321A1 (en) * | 2004-09-13 | 2006-03-16 | Nec Infrontia Corporation | Recovery of duplex data system after power failure |
CN1794190A (zh) * | 2004-12-22 | 2006-06-28 | 国际商业机器公司 | 使用数个存储介质来存储和恢复数据文件的方法 |
CN101118508A (zh) * | 2007-08-24 | 2008-02-06 | 成都索贝数码科技股份有限公司 | 一种数据的安全存储方法 |
CN101727298A (zh) * | 2009-11-04 | 2010-06-09 | 北京东方广视科技股份有限公司 | 实现独立磁盘冗余阵列的方法和装置 |
CN102929805A (zh) * | 2012-10-19 | 2013-02-13 | 浪潮电子信息产业股份有限公司 | 一种存储系统缓存数据掉电保护方法 |
WO2015081470A1 (zh) * | 2013-12-02 | 2015-06-11 | 华为技术有限公司 | 数据处理设备和数据处理的方法 |
CN103942160A (zh) * | 2014-04-03 | 2014-07-23 | 华为技术有限公司 | 存储系统、存储设备及数据存储方法 |
CN105045685A (zh) * | 2015-08-04 | 2015-11-11 | 浪潮电子信息产业股份有限公司 | 缓存数据的备份方法及装置、缓存数据的恢复方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019196157A1 (zh) * | 2018-04-10 | 2019-10-17 | 网宿科技股份有限公司 | 一种文件读取方法及应用实体 |
CN111143899A (zh) * | 2018-11-06 | 2020-05-12 | 中兴通讯股份有限公司 | 存储数据的方法、装置、存储介质及电子装置 |
CN109918228A (zh) * | 2019-01-28 | 2019-06-21 | 浙江中控技术股份有限公司 | 一种数据掉电保持方法及系统 |
CN112863582A (zh) * | 2021-02-23 | 2021-05-28 | 广东申菱环境系统股份有限公司 | 一种数据掉电保持方法、装置、计算机设备和存储介质 |
CN112863582B (zh) * | 2021-02-23 | 2022-10-11 | 广东申菱环境系统股份有限公司 | 一种数据掉电保持方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102142006B (zh) | 分布式文件系统的文件处理方法及装置 | |
CN106463179B (zh) | 利用存储器控制器处理数据错误事件的方法、装置和系统 | |
CN103761988B (zh) | 固态硬盘及数据移动方法 | |
CN107704196A (zh) | 区块链数据存储系统和方法 | |
CN106919474A (zh) | 一种缓存数据保护方法和装置 | |
CN101876929B (zh) | 用于同步冗余处理器的状态历史存储器 | |
CN107748702A (zh) | 数据存储方法、恢复方法、相关装置以及系统 | |
CN105830040A (zh) | 用于访问存储器的存储器装置 | |
US20160085625A1 (en) | Self-accumulating exclusive or program | |
CN109710451A (zh) | 基于nand的存储装置的固件事件跟踪及其执行方法和指令集 | |
CN107799151A (zh) | 固态盘SSD及高可用性PCIe SSD的方法和系统 | |
CN106663472A (zh) | 非易失性存储器中的恢复算法 | |
CN109343790A (zh) | 一种基于nand flash的数据存储方法、终端设备及存储介质 | |
CN103516736A (zh) | 分布式缓存系统的数据恢复方法及装置 | |
CN105022656A (zh) | 虚拟机快照管理方法和装置 | |
CN105339902B (zh) | 用于版本化存储器实现的方法、装置和计算机可读介质 | |
US20160085445A1 (en) | Method operating raid system and data storage systems using write command log | |
CN103064770B (zh) | 双进程冗余瞬时故障容错方法 | |
US11269737B2 (en) | Incrementally updating recovery map data for a memory system | |
US20180276161A1 (en) | PCIe VIRTUAL SWITCHES AND AN OPERATING METHOD THEREOF | |
CN106910528A (zh) | 一种固态硬盘数据巡检的优化方法及装置 | |
CN104133740A (zh) | 异常掉电数据恢复的方法 | |
CN102024021A (zh) | 一种逻辑文件系统元数据的日志方法 | |
CN110837483A (zh) | 张量维度变换的方法以及装置 | |
CN105247488A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170704 |