数据压缩方法及装置制造方法及图纸

技术编号:35820914 阅读:10 留言:0更新日期:2022-12-03 13:46
本公开是关于数据压缩方法及装置。该方法包括:获取待压缩数据,待压缩数据中包括多个元素,每个元素包括:元素标签和对应的元素值;将多个元素分为第一元素组和第二元素组,其中,第一元素组中各个元素标签对应的元素值为第一预设值,第二元素组由除去元素值为第一预设值的其他元素组成;获取第一元素组中的各个元素标签形成第一元素标签组;对第一元素标签组中的各个元素标签使用布隆过滤法得到第一整理数组;对第二元素组进行数据整理获取第二整理数组,其中,第二整理数组所占用的存储空间小于第二元素组所占用的存储空间;分别对第一整理数组和第二整理数据进行压缩得到压缩数据。数据。数据。

【技术实现步骤摘要】
数据压缩方法及装置


[0001]本公开涉及数据存储
,尤其涉及数据压缩方法及装置。

技术介绍

[0002]各个产品都设置有用于存储产品数据的数据库,如果直接将原始数据直接存入服务器中的数据库中将会占用较多的硬盘空间,这样就会使得服务器的负载非常高,也会严重影响数据库的运行效率。所以对数据进行有效压缩,以提升产品的性能是亟待解决的问题。

技术实现思路

[0003]为克服相关技术中存在的问题,本公开实施例提供数据压缩方法及装置。所述技术方案如下:
[0004]根据本公开实施例的第一方面,提供一种数据压缩方法,包括:
[0005]获取待压缩数据,所述待压缩数据中包括多个元素,每个元素包括:元素标签和对应的元素值;
[0006]将所述多个元素分为第一元素组和第二元素组,其中,所述第一元素组中各个元素标签对应的元素值为第一预设值,所述第二元素组由除去所述元素值为第一预设值的其他元素组成;
[0007]获取所述第一元素组中的各个所述元素标签形成第一元素标签组;
[0008]对所述第一元素标签组中的各个元素标签使用布隆过滤法得到第一整理数组;
[0009]对所述第二元素组进行数据整理获取第二整理数组,其中,所述第二整理数组所占用的存储空间小于所述第二元素组所占用的存储空间;
[0010]分别对所述第一整理数组和所述第二整理数据进行压缩得到压缩数据。
[0011]本公开的实施例提供的技术方案可以包括以下有益效果:利用数据的特征对数据分成两类,分别用不同的方式处理,并且利用布隆过滤法用bit位代替数字,以及利用gzip压缩数据,通过该方式对海量数据进行压缩,在不影响数据完整性的情况下尽可能的将数据压缩到最小。
[0012]在一个实施例中,所述对所述第一元素标签组中的各个元素标签使用布隆过滤法得到第一整理数组,包括:
[0013]检测所述第一元素组中包括的所述元素标签的总数是否达到预设阈值;
[0014]若达到,则使用布隆过滤法对所述第一元素标签组中的各个所述元素标签进行转换得到所述第一整理数组;
[0015]若未达到,则用预设符号隔开每个所述元素标签得到所述第一整理数组。
[0016]在一个实施例中,所述对所述第二元素组进行数据整理获取第二整理数组,包括:
[0017]将所述第二元素组拆分为第一子元素组和第二子元素组,所述第一子元素组由所述第二元素组中的各个所述元素标签组成,所述第二子元素组由所述第二元素组中的各个
所述元素值组成;
[0018]将所述第二子元素组中的各个数值转换为高进制数,并用所述预设符号隔开每个所述高进制数得到高进制数组;
[0019]检测所述第一子元素组中包括的所述元素标签的总数是否达到所述预设阈值;
[0020]若达到,则使用所述布隆过滤法对所述第一子元素组中的各个所述元素标签进行转换得到第一转化元素组;
[0021]若未达到,则用所述预设符号隔开每个所述元素标签得到第二元素标签组;
[0022]其中,所述第二整理数组包括:所述高进制数组和所述第一转化元素组,或者,所述高进制数组和所述第二元素标签组。
[0023]在一个实施例中,所述对所述第一整理数组和所述第二整理数据进行压缩得到压缩数据,包括:
[0024]使用gzip算法对所述第一整理数组和所述第二整理数据进行压缩得到所述压缩数据。
[0025]在一个实施例中,所述方法还包括:
[0026]获取参考数据,所述参考数据和所述待压缩数据的数据格式相同;
[0027]获取参考数据对应各个参考数据组,其中,每个所述参考数据组中的数据不相同;
[0028]获取各个参考数据组对应的第一参考值和第二参考值,所述第一参考值为采用预设符号隔开所述各个元素所占用的第一存储空间,所述第二参考值为采用所述布隆过滤法进行转换后所占用的第二存储空间;
[0029]获取各个所述第一存储空间与所述第二存储空间的差值;
[0030]获取所述差值满足预设关系的所述参考数据组中的元素数量为所述预设阈值。
[0031]根据本公开实施例的第二方面,提供一种数据压缩装置,包括:
[0032]第一获取模块,用于获取待压缩数据,所述待压缩数据中包括多个元素,每个元素包括:元素标签和对应的元素值;
[0033]划分模块,用于将所述多个元素分为第一元素组和第二元素组,其中,所述第一元素组中各个元素标签对应的元素值为第一预设值,所述第二元素组由除去所述元素值为第一预设值的其他元素组成;
[0034]第二获取模块,用于获取所述第一元素组中的各个所述元素标签形成第一元素标签组;
[0035]第一处理模块,用于对所述第一元素标签组中的各个元素标签使用布隆过滤法得到第一整理数组;
[0036]第二处理模块,用于对所述第二元素组进行数据整理获取第二整理数组,其中,所述第二整理数组所占用的存储空间小于所述第二元素组所占用的存储空间;
[0037]压缩模块,用于分别对所述第一整理数组和所述第二整理数据进行压缩得到压缩数据。
[0038]在一个实施例中,所述第一处理模块,包括:
[0039]第一检测子模块,用于检测所述第一元素组中包括的所述元素标签的总数是否达到预设阈值;
[0040]第一获取子模块,用于若达到,则使用布隆过滤法对所述第一元素标签组中的各
个所述元素标签进行转换得到所述第一整理数组;
[0041]第二获取子模块,用于若未达到,则用预设符号隔开每个所述元素标签得到所述第一整理数组。
[0042]在一个实施例中,所述第二处理模块,包括:
[0043]拆分子模块,用于将所述第二元素组拆分为第一子元素组和第二子元素组,所述第一子元素组由所述第二元素组中的各个所述元素标签组成,所述第二子元素组由所述第二元素组中的各个所述元素值组成;
[0044]第三获取子模块,用于将所述第二子元素组中的各个数值转换为高进制数,并用所述预设符号隔开每个所述高进制数得到高进制数组;
[0045]第二检测子模块,用于检测所述第一子元素组中包括的所述元素标签的总数是否达到所述预设阈值;
[0046]第四获取子模块,用于若达到,则使用所述布隆过滤法对所述第一子元素组中的各个所述元素标签进行转换得到第一转化元素组;
[0047]第五获取子模块,用于若未达到,则用所述预设符号隔开每个所述元素标签得到第二元素标签组;
[0048]其中,所述第二整理数组包括:所述高进制数组和所述第一转化元素组,或者,所述高进制数组和所述第二元素标签组。
[0049]在一个实施例中,所述压缩模块,包括:
[0050]压缩子模块,用于使用gzip算法对所述第一整理数组和所述第二整理数据进行压缩得到所述压缩数据。
[0051]在一个实施例中,所述装置还包括:
[0052]第三获取模块本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据压缩方法,其特征在于,包括:获取待压缩数据,所述待压缩数据中包括多个元素,每个元素包括:元素标签和对应的元素值;将所述多个元素分为第一元素组和第二元素组,其中,所述第一元素组中各个元素标签对应的元素值为第一预设值,所述第二元素组由除去所述元素值为第一预设值的其他元素组成;获取所述第一元素组中的各个所述元素标签形成第一元素标签组;对所述第一元素标签组中的各个元素标签使用布隆过滤法得到第一整理数组;对所述第二元素组进行数据整理获取第二整理数组,其中,所述第二整理数组所占用的存储空间小于所述第二元素组所占用的存储空间;分别对所述第一整理数组和所述第二整理数据进行压缩得到压缩数据。2.根据权利要求1所述的方法,其特征在于,所述对所述第一元素标签组中的各个元素标签使用布隆过滤法得到第一整理数组,包括:检测所述第一元素组中包括的所述元素标签的总数是否达到预设阈值;若达到,则使用布隆过滤法对所述第一元素标签组中的各个所述元素标签进行转换得到所述第一整理数组;若未达到,则用预设符号隔开每个所述元素标签得到所述第一整理数组。3.根据权利要求2所述的方法,其特征在于,所述对所述第二元素组进行数据整理获取第二整理数组,包括:将所述第二元素组拆分为第一子元素组和第二子元素组,所述第一子元素组由所述第二元素组中的各个所述元素标签组成,所述第二子元素组由所述第二元素组中的各个所述元素值组成;将所述第二子元素组中的各个数值转换为高进制数,并用所述预设符号隔开每个所述高进制数得到高进制数组;检测所述第一子元素组中包括的所述元素标签的总数是否达到所述预设阈值;若达到,则使用所述布隆过滤法对所述第一子元素组中的各个所述元素标签进行转换得到第一转化元素组;若未达到,则用所述预设符号隔开每个所述元素标签得到第二元素标签组;其中,所述第二整理数组包括:所述高进制数组和所述第一转化元素组,或者,所述高进制数组和所述第二元素标签组。4.根据权利要求1所述的方法,其特征在于,所述对所述第一整理数组和所述第二整理数据进行压缩得到压缩数据,包括:使用gzip算法对所述第一整理数组和所述第二整理数据进行压缩得到所述压缩数据。5.根据权利要求2

4任一项所述的方法,其特征在于,所述方法还包括:获取参考数据,所述参考数据和所述待压缩数据的数据格式相同;获取参考数据对应各个参考数据组,其中,每个所述参考数据组中的数据不相同;获取各个参考数据组对应的第一参考值和第二参考值,所述第一参考值为采用所述预设符号隔开所述各个元素所占用的第一存储空间,所述第二参考值为采用所述布隆过滤法进行转换后所占用的第二存储空间;
获取各个所述第一存储空间与所述第二存储空间的差值;获取所述差值满足预设关系的所述参考数据组中的元素数量为所述预设阈值。6.一种数据压缩装置,其特征在于,包括:第一获取模块,用于获取待压缩数据,所述待压缩数据中包括多个元素,每个元素包括:元素标签...

【专利技术属性】
技术研发人员:张双县李晏铭李毅刘畅
申请(专利权)人:北京羽乐创新科技有限公司
类型:发明
国别省市:

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

1