CN107465413B - 一种自适应数据压缩系统及其方法 - Google Patents
一种自适应数据压缩系统及其方法 Download PDFInfo
- Publication number
- CN107465413B CN107465413B CN201710549669.XA CN201710549669A CN107465413B CN 107465413 B CN107465413 B CN 107465413B CN 201710549669 A CN201710549669 A CN 201710549669A CN 107465413 B CN107465413 B CN 107465413B
- Authority
- CN
- China
- Prior art keywords
- data
- compression
- access frequency
- compression ratio
- heat
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种自适应数据压缩系统,其特征在于:包含两两相互连接的时间控制模块,根据时间分片阈值对时间进行分片;热度判断模块,用于记录当前时间片各数据的访问频率,当时间片结束时,对所有数据按照访问频率进行热度判断;压缩及解压缩控制模块,用于当前时间片开始时,遍历所有数据。本发明克服了现有存储系统中压缩方法不灵活的缺点,使得数据在合理的压缩率被压缩,既能够提升空间利用率,又能够提升读写性能,使得系统因压缩产生的收益远大于因压缩产生的代价。
Description
技术领域
本发明涉及一种压缩系统及其方法,特别是一种自适应数据压缩系统及其方法。
背景技术
在存储系统中(包括但不限于分布式文件系统,本地文件系统,分布式块存储系统,对象存储系统,数据库等),数据(包括但不限于文件,数据分片,数据页面,元数据等)压缩技术是节约存储空间,降低成本(以下统称收益)的一种常规手段。但是,数据压缩技术增加了计算量,在读数据时要先解压再读取,在写入时要先压缩落盘,导致CPU的负担加重,数据的读写时延增大(以下统称代价)。从某种意义上说,数据压缩技术是一种典型的以时间换空间,收益与代价互相权衡的一种技术。
数据压缩的必要性应当考虑两方面的因素:
1. 压缩率。在本发明中所指压缩率计算公式为:压缩后数据的尺寸与压缩前数据的尺寸的比值。压缩取得的不同数据的压缩率是不同的,同一数据在修改前后的压缩率也是不同的,不同的压缩算法(包括但不限于RLE、哈夫曼编码、Rice、查分编码等,均为本领域公知常识不再赘述)对于同一数据的压缩率是不同的。压缩率越高,压缩产生的收益也就越大。压缩率越小,压缩产生的收益也就越小。一旦压缩产生的收益小于代价,那么压缩的必要性较低。
2. 访问热度。访问热度受访问频率和时间影响。访问热度越高,压缩产生的代价也就越高。访问热度越低,压缩产生的代价也就越低。极端地,对于冷数据中心的文件(例如30年前的学籍档案)访问热度极低,那么压缩的必要性较高。
以上两个因素对数据压缩的必要性产生了重要的影响:访问热度越低的数据,所期望的压缩率越低,毕竟压缩代价较小;访问热度越高的数据,所期望的压缩率越高,毕竟压缩代价较大。
在现有的存储系统中,数据压缩的方法十分不灵活,要么将压缩功能打开,要么将压缩功能关闭,或者对不同热度的数据采取相同的压缩策略。缺乏根据压缩率和访问热度动态地打开或关闭压缩功能,迫切地需要提出一种自适应的数据压缩方法及系统。
发明内容
本发明所要解决的技术问题是提供一种自适应数据压缩系统及其方法。
为解决上述技术问题,本发明所采用的技术方案是:
一种自适应数据压缩系统,其特征在于:包含两两相互连接的
时间控制模块,根据时间分片阈值对时间进行分片;
热度判断模块,用于记录当前时间片各数据的访问频率,当时间片结束时,对所有数据按照访问频率进行热度判断;
压缩及解压缩控制模块,用于当前时间片开始时,遍历所有数据。
进一步地,所述热度判断模块热度判断具体为,访问频率大于第一访问频率阈值的数据为第一热度,访问频率介于第一访问频率阈值和第二访问频率阈值的数据为第二热度,访问频率介于第二访问频率阈值和第三访问频率阈值的数据为第三热度,访问频率小于第N访问频率阈值的数据为第N热度;其中第一热度的数据所能接受的压缩率为第一压缩率阈值,第二热度的数据所能接受的压缩率为第二压缩率阈值,第N热度的数据所能接受的压缩率为第N压缩率阈值。
进一步地,所述压缩及解压缩控制模块遍历所有数据过程为,若当前数据为未压缩数据,则根据数据压缩算法对数据进行预压缩,求得该数据的压缩率,并与该数据的压缩率阈值进行比较,若该数据的压缩率低于该压缩率阈值则进行压缩,反之则保持不压缩;若当前数据为已压缩数据,则根据数据压缩算法对数据进行预解压缩,求得该数据的压缩率,并与该数据的压缩率阈值进行比较,若该数据的压缩率高于该压缩率阈值则进行解压缩,反之则保持压缩。
一种自适应数据压缩方法,其特征在于包含以下步骤:
步骤一:时间控制模块根据时间分片阈值对时间进行等分分片;
步骤二:时间控制模块在第N个时间分片开始时,通知热度判断模块开启新一轮数据访问频率记录,每一次读操作或写操作均将该数据的访问频率增加1;
步骤三:时间控制模块在第N个时间分片结束时,通知热度判断模块本轮数据访问频率记录结束;
步骤四:热度判断模块遍历各数据在第N个时间分片的访问频率,根据访问频率阈值,确定该数据所属热度及其所能接受的压缩率;如果该数据为已压缩数据,则进入步骤五,否则进入步骤六;
步骤五:热度判断模块根据数据压缩算法对数据进行预解压缩,求得该数据的压缩率,并与该数据的压缩率阈值进行比较,若该数据的压缩率高于该压缩率阈值则进行解压缩,反之则保持压缩,进入步骤七;
步骤六:热度判断模块根据数据压缩算法对数据进行预压缩,求得该数据的压缩率,并与该数据的压缩率阈值进行比较,若该数据的压缩率低于该压缩率阈值则进行压缩,反之则保持不压缩;
步骤七:时间控制模块进入下一个时间分片,将上一轮的数据访问频率记录归零,重新进入步骤二,直至系统关闭。
本发明与现有技术相比,具有以下优点和效果:
本发明克服了现有存储系统中压缩方法不灵活的缺点,使得数据在合理的压缩率被压缩,既能够提升空间利用率,又能够提升读写性能,使得系统因压缩产生的收益远大于因压缩产生的代价。经过原型系统测试验证,本发明的空间利用率提升10%以上,读写性能提升15%以上。
附图说明
图1是本发明的一种自适应数据压缩系统的模块图。
图2是本发明的一种自适应数据压缩方法的流程图。
图3是本发明的热度压缩率阈值对应表。
具体实施方式
下面结合附图并通过实施例对本发明作进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。
如图1所示,本发明的一种自适应数据压缩系统,包含时间控制模块、热度判断模块和压缩及解压缩控制模块,时间控制模块、热度判断模块和压缩及解压缩控制模块相互两两连接。
时间控制模块,本系统根据时间分片阈值对时间进行分片,当前时间分片结束时统计的访问频率决定了数据当前的热度,也就决定了数据在当前时间分片中所能接受的压缩率。
热度判断模块,该模块负责记录当前时间片各数据的访问频率,当时间片结束时,对所有数据按照访问频率进行热度判断:访问频率大于第一访问频率阈值的数据为第一热度,访问频率介于第一访问频率阈值和第二访问频率阈值的数据为第二热度,访问频率介于第二访问频率阈值和第三访问频率阈值的数据为第三热度,以此类推,访问频率小于第N访问频率阈值的数据为第N热度。其中第一热度的数据所能接受的压缩率为第一压缩率阈值,第二热度的数据所能接受的压缩率为第二压缩率阈值。以此类推,如图3表格所示。
压缩及解压缩控制模块,当前时间片开始时,遍历所有数据。若当前数据为未压缩数据,则根据数据压缩算法对数据进行预压缩,求得该数据的压缩率,并与该数据的压缩率阈值进行比较,若该数据的压缩率低于该压缩率阈值则进行压缩,反之则保持不压缩。若当前数据为已压缩数据,则根据数据压缩算法对数据进行预解压缩,求得该数据的压缩率,并与该数据的压缩率阈值进行比较,若该数据的压缩率高于该压缩率阈值则进行解压缩,反之则保持压缩。
如图2所示,一种自适应数据压缩方法,包含以下步骤:
步骤一:时间控制模块根据时间分片阈值对时间进行等分分片;
步骤二:时间控制模块在第N个时间分片开始时,通知热度判断模块开启新一轮数据访问频率记录,每一次读操作或写操作均将该数据的访问频率增加1;
步骤三:时间控制模块在第N个时间分片结束时,通知热度判断模块本轮数据访问频率记录结束;
步骤四:热度判断模块遍历各数据在第N个时间分片的访问频率,根据访问频率阈值,确定该数据所属热度及其所能接受的压缩率;如果该数据为已压缩数据,则进入步骤五,否则进入步骤六;
步骤五:热度判断模块根据数据压缩算法对数据进行预解压缩,求得该数据的压缩率,并与该数据的压缩率阈值进行比较,若该数据的压缩率高于该压缩率阈值则进行解压缩,反之则保持压缩,进入步骤七;
步骤六:热度判断模块根据数据压缩算法对数据进行预压缩,求得该数据的压缩率,并与该数据的压缩率阈值进行比较,若该数据的压缩率低于该压缩率阈值则进行压缩,反之则保持不压缩;
步骤七:时间控制模块进入下一个时间分片,将上一轮的数据访问频率记录归零,重新进入步骤二,直至系统关闭。
下面通过具体实施例来对本发明进行说明:
步骤1:为该压缩系统初始化:分布式文件系统中存在5个文件,时间分片为30分钟,压缩算法为RLE。热度分为三级:第1级热度的文件在单个时间分片中被访问频率为超过100次,第1压缩率为30%;第2级热度的文件在单个时间分片中被访问频率为介于10次至100次之间,第2压缩率为50%;第3级热度的文件在单个时间分片中被访问频率为10次以下,第3压缩率为90%.
步骤2:在第1个时间分片开始时,开启文件访问频率记录,每一次对这15个文件读写的访问时,将该文件的访问频率增加1.
步骤3:在第1个时间分片结束时,对这5个文件的访问频率统计结果分别为:111,133,77,1,0。
步骤4:针对这5个文件分别进行处理:将第1个文件划分为第1级热度,通过预压缩得到第1个文件的压缩率为8%,低于第1压缩率,因此第1个文件被压缩;将第2个文件划分为第1级热度,通过预压缩得到第2个文件的压缩率为80%,高于第1压缩率,因此第2个文件不被压缩;将第3个文件划分为第2级热度,通过预压缩得到第3个文件的压缩率为60%,高于第2压缩率,因此第3个文件不被压缩;将第4个文件划分为第3级热度,通过预压缩得到第3个文件的压缩率为80%,低于第3压缩率,因此第4个文件被压缩;将第5个文件划分为第3级热度,通过预压缩得到第5个文件的压缩率为99%,高于第3压缩率,因此第5个文件不被压缩。
步骤5:在第2个时间分片开始时,将访问频率记录归零。此时各文件的状态为第1个文件被压缩、第2个文件不被压缩、第3个文件不被压缩、第4个文件被压缩,第5个文件不被压缩。
步骤6:在第2个时间分片结束时,对这5个文件的访问频率统计结果分别为:192,103,79,11,0。
步骤7:针对这5个文件分别进行处理:将第1个文件划分为第1级热度,通过预压缩得到第1个文件的压缩率为32%,高于第1压缩率,因此第1个文件被解压缩;将第2个文件划分为第1级热度,通过预压缩得到第2个文件的压缩率为82%,高于第1压缩率,因此第2个文件不被压缩;将第3个文件划分为第2级热度,通过预压缩得到第3个文件的压缩率为10%,低于第2压缩率,因此第3个文件被压缩;将第4个文件划分为第2级热度,通过预压缩得到第3个文件的压缩率为80%,高于第2压缩率,因此第4个文件被解压缩;将第5个文件划分为第3级热度,通过预压缩得到第5个文件的压缩率为99%,高于第3压缩率,因此第5个文件不被压缩。
步骤8:在第3个时间分片开始时,将访问频率记录归零。此时各文件的状态为第1个文件不被压缩、第2个文件不被压缩、第3个文件被压缩、第4个文件不被压缩,第5个文件不被压缩。
本说明书中所描述的以上内容仅仅是对本发明所作的举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种修改或补充或采用类似的方式替代,只要不偏离本发明说明书的内容或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。
Claims (3)
1.一种自适应数据压缩系统,其特征在于:包含两两相互连接的
时间控制模块,根据时间分片阈值对时间进行分片;
热度判断模块,用于记录当前时间片各数据的访问频率,当时间片结束时,对所有数据按照访问频率进行热度判断;
压缩及解压缩控制模块,用于当前时间片开始时,遍历所有数据;
所述压缩及解压缩控制模块遍历所有数据过程为,若当前数据为未压缩数据,则根据数据压缩算法对数据进行预压缩,求得该数据的压缩率,并与该数据的压缩率阈值进行比较,若该数据的压缩率低于该压缩率阈值则进行压缩,反之则保持不压缩;若当前数据为已压缩数据,则根据数据压缩算法对数据进行预解压缩,求得该数据的压缩率,并与该数据的压缩率阈值进行比较,若该数据的压缩率高于该压缩率阈值则进行解压缩,反之则保持压缩。
2.按照权利要求1所述的一种自适应数据压缩系统,其特征在于:所述热度判断模块热度判断具体为,访问频率大于第一访问频率阈值的数据为第一热度,访问频率介于第一访问频率阈值和第二访问频率阈值的数据为第二热度,访问频率介于第二访问频率阈值和第三访问频率阈值的数据为第三热度,访问频率小于第N访问频率阈值的数据为第N热度;其中第一热度的数据所能接受的压缩率为第一压缩率阈值,第二热度的数据所能接受的压缩率为第二压缩率阈值,第N热度的数据所能接受的压缩率为第N压缩率阈值。
3.一种权利要求1至2任一项所述的自适应数据压缩系统的压缩方法,其特征在于包含以下步骤:
步骤一:时间控制模块根据时间分片阈值对时间进行等分分片;
步骤二:时间控制模块在第N个时间分片开始时,通知热度判断模块开启新一轮数据访问频率记录,每一次读操作或写操作均将该数据的访问频率增加1;
步骤三:时间控制模块在第N个时间分片结束时,通知热度判断模块本轮数据访问频率记录结束;
步骤四:热度判断模块遍历各数据在第N个时间分片的访问频率,根据访问频率阈值,确定该数据所属热度及其所能接受的压缩率;如果该数据为已压缩数据,则进入步骤五,否则进入步骤六;
步骤五:热度判断模块根据数据压缩算法对数据进行预解压缩,求得该数据的压缩率,并与该数据的压缩率阈值进行比较,若该数据的压缩率高于该压缩率阈值则进行解压缩,反之则保持压缩,进入步骤七;
步骤六:热度判断模块根据数据压缩算法对数据进行预压缩,求得该数据的压缩率,并与该数据的压缩率阈值进行比较,若该数据的压缩率低于该压缩率阈值则进行压缩,反之则保持不压缩;
步骤七:时间控制模块进入下一个时间分片,将上一轮的数据访问频率记录归零,重新进入步骤二,直至系统关闭。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710549669.XA CN107465413B (zh) | 2017-07-07 | 2017-07-07 | 一种自适应数据压缩系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710549669.XA CN107465413B (zh) | 2017-07-07 | 2017-07-07 | 一种自适应数据压缩系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107465413A CN107465413A (zh) | 2017-12-12 |
CN107465413B true CN107465413B (zh) | 2020-11-17 |
Family
ID=60546644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710549669.XA Active CN107465413B (zh) | 2017-07-07 | 2017-07-07 | 一种自适应数据压缩系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107465413B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108304534A (zh) * | 2018-01-30 | 2018-07-20 | 努比亚技术有限公司 | 文件管理方法、终端及计算机可读存储介质 |
CN110489123B (zh) * | 2018-05-15 | 2022-04-05 | 腾讯科技(深圳)有限公司 | 一种编译的预处理方法、编译装置及存储介质 |
CN109802684B (zh) * | 2018-12-26 | 2022-03-25 | 华为技术有限公司 | 进行数据压缩的方法和装置 |
CN110798222B (zh) * | 2019-09-27 | 2022-04-22 | 北京浪潮数据技术有限公司 | 一种数据压缩方法及装置 |
CN111984610A (zh) * | 2020-09-27 | 2020-11-24 | 苏州浪潮智能科技有限公司 | 数据压缩方法、装置及计算机可读存储介质 |
US11777519B2 (en) | 2022-02-10 | 2023-10-03 | International Business Machines Corporation | Partitional data compression |
CN115905168B (zh) * | 2022-11-15 | 2023-11-07 | 本原数据(北京)信息技术有限公司 | 基于数据库的自适应压缩方法和装置、设备、存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104620230A (zh) * | 2012-09-13 | 2015-05-13 | 三星电子株式会社 | 管理存储器的方法 |
CN104915376A (zh) * | 2015-05-05 | 2015-09-16 | 华南理工大学 | 一种云存储中文件的归档压缩方法 |
CN105843853A (zh) * | 2016-03-16 | 2016-08-10 | 北京小米移动软件有限公司 | 智能设备的清理方法及装置 |
CN106557538A (zh) * | 2015-09-25 | 2017-04-05 | 希捷科技有限责任公司 | 分层存储中的压缩采样 |
-
2017
- 2017-07-07 CN CN201710549669.XA patent/CN107465413B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104620230A (zh) * | 2012-09-13 | 2015-05-13 | 三星电子株式会社 | 管理存储器的方法 |
CN104915376A (zh) * | 2015-05-05 | 2015-09-16 | 华南理工大学 | 一种云存储中文件的归档压缩方法 |
CN106557538A (zh) * | 2015-09-25 | 2017-04-05 | 希捷科技有限责任公司 | 分层存储中的压缩采样 |
CN105843853A (zh) * | 2016-03-16 | 2016-08-10 | 北京小米移动软件有限公司 | 智能设备的清理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107465413A (zh) | 2017-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107465413B (zh) | 一种自适应数据压缩系统及其方法 | |
US9606750B2 (en) | Method of storing data in distributed manner based on technique of predicting data compression ratio, and storage device and system using same | |
US9048862B2 (en) | Systems and methods for selecting data compression for storage data in a storage system | |
US8364929B2 (en) | Enabling spanning for a storage device | |
US7937371B2 (en) | Ordering compression and deduplication of data | |
US9946464B2 (en) | Systems and methods for predicting compressibility of data | |
CN107526550B (zh) | 一种基于日志结构合并树的两阶段合并方法 | |
US10585856B1 (en) | Utilizing data access patterns to determine compression block size in data storage systems | |
US8738838B2 (en) | Method, device and system for storing data in storage media using a reference condition | |
US10824599B2 (en) | Information processing apparatus, information processing method, and recording medium | |
CN102143039B (zh) | 数据压缩中数据分段方法及设备 | |
CN107565971B (zh) | 一种数据压缩方法及装置 | |
CN103516369A (zh) | 一种自适应数据压缩和解压缩的方法和系统及存储装置 | |
CN107682016B (zh) | 一种数据压缩方法、数据解压方法及相关系统 | |
CN110799959A (zh) | 一种数据压缩方法与解压方法以及相关设备 | |
CN112684975B (zh) | 一种数据存储方法及装置 | |
US10116329B1 (en) | Method and system for compression based tiering | |
CN104125458A (zh) | 内存数据无损压缩方法及装置 | |
US10303402B2 (en) | Data compression using partial statistics | |
CN112306974A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN107423425B (zh) | 一种对k/v格式的数据快速存储和查询方法 | |
CN111291041B (zh) | 列数据的非统一分页 | |
CN115061635A (zh) | 固态硬盘闪存块读取次数压缩的方法、装置、计算机设备及存储介质 | |
WO2021082926A1 (zh) | 一种数据压缩的方法及装置 | |
US10394453B1 (en) | Method and system for choosing an optimal compression algorithm considering resources |
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 |