CN103226965B - 基于时间位图的音视频数据存取方法 - Google Patents
基于时间位图的音视频数据存取方法 Download PDFInfo
- Publication number
- CN103226965B CN103226965B CN201310108041.8A CN201310108041A CN103226965B CN 103226965 B CN103226965 B CN 103226965B CN 201310108041 A CN201310108041 A CN 201310108041A CN 103226965 B CN103226965 B CN 103226965B
- Authority
- CN
- China
- Prior art keywords
- index
- data
- block
- time
- video
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明公开了一种基于时间位图的音视频数据存取方法,包括以下步骤:预先将磁盘空间划分为索引区和数据区,所述索引区用于存放时间位图索引和一级索引,其中时间位图索引中的各个数据位分别对应一个一级索引;所述数据区划分为若干区块,每个区块对应一个二级索引;音视频数据的存取过程依次包括录像段的写入、录像段的检索以及录像段的读取。本发明方法适用于大容量的存储设备,可以消除存取过程中产生的空间碎片,在异常断电时,不会造成已保存数据的丢失,同时,读取数据时分区块进行,有利于延长硬盘的使用寿命。
Description
技术领域
本发明涉及音视频数据存储领域,具体涉及一种基于时间位图的音视频数据存取方法。
背景技术
视频监控系统与PC机一样,存在用于保存音视频录像的硬盘文件系统,视频监控系统的硬盘文件系统,可以分为一类,第一类是与PC机相同的通用文件系统,第二类是专门开发的,适合特定存储目的的专用文件系统。
在视频监控系统中,当使用布防计划(布防时间可以为几分钟到几天,也可能全天候)录像时,会产生很大量的数据(几GB到数十GB,甚至上TB);但是因告警触发音视频录像时,由于时间短(告警时间可以为几秒或者几分钟),通常产生较小的数据(几百KB到数十MB)。
在视频监控系统中,单个摄像头需要持续不间断的录像,但所分配的硬盘空间大小通常是固定的,因此,当被分配的硬盘空间录满时,就需要回收硬盘空间。另外,在室外的视频监控系统中,监控设备易受天气等外部环境影响,监控设备时常会被突然断电。
PC机所使用的文件系统中,一个数据包对应一个文件,当超大文件和小文件混合保存时,在硬盘空间回收过程中,会在硬盘上产生大量碎片空间,影响硬盘的使用效率,降低系统的性能,而且在保存大文件的过程中,需要频繁地读写数据和文件索引,磁头频繁跳动,极容易造成硬盘故障,此外,在文件写入过程中如果突然断电,通用文件系统的索引很容易处于不一致状态,导致文件内容或整个文件丢失,甚至整个文件系统都无法使用,造成数据丢失。
针对特定存储目的研发的专用文件系统可以高效率地管理整个硬盘,不受录像数据包大小影响,从录像开始时间到结束时间为一个录像段,录像段长度可从几秒钟到几十小时,甚至更长,数据可从几KB到几十TB,录像段长度只受可使用的硬盘空间限制。采用这种硬盘管理方式,磁头不需要频繁读写数据与文件索引,延长硬盘使用寿命;硬盘录满后,采用一定的回收策略进行空间回收,也不存在硬盘碎片。硬盘局部的错误,不会影响其他的录像。在突然断电的情况下,只会丢失断电前一小部分录像资料,而不影响其它录像资料;原始录像资料盘数据与PC不兼容,无法在PC上直接修改,保证原始资料的保密性和可靠性。
发明内容
本发明提供了一种基于时间位图的音视频数据存取方法,适用于大容量的存储设备,可以消除存取过程中产生的空间碎片,在异常断电时,不会造成已保存数据的丢失,同时,读取数据时分区块进行,有利于延长硬盘的使用寿命。
一种基于时间位图的音视频数据存取方法,包括以下步骤:预先将磁盘空间划分为索引区和数据区,所述索引区用于存放时间位图索引和一级索引,其中时间位图索引中的各个数据位分别对应一个一级索引;所述数据区划分为若干区块,每个区块对应一个二级索引;
音视频数据的存取过程依次包括录像段的写入、录像段的检索以及录像段的读取;其中,录像段的写入过程包括以下步骤:
a、将待写入的录像段中的数据组装成若干个数据块,每个数据块的大小对应一个区块的容量,每个数据块中包含若干数据包;
b、根据待写入的录像段中的数据的属性为每个数据块建立对应的二级索引;
c、将各个数据块写入区块缓冲区,同时将二级索引写入二级索引缓冲区;
在将所述数据块写入区块缓冲区的过程中,每隔固定时间段,依据当前即将写入区块缓冲区的数据块的二级索引生成一级索引,并在索引区中写入该一级索引,同时将时间位图索引中与该一级索引相对应的数据位的值由0更新为1(数据位初始设置均为0);所述固定时间段的时长为5~10min。
d、当区块缓冲区写满后,将区块缓冲区中的数据块写入数据区中,同时将对应的二级索引由二级索引缓冲区写入数据区;
录像段的检索过程包括以下步骤:
e、根据需要检索的录像段的开始时间和结束时间计算时间位图索引中对应的起始数据位和结束数据位,并依据计算结果提取得到时间位图段;
f、在得到的时间位图段中,将所有数据位连续为1的部分分别组成录像段索引;
g、根据时间位图索引的起始数据位对应的时间,计算得到每个录像段索引的开始时间和结束时间;
录像段的读取过程包括以下步骤:
h、根据每个录像段索引的开始时间计算该开始时间在时间位图索引中的位置,然后在索引区中读取对应的一级索引;
i、根据一级索引计算所对应的二级索引的开始位置和结束位置;
j、根据二级索引计算所对应数据块在数据区中的位置;
k、将数据块从数据区读入区块缓冲区内;
l、以数据包的形式读取区块缓冲区中对应的数据块;该步骤中,首先判断待读取的数据包是否完整地存在于当前区块缓冲区内,若待读取的数据包完整地存在于当前区块缓冲区内,则直接读取;
若待读取的数据包没有完整地存在于当前区块缓冲区内,则从数据区向区块缓冲区读取下一条二级索引所对应的数据块,再重新执行步骤l。
m、将读取到数据包转换为音视频数据格式,返回给调用者。
作为优选,所述索引区中还存放有时间位图的起始位置和大小,一级索引的起始位置和大小。所述索引区中还存放有时间位图的时间范围和区块的容量。索引区中也存放有硬盘信息。
每个区块包括二级索引存储区和音视频数据存储区。音视频数据以数据包的形式保存,数据包由包头部和音视频数据组成。
本发明在存储音视频数据时,将音视频数据以区块为单位进行分段,区块的大小是固定的,由于在不同区块中切换时仅为地址修改操作,不会因此产生操作延迟,进而引起数据丢失。
本发明在存储和读取音视频数据时具有很强的局部性,将数据以数据块的形式依次写入磁盘中,可以大幅减少磁盘磁头的移动,同时,对数据的位图索引和一级索引进行预读缓存和延迟写,大幅减少了对磁盘索引区的访问,有效地延长了磁盘的使用寿命。
本发明对磁盘空间管理使用简单的两级索引结构,任何操作造成中断,仅丢失缓冲区中的数据,已写入的数据仍处于一致性状态,可以在系统异常断电的情况下保证数据安全。
相对于传统的通用文件系统,本发明具有很好的局部性和无空间碎片的特点,在异常断电时,不会造成已保存数据的丢失,同时数据访问局部性强,有利于延长硬盘使用寿命;相对于其他专用文件系统,本发明具有更好的空间回收策略和分段策略,有利于硬盘空间的有效利用,同时可以向T级大容量存储设备提供支持。
附图说明
图1为本发明方法中录像段写入过程的流程图;
图2为本发明方法中录像段检索过程的流程图;
图3为本发明方法中录像段读取过程的流程图;
图4为本发明方法中时间位图、一级索引以及二级索引的对应关系图。
具体实施方式
下面结合附图,对本发明基于时间位图的音视频数据存取方法做详细描述。
一种基于时间位图的音视频数据存取方法,预先将磁盘空间划分为索引区和数据区,索引区用于存放时间位图索引和一级索引,其中时间位图索引中的各个数据位分别对应一个一级索引;索引区中还存放有时间位图的起始位置和大小、一级索引的起始位置和大小、时间位图的时间范围、区块的容量以及硬盘信息。
数据区划分为若干区块,每个区块对应一个二级索引。每个区块包括二级索引存储区和音视频数据存储区,将二级索引存储在二级索引存储区,音视频数据存于音视频数据存储区中。
时间位图、一级索引和二级索引的对应关系如图4所示,图4中仅示意了两个一级索引与二级索引的关系,其余一级索引与二级索引的关系,可以依据需要相对应。
音视频数据的存取过程依次包括录像段的写入、录像段的检索以及录像段的读取。
如图1所示,录像段的写入过程包括以下步骤:
a、将待写入的录像段中的数据组装成若干个数据块,每个数据块的大小对应一个区块的容量,每个数据块中包含若干数据包(数据在首先组成数据包,然后由数据包组装成数据块);
划分为若干数据块后,对每个数据块增加识别标记,例如进行编号,便于在读取时,识别被破坏或不完整的数据;
b、根据待写入的录像段中的数据的属性为每个数据块建立对应的二级索引(由于数据读取时,从非关键帧开始读取没有意义,因此为了加快写入和读取的速度,只有数据为音视频数据且为关键帧的首包数据时,对其生成二级索引,其他数据不新生成二级索引,仍使用最近一次生成的二级索引);
c、将各个数据块写入区块缓冲区,同时将二级索引写入二级索引缓冲区;
在将数据块写入区块缓冲区的过程中,每隔固定时间段,依据当前即将写入区块缓冲区的数据块的二级索引生成一级索引,并在索引区中写入该一级索引,同时将时间位图索引中与该一级索引相对应的数据位的值由0更新为1(数据位的值为0时,表示该时间位图索引的相应时间段内没有存储音视频数据;数据位的值为1时,表示该时间位图索引的相应时间段内存储有音视频数据);
d、当区块缓冲区写满后,将区块缓冲区中的数据块写入数据区中,同时将对应的二级索引由二级索引缓冲区写入数据区;
如图2所示,录像段的检索过程包括以下步骤:
e、根据需要检索的录像段的开始时间和结束时间计算时间位图索引中对应的起始数据位和结束数据位,并依据计算结果提取得到时间位图段;
f、在得到的时间位图段中,将所有数据位连续为1的部分分别组成录像段索引;
g、根据时间位图索引的起始数据位对应的时间,计算得到每个录像段索引的开始时间和结束时间;
如图3所示,录像段的读取过程包括以下步骤:
h、根据每个录像段索引的开始时间计算该开始时间在时间位图索引中的位置,然后在索引区中读取对应的一级索引;
i、根据一级索引计算所对应的二级索引的开始位置和结束位置;
j、根据二级索引计算所对应数据块在数据区中的位置;
k、将数据块从数据区读入区块缓冲区内;
l、判断待读取的数据包是否完整地存在于当前区块缓冲区内,若待读取的数据包完整地存在于当前区块缓冲区内,则读取区块缓冲区中对应的数据包;若待读取的数据包没有完整地存在于当前区块缓冲区内,则从数据区向区块缓冲区读取下一条二级索引所对应的数据块,然后读取区块缓冲区中对应的数据包;
m、将数据包转换为音视频数据格式,返回给调用者。
Claims (6)
1.一种基于时间位图的音视频数据存取方法,其特征在于,包括以下步骤:预先将磁盘空间划分为索引区和数据区,所述索引区用于存放时间位图索引和一级索引,其中时间位图索引中的各个数据位分别对应一个一级索引;所述数据区划分为若干区块,每个区块对应一个二级索引;
音视频数据的存取过程依次包括录像段的写入、录像段的检索以及录像段的读取;其中,录像段的写入过程包括以下步骤:
a、将待写入的录像段中的数据组装成若干个数据块,每个数据块的大小对应一个区块的容量,每个数据块中包含若干数据包;
b、根据待写入的录像段中的数据的属性为每个数据块建立对应的二级索引;
c、将各个数据块写入区块缓冲区,同时将二级索引写入二级索引缓冲区;
在将所述数据块写入区块缓冲区的过程中,每隔固定时间段,依据当前即将写入区块缓冲区的数据块的二级索引生成一级索引,并在索引区中写入该一级索引,同时将时间位图索引中与该一级索引相对应的数据位的值由0更新为1;
d、当区块缓冲区写满后,将区块缓冲区中的数据块写入数据区中,同时将对应的二级索引由二级索引缓冲区写入数据区;
录像段的检索过程包括以下步骤:
e、根据需要检索的录像段的开始时间和结束时间计算时间位图索引中对应的起始数据位和结束数据位,并依据计算结果提取得到时间位图段;
f、在得到的时间位图段中,将所有数据位连续为1的部分分别组成录像段索引;
g、根据时间位图索引的起始数据位对应的时间,计算得到每个录像段索引的开始时间和结束时间;
录像段的读取过程包括以下步骤:
h、根据每个录像段索引的开始时间计算该开始时间在时间位图索引中的位置,然后在索引区中读取对应的一级索引;
i、根据一级索引计算所对应的二级索引的开始位置和结束位置;
j、根据二级索引计算所对应数据块在数据区中的位置;
k、将数据块从数据区读入区块缓冲区内;
l、以数据包的形式读取区块缓冲区中对应的数据块;
m、将读取到数据包转换为音视频数据格式,返回给调用者。
2.如权利要求1所述的基于时间位图的音视频数据存取方法,其特征在于,所述索引区中还存放有时间位图的起始位置和大小,一级索引的起始位置和大小。
3.如权利要求1所述的基于时间位图的音视频数据存取方法,其特征在于,所述索引区中还存放有时间位图的时间范围、区块的容量。
4.如权利要求1所述的基于时间位图的音视频数据存取方法,其特征在于,每个区块包括二级索引存储区和音视频数据存储区。
5.如权利要求1所述的基于时间位图的音视频数据存取方法,其特征在于,步骤c中,所述固定时间段的时长为5~10min。
6.如权利要求1所述的基于时间位图的音视频数据存取方法,其特征在于,步骤l中,首先判断待读取的数据包是否完整地存在于当前区块缓冲区内,若待读取的数据包完整地存在于当前区块缓冲区内,则直接读取;
若待读取的数据包没有完整地存在于当前区块缓冲区内,则从数据区向区块缓冲区读取下一条二级索引所对应的数据块,再重新执行步骤l。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310108041.8A CN103226965B (zh) | 2013-03-29 | 2013-03-29 | 基于时间位图的音视频数据存取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310108041.8A CN103226965B (zh) | 2013-03-29 | 2013-03-29 | 基于时间位图的音视频数据存取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103226965A CN103226965A (zh) | 2013-07-31 |
CN103226965B true CN103226965B (zh) | 2015-09-09 |
Family
ID=48837381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310108041.8A Active CN103226965B (zh) | 2013-03-29 | 2013-03-29 | 基于时间位图的音视频数据存取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103226965B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105446652B (zh) * | 2014-08-08 | 2019-02-05 | 杭州海康威视数字技术股份有限公司 | 进行摄像数据存储的方法及装置 |
CN104869338B (zh) * | 2015-05-18 | 2019-03-12 | 浙江宇视科技有限公司 | 一种音视频文件转存及检索方法 |
CN105049769B (zh) * | 2015-08-26 | 2018-06-05 | 浙江宇视科技有限公司 | 一种iSCSI块直存支持录像空间变更的方法和装置 |
CN106649860B (zh) * | 2016-12-30 | 2020-09-18 | 苏州浪潮智能科技有限公司 | 一种应用在聚合文件上的碎片整理方法 |
CN107729566B (zh) * | 2017-11-14 | 2021-02-23 | 郑州天迈科技股份有限公司 | 一种用于公交车载硬盘音视频数据存取的索引重建方法 |
CN108881851A (zh) * | 2018-07-25 | 2018-11-23 | 武汉恩智电子科技有限公司 | 一种基于视频监控的视频录像分组系统 |
CN109753447A (zh) * | 2019-01-14 | 2019-05-14 | 北京星际荣耀空间科技有限公司 | 一种运载火箭遥测数据实时缓存系统及方法 |
CN110221782A (zh) * | 2019-06-06 | 2019-09-10 | 重庆紫光华山智安科技有限公司 | 视频文件处理方法及装置 |
WO2021092784A1 (zh) * | 2019-11-13 | 2021-05-20 | 华为技术有限公司 | 一种数据写入、一致性检查和读取的方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102779180A (zh) * | 2012-06-29 | 2012-11-14 | 华为技术有限公司 | 数据存储系统的操作处理方法,数据存储系统 |
-
2013
- 2013-03-29 CN CN201310108041.8A patent/CN103226965B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102779180A (zh) * | 2012-06-29 | 2012-11-14 | 华为技术有限公司 | 数据存储系统的操作处理方法,数据存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103226965A (zh) | 2013-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103226965B (zh) | 基于时间位图的音视频数据存取方法 | |
CN100578470C (zh) | 基于裸设备的音视频数据存取方法和装置 | |
CN107870973B (zh) | 一种加快多路监控同时回放的文件存储系统 | |
CN103164528B (zh) | 一种音视频数据的索引建立方法 | |
CN102968422B (zh) | 流数据存储控制系统及其方法 | |
US9996557B2 (en) | Database storage system based on optical disk and method using the system | |
KR101570179B1 (ko) | 빠른 파워-오프를 위한 캐시 동기화 방법 및 시스템 | |
CN103049349B (zh) | 基于分层存储的快照方法及系统 | |
CN102136290A (zh) | 一种嵌入式实时视频文件存储方法 | |
CN102096698B (zh) | 一种视频数据存储格式、存储方法及检索方法 | |
CN104063187B (zh) | 适用于安防应用的硬盘文件系统及其运行方法 | |
CN108399050B (zh) | 一种数据处理方法及装置 | |
CN104811645A (zh) | 一种嵌入式录像数据存储方法 | |
CN104620230A (zh) | 管理存储器的方法 | |
US20100174878A1 (en) | Systems and Methods for Monitoring Archive Storage Condition and Preventing the Loss of Archived Data | |
CN107168651A (zh) | 一种小文件聚合存储处理方法 | |
CN104991747A (zh) | 数据管理方法及系统 | |
CN111651127A (zh) | 一种基于叠瓦式磁记录盘的监控数据存储方法及装置 | |
CN105100716A (zh) | 一种用于网络视频监控的安全存储单元及其系统 | |
WO2023185111A1 (zh) | 一种数据文件的快速存取方法及装置 | |
CN105068761B (zh) | 一种便于检索的视频截图存储方法和系统 | |
CN102385610A (zh) | 数字硬盘录像机录像文件保存与数据恢复的方法及其系统 | |
CN102567472B (zh) | 基于嵌入式数据库的高效数据删除和恢复方法 | |
CN100543748C (zh) | 一种利用文件分配表进行文件寻道的方法及系统 | |
WO2008136563A1 (en) | Method of storing meta-data and system for storing meta-data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |