基于龙视安嵌入式安防设备的数据解析及提取方法与流程

文档序号:12609421阅读:338来源:国知局
基于龙视安嵌入式安防设备的数据解析及提取方法与流程

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



背景技术:

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

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

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

由于监控视频的存储是设备厂商自定义的存储格式,比如龙视安,因此传 统的数据恢复技术无法应用到龙视安监控机的视频数据提取与恢复;市面上现有技术无法恢复龙视安监控机的未使用区域的丢失文件;即使能进行视频数据的恢复,但也无法对文件状态属性加以区分。

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

块:一个分区被分成大小相等,连续空间的区域;

文件分配表:映射到分区每个块的条目列表,在每个条目中记录了该条目映射的块的使用状况;

主引导记录表:针对龙视安的磁盘分区,在磁盘最前端的一段管理扇区;

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

丢失删除数据:是指磁盘分区的文件分配表中标识为未使用区域的块所对应的地址中保存的可播放的有效视频数据,以及在磁盘分区的文件分配表中有已使用的标记的块中标记为未使用的中可正常播放的视频数据。



技术实现要素:

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

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

S1:解析主引导记录表;

S2:根据主引导记录表找到数据区并解析;

S3:根据S2解析的数据区信息进行数据提取。

作为优选,S1解析主引导记录表的具体方法如下:

11:在每个扇区偏移位置512=470的四个字节是数据区的开始扇区;

12:在每个扇区偏移位置512=474的四个字节是数据区的分区大小扇区值。

作为优选,S2根据主引导记录表找到数据区并解析的具体步骤如下:

S21:根据所述11和12的值确定分区开始扇区与分区大小扇区值,并跳转至分区开始扇区解析文件分配表信息;

S22:根据S21中解析的信息找到数据区开始位置后跳至64MB字节大小的区域即为数据区尾部开始地址;

S23:根据S22中解析的数据区尾部信息即可找到每个文件数据头区域的开始位置和大小;

S24:根据S23解析出的文件数据头区域的开始位置和大小在64MB字节大小的区域判断是否存在未使用的区域,如果存在即表示为丢失删除数据文件,否则为正常数据文件。

作为优选,所述S21针对数据区解析具体如下:

211:文件分配表中偏移512=128字节的四个字节的值为START_DATA_OFF,数据区开始位置从文件分配表位置开始偏移大小表示为:START_DATA_OFF*8;

212:文件分配表中偏移512=148字节的四个字节的值为START_PART_OFF,记录当前文件分配表位置开始是从磁盘开始偏移START_PART_OFF扇区;

213:文件分配表中偏移512=156字节的四个字节的值:START_PART_TOTAL,记录当前数据区大小为START_PART_TOTAL。

作为优选,所述S22针对文件块尾部流表解析具体如下:

221:尾部最后一个扇区偏移512=240位置的四个字节记录的是块大小中存在BLOCK_SIZE个记录项,系统规定每条记录项是32字节,每条记录项描述的是4秒视频数据;

222:尾部最后一个扇区偏移512=236位置的四个字节记录的是块大小中标记项大小TOTAL_BLOCK_SIZE,从当前扇区最后位置向前偏移TOTAL_BLOCK_SIZE到标记项的头;

223:尾部最后一个扇区偏移512=228位置开始向前偏移BLOCK_SIZE*32,在每个记录项中:1-4字节是UNIX时间戳记录的当前流TIME;9-12字节是当前流视频通道CHANNEL,真实的通道是CHANNEL+1;21-24字节是视频偏移位置,其中前3个字节记录的是偏移值加上第四个字节的值乘以16M字节数的总和;

作为优选,S23针对文件数据头区域解析具体如下:

231:文件头中的标记字节为0X00AA;

232:紧跟文件头标记字节0X00AA后面的4个字节是时间信息,时间格式UNIX时间戳;

233:从文件头标记字节0X00AA开始偏移0X0A个字节的4个字节长度是通道信息,真实的通道为显示的通道加1;

234:从文件头标记字节0X00AA开始偏移10个字节的4个字节长度是通道信息,通道与显示的通道加0X52个字节是视频解码的文件头。

作为优选,S3的具体方法如下:

S31根据S2中解析出的数据区尾部信息记录了正常数据的存储方式,按照通道、时间的前后逻辑将正常数据进行提取;

S32所述S31中数据区尾部信息未记录的数据区域统一划为丢失删除数 据,按照所述S23解析出的文件数据头区域信息将时间、通道、以及可以被正常解码的文件头进行逻辑性组合将丢失删除数据进行提取。

本发明的有益效果如下:本发明采用了解析主引导记录表,并根据主引导记录表标记出数据区并解析,最后根据解析的数据区信息进行数据提取。基于上述方法,本发明可以快速判断磁盘数据是否为龙视安的监控视频数据格式,也可以提取出磁盘数据中有效的视频数据文件,包括正常数据文件、丢失删除数据文件;还可以正确区分视频数据文件正常、丢失删除的状态。

附图说明

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

图2为实施例解析主引导记录表的示意图;

图3为实施例根据主引导记录表找到数据区并解析的流程图;

图4为实施例针对文件分配表解析示意图;

图5为实施例针对文件块尾部流表解析示意图;

图6为实施例针对文件数据头区域解析示意图。

具体实施方式

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

针对上述提出的问题,本发明提出了一种基于龙视安嵌入式安防设备的数据解析及提取方法,该发明不仅能高效地提取正常的视频数据,还能将非正常的数据进行有效的恢复。

下面以龙视安视嵌入式频监控设备为为例对本发明进行详细说明,先介绍龙视安视嵌入式频监控设备在存储文件时的基本结构。龙视安视嵌入式频监控 设备文件存储分为管理区与数据区,管理区是一个ext3的文件系统结构,而数据区是一种自定义的存储结构,其结构由一个文件分配表表记录数据区开始位置START_DATA_OFF,记录文件分配表位置的START_PART_OFF记录了龙视安数据区大小START_PART_TOTAL的信息,在数据区中的视频数据是按照64M块大小来存储数据的,文件分配表中的信息是描述第一个数据块距离存储位置的目标指针,每个块最后部分的数据是记录当前块的位图信息,每条位图信息描述一秒视频数据,其长度是32字节大小,位图信息中有视频数据的时间、通道、以及数据在块中的相对位置,每个块数据的描述方式都是基于上述原理。

基于上述的存储文件的逻辑,本发明所采用的数据解析与提取的原理如下:根据文件分配表中的描述信息START_DATA_OFF可以确定数据的开始位置,每个块的大小就可以把硬盘所有区域划分为块集合,而在每个块中存在描述数据的位图信息,根据位图信息中的时间、通道和偏移位置可以将数据按照同一个通道时间从前到后的关系将正常数据进行提取与组合;针对丢失数据的提取其原理是基于删除数据不会在磁盘中清除,在底层结构中数据还是存在的,只不过由于其位图信息丢失导致无法检索到数据区,因此丢失数据可以按照数据中的描述进行数据提取与组合,在数据区中文件头中的标记字节为0X00AA;紧跟文件头标记字节0X00AA后面的4个字节是时间信息,时间格式为UNIX时间戳;从文件头标记字节0X00AA开始偏移0X0A个字节的4个字节长度是通道信息,通道与应用层显示的通道相差1;从文件头标记字节0X00AA开始偏移10个字节的4个字节长度是通道信息,通道与显示的通道相差0X52个字节是视频解码的文件头,提取视频时必须从此处提取方可正常解码,同理依然可以按照同一个通道时间从前到后的关系将其它丢失数据进行组合并提取。

为了详细说明本发明的方法,结合附图进一步阐述。

实施例:

如图1所示,包括以下步骤:

101解析主引导记录表(MBR);

102根据主引导记录表找到ext3管理区;

103根据主引导记录表找到数据区并解析;

104根据103解析的数据区信息进行数据提取。

如图2所示,101中的针对主引导记录表解析如下:

1011每个扇区偏移位置512=454的四个字节是ext3管理区的开始扇区;

1012每个扇区偏移位置512=458的四个字节是ext3管理区的分区大小扇区值;

1013每个扇区偏移位置512=470的四个字节是数据区的开始扇区;

1014每个扇区偏移位置512=474的四个字节是数据区的分区大小扇区值。

102中的针对管理区解析如下:

102中所述的管理区主要记录的是用户操作与用户的使用信息,由于它是ext3的文件系统,公开的方法都是可以支持的,故此处不多做说明。

如图4所示,1031针对数据区解析如下:

1031根据1013的值可以确定分区开始扇区与分区大小扇区,跳转至分区开始扇区解析文件分配表信息(DBR):

10311在文件分配表中偏移512=128字节的四个字节的值为START_DATA_OFF,数据区开始位置从文件分配表位置开始偏移系统默认的簇大小START_DATA_OFF*8,即8倍START_DATA_OFF的大小;

10312在文件分配表中偏移512=148字节的四个字节的值为START_PART_OFF,记录当前文件分配表位置开始是从磁盘开始偏移 START_PART_OFF扇区;

10313在文件分配表中偏移512=156字节的四个字节的值为START_PART_TOTAL,记录当前数据区大小为START_PART_TOTAL;

如图5所示,1032针对文件块尾部流表解析如下:

根据10311中记录的位置可以找到数据区开始位置,由于系统默认的块大小是固定的64MB,因此可以找到数据区尾部。

10321在尾部最后一个扇区偏移512=240位置的四个字节记录的是块大小中存在BLOCK_SIZE个记录项,系统规定每条记录项是32字节,每条记录项描述的是4秒视频数据;

10322在尾部最后一个扇区偏移512=236位置的四个字节记录的是块大小中标记项大小:TOTAL_BLOCK_SIZE,从当前扇区最后位置向前偏移TOTAL_BLOCK_SIZE到标记项的头;

10323在尾部最后一个扇区偏移512=228位置开始向前偏移10321中BLOCK_SIZE*32(系统规定每条记录项大小是32字节);在每个记录项中:1-4字节是UNIX时间戳记录的当前流TIME;9-12字节是当前流视频通道CHANNEL(真实的通道是CHANNEL+1);21-24字节是视频偏移位置(前3个字节记录的是偏移值加上第四个字节的值乘以16M字节数的总和);

如图6所示,1033针对文件数据头区域解析:

由于1032解析的信息记录了每个文件数据头区域的开始位置即前3个字节记录的值,因此可以根据1032中解析的信息找到每个文件数据头区域;

10331文件头中的标记字节为0X00AA;

10332紧跟文件头标记字节0X00AA后面的4个字节是时间信息,时间格式UNIX时间戳;

10333从文件头标记字节0X00AA开始偏移0X0A个字节的4个字节长度是通道信息,通道与应用层显示的通道相差1;

10334从文件头标记字节0X00AA开始偏移10个字节的4个字节长度是通道信息,通道与显示的通道相差0X52个字节是视频解码的文件头,提取视频数据时必须从此处提取方可正常解码。

104针对103解析的数据进行提取:

1041所述103中解析出的数据区尾部信息记录了正常数据的存储方式,按照通道、时间的前后逻辑将正常数据进行提取;

1042所述1041中数据区尾部信息未记录的数据区域统一划为丢失删除数据,按照所述S23解析出的文件数据头区域信息将时间、通道、以及可以被正常解码的文件头进行逻辑性组合将丢失删除数据进行提取。

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

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