CN116048384A - 一种文件系统元数据的写入方法和系统 - Google Patents
一种文件系统元数据的写入方法和系统 Download PDFInfo
- Publication number
- CN116048384A CN116048384A CN202211364171.3A CN202211364171A CN116048384A CN 116048384 A CN116048384 A CN 116048384A CN 202211364171 A CN202211364171 A CN 202211364171A CN 116048384 A CN116048384 A CN 116048384A
- Authority
- CN
- China
- Prior art keywords
- metadata
- file system
- writing
- changed
- larger
- 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
- 238000000034 method Methods 0.000 title claims abstract description 71
- 230000008859 change Effects 0.000 claims description 98
- 238000004321 preservation Methods 0.000 claims description 34
- 230000008569 process Effects 0.000 claims description 19
- 238000011084 recovery Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 12
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
Images
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
-
- 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/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- 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/064—Management of blocks
-
- 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/0643—Management of files
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- 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)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文件系统元数据的写入方法和系统,涉及文件系统技术领域。该方法包括:获取待变更元数据及所述待变更元数据所在地址列表;将所述待变更元数据备份到对应存储器;将所述地址列表及所述待变更元数据的更新标志写入对应存储器;将所述待变更元数据写入文件系统中,当未出现系统故障,则删除所述更新标志及所述地址列表,完成文件系统更新,通过本方法对文件系统更改变更可以实现一致性写入,可以有效鉴别文件系统元数据是否处于一致状态,并可将处于不一致状态的元数据恢复为一致状态,从而显著提升文件系统可靠性与稳定性。
Description
技术领域
本发明涉及文件系统技术领域,尤其涉及一种文件系统元数据的写入方法和系统。
背景技术
文件系统是一种存储和组织数据的方法,通过将硬盘、光盘等物理设备所提供的数据块访问形式封装与抽象成为文件、目录等高级访问形式,极大的简化了数据存储、访问、检索过程。
文件系统通过元数据记录文件-数据块组织、目录结构、底层存储资源的状态与信息。文件系统元数据间具有复杂的内在逻辑联系,这种联系被破坏时将使文件系统内部状态出现矛盾,例如负责文件-数据块组织部分的元数据记录某个数据块属于特定文件,但负责底层存储资源部分的元数据同时记录该数据块为空闲数据块,此现象即为文件系统元数据不一致。文件系统元数据不一致会导致数据读写错误、文件丢失、文件系统崩溃等严重错误。
元数据的部分写入是造成文件系统元数据不一致的重要原因。文件操作会涉及到多处元数据变更,例如进行文件写入时,会同时变更文件-数据块组织元数据与底层空闲存储资源状态元数据。在将变动的元数据保存至存储设备中,必须保证所有元数据或者全部成功保存,或者全部未保存。如果仅部分元数据被保存,则元数据间所记录信息会出现逻辑矛盾,从而导致文件系统元数据不一致。
文件系统元数据缓存机制会使文件系统元数据不一致问题更为严重。为增加文件系统性能,元数据变更并非立即写入存储设备,而是首先临时存储与缓冲区中,待变更达到一定数量或者达到一定时间后将缓冲区中元数据统一写入存储设备。元数据缓存机制使得元数据变更范围更为广,内部逻辑关系更为复杂,一旦由于异常断电、存储设备偶发错误等原因导致元数据不一致,将会导致文件系统更大范围的错误。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供一种文件系统元数据的写入方法和系统。
本发明解决上述技术问题的技术方案如下:
一种文件系统元数据的写入方法,包括:
S1,获取待变更元数据及所述待变更元数据所在地址列表;
S2,将所述待变更元数据备份到对应存储器;
S3,将所述地址列表及所述待变更元数据的更新标志写入对应存储器;
S4,将所述待变更元数据写入文件系统中,当未出现系统故障,则删除所述更新标志及所述地址列表,完成文件系统更新。
本发明的有益效果是:通过本方法对文件系统更改变更可以实现一致性写入,可以有效鉴别文件系统元数据是否处于一致状态,并可将处于不一致状态的元数据恢复为一致状态,从而显著提升文件系统可靠性与稳定性。
进一步地,还包括:
当写入过程出现系统故障时,根据所述更新标志进行一致性判定;
当判定结果是当前系统处于不一致状态时,读取备份的所述待变更元数据,并根据所述地址列表,将所述备份的待变更元数据写入文件系统中,替换故障变更数据,删除所述更新标志,完成文件系统更新。
进一步地,所述S1之前还包括:
获取带更新标志的元数据;
统计所述带更新标志的元数据的数量,判断所述数据是否大于数据块变更阈值;
检查所述元数据的变更时间与当前时间的时间差,判断所述时间差是否大于最大保存时限;
当所述数据大于数据块变更阈值,且所述时间差大于最大保存时限时,则进行S1-S4步骤;
或,
获取带更新标志的元数据;
统计所述带更新标志的元数据的数量,判断所述数据是否大于数据块变更阈值;
当所述数据大于数据块变更阈值时,则进行S1-S4步骤;
或,
获取带更新标志的元数据;
检查所述元数据的变更时间与当前时间的时间差,判断所述时间差是否大于最大保存时限;
当所述时间差大于最大保存时限时,则进行S1-S4步骤。
采用上述进一步方案的有益效果是:通过本方法,任何时刻的文件系统元数据变更数据量不会超过数据块最大变更量,保存间隔不会超过最大保存时限,因此降低了两次保存间系统故障导致的文件系统数据丢失量。数据块最大变更量确定了元数据块变更缓冲区上限,降低了缓存需求;确定了变更保存写入的数据块数量,降低了保存时间;确定了文件系统元数据一致性写入方法中存储系统中备份数据块数量的上限,相比快照方法降低了存储系统中元数据存储开销。
进一步地,还包括:预先设置所述数据块变更阈值和所述最大保存时限。
进一步地,所述根据所述更新标志进行一致性判定,具体包括:
读取所述更新标志;
对所述更新标志进行判断,当所述更新标志未置位,则当前系统处于一致状态;
当所述更新标志置位,则当前系统处于不一致状态。
本发明解决上述技术问题的另一种技术方案如下:
一种文件系统元数据的写入系统,包括:数据获取模块、备份模块、写入模块和更新模块;
所述数据获取模块用于获取待变更元数据及所述待变更元数据所在地址列表;
所述备份模块用于将所述待变更元数据备份到对应存储器;
所述写入模块用于将所述地址列表及所述待变更元数据的更新标志写入对应存储器;
所述更新模块用于将所述待变更元数据写入文件系统中,当未出现系统故障,则删除所述更新标志及所述地址列表,完成文件系统更新。
本发明的有益效果是:通过本方法对文件系统更改变更可以实现一致性写入,可以有效鉴别文件系统元数据是否处于一致状态,并可将处于不一致状态的元数据恢复为一致状态,从而显著提升文件系统可靠性与稳定性。
进一步地,还包括:一致性恢复模块,用于当写入过程出现系统故障时,根据所述更新标志进行一致性判定;
当判定结果是当前系统处于不一致状态时,读取备份的所述待变更元数据,并根据所述地址列表,将所述备份的待变更元数据写入文件系统中,替换故障变更数据,删除所述更新标志,完成文件系统更新。
进一步地,还包括:写入判断模块,用于获取带更新标志的元数据;
统计所述带更新标志的元数据的数量,判断所述数据是否大于数据块变更阈值;
检查所述元数据的变更时间与当前时间的时间差,判断所述时间差是否大于最大保存时限;
当所述数据大于数据块变更阈值,且所述时间差大于最大保存时限时,则进行文件系统元数据的写入的过程;
或,
获取带更新标志的元数据;
统计所述带更新标志的元数据的数量,判断所述数据是否大于数据块变更阈值;
当所述数据大于数据块变更阈值时,则进行文件系统元数据的写入的过程;
或,
获取带更新标志的元数据;
检查所述元数据的变更时间与当前时间的时间差,判断所述时间差是否大于最大保存时限;
当所述时间差大于最大保存时限时,则进行文件系统元数据的写入的过程。
采用上述进一步方案的有益效果是:通过本方法,任何时刻的文件系统元数据变更数据量不会超过数据块最大变更量,保存间隔不会超过最大保存时限,因此降低了两次保存间系统故障导致的文件系统数据丢失量。数据块最大变更量确定了元数据块变更缓冲区上限,降低了缓存需求;确定了变更保存写入的数据块数量,降低了保存时间;确定了文件系统元数据一致性写入方法中存储系统中备份数据块数量的上限,相比快照方法降低了存储系统中元数据存储开销。
进一步地,还包括:设置模块,用于预先设置所述数据块变更阈值和所述最大保存时限。
进一步地,所述一致性恢复模块具体用于,读取所述更新标志;
对所述更新标志进行判断,当所述更新标志未置位,则当前系统处于一致状态;
当所述更新标志置位,则当前系统处于不一致状态。
本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。
附图说明
图1为本发明的实施例提供的一种文件系统元数据的写入方法的流程示意图;
图2为本发明的实施例提供的一种文件系统元数据的写入系统的结构框图;
图3为本发明的其他实施例提供的文件系统元数据一致性恢复过程的示意图;
图4为本发明的其他实施例提供的文件系统元数据一致性判定过程示意图;
图5为本发明的其他实施例提供的一致性写入过程中初始状态示意图;
图6为本发明的其他实施例提供的一致性写入过程中将地址列表写入存储器示意图;
图7为本发明的其他实施例提供的一致性写入过程中写入文件系统元数据更新标志的示意图;
图8为本发明的其他实施例提供的一致性写入过程中替换原始记录示意图;
图9为本发明的其他实施例提供的一致性写入过程中清除存储器中的文件系统元数据更新标志示意图;
图10为本发明的其他实施例提供的一致性恢复过程中的初始状态示意图;
图11为本发明的其他实施例提供的一致性恢复过程中的替换原有数据块示意图;
图12为本发明的其他实施例提供的一致性恢复过程中的清除文件系统元数据更新标志置位示意图;
图13为本发明的其他实施例提供的现有技术写入过程中的失败导致元数据一致性破坏示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实施例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,为本发明实施例提供的一种文件系统元数据的写入方法,包括:
S1,获取待变更元数据及所述待变更元数据所在地址列表;
S2,将所述待变更元数据备份到对应存储器;其中,待变更元数据备份可以是临时设置的存储区域,或预设固定区域。
S3,将所述地址列表及所述待变更元数据的更新标志写入对应存储器;其中,地址列表、更新标志写入的存储器可以是临时分别设置的存储区域,或预设固定区域。
S4,将所述待变更元数据写入文件系统中,当未出现系统故障,则删除所述更新标志及所述地址列表,完成文件系统更新。
通过本方法对文件系统更改变更可以实现一致性写入,可以有效鉴别文件系统元数据是否处于一致状态,并可将处于不一致状态的元数据恢复为一致状态,从而显著提升文件系统可靠性与稳定性。
可选地,在一些实施例中,还包括:
当写入过程出现系统故障时,根据所述更新标志进行一致性判定;其中,系统故障可以是在进行S1-S4中任一步骤时发生的故障。需要说明的是,当每次系统新启动时,也需要进行一致性判定;其中,系统新启动可以是因为正常关机或因故障重启。
当判定结果是当前系统处于不一致状态时,读取备份的所述待变更元数据,并根据所述地址列表,将所述备份的待变更元数据写入文件系统中,替换故障变更数据,删除所述更新标志,完成文件系统更新。
需要说明的是,在某一实施例中,如图3所示,从存储器区元数据变更地址列表;
读取存储中备份数据块,并根据地址列表写入存储器,替换原有数据块;
清除存储器中的文件系统元数据更新标志。
可选地,在一些实施例中,所述S1之前还包括:
获取带更新标志的元数据;
统计所述带更新标志的元数据的数量,判断所述数据是否大于数据块变更阈值;
检查所述元数据的变更时间与当前时间的时间差,判断所述时间差是否大于最大保存时限;
当所述数据大于数据块变更阈值,或所述时间差大于最大保存时限时,则进行S1-S4步骤;
或,
获取带更新标志的元数据;
统计所述带更新标志的元数据的数量,判断所述数据是否大于数据块变更阈值;
当所述数据大于数据块变更阈值时,则进行S1-S4步骤;
或,
获取带更新标志的元数据;
检查所述元数据的变更时间与当前时间的时间差,判断所述时间差是否大于最大保存时限;
当所述时间差大于最大保存时限时,则进行S1-S4步骤。
通过本方法,任何时刻的文件系统元数据变更数据量不会超过数据块最大变更量,保存间隔不会超过最大保存时限,因此降低了两次保存间系统故障导致的文件系统数据丢失量。数据块最大变更量确定了元数据块变更缓冲区上限,降低了缓存需求;确定了变更保存写入的数据块数量,降低了保存时间;确定了文件系统元数据一致性写入方法中存储系统中备份数据块数量的上限,相比快照方法降低了存储系统中元数据存储开销。
需要说明的是,在某一实施例中,初始化:系统初始化时设置数据块最大变更量、数据块变更阈值、变更时间戳、最大保存时限。数据块最大变更量大于数据块变更阈值,其差值大于一次文件系统操作所可能引起元数据数据块最大变更数量。其中,数据最大变更量为最大元数据缓存容量;数据块变更阈值指元数据变更数量超过此值后再进行回写,防止过频繁的写入影响性能;变更时间戳记录元数据最后变更时刻;最大保存时限指启动回写前当前时间与变更时间戳的差值的最大值,其中,最大值可以根据系统写入能够允许数据丢失数量来确定。设置最大保存时限可以在故障发生时,避免元数据长期不回写引发过多的数据丢失。
一致性写入之前,文件系统操作过程:
发起文件系统操作时,根据操作进行元数据变更,并标记已变更元数据所涉及的数据块;这里的标记不是S3中的标记,指的是用来记录哪些元数据发生了变化。
操作结束后,统计所有被标记的元数据数据块数量,如果超过数据块变更阈值,进行文件系统元数据一致性回写;检查变更时间戳与当前时间差,如果大于最大保存时限,进行文件系统元数据一致性回写;否则执行完毕。需要说明的是,数据块变更阈值,检查变更时间戳与当前时间差,可以分别判断,二者有任一个不满足则执行元数据的回写操作。其中,一致性回写指S1-S4所述写入流程;元数据变更后,设置时间戳,即变更时间。当前时间与变更时间差值超过预设最大保存时限时进行回写。
文件系统元数据一致性回写后,清除所有数据块变更标记,更新变更时间戳为当前时间。
在以上方法中,任何时刻的文件系统元数据变更数据量不会超过数据块最大变更量,保存间隔不会超过最大保存时限,因此降低了两次保存间系统故障导致的文件系统数据丢失量。数据块最大变更量确定了元数据块变更缓冲区上限,降低了缓存需求;确定了变更保存写入的数据块数量,降低了保存时间;确定了文件系统元数据一致性写入方法中存储系统中备份数据块数量的上限,相比快照方法降低了存储系统中元数据存储开销。
可选地,在一些实施例中,还包括:预先设置所述数据块变更阈值和所述最大保存时限。
可选地,在一些实施例中,所述根据所述更新标志进行一致性判定,具体包括:
读取所述更新标志;
对所述更新标志进行判断,当所述更新标志未置位,则当前系统处于一致状态;
当所述更新标志置位,则当前系统处于不一致状态。
在一些实施例中,如图4所示,文件系统元数据一致性判定方法,包括:读取存储器中保存的文件系统元数据更新标志;
如果更新标志未置位,说明当前文件系统处于一致状态,可以正常执行后续访问;其中,未置位可以例如更新标志可以用特定数据图案标识,读取指定地址后未发现特定图案,说明未设置更新标志。
如果文件系统元数据更新标志置位,说明当前文件系统处于不一致状态,需要进行文件系统一致性恢复后方可进行后续访问。
在某一实施例中,文件系统元数据一致性写入实例:
(1)初始状态:如图5所示,文件系统进行了更新,但未回写至存储设备,存储设备中的变更标志为未变更状态,图中,方块代表元数据页,空白方块代表更新前的原始数据,阴影数据代表此次更新数据。文件系统生成待变更原数据所在地址列表。
(2)如图6所示,文件系统将位于地址列表中的原始记录备份至存储器。
(3)如图7所示,备份完成后,于存储器中写入文件系统元数据更新标志及地址列表。
(4)如图8所示,将变更元数据写入存储器,替换原始记录。
(5)如图9所示,清除存储器中的文件系统元数据更新标志及地址列表。
在读取文件系统时,如果更新标志未置位,说明当前文件系统处于一致状态,可以正常执行后续访问。如果文件系统元数据更新标志置位,说明当前文件系统处于不一致状态,需要进行文件系统一致性恢复后方可进行后续访问。
在另一实施例中,文件系统一致性恢复实例如下:
(1)初始状态:由于文件系统元数据更新标志置位,根据写入方法,说明写入过程(3)已完成,即已经成功完成了变更元数据地址列表写入与原始数据块备份过程;但在文件系统元数据一致性写入实例的步骤4或步骤5过程中失效,即可能变更元数据仅部分写入成功使文件系统元数据处于不一致状态。如下图10所示:
(2)读取地址列表与备份数据块,并将备份数据块按照地址列表写入存储器,替换原有数据块。此时,文件系统已经恢复至一致状态,如图11所示。
(3)清除文件系统元数据更新标志置位及地址列表,使文件系统进入正常状态,如图12所示。
在某一实施例中,如图2所示,一种文件系统元数据的写入系统,包括:数据获取模块1101、备份模块1102、写入模块1103和更新模块1104;
所述数据获取模块1101用于获取待变更元数据及所述待变更元数据所在地址列表;
所述备份模块1102用于将所述待变更元数据备份到对应存储器;
所述写入模块1103用于将所述地址列表及所述待变更元数据的更新标志写入对应存储器;
所述更新模块1104用于将所述待变更元数据写入文件系统中,当未出现系统故障,则删除所述更新标志及所述地址列表,完成文件系统更新。
通过本方法对文件系统更改变更可以实现一致性写入,可以有效鉴别文件系统元数据是否处于一致状态,并可将处于不一致状态的元数据恢复为一致状态,从而显著提升文件系统可靠性与稳定性。
可选地,在一些实施例中,还包括:一致性恢复模块,用于当写入过程出现系统故障时,根据所述更新标志进行一致性判定;
当判定结果是当前系统处于不一致状态时,读取备份的所述待变更元数据,并根据所述地址列表,将所述备份的待变更元数据写入文件系统中,替换故障变更数据,删除所述更新标志,完成文件系统更新。
可选地,在一些实施例中,还包括:写入判断模块,用于获取带更新标志的元数据;
统计所述带更新标志的元数据的数量,判断所述数据是否大于数据块变更阈值;
检查所述元数据的变更时间与当前时间的时间差,判断所述时间差是否大于最大保存时限;
当所述数据大于数据块变更阈值,且所述时间差大于最大保存时限时,则进行文件系统元数据的写入的过程;
或,
获取带更新标志的元数据;
统计所述带更新标志的元数据的数量,判断所述数据是否大于数据块变更阈值;
当所述数据大于数据块变更阈值时,则进行文件系统元数据的写入的过程;
或,
获取带更新标志的元数据;
检查所述元数据的变更时间与当前时间的时间差,判断所述时间差是否大于最大保存时限;
当所述时间差大于最大保存时限时,则进行文件系统元数据的写入的过程。
通过本方法,任何时刻的文件系统元数据变更数据量不会超过数据块最大变更量,保存间隔不会超过最大保存时限,因此降低了两次保存间系统故障导致的文件系统数据丢失量。数据块最大变更量确定了元数据块变更缓冲区上限,降低了缓存需求;确定了变更保存写入的数据块数量,降低了保存时间;确定了文件系统元数据一致性写入方法中存储系统中备份数据块数量的上限,相比快照方法降低了存储系统中元数据存储开销。
可选地,在一些实施例中,还包括:设置模块,用于预先设置所述数据块变更阈值和所述最大保存时限。
可选地,在一些实施例中,所述一致性恢复模块具体用于,读取所述更新标志;
对所述更新标志进行判断,当所述更新标志未置位,则当前系统处于一致状态;
当所述更新标志置位,则当前系统处于不一致状态。
可以理解,在一些实施例中,可以包含如上述各实施例中的部分或全部可选实施方式。
需要说明的是,上述各实施例是与在先方法实施例对应的产品实施例,对于产品实施例中各可选实施方式的说明可以参考上述各方法实施例中的对应说明,在此不再赘述。
在另一实施例中,现有文件系统通过写时复制与日志方法增强元数据写入一致性。如图13所示,当文件系统运行过程中,多处元数据数据块发生了变更,这些元数据块中记录内部存在逻辑联系。当进行写入过程中,前3个数据块成功实现说了数据写入,但由于系统失效,后续2个数据块没有实现写入。从而最终持久化后的元数据存在不一致状态,导致文件系统错误与潜在的数据丢失隐患。
写时复制会对变更元数据以及所有对该元数据进行引用的元数据生成新的副本,导致不可控的写入放大。同时写时复制将元数据新副本存储至新分配的存储空间,引发元数据布局的显著变更,使得元数据扫描与恢复更为困难。日志方法将变更以日志条目方式追加存储至日志区,待日志达到一定条件时根据日志所记录变更合生成元数据变更并写入至存储设备。日志方法可以降低元数据更新频率,但依旧无法应对元数据写入时存储设备失效等偶发因素导致的一致性破坏问题。
读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的方法实施例仅仅是示意性的,例如,步骤的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个步骤可以结合或者可以集成到另一个步骤,或一些特征可以忽略,或不执行。
上述方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种文件系统元数据的写入方法,其特征在于,包括:
S1,获取待变更元数据及所述待变更元数据所在地址列表;
S2,将所述待变更元数据备份到对应存储器;
S3,将所述地址列表及所述待变更元数据的更新标志写入对应存储器;
S4,将所述待变更元数据写入文件系统中,当未出现系统故障,则删除所述更新标志及所述地址列表,完成文件系统更新。
2.根据权利要求1所述的一种文件系统元数据的写入方法,其特征在于,还包括:
当写入过程出现系统故障时,根据所述更新标志进行一致性判定;
当判定结果是当前系统处于不一致状态时,读取备份的所述待变更元数据,并根据所述地址列表,将所述备份的待变更元数据写入文件系统中,替换故障变更数据,删除所述更新标志,完成文件系统更新。
3.根据权利要求1所述的一种文件系统元数据的写入方法,其特征在于,所述S1之前还包括:
统计待变更元数据的数量,判断所述数量是否大于数据块变更阈值;
检查待变更元数据的变更时间与当前时间的时间差,判断所述时间差是否大于最大保存时限;
当所述数量大于数据块变更阈值,且所述时间差大于最大保存时限时,则进行S1-S4步骤;
或,
统计待变更元数据的数量,判断所述数量是否大于数据块变更阈值;
当所述数量大于数据块变更阈值时,则进行S1-S4步骤;
或,
检查所述元数据的变更时间与当前时间的时间差,判断所述时间差是否大于最大保存时限;
当所述时间差大于最大保存时限时,则进行S1-S4步骤。
4.根据权利要求3所述的一种文件系统元数据的写入方法,其特征在于,还包括:预先设置所述数据块变更阈值和所述最大保存时限。
5.根据权利要求2所述的一种文件系统元数据的写入方法,其特征在于,所述根据所述更新标志进行一致性判定,具体包括:
读取所述更新标志;
对所述更新标志进行判断,当所述更新标志未置位,则当前系统处于一致状态;
当所述更新标志置位,则当前系统处于不一致状态。
6.一种文件系统元数据的写入系统,其特征在于,包括:数据获取模块、备份模块、写入模块和更新模块;
所述数据获取模块用于获取待变更元数据及所述待变更元数据所在地址列表;
所述备份模块用于将所述待变更元数据备份到对应存储器;
所述写入模块用于将所述地址列表及所述待变更元数据的更新标志写入对应存储器;
所述更新模块用于将所述待变更元数据写入文件系统中,当未出现系统故障,则删除所述更新标志及所述地址列表,完成文件系统更新。
7.根据权利要求6所述的一种文件系统元数据的写入系统,其特征在于,还包括:一致性恢复模块,用于当写入过程出现系统故障时,根据所述更新标志进行一致性判定;
当判定结果是当前系统处于不一致状态时,读取备份的所述待变更元数据,并根据所述地址列表,将所述备份的待变更元数据写入文件系统中,替换故障变更数据,删除所述更新标志,完成文件系统一致性恢复。
8.根据权利要求6所述的一种文件系统元数据的写入系统,其特征在于,还包括:写入判断模块,用于获取带更新标志的元数据;
统计待变更元数据的数量,判断所述数量是否大于数据块变更阈值;
检查所述元数据的变更时间与当前时间的时间差,判断所述时间差是否大于最大保存时限;
当所述数量大于数据块变更阈值,且所述时间差大于最大保存时限时,则进行文件系统元数据的写入的过程;
或,
统计待变更元数据的数量,判断所述数量是否大于数据块变更阈值;
当所述数量大于数据块变更阈值时,则进行文件系统元数据的写入的过程;
或,
检查待变更元数据的变更时间与当前时间的时间差,判断所述时间差是否大于最大保存时限;
当所述时间差大于最大保存时限时,则进行文件系统元数据的写入的过程。
9.根据权利要求8所述的一种文件系统元数据的写入系统,其特征在于,还包括:设置模块,用于预先设置所述数据块变更阈值和所述最大保存时限。
10.根据权利要求7所述的一种文件系统元数据的写入系统,其特征在于,所述一致性恢复模块具体用于,读取所述更新标志;
对所述更新标志进行判断,当所述更新标志未置位,则当前系统处于一致状态;
当所述更新标志置位,则当前系统处于不一致状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211364171.3A CN116048384A (zh) | 2022-11-02 | 2022-11-02 | 一种文件系统元数据的写入方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211364171.3A CN116048384A (zh) | 2022-11-02 | 2022-11-02 | 一种文件系统元数据的写入方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116048384A true CN116048384A (zh) | 2023-05-02 |
Family
ID=86117044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211364171.3A Pending CN116048384A (zh) | 2022-11-02 | 2022-11-02 | 一种文件系统元数据的写入方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116048384A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2165912A1 (en) * | 1995-12-21 | 1997-06-22 | David Hitz | Write anywhere file-system layout |
US20090031083A1 (en) * | 2007-07-25 | 2009-01-29 | Kenneth Lewis Willis | Storage control unit with memory cash protection via recorded log |
US7885923B1 (en) * | 2006-06-30 | 2011-02-08 | Symantec Operating Corporation | On demand consistency checkpoints for temporal volumes within consistency interval marker based replication |
US20110307449A1 (en) * | 2010-06-15 | 2011-12-15 | Microsoft Corporation | Checkpoints for a file system |
US8171063B1 (en) * | 2009-06-30 | 2012-05-01 | Symantec Corporation | System and method for efficiently locating and processing data on a deduplication storage system |
US20190179687A1 (en) * | 2017-12-11 | 2019-06-13 | International Business Machines Corporation | Checking data integrity of data storage systems |
US10339101B1 (en) * | 2015-09-11 | 2019-07-02 | Cohesity, Inc. | Distributed write journals that support fast snapshotting for a distributed file system |
CN111414134A (zh) * | 2020-02-20 | 2020-07-14 | 上海交通大学 | 面向持久内存文件系统的事务写优化框架的方法及系统 |
-
2022
- 2022-11-02 CN CN202211364171.3A patent/CN116048384A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2165912A1 (en) * | 1995-12-21 | 1997-06-22 | David Hitz | Write anywhere file-system layout |
US7885923B1 (en) * | 2006-06-30 | 2011-02-08 | Symantec Operating Corporation | On demand consistency checkpoints for temporal volumes within consistency interval marker based replication |
US20090031083A1 (en) * | 2007-07-25 | 2009-01-29 | Kenneth Lewis Willis | Storage control unit with memory cash protection via recorded log |
US8171063B1 (en) * | 2009-06-30 | 2012-05-01 | Symantec Corporation | System and method for efficiently locating and processing data on a deduplication storage system |
US20110307449A1 (en) * | 2010-06-15 | 2011-12-15 | Microsoft Corporation | Checkpoints for a file system |
US10339101B1 (en) * | 2015-09-11 | 2019-07-02 | Cohesity, Inc. | Distributed write journals that support fast snapshotting for a distributed file system |
US20190179687A1 (en) * | 2017-12-11 | 2019-06-13 | International Business Machines Corporation | Checking data integrity of data storage systems |
CN111414134A (zh) * | 2020-02-20 | 2020-07-14 | 上海交通大学 | 面向持久内存文件系统的事务写优化框架的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7107486B2 (en) | Restore method for backup | |
CN1205550C (zh) | 主存储器事务处理系统中的高度并行日志和恢复操作的方法和系统 | |
US7640412B2 (en) | Techniques for improving the reliability of file systems | |
US7720817B2 (en) | Method and system for browsing objects on a protected volume in a continuous data protection system | |
US5638508A (en) | Method and a system for processing a log record | |
US8448023B2 (en) | Approach for data integrity in an embedded device environment | |
CN102033786B (zh) | 一种对象存储系统中修复副本一致性的方法 | |
US20110022811A1 (en) | Information backup/restoration processing apparatus and information backup/restoration processing system | |
CN112463724B (zh) | 一种轻量级文件系统的数据处理方法和系统 | |
CN104050056A (zh) | 多存储介质设备的文件系统备份 | |
US5421003A (en) | Disk storage system with fault tolerant media maintenance | |
CN115599607B (zh) | 一种raid阵列的数据恢复方法及相关装置 | |
CN113885809B (zh) | 数据管理系统及方法 | |
US20050262033A1 (en) | Data recording apparatus, data recording method, program for implementing the method, and program recording medium | |
CN109582497B (zh) | 一种基于动态数据增量快速应急启动方法 | |
JP4978259B2 (ja) | データ整合性チェック方法およびデータ整合性チェックシステム | |
CN117271243A (zh) | 固态硬盘回溯区数据一致性测试方法、系统、设备及介质 | |
CN116048384A (zh) | 一种文件系统元数据的写入方法和系统 | |
CN113190179B (zh) | 提升机械硬盘使用寿命的方法、存储设备及系统 | |
CN113391941B (zh) | 一种raid的读写超时处理方法、装置、设备及介质 | |
CN115033425A (zh) | 一种提高数据备份成功率的方法 | |
CN113791731A (zh) | 一种解决存储磁盘阵列Write Hole的处理方法 | |
JPS62245348A (ja) | データベース更新方法 | |
JP2005149248A (ja) | メタデータ修復方式,方法および記憶装置ならびにプログラム | |
CN115657956B (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 |
Application publication date: 20230502 |