一种基于WB_DC文件系统的监控视频数据恢复方法与流程

文档序号:12123431阅读:676来源:国知局
一种基于WB_DC文件系统的监控视频数据恢复方法与流程

本发明涉及信息安全技术领域,特别涉及一种基于WB_DC文件系统的监控视频数据恢复方法。



背景技术:

国内经济的蓬勃发展带动了不少行业的发展,安保行业正是受益于经济发展过程之中增长趋势最为明显的行业之一。尤其是在视频监控技术不断发展的今天,高清监控视频、多角度视频技术等专业的监控设备在各个行业多种场所都得到了有效地推广。视频监控设备在为实现安定和谐安全的社会环境上做出了巨大的贡献。监控探头所拍摄下来的视频显得尤其重要。

嵌入式系统是一种完全嵌入受控器件内部,为特定应用而设计的专用的操作系统,嵌入式系统监控机则是一个控制程序存储在只读存储器中的嵌入式处理器控制板,用于控制和监视摄像探头的装置。从整体性能上来看,嵌入式硬盘录像机表现出来了无比强大的优越性能,并且从目前的市场占有率上看,已经成为安防界的主流产品。

在发达国家,不少监控设备上面存储的数据都是经过多重备份以便确保其数据存储具备高度的安全性。然而,为了节省企业的开支以及降低管理上的难度,很多的持有监控设备的单位并没有做过多的数据安全措施,这就意味着一旦设备上存储的视频资料一旦丢失或出现其他故障,将使得安防功能并无法起到相关的作用。此外,在部分情况下,也为不少案件提供了最真实,最可靠的视频证据,成为了法院决断的依据。因此对监控设备的数据提取与恢复具有重大意义。

由于监控视频的存储是设备厂商自定义的存储格式,不同于任何一种传统意义上的文件系统,这导致传统的数据恢复技术无法应用到监控机的视频数据提取与恢复中。

目前,在针对WB_DC文件系统嵌入式监控机的删除后产生的碎片文件、覆盖后的残余文件无法恢复,而且恢复出来的视频文件的状态属性不能加以区分。



技术实现要素:

本发明针对现有技术的缺陷,提供了一种基于WB_DC文件系统的监控视频数据恢复方法,能有效的解决上述现有技术存在的问题。

一种基于WB_DC文件系统的监控视频数据恢复方法,包括以下步骤:

S1:加载磁盘,并读取磁盘0扇区数据,在相对0号扇区起始地址偏移0x24~0x27记录一个块的大小信息,在相对0号扇区起始地址偏移0x4C~0x4F记录磁盘数据区起始地址信息,磁盘容量除以块大小得到块总数;

S2:检测磁盘数据是否符合WB_DC文件系统结构,判断S1中解析的一个块的大小和磁盘数据区起始地址的值是否为0,若不为0则表示符合WB_DC文件系统结构执行S3,若不是则结束;

S3:计算块起始地址,执行公式:设块号为N,N的初始值为0,

第N块起始地址=数据区起始地址+N*数据块大小;

S4:根据块起始地址参数,跳转到相应地址按照块大小读取每个块的数据;

S5:将块的数据,按照WB_DC文件系统中视频数据流格式解析读取的每一帧数据;根据公式:下一帧起始地址=第一帧的帧特征头起始地址+当前帧的帧长度来计算,依次解析完该块的所有数据;当在解析块中最后一个帧数据时,出现块中所剩下的数据长度小于帧长度,则计算当前帧中数据缺失字节数,依据公式:当前帧中数据缺失字节数=帧长度-块中所剩下的数据长度;

S6:将块中数据解析完成后,按照分区顺序以及分区中块顺序记录每一帧中的通道、帧对应视频数据的起始时间、帧数据相对于块起始地址的偏移值、帧数据完整性标记、帧中数据缺失字节数,判断帧数据是否完整,若完整将帧数据完整性标记记录为0x00,不完整则其为0x01需要记录当前帧数据的缺失字节数;

S7:判断N是否等于块总数-1,若是则执行S8,若不是则执行公式N=N+1,执行S3;

S8:按照记录的帧的信息中的通道和视频数据的起始时间拼接整个磁盘中的数据,在进行数据重组时,需要对帧数据完整性标记为0x01的帧进行拼接重组;

S9:将重组的数据进行验证,查看每一帧是否符合WB_dc文件系统中的视频数据流格式。

作为优选,S8中对帧数据完整性标记为0x01的帧进行拼接重组的具体方法为判断是否符合以下三个标准:

标准一:帧的帧数据完整性标记为0x01的帧是否有帧中数据缺失字节数;

标准二:检测磁盘的分区中每块的第一个帧的帧数据相对于块起始地址的偏移值是否存在等于标准一种的帧中数据缺失字节数;

标准三:缺失数据的帧中记录的通道、视频起始时间信息是否与标准二中匹配的块的第一个帧中的通道、视频起始时间信息相匹配,匹配的原则是通道相同、视频起始时间差值小于1s。

当以上标准都满足时可以将缺省帧和匹配的块第一个帧进行重组恢复。

与现有技术相比本发明的优点在于:完整解析WB_DC文件系统被初始化的数据内容;重组WB_DC文件系统的初始化后的碎片数据;可对缺失数据的帧进行重组,恢复重组视频成功率高。

附图说明

图1为本发明WB_DC磁盘数据结构示意图;

图2为本发明WB_DC中视频数据帧结构示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下举实施例,对本发明做进一步详细说明。

首先介绍WB_DC文件系统的存储结构,其结构如图1所示,磁盘引导扇区位于磁盘0号扇区,该扇区中记录磁盘扇区大小、块的大小、数据区的起始扇区号、数据使用的总扇区数等信息,其后为磁盘的保留扇区,其大小为1号扇区至数据区的起始地址,接下来为存储数据的区域,该区域被划分为固定大小的块结构,每一个块中存储着真实的视频流数据。通过解析块中的视频流数据发现数据具有固定的帧结构,在帧结构中包含了视频数据的通道、时间、大小等信息,依据此信息即可对视频数据进行解析、提取、重组,达到数据恢复的目的,该发明的技术手段完整的解析的磁盘中的所有数据,并且发明适用于磁盘被初始化、格式化、误分区等破坏磁盘原始结构的情况。

下面具体的介绍本发明方法的主要流程:

一种基于WB_DC文件系统的监控视频数据恢复方法,包括以下步骤:

S1:加载磁盘,并读取磁盘0扇区数据,解析扇区中包含的内容,包括磁盘中块的大小、磁盘数据区起始地址和块总数,在相对0号扇区起始地址偏移0x24~0x27记录着一个块的大小,在相对0号扇区起始地址偏移0x4C~0x4F记录着磁盘数据区起始地址,磁盘容量/块大小=块总数,记录块总数;

S2:检测磁盘数据是否符合WB_DC文件系统结构,具体地判断S1中解析的一个块的大小和磁盘数据区起始地址的值是否为0,若不为0则表示符合WB_DC文件系统结构执行S3,否则不符合则结束;

S3:根据S1中解析的磁盘数据区起始地址和数据块大小和块号计算块的起始地址,公式为:设N(块号)为0,第N块起始地址=数据区起始地址+N*数据块大小,其中N从0开始取值进行计算;

S4:根据S3中计算的块起始地址参数,跳转到相应地址按照块大小读取块的数据;

S5:将S4读取的块数据,按照WB_DC文件系统中视频数据流格式解析读取的数据,WB_DC文件系统中视频数据流格式为图2所示,在每一帧中都包含帧视频数据的通道号、帧数据流的类型、特征标记、长度以及时间,其中帧数据流结构分为两种;

具体地,第一种帧的帧头字节数为0x10,该帧头结构中包含如下信息:

通道信息,帧的通道信息为通道号的阿拉伯数字的ASCII码值进行存储,存储通道号的字节数为1byte,实际通道号等于该值减去0x30再加上1;

在相对帧的帧头偏移0x01记录帧数据流的类型信息;

在相对帧的帧头偏移0x02~0x03记录帧数据流的特征标记0x7762;

在相对帧的帧头偏移0x04~0x07记录帧数据流的字节数,其值为固定值0x58000000,该值为小端存储,真实的字节数应为0x58。

第二种帧的帧头字节数为0x10,该帧头结构中包含如下信息:

通道信息,帧的帧头为通道号的阿拉伯数字的ASCII码值进行存储,存储通道号的字节数为1byte,实际通道号等于该值减去0x30再加上1;

在相对帧的帧头偏移0x01记录帧数据流的类型信息;

在相对帧的帧头偏移0x02~0x03记录帧数据流的特征标记0x6463;

在相对帧的帧头偏移0x04~0x07记录帧数据流的字节数,其真实字节数的计算公式为:真实字节数=(该处记录的值+7)mod8*8,该处记录的值为小端存储;

在相对帧的帧头偏移0x08~0x0B记录帧数据流的起始时间信息中的时分秒部分,具体的解析方法为相对帧头偏移0x08处记录着时间中秒的值,相对帧头偏移0x09处记录着时间中分的值,相对帧头偏移0x0A处记录着时间中小时的值;

在相对帧的帧头偏移0x12~0x15记录帧数据流的编号;

在相对帧的帧头偏移0x1A~0x1B记录帧数据流的起始时间信息中的年月日部分,具体的解析方法是将该处2byte的值转换为16bit,其中前6bit的值加上2000表示年的数值,紧接着的4bit表示月份,接下来5bit表示日的数值,最后1bit未使用。

按照上述的两种帧结构解析块中的每一帧数据,根据公式下一帧起始地址=第一帧的帧特征头起始地址+当前帧的帧长度来计算,依次解析完该块的所有数据;特别的,在解析帧数据时,当在解析块中最后一个帧数据时,会出现块中所剩下的数据长度小于帧长度,此时需要计算当前帧中数据缺失字节数,依据公式:当前帧中数据缺失字节数=帧长度-块中所剩下的数据长度;

S6:将块中数据解析完成后,按照分区顺序以及分区中块顺序记录每一帧中的通道、帧对应视频数据的起始时间、帧数据相对于块起始地址的偏移值、帧数据完整性标记、帧中数据缺失字节数,其中当帧的数据内容是完整将帧数据完整性标记记录为0x00,其余记为0x01。判断数据是否完整的依据是当前帧的帧特征头所在的地址与下一帧的帧特征头所在的地址之差是否等于当前帧的帧长度,若相等则表示当前帧数据是完整的,否则表示不完整,当帧的帧数据完整性标记为0x01时,需要记录当前帧数据的缺失字节数;

S7:判断N是否等于块总数-1,若是则执行S8,若不是则执行公式N=N+1,执行S3;

S8:按照记录的帧的信息中的通道和视频数据的起始时间拼接整个磁盘中的数据,在进行数据重组时,需要对帧的帧数据完整性标记为0x01进行拼接重组,判断标注有如下几点:

标准一:帧的帧数据完整性标记为0x01的帧是否有帧中数据缺失字节数;

标准二:检测磁盘的分区中每块的第一个帧的帧数据相对于块起始地址的偏移值是否存在等于标准一种的帧中数据缺失字节数;

标准三:缺失数据的帧中记录的通道、视频起始时间信息是否与标准二中匹配的块的第一个帧中的通道、视频起始时间信息相匹配,匹配的原则是通道相同、视频起始时间差值小于1s;

当以上标准都满足时可以将帧的帧数据完整性标记为0x01的缺省帧进行重组恢复,完成数据的有效整合;

S9:将S8重组完成的数据进行校验,验证重组后的数据所包含的每一帧是否均符合WB_dc文件系统中的视频数据流格式。

本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1