CN1129232C - 一种对数据库中的数据进行压缩与解压缩的方法 - Google Patents
一种对数据库中的数据进行压缩与解压缩的方法 Download PDFInfo
- Publication number
- CN1129232C CN1129232C CN 01111579 CN01111579A CN1129232C CN 1129232 C CN1129232 C CN 1129232C CN 01111579 CN01111579 CN 01111579 CN 01111579 A CN01111579 A CN 01111579A CN 1129232 C CN1129232 C CN 1129232C
- Authority
- CN
- China
- Prior art keywords
- data
- database
- character
- identifier
- record
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000006835 compression Effects 0.000 claims abstract description 25
- 238000007906 compression Methods 0.000 claims abstract description 25
- 230000006837 decompression Effects 0.000 claims abstract description 13
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 10
- 238000004519 manufacturing process Methods 0.000 abstract 1
- 230000009466 transformation Effects 0.000 abstract 1
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000007812 deficiency Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提出一种对数据库中的数据进行压缩与解压缩的方法,它是针对数据库中的数值型字段在储存或传输之前,通过制作N(N>10)个不相同的字符串并与数值从00到N-1按ASC码从小到大排列的字符建立一一对应关系,将数字变成字符,然后在读取或接收时进行反变换,还原成原来的数字。由于结构简单,可以直接编译到各个数据库的源程序中,经过本压缩方法压缩的数据库,不用解压缩就可以进行各种数据库操作。采用本发明能大大节省数据库中数据的存储空间、增大信息存储量。
Description
本发明涉及数据的储存技术和通信传输技术,具体地说,是特指数据库中数值型字段的数据进行储存和传输的压缩与解压缩方法,可广泛用于各种数据库系统。
随着计算机科学的发展,计算机对数据库存储量、存储速度的要求越来越高,特别是在科学计算中,有大量的数值型数据需要进行存储和传输。如何针对数据库中的这种特殊数值型字段的数据进行储存和传输的压缩与解压缩方法,以期提高数据库的存储容量、节省备份空间,提高传输效率,人们一直未能提出有效的解决办法,也未在公开出版物上见到有关这方面的专题报道。
本发明的目的意在克服上述现有技术的不足,提出一种能大大节省数据库中数据的存储空间、增大信息存储量的压缩与解压缩方法。
本发明的次一目的是通过这种压缩,提高数据的传输效率。
实现上述目的的技术方案:一种对数据库中的数据进行压缩与解压缩的方法,其特征在于:
压缩方法包括如下步骤:
a、制作N(N>10)个不相同的字符,
b、将数值00到N-1与N个按ASC码从小到大排列好的字符建立
一一对应关系,
c、若数据库中的数据为负数,设置标识符,若数据为正数,标识
符为空,
d、记录数据库中数据的小数位数M,
e、把数据库中数据的绝对值乘以10M成为整数化数据,
f、将整数化数据表示成∑Xi*Ni(0≤Xi≤N-1,i为零或整数),得到数值XI,
g、将步骤f中各数值Xi用步骤b中的对应字符代替,得到字符型数据ΠXI(即:表示成Xn-1 Xn-2...X1 X0的形式),
h、数据库中的数据记录由标识符、小数位数和字符型数据ΠXi组成;
对上述数据库中由标识符、小数位数和字符型数据ΠXi组成的数据记录的解压缩方法包括如下步骤:
(1)根据上述步骤b建立的N个字符与数值00到N-1之间的一一对应关系,将字符型数据ΠXi表示成N进制数值型数据∑Xi*Ni,其中XI用对应的数值代替,
(2)由步骤(1)得出10进制数值型数据,
(3)根据记录中的小数位数M,把10进制数值型数据打上小数点,成为绝对值数据,
(4)将标识符放在绝对值数据前面恢复成压缩前的带符号数据。
一种对数据库中的数据进行压缩与解压缩的方法,其特征在于:N=100,
压缩方法包括如下步骤:
a、制作100个不相同的字符,
b、将数值从00到99与100个字符建立一一对应关系,
c、若数据库中的数据为负数,设置标识符,若数据为正数,标识符为空,
d、记录数据库中数据的小数位数M,
e、把数据库中数据的绝对值乘以10M成为整数化数据,
f、把整数化数据用步骤b中的对应字符来表示,成为字符型数据,
g、数据库中的数据记录由标识符、小数位数和字符型数据组成;
对上述数据库中的数据记录的解压缩方法包括如下步骤:
(1)、根据步骤b建立的100个字符与数值从0到99之间的一一对应关系,将字符型数据表示成数值型数据,
(2)、根据记录中的小数位数M,把上述数值型数据打上小数点,成为绝对值数据,
(3)、将标识符放在绝对值数据前面恢复成压缩前的带符号数据。
采用上述技术方案,本发明突出的技术进步在于:1、它的物理意义是将数据字符化,在字符长度相同的情况下,可以表达更多的信息量。如:在一个字符的长度上,由十进制数据的10种变化,根据需要可扩展成100个变化甚至于1000个变化,信息量大大增加。2、通过对数据库中数值型字段数据的压缩和解压缩,能够大大节省存储空间、节省备份的空间和时间、节省数据的传输时间,适合于各种数据库系统。例如:按照上述方法制作100个不相同的字符,对3位、4位整数数字进行压缩,可以使字符数减少大约一半;对于带有小数点的长度为5的数XX.XX或XXX.X,正常情况下要5位,经过变换后只需2位,字符数只有原来的40%;而对于0.XX的情况,变换后只有一位,压缩到原来的25%。将其用于数据库的存储方面,大大节省了存储空间和备份的空间。将其用于FM调频广播的股票数据传输方面,由于FM调频广播单位时间所传输的信息量有限,成为提高传输速度的瓶颈,数字经过压缩后再进行FM传输,由于有大量带两位小数点的5位数,有希望成倍以上地提高其传输效率,从而大大加强与视频传输的竞争力。3、按照本发明方法编写的程序简单(在无负数或小数位数一定的情况下,程序还可以更简单),所以可以方便地为其它程序和函数随时调用,也可以直接出现在计算式中,可以直接编译到各个数据库的源程序中,使其成为数据库中数值型数据的一种新的记录方式。因此,经过本压缩方法压缩的数据库,不用解压缩就可以进行各种数据库操作。
本发明将惠及各个数据库系统,有着广泛的用途。
下面通过实施例对本发明作进一步详细的说明:
实施例:一种对数据库中的数据进行压缩与解压缩的方法,包括压缩方法和解压缩方法。
压缩方法包括如下步骤:
a、首先,制作字符串N(N>10),字符串中的每一个字符都不相同,字符串中的所有字符按ASC码从小到大排列好(这样就可以在索引INDEX或排序SORT等操作中直接对字段名进行而不用变换)。字符串一旦选定,就变成了存取数字的密码;
b、将数值00到N-1与N个按ASC码从小到大排列好的字符建立一一对应关系;
c、判断数据库中的十进制数据正负数,若为负数,设置标识符“-”,若为正数,标识符为空字符串;
d、记录上述数据库中数据的小数位数M;
e、把数据库中数据的绝对值乘以10M成为整数化数据;
f、将整数化数据表示成∑Xi*Ni(0≤Xi≤N-1,i为零或整数),得到数值Xi;
g、将步骤f中各数值Xi用步骤b中的对应字符代替,得到字符型数据ΠXi;
h、数据库中的数据记录由标识符、小数位数和字符型数据ΠXi组成。
对上述数据库中由标识符、小数位数和字符型数据ΠXi组成的数据记录的解压缩方法包括如下步骤:
(1)根据上述步骤b建立的N个字符与数值00到N-1之间的一一对应关系,将字符型数据ΠXi表示成N进制数值型数据∑Xi*Ni,其中Xi用对应的数值代替;
(2)由步骤(1)得出10进制数值型数据;
(3)根据记录中的小数位数M,把10进制数值型数据打上小数点,成为绝对值数据;
(4)将标识符放在绝对值数据前面恢复成压缩前的带符号数据。
作为特例,取N=100,对数据库中的数据“-780036.26”进行压缩的方法包括如下步骤:
a、首先制作100个不相同的字符;
b、将数值从00到99与100个字符建立一一对应关系;
c、将标识符设置为“-”;
d、取M=2;
e、将数据780036.26乘以102成为整数化数据78003626;
f、根据数值从00到99与100个字符建立的一一对应关系,假定其中00对应A、26对应Z、36对应α、78对应φ,由于78003626=78*1003+00*1002+36*1001+26*100°,因此,整数化数据78003626用对应字符来表示时的字符型数据为φAαZ,压缩后的数据记录由标识符为“-”、小数位数M=2的字符型数据φAαZ组成。
对上述N=100时数据库记录中标识符为“-”、小数位数M=2的字符型数据φAαZ的解压缩方法,包括如下步骤:
(1)根据预先建立的N个字符与数值从0到N-1之间的一一对应关系,将字符型数据φAαZ表示成数值型数据78003626;
(2)根据记录中的小数位数M=2,把10进制数值型数据打上小数点,成为绝对值数据780036.26;
d、将标识符“-”放在绝对值数据780036.26前面恢复成压缩前的带符号数据-780036.26。
采用上述压缩与解压缩方法,若用于数据库存储器中,其物理意义在于:若不进行压缩,需要10个字节才能存储数据“-780036.26”,经本发明压缩后只需要6个字节就能存储(包括4个字节的字符型数据φAαZ、各1个字节的标识符“-”和小数位数2),节省存储空间40%(压缩比为50%)。若为无符号整数,则节省存储空间50%!
不失一般性,根据商业需要,字符数N的设置也可以是100以上、甚至1000,用于进一步增加提高压缩比;字符数N的设置也可以是100以下,此时,压缩比有不同程度的降低。不过,这两种做法虽然能增强保密性,然而其数据缺乏流通性。
Claims (2)
1、一种对数据库中的数据进行压缩与解压缩的方法,其特征在于:
压缩方法包括如下步骤:
a、制作N个不相同的字符,其中N>10,
b、将数值00到N-1与N个按ASC码从小到大排列好的字符建立
一一对应关系,
c、若数据库中的数据为负数,设置标识符,若数据为正数,标识
符为空,
d、记录数据库中数据的小数位数M,
e、把数据库中数据的绝对值乘以10M成为整数化数据,
f、将整数化数据表示成∑Xi*NI,其中0≤Xi≤N-1,i为零或整数,得到数值Xi,
g、将步骤f中各数值Xi用步骤b中的对应字符代替,得到字符型数据ΠXi,
h、数据库中的数据记录由标识符、小数位数和字符型数据IIXi组成;
对上述数据库中由标识符、小数位数和字符型数据ΠXi组成的数据记录的解压缩方法包括如下步骤:
(1)根据上述步骤b建立的N个字符与数值00到N-1之间的一一对应关系,将字符型数据ΠXi表示成N进制数值型数据∑Xi*N1,其中XI用对应的数值代替,
(2)由步骤(1)得出10进制数值型数据,
(3)根据记录中的小数位数M,把10进制数值型数据打上小数点,成为绝对值数据,
(4)将标识符放在绝对值数据前恢复成压缩前的带符号数据。
2、根据权利要求1所述一种对数据库中的数据进行压缩与解压缩的方法,其特征在于:N=100,
压缩方法包括如下步骤:
a、制作100个不相同的字符,
b、将数值从00到99与100个字符建立一一对应关系,
c、若数据库中的数据为负数,设置标识符,若数据为正数,标识符为空,
d、记录数据库中数据的小数位数M,
e、把数据库中数据的绝对值乘以10M成为整数化数据,
f、把整数化数据用步骤b中的对应字符来表示,成为字符型数据,
g、数据库中的数据记录由标识符、小数位数和字符型数据组成;
对上述数据库中的数据记录的解压缩方法包括如下步骤:
(1)、根据步骤b建立的100个字符与数值从0到99之间的一一对应关系,将字符型数据表示成数值型数据,
(2)、根据记录中的小数位数M,把上述数值型数据打上小数点,成为绝对值数据,(3)、将标识符放在绝对值数据前恢复成压缩前的带符号数据。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN 01111579 CN1129232C (zh) | 2001-03-22 | 2001-03-22 | 一种对数据库中的数据进行压缩与解压缩的方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN 01111579 CN1129232C (zh) | 2001-03-22 | 2001-03-22 | 一种对数据库中的数据进行压缩与解压缩的方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN1317882A CN1317882A (zh) | 2001-10-17 |
| CN1129232C true CN1129232C (zh) | 2003-11-26 |
Family
ID=4659128
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN 01111579 Expired - Fee Related CN1129232C (zh) | 2001-03-22 | 2001-03-22 | 一种对数据库中的数据进行压缩与解压缩的方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN1129232C (zh) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102445707A (zh) * | 2010-10-04 | 2012-05-09 | 王子影 | 一种地震前兆数据压缩存储与解压缩技术 |
| CN103678339B (zh) * | 2012-09-06 | 2017-05-17 | 阿里巴巴集团控股有限公司 | 数据回流、关系型数据库中的数据访问方法及系统 |
| CN105574021A (zh) * | 2014-10-14 | 2016-05-11 | 北京神州泰岳软件股份有限公司 | 一种数据库的数据压缩方法和装置 |
| CN105357532A (zh) * | 2015-11-06 | 2016-02-24 | 苏州博思得电气有限公司 | 一种压缩方法、解压缩方法、压缩装置及解压缩装置 |
| WO2018020299A1 (en) | 2016-07-29 | 2018-02-01 | Chan Kam Fu | Lossless compression and decompression methods |
| CN106681968A (zh) * | 2016-12-21 | 2017-05-17 | 桂林力港网络科技股份有限公司 | 一种批量数值型数据的传输方法、接收终端及发送终端 |
| CN111602111A (zh) * | 2018-04-03 | 2020-08-28 | 深圳市柔宇科技有限公司 | 一种数据处理方法及装置 |
| CN113037292A (zh) * | 2021-02-02 | 2021-06-25 | 深圳市汉云科技有限公司 | 结构化数据库的数据压缩方法、数据解压方法及通信设备 |
-
2001
- 2001-03-22 CN CN 01111579 patent/CN1129232C/zh not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| CN1317882A (zh) | 2001-10-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN1251151C (zh) | 压缩数据包的方法 | |
| CN1230769C (zh) | 利用相对时基在多媒体文件中存储数据的方法 | |
| CN102122960B (zh) | 一种针对二进制数据的多字符组合无损数据压缩方法 | |
| CN106549673B (zh) | 一种数据压缩方法及装置 | |
| CN1193428A (zh) | 电子节目指导信息的压缩 | |
| CN103427844B (zh) | 一种基于gpu和cpu混合平台的高速无损数据压缩方法 | |
| CN1129232C (zh) | 一种对数据库中的数据进行压缩与解压缩的方法 | |
| CN1478255A (zh) | 改进的霍夫曼数据压缩方法 | |
| US20220129466A1 (en) | Compressing data sets for storage in a database system | |
| US20090204626A1 (en) | Systems and methods for information compression | |
| CN112380196B (zh) | 一种用于数据压缩传输的服务器 | |
| US9236881B2 (en) | Compression of bitmaps and values | |
| US11507499B2 (en) | System and method for facilitating mitigation of read/write amplification in data compression | |
| CN1115782C (zh) | 一种适用于宽字符集文档的压缩方法 | |
| CN1425986A (zh) | 自动压缩/解压缩文件系统及其压缩算法 | |
| CN100343851C (zh) | 数据库压缩及解压缩方法 | |
| CN1851671A (zh) | 一种节省全局变量内存空间的方法 | |
| CN120812136A (zh) | 一种结合多线程的细粒度流量无损压缩方法 | |
| CN1842021A (zh) | 一种日志信息的存储方法 | |
| CN1697327A (zh) | 一种顺序压缩/解压缩数据的方法及装置 | |
| CN1476174A (zh) | 片上系统的测试数据压缩编码、解码方法及专用解码单元 | |
| CN1209925C (zh) | 基于信源高阶熵的数据压缩方法 | |
| CN1859174A (zh) | 通信网络中远程设备的升级方法及其系统 | |
| CN100544277C (zh) | 一种提高网管系统数据处理效率的方法和装置 | |
| CN102932001B (zh) | 运动捕获数据压缩、解压缩方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C06 | Publication | ||
| PB01 | Publication | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| C19 | Lapse of patent right due to non-payment of the annual fee | ||
| CF01 | Termination of patent right due to non-payment of annual fee |