一种嵌入式录像数据存储方法_2

文档序号:8490210阅读:来源:国知局
标时间快速计算出索引的存储位置。
[0026]通过设置备份索引区,能够避免磁盘损坏导致索引丢失(此时录像数据并不会丢失,但是检索起来非常麻烦)。索引区和备份索引区,主要用于指定一个数据块在磁盘中的扇区偏移量。为了处理2T以上容量的磁盘,使用8个字节来保存扇区偏移量。此外,在索引区和备份索引区,还会记录存储了哪些通道(由于一般的设备都会支持多个摄像头同时录像,因此,需要记录通道信息)、视频的信息和录像的原因信息。根据索引区和备份索引区中记录的信息,就能够快速检索出指定时间内哪路视频有录像,录像的原因是什么等信息。
[0027]所述的数据区,用于按照数据块存储数据。每个数据块均采用一个明显的标识作为数据块头,后面跟若干个数据帧。每个数据帧也具有一个明显的标识头。本发明将每个数据块的时间跨度都设置为相同的,这样在硬盘出现严重损坏之后,索引区的信息都丢失了,只要恢复任意一段磁盘上的数据,就可以通过查找数据块和数据帧的标识头来恢复原始的诗篇数据。采用专门的工具软件,就可以实现视频的播放和再生存储成文件。
[0028](2 )根据录像数据存储格式,写入录像数据,具体包括以下步骤,如图2所示:
(201)监控录像设备的视频采集和编码模块产生一帧数据,开始准备写入;所述数据为视频数据或音频数据;
(202)判断缓冲时间或数据量是否超过门限,若是,则执行步骤(204);若否,则执行步骤(203);
(203)将数据进行缓存,并返回执行步骤(202);
(204)判断监控录像设备的振动指数是否超过门限,若是,则返回执行步骤(203);若否,则执行步骤(205); (205)判断是否存在空闲的数据区和索引区;若是,则执行步骤(207);若否,则执行步骤(206);
(206)采用删除旧索引和旧数据的方法,释放出可用的空闲数据区和索引区;
(207)采用直接访问磁盘驱动的方法,向空闲的数据区、索引区和备份索引区写入数据;
(208)完成一帧数据的写入;
(3)根据录像数据存储格式,进行录像数据查询,具体包括以下步骤,如图3所示:
(301)用户输入起始时间、录像的视频通道号和录像原因等查询条件,开始查询;
(302)根据查询的起始时间换算出索引的起始编号;
(303)读取具有上述起始编号的索引的详细信息;
(304)判断具有上述起始编号的索引中的视频通道号和录像原因是否与查询条件相符;若是,则执行步骤(305);若否,则执行步骤(308);
(305)判断是否已经找到过录像文件的开头;若是,则执行步骤(306);若否,则执行步骤(310);
(306)将读指针移动到下一个索引;
(307)判断步骤(306)中的索引是否超过了索引范围,若是,则执行步骤(311);若否,则返回执行步骤(303);
(308)判断是否找到过录像文件的开头;若是,则执行步骤(309);若否,则返回执行步骤(306);
(309 )若找到过录像文件的开头,则说明录像已结束,产生一个录像文件,将录像文件放在查询的录像文件列表中,并清空找到过录像文件开头的标记,返回执行步骤(306);所述的录像文件,其起始时间为第一次找到录像文件的开头时标记的时间,截止时间为当前索引所在的时间;
(310)若之前没有找到过录像文件的开头,当前找到了符合查询条件的索引,则说明当前的索引为录像文件的开头,在该索引所在位置记下标记,并且记下录像的开始时间,返回执行步骤(306);
(311)若索引超范围,则说明已经到了查询时间范围的尾部或者到了全部录像的尾部;此时,再对是否找到过录像文件的开头进行判断,若是,则返回执行步骤(309);若否,则执行步骤(311);
(312)将已经生产的录像文件列表作为查询结果返回;
(313)查询操作结束;
(4)根据录像数据存储格式,进行录像数据读取,具体包括以下步骤,如图4所示:
(401)用户根据录像查询结果,开始读取录像文件中的数据;
(402)根据录像文件的起始时间,找到录像文件开始的索引;
(403)根据录像文件开始的索引中保存的数据区偏移地址,在数据区中找到对应的数据块;
(404)在数据块中读取数据帧的帧头信息;
(405)根据帧头信息,判断该数据帧是否属于上述录像文件;若是,则执行步骤(406);若否,则执行步骤(407); (406)读取录像数据帧;
(407)直接读取下一帧数据的帧头信息;
(408)判断数据帧是否超过了录像文件的结束时间,若是,则执行步骤(409);若否,则返回执行步骤(405);
(409)录像文件读完,录像数据读取流程结束。
[0029] 以上所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。
【主权项】
1.一种嵌入式录像数据存储方法,其特征在于:该存储方法包括以下步骤: (1)设置录像数据存储格式;所述的录像数据存储格式包括磁盘头、索引区、数据区、备份索引区和备份磁盘头;所述的磁盘头和备份磁盘头,均用于记录磁盘的信息;所述的索引区和备份索引区,均用于记录录像数据的索引及录像原因信息;所述的数据区,用于按照数据块存储数据; (2)根据录像数据存储格式,写入录像数据,具体包括以下步骤: (201)监控录像设备的视频采集和编码模块产生一帧数据,开始准备写入;所述数据为视频数据或音频数据; (202)判断缓冲时间或数据量是否超过门限,若是,则执行步骤(204);若否,则执行步骤(203); (203)将数据进行缓存,并返回执行步骤(202); (204)判断监控录像设备的振动指数是否超过门限,若是,则返回执行步骤(203);若否,则执行步骤(205); (205)判断是否存在空闲的数据区和索引区;若是,则执行步骤(207);若否,则执行步骤(206); (206)采用删除旧索引和旧数据的方法,释放出可用的空闲数据区和索引区; (207)采用直接访问磁盘驱动的方法,向空闲的数据区、索引区和备份索引区写入数据; (208)完成一帧数据的写入; (3)根据录像数据存储格式,进行录像数据查询,具体包括以下步骤: (301)用户输入起始时间、录像的视频通道号和录像原因等查询条件,开始查询; (302)根据查询的起始时间换算出索引的起始编号; (303)读取具有上述起始编号的索引的详细信息; (304)判断具有上述起始编号的索引中的视频通道号和录像原因是否与查询条件相符;若是,则执行步骤(305);若否,则执行步骤(308); (305)判断是否已经找到过录像文件的开头;若是,则执行步骤(306);若否,则执行步骤(310); (306)将读指针移动到下一个索引; (307)判断步骤(306)中的索引是否超过了索引范围,若是,则执行步骤(311);若否,则返回执行步骤(303); (308)判断是否找到过录像文件的开头;若是,则执行步骤(309);若否,则返回执行步骤(306); (309 )若找到过录像文件的开头,则说明录像已结束,产生一个录像文件,将录像文件放在查询的录像文件列表中,并清空找到过录像文件开头的标记,返回执行步骤(306);所述的录像文件,其起始时间为第一次找到录像文件的开头时标记的时间,截止时间为当前索引所在的时间; (310)若之前没有找到过录像文件的开头,当前找到了符合查询条件的索引,则说明当前的索引为录像文件的开头,在该索引所在位置记下标记,并且记下录像的开始时间,返回执行步骤(306); (311)若索引超范围,则说明已经到了查询时间范围的尾部或者到了全部录像的尾部;此时,再对是否找到过录像文件的开头进行判断,若是,则返回执行步骤(309);若否,则执行步骤(311); (312)将已经生产的录像文件列表作为查询结果返回; (313)查询操作结束; (4)根据录像数据存储格式,进行录像数据读取,具体包括以下步骤: (401)用户根据录像查询结果,开始读取录像文件中的数据; (402)根据录像文件的起始时间,找到录像文件开始的索引; (403)根据录像文件开始的索引中保存的数据区偏移地址,在数据区中找到对应的数据块; (404)在数据块中读取数据帧的帧头信息; (405)根据帧头信息,判断该数据帧是否属于上述录像文件;若是,则执行步骤(406);若否,则执行步骤(407); (406)读取录像数据帧; (407)直接读取下一帧数据的帧头信息; (408)判断数据帧是否超过了录像文件的结束时间,若是,则执行步骤(409);若否,则返回执行步骤(405); (409)录像文件读完,录像数据读取流程结束。
【专利摘要】本发明涉及一种嵌入式录像数据存储方法,该存储方法包括以下步骤:一、设置录像数据存储格式;二、根据录像数据存储格式,写入录像数据;三、根据录像数据格式,查询录像数据;四、根据录像数据存储格式,读取录像数据。该方法能够有效避免现有的通用文件系统中存在的问题,不仅能够可靠高效的存储数据,还能够实现高效的数据检索和数据读取。
【IPC分类】H04N5-781
【公开号】CN104811645
【申请号】CN201510215226
【发明人】王小敏, 项敏敏, 郑浩, 钱立斌
【申请人】安徽清新互联信息科技有限公司
【公开日】2015年7月29日
【申请日】2015年4月30日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1