CN112527754A - 基于按位变长存储的数值型数据压缩方法及系统 - Google Patents
基于按位变长存储的数值型数据压缩方法及系统 Download PDFInfo
- Publication number
- CN112527754A CN112527754A CN202011538263.XA CN202011538263A CN112527754A CN 112527754 A CN112527754 A CN 112527754A CN 202011538263 A CN202011538263 A CN 202011538263A CN 112527754 A CN112527754 A CN 112527754A
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- precision
- bit
- type
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000013144 data compression Methods 0.000 title claims abstract description 44
- 238000007667 floating Methods 0.000 claims abstract description 40
- 238000007906 compression Methods 0.000 claims abstract description 39
- 230000006835 compression Effects 0.000 claims abstract description 39
- 230000008569 process Effects 0.000 claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 11
- 230000009467 reduction Effects 0.000 claims abstract description 7
- 230000005055 memory storage Effects 0.000 claims abstract description 6
- 230000006837 decompression Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 5
- 238000013500 data storage Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000010248 power generation Methods 0.000 description 2
- 230000001502 supplementing effect Effects 0.000 description 2
- 241000208125 Nicotiana Species 0.000 description 1
- 235000002637 Nicotiana tabacum Nutrition 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- 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
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
- G06F7/49947—Rounding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本公开提出了基于按位变长存储的数值型数据压缩方法,包括:判断待压缩的数据的数据类型;查询待压缩的数据其内存二进制存储方式,判断数据类型单元长度的调整是否符合压缩条件,再次确定待压缩数据;对待压缩数据进行变长存储,以按最小长度存储,实现数据压缩处理:其中,整型数据压缩过程中,由高位到低位,对二进制存储单元中连续为0的存储位去除,只存含有1的有效位;浮点型数据压缩过程中,根据数值的实际大小和精度范围,实行降位存储。本发明通过数据在计算机中的存储方式,实现按位变长存储,无需考虑数据间的上下关联信息和其他关键信息,且无需存储压缩位,在现有的存储结构上,可实现最大限度的压缩存储。
Description
技术领域
本公开属于电力时序数据压缩技术领域,尤其涉及基于按位变长存储的数值型数据压缩方法及系统。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
随着电力信息化的发展,在长期的经营中积累了海量的业务数据,同时企业经营迫切需要从浩如烟海的数据中获得更多的、更有价值的信息,因此,电力大数据技术在电力行业得到了广泛重视和大力发展。由于电力生产的连续性,实时数据采集点数通常有几千到几十万,数据采集间隔要达到秒级,数据体量巨大。为了使实时数据库系统快速、有效地管理数据,提高磁盘存储效率,要保证系统有较高的压缩率,并且要有快速的、高精度的数据解压,必须进行有效的数据压缩。
数据压缩技术一般分为有损压缩和无损压缩,根据电力业务的需求,需要对数据进行无损压缩。目前通用的压缩技术的典型算法包括:SDT算法、PPM算法、BWT算法和LZ系列算法等,但是这些压缩方法都有一定的局限性,具体分析如下:
(1)旋转门(Swing Door Trending,SDT)在实时过程中用得最多,通过减少保留的数据点个数来实现压缩,算法简单,执行速度快,但是压缩率不高,且对数据是有损失的。
(2)PPM算法根据上下文预测符号出现的概率,再根据概率对符号编码,该算法的压缩率较高,但是PPM算法建模的时候需要大量的使用到动态内存,且压缩和解压时间耗时较长。
(3)BWT算法是对字符串轮转后得到的字符矩阵进行排序和变换,再对变换后的字符编码以实现压缩。
(4)LZW的原理是以字典的索引号代替它所表示的字符串,在压缩编码的过程中自动生成字典,实现过程简单,但是适用范围是原始数据串最好是有大量的子串多次重复出现,重复的越多,压缩效果越好。反之则越差,可能真的不减反增。
在面对不同类型的数据应用,特别是数值型增量比较大,而且保证数据信息不丢失的情况下,若能减少数据存储量,又能提高数据的查询和传输速度,将大大节省系统的开支。
发明内容
为克服上述现有技术的不足,本公开提供了基于按位变长存储的数值型数据压缩方法,以减少时间序列数据量,解决数据存储容量紧张的问题。
为实现上述目的,本公开的一个或多个实施例提供了如下技术方案:
第一方面,公开了基于按位变长存储的数值型数据压缩方法,包括:
判断待压缩的数据的数据类型;
查询待压缩的数据其内存二进制存储方式,判断数据类型单元长度的调整是否符合压缩条件,再次确定待压缩数据;
对待压缩数据进行变长存储,以按最小长度存储,实现数据压缩处理:
其中,整型数据压缩过程中,由高位到低位,对二进制存储单元中连续为0的存储位去除,只存含有1的有效位;
浮点型数据压缩过程中,根据数值的实际大小和精度范围,实行降位存储。
进一步的技术方案,对数值型和字符串型数据进行变长存储后,解压过程中,无需上下关联,只需要对被压数据进行补0,即可实现解压。
进一步的技术方案,待压缩的数据的数据类型判断时,根据计算机对于数据的分类,实数域的数值型数据类型分为整型、浮点型,整型分为无符整型和有符整型;浮点型分为单精度浮点型和双精度浮点型。
进一步的技术方案,各数据类型是否可压缩判定条件如下:
无符号整型数据,从高位至低位进行逐位判别,如果在发现含有1的存储位之前,连续为0的存储位大于1,则该数据可压缩;
有符号整型数据,除符号位外,由高位至低位进行逐位判别,如果在发现含有0的存储位之前,连续为1的存储位大于1,则该数据可压缩;
浮点型数据,根据值的精度进行降位存储,从而达到按实际值存储数据。
进一步的技术方案,单精度浮点数是32位存储,半精度是16位存储,首先,判断数据值,如果在半精度范围内,则按照半精度存储,超出,则按单精度存储,从而达到按实际值存储数据,提升存储空间利用率。
当数据需要解压时,先转换成对应精度值,再转到单精度浮点数。
进一步的技术方案,双精度浮点数是64位存储,首先,判断数据值,如果在半精度范围内,则按照半精度存储,如果在单精度范围内,则按照单精度存储,超出,则按双精度存储,从而达到按实际值存储数据,提升存储空间利用率。
当数据需要解压时,先转换成对应精度值,再转到双精度浮点数。
第二方面,公开了基于按位变长存储的数值型数据压缩系统,包括:
待压缩数据确定模块,用于判断待压缩的数据的数据类型;
查询待压缩的数据其内存二进制存储方式,判断数据类型单元长度的调整是否符合压缩条件,再次确定待压缩数据;
数据压缩处理模块,用于对待压缩数据进行变长存储,以按最小长度存储,实现数据压缩处理:
其中,整型数据压缩过程中,由高位到低位,对二进制存储单元中连续为0的存储位去除,只存含有1的有效位;
浮点型数据压缩过程中,根据数值的实际大小和精度范围,实行降位存储。
以上一个或多个技术方案存在以下有益效果:
(1)压缩率较大。本发明通过数据在计算机中的存储方式,实现按位变长存储,无需考虑数据间的上下关联信息和其他关键信息,且无需存储压缩位,在现有的存储结构上,可实现最大限度的压缩存储。
(2)解压速度极快。数据解压过程,依据设置的数据类型,只需要对被压数据进行自动补0或1、升位还原,即可实现数据极速解压。
(3)数据无损压缩。本发明采用的数据压缩方法,保留了数据的全部信息,解压时可以完全还原数据信息,不会造成数据的损失或精度损失。
(4)普适性。本发明采用的数据压缩方法,是基于数据的二进制存储结构进行压缩的,不影响传统的数据压缩方法使用,因此,该方法可以和传统的压缩方法混合适用,具有普适性。
(5)弹性存储。在设计数据类型时,本发明鼓励按照极限值设置数据类型,本发明的好处是,由于按照有效值存储,无需担心存储浪费。
(6)可移植性。本发明可以适用于任意数据库,具有很好的可移植性。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
图1为本公开实施例压缩方法流程图;
图2为本公开实施例单精度存储结构图;
图3为本公开实施例双精度存储结构图。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
实施例一
本实施例公开了基于按位变长存储的数值型数据压缩方法,通过分析数据二进制存储格式进行数据的压缩和解压,以减少时间序列数据量,解决数据存储容量紧张的问题。整型数据压缩过程中,由高位到低位,对二进制存储单元中连续为0的存储位去除,只存含有1的有效位;浮点型数据压缩过程中,根据数值的实际大小和精度范围,实行降位存储。基于以上思想,从而对数值型和字符串型数据进行变长存储,不管数据库的数据精度如何设置,都可以按最小长度存储,实现数据压缩处理;解压过程中,无需上下关联,只需要对被压数据进行补0,即可实现解压,解压速度极快。此外,本压缩不影响其他压缩使用,可以混合传统的压缩算法,具有很好的广谱性。
下面结合附图及实施过中发电侧数据类型,对发明作进一步的详细阐述。图1为本方法实施流程图,主要包括以下步骤:
步骤1:数据类型判断
根据计算机对于数据的分类方法,判断待压缩的数据的数值类型,数值型数据类型及其单元长度如下:
实数域的数值型数据类型分为整型、浮点型,整型分为无符整型和有符整型,单元长度有1、2、4、8字节形式;浮点型分为单精度浮点型和双精度浮点型,单元长度分别是4、8字节。
具体的例子中,根据发电侧业务中涉及的数据,由业务人员确定数据的精度,并根据计算机对于数据的分类方法,设置每个业务点所需要的数据类型。在实际生产中,业务数据类型主要为整型(BOOL型可以归结到整型)和浮点型,后面主要围绕着这两大类数据进行压缩处理。
步骤2:判断数据是否符合压缩条件
根据待压缩数据的类型和数据精度,依据其二进制存储方式,分析数据类型单元长度的调整是否符合压缩条件,各数据类型是否可压缩判定条件如下。
(1)无符号整型数据,从高位至低位进行逐位判别,如果在发现含有1的存储位之前,连续为0的存储位大于1,则该数据可压缩。
(2)有符号整型数据,除符号位外,由高位至低位进行逐位判别,如果在发现含有0的存储位之前,连续为1的存储位大于1,则该数据可压缩。
(3)浮点型数据,根据值的精度进行降位存储,从而达到按实际值存储数据,提升了存储空间利用率。
1)单精度浮点型数据
单精度浮点数是32位存储,半精度是16位存储,如果数据值是在半精度范围内,则按照半精度存储,该数据符合压缩条件,反之,只能按单精度存储。
2)双精度浮点型数据
双精度浮点数是64位存储,如果数据值在半精度或单精度范围内,都可进行降位存储,该数据符合压缩条件,反之,只能按双精度存储。
步骤3:数值型数据压缩和解压
(1)无符号整型数值
对于潜在的整型数据进行压缩和解压,以整型数字1为例,存储架构设为4字节存储,其二进制存储格式如下:
表1整型数字1二进制存储格式
第4字节 | 第3字节 | 第2字节 | 第1字节 |
00000000 | 00000000 | 00000000 | 00000001 |
除了最高位符号位(0,正数,1,负数),完全可以只存储含有1的字节位,即00000001,从而减少第1、2、3字节,即实现数据按位存储,节省了存储空间,提升了存储空间利用率。当数据需要解压时,自动填充还原即可。
在另一实施例子中,以无符号INT型为例,现有的存储架构要占用4个字节进行存储,数据存储格式如下表所示:
表3无符号整型数值二进制存储格式
10进制 | 16进制 | 第4字节 | 第3字节 | 第2字节 | 第1字节 |
0 | 0x00000000 | 00000000 | 00000000 | 00000000 | 00000000 |
1 | 0x00000001 | 00000000 | 00000000 | 00000000 | 00000001 |
100 | 0x00000064 | 00000000 | 00000000 | 00000000 | 01100100 |
54321 | 0x0000D431 | 00000000 | 00000000 | 11010100 | 00110001 |
123456789 | 0x075BCD15 | 00000111 | 01011011 | 11001101 | 00010101 |
通过上表二进制存储,当存储是0时,除了最高位符号位(0,正数),完全可以通过1个字节存储,即00000000,同理,1和100也是如此00000001,01100100;而54321,则需要3个字节:00000000,11010100,00110001。这样如果是INT类型的数据值,根据值得范围,可以存储成1,2,3,4等字节,相应的就减少了3,2,1,0个字节,即实现最低有效存储,从而节省了存储空间,提升了存储空间利用率。
其他大于1个字节的无符号整数,根据各自的存储格式,依次类推,实现变长存储。各类型数据可能的压缩空间如下:
表4整型数据压缩空间
数据类型 | 变长存储 | 节省空间 | 固定存储 |
LONG | 1,2,4,5,6,7,8 | 7,6,4,3,2,1,0 | 8 |
INT | 1,2,3,4 | 3,2,1,0 | 4 |
SHORT | 1,2 | 1,0 | 2 |
UINT32 | 1,2,3,4 | 3,2,1,0 | 4 |
UINT16 | 1,2 | 1,0 | 2 |
由上表所示,原类型占用的字节数越多,意味着有更多压缩空间,当数据解压时,根据数据类型和默认的存储长度,自动填充还原即可。
(2)有符号整型数值
对于潜在的有符号整型数据进行压缩和解压,以整型数字-2为例,存储架构设为4字节存储,其二进制存储格式如下:
表2整型数字-2二进制存储格式
第4字节 | 第3字节 | 第2字节 | 第1字节 |
11111111 | 11111111 | 11111111 | 11111110 |
除了最高位符号位(1,负数),完全可以只存储含有0的字节位,即1111111111111110,从而减少第3、2字节(第4字节因为是负数,无法节省),即实现数据按位存储,节省了存储空间,提升了存储空间利用率。当数据需要解压时,转换或自动填充还原即可。
在另一实施例子中,有符号整型数据的压缩和解压,以整型数字-2为例,存储架构设为4字节存储,其二进制存储格式如下:
表5整型数字-2二进制存储格式
第4字节 | 第3字节 | 第2字节 | 第1字节 |
11111111 | 11111111 | 11111111 | 11111110 |
除了最高位符号位(1,负数),完全可以只存储含有0的字节位,即1111111111111110,从而减少第3、2字节(第4字节因为是负数,无法节省),即实现数据按位存储,节省了存储空间,提升了存储空间利用率。当数据需要解压时,转换或自动填充还原即可。
(3)浮点型数值
double双精度(64位)和float单精度(32位)属于浮点类型,二进制存储遵循IEEE754标准。
1)单精度浮点型数值
单精度浮点数是32位存储,半精度是16位存储,首先,判断数据值,如果在半精度范围内,则按照半精度存储,超出,则按单精度存储。从而达到按实际值存储数据,提升了存储空间利用率。当数据需要解压时,先转换成对应精度值,再转到单精度浮点数。
单精度浮点型数据存储结构如图2所示。
单精度浮点格式共32位,其中,s、exp和frac段分别为1位、k=8位和n=23位。其中,32位中的第0位存放小数段frac的最低有效位LSB(least significant bit),第22位存放小数段frac的最高有效位MSB(most significant bit);第23位存放指数段exp的最低有效位LSB,第30位存放指数段exp的最高有效位MSB;最高位,即第31位存放符号s。
以单精度数-0.15625为例,根据float16类型的最大值、最小值以及该数值精度范围综合判定,该值可以按照半精度存储,只需占用2个字节。解压时,先按半精度还原,再转换成单精度,其具体存储格式如下:
表6浮点型数字-0.15625二进制存储格式
精度 | 第4字节 | 第3字节 | 第2字节 | 第1字节 |
半精度 | 10110001 | 00000000 | ||
单精度 | 10111110 | 00100000 | 00000000 | 00000000 |
2)双精度浮点型数值
双精度浮点数是64位存储,首先,判断数据值,如果在半精度范围内,则按照半精度存储,如果在单精度范围内,则按照单精度存储,超出,则按双精度存储。从而达到按实际值存储数据,提升了存储空间利用率。当数据需要解压时,先转换成对应精度值,再转到双精度浮点数。
双精度浮点型数据存储结构如图3所示。
双精度浮点格式共64位,其中,s、exp和frac段分别为1位、k=11位和n=52位。其中,frac[31:0]存放小数段的低32位(即第0位存放整个小数段的最低有效位LSB,第31位存放小数段低32位的最高有效位MSB);frac[51:32]存放小数段的高20位(即第32位存放高20位的最低有效位LSB,第51位存放整个小数段的最高有效位MSB);第52位存放指数段exp的最低有效位LSB,第62位存放指数段exp的最高有效位MSB;最高位,即第63位存放符号s。
以数值123.123456为例,根据double类型的最大值、最小值以及该数值精度范围综合判定,该值可以按照单精度存储,只需占用4个字节。解压时,先按单精度还原,再转换成对应精度的double数,其具体存储格式如下:
表6浮点型数字123.123456二进制存储格式
实时数据中很大一部分数据是浮点类型数据,通过浮点数据的变长存储,80%的数据节省了一半存储空间,原来需要8个字节存储,现在只需要4个字节即可。
实施例二
本实施例的目的是提供一种计算装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例子一中的方法的步骤。
实施例三
本实施例的目的是提供一种计算机可读存储介质。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时执行上述实施例子一中的方法的步骤。
实施例四
本实施例的目的是提供了基于按位变长存储的数值型数据压缩系统,包括:
待压缩数据确定模块,用于判断待压缩的数据的数据类型;
查询待压缩的数据其内存二进制存储方式,判断数据类型单元长度的调整是否符合压缩条件,再次确定待压缩数据;
数据压缩处理模块,用于对待压缩数据进行变长存储,以按最小长度存储,实现数据压缩处理:
其中,整型数据压缩过程中,由高位到低位,对二进制存储单元中连续为0的存储位去除,只存含有1的有效位;
浮点型数据压缩过程中,根据数值的实际大小和精度范围,实行降位存储。
以上实施例二、三和四的装置中涉及的各步骤与方法实施例一相对应,具体实施方式可参见实施例一的相关说明部分。术语“计算机可读存储介质”应该理解为包括一个或多个指令集的单个介质或多个介质;还应当被理解为包括任何介质,所述任何介质能够存储、编码或承载用于由处理器执行的指令集并使处理器执行本公开中的任一方法。
本领域技术人员应该明白,上述本公开的各模块或各步骤可以用通用的计算机装置来实现,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。本公开不限制于任何特定的硬件和软件的结合。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本公开的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本公开的保护范围以内。
Claims (10)
1.基于按位变长存储的数值型数据压缩方法,其特征是,包括:
判断待压缩的数据的数据类型;
查询待压缩的数据其内存二进制存储方式,判断数据类型单元长度的调整是否符合压缩条件,再次确定待压缩数据;
对待压缩数据进行变长存储,以按最小长度存储,实现数据压缩处理:
其中,整型数据压缩过程中,由高位到低位,对二进制存储单元中连续为0的存储位去除,只存含有1的有效位;
浮点型数据压缩过程中,根据数值的实际大小和精度范围,实行降位存储。
2.如权利要求1所述的基于按位变长存储的数值型数据压缩方法,其特征是,对数值型和字符串型数据进行变长存储后,解压过程中,无需上下关联,只需要对被压数据进行补0,即可实现解压。
3.如权利要求1所述的基于按位变长存储的数值型数据压缩方法,其特征是,待压缩的数据的数据类型判断时,根据计算机对于数据的分类,实数域的数值型数据类型分为整型、浮点型,整型分为无符整型和有符整型;浮点型分为单精度浮点型和双精度浮点型。
4.如权利要求1所述的基于按位变长存储的数值型数据压缩方法,其特征是,各数据类型是否可压缩判定条件如下:
无符号整型数据,从高位至低位进行逐位判别,如果在发现含有1的存储位之前,连续为0的存储位大于1,则该数据可压缩;
有符号整型数据,除符号位外,由高位至低位进行逐位判别,如果在发现含有0的存储位之前,连续为1的存储位大于1,则该数据可压缩;
浮点型数据,根据值的精度进行降位存储,从而达到按实际值存储数据。
5.如权利要求3所述的基于按位变长存储的数值型数据压缩方法,其特征是,单精度浮点数是32位存储,半精度是16位存储,首先,判断数据值,如果在半精度范围内,则按照半精度存储,超出,则按单精度存储,从而达到按实际值存储数据,提升存储空间利用率。
优选的,当数据需要解压时,先转换成对应精度值,再转到单精度浮点数。
6.如权利要求3所述的基于按位变长存储的数值型数据压缩方法,其特征是,双精度浮点数是64位存储,首先,判断数据值,如果在半精度范围内,则按照半精度存储,如果在单精度范围内,则按照单精度存储,超出,则按双精度存储,从而达到按实际值存储数据,提升存储空间利用率。
7.如权利要求6所述的基于按位变长存储的数值型数据压缩方法,其特征是,当数据需要解压时,先转换成对应精度值,再转到双精度浮点数。
8.基于按位变长存储的数值型数据压缩系统,其特征是,包括:
待压缩数据确定模块,用于判断待压缩的数据的数据类型;
查询待压缩的数据其内存二进制存储方式,判断数据类型单元长度的调整是否符合压缩条件,再次确定待压缩数据;
数据压缩处理模块,用于对待压缩数据进行变长存储,以按最小长度存储,实现数据压缩处理:
其中,整型数据压缩过程中,由高位到低位,对二进制存储单元中连续为0的存储位去除,只存含有1的有效位;
浮点型数据压缩过程中,根据数值的实际大小和精度范围,实行降位存储。
9.一种计算装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征是,所述处理器执行所述程序时实现上述权利要求1-7任一所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征是,该程序被处理器执行时执行上述权利要求1-7任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011538263.XA CN112527754A (zh) | 2020-12-23 | 2020-12-23 | 基于按位变长存储的数值型数据压缩方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011538263.XA CN112527754A (zh) | 2020-12-23 | 2020-12-23 | 基于按位变长存储的数值型数据压缩方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112527754A true CN112527754A (zh) | 2021-03-19 |
Family
ID=74975904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011538263.XA Pending CN112527754A (zh) | 2020-12-23 | 2020-12-23 | 基于按位变长存储的数值型数据压缩方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527754A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112953550A (zh) * | 2021-03-23 | 2021-06-11 | 上海复佳信息科技有限公司 | 数据压缩的方法、电子设备及存储介质 |
CN113176853A (zh) * | 2021-04-26 | 2021-07-27 | 深圳市华沃表计科技有限公司 | 数据压缩存储方法 |
CN114115740A (zh) * | 2021-11-26 | 2022-03-01 | 百度在线网络技术(北京)有限公司 | 数据存储方法及装置、数据获取方法及装置、电子设备 |
CN114401322A (zh) * | 2022-01-14 | 2022-04-26 | 上海金融期货信息技术有限公司 | 一种金融数据带宽压缩方法和装置 |
CN114679184A (zh) * | 2022-04-11 | 2022-06-28 | 哈尔滨工业大学 | 一种时序数据库的数据压缩方法及系统 |
CN116405037A (zh) * | 2023-03-28 | 2023-07-07 | 昆明理工大学 | 一种面向天文星表的压缩预处理编码器、应用 |
CN117097345A (zh) * | 2022-12-28 | 2023-11-21 | 山东华科信息技术有限公司 | 用于分布式新能源的数据压缩方法及系统 |
CN114115740B (zh) * | 2021-11-26 | 2024-06-07 | 百度在线网络技术(北京)有限公司 | 数据存储方法及装置、数据获取方法及装置、电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101008890A (zh) * | 2007-01-30 | 2007-08-01 | 金蝶软件(中国)有限公司 | 整型数据的压缩方法、装置及解压缩方法、装置 |
CN101364215A (zh) * | 2008-09-28 | 2009-02-11 | 炬力集成电路设计有限公司 | 一种用于节省存储空间的数据处理装置及方法 |
CN102314697A (zh) * | 2011-07-20 | 2012-01-11 | 张行清 | 基于数据类型的数值型数据压缩及解压缩方法 |
CN103902228A (zh) * | 2012-12-27 | 2014-07-02 | 航天信息股份有限公司 | 一种变长数据存取方法 |
CN105337617A (zh) * | 2015-12-09 | 2016-02-17 | 浙江维融电子科技股份有限公司 | 一种fsn文件高效压缩方法 |
CN106549673A (zh) * | 2016-10-27 | 2017-03-29 | 深圳市金证科技股份有限公司 | 一种数据压缩方法及装置 |
CN109165144A (zh) * | 2018-09-06 | 2019-01-08 | 南京聚铭网络科技有限公司 | 一种基于变长记录的安全日志压缩存储和检索方法 |
CN110825323A (zh) * | 2019-10-25 | 2020-02-21 | 上海钒兆钛智能科技有限公司 | 浮点数数据的存储、读取方法和计算机可读存储介质 |
CN111008230A (zh) * | 2019-11-22 | 2020-04-14 | 远景智能国际私人投资有限公司 | 数据存储方法、装置、计算机设备及存储介质 |
-
2020
- 2020-12-23 CN CN202011538263.XA patent/CN112527754A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101008890A (zh) * | 2007-01-30 | 2007-08-01 | 金蝶软件(中国)有限公司 | 整型数据的压缩方法、装置及解压缩方法、装置 |
CN101364215A (zh) * | 2008-09-28 | 2009-02-11 | 炬力集成电路设计有限公司 | 一种用于节省存储空间的数据处理装置及方法 |
CN102314697A (zh) * | 2011-07-20 | 2012-01-11 | 张行清 | 基于数据类型的数值型数据压缩及解压缩方法 |
CN103902228A (zh) * | 2012-12-27 | 2014-07-02 | 航天信息股份有限公司 | 一种变长数据存取方法 |
CN105337617A (zh) * | 2015-12-09 | 2016-02-17 | 浙江维融电子科技股份有限公司 | 一种fsn文件高效压缩方法 |
CN106549673A (zh) * | 2016-10-27 | 2017-03-29 | 深圳市金证科技股份有限公司 | 一种数据压缩方法及装置 |
CN109165144A (zh) * | 2018-09-06 | 2019-01-08 | 南京聚铭网络科技有限公司 | 一种基于变长记录的安全日志压缩存储和检索方法 |
CN110825323A (zh) * | 2019-10-25 | 2020-02-21 | 上海钒兆钛智能科技有限公司 | 浮点数数据的存储、读取方法和计算机可读存储介质 |
CN111008230A (zh) * | 2019-11-22 | 2020-04-14 | 远景智能国际私人投资有限公司 | 数据存储方法、装置、计算机设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
GXFAN,CSDN: ""Tokyo Cabinet TCHDB源码阅读——关于变长变量的高效存取(节约存储空间)"", 《HTTPS://BLOG.CSDN.NET/GXFAN/ARTICLE/DETAILS/5568048》 * |
陈秋华: "一种内存读写数据压缩算法", 《中国集成电路》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112953550A (zh) * | 2021-03-23 | 2021-06-11 | 上海复佳信息科技有限公司 | 数据压缩的方法、电子设备及存储介质 |
CN113176853A (zh) * | 2021-04-26 | 2021-07-27 | 深圳市华沃表计科技有限公司 | 数据压缩存储方法 |
CN114115740A (zh) * | 2021-11-26 | 2022-03-01 | 百度在线网络技术(北京)有限公司 | 数据存储方法及装置、数据获取方法及装置、电子设备 |
CN114115740B (zh) * | 2021-11-26 | 2024-06-07 | 百度在线网络技术(北京)有限公司 | 数据存储方法及装置、数据获取方法及装置、电子设备 |
CN114401322A (zh) * | 2022-01-14 | 2022-04-26 | 上海金融期货信息技术有限公司 | 一种金融数据带宽压缩方法和装置 |
CN114679184A (zh) * | 2022-04-11 | 2022-06-28 | 哈尔滨工业大学 | 一种时序数据库的数据压缩方法及系统 |
CN117097345A (zh) * | 2022-12-28 | 2023-11-21 | 山东华科信息技术有限公司 | 用于分布式新能源的数据压缩方法及系统 |
CN116405037A (zh) * | 2023-03-28 | 2023-07-07 | 昆明理工大学 | 一种面向天文星表的压缩预处理编码器、应用 |
CN116405037B (zh) * | 2023-03-28 | 2024-04-30 | 昆明理工大学 | 一种面向天文星表的压缩预处理编码器、应用 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112527754A (zh) | 基于按位变长存储的数值型数据压缩方法及系统 | |
JP4091990B2 (ja) | データ符号化ネットワーク | |
CN106549673B (zh) | 一种数据压缩方法及装置 | |
CN105634499B (zh) | 一种基于新短浮点型数据的数据转换方法 | |
CN112953550B (zh) | 数据压缩的方法、电子设备及存储介质 | |
US20110181448A1 (en) | Lossless compression | |
US7554464B1 (en) | Method and system for processing data having a pattern of repeating bits | |
US20070050436A1 (en) | Order-preserving encoding formats of floating-point decimal numbers for efficient value comparison | |
WO2013003479A2 (en) | Compression of floating-point data | |
CN111008230B (zh) | 数据存储方法、装置、计算机设备及存储介质 | |
US20200294629A1 (en) | Gene sequencing data compression method and decompression method, system and computer-readable medium | |
US20200185058A1 (en) | Gene sequencing data compression preprocessing, compression and decompression method, system, and computer-readable medium | |
CN101534124B (zh) | 一种用于短小自然语言的压缩算法 | |
CN113366765A (zh) | 减少锁存器计数以节省用于动态霍夫曼表生成的硬件面积 | |
CN108880559B (zh) | 数据压缩方法、数据解压缩方法、压缩设备及解压缩设备 | |
CN110021349B (zh) | 基因数据的编码方法 | |
Paixao et al. | Matrix compression methods | |
Kim et al. | Low-overhead compressibility prediction for high-performance lossless data compression | |
CN116405037B (zh) | 一种面向天文星表的压缩预处理编码器、应用 | |
CN113141508A (zh) | 算术编码器及实现算术编码的方法和图像编码方法 | |
CN113626394B (zh) | 一种数据压缩方法及相关装置 | |
CN111384974A (zh) | 多进制ldpc码的置信度量化方法、装置及解码器 | |
CN113904900B (zh) | 一种实时遥测信源分阶相对编码方法 | |
WO2023124235A1 (zh) | 多输入浮点数处理方法、装置、处理器及计算机设备 | |
US12001237B2 (en) | Pattern-based cache block compression |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210319 |