CN109639285A - 一种基于有限块排序压缩提高bzip2压缩算法速度的方法 - Google Patents

一种基于有限块排序压缩提高bzip2压缩算法速度的方法 Download PDF

Info

Publication number
CN109639285A
CN109639285A CN201811493720.0A CN201811493720A CN109639285A CN 109639285 A CN109639285 A CN 109639285A CN 201811493720 A CN201811493720 A CN 201811493720A CN 109639285 A CN109639285 A CN 109639285A
Authority
CN
China
Prior art keywords
data
compression
context
characters
algorithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811493720.0A
Other languages
English (en)
Other versions
CN109639285B (zh
Inventor
杨海峰
廉小伟
付蓉洁
夏旭东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING ANHUA JINHE TECHNOLOGY CO LTD
Original Assignee
BEIJING ANHUA JINHE TECHNOLOGY CO LTD
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING ANHUA JINHE TECHNOLOGY CO LTD filed Critical BEIJING ANHUA JINHE TECHNOLOGY CO LTD
Priority to CN201811493720.0A priority Critical patent/CN109639285B/zh
Publication of CN109639285A publication Critical patent/CN109639285A/zh
Application granted granted Critical
Publication of CN109639285B publication Critical patent/CN109639285B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6017Methods or arrangements to increase the throughput

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明涉及一种基于有限块排序压缩提高BZIP2压缩算法速度的方法,其技术特点是:压缩处理方法:⑴使用输入数据生成循环移位矩阵:⑵对循环移位矩阵进行排序;⑶保存新矩阵的最后一列作为输出,同时保存原始输入数据的最后2个字符,以及这2个字符所对应的上下文,加入输出,作为还原过程的启动数据;解压缩处理方法为:⑴还原原始数据的最后2个字符;⑵使用最近还原的2个字符组成一个新的上下文,还原一个新的字符,放置在已还原字符之前,并处理新生成上下文的计数;⑶重复处理直至原始数据全部还原。本发明设计合理,在有限度损失压缩率的条件下,显著提升压缩算法执行速度,提升压缩算法性价比,可广泛适合用于数据传输和备份场景。

Description

一种基于有限块排序压缩提高BZIP2压缩算法速度的方法
技术领域
本发明属于数据库压缩技术领域,尤其是一种基于有限块排序压缩提高BZIP2压缩算法速度的方法。
背景技术
由于目前数据库应用处理的数据量越来越大,因此,在数据的传输、备份过程中,对数据压缩算法的应用提出了更加严苛的需求。一方面,压缩算法要保证数据压缩率,才能处理数据库应用产生的海量数据,另一方面,又要保证压缩算法的执行速度,才能让压缩过程不会成为数据传输、备份过程中的瓶颈。
BZIP2算法是一个基于Burrows-Wheeler变换的无损压缩软件,其特点是拥有较高的数据压缩率,但是执行速度较慢。
发明内容
本发明的目的在于克服现有技术的不足,提出一种设计合理且执行效率高的基于有限块排序压缩提高BZIP2压缩算法速度的方法。
本发明解决其技术问题是采取以下技术方案实现的:
一种基于有限块排序压缩提高BZIP2压缩算法速度的方法,包括压缩处理方法和解压缩处理方法,所述压缩处理方法包括以下步骤:
步骤1:使用行程编码算法处理输入数据;
步骤2:使用压缩算法处理步骤1的输出数据;
步骤3:使用MTF编码算法对步骤2的输出数据进行编码;
步骤4:使用多表哈夫曼编码算法对步骤3的输出数据进行编码;
所述解压缩处理方法包括以下步骤,
步骤1:使用多表哈夫曼编码算法解码输入数据;
步骤2:使用MTF编码算法解码步骤1的输出数据;
步骤3:使用压缩算法还原步骤2的输出数据;
步骤4:使用行程编码解码步骤3的输出数据;
所述压缩处理方法步骤2的具体实现方法包括以下步骤:
⑴使用输入数据生成循环移位矩阵:
⑵选择上下文长度为2,以每一行的前2个字符作为上下文,对步骤⑴产生的循环移位矩阵的所有行进行排序,排序后生成新矩阵;
⑶保存步骤⑵产生的新矩阵的最后一列作为输出,同时保存原始输入数据的最后2个字符,以及这2个字符所对应的上下文,加入输出,作为还原过程的启动数据;
所述解压缩处理方法步骤3的具体实现方法包括以下步骤:
⑴还原原始数据的最后2个字符,处理以相关上下文计数;
⑵使用最近还原的2个字符组成一个新的上下文,还原一个新的字符,放置在已还原字符之前,并处理新生成上下文的计数;
⑶不断重复步骤⑵,直至原始数据全部还原。
所述循环移位矩阵通过以下方法得到:原数据在矩阵的最后一行,矩阵的其他的每一行均是由其下一行进行一次循环右移得到的。
本发明的优点和积极效果是:
本发明充分利用了有限块排序压缩运算复杂度低的特点,在有限度损失压缩率的条件下,显著提升压缩算法执行速度,同时,在选择合适的上下文长度之后,还可以降低算法的实现难度进而提升压缩算法性价比,当针对数据库产生的数据时,压缩降低幅度十分有限,而运行速度将会大幅提升,可广泛适合用于数据传输和备份场景。
附图说明
图1是标准BZIP2压缩/解压缩流程图;
图2是循环移位矩阵结构图;
图3是本发明有限块排序压缩流程图。
具体实施方式
以下结合附图对本发明实施例做进一步详述。
本发明的设计思想为:使用有限块排序替换了标准BZIP2压缩算法中的块排序压缩环节。块排序压缩是BZIP2压缩算法的核心环节,它并不实际压缩数据大小,而是一种数据变换方法,变换后的数据在压缩算法的后续编码环节中,可以产生压缩率更高数据。有限块排序压缩是标准的块排序压缩的一个变种,从技术上看,有限块排序压缩仅使用有限的上下文来进行块排序,而非标准变换中的完全块排序,降低了排序过程的运算复杂度。有限块排序压缩在变换开始时约定了产生循环移位矩阵的方法,并在变换结束时,保留了两个启动字符及其相关上下文,以此来保证整个变换可逆。有限块排序压缩的作用与标准变换相似,当针对数据库产生的数据时,压缩降低幅度十分有限,而运行速度将会大幅提升。
如图1所示,标准BZIP2算法的压缩包括以下步骤:
步骤1:使用行程编码算法处理输入数据。
步骤2:使用块排序压缩算法处理步骤1的输出数据。
步骤3:使用MTF编码算法对步骤2的输出数据进行编码。
步骤4:使用多表哈夫曼编码算法对步骤3的输出数据进行编码。
解压缩是压缩的逆过程,包括以下步骤,
步骤1:使用多表哈夫曼编码算法解码输入数据。
步骤2:使用MTF编码算法解码步骤1的输出数据。
步骤3:使用块排序压缩算法还原步骤2的输出数据。
步骤4:使用行程编码解码步骤3的输出数据。
基于上述设计思想和标准标准BZIP2算法,本发明是对压缩过程的步骤2及解压缩过程的步骤3进行改进,即使用有限的块排序压缩替换掉原有的变换,如图3所示。
有限块排序压缩在压缩过程的步骤2处理方法为:
(1)使用输入数据生成循环移位矩阵(如图2所示),并约定,原数据在矩阵的最后一行,矩阵的其他的每一行均是由其下一行进行一次循环右移得到的。
(2)选择上下文长度为2,即以每一行的前两个字符作为上下文,对步骤(1)产生矩阵的所有行进行排序,排序后生成新矩阵。
(3)保存步骤(2)产生的新矩阵的最后一列作为输出。同时保存原始输入数据的最后两个字符,以及这两个字符所对应的上下文,加入输出,作为还原过程的启动数据。
有限块排序压缩在解压缩过程的步骤3处理方法为:
(1)还原原始数据的最后两个字符,处理以相关上下文计数。
(2)使用最近还原的两个字符组成一个新的上下文,还原一个新的字符,放置在已还原字符之前,并处理新生成上下文的计数。
(3)不断重复步骤(2),直至原始数据全部还原。
需要强调的是,本发明所述的实施例是说明性的,而不是限定性的,因此本发明包括并不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。

Claims (2)

1.一种基于有限块排序压缩提高BZIP2压缩算法速度的方法,包括压缩处理方法和解压缩处理方法,所述压缩处理方法包括以下步骤:
步骤1:使用行程编码算法处理输入数据;
步骤2:使用压缩算法处理步骤1的输出数据;
步骤3:使用MTF编码算法对步骤2的输出数据进行编码;
步骤4:使用多表哈夫曼编码算法对步骤3的输出数据进行编码;
所述解压缩处理方法包括以下步骤,
步骤1:使用多表哈夫曼编码算法解码输入数据;
步骤2:使用MTF编码算法解码步骤1的输出数据;
步骤3:使用压缩算法还原步骤2的输出数据;
步骤4:使用行程编码解码步骤3的输出数据;
其特征在于:
所述压缩处理方法步骤2的具体实现方法包括以下步骤:
⑴使用输入数据生成循环移位矩阵:
⑵选择上下文长度为2,以每一行的前2个字符作为上下文,对步骤⑴产生的循环移位矩阵的所有行进行排序,排序后生成新矩阵;
⑶保存步骤⑵产生的新矩阵的最后一列作为输出,同时保存原始输入数据的最后2个字符,以及这2个字符所对应的上下文,加入输出,作为还原过程的启动数据;
所述解压缩处理方法步骤3的具体实现方法包括以下步骤:
⑴还原原始数据的最后2个字符,处理以相关上下文计数;
⑵使用最近还原的2个字符组成一个新的上下文,还原一个新的字符,放置在已还原字符之前,并处理新生成上下文的计数;
⑶不断重复步骤⑵,直至原始数据全部还原。
2.根据权利要求1所述的一种基于有限块排序压缩提高BZIP2压缩算法速度的方法,其特征在于:所述循环移位矩阵通过以下方法得到:原数据在矩阵的最后一行,矩阵的其他的每一行均是由其下一行进行一次循环右移得到的。
CN201811493720.0A 2018-12-05 2018-12-05 一种基于有限块排序压缩提高bzip2压缩算法速度的方法 Active CN109639285B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811493720.0A CN109639285B (zh) 2018-12-05 2018-12-05 一种基于有限块排序压缩提高bzip2压缩算法速度的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811493720.0A CN109639285B (zh) 2018-12-05 2018-12-05 一种基于有限块排序压缩提高bzip2压缩算法速度的方法

Publications (2)

Publication Number Publication Date
CN109639285A true CN109639285A (zh) 2019-04-16
CN109639285B CN109639285B (zh) 2023-06-13

Family

ID=66071694

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811493720.0A Active CN109639285B (zh) 2018-12-05 2018-12-05 一种基于有限块排序压缩提高bzip2压缩算法速度的方法

Country Status (1)

Country Link
CN (1) CN109639285B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717393A (en) * 1996-02-08 1998-02-10 Fujitsu Limited Apparatus for data compression and data decompression
US20010051941A1 (en) * 2000-06-13 2001-12-13 Motonobu Tonomura Searching method of block sorting lossless compressed data, and encoding method suitable for searching data in block sorting lossless compressed data
US7254689B1 (en) * 2004-07-15 2007-08-07 Google Inc. Decompression of block-sorted data
CN101478311A (zh) * 2009-01-22 2009-07-08 浙江大学 bzip2压缩算法硬件加速实现方法
US8010510B1 (en) * 2007-07-03 2011-08-30 Google Inc. Method and system for tokenized stream compression
US20120130965A1 (en) * 2009-07-17 2012-05-24 Yun Sik Oh Data compression method
US20140205199A1 (en) * 2013-01-23 2014-07-24 Qamarul Islam Storage Area and Temporal Based Optimized Run Length Codec For Classic JPEG Image Compression (SAT-BORL CODEC)
CN105933009A (zh) * 2016-05-19 2016-09-07 浪潮(北京)电子信息产业有限公司 数据压缩方法及系统、解压缩方法及系统
CN106936439A (zh) * 2016-09-20 2017-07-07 南开大学 一种通用的基于分块排序思想的压缩预处理方法及应用
US20180175890A1 (en) * 2016-12-20 2018-06-21 Hyperstone Gmbh Methods and Apparatus for Error Correction Coding Based on Data Compression
CN108829930A (zh) * 2018-05-10 2018-11-16 广东省智能制造研究所 三维数字化工艺设计mbd模型的轻量化方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717393A (en) * 1996-02-08 1998-02-10 Fujitsu Limited Apparatus for data compression and data decompression
US20010051941A1 (en) * 2000-06-13 2001-12-13 Motonobu Tonomura Searching method of block sorting lossless compressed data, and encoding method suitable for searching data in block sorting lossless compressed data
US7254689B1 (en) * 2004-07-15 2007-08-07 Google Inc. Decompression of block-sorted data
US8010510B1 (en) * 2007-07-03 2011-08-30 Google Inc. Method and system for tokenized stream compression
CN101478311A (zh) * 2009-01-22 2009-07-08 浙江大学 bzip2压缩算法硬件加速实现方法
US20120130965A1 (en) * 2009-07-17 2012-05-24 Yun Sik Oh Data compression method
US20140205199A1 (en) * 2013-01-23 2014-07-24 Qamarul Islam Storage Area and Temporal Based Optimized Run Length Codec For Classic JPEG Image Compression (SAT-BORL CODEC)
CN105933009A (zh) * 2016-05-19 2016-09-07 浪潮(北京)电子信息产业有限公司 数据压缩方法及系统、解压缩方法及系统
CN106936439A (zh) * 2016-09-20 2017-07-07 南开大学 一种通用的基于分块排序思想的压缩预处理方法及应用
US20180175890A1 (en) * 2016-12-20 2018-06-21 Hyperstone Gmbh Methods and Apparatus for Error Correction Coding Based on Data Compression
CN108829930A (zh) * 2018-05-10 2018-11-16 广东省智能制造研究所 三维数字化工艺设计mbd模型的轻量化方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李冰等: ""一种基于后缀排序快速实现Burrows-Wheeler变换的方法"", 《电子与信息学报》 *
李冰等: ""一种基于后缀排序快速实现Burrows-Wheeler变换的方法"", 《电子与信息学报》, vol. 37, no. 2, 28 February 2015 (2015-02-28), pages 504 - 508 *

Also Published As

Publication number Publication date
CN109639285B (zh) 2023-06-13

Similar Documents

Publication Publication Date Title
CN100517979C (zh) 一种数据压缩及解压缩方法
CN106407285B (zh) 一种基于rle和lzw的优化比特文件压缩与解压缩方法
CN110021369B (zh) 基因测序数据压缩解压方法、系统及计算机可读介质
CN104168085B (zh) 一种基于冗余熵变换的数据压缩方法
CN110518917B (zh) 基于Huffman编码的LZW数据压缩方法及系统
WO2010044100A1 (en) Lossless compression
CN116016606B (zh) 一种基于智慧云的污水处理运维数据高效管理系统
CN111510152A (zh) 一种声波测井数据的压缩及解压缩方法
CN103702133A (zh) 一种图像压缩展示方法及其装置
CN102014283A (zh) 一阶差分前缀表示的图像数据无损压缩的编码方法
JP2003524983A (ja) 複数コーダを用いる最適化ロスレス圧縮のための方法及び装置
CN114726926A (zh) 一种用于拉普拉斯信源的自适应变长编码方法
CN110021368B (zh) 比对型基因测序数据压缩方法、系统及计算机可读介质
CN113612483A (zh) 一种工业实时数据无损编码压缩方法
WO2024061316A1 (zh) 数据压缩的方法、数据解压缩的方法和相关设备
CN109639285A (zh) 一种基于有限块排序压缩提高bzip2压缩算法速度的方法
CN105163130A (zh) 一种基于离散Tchebichef正交多项式的图像无损压缩方法
CN102932001B (zh) 运动捕获数据压缩、解压缩方法
CN104682966B (zh) 列表数据的无损压缩方法
JP2010258532A (ja) ビット長を符号に変換する回路及び方法
CN104301726A (zh) 一种图像无损压缩与解压缩的方法
CN105007083A (zh) 一种lz77压缩算法输出结果的存储方法
CN106559085A (zh) 一种范式哈夫曼解码方法及其装置
CN102891730A (zh) 基于bcd码卫星短报文的编码方法和装置
WO2014000443A1 (zh) 一种图像数据压缩和解压缩方法、装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant