CN104021121A - 一种文本数据压缩方法、装置及服务器 - Google Patents
一种文本数据压缩方法、装置及服务器 Download PDFInfo
- Publication number
- CN104021121A CN104021121A CN201310064293.5A CN201310064293A CN104021121A CN 104021121 A CN104021121 A CN 104021121A CN 201310064293 A CN201310064293 A CN 201310064293A CN 104021121 A CN104021121 A CN 104021121A
- Authority
- CN
- China
- Prior art keywords
- entry
- text data
- coding schedule
- compressed
- length
- 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
Links
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明适用于数据处理领域,提供了一种文本数据压缩方法、装置及服务器,所述压缩方法包括下述步骤:对待压缩的文本数据进行统计分析后生成词条,对词条进行编码,生成覆盖所述待压缩的文本数据的词条编码表;将所述待压缩的文本数据在所述词条编码表中进行匹配,记录匹配的词条在所述词条编码表中的二进制位流编码,生成与所述待压缩的文本数据对应的压缩数据;所述二进制位流编码为固定长度。本发明通过对文本数据进行统计生成词条编码表,然后对所有文本数据进行压缩后存储在内存中供终端使用,解决了解压时需要频繁的访问磁盘的问题,压缩率为45%-50%,适合在导航终端等资源有限的设备上运行。
Description
技术领域
本发明属于数据处理领域,尤其涉及一种文本数据压缩方法、装置及服务器。
背景技术
随着导航电子地图信息量的不断丰富,除了路网等基本地图要素之外,兴趣点(Point of Interests,POI)数量也不断增长,随之POI名称带来的文本数据也不断增长。因此,在数据编译期间,如果不对文本进行压缩的话,文本数据将占用大量的存储空间。为了以尽可能小的存储空间提供尽可能丰富的信息,在数据编译时需要对文本信息数据进行无损压缩。
目前,主要的文本数据无损压缩算法有哈夫曼编码算法和LZ系列算法。
哈夫曼编码算法仅以4字节的长度存储哈夫曼数据就要用去1024字节的存储空间,从而对数据量本身不大的文本数据进行压缩,意义不大,而对于大数据量的文本压缩需要频繁地访问磁盘,降低数据的处理速度,不适合在资源有限、I/O比较弱的设备上运行。
LZ系列算法对于大数据量压缩时间比较长,同时解压时需要消耗比较多的内存,另外,算法实现起来比较困难,不适合在资源有限的设备上运行。
发明内容
本发明实施例提供一种文本数据压缩方法,旨在解决现有的文本数据压缩算法的压缩效率不高,不适合在资源有限的设备上运行的问题。
本发明实施例是这样实现的,一种文本数据压缩方法,所述方法包括下述步骤:
对待压缩的文本数据进行统计分析后生成词条,对词条进行编码,生成覆盖所述待压缩的文本数据的词条编码表;
将所述待压缩的文本数据在所述词条编码表中进行匹配,记录匹配的词条在所述词条编码表中的二进制位流编码,生成与所述待压缩的文本数据对应的压缩数据;
所述二进制位流编码为固定长度。
本发明实施例还提供一种文本数据压缩装置,所述装置包括:
词条编码表生成单元,用于对待压缩的文本数据进行统计分析后生成词条,对词条进行编码,生成覆盖所述待压缩的文本数据的词条编码表;
文本数据压缩单元,用于将所述待压缩的文本数据在所述词条编码表中进行匹配,记录匹配的词条在所述词条编码表中的二进制位流编码,生成与所述待压缩的文本数据对应的压缩数据;
所述二进制位流编码为固定长度。
本发明实施例还提供一种数据压缩服务器,所述数据服务器包括上述文本数据压缩装置。
本发明实施例还提供一种文本数据解压方法,所述方法包括下述步骤:
获取词条编码表;
截取压缩后的文本数据的二进制位流编码位段;
获取截取的二进制位流编码位段在所述词条编码表中对应的词条。
本发明实施例还提供一种文本数据解压装置,所述装置包括:
获取单元,用于获取词条编码表;
位段截取单元,用于截取压缩后的文本数据的二进制位流编码位段;
解压缩单元,用于获取截取的二进制位流编码位段在所述词条编码表中对应的词条。
本发明实施例还提供一种电子终端,所述电子终端包括上述文本数据解压装置。
本发明实施例通过对文本数据进行统计生成词条编码表,然后对所有文本数据进行压缩后存储在内存中供终端使用,解决了解压时需要频繁的访问磁盘的问题,压缩率为45%-50%,适合在导航终端等资源有限的设备上运行。
附图说明
图1表示本发明实施例提供的文本数据压缩方法的实现流程图;
图2表示本发明实施例提供的词条编码表的存储模型图;
图3表示本发明实施例提供的对文本数据进行压缩的实现流程图;
图4表示本发明实施例提供的文本数据压缩装置的结构图;
图5表示本发明实施例提供的文本数据解压方法的实现流程图;
图6表示本发明实施例提供的对文本数据进行解压缩的实现流程图;
图7表示本发明的一个示例中对文本数据进行解压缩的示意图;
图8表示本发明实施例提供的文本数据解压装置的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,对文本数据进行统计生成词条编码表,然后根据词条编码表对文本数据进行压缩和解压,具有较高的压缩率,对设备的资源要求低。
图1示出了本发明实施例提供的文本数据压缩方法的实现流程,详述如下:
在步骤S101中,对待压缩的文本数据进行统计分析后生成词条,对词条进行编码,生成覆盖待压缩的文本数据的词条编码表;
作为本发明的一个实施例,对待压缩的文本数据进行统计分析,根据统计结果中字符串出现的频率以及字符串的长度对压缩率的影响度生成词条。
在本发明实施例中,词条编码表中的二进制位流编码为固定长度。作为本发明的一个优选实施例,词条编码表中的二进制位流编码采用14位,词条编码表中的词条总数不超过16384条。
作为本发明的一个优选实施例,为了提高文本数据压缩的效率,根据设定的优先级对词条进行排序,优先级越高词条在词条编码表中的位置越靠前。词条的优先级具体可以根据词条出现的频率或者词条的长度确定,词条出现的频率越高,词条的优先级越高,词条的长度越长,词条的优先级越高。
作为本发明的一个实施例,将生成的词条编码表存储起来,可以方便文本数据压缩和解压缩装置调用。
图2示出了本发明实施例提供的词条编码表的存储模型,词条编码表包括词条编码表信息、词条起始位置列表以及词条文本数据。
其中,词条编码表信息设定词条文本编码、词条总数和词条文本数据总长度,词条本文数据存储词条编码表中所有与词条对应的文本数据,词条起始位置列表存储除第一条词条外的所有词条的首字符位置。
在本发明本实施例中,设定词条总数不超过16384条,并且因为第一条词条的首字符位置(图2中的虚线框部分)必定是词条文本数据的起始位置,为了减少数据存储量,第一条词条的起始位置不保存。
本发明实施例中词条编码表的存储格式如下表所示:
从上表可以看出,词条编码表包括词条文字编码表、词条总数、词条文本总长度、词条首字符位置列表以及词条文本数据。词条文字编码表以及词条总数的长度为4字节;词条文本总长度占4字节;词条首字符位置列表的长度为词条总数乘以4字节;词条文本数据的类型为字符串,其长度为词条文本的总长度。
通过上表可以知道,整个词条编码表常驻内存时所占的大小(Memsize)为:MemSize=4+4+m*4+词条文本总长度,m表示词条数。
以一个典型的导航系统为例,导航系统中有650万的POI数据和300万注记文字,在本发明实施例中生成的词条总数为15,700条,词条文本总长度为86342字节,那么应用程序所需的常驻内存大小只需要:MemSize=4+4+15700*4+86342=149150字节。因此,即使对于内存只有32M的导航终端等低端设备来说这样的内存消耗几乎可以忽略。由于词条编码表可以常驻于内存,解压时不需要每次都访问磁盘,从而大大提高了数据的解压效率。
以下给出词条编码表中的词条文字编码表,如下表所示:
序号 | 字符集编码 | 字符集编码 |
1 | ASCII | 1 |
2 | UTF16 | 2 |
3 | GB18030 | 3 |
4 | UTF-8 | 4 |
5 | Big5 | 5 |
词条文字编码表中,字符集编码包括ASCII、UTF16、GB18030、UTF-8以及Big5。
以下给出词条编码表中的词条起始位置记录列表,如下表所示:
序号 | 项目偏移 | 项目名称 | 项目类型 | 项目长度 | 项目约束 |
1 | 0 | 词条首字符位置 | 自然数 | 4 | 必要项 |
在上表中,词条首字符位置项目偏移为0,即词条所对应字符串首字符在词条编码表中的起始位置是从0开始编号。通过记录的词条首字符位置以及该词条的下一词条的首字符位置,可以得到该词条字符串长度。如果是最后一个词条,则可以通过文本数据总长度减去该词条的首字符位置获得其字符串长度。归纳公式为:Length(n)=Offset(n+1)–Offset(n)if n<m;
Length(n)=Size–Offset(n)if n=m。
其中,Length(n)表示词条n的长度、Offset(n)表示词条n首字符位置,m表示词条数,0<m<=16383,Size表示文本数据总长度。
在步骤S102中,将待压缩的文本数据在词条编码表中进行匹配,记录匹配的词条在词条编码表中的二进制位流编码,生成与待压缩的文本数据对应的压缩数据。
在本发明实施例中,将待压缩的文本数据与词条编码表中的词条进行匹配时,按最长匹配原则进行词条匹配,并采用14位的二进制位流对词条进行编码。
图3示出了本发明实施例提供对文本数据进行压缩的实现流程,详述如下:
在步骤S301中,初始化头指针、尾指针以及输出编码集,头指针=0,尾指针=头指针+匹配字符串长度;
在步骤S302中,将头指针和尾指针间的待压缩文本数据与词条编码表进行匹配;
在步骤S303中,判断待压缩文本数据的字符串与词条编码表中的词条是否匹配,是则执行步骤S304,否则执行步骤S306;
在步骤S304中,将与待压缩文本数据的字符串匹配的词条编码保存在输出编码集中;
在步骤S305中,配置尾指针=尾指针-匹配字符串长度,头指针=0;
在步骤S306中,将头指针和尾指针的指针都加1;
在步骤S307中,判断头指针是否等于尾指针,是则执行步骤S308,否则返回执行步骤S302;
在步骤S308中,将存储在输出编码集中的词条编码转换成二进制位流编码;
在步骤S309中,存储待压缩的文本数据对应的二进制位流编码压缩数据。
以下通过一个示例对本发明实施例的文本数据压缩方法进行说明,如下表所示:
字 | 码 | 位 | 位偏移 |
上海 | 1FBB | 01111110111011 | 0 |
四 | 0967 | 00100101100111 | 14 |
维 | 16FD | 01011011111101 | 28 |
图 | 16B0 | 01011010110000 | 42 |
新 | 17DB | 01011111011011 | 56 |
信息 | 2631 | 10011000110001 | 70 |
技术有限公司 | 1FAC | 01111110101100 | 84 |
上表示出了文本数据“上海四维新图信息技术有限公司”与词条编码表中的词条进行匹配时的词条编码信息。在词条匹配时采用最长匹配原则进行匹配,将“上海四维新图信息技术有限公司”这14个字,拆分成“上海”、“四”、“维”、“图”、“新”、“信息”以及“技术有限公司”这7条词条。编码时采用14位二进制位流对词条进行编码,因此用一个98位的二进制位流就可以对“上海四维新图信息技术有限公司”进行编码。在UNICODE编码下采用16位二进制位流对每个字进行编码,则需要用一个224位的二进制位流才能对“上海四维图新信息技术有限公司”编码。因此,可以算出通过本发明实施例的压缩方法达到的压缩率为:(224–98)/224*100%=56.25%。
图4是本发明实施例提供的文本数据压缩装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该文本数据压缩装置一般运行于文本数据压缩服务器中,供各种接入的电子终端使用,可以是文本数据压缩服务器内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到文本数据压缩服务器的应用系统中。
词条编码表生成单元41,对待压缩的文本数据进行统计分析后生成词条,对词条进行编码,生成覆盖待压缩的文本数据的词条编码表。
作为本发明的一个实施例,对待压缩的文本数据进行统计分析,根据统计结果中字符串出现的频率和字符串的长度对压缩率的影响度生成词条。
作为本发明的一个实施例,词条编码表包括词条编码表信息、词条起始位置列表以及词条文本数据。
在本发明实施例中,二进制位流编码为固定长度。作为本发明的一个优选实施例,二进制位流编码为14位,词条编码表的词条总数不超过16384条。
作为本发明的一个实施例,词条编码表的词条根据设定的优先级进行排序,优先级越高的词条在词条编码表中的位置越靠前。其中,词条出现的频率越高,词条的优先级越高;词条的长度越长,词条的优先级越高。
文本数据压缩单元42,将待压缩的文本数据在词条编码表中进行匹配,记录匹配的词条在词条编码表中的二进制位流编码,生成与待压缩的文本数据对应的压缩数据。
作为本发明的一个实施例,在将待压缩的文本数据在所述词条编码表进行匹配时,按照最长匹配原则将输入的文本数据在所述词条编码表中进行匹配。
文本数据压缩单元42包括初始化模块421、匹配模块422、匹配判断模块423、匹配存储模块424、指针判断模块425、转换模块426和压缩数据存储模块427。
初始化模块421对头指针、尾指针以及输出编码集进行初始化。
匹配模块422将头指针和尾指针间的待压缩文本数据与词条编码表进行匹配。
匹配判断模块423判断待压缩文本数据的字符串与词条编码表中的词条是否匹配。
匹配存储模块424将词条编码表中与待压缩文本数据的字符串匹配的词条编码存储在输出编码集中。
指针判断模块425判断头指针是否等于尾指针。
转换模块426将存储在输出编码集换中的词条编码转成二进制位流编码。
压缩数据存储模块427存储待压缩的文本数据对应二进制位流编码压缩数据。
在本发明实施例中,通过对待压缩的文本数据统计后生成词条进行编码,生成覆盖待压缩的文本数据的词条编码表。导航终端等终端设备通过加载词条编码表常驻于内存中,在解压缩时直接内存中的获取词条编码表,来解压待解压的二进制位流编码压缩数据,不需要每次都去访问压缩服务器。
图5示出了本发明实施例提供的文本数据解压方法的实现流程,详述如下:
在步骤S501中,获取词条编码表;
在步骤S502中,截取压缩后的文本数据的二进制位流编码位段;
在步骤S503中,获取截取的二进制位流编码位段在词条编码表中对应的词条。
在本发明实施例中,获取截取的二进制位流编码位段在词条编码表中对应的词条的具体步骤为:
1、根据截取的二进制位流编码位段信息获取词条的首字符位置;
2、根据词条的首字符位置算出词条的长度;
3、根据词条的首字符位置和词条的长度取出词条编码表中的字符串;
4、输出解压后的文本数据。
以下通过一个实施例对文本数据解压方法做进一步的解释说明。在本发明实施例中,为了方便说明,先定义以下符号:
BitS表示输入待译码的二进制位流编码;
BitS[n,n+14)表二进制编码流第n位到第n+14之间的位段;
BitC表示输入的二进制编码流位(Bit)数为14的整数倍;
a表示词条首字符位置数组,例如:a[8108]表示第8109条目首字符位置;
T表示包含字典所出现的所有字符的数组,例如:T[32085]表示数组中第32086字节;
T[n,m)表示取数组中第n+1字节开始的m个字节的内容;
Ls:表示词条长度单位字节。
图6示出了本发明实施例提供的对文本数据进行解压缩的实现流程,详述如下:
在步骤S601中,截取位段BitS[n*14,(n+1)*14),并将其转换为一自然数N,其中n和N分别满足:0<=n<BitC/1和0<=N<=16383;
在步骤S602中,分别取词条N和词条N+1的首字符位置a[N]和a[N+1];
在步骤S603中,按照算式Ls=a[N+1]–a[N]计算词条长度;
在步骤S604中,根据词条编码表取出T[a[N],4);
在步骤S605中,判断BitC/14的值是否为n,是则执行步骤S606,否则先配置n=n+1,再返回执行步骤S601;
在步骤S606中,输出解压缩后的文本数据。
为了对文本数据进行解压缩的实现流程图做进一步的解释说明,7是本发明的一个示例中对文本数据进行解压缩的示意图,详述如下:
1、截取位段BitS[0,14),BitS[0,14)=01111110111011转换自然数后N=8123,此时n=0;
2、分别取词条8123和词条8124的首字符位置a[8123]和a[8124],如图7可知,a[8123]=32186,a[8124]=32190;
3、按照算式Ls=a[8124]–a[8123]计算词条长度,有:a[8124]–a[8123]=4;
4、根据词条编码表取出T[a[8123],4),如图7可知,T[32186,4)=“上海”;
5、n=1<BitC/14=7,从而令n=1+1=2,再返回执行步骤1;
6、不断地重复上述步骤,直到n=BitC/14=7时,输出解压缩后得到的文本数据“上海四维图新信息技术有限公司”。
图8是本发明实施例提供的文本数据解压装置结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该文本数据解压装置可以是运行于各电子终端,例如移动电话、导航终端等内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到电子终端的应用系统中。
获取单元81获取词条编码表。
位段截取单元82截取压缩后的文本数据的二进制位流编码位段。
解压缩单元83获取截取的二进制位流编码位段在词条编码表中对应的词条。
解压缩单元83包括首字符位置获取模块831、词条长度计算模块832、字符串获取模块833以及文本数据输出模块834。
首字符位置获取模块831根据位段截取单元82截取的位段信息获取词条的首字符位置。
词条长度计算模块832根据首字符位置获取模块831获取的词条的首字符位置算出词条的长度。
字符串获取模块833根据首字符位置获取模块831获取的词条的首字符位子和词条长度计算模块832计算出的词条的长度取出词条编码表中的字符串。
文本数据输出模块834输出解压后的文本数据。
本发明实施例中,通过对文本数据进行统计生成词条编码表,然后对所有文本数据进行压缩后存储在内存中供终端使用,解决了解压时需要频繁的访问磁盘的问题,数据压缩率为45%-50%,并且在数据解压时对资源的要求也很小,应用程序所需的常驻内存大小只需要149150字节,即使对于内存只有32M的导航终端等低端设备来说,这样的内存消耗也几乎可以忽略,从而大大减少了终端设备的成本。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (26)
1.一种文本数据压缩方法,其特征在于,所述方法包括下述步骤:
对待压缩的文本数据进行统计分析后生成词条,对词条进行编码,生成覆盖所述待压缩的文本数据的词条编码表;
将所述待压缩的文本数据在所述词条编码表中进行匹配,记录匹配的词条在所述词条编码表中的二进制位流编码,生成与所述待压缩的文本数据对应的压缩数据;
所述二进制位流编码为固定长度。
2.如权利要求1所述的方法,其特征在于,在对待压缩的文本数据进行统计分析时,根据字符串出现的频率以及字符串的长度对压缩率的影响度生成词条。
3.如权利要求1所述的方法,其特征在于,所述二进制位流编码为14位,所述词条编码表的词条总数不超过16384条。
4.如权利要求1所述的方法,其特征在于,所述词条编码表的词条根据设定的优先级进行排序,优先级越高的词条在所述词条编码表中的位置越靠前。
5.如权利要求4所述的方法,其特征在于,词条出现的频率越高,词条的优先级越高。
6.如权利要求4所述的方法,其特征在于,词条的长度越长,词条的优先级越高。
7.如权利要求1所述的方法,其特征在于,在将所述待压缩的文本数据在所述词条编码表进行匹配时,按照最长匹配原则将输入的文本数据在所述词条编码表中进行匹配。
8.如权利要求1所述的方法,其特征在于,所述词条编码表包括词条编码表信息、词条起始位置列表以及词条文本数据。
9.如权利要求1所述的方法,其特征在于,所述将所述待压缩的文本数据在所述词条编码表中进行匹配,记录匹配的词条在所述词条编码表中的二进制位流编码,生成与所述待压缩的文本数据对应的压缩数据的步骤具体为:
步骤1:初始化所述词条编码表的头指针、尾指针以及输出编码集,头指针=0,尾指针=头指针+匹配字符串长度;
步骤2:将头指针和尾指针间的待压缩文本数据与所述词条编码表进行匹配;
步骤3:判断所述待压缩文本数据的字符串与词条编码表中的词条是否匹配,是则执行步骤4,否则执行步骤5;
步骤4:将词条保存在输出编码集中,然后配置尾指针=尾指针-匹配字符串长度、头指针=0,再执行步骤6;
步骤5:将头指针和尾指针的指针都加1,再执行步骤6;
步骤6:判断头指针是否等于尾指针,是则执行步骤7,否则返回执行步骤2;
步骤7:将存储在输出编码集中的词条转换成与词条编码表中相应的二进制位流编码;
步骤8:存储待压缩的文本数据对应二进制位流编码压缩数据。
10.一种文本数据压缩装置,其特征在于,所述装置包括:
词条编码表生成单元,用于对待压缩的文本数据进行统计分析后生成词条,根据词条出现的频率对词条进行编码,生成覆盖所述待压缩的文本数据的词条编码表;
文本数据压缩单元,用于将所述待压缩的文本数据在所述词条编码表中进行匹配,记录匹配的词条在所述词条编码表中的二进制位流编码,生成与所述待压缩的文本数据对应的压缩数据;
所述二进制位流编码为固定长度。
11.如权利要求10所述的装置,其特征在于,对待压缩的文本数据进行统计分析,根据统计结果中字符串出现的频率和字符串的长度对压缩率的影响度生成词条。
12.如权利要求10所述的装置,其特征在于,所述二进制位流编码为14位,所述词条编码表的词条总数不超过16384条。
13.如权利要求所述的装置,其特征在于,所述词条编码表的词条根据设定的优先级进行排序,优先级越高的词条在所述词条编码表中的位置越靠前。
14.如权利要求13所述的装置,其特征在于,词条出现的频率越高,词条的优先级越高。
15.如权利要求13所述的装置,其特征在于,词条的长度越长,词条的优先级越高。
16.如权利要求10所述的装置,其特征在于,在将所述待压缩的文本数据在所述词条编码表进行匹配时,按照最长匹配原则将输入的文本数据在所述词条编码表中进行匹配。
17.如权利要求10所述的装置,其特征在于,所述词条编码表包括词条编码表信息、词条起始位置列表以及词条文本数据。
18.如权利要求10所述的装置,其特征在于,所述文本数据压缩单元具体包括:
初始化模块,用于对头指针、尾指针以及输出编码集进行初始化;
匹配模块,用于将头指针和尾指针间的待压缩文本数据与词条编码表中的词条进行匹配;
匹配判断模块,用于判断待压缩文本数据的字符串与词条编码表中的词条是否匹配;
匹配存储模块,用于将词条编码表中与字符串匹配的词条存储在输出编码集中;
指针判断模块,用于判断头指针是否等于尾指针;
转换模块,用于将存储在输出编集中的词条转换成词条编码表中相应的二进制位流编码;
压缩数据存储模块,用于存储待压缩的文本数据对应二进制位流编码压缩数据。
19.一种数据压缩服务器,其特征在于,所述数据压缩服务器包括权利要求10至18任一权利要求所述的文本数据压缩装置。
20.一种文本数据解压方法,其特征在于,所述方法包括下述步骤:
获取词条编码表;
截取压缩后的文本数据的二进制位流编码位段;
获取截取的二进制位流编码位段在所述词条编码表中对应的词条。
21.如权利要求20所述的方法,其特征在于,所获取的词条编码表常驻于内存中。
22.如权利要求20所述的方法,其特征在于,所述获取截取的二进制位流编码位段在所述词条编码表中对应的词条的具体步骤为:
根据截取的位段信息获取词条的首字符位置;
根据词条的首字符位置算出词条的长度;
根据词条的首字符位置和词条的长度取出词条编码表中的字符串;
输出解压后的文本数据。
23.一种文本数据压缩装置,其特征在于,所述装置包括:
获取单元,用于获取词条编码表;
位段截取单元,用于截取压缩后的文本数据的二进制位流编码位段;
解压缩单元,用于获取截取的二进制位流编码位段在所述词条编码表中对应的词条。
24.如权利要求23所述的装置,其特征在于,所获取的词条编码表常驻于内存中。
25.如权利要求23所述的装置,其特征在于,所述解压缩单元具体包括:
首字符位置获取模块,用于根据截取的位段信息获取词条的首字符位置;
词条长度计算模块,用于根据词条的首字符位置算出词条的长度;
字符串获取模块,用于根据词条的首字符位子和词条的长度取出词条编码表中的字符串;
文本数据输出模块,用于输出解压后的文本数据。
26.一种电子终端,其特征在于,所述电子终端包括权利要求23至25任一权利要求所述的文本数据解压装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310064293.5A CN104021121B (zh) | 2013-02-28 | 2013-02-28 | 一种文本数据压缩方法、装置及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310064293.5A CN104021121B (zh) | 2013-02-28 | 2013-02-28 | 一种文本数据压缩方法、装置及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104021121A true CN104021121A (zh) | 2014-09-03 |
CN104021121B CN104021121B (zh) | 2018-01-26 |
Family
ID=51437880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310064293.5A Active CN104021121B (zh) | 2013-02-28 | 2013-02-28 | 一种文本数据压缩方法、装置及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104021121B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105631000A (zh) * | 2015-12-25 | 2016-06-01 | 江苏东大金智信息系统有限公司 | 基于移动终端位置特征信息的终端缓存的数据压缩方法 |
WO2017037502A1 (en) * | 2015-08-29 | 2017-03-09 | Chan Kam Fu | Compression code and method by location |
CN108829872A (zh) * | 2018-06-22 | 2018-11-16 | 武汉轻工大学 | 无损压缩文件的快速处理方法、设备、系统及存储介质 |
CN109445693A (zh) * | 2018-10-19 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种数据压缩方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101350624A (zh) * | 2008-09-11 | 2009-01-21 | 中国科学院计算技术研究所 | 一种支持ansi编码的中文文本的压缩方法 |
CN101751451A (zh) * | 2008-12-11 | 2010-06-23 | 高德软件有限公司 | 一种中文数据压缩及解压缩方法及相关设备 |
CN101783788A (zh) * | 2009-01-21 | 2010-07-21 | 联想(北京)有限公司 | 文件压缩、解压缩方法、装置及压缩文件搜索方法、装置 |
CN102664634A (zh) * | 2012-04-16 | 2012-09-12 | 中国航空无线电电子研究所 | 一种用于北斗收发汉字文本消息时的数据压缩方法 |
-
2013
- 2013-02-28 CN CN201310064293.5A patent/CN104021121B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101350624A (zh) * | 2008-09-11 | 2009-01-21 | 中国科学院计算技术研究所 | 一种支持ansi编码的中文文本的压缩方法 |
CN101751451A (zh) * | 2008-12-11 | 2010-06-23 | 高德软件有限公司 | 一种中文数据压缩及解压缩方法及相关设备 |
CN101783788A (zh) * | 2009-01-21 | 2010-07-21 | 联想(北京)有限公司 | 文件压缩、解压缩方法、装置及压缩文件搜索方法、装置 |
CN102664634A (zh) * | 2012-04-16 | 2012-09-12 | 中国航空无线电电子研究所 | 一种用于北斗收发汉字文本消息时的数据压缩方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017037502A1 (en) * | 2015-08-29 | 2017-03-09 | Chan Kam Fu | Compression code and method by location |
CN105631000A (zh) * | 2015-12-25 | 2016-06-01 | 江苏东大金智信息系统有限公司 | 基于移动终端位置特征信息的终端缓存的数据压缩方法 |
CN105631000B (zh) * | 2015-12-25 | 2019-03-29 | 江苏东大金智信息系统有限公司 | 基于移动终端位置特征信息的终端缓存的数据压缩方法 |
CN108829872A (zh) * | 2018-06-22 | 2018-11-16 | 武汉轻工大学 | 无损压缩文件的快速处理方法、设备、系统及存储介质 |
CN108829872B (zh) * | 2018-06-22 | 2021-03-09 | 武汉轻工大学 | 无损压缩文件的快速处理方法、设备、系统及存储介质 |
CN109445693A (zh) * | 2018-10-19 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种数据压缩方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104021121B (zh) | 2018-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9454552B2 (en) | Entropy coding and decoding using polar codes | |
CN101783788B (zh) | 文件压缩、解压缩方法、装置及压缩文件搜索方法、装置 | |
CN103582883A (zh) | 具有组格式的可变长度数据的改进型编码和解码 | |
CN103236847A (zh) | 基于多层哈希结构与游程编码的数据无损压缩方法 | |
CN101667843B (zh) | 嵌入式系统的数据压缩、及解压缩方法与装置 | |
CN105653616B (zh) | 电力系统主站的通信规约转换方法 | |
CN104021121A (zh) | 一种文本数据压缩方法、装置及服务器 | |
US20200294629A1 (en) | Gene sequencing data compression method and decompression method, system and computer-readable medium | |
CN101729075A (zh) | 一种数据压缩、解压缩的方法和装置 | |
CN101534124B (zh) | 一种用于短小自然语言的压缩算法 | |
CN112188211A (zh) | 一种转码实现方法和装置 | |
CN109861998A (zh) | 一种基于北斗短报文协议的插件式动态解析系统及方法 | |
CN101469989B (zh) | 一种手机网络导航中导航数据的压缩方法 | |
Abas et al. | Increasing data storage of coloured QR code using compress, multiplexing and multilayered technique | |
CN101493901A (zh) | 一种二维码数据压缩、解压缩方法及终端 | |
CN102033959A (zh) | 一种分布式计算系统中对象传递的方法 | |
CN103605730A (zh) | 一种基于不定长标识码的xml的压缩方法和装置 | |
CN103092607A (zh) | 一种电信话单数据编解码方法 | |
Kim et al. | Low-overhead compressibility prediction for high-performance lossless data compression | |
CN111866520A (zh) | 编解码方法、编解码设备以及通信系统 | |
CN104899311A (zh) | WebGIS矢量数据高效传输方法 | |
Jiancheng et al. | Block‐Split Array Coding Algorithm for Long‐Stream Data Compression | |
Ce et al. | Design and implementation of lossless compression encoding for high-speed data acquisition and storage | |
CN105183750B (zh) | 紧凑式xml解析系统 | |
CN103929447A (zh) | 一种解析HTTP chunked编码数据的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |