CN1902827A - Xml数据的压缩与解压缩的方法及其装置 - Google Patents
Xml数据的压缩与解压缩的方法及其装置 Download PDFInfo
- Publication number
- CN1902827A CN1902827A CNA2004800394417A CN200480039441A CN1902827A CN 1902827 A CN1902827 A CN 1902827A CN A2004800394417 A CNA2004800394417 A CN A2004800394417A CN 200480039441 A CN200480039441 A CN 200480039441A CN 1902827 A CN1902827 A CN 1902827A
- Authority
- CN
- China
- Prior art keywords
- data
- xml
- designation
- xml data
- designation data
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
Abstract
本发明提供了一种XML数据压缩与解压缩的方法和装置,该压缩方法是将指示数据插入XML数据,该指示数据用于识别特定的数据,获得压缩后的XML数据。所述解压缩方法对压缩后的XML数据进行解压缩,所述压缩后的XML数据含有指示数据,并根据该指示数据,将该解压缩后的对应的XML数据丢弃。本发明避免了对不相关的部分XML数据进行分析,从而加速资源受限(如小存储能力)的解压缩装置的处理过程。
Description
背景技术
本发明涉及一种数据压缩与解压缩的方法和装置,尤其涉及一种XML(Extensible Markup Language,可扩展的升级语言)数据压缩与解压缩的方法和装置。
XML是一种文本格式,它在数据交换中正越来越普遍。越来越多的标准,例如:多媒体领域、MPEG-7和TV-Anytime,都使用XML文本格式表示数据。
XML是一种冗长的格式,即XML表示数据和结构的方式导致一个相对较大的文本。因此,为了传输或者储存,需要仔细考虑数据压缩。最普通的压缩方法是Zlib,如大家都很熟悉的zip(.zip文件)和gzip(.gz文件),它是基于霍夫曼、LZ77或两者。
现有技术中,压缩装置对XML数据进行压缩,然后将压缩的XML数据传送给解压缩装置,解压缩装置对压缩的XML数据进行解压并进行分析。
图1是现有技术的一个压缩器的结构示意图。压缩器100(compressor)包括LZ77编码器102、霍夫曼编码器104和块打包器106(block wrapping),压缩器100根据Zlib格式对XML数据进行压缩。
压缩器100首先接收XML数据,LZ77编码器102根据LZ77算法对XML数据进行编码,产生一束代码字(codeword)和字符(literals)。该字符包含来自XML数据中不能压缩的字节,一个代码字可以将XML数据中以前就已经遇到过的,也就是多余的数据转换成一序列的字节。典型的代码字包含长度和间距,该长度是以前遇到过序列的长度,间距是从字节中序列的开端到当前字节的间距。
霍夫曼编码器104对代码字和字符进行霍夫曼编码,输出一序列不同长度的代码,并产生一个霍夫曼列表。
块打包器106从霍夫曼编码器104得到霍夫曼列表,将数据打包成块,每个块可以使用不同的霍夫曼列表或者甚至完全不用LZ77编码和霍夫曼编码。这里打包有3种可能性:旁路压缩、使用默认的霍夫曼列表、使用常规的霍夫更列表,这3种可能性是基于如实际的压缩率和平均信息量。每个块都以一个块首(block header)开始。最后输出压缩的XML数据,并发送给解压缩装置。
图2是现有技术的一个解压缩装置中解压缩器和分析器的结构示意图。解压器(decompressor)200对压缩的XML数据进行解压,获得XML数据。解压器200包括块首解码器(block header decoding)202、霍夫曼解码器(Huffman decoding)204和LZ77解码器(LZ77decoding)206。
块首解码器202对压缩的XML数据进行解码,获得一个霍夫曼列表及不同长度的代码和/或字符,霍夫曼解码器204再对压缩的XML数据进行解码,获得代码字和字符,最后输入LZ77解码器206进行解码,获得XML数据。
分析器210带有用于XML数据的简单应用程序接口(SAX),用于对XML数据进行SAX分析,获得事件类型(Event_Type)和事件数据(Event_Data)。这里的SAX实际上是对XML数据处理的标准,它非常简单,所以非常快。SAX按序处理XML数据,所以与基于Zlib的按序解压器200非常匹配。SAX是基于事件的概念,事件是为在按序处理XML数据期间,SAX分析遇到的实体而产生的。通过出现的事件类型来指示分析器210事件的类型,这样分析器210可以相应地对事件数据进行分析处理,得到分析后的XML数据。
这里在SAX分析之前,系统只是将XML数据作为一序列的字符(即压缩器不假定数据的特性)。而在SAX分析之后,不同的XML实体例如元素和非元素(字符)就被区分开来。因此,SAX分析后的输出并不包含单个的字符,而是一序列的事件,每个事件对应一个实体,这个实体由XML数据中许多不同的字符所构成。
由于现有技术中,从一个大的压缩文件中重获特殊的数据对于接收机来说是一种负担,但在大XML数据上完成压缩比在小XML数据上压缩要好,尤其在带宽昂贵(如广播)的域中,压缩效率最佳化是非常重要的。进一步,如果目标接收机没有存储,那么不可能在一个数据库中以一个解压格式保存全部的数据,它最多将数据以压缩格式保存或者一直等到数据再次传送。所以现有技术中带有大量资源,如大存储能力,的装置不能直接对大XML文件进行操作。且带有有限资源,如小存储能力,的装置更不能以解压格式或者数据库格式储存数据,它们只能够在压缩文件的基础上重新获得数据。
发明内容
本发明针对现有技术中存在的问题,提供了一种用于XML数据压缩和解压缩方法和装置。
本发明提供了一种XML数据的压缩的方法,首先,接收XML数据,对XML数据进行编码;然后,将编码和的XML数据处理打包成数个数据块;最后,在所述数个数据块之间插入指示数据,得到压缩的XML数据,该指示数据用于识别特定的数据。
本发明提供了另一种XML数据的压缩的方法,首先,接收XML数据;然后,插入指示数据到XML数据中,该指示数据用于识别特定的数据;最后,对含有指示数据的XML数据进行压缩,以得到压缩后的XML数据。
本发明提供了一种XML数据的解压缩的方法,首先,接收压缩后的XML数据,该压缩后的XML数据含有指示数据;然后,解压缩该压缩后的XML数据,并在该解压缩过程中获得所述的指示数据;最后,根据该指示数据将解压缩后的对应的XML数据丢弃。
本发明提供了另一种XML数据的解压缩的方法,首先,解压缩该压缩后的XML数据,以得到解压缩后的XML数据;然后,从所述的解压缩后的XML数据获得一个指示数据,该指示数据用于识别特定的数据;最后,根据该指示数据将对应的解压缩后的XML数据丢弃。
本发明通过避免分析XML数据中不相关的数据,从而可以加速分析的过程,这样就使接收器的工作加速;由于只对XML数据中相关部分进行处理,所以就可以处理较大的XML数据。而所有要传输的XML信息就可以被分割成较大XML数据中的一小块数据,这要远比处理小XML数据中一大块的数据好的多,因为前者使用Zlib进行压缩比后者要好的多,所以可节约带宽。
通过参照结合附图所进行的如下描述和权力要求,本发明的其它目的和成就将是显而易见的,并对本发明也会有更为全面的理解。
附图说明
本发明通过实例的方式,参照附图进行详尽的解释,其中:
图1是现有技术的一个压缩器的结构示意图;
图2是现有技术的一个解压缩装置中解压缩器和分析器的结构示意图;
图3是根据本发明的一个实施例的压缩装置的结构框图;
图4是根据本发明的一个实施例的压缩方法的流程图;
图5是根据本发明的一个实施例的解压缩装置的结构示意图;
图6是根据本发明的一个实施例的解压缩方法的流程图;
图7是根据本发明的另一个实施例的压缩装置的结构框图;
图8是根据本发明的另一个实施例的压缩方法的流程图;
图9是根据本发明的另一个实施例的解压缩装置的结构框图;
图10是根据本发明的另一个实施例的解压缩方法的流程图;
在所有的附图中,相同的参照数字表示相似的或相同的特征和功能。
具体实施方式
图3是根据本发明一个实施例的压缩器结构框图,该压缩器100包括一个LZ77编码器102,一个霍夫曼编码器104,一个块打包器106和一个插入指示数据块装置302。
所述LZ77编码器102,用于对XML数据进行LZ77编码,还可作为接收装置,用于接收XML数据。霍夫曼编码器104,用于对经过LZ77编码的XML数据进行霍夫曼编码,同时提供霍夫曼列表。LZ77编码器102和霍夫曼编码器104可以一起构成编码装置,用于对XML数据进行编码。
块打包器106,用于根据霍夫曼列表将经过霍夫曼编码后的XML数据打包成数个数据块,每个数据块的块首有部分霍夫曼列表。
插入指示数据块装置302,用于根据霍夫曼列表将指示数据插入所述数据块之间,以得到压缩后的XML数据,该指示数据用于识别特定的数据。所述的指示数据是位于一个空数据块中。
图4是根据本发明一个实施例的压缩方法的流程图,首先接收XML数据(步骤S402),例如,接收的XML数据为:
<Entry><Word>Aback</Word><Definition>saldiufhcnw</Definition></Entry>........
然后对XML数据进行编码,包括进行LZ77编码(步骤S404)和进行霍夫曼编码(步骤S406)。XML数据经过LZ77编码(步骤S404)后,得到一束代码字(codeword)和字符(literals),这里的代码字就是XML数据中重复的字符“Word>”,它的长度为5,它的距离即第一个“Word>”到下一个“Word>”之间的间隔为12。字符就是其他不能被压缩的字符,例如“Aback”等等。
对XML数据进行霍夫曼编码(步骤S406),获得不同长度的代码,同时产生霍夫曼列表。例如:20个字符‘E’‘n’‘t’‘r’‘y’‘>’‘<’‘W’‘o’‘r’‘d’‘>’‘A’‘b’‘a’‘c’‘k’‘<’‘/’,经过霍夫曼编码后得到20个不同长度的代码为十六进制的:6C 75 9E A4 A2 A9 6E 6C 87 9F A2 94 6E 71 92 91 93 9B 6C 5F。
根据霍夫曼列表将经过霍夫曼编码的XML数据进行块打包,打包成数个数据块(步骤S408)。例如将以字母‘A’开头的单词打包在一个数据块,将以字母‘B’开头的单词打包在下一个数据块,依次排序,得到数个数据块。
插入指示数据到块打包后的XML数据块之间(步骤S410),以得到压缩后的XML数据(步骤S412),该指示数据用于识别特定的数据,这里特定的数据是所需要的数据,例如单词‘car’。
所述的指示数据是位于一个空数据块中,且指示数据是位于一个空数据块的块首。
压缩后的XML数据如表1所示:
数据块号 | 块首(Header) | 内容(Contents) |
0 | 6C 75 9E A4 A2 A9 6E 6C 87 9F A2 94 6E | |
1(指示数据块) | 霍夫曼列表‘0’C’1’End of Block | 空 |
2 | “Aback</[...]”=71 92 91 93 9B 6C 5F... | |
3(指示数据块) | 霍夫曼列表‘0’E’1’End of Block | Empty |
4 | “Car</[...]”=... | |
... | ... | ... |
表1
从表1可以看出,数据块0包含的内容与编码后的XML数据“<Entry><Word>”相对应,即6C 75 9E A4 A2 A9 6E 6C 87 9F A2 946E;数据块1即指示数据块的块首插有指示数据‘C’,该数据块是空数据块,没有任何数据;数据块2和数据块3与数据块0、1相似。数据块4是以字母‘C’开头的单词,该数据块的内容就是与单词“Car”相对应的字符,即和前述“6C 75”等等相似的字符。
图5是根据本发明一个实施例解压缩装置的结构示意图,该装置解压缩装置包括一个解压缩器500,一个有限状态机(finite statemachine,FSM)510,一个检测指示数据块装置508和一个分析器512。
解压缩器500还包括一个块首解码器502,一个霍夫曼解码器204和一个LZ77解码器206。
块首解码器502用于对压缩后的XML数据块进行块首解码,在进行块首解码时每遇到一个新的数据块,会产生一个数据块信号,并将该信号发送给有限状态机510。块首解码器502还用于找到一个空数据块,并将该空数据块提供给检测指示数据块装置508。块首解码器502还用于产生霍夫曼列表,同时还可以作为接收装置,接收压缩后的XML数据。
霍夫曼解码器204,用于根据霍夫曼列表对经过块首解码后的压缩后的XML数据进行解码。
LZ77解码器206,用于对压缩后的XML数据进行LZ77解码,获得XML数据。该压缩后的XML数据含有指示数据。
检测指示数据块装置508,用于从块首解码器502提供来的空数据块的块首中获得指示数据,并发送给分析器512。所述解压缩器500和检测指示数据块装置508一起构成一个数据处理装置,用于解压缩该压缩后的XML数据。
分析器512根据一个特定的条件修正该指示数据的内容,产生相应的跳跃信号,并发送给有限状态机510,该特定的条件对应于分析器512的一个特定的应用,即分析器512需要的数据,例如单词‘car’。该指示数据的修正可有两种结果,一种为执行该指示数据的内容,即相应的跳跃信号为要求有限状态机510丢弃一些不相关的数据;另一种为略过该指示数据,即相应的跳跃信号内容为空。
有限状态机510根据数据块信号以及修正后的指示数据内容,即跳跃信号来丢弃该压缩后的对应的XML数据。该分析器512和有限状态机510一起构成丢弃装置,用于根据该指示数据将该压缩后的对应的XML数据丢弃。
图6是根据本发明一个实施例的解压缩方法的流程图,首先接收压缩的XML数据(步骤S602),该压缩的XML数据包含指示数据块。
然后解压缩该压缩的XML数据,包括:
对该压缩的XML数据进行块首解码(步骤S604),从而找到一个空数据块,并产生数据块信号,例如对该数据块1进行块首解码,就产生数据块1的数据块信号。
对指示数据块进行检测(步骤S606),如检测到指示数据块,例如对数据块1的内容进行块首解码,得知该数据块是空数据块,那么说明该数据块是指示数据块,则就从数据块1的块首获得指示数据的内容(步骤S610),例如‘C’。
如在步骤S606中未检测到指示数据块,则对下一个数据块即数据块2进行检测,得知数据块2不是指示数据块,那么就对其进行霍夫曼解码(步骤S612),再进行LZ77解码(步骤S614),获得数据块2的数据。
然后,根据指示数据的内容和分析器的内部状态,即一个特定的条件,来判断是否要产生跳跃信号(步骤S616),亦即根据一个特定的条件修正该指示数据的内容。该特定的条件是一个特定的应用,即分析器的内部状态需要的数据,例如单词‘car’,然后根据指示数据‘C’,对指示数据的内容进行修正,即产生一个跳跃信号,要求直接跳到“C”部分。
接下来,根据数据块信号和跳跃信号丢弃不相关的数据块(步骤S618),例如正在寻找单词“Car”,那么就判断出“Car”是以字母‘C’开头后的单词,出现在后面的数据块中,所以产生跳越信号,将不相关的数据块,即直到数据块3的数据块信号出现前的所有数据块2的数据(“B”部分)丢弃。由于解压缩后的XML数据不是块结构,故需根据数据块信号来控制每一个被丢弃的数据块。
同理,按照前述方法,从数据块3的块首获得指示数据内容‘E’(610),同时获得数据块4的数据(步骤S614),然后根据指示数据‘E’和正在寻找的单词“Car”进行判断(步骤S616),由于单词“Car”是在以字母‘E’开头的单词之前,所以,就不产生跳越信号,然后对相关的数据块即数据块4进行分析(步骤S620),最后获得分析后的XML数据,例如单词“Car”。
这里对解压缩后的对应的XML数据进行丢弃,是根据修正后的指示数据内容即跳跃信号来执行的。
如果在步骤S616中的判断结果为否定,说明不需要进行丢弃,则,直接对相关的数据块进行分析(步骤S620),并获得分析后的XML数据(步骤S622)。
图7是根据本发明另一个实施例的压缩装置的结构示意图,该压缩装置包括一个分析器702,一个压缩器100。
分析器702还包括一个定位装置704,用于得到一组无用的数据作为指示数据标识,同时还作为接收装置,接收XML数据;一个数据插入装置,用于在特定数量的指示数据标识后插入相应的指示数据,将剩下的指示数据标志以另一组无用的数据代替。无用的数据是下述数据之一:制表标记、空格标记、回车标记等等。
压缩器100,用于对插入指示数据的XML数据进行压缩,得到压缩的XML数据。
图8是根据本发明另一个实施例的压缩方法的流程图,首先接收XML数据(步骤S802),例如XML数据是:
<Entry><Word>→Aback</Word><Definition>saldiufhcnw</Definition></Entry>...
<Entry><Word>→Car</Word><Definition>lzidnuvgrvgs</Definition></Entry>...
然后对XML数据进行SAX分析,找到XML数据中一组没用的字符,例如可以是一组20个‘→’(制表标记),还可以是空格标记、回车标记等等。将这一组没用的字符‘→’作为指示数据标识(步骤S806)。
将特定数量的指示数据标识‘→’,如14个,后插入指示数据(步骤S808),例如‘C’。再将剩下的‘→’用其他没用的数据替代(步骤S809),例如用空格替代。获得的XML数据为:
<Entry><Word>→<!--C->Aback</Word><Definition>saldiufhcnw</Definition></Entry>...
<Entry><Word>→<!--E-->Car</Word><Definition>lzidnuvgrvgs</Definition></Entry>...
这里,还可以对XML数据进行分析,以得到一组无用的数据,例如‘→’(制表标记);再将特定数量的无用数据转换为指示数据包;将所述的指示数据放入所述的指示数据包,获得的XML数据如上所述。
然后再对包含指示数据的XML数据进行压缩,也就是对包含指示数据的XML数据进行LZ77编码(步骤S810);对经过LZ77编码的XML数据进行霍夫曼编码(步骤S812);将经过霍夫曼编码的XML数据打包成数个数据块(步骤S814);最后获得压缩的XML数据(步骤S816)。
这里所述指示数据和数据块标识在XML数据被压缩以前插入XML数据。这里插入的指示数据和数据块标识对于解压缩装置是明显的,也就是解压缩装置将利用它们来忽略一些数据,这样就使解压缩装置的功能更加强大。
图9是根据本发明另一个实施例中解压缩装置的示意图,该解压缩装置包括一个解压缩器200,一个检测提取装置904,一个有限状态机510和一个分析器512。
解压缩器200,用于对压缩后的XML数据进行解压,该压缩后的XML数据含有指示数据,其中指示数据是插入于原始的XML数据中,同时解压缩器200作为接收装置,接收压缩后的XML数据。
检测提取装置904,用于在解压缩后的XML数据中找到一组指示数据标识,根据该指示数据标识获得该指示数据,并将该指示数据发送给分析器512,同时检测提取装置904产生指示数据标识信号,并该将指示数据标识信号发送给有限状态机510。解压缩器200和检测提取装置904一起可构成数据处理装置。
分析器512根据一个特定的条件修正该指示数据的内容,该特定的条件是一个特定的应用,即分析器512所需要的数据。然后对该指示数据的内容进行修正,产生相应的跳跃信号,并发送给有限状态机510。
有限状态机510根据指示数据标识信号以及修正后的指示数据内容即跳跃信号,来丢弃该压缩后的对应的XML数据。该分析器512和有限状态机510一起构成丢弃装置,用于根据该指示数据将该压缩后的对应的XML数据丢弃。
图10是根据本发明另一个实施例的解压缩方法的流程图,首先接收压缩的XML数据(步骤S1002),然后对压缩后的XML数据进行解压缩(步骤S1004),得到解压缩后的XML数据。
从所述的解压缩后的XML数据获得一个指示数据,该指示数据用于识别特定的数据,具体步骤如下:
对XML数据中的指示数据标识,例如“→”,进行检测(步骤S1006),如果检测到,那么就产生指示数据标识信号(步骤S1008)。
提取该数据块标识后的指示数据(步骤S1009),例如“C”。
然后,根据指示数据的内容和分析器的内部状态,即一个特定的条件,来判断是否要产生跳跃信号(步骤S1010),即为根据一个特定的条件修正该指示数据的内容。也就是根据所述指示数据“C”以及一个特定应用,即分析器的内部状态所需要的数据,判断是否产生一个跳跃信号(skip signal)。例如正在寻找单词‘car’,那么就判断出“Car”是以字母‘C’开头后的单词,出现在后面的数据块中,所以产生跳越信号,要求将不相关的数据丢弃。
接下来,如果在步骤S1010中产生一个要求丢弃数据的跳跃信号,则根据数据块信号和跳跃信号丢弃不相关的数据块(步骤S1012),即将直到下一个指示数据标识信号出现前的所有数据丢弃,并回到步骤S1006继续进行检测判断。
同理,按照前述方法在检测到下一个数据块标识时,即下一个“→”,就获得其后面的指示数据内容‘E’(步骤S1009)。然后根据所述指示数据“C”以及一个特定应用,即分析器的内部状态所需要的数据,判断是否产生一个跳跃信号(skip signal)(步骤S1010)。例如正在寻找单词‘car’,那么就判断出“Car”是以字母‘E’开头后的单词之前,所以就不产生跳越信号,然后就对相关的XML数据块进行分析(步骤S1014),最后获得分析后的XML数据(步骤S1016),例如单词‘car’。
这里对应的解压缩后的XML数据丢弃,是根据修正后的指示数据内容,即跳跃信号来执行丢弃的。
如果在步骤S1006或步骤S1010的判断结果是否定的,则直接对相关的数据块进行分析(步骤S1014),并获得分析后的XML数据(步骤S1016)。
从本发明实施例中可以看出,通过避免分析XML输入数据中不相关的数据块,从而可以加速分析的过程,这样就使在接收端的工作加速;由于只对XML数据中相关部分进行处理,那么就可以处理较大的XML数据输入;所有要传输的XML信息就可以被分割成大XML数据中的一小块数据,这要远比处理小XML数据中一大块的数据好的多,因为前者使用Zlib进行压缩比后者要好的多,所以可节约带宽。
本发明由于对较大XML输入数据进行压缩,所以可以有更好的压缩。由于解压缩装置不必等待信息的重传,所以在解压缩装置中的存储器中压缩的XML数据可以提供对信息较快的访问。
本发明插入指示数据可与现有的压缩标准/方案兼容,从而使得压缩后的XML数据与与现有的解压缩装置相兼容。
本发明将指示数据和XML数据作为一体,所以指示数据总是可以与XML数据的内容相匹配,即使在内容更新的情况下也是如此。本发明也不需要另外单独给指示数据一个传输信道,这就节约了在一个单独信道传输数据带来的多余开销,而且插入XML数据时,指示数据也是被Zlib进行压缩。
虽然经过对本发明结合具体实施例进行描述,对于在本技术领域熟练的人士,根据上文的叙述作出的许多替代、修改与变化是显而易见的。因此,当这样的替代、修改和变化落入附后的权利要求的精神和范围之内时,应该被包括在本发明中。
权利要求书
(按照条约第19条的修改)
1.一种XML数据的压缩方法,包括步骤:
a.接收XML数据;
b.对XML数据进行编码;
c.对编码后的XML数据进行分组;
d.插入指示数据到分组后的XML数据块之间,以得到压缩后的XML数据,该指示数据用于识别特定的数据。
2.如权利要求1所述的方法,其中所述的指示数据被定位在空数据块中。
3.如权利要求2所述的方法,其中所述的指示数据被定位在空数据块的块首。
4.一种XML数据的压缩方法,包括步骤:
a.接收XML数据;
b.插入指示数据到XML数据中,该指示数据用于识别特定的数据;
c.对含有指示数据的XML数据进行压缩,以得到压缩后的XML数据。
5.如权利要求4所述的方法,其中步骤b包括步骤:
对所述的XML数据进行分析,以得到一组无用的数据作为指示数据标志;
在特定数量的指示数据标志后插入相应的指示数据;
将剩下的指示数据标志以另一组无用的数据代替。
6.如权利要求4所述的方法,其中步骤b包括步骤:
对所述的XML数据进行分析,以得到一组无用的数据;
转换特定数量的所述无用数据为指示数据包;
将所述的指示数据放入所述的指示数据包。
7.如权利要求5或6所述的方法,所述无用的数据是下述数据之一:制表标记,空格标记和回车标记。
8.一种压缩后的XML数据的解压缩方法,包括步骤:
a.接收压缩后的XML数据,该压缩后的XML数据含有指示数据;
b.解压缩该压缩后的XML数据,其中该步骤包括步骤(i)获得所述的指示数据;
c.根据该指示数据将解压缩后的对应的XML数据丢弃。
9.如权利要求8所述的方法,其中所述的指示数据被定位在空数据块中。
10.如权利要求8所述的解压缩方法,其中步骤b中的步骤i包括步骤:
对所述的压缩后的XML数据进行块首解码,从而找到一个空数据块;
从该空数据块的块首中获得该指示数据。
11.如权利要求8所述的解压缩方法,还包括步骤:
根据一个特定的条件修正该指示数据的内容,其中步骤c根据修正后的指示数据内容来执行。
12.如权利要求8所述的解压缩方法,所述丢弃的XML数据是对应于所述压缩后的XML数据中特定的数据块。
13.一种压缩后的XML数据的解压缩方法,包括步骤:
a.解压缩该压缩后的XML数据,以得到解压缩后的XML数据;
b.从所述的解压缩后的XML数据获得一个指示数据,该指示数据用于识别特定的数据;
c.根据该指示数据将对应的解压缩后的XML数据丢弃。
14.如权利要求13所述的解压缩方法,其中所述的指示数据是插入于原始的XML数据中的。
15.如权利要求13所述的解压缩方法,其中步骤b包括步骤:
在所述的XML数据找到一个指示数据标志;
根据该指示数据标志获得该指示数据。
16.如权利要求13所述的解压缩方法,还包括步骤:
根据一个特定的条件修正该指示数据的内容,其中步骤c根据修正后的指示数据内容来执行。
17.一种XML数据的压缩装置,包括:
一个接收装置,用于接收XML数据;
一个编码装置,用于对XML数据进行编码;
一个分组装置,用于对编码后的XML数据进行分组;
一个插入指示数据块装置,用于插入指示数据到分组后的XML数据之间,以得到压缩后的XML数据,该指示数据用于识别特定的数据。
18.如权利要求17所述的装置,所述的指示数据被定位在空数据块中。
19.一种XML数据的压缩装置,包括:
一个接收装置,用于接收XML数据;
一个插入指示数据包装置,用于将指示数据插入到XML数据中,该指示数据用于识别特定的数据;
一个压缩装置,用于对插入指示数据的XML数据进行压缩,以得到压缩后的XML数据。
20.如权利要求19所述的装置,其中所述的插入指示数据包装置包括:
一个定位装置,用于对所述的XML数据进行分析,以得到一组无用的数据作为指示数据标志;
一个数据插入装置,用于在特定数量的指示数据标志后插入相应的指示数据,并将剩下的指示数据标志以另一组无用的数据代替。
21.如权利要求20所述的装置,所述无用的数据是下述数据之一:制表标记,空格标记和回车标记。
22.一种压缩后的XML数据的解压缩装置,包括:
一个接收装置,用于接收压缩后的XML数据,该压缩后的XML数据含有指示数据;
一个数据处理装置,用于解压缩该压缩后的XML数据,并获得所述的指示数据;
一个丢弃装置,用于根据该指示数据将该压缩后的对应的XML数据丢弃。
23.如权利要求22所述的装置,其中所述的指示数据被定位在空数据块中。
24.如权利要求22所述的装置,其中所述的数据处理装置包括:
一个空数据块检测装置,用于对所述的压缩后的XML数据进行块首解码,从而找到一个空数据块;
一个指示数据获得装置,用于从该空数据块的块首中获得该指示数据。
25.如权利要求22所述的装置,还包括一个分析器,用于根据一个特定的条件修正该指示数据的内容,其中所述的丢弃装置根据修正后的指示数据内容来执行。
26.如权利要求24所述的装置,其中所述的指示数据是插入于原始的XML数据中。
27.如权利要求24所述的装置,其中所述的指示数据是从解压缩后的XML数据中获得的。
28.如权利要求24所述的装置,所述的数据处理装置包括一个检测提取装置,用于在解压缩后的XML数据中找到一组指示数据标志,并根据该指示数据标志获得该指示数据。
Claims (28)
1.一种XML数据的压缩方法,包括步骤:
a.接收XML数据;
b.对XML数据进行编码;
c.对编码后的XML数据进行块打包;
d.插入指示数据到块打包后的XML数据块之间,以得到压缩后的XML数据,该指示数据用于识别特定的数据。
2.如权利要求1所述的方法,其中所述的指示数据是位于一个空数据块中。
3.如权利要求2所述的方法,其中所述的指示数据是位于一个空数据块的块首。
4.一种XML数据的压缩方法,包括步骤:
a.接收XML数据;
b.插入指示数据到XML数据中,该指示数据用于识别特定的数据;
c.对含有指示数据的XML数据进行压缩,以得到压缩后的XML数据。
5.如权利要求4所述的方法,其中步骤b包括步骤:
对所述的XML数据进行分析,以得到一组无用的数据作为指示数据标志;
在特定数量的指示数据标志后插入相应的指示数据;
将剩下的指示数据标志以另一组无用的数据代替。
6.如权利要求4所述的方法,其中步骤b包括步骤:
对所述的XML数据进行分析,以得到一组无用的数据;
转换特定数量的所述无用数据为指示数据包;
将所述的指示数据放入所述的指示数据包。
7.如权利要求5或6所述的方法,所述无用的数据是下述数据之一:制表标记,空格标记和回车标记。
8.一种压缩后的XML数据的解压缩方法,包括步骤:
a.接收压缩后的XML数据,该压缩后的XML数据含有指示数据;
b.解压缩该压缩后的XML数据,其中该步骤包括步骤(i)获得所述的指示数据;
c.根据该指示数据将解压缩后的对应的XML数据丢弃。
9.如权利要求8所述的方法,其中所述的指示数据是位于一个空数据块中。
10.如权利要求8所述的解压缩方法,其中步骤b中的步骤i包括步骤:
对所述的压缩后的XML数据进行块首解码,从而找到一个空数据块;
从该空数据块的块首中获得该指示数据。
11.如权利要求8所述的解压缩方法,还包括步骤:
根据一个特定的条件修正该指示数据的内容,其中步骤c根据修正后的指示数据内容来执行。
12.如权利要求8所述的解压缩方法,所述丢弃的XML数据是对应于所述压缩后的XML数据中特定的数据块。
13.一种压缩后的XML数据的解压缩方法,包括步骤:
a.解压缩该压缩后的XML数据,以得到解压缩后的XML数据;
b.从所述的解压缩后的XML数据获得一个指示数据,该指示数据用于识别特定的数据;
c.根据该指示数据将对应的解压缩后的XML数据丢弃。
14.如权利要求13所述的解压缩方法,其中所述的指示数据是插入于原始的XML数据中的。
15.如权利要求13所述的解压缩方法,其中步骤b包括步骤:
在所述的XML数据找到一个指示数据标志;
根据该指示数据标志获得该指示数据。
16.如权利要求13所述的解压缩方法,还包括步骤:
根据一个特定的条件修正该指示数据的内容,其中步骤c根据修正后的指示数据内容来执行。
17.一种XML数据的压缩装置,包括:
一个接收装置,用于接收XML数据;
一个编码装置,用于对XML数据进行编码;
一个块打包装置,用于对编码后的XML数据进行块打包;
一个插入指示数据块装置,用于插入指示数据到块打包后的XML数据之间,以得到压缩后的XML数据,该指示数据用于识别特定的数据。
18.如权利要求17所述的装置,所述的指示数据是位于一个空数据块中。
19.一种XML数据的压缩装置,包括:
一个接收装置,用于接收XML数据;
一个插入指示数据包装置,用于将指示数据插入到XML数据中,该指示数据用于识别特定的数据;
一个压缩装置,用于对插入指示数据的XML数据进行压缩,以得到压缩后的XML数据。
20.如权利要求19所述的装置,其中所述的插入指示数据包装置包括:
一个定位装置,用于对所述的XML数据进行分析,以得到一组无用的数据作为指示数据标志;
一个数据插入装置,用于在特定数量的指示数据标志后插入相应的指示数据,并将剩下的指示数据标志以另一组无用的数据代替。
21.如权利要求20所述的装置,所述无用的数据是下述数据之一:制表标记,空格标记和回车标记。
22.一种压缩后的XML数据的解压缩装置,包括:
一个接收装置,用于接收压缩后的XML数据,该压缩后的XML数据含有指示数据;
一个数据处理装置,用于解压缩该压缩后的XML数据,并获得所述的指示数据;
一个丢弃装置,用于根据该指示数据将该压缩后的对应的XML数据丢弃。
23.如权利要求22所述的装置,其中所述的指示数据是位于一个空数据块中。
24.如权利要求22所述的装置,其中所述的数据处理装置包括:
一个空数据块检测装置,用于对所述的压缩后的XML数据进行块首解码,从而找到一个空数据块;
一个指示数据获得装置,用于从该空数据块的块首中获得该指示数据。
25.如权利要求22所述的装置,还包括一个分析器,用于根据一个特定的条件修正该指示数据的内容,其中所述的丢弃装置根据修正后的指示数据内容来执行。
26.如权利要求24所述的装置,其中所述的指示数据是插入于原始的XML数据中。
27.如权利要求24所述的装置,其中所述的指示数据是从解压缩后的XML数据中获得的。
28.如权利要求24所述的装置,所述的数据处理装置包括一个检测提取装置,用于在解压缩后的XML数据中找到一组指示数据标志,并根据该指示数据标志获得该指示数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2004800394417A CN1902827A (zh) | 2003-12-30 | 2004-12-17 | Xml数据的压缩与解压缩的方法及其装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200310124520.5 | 2003-12-30 | ||
CNA2003101245205A CN1635492A (zh) | 2003-12-30 | 2003-12-30 | 一种xml数据的压缩与解压缩方法及装置 |
CNA2004800394417A CN1902827A (zh) | 2003-12-30 | 2004-12-17 | Xml数据的压缩与解压缩的方法及其装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1902827A true CN1902827A (zh) | 2007-01-24 |
Family
ID=34744503
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2003101245205A Pending CN1635492A (zh) | 2003-12-30 | 2003-12-30 | 一种xml数据的压缩与解压缩方法及装置 |
CNA2004800394417A Pending CN1902827A (zh) | 2003-12-30 | 2004-12-17 | Xml数据的压缩与解压缩的方法及其装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2003101245205A Pending CN1635492A (zh) | 2003-12-30 | 2003-12-30 | 一种xml数据的压缩与解压缩方法及装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20070273564A1 (zh) |
EP (1) | EP1702412A1 (zh) |
JP (1) | JP2007520112A (zh) |
CN (2) | CN1635492A (zh) |
WO (1) | WO2005067153A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073663B (zh) * | 2009-11-24 | 2013-01-30 | 北大方正集团有限公司 | 一种快速处理xml压缩数据的方法及其装置 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7630997B2 (en) * | 2005-03-23 | 2009-12-08 | Microsoft Corporation | Systems and methods for efficiently compressing and decompressing markup language |
US7593949B2 (en) | 2006-01-09 | 2009-09-22 | Microsoft Corporation | Compression of structured documents |
US8024427B2 (en) | 2006-01-09 | 2011-09-20 | Microsoft Corporation | Dynamic storage of documents |
US7853573B2 (en) * | 2006-05-03 | 2010-12-14 | Oracle International Corporation | Efficient replication of XML data in a relational database management system |
US20070300147A1 (en) * | 2006-06-25 | 2007-12-27 | Bates Todd W | Compression of mark-up language data |
CN101222476B (zh) * | 2007-01-08 | 2010-09-29 | 华为技术有限公司 | 一种可扩展标记语言文件编辑器、文件传输方法及系统 |
WO2008142799A1 (ja) * | 2007-05-24 | 2008-11-27 | Fujitsu Limited | 情報検索プログラム、該プログラムを記録した記録媒体、情報検索方法、および情報検索装置 |
JP5007743B2 (ja) * | 2007-05-24 | 2012-08-22 | 富士通株式会社 | 情報検索プログラム、該プログラムを記録した記録媒体、情報検索装置、および情報検索方法 |
US20090006399A1 (en) * | 2007-06-29 | 2009-01-01 | International Business Machines Corporation | Compression method for relational tables based on combined column and row coding |
US8645916B2 (en) * | 2008-12-03 | 2014-02-04 | Microsoft Corporation | Crunching dynamically generated script files |
FR2945363B1 (fr) * | 2009-05-05 | 2014-11-14 | Canon Kk | Procede et dispositif de codage d'un document structure |
US8442988B2 (en) | 2010-11-04 | 2013-05-14 | International Business Machines Corporation | Adaptive cell-specific dictionaries for frequency-partitioned multi-dimensional data |
CN102571966B (zh) * | 2012-01-16 | 2014-10-29 | 北大方正集团有限公司 | 一种大型xml文件的网络传输方法 |
JP6467937B2 (ja) | 2015-01-21 | 2019-02-13 | 富士通株式会社 | 文書処理プログラム、情報処理装置および文書処理方法 |
CN106155734B (zh) * | 2015-04-27 | 2020-09-18 | 南京中兴软件有限责任公司 | 一种软件版本的下载方法及装置 |
US9509336B1 (en) * | 2015-05-11 | 2016-11-29 | Via Alliance Semiconductor Co., Ltd. | Hardware data compressor that pre-huffman encodes to decide whether to huffman encode a matched string or a back pointer thereto |
CN106503003A (zh) * | 2015-09-06 | 2017-03-15 | 阿里巴巴集团控股有限公司 | 一种可扩展标记语言xml文档的压缩、解压方法和装置 |
US10944423B2 (en) * | 2019-03-14 | 2021-03-09 | International Business Machines Corporation | Verifying the correctness of a deflate compression accelerator |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6988025B2 (en) * | 2000-11-28 | 2006-01-17 | Power Measurement Ltd. | System and method for implementing XML on an energy management device |
US7028312B1 (en) * | 1998-03-23 | 2006-04-11 | Webmethods | XML remote procedure call (XML-RPC) |
JP4003854B2 (ja) * | 1998-09-28 | 2007-11-07 | 富士通株式会社 | データ圧縮装置及び復元装置並びにその方法 |
US6635088B1 (en) * | 1998-11-20 | 2003-10-21 | International Business Machines Corporation | Structured document and document type definition compression |
US7031267B2 (en) * | 2000-12-21 | 2006-04-18 | 802 Systems Llc | PLD-based packet filtering methods with PLD configuration data update of filtering rules |
AUPR063400A0 (en) * | 2000-10-06 | 2000-11-02 | Canon Kabushiki Kaisha | Xml encoding scheme |
EP1360772A2 (en) * | 2001-01-26 | 2003-11-12 | Pogo Mobile Solutions Limited | A method of data compression |
US7080318B2 (en) * | 2001-02-28 | 2006-07-18 | Koninklijke Philips Electronics N.V. | Schema, syntactic analysis method and method of generating a bit stream based on a schema |
US7487264B2 (en) * | 2002-06-11 | 2009-02-03 | Pandya Ashish A | High performance IP processor |
US7774831B2 (en) * | 2002-12-24 | 2010-08-10 | International Business Machines Corporation | Methods and apparatus for processing markup language messages in a network |
US7318194B2 (en) * | 2004-01-13 | 2008-01-08 | International Business Machines Corporation (Ibm) | Methods and apparatus for representing markup language data |
EP1797722B1 (en) * | 2004-10-05 | 2019-05-29 | Vectormax Corporation | Adaptive overlapped block matching for accurate motion compensation |
US8458467B2 (en) * | 2005-06-21 | 2013-06-04 | Cisco Technology, Inc. | Method and apparatus for adaptive application message payload content transformation in a network infrastructure element |
WO2007086654A1 (en) * | 2006-01-25 | 2007-08-02 | Lg Electronics Inc. | Digital broadcasting system and method of processing data |
-
2003
- 2003-12-30 CN CNA2003101245205A patent/CN1635492A/zh active Pending
-
2004
- 2004-12-17 CN CNA2004800394417A patent/CN1902827A/zh active Pending
- 2004-12-17 WO PCT/IB2004/052842 patent/WO2005067153A1/en not_active Application Discontinuation
- 2004-12-17 EP EP04806582A patent/EP1702412A1/en not_active Withdrawn
- 2004-12-17 JP JP2006546450A patent/JP2007520112A/ja active Pending
- 2004-12-17 US US10/596,705 patent/US20070273564A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073663B (zh) * | 2009-11-24 | 2013-01-30 | 北大方正集团有限公司 | 一种快速处理xml压缩数据的方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
EP1702412A1 (en) | 2006-09-20 |
JP2007520112A (ja) | 2007-07-19 |
CN1635492A (zh) | 2005-07-06 |
US20070273564A1 (en) | 2007-11-29 |
WO2005067153A1 (en) | 2005-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1902827A (zh) | Xml数据的压缩与解压缩的方法及其装置 | |
CN1145264C (zh) | 与串搜索交错进行即时字典更新的数据压缩和解压缩系统 | |
US10003356B2 (en) | Devices and methods of source-encoding and decoding of data | |
CN109348226B (zh) | 一种图片文件处理方法及智能终端 | |
US7817069B2 (en) | Alternative encoding for LZSS output | |
CN1104094C (zh) | 数据压缩方法和设备 | |
US7737869B2 (en) | Symbol based data compression | |
CN1630984A (zh) | 增量和连续的数据压缩 | |
CN1671103A (zh) | 数据压缩 | |
CN1193428A (zh) | 电子节目指导信息的压缩 | |
CN101017574A (zh) | 一种适于jpeg码流的哈夫曼解码方法 | |
CN101459492A (zh) | 一种数据传输方法和传输系统、及数据发送端 | |
CN103248951B (zh) | 一种向视频中添加滚屏信息的系统及方法 | |
CN1245599A (zh) | 截短法尔码的差错捕获译码方法和装置 | |
CN1281295A (zh) | 快速解码 | |
CN113312325B (zh) | 轨迹数据传输方法、装置、设备及存储介质 | |
CN1848973A (zh) | 一种短消息群发的方法、终端及短消息中心 | |
CN1638481A (zh) | 转换图象数据编解码器的方法和装置 | |
CN1748369A (zh) | 用于文本数据压缩的方法和设备 | |
CN105653506B (zh) | 一种基于字符编码转换的gpu内文本处理的方法及装置 | |
CN1653698A (zh) | 包含cpu处理器接口的可编程变长解码器 | |
CN101079636A (zh) | 将一位热码译码为二进制码的方法及一位热码译码器 | |
YuanJing | The combinational application of LZSS and LZW algorithms for compression based on Huffman | |
CN1949845A (zh) | 利用电视机进行查询英文单词或词组的方法 | |
CN1305282C (zh) | 媒体网关和媒体网关控制器内部的预编解码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |