磁盘实地址动态存储方法、系统及相关设备技术方案

技术编号:33354468 阅读:13 留言:0更新日期:2022-05-08 10:07
本发明专利技术适用于存储技术应用领域,提供了一种磁盘实地址动态存储方法、系统及相关设备,所述方法包括:将磁盘初始化为FAT32文件存储系统;在磁盘根目录下新建子目录,并使所述子目录中的开始簇为所述实际地址顺序中第一个可用簇,并根据所述子目录更新所述FAT表,其中,根据预设簇大小确定所述子目录所占的簇长度,所述子目录具有建立时间;在所述子目录下新建文件,并使所述文件的开始簇为所述子目录中的第一个所述可用簇,并根据所述文件更新所述FAT表,其中,所述文件所占的簇数量与所述文件的文件大小相同;根据预设存储规则在所述子目录中存储新文件。本发明专利技术实现了动态循环覆盖的文件存储。的文件存储。的文件存储。

【技术实现步骤摘要】
磁盘实地址动态存储方法、系统及相关设备


[0001]本专利技术属于存储技术应用领域,尤其涉及一种磁盘实地址动态存储方法、系统及相关设备。

技术介绍

[0002]传统的存储方式对于大量大小不一文件的存储不可避免的会产生松驰空间,分配文件存储空间不够连续使得其片段化加大松弛空间产生的可能,造成过多存储资源的浪费;在存储空间不足时无法进行动态覆盖存储。
[0003]例如,在磁盘中,对于使用FAT(File Allocation Table,文件分配表)32的文件存储系统,在磁盘根目录下包括DBR、FAT1、FAT2、DATA四个部分,其中DBR为分区的引导程序,FAT1为FAT32文件存储系统的主要文件分配表,FAT2为FAT1的备份,DATA为以簇(cluster)为最小存储单位的存储扇区,DATA中的文件以目录或单独的文件的方式存储在一起。通常情况下,在FAT32文件存储系统初始化时,FAT1会默认将DATA中的每一个目录的大小分配为默认大小,即默认一个目录使用的存储扇区是具有规律的,不能根据已经或是即将存储的文件大小进行分配,这就导致在实际使用过程中,一个目录中即使还存在空的存储扇区,在向该目录存储大于其空的存储扇区大小的文件时会留空,转而存入其他目录中,使得松弛空间产生,造成资源浪费;同时,FAT32文件存储系统本身并没有动态存储方案,这就使得松弛空间存在的情况下,FAT32本身也会出现判断整个磁盘空间存满的情况,不利于摄像机等需要大量存储空间和实时存储使用。

技术实现思路

[0004]本专利技术实施例提供一种磁盘实地址动态存储方法、系统及相关设备,旨在解决现有的FAT32文件存储系统具有资源浪费和无法根据实际需求动态存储文件的问题。
[0005]第一方面,本专利技术实施例提供一种磁盘实地址动态存储方法,所述方法包括:
[0006]将磁盘初始化为FAT32文件存储系统,所述FAT文件存储系统包括FAT表,并将所述磁盘划分为以簇为单位的存储单元,簇根据所述磁盘的实际地址具有实际地址顺序;
[0007]在磁盘根目录下新建子目录,并使新建的所述子目录中的开始簇为所述实际地址顺序中第一个可用簇,并根据所述子目录更新所述FAT表,其中,根据预设簇大小确定所述子目录所占的簇长度,所述子目录具有建立时间;
[0008]在所述子目录下新建文件,并使新建的所述文件的开始簇为所述子目录中的第一个所述可用簇,并根据所述文件更新所述FAT表,其中,所述文件所占的簇数量与所述文件的文件大小相同;
[0009]根据预设存储规则在所述子目录中存储新文件。
[0010]更进一步的,所述可用簇为按照所述实际地址顺序排序的最后一个所述子目录和/或所述文件之后的第一个没有存储任何内容的存储单元,所述子目录的开始簇为所述子目录所占簇长度中的第一个簇,所述文件的开始簇为所述文件所占簇数量中的第一个
簇。
[0011]更进一步的,所述预设存储规则包括:
[0012]根据所述新文件的文件大小判断是否需要新建下一个子目录,其中:
[0013]若所述新文件的文件大小小于或等于当前所述子目录中的所述可用簇的大小,则将所述新文件的开始簇设为所述子目录中上一个所述文件的结尾簇后的第一个所述可用簇,并根据所述新文件更新所述FAT表;
[0014]若所述新文件的文件大小大于当前所述子目录中的所述可用簇的大小,则在所述磁盘中新建第二子目录,并将所述第二子目录中的开始簇设置为所述实际地址顺序中当前的第一个所述可用簇,将所述新文件的开始簇设为所述第二子目录中的第一个所述可用簇,并根据所述第二子目录和所述新文件更新所述FAT表。
[0015]更进一步的,所述预设存储规则包括:
[0016]若所述子目录中簇的使用数量超过预设目录大小约束规则,则在所述磁盘中新建第二子目录,并将所述第二子目录中的开始簇设置为所述实际地址顺序中当前的第一个所述可用簇,将所述新文件的开始簇设为所述第二子目录中的第一个所述可用簇。
[0017]更进一步的,在所述根据预设存储规则在所述子目录中存储新文件的步骤之前,还包括:
[0018]判断所述实际地址顺序排序的最后一个所述子目录和/或所述文件之后的簇数量是否足够存储所述新文件,其中:
[0019]若所述簇数量足够存储所述新文件,则按照所述预设存储规则进行所述新文件的存储;
[0020]若所述簇数量不够存储所述新文件,则将所述磁盘中按照所述建立时间先后排序的第一个所述子目录删除,并释放所述子目录所占的簇,按照所述预设存储规则进行所述新文件的存储。
[0021]第二方面,一种磁盘实地址动态存储系统,包括:
[0022]存储系统初始化单元,用于将磁盘初始化为FAT32文件存储系统,所述FAT文件存储系统包括FAT表,并将所述磁盘划分为以簇为单位的存储单元,簇根据所述磁盘的实际地址具有实际地址顺序;
[0023]目录初始化单元,用于在磁盘根目录下新建子目录,并使新建的所述子目录中的开始簇为所述实际地址顺序中第一个可用簇,并根据所述子目录更新所述FAT表,其中,根据预设簇大小确定所述子目录所占的簇长度,所述子目录具有建立时间;
[0024]文件初始化单元,在所述子目录下新建文件,并使新建的所述文件的开始簇为所述子目录中的第一个所述可用簇,并根据所述文件更新所述FAT表,其中,所述文件所占的簇数量与所述文件的文件大小相同;
[0025]动态存储单元,用于根据预设存储规则在所述子目录中存储新文件。
[0026]更进一步的,所述可用簇为按照所述实际地址顺序排序的最后一个所述子目录和/或所述文件之后的第一个没有存储任何内容的存储单元,所述子目录的开始簇为所述子目录所占簇长度中的第一个簇,所述文件的开始簇为所述文件所占簇数量中的第一个簇。
[0027]更进一步的,所述预设存储规则包括:
[0028]根据所述新文件的文件大小判断是否需要新建下一个子目录,其中:
[0029]若所述新文件的文件大小小于或等于当前所述子目录中的所述可用簇的大小,则将所述新文件的开始簇设为所述子目录中上一个所述文件的结尾簇后的第一个所述可用簇,并根据所述新文件更新所述FAT表;
[0030]若所述新文件的文件大小大于当前所述子目录中的所述可用簇的大小,则在所述磁盘中新建第二子目录,并将所述第二子目录中的开始簇设置为所述实际地址顺序中当前的第一个所述可用簇,将所述新文件的开始簇设为所述第二子目录中的第一个所述可用簇,并根据所述第二子目录和所述新文件更新所述FAT表。
[0031]第三方面,本专利技术实施例还提供一种计算机设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述实施例中任意一项所述的磁盘实地址动态存储方法中的步骤。
[0032]第四方面,本专利技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种磁盘实地址动态存储方法,其特征在于,所述方法包括:将磁盘初始化为FAT32文件存储系统,所述FAT文件存储系统包括FAT表,并将所述磁盘划分为以簇为单位的存储单元,簇根据所述磁盘的实际地址具有实际地址顺序;在磁盘根目录下新建子目录,并使新建的所述子目录中的开始簇为所述实际地址顺序中第一个可用簇,并根据所述子目录更新所述FAT表,其中,根据预设簇大小确定所述子目录所占的簇长度,所述子目录具有建立时间;在所述子目录下新建文件,并使新建的所述文件的开始簇为所述子目录中的第一个所述可用簇,并根据所述文件更新所述FAT表,其中,所述文件所占的簇数量与所述文件的文件大小相同;根据预设存储规则在所述子目录中存储新文件。2.如权利要求1所述的磁盘实地址动态存储方法,其特征在于,所述可用簇为按照所述实际地址顺序排序的最后一个所述子目录和/或所述文件之后的第一个没有存储任何内容的存储单元,所述子目录的开始簇为所述子目录所占簇长度中的第一个簇,所述文件的开始簇为所述文件所占簇数量中的第一个簇。3.如权利要求2所述的磁盘实地址动态存储方法,其特征在于,所述预设存储规则包括:根据所述新文件的文件大小判断是否需要新建下一个子目录,其中:若所述新文件的文件大小小于或等于当前所述子目录中的所述可用簇的大小,则将所述新文件的开始簇设为所述子目录中上一个所述文件的结尾簇后的第一个所述可用簇,并根据所述新文件更新所述FAT表;若所述新文件的文件大小大于当前所述子目录中的所述可用簇的大小,则在所述磁盘中新建第二子目录,并将所述第二子目录中的开始簇设置为所述实际地址顺序中当前的第一个所述可用簇,将所述新文件的开始簇设为所述第二子目录中的第一个所述可用簇,并根据所述第二子目录和所述新文件更新所述FAT表。4.如权利要求2所述的磁盘实地址动态存储方法,其特征在于,所述预设存储规则包括:若所述子目录中簇的使用数量超过预设目录大小约束规则,则在所述磁盘中新建第二子目录,并将所述第二子目录中的开始簇设置为所述实际地址顺序中当前的第一个所述可用簇,将所述新文件的开始簇设为所述第二子目录中的第一个所述可用簇。5.如权利要求2所述的磁盘实地址动态存储方法,其特征在于,在所述根据预设存储规则在所述子目录中存储新文件的步骤之前,还包括:判断所述实际地址顺序排序的最后一个所述子目录和/或所述文件之后的簇数量是否足够存储所述新文件,其中:若所述簇数量足够存储所述新文件,则按照所述预设存储规则进行所述新文件的存储;若所述簇数量不够存储所述...

【专利技术属性】
技术研发人员:方强陈文海闫潇宁
申请(专利权)人:深圳市安软慧视科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1