数据压缩方法、装置和系统制造方法及图纸

技术编号:36530905 阅读:13 留言:0更新日期:2023-02-01 16:13
本公开提供了数据压缩方法、装置和系统,尤其涉及云计算、云存储、云网络和云数据库技术,可应用在智能云场景下,具体涉及一种数据压缩方法、装置和系统。具体实现方案为:响应于数据压缩指令,确定数据压缩指令对应的待压缩数据;基于当前存储有待压缩数据的原始存储设备的原始存储空间,从多个存储设备的多个存储空间中确定待压缩数据对应的目标存储设备的目标存储空间;将待压缩数据存储至目标存储设备的目标存储空间;释放原始存储设备的原始存储空间。可以解决相关技术中压缩操作造成的写放大的技术问题,从而达到降低压缩操作造成的写放大的技术效果。写放大的技术效果。写放大的技术效果。

【技术实现步骤摘要】
数据压缩方法、装置和系统


[0001]本公开涉及人工智能
,尤其涉及云计算、云存储、云网络和云数据库技术,可应用在智能云场景下,具体涉及一种数据压缩方法、装置和系统。

技术介绍

[0002]Append(追加)存储系统中经过长时间的使用后,会出现一些无效的空洞,即难以利用的存储空间,在这种情况下,为了避免Append系统中出现大片的无效的空洞,影响Append系统的性能,通常采用compaction(压缩)操作,将Append系统中的有效数据搬移到一起,从而可以得到大块的存储空间。
[0003]其次,压缩操作虽然可以提高Append系统的存储性能,但压缩操作会产生写放大的问题,同样会影响Append系统的存储性能。

技术实现思路

[0004]本公开提供了一种数据压缩方法、装置、系统、电子设备和存储介质。
[0005]根据本公开的第一方面,提供了一种数据压缩方法,包括:响应于数据压缩指令,确定所述数据压缩指令对应的待压缩数据;基于当前存储有所述待压缩数据的原始存储设备的原始存储空间,从多个存储设备的多个存储空间中确定所述待压缩数据对应的目标存储设备的目标存储空间,其中,所述多个存储设备的存储速度不同,所述多个存储空间至少包括用于存储不同访问频率数据的存储空间;将所述待压缩数据存储至所述目标存储设备的所述目标存储空间;释放所述原始存储设备的所述原始存储空间。
[0006]根据本公开的第二方面,提供了一种数据压缩装置,包括数据确定模块,用于响应于数据压缩指令,确定所述数据压缩指令对应的待压缩数据;空间确定模块,用于基于当前存储有所述待压缩数据的原始存储设备的原始存储空间,从多个存储设备的多个存储空间中确定所述待压缩数据对应的目标存储设备的目标存储空间,其中,所述多个存储设备的存储速度不同,所述多个存储空间至少包括用于存储不同访问频率数据的存储空间;存储模块,用于将所述待压缩数据存储至所述目标存储设备的所述目标存储空间;释放模块,用于释放所述原始存储设备的所述原始存储空间。
[0007]根据本公开的第三方面,提供了一种数据压缩系统,包括:多个存储设备,包括多个存储空间,所述多个存储设备的存储速度不同,所述多个存储空间至少包括用于存储不同访问频率数据的存储空间;控制设备,与所述多个存储设备连接,用于响应于数据压缩指令,确定所述数据压缩指令对应的待压缩数据,基于当前存储有所述待压缩数据的原始存储设备的原始存储空间,从多个存储设备的多个存储空间中确定所述待压缩数据对应的目标存储设备的目标存储空间,将所述待压缩数据存储至所述目标存储设备的所述目标存储空间,并释放所述原始存储设备的所述原始存储空间。
[0008]根据本公开的第四方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器
执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开实施例中任一项数据压缩方法。
[0009]根据本公开的第五方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开实施例中任一项数据压缩方法。
[0010]根据本公开的第六方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行本公开实施例中任一项数据压缩方法。
[0011]本公开提高的一种数据压缩方法、装置、系统、电子设备和存储介质,可以解决相关技术中压缩操作造成的写放大的技术问题,从而达到降低压缩操作造成的写放大的技术效果。
[0012]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0013]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0014]图1是相关技术中SepBIT方法的流程图;
[0015]图2是根据本公开实施例的一种数据压缩方法的流程图;
[0016]图3是本公开一种可选实施例中一种数据压缩方法的流程图;
[0017]图4是根据本公开实施例的一种数据压缩装置的结构示意图;
[0018]图5是根据本公开实施例的一种数据压缩系统的结构示意图;
[0019]图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。
具体实施方式
[0020]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0021]首先,本公开实施例进行描述的过程中出现的部分名词或术语适用于如下揭示:
[0022]AEP:是Intel Optane DC Persistent Memory Module,是一款非易失性内存(Non

Volatile Memory,简称NVM)的物理硬件存储设备,其性能介于Nvme(Non

Volatile Memory Express,非易失性内存主机控制器接口规范)SSD(Solid State Drive,固态硬盘)和内存之间。
[0023]Disk:磁盘,用于指代存储介质,例如Nvme SSD和HDD(HardDiskDrive,硬盘)等。
[0024]GC(GarbageCollection,垃圾回收):是压缩操作所需要的流程之一。
[0025]SmallWrite:小写,写I/O(Input/Output,输入/输出)小于504K的请求。
[0026]LargeWrite:大写,写I/O大于504K的请求。
[0027]Block(块),是VFS(VirtualFileSystem,虚拟文件系统)和文件系统的传送单位,其大小必须是2的幂,不能超过页的大小。
[0028]Segment(段):是一个内存页(page)或内存页的一部分,包含磁盘上物理相邻的几个数据块的内容,是块驱动的传送单位。
[0029]Page(页):内存中4096B的连续数据。
[0030]在相关技术中,通过对数据块更新时间进行数据分离,以减少写放大,提出了一种SepBIT方法,图1是相关技术中SepBIT方法的流程图,如图1所示,垃圾回收用于表征Garbage Collection,简称GC。该方法中定义了用户数据块(user

written block)和GC重写数据块(GC

rewritten block),open segments用于表征还未达到最大大小的segment,可以用于追加写新数据,sealed segment用于表征大小已经达到最大大小的se本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据压缩方法,包括:响应于数据压缩指令,确定所述数据压缩指令对应的待压缩数据;基于当前存储有所述待压缩数据的原始存储设备的原始存储空间,从多个存储设备的多个存储空间中确定所述待压缩数据对应的目标存储设备的目标存储空间,其中,所述多个存储设备的存储速度不同,所述多个存储空间至少包括用于存储不同访问频率数据的存储空间;将所述待压缩数据存储至所述目标存储设备的所述目标存储空间;释放所述原始存储设备的所述原始存储空间。2.根据权利要求1所述的方法,其中,所述多个存储设备包括:第一存储设备和第二存储设备,所述第一存储设备包含热数据存储空间和冷数据存储空间,所述第二存储设备包含热数据存储空间、冷数据存储空间、第一数据存储空间和多个第二数据存储空间,其中,所述第一存储设备的存储速度大于所述第二存储设备的存储速度,所述第一数据存储空间和所述多个第二数据存储空间的数据来源不同,所述多个第二数据存储空间存储的数据对应的压缩时间不同。3.根据权利要求2所述的方法,其中,所述基于当前存储有所述待压缩数据的原始存储设备的原始存储空间,从多个存储设备的多个存储空间中确定所述待压缩数据对应的目标存储设备的目标存储空间包括:响应于所述原始存储空间为所述热数据存储空间,确定所述目标存储设备为所述第二存储设备,所述目标存储空间为所述第一数据存储空间;响应于所述原始存储空间为所述冷数据存储空间、所述第一数据存储空间或所述多个第二数据存储空间中的任意一个,确定所述目标存储设备为所述第二存储设备,并基于所述待压缩数据的压缩时间,从所述多个第二数据存储空间中确定所述目标存储空间。4.根据权利要求2所述的方法,其中,响应于所述数据压缩指令来自于所述第一存储设备,所述确定所述数据压缩指令对应的待压缩数据包括:遍历所述第一存储设备中的数据的反向索引,确定所述第一存储设备中的数据对应的第一索引信息;确定所述第一索引信息中的有效索引信息,其中,所述有效索引信息在所述反向索引中记录的偏移与正向索引中记录的偏移相同;确定与所述有效索引信息具有关联关系的关联索引信息;响应于所述关联索引信息对应的关联数据存储在所述第一存储设备中,将所述关联索引信息对应的关联数据和所述有效索引信息对应的有效数据进行合并,得到所述待压缩数据;响应于所述关联索引信息对应的关联数据未存储在所述第一存储设备中,确定所述待压缩数据为所述有效索引信息对应的有效数据。5.根据权利要求4所述的方法,其中,所述确定与所述有效索引信息具有关联关系的关联索引信息包括:获取与所述有效索引信息相邻的目标索引信息;响应于所述目标索引信息对应的数据存储于所述第一存储设备中,确定所述关联索引信息包含所述目标索引信息;
将所述目标索引信息作为所述有效索引信息,并重复执行获取所述目标索引信息,及响应于所述目标索引信息对应的数据存储于所述第一存储设备中,确定所述关联索引信息包含所述目标索引信息的步骤,直至所述目标索引信息对应的数据未存储于所述第一存储设备中。6.根据权利要求2所述的方法,其中,响应于所述数据压缩指令来自于所述第二存储设备,所述确定所述数据压缩指令对应的待压缩数据包括:确定所述数据压缩指令对应的待压缩数据段;遍历所述待压缩数据段的反向索引,确定所述待压缩数据段的对应的第二索引信息;获取所述第二存储设备中所述第二索引信息对应的数据,得到所述待压缩数据。7.根据权利要求1至6中任意一项所述的方法,还包括:接收来自于客户端的写数据请求,其中,所述写数据请求中携带有待存储数据;基于所述待存储数据的数据量和访问频率,从所述多个存储设备的所述多个存储空间中确定所述待存储数据对...

【专利技术属性】
技术研发人员:王大瑶
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1