一种数据压缩方法技术

技术编号:39596605 阅读:8 留言:0更新日期:2023-12-03 19:54
本申请公开了一种数据压缩方法

【技术实现步骤摘要】
一种数据压缩方法、装置及电子设备和存储介质


[0001]本申请涉及计算机
,更具体地说,涉及一种数据压缩方法

装置及一种电子设备和一种计算机可读存储介质


技术介绍

[0002]数据压缩可以潜在地减小数据的存储空间,提高存储设备的逻辑容量,从而降低数据的存储和传输成本,因此具有很高的技术吸引力

数据压缩是一项计算密集的操作,需要消耗较多的主机
CPU
(中央处理器,
central processing unit
)计算资源

在固态硬盘(
Solid State Disk

SSD
)内部实现数据压缩的硬件电路,以可计算存储的架构来支持数据压缩是近年来的一个技术趋势

[0003]LZ77
算法通过将重复出现的数据片段替换为对未压缩数据流中较早存在的数据片段的单个副本的引用来实现压缩

一个匹配的片段由一对称为“长度

距离”的数字来表示

在相关技术中,哈希匹配只能获得匹配的位置信息,而真正的匹配是通过数据内容比较来实现的,而这两部分是分离的,当寻找的哈希匹配是个假匹配时,需要重新返回该位置去进行哈希匹配,从而导致整个压缩流程是不连续的,效率较低,在硬件上反应出来就是带宽波动性很大,难以满足吞吐率的要求

[0004]因此,如何提高
LZ77
算法的压缩效率是本领域技术人员需要解决的技术问题


技术实现思路

[0005]本申请的目的在于提供一种数据压缩方法

装置及一种电子设备和一种计算机可读存储介质,提高了
LZ77
算法的压缩效率

[0006]为实现上述目的,本申请提供了一种数据压缩方法,包括:获取待压缩数据,在所述待压缩数据中确定待处理数据,并将所述待处理数据扩展为多个待处理数据单元;将第一个待处理数据作为当前待处理数据,对所述当前待处理数据对应的多个所述待处理数据单元进行哈希匹配得到哈希匹配结果;其中,所述哈希匹配结果包括所述待处理数据单元的哈希值对应的候选匹配位置;根据所述哈希匹配结果从所述待压缩数据中读取第一数据内容,从所述待压缩数据中读取第二数据内容,对所述第一数据内容和所述第二数据内容进行数据匹配得到数据匹配结果;其中,所述第一数据内容为从所述待压缩数据中的所述候选匹配位置开始读取的数据内容,所述第二数据内容为从所述待压缩数据中的所述待处理数据单元开始读取的数据内容,所述数据匹配结果包括匹配位置和匹配长度,所述匹配位置为所述第一数据内容中包含匹配成功的目标数据内容的第一个字节在所述待压缩数据的位置,所述匹配长度为所述目标数据内容的长度;计算所述待处理数据单元的第一个字节在对应的待处理数据中的位置与所述匹配长度的和作为目标位置值;
根据所述目标位置值重新确定当前待处理数据

下一次数据匹配的第一数据内容和第二数据内容,并重新进入对所述第一数据内容和所述第二数据内容进行数据匹配得到数据匹配结果的步骤,直至所有所述待处理数据均处理完成;将所述第二数据内容中的目标数据内容替换为所述数据匹配结果中的匹配位置和匹配长度

[0007]其中,在所述待压缩数据中确定待处理数据,包括:依次在所述待压缩数据中提取第一预设数量个字节作为待处理数据

[0008]其中,将所述待处理数据扩展为多个待处理数据单元,包括:分别以所述待处理数据中的每个字节作为首字节在所述待压缩数据中提取第二预设数量个字节作为待处理数据单元

[0009]其中,对所述当前待处理数据对应的多个所述待处理数据单元进行哈希匹配得到哈希匹配结果,包括:计算所述当前待处理数据对应的多个所述待处理数据单元的目标哈希值,分别以多个所述目标哈希值为索引在哈希表中确定对应的目标哈希条目,基于多个所述目标哈希条目中的候选匹配位置确定多个所述待处理数据单元的哈希匹配结果;其中,所述哈希表用于存储数据内容的哈希值与在所述待压缩数据中的位置之间的对应关系

[0010]其中,所述根据所述目标位置值重新确定当前待处理数据

下一次数据匹配的第一数据内容和第二数据内容,并重新进入对所述第一数据内容和所述第二数据内容进行数据匹配得到数据匹配结果的步骤,包括:若所述目标位置值小于第一预设值,则将当前待处理数据后的第一个待处理数据重新确定为当前待处理数据,根据所述当前待处理数据对应的多个所述待处理数据单元的哈希匹配结果从所述待压缩数据中读取第一数据内容和第二数据内容,并重新进入对所述第一数据内容和所述第二数据内容进行数据匹配得到数据匹配结果的步骤;其中,所述第一预设值为第一预设数量的二倍,所述第一预设数量为所述待处理数据包含的字节数量

[0011]其中,所述根据所述目标位置值重新确定当前待处理数据

下一次数据匹配的第一数据内容和第二数据内容,并重新进入对所述第一数据内容和所述第二数据内容进行数据匹配得到数据匹配结果的步骤,包括:若所述目标位置值大于或等于第一预设值且小于第二预设值,则将当前待处理数据后的第二个待处理单元重新确定为当前待处理数据,对所述第一数据内容向后移位所述第一预设值个字节以重新确定所述第一数据内容,根据所述当前待处理数据对应的多个所述待处理数据单元的哈希匹配结果从所述待压缩数据中重新读取所述第二数据内容,并重新进入对所述第一数据内容和所述第二数据内容进行数据匹配得到数据匹配结果的步骤;其中,所述第一预设值为第一预设数量的二倍,所述第一预设数量为所述待处理数据包含的字节数量,所述第二预设值为所述第一预设数量的
n
倍,
n
大于
2。
[0012]其中,所述根据所述目标位置值重新确定当前待处理数据

下一次数据匹配的第一数据内容和第二数据内容,并重新进入对所述第一数据内容和所述第二数据内容进行数据匹配得到数据匹配结果的步骤,包括:若所述目标位置值大于或等于所述第二预设值,则将当前待处理数据后的所述第二预设值个字节后的待处理数据重新确定为当前待处理数据,根据所述当前待处理数据对
应的多个所述待处理数据单元的哈希匹配结果从所述待压缩数据中读取第一数据内容和第二数据内容,并重新进入对所述第一数据内容和所述第二数据内容进行数据匹配得到数据匹配结果的步骤;其中,所述第二预设值为第一预设数量的
n
倍,
n
大于2,所述第一预设数量为所述待处理数据包含的字节数量,对所述第一数据内容和所述第二数据内容进行数据匹配得到新的数据匹配结果之后,合并上一个数据匹配结果和所述新的数据匹配结果,合并后的数据匹配结果中的匹配位置为所述上一个数据匹配结果中包含的匹配位置,所述合并后的数据匹配结果中的匹配长度为所述上一个数据匹配结果中包含的匹配本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据压缩方法,其特征在于,包括:获取待压缩数据,在所述待压缩数据中确定待处理数据,并将所述待处理数据扩展为多个待处理数据单元;将第一个待处理数据作为当前待处理数据,对所述当前待处理数据对应的多个所述待处理数据单元进行哈希匹配得到哈希匹配结果;其中,所述哈希匹配结果包括所述待处理数据单元的哈希值对应的候选匹配位置;根据所述哈希匹配结果从所述待压缩数据中读取第一数据内容,从所述待压缩数据中读取第二数据内容,对所述第一数据内容和所述第二数据内容进行数据匹配得到数据匹配结果;其中,所述第一数据内容为从所述待压缩数据中的所述候选匹配位置开始读取的数据内容,所述第二数据内容为从所述待压缩数据中的所述待处理数据单元开始读取的数据内容,所述数据匹配结果包括匹配位置和匹配长度,所述匹配位置为所述第一数据内容中包含匹配成功的目标数据内容的第一个字节在所述待压缩数据的位置,所述匹配长度为所述目标数据内容的长度;计算所述待处理数据单元的第一个字节在对应的待处理数据中的位置与所述匹配长度的和作为目标位置值;根据所述目标位置值重新确定当前待处理数据

下一次数据匹配的第一数据内容和第二数据内容,并重新进入对所述第一数据内容和所述第二数据内容进行数据匹配得到数据匹配结果的步骤,直至所有所述待处理数据均处理完成;将所述第二数据内容中的目标数据内容替换为所述数据匹配结果中的匹配位置和匹配长度
。2.
根据权利要求1所述数据压缩方法,其特征在于,在所述待压缩数据中确定待处理数据,包括:依次在所述待压缩数据中提取第一预设数量个字节作为待处理数据
。3.
根据权利要求1所述数据压缩方法,其特征在于,将所述待处理数据扩展为多个待处理数据单元,包括:分别以所述待处理数据中的每个字节作为首字节在所述待压缩数据中提取第二预设数量个字节作为待处理数据单元
。4.
根据权利要求1所述数据压缩方法,其特征在于,对所述当前待处理数据对应的多个所述待处理数据单元进行哈希匹配得到哈希匹配结果,包括:计算所述当前待处理数据对应的多个所述待处理数据单元的目标哈希值,分别以多个所述目标哈希值为索引在哈希表中确定对应的目标哈希条目,基于多个所述目标哈希条目中的候选匹配位置确定多个所述待处理数据单元的哈希匹配结果;其中,所述哈希表用于存储数据内容的哈希值与在所述待压缩数据中的位置之间的对应关系
。5.
根据权利要求2至4任一项所述数据压缩方法,其特征在于,所述根据所述目标位置值重新确定当前待处理数据

下一次数据匹配的第一数据内容和第二数据内容,并重新进入对所述第一数据内容和所述第二数据内容进行数据匹配得到数据匹配结果的步骤,包括:若所述目标位置值小于第一预设值,则将当前待处理数据后的第一个待处理数据重新确定为当前待处理数据,根据所述当前待处理数据对应的多个所述待处理数据单元的哈希
匹配结果从所述待压缩数据中读取第一数据内容和第二数据内容,并重新进入对所述第一数据内容和所述第二数据内容进行数据匹配得到数据匹配结果的步骤;其中,所述第一预设值为第一预设数量的二倍,所述第一预设数量为所述待处理数据包含的字节数量
。6.
根据权利要求2至4任一项所述数据压缩方法,其特征在于,所述根据所述目标位置值重新确定当前待处理数据

下一次数据匹配的第一数据内容和第二数据内容,并重新进入对所述第一数据内容和所述第二数据内容进行数据匹配得到数据匹配结果的步骤,包括:若所述目标位置值大于或等于第一预设值且小于第二预设值,则将当前待处理数据后的第二个待处理单元重新确定为当前待处理数据,对所述第一数据内容向后移位所述第一预设值个字节以...

【专利技术属性】
技术研发人员:郭超黄运新
申请(专利权)人:深圳大普微电子股份有限公司
类型:发明
国别省市:

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

1