System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种应用于缓存的日志空间的回收优化方法技术_技高网

一种应用于缓存的日志空间的回收优化方法技术

技术编号:40956237 阅读:2 留言:0更新日期:2024-04-18 20:33
本发明专利技术公开了一种应用于缓存的日志空间的回收优化方法,包括以下步骤:S1:将日志1写入日志空间头部;S2:对日志空间进行回收。本发明专利技术将阻塞日志空间释放的日志经过聚合之后格式化成新日志,重新写入日志空间头部,在不下刷的情况下释放被阻塞的尾部空间,本发明专利技术能显著减少在业务量大、日志空间几乎耗尽的情况下向后端磁盘刷数据,从而改善日志系统此场景下的性能,同时本发明专利技术不需要额外的日志空间,且复用之前的日志流程,能一定程度提升日志空间的利用率,除此之外,聚合属于同一文件的多条旧日志为一条新日志写入,能一定程度上节约日志空间消耗。

【技术实现步骤摘要】

本专利技术涉及计算机存储,尤其涉及一种应用于缓存的日志空间的回收优化方法


技术介绍

1、缓存:存储系统中为了加速读写请求,通常使用响应更快的介质作为缓存。让写请求先写入缓存介质,再等待合适时机写入后端更慢的介质;而读请求若是能在缓存中命中则直接从缓存获取数据返回,否则将从后端读取。块存储中常用开源缓存产品有flashcache、bcache等。

2、日志:存储系统中为了加速读写请求,或者后端是hdd磁盘对于随机写敏感性能不高,通常配置日志盘加速或者改善随机写性能。当系统发生错误崩溃重启后,日志系统保证能将后端磁盘上数据恢复到崩溃之前的状态,保证数据的完整性。

3、存储系统中的写请求将先格式化为一条日志(包含请求所有信息,从日志能恢复出写请求,如果是数据库中的日志则包含redo和undo信息),先写入日志空间。成功之后即可向客户端返回成功,同时开始向后端磁盘写入,后端磁盘写入成功后,则之前日志占用的日志空间则可以释放,日志空间通常独立于后端硬盘,是由一片连续的磁盘区域构成环形的日志空间,新的日志永远从头部写入,旧的日志从尾部释放,从而实现日志永远向前追加写,缓存和日志也可以结合使用,使用内存作为缓存,较快的介质作为日志,将写入请求写入日志,同时数据直接存储在内存。如果读命中直接从内存返回,读取会更快。同时将随机写转化为顺序写写入日志,能提升系统随机写性能。

4、现有技术下,当使用缓存日志的存储系统处于大压力业务下且日志下刷不及时时,日志空间可能会被使用光,新产生的日志没有日志空间无法写入,进而阻塞前台请求。通常的做法是在达到一定水位时,开启强制下刷,将阻塞日志空间的日志数据写到后端磁盘,如果此时后端磁盘正繁忙,频繁的下刷反而会加剧系统繁忙程度,造成系统性能更低,甚至阻塞前台请求。


技术实现思路

1、本部分的目的在于概述本专利技术的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和专利技术名称中可能会做些简化或省略以避免使本部分、说明书摘要和专利技术名称的目的模糊,而这种简化或省略不能用于限制本专利技术的范围。

2、鉴于上述现有技术下存在的问题,提出了本专利技术。

3、因此,本专利技术目的是提供一种应用于缓存的日志空间的回收优化方法,其为了解决“频繁的下刷反而会加剧系统繁忙程度,造成系统性能更低,甚至阻塞前台请求”的问题。

4、为解决上述技术问题,本专利技术提供如下技术方案:

5、一种应用于缓存的日志空间的回收优化方法,包括以下步骤:

6、s1:将日志1写入日志空间头部;

7、s2:对日志空间进行回收。

8、作为本专利技术所述一种应用于缓存的日志空间的回收优化方法的一种优选方案,其中,所述步骤s1中,系统收到客户端写请求,在将请求格式化为日志1后,日志1被写入日志空间头部。

9、作为本专利技术所述一种应用于缓存的日志空间的回收优化方法的一种优选方案,其中,所述步骤s1中,日志1成功写入日志空间头部后,更新内存中的文件a,向客户端返回成功。

10、作为本专利技术所述一种应用于缓存的日志空间的回收优化方法的一种优选方案,其中,所述步骤s1中,在内存文件中记录本文件已写过的日志号。

11、作为本专利技术所述一种应用于缓存的日志空间的回收优化方法的一种优选方案,其中,所述步骤s2中,当触发强制下刷时,将卡住日志空间尾部的日志记录所属文件的日志列表取出,聚合生成新的日志9。

12、作为本专利技术所述一种应用于缓存的日志空间的回收优化方法的一种优选方案,其中,聚合生成新的日志9之后,将日志9写入当前日志空间头部。

13、作为本专利技术所述一种应用于缓存的日志空间的回收优化方法的一种优选方案,其中,日志9写入成功后,更新日志有效起始位置为日志9。

14、作为本专利技术所述一种应用于缓存的日志空间的回收优化方法的一种优选方案,其中,新日志有效起始位置之后,更新文件a日志列表为日志9。

15、作为本专利技术所述一种应用于缓存的日志空间的回收优化方法的一种优选方案,其中,卡住日志空间尾部的日志记录所属文件的日志列表由日志1、日志2和日志7构成。

16、作为本专利技术所述一种应用于缓存的日志空间的回收优化方法的一种优选方案,其中,更新日志有效起始位置为日志9的同时,日志1、日志2和日志7失效。

17、本专利技术的有益效果:

18、本专利技术将阻塞日志空间释放的日志经过聚合之后格式化成新日志,重新写入日志空间头部,在不下刷的情况下释放被阻塞的尾部空间,本专利技术能显著减少在业务量大、日志空间几乎耗尽的情况下向后端磁盘刷数据,从而改善日志系统此场景下的性能,同时本专利技术不需要额外的日志空间,且复用之前的日志流程,能一定程度提升日志空间的利用率,除此之外,聚合属于同一文件的多条旧日志为一条新日志写入,能一定程度上节约日志空间消耗。

本文档来自技高网...

【技术保护点】

1.一种应用于缓存的日志空间的回收优化方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种应用于缓存的日志空间的回收优化方法,其特征在于,所述步骤S1中,系统收到客户端写请求,在将请求格式化为日志1后,日志1被写入日志空间头部。

3.根据权利要求1所述的一种应用于缓存的日志空间的回收优化方法,其特征在于,所述步骤S1中,日志1成功写入日志空间头部后,更新内存中的文件A,向客户端返回成功。

4.根据权利要求1所述的一种应用于缓存的日志空间的回收优化方法,其特征在于,所述步骤S1中,在内存文件中记录本文件已写过的日志号。

5.根据权利要求1所述的一种应用于缓存的日志空间的回收优化方法,其特征在于,所述步骤S2中,当触发强制下刷时,将卡住日志空间尾部的日志记录所属文件的日志列表取出,聚合生成新的日志9。

6.根据权利要求5所述的一种应用于缓存的日志空间的回收优化方法,其特征在于,聚合生成新的日志9之后,将日志9写入当前日志空间头部。

7.根据权利要求6所述的一种应用于缓存的日志空间的回收优化方法,其特征在于,日志9写入成功后,更新日志有效起始位置为日志9。

8.根据权利要求7所述的一种应用于缓存的日志空间的回收优化方法,其特征在于,更新日志有效起始位置之后,更新文件A日志列表为日志9。

9.根据权利要求5所述的一种应用于缓存的日志空间的回收优化方法,其特征在于,卡住日志空间尾部的日志记录所属文件的日志列表由日志1、日志2和日志7构成。

10.根据权利要求7所述的一种应用于缓存的日志空间的回收优化方法,其特征在于,更新日志有效起始位置为日志9的同时,日志1、日志2和日志7失效。

...

【技术特征摘要】

1.一种应用于缓存的日志空间的回收优化方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种应用于缓存的日志空间的回收优化方法,其特征在于,所述步骤s1中,系统收到客户端写请求,在将请求格式化为日志1后,日志1被写入日志空间头部。

3.根据权利要求1所述的一种应用于缓存的日志空间的回收优化方法,其特征在于,所述步骤s1中,日志1成功写入日志空间头部后,更新内存中的文件a,向客户端返回成功。

4.根据权利要求1所述的一种应用于缓存的日志空间的回收优化方法,其特征在于,所述步骤s1中,在内存文件中记录本文件已写过的日志号。

5.根据权利要求1所述的一种应用于缓存的日志空间的回收优化方法,其特征在于,所述步骤s2中,当触发强制下刷时,将卡住日志空间尾部的日志记录所属文件的日志列表取出,聚合生成新的...

【专利技术属性】
技术研发人员:廖力白杨代怀刚王珺陈阳曹梦飞刘啸滨
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

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

1