CN117591344B - 一种针对ECC型NorFlash的文件备份方法及装置 - Google Patents
一种针对ECC型NorFlash的文件备份方法及装置 Download PDFInfo
- Publication number
- CN117591344B CN117591344B CN202410069799.3A CN202410069799A CN117591344B CN 117591344 B CN117591344 B CN 117591344B CN 202410069799 A CN202410069799 A CN 202410069799A CN 117591344 B CN117591344 B CN 117591344B
- Authority
- CN
- China
- Prior art keywords
- unit
- file
- backup
- index
- target
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000012937 correction Methods 0.000 title description 4
- 238000012545 processing Methods 0.000 claims abstract description 11
- 238000012795 verification Methods 0.000 claims description 11
- 230000007246 mechanism Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 3
- 238000005096 rolling process Methods 0.000 claims description 2
- 238000007726 management method Methods 0.000 description 27
- 238000013500 data storage Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- 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/13—File access structures, e.g. distributed indices
- G06F16/134—Distributed indices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
Abstract
本发明提供一种针对ECC型NorFlash的文件备份方法及装置;所述方法包括:响应于获取到的文件备份请求,确定目标索引单元,并确定目标索引单元中的最新备份单元和最新备份组;根据最新备份单元和最新备份组确定目标文件备份单元,并将文件备份请求中包含的待备份文件的文件数据存储至目标文件备份单元对应的存储空间;将排在目标文件备份单元所处的备份单元组后的第一预设数量的备份单元组逐一确定为目标单元组,并对目标单元组执行下述处理:确定目标单元组中距离上次更新的时长最久的文件备份单元,并将待备份文件的文件数据备份至确定的文件备份单元对应的存储空间;更新目标索引单元中的索引管理单元、目标文件备份单元以及确定的文件备份单元。
Description
技术领域
本发明涉及文件存储领域,尤其涉及一种针对ECC型NorFlash的文件备份方法及装置。
背景技术
关键性文件是指对于一个系统来说非常重要的文件(如SQL数据库文件),这些文件需要得到特殊的保护和管理,以确保其安全性与完整性,通常可以通过备份策略等方式保护这些关键性文件。一般而言,选用具有可靠特性的NorFlash进行关键性文件的存储与备份,能够保证系统运行的安全。
然而,常规的Nor Flash存储关键性文件有大概率因单粒子翻转效应发生文件损坏,进而导致系统失效。硬件上,为提高关键性文件的可靠性,通过在硬件电路中加入ECC(Error Correction Code)检验算法实现ECC型Nor Flash。NorFlash芯片以“字”为基本单位,由于硬件增加ECC机制,会出现ECC型NorFlash无法通过JFFS或JFFS2文件系统进行文件管理的情况。
相关技术中,通过以Flash块为单位直接进行数据的存储与备份,操作简单,能够一定程度提高对关键性文件的保护。但是,无论是以“字”为基本单位,还是以Flash块为单位进行数据存储,均遵循循环覆盖机制。在处理类似数据库文件等更新频繁的关键性文件时,均无法避免辐射环境造成的单粒子翻转事件,从而导致所有备份数据失效。
发明内容
有鉴于此,本发明提供一种针对ECC型NorFlash的文件备份方法及装置,以解决相关技术中的不足。
具体地,本发明是通过如下技术方案实现:
根据本发明的第一方面,提供了一种针对ECC型NorFlash的文件备份方法,应用于ECC型NorFlash,所述NorFlash存储有关键性文件数据以及所述关键性文件数据对应的目录,所述目录包括多个索引单元,每一索引单元包括一个索引管理单元和n个文件备份单元,所述文件备份单元记录的文件单元索引与所述NorFlash存储的关键性文件一一对应,所述索引管理单元记录有相应的索引单元的总索引和文件单元索引,所述n个文件备份单元被划分为m个备份单元组;所述方法包括:
响应于获取到的文件备份请求,确定目标索引单元,并确定所述目标索引单元中的最新备份单元和最新备份组;其中,所述最新备份单元为最近一次完成备份的文件备份单元,所述最新备份组为所述最新备份单元所处的备份单元组,所述总索引包含所述最新备份单元和所述最新备份组的信息;
根据所述最新备份单元和最新备份组确定目标文件备份单元,并将所述文件备份请求中包含的待备份文件的文件数据存储至所述目标文件备份单元对应的存储空间;
将排在所述目标文件备份单元所处的备份单元组后的第一预设数量的备份单元组逐一确定为目标单元组,并对所述目标单元组执行下述处理:确定所述目标单元组中距离上次更新的时长最久的文件备份单元,并将所述待备份文件的文件数据备份至确定的文件备份单元对应的存储空间;
更新所述目标索引单元中的索引管理单元、所述目标文件备份单元以及所述确定的文件备份单元。
根据本发明的第二方面,提供了一种针对ECC型NorFlash的文件备份装置,应用于ECC型NorFlash,所述NorFlash存储有关键性文件数据以及所述关键性文件数据对应的目录,所述目录包括多个索引单元,每一索引单元包括一个索引管理单元和n个文件备份单元,所述文件备份单元记录的文件单元索引与所述NorFlash存储的关键性文件一一对应,所述索引管理单元记录有相应的索引单元的总索引和文件单元索引,所述n个文件备份单元被划分为m个备份单元组;所述方法包括:
确定单元,用于响应于获取到的文件备份请求,确定目标索引单元,并确定所述目标索引单元中的最新备份单元和最新备份组;其中,所述最新备份单元为最近一次完成备份的文件备份单元,所述最新备份组为所述最新备份单元所处的备份单元组,所述总索引包含所述最新备份单元和所述最新备份组的信息;
存储单元,用于根据所述最新备份单元和最新备份组确定目标文件备份单元,并将所述文件备份请求中包含的待备份文件的文件数据存储至所述目标文件备份单元对应的存储空间;
第一备份单元,用于将排在所述目标文件备份单元所处的备份单元组后的第一预设数量的备份单元组逐一确定为目标单元组,并对所述目标单元组执行下述处理:确定所述目标单元组中距离上次更新的时长最久的文件备份单元,并将所述待备份文件的文件数据备份至确定的文件备份单元对应的存储空间;
第一更新单元,用于更新所述目标索引单元中的索引管理单元、所述目标文件备份单元以及所述确定的文件备份单元。
根据本发明的第三方面,提供了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如第一方面中任一项所述的方法。
根据本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第一方面中任一所述方法的步骤。
本发明的实施例提供的技术方案可以包括以下有益效果:
在本发明的实施例中,一方面,通过将ECC型NorFlash存储的每一索引单元的文件备份单元划分为多个备份单元组,并针对每一备份单元组执行循环覆盖原则,使得待备份文件的文件数据可以备份至预设数量的备份单元组对应的存储空间中,且即便在文件数据的写入过程中发生单粒子翻转事件,也仅会对一个备份单元组的文件数据造成影响,从而在实现备份的同时最大程度地降低单粒子翻转事件对备份数据的影响;另一方面,通过ECC型NorFlash存储关键性文件的文件数据和在索引单元中记录关键性文件的索引,建立了完整的文件和文件索引架构,使得在文件访问或者更新时可以根据文件索引快速查询到文件的存储位置,从而提升了文件访问和更新的效率。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明公开实施例示出的一种的ECC型Nor Flash的示意图;
图2是本发明公开实施例示出的一种针对ECC型NorFlash的文件备份方法的流程图;
图3是本发明公开实施例示出的一种组间和组内备份方式的示意图;
图4是本发明公开实施例示出的一种电子设备的示意结构图;
图5是本发明公开实施例示出的一种针对ECC型NorFlash的文件备份装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
下面结合附图对本发明的一种针对ECC型NorFlash的文件备份方法的实施例进行详细描述。
关键性文件是指对于一个系统来说非常重要的文件(如SQL数据库文件),这些文件需要得到特殊的保护和管理,以确保其安全性与完整性,通常可以通过备份策略等方式保护这些关键性文件。一般而言,选用具有可靠特性的NorFlash进行关键性文件的存储与备份,能够保证系统运行的安全。
然而,常规的Nor Flash存储关键性文件有大概率因单粒子翻转效应发生文件损坏,进而导致系统失效。硬件上,为提高关键性文件的可靠性,通过在硬件电路中加入ECC(Error Correction Code)检验算法实现ECC型Nor Flash。NorFlash芯片以“字”为基本单位,由于硬件增加ECC机制,会出现ECC型NorFlash无法通过JFFS或JFFS2文件系统进行文件管理的情况。
相关技术中,通过以Flash块为单位直接进行数据的存储与备份,操作简单,能够一定程度提高对关键性文件的保护。但是,无论是以“字”为基本单位,还是以Flash块为单位进行数据存储,均遵循循环覆盖机制。在处理类似数据库文件等更新频繁的关键性文件时,均无法避免辐射环境造成的单粒子翻转事件,从而导致所有备份数据失效。
为解决相关技术中存在的不足,本说明书提出了一种针对ECC型NorFlash的文件备份方法。
该针对ECC型NorFlash的文件备份方法应用于如图1所示的ECC型Nor Flash中,该ECC型Nor Flash包括目录区域和文件数据存储区域。其中,目录区域包括3个索引单元,分别为索引单元10-索引单元30。每一索引单元包括一个索引管理单元和多个文件备份单元,譬如:索引单元10包括索引管理单元11、文件备份单元12、文件备份管理单元13等;索引单元20包括索引管理单元21、文件备份单元22、文件备份单元23等;索引单元30包括索引管理单元31、文件备份单元32、文件备份单元33等。
以索引管理单元31为例,索引管理单元31中包含两部分内容,一部分为总索引311,另一部分为与索引单元30中的文件备份单元一一对应的文件单元索引(例如:文件单元索引321对应于文件备份单元32,文件单元索引331对应于文件备份单元33)。如表1所示,总索引311包含12个字段,这里先对部分字段进行介绍。
索引单元中的所有文件备份单元被划分为多个备份单元组,字段“GROUPING_NUM”为被划分的备份单元组的数量。每一文件备份单元对应有文件备份单元ID,每一备份单元组对应有备份单元组ID。字段“NEWEST_BACKUP_ID”记录有最新备份单元ID,最新备份单元ID为索引单元中最近一次完成备份的文件备份单元对应的文件备份单元ID;字段“NEWEST_GROUP_ID”记录有最新备份组ID,最新备份组ID为最新备份单元所处的备份单元组的备份单元组ID。总索引中还记录有每一备份单元组的最新备份单元ID,其可以根据备份单元组的ID排列顺序依次排列,每一单元ID占据4字节。
表1
以文件备份单元33为例,文件备份单元33中包含文件单元索引331和相应的文件数据存储空间地址,该文件数据存储空间地址对应于ECC型Nor Flash中的存储空间。如表2所示,文件单元索引包含8个字段,这里先对部分字段进行介绍。
字段“BACKUP_ID”记录有相应的文件备份单元ID,字段“GROUP_ID”记录有相应的备份单元组ID,字段“DB_DATA_SIZE”记录有相应文件的文件大小。
表2
本发明提出的ECC型NorFlash,一方面,通过将ECC型NorFlash存储的每一索引单元的文件备份单元划分为多个备份单元组,并针对每一备份单元组执行循环覆盖原则,使得待备份文件的文件数据可以备份至预设数量的备份单元组对应的存储空间中,且即便在文件数据的写入过程中发生单粒子翻转事件,也仅会对一个备份单元组的文件数据造成影响,从而在实现备份的同时最大程度地降低单粒子翻转事件对备份数据的影响;另一方面,通过ECC型NorFlash存储关键性文件的文件数据和在索引单元中记录关键性文件的索引,建立了完整的文件和文件索引架构,使得在文件访问或者更新时可以根据文件索引快速查询到文件的存储位置,从而提升了文件访问和更新的效率。
图2是本发明公开示例性实施例示出的一针对ECC型NorFlash的文件备份方法的流程图,该方法应用于ECC型NorFlash,所述NorFlash存储有关键性文件数据以及所述关键性文件数据对应的目录,所述目录包括多个索引单元,每一索引单元包括一个索引管理单元和n个文件备份单元,所述文件备份单元记录的文件单元索引与所述NorFlash存储的关键性文件一一对应,所述索引管理单元记录有相应的索引单元的总索引和文件单元索引,所述n个文件备份单元被划分为m个备份单元组;具体可以包括如下步骤:
步骤202,响应于获取到的文件备份请求,确定目标索引单元,并确定所述目标索引单元中的最新备份单元和最新备份组;其中,所述最新备份单元为最近一次完成备份的文件备份单元,所述最新备份组为所述最新备份单元所处的备份单元组,所述总索引包含所述最新备份单元和所述最新备份组的信息。
n和m为正整数,并且n大于m。
如表1所示,最新备份单元的信息可以为最新备份单元的单元ID和最新备份组的信息可以为最新备份组的组ID。
步骤204,根据所述最新备份单元和最新备份组确定目标文件备份单元,并将所述文件备份请求中包含的待备份文件的文件数据存储至所述目标文件备份单元对应的存储空间。
文件备份单元记录有文件单元索引和文件数据存储空间地址,目标文件备份单元对应的存储空间的位置可以根据目标文件备份单元记录的文件数据存储空间地址而确定。
在存储文件数据时,存在两种情况,一种是存储空间原本存储有其他文件的文件数据,此时可以将原本存储的文件数据删除,再将待备份文件的文件数据存入;一种是存储空间为空,此时可以直接将待备份文件的文件数据存入。
步骤206,将排在所述目标文件备份单元所处的备份单元组后的第一预设数量的备份单元组逐一确定为目标单元组,并对所述目标单元组执行下述处理:确定所述目标单元组中距离上次更新的时长最久的文件备份单元,并将所述待备份文件的文件数据备份至确定的文件备份单元对应的存储空间。
第一预设数量可以根据文件备份请求中指定的备份数量而确定,第一预设数量比指定的备份数量少1,例如:若指定的备份数量为10份,那么第一预设数量为9;若指定的备份数量为5份,那么第一预设数量为4。
如表1所示,索引管理单元记录有所述目标索引单元中每一备份单元组对应的最新备份单元信息。所述确定所述目标单元组中距离上次更新的时长最久的文件备份单元,包括:根据所述索引管理单元记录的最新备份单元信息确定所述目标单元组中距离上次更新的时长最久的文件备份单元。
步骤208,更新所述目标索引单元中的索引管理单元、所述目标文件备份单元以及所述确定的文件备份单元。
在目标文件备份单元对应的存储空间足够存储待备份文件的文件数据的情况下,仅需更新目标索引单元中的索引管理单元、目标文件备份单元以及确定的文件备份单元所记录的目录信息。
在目标文件备份单元对应的存储空间足够存储待备份文件的文件数据的情况下(该情况一般出现在备份单元组对应的存储空间已满时),可以继续将未存储完的部分文件数据存储至下一文件备份单元对应的存储空间中(该下一文件备份单元指的是同一备份单元组内按照文件备份ID排列在目标文件备份单元后的文件备份单元,若目标文件备份单元为该组内最后一个文件备份单元,则其下一文件备份单元为ID排列在第一位的文件备份单元)。此时不仅需要更新目标文件备份单元,还需要更新后续被覆盖的文件备份单元所记录的目录信息。
在该实施例中,一方面,通过将ECC型NorFlash存储的每一索引单元的文件备份单元划分为多个备份单元组,并针对每一备份单元组执行循环覆盖原则,使得待备份文件的文件数据可以备份至预设数量的备份单元组对应的存储空间中,且即便在文件数据的写入过程中发生单粒子翻转事件,也仅会对一个备份单元组的文件数据造成影响,从而在实现备份的同时最大程度地降低单粒子翻转事件对备份数据的影响;另一方面,通过ECC型NorFlash存储关键性文件的文件数据和在索引单元中记录关键性文件的索引,建立了完整的文件和文件索引架构,使得在文件访问或者更新时可以根据文件索引快速查询到文件的存储位置,从而提升了文件访问和更新的效率。
在一实施例中,所述确定目标索引单元,包括:将所述NorFlash中所有索引单元逐一确定为目标索引单元;其中,所述待备份文件的文件数据对应的目录信息被备份至每一索引单元中,所述待备份文件的文件数据被备份至每一索引单元对应的存储空间中。
单粒子翻转事件除了可以发生在文件单元索引写入的过程中,还可以发生在总索引写入的过程中。此时,整个索引单元所记录的数据均可以由于单粒子翻转事件而失效。
NorFlash中存储有多个索引单元,在所有索引单元逐一被确定为目标索引单元的情况下,不同索引单元之间互为备份。当其中一个索引单元因单粒子翻转事件而造成备份数据失效时,可以根据另一索引单元记录的数据恢复失效的数据。
在该实施例中,通过将待备份文件的文件数据备份至每一索引单元,使得当其中一个索引单元因单粒子翻转事件而造成备份数据失效时,可以根据另一索引单元记录的数据恢复失效的数据,从而最大程度降低单粒子翻转事件对文件备份的影响。
在一实施例中,所述方法还包括:将所述目标文件备份单元后的第二预设数量的文件备份单元确定为待备份单元,并将所述待备份文件的文件数据分别备份至各个待备份单元对应的存储空间中;更新所述目标索引单元中的索引管理单元和所述待备份单元。
第二预设数量可以根据文件备份请求指定的备份数量和第一预设数量确定,指定的备份数量为第一预设数量加1和第二预设数量加1的乘积,例如:当备份数量为10份且第一预设数量为1份的情况下,第二预设数量为4份;当备份数量为6份且第一预设数量为2份的情况下,第二预设数量为1份。
如图3所示,根据文件备份单元ID,每一备份单元组内的文件备份单元按照单元ID排列,备份单元组也按照组ID排列。根据ID的排列顺序,存在两种备份方式,一种为组内切换备份,一种为组间切换备份。组内切换备份为:按照单元ID,将待备份文件的文件数据备份至多个文件备份单元;组件切换备份为:按照组ID,将待备份文件的文件数据备份至多个备份单元组。
在该实施例中,不仅通过分组备份文件数据,还通过组内备份多份文件数据,双重备份方式并行实施,进一步避免数据写入时单粒子翻转事件对文件备份的影响。
在一实施例中,所述更新所述目标索引单元中的索引管理单元、所述目标文件备份单元以及所述确定的文件备份单元,包括:根据所述待备份文件的文件数据所占用的存储空间更新所述目标索引单元的总索引中的所述最新备份单元和最新备份组的信息,以及更新所述目标文件备份单元和所述确定的文件备份单元中所述文件单元索引包含的文件属性信息;其中,所述文件属性信息包括所述待备份文件的文件大小。
如前所述,存在目标文件备份单元对应的存储空间足够存储待备份文件的文件数据的情况,此时可以继续将未存储完的部分文件数据存储至下一文件备份单元对应的存储空间中。同时,不仅需要更新目标文件备份单元所记录的目录信息,还需要更新后续被覆盖的文件备份单元所记录的目录信息。
文件单元索引中包含的文件数据存储空间地址可以为相应文件存储的起始位置和结束位置。在更新文件备份单元时,需要更新上述下一文件备份单元记录的文件数据存储空间地址的起始位置,以及下一文件备份单元记录的文件单元索引中的文件大小。
当然,若下一文件备份单元依旧无法存储完剩余的文件数据,则按照文件备份单元ID的排列顺序,继续选择下一文件备份单元,直至待备份文件的文件数据存储完毕。
在一实施例中,所述方法还包括:响应于获取到的文件访问请求,确定所述文件访问请求中包含的所述待访问文件的目标文件单元索引;从所述NorFlash存储的所有文件单元索引中选择与所述目标文件单元索引匹配的文件单元索引,并将该文件单元索引所处的索引单元确定为待访问索引单元,将该文件单元索引所处的文件备份单元确定为待访问备份单元;对所述待访问索引单元的总索引和所述目标文件单元索引进行数据有效性校验;在所述待访问索引单元的总索引和所述目标文件单元索引均通过校验的情况下,读取所述待访问备份单元对应的存储空间中的文件数据。
如表1和表2所示,无论是总索引还是文件单元索引,均包含字段“DATA_CRC”,该字段包含CRC32校验码,CRC32校验码为根据前面一个或多个字段的字段值计算而出的。若前面一个或多个字段因单粒子翻转事件出现问题,则索引无法通过数据有效性校验。
在该实施例中,一方面,根据文件单元索引,快速定位待访问文件的存储位置;另一方面,通过在索引中记录CRC校验码,使得索引的数据有效性校验可以辨别该索引在写入时是否被单粒子翻转事件影响。
进一步的,所述方法还包括:在所述待访问索引单元的总索引未通过校验的情况下,根据回滚机制将所述待访问索引单元存储的目录信息回滚至上次更新之前;对回滚后的所述待访问索引单元的总索引进行二次校验,并在未通过校验的情况下,对所述待访问索引单元的总索引进行再次回滚,直至所述待访问索引单元的总索引通过校验。在该实施例中,通过回滚机制有效地将索引恢复至未受单粒子翻转事件影响之前。
与前述方法的实施例相对应,本发明还提供了电子设备以及装置的实施例。
图4是本发明实施例示出的一种电子设备的示意结构图。请参考图4,在硬件层面,该设备包括处理器401、网络接口402、内存403、非易失性存储器404以及内部总线405,当然还可能包括其他业务所需要的硬件。本发明一个或多个实施例可以基于软件方式来实现,比如由处理器401从非易失性存储器404中读取对应的计算机程序到内存403中然后运行。当然,除了软件实现方式之外,本发明一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
图5本发明实施例示出的一种针对ECC型NorFlash的文件备份装置的框图。请参考图5,该装置可以应用于如图5所示的设备中,应用于ECC型NorFlash,所述NorFlash存储有关键性文件数据以及所述关键性文件数据对应的目录,所述目录包括多个索引单元,每一索引单元包括一个索引管理单元和n个文件备份单元,所述文件备份单元记录的文件单元索引与所述NorFlash存储的关键性文件一一对应,所述索引管理单元记录有相应的索引单元的总索引和文件单元索引,所述n个文件备份单元被划分为m个备份单元组,以实现本发明所述的技术方案,该装置包括:
确定单元502,用于响应于获取到的文件备份请求,确定目标索引单元,并确定所述目标索引单元中的最新备份单元和最新备份组;其中,所述最新备份单元为最近一次完成备份的文件备份单元,所述最新备份组为所述最新备份单元所处的备份单元组,所述总索引包含所述最新备份单元和所述最新备份组的信息;
存储单元504,用于根据所述最新备份单元和最新备份组确定目标文件备份单元,并将所述文件备份请求中包含的待备份文件的文件数据存储至所述目标文件备份单元对应的存储空间;
第一备份单元506,用于将排在所述目标文件备份单元所处的备份单元组后的第一预设数量的备份单元组逐一确定为目标单元组,并对所述目标单元组执行下述处理:确定所述目标单元组中距离上次更新的时长最久的文件备份单元,并将所述待备份文件的文件数据备份至确定的文件备份单元对应的存储空间;
第一更新单元508,用于更新所述目标索引单元中的索引管理单元、所述目标文件备份单元以及所述确定的文件备份单元。
可选的,所述确定单元502具体用于:
将所述NorFlash中所有索引单元逐一确定为目标索引单元;其中,所述待备份文件的文件数据对应的目录信息被备份至每一索引单元中,所述待备份文件的文件数据被备份至每一索引单元对应的存储空间中。
可选的,所述方法还包括:
第二备份单元510,用于将所述目标文件备份单元后的第二预设数量的文件备份单元确定为待备份单元,并将所述待备份文件的文件数据分别备份至各个待备份单元对应的存储空间中;
第二更新单元512,用于更新所述目标索引单元中的索引管理单元和所述待备份单元。
可选的,所述索引管理单元记录有所述目标索引单元中每一备份单元组对应的最新备份单元信息;所述第一备份单元506具体用于:
根据所述索引管理单元记录的最新备份单元信息确定所述目标单元组中距离上次更新的时长最久的文件备份单元。
可选的,所述第一更新单元508具体用于:
根据所述待备份文件的文件数据所占用的存储空间更新所述目标索引单元的总索引中的所述最新备份单元和最新备份组的信息,以及更新所述目标文件备份单元和所述确定的文件备份单元中所述文件单元索引包含的文件属性信息;其中,所述文件属性信息包括所述待备份文件的文件大小。
可选的,所述方法还包括:
第三确定单元514,用于响应于获取到的文件访问请求,确定所述文件访问请求中包含的所述待访问文件的目标文件单元索引;
选取单元516,用于从所述NorFlash存储的所有文件单元索引中选择与所述目标文件单元索引匹配的文件单元索引,并将该文件单元索引所处的索引单元确定为待访问索引单元,将该文件单元索引所处的文件备份单元确定为待访问备份单元;
第一校验单元518,用于对所述待访问索引单元的总索引和所述目标文件单元索引进行数据有效性校验;
读取单元520,用于在所述待访问索引单元的总索引和所述目标文件单元索引均通过校验的情况下,读取所述待访问备份单元对应的存储空间中的文件数据。
可选的,所述方法还包括:
回滚单元522,用于在所述待访问索引单元的总索引未通过校验的情况下,根据回滚机制将所述待访问索引单元存储的目录信息回滚至上次更新之前;
第二校验单元524,用于对回滚后的所述待访问索引单元的总索引进行二次校验,并在未通过校验的情况下,对所述待访问索引单元的总索引进行再次回滚,直至所述待访问索引单元的总索引通过校验。
虽然本发明包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本发明内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种针对ECC型NorFlash的文件备份方法,其特征在于,应用于ECC型NorFlash,所述NorFlash存储有关键性文件数据以及所述关键性文件数据对应的目录,所述目录包括多个索引单元,每一索引单元包括一个索引管理单元和n个文件备份单元,所述文件备份单元记录的文件单元索引与所述NorFlash存储的关键性文件一一对应,所述索引管理单元记录有相应的索引单元的总索引和文件单元索引,所述n个文件备份单元被划分为m个备份单元组;所述方法包括:
响应于获取到的文件备份请求,确定目标索引单元,并确定所述目标索引单元中的最新备份单元和最新备份组;其中,所述最新备份单元为最近一次完成备份的文件备份单元,所述最新备份组为所述最新备份单元所处的备份单元组,所述总索引包含所述最新备份单元和所述最新备份组的信息;
根据所述最新备份单元和最新备份组确定目标文件备份单元,并将所述文件备份请求中包含的待备份文件的文件数据存储至所述目标文件备份单元对应的存储空间;
将排在所述目标文件备份单元所处的备份单元组后的第一预设数量的备份单元组逐一确定为目标单元组,并对所述目标单元组执行下述处理:确定所述目标单元组中距离上次更新的时长最久的文件备份单元,并将所述待备份文件的文件数据备份至确定的文件备份单元对应的存储空间;
更新所述目标索引单元中的索引管理单元、所述目标文件备份单元以及所述确定的文件备份单元。
2.根据权利要求1所述的方法,其特征在于,所述确定目标索引单元,包括:
将所述NorFlash中所有索引单元逐一确定为目标索引单元;其中,所述待备份文件的文件数据对应的目录信息被备份至每一索引单元中,所述待备份文件的文件数据被备份至每一索引单元对应的存储空间中。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述目标文件备份单元后的第二预设数量的文件备份单元确定为待备份单元,并将所述待备份文件的文件数据分别备份至各个待备份单元对应的存储空间中;
更新所述目标索引单元中的索引管理单元和所述待备份单元。
4.根据权利要求1所述的方法,其特征在于,所述索引管理单元记录有所述目标索引单元中每一备份单元组对应的最新备份单元信息;所述确定所述目标单元组中距离上次更新的时长最久的文件备份单元,包括:
根据所述索引管理单元记录的最新备份单元信息确定所述目标单元组中距离上次更新的时长最久的文件备份单元。
5.根据权利要求1所述的方法,其特征在于,所述更新所述目标索引单元中的索引管理单元、所述目标文件备份单元以及所述确定的文件备份单元,包括:
根据所述待备份文件的文件数据所占用的存储空间更新所述目标索引单元的总索引中的所述最新备份单元和最新备份组的信息,以及更新所述目标文件备份单元和所述确定的文件备份单元中所述文件单元索引包含的文件属性信息;其中,所述文件属性信息包括所述待备份文件的文件大小。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于获取到的文件访问请求,确定所述文件访问请求中包含的待访问文件的目标文件单元索引;
从所述NorFlash存储的所有文件单元索引中选择与所述目标文件单元索引匹配的文件单元索引,并将该文件单元索引所处的索引单元确定为待访问索引单元,将该文件单元索引所处的文件备份单元确定为待访问备份单元;
对所述待访问索引单元的总索引和所述目标文件单元索引进行数据有效性校验;
在所述待访问索引单元的总索引和所述目标文件单元索引均通过校验的情况下,读取所述待访问备份单元对应的存储空间中的文件数据。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述待访问索引单元的总索引未通过校验的情况下,根据回滚机制将所述待访问索引单元存储的目录信息回滚至上次更新之前;
对回滚后的所述待访问索引单元的总索引进行二次校验,并在未通过校验的情况下,对所述待访问索引单元的总索引进行再次回滚,直至所述待访问索引单元的总索引通过校验。
8.一种针对ECC型NorFlash的文件备份装置,其特征在于,应用于ECC型NorFlash,所述NorFlash存储有关键性文件数据以及所述关键性文件数据对应的目录,所述目录包括多个索引单元,每一索引单元包括一个索引管理单元和n个文件备份单元,所述文件备份单元记录的文件单元索引与所述NorFlash存储的关键性文件一一对应,所述索引管理单元记录有相应的索引单元的总索引和文件单元索引,所述n个文件备份单元被划分为m个备份单元组;所述装置包括:
确定单元,用于响应于获取到的文件备份请求,确定目标索引单元,并确定所述目标索引单元中的最新备份单元和最新备份组;其中,所述最新备份单元为最近一次完成备份的文件备份单元,所述最新备份组为所述最新备份单元所处的备份单元组,所述总索引包含所述最新备份单元和所述最新备份组的信息;
存储单元,用于根据所述最新备份单元和最新备份组确定目标文件备份单元,并将所述文件备份请求中包含的待备份文件的文件数据存储至所述目标文件备份单元对应的存储空间;
第一备份单元,用于将排在所述目标文件备份单元所处的备份单元组后的第一预设数量的备份单元组逐一确定为目标单元组,并对所述目标单元组执行下述处理:确定所述目标单元组中距离上次更新的时长最久的文件备份单元,并将所述待备份文件的文件数据备份至确定的文件备份单元对应的存储空间;
第一更新单元,用于更新所述目标索引单元中的索引管理单元、所述目标文件备份单元以及所述确定的文件备份单元。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至7中任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410069799.3A CN117591344B (zh) | 2024-01-18 | 2024-01-18 | 一种针对ECC型NorFlash的文件备份方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410069799.3A CN117591344B (zh) | 2024-01-18 | 2024-01-18 | 一种针对ECC型NorFlash的文件备份方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117591344A CN117591344A (zh) | 2024-02-23 |
CN117591344B true CN117591344B (zh) | 2024-05-07 |
Family
ID=89918622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410069799.3A Active CN117591344B (zh) | 2024-01-18 | 2024-01-18 | 一种针对ECC型NorFlash的文件备份方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117591344B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9459969B1 (en) * | 2012-09-28 | 2016-10-04 | Emc Corporation | Method and system for enhanced backup database indexing |
CN109558335A (zh) * | 2018-10-17 | 2019-04-02 | 上海移芯通信科技有限公司 | 一种基于Nor Flash存储器的嵌入式系统的文件存储格式 |
CN112286728A (zh) * | 2020-10-30 | 2021-01-29 | 深圳前海微众银行股份有限公司 | 数据备份方法、装置、设备及计算机存储介质 |
CN114661527A (zh) * | 2022-05-23 | 2022-06-24 | 武汉四通信息服务有限公司 | 数据备份方法、装置、电子设备及存储介质 |
CN114780298A (zh) * | 2022-06-16 | 2022-07-22 | 深圳市慧为智能科技股份有限公司 | 文件数据处理方法、装置、计算机终端及存储介质 |
-
2024
- 2024-01-18 CN CN202410069799.3A patent/CN117591344B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9459969B1 (en) * | 2012-09-28 | 2016-10-04 | Emc Corporation | Method and system for enhanced backup database indexing |
CN109558335A (zh) * | 2018-10-17 | 2019-04-02 | 上海移芯通信科技有限公司 | 一种基于Nor Flash存储器的嵌入式系统的文件存储格式 |
CN112286728A (zh) * | 2020-10-30 | 2021-01-29 | 深圳前海微众银行股份有限公司 | 数据备份方法、装置、设备及计算机存储介质 |
CN114661527A (zh) * | 2022-05-23 | 2022-06-24 | 武汉四通信息服务有限公司 | 数据备份方法、装置、电子设备及存储介质 |
CN114780298A (zh) * | 2022-06-16 | 2022-07-22 | 深圳市慧为智能科技股份有限公司 | 文件数据处理方法、装置、计算机终端及存储介质 |
Non-Patent Citations (2)
Title |
---|
Efficient index lookup for de-duplication backup system;Youjip Wondeng 等;《2008 IEEE International Symposium on Modeling, Analysis & Simulation of Computers & Telecommunication Systems》;20081231;全文 * |
YAFFS2在嵌入式系统中的实现;韦峰;卢再奇;刘伟;;现代电子技术;20100415(08);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117591344A (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111104244B (zh) | 用于在存储阵列组中重建数据的方法和设备 | |
US10936441B2 (en) | Write-ahead style logging in a persistent memory device | |
CN111078662B (zh) | 一种区块链数据存储方法与装置 | |
US6298425B1 (en) | Computer disk management system using doublet A-B logging | |
US10481988B2 (en) | System and method for consistency verification of replicated data in a recovery system | |
US20120017060A1 (en) | Deduplication of data stored in a copy volume | |
US9665587B2 (en) | Selective fragmentation repair | |
US8918606B1 (en) | Techniques for providing incremental backups | |
EP2756405A1 (en) | Nonvolatile media dirty region tracking | |
EP2590078A2 (en) | Shadow paging based log segment directory | |
CN107765994B (zh) | 在智能存储器装置内部执行数据擦除的方法 | |
US8862858B1 (en) | Method and system for fast block storage recovery | |
US20190188097A1 (en) | Mirrored write ahead logs for data storage system | |
WO2015183316A1 (en) | Partially sorted log archive | |
KR20170054767A (ko) | 데이터베이스 관리 시스템 및 그의 데이터 변경 및 복구 방법 | |
CN111666046B (zh) | 一种数据存储方法、装置及设备 | |
US9594753B1 (en) | Fragmentation repair of synthetic backups | |
US9483494B1 (en) | Opportunistic fragmentation repair | |
CN113821382B (zh) | 一种实时数据库数据处理方法、系统和设备 | |
CN117591344B (zh) | 一种针对ECC型NorFlash的文件备份方法及装置 | |
US8473464B2 (en) | Method and device for data recovery using bit logging | |
KR20150094292A (ko) | 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치 | |
US20220374310A1 (en) | Write request completion notification in response to partial hardening of write data | |
US10719379B2 (en) | Fault isolation in transaction logs | |
JPS62245348A (ja) | データベース更新方法 |
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 |