一种数据存储方法及装置与流程

文档序号:36910901发布日期:2024-02-02 21:39阅读:12来源:国知局
一种数据存储方法及装置与流程

本发明涉及文件存储系统领域,尤其涉及一种数据存储方法及装置。


背景技术:

1、随着我国航天事业的发展,目前航天领域对数据存储、数据缓存的容量及性能要求越来越高。星载传感器精度在不断提高,前端传感器采集的原始数据流带宽远远超过了后端的数据处理能力,因此要将海量的待处理数据以文件形式缓存在文件系统中,文件系统需要支持海量数据的存储功能并实现循环覆盖。此外天地链路带宽的限制较大,加上卫星过顶时间短,待传回地面的数据同样需要经文件系统缓存。

2、目前,无论是元数据还是文件数据,全部存储在挂载通用文件系统的硬盘介质中,当单粒子翻转事件发生在文件系统关键元数据中时,可能会导致文件系统损坏,此时文件系统功能将丧失。

3、相关技术中,为避免这种情况的发生,为了提高文件系统的可靠性,通常使用宇航级高可靠硬盘,或组成raid磁盘冗余阵列的方法。然而,这两种方案均需要耗费大量成本。


技术实现思路

1、有鉴于此,本发明提供一种数据存储方法及装置,以解决相关技术中的不足。

2、具体地,本发明是通过如下技术方案实现:

3、根据本发明的第一方面,提供了一种数据存储方法,应用于文件存储系统,所述文件存储系统包括mram芯片和固态硬盘,所述mram芯片用于存储元数据,所述元数据包括文件目录项表和文件分配表,所述固态硬盘用于存储所述元数据对应的文件数据,所述固态硬盘以簇为存储单元存储所述文件数据,所述方法包括:

4、响应于获取到的待存储文件对应的待存储文件数据,从所述文件目录项表中确定出目标目录项,并根据所述文件分配表中记录的簇索引的信息确定文件起始簇信息;其中,所述簇索引与所述固态硬盘中的簇一一对应;

5、根据所述文件起始簇信息和所述待存储文件数据生成所述待存储文件的文件信息,并将所述文件信息存储至所述目标目录项;

6、根据所述文件起始簇信息确定所述固态硬盘中的目标存储地址,并以所述目标存储地址为存储所述待存储文件数据的起始地址,对所述待存储文件数据进行存储;

7、更新所述文件分配表中记录的簇索引的信息;其中,所述文件信息和更新的簇索引的信息为对应于所述待存储文件数据的元数据。

8、根据本发明的第二方面,提供了一种数据存储装置,应用于文件存储系统,所述文件存储系统包括mram芯片和固态硬盘,所述mram芯片用于存储元数据,所述元数据包括文件目录项表和文件分配表,所述固态硬盘用于存储所述元数据对应的文件数据,所述固态硬盘以簇为存储单元存储所述文件数据,所述装置包括:

9、第一确定单元,用于响应于获取到的待存储文件对应的待存储文件数据,从所述文件目录项表中确定出目标目录项,并根据所述文件分配表中记录的簇索引的信息确定文件起始簇信息;其中,所述簇索引与所述固态硬盘中的簇一一对应;

10、第一存储单元,用于根据所述文件起始簇信息和所述待存储文件数据生成所述待存储文件的文件信息,并将所述文件信息存储至所述目标目录项;

11、第二存储单元,用于根据所述文件起始簇信息确定所述固态硬盘中的目标存储地址,并以所述目标存储地址为存储所述待存储文件数据的起始地址,对所述待存储文件数据进行存储;

12、更新单元,用于更新所述文件分配表中记录的簇索引的信息;其中,所述文件信息和更新的簇索引的信息为对应于所述待存储文件数据的元数据。

13、根据本发明的第三方面,提供了一种电子设备,包括:

14、处理器;

15、用于存储处理器可执行指令的存储器;

16、其中,所述处理器通过运行所述可执行指令以实现如第一方面中任一项所述的方法。

17、根据本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第一方面中任一所述方法的步骤。

18、本发明的实施例提供的技术方案可以包括以下有益效果:

19、在本发明的实施例中,文件存储系统将元数据和文件数据分开存储,通过mram芯片存储元数据,通过固态硬盘存储文件数据,一方面,由于mram芯片具有抗单粒子翻转的物理特性,使得文件存储系统可以避免单粒子翻转事件的影响,此外,由于mram芯片的成本较低,且相对于全部数据而言,元数据的数据量极小,因此一个mram芯片可以存储大量文件数据对应的元数据,从而进一步的减小了存储成本;另一方面,mram的访问是通过cpu直接地址映射访问,无需如硬盘一样缓存至内存中,簇索引、目录项的更新均可在1个cpu指令周期下完成,属于原子操作,若写入数据被异常掉电打断也至多损失1个簇的数据,不会出现文件损坏或文件系统整体损坏的情况。



技术特征:

1.一种数据存储方法,其特征在于,应用于文件存储系统,所述文件存储系统包括mram芯片和固态硬盘,所述mram芯片用于存储元数据,所述元数据包括文件目录项表和文件分配表,所述固态硬盘用于存储所述元数据对应的文件数据,所述固态硬盘以簇为存储单元存储所述文件数据,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述从所述文件目录项表中确定出目标目录项,包括:

3.根据权利要求2所述的方法,其特征在于,所述文件分配表记录有簇索引对应的循环覆盖标识,所述从已有目录项中确定出可覆盖目录项,包括:

4.根据权利要求3所述的方法,其特征在于,所述文件起始簇信息为所述第一文件对应的簇索引所指向的所述固态硬盘中的第一个簇的信息。

5.根据权利要求1所述的方法,其特征在于,所述以所述目标存储地址对应的簇作为起始簇,将所述待存储文件数据存储至所述固态硬盘中,包括:

6.根据权利要求1所述的方法,其特征在于,所述方法还包括:

7.根据权利要求1所述的方法,其特征在于,所述文件目录项表包括:卷标目录项表、文件分配目录项表、数据文件属性目录项表;所述方法还包括:

8.一种数据存储装置,其特征在于,应用于文件存储系统,所述文件存储系统包括mram芯片和固态硬盘,所述mram芯片用于存储元数据,所述元数据包括文件目录项表和文件分配表,所述固态硬盘用于存储所述元数据对应的文件数据,所述固态硬盘以簇为存储单元存储所述文件数据,所述装置包括:

9.一种电子设备,其特征在于,包括:

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至7中任一所述方法的步骤。


技术总结
本发明提供一种数据存储方法及装置,所述方法包括:响应于获取到的待存储文件对应的待存储文件数据,从文件目录项表中确定出目标目录项,并根据文件分配表中记录的簇索引的信息确定文件起始簇信息;簇索引与固态硬盘中的簇一一对应;根据文件起始簇信息和待存储文件数据生成待存储文件的文件信息,并将文件信息存储至目标目录项;根据所述文件起始簇信息确定所述固态硬盘中的目标存储地址,并以所述目标存储地址为存储所述待存储文件数据的起始地址,对所述待存储文件数据进行存储;更新文件分配表中记录的簇索引的信息;文件信息和更新的簇索引的信息为对应于待存储文件数据的元数据。

技术研发人员:蒋辰浩,钟宇昊,毛佳佳,阮翔
受保护的技术使用者:杭州计算机外部设备研究所(中国电子科技集团公司第五十二研究所)
技术研发日:
技术公布日:2024/2/1
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1