CN112667171B - 一种基于磁盘裸写的循环覆盖文件系统及读写方法 - Google Patents

一种基于磁盘裸写的循环覆盖文件系统及读写方法 Download PDF

Info

Publication number
CN112667171B
CN112667171B CN202110047372.XA CN202110047372A CN112667171B CN 112667171 B CN112667171 B CN 112667171B CN 202110047372 A CN202110047372 A CN 202110047372A CN 112667171 B CN112667171 B CN 112667171B
Authority
CN
China
Prior art keywords
data
index
area
directory
information
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
CN202110047372.XA
Other languages
English (en)
Other versions
CN112667171A (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.)
Wuhan Jimu Intelligent Technology Co ltd
Original Assignee
Wuhan Jimu Intelligent 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 Wuhan Jimu Intelligent Technology Co ltd filed Critical Wuhan Jimu Intelligent Technology Co ltd
Priority to CN202110047372.XA priority Critical patent/CN112667171B/zh
Publication of CN112667171A publication Critical patent/CN112667171A/zh
Application granted granted Critical
Publication of CN112667171B publication Critical patent/CN112667171B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明公开了一种基于磁盘裸写的循环覆盖文件系统及读写方法,属于电子信息技术领域,包括:分区表、目录区、索引区和数据区;所述分区表用于记录所述目录区、所述索引区和所述数据区对应的空间信息、扇区大小和格式化时间;所述目录区,用于存储目录项,其中,所述目录项记录第一预设时间段内的索引信息以及索引对应的粗略数据信息;所述索引区,用于存储索引项,其中,所述索引项记录第二预设时间段内的详细数据信息;所述数据区,用于存储数据包,所述数据包中封装有用户的完整数据信息。通过本发明可以适用更大数据量存储,可以更快速的修复文件系统,具有更高效检索目标信息的优势。

Description

一种基于磁盘裸写的循环覆盖文件系统及读写方法
技术领域
本发明属于电子信息技术领域,更具体地,涉及一种基于磁盘裸写的循环覆盖文件系统及读写方法。
背景技术
常见文件系统通常包括索引式文件系统、日志式文件系统和网络文件系统,而在车载监控行业,经常使用索引文件系统,常见的索引式文件系统包括:EXT4、FAT32和NTFS等,其用的最多的是FAT32。这些常见的文件系统主要使用对象是大众用户,提供了增删改查等功能,而车载监控行业产生的数据主要是音频、视频、定位、算法等固定类型的连续数据,这些数据是不允许修改、删除,而且数据之间存在着严格的同步关系,同时随着视频的发展,数据量越来越大,使用常见文件系统在效率和功能存在不足。
参考专利申请CN104200831A公开了一种车载多媒体终端SD卡的存储方法,其采用经过重新定义存储结构的SD卡作为存储介质,通过算法直接将记载媒体帧或媒体项变化的轨迹项和媒体项数据按照规定格式存储在SD卡上以存储和利用。然而该方法主要是利用裸写自定义数据管理两张SD卡,达到交替存储,以间接实现扩容的目的,针对单张SD卡,使用了索引和数据两级管理方式,在SD卡容量较小,视频数据少的情况下索引数量不多,通过索引进行数据检索及统计效率还可以满足。但是随着视频越来越清晰,摄像头越来越多,用户希望数据保存时间更长,大容量硬盘或SD卡等存储设备成本降低,车载终端上都逐步以硬盘和大容量SD卡作为存储介质,目前的数据检索效率已经无法满足需求,因此亟需一种高效率解决方案。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提出了一种基于磁盘裸写的循环覆盖文件系统及读写方法,可以适用更大数据量存储,可以更快速的修复文件系统,具有更高效检索目标信息的优势。
为实现上述目的,按照本发明的一个方面,提供了一种基于磁盘裸写的循环覆盖文件系统,包括:分区表、目录区、索引区和数据区;
所述分区表用于记录所述目录区、所述索引区和所述数据区对应的空间信息、扇区大小和格式化时间;
所述目录区,用于存储目录项,其中,所述目录项记录第一预设时间段内的索引信息以及索引对应的粗略数据信息;
所述索引区,用于存储索引项,其中,所述索引项记录第二预设时间段内的详细数据信息;
所述数据区,用于存储数据包,所述数据包中封装有用户的完整数据信息。
在一些可选的实施方案中,所述数据区中存储的数据包中记录完整的用户数据和数据统计信息,且所述数据区占据所述循环覆盖文件系统管辖分区的99%以上的空间,在所述数据区存储满之后,所述数据区独立回绕覆盖之前的数据,完全均衡的使用所述数据区内每一个扇区。
在一些可选的实施方案中,所述索引区,用于对所述第二预设时间段内的数据进行统计,并建立一个对应的索引,其中,在所述索引中记录所述第二预设时间段内每一种类型数据的详细信息,包括数据起始位置、数据大小、起始时间和数据帧数,以及每种数据帧与帧时间的关系。
在一些可选的实施方案中,所述目录区,用于对所述第一预设时间段内的索引及索引对应的粗略数据信息进行统计,包括所述第一预设时间段内的起始时间、数据持续时长、所述第一预设时间段的数据对应的索引起始位置、索引结束位置、数据起始位置和数据结束位置、存在的数据种类。
在一些可选的实施方案中,所述循环覆盖文件系统,用于根据用户调用存储接口的先后,将不同类型的用户数据统一封装到同一个数据包,记录用户数据及数据属性,同时生成对应的索引和目录。
按照本发明的另一方面,提供了一种基于磁盘裸写的循环覆盖文件系统的读写方法,包括:
初始化循环覆盖文件系统时依次读取目录、索引和数据,然后根据数据修复索引,根据索引修复目录,完成循环覆盖文件系统初始化和修复;
写数据时依次写入数据、索引和目录,以确保循环覆盖文件系统数据的完整和统一。
在一些可选的实施方案中,所述方法还包括:
检索数据时先读取目录,若获取到用户需要的数据则结束,否则根据目录检索对应索引,若获取到用户需要的数据则结束,否则根据索引检索数据。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)随着视频越来越清晰,摄像头越来越多,用户希望数据保存时间更长,大容量硬盘或SD卡等存储设备成本降低,车载终端上都逐步以硬盘和大容量SD卡作为存储介质;本发明目录主要是根据时间作为主线管理,因为随着单位时间内数据量的增大,并不会导致目录存储空间的增加,因此可以适用更大数据量存储;本发明适用于连续、顺序存储的数据,因此在修复时,仅需要载入目录,读取最后存储的数据,仅需要统计最后未统计入目录的数据就可以完成数据和目录的统一,可以更快速的修复文件系统;本发明通过目录和索引两级索引方式,提供根据时间粗略检索统计和根据索引详细检索统计两种方式,并且所有的检索主线为时间,针对单位时间内大数据量的场景,具有更高效检索目标信息的优势。
(2)裸写自定义数据方案,自定义分区表,划分目录,索引,数据分区,用户数据全部存储在数据区,数据区采用连续存储方式,,相比于标准文件系统的随机、小块存储,采用本方案,解决标准文件系统读写效率不高的问题。
(3)循环覆盖方案中,分区表区域,目录区域,索引区,数据区,存储各自数据,即每个区域而言,存储采用同种封装方式的数据,该区域存储满之后,回到该区域起始位置,不需要删除之前数据来腾挪空间,直接覆盖之前数据,再次存储,达到循环覆盖存储方式,采用此方案,解决磁盘存储空间使用不均衡、存满之后需要删除操作的问题。
(4)采用目录、索引、数据3级管理用户数据,解决随着用户数据越来越庞大导致的检索困难问题。
(5)根据用户调用存储接口的先后,按照先后关系将不同类型的用户数据统一封装到同一个数据包,记录用户数据及数据属性,同时生成对应的索引和目录。采用不同类型数据顺序存储,从空间上固定数据之间关系,解决数据不同步、数据可被修改及删除问题。
附图说明
图1是本发明实施例提供的一种基于磁盘裸写的循环覆盖文件系统的结构示意图;
图2是本发明实施例提供的一种目录、索引、数据三者之间关系的示意图;
图3是本发明实施例提供的一种用户数据封装示意图;
图4是本发明实施例提供的一种初始化及读写流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示是本发明实施例提供的一种基于磁盘裸写的循环覆盖文件系统的结构示意图,该循环覆盖文件系统共有1个分区表和3个分区:
分区表:记录目录区、索引区和数据区对应的空间信息(包括空间起始位置和空间大小),以及扇区大小,格式化时间等信息;
目录区:存储目录项,目录项记录第一预设时间段内的索引信息以及索引对应的数据信息(此处为粗略数据信息);
索引区:存储索引项,索引项记录第二预设时间段内的数据信息(此处为详细数据信息);
数据区:存储数据包,数据包封装有用户数据(此处为完整数据信息)。
如图2所示是本发明实施例提供的一种目录、索引、数据三者之间关系的示意图。
数据:记录了完整的用户数据,其中拥有少量的数据统计信息,如数据长度,数据帧数等,主要是封装用户数据,这部分是整个循环覆盖文件系统中最庞大的空间,又有整个循环覆盖文件系统管辖分区的99%以上的空间,存储满之后,此空间会独立回绕覆盖之前的数据,完全均衡的使用区域内每一个扇区;
索引:对第二预设时间段内的数据进行统计,如统计1秒内的数据则建立一个对应的索引,那么这个索引需要记录这一秒内每一种类型数据的详细信息,包括数据起始位置,数据大小,数据起始时间,数据帧数,更重要的是记录这1秒内,每种数据帧与帧时间的关系,如视频帧时间间隔,GPS帧位置移动距离等。这里是去除了用户数据中最为庞大的数据体部分,而仅关注数据属性部分。
目录:对第一预设时间段内的索引进行统计,同样也有数据部分的粗略记录,这里更倾向于根据用户使用习惯,进行统计,如记录1个小时内的数据情况,则会包含着1个小时的数据起始时间,数据持续时长,这段时间数据对应的索引起始位置,索引结束位置,数据起始位置和数据结束位置,存在的数据种类等。用户检索时,可根据一个目录快速锁定对应时间段内数据信息以及对应索引信息,同时可以对需求内的索引信息遍历统计出需要的具体数据信息,而不需要对整个索引和着数据进行遍历查找来达到检索的目的。
如图3所示是本发明实施例提供的一种用户数据封装示意图,循环覆盖文件系统会根据用户调用存储接口的先后,将不同类型的用户数据统一封装到同一个数据包,以此来达到数据与数据之间的同步,同时达到禁止数据被篡改和删除的目的,同样这种方式也契合车载监控行业数据的方式和对数据的需求:流式数据以及禁止数据随意被修改和删除。
当用户调用存储接口,循环覆盖文件系统会对用户数据进行封装,记录用户数据及数据属性,同时生成对应的索引和目录,写入时先写入数据,再写入索引,最后写入目录。当循环覆盖文件系统被意外卸载,如突然拔出磁盘,突然掉电,震动导致磁盘脱落等,此时循环覆盖文件系统先根据最新的目录,找到最新的索引,根据最新的索引找到最新的数据;再从最新的数据向后遍历查找未正常被统计的数据,建立起对应的索引和目录,完成循环覆盖文件系统修复,因为索引和目录更新及时,此处循环覆盖文件系统修复速度会很快。
如图4所示是本发明实施例提供的一种初始化及读写流程示意图,主要包括以下步骤:
步骤1:初始化循环覆盖文件系统时先读取目录,再读取索引,最后读取数据,再根据数据修复索引,根据索引修复目录,完成循环覆盖文件系统初始化和修复;
步骤2:写数据时必须按照先写数据,再写索引,最后写目录的顺序执行,确保循环覆盖文件系统的数据是完整,统一的;
步骤3:检索数据时先读取目录,此时可以获取到最为粗略的用户数据(如虚拟文件信息,即时间段内用户数据视作一个用户文件),如果已获取到用户需要数据则结束,否则根据目录检索对应索引,此时可以生成用户需要的完整数据属性信息,如果已获取到用户需要数据则结束,否则根据索引检索数据,此时可以获取到完整数据。
需要指出,根据实施的需要,可将本申请中描述的各个步骤/部件拆分为更多步骤/部件,也可将两个或多个步骤/部件或者步骤/部件的部分操作组合成新的步骤/部件,以实现本发明的目的。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种基于磁盘裸写的循环覆盖文件系统,其特征在于,包括:分区表、目录区、索引区和数据区;
所述分区表用于记录所述目录区、所述索引区和所述数据区对应的空间信息、扇区大小和格式化时间;
所述目录区,用于存储目录项,其中,所述目录项记录第一预设时间段内的索引信息以及索引对应的粗略数据信息;
所述索引区,用于存储索引项,其中,所述索引项记录第二预设时间段内的详细数据信息;
所述数据区,用于存储数据包,所述数据包中封装有用户的完整数据信息;
所述索引区,用于对所述第二预设时间段内的数据进行统计,并建立一个对应的索引,其中,在所述索引中记录所述第二预设时间段内每一种类型数据的详细信息,包括数据起始位置、数据大小、起始时间和数据帧数,以及每种数据帧与帧时间的关系;
所述目录区,用于对所述第一预设时间段内的索引及索引对应的粗略数据信息进行统计,包括所述第一预设时间段内的起始时间、数据持续时长、所述第一预设时间段的数据对应的索引起始位置、索引结束位置、数据起始位置和数据结束位置、存在的数据种类;
初始化循环覆盖文件系统时依次读取目录、索引和数据,然后根据数据修复索引,根据索引修复目录,完成循环覆盖文件系统初始化和修复;
写数据时依次写入数据、索引和目录,以确保循环覆盖文件系统数据的完整和统一。
2.根据权利要求1所述的系统,其特征在于,所述数据区中存储的数据包中记录完整的用户数据和数据统计信息,且所述数据区占据所述循环覆盖文件系统管辖分区的99%以上的空间,在所述数据区存储满之后,所述数据区独立回绕覆盖之前的数据,完全均衡的使用所述数据区内每一个扇区。
3.根据权利要求1或2所述的系统,其特征在于,所述循环覆盖文件系统,用于根据用户调用存储接口的先后,将不同类型的用户数据统一封装到同一个数据包,记录用户数据及数据属性,同时生成对应的索引和目录。
4.根据权利要求1所述的系统,其特征在于,检索数据时先读取目录,若获取到用户需要的数据则结束,否则根据目录检索对应索引,若获取到用户需要的数据则结束,否则根据索引检索数据。
CN202110047372.XA 2021-01-14 2021-01-14 一种基于磁盘裸写的循环覆盖文件系统及读写方法 Active CN112667171B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110047372.XA CN112667171B (zh) 2021-01-14 2021-01-14 一种基于磁盘裸写的循环覆盖文件系统及读写方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110047372.XA CN112667171B (zh) 2021-01-14 2021-01-14 一种基于磁盘裸写的循环覆盖文件系统及读写方法

Publications (2)

Publication Number Publication Date
CN112667171A CN112667171A (zh) 2021-04-16
CN112667171B true CN112667171B (zh) 2022-09-23

Family

ID=75415094

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110047372.XA Active CN112667171B (zh) 2021-01-14 2021-01-14 一种基于磁盘裸写的循环覆盖文件系统及读写方法

Country Status (1)

Country Link
CN (1) CN112667171B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106933502A (zh) * 2015-12-29 2017-07-07 伊姆西公司 用于同步数据块索引的方法和系统
CN107391696A (zh) * 2017-07-27 2017-11-24 合肥泓泉档案信息科技有限公司 一种档案信息化管理系统
CN108763531A (zh) * 2018-05-31 2018-11-06 深圳市易甲文技术有限公司 一种mdvr文件存储系统及其运行方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100440171C (zh) * 2004-02-24 2008-12-03 中国科学院声学研究所 一种嵌入式环境下音像录放装置的文件组织管理方法
EP2290563B1 (en) * 2009-08-28 2017-12-13 Accenture Global Services Limited Accessing content in a network
CN101853275A (zh) * 2010-05-05 2010-10-06 北京中星微电子有限公司 一种fat文件系统的数据管理方法和系统
CN103279511B (zh) * 2013-05-16 2016-06-15 杭州巨峰科技有限公司 一种安防视频监控设备专用的文件系统
CN104991746A (zh) * 2015-07-27 2015-10-21 深圳市蓝天威视科技有限公司 一种存储和读取fat硬盘内录像数据的方法及系统
CN107644056B (zh) * 2017-08-04 2021-02-12 武汉烽火众智数字技术有限责任公司 一种文件存储方法、装置及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106933502A (zh) * 2015-12-29 2017-07-07 伊姆西公司 用于同步数据块索引的方法和系统
CN107391696A (zh) * 2017-07-27 2017-11-24 合肥泓泉档案信息科技有限公司 一种档案信息化管理系统
CN108763531A (zh) * 2018-05-31 2018-11-06 深圳市易甲文技术有限公司 一种mdvr文件存储系统及其运行方法

Also Published As

Publication number Publication date
CN112667171A (zh) 2021-04-16

Similar Documents

Publication Publication Date Title
CN110673800B (zh) 文件系统的数据操作方法、装置、设备及可读存储介质
CN101281542B (zh) 一种文件存储方法及装置
US20120254264A1 (en) Network-Attachable, File-Accessible Storage Drive
CN106708427A (zh) 一种适用于键值对数据的存储方法
US11250888B1 (en) Flash memory and method for storing and retrieving embedded audio video data
CN104346357A (zh) 一种嵌入式终端的文件存取方法及系统
CN110597762A (zh) 文件处理方法、装置、设备及存储介质
CN111177143B (zh) 键值数据存储方法、装置、存储介质与电子设备
CN110555001A (zh) 数据处理方法、装置、终端及介质
CN113568582B (zh) 数据管理方法、装置和存储设备
CN111857581A (zh) 一种数据存储的处理方法及系统
US8868429B2 (en) Method and device for storing audio data
CN112667171B (zh) 一种基于磁盘裸写的循环覆盖文件系统及读写方法
CN109753224B (zh) 存储结构及存储结构配置方法
CN102799583B (zh) 一种面向对象的存取方法及系统
CN108304144B (zh) 数据写入、读取方法与系统、数据读写系统
CN113568868A (zh) 文件系统管理方法、系统、电子设备及介质
CN112685329B (zh) 用于处理数据的方法及相关装置
TWI555406B (zh) 儲存方法及其處理裝置與錄影系統
CN112597102B (zh) 一种高效的镜像文件系统实现方法
US7565483B2 (en) Method and apparatus for exchanging data with a hard disk
CN111625502B (zh) 数据读取方法及装置、存储介质、电子装置
CN111859016A (zh) 一种录像文件的存储、回放的装置及方法
EP2204730A1 (en) Method and apparatus for creating files in a file system
CN114356232B (zh) 数据读写方法和装置

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