自适应数据压缩存储方法、系统、设备及储存介质技术方案

技术编号:39056592 阅读:11 留言:0更新日期:2023-10-12 19:49
本发明专利技术公开了一种自适应数据压缩存储方法、系统、设备及储存介质,所述方法包括:获取待压缩数据队列;基于预设规则依次对所述待压缩数据队列中的数据进行压缩;所述预设规则包括:根据预设频率评估IO压力;其中,当IO压力处于正常压力时,所述待压缩数据在store层进行压缩,并将所述压缩后的数据落盘;当IO压力处于大压力时,所述待压缩数据队列中的后续数据改为在cache层进行压缩,并将所述压缩后的数据直接落盘。通过本公开的处理方案,解决了大压力下cache写满时后端store大量数据下刷、数据压缩延长了IO路径的问题,提高了后端store下刷磁盘的带宽。下刷磁盘的带宽。下刷磁盘的带宽。

【技术实现步骤摘要】
自适应数据压缩存储方法、系统、设备及储存介质


[0001]本专利技术涉及数据压缩
,特别是涉及一种自适应数据压缩存储方法、系统、设备及储存介质。

技术介绍

[0002]数据压缩是用更少的空间对原有数据进行编码的过程,指在不丢失有用信息的前提下,缩减数据量以减少存储空间,提高其传输、存储和处理效率,或按照一定的算法对数据进行重新组织,减少数据的冗余和存储的空间的一种技术方法。数据压缩的本质是用更小的数据量表示更多的数据。
[0003]在存储系统中,数据压缩是即时的,在IO路径中进行压缩,再存储到存储介质上,数据压缩的耗时延长了IO路径,故需考虑到数据压缩对IO性能的影响。
[0004]现有技术方案中,数据经过高速缓冲存储器(cache),再经过后端存储引擎(store),最后落盘。数据压缩在store这一层进行。当cache写满了,cache在大量地往后端刷写数据,此时性能瓶颈在后端,后端store还要处理数据压缩,数据压缩延长了IO路径的弊端就显现出来了。
[0005]由此可见,上述现有的数据压缩方法在使用上,显然仍存在有不便与缺陷,而亟待加以进一步改进。如何能创设一种新的数据压缩储存方法,成为当前业界急需改进的目标。

技术实现思路

[0006]有鉴于此,本公开实施例提供一种自适应数据压缩存储方法,至少部分解决现有技术中存在的问题。
[0007]第一方面,本公开实施例提供了一种自适应数据压缩存储方法,所述方法包括以下步骤:
[0008]获取待压缩数据队列;
[0009]基于预设规则依次对所述待压缩数据队列中的数据进行压缩;
[0010]所述预设规则包括:根据预设频率评估IO压力;其中,当IO压力处于正常压力时,所述待压缩数据在store层进行压缩,并将所述压缩后的数据落盘;当IO压力处于大压力时,所述待压缩数据队列中的后续数据改为在cache层进行压缩,并将所述压缩后的数据直接落盘。
[0011]根据本公开实施例的一种具体实现方式,所述方法还包括:
[0012]当IO压力从大压力转为正常压力,并且持续时间超过预设的时间时,所述待压缩数据队列中的后续数据改为在store层进行压缩,并将所述压缩后的数据落盘。
[0013]根据本公开实施例的一种具体实现方式,所述预设规则还包括:
[0014]预设压缩比率阈值;仅当待压缩数据压缩之后的大小和原始数据大小的比例小于或等于预设压缩比率阈值时,对数据进行压缩;当数据压缩之后的大小和原始数据大小的比例大于预设压缩比率阈值时,不对数据进行压缩,直接存储原始数据;
[0015]预设压缩数据最小阈值和预设压缩数据最大阈值;当待压缩数据大小小于预设压缩数据最小阈值时,则不进行压缩,直接存储原始数据;当待压缩数据大小大于预设压缩数据最大阈值时,将待压缩数据以最小阈值进行切分,切分成数块数据同时进行压缩。
[0016]根据本公开实施例的一种具体实现方式,所述预设规则还包括:
[0017]预设压缩算法,所述压缩算法包含sanppy、zlib、lz4、zstd中的至少一项。
[0018]根据本公开实施例的一种具体实现方式,所述根据预设频率评估IO压力,包括以下步骤:
[0019]获取IO队列长度和cache水位;
[0020]基于所述IO队列长度和cache水位评估IO压力;其中,当IO队列长度大于预设长度阈值和/或cache水位大于预设水位阈值时,认为IO压力处于大压力;当IO队列长度小于预设长度阈值且cache水位小于预设水位阈值时,认为IO压力处于正常压力。
[0021]第二方面,本公开实施例提供了一种自适应数据压缩存储系统,所述系统包括:
[0022]数据获取模块,被配置用于获取待压缩数据队列;
[0023]自适应压缩模块,被配置用于基于预设规则依次对所述待压缩数据队列中的数据进行压缩;所述预设规则包括:根据预设频率评估IO压力;其中,当IO压力处于正常压力时,所述待压缩数据在store层进行压缩,并将所述压缩后的数据落盘;当IO压力处于大压力时,所述待压缩数据队列中的后续数据改为在cache层进行压缩,并将所述压缩后的数据直接落盘。
[0024]根据本公开实施例的一种具体实现方式,所述系统还包括:
[0025]数据压缩标志位判断模块,被配置用于获取IO队列长度和cache水位;以及,基于所述IO队列长度和cache水位评估IO压力;其中,当IO队列长度大于预设长度阈值和/或cache水位大于预设水位阈值时,认为IO压力处于大压力;当IO队列长度小于预设长度阈值且cache水位小于预设水位阈值时,认为IO压力处于正常压力。
[0026]第三方面,本公开实施例还提供了一种电子设备,该电子设备包括:
[0027]至少一个处理器;以及,
[0028]与所述至少一个处理器通信连接的存储器;其中,
[0029]所述存储器存储有能够被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行时,使所述至少一个处理器前述第一方面或第一方面的任一实现方式中的任一项所述的自适应数据压缩存储方法。
[0030]第四方面,本公开实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令当由至少一个处理器执行时使所述至少一个处理器执行前述第一方面或第一方面的任一实现方式中的自适应数据压缩存储方法。
[0031]第五方面,本公开实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使该计算机执行前述第一方面或第一方面的任一实现方式中的自适应数据压缩存储方法。
[0032]本公开实施例中的自适应数据压缩存储方法,通过解决了大压力下cache写满时后端store大量数据下刷,数据压缩延长了IO路径的问题。将数据压缩移到cache层,后端
store没有了数据压缩的耗时,IO更快;并且从cache层下刷的数据是经过了压缩的,同样的数据量,数据大小比之前小,变相地提高了后端store下刷磁盘的带宽。缩短IO路径和变相的提高了带宽,提升了系统性能。
附图说明
[0033]上述仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,以下结合附图与具体实施方式对本专利技术作进一步的详细说明。
[0034]图1为本公开实施例提供的一种自适应数据压缩存储方法流程示意图;
[0035]图2为本公开实施例提供的一种自适应数据压缩存储方法流程框图;
[0036]图3为本公开实施例提供的一种自适应数据压缩存储系统结构示意图;以及
[0037]图4为本公开实施例提供的电子设备示意图。
具体实施方式
[0038]下面结合附图对本公开实施例进行详细描述。
[0039]以下通过特定的具体实例说明本公开的实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种自适应数据压缩存储方法,其特征在于,所述方法包括以下步骤:获取待压缩数据队列;基于预设规则依次对所述待压缩数据队列中的数据进行压缩;所述预设规则包括:根据预设频率评估IO压力;其中,当IO压力处于正常压力时,所述待压缩数据在store层进行压缩,并将所述压缩后的数据落盘;当IO压力处于大压力时,所述待压缩数据队列中的后续数据改为在cache层进行压缩,并将所述压缩后的数据直接落盘。2.根据权利要求1所述的自适应数据压缩存储方法,其特征在于,所述方法还包括:当IO压力从大压力转为正常压力,并且持续时间超过预设的时间时,所述待压缩数据队列中的后续数据改为在store层进行压缩,并将所述压缩后的数据落盘。3.根据权利要求1所述的自适应数据压缩存储方法,其特征在于,所述预设规则还包括:预设压缩比率阈值;仅当待压缩数据压缩之后的大小和原始数据大小的比例小于或等于预设压缩比率阈值时,对数据进行压缩;当数据压缩之后的大小和原始数据大小的比例大于预设压缩比率阈值时,不对数据进行压缩,直接存储原始数据;预设压缩数据最小阈值和预设压缩数据最大阈值;当待压缩数据大小小于预设压缩数据最小阈值时,则不进行压缩,直接存储原始数据;当待压缩数据大小大于预设压缩数据最大阈值时,将待压缩数据以最小阈值进行切分,切分成数块数据同时进行压缩。4.根据权利要求3所述的自适应数据压缩存储方法,其特征在于,所述预设规则还包括:预设压缩算法,所述压缩算法包含sanppy、zlib、lz4、zstd中的至少一项。5.根据权利要求1所述的自适应数据压缩存储方法,其特征在于,所述根据预设频率评估IO压力,包括以下步骤:获取IO队列长度和cache水位;基于所述IO队列长度和cache水位评估IO压力;其中,当IO队列长度大于预...

【专利技术属性】
技术研发人员:胡晓鹏尹微文中领周泽湘
申请(专利权)人:北京同有飞骥科技股份有限公司
类型:发明
国别省市:

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

1