CN103474087B - 一种简单防止磁盘碎片产生录像文件的管理方法 - Google Patents

一种简单防止磁盘碎片产生录像文件的管理方法 Download PDF

Info

Publication number
CN103474087B
CN103474087B CN201310401372.0A CN201310401372A CN103474087B CN 103474087 B CN103474087 B CN 103474087B CN 201310401372 A CN201310401372 A CN 201310401372A CN 103474087 B CN103474087 B CN 103474087B
Authority
CN
China
Prior art keywords
video file
file
video
disk
size
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
Application number
CN201310401372.0A
Other languages
English (en)
Other versions
CN103474087A (zh
Inventor
卫刚
吴磊
王强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NANJING NANZI INFORMATION TECHNOLOGY Co Ltd
Original Assignee
NANJING NANZI INFORMATION TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NANJING NANZI INFORMATION TECHNOLOGY Co Ltd filed Critical NANJING NANZI INFORMATION TECHNOLOGY Co Ltd
Priority to CN201310401372.0A priority Critical patent/CN103474087B/zh
Publication of CN103474087A publication Critical patent/CN103474087A/zh
Application granted granted Critical
Publication of CN103474087B publication Critical patent/CN103474087B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明是一种简单防止磁盘碎片产生录像文件的管理方法,方法步骤:1)将录像机中的磁盘格式化,固定为一个或若干个分区,针对不同的文件系统,使用操作系统提供的不同的格式化方法;2)建立录像文件索引数据库,提供录像文件检索服务;3)固定录像文件大小,记为A(Byte);4)磁盘没有写满时,采用一般的文件创建、写入方式;5)磁盘写满后,找出本磁盘上创建时间最老的文件,将其作为新的录像文件,从文件的起始位置覆盖写入,循环往复。优点:本发明构建在通用文件系统之上,简单,容易实现,兼容不同的文件系统。解决了硬盘录像机长时间循环写入音视频数据后,产生大量磁盘碎片,影响系统运行效率的问题。

Description

一种简单防止磁盘碎片产生录像文件的管理方法
技术领域
本发明是一种简单防止磁盘碎片产生录像文件的管理方法,适用于需要长时间、循环写入音视频数据的硬盘录像机。使用后能极大的减少磁盘碎片,提高系统效率。并且本发明是简单的,容易实现的。
背景技术
硬盘录像机(DVR)、网络硬盘录像机(NVR)需要实时写入音视频数据,当磁盘写满后,就需要先删除最老的录像文件,然后再新建录像文件,其中删除录像文件是非常耗费系统资源的操作,在删除录像文件的同时写入新的录像文件,系统性能将急剧下降。由于不断新建、删除、写入操作后,磁盘就会产生碎片。随着时间的加长,碎片越来越严重,直接导致系统运行效率下降。传统的解决方法是在线碎片整理,但在线碎片整理过程本身也非常耗费系统资源,在碎片整理的这一段时间内,整个系统的运行效率下降,例如出现实时流转发丢包,写入录像文件不完整等问题。同时经常性的在线碎片整理也将影响磁盘的寿命。
一种防止文件碎片产生的硬盘录像机文件管理方法,专利申请号(200510050829.3),提出修改FAT文件系统的分区表,预分配文件,首次写入时选取预先创建的数据文件,等到预先分配的数据文件使用完后,覆盖最老的录像文件。并建立2个索引文件,以完成对录像检索、回放的需求。该方法要求程序编写者熟悉文件系统的结构,操作文件系统的元数据(如分区表等信息),实现难度较大。同时,该方法仅适合于文件系统的元数据位于磁盘固定位置的文件系统,如fat系列的文件系统,对于现代的文件系统,如ext4、xfs等,文件系统的元数据都是动态生成的,不固定在磁盘的某个位置,因此该方法很难运用到现代的文件系统上。
一种降低磁盘碎片的方法,申请号201210495293.6,提出在NVR初次使用时将磁盘预先分配好一定数量的文件,将这些文件存放数据库。我们认为,如果不操作文件系统的元数据(分区表等信息),预先分配一定数量的文件在很多文件系统上都是一个非常耗时的操作,在预分配一定数量文件这段时间内,NVR系统基本处于一个不可用的状态。同时该专利提出FAT表和目录区冻结技巧,因此该专利是和FAT文件系统紧密关联的。
发明内容
本发明提出的是一种简单防止磁盘碎片产生录像文件的管理方法,其目的旨在解决硬盘录像机长时间循环写入音视频数据后,产生大量磁盘碎片,影响系统运行效率的问题。
本发明的技术解决方案:一种简单防止磁盘碎片产生录像文件的管理方法,包括如下步骤:
1)将录像机中的磁盘格式化,固定为一个或若干个分区,针对不同的文件系统,使用操作系统提供的不同的格式化方法;
2)建立录像文件索引数据库,提供高效的录像文件检索服务;
3)固定录像文件大小,记为A(Byte);
4)录像机中的磁盘未写满时,采用创建、写入的方法;首先创建一个录像文件,然后依次写入录像数据;数据库中增加一条索引记录,标记录像的开始时间、结束时间、录像文件大小;录像数据每写入一次,更新一次录像文件大小、结束时间,直到录像文件的大小等于A(Byte),关闭录像文件;
5)录像机中的磁盘已经写满时,采用覆盖写入的方法;查找本磁盘中开始时间最老的录像文件,从数据库中删除该录像文件对应的索引记录;将这条最老的录像文件更名为新的录像文件,并将录像文件的写入指针指向文件的起始处,然后依次写入录像数据;在数据库中增加一条新的索引记录,标记录像开始时间、结束时间、文件大小;录像数据每写入一次,更新一次录像文件大小、结束时间,直到录像文件的大小等于A(Byte),关闭录像文件;
设备是录像机。
本发明的优点:本发明建立在文件系统之上,不依赖文件系统的元数据,采用通用的文件系统api(open、close、read、write),利用了文件重命名(mv)到同一磁盘的其他文件时,文件在磁盘的位置不发生改变的特性。本发明对不同的文件系统有较好的兼容性,已测试对ext3、ext4、xfs都适用。本发明使用成熟的数据库(如sqlite3、mysql)来实现对录像文件的索引,提供良好的录像检索速度。解决了硬盘录像机长时间循环写入音视频数据后,产生大量磁盘碎片,影响系统运行效率的问题。
附图说明
图1是实施例中的运行流程图。
具体实施方式
一种简单防止磁盘碎片产生录像文件的管理方法,管理方法包括如下步骤:
1)录像机中的磁盘格式化,固定为一个或若干个分区,针对不同的文件系统,使用操作系统提供的不同的格式化方法;
2)建立录像文件索引数据库,提供高效的录像文件检索服务;
3)固定录像文件大小,记为A(Byte);
4)录像机中的磁盘未写满时,采用创建、写入的方法;首先创建一个录像文件,然后依次写入录像数据;数据库中增加一条索引记录,标记录像的开始时间、结束时间、录像文件大小;录像数据每写入一次,更新一次录像文件大小、结束时间,直到录像文件的大小等于A(Byte),关闭录像文件;
5)录像机中的磁盘已经写满时,采用覆盖写入的方法;查找本磁盘中开始时间最老的录像文件,从数据库中删除该录像文件对应的索引记录;将这条最老的录像文件更名为新的录像文件,并将录像文件的写入指针指向文件的起始处,然后依次写入录像数据;在数据库中增加一条新的索引记录,标记录像开始时间、结束时间、文件大小;录像数据每写入一次,更新一次录像文件大小、结束时间,直到录像文件的大小等于A(Byte),关闭录像文件。
实施例
设备是录像机。
1、初始化流程
(1)将录像机中的整个磁盘格式化为一个分区,格式化成一个分区可以利用磁盘的所有空间;
(2)设置录像文件的固定大小为A(byte);
2、开始流程
(1)程序启动;
(2)判断有没有创建过用于录像文件索引的数据库,如果已经创建,则转到步骤(4),没有则转到步骤(3);
(3)创建数据库,建立表结构、索引,表结构的内容包括录像开始时间、结束时间、文件大小等内容。根据需要,在数据库中记录的内容还可以包括通道号、编码参数、帧率、码流大小等音视频相关的参数;
(4)打开数据库;
3、运行流程,参考附图1
(1)开始一个新的录像;
(2)判断录像机中的磁盘是否满,如果没有满,则跳到步骤(3),如果已满,则跳到步骤(4),这里一般不要将磁盘写到100%,因为写到100%后将影响磁盘的效率,需要预留一定比率的空间;
(3)使用系统调用open函数,创建一个新的录像文件,设置录像文件当前大小为0(byte)。将录像记录存入数据库,记录录像开始时间、结束时间、录像大小等参数,其中开始时间、结束时间均为当前时间,文件大小为0(byte)。随着录像文件的写入,录像结束时间、文件大小都是随着时间变化的,将这些变化都记录到数据库。如果当前使用的文件系统支持文件创建时预分配空间操作(如fallocate系统调用,ext4支持),则预分配A(byte)大小的磁盘空间;
(4)查找本磁盘中最老的录像文件,在数据库中删除该录像文件。这样客户端就无法再搜到该录像文件;
(5)将最老的录像文件更名为新录像文件,使用mv操作。在内存中,将当前录像文件的大小设为0(byte)(从录像文件的起始处开始覆写,因此一开始录像文件的大小为0(byte)),将文件的写入指针指向文件的起始处。将录像记录存入数据库,记录录像开始时间、结束时间、文件大小等参数,其中开始时间、结束时间均为当前时间,文件大小为0(byte)。随着录像文件的写入,录像结束时间、文件大小都是随着时间变化的,将这些变化都记录到数据库;
(6)录像文件的大小是否已经达到A(byte)?A(byte)是预先设定的录像文件大小,是固定的。如果没有达到A byte,则转到(7); 如果已经达到A(byte),则转到(8);
(7)写入录像数据,使用write系统调用,更新内存中当前录像文件大小,并更新数据库中相应记录的录像文件大小、结束时间等参数,每写入一次都更新一次数据库;
(8)关闭录像文件,更新录像文件最终的录像文件大小、结束时间等参数;
4、结束流程
(1)关闭所有通道的录像,在关闭每一路通道的录像时,需在数据库中更新最终的录像文件大小,及录像结束时间;
(2)关闭数据库;
(3)程序结束;
5、总结
对于ext3等不支持文件创建时预分配空间的的文件系统,本发明并不能保证完全没有硬盘碎片产生,从上面的处理流程可以看出,长时间运行后,硬盘碎片的数量约等于第一次将磁盘写满后所产生的硬盘碎片。在一遍一遍的覆写过程中,由于没有旧文件的删除、及新文件的创建,因此不会产生新的硬盘碎片。同时由于不需要删除旧文件,本发明极大的提高了系统的性能。
对于ext4等支持文件创建时预分配空间的的文件系统(通常是支持fallocate系统调用),由于可以在文件创建时一次性的预分配文件占用的空间,因此可进一步降低磁盘碎片的产生。将本发明用于这类文件系统,则基本可消除录像机磁盘碎片,系统性能可进一步提高。
本发明已经在linux上实现,测试了ext3、ext4、xfs文件系统,达到了很好的效果。

Claims (1)

1.一种简单防止磁盘碎片产生录像文件的管理方法,其特征是该方法包括如下步骤:
1)将录像机中的磁盘格式化,固定为一个或若干个分区,针对不同的文件系统,使用操作系统提供的不同的格式化方法;
2)建立录像文件索引数据库,提供高效的录像文件检索服务;
3)固定录像文件大小,记为A Byte;
4)录像机中的磁盘未写满时,采用创建、写入的方法;首先创建一个录像文件,然后依次写入录像数据;数据库中增加一条索引记录,标记录像的开始时间、结束时间、录像文件大小;录像数据每写入一次,更新一次录像文件大小、结束时间,直到录像文件的大小等于A Byte,关闭录像文件;
5)录像机中的磁盘已经写满时,采用覆盖写入的方法;查找本磁盘中开始时间最老的录像文件,从数据库中删除该录像文件对应的索引记录;将这条最老的录像文件更名为新的录像文件,并将录像文件的写入指针指向文件的起始处,然后依次写入录像数据;在数据库中增加一条新的索引记录,标记录像开始时间、结束时间、文件大小;录像数据每写入一次,更新一次录像文件大小、结束时间,直到录像文件的大小等于A Byte,关闭录像文件。
CN201310401372.0A 2013-09-06 2013-09-06 一种简单防止磁盘碎片产生录像文件的管理方法 Active CN103474087B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310401372.0A CN103474087B (zh) 2013-09-06 2013-09-06 一种简单防止磁盘碎片产生录像文件的管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310401372.0A CN103474087B (zh) 2013-09-06 2013-09-06 一种简单防止磁盘碎片产生录像文件的管理方法

Publications (2)

Publication Number Publication Date
CN103474087A CN103474087A (zh) 2013-12-25
CN103474087B true CN103474087B (zh) 2016-10-05

Family

ID=49798904

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310401372.0A Active CN103474087B (zh) 2013-09-06 2013-09-06 一种简单防止磁盘碎片产生录像文件的管理方法

Country Status (1)

Country Link
CN (1) CN103474087B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268088B (zh) * 2014-09-15 2018-11-16 郑州天迈科技股份有限公司 车载dvr硬盘数据存储方法
CN105653385B (zh) * 2015-12-31 2019-02-01 深圳市蓝泰源信息技术股份有限公司 一种车载录像方法
CN106873920B (zh) * 2017-03-22 2023-07-28 世纪恒通科技股份有限公司 一种避免磁盘碎片的呼叫中心录音存储系统及存储方法
CN107122133B (zh) * 2017-04-24 2020-08-07 珠海全志科技股份有限公司 数据存储方法及装置
CN107870973B (zh) * 2017-09-20 2021-11-26 广东东为信息技术有限公司 一种加快多路监控同时回放的文件存储系统
CN108595503A (zh) * 2018-03-19 2018-09-28 网宿科技股份有限公司 文件处理方法及服务器
CN109062989B (zh) * 2018-07-03 2022-05-17 深圳市慧视通科技股份有限公司 一种车载监控数据存储方法
CN110442555B (zh) * 2019-07-26 2021-08-31 华中科技大学 一种选择性预留空间的减少碎片的方法及系统
CN110471623B (zh) * 2019-07-31 2023-12-29 深圳市博实结科技股份有限公司 硬盘文件写入方法、装置、计算机设备和存储介质
CN110543452B (zh) * 2019-08-07 2022-07-05 浙江大华技术股份有限公司 一种数据采集的方法及设备
CN112346663B (zh) * 2020-11-26 2022-10-11 上海天旦网络科技发展有限公司 多分区轮转的数据写入与清除方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102623033A (zh) * 2011-01-31 2012-08-01 苏州科达科技有限公司 一种基于快速视频数据存储的文件系统的控制方法及装置
CN103179447A (zh) * 2011-12-20 2013-06-26 三星电子(中国)研发中心 在数字电视时移中优化磁盘空间利用率的方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102623033A (zh) * 2011-01-31 2012-08-01 苏州科达科技有限公司 一种基于快速视频数据存储的文件系统的控制方法及装置
CN103179447A (zh) * 2011-12-20 2013-06-26 三星电子(中国)研发中心 在数字电视时移中优化磁盘空间利用率的方法及装置

Also Published As

Publication number Publication date
CN103474087A (zh) 2013-12-25

Similar Documents

Publication Publication Date Title
CN103474087B (zh) 一种简单防止磁盘碎片产生录像文件的管理方法
US7415572B2 (en) File system, file recording method, and file reading method
US8332372B2 (en) Method and system for processing data
JP3847751B2 (ja) データ記録方法、データ記録装置、データ記録媒体、データ再生方法及びデータ再生装置
JP2005215894A (ja) データ処理装置、データ処理方法及びデータ処理プログラム
US7630284B2 (en) Information-recording apparatus, information-recording method, program storage medium and program
US20110216774A1 (en) Packet file system
US7859958B2 (en) Information-recording apparatus, information-recording method, program storage medium and program
CN102289451A (zh) 文件或文件夹查找方法和装置
CN108763531A (zh) 一种mdvr文件存储系统及其运行方法
CN106095923A (zh) 一种在有序榜单中添加上榜数据的方法及系统
US9009435B2 (en) Methods and systems for data cleanup using physical image of files on storage devices
CN104065906A (zh) 数字录像设备的录像方法及装置
CN103123645A (zh) 一种降低磁盘碎片的方法
JP2003529146A (ja) 記憶媒体上のブロックにアクセスするシステムおよび方法
CN102623033A (zh) 一种基于快速视频数据存储的文件系统的控制方法及装置
MXPA02011760A (es) Medio de registro de informacion, metodo de registro de informacion, aparato de registro de informacion, metodo de reproduccion de informacion y aparato de reproduccion de informacion.
CN100359592C (zh) 摄录设备硬盘的数据存储方法
CN107436761A (zh) 基于uefi主板的uefi系统与传统系统共存的管理方法
US8682939B2 (en) Video and audio recording using file segmentation to preserve the integrity of critical data
US8825723B2 (en) Methods and devices for managing and editing files in a file system
CN113986838B (zh) 基于文件系统的海量小文件处理方法、系统及存储介质
CN111427846B (zh) 嵌入式系统文件的远程管理方法、存储介质及智能终端
CN112597102A (zh) 一种高效的镜像文件系统实现方法
CN102681883A (zh) 一种媒体资产检索浏览系统中的资源调用的方法及系统

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