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

文档序号:11133859阅读:544来源:国知局
嵌入式安防设备的数据提取的方法与制造工艺

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



背景技术:

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

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

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

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

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

数据流表:是指记录一个文件中各组成部分的起始地址、数据对应视频的起始时间的一块数据管理区域,数据流表的结构又分为两部分:流头和流表表项。其中流头记录了流表表项的个数以及整个流表的长度,流表表项记录了各组成部分的起始地址和时间信息等。



技术实现要素:

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

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

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

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

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

S4依次解析磁盘划分的每一个分区,在分区的引导扇区中读取该分区的文件分配表的地址,遍历该表读取出已使用的块对应的视频数据的通道、起止时 间、与该块相关的前一块和后一块地址、块已使用的字节数等信息,并计算出该块对应的数据区地址,读取该地址的相应数据;

S5该部分包括丢失数据和覆盖数据;

S51依次解析磁盘划分的每一个分区,在分区的引导扇区中读取该分区的文件分配表的地址,遍历该表读取出未使用的块,并计算出该块对应的数据区地址,判断该地址的内容是否为空,不为空时按照嵌入式监控设备的视频数据结构提取有效的视频数据;

S52依次解析磁盘划分的每一个分区,在分区的引导扇区中读取该分区的文件分配表的地址,遍历该表读取出已使用的块的已使用的字节数,并计算出该块对应的数据区地址,判断该地址的内容中未使用的部分是否为空,不为空时按照嵌入式监控设备的视频数据结构提取有效的视频数据;

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

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

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

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

S42跳至第一个分区起始,按照ext4格式读取并解析分区使用记录;

S43根据S42解析结果,判断分区使用情况,若该分区已使用则跳至S44,否则跳至S47;

S44读取各分区中的数据文件;

S45解析各数据文件中的数据流表,解析数据流表表项记录的数据文件起始地址和文件大小;

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

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

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

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

S512按照ext4文件系统的格式解析各分区参数,并获取分区空闲区域的相关记录;

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

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

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

S516提取S515中解析结果所对应的数据内容;

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

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

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

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

S523根据S522中解析结果读取各正常数据文件的数据流表记录;

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

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

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

S527提取S526中解析的结果;

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

本发明的有益效果如下:

本发明采用了按照磁盘的分区逐一读取的方法,在读取每一个分区时按照正常数据文件、丢失数据文件、覆盖数据文件进行分类解析。在读取正常数据文件时,解析分区的文件分配记录表,从该表中解析已经使用的块记录,并读取其中视频数据;在读取丢失数据文件时,解析分区的文件分配记录表,从该表中解析未使用的块记录,并读取其中视频数据判断其是否为空,不为空时按照嵌入式监控设备的视频数据结构提取有效的视频数据;在读取覆盖数据文件时,解析分区的文件分配记录表,从该表中解析已使用的块记录及已使用块的字节数,然后读取其中未使用字节的视频数据,判断其是否为空,不为空时按照嵌入式监控设备的视频数据结构提取有效的视频数据。基于上述方法,本发明可以快速判断磁盘数据是否为天地伟业的监控视频数据格式,也可以提取出 磁盘数据中有效的视频数据文件,包括正常数据文件、丢失数据文件和覆盖数据文件;还可以正确区分视频数据文件正常、丢失、覆盖的状态。

附图说明

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

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

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

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

具体实施方式

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

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

下面介绍天地伟业监控设备在存储文件时的基本结构。监控设备在初始化磁盘时,磁盘被划分为4个区域(划分的区域以下简称为分区),每一个分区采用的文件系统为ext4,在存储视频数据时依次使用每个分区,并且在分区中写入数据时会在该分区产生与之对应的存储记录数据库文件,该文件存储于第一分区。

基于上述的存储文件的逻辑,本发明所采用的数据解析的思路是:按照磁盘的分区逐一读取,在读取每一个分区时按照正常数据文件、丢失数据文件、覆盖数据文件进行分类解析。在读取正常数据文件时,解析分区的文件分配记录表,从该表中解析已经使用的块记录,并读取其中视频数据;在读取丢失数据文件时,解析分区的文件分配记录表,从该表中解析未使用的块记录,并读取其中视频数据判断其是否为空,不为空时按照天地伟业嵌入式监控设备的视频数据结构提取有效的视频数据;在读取覆盖数据文件时,解析分区的文件分 配记录表,从该表中解析已使用的块记录及已使用块的字节数,然后读取其中未使用字节的视频数据,判断其是否为空,不为空时按照天地伟业嵌入式监控设备的视频数据结构提取有效的视频数据。

实施例:

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

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

准则一:磁盘的MBR结构中包含4个ext类型的分区;

准则二:每个分区中的2扇区中的卷名为“Tiandy-DVR”;

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

S4解析磁盘划分的第一个分区,在分区的引导扇区中读取该分区的中记录的index.db文件,该文件中的record表记录了整个磁盘中正常文件的信息,包括文件的文件名、文件大小、文件记录视频的起止时间、文件记录视频的通道,根据上述读取的信息遍历磁盘分区读取各数据文件对应的内容;

S5该部分包括丢失数据和覆盖数据;

S51依次解析磁盘划分的每一个分区,在分区的引导扇区中读取该分区的空闲区域,判断该区域的内容是否为空,不为空时按照天地伟业监控设备的视频数据结构提取有效的视频数据;

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

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

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

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

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

S42跳至第一个分区起始,按照ext4格式读取并解析分区的总块数和空闲块数的值;

S43根据S42解析结果,判断分区使用情况,若空闲块数<总块数表示该分区已使用则跳至S44,否则跳至S47;

S44读取第一个分区中的index.db文件,读取index.db文件中的record表记录的正常数据文件的文件名、文件大小、文件记录视频的起止时间、文件记录视频的通道,遍历各分区中的读取indeb.db记录的全部数据文件;

S45解析各数据文件中的数据流表,具体地,数据流表表项记录存储于每个数据文件尾部,每个文件最后4个字节记录了文件流表相对于文件尾的偏移地址,相对于文件流表起始偏移地址0x20个字节处记录了该文件流表中记录的流表表项的个数,流表表项的起始地址是相对文件流表起始偏移0x28个字节,每一个表项的长度为0x10个字节,在各表项中0x04~0x07记录了表项对应视频数据的起始时间,0x08~0x0B记录了表项记录数据相对于文件头部的偏移量;

S46按照S45中解析的结果,可根据“表项数据长度=表项数据起始地址-上一表项数据起始地址”计算某一表项对应数据的长度,来提取任何一表项记录的数据;

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

S51读取丢失数据时需要参照天地伟业监控机的视频数据格式来对空闲区域的数据加以验证,下面详细介绍天地伟业监控机的视频数据格式:该类型监控机数据是以0x00000002作为数据单元头,相对头部偏移0x04~0x07为该数据单元块的长度(此长度包括数据单元头在内),相对头部偏移为0x20~0x27或者0x38~0x3F是数据块可播放标记,其标记字符串为0x000000016742001E,可根据此结构来校验空闲区域的数据是否符合该特征。提取丢失数据的详细流程如下所述:

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

S512按照ext4文件系统的格式解析各分区参数,并获取分区空闲区域的相关记录;

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

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

S515按照天地伟业视频数据的结构特征解析S514中提取数据包含天地伟业视频数据单元头0x00000002;

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

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

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

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

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

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

S523根据S522中解析结果读取各各正常数据文件的数据流表记录信息,此处解析可参考S45中解析结果;

S524可根据正常数据文件的大小与文件流表各表项中记录的各表项大小之和的大小关系来判断各数据文件是否存在未使用的字节,若正常数据文件的大小>文件流表各表项中记录的各表项大小之和则表示存在未使用的字节数则跳至S525,否则跳至S528;

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

S526按照天地伟业视频数据的结构特征解析S514中提取数据包含天地伟业视频数据单元头0x00000002;

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

S528按照天地伟业视频数据的结构特征提取S515中解析结果所对应的数据内容;

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

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

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