CN1902827A - Xml数据的压缩与解压缩的方法及其装置 - Google Patents

Xml数据的压缩与解压缩的方法及其装置 Download PDF

Info

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
Application number
CNA2004800394417A
Other languages
English (en)
Inventor
A·莫里尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Priority to CNA2004800394417A priority Critical patent/CN1902827A/zh
Publication of CN1902827A publication Critical patent/CN1902827A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information 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数据的压缩与解压缩的方法及其装置
                      背景技术
本发明涉及一种数据压缩与解压缩的方法和装置,尤其涉及一种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数据中找到一组指示数据标志,并根据该指示数据标志获得该指示数据。
CNA2004800394417A 2003-12-30 2004-12-17 Xml数据的压缩与解压缩的方法及其装置 Pending CN1902827A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073663B (zh) * 2009-11-24 2013-01-30 北大方正集团有限公司 一种快速处理xml压缩数据的方法及其装置

Families Citing this family (18)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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