嵌入式安防设备的数据提取方法与流程

文档序号:18850780发布日期:2019-10-13 00:51阅读:198来源:国知局
嵌入式安防设备的数据提取方法与流程

本发明属于数据恢复领域,涉及一种嵌入式安防设备的数据提取方法。



背景技术:

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

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

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

由于监控视频的存储是设备厂商自定义的存储格式,不同于任何一种传统意义上的文件系统,这导致传统的数据恢复技术无法应用到监控机的视频数据提取与恢复中。目前,在针对嵌入式监控机的删除后产生的碎片文件、覆盖后的残余文件无法恢复,而且恢复出来的视频文件的状态属性不能加以区分。

本发明的方法主要是针对铭扬威视嵌入式监控设备产生的数据进行解析从而实现数据提取与恢复。

本发明涉及到的部分专业术语:

磁盘分区:在磁盘上划分几个逻辑部分,每一部分都称之为分区;

正常数据:是指在磁盘分区的文件分配表中有已使用的标记和已使用字节数的块中可正常播放的视频数据;

丢失数据:是指磁盘分区的文件分配表中标识为未使用区域的块所对应的地址中保存的可播放的有效视频数据;

覆盖数据:是指在磁盘分区的文件分配表中有已使用的标记的块中标记为未使用的中可正常播放的视频数据。



技术实现要素:

本发明针对现有技术的不足,提供了一种嵌入式安防设备的数据提取方法,能够有效的解决现有技术无法恢复监控机的未使用区域的丢失文件、已使用区域中未被覆盖的碎片文件;即使能进行视频数据的恢复,但也无法对文件属性加以区分等问题。

为解决以上问题,本发明采用的技术方案如下:一种嵌入式安防设备的数据提取方法,包括以下步骤:

S1加载磁盘,并读取磁盘0扇区信息;

S2检测磁盘是否符合监控设备在存储文件时的基本结构,若符合则跳至S3,不符合跳至S1;

S3解析磁盘的ext3分区情况,并解析各分区的起始地址、大小、引导扇区地址;

S4读取正常数据:根据ext3格式的特点,解析分区中数据库文件search.db中的detail表,读取表中的数据记录,获取正常文件信息,并在fat32分区中找到对应的数据文件并标记;

S5读取丢失数据和覆盖数据;

S51解析ext3分区中数据库文件search.db中的detail表,遍历该表读取出未使用的块,并计算出该块对应的数据区地址,判断该地址的内容是否为空,不为空时按照嵌入式监控设备的视频数据结构提取有效的视频数据;

S52根据S4中读取的正常文件信息,遍历每个正常文件读取已使用的字节数,并计算出该块对应的数据区地址,判断该地址的内容中未使用的部分是否为空,不为空时按照嵌入式监控设备的视频数据结构提取有效的视频数据;

S6按照正常数据、丢失数据、覆盖数据三种类别读取数据记录后,结合视频文件的格式结构,分类别提取其对应的有效数据;

S7数据提取完成后,按照类型给提取出的视频数据进行标记。

作为优选,S4读取正常数据的详细流程如下所述:

S41读取磁盘的分区信息,包括划分的分区的起始地址、分区引导记录地址信息;

S42跳至ext3格式的分区起始,按照ext3格式读取并解析分区使用记录;

S43根据S42解析结果,读取数据库文件search.db中的detail表信息,判断分区使用情况,若该分区已使用则跳至S44,否则跳至S47;

S44根据S43中获取的detail表中信息,读取正常文件信息;

S45解析各正常文件中的各通道的数据内容起始地址和视频时间;

S46按照S45中解析的结果提取视频文件;

S47按照视频数据的时间、通道信息标记S46中提取的文件,完成对正常数据的提取。

作为优选,S5读取丢失数据和覆盖数据的详细流程如下所述:

S51读取丢失数据的详细流程如下所述:

S511读取磁盘的分区信息,包括分区的起始地址、分区引导记录地址信息,遍历每一个分区并读取信息;

S512按照ext3文件系统的格式解析ext3格式分区的参数,并获取未使用空间的相关记录;

S513判断分区是否存在空闲区域,若存在则跳至S514,否则跳至S518;

S514读取分区空闲区域数据信息;

S515按照视频数据的结构特征解析S514中提取数据;

S516判断S515中解析的数据中是否有可播放的正常的视频数据文件,若存在跳至S517,否则跳至S518;

S517提取S516中解析结果所对应的有效视频数据内容;

S518按照视频数据的时间、通道信息标记S517中提取的文件,完成对丢失数据的提取;

S52读取覆盖数据的详细流程如下所述:

S521读取磁盘的分区信息,包括分区的起始地址、分区引导记录地址信息,遍历每一个分区并读取信息;

S522按照ext3文件系统的格式解析ext3格式分区的参数,并获取分区已使用的相关记录;

S523根据S522中解析结果读取数据库文件search.db中的detail表信息,读取各正常数据文件的数据记录;

S524判断各数据文件是否存在未使用的字节,若存在则跳至S525,否则跳至S528;

S525读取未使用字节的内容;

S526按照视频数据的结构特征解析S525中读取的内容;

S527判断S526中解析的数据是否存在符合视频数据的结构特征中可播放的视频文件,若存在则跳至S528,否则跳至S529;

S528提取S527中解析的结果;

S529按照视频数据的时间、通道信息标记S528中提取的文件,完成对覆盖数据的提取。

本发明的有益效果如下:本发明采用了解析磁盘的ext3分区情况,并解析各分区的起始地址、大小、引导扇区地址;根据ext3格式的特点,解析分区中数据库文件search.db中的detail表,读取表中的数据记录,获取正常文件信息,并在fat32分区中找到对应的数据文件并标记;读取丢失数据和覆盖数据;按照正常数据、丢失数据、覆盖数据三种类别读取数据记录后,结合视频文件的格式结构,分类别提取其对应的有效数据;数据提取完成后,按照类型给提取出的视频数据进行标记。基于上述方法,本发明可以快速判断磁盘数据是否为铭扬威视的监控视频数据格式,也可以提取出磁盘数据中有效的视频数据文件,包括正常数据文件、丢失数据文件和覆盖数据文件;还可以正确区分视频数据文件正常、丢失、覆盖的状态。

附图说明

图1磁盘数据解析主流程;

图2 S4读取正常数据记录流程;

图3 S511读取丢失数据记录流程;

图4 S512读取覆盖数据记录。

具体实施方式

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

本发明提出一种针对嵌入式安防设备的数据提取的方法,该方法不仅高效提取正常的视频数据,还能将非正常的数据有效的恢复。

下面详细介绍铭扬威视嵌入式监控设备在存储文件时的基本结构。为了更为方便的阐述本发明中的方法,本例使用铭扬威视VC-7204HF监控机产生的视频数据格式为例进行阐述,存储介质在接入该类型机器后被初始化,初始化结果是将存储介质均分为4个分区,且每个分区所采用的文件系统为ext3。其中,分区1为存储了管理分区视频文件的数据库文件,每个分区中数据存储在以年月日为文件夹名称的文件夹下。

铭扬威视录像机存储在磁盘中真实数据的结构大致如下所述:正常的单个文件分为两部分,第一部分为6C756F20……206F756C的luo结构,该结构长度固定为0x2000字节,在该结构中各字节参数信息:

文件以6C697520……2075696C作为文件头特征,该段数据的长度为0x80,当该文件头特征后的0x06字节的数据值为00000001674D时,文件是可播放的。文件头的具体结构包含如下信息:

本发明的恢复方法包括以下内容:

S1加载磁盘,并读取磁盘0扇区信息;

S2检测磁盘是否符合铭扬威视监控设备在存储文件时的基本结构,若符合则跳至S3,不符合跳至S1。具体地,判断是否符合铭扬威视监控设备在存储文件时的基本结构的条件有以下两条准则:

准则一:磁盘的MBR结构中包含2个分区,其类型分别为ext3、fat32;

准则二:ext3格式的分区容量远小于fat32格式的分区容量;

S3解析磁盘的分区情况,并解析每一个分区的起始地址、大小、引导扇区地址;

S4解析磁盘划分的ext3类型的分区,在分区的引导扇区中读取该分区的中记录的search.db文件,该文件中的detail表记录了整个磁盘中正常文件的信息,在表detail里详细的记录文件存储的位置及文件对应的起止时间,在表中folder列记录的是文件夹的编号,file列记录的是文件夹下文件的编号,fs_search列记录的是文件在硬盘中的编号,star_time列记录的是文件对应的开始时间,end_time记录的是文件对应的结束时间,star_time和end_time中的时间格式为linux时间戳,根据上述读取的信息遍历磁盘fat32类型的分区读取各数据文件对应的内容;

S5读取丢失数据和覆盖数据;

S51解析磁盘划分的ext3类型的分区,读取分区中search.db中detail表中数据内容记录的磁盘中正常数据的空间,进而读取磁盘的空闲区域,判断该区域的内容是否为空,不为空时按照铭扬威视监控设备的视频数据结构提取有效的视频数据;

S52根据S4中解析结果,并计算出每个search.db中记录的数据文件的未使用字节数,判断该地址的内容中是否为空,不为空时按照铭扬威视监控设备的视频数据结构提取有效的视频数据;

S6按照正常数据、丢失数据、覆盖数据三种类别读取数据记录后,结合视频文件的格式结构,分类别提取其对应的有效数据;

S7数据提取完成后,按照类型给提取出的视频数据进行标记。

其中,S4读取正常数据的详细流程如下所述:

S41读取磁盘的分区信息,主要包括划分的分区的起始地址、分区引导记录地址等信息,遍历每一个分区并读取信息;

S42跳至ext3格式分区的起始地址,按照ext3格式读取并解析分区中的search.db文件;

S43根据S42解析结果,判断分区使用情况,若detail表中有关于正常文件的记录则表示该分区已使用则跳至S44,否则跳至S47;

S44读取ext3格式分区中的search.db文件中的detail表记录的正常数据文件的文件名、文件大小、文件记录视频的起始时间,遍历fat32分区中的读取detail中记录的全部数据文件;

S45解析各数据文件中的数据信息,具体地,文件以6C697520……2075696C作为文件头特征,该段数据的长度为0x80,其中相对头部偏移0x28记录的是视频数据的通道号,相对头部偏移0x48记录的是视频数据的开始时间,相对头部偏移0x3C记录的是视频数据该块的长度;

S46按照S45中解析的结果,可根据每一块数据的文件头中的信息来读取对应数据的长度,来提取任何一表项记录的数据;

S47创建集合N,将S46中提取的数据按照视频的起始时间先后顺序存放在集合N,集合N的格式如{N0,N1,N2,…,Ni},其中i为大于等于0的整数,且集合N中每一个元素属性包含了视频文件的起始时间、文件大小、通道以及文件偏移量等,完成对正常数据的提取;

S51读取丢失数据时需要参照铭扬威视监控机的视频数据格式来对空闲区域的数据加以验证,下面详细介绍铭扬威视监控机的视频数据格式:文件以6C697520……2075696C作为文件头特征,该段数据的长度为0x80,其中相对头部偏移0x28记录的是视频数据的通道号,相对头部偏移0x48记录的是视频数据的开始时间,相对头部偏移0x3C记录的是视频数据该块的长度;在文件头特征后存储有可播放文件的标记,当该文件头特征后的0x06字节的数据值为00000001674D时,文件是可播放的,可根据此结构来校验空闲区域的数据是否符合该特征。

提取丢失数据的详细流程如下所述:

S511读取磁盘的区域划分信息,主要包括划分的区域的起始地址、分区引导记录地址等信息,遍历每一个分区并读取信息;

S512按照ext3文件系统的格式解析各分区参数,根据search.db文件中的detail表记录的数据并获取分区空闲区域的相关记录;

S513判断分区是否存在空闲区域,若存在则跳至S514,否则跳至S518;

S514读取分区空闲区域数据内容;

S515按照铭扬威视视频数据的结构特征解析S514中提取数据包含铭扬威视视频数据单元头特征结构6C697520……2075696C;

S516判断S515中解析的数据是否存在符合铭扬威视视频数据的结构特征中可播放的视频文件,若存在则跳至S517,否则跳至S518;

S517按照铭扬威视视频数据的结构特征提取S515中解析结果所对应的数据内容;

S518创建集合L,将S46中提取的数据按照视频的起始时间先后顺序存放在集合L,集合L的格式以及集合L中每一个元素属性均与集合N一致,完成对丢失数据的提取;

S52读取覆盖数据的详细流程如下所述:

S521读取磁盘的区域划分信息,主要包括划分的区域(简称:分区)的起始地址、分区引导记录地址等信息,遍历每一个分区并读取信息;

S522按照ext3文件系统的格式解析各分区参数,并获取分区记录的已使用区域的正常文件信息,此处解析可根据S44中内容;

S523根据S522中解析结果读取各正常数据文件的使用记录,此处解析可参考S45中解析结果,计算出正常文件的有效字节数;

S524可根据正常数据文件的有效字节数来判断各数据文件是否存在未使用的字节,若正常数据文件的大小>文件各个特征头记录的数据块大小之和则表示存在未使用的字节数则跳至S525,否则跳至S528;

S525根据S524中判断结果再结合S523中解析的参数,使用计算公式:未使用字节数=文件大小-文件各个特征头记录的数据块大小之和,来计算并读取未使用字节的内容;

S526按照铭扬威视视频数据的结构特征解析S514中提取数据包含铭扬威视视频数据单元头特征结构6C697520……2075696C;

S527判断S526中解析的数据是否存在符合铭扬威视视频数据的结构特征中可播放的视频文件,若存在则跳至S528,否则跳至S529;

S528按照铭扬威视视频数据的结构特征提取S515中解析结果所对应的数据内容;

S529创建集合F,将S46中提取的数据按照视频的起始时间先后顺序存放在集合F,集合F的格式以及集合F中每一个元素属性均与集合N一致,完成对覆盖数据的提取。

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

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