CN112181918B - 一种用于嵌入式***的摄像机录像文件快速预分配方法 - Google Patents
一种用于嵌入式***的摄像机录像文件快速预分配方法 Download PDFInfo
- Publication number
- CN112181918B CN112181918B CN202011065990.9A CN202011065990A CN112181918B CN 112181918 B CN112181918 B CN 112181918B CN 202011065990 A CN202011065990 A CN 202011065990A CN 112181918 B CN112181918 B CN 112181918B
- Authority
- CN
- China
- Prior art keywords
- cluster
- directory entry
- file
- directory
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1724—Details of de-fragmentation performed by the file system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种用于嵌入式***的摄像机录像文件快速预分配方法,包括以下步骤:S1、创建ExFAT元数据;S2、根目录项增加一级子目录条目;S3、一级目录项增加二级目录项条目;S4、二级目录项增加预分配文件目录项;S5、更新簇位图数据子目录项和预分配文件占用簇标记为已占用。根据本发明,在格式化ExFAT文件***后,不使用标准文件操作接口,而是直接修改ExFAT文件***的目录项和簇位图,快速生成预分配文件。
Description
技术领域
本发明涉及计算机的技术领域,特别涉及一种用于嵌入式***的摄像机录像文件快速预分配方法。
背景技术
IPC(IP Camera)即网络摄像机,是基于网络传输视频数据的新一代摄像机,用户可通过手机APP等终端实时操作设备和查看监控画面。IPC一般支持TF卡(Micro SD卡)存储录像文件。现有IPC录像存储方案中,TF卡通常被格式化为FAT32或ExFAT格式等文件***格式,使用读卡器接入电脑后,用户可以通过windows、mac等操作***访问TF卡上的录像文件。
ExFAT全称为Extended File Allocation Table File System,即扩展文件分配表,是微软设计的一种适合闪存的文件***。相比FAT32文件***,ExFAT文件***支持更大的分区、文件和簇大小。现在的闪存介质的容量越来越大,FAT32文件***能够管理的空间有限,ExFAT文件***更适用大容量的闪存。
现有的IPC录像存储方案主要有两种方式:
(1)动态创建文件方式
该方案初始化存储卡时,不预先占用存储空间,而是在存储过程中动态创建和删除录像文件。动态创建文件方案一般使用目录或文件名称来记录录像的存储时间段。以文件名标记录像存储时间段的方式,对用户接入电脑查找和备份录像比较友好,可以直观看到录像对应的时间范围。但该方案长时间循环存储后容易出现存储碎片,降低存储效率;根据录像时间戳频繁修改目录或文件名,可能导致FAT32或ExFAT文件***的目录项被频繁修改。对目录项所在的存储块的频繁擦写会降低其使用寿命。
(2)预分配存储方式
预分配存储方案中,存储卡被预先分配为很多个固定大小的存储文件,录像文件信息存在预先分配的文件中,文件大小不随存储发生变化。预分配方案通常会使用额外的录像信息文件,记录每个预分配文件中录像时间等信息。预分配方案避免了存储空间申请导致的文件碎片,减少了目录项的修改,均衡了TF卡存储块的擦写,可以延长存储卡使用寿命。
现有的IPC预分配存储方案,一般基于FAT32文件***,使用fallocate、ftruncate等接口创建预分配文件。使用fallocate等接口方式创建预分配文件,虽然不需要实际写入文件数据,但对几十或几百GB的大容量TF卡进行预分配操作,仍然需要几分钟的初始化时间,影响用户体验。fallocate等快速分配接口仅适用FAT32,在ExFAT上没有被很好的支持,并不能快速创建预分配文件。
发明内容
针对现有技术中存在的不足之处,本发明的目的是提供一种用于嵌入式***的摄像机录像文件快速预分配方法,在格式化ExFAT文件***后,不使用标准文件操作接口,而是直接修改ExFAT文件***的目录项和簇位图,快速生成预分配文件。为了实现根据本发明的上述目的和其他优点,提供了一种用于嵌入式***的摄像机录像文件快速预分配方法,包括以下步骤:
S1、创建ExFAT元数据;
S2、根目录项增加一级子目录条目;
S3、一级目录项增加二级目录项条目;
S4、二级目录项增加预分配文件目录项;
S5、更新簇位图数据子目录项和预分配文件占用簇标记为已占用。
优选的,所述步骤S1中的创建ExFAT元数据包括DOS引导记录、文件分配表、簇位图、大写字符文件以及不含子目录的根目录项。
优选的,所述根目录项包括卷标目录项、簇位图目录项、大写字符文件目录项以及summit video目录项。
优选的,所述步骤S2包括写入子目录sunmi_video的目录项条目,这里将根目录的簇编号记录为R0,sunmi_video目录项条目需要记录sunmi_video目录的簇号和大小,其起始簇号R1=R0+1,占用簇个数为C1=1。
优选的,所述步骤2中的所述一级子目录条目包括video_plan目录项,且写video_plan目录项时,首先确认video_plan目录项的大小。
优选的,所述步骤S3中,所述二级目录项条目所在簇,簇号R2对应的地址空间,将簇内容置为0,并顺序写入1000个预分配文件的目录项。
优选的,所述步骤S4中,每个预分配文件的占用簇数量为CF=(256MB/128KB)=2048,第i个预分配文件的目录项的起始簇号为:
RFi=R0+C1+C2+i*CF。
优选的,所述步骤S5中,更新簇位图数据,将一级目录、二级目录、预分配文件所占用的所有簇的簇位图标记为已占用,需要额外标记的簇位图簇起始位置为R0+1,簇数量为:
C1+C2+1000*CF。
本发明与现有技术相比,其有益效果是:在本发明的预分配中,只创建子目录和预分配文件的目录项,并需要不对预分配文件的实际簇内容做修改,在格式化ExFAT文件***后,不使用标准文件操作接口,而是直接修改ExFAT文件***的目录项和簇位图,快速生成预分配文件。该方式基本不受TF卡空间大小影响,预分配初始化时间小于3秒。
附图说明
图1为根据本发明的用于嵌入式***的摄像机录像文件快速预分配方法的流程框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1,
预分配文件目录:二级目录/sunmi_video/video_plan
预分配文件大小:256MB
预分配文件数量:1000
ExFAT簇大小:128KB
参照图1,一种用于嵌入式***的摄像机录像文件快速预分配方法,包括以下步骤:S1、创建ExFAT元数据;
S2、根目录项增加一级子目录条目;
S3、一级目录项增加二级目录项条目;
S4、二级目录项增加预分配文件目录项;
S5、更新簇位图数据子目录项和预分配文件占用簇标记为已占用。
进一步的,所述步骤S1中的创建ExFAT元数据包括DOS引导记录、文件分配表、簇位图、大写字符文件以及不含子目录的根目录项。
进一步的,所述根目录项包括卷标目录项、簇位图目录项、大写字符文件目录项以及summit video目录项。
进一步的,所述步骤S2包括写入子目录sunmi_video的目录项条目,这里将根目录的簇编号记录为R0,sunmi_video目录项条目需要记录sunmi_video目录的簇号和大小,其起始簇号R1=R0+1,占用簇个数为C1=1。
进一步的,所述步骤2中的所述一级子目录条目包括video_plan目录项,且写video_plan目录项时,首先确认video_plan目录项的大小。本例中预分配文件较少,一个簇可以存储所有预分配文件的目录项,这个二级目录占用簇个数为1。
对于一个文件名不超过16个字符的预分配文件,其目录项需要ExFAT用户文件目录项属性1、属性2和属性3共3个条目,每个条目32字节,共96个字节。如果文件名较长,文件名每多16个字符,需要额外新增一个属性3条目。将簇大小除以文件目录项长度,可以得到单个簇存储的文件目录项个数。如果预分配的文件个数较多,video_plan的目录项需要占用多个簇空间。
在一级目录的目录项所在簇,簇号R1对应的地址空间,将簇内容置为0,并写入二级子目录video_plan的目录项条目,该条目起始簇号R2=R0+2,占用簇个数为C2=1。
进一步的,所述步骤S3中,所述二级目录项条目所在簇,簇号R2对应的地址空间,将簇内容置为0,并顺序写入1000个预分配文件的目录项。
进一步的,所述步骤S4中,每个预分配文件的占用簇数量为CF=(256MB/128KB)=2048,第i个预分配文件的目录项的起始簇号为:
RFi=R0+C1+C2+i*CF。
进一步的,所述步骤S5中,更新簇位图数据,将一级目录、二级目录、预分配文件所占用的所有簇的簇位图标记为已占用,由于各簇都是连续使用,FAT表的簇链不需要更新,只需要更新ExFAT簇位图,需要额外标记的簇位图簇起始位置为R0+1,簇数量为:
C1+C2+1000*CF。
这里说明的设备数量和处理规模是用来简化本发明的说明的,对本发明的应用、修改和变化对本领域的技术人员来说是显而易见的。
尽管本发明的实施方案已公开如上,但其并不仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。
Claims (5)
1.一种用于嵌入式***的摄像机录像文件快速预分配方法,其特征在于,包括以下步骤:
S1、创建ExFAT元数据,创建ExFAT元数据包括DOS引导记录、文件分配表、簇位图、大写字符文件以及不含子目录的根目录项,所述根目录项包括卷标目录项、簇位图目录项、大写字符文件目录项以及summit video目录项,还包括写入子目录sunmi_video的目录项条目,这里将根目录的簇编号记录为R0,sunmi_video目录项条目需要记录sunmi_video目录的簇号和大小,其起始簇号R1=R0+1,占用簇个数为C1=1;
S2、根目录项增加一级子目录条目;
S3、一级目录项增加二级目录项条目;
S4、二级目录项增加预分配文件目录项;
S5、更新簇位图数据子目录项和预分配文件占用簇标记为已占用;
只创建子目录和预分配文件的目录项,并需要不对预分配文件的实际簇内容做修改,在格式化ExFAT文件***后,不使用标准文件操作接口,而是直接修改ExFAT文件***的目录项和簇位图,快速生成预分配文件。
2.如权利要求1所述的一种用于嵌入式***的摄像机录像文件快速预分配方法,其特征在于,所述步骤S2中的所述一级子目录条目包括video_plan目录项,且写video_plan目录项时,首先确认video_plan目录项的大小。
3.如权利要求1所述的一种用于嵌入式***的摄像机录像文件快速预分配方法,其特征在于,所述步骤S3中,所述二级目录项条目所在簇,簇号R2对应的地址空间,将簇内容置为0,并顺序写入1000个预分配文件的目录项。
4.如权利要求1所述的一种用于嵌入式***的摄像机录像文件快速预分配方法,其特征在于,所述步骤S4中,每个预分配文件的占用簇数量为CF=(256MB/128KB)=2048,第i个预分配文件的目录项的起始簇号为:RFi=R0+C1+C2+i*CF。
5.如权利要求1所述的一种用于嵌入式***的摄像机录像文件快速预分配方法,其特征在于,所述步骤S5中,更新簇位图数据,将一级目录、二级目录、预分配文件所占用的所有簇的簇位图标记为已占用,需要额外标记的簇位图簇起始位置为R0+1,簇数量为:
C1+C2+1000*CF。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011065990.9A CN112181918B (zh) | 2020-09-30 | 2020-09-30 | 一种用于嵌入式***的摄像机录像文件快速预分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011065990.9A CN112181918B (zh) | 2020-09-30 | 2020-09-30 | 一种用于嵌入式***的摄像机录像文件快速预分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112181918A CN112181918A (zh) | 2021-01-05 |
CN112181918B true CN112181918B (zh) | 2023-03-03 |
Family
ID=73948349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011065990.9A Active CN112181918B (zh) | 2020-09-30 | 2020-09-30 | 一种用于嵌入式***的摄像机录像文件快速预分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112181918B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1508795A (zh) * | 2002-12-13 | 2004-06-30 | 康佳集团股份有限公司 | 摄录设备硬盘的数据存储方法 |
CN1790328A (zh) * | 2004-12-17 | 2006-06-21 | 微软公司 | 可扩展文件*** |
CN101441634A (zh) * | 2007-11-19 | 2009-05-27 | 凤凰微电子(中国)有限公司 | 适用于智能卡应用环境的嵌入式文件*** |
CN101882132A (zh) * | 2009-04-27 | 2010-11-10 | 深圳市闪联信息技术有限公司 | 虚拟fat文件***的创建及读取方法以及装置 |
CN102426586A (zh) * | 2011-10-25 | 2012-04-25 | 厦门雅迅网络股份有限公司 | 一种嵌入式***中的fat文件存储方法 |
WO2020103493A1 (zh) * | 2018-11-22 | 2020-05-28 | 厦门市美亚柏科信息股份有限公司 | 基于fat32文件***的删除文件恢复方法及*** |
-
2020
- 2020-09-30 CN CN202011065990.9A patent/CN112181918B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1508795A (zh) * | 2002-12-13 | 2004-06-30 | 康佳集团股份有限公司 | 摄录设备硬盘的数据存储方法 |
CN1790328A (zh) * | 2004-12-17 | 2006-06-21 | 微软公司 | 可扩展文件*** |
CN101441634A (zh) * | 2007-11-19 | 2009-05-27 | 凤凰微电子(中国)有限公司 | 适用于智能卡应用环境的嵌入式文件*** |
CN101882132A (zh) * | 2009-04-27 | 2010-11-10 | 深圳市闪联信息技术有限公司 | 虚拟fat文件***的创建及读取方法以及装置 |
CN102426586A (zh) * | 2011-10-25 | 2012-04-25 | 厦门雅迅网络股份有限公司 | 一种嵌入式***中的fat文件存储方法 |
WO2020103493A1 (zh) * | 2018-11-22 | 2020-05-28 | 厦门市美亚柏科信息股份有限公司 | 基于fat32文件***的删除文件恢复方法及*** |
Non-Patent Citations (1)
Title |
---|
exfat文件***分析;LinBZ_;《https://blog.csdn.net/q1w21_2/article/details/79248095》;20180203;第1-21页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112181918A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8892846B2 (en) | Metadata management for virtual volumes | |
US8793466B2 (en) | Efficient data object storage and retrieval | |
US7761648B2 (en) | Caching method for NAND flash translation layer | |
US7836105B2 (en) | Converting file-systems that organize and store data for computing systems | |
CN106874348B (zh) | 文件存储和索引方法、装置及读取文件的方法 | |
CN108399047B (zh) | 一种闪存文件***及其数据管理方法 | |
CN101983376B (zh) | 访问装置、信息记录装置、信息记录***、文件管理方法和程序 | |
CN108776682B (zh) | 基于对象存储的随机读写对象的方法和*** | |
JP2003196142A (ja) | ライトワンス型メモリ装置及びファイル管理方法 | |
CN108664482B (zh) | Flash存储器及存储文件管理方法 | |
CN110597762A (zh) | 文件处理方法、装置、设备及存储介质 | |
CN112416880A (zh) | 一种基于实时归并的海量小文件存储性能优化方法及装置 | |
US8239427B2 (en) | Disk layout method for object-based storage devices | |
CN113568582A (zh) | 数据管理方法、装置和存储设备 | |
CN111552442A (zh) | 一种基于ssd的缓存管理***及方法 | |
CN110297781B (zh) | 一种基于写时复制来恢复apfs中被删除数据的方法 | |
CN112800007B (zh) | 适用于fat32文件***的目录项扩展方法和*** | |
CN112181918B (zh) | 一种用于嵌入式***的摄像机录像文件快速预分配方法 | |
CN107844483B (zh) | 文件管理方法及装置 | |
CN115481086A (zh) | 一种海量小文件读写方法、***、电子设备及存储介质 | |
CN109977121B (zh) | 一种大数据快速存储*** | |
CN112597102A (zh) | 一种高效的镜像文件***实现方法 | |
TW202137013A (zh) | 記憶體控制器與資料處理方法 | |
CN111831224B (zh) | 一种擦除exFAT分区文件剩余空间的方法,***及设备 | |
EP2204730A1 (en) | Method and apparatus for creating files in a file system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |