数据压缩方法、数据解压方法和装置的制造方法

文档序号:8433428阅读:527来源:国知局
数据压缩方法、数据解压方法和装置的制造方法
【技术领域】
[0001]本发明涉及数据压缩领域,特别涉及一种数据压缩方法、数据解压方法和装置。
【背景技术】
[0002]数据压缩是指在不丢失有用信息的前提下,缩减原始数据的数据量以减少存储空间,提高其传输、存储和处理效率的一种技术方法。
[0003]相关技术中,对原始数据进行压缩时通常使用字典压缩算法,将原始数据中相同的字符串都用一个简短的编码来代替,再存储该字符串与编码的映射关系,这就达到了压缩字符串所占空间的目的,之后通过查询该映射关系就可以获取字符串以完成解压缩。
[0004]上述数据压缩方法在进行数据压缩时,由于是将相同的字符串都用一个简短的编码来代替,以达到压缩字符串所占空间的目的,因而在字符串重复率较低时,数据压缩率较低。

【发明内容】

[0005]为了解决相关技术中在字符串重复率较低时,数据压缩率较低的问题,本发明实施例提供了一种数据压缩方法、数据解压方法和装置。所述技术方案如下:
[0006]根据本发明的第一方面,提供一种数据压缩方法,所述方法包括:
[0007]获取原始数据,所述原始数据包括多个字符串;
[0008]获取所述原始数据中至少一个待压缩数据块,每个所述待压缩数据块包含所述原始数据中每个字符串中长度相同的子字符串;
[0009]对每个所述待压缩数据块分别使用字典压缩算法得到压缩数据。
[0010]结合第一方面,在第一方面的第一种可能的实施方式中,所述获取所述原始数据中的至少一个待压缩数据块,包括:
[0011]获取所述多个字符串中每个字符串的数据特征,所述每个字符串包括数据特征不同的至少两个子字符串,每个所述子字符串包括至少一个字符;
[0012]将所述原始数据中每个字符串中数据特征相同的子字符串作为一个待压缩数据块,得到所述原始数据中的至少一个待压缩数据块。
[0013]结合第一方面,在第一方面的第二种可能的实施方式中,所述获取所述原始数据中至少一个的待压缩数据块,包括:
[0014]将所述原始数据划分为η个数据块,η>1,每个所述数据块包含所述原始数据中每个字符串中长度相同的子字符串;
[0015]将所述η个数据块中的至少一个数据块作为所述至少一个待压缩数据块。
[0016]结合第一方面,或第一方面的第一种可能的实施方式,或第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,所述对每个所述待压缩数据块分别使用字典压缩算法得到压缩数据之后,所述方法还包括:
[0017]存储所述压缩数据;
[0018]存储其他数据,所述其他数据为所述原始数据中除所述待压缩数据块之外的数据。
[0019]根据本发明的第二方面,提供一种数据解压方法,所述方法包括:
[0020]获取压缩数据,所述压缩数据是对原始数据中的至少一个待压缩数据块分别使用字典压缩算法得到的;
[0021]根据字典压缩算法的逆运算解压所述压缩数据得到所述至少一个待压缩数据块,每个所述待压缩数据块包含原始数据中每个字符串中长度相同的子字符串,所述原始数据包括多个字符串。
[0022]结合第二方面,在第二方面的第一种可能的实施方式中,所述根据字典压缩算法的逆运算解压所述压缩数据得到所述至少一个待压缩数据块之后,所述方法还包括:
[0023]获取其他数据,所述其他数据为所述原始数据中除所述待压缩数据块外的数据;
[0024]将所述至少一个待压缩数据块与所述其他数据进行组合获得原始数据。
[0025]根据本发明的第三方面,提供一种数据压缩装置,所述装置包括:
[0026]原始数据获取模块,用于获取原始数据,所述原始数据包括多个字符串;
[0027]待压缩数据获取模块,用于获取所述原始数据中至少一个待压缩数据块,每个所述待压缩数据块包含所述原始数据中每个字符串中长度相同的子字符串;
[0028]数据压缩模块,用于对每个所述待压缩数据块分别使用字典压缩算法得到压缩数据。
[0029]结合第三方面,在第三方面的第一种可能的实施方式中,所述待压缩数据获取模块,包括:
[0030]数据特征获取单元,用于获取所述多个字符串中每个字符串的数据特征,所述每个字符串包括数据特征不同的至少两个子字符串,每个所述子字符串包括至少一个字符;
[0031]数据块获取单元,用于将所述原始数据中每个字符串中数据特征相同的子字符串作为一个待压缩数据块,得到所述原始数据中的至少一个待压缩数据块。
[0032]结合第三方面,在第三方面的第二种可能的实施方式中,所述待压缩数据获取模块,包括:
[0033]数据划分单元,用于将所述原始数据划分为η个数据块,η>1,每个所述数据块包含所述原始数据中每个字符串中长度相同的子字符串;
[0034]数据块设定单元,用于将所述η个数据块中的至少一个数据块作为所述至少一个待压缩数据块。
[0035]结合第三方面,或第三方面的第一种可能的实施方式,或第三方面的第二种可能的实施方式,在第三方面的第三种可能的实施方式中,所述装置,还包括:
[0036]压缩数据存储模块,用于存储所述压缩数据;
[0037]其他数据存储模块,用于存储其他数据,所述其他数据为所述原始数据中除所述待压缩数据块之外的数据。
[0038]根据本发明的第四方面,提供一种数据解压装置,所述装置包括:
[0039]压缩数据获取模块,用于获取压缩数据,所述压缩数据是对原始数据中的至少一个待压缩数据块分别使用字典压缩算法得到的;
[0040]压缩数据解压模块,用于根据字典压缩算法的逆运算解压所述压缩数据得到所述至少一个待压缩数据块,每个所述待压缩数据块包含原始数据中每个字符串中长度相同的子字符串,所述原始数据包括多个字符串。
[0041]结合第四方面,在第四方面的第一种可能的实施方式中,所述装置还包括:
[0042]其他数据获取模块,用于获取其他数据,所述其他数据为所述原始数据中除所述待压缩数据块外的数据;
[0043]数据组合模块,用于将所述至少一个待压缩数据块与所述其他数据进行组合获得原始数据。
[0044]本发明提供的技术方案可以包括以下有益效果:
[0045]通过对每个待压缩数据块分别使用字典压缩算法得到压缩数据,其中每个待压缩数据块包含原始数据中每个字符串中长度相同的子字符串,增大了使用字典压缩算法时字符串的重复概率,解决了现有技术在字符串重复率较低时,数据压缩率较低的问题;达到了提高数据压缩率的效果。
[0046]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
【附图说明】
[0047]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0048]图1是根据一示例性实施例示出的一种数据压缩方法的流程图;
[0049]图2是根据一示例性实施例示出的一种数据解压方法的流程图;
[0050]图3是根据另一示例性实施例示出的一种数据压缩方法和数据解压方法的流程图;
[0051 ] 图4是图3所示实施例中的根据布局对原始数据中的数据块分别使用字典压缩算法进行压缩的示意图;
[0052]图5是根据另一示例性实施例示出的一种数据压缩方法和数据解压方法的流程图;
[0053]图6是根据一示例性实施例示出的一种数据压缩装置的框图;
[0054]图7是图6所示实施例中的一种待压缩数据获取模块的框图;
[0055]图8是图6所示实施例中的另一种待压缩数据获取模块的框图;
[0056]图9是根据图6所示实施例示出的另一种数据压缩装置的框图;
[0057]图10是根据一示例性实施例示出的一种数据解压装置的框图;
[0058]图11是图10所示实施例中的另一种数据解压装置的框图;
[0059]图12是根据另一示例性实施例示出的一种数据压缩装置的框图;
[0060]图13是根据另一示例性实施例示出的一种数据解压装置的框图。
[0061]通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
【具体实施方式】
[0062]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0063]图1是根据一示例性实施例示出的一种数据压缩方法的流程图,本实施例以该数据压缩方法应用于对原始数据进行压缩来举例说明。该数据压
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1