CN117331486A - 后备存储设备、元数据管理方法、装置、存储介质 - Google Patents
后备存储设备、元数据管理方法、装置、存储介质 Download PDFInfo
- Publication number
- CN117331486A CN117331486A CN202210736558.0A CN202210736558A CN117331486A CN 117331486 A CN117331486 A CN 117331486A CN 202210736558 A CN202210736558 A CN 202210736558A CN 117331486 A CN117331486 A CN 117331486A
- Authority
- CN
- China
- Prior art keywords
- log
- metadata
- sub
- target
- area
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 claims description 24
- 238000011084 recovery Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 230000001172 regenerating effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 238000009825 accumulation Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
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)
- Management Or Editing Of Information On Record Carriers (AREA)
Abstract
本申请公开了一种后备存储设备、元数据管理方法、装置、存储介质,设备包括:内容数据区和元数据区;内容数据区存储文件内容数据和第一概要信息;元数据区中的子区域包括超级块和子日志区,子日志区存储第一日志和第二日志,第一日志携带与文件内容数据对应的元数据消息,元数据消息携带元数据,第二日志携带有针对所述元数据的更新消息。本申请提供了用于存储携带元数据消息的第一日志以及携带针对元数据的更新消息的第二日志的子日志区,基于此,与元数据相关的数据能够以日志的形式顺序写入子日志区,相较于需要多次寻址随机写入后备存储设备中不同类型的元数据区的方案,能够提高对后备存储设备的写入性能,从而提升后备存储设备的使用寿命。
Description
技术领域
本申请涉及但不限于存储技术领域,尤其涉及一种后备存储设备、元数据管理方法、装置、存储介质。
背景技术
后备存储设备是指具备持久化存储特性,在掉电后仍能持续保存数据的存储设备。目前,应用于后备存储设备的文件***种类众多,从而导致后备存储设备的存储空间管理布局方式多种多样。相关技术中的后备存储设备中,用于存储待操作数据(例如元数据)的存储空间布局分散且固化,例如***扩展文件***(Fourth extended filesystem,EXT4),在后备存储设备中根据元数据的不同类型划分不同的元数据区域,当元数据需要更新时,需要先判断元数据的类型信息,并通过类型信息寻址确定目标元数据区域,将变更后的元数据随机写入目标元数据区域,对于更新频繁的元数据类型,将会导致对后备存储设备进行频繁的随机写入操作,从而降低文件***对后备存储设备的写入性能,影响后备存储设备的使用寿命。
发明内容
本申请实施例提供了一种后备存储设备、元数据管理方法、装置、存储介质,能够有效提高元数据操作对后备存储设备的写入性能,提升后备存储设备的使用寿命。
第一方面,本申请实施例提供了一种后备存储设备,包括:
内容数据区,所述内容数据区包括多个数据段,各个所述数据段用于存储文件内容数据和与所述数据段对应的第一概要信息;
元数据区,所述元数据区包括多个子区域,各个所述子区域包括超级块和子日志区,其中,所述超级块用于存储与所述后备存储设备对应的第二概要信息,所述子日志区用于存储第一日志和第二日志,所述第一日志携带有与所述文件内容数据对应的元数据消息,所述元数据消息携带有元数据,所述第二日志携带有针对所述元数据的更新消息。
第二方面,本申请实施例提供了一种元数据管理方法,该方法包括:
当获取到操作指令,根据所述操作指令生成元数据更新信息,根据所述元数据更新信息对待处理元数据进行更新处理,得到待存储元数据,其中,所述待处理元数据为存储于内存中的元数据;
生成更新消息,所述更新消息携带有所述元数据更新信息;
当满足第一预设条件,生成第一日志,并将所述第一日志保存至子日志区,其中,所述子日志区归属于第一方面实施例所述的后备存储设备,所述第一日志携带有所述元数据消息,所述元数据消息由所述待存储元数据生成;
当满足第二预设条件,生成第二日志,并将所述第二日志保存至所述子日志区,其中,所述第二日志携带有所述更新消息。
第三方面,本申请实施例提供了一种元数据管理装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第二方面所述的元数据管理方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如第二方面所述的元数据管理方法。
本申请实施例提供了一种后备存储设备、元数据管理方法、装置、存储介质,其中,后备存储设备包括:内容数据区,所述内容数据区包括多个数据段,各个所述数据段用于存储文件内容数据和与所述数据段对应的第一概要信息;元数据区,所述元数据区包括多个子区域,各个所述子区域包括超级块和子日志区,其中,所述超级块用于存储与所述后备存储设备对应的第二概要信息,所述子日志区用于存储第一日志和第二日志,所述第一日志携带有与所述文件内容数据对应的元数据消息,所述元数据消息携带有元数据,所述第二日志携带有针对所述元数据的更新消息。本申请实施例提供的后备存储设备包括元数据区和内容数据区,即将元数据与文件内容数据的存储完全解耦,并且提供了用于存储携带有元数据消息的第一日志以及携带有针对元数据的更新消息的第二日志的子日志区,基于此,本申请实施例中与元数据相关的数据可以以消息日志的形式顺序写入,相较于相关技术中根据元数据的不同类型划分不同的元数据区的后备存储设备,元数据需要多次寻址的随机写入目标的元数据区的技术方案,本申请能够有效提高元数据操作对后备存储设备的写入性能,从而有效提升后备存储设备的使用寿命。
附图说明
图1是本申请一个实施例提供的后备存储设备的示意图;
图2是本申请一个实施例提供的元数据管理方法的步骤流程图;
图3是本申请另一个实施例提供的将第一日志保存至子日志区的步骤流程图;
图4是本申请另一个实施例提供的将第一日志保存至子日志区的步骤流程图;
图5是本申请另一个实施例提供的将第二日志保存至子日志区的步骤流程图;
图6是本申请另一个实施例提供的获取新的目标元数据的步骤流程图;
图7是本申请另一个实施例提供的获取新的目标元数据的步骤流程图;
图8是本申请另一个实施例提供的元数据管理方法的步骤流程图;
图9是本申请另一个实施例提供的元数据管理装置的结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
可以理解的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书、权利要求书或上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请提供了一种后备存储设备、元数据管理方法、装置、存储介质,其中,后备存储设备包括:内容数据区,所述内容数据区包括多个数据段,各个所述数据段用于存储文件内容数据和与所述数据段对应的第一概要信息;元数据区,所述元数据区包括多个子区域,各个所述子区域包括超级块和子日志区,其中,所述超级块用于存储与所述后备存储设备对应的第二概要信息,所述子日志区用于存储第一日志和第二日志,所述第一日志携带有与所述文件内容数据对应的元数据消息,所述元数据消息携带有元数据,所述第二日志携带有针对所述元数据的更新消息。本申请实施例提供的后备存储设备包括元数据区和内容数据区,即将元数据与文件内容数据的存储完全解耦,并且提供了用于存储携带有元数据消息的第一日志以及携带有针对元数据的更新消息的第二日志的子日志区,基于此,本申请实施例中与元数据相关的数据可以以消息日志的形式顺序写入,相较于相关技术中根据元数据的不同类型划分不同的元数据区的后备存储设备,元数据需要多次寻址的随机写入目标的元数据区的技术方案,本申请能够有效提高元数据操作对后备存储设备的写入性能,从而有效提升后备存储设备的使用寿命。
下面结合附图,对本申请实施例作进一步阐述。
如图1所示,图1是本申请一个实施例提供的后备存储设备的示意图,本申请实施例的后备存储设备包括:
内容数据区,内容数据区包括多个数据段,各个数据段用于存储文件内容数据和与数据段对应的第一概要信息;
元数据区,元数据区包括多个子区域,各个子区域包括超级块和子日志区,其中,超级块用于存储与后备存储设备对应的第二概要信息,子日志区用于存储第一日志和第二日志,第一日志携带有与文件内容数据对应的元数据消息,元数据消息携带有元数据,第二日志携带有针对元数据的更新消息。
其中,第一概要信息至少包括:
与文件内容数据对应的目标文件的索引号;
文件内容数据在目标文件中的偏移量;
数据段的校验值。
为了更清楚地描述本申请实施例提供的后备存储设备,下面对后备存储设备中元数据区和内容数据区的具体结构以及格式化操作进行具体说明:
可以理解的是,本申请实施例首先将后备存储设备的逻辑空间按块(b lock)进行逻辑编号,其中,块是一个特定长度的字节序列,用于保存在内核和后备存储设备之间传输的数据;然后按逻辑顺序将后备存储设备划分为两个区域,即元数据区和内容数据区。
元数据区的内部分为大小相等的N个子区域(N的值根据文件***的需求来设置,本申请实施例在此不多做限制),按照从前到后的逻辑顺序,此处以Meta0、Meta1...MetaN-1来命名各个子区域;选取一个子区域(此处选取meta0),将它的前K个(或则后K个)逻辑块用来存储超级块,超级块用于存储与后备存储设备对应的第二概要信息,第二概要信息可以包括后备存储设备的已用空间、数据块可用空间、索引节点信息等文件***全局信息;子区域中的超级块可以是后备存储设备的默认超级块,或者,是默认超级块的备份超级块,用于避免超级块出现错误,导致整个文件***无法正常运行的风险;各个子区域中,除超级块或备份超级块以外的剩余空间为子日志区,所有的子区域的子日志区组成后备存储设备的日志区;子日志区用来存储第一日志和第二日志,第一日志携带有与文件内容数据对应的元数据消息,元数据消息携带有元数据,第二日志携带有针对元数据的更新消息,各个子区域的子日志区以log0...logN-1来对应命名。
可以理解的是,子日志区中存储的第二日志中携带的更新消息是在排序于第二日志之前的第一日志中所携带的元数据消息的元数据的基础上,陆续生成的更新消息,可以是针对第一日志对应的元数据的更新消息,还可以是内存中该第一日志对应的元数据经过更新处理得到新的元数据之后,针对该新的元数据的更新消息。
内容数据区为后备存储设备中元数据区之外的逻辑空间,内容数据区由大小相等结构相同的数据段(Segment)组成,本申请实施例并不限制内容数据区中数据段的具体数量;每个数据段都包含了大量的块,一个数据段中大部分的块用来存储文件内容数据(Data),剩余的块用来记录该数据段的第一概要信息(Summary),其中,第一概要信息主要包含各个块中的文件内容数据所归属的目标文件的索引号(ino)、文件内容数据在目标文件中的偏移量(ofs),以及整个数据段的crc校验值。
可以理解的是,基于本申请实施例提供的后备存储设备,能够将内存中满足条件的待存储元数据(对应第一日志),以及文件***操作记录,即元数据对应的更新消息(对应第二日志),顺序存储至同一个结构,即保存到后备存储设备的子区域的子日志区中,本申请实施例并不限制子日志区所存储的第一日志中的元数据的具体类型,即所有类型的元数据对应的第一日志都能存储于子日志区;本申请实施例提供的后备存储设备在更新元数据的同时记录了文件***的日志,结构简单高效,并方便在异常情况下保持数据的一致性,相较于相关技术中,需要多次寻址随机写入后备存储设备中不同类型的元数据区的方案,本申请能够有效提高元数据操作对后备存储设备的写入性能,从而有效提升后备存储设备的使用寿命。
本申请实施例并不限制后备存储设备的具体结构,后备存储设备可以是磁盘、固态硬盘(Solid State Disk,SSD)或者是嵌入式多媒体卡(Embedded Multi Media Card,eMMC)。
另外,图1所示的后备存储设备对应的格式化方法可以是包括如下步骤:清空整个元数据区;将超级块的初始化数据按对应数据结构写入子区域meta0的头部。
如图2所示,图2是本申请一个实施例提供的元数据管理方法的步骤流程图,该方法包括但不限于有以下步骤:
步骤S210,当获取到操作指令,根据操作指令生成元数据更新信息,根据元数据更新信息对待处理元数据进行更新处理,得到待存储元数据,其中,待处理元数据为存储于内存中的元数据;
步骤S220,生成更新消息,更新消息与元数据更新信息相对应;
可以理解的是,元数据是当前文件***对所管理资源的描述信息,对文件***的自我维护和管理具有重要作用,在文件***运行期间,将全盘的元数据持续驻留于内存中,直到文件***被卸载,待处理元数据是对文件***执行新的操作指令之前,存储于内存的元数据,可以是从后备存储设备中最新恢复到内存的元数据。
本申请实施例中的操作指令可以是在文件***运行期间,涉及到的文件创建、文件删除、文件修改等操作指令,当获取到一个新的操作指令,根据该操作指令生成元数据更新信息,内存中存储的待处理元数据会根据元数据更新信息进行更新,得到待存储元数据;并生成与元数据更新信息相对应的更新消息,更新消息生成后生成后会在内存中蓄流。
本申请实施例并不限制元数据更新信息的具体内容,可以包括针对待处理元数据中需要变更的局部信息。
步骤S230,当满足第一预设条件,生成第一日志,并将第一日志保存至子日志区,其中,该子日志区归属于图1所示实施例的后备存储设备,第一日志携带有元数据消息,元数据消息由待存储元数据生成。
步骤S240,当满足第二预设条件,生成第二日志,并将第二日志保存至子日志区,其中,第二日志携带有更新消息。
可以理解的是,基于图1所示实施例提供的后备存储设备,在文件***操作频繁的情况下,即内存中的待处理元数据在一个时间段内频繁根据新的操作指令中携带的元数据更新信息进行更新,得到待存储元数据,并且生成与元数据更新信息相对应的更新消息蓄流于内存中;当满足第一预设条件,需要将待存储元数据以消息日志的形式保存至后备存储设备,即生成携带有待存储元数据消息的第一日志并保存至后备存储设备的子日志区;当满足第二预设条件,将当前内存中蓄流的更新消息以消息日志的形式保存至后备存储设备,即生成携带有更新消息的第二日志并保存至后备存储设备的子日志区;基于图1所示实施例的后备存储设备,以及消息日志的特性,第一日志可以在第一预设条件的限制下,第二日志可以在第二预设条件的限制下顺序写入子日志区,相较于相关技术中需要多次寻址随机写入后备存储设备中不同类型的元数据区的方案,本实施例能够有效提高后备存储设备的写入性能,从而提高后被存储设备的使用寿命,当后备存储设备为SSD,还能够减小写放大系数。
另外,本申请实施例为第一日志以及第二日志分别设置一个预设条件,即第一预设条件和第二预设条件,使得第一日志保存至子日志区的存储时机受限于第一预设条件,第二日志保存至子日志区的存储时机受限于第二预设条件,对于更新频繁的元数据,例如与文件内容数据相关的元数据,能够有效减少在一个时间段内对后备存储设备的写入次数。
另外,本申请实施例并不限制内存中的待存储元数据生成第一日志的具体方式,可以是先将待存储元数据进行数据压缩处理,生成元数据消息,再根据元数据消息生成第一日志,能够减小第一日志在后备存储设备中的存储数据量,能够压缩后备存储设备的存储空间占用。
本申请实施例并不限制第二日志中携带的更新消息的具体形式,本申请实施例中的第二日志的内容可以是一条更新消息,也可以是多条更新消息的组合,也可以是经过数据压缩处理后的一条或多条更新消息的组合,在此不多做限制。
另外,参照图3,图2所示实施例中的步骤S240还包括但不限于有以下步骤:
步骤S310,当子日志区中未存储过第一日志,获取第一数量,当第一数量大于或等于预设的第一数量阈值,生成携带有元数据消息的第一日志,将第一日志保存至子日志区,其中,第一数量为子日志区中存储的全部的第二日志中携带的更新消息的数量与内存当前存储的更新消息的数量之和;
或者,
步骤S320,当子日志区中存储过第一日志,获取第二数量,当第二数量大于或等于第一数量阈值,生成携带有待存储元数据的第一日志,将第一日志保存至子日志区,其中,第二数量为前一次第一日志保存至子日志区之后内存中生成更新消息的数量。
可以理解的是,当子日志区中未存储过第一日志,判断内存中到当前时刻为止生成更新消息的数量,即第一数量,当第一数量大于或等于预设的第一数量阈值,根据当前内存中的待存储元数据生成元数据消息,将携带有元数据消息的第一日志保存至子日志区;当子日志区中存储过第一日志,在前一次将内存中的携带有元数据消息的第一日志保存至子日志区之后,判断当前内存中到当前时刻为止,生成更新消息的数量,即第二数量,当第二数量大于或等于预设的第一数量阈值,根据当前内存中的待存储元数据生成元数据消息,将携带有该元数据消息的第一日志保存至子日志区。
另外,参照图4,图2所示实施例中的步骤S240还包括但不限于有以下步骤:
步骤S410,从多个子区域中确定目标子区域,目标子区域包括目标子日志区;
步骤S420,当目标子日志区的剩余存储容量小于待存储日志的大小,重新从多个子区域中确定新的目标子区域;
步骤S430,重新生成新的第一日志,并将新的第一日志保存至新的目标子日志区,新的子日志区归属于新的目标子区域。
可以理解的是,内存中的元数据以及元数据对应的更新消息在满足各自的预设条件的情况下会陆续保存到确定的目标子日志区中,当检测到目标子日志区的剩余存储容量小于待存储日志的大小,即当前正在存储日志数据的目标子日志区已满,需要重新在元数据区中剩余的多个子区域中确定新的目标子区域,重新根据内存中当前的待存储元数据生成新的元数据消息,将携带有新的元数据消息的新的第一日志保存至新的目标子区域对应的新的目标子日志区。
另外,参照图,在一实施例中,图2所示实施例中的步骤S250还包括但不限于有以下步骤:
步骤S510,获取第三数量,当第三数量大于或等于预设的第二数量阈值,生成携带有更新消息的第二日志,并将第二日志保存至子日志区,其中,第三数量为内存当前保存的更新消息的数量;
或者,
步骤S520,当第一参考时长超过预设周期,生成携带有更新消息的第二日志,并将第二日志保存至子日志区,其中,第一参考时长为内存中保存更新消息的存储时长。
可以理解的是,本实施例中,将与更新消息对应的第二日志保存至子日志区的时机可以受限于以下条件:判断内存中每一次蓄流更新消息的数量,即第三数量,当第三数量大于或等于预设的第二数量阈值,表示本次蓄流的更新消息的数量达到数量上限,根据当前内存中存储的更新消息生成第二日志,并将第二日志保存至子日志区;或者,对内存开始重新蓄流更新消息的过程进行计时,得到第一参考时长,若第一参考时长超过预设周期,表示本次蓄流到达了时间上限,就结束本次蓄流,根据本次蓄流的全部更新消息生成第二日志,并将第二日志保存至子日志区,之后,再重新开始下一次更新消息的蓄流。
另外,参照图6,在执行图2所示实施例中的步骤S250之后,本申请实施例提供的元数据管理方法还包括但不限于有以下步骤:
步骤S610,当获取到数据恢复请求,根据数据恢复请求从子日志区中获取目标第一日志和目标第二日志,其中,目标第一日志为子日志区中保存时间最短的第一日志,目标第二日志为子日志区中排序于目标第一日志之后的全部的第二日志;
步骤S620,根据目标第一日志得到目标元数据;
步骤S630,根据目标第二日志得到目标更新消息;
步骤S640,根据目标更新消息对目标元数据进行更新处理,得到新的目标元数据。
可以理解的是,参照上述实施例的描述,通过将内存中的携带有元数据消息对应的第一日志和携带有更新消息第二日志保存至后备存储设备的子日志区,实现内存与后备存储设备的数据同步,在获取到数据恢复请求的情况下,可以是文件***在卸载后,重新挂载的情况下,需要从后备存储设备的子日志区中获取目标第一日志和目标第二日志,目标第一日志为子日志区中保存时间最短的第一日志,目标第二日志为子日志区中排序位于目标第一日志之后的全部的第二日志;根据目标第一日志得到目标元数据,可以是通过解析目标第一日志得到目标元数据消息,进一步解析目标元数据消息得到目标元数据,根据目标第二日志得到目标更新消息,通过解析目标更新消息得到针对目标元数据的内容更新信息,对目标元数据进行更新处理,得到新的目标元数据;以实现将后备存储设备中保存的最新的元数据反同步到内存,从而保证文件***挂载后,内存中持续保存着最新的元数据。
另外,在获取到数据恢复请求的情况下,后备存储设备中的子日志区可能为空,此时内存中的目标元数据为空,直接基于空的目标元数据进行上述实施例所述的生成更新消息等操作;或者是格式化后备存储设备之后,使用后备存储设备的时间较短,子日志区中未存储有第一日志,仅存储有第二日志,此时,将子日志区中的第二日志恢复至内存,解析第二日志得到更新消息,根据各个更新消息中携带的元数据更新信息进行元数据的重建,生成目标元数据,之后,基于该重建后的目标元数据进行上述实施例所述的生成更新消息等操作。
另外,参照图7,在一实施例中,目标更新消息的数量为多个,各个目标更新消息包括消息序号、消息类型和元数据更新信息,消息序号随着生成目标更新消息的先后顺序而改变,图6所示实施例中的步骤S640还包括但不限于有以下步骤:
步骤S710,按照消息序号的先后顺序,根据各个目标更新消息中的消息类型和元数据更新信息对目标元数据进行更新处理,得到新的目标元数据。
本申请实施例中,目标更新消息包括消息序号、消息类型和元数据更新信息,消息序号随着生成目标更新消息的先后顺序而改变,在目标更新消息的数量为多个的情况下,按照消息序号的先后顺序,在内存中依次根据各个目标更新消息的消息类型和元数据更新信息对目标元数据进行更新处理,得到新的目标元数据,从而实现后备存储设备的元数据反同步于内存。
另外,为了对本申请提供的元数据管理方法进行更详细的说明,以下以一个具体示例对本发明的技术方案进行描述。
本申请实施例中的示例一的元数据管理方法是基于图1所示的具有逻辑存储空间结构的后备存储设备执行;示例一,参考图9,图9是本申请另一个实施例提供的元数据管理方法的步骤流程图,该元数据管理方法包括但不限于有以下步骤:
步骤S810,从后备存储设备中恢复待处理元数据至内存;
步骤S820,当接收到操作指令,即文件***进行基本操作的情况下,根据操作指令生成的元数据更新信息对待处理元数据进行更新处理,得到待存储元数据,待处理元数据为存储于内存的元数据;
步骤S830,生成与元数据更新信息对应的更新消息,对生成的更新消息进行蓄流,并对蓄流操作进行计时,以及记录蓄流过程中更新消息的数量,并且实时记录内存中生成更新消息的数量;
步骤S840,当单次蓄流的更新消息的数量达到数量上限,或者单次蓄流的时长达到时间上限,将本次蓄流中内存的全部的更新消息进行压缩得到第二日志,保存到后备存储设备的子日志区;
步骤S850,在前一次将携带有元数据消息的第一日志保存到后备存储设备的子日志区之后,检测到内存到当前时刻为止所生成的更新消息的数量超过数量阈值,或者,在第一次将第一日志保存至后备存储设备之前,检测到内存到当前时刻为止所生成的更新消息的数量超过数量阈值,或者检测到后备存储设备当前正在存储数据的子日志区已满,需要切换到新的子日志区的时候,重新根据内存中驻留的最新的待存储元数据生成新的元数据消息,将携带有新的新的元数据消息的新的第一日志保存至新的子日志区;
步骤S860,当获取到数据恢复请求,从后备存储设备的子日志区中获取目标第一日志和目标第二日志,解析目标第一日志得到目标元数据,解析目标第二日志得到目标更新消息,其中,目标更新消息与目标元数据相对应;
步骤S870,根据目标元数据和目标更新消息得到与后备存储设备同步的新的目标元数据。
另外,参考图9,本申请的一个实施例还提供了一种元数据管理装置900,该元数据管理装置900包括:存储器910、处理器920及存储在存储器910上并可在处理器920上运行的计算机程序。
处理器920和存储器910可以通过总线或者其他方式连接。
实现上述实施例的元数据管理方法所需的非暂态软件程序以及指令存储在存储器910中,当被处理器920执行时,执行上述实施例中的元数据管理方法,例如,执行以上描述的图2中的方法步骤S210至步骤S250、图3中的方法步骤S310至步骤S320、图4中的方法步骤S410至步骤S430、图5中的方法步骤S510至步骤S520、图6中的方法步骤S610至步骤S640、图7中的方法步骤S710。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
此外,本申请的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器920或控制器执行,例如,被上述元数据管理装置900实施例中的一个处理器920执行,可使得上述处理器1020执行上述实施例中的元数据管理方法,例如,执行以上描述的图2中的方法步骤S210至步骤S250、图3中的方法步骤S310至步骤S320、图4中的方法步骤S410至步骤S430、图5中的方法步骤S510至步骤S520、图6中的方法步骤S610至步骤S640、图7中的方法步骤S710。本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (10)
1.一种后备存储设备,包括:
内容数据区,所述内容数据区包括多个数据段,各个所述数据段用于存储文件内容数据和与所述数据段对应的第一概要信息;
元数据区,所述元数据区包括多个子区域,各个所述子区域包括超级块和子日志区,其中,所述超级块用于存储与所述后备存储设备对应的第二概要信息,所述子日志区用于存储第一日志和第二日志,所述第一日志携带有与所述文件内容数据对应的元数据消息,所述元数据消息携带有元数据,所述第二日志携带有针对所述元数据的更新消息。
2.根据权利要求1所述的后备存储设备,其特征在于,所述第一概要信息至少包括:
与所述文件内容数据对应的目标文件的索引号;
所述文件内容数据在所述目标文件中的偏移量;
所述数据段的校验值。
3.一种元数据管理方法,包括:
当获取到操作指令,根据所述操作指令生成元数据更新信息,根据所述元数据更新信息对待处理元数据进行更新处理,得到待存储元数据,其中,所述待处理元数据为存储于内存中的元数据;
生成更新消息,所述更新消息携带有所述元数据更新信息;
当满足第一预设条件,生成第一日志,并将所述第一日志保存至子日志区,其中,所述子日志区归属于如权利要求1至2任意一项所述的后备存储设备,所述第一日志携带有所述元数据消息,所述元数据消息由所述待存储元数据生成;
当满足第二预设条件,生成第二日志,并将所述第二日志保存至所述子日志区,其中,所述第二日志携带有所述更新消息。
4.根据权利要求3所述的方法,其特征在于,当满足第一预设条件,生成所述第一日志,并将所述第一日志保存至子日志区,包括:
当所述子日志区中未存储过所述第一日志,获取第一数量,当所述第一数量大于或等于预设的第一数量阈值,生成携带有所述元数据消息的第一日志,将所述第一日志保存至所述子日志区,其中,所述第一数量为所述子日志区中存储的全部的所述第二日志中携带的所述更新消息的数量与所述内存当前存储的所述更新消息的数量之和;
或者,
当所述子日志区中存储过所述第一日志,获取第二数量,当所述第二数量大于或等于所述第一数量阈值,生成携带有所述元数据消息的所述第一日志,将所述第一日志保存至所述子日志区,其中,所述第二数量为前一次所述第一日志保存至所述子日志区之后所述内存中生成所述更新消息的数量。
5.根据权利要求3所述的方法,其特征在于,所述将所述第一日志保存至子日志区,包括:
从多个子区域中确定目标子区域,所述目标子区域包括目标子日志区;
当所述目标子日志区的剩余存储容量小于待存储日志的大小,重新从多个所述子区域中确定新的目标子区域,其中,所述待存储日志为所述第一日志或所述第二日志;
重新生成新的第一日志,并将新的第一日志保存至新的目标子日志区,所述新的子日志区归属于所述新的目标子区域。
6.根据权利要求3所述的方法,其特征在于,所述当满足第二预设条件,生成第二日志,并将所述第二日志保存至所述后备存储设备中的所述子日志区,包括:
获取第三数量,当所述第三数量大于或等于预设的第二数量阈值,生成携带有所述更新消息的所述第二日志,并将所述第二日志保存至所述子日志区,其中,所述第三数量为所述内存当前保存的所述更新消息的数量;
或者,
当第一参考时长超过预设周期,生成携带有所述更新消息的所述第二日志,并将所述第二日志保存至所述子日志区,其中,所述第一参考时长为所述内存中保存所述更新消息的存储时长。
7.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当获取到数据恢复请求,根据所述数据恢复请求从所述子日志区中获取目标第一日志和目标第二日志,其中,所述目标第一日志为所述子日志区中保存时间最短的第一日志,所述目标第二日志为所述子日志区中排序于所述目标第一日志之后的全部的第二日志;
根据所述目标第一日志得到目标元数据;
根据所述目标第二日志得到目标更新消息;
根据所述目标更新消息对所述目标元数据进行更新处理,得到新的目标元数据。
8.根据权利要求7所述的方法,其特征在于,所述目标更新消息的数量为多个,各个所述目标更新消息包括消息序号、消息类型和所述元数据更新信息,所述消息序号随着生成所述目标更新消息的先后顺序而改变,所述根据所述目标更新消息对所述目标元数据进行更新处理,得到新的目标元数据,包括:
按照所述消息序号的先后顺序,根据各个所述目标更新消息的所述消息类型和所述元数据更新信息对所述目标元数据进行更新处理,得到所述新的目标元数据。
9.一种元数据管理装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求3至8中任意一项所述的元数据管理方法。
10.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如权利要求3至8中任意一项所述的元数据管理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210736558.0A CN117331486A (zh) | 2022-06-27 | 2022-06-27 | 后备存储设备、元数据管理方法、装置、存储介质 |
PCT/CN2023/097196 WO2024001643A1 (zh) | 2022-06-27 | 2023-05-30 | 后备存储设备、元数据管理方法、装置、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210736558.0A CN117331486A (zh) | 2022-06-27 | 2022-06-27 | 后备存储设备、元数据管理方法、装置、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117331486A true CN117331486A (zh) | 2024-01-02 |
Family
ID=89281697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210736558.0A Pending CN117331486A (zh) | 2022-06-27 | 2022-06-27 | 后备存储设备、元数据管理方法、装置、存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117331486A (zh) |
WO (1) | WO2024001643A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5832515A (en) * | 1996-09-12 | 1998-11-03 | Veritas Software | Log device layered transparently within a filesystem paradigm |
KR101114125B1 (ko) * | 2009-04-17 | 2012-02-20 | 고려대학교 산학협력단 | 낸드 플래시 파일 시스템 및 그의 초기화 및 크래시 복구 방법 |
US10324804B1 (en) * | 2015-09-30 | 2019-06-18 | EMC IP Holding Company LLC | Incremental backup with eventual name space consistency |
KR102262409B1 (ko) * | 2018-11-22 | 2021-06-08 | 서강대학교 산학협력단 | 비휘발성 메모리 기반 파일 시스템 및 이를 이용한 데이터 갱신 방법 |
CN111176896A (zh) * | 2019-12-28 | 2020-05-19 | 华为技术有限公司 | 文件备份方法、装置及终端设备 |
-
2022
- 2022-06-27 CN CN202210736558.0A patent/CN117331486A/zh active Pending
-
2023
- 2023-05-30 WO PCT/CN2023/097196 patent/WO2024001643A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024001643A1 (zh) | 2024-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11698728B2 (en) | Data updating technology | |
WO2008094433A2 (en) | Method and apparatus to store data patterns | |
CN108268344B (zh) | 一种数据处理方法和装置 | |
CN109582213B (zh) | 数据重构方法及装置、数据存储*** | |
US20220107921A1 (en) | Journals to record metadata changes in a storage system | |
CN113568582B (zh) | 数据管理方法、装置和存储设备 | |
CN108073507B (zh) | 一种内核崩溃现场数据的处理方法及装置 | |
CN112307263B (zh) | 一种文件存储方法、装置、设备及介质 | |
CN110147203B (zh) | 一种文件管理方法、装置、电子设备及存储介质 | |
CN111506253B (zh) | 一种分布式存储***及其存储方法 | |
CN105630413B (zh) | 一种磁盘数据的同步回写方法 | |
KR20130000400A (ko) | 처리 장치 및 기입 방법 | |
TW202011202A (zh) | 持久性儲存元件管理 | |
CN110647514A (zh) | 一种元数据更新方法、装置及元数据服务器 | |
CN112486918B (zh) | 文件处理方法、装置、设备及介质 | |
CN113885809B (zh) | 数据管理***及方法 | |
US10969970B2 (en) | Storage optimization of database in volatile and non-volatile storing unit | |
CN105915595B (zh) | 一种集群存储***存取数据的方法以及集群存储*** | |
CN110895545B (zh) | 共享数据同步方法及装置 | |
CN113253932B (zh) | 一种分布式存储***的读写控制方法和*** | |
CN111177104B (zh) | 一种nas存储***的日志下刷方法及装置 | |
CN108271420B (zh) | 管理文件的方法、文件***和服务器*** | |
CN117331486A (zh) | 后备存储设备、元数据管理方法、装置、存储介质 | |
CN113485874B (zh) | 数据处理方法及分布式存储*** | |
US20220391118A1 (en) | Journals for data cloning operations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |