本申请提供一种基于文件系统的数据写方法、装置、计算机设备和存储介质。该方法包括:确定接收到待写入文件数据的写入指令时,从内存中获取文件系统元数据;其中,所述文件系统元数据包括非易失性存储介质当前可用存储空间和不可用存储空间的存储空间分布数据以及已存储文件数据的大小信息;对所述文件系统元数据进行筛选,以确定出目标可用存储空间;将所述待写入文件数据写入所述目标可用存储空间中。采用本申请方法能够避免在嵌入式设备资源有限的情况下文件系统写数据时导致的卡顿或者录像丢帧等情况,从而有效提高了文件系统的写性能。的写性能。的写性能。
【技术实现步骤摘要】
基于文件系统的写方法、装置、计算机设备和存储介质
[0001]本申请涉及嵌入式系统
,特别是涉及一种基于文件系统的数据写方法、装置、计算机设备和存储介质。
技术介绍
[0002]目前文件系统被广泛应用到运动摄像机或者行车记录仪器等嵌入式设备中,对于资源丰富的嵌入式设备,比如嵌入式设备的内存足够大且存储介质性能足够好,此时该嵌入式系统中的文件系统就能够很好的运作且获取比较好的性能。
[0003]但对于资源极其有限的嵌入式设备,嵌入式设备会更加频繁的回收文件数据和文件系统元数据(包括内存中存储介质使用分布情况表),造成文件系统的写性能降低,容易出现卡顿、录像丢帧等情况,现有方法通常是内存中每写入一批文件数据,就将该批文件数据和文件系统元数据(包括内存中存储介质使用分布情况表)从内存写入存储介质中,并且因为内存紧张,保存文件系统元数据的内存被回收掉,导致每向存储介质中写入一次文件数据时同步地从存储介质中读一次文件系统元数据(包括内存中存储介质使用分布情况表),才能写下该次文件数据。
[0004]很显然,现有方法增加了从内存写入存储介质的写次数和读取次数,降低了存储介质的写入速度和读速度,增加了存储负担,从而导致嵌入式系统中的文件系统写数据时产生卡顿或者录像丢帧等问题。
技术实现思路
[0005]基于此,对于资源紧张的嵌入式系统,有必要针对内存中每写入一批文件数据时就将该批文件数据写入存储介质中、且内存每向存储介质中写入一次文件数据时就获取一次内存的元数据(包括当前使用分布情况表),导致的文件系统写数据时产生卡顿或者录像丢帧等问题,提供一种基于文件系统的数据写方法、装置、计算机设备和存储介质。
[0006]第一方面,本申请实施例提供一种基于文件系统的数据写方法,包括:
[0007]确定接收到待写入文件数据的写入指令时,从内存中获取文件系统元数据;其中,所述文件系统元数据包括非易失性存储介质当前可用存储空间和不可用存储空间的存储空间分布数据以及已存储文件数据的大小信息;
[0008]对所述文件系统元数据进行筛选,以确定出目标可用存储空间;
[0009]将所述待写入文件数据写入所述目标可用存储空间中。
[0010]在其中一个实施例中,当接收到掉电指令或者重启指令时,将内存中的当前文件系统元数据写入非易失性存储介质中。
[0011]在其中一个实施例中,所述当接收到掉电指令或者重启指令时,将内存中的当前文件系统元数据写入非易失性存储介质中,包括:
[0012]当接收到掉电指令或者重启指令时,根据内存中接收到的所述待写入文件数据和所述文件系统元数据,得到更新后的文件系统元数据,并将所述更新后的文件系统元数据
确定为所述当前文件系统元数据;
[0013]获取非易失性存储介质中的预设对齐写入规则;其中,所述预设对齐写入规则表征所述当前文件系统元数据与非易失性存储介质中存储物理单元的对齐方式;
[0014]根据所述预设对齐写入规则,将所述当前文件系统元数据和所述待写入文件数据写入非易失性存储介质中。
[0015]在其中一个实施例中,所述根据内存中接收到的所述待写入文件数据和所述文件系统元数据,得到更新后的文件系统元数据,包括:
[0016]根据内存中接收到的所述待写入文件数据对应的目标可用存储空间,获取所述目标可用存储空间在非易失性存储介质中的存储位置;
[0017]根据所述存储位置,将所述文件系统元数据中的目标可用存储空间的可用属性更新为不可用属性,得到更新后的文件系统元数据。
[0018]在其中一个实施例中,所述根据所述预设对齐写入规则,将所述当前文件系统元数据写入非易失性存储介质中,包括:
[0019]获取非易失性存储介质的一次最大写入长度;
[0020]根据所述最大写入长度、所述当前文件系统元数据的总数据量,确定所述总数据量对应的写入次数;
[0021]根据所述预设对齐写入规则,将所述总数据量按照所述写入次数逐次写入非易失性存储介质中。
[0022]在其中一个实施例中,在所述根据所述预设对齐写入规则,将所述当前文件系统元数据和所述待写入文件数据写入非易失性存储介质中的步骤之后,所述方法还包括:
[0023]当确定所述当前文件系统元数据对齐写入非易失性存储介质中时,执行针对对齐后文件系统元数据的同步操作,以得到同步文件元数据;其中,所述对齐后文件系统元数据包括对齐写入非易失性存储介质中的当前文件系统元数据,所述同步文件元数据用于表征所述当前文件系统元数据的流畅程度和连续程度。
[0024]在其中一个实施例中,在所述确定接收到待写入文件数据的写入指令时,获取当前状态信息的步骤之前,所述方法还包括:
[0025]获取非易失性存储介质的历史记录数据,并根据所述历史记录数据判断非易失性存储介质是否满足预设格式化条件;
[0026]当根据所述历史记录数据确定非易失性存储介质符合预设格式化条件时,针对非易失性存储介质执行格式化操作;
[0027]当根据所述历史记录数据确定非易失性存储介质不符合预设格式化条件时,输出提示信息;其中,所述提示信息用于提示非易失性存储介质的当前存储空间足够且不需要执行格式化操作。
[0028]第二方面,本申请实施例提供一种基于文件系统的数据写装置,所述装置包括:
[0029]第一获取模块,用于确定接收到待写入文件数据的写入指令时,从内存中获取文件系统元数据;其中,所述文件系统元数据包括非易失性存储介质当前可用存储空间和不可用存储空间的存储空间分布数据以及已存储文件数据的大小信息;
[0030]第一处理模块,用于对所述文件系统元数据进行筛选,以确定出目标可用存储空间;
[0031]第一数据数据写入模块,用于将所述待写入文件数据写入所述目标可用存储空间中。
[0032]所述基于文件系统的数据写装置还包括第二数据写入模块,所述第二数据写入模块,用于当接收到掉电指令或者重启指令时,将内存中的当前文件系统元数据写入非易失性存储介质中。
[0033]所述第二数据写入模块,具体包括:
[0034]更新单元,用于当接收到掉电指令或者重启指令时,根据内存中接收到的所述待写入文件数据和所述文件系统元数据,得到更新后的文件系统元数据,并将所述更新后的文件系统元数据确定为所述当前文件系统元数据;
[0035]获取单元,用于获取非易失性存储介质中的预设对齐写入规则;其中,所述预设对齐写入规则表征所述当前文件系统元数据与非易失性存储介质中存储物理单元的对齐方式;
[0036]数据写入单元,用于根据所述预设对齐写入规则,将所述当前文件系统元数据和所述待写入文件数据写入非易失性存储介质中。
[0037]所述更新单元,具体包括:
[0038]第一获取子单元,用于根据内存中接收到的所述待写入文件数据对应的目标可用存储空间,获取所述目标可用存储空间在非易失性存储介质中的存储位置;...
【技术保护点】
【技术特征摘要】
1.一种基于文件系统的数据写方法,其特征在于,所述方法包括:确定接收到待写入文件数据的写入指令时,从内存中获取文件系统元数据;其中,所述文件系统元数据包括非易失性存储介质当前可用存储空间和不可用存储空间的存储空间分布数据以及已存储文件数据的大小信息;对所述文件系统元数据进行筛选,以确定出目标可用存储空间;将所述待写入文件数据写入所述目标可用存储空间中。2.根据权利要求1中所述的方法,所述方法还包括:当接收到掉电指令或者重启指令时,将内存中的当前文件系统元数据写入非易失性存储介质中。3.根据权利要求2中所述的方法,其特征在于,所述当接收到掉电指令或者重启指令时,将内存中的当前文件系统元数据写入非易失性存储介质中,包括:当接收到掉电指令或者重启指令时,根据内存中接收到的所述待写入文件数据和所述文件系统元数据,得到更新后的文件系统元数据,并将所述更新后的文件系统元数据确定为所述当前文件系统元数据;获取非易失性存储介质中的预设对齐写入规则;其中,所述预设对齐写入规则表征所述当前文件系统元数据与非易失性存储介质中存储物理单元的对齐方式;根据所述预设对齐写入规则,将所述当前文件系统元数据和所述待写入文件数据写入非易失性存储介质中。4.根据权利要求3中所述的方法,其特征在于,所述根据内存中接收到的所述待写入文件数据和所述文件系统元数据,得到更新后的文件系统元数据,包括:根据内存中接收到的所述待写入文件数据对应的目标可用存储空间,获取所述目标可用存储空间在非易失性存储介质中的存储位置;根据所述存储位置,将所述文件系统元数据中的目标可用存储空间的可用属性更新为不可用属性,得到更新后的文件系统元数据。5.根据权利要求3中所述的方法,其特征在于,所述根据所述预设对齐写入规则,将所述当前文件系统元数据写入非易失性存储介质中,包括:获取非易失性存储介质的一次最大写入长度;根据所述最大写入长度、所述当前文件系统元数据的总数据量,确定所述总数据量对应的写入次数;根据所述预设对齐写入规则,将所述总数据量按照所述写入次...
【专利技术属性】
技术研发人员:李想,李娟,
申请(专利权)人:珠海全志科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。