追加写模式的数据垃圾回收方法、装置、系统及存储介质制造方法及图纸

技术编号:36936529 阅读:55 留言:0更新日期:2023-03-22 18:58
本发明专利技术公开了一种追加写模式的数据垃圾回收方法、装置、系统及存储介质,涉及数据垃圾回收领域,预先将整个存储空间划分成多个长度一致的物理空间,当检测到存储空间中的无效空间过多时,将有效空间的长度较小的物理空间作为待回收空间,将这些待回收空间的有效空间中存储的有效数据转移至其他的物理空间,释放这些待回收空间中的数据以实现垃圾回收,若在转移有效数据的过程中检测到有新数据写入,则将对应于该新数据的有效数据作废。通过只把有效空间小的物理空间作为待回收空间的方式,使得需要读取的有效数据的量减少,从而加快了垃圾回收效率;此外,当有新数据写入时,将对应于该新数据的有效数据作废,可以避免影响到该数据的正常读写。的正常读写。的正常读写。

【技术实现步骤摘要】
追加写模式的数据垃圾回收方法、装置、系统及存储介质


[0001]本专利技术涉及数据垃圾回收领域,特别是涉及追加写模式的数据垃圾回收方法、装置、系统及存储介质。

技术介绍

[0002]数据有多种读写模式,其中,在追加写模式中,业务请求新写入的数据会被保存到一个新的物理空间中的某一小存储空间,原本负责保存该数据的旧的物理空间中的小存储空间会被标记为无效空间。为了保证物理空间的有效利用,需要对旧的物理空间进行垃圾回收,也即将旧的物理空间中的所有数据全部释放掉,还需要将旧的物理空间中剩余的有效数据都转移到其他物理空间中。现有技术在进行垃圾回收时,通常是将所有需要进行垃圾回收的物理空间均放入待回收队列中以一一进行回收,由于转移有效数据时需要先从物理空间中读取出有效数据,当剩余的有效数据较多时需要较长的时间进行读取,不能实时选择回收速度最快的物理空间进行回收,导致垃圾回收效率变慢,过长的垃圾回收过程还会影响到设备中其他业务的运行。
[0003]此外,由于垃圾回收的过程和业务请求写入的过程会同时进行,若在将旧的物理空间中剩余的有效数据都转移到其他物理本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种追加写模式的数据垃圾回收方法,其特征在于,包括:预先将整个存储空间划分成多个长度一致的物理空间;当检测到所有所述物理空间中的无效空间的总长度与所述存储空间的总长度之间的比值大于预设比值时,确定各个所述物理空间中的有效空间的长度;将所述有效空间的长度小于第一预设长度的所有的所述物理空间均作为待回收空间;将所有的所述待回收空间的有效空间中存储的有效数据转移至其他的所述物理空间中;若在转移所述有效数据的过程中检测到有对应于任一所述有效数据的新的数据被写入所述存储空间,则将对应于新的所述数据的所述有效数据作为无效数据;释放所有所述待回收空间中的数据。2.如权利要求1所述的追加写模式的数据垃圾回收方法,其特征在于,在确定各个所述物理空间中的有效空间的长度之后,还包括:对于任一所述物理空间,判断所述物理空间中的有效空间的长度是否大于第二预设长度;若否,则所述物理空间加入管理队列中;将所述有效空间的长度小于第一预设长度的所有的所述物理空间均作为待回收空间,包括:将所述管理队列中的所述有效空间的长度小于第一预设长度的所有的所述物理空间均作为待回收空间;其中,所述第二预设长度大于所述第一预设长度。3.如权利要求2所述的追加写模式的数据垃圾回收方法,其特征在于,在将所述管理队列中的所述有效空间的长度小于第一预设长度的所有的所述物理空间均作为待回收空间之前,还包括:S21:按照预设顺序依次排序各个所述物理空间;S22:判断所述管理队列中的所述物理空间的数量是否在预设数量范围内;若在所述预设数量范围内,则进入将所述有效空间的长度小于第一预设长度的所有的所述物理空间均作为待回收空间的步骤;若超过所述预设数量范围,则进入S23;若低于所述预设数量范围,则进入S24;S23:将所述管理队列中的第一个所述物理空间移出所述管理队列,返回S22;S24:在所述第二预设长度的基础上增加预设数值作为新的所述第二预设长度,并将所述有效空间的长度大于新的所述第二预设长度的所述物理空间加入管理队列中,返回S21。4.如权利要求3所述的追加写模式的数据垃圾回收方法,其特征在于,按照预设顺序依次排序各个所述物理空间,包括:按照所述有效空间的长度由大到小的顺序依次排序各个所述物理空间。5.如权利要求3所述的追加写模式的数据垃圾回收方法,其特征在于,在确定所述管理队列中的各个所述物理空间中的有效空间的长度之后,还包括:建立N个信息队列,不同的所述信息队列对应于不同的所述有效空间的第一长度范围,N为不小于2的整数;对于所有的所述物理空间,根据所述物理空间中的有效空间的长度所在的第一长度范
围,将所述物理空间记录到对应的所述信息队列中;在将所述管理队列中的第一个所述物理空间移出所述管理队列之后,还包括:将被移出的所述物理空间所在的所述信息队列的被移出条目数量加1;若所述管理队列中的所述物理空间的数量超过预设数量范围,在执行多次S22~S23使得所述物理空间的数量在预设数量范围内之后,还包括:在所述被移出条目数量最多的所述信息队列的所有所述物理空间中,将最小的有效空间的长度作为新的所述第二预设长度,并将各个所述信息队列的被移出条目数量清零。6.如权利要求5所述的追加写模式的数据垃圾回收方法,其特征在于,在所述第二预设长度的基础上增加预设数值作为新的所述第二预设长度,包括:以所述第一长度范围的最大值由小到大为方向,将所述管理队列中的所述有效空间的长度最大的所述物理空间所在的信息队列的下一个信息队列作为目标队列;在所述目标队列的所有所述物理空间中,将最大的所述有效空间的长度作为新的所述第二预设长度。7.如权利要求5所述的追加写模式的数据垃圾回收方法,其特征在于,当所述物理空间的有效空间的最大长度为M时,建立N个信息队列,包括:建立N个所述有效空间的第一长度范围为m的所述信息队列,M和m均为正整数且m不大于M;其中,各个所述信息队列对应的所述有效空间的第一长度范围分别为(0,m],(m,2m],(2m,3m]
……
(N*m,M]。8.如权利要求7所述的追加写模式的数据垃圾回收方法,其特征在于,在建立N个所述有效空间的长度范围为m的所述信息队列之后,还包括:建立X个分组区间,不同的所述分组区间对应于不同的所述有效空间的第二长度范围,所述第二长度范围大于所述第一长度范围,X为不小于2的整数;将所述有效空间的长度小于第一预设长度的所有的所述物理空间均作为待回收空间,包括:根据所有所述物理空间中的无效空间的总长度与所述存储空间的总长度之间的比值确定需要进行回收的所述分组区间;在所有的需要进行回收的所述分组区间中,将所述有效空间的长度小于第一预设长度的所有的所述物理空间均作为待回收空间。9.如权利要求8所述的追加写模式的数据垃圾回收方法,其特征在于,根据所有所述物理空间中的无效空间的总长度与所述存储空间的总长度之间的比值确定需要进行回收的所述分组区间,包括:根据所述比值在X个所述分组区间中选取q个的所述分组区间作为需要进行回收的所述分组区间,q为不大于X的正整数且q与所述比值之间成正相关。10.如权利要求8所述的追加写模式的数据垃圾回收方法,其特征在于,根据所有所述物理空间中的无效空间的总长度与所述存储空间的总长度之间的比值确定需要进行回收的所述分组区间,包括:当所述比值不大于第一预设比值阈值时,以所述第二预设长度范围由小到大为方向,在X个所述分组区间中选取前w个所述分组区间作为需要进行回收的所述分组区间,w为不
大于X的正整数;当所述比值大于所...

【专利技术属性】
技术研发人员:王勇
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:

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

1