一种文件系统管理方法及电子设备与流程

文档序号:35394098发布日期:2023-09-09 15:29阅读:26来源:国知局
一种文件系统管理方法及电子设备与流程

本技术涉及计算机,尤其涉及一种文件系统管理方法及电子设备。


背景技术:

1、随着电子技术的不断发展,电子设备(如,手机、平板电脑、计算机等)已成为生活中不可或缺的一部分。电子设备中各类应用程序的正常运行,离不开对于存储空间的使用。

2、目前,电子设备采用文件系统对存储空间内的数据进行管理。然而,在电子设备运行期间,文件系统也不可避免地会出现碎片化问题。当文件系统的碎片化程度较高时,文件系统的存储性能也会受到影响。


技术实现思路

1、本技术实施例提供一种文件系统管理方法及电子设备,通过获取能够灵敏反应文件系统的存储性能变化的碎片化指标值,然后,利用该碎片化指标值管理文件系统,保障文件系统的存储性能。

2、为达到上述目的,本技术的实施例采用如下技术方案:

3、第一方面,本技术实施例提供的一种文件系统管理方法,应用于电子设备,电子设备中包括文件系统,文件系统中包括多个用于存储数据的段区域,段区域包括多个数据块,方法包括:针对多个段区域中的每个段区域,根据段区域中数据块的状态信息,确定段区域中数据存储的碎片化程度,其中,状态信息包括已写状态或未写状态;根据多个段区域中数据存储的碎片化程度,评估文件系统中数据存储的第一碎片化程度;根据第一碎片化程度和文件系统对应的修正因子,确定文件系统对应的第一碎片化指标值;文件系统对应的修正因子是根据文件系统中的第一数量和第二数量确定的数值,第一数量为文件系统中段区域的数量,第二数量为单个段区域中数据块的数量;在第一碎片化指标值大于预设值时,触发针对文件系统的垃圾回收处理。

4、在上述实施例中,通过修正因子,将文件系统中数据存储的第一碎片化程度,量化为碎片化指标值,也即,第一碎片化指标值。该第一碎片化指标值作为指示文件系统碎片占比的数据,与存储性能之间近乎呈正比关系,能够灵敏反应文件系统的存储性能变化,那么利用该第一碎片化指标值判断是否针对文件系统进行垃圾回收处理,不仅可以即使针对文件系统进行垃圾回收出,改善由于碎片化引起的存储性能下降问题,还可以避免频繁垃圾回收处理,对存储器件寿命产生影响。

5、在一些实施例中,根据段区域中数据块的状态信息,确定段区域中数据存储的碎片化程度,包括:

6、根据段区域中数据块的状态信息,确定出第一类数据块的第三数量和第二类数据块的第四数量,其中,第一类数据块是状态信息为已写状态的数据块,第二类数据块是状态信息为已写状态,且相邻数据块的状态信息为未写状态的数据块,相邻的两个数据块所对应的逻辑地址相邻;根据加权处理后的第三数量和第四数量,确定第一分数,第一分数是指示段区域中数据存储的碎片化程度的量化值,在段区域中任意的数据块的状态信息变化的情况下,对应的第一分数也变化。

7、在上述实施例中,通过数据块的状态信息,结合相邻数据块的状态信息,准确地识别段区域中数据存储是否零碎,也即,准确识别段区域对应的碎片化程度。

8、在一些实施例中,在确定第一分数之前,方法包括:利用第一权重对第三数量进行加权;利用第二权重对第四数量进行加权;确定第一分数,包括:叠加加权处理后的第三数量和第四数量,得到第一分数;其中,第一权重的取值为1,第二权重的取值为2。

9、在上述实施例中,通过第一权重和第二权重的加权后,得到的第一分数,在经过修正因子调整后,与存储性能之间更接近线性关系。

10、在一些实施例中,根据段区域中数据块的状态信息,确定段区域中数据存储的碎片化程度,包括:根据段区域中数据块的状态信息和/或相邻数据块的状态信息,确定数据块对应的分数值,相邻的两个数据块所对应的逻辑地址也相邻;根据每一个数据块的分数值,确定段区域对应的第一分数;其中,第一分数是指示段区域中数据存储的碎片化程度的量化值,在段区域中任意的数据块的状态信息变化的情况下,对应的第一分数也变化;其中,在数据块的状态信息为已写状态时,对应的分数值为第一值;在数据块的状态信息为未写状态,且相邻数据块中包含一个已写状态的数据块时,确定对应的分数值为第二值;在数据块的状态信息为未写状态,且相邻数据块中包含二个已写状态的数据块时,确定对应的分数值为第三值;在数据块的状态信息为未写状态,且相邻数据块中包含二个未写状态的数据块时,确定对应的分数值为第四值;其中,第四值小于第一值,第一值小于第二值,第二值小于第三值。

11、在一些实施例中,在确定段区域中数据存储的碎片化程度之前,方法还包括:在电子设备开机期间,启动挂载文件系统;在挂载文件系统期间,遍历文件系统中每一个数据块;在遍历到每一个数据块的同时,获取数据块对应的状态信息。

12、在上述实施例中,可以利用挂载文件系统中固有遍历数据块的环节,确定各个数据块的状态信息,减少单独遍历数据块的开销。

13、在一些实施例中,在确定段区域中数据存储的碎片化程度之前,方法还包括:在第一条件下,遍历文件系统中每一个数据块,确定每一个数据块对应的状态信息。

14、在一些实施例中,第一条件包括以下任意一项:检测到针对文件系统中的第一操作,第一操作包括指示向文件系统写入数据的操作,或者,将文件系统中已存储数据擦除的操作;电子设备中空闲的内存空间大小小于第一内存阈值。

15、在一些实施例中,多个段区域中包括第一段区域和第二段区域,在确定文件系统对应的第一碎片化指标值之后,方法还包括:接收针对第一段区域的第二操作,第二操作包括指示向第一段区域写入数据的操作,或者,将第一段区域中已存储数据擦除的操作;响应于第二操作,重新确定第一段区域中数据块对应的状态信息;在第一段区域中包含至少一个第三类数据块的情况下,重新确定第一段区域中数据存储的碎片化程度,第三类数据块包括状态信息由已写状态变为未写状态的数据块,以及状态信息由未写状态变为已写状态的数据块;根据第二段区域中数据存储的碎片化程度和第一段区域中数据存储的碎片化程度,重新评估文件系统中数据存储的第二碎片化程度;根据第二碎片化程度和文件系统对应的修正因子,确定文件系统对应的第二碎片化指标值。

16、在上述实施例中,在电子设备运行过程中,部分段区域(如第一段区域)如果出现状态信息改变的数据块,那么仅重新确定第一段区域的碎片化程度,无需重新确定其他段区域(如,第二段区域)的碎片化程度。这样,可以减少动态更新文件系统的碎片化程度的消耗。

17、在一些实施例中,方法还包括:在确定出文件系统对应的第一碎片化指标值之后,将第一碎片化指标值存储到第一存储位置;在确定出文件系统对应的第二碎片化指标值之后,将第二碎片化指标值更新到第一存储位置。

18、在一些实施例中,所述第一碎片化指标值利用如下公式确定:

19、

20、其中,rfrag为所述第一碎片化指标值,score为所述第二分数,(num-1+num)β为所述修正因子,num为所述第二数量,β为所述第一数量。

21、第二方面,本技术实施例提供的一种电子设备,电子设备包括一个或多个处理器和存储器;所述存储器与处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,所述一个或多个处理器,用于:针对多个段区域中的每个段区域,根据所述段区域中数据块的状态信息,确定所述段区域中数据存储的碎片化程度,其中,所述状态信息包括已写状态或未写状态;根据多个所述段区域中数据存储的碎片化程度,评估所述文件系统中数据存储的第一碎片化程度;根据所述第一碎片化程度和所述文件系统对应的修正因子,确定所述文件系统对应的第一碎片化指标值;所述文件系统对应的修正因子是根据所述文件系统中的第一数量和第二数量确定的数值,所述第一数量为所述文件系统中所述段区域的数量,所述第二数量为单个所述段区域中数据块的数量;在所述第一碎片化指标值大于预设值时,触发针对所述文件系统的垃圾回收处理。

22、在一些实施例中,所述一个或多个处理器,还用于:根据所述段区域中数据块的状态信息,确定出第一类数据块的第三数量和第二类数据块的第四数量,其中,所述第一类数据块是状态信息为所述已写状态的数据块,所述第二类数据块是状态信息为所述已写状态,且相邻数据块的状态信息为所述未写状态的数据块,相邻的两个数据块所对应的逻辑地址相邻;根据加权处理后的所述第三数量和所述第四数量,确定第一分数,所述第一分数是指示所述段区域中数据存储的碎片化程度的量化值,在所述段区域中任意的所述数据块的状态信息变化的情况下,对应的所述第一分数也变化。

23、在一些实施例中,所述一个或多个处理器,还用于:利用第一权重对所述第三数量进行加权;利用第二权重对所述第四数量进行加权;所述确定第一分数,包括:叠加加权处理后的所述第三数量和第四数量,得到所述第一分数;其中,所述第一权重的取值为1,所述第二权重的取值为2。

24、在一些实施例中,所述一个或多个处理器,还用于:根据所述段区域中所述数据块的状态信息和/或相邻数据块的状态信息,确定所述数据块对应的分数值,相邻的两个数据块所对应的逻辑地址也相邻;根据每一个所述数据块的分数值,确定所述段区域对应的第一分数;其中,所述第一分数是指示所述段区域中数据存储的碎片化程度的量化值,在所述段区域中任意的所述数据块的状态信息变化的情况下,对应的所述第一分数也变化;其中,在所述数据块的状态信息为已写状态时,对应的所述分数值为第一值;在所述数据块的状态信息为未写状态,且所述相邻数据块中包含一个已写状态的数据块时,确定对应的所述分数值为第二值;在所述数据块的状态信息为未写状态,且所述相邻数据块中包含二个已写状态的数据块时,确定对应的所述分数值为第三值;在所述数据块的状态信息为未写状态,且所述相邻数据块中包含二个未写状态的数据块时,确定对应的所述分数值为第四值;其中,所述第四值小于所述第一值,所述第一值小于所述第二值,所述第二值小于所述第三值。

25、在一些实施例中,所述一个或多个处理器,还用于:在电子设备开机期间,启动挂载所述文件系统;在挂载所述文件系统期间,遍历所述文件系统中每一个所述数据块;在遍历到每一个所述数据块的同时,获取所述数据块对应的所述状态信息。

26、在一些实施例中,所述一个或多个处理器,还用于:在第一条件下,遍历所述文件系统中每一个所述数据块,确定每一个所述数据块对应的所述状态信息。

27、在一些实施例中,第一条件包括以下任意一项:检测到针对所述文件系统中的第一操作,所述第一操作包括指示向所述文件系统写入数据的操作,或者,将所述文件系统中已存储数据擦除的操作;所述电子设备中空闲的内存空间大小小于第一内存阈值。

28、在一些实施例中,所述一个或多个处理器,还用于:接收针对所述第一段区域的第二操作,所述第二操作包括指示向所述第一段区域写入数据的操作,或者,将所述第一段区域中已存储数据擦除的操作;响应于所述第二操作,重新确定所述第一段区域中数据块对应的状态信息;在所述第一段区域中包含至少一个第三类数据块的情况下,重新确定所述第一段区域中数据存储的碎片化程度,所述第三类数据块包括所述状态信息由已写状态变为未写状态的数据块,以及所述状态信息由未写状态变为已写状态的数据块;根据所述第二段区域中数据存储的碎片化程度和所述第一段区域中数据存储的碎片化程度,重新评估所述文件系统中数据存储的第二碎片化程度;根据所述第二碎片化程度和所述文件系统对应的修正因子,确定所述文件系统对应的第二碎片化指标值。

29、在一些实施例中,所述一个或多个处理器,还用于:在确定出所述文件系统对应的所述第一碎片化指标值之后,将所述第一碎片化指标值存储到第一存储位置;在确定出所述文件系统对应的所述第二碎片化指标值之后,将所述第二碎片化指标值更新到所述第一存储位置。

30、在一些实施例中,第一碎片化指标值利用如下公式确定:

31、

32、其中,rfrag为所述第一碎片化指标值,score为所述第二分数,(num-1+num)β为所述修正因子,num为所述第二数量,β为所述第一数量。

33、第三方面,本技术实施例提供的一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述第一方面及其可能的实施例中的方法。

34、第四方面,本技术提供一种计算机程序产品,当计算机程序产品在上述电子设备上运行时,使得电子设备执行上述第一方面及其可能的实施例中的方法。

35、可以理解地,上述各个方面所提供的电子设备、计算机存储介质以及计算机程序产品均应用于上文所提供的对应方法,因此,其所能达到的有益效果可参考上文所提供的对应方法中的有益效果,此处不再赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1