[发明专利]基于FAT文件系统的数据存储方法及装置有效
申请号: | 201910574107.X | 申请日: | 2019-06-28 |
公开(公告)号: | CN110286859B | 公开(公告)日: | 2020-04-14 |
发明(设计)人: | 周琳;黄鹏翔;李扬;曹洪达;于洪彬;陈凯 | 申请(专利权)人: | 中国海洋大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 青岛清泰联信知识产权代理有限公司 37256 | 代理人: | 张媛媛 |
地址: | 266100 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 fat 文件系统 数据 存储 方法 装置 | ||
本发明提出一种基于FAT文件系统的数据存储方法及装置,将数据文件以数据块为单位连续存储至数据区,所述文件分配表每个所述表项中记录了所述数据区中相同编号的簇的存储状态,以所述数据文件占用的各簇构成一个簇链,使用所述分区存储的方式,避免了文件簇链开始于FAT表扇区内部的情况发生,省去了存储数据文件时所有对FAT表的读取操作,FAT表的更新可简化为连续簇链生成和连续扇区写入两步,大大的简化了其操作流程。
技术领域
本发明属于计算机技术领域,尤其涉及一种基于FAT文件系统的数据存储方法及装置。
背景技术
FAT文件系统是Windows等操作系统支持的一种文件系统形式,为了保证SD卡中的数据能够直接为现场监控主机所读取,需要在SD卡中挂载文件系统,使得SD卡中的数据以文件的形式存储在SD卡中。
在传统文件系统的使用过程中,在创建文件时,需要更新根目录,为后续的访问提供文件读写依据,而在对每一扇区、簇进行读写时,都要对FAT1表与FAT2表中的相应扇区、FSINFO扇区进行反复的读取和更新,以确定本次读写的地址并更新下个可用扇区。即系统在有效数据存储时,不仅要进行数据的存储,还需要存储与这个数据所在文件相关的众多信息,比如文件名称、文件存放簇链、文件起始位置等等一系列文件系统参数。这种复杂的实现形式并不利于其在逻辑上的实现。
鉴于此,有必要提供一种基于FAT文件系统的数据存储方法及装置。
发明内容
本发明针对上述技术问题,提出一种基于FAT文件系统的数据存储方法及装置,以解决上述问题。
为了达到上述目的,本发明采用的技术方案为:
一种基于FAT文件系统的数据存储方法,所述FAT文件系统包括保留区、文件分配表及数据区,该方法依次包括如下步骤:
步骤S1:读取位于所述数据区中的所述状态信息区,其中,所述状态信息区用于存放自定义标识;
步骤S2:判断是否存在自定义标识;若不存在自定义标识,则执行步骤S3后执行步骤S4;若存在自定义标识,则执行步骤S4;
步骤S3:对所述FAT文件系统进行自定义:将所述数据区的第四簇的第一个扇区定义为所述状态信息区,所述状态信息区中存储有所述自定义标识及数据块所占簇数,其中,数据块由固定个数的簇组成;
步骤S4:读取根目录后,创建文件目录项并更新根目录;
步骤S5:将数据文件以所述数据块为单位存储至所述数据区,并创建簇链更新文件分配表。
作为优选,所述步骤S5中,创建簇链更新文件分配表的具体过程如下:
每一个新建的所述数据文件都从当前可用的所述数据块的首地址开始连续存储,当前可用的所述数据块存满后,将所述数据文件继续存储到紧挨着的下一个所述数据块中,直到所述数据文件结束;若所述数据文件结束时,当前可用的所述数据块未存满,则丢弃掉当前可用的所述数据块的剩余簇,下一个所述数据文件直接从下一个当前可用的所述数据块的首地址开始存储;
对所述文件分配表中的表项依次编号,每个所述表项中记录了所述数据区中相同编号的簇的存储状态,且所述表项中填入所述数据文件占用的下一个簇的簇号,以此将所述数据文件占用的各簇构成一个簇链。
作为优选,所述步骤S3中,所述数据块占128个簇,所述簇占16个扇区,每个扇区为512Bytes。
作为优选,所述根目录在根目录区中读取,其中,所述根目录区位于所述数据区的第三簇。
作为优选,所述步骤S3中,所述状态信息区中还存储有下一个当前可用的所述数据块的地址及下一个可用簇的簇号。
作为优选,还包括步骤S6:更新所述状态信息区。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国海洋大学,未经中国海洋大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910574107.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据处理方法及相关设备
- 下一篇:信息处理方法、信息处理系统和电子设备
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置