System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据存储领域,具体涉及一种基于容量自适应调节的垃圾回收优化方法、装置、设备及计算机可读存储介质。
技术介绍
1、硬盘的应用过程中,为了更好发挥硬盘的写入性能,业界常用的做法是将写入硬盘池对象的数据重定向(row)到一起,并聚合成大io,而后再顺序写入硬盘池分配的对象上。在分布式存储领域,通过采用追加写的方式,较大提升数据的写入性能,因此row也沿用了此技术,但是追加写同一块数据时就会产生相应的垃圾数据,因此业界通常采用gc(垃圾回收)算法将对应垃圾空间回收掉,由于row一般采用大对象的技术,如一个128m的大对象,通用的做法就是扫描这些对象,并对满足垃圾量达到一定阈值的对象做gc搬移,以此达到释放空间的目的;但此种方案空间释放只是通过gc阈值触发gc,释放空间的效率较低,持续写入会有空间写爆的风险。
技术实现思路
1、本申请提供一种基于容量自适应调节的垃圾回收优化方法、装置、设备及计算机可读存储介质,可以解决现有技术的空间释放只是通过gc阈值触发gc,释放空间的效率较低,持续写入会有空间写爆的风险的技术问题。
2、第一方面,本申请实施例提供一种基于容量自适应调节的垃圾回收优化方法,所述基于容量自适应调节的垃圾回收优化包括:
3、扫描多个gc对象,计算各个所述gc对象的垃圾占量比,以确定各个所述gc对象的回收等级和对象桶;
4、根据池容量信息和预置回收等级映射表,选取回收等级,以回收对应对象桶中的gc对象。
5、结合第一方面,
6、获取池容量的剩余比,以确定所述池容量是否为充足状态;
7、若所述池容量为充足状态,则选取所述池容量的剩余比在预置回收等级映射表中对应的回收等级。
8、结合第一方面,在一种实施方式中,获取池容量的剩余比,以确定所述池容量是否为充足状态之后,还包括:
9、若所述池容量为不充足状态,则选取所述池容量的剩余比在预置回收等级映射表中对应的第一目标回收等级,其中,所述第一目标回收等级大于或等于对应的回收等级。
10、结合第一方面,在一种实施方式中,所述回收对应对象桶中的gc对象之后,还包括:
11、若所述池容量的剩余比小于第一预置阈值,则统计所述池容量的增长速度和gc的回收速度;
12、若所述池容量的增长速度大于所述gc的回收速度,则选取所述池容量的剩余比在预置回收等级映射表中对应的第二目标回收等级,其中,所述第二目标回收等级小于对应的回收等级。
13、结合第一方面,在一种实施方式中,所述以回收对应对象桶中的gc对象,包括:
14、将所述对象桶中的gc对象中塞入gc缓存队列;
15、根据gc消费者线程迭代所述gc缓存队列,并识别所述gc缓存队列中是否为垃圾数据;
16、若是垃圾收据,则将所述垃圾数据丢弃;
17、若非垃圾数据,则将所述非垃圾数据进行gc搬移。
18、结合第一方面,在一种实施方式中,所述扫描多个gc对象,计算各个所述gc对象的垃圾占量比,包括:
19、扫描多个gc对象,获取各个所述gc对象的垃圾量和总容量;
20、根据各个所述gc对象的垃圾量和总容,计算各个所述gc对象的垃圾占量比。
21、结合第一方面,在一种实施方式中,所述以确定各个所述gc对象的回收等级和对象桶,包括:
22、根据预置回收等级表,按照各个所述gc对象的垃圾占量比,确定各个所述gc对象的回收等级;
23、并按照各个所述gc对象的回收等级,将各个所述gc对象依次填充至对应回收等级的对象桶中。
24、第二方面,本申请实施例提供了一种基于容量自适应调节的垃圾回收优化装置,所述基于容量自适应调节的垃圾回收优化装置包括:
25、计算及确定模块,用于扫描gc对象,计算各个所述gc对象的垃圾占量比,以确定各个所述gc对象的回收等级和对象桶;
26、选取及回收模块,用于根据池容量信息和预置回收等级映射表,选取回收等级,以回收对应对象桶中的gc对象。
27、第三方面,本申请实施例提供了一种基于容量自适应调节的垃圾回收优化设备,所述基于容量自适应调节的垃圾回收优化设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的基于容量自适应调节的垃圾回收优化程序,其中所述基于容量自适应调节的垃圾回收优化程序被所述处理器执行时,实现如上述的基于容量自适应调节的垃圾回收优化方法的步骤。
28、第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有基于容量自适应调节的垃圾回收优化程序,其中所述基于容量自适应调节的垃圾回收优化程序被处理器执行时,实现如上述的基于容量自适应调节的垃圾回收优化方法的步骤。
29、本申请实施例提供的技术方案带来的有益效果包括:
30、通过扫描多个gc对象,计算各个所述gc对象的垃圾占量比,以确定各个所述gc对象的回收等级和对象桶;根据池容量信息和预置回收等级映射表,选取回收等级,以回收对应对象桶中的gc对象,解决了相关技术中空间释放只是通过gc阈值触发gc,释放空间的效率较低,持续写入会有空间写爆的风险的技术问题,结合池空间的使用对gc对象按照垃圾量分桶存储,并优先选择高垃圾水位的gc对象做gc,快速回收gc对象占用的空间,并减少gc并发资源的消耗,提高了gc效率。
本文档来自技高网...【技术保护点】
1.一种基于容量自适应调节的垃圾回收优化方法,其特征在于,所述基于容量自适应调节的垃圾回收优化包括:
2.如权利要求1所述的基于容量自适应调节的垃圾回收优化方法,其特征在于,所述根据池容量信息和预置回收等级映射表,选取回收等级,包括:
3.如权利要求2所述的基于容量自适应调节的垃圾回收优化方法,其特征在于,所述获取池容量的剩余比,以确定所述池容量是否为充足状态之后,还包括:
4.如权利要求1所述的基于容量自适应调节的垃圾回收优化方法,其特征在于,所述回收对应对象桶中的GC对象之后,还包括:
5.如权利要求1所述的基于容量自适应调节的垃圾回收优化方法,其特征在于,所述以回收对应对象桶中的GC对象,包括:
6.如权利要求1所述的基于容量自适应调节的垃圾回收优化方法,其特征在于,所述扫描多个GC对象,计算各个所述GC对象的垃圾占量比,包括:
7.如权利要求1所述的基于容量自适应调节的垃圾回收优化方法,其特征在于,所述以确定各个所述GC对象的回收等级和对象桶,包括:
8.一种基于容量自适应调节的垃圾回收优
9.一种基于容量自适应调节的垃圾回收优化设备,其特征在于,所述基于容量自适应调节的垃圾回收优化设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的基于容量自适应调节的垃圾回收优化程序,其中所述基于容量自适应调节的垃圾回收优化程序被所述处理器执行时,实现如权利要求1至7中任一项所述的基于容量自适应调节的垃圾回收优化方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于容量自适应调节的垃圾回收优化程序,其中所述基于容量自适应调节的垃圾回收优化程序被处理器执行时,实现如权利要求1至7中任一项所述的基于容量自适应调节的垃圾回收优化方法的步骤。
...【技术特征摘要】
1.一种基于容量自适应调节的垃圾回收优化方法,其特征在于,所述基于容量自适应调节的垃圾回收优化包括:
2.如权利要求1所述的基于容量自适应调节的垃圾回收优化方法,其特征在于,所述根据池容量信息和预置回收等级映射表,选取回收等级,包括:
3.如权利要求2所述的基于容量自适应调节的垃圾回收优化方法,其特征在于,所述获取池容量的剩余比,以确定所述池容量是否为充足状态之后,还包括:
4.如权利要求1所述的基于容量自适应调节的垃圾回收优化方法,其特征在于,所述回收对应对象桶中的gc对象之后,还包括:
5.如权利要求1所述的基于容量自适应调节的垃圾回收优化方法,其特征在于,所述以回收对应对象桶中的gc对象,包括:
6.如权利要求1所述的基于容量自适应调节的垃圾回收优化方法,其特征在于,所述扫描多个gc对象,计算各个所述gc对象的垃圾占量比,包括:
7.如权利要求1所述的...
【专利技术属性】
技术研发人员:张镇,余攀,
申请(专利权)人:中电云计算技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。