存储空间整理方法及装置制造方法及图纸

技术编号:21377586 阅读:25 留言:0更新日期:2019-06-15 13:21
本公开是关于存储空间整理方法及装置。该方法包括:获取磁盘中的待整理区域,待整理区域包括:使用区域和与使用区域相邻的空闲区域,使用区域由至少一个使用区段组成,空闲区域由至少一个空闲区段组成,使用区段和空闲区段中均包括至少一个块;确定使用区域中的目标搬移数据;将目标搬移数据搬移至任一个空闲区域中,以扩大未搬入数据的空闲区域所包括的块数量。由于在磁盘低存储并且碎片化严重的场景中,无法找到连续的存储空间开展碎片整理工作,而本公开中通过找到由使用区域和与使用区域相邻的两个空闲区域所组成的待整理区域,将使用区域中的目标搬移数据搬移至空闲区域中,从而扩大了连续的可用存储空间,进而可以有效地开展碎片整理工作。

【技术实现步骤摘要】
存储空间整理方法及装置
本公开涉及计算机
,尤其涉及存储空间整理方法及装置。
技术介绍
磁盘的存储空间被划分为多个数据块,每个数据块的数据区可以存放数据。当某个数据块中的数据被删掉时,该数据块形成空块。但是这个空块又不能被其它程序利用,因此该空块就形成了“碎片”。
技术实现思路
为克服相关技术中存在的问题,本公开实施例提供存储空间整理方法及装置。所述技术方案如下:根据本公开实施例的第一方面,提供一种存储空间整理方法,包括:获取磁盘中的待整理区域,所述待整理区域包括:使用区域和与所述使用区域相邻的空闲区域,所述使用区域由至少一个使用区段组成,所述空闲区域由至少一个空闲区段组成,所述使用区段和所述空闲区段中均包括至少一个块;确定所述使用区域中的目标搬移数据;将所述目标搬移数据搬移至任一个所述空闲区域中,以扩大未搬入数据的空闲区域所包括的块数量。本公开的实施例提供的技术方案可以包括以下有益效果:获取磁盘中的待整理区域,待整理区域包括:使用区域和与使用区域相邻的空闲区域,使用区域由至少一个使用区段组成,空闲区域由至少一个空闲区段组成,使用区段和空闲区段中均包括至少一个块;确定使用区域中的目标搬移数据;将目标搬移数据搬移至任一个空闲区域中,以扩大未搬入数据的空闲区域所包括的块数量。由于在磁盘低存储并且碎片化严重的场景中,无法找到连续的存储空间开展碎片整理工作,而本公开中通过找到由使用区域和与使用区域相邻的两个空闲区域所组成的待整理区域,将使用区域中的目标搬移数据搬移至空闲区域中,从而扩大了连续的可用存储空间,进而可以有效地开展碎片整理工作。在一个实施例中,所述确定所述使用区域中的目标搬移数据,包括:检测第一空闲区域中的块数量是否小于所述使用区域中的块数量;所述第一空闲区域为其中一个与所述使用区域相邻的空闲区域;当检测到所述第一空闲区域中的块数量小于所述使用区域中的块数量,确定所述使用区域中靠近所述第二空闲区域的预设数量的数据为所述目标搬移数据;所述第二空闲区域为另一个与所述使用区域相邻的空闲区域;所述预设数量小于或等于所述第一空闲区域中所包括的块数量;当检测所述第一空闲区域中所包括的块数量大于或等于所述使用区域中所包括的块数量,确定所述使用区域中的所有数据为所述目标搬移数据。在一个实施例中,所述将所述目标搬移数据搬移至任一个所述空闲区域中,包括:将所述目标搬移数据从所述空闲区域的起始端部开始依次写入所述空闲区域中。在一个实施例中,所述将所述目标搬移数据搬移至任一个所述空闲区域中,包括:获取所述目标搬移数据所占用的目标块数量;从所述空闲区域中获取写入所述目标搬移数据的块起始位置;所述块起始位置和所述空闲区域的结尾端部之间的块数量为所述目标块数量;将所述目标搬移数据从所述块起始位置开始依次写入所述空闲区域中。在一个实施例中,所述将所述目标搬移数据搬移至任一个所述空闲区域中之后,所述方法还包括:修改所述目标搬移数据对应的宿主文件以及区段树信息。在一个实施例中,所述获取磁盘中的待整理区域,包括:获取所述磁盘中的待整理块组;从所述待整理块组中获取所述待整理区域。在一个实施例中,所述获取所述磁盘中的待整理块组,包括:获取所述磁盘中每个块组的使用参数;所述块组的使用参数包括:所述块组内空闲的块数量和所述块组内的碎片数量;获取所述磁盘中每个块组对应的待整理比值,所述待整理比值为所述块组内空闲的块数量和所述块组内的碎片数量的比值;确定所述待整理比值满足第一预设条件的块组为所述待整理块组。在一个实施例中,所述确定所述待整理比值满足第一预设条件的块组为所述待整理块组,包括:确定所述待整理比值最小的块组为所述待整理块组。在一个实施例中,所述从所述待整理块组中获取所述待整理区域,包括:获取所述待整理块组中的候选整理区域;所述候选整理区域包括:使用区域和与所述使用区域相邻的空闲区域,所述使用区域由至少一个使用区段组成,所述空闲区域由至少一个空闲区段组成,所述使用区段和所述空闲区段中均包括至少一个块;获取每个所述候选整理区域对应的对比参数;所述对比参数为所述使用区域中所包括的块数量与较小的空闲区域中所包括的块数量的比值;所述较小的空闲区域为所述相邻的空闲区域中包括的块数量少的区域;确定所述对比参数满足第二预设条件的候选整理区域为所述待整理区域。在一个实施例中,所述确定所述对比参数满足第二预设条件的候选整理区域为所述待整理区域,包括:确定所述对比参数最小的候选区域为所述待整理区域。根据本公开实施例的第二方面,提供一种存储空间整理装置,包括:获取模块,用于获取磁盘中的待整理区域,所述待整理区域包括:使用区域和与所述使用区域相邻的空闲区域,所述使用区域由至少一个使用区段组成,所述空闲区域由至少一个空闲区段组成,所述使用区段和所述空闲区段中均包括至少一个块;确定模块,用于确定所述获取模块获取的所述使用区域中的目标搬移数据;搬移模块,用于将所述确定模块确定的所述目标搬移数据搬移至任一个所述空闲区域中,以扩大未搬入数据的空闲区域所包括的块数量。在一个实施例中,所述确定模块包括:检测子模块、第一确定子模块和第二确定子模块;所述检测子模块,用于检测第一空闲区域中的块数量是否小于所述使用区域中的块数量;所述第一空闲区域为其中一个与所述使用区域相邻的空闲区域;所述第一确定子模块,用于当所述检测子模块检测到所述第一空闲区域中的块数量小于所述使用区域中的块数量,确定所述使用区域中靠近所述第二空闲区域的预设数量的数据为所述目标搬移数据;所述第二空闲区域为另一个与所述使用区域相邻的空闲区域;所述预设数量小于或等于所述第一空闲区域中所包括的块数量;所述第二确定子模块,用于当所述检测子模块检测所述第一空闲区域中所包括的块数量大于或等于所述使用区域中所包括的块数量,确定所述使用区域中的所有数据为所述目标搬移数据。在一个实施例中,所述搬移模块包括:第一写入子模块;所述第一写入子模块,用于将所述确定模块确定的所述目标搬移数据从所述空闲区域的起始端部开始依次写入所述空闲区域中。在一个实施例中,所述搬移模块包括:第一获取子模块、第二获取子模块和第二写入子模块;所述第一获取子模块,用于获取所述确定模块确定的所述目标搬移数据所占用的目标块数量;所述第二获取子模块,用于从所述空闲区域中获取写入所述目标搬移数据的块起始位置;所述块起始位置和所述空闲区域的结尾端部之间的块数量为所述目标块数量;所述第二写入子模块,用于将所述确定模块确定的所述目标搬移数据从所述第二获取子模块获取的所述块起始位置开始依次写入所述空闲区域中。在一个实施例中,所述装置还包括:修改模块;所述修改模块,用于修改所述确定模块确定的所述目标搬移数据对应的宿主文件以及区段树信息。在一个实施例中,所述获取模块包括:第三获取子模块和第四获取子模块;所述第三获取子模块,用于获取所述磁盘中的待整理块组;所述第四获取子模块,用于从所述第三获取子模块获取的所述待整理块组中获取所述待整理区域。在一个实施例中,所述第三获取子模块包括:第五获取子模块、第六获取子模块和第三确定子模块;所述第五获取子模块,用于获取所述磁盘中每个块组的使用参数;所述块组的使用参数包括:所述块组内空闲的块数量和所述块组内的碎片数量;所述第六获取子模块,本文档来自技高网...

【技术保护点】
1.一种存储空间整理方法,其特征在于,包括:获取磁盘中的待整理区域,所述待整理区域包括:使用区域和与所述使用区域相邻的空闲区域,所述使用区域由至少一个使用区段组成,所述空闲区域由至少一个空闲区段组成,所述使用区段和所述空闲区段中均包括至少一个块;确定所述使用区域中的目标搬移数据;将所述目标搬移数据搬移至任一个所述空闲区域中,以扩大未搬入数据的空闲区域所包括的块数量。

【技术特征摘要】
1.一种存储空间整理方法,其特征在于,包括:获取磁盘中的待整理区域,所述待整理区域包括:使用区域和与所述使用区域相邻的空闲区域,所述使用区域由至少一个使用区段组成,所述空闲区域由至少一个空闲区段组成,所述使用区段和所述空闲区段中均包括至少一个块;确定所述使用区域中的目标搬移数据;将所述目标搬移数据搬移至任一个所述空闲区域中,以扩大未搬入数据的空闲区域所包括的块数量。2.根据权利要求1所述的方法,其特征在于,所述确定所述使用区域中的目标搬移数据,包括:检测第一空闲区域中的块数量是否小于所述使用区域中的块数量;所述第一空闲区域为其中一个与所述使用区域相邻的空闲区域;当检测到所述第一空闲区域中的块数量小于所述使用区域中的块数量,确定所述使用区域中靠近所述第二空闲区域的预设数量的数据为所述目标搬移数据;所述第二空闲区域为另一个与所述使用区域相邻的空闲区域;所述预设数量小于或等于所述第一空闲区域中所包括的块数量;当检测所述第一空闲区域中所包括的块数量大于或等于所述使用区域中所包括的块数量,确定所述使用区域中的所有数据为所述目标搬移数据。3.根据权利要求1所述的方法,其特征在于,所述将所述目标搬移数据搬移至任一个所述空闲区域中,包括:将所述目标搬移数据从所述空闲区域的起始端部开始依次写入所述空闲区域中。4.根据权利要求1所述的方法,其特征在于,所述将所述目标搬移数据搬移至任一个所述空闲区域中,包括:获取所述目标搬移数据所占用的目标块数量;从所述空闲区域中获取写入所述目标搬移数据的块起始位置;所述块起始位置和所述空闲区域的结尾端部之间的块数量为所述目标块数量;将所述目标搬移数据从所述块起始位置开始依次写入所述空闲区域中。5.根据权利要求1所述的方法,其特征在于,所述将所述目标搬移数据搬移至任一个所述空闲区域中之后,所述方法还包括:修改所述目标搬移数据对应的宿主文件以及区段树信息。6.根据权利要求1所述的方法,其特征在于,所述获取磁盘中的待整理区域,包括:获取所述磁盘中的待整理块组;从所述待整理块组中获取所述待整理区域。7.根据权利要求6所述的方法,其特征在于,所述获取所述磁盘中的待整理块组,包括:获取所述磁盘中每个块组的使用参数;所述块组的使用参数包括:所述块组内空闲的块数量和所述块组内的碎片数量;获取所述磁盘中每个块组对应的待整理比值,所述待整理比值为所述块组内空闲的块数量和所述块组内的碎片数量的比值;确定所述待整理比值满足第一预设条件的块组为所述待整理块组。8.根据权利要求7所述的方法,其特征在于,所述确定所述待整理比值满足第一预设条件的块组为所述待整理块组,包括:确定所述待整理比值最小的块组为所述待整理块组。9.根据权利要求6所述的方法,其特征在于,所述从所述待整理块组中获取所述待整理区域,包括:获取所述待整理块组中的候选整理区域;所述候选整理区域包括:使用区域和与所述使用区域相邻的空闲区域,所述使用区域由至少一个使用区段组成,所述空闲区域由至少一个空闲区段组成,所述使用区段和所述空闲区段中均包括至少一个块;获取每个所述候选整理区域对应的对比参数;所述对比参数为所述使用区域中所包括的块数量与较小的空闲区域中所包括的块数量的比值;所述较小的空闲区域为所述相邻的空闲区域中包括的块数量少的区域;确定所述对比参数满足第二预设条件的候选整理区域为所述待整理区域。10.根据权利要求9所述的方法,其特征在于,所述确定所述对比参数满足第二预设条件的候选整理区域为所述待整理区域,包括:确定所述对比参数最小的候选区域为所述待整理区域。11.一种存储空间整理装置,其特征在于,包括:获取模块,用于获取磁盘中的待整理区域,所述待整理区域包括:使用区域和与所述使用区域相邻的空闲区域,所述使用区域由至少一个使用区段组成,所述空闲区域由至少一个空闲区段组成,所述使用区段和所述空闲区段中均包括至少一个块;确定模块,用于确定所述获取模块获取的所述使用区域中的目标搬移数据;搬移模块,用于将所述确定模块确定的所述目标搬移数据搬移至任一个所述空闲区域中,以扩大未搬入数据的空闲区域所包括的块数量。12.根据权利要求11所述的装置,其特征在于,所述确定模块包括:检测子模块、第一确定子模块和第二确定子模块;所述检测子模块,用于检测第一空闲区域中的块数量是否小于所述使用区域中的块数量;所述第一空闲区域为其中一个与所述使用区...

【专利技术属性】
技术研发人员:李晓辉
申请(专利权)人:北京小米移动软件有限公司
类型:发明
国别省市:北京,11

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

1