【技术实现步骤摘要】
数据压缩方法和装置
[0001]本说明书涉及数据压缩
,具体地,涉及一种数据压缩方法和用于该数据压缩方法的装置。
技术介绍
[0002]在大数据技术的应用中,大量的数据一般是在大量的服务器上并行处理的,该些服务器之间会存在大量的信息传输,该些信息需要通过压缩和加密进行传输和保存。数据压缩的硬件实现方式可以减少服务器的任务量,以提高数据的压缩速度。
[0003]然而,当前的数据压缩的硬件实现方式,难以在硬件资源有限的情况下,达到与软件实现同样的压缩率。
技术实现思路
[0004]本说明书第一方面提供一种数据压缩方法,该数据压缩方法包括:基于不同的预设范围从待压缩数据对象中获取多个待压缩数据;分别基于多个待压缩数据生成多个哈希值;查找每个哈希值对应的哈希表,获取哈希值对应的已压缩数据的位置信息,其中,哈希表用于存储已压缩数据和待压缩数据在待压缩数据对象中的位置信息,位置信息对应于哈希节点;基于待压缩数据和已压缩数据获取与哈希节点对应的数据的匹配长度;基于哈希节点和匹配长度对待压缩数据对象中的数据进行压缩。
[0005]在上述方案中,通过设置多个哈希表,以使得用于对待压缩数据对象进行压缩的哈希节点可以基于该多个哈希表进行选择,可以降低哈希冲突对压缩率的影响,而且可以使得在后续计算数据的匹配长度的进程中,能够选出使得匹配长度相对更大的哈希节点以对待压缩数据对象的数据进行压缩,以提高压缩速度,并提高数据压缩率。
[0006]在本说明书第一方面的一实施方式中,关于基于不同的预设范围从
【技术保护点】
【技术特征摘要】
1.一种数据压缩方法,其特征在于,包括:基于不同的预设范围从待压缩数据对象中获取多个待压缩数据;分别基于所述多个待压缩数据生成多个哈希值;查找每个哈希值对应的哈希表,获取所述哈希值对应的已压缩数据的位置信息,其中,所述哈希表用于存储所述已压缩数据和所述待压缩数据在所述待压缩数据对象中的位置信息,所述位置信息对应于哈希节点;基于所述待压缩数据和所述已压缩数据获取与所述哈希节点对应的数据的匹配长度;基于所述哈希节点和所述匹配长度对所述待压缩数据对象中的数据进行压缩。2.根据权利要求1所述的数据压缩方法,其特征在于,所述基于不同的预设范围从待压缩数据对象中获取多个待压缩数据,包括:基于不同的所述预设范围从所述待压缩数据对象中获取至少两个所述待压缩数据,且至少两个所述待压缩数据的所述预设范围的长度相同且初始位置不同;和/或基于不同的所述预设范围从所述待压缩数据对象中获取至少两个所述待压缩数据,且至少两个所述待压缩数据的所述预设范围的长度不同且初始位置相同。3.根据权利要求2所述的数据压缩方法,其特征在于,所述基于不同的所述预设范围从所述待压缩数据对象中获取至少两个所述待压缩数据,包括:基于两个不同的所述预设范围从所述待压缩数据对象中获取四个所述待压缩数据;其中,两个所述待压缩数据分别为奇数位置数据块和偶数位置数据块,所述奇数位置数据块的起始位置对应的字节在所述待压缩数据对象中的序号为奇数,所述偶数位置数据块的起始位置对应的字节在所述待压缩数据对象中的序号为偶数,且所述奇数位置数据块和所述偶数位置数据块的起始位置相邻。4.根据权利要求2所述的数据压缩方法,其特征在于,所述基于不同的所述预设范围从所述待压缩数据对象中获取至少两个所述待压缩数据,包括:基于四个不同的所述预设范围从所述待压缩数据对象中获取四个所述待压缩数据;其中,四个所述待压缩数据分别为奇数位置短数据块、奇数位置长数据块、偶数位置短数据块和偶数位置长数据块,所述奇数位置短数据块和所述奇数位置长数据块的起始位置对应的字节在所述待压缩数据对象中的序号为奇数,所述偶数位置短数据块和所述偶数位置长数据块的起始位置对应的字节在所述待压缩数据对象中的序号为偶数,所述奇数位置短数据块和所述偶数位置短数据块的长度相同,所述奇数位置长数据块和所述偶数位置长数据块的长度相同,以及所述奇数位置短数据块和所述奇数位置长数据块的起始位置相同,所述偶数位置短数据块和所述偶数位置长数据块的起始位置相同,所述奇数位置短数据块和所述偶数位置短数据块的起始位置相邻。5.根据权利要求2所述的数据压缩方法,其特征在于,所述基于所述哈希节点和所述匹配长度对所述待压缩数据对象中的数据进行压缩,包括:判断所述哈希节点对应的所述待压缩数据是否位于所述待压缩数据对象的终止位置;如果是,对压缩后的数据进行封装并结束压缩流程;如果否,在所述待压缩数据对象中,将每个所述预设范围所限定的窗口后移,并将所述窗口覆盖的数据作为后续的待压缩数据;
其中,所有的所述预设范围所限定的窗口每次移动的距离相同。6.根据权利要求5所述的数据压缩方法,其特征在于,所述窗口每次移动的距离为两个字节所占的长度。7.根据权利要求1~6中任一项所述的数据压缩方法,其特征在于,还包括:在至少两个所述哈希表中查到对应的所述哈希值的情况下,基于预设的节点选择规则,从获得的所有所述哈希节点中筛选出目标节点;其中,所述基于所述待压缩数据和所述已压缩数据获取与所述哈希节点对应的数据的匹配长度,包括:基于所述待压缩数据和所述已压缩数据获取与所述目标节点对应的数据的匹配长度。8.根据权利要求7所述的数据压缩方法,其特征在于,所述节点选择规则包括:对于从所述哈希表中查到所述哈希值的所述哈希节点的位置信息,与前一个选择的所述哈希节点的所述位置信息进行对比,将与前一个选择的所述哈希节点的所述位置信息不一致的所述哈希节点作为所述目标节点。9.根据权利要求7所述的数据压缩方法,其特征在于,所述哈希节点对应的数据格式的信息包括所述位置信息和有效标记位,所述有效标记位的可选标记包括第一标记和第二标记,所述第一标记用于指示所述哈希节点无效,所述第二标记用于指示所述哈希节点有效,其中,所述分别基于所述多个待压缩数据生成多个哈希值,包括:如果从所述哈希表中查找的所述哈希节点对应的所述有效标记位为所述第一标记,以所...
【专利技术属性】
技术研发人员:刘泽华,袁信,蒋东华,杨倩,李哲,任麒斌,曾鸣,许浩,
申请(专利权)人:阿里巴巴中国有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。