一种对异常关机所丢失数据进行恢复的方法及硬盘录像机的制作方法

文档序号:6771535阅读:214来源:国知局
专利名称:一种对异常关机所丢失数据进行恢复的方法及硬盘录像机的制作方法
技术领域
本发明涉及数据分析与处理技术,特别涉及一种对异常关机所丢失数据进行恢复的方法及硬盘录像机。
背景技术
现有的硬盘录像机在进行拍摄的同时,能够对拍摄获得的录像数据进行实时的保存。基于硬盘录像机实时保存录像数据的特点,其被广泛地应用于视频监控领域。图1为现有的硬盘录像机保存录像数据的方法流程图。图2为现有的录像数据存储位置的示意图。现有的硬盘录像机包含用以进行数据存储控制的控制模块和用以保存数据的存储介质。现结合图1、图2及现有的硬盘录像机的结构,对现有的硬盘录像机保存录像数据的方法进行说明,具体如下步骤101 在存储介质的分区中创建索引文件和固定M字节大小的录像文件;硬盘录像机的控制模块根据外部输入的格式化指令,对存储介质进行格式化并创建分区;控制模块在对存储介质进行格式化的过程中,在创建的每一分区所包含的数据区中,创建索引文件和录像文件。其中,索引文件包含最近写文件信息和最近写片段信息;最近写文件信息至少包含文件号、文件的起始时间和文件的终止时间;最近写片段信息至少包含片段的起始时间、片段的终止时间、片段的起始偏移量和片段的终止偏移量。最近写文件信息中的文件号用以标识正在写入录像数据的文件;最近写片段信息中的片段的起始偏移量用以标识该录像片段的起始存储位置;最近写片段信息中的片段的终止偏移量用以标识该录像片段的终止存储位置。控制模块可根据需要保存的录像数据的大小设置录像文件的字节M,M为大于1的整数;控制模块在对属于同一文件的多个录像片段进行保存时,该文件包含的相邻的两个录像片段是连续存储,也就是说,先存储的录像片段的片段的终止偏移量与后存储的录像片段的片段的起始偏移量是连续的。步骤102 将录像数据以数据帧的形式写入录像文件,在索引文件中记录最近写文件信息和最近写片段信息;录像数据在以数据帧的形式写入分区中的录像文件中时,被写入录像文件的一系列连续的数据帧组成了的一个录像片段,多个连续的录像片段组成了一个文件,并且被写入录像文件的每一个数据帧都携带有表示各个数据帧之间前后顺序的时标。控制模块在保存某一个文件的某一个录像片段的起始数据帧时,将文件的起始时间和文件号记录于索引文件的最近写文件信息中,将片段的起始时间和片段的起始偏移量记录于索引文件的最近写片段信息中。如果某一个录像片段是该文件中的起始录像片段,则片段的起始偏移量就为该文件的起始存储位置;如果某一个录像片段并非该文件的起始录像片段,则该文件号与之前已经保存的录像片段的文件号一致,其片段的起始偏移量对应的存储位置与前一个录像片段的片段的终止偏移量对应的存储位置是连续的。步骤103 根据预设的周期,更新索引文件中的最近写片段信息;控制模块判定到达预设的周期时,获取此时数据帧的存储位置所对应的偏移量, 将该数据帧的存储位置所对应的偏移量作为片段的终止偏移量,记录于索引文件的最近写片段信息中,获取此时的时间信息,将该时间信息作为片段的终止时间,记录于索引文件的最近写片段信息中。比如如图2所示,在达到一个预设的周期时,录像片段的数据帧存储于位置A,此时,更新索引文件的最近写片段信息中的片段的终止偏移量,即此时,片段的终止偏移量对应的是位置A ;在达到下一个预设的周期之前,录像片段的数据帧存储至位置B,此时,索引文件中记录的最近写片段信息的片段的终止偏移量对应的仍为位置A,换句话说,此时,录像片段的数据帧的实际存储位置与最近写片段信息的片段的终止偏移量对应的存储位置不一致。步骤104 在完成录像数据的保存后,更新索引文件中的最近写文件信息;控制模块在完成了某一个文件所包含的录像数据的保存时,将最后一个保存的录像片段的最近写片段信息的片段的终止时间作为最近写文件信息中的文件的终止时间。若控制模块判定某一分区的存储空间不足以保存新的文件,则控制模块将最近写文件信息中的文件号置于一表示未写入录像数据的数值。根据图1和图2可知,若在控制模块更新索引文件的最近写片段信息之前,硬盘录像机发生了异常关机,则在硬盘录像机再次启动后,控制模块根据异常关机前的索引文件中记录的的最近写片段信息,确定启动后录像数据的起始存储位置,对实时输入硬盘录像机的录像数据进行保存,这可能造成最近写片段信息中的片段的终止偏移量与录像数据的实际存储位置之间的存储空间所保存的录像数据的丢失,并且这种情况下丢失的数据是无法恢复的。比如在录像数据保存于位置B时,硬盘录像机发生了异常关机,而此时最近写片段信息的片段的终止偏移量对应的是位置A,若硬盘录像机再次启动,该硬盘录像机会根据索引文件的最近写文件信息及最近写片段信息,确定启动前的录像数据保存至位置A,即从位置A开始对实时获取的录像数据继续进行保存,这就造成了异常关机前存储于位置A 至位置B的录像数据的丢失。综上所述,在硬盘录像机发生异常关机后,现有的方法及硬盘录像机无法准确定位异常关机前的数据存储位置,这就导致由异常关机所导致的数据的丢失无法恢复。

发明内容
有鉴于此,本发明的目的在于提供一种对异常关机所丢失数据进行恢复的方法, 该方法能够准确定位异常关机前的数据存储位置,能够对异常关机所丢失数据进行有效地恢复。本发明的目的在于提供一种硬盘录像机,该硬盘录像机能够准确定位异常关机前的数据存储位置,能够对异常关机所丢失数据进行有效地恢复。为达到上述目的,本发明的技术方案具体是这样实现的一种对异常关机所丢失数据进行恢复的方法,该方法包括A、根据已保存的日志信息,判定本次启动前的关机是异常关机,根据索引文件包含的文件号,确定异常关机前正在写入录像数据的录像文件对应的最近写片段信息;所述日志信息包含正常关机信息;B、根据所述最近写片段信息中的起始偏移量和片段的终止偏移量,确定进行帧分析的起始位置点;C、从起始位置点开始进行帧分析,根据帧分析结果及起始位置点,更新片段的终止偏移量和片段的终止时间;D、将更新后的片段的终止偏移量和片段的终止时间,作为本次启动后数据存储位置的参考点。较佳地,所述步骤A之前进一步包括A’、根据已保存的日志信息,判断本次启动前的关机是否为正常关机,如果是,则将本次启动前已保存的片段的终止偏移量和片段的终止时间,作为本次启动后数据存储位置的参考点,否则执行步骤A。上述方法中,步骤A所述根据索引文件包含的文件号,确定异常关机前正在写入录像数据的录像文件对应的最近写片段信息包括Al、对硬盘录像机的存储介质中的每一个分区的索引文件进行分析,根据各分区的索引文件的最近写文件信息中的文件号,确定异常关机前正在写入录像数据的录像文件所在的分区;A2、根据所述分区的索引文件中的最近写文件信息包含的文件号,获取最近写片段信息,以确定异常关机前正在写入录像数据的录像文件对应的最近写片段信息。上述方法中,所述步骤B包括根据片段的终止偏移量,判定异常关机前已更新了索引文件,将片段的终止偏移量确定为进行帧分析的起始位置点;根据片段的起始偏移量和片段的终止偏移量,判定异常关机前已写入录像片段, 但未更新索引文件,将片段的起始偏移量确定为进行帧分析的起始位置点;根据片段的起始偏移量和片段的终止偏移量,判定异常关机前未写入录像片段, 将最近写文件信息中的文件号对应的文件的起始存储位置确定为进行帧分析的起始位置
点ο上述方法中,所述步骤C包括Cl、从所述起始位置点指示的存储位置开始,检测相邻的数据帧所携带的时标的连续性,在检测到时标不连续的数据帧时,将时标不连续的数据帧的存储位置确定为写入
偏移量;C2、根据已检测到的连续的数据帧的时标个数、以及每一时标对应的时间间隔,计算写入时间段;C3、利用起始位置点与写入偏移量的和更新片段的终止偏移量,利用起始位置点对应的时间与写入时间段的和更新片段的终止时间。一种硬盘录像机,包含控制模块和用于保存录像文件和索引文件的存储介质,所述控制模块根据已保存的日志信息,判定本次启动前的关机是异常关机,根据索引文件包含的文件号,确定异常关机前正在写入录像数据的录像文件对应的最近写片段信息;根据所述最近写片段信息中片段的起始偏移量和片段的终止偏移量,确定进行帧分
6析的起始位置点,从起始位置点开始进行帧分析,并根据帧分析结果及起始位置点,更新片段的终止偏移量和片段的终止时间;将更新后的片段的终止偏移量和片段的终止时间,作为本次启动后数据存储位置的参考点。较佳地,所述控制模块进一步根据已保存的日志信息,判定本次启动前的关机为正常关机,将本次启动前索引文件包含的片段的终止偏移量和片段的终止时间,作为本次启动后数据存储位置的参考点。上述硬盘录像机中,所述控制模块包括日志记录单元,用于记录日志信息;所述日志信息包含正常关机信息;判定单元,根据从日志记录单元读取的日志信息,判定本次启动前的关机是异常关机,输出异常关机指令至定位单元,判定本次启动前的关机是正常关机,输出正常关机指令至定位单元;定位单元,根据正常关机指令,从存储介质中读取本次启动前保存的索引文件的最近写片段信息,将最近写片段信息中的片段的终止偏移量和片段的终止时间输出至存储单元;所述定位单元根据异常关机指令,从存储介质中读取本次启动前保存的索引文件的最近写文件信息,根据最近写文件信息中的文件号,确定异常关机前正在写入录像数据的录像文件对应的最近写片段信息,将最近写片段信息和定位指令输出至分析计算单元; 将分析计算单元输出的更新后的片段的终止偏移量和片段的终止时间,输出至存储控制单元;分析计算单元,根据接收到的定位指令、最近写片段信息中片段的起始偏移量和片段的终止偏移量,确定进行帧分析的起始位置点,从起始位置点开始,检测相邻的数据帧所携带的时标的连续性,将时标不连续的数据帧的存储位置确定为写入偏移量,根据已检测到的连续的数据帧的时标个数、以及每一时标对应的时间间隔,计算写入时间段,利用起始位置点与写入偏移量的和更新片段的终止偏移量,利用起始位置点对应的时间与写入时间段的和更新片段的终止时间,输出更新后的片段的终止偏移量及片段的终止时间至定位单元;存储控制单元,将接收到的片段的终止偏移量及片段的终止时间,作为本次启动后数据存储位置的参考点。上述硬盘录像机中,所述分析计算单元在根据片段的终止偏移量,判定已更新了索引文件时,将片段的终止偏移量作为进行帧分析的起始位置点;在根据片段的起始偏移量和片段的终止偏移量,判定已写入录像片段,但未更新索引文件时,将片段的起始偏移量作为进行帧分析的起始位置点;在根据片段的起始偏移量和片段的终止偏移量,判定未写入录像片段时,将最近写文件信息中的文件号对应的文件的起始存储位置作为进行帧分析的起始位置点。由上述的技术方案可见,本发明提供了一种对异常关机所丢失数据进行恢复的方法及硬盘录像机,在硬盘录像机启动后,对硬盘录像机的日志系统进行检测,以确定上一次关机是异常关机;根据索引文件的最近写片段信息中的片段的起始偏移量和片段的终止偏移量确定一个进行帧分析的起始点,再利用帧分析的结果确定异常关机前录像数据的实际存储位置。采用本发明的方法及装置,能够准确定位异常关机前的数据存储位置,并能够避免再次启动后录像数据的存储过程中,对异常关机前的已存储的录像数据的覆盖,能够对异常关机所丢失数据进行有效地恢复。


图1为现有的硬盘录像机保存录像数据的方法流程图。图2为现有的录像文件存储位置的示意图。图3为本发明对异常关机所丢失数据进行恢复的方法流程图。图4为本发明硬盘录像机的结构示意图。
具体实施例方式为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例, 对本发明进一步详细说明。本发明提供了一种对异常关机所丢失数据进行恢复的方法及硬盘录像机,在根据硬盘录像机已有的日志信息确定本次启动前的关机是异常关机的情况下,对异常关机前写入录像数据的分区中的索引文件进行读取,根据该索引文件中的最近写片段信息的片段的起始偏移量和片段的终止偏移量,确定进行帧分析的起始位置点,从起始位置点开始,对数据帧的时标的连续性进行检测,在将时标不连续的数据帧的存储位置相对于起始位置点的偏移量作为写入偏移量,将连续的时标个数及每一时标所表示的时间间隔的乘积作为写入时间段,将起始位置点和写入偏移量的和作为更新后的片段的终止偏移量,将起始位置点对应的时间与写入时间段的和作为更新后的片段的终止时间。其中,在确定异常关机前未写入录像片段时,将准备写入录像数据的文件的起始存储位置作为起始位置点;在确定异常关机前已写入录像片段,但未更新索引文件,将片段的起始偏移量作为起始位置点;在确定异常关机前已更新了索引文件,将片段的终止偏移量作为起始位置点。本发明的异常关机可由设备的异常掉电所引起的,也可由设备的程序错误等异常因素引起的。图3为本发明对异常关机所丢失数据进行恢复的方法流程图。现结合图3,对本发明的方法进行说明,具体如下步骤301 判断本次启动前的关机是否为正常关机,如果是,执行步骤310,否则执行步骤302 ;在硬盘录像机每一次正常关机时,现有硬盘录像机的日志信息包含正常关机信肩、ο本发明的该步骤就是在硬盘录像机启动后,对现有的硬盘录像机的日志信息进行读取,以确定硬盘录像机本次启动前的关机是否为正常关机,如果不属于正常关机,则证明上一次关机是异常关机。步骤302 根据文件号确定异常关机前正在写入录像数据的录像文件对应的最近写片段信息;现有的分区中的索引文件至少包含一个最近写文件信息和一个最近写片段信息, 本发明是利用现有的按照预设的周期进行更新的索引文件,确定异常关机前正在写入录像数据的录像文件对应的最近写片段信息。该步骤具体包括步骤3021,对硬盘录像机的存储介质中的每一个分区的索引文件进行分析,根据各分区的索引文件的最近写文件信息中的文件号,确定异常关机前正在写入录像数据的录像文件所在的分区;步骤3022,根据该分区的索引文件中的最近写文件信息包含的文件号,获取最近写片段信息,以确定异常关机前正在写入录像数据的录像文件对应的最近写片段信息。步骤303 根据片段的终止偏移量判断是否已经更新了索引文件,如果是,执行步骤304,否则执行步骤306 ;该步骤中的最近写片段信息中的片段的终止偏移量为异常关机前最后一次更新的片段的终止偏移量。如果最近写片段信息中的片段的终止偏移量为非0值,则表示在异常关机前已经写入了录像数据,形成了录像片段,并且更新了索引文件,将片段的终止偏移量作为进行帧分析的起始位置点,执行步骤304 ;如果最近写片段信息中的片段的终止偏移量为0值,则需要进一步确定在异常关机前是形成了录像片段但未更新索引文件,还是未形成录像片段,即执行步骤306。步骤304 从片段的终止偏移量开始进行帧分析,获得第一写入偏移量和第一写入时间段;该步骤包括步骤3041,从最近写片段信息的片段的终止偏移量指示的存储位置开始,检测相邻的数据帧所携带的时标的连续性;步骤3042,在检测到时标不连续的数据帧时,将该数据帧的存储位置确定为第一写入偏移量;步骤3043,将已检测到的连续的数据帧的时标个数与每一时标对应的时间间隔的乘积,作为第一写入时间段。其中,步骤3042的第一写入偏移量是检测到时标不连续的数据帧的存储位置相对于异常关机前的片段的终止偏移量对应的存储位置的偏移量;步骤3043的第一写入时间段是记录了片段的终止偏移量的时间点至异常关机的时间点间的时长。步骤305 更新最近写片段信息中的片段的终止时间和片段的终止偏移量,之后执行步骤310;将步骤304中的第一写入时间段,与异常关机前的最近写片段信息中的片段的终止时间的和,作为更新后的片段的终止时间。将步骤304中的第一写入偏移量,与异常关机前的最近写片段信息中的片段的终止偏移量的和,作为更新后的片段的终止偏移量。步骤306 根据片段的起始偏移量判断是否写入了录像片段,如果是,执行步骤 307,否则执行步骤309 ;该步骤中的最近写片段信息中的片段的起始偏移量为异常关机前最后一次更新的片段的起始偏移量。如果片段的起始偏移量的数值非0,则表示在异常关机前已经写入了录像数据,形成了录像片段,但并未更新索引文件,将片段的起始偏移量作为进行帧分析的起始位置点, 执行步骤307 ;如果片段的起始偏移量的数值为0,则表示在异常关机前还未写入录像数据,也没有形成录像片段,仅是创建了索引文件和录像文件,执行步骤309。步骤307 从片段的起始偏移量开始进行帧分析,获得第二写入偏移量和第二写入终止时间;该步骤包括步骤3071,从最近写片段信息的片段的起始偏移量指示的存储位置开始,检测相邻的数据帧所携带的时标的连续性;步骤3072,在检测到时标不连续的数据帧时,将该数据帧的存储位置确定为第二写入偏移量;步骤3073,根据已检测到的连续的数据帧的时标个数及每一时标对应的时间间隔,计算获得第二写入时间段。其中,步骤3071的第二写入偏移量是检测到时标不连续的数据帧的存储位置相对于异常关机前的片段的起始偏移量对应的存储位置的偏移量;步骤3073的第二写入时间段是记录了片段的起始偏移量的时间点至异常关机的时间点间的时长。步骤308 更新最近写片段信息中的片段的终止时间和片段的终止偏移量,之后执行步骤310;将步骤307中的第二写入时间段,与异常关机前的最近写片段信息中的片段的起始时间的和,作为更新后的片段的终止时间。将步骤307中的第二写入偏移量,与异常关机前的最近写片段信息中的片段的起始偏移量的和,作为更新后的片段的终止偏移量。步骤309 利用最近写文件信息更新片段的终止时间和片段的终止偏移量;在异常关机前,最近写片段的信息中的片段的起始偏移量和片段的终止偏移量都为0的情况下,该分区中的录像文件中没有任何录像片段产生,换句话说,该分区中的录像文件中还没有写入录像数据,因此,需要从分区中的最近写文件信息包含的文件号对应的文件头开始进行帧分析,即将该文件号对应的文件的起始存储位置作为进行帧分析的起始位置点。该步骤包括步骤3091,根据步骤302中最近写文件信息中的文件号对应的文件的起始存储位置开始,检测相邻的数据帧所携带的时标的连续性;步骤3092,在检测到时标不连续的数据帧时,将该数据帧的存储位置确定为第三写入偏移量;步骤3093,根据已检测到的连续的数据帧的时标个数及每一时标对应的时间间隔,计算获得第三写入时间段;步骤3094,将第三写入偏移量作为更新后的片段的终止偏移量,将第三写入时间段与文件的起始时间的和作为更新后的片段的终止时间。由于在该步骤中,录像片段还未写入录像文件,片段的起始时间即为文件的起始时间,则更新后的片段的终止时间为文件的起始时间与第三写入时间段的和。步骤310 将片段的终止偏移量和片段的终止时间,作为本次启动后数据存储位置的参考点;该步骤中的片段的终止偏移量可为正常关机时保存的片段的终止偏移量,也可为异常关机前录像数据的实际存储位置,即上述方法中提及的更新后的片段的终止偏移量; 同理,该步骤中的片段的终止时间可为正常关机时保存的片段的终止时间,也可为异常关机前录像数据的实际存储时间,即上述方法中提及的更新后的片段的终止时间。根据录像片段存储的连续性,将片段的终止偏移量和片段的终止时间,作为本次启动后录像数据存储位置的参考点,可在该参考点之后,对本次启动后接收到的录像数据进行存储。步骤311:结束。图4为本发明硬盘录像机的结构示意图。现结合图4,对本发明的硬盘录像机的结构进行说明,具体如下本发明的硬盘录像机包括控制模块40及存储介质41 ;本发明的硬盘录像机是对现有的硬盘录像机中的控制模块进行了改进,存储介质41与现有的硬盘录像机中的存储介质相同,下述说明中不再对存储介质41进行赘述。控制模块40在接收到外部的启动指令后,根据已记录的日志信息判定本次启动前的关机属于正常关机,则根据从存储介质41中读取的索引文件的最近写片段信息中的片段的终止偏移量和片段的终止时间,对外部输入的录像数据进行保存。控制模块40在根据已记录的日志信息判定本次启动前的关机是异常关机,根据索引文件包含的最近写文件信息中的文件号,确定异常关机前正在写入录像数据的录像文件对应的最近写片段信息;根据最近写片段信息的片段的起始偏移量和片段的终止偏移量,确定进行帧分析的起始位置点;从起始位置点开始,根据数据帧所携带的时标进行帧分析,根据帧分析结果,计算获得写入偏移量和写入时间段;根据进行帧分析的起始位置点、 写入偏移量和写入时间段,更新最近写片段信息中的片段的终止偏移量和片段的终止时间,根据更新后的片段的终止偏移量和片段的终止时间,对外部输入的录像数据进行保存。其中,控制模块40包括日志记录单元401、判定单元402、定位单元403、分析计算单元404和存储控制单元405。日志记录单元401用于在硬盘录像机正常关机前,记录与正常关机信息对应的日志信息。用于记录日志信息的日志记录单元401相当于现有的硬盘录像机的日志系统,在此不再对日志记录单元401的结构进行赘述。判定单元402在接收到外部的启动指令后,从日志记录单元401中读取日志信息, 判定本次启动前的关机属于正常关机时,输出正常关机指令至定位单元403 ;判定本次启动前的关机是异常关机,输出异常关机指令至定位单元403。定位单元403根据正常关机指令,从存储介质41中读取本次启动前保存的索引文件的最近写片段信息,将片段的终止偏移量和片段的终止时间输出至存储控制单元405。定位单元403根据异常关机指令,从存储介质41中读取本次启动前保存的索引文件的最近写文件信息,根据最近写文件信息中的文件号,确定异常关机前正在写入录像数据的录像文件对应的最近写片段信息,将最近写片段信息和定位指令输出至分析计算单元 404,将分析计算单元404输出的更新后的片段的终止偏移量和片段的终止时间,输出至存储控制单元405。分析计算单元404根据接收到的定位指令、最近写片段信息中片段的起始偏移量和片段的终止偏移量,确定进行帧分析的起始位置点,从起始位置点开始,检测相邻的数据帧所携带的时标的连续性,将时标不连续的数据帧的存储位置确定为写入偏移量,根据已检测到的连续的数据帧的时标个数及每一时标对应的时间间隔,计算写入时间段,利用起始位置点与写入偏移量的和更新片段的终止偏移量,利用起始位置点对应的时间与写入时间段的和更新片段的终止时间,输出更新后的片段的终止偏移量及片段的终止时间至定位单元403。具体包括分析计算单元404根据接收到的定位指令及最近写片段信息中的片段的终止偏移量,确定已经更新了索引文件,则将片段的终止偏移量指示的存储位置确定为进行帧分析的起始位置点,从该起始位置点开始,检测相邻的数据帧所携带的时标的连续性,将时标不连续的数据帧的存储位置确定为第一写入偏移量,根据已检测到的连续的数据帧的时标个数及每一时标对应的时间间隔,计算获得第一写入时间段;将片段的终止偏移量与第一写入偏移量的和作为更新后的片段的终止偏移量;将片段的终止时间与第一写入时间段的和作为更新后的片段的终止时间,输出更新后的片段的终止时间和片段的终止偏移量至定位单元403。分析计算单元404在确定未更新索引文件时,根据最近写片段信息中的片段的起始偏移量,确定已经写入了录像片段,则将片段的起始偏移量对应的存储位置确定为进行帧分析的起始位置点,从该起始位置点开始,检测相邻的数据帧所携带的时标的连续性,将时标不连续的数据帧的存储位置确定为第二写入偏移量,根据已检测到的连续的数据帧的时标个数及每一时标对应的时间间隔,计算获得第二写入时间段;将片段的起始偏移量与第二写入偏移量的和作为更新后的片段的终止偏移量,将片段的起始时间与第二写入时间段的和作为更新后的片段的终止时间,输出更新后的片段的终止偏移量和片段的终止时间至定位单元403。分析计算单元404在确定未写入录像片段时,将最近写文件信息中的文件号对应的文件的起始存储位置作为进行帧分析的起始位置点,从起始位置点开始,检测相邻的数据帧所携带的时标的连续性,将时标不连续的数据帧的存储位置确定为第三写入偏移量, 根据已检测到的连续的数据帧的时标个数及每一时标对应的时间间隔,计算获得第三写入时间段,将第三写入偏移量作为更新后的片段的终止偏移量,将第三写入时间段与文件的起始时间的和作为更新后的片段的终止时间,输出更新后的片段的终止偏移量及片段的终止时间至定位单元403。存储控制单元405将接收到的片段的终止偏移量及片段的终止时间,作为本次启动后数据存储位置的参考点。存储控制单元405根据数据存储位置的参考点,将外部输入的录像数据写入存储介质41中,并根据预设的周期更新存储介质41中的索引文件。本发明的上述较佳实施例中,在根据日志系统的信息确定前一次关机是异常关机,则在本次启动后,根据索引文件中的最近写片段信息和帧分析方法,确定异常关机前录像数据的实际存储位置,并在本次启动后,从确定的录像数据的实际存储位置开始,继续对本次启动后获取的录像数据进行保存;本发明提供了一种准确的定位数据存储位置的方法,避免了由异常关机所导致的数据丢失的问题。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种对异常关机所丢失数据进行恢复的方法,其特征在于,该方法包括A、根据已保存的日志信息,判定本次启动前的关机是异常关机,根据索引文件包含的文件号,确定异常关机前正在写入录像数据的录像文件对应的最近写片段信息;所述日志信息包含正常关机信息;B、根据所述最近写片段信息中的起始偏移量和片段的终止偏移量,确定进行帧分析的起始位置点;C、从起始位置点开始进行帧分析,根据帧分析结果及起始位置点,更新片段的终止偏移量和片段的终止时间;D、将更新后的片段的终止偏移量和片段的终止时间,作为本次启动后数据存储位置的参考点。
2.根据权利要求1所述的方法,其特征在于,所述步骤A之前进一步包括A’、根据已保存的日志信息,判断本次启动前的关机是否为正常关机,如果是,则将本次启动前已保存的片段的终止偏移量和片段的终止时间,作为本次启动后数据存储位置的参考点,否则执行步骤A。
3.根据权利要求1或2所述的方法,其特征在于,步骤A所述根据索引文件包含的文件号,确定异常关机前正在写入录像数据的录像文件对应的最近写片段信息包括Al、对硬盘录像机的存储介质中的每一个分区的索引文件进行分析,根据各分区的索引文件的最近写文件信息中的文件号,确定异常关机前正在写入录像数据的录像文件所在的分区;A2、根据所述分区的索引文件中的最近写文件信息包含的文件号,获取最近写片段信息,以确定异常关机前正在写入录像数据的录像文件对应的最近写片段信息。
4.根据权利要求1或2所述的方法,其特征在于,所述步骤B包括根据片段的终止偏移量,判定异常关机前已更新了索引文件,将片段的终止偏移量确定为进行帧分析的起始位置点;根据片段的起始偏移量和片段的终止偏移量,判定异常关机前已写入录像片段,但未更新索引文件,将片段的起始偏移量确定为进行帧分析的起始位置点;根据片段的起始偏移量和片段的终止偏移量,判定异常关机前未写入录像片段,将最近写文件信息中的文件号对应的文件的起始存储位置确定为进行帧分析的起始位置点。
5.根据权利要求1或2所述的方法,其特征在于,所述步骤C包括Cl、从所述起始位置点指示的存储位置开始,检测相邻的数据帧所携带的时标的连续性,在检测到时标不连续的数据帧时,将时标不连续的数据帧的存储位置确定为写入偏移量;C2、根据已检测到的连续的数据帧的时标个数、以及每一时标对应的时间间隔,计算写入时间段;C3、利用起始位置点与写入偏移量的和更新片段的终止偏移量,利用起始位置点对应的时间与写入时间段的和更新片段的终止时间。
6.一种硬盘录像机,包含控制模块和用于保存录像文件和索引文件的存储介质,其特征在于,所述控制模块根据已保存的日志信息,判定本次启动前的关机是异常关机,根据索引文件包含的文件号,确定异常关机前正在写入录像数据的录像文件对应的最近写片段信息;根据所述最近写片段信息中片段的起始偏移量和片段的终止偏移量,确定进行帧分析的起始位置点,从起始位置点开始进行帧分析,并根据帧分析结果及起始位置点,更新片段的终止偏移量和片段的终止时间;将更新后的片段的终止偏移量和片段的终止时间,作为本次启动后数据存储位置的参考点。
7.根据权利要求6所述的硬盘录像机,其特征在于,所述控制模块进一步根据已保存的日志信息,判定本次启动前的关机为正常关机,将本次启动前索引文件包含的片段的终止偏移量和片段的终止时间,作为本次启动后数据存储位置的参考点。
8.根据权利要求7所述的硬盘录像机,其特征在于,所述控制模块包括日志记录单元,用于记录日志信息;所述日志信息包含正常关机信息;判定单元,根据从日志记录单元读取的日志信息,判定本次启动前的关机是异常关机, 输出异常关机指令至定位单元,判定本次启动前的关机是正常关机,输出正常关机指令至定位单元;定位单元,根据正常关机指令,从存储介质中读取本次启动前保存的索引文件的最近写片段信息,将最近写片段信息中的片段的终止偏移量和片段的终止时间输出至存储单元;所述定位单元根据异常关机指令,从存储介质中读取本次启动前保存的索引文件的最近写文件信息,根据最近写文件信息中的文件号,确定异常关机前正在写入录像数据的录像文件对应的最近写片段信息,将最近写片段信息和定位指令输出至分析计算单元;将分析计算单元输出的更新后的片段的终止偏移量和片段的终止时间,输出至存储控制单元;分析计算单元,根据接收到的定位指令、最近写片段信息中片段的起始偏移量和片段的终止偏移量,确定进行帧分析的起始位置点,从起始位置点开始,检测相邻的数据帧所携带的时标的连续性,将时标不连续的数据帧的存储位置确定为写入偏移量,根据已检测到的连续的数据帧的时标个数、以及每一时标对应的时间间隔,计算写入时间段,利用起始位置点与写入偏移量的和更新片段的终止偏移量,利用起始位置点对应的时间与写入时间段的和更新片段的终止时间,输出更新后的片段的终止偏移量及片段的终止时间至定位单元;存储控制单元,将接收到的片段的终止偏移量及片段的终止时间,作为本次启动后数据存储位置的参考点。
9.根据权利要求8所述的硬盘录像机,其特征在于,所述分析计算单元在根据片段的终止偏移量,判定已更新了索引文件时,将片段的终止偏移量作为进行帧分析的起始位置点 ; 在根据片段的起始偏移量和片段的终止偏移量,判定已写入录像片段,但未更新索引文件时,将片段的起始偏移量作为进行帧分析的起始位置点;在根据片段的起始偏移量和片段的终止偏移量,判定未写入录像片段时,将最近写文件信息中的文件号对应的文件的起始存储位置作为进行帧分析的起始位置点。
全文摘要
本发明提供了一种对异常关机所丢失数据进行恢复的方法,该方法包括,A、根据已保存的日志信息,判定本次启动前的关机是异常关机,根据索引文件包含的文件号,确定异常关机前正在写入录像数据的录像文件对应的最近写片段信息;B、根据最近写片段信息中的起始偏移量和片段的终止偏移量,确定进行帧分析的起始位置点;C、从起始位置点开始进行帧分析,根据帧分析结果及起始位置点,更新片段的终止偏移量和片段的终止时间;D、将更新后的片段的终止偏移量和片段的终止时间,作为本次启动后数据存储位置的参考点。本发明还提供了一种硬盘录像机。采用本发明的方法及硬盘录像机,能够定位异常关机前的数据存储位置,并对所丢失数据进行恢复。
文档编号G11B27/19GK102280125SQ201110114179
公开日2011年12月14日 申请日期2011年4月25日 优先权日2011年4月25日
发明者曾喜 申请人:杭州海康威视数字技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1