CN113176853A - 数据压缩存储方法 - Google Patents
数据压缩存储方法 Download PDFInfo
- Publication number
- CN113176853A CN113176853A CN202110456069.5A CN202110456069A CN113176853A CN 113176853 A CN113176853 A CN 113176853A CN 202110456069 A CN202110456069 A CN 202110456069A CN 113176853 A CN113176853 A CN 113176853A
- Authority
- CN
- China
- Prior art keywords
- data
- bit
- result
- converted
- compression
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供了一种数据压缩存储方法,包括:步骤1,数据准备:若为FLOAT型数据,需先转化为整型,再转化为64bit长数据;若不是FLOAT型数据,刚直接统一转化为64bit数据;步骤2,每个数据都按“最大使用位数”按位“与”0xFF进行屏蔽处理,以得到需要压缩的位结果,以使一个数据溢出时不会影响到相邻数据;步骤3,将位结果通过移位连接起来;步骤4,将结果输出到Buf中实现数据的压缩存储。本发明可以在最大限制的节省存储器容量开支,节约成本。
Description
技术领域
本发明涉及数据压缩领域,特别涉及一种数据压缩存储方法。
背景技术
目前,大部份电表的数据存储,取决于定义参量时原始数据的类型。
比如,电压定义为INT型,那么在芯片内存RAM里面分配的空间是2个字节,当要存储在非易失性存储器NVM(比如EEPROM)里时,也会按2个字节的长度来存储。再比如,电能表定义为LONG型,那么RAM与存储NVM时,都会按4字节来。
这种通用储存做法在功能上没有问题,但有缺点,当需要存储数据量大时,会造成NVM空间的浪费,这意味着要用更大的存储,造成了产品本身成本的提高。
发明内容
本发明提供了一种数据压缩存储方法,以解决至少一个上述技术问题。
为解决上述问题,作为本发明的一个方面,提供了一种数据压缩存储方法,包括:
步骤1,数据准备
若为FLOAT型数据,需先转化为整型,再转化为64bit长数据;
若不是FLOAT型数据,刚直接统一转化为64bit数据;
步骤2,每个数据都按“最大使用位数”按位“与”0xFF进行屏蔽处理,以得到需要压缩的位结果,以使一个数据溢出时不会影响到相邻数据;
步骤3,将位结果通过移位连接起来;
步骤4,将结果输出到Buf中实现数据的压缩存储。
优选地,步骤3包括:将每个数据的位结果按其所在的顺序“或”到位序列上,实现上述移位连接,并得到最终压缩结果。
由于采用了上述技术方案,本发明可以在最大限制的节省存储器容量开支,节约成本。
具体实施方式
以下对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
本发明涉及一种数据压缩存储算法,尤其应用于对成本要求较严苛的电表表计上,其可以紧凑地把数据无损地进行存储与恢复,从而大大节约NVM存储空间,也节约了成本。
下面,通过一个实施例,对本发明的具体实施过程进行详细说明。
例如,在一个实施例中,需要对以下四个数据进行压缩处理,如下表所示:
按现有技术中常规的方式,上述四个数据的储存值为:0x449A5000096F031519,也就是需要9个字节的空间来存储以上数据。
但实际使用中,若上述四个数据没必要使用最大值的情况下,就会造成一些存储空间浪费。
实际上,上述四个数据,“最大使用位数”分别为13bits、13bits、17bits、5bits。那么,可以通过本发明中的以下压缩,来节省存储空间。
本发明中的数据压缩过程如下:
1.数据准备
1.1若为FLOAT型数据,需先转化为整型,再转化为64bit长数据。
如上例的FLOAT32转化为整型后为(0x04D2)
1.2若不是FLOAT型数据,刚直接统一转化为64bit数据。
转化为64bit是为了方便后面移位及或处理。
2.每个数据,都按“最大使用位数”,来按位“与”0xFF进行屏蔽处理,这样即使本数据溢出,超过了“最大使用位数”,也不会影响到相邻数据。
3.将数据的“位结果”,通过移位,连接起来。如上例处理如下:
逐步实施的步骤 | 本步结果 | |
1 | 将DATA1"或"到Bit序列之上 | 000000000000000000000000000000000000010011010010 |
2 | 将DATA2"或"到Bit序列之上 | 000000000000000000000001001011011110010011010010 |
3 | 将DATA3"或"到Bit序列之上 | 000000000000110001010101001011011110010011010010 |
4 | 将DATA4"或"到Bit序列之上 | 110010000000110001010101001011011110010011010010 |
得到的最终结果,按二进制表达为:
110010000000110001010101001011011110010011010010
按十六进制表达,即0xC80C552DE4D2
4.将结果输出到Buf。可见,上述例子里,原来为9个字节空间的数据,经过压缩之后,存储空间变为6个字节。
解压缩过程是上面步骤的反过程。
由于采用了上述技术方案,本发明可以在最大限制的节省存储器容量开支,节约成本。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种数据压缩存储方法,其特征在于,包括:
步骤1,数据准备
若为FLOAT型数据,需先转化为整型,再转化为64bit长数据;
若不是FLOAT型数据,刚直接统一转化为64bit数据;
步骤2,每个数据都按“最大使用位数”按位“与”0xFF进行屏蔽处理,以得到需要压缩的位结果,以使一个数据溢出时不会影响到相邻数据;
步骤3,将位结果通过移位连接起来;
步骤4,将结果输出到Buf中实现数据的压缩存储。
2.根据权利要求1所述的数据压缩存储方法,其特征在于,步骤3包括:将每个数据的位结果按其所在的顺序“或”到位序列上,实现上述移位连接,并得到最终压缩结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110456069.5A CN113176853A (zh) | 2021-04-26 | 2021-04-26 | 数据压缩存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110456069.5A CN113176853A (zh) | 2021-04-26 | 2021-04-26 | 数据压缩存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113176853A true CN113176853A (zh) | 2021-07-27 |
Family
ID=76926336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110456069.5A Pending CN113176853A (zh) | 2021-04-26 | 2021-04-26 | 数据压缩存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113176853A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140208068A1 (en) * | 2013-01-22 | 2014-07-24 | Samplify Systems, Inc. | Data compression and decompression using simd instructions |
CN105024702A (zh) * | 2015-07-08 | 2015-11-04 | 西安理工大学 | 一种面向科学计算的浮点型数据无损压缩方法 |
CN105264779A (zh) * | 2013-01-22 | 2016-01-20 | 阿尔特拉公司 | 使用simd指令的数据压缩和解压 |
US20180138921A1 (en) * | 2015-05-21 | 2018-05-17 | Zeropoint Technologies Ab | Methods, Devices and Systems for Hybrid Data Compression and Decompression |
CN111008230A (zh) * | 2019-11-22 | 2020-04-14 | 远景智能国际私人投资有限公司 | 数据存储方法、装置、计算机设备及存储介质 |
CN112527754A (zh) * | 2020-12-23 | 2021-03-19 | 山东鲁能软件技术有限公司 | 基于按位变长存储的数值型数据压缩方法及*** |
-
2021
- 2021-04-26 CN CN202110456069.5A patent/CN113176853A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140208068A1 (en) * | 2013-01-22 | 2014-07-24 | Samplify Systems, Inc. | Data compression and decompression using simd instructions |
CN105264779A (zh) * | 2013-01-22 | 2016-01-20 | 阿尔特拉公司 | 使用simd指令的数据压缩和解压 |
US20180138921A1 (en) * | 2015-05-21 | 2018-05-17 | Zeropoint Technologies Ab | Methods, Devices and Systems for Hybrid Data Compression and Decompression |
CN105024702A (zh) * | 2015-07-08 | 2015-11-04 | 西安理工大学 | 一种面向科学计算的浮点型数据无损压缩方法 |
CN111008230A (zh) * | 2019-11-22 | 2020-04-14 | 远景智能国际私人投资有限公司 | 数据存储方法、装置、计算机设备及存储介质 |
CN112527754A (zh) * | 2020-12-23 | 2021-03-19 | 山东鲁能软件技术有限公司 | 基于按位变长存储的数值型数据压缩方法及*** |
Non-Patent Citations (3)
Title |
---|
ZURAS D.: "standard for floating-point arithmetitc", 《IEEE STD》, pages 1 - 70 * |
程一飞: "一种基于相邻位异或运算的测试数据压缩方法", 《万方数据库》, pages 440 - 447 * |
***: "一种内存读写数据压缩算法", 《中国集成电路》, pages 38 - 41 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112953550B (zh) | 数据压缩的方法、电子设备及存储介质 | |
CN1786939A (zh) | 实时数据压缩方法 | |
CN101375313B (zh) | 用于计算机图形的图像压缩 | |
CN107592116B (zh) | 一种数据压缩方法、装置及存储介质 | |
CA2321233A1 (en) | Block-wise adaptive statistical data compressor | |
DE102017130591B4 (de) | Verfahren und Vorrichtung zur Fehlerkorrekturkodierung auf Basis einer Datenkomprimierung | |
JPH03204232A (ja) | 圧縮データの符号化方法 | |
CN103647866B (zh) | 一种电话号码压缩存储及解压缩方法及存储*** | |
CN108153483A (zh) | 一种基于属性分组的时序数据压缩方法 | |
CN113176853A (zh) | 数据压缩存储方法 | |
CN114614833A (zh) | 自适应游程编码的测试数据压缩及解压方法 | |
CN102263560B (zh) | 差分编码方法和*** | |
CN117040542B (zh) | 一种智能综合配电箱能耗数据处理方法 | |
CN102843142A (zh) | 可编程逻辑器件配置数据流压缩、解压缩处理方法及*** | |
US7446679B1 (en) | Compression and decompression of configuration data for programmable logic devices | |
CN101783165A (zh) | 一种半导体存储器、半导体存储器***及其对应编程方法 | |
CN100474781C (zh) | 2字节字符数据的压缩方法 | |
CN115544305A (zh) | 一种用于数字钢卷***的数据存储方法及装置 | |
CN113254259B (zh) | 一种用于改善低精度浮点数传输效率的方法 | |
CN105099458A (zh) | 温度计译码器 | |
CN1317882A (zh) | 一种对数据库中的数据进行压缩与解压缩的方法 | |
CN107463355B (zh) | 立即数压缩编码方法和*** | |
CN104425012A (zh) | 一种nand闪存单元 | |
CN105049055A (zh) | 一种数据压缩方法和数据解压方法 | |
CN110739974B (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 |