CN102932621B - 一种存储数据的方法及装置 - Google Patents
一种存储数据的方法及装置 Download PDFInfo
- Publication number
- CN102932621B CN102932621B CN201110230407.XA CN201110230407A CN102932621B CN 102932621 B CN102932621 B CN 102932621B CN 201110230407 A CN201110230407 A CN 201110230407A CN 102932621 B CN102932621 B CN 102932621B
- Authority
- CN
- China
- Prior art keywords
- file
- backup
- meta data
- update times
- backup file
- 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
Classifications
-
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供了一种存储数据的方法,该方法包括:启动后对已存储的元数据文件的完整性进行校验,若存在不完整的元数据文件,则利用完整的第一备份文件或完整的第二备份文件,对不完整的元数据文件进行恢复;将接收到的数据流或信息流写入元数据文件,记录元数据文件的更新次数;根据预设的备份阈值,将完整的元数据文件及其更新次数备份至第一备份文件或第二备份文件。本发明还提供一种存储数据的装置。采用本发明的方法及装置,能够提高系统性能和稳定性,减少异常掉电所丢失的数据量。
Description
技术领域
本发明涉及安防领域,特别涉及视频监控领域中存储数据的方法及装置。
背景技术
图1为现有的利用数字硬盘录像机存储数据的方法流程图。现结合图1,对现有的视频监控领域中,利用数字硬盘录像机存储数据的方法进行说明,具体如下:
步骤100:格式化硬盘并对硬盘进行分区;
步骤101:在每一个分区中,预先创建2个内容相同的索引文件和N个固定M字节大小的数据文件;
其中,索引文件记录数据文件开始时间、结束时间、录像片段大小、文件序号、数据文件状态等信息;数据文件状态包括未记录、已记录、正在记录三种;N和M均为大于1的整数。
步骤102:将数字录像机的Q路需记录的视音频压缩数据中某一路的录像开始时间、正在记录等信息写入索引文件;
步骤103:将该路压缩后的视音频数据流依文件序号的先后顺序,写入已预先创建的数据文件中;
步骤104:当正在写入的一个固定M字节大小的数据文件已写满,把文件结束时间、录像片段大小、已记录等信息写入索引文件;
从步骤102至步骤104,完成了对分区中一个数据文件的数据写入。
步骤105:判断该分区的N个数据文件是否都已被写入数据,如果是,则执行步骤107,否则执行步骤106;
步骤106:查找索引文件中下一个数据文件序号和数据文件状态,确定一个未记录的已预创建的数据文件并切换,之后执行步骤102;
步骤107:判断是否硬盘的所有分区包含的N个数据文件都已被写入数据,如果是,则执行步骤109,否则执行步骤108;
步骤108:切换到未被写入数据的数据文件所在的分区,之后执行步骤102;
步骤109:根据索引文件,对已被写入数据的数据文件进行覆盖式的存储。
在采用现有的利用数字硬盘录像机存储数据的方法进行数据保存时,若在记录索引文件的过程中发生异常掉电,则会损坏正在写入的索引文件,当再次启动时,无法再对异常掉电所损坏的索引文件进行操作,虽然可启用另一个未出错的索引文件来查找数据文件,但是,异常掉电所损坏的索引文件由于未能及时修复,其对应的数据文件所保存的数据会在启动后的写数据过程中,被再次写入的数据所覆盖,造成数据的永久性的丢失。另外,异常掉电所损坏的索引文件包含的内容需要人工恢复,即根据人工触发,将未出错的索引文件所包含的内容写入被损坏的索引文件,在异常掉电所损坏的索引文件包含的内容未被人工恢复之前,若未出错的索引文件再次被损坏,则会导致无法进行数据存储,降低了数字硬盘录像机在存储数据过程中的系统性能和稳定性。
发明内容
有鉴于此,本发明的目的在于提供一种存储数据的方法,该方法能够提高系统性能和稳定性,减少异常掉电所丢失的数据量。
本发明的目的在于提供一种存储数据的装置,该装置能够提高系统性能和稳定性,减少异常掉电所丢失的数据量。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种存储数据的方法,该方法包括:
启动后对已存储的元数据文件的完整性进行校验,若存在不完整的元数据文件,则利用完整的第一备份文件或完整的第二备份文件,对不完整的元数据文件进行恢复;
将接收到的数据流或信息流写入元数据文件,记录元数据文件的更新次数;
根据预设的备份阈值,将完整的元数据文件及其更新次数备份至第一备份文件或第二备份文件。
上述方法中,所述利用完整的第一备份文件或完整的第二备份文件,对不完整的元数据文件进行恢复包括:
A1、对不完整的元数据文件的第一备份文件和第二备份文件进行数据完整性校验;
A2、从第一备份文件和第二备份文件中选择一个保存了完整的数据的备份文件,对不完整的元数据文件进行恢复。
上述方法中,所述将完整的元数据文件及其更新次数备份至第一备份文件或第二备份文件包括:
B1、进行第一备份计时,并判断计时时间是否大于预设的第一备份阈值,如果是,则执行步骤B2;
B2、比较元数据文件的更新次数与第一备份文件的更新次数的大小关系,在大于时,将通过完整性校验的元数据文件及元数据文件的更新次数写入第一备份文件,并记录第一备份文件的更新次数,执行步骤B3,在等于时,直接执行步骤B3;
B3、进行第二备份计时,并判断计时时间是否大于预设的第二备份阈值,如果是,则执行步骤B4;
B4、比较元数据文件的更新次数与第二备份文件的更新次数的大小关系,在大于时,将通过完整性校验的元数据文件及元数据文件的更新次数写入第二备份文件,并记录第二备份文件的更新次数,执行步骤B1,在等于时,直接执行步骤B1。
上述方法中,所述步骤A2包括:
A21、判断第一备份文件和第二备份文件是否都保存了完整的数据,如果是,执行步骤A22,否则执行步骤A23;
A22、在第一备份文件的更新次数大于第二备份文件的更新次数时,选择完整的第一备份文件恢复不完整的元数据文件;
在第一备份文件的更新次数等于第二备份文件的更新次数时,选择完整的第二备份文件恢复不完整的元数据文件;
A23、利用完整的备份文件恢复不完整的元数据文件;所述完整的备份文件为完整的第一备份文件或完整的第二备份文件。
一种存储数据的装置,该装置连接用以保存元数据文件的存储介质,包含:
存储控制模块,判定启动后存储介质中存在不完整的元数据文件,触发数据恢复模块,判定启动后不存在不完整的元数据文件或根据数据恢复模块的响应,将接收到的数据流或信息流写入元数据文件,触发双备份模块;
双备份模块,根据触发条件,将完整的元数据文件及其更新次数备份至第一备份文件或第二备份文件;所述触发条件为存储控制模块发送的触发信号或预设的备份阈值;
数据恢复模块,根据存储控制模块的触发,从第一备份文件和第二备份文件中选择保存有完整的数据的备份文件,覆盖存储介质中不完整的元数据文件及元数据文件的更新次数,发送响应至存储控制模块。
上述装置中,所述双备份模块包含:
第一备份计时器,在第一控制单元的触发下,从第一备份计时初始值开始计时,在大于预设的第一备份阈值时,发送第一响应至第一控制单元;
第二备份计时器,在第一控制单元的触发下,从第二备份计时初始值开始计时,在大于预设的第二备份阈值时,发送第二响应至第一控制单元;
第一控制单元,根据存储控制模块的触发,触发第一备份计时器,根据第一响应,比较存储介质中保存的元数据文件的更新次数与第一备份文件的更新次数的大小,在元数据文件的更新次数大于第一备份文件的更新次数时,将通过数据完整性校验的元数据文件及其更新次数写入第一备份文件,并记录第一备份文件的更新次数,在元数据文件的更新次数等于第一备份文件的更新次数时,触发第二备份计时器;
所述第一控制单元根据第二响应,比较比较存储介质中保存的元数据文件的更新次数与第二备份文件的更新次数的大小,在元数据文件的更新次数大于第二备份文件的更新次数时,将通过数据完整性校验的元数据文件及其更新次数写入第二备份文件,并记录第二备份文件的更新次数,触发第一备份计时器。
上述装置中,所述数据恢复模块包括:
校验单元,根据第二控制单元的校验指令,对存储介质中的第一备份文件和第二备份文件进行数据完整性校验,输出第一备份文件的校验结果和第二备份文件的校验结果至第二控制单元;
第二控制单元,根据存储控制模块的触发,发送校验指令至校验单元;根据接收到的校验结果,在第一备份文件和第二备份文件中存在不完整的备份文件时,选择完整的备份文件覆盖不完整的元数据文件及元数据文件的更新次数;
所述第二控制单元在第一备份文件和第二备份文件都为完整的备份文件时,比较第一备份文件的更新次数和第二备份文件的更新次数的大小关系,在大于时,选择完整的第一备份文件覆盖不完整的元数据文件及元数据文件的更新次数,在等于时,选择完整的第二备份文件覆盖不完整的元数据文件及元数据文件的更新次数。
由上述的技术方案可见,本发明提供了一种存储数据的方法及装置,启动后对已存储的元数据文件的完整性进行校验,若存在不完整的元数据文件,则利用完整的第一备份文件或完整的第二备份文件,对不完整的元数据文件进行恢复,减少丢失的数据量;根据预设的备份阈值,将完整的元数据文件及其更新次数备份至第一备份文件或第二备份文件,以便进行数据恢复时,能够获得最近一次更新的元数据文件,在提高系统性能和稳定性的同时,进一步减少丢失的数据量。采用本发明的方法及装置,能够提高数据存储过程中的系统性能和稳定性,减少异常掉电所丢失的数据量。
附图说明
图1为现有的利用数字硬盘录像机存储数据的方法流程图。
图2(a)为本发明存储数据的方法流程图。
图2(b)为本发明恢复元数据文件的方法流程图。
图2(c)为本发明备份元数据文件的方法流程图。
图3为本发明存储数据的装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
图2(a)为本发明存储数据的方法流程图。现结合图2(a),对本发明存储数据的方法进行说明,具体如下:
步骤20:判断本次启动后是否存在不完整的元数据文件,如果不是,执行步骤22,否则执行步骤21;
本发明提及的元数据文件可为用以记录数据保存地址的索引文件、用以记录重要数据的数据文件或用以记录系统重要信息的文件。
该步骤具体可利用奇偶校验或数据异或校验,来检测已存储的元数据文件所保存的数据的完整性。
该步骤提及的不完整的元数据文件指代保存了不完整数据或不完整信息的元数据文件。
若异常掉电中断了写入数据流或信息流至元数据文件,则元数据文件中可能保存了不完整的数据,再次启动后,会出现对元数据文件无法正常读写操作的问题,因此,在每次启动后,都需要对元数据文件的完整性进行校验。
步骤21:将数据流或信息流写入元数据文件,记录元数据文件的更新次数;
该步骤可按照图1所示的步骤102至步骤104的方法,完成元数据文件的写入,在每完成一次写入后,元数据文件的更新次数增1。
该步骤中的元数据文件可为未写入任何内容的空的元数据文件或步骤20中被恢复的完整的元数据文件。
步骤22:根据预设的备份阈值,将完整的元数据文件及其更新次数备份至第一备份文件或第二备份文件,之后执行步骤21;
第一备份文件和第二备份文件都用以保存元数据文件及元数据文件的更新次数,只是第一备份文件和第二备份文件进行元数据文件备份的时间点不同。
该步骤所包含的备份元数据文件的方法可采用图2(b)所示的方法。
步骤23:利用完整的第一备份文件或完整的第二备份文件,对不完整的元数据文件进行恢复,之后执行步骤21。
该步骤中的完整的第一备份文件指代保存了完整数据的第一备份文件;该步骤中的完整的第二备份文件指代保存了完整数据的第二备份文件。
该步骤对元数据文件进行恢复的方法具体可采用图2(c)所示的方法。
本发明的步骤21中对元数据文件的写入和步骤22中对元数据文件的备份可为两个独立的过程,既可同时进行,也可按照写入数据在前,备份数据在后的顺序进行。
图2(b)为本发明备份元数据文件的方法流程图。现结合图2(b),对本发明备份元数据文件的方法进行说明,具体如下:
步骤211:根据触发进行第一备份计时;
该步骤的触发可为启动初始化或将元数据文件写入第二备份文件。
该步骤具体为:根据触发条件,从第一备份计时初始值开始进行计时。其中,第一备份计时初始值可为0,可利用计时器或对脉冲信号的个数的统计来完成计时。
步骤212:判断步骤211的计时时间是否大于第一备份阈值,如果是,则执行步骤213,否则执行步骤212;
第一备份阈值为预设的将元数据文件及其更新次数写入第一备份文件的备份间隔时间T1,其大小与备份频率成反比,换句话说,第一备份阈值越大,将元数据文件备份至第一备份文件的频率越低。
在设置第一备份阈值时,需要充分考虑到应用本发明方法的存储系统的参数,不降低系统性能的前提下,尽可能地将第一备份阈值设置的小一些,以减少异常掉电所丢失的数据量。
步骤213:比较元数据文件的更新次数与第一备份文件的更新次数的大小关系,如果大于,则执行步骤214,如果等于,则执行步骤215;
对于同一元数据文件来说,只要向该元数据文件中写入了数据流或信息流,该元数据文件的内容发生了改变,元数据文件的更新次数增1。
只要将元数据文件及其更新次数的写入了第一备份文件,就完成了一次第一备份文件的更新,第一备份文件的更新次数增1。
元数据文件的更新次数等于第一备份文件的更新次数,则证明元数据文件在第一备份阈值所对应的时间间隔内,未发生改变;元数据文件的更新次数大于第一备份文件的更新次数,则证明元数据文件在第一备份阈值所对应的时间间隔内,发生了改变。
步骤214:根据元数据文件及其更新次数,更新第一备份文件及其更新次数;
该步骤包括:步骤2141,对元数据文件进行完整性校验;步骤2142,将通过完整性校验的元数据文件及元数据文件的更新次数写入第一备份文件,并将第一备份文件的更新次数增1。
在备份元数据文件前,对待备份的元数据文件进行完整性校验,主要是保证第一备份文件中保存的数据的完整性。
步骤215:进行第二备份计时;
该步骤具体为:从第二备份计时初始值开始计时。其中,第二备份计时初始值可为0,可利用计时器或对脉冲信号的个数的统计来完成计时。
步骤216:判断步骤215的计时时间是否大于第二备份阈值,如果是,则执行步骤217,否则执行步骤216;
第二备份阈值为预设的将元数据文件及其更新次数写入第二备份文件的备份间隔时间T2,其大小与备份频率成反比,换句话说,第二备份阈值越大,将元数据文件备份至第二备份文件的频率越低。第二备份阈值的设置方法与第一备份阈值的设置方法相同,在此不再赘述。
步骤217:比较元数据文件的更新次数与第二备份文件的更新次数的大小关系,如果大于,则执行步骤218,如果等于,则执行步骤211;
只要将元数据文件及其更新次数写入了第二备份文件,就完成了一次第二备份文件的更新,第二备份文件的更新次数增1。
元数据文件的更新次数等于第二备份文件的更新次数,则证明元数据文件在第二备份阈值所对应的时间间隔内,未发生改变;元数据文件的更新次数大于第二备份文件的更新次数,则证明元数据文件在第二备份阈值所对应的时间间隔内,发生了改变。
步骤218:根据元数据文件及其更新次数,更新第二备份文件及其更新次数;
该步骤包括:步骤2181,对元数据文件进行完整性校验;步骤2182,将通过完整性校验的元数据文件及当前的元数据文件的更新次数写入第二备份文件,并将第二备份文件的更新次数增1。
图2(c)为本发明恢复元数据文件的方法流程图。现结合图2(c),对本发明恢复元数据文件的方法进行说明,具体如下:
步骤221:对元数据文件的第一备份文件和第二备份文件进行数据完整性校验;
该步骤的元数据文件指代的是不完整的元数据文件。
本发明利用奇偶校验或数据异或校验等完整性校验方法,对元数据文件、第一备份文件和第二备份文件所保存的数据的完整性进行检测。
步骤222:判断第一备份文件和第二备份文件是否都保存了完整的数据,如果是,执行步骤223,否则执行步骤224;
对第一备份文件和第二备份文件进行完整性校验,主要是防止将具有数据完整性的元数据文件备份至上述任一备份文件的过程中,发生异常掉电,导致部分数据未能写入上述备份文件,进而使得第一备份文件或第二备份文件中保存了不完整的数据。
本发明的备份元数据文件的方法,决定了第一备份文件和第二备份文件中,至少存在一个备份文件保存了完整的数据;如果第一备份文件和第二备份文件中有一个备份文件保存的数据不完整,就执行步骤224。
步骤223:判断第一备份文件的更新次数是否大于第二备份文件的更新次数,如果是,执行步骤225,否则执行步骤226;
按照本发明的备份元数据文件的方法,第一备份文件先于第二备份文件更新,因此,如果第一备份文件的更新次数大于第二备份文件的更新次数,则表示第一备份文件中保存的数据的时间点较近,其所存储的数据是在异常掉电前最后一次进行备份的数据;如果第一备份文件的更新次数等于第二备份文件的更新次数,则表示第二备份文件中保存的数据的时间点较近,其所存储的数据是在异常掉电前最后一次进行备份的数据。
步骤224:判断第一备份文件是否为完整的数据,如果是,执行步骤225,否则执行步骤226;
本发明是优先选择保存有完整的数据的备份文件来进行恢复;在两个备份文件的数据都具有完整性的情况下,优先选择掉电前最后一次进行备份的数据来恢复受损的数据。
该步骤利用奇偶校验或数据异或校验,对第一备份文件保存的数据的完整性进行检测。
步骤225:利用第一备份文件恢复元数据文件,之后执行步骤227;
利用第一备份文件恢复受损的元数据文件及元数据文件的更新次数。
步骤226:利用第二备份文件恢复元数据文件,之后执行步骤227;
利用第二备份文件恢复受损的元数据文件及元数据文件的更新次数。
步骤227:结束。
本发明的上述方法实施例中,步骤224还可替换为:判断第二备份文件是否为完整的数据,如果是,执行步骤226,否则执行步骤225。
图3为本发明存储数据的装置的结构示意图。现结合图3,对本发明存储数据的装置的结构进行说明,具体如下:
本发明存储数据的装置可装设于用以记录视音频数据的硬盘录像机中,与硬盘录像机中用以保存元数据文件的存储介质连接。
本发明存储数据的装置包含:存储控制模块30、双备份模块31和数据恢复模块32。
存储控制模块30在本次启动后,判定本次启动后存储介质中存在不完整的元数据文件,触发数据恢复模块32,判定本次启动后不存在不完整的元数据文件或根据数据恢复模块32的响应,将接收到的数据流或信息流写入元数据文件,触发双备份模块31。存储控制模块30可利用奇偶校验或数据异或校验,对已存储的所有元数据文件所保存的数据的完整性进行校验。
双备份模块31根据触发条件,将完整的元数据文件及其更新次数备份至第一备份文件或第二备份文件。其中,触发条件为存储控制模块30在启动后发送的触发信号,或者为预设的备份时间间隔。
数据恢复模块32根据存储控制模块30的触发,从第一备份文件和第二备份文件中选择保存了完整的数据的、本次启动前最后一次进行更新的备份文件,覆盖存储介质中保存的不完整的元数据文件及元数据文件的更新次数,发送响应至存储控制模块30。
另外,本发明的存储控制模块30在接收到数据恢复模块32的响应后,若仍旧无法对存储介质中已恢复的元数据文件所在的存储空间进行读写,则从存储介质中分配一个空闲的存储空间,来保存已恢复的元数据文件。
其中,双备份模块31包含第一控制单元311、第一备份计时器312和第二备份计时器313。
第一控制单元311根据存储控制模块30的触发,触发第一备份计时器312。
第一控制单元311根据第一响应,比较存储介质中保存的元数据文件的更新次数与第一备份文件的更新次数的大小,在元数据文件的更新次数大于第一备份文件的更新次数时,将通过数据完整性校验的元数据文件及其更新次数写入第一备份文件,并将第一备份文件的更新次数增1,在元数据文件的更新次数等于第一备份文件的更新次数时,触发第二备份计时器313。
第一控制单元311根据第二响应,比较比较存储介质中保存的元数据文件的更新次数与第二备份文件的更新次数的大小,在元数据文件的更新次数大于第二备份文件的更新次数时,将通过数据完整性校验的元数据文件及其更新次数写入第二备份文件,并将第二备份文件的更新次数增1,在元数据文件的更新次数等于第二备份文件的更新次数时,触发第一备份计时器313。
第一备份计时器312在第一控制单元311的触发下,从第一备份计时初始值开始计时,在大于预设的第一备份阈值时,发送第一响应至第一控制单元311。
第二备份计时器313在第一控制单元311的触发下,从第二备份计时初始值开始计时,在大于预设的第二备份阈值时,发送第二响应至第一控制单元311。
其中,数据恢复模块32包含第二控制单元321和校验单元322。
第二控制单元321根据存储控制模块30的触发,发送校验指令至校验单元323。
第二控制单元321根据校验结果,判定第一备份文件和第二备份文件均保存了完整的数据,则在第一备份文件的更新次数大于第二备份文件的更新次数时,利用第一备份文件覆盖存储介质中保存的不完整的元数据文件及元数据文件的更新次数,在第一备份文件的更新次数等于第二备份文件的更新次数时,利用第二备份文件覆盖存储介质中保存的不完整的元数据文件及元数据文件的更新次数。
第二控制单元321根据校验结果,判定第一备份文件和第二备份文件中至少一个备份文件保存了完整的数据,利用保存了完整的数据的备份文件覆盖存储介质中保存的不完整的元数据文件及元数据文件的更新次数。
校验单元322根据校验指令,对存储介质中的第一备份文件和第二备份文件进行数据完整性校验,输出第一备份文件的校验结果和第二备份文件的校验结果至第二控制单元321。
本发明的上述较佳实施例中,在将数据流或信息流写入元数据文件时,根据预设的备份间隔时间,在两个备份文件中交替写入最新更新的完整的元数据文件及其更新次数,避免了每更新一次元数据文件就要更新两个备份文件所带来的系统性能降低的问题,同时,即便在写入元数据文件的过程中发生了异常掉电,本发明的启动后检测数据完整性及利用完整的备份文件恢复不完整的元数据文件的方法,能够对不完整的元数据文件进行修复,无需人工触发,避免了连续多次异常掉电所导致的大量数据丢失的问题,进一步提高了系统性能和运行过程中的稳定性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (5)
1.一种存储数据的方法,其特征在于,该方法包括:
启动后对已存储的元数据文件的完整性进行校验,若存在不完整的元数据文件,则利用完整的第一备份文件或完整的第二备份文件,对不完整的元数据文件进行恢复;
将接收到的数据流或信息流写入元数据文件,记录元数据文件的更新次数;
根据预设的备份阈值,将完整的元数据文件及其更新次数备份至第一备份文件或第二备份文件;其中,
所述将完整的元数据文件及其更新次数备份至第一备份文件或第二备份文件包括:
B1、进行第一备份计时,并判断计时时间是否大于预设的第一备份阈值,如果是,则执行步骤B2;
B2、比较元数据文件的更新次数与第一备份文件的更新次数的大小关系,在元数据文件的更新次数大于第一备份文件的更新次数时,将通过完整性校验的元数据文件及元数据文件的更新次数写入第一备份文件,并记录第一备份文件的更新次数,执行步骤B3,在等于时,直接执行步骤B3;
B3、进行第二备份计时,并判断计时时间是否大于预设的第二备份阈值,如果是,则执行步骤B4;
B4、比较元数据文件的更新次数与第二备份文件的更新次数的大小关系,在元数据文件的更新次数大于第二备份文件的更新次数时,将通过完整性校验的元数据文件及元数据文件的更新次数写入第二备份文件,并记录第二备份文件的更新次数,执行步骤B1,在等于时,直接执行步骤B1;
所述备份阈值为预设的将元数据文件及其更新次数写入备份文件的备份间隔时间。
2.根据权利要求1所述的方法,其特征在于,所述利用完整的第一备份文件或完整的第二备份文件,对不完整的元数据文件进行恢复包括:
A1、对不完整的元数据文件的第一备份文件和第二备份文件进行数据完整性校验;
A2、从第一备份文件和第二备份文件中选择一个保存了完整的数据的备份文件,对不完整的元数据文件进行恢复。
3.根据权利要求2所述的方法,其特征在于,所述步骤A2包括:
A21、判断第一备份文件和第二备份文件是否都保存了完整的数据,如果是,执行步骤A22,否则执行步骤A23;
A22、在第一备份文件的更新次数大于第二备份文件的更新次数时,选择完整的第一备份文件恢复不完整的元数据文件;
在第一备份文件的更新次数等于第二备份文件的更新次数时,选择完整的第二备份文件恢复不完整的元数据文件;
A23、利用完整的备份文件恢复不完整的元数据文件;所述完整的备份文件为完整的第一备份文件或完整的第二备份文件。
4.一种存储数据的装置,其特征在于,该装置连接用以保存元数据文件的存储介质,包含:
存储控制模块,判定启动后存储介质中存在不完整的元数据文件,触发数据恢复模块,判定启动后不存在不完整的元数据文件或根据数据恢复模块的响应,将接收到的数据流或信息流写入元数据文件,触发双备份模块;
双备份模块,根据触发条件,将完整的元数据文件及其更新次数备份至第一备份文件或第二备份文件;所述触发条件为存储控制模块发送的触发信号或预设的备份阈值;
数据恢复模块,根据存储控制模块的触发,从第一备份文件和第二备份文件中选择保存有完整的数据的备份文件,覆盖存储介质中不完整的元数据文件及元数据文件的更新次数,发送响应至存储控制模块;其中,
所述双备份模块包含:
第一备份计时器,在第一控制单元的触发下,从第一备份计时初始值开始计时,在大于预设的第一备份阈值时,发送第一响应至第一控制单元;
第二备份计时器,在第一控制单元的触发下,从第二备份计时初始值开始计时,在大于预设的第二备份阈值时,发送第二响应至第一控制单元;
第一控制单元,根据存储控制模块的触发,触发第一备份计时器,根据第一响应,比较存储介质中保存的元数据文件的更新次数与第一备份文件的更新次数的大小,在元数据文件的更新次数大于第一备份文件的更新次数时,将通过数据完整性校验的元数据文件及其更新次数写入第一备份文件,并记录第一备份文件的更新次数,在元数据文件的更新次数等于第一备份文件的更新次数时,触发第二备份计时器;
所述第一控制单元根据第二响应,比较存储介质中保存的元数据文件的更新次数与第二备份文件的更新次数的大小,在元数据文件的更新次数大于第二备份文件的更新次数时,将通过数据完整性校验的元数据文件及其更新次数写入第二备份文件,并记录第二备份文件的更新次数,触发第一备份计时器;其中,
所述备份阈值为预设的将元数据文件及其更新次数写入备份文件的备份间隔时间。
5.根据权利要求4所述的装置,其特征在于,所述数据恢复模块包括:
校验单元,根据第二控制单元的校验指令,对存储介质中的第一备份文件和第二备份文件进行数据完整性校验,输出第一备份文件的校验结果和第二备份文件的校验结果至第二控制单元;
第二控制单元,根据存储控制模块的触发,发送校验指令至校验单元;根据接收到的校验结果,在第一备份文件和第二备份文件中存在不完整的备份文件时,选择完整的备份文件覆盖不完整的元数据文件及元数据文件的更新次数;
所述第二控制单元在第一备份文件和第二备份文件都为完整的备份文件时,比较第一备份文件的更新次数和第二备份文件的更新次数的大小关系,在第一备份文件的更新次数大于第二备份文件的更新次数时,选择完整的第一备份文件覆盖不完整的元数据文件及元数据文件的更新次数,在等于时,选择完整的第二备份文件覆盖不完整的元数据文件及元数据文件的更新次数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110230407.XA CN102932621B (zh) | 2011-08-08 | 2011-08-08 | 一种存储数据的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110230407.XA CN102932621B (zh) | 2011-08-08 | 2011-08-08 | 一种存储数据的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102932621A CN102932621A (zh) | 2013-02-13 |
CN102932621B true CN102932621B (zh) | 2015-05-20 |
Family
ID=47647308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110230407.XA Active CN102932621B (zh) | 2011-08-08 | 2011-08-08 | 一种存储数据的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102932621B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9910608B2 (en) * | 2014-02-28 | 2018-03-06 | Kabushiki Kaisha Toshiba | Storage system with update frequency based replication |
CN103886883B (zh) * | 2014-03-20 | 2016-08-17 | 公安部物证鉴定中心 | 一种对有损视频监控数据进行恢复的方法及系统 |
CN104079623B (zh) * | 2014-05-08 | 2018-03-20 | 深圳市中博科创信息技术有限公司 | 多级云存储同步控制方法及系统 |
CN104268035A (zh) * | 2014-10-10 | 2015-01-07 | 深圳雷柏科技股份有限公司 | 一种存储数据的恢复方法 |
CN104504349B (zh) * | 2014-12-19 | 2017-06-20 | 武汉长江通信智联技术有限公司 | 一种录像数据安全存储装置及方法 |
CN105138422B (zh) * | 2015-08-10 | 2018-09-21 | 北京联想核芯科技有限公司 | 控制方法及电子设备 |
CN105117306A (zh) * | 2015-08-31 | 2015-12-02 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN105630709A (zh) * | 2016-01-27 | 2016-06-01 | 深圳市美贝壳科技有限公司 | 一种终端设备掉电记忆的方法 |
CN107153508B (zh) * | 2016-03-03 | 2020-07-24 | 杭州海康威视数字技术股份有限公司 | 一种数据存储方法及装置 |
CN108932249B (zh) * | 2017-05-24 | 2021-02-12 | 华为技术有限公司 | 一种管理文件系统的方法及装置 |
CN109426589B (zh) * | 2017-08-30 | 2021-09-07 | 华为技术有限公司 | 一种文件修复方法及装置 |
CN107743309A (zh) * | 2017-10-16 | 2018-02-27 | 深圳市汉普电子技术开发有限公司 | 无线密码数据的处理方法、终端设备及存储介质 |
CN109842661A (zh) * | 2017-11-28 | 2019-06-04 | 珠海市君天电子科技有限公司 | 一种数据传输方法、装置、电子设备及存储介质 |
CN111427718B (zh) * | 2019-12-10 | 2024-01-23 | 杭州海康威视数字技术股份有限公司 | 文件备份方法、恢复方法及装置 |
CN113434338A (zh) * | 2021-06-25 | 2021-09-24 | 苏州伟创电气科技股份有限公司 | 数据存储的容错方法、装置、设备及存储介质 |
CN114694696B (zh) * | 2022-03-17 | 2024-01-23 | 深圳市宏电技术股份有限公司 | 一种机械硬盘防震方法、装置、计算机设备以及存储介质 |
CN114625576B (zh) * | 2022-05-17 | 2022-10-18 | 广州万协通信息技术有限公司 | 防掉电数据处理方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1750164A (zh) * | 2005-07-20 | 2006-03-22 | 杭州海康威视数字技术有限公司 | 一种防止文件碎片产生的数字硬盘录像机文件管理方法 |
CN101025715A (zh) * | 2007-03-07 | 2007-08-29 | 北京飞天诚信科技有限公司 | 基于非易失性存储器中两个连续逻辑块的掉电保护方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5042644B2 (ja) * | 2007-01-24 | 2012-10-03 | 株式会社日立製作所 | リモートコピーシステム |
-
2011
- 2011-08-08 CN CN201110230407.XA patent/CN102932621B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1750164A (zh) * | 2005-07-20 | 2006-03-22 | 杭州海康威视数字技术有限公司 | 一种防止文件碎片产生的数字硬盘录像机文件管理方法 |
CN101025715A (zh) * | 2007-03-07 | 2007-08-29 | 北京飞天诚信科技有限公司 | 基于非易失性存储器中两个连续逻辑块的掉电保护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102932621A (zh) | 2013-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102932621B (zh) | 一种存储数据的方法及装置 | |
TWI396973B (zh) | 用於提供虛擬卷的連續資料保護之方法和系統 | |
CN102779080B (zh) | 生成快照的方法、利用快照进行数据恢复的方法及装置 | |
KR20100057655A (ko) | 하드 디스크 드라이브 파일 시스템의 손상 방지 방법 및 시스템 | |
CN104811645A (zh) | 一种嵌入式录像数据存储方法 | |
CN107918568B (zh) | 一种防止Linux系统重启失败的方法 | |
CN106227625B (zh) | 一种因掉电而损坏的闪存数据的恢复方法及系统 | |
JP2006004408A (ja) | ディスクアレイシステムにおけるデータ保護の方法 | |
WO2017097233A1 (zh) | 一种数据存储负载的容错方法及iptv系统 | |
US7234078B2 (en) | Data recovery method and data recording apparatus | |
CN105354109A (zh) | 视频监控索引数据的备份方法和装置 | |
CN203260027U (zh) | 一种备份装置及数据备份系统 | |
US7600151B2 (en) | RAID capacity expansion interruption recovery handling method and system | |
CN104156175A (zh) | 一种虚拟磁盘容量平滑拓展方法 | |
CN103092719A (zh) | 一种文件系统的断电保护方法 | |
KR102152724B1 (ko) | 감시 시스템의 영상 관리 장치 및 방법 | |
CN103137159A (zh) | 数字硬盘录像机中录像直刻容错的方法及其装置 | |
CN106294024A (zh) | 一种快速磁盘增量备份方法 | |
JP2001142650A (ja) | アレイディスク制御方法及び装置 | |
CN112784101B (zh) | 视频数据存储方法及装置、数据存储设备 | |
GB2407659A (en) | Disaster recovery using multiple boot images held on a sequential storage device | |
CN110389855B (zh) | 磁带库数据校验方法、装置、电子设备和可读存储介质 | |
CN103294570B (zh) | 一种内存数据的备份方法和装置 | |
US11081135B2 (en) | Shingled magnetic recording storage system | |
CN102280124B (zh) | 内容再生设备以及内容再生设备的继续再生方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |