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

文档序号:18374209发布日期:2019-08-07 01:58阅读:152来源:国知局
嵌入式安防设备的数据提取方法与流程

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



背景技术:

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

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

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

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

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

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

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

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

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

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



技术实现要素:

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

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

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

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

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

S4根据分区所使用的文件系统格式解析分区的各项参数及分区的使用情况,读取对应地址的相应正常数据;

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

S51解析磁盘划分的分区,按照ext3格式解析出磁盘的空闲块或块组,解析磁盘中的未使用的块或块组,并计算出该块对应的数据区地址,判断所述步骤S51中所述数据区的内容是否为空,不为空时按照嵌入式监控设备的视频数据结构提取有效的视频数据;

S52解析磁盘划分的分区,遍历在磁盘的正常文件,计算出该块对应的数据区地址,判断所述步骤S51中所述数据区的内容中未使用的部分是否为空,不为空时按照嵌入式监控设备的视频数据结构提取有效的视频数据;

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

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

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

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

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

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

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

S45解析分区中正常文件的有效数据,读取文件中已使用的字节数;

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

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

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

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

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

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

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

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

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

S516判断空闲区域中是否存在符合视频数据的结构特征解析的视频数据,若存在跳至S517,否则跳至S518;

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

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

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

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

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

S523根据S522中解析结果读取各正常数据文件的数据内容;

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

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

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

S527判断未使用字节数中是否存在符合视频数据的结构特征解析的视频数据,若存在则跳至S528,否则跳至S529;

S528提取S527中解析的结果;

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

本发明的有益效果如下:本发明采用了解析磁盘的分区情况,并解析分区的起始地址、大小、引导扇区地址;根据分区所使用的文件系统格式解析分区的各项参数及分区的使用情况,读取对应地址的相应数据;读取丢失数据和覆盖数据;按照正常数据、丢失数据、覆盖数据三种类别读取数据记录后,结合视频文件的格式结构,分类别提取其对应的有效数据。基于上述方法,本发明可以快速判断磁盘数据是否为平安福的监控视频数据格式,也可以提取出磁盘数据中有效的视频数据文件,包括正常数据文件、丢失数据文件和覆盖数据文件;还可以正确区分视频数据文件正常、丢失、覆盖的状态。

附图说明

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

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

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

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

具体实施方式

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

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

下面介绍平安福监控设备在存储文件时的基本结构。监控设备在初始化磁盘时,磁盘被划分为1个区域(划分的区域以下简称为分区),该分区采用的文件系统为ext3格式。

下面详细介绍平安福嵌入式监控设备在存储文件时的基本结构。为了更为方便的阐述本发明中的方法,本例使用平安福NVR PAF-NVR9004-1录像机产生的视频数据格式为例进行阐述,存储介质在接入该类型机器后被初始化,初始化结果是将存储介质分为1个分区,且该分区所采用的文件系统为ext3格式。其中,分区包含文件eventindex.avx、eventlog.dat、iframeindex.avx、timeindex.avx、stream0000.avx~streamNNNN.avx等文件,,其中stream0000.avx~streamNNNN.avx是数据文件,写入数据的规则是创建一个新文件,写满之后再创建第二个新文件。上述文件中iframeindex.avx为磁盘数据流信息文件,

平安福录像机存储在磁盘中真实数据的结构如下所述:正常单个文件特征头是0xFF01000000113200,在其头部之后的数据结构中部分偏移位置的意义如下表所示:

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

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

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

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

准则一:磁盘的MBR结构中仅包含1个ext3类型的分区;

准则二:分区记录的文件结构符合平安福嵌入式监控设备在存储文件时的基本结构;

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

S4解析磁盘划分的分区,在分区的iframeindex.avx文件中记录了整个磁盘中正常文件的信息,主要包括文件的文件大小、文件记录视频的起始时间、可播放文件数,根据上述读取的信息遍历磁盘分区读取各数据文件对应的内容;

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

S51依次解析磁盘划分的分区,根据ext3文件系统的结构在分区中读取该分区的空闲区域,判断该区域的内容是否为空,不为空时按照平安福监控设备的视频数据结构提取有效的视频数据;

S52根据S4中解析结果,并计算出每个正常的数据文件streamNNNN.avx中记录的未使用字节数,判断步骤S51中所述数据区的内容中是否为空,不为空时按照平安福监控设备的视频数据结构提取有效的视频数据;

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

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

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

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

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

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

S44根据分区中的iframeindex.avx文件,读取正常数据文件的文件大小、文件记录视频的起始时间、可播放文件数等信息,根据上述读取的信息遍历磁盘分区读取各数据文件对应的内容;

S45按照平安福录像机存储在磁盘中真实数据的结构解析每一个正常文件的数据内容,具体地,文件特征头是0xFF01000000113200,相对文件特征头起始偏移0x09记录的值为视频数据通道号-1,相对文件特征头起始偏移0x0B~0x0E记录的值表示该特征到下一特征的数据长度,相对文件特征头起始偏移0x0F~0x12记录的值表示该视频数据的起始时间,相对文件特征头起始偏移0x54~0x5A记录的值为可播放标记;

S46按照S45中解析的结果,计算每个特征头对应数据的长度,来提取任何一特征头对应的数据内容;

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

其中,S5读取丢失数据和覆盖数据的详细流程如下所述:

S51读取丢失数据时需要参照平安福监控机的视频数据格式来对空闲区域的数据加以验证,下面详细介绍平安福监控机的视频数据格式:该类型监控机数据文件特征头是0xFF01000000113200,相对文件特征头起始偏移0x09记录的值为视频数据通道号-1,相对文件特征头起始偏移0x0B~0x0E记录的值表示该特征到下一特征的数据长度,相对文件特征头起始偏移0x0F~0x12记录的值表示该视频数据的起始时间,相对文件特征头起始偏移0x54~0x5A记录的值为可播放标记,可根据此结构来校验空闲区域的数据是否符合该特征。

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

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

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

S513根据S512中解析结果判断分区是否存在空闲区域,若存在则跳至S514,否则跳至S517;

S514读取分区空闲区域地址对应的数据内容;

S515按照平安福视频数据的结构特征解析S514中提取数据包含平安福视频数据特征头0xFF01000000113200;

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中提取数据包含平安福视频数据特征头0xFF01000000113200;

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

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

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

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

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