CN100354861C - 数据压缩器和数据解压缩器 - Google Patents
数据压缩器和数据解压缩器 Download PDFInfo
- Publication number
- CN100354861C CN100354861C CNB2004100787884A CN200410078788A CN100354861C CN 100354861 C CN100354861 C CN 100354861C CN B2004100787884 A CNB2004100787884 A CN B2004100787884A CN 200410078788 A CN200410078788 A CN 200410078788A CN 100354861 C CN100354861 C CN 100354861C
- Authority
- CN
- China
- Prior art keywords
- template
- data
- summit
- cross
- information
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Abstract
本申请涉及数据压缩器、数据解压缩器以及数据管理***。具体来说,一种数据压缩器101的结构如下:一个分离器103将具有多个各有自己的类型和值的顶点、并具有顶点之间的引用信息的输入数据106,分离为具有顶点之间的引用信息的交叉引用数据以及顶点群;这样分离得到的顶点群的数据被输出,作为第二输出数据;一个模板存储器102存储具有特定模式的交叉引用信息作为模板,在模板中,可以共享顶点之间的引用信息;一个模板匹配检测器104从分离的交叉引用数据中检测与存储的模板匹配的部分;一个模板替换器105用所述模板替换交叉引用数据中被检测到的匹配部分,并输出所替换的交叉引用数据作为第一输出数据107。
Description
技术领域
本发明涉及用于电子数据的压缩器、解压缩器以及数据管理***。
背景技术
近年来,WWW(万维网)的普及导致使用结构化文档比如HTML(超文本标记语言)和XML(可扩展标记语言)的数据交换增加。尤其是,XML作为补充HTML的下一代语言正在引起注意,预期在将来在因特网信息交换领域将最为普遍。
XML是一种使用数据表达来表示元素的等级结构的语言,用XML写的文档(XML文档)的描述例如如图18所示。图18是一个示意图,图示了XML文档10。如图18所示,XML通常被分类为标记和文本信息。在示于图18的XML文档中,标记包括元素开始标记(开始标记,start tag)Ma,元素结束标记(结束标记,end tag)Mb,以及空元素标记(empty element tag,empty element mark)Mc。在图18中,<book>,<title>,<authors>,<author>,<contents>以及<chapter>表示元素开始标记Ma。另外,</book>,</title>,</authors>。</author>,</contents>和</chapter>表示元素结束标记Mb。<misc/>表示空元素标记Mc。从这些元素开始标记Ma到相应的元素结束标记Mb的每一个区域,或者空元素标记Mc表示一个元素(作为XML基础的一个信息单元)。
在元素开始标记Ma和元素结束标记Mb之间,可以描述另一个元素标记和/或文本信息。在示于图18的XML文档10中,例如,被定义为文本信息的信息包括字符串元素<title>中的″Fundamentals ofXML″,以及出现在元素<authors>中的第一个元素<author>中的字符串″YAMADA TARO″。
在元素和文本信息之间定义母子关系和同胞关系。在示于图18的XML文档10的情况下,以元素开始标记Ma<book>开始并以元素结束标记Mb</book>结束的元素(也就是元素<book>)包含以元素开始标记Ma<title>开始并以元素结束标记Mb</title>结束的元素(也就是元素<title>)。在这种情况下,元素<book>被称为元素<title>的母元素,元素<title>是元素<book>的子元素。这就是元素之间的母子关系。
元素<title>和元素<authors>有同一个母元素<book>,并且是相邻的。在这种情况下,元素<title>和元素<authors>被称为同胞。元素<title>被称为元素<authors>的前同胞(previous sibling),元素<authors>是元素<title>的后同胞(next sibling)。这就是元素之间的同胞关系。
一般,XML被表示为文本格式,就如图18所示的XML文档10,在计算机之间通信或者在硬盘设备或者闪存中存储。另一方面,在用于计算机内部的搜索和校正时,将其解析、转换为适合计算机内部的数据结构。
图19的示意图图示了解析图18所示的XML文档而将其转换为一种适合计算机内部使用的格式二获得的数据结构11。在图19中,元素和文本信息被描述为具有各自的类型和值的顶点(vertices)301到317。在每一个顶点301-317的左侧描述类型:“E”表示元素,“T”表示文本信息。例如,顶点301的类型301a为“E”。在每一个顶点右侧描述值:例如,顶点301的值301b为″book″。在顶点表示元素的情况下,在其值中描述元素的名称(元素名)。在顶点表示文本信息项目的情况下,在其值中描述字符串。例如,顶点302表示元素名<title>,顶点306表示文本信息″Fundamentals of XML″。
每一个顶点301-317具有从四种引用信息中选择的引用信息:母引用信息,子引用信息,后同胞引用信息以及前同胞引用信息,以便表达原始(未转换的)XML文档10的母子关系和同胞关系。在前述XML文档10的情况下,其中元素<title>是元素<book>的子元素,元素<book>是元素<title>的母元素,示于图19的数据结构11如下构建:例如,对于顶点301、302,它们具有从<book>到<title>的子引用P1,以及从<title>到<book>的母引用P2,它们用箭头表示。元素<book>还有元素<authors>作为<title>的下一个子元素。在这种情况下,顶点302、303有从元素<title>到元素<authors>的后同胞引用P3,以及从元素<authors>到元素<title>的前同胞引用P4。除了首个子元素(例如元素<title>)之外,同胞关系中的元素被定义为没有直接的母引用。
在数据结构中,顶点之间的引用信息的管理可以独立于元素名和文本信息。例如,它们可以分别表示为图20(a)所示和图20(b)所示。图20(a)的示意图图示了具有顶点之间的引用信息的交叉引用数据400,图20(b)的示意图图示了一个表格450,其中示出了类型和值分别被设置为元素和文本信息的顶点的集合(也称为顶点群)。
但是,由于存储设备比如内存的容量有限,在数据结构的存储中要求有效地压缩数据结构而存储压缩数据。对此,文献″MathiasNeumuller and John N.Wilson:″Compact In Memory Representationof XML″Internal Report of University of Strathclyde″(下称文献1)公开了一种压缩如图20(b)所示的元素名和文本信息的方法。文献1公开的压缩方法以词典的形式单独地存储各顶点的元素名和文本信息,为每一个顶点提供一个词典索引,避免相同字符串的冗余存储。
另一方面,文献″Hartmut Liefke and Dan Suciu.:″XMill:AnEfficient Compressor for XML Data″,In proceedings of ACMSIGMOD International Conference on Management of Data,2000″(下称文献2)公开了一种通过重复使用XML文档中的部分结构来压缩XML文档的方法。该方法将原始XML文档分为三部分:结构,元素名信息和文本信息,用普通压缩算法比如LZ77(LZ77的细节可以参考″Jacob Ziv,Abraham Lempel:A Universal Algorithm forSequential Data Compression.IEEE Transactions on Information 25Theory 23(3):337-343(1977)″)压缩所述每一部分。下面描述在文献2中公开的该压缩方法。在该压缩方法中,首先,用短元素名比如″#1″,″#2″等替换每一个元素开始标记和空元素标记,并用″/″替换每一个元素结束标记。用″C″替换文本信息。当将上述压缩方法应用于单独的XML文档10时,分离后的数据结构12、元素名信息13和文本信息14分别被表达为如图21、图22以及图23所示。
在文献2描述的压缩方法中,使用以LZ77等为代表的压缩算法,相互独立地压缩所述信息。下面简介该压缩算法。LZ77或者类似压缩算法是要发现包括在原始输入信息中的部分模式(partial pattern),并将它们反复用作模板,从而实施压缩。作为例子,下面解释图21所示的数据结构12的压缩。模板X,Y,Z,W和V被用作模板,并且模板被分配如下: X=″#1 #2C/#3″;Y=″#4C/”;Z=″/#5″;W=″#6 C/″; V=″/#7//″。示于图21的数据结构12可以被表示为″XYYYZWWV″。它多次使用了Y和W作为表示部分文档结构的模板。如果可以反复使用模板,以少量的模块以这种方式来表达原始文档,则可以减少表示原始XML文档的信息量,从而实现压缩。
发明内容
但是,在上述传统技术中,在使用模板压缩XML文档的数据结构时,个模板的信息项是相互独立的,这导致的问题是,模板数的增加导致了所需存储量的相应增加,从而对存储设备比如内存造成了很重的负担。
本发明的提出就是为了解决上述问题。因此,本发明的一个目的是提供一种数据压缩器、数据解压缩器和数据管理***,它们的配置使得,即使模板数增加,也不会对模板的存储所需的存储设备比如内存产生很重的负担。
为了解决上述问题,本发明提供了一种数据压缩器,包括:分离装置,用于将具有多个各有自己的类型和值的顶点,并具有顶点之间的引用信息的输入数据分离为具有顶点之间的引用信息的交叉引用数据以及由多个具有类型和值的顶点构成的顶点群,并用于输出这样分离出来的顶点群的数据;模板存储装置,用于存储顶点之间的具有特定模式的引用信息作为模板,其中,所述模板可以与其它存储的模板共享顶点之间的引用信息;模板匹配检测装置,用于从所述分离装置分离出来的交叉引用数据中检测与在所述模板存储装置中存储的模板匹配的部分;以及模板替换装置,用于:在能够引用顶点之间的引用信息的状态下,用模板替换由模板匹配检测装置在由分离装置分离出来的交叉引用数据中检测到的匹配部分,并输出所替换的交叉引用数据。由于在该数据压缩器中,存储在模板存储装置中的模板的配置使得模板能够与存储的其它模板共享顶点之间的引用信息,可以减少用于存储模板的存储空间。
本发明还提供了一种数据压缩器,包括:分离装置,用于将具有多个各有自己的值(每一个值能够具有作为属性信息的类型)的顶点,并具有顶点之间的引用信息的输入数据分离为具有顶点之间的引用信息的交叉引用数据以及由多个具有值的顶点构成的顶点群,并用于输出这样分离出来的顶点群的数据;模板存储装置,用于存储顶点之间的具有特定模式的引用信息作为模板,其中,所述模板可以与其它存储的模板共享顶点之间的引用信息;模板匹配检测装置,用于从所述分离装置分离出来的交叉引用数据中检测与在所述模板存储装置中存储的模板匹配的部分;以及模板替换装置,用于:在能够引用顶点之间的引用信息的状态下,用模板替换由模板匹配检测装置在由分离装置分离出来的交叉引用数据中检测到的匹配部分,并输出所替换的交叉引用数据。由于该数据压缩器也被配置为使得在存储在模板存储装置中的模板的配置中,模板能够与存储的其它模板共享顶点之间的引用信息,可以减少用于存储模板的存储空间。
上述每一个数据压缩器最好被配置为:所述模板是这样的模板:其中,在顶点之间的部分或者全部引用信息中,引用方向是可以反转的。使用这样的模板,一个模板可以反过来应用,从而可以减少模板数量。
所述数据压缩器还可以被配置为:所述模板存储装置存储用于相邻同胞引用的模板,该模板具有用于应用到具有相邻同胞引用部分的交叉引用数据的连接信息,所述相邻同胞引用部分具有第1到第N共N个顶点,其中,具有序号的顶点除了第一个顶点和第二个顶点之外相互引用,其中第一个顶点引用第二个顶点并保持一个对外部的引用,其中第N个顶点引用第(N-1)个顶点,其中,从第二到第N的每一个顶点没有对外部的引用或者均具有相同的引用数量。该模板不是必须包含顶点之间的引用信息,因此有助于降低存储量。
上述每一个数据压缩器可以配置为:所述模板存储装置存储一个母模板,其中,前述模板可以应用于顶点之间的引用信息。使用该模板,另一个模板的定义可以用来定义该模板,这可以减少模板的表达所需的存储量。
另外,最好,所述模板存储装置存储一个能够公共地用于多个输入数据的公共模板。由于公共模板被公共地用于多个输入数据,可以减少模板数量。
本发明还提供了一种数据解压缩器,包括:模板存储装置,用于存储多顶点之间的具有特定模式的引用信息作为模板,其中,所述模板可以与存储的其它模板共享顶点之间的引用信息;提取装置,用于:导入用所述模板存储装置存储的所述模板替换的、被压缩的交叉引用数据,作为第一输入数据,并用于使用所述模板从交叉引用数据恢复原始的未压缩的交叉引用数据;以及组合装置,用于导入由多个各具有自己的类型和值的顶点构成的顶点群的数据作为第二输入数据,并输出用所述提取装置恢复的交叉引用数据组合所述顶点群的数据而获得的数据。该数据解压缩器能够使用存储在模板存储装置中的模板,从压缩的交叉引用数据恢复原始的未压缩的交叉引用数据。
本发明还提供了一种数据管理***,包括:第一数据存储装置,用于存储可压缩数据;第二数据存储装置,用于存储由数据压缩器压缩的数据;使用频率监测装置,用于监测存储在第一数据存储装置和第二数据存储装置中的每一个数据的使用频率,并根据监测到的使用频率输出移动请求;控制装置,用于:根据来自使用频率监测装置的移动请求,对数据的移动进行控制,使得使用频率高的高频数据由所述数据解压缩器解压缩以被存储到所述第一数据存储装置中,并使使用频率低于所述高频数据的数据由所述数据压缩器压缩以被存储到所述第二数据存储装置中;以及选择装置,用于根据来自所述控制装置的指令,从第一数据存储装置或者第二数据存储装置获取数据,并输出所获取的数据。该数据管理***能够在第一数据存储装置和第二数据存储装置之间根据数据的使用频率来移动数据,从而通过适当地切换到压缩状态或者不压缩状态来存储数据。因此,频繁使用的数据不被压缩,其访问速度保持原样,从而平均来说能够提高数据访问速度。
根据本发明,即使用于数据结构压缩的模板数量增加,也可以避免对存储模板所需的存储设备比如内存产生太重的负担。
附图说明
图1的框图图示了本发明一个实施例的数据压缩器的配置;
图2的示意图图示了XML文档的一个例子以及XML文档的数据结构;
图3的示意图图示了交叉引用数据以及从图2的XML文档分离出来的一组顶点的列表。
图4的示意图图示了模板的结构、模板实体的结构以及第一模板的结构;
图5的示意图图示了压缩的交叉引用数据;
图6的框图图示了另一种交叉引用数据和第二模板的配置;
图7的示意图图示了压缩后的图6中的交叉引用数据;
图8的图示了匹配监测过程的一个例子;
图9的示意图图示了模板匹配信息1501和1505;
图10图示了替换过程的一个例子;
图11图示了另一个XML文档和XML文档的数据结构;
图12的框图图示了根据本发明的一个实施例的数据解压缩器的配置;
图13图示了用于从模板恢复顶点之间的原始引用信息的一个例子;
图14的框图图示了一个数据管理***的配置;
图15的框图图示了第三模板的结构;
图16的框图图示了内部具有模板的母模板的结构;
图17图示了一个母模板和一个母模板实体;
图18图示了XML文档的另一个例子;
图19图示了图18的XML文档的数据结构;
图20图示了从图19的XML文档分离出来的交叉引用数据和顶点集合的表格;
图21图示了从图18的XML文档分离出来的数据结构;
图22图示了从图18的XML文档分离出来的元素名信息;
图23图示了从图18的XML文档分离出来的文本信。
具体实施方式
下面接合附图描述本发明的数据压缩器、数据解压缩器以及数据管理***的实施例。
〔数据压缩器的实施例〕
(第一实施例)
图1的框图图示了本实施例的数据压缩器101的结构。如图1所示,该数据压缩器101具有模板存储器102、分离器103、模板匹配检测器104以及模板替换器105。该数据压缩器101被配置为从输入数据106输出第一输出数据107和第二输出数据108。
图1中的数据压缩器被构建为单个设备,其中集成有所述模板存储器102、分离器103、模板匹配检测器104和模板替换器105,但是它并不总是需要实现为单一的设备,而可以通过将这些装置通过未图示的通信手段连接起来。例如,也可以采用这样的结构:其中,模板存储器102被从数据压缩器101中取消了,而是实现为一个单独的设备,该数据压缩器101通过通信手段连接到该模板存储器102。这样的配置使得能够提供多个没有模板存储器102的数据压缩器,由它们共享一个模板存储器102。
在本实施例中,将结合对图2所示的XML文档20进行压缩的过程来描述本发明。但是,在本实施例中由数据压缩器101进行压缩的对象不限于XML文档比如XML文档20。本发明可以应用于由通用图结构(general graph structure)表达的数据,所述通用图结构比如具有有类型和值的顶点,或者有值的顶点(每一个值具有作为属性信息的类型),以及顶点之间的引用信息。所述有值的顶点(每一个值具有作为属性信息的类型)例如是这样一个顶点,其有值“1”,并具有信息“integer”(整数)作为属性信息,因此可以根据所述属性信息确定该值的类型。因此,有值的顶点(每一个值具有作为属性信息的类型)也可以用本实施例中的数据压缩器压缩,压缩方式与有各自的类型和值的顶点相同。用通用图结构表达的数据不限于有根的、有序的(分层的)树比如XML文档,也指,例如,更普通的具有闭合路径的无向或者有向图。
图2(a)的示意图图示了XML文档20的文本表达的一个例子。该XML文档可以用公知的技术(例如在http://xml.apache.org/xerces2-i/上发表的Xerces)被转换为适合计算机内部的数据结构,如图2(b)所示。下面描述在将XML文档20转换为图2(b)所示的数据结构21之后进行的压缩步骤。该数据结构21具有多个各由自己的类型和值的顶点,以及顶点之间的引用信息。
另一方面,图1所示的分离器103导入图2(b)所示的数据结构21,作为输入数据106,并将输入数据106分离为具有顶点之间的引用信息的交叉引用数据,以及由具有各自的类型和值的多个顶点构成的顶点群。也就是,分离器103通过对顶点901到923顺序分配能够唯一地标识各顶点的相应ID(顶点ID)来产生交叉引用数据900,并通过对这样分配的顶点ID和原来由相应顶点901-923拥有的类型和值的组进行列表而产生表格950(该表格950由具有类型和值的顶点901-923的集合(顶点群)构成),从而实现对数据结构21的分离。可以通过广度优先搜索、深度优先搜索等来为各顶点901到923分配顶点ID。在这里,采用广度优先搜索。所述分离器将通过分离获得的顶点群的数据作为第二输出数据108输出。
从XML文档20分离出来的交叉引用数据900和表格950分别被图示于图3(a)和图3(b)中。这里,图3(b)所表达的格式这样:dingdID950a、类型950b和值950c构成一行。在压缩之前,所述模板存储器102预先存储一个模板和一个模板实体。模板存储器102存储预先知道使用频率高的高频模板实体和模板,例如。这样的模板和模板实体的例子是分别示于图4(a)和图4(b)的模板1003和模板实体1020。
模板1003具有模板ID 1001、连接信息1002和模式信息1004。在模板存储器102存储了多个模板的情况下,模板ID 1001用于唯一地标识每一个模板。模式信息1004表示所述模板所表达的顶点之间的引用信息的模式,具有多个顶点和顶尖之间的交叉引用信息。模式信息1004中的引用信息涉及四种引用信息:母引用、子引用、后同胞引用和前同胞引用。在没有连接目标顶点的引用中,向在如后所述应用所述模板压缩交叉引用数据900时不使用的引用提供对模式信息1004中的事实的描述。这可以通过,例如,定义一个无效的顶点并引用该顶点来实现。所述连接信息1002包括表示在应用所述模板1003压缩交叉引用数据900时与另一个模板或者顶点的连接的连接引用的列表。
由于模板1003的配置在具有连接引用的连接信息1002和具有引用信息的模式信息1004之间有区别,可以在不同的模板1003之间共享模式信息。也就是,使得所述连接信息1002不同于另一个连接信息,以在顶点和能够被连接的其它模板中产生差异,从而可以将具有相同模式信息1004的模板用作不同的模板。这样就可以忽略模板中顶点之间的引用信息,从而有效地利用模板存储器102的内存使用量(存储区)。
图4(c)图示了作为模板1003的一个具体例子的第一模板1011。在示于图4(c)的第一模板1011中的模板ID 1012中设置了“1”。第一模板1011中的模式信息1019包括五个顶点1014到1018以及它们之间的引用,引用关系用箭头表示。引用的种类通过在箭头处描述p(表示母引用)、c(表示子引用)、ns(表示后同胞引用)和ps(表示前同胞引用)来表示。例如,顶点1014的子引用c指定顶点1016,顶点1016的后同胞引用指定顶点1017。
另外,“x”用于描述引用的结束点,表示在应用模板压缩交叉引用数据900时不使用它,“o”用于描述引用的结束点,表示在应用模板压缩交叉引用数据900时它被连接到另一个模板或者顶点。对于与后者相应的四种引用,也就是对于顶点1014的母引用以及顶点1016、顶点1017和顶点1018的子引用,它们的顶点ID和引用类型被列于连接信息1013中。
模板实体1020用来表示在压缩交叉引用数据900时模板在输入数据106上的应用(或者表示模板已经应用于所述输入数据)。该模板实体1020具有模板实体ID 1005、反转标记(inverse flag)1006和模板专有信息1007。模板专有信息1007具有表示被应用的模板的使用模板ID1008、实体连接信息1009和实体信息1010。通过访问压缩后的交叉引用数据中的模板实体1020,可以抓取模板的应用内容。
模板实体ID1005用来在用模板压缩交叉引用数据900时唯一地区分模板的应用部分。反转标记1006表示在用模板压缩交叉引用数据900时同胞关系的方向是否是在反转状态被使用。在本实施例中,当反转标记1006为假时,后同胞引用和前同胞引用就是其字面意义;如果反转标记1006为真,则“后同胞引用”表示“前同胞引用”,“前同胞引用”表示“后同胞引用”。
模板专有信息1007中的实体信息1010的提供是为了列出在应用模板压缩交叉引用数据900时要被连接的顶点。该实体信息1010存储在应用模板压缩交叉引用数据900时被包括在模板中的顶点的ID。在后面将要描述实体连接信息1009。在利用同一模板的反转时,所述反转标记1006是需要的,但是在不这样应用模板时,它是不需要的。
接下来,模板匹配检测器104从所述分离器103从输入数据106分离出来的交叉引用数据900中检测与存储在模板存储器102中存储的模板匹配的部分。由于可以预期模板存储器102存储了多个模板,可以想见,模板匹配检测器104会获得多个检测结果。但是,如后所述,检测结果例如是由示于图8的匹配检测过程唯一地定义的。
本实施例图示了在模板存储器102只存储有第一模板1011的情况下,由示于图8的过程从交叉引用数据900获得的匹配部分。与该模板的匹配部分1501例如可以用使用模板ID1502、反转标记1503以及顶点对应信息1504表示为图9(a)所示的形式,所述顶点对应信息1504表示模板的顶点和原始交叉引用数据900的顶点之间的对应关系。
模板匹配信息1505表示由模板匹配检测器104从交叉引用数据900获得的与存储在模板存储器102中的模板的匹配的检测结果,如图9(b)所示。在模板存储器102只存储了第一模板1011的情况下,该模板匹配信息1505是图8所示过程的检测结果。这里,该模板匹配信息1505具有表示三个匹配部分的第一、第二和第三匹配部分1506、1507和1508。
第一匹配部分1506和第二匹配部分1507表示该匹配是这样完成的:使用没有反转的第一模板1011,在模板的顶点和顶点对应信息1509以及顶点对应信息1510分别所示的原始交叉引用数据900的顶点之间建立对应关系。第三匹配部分表示该匹配是这样完成的:反转第一模板1011,在模板的顶点和顶点对应信息1511所指示的原始交叉引用数据900的顶点之间建立对应关系。然后,模板匹配检测器104将这种结构的模板匹配信息传送(或者馈送)到模板替换器105。
模板替换器105从模板匹配检测器104导入模板匹配信息1505,利用所述模板匹配信息1505将该模板应用于原始交叉引用数据900,以使用模板实体1020在顶点之间的引用信息能够被访问的状态下实施替换,并将替换结果作为第一输出数据107输出。使用模板替换原始交叉引用数据900的替换过程如图10所示,替换的结果是示于图5的交叉引用数据。该交叉引用数据1100是压缩后的交叉引用数据(以下称为“被压缩的引用数据”)。
图10图示了所述替换过程。该替换过程是如下执行的:在开始处理后,流程前进到步骤S1,将i设为0。然后流程前进到步骤S2,对于匹配模板匹配信息(模板匹配信息1505)中所包括的所有匹配部分(在前述情况下,是第一、第二和第三匹配部分1506、1507和1508)的每一个,重复步骤S3及其以后的处理。用Mi表示所选择的匹配部分。在步骤S3,建立一个模板实体,其实体ID被设置为实体ID=i。该模板实体被表示为Oi,并执行后续处理。分别从MI的使用模板ID和反转标记拷贝用于该模板实体的使用模板ID和反转标记。从Mi的顶点对应信息拷贝实体信息。从在实体信息中描述的对应关系,通过代入原样的原始引用来产生实体连接信息。然后流程前进到步骤S4,计算i=i+1。在随后的步骤S5,一个一个地选中这样建立的模板实体,对于每一个模板实体重复下述处理。选中的模板实体被表示为Oi。接下来,流程前进到步骤S6,在实体连接信息所描述的引用的连接目标顶点被包括在另一个模板实体中的情况下,用一个模板实体ID和该模板的一个顶点的组合替换之。
在图5中,有三个模板实体:模板实体1124、模板实体1133和模板实体1140。模板实体1124、模板实体1133和模板实体1140各有自己的实体ID 1125、实体ID 1131和实体ID 1138,它们分别被赋予值“1”、“2”和“3”,以能被识别。所述模板实体在它们的使用模板ID1128、1135和1142中都设置了“1”,并具有反转标记1126、1132和1139,前两个的值为假,后一个的值为真。这表明,图示于图4(c)的第一模板1011无反转地被应用于模板实体1124和1133,第一模板1011在反转的情况下被应用于模板实体1140。
图5中每一个模板实体1124、1133和1140的实体信息包含指示包含在模板中的顶点和应用模板之前交叉引用数据的顶点之间的对应关系的信息。为此,顶点之间的引用信息保留在替换后的交叉引用数据1100中,并可以被访问。例如,在模板实体1124的情况下,实体信息1130包含这样的信息:表示第一模板1011的顶点1014、1015、1016、1017和1018分别对应于压缩前的交叉引用数据900的顶点902、903、904、905和906,如图3(a)所示。每一个模板实体的实体连接信息包含表示与另一个模板实体或者顶点的连接关系的信息。应用于每一个模板实体的模板是第一模板1011,其连接信息1013描述了第一模板1011保持有可以连接到外部的四个引用。
这样,每一个模板实体的实体连接信息描述了哪些顶点对应于这些引用目标。例如,在模板实体1124的情况下,实体连接信息1129包含这样的信息:表明顶点1014的母引用被连接到顶点907,顶点1016和顶点1017的子引用分别被连接到模板实体ID为“2”的另一个实体的顶点1014,以及模板实体ID为“3”的另一个实体的顶点1014,顶点1018的子引用不连接到任何顶点。
在应用模板之前的交叉引用数据900中,如图3所示,顶点902到917中的每一个具有四个引用,而在应用模板之后的交叉引用数据1100中,如图5所示,它们被没有顶点之间的引用信息的模板实体取代。这种取代使得能够用模板进行压缩。所应用的模板如下所述也与传统技术不同。也就是,模板匹配部分1508不与第一模板1011匹配,从而传统技术对于模板匹配部分1508来说需要另一个模板,而在本实施例中,如上所述,模板匹配部分1508能够匹配第一模板1011的反转,从而对于模板匹配部分1508不需要另外的模板。因此,能够有效地利用模板存储器102的存储区。
关于第二输出数据108(它是从如图3(b)所示的输入数据分离出来的带类型和值的顶点的集合)的压缩,除了在由分离器103分离出来之后输出这一点之外,本实施例没有引用任何东西。例如可以用与文献1中描述的前述方法或者类似方法的组合来压缩第二输出数据108。在本实施例中,对于每一个模板实体准备一个反转标记,但是可以对整个交叉引用数据准备一个反转标记,或者二者都设置。
另一方面,在如前所述的本实施例中的数据压缩器101被应用于多种类型的输入数据的情况下,模板可以被用作在多种类型的输入数据之间共享的公共模板。由于公共模板可以应用于多种类型的输入数据,没有必要提供对应于各输入数据的模板。因此,可以有效地利用模板存储器102的内存。
例如,在图示于图11(a)的XML文档30的情况下,示于图4(c)的第一模板1011也可以以与示于图2的XML文档相同的方式由示于图8的匹配检测过程加以应用。然后,模板存储器102存储应用于XML文档20、30而无区别地作为公共模板的模板,从而能够有效地利用模板存储器102中的存储空间(或者提高内存的利用效率)。
下面说明示于图8的匹配检测过程。在开始处理之后的步骤S11,按照从具有最大的预点数的模式开始,从存储在模式存储器中的模式中选择一个模式,对每一个模式重复以下的处理。被选择的模式用Pj表示。然后过程前进到步骤S12对反转标记的每一个假和真的值重复下述处理。在随后的步骤S13,从被包括在交叉引用数据中的顶点选择数量与被选择的模式Pj中的顶点数量匹配的顶点的组合被定义为X1,X2,...,Xm,并从中一个一个地进行选择而重复下述处理。被选中的组合被表示为Xk。然后流程前进到步骤S14,判断是否被包括在Xk中的顶点都没有带替换完成标记。如果没有标记,则流程前进到步骤S15;否则结束处理。当流程前进到步骤S15时,判断Xk与Pj是否同类型。如果类型相同,则流程前进到步骤S16,否则结束处理。当流程前进到步骤S16时,Xk被登记为一个匹配部分,向被包括在Xk中的顶点提供一个标记,表示完成了替换。
(第二实施例)
下面描述压缩如图6(a)所述的具有多个相邻同胞引用的交叉引用数据的情况。数据压缩器101被配置为通过用一个示于图6(b)的第二模板1201来替换示于图6(a)的相邻同胞引用部分1200来压缩该交叉引用数据1204。示于图6(b)的第二模板1201具有一个模板ID1202和连接信息1203,但是没有模式信息,这与第一模板1101不同。该第二模板1201是用于相邻同胞引用的模板,其用来压缩具有象交叉引用数据1204那样的相邻同胞引用部分的交叉引用数据。
这里,在交叉引用数据1204中,如图6(a)所示,相邻同胞引用部分1200为如下配置:它具有从第一、第二、第三到第N的N个顶点2a、2b、2c...2n,除了第一顶点2a和第二顶点2b的具有序号的顶点必定相互引用,第一顶点2a引用第二顶点2b,并有一个对相邻同胞引用部分1200外部的顶点2p的引用。另外,第N个顶点2n引用未图示的第(N-1)个顶点,从第二到第N的每一个顶点没有到相邻同胞引用部分1200外部的引用(或者它们可以有相同数量的引用,例如象图3中的顶点912、913那样)。为了压缩这样的交叉引用数据1204,至少应当知道构成相邻同胞引用部分1200的顶点的数量和第一顶点对外部的引用。因此,第二模板1201中的连接信息1203被配置为包含构成相邻同胞引用部分的顶点的数量N,以及模板的父引用p。模板ID 1202是“2”。
图7的示意图图示了用示于图6(b)的第二模板1201压缩交叉引用数据1204之后的交叉引用数据1300。在这种情况的压缩中,与模板的匹配部分的探测和模板的应用可以以与第一实施例相同的方式进行。在图7中,交叉引用数据1300包含三个模板实体:模板实体1318、1323和1329,它们的实体ID1317、实体ID1322和实体ID1328分别具有值“1”、“2”和“3”。这些模板实体都具有自己的使用模板ID1326、1334和1333,它们都被设置为“2”(意思是在压缩中使用了第二模板1201)。由于本实施例没有使用反转标记,每一个模板实体1318、1323和1329都没有反转标记。
每一个模板实体1318,1323,1329的实体连接信息1320,1325,1331都包含一个构成相邻同胞引用部分的顶点数量N(分别地,N=4,3或者2)的记录以及每一个模板实体的父引用p。例如,在模板实体1318的情况下,N=4,p为401。每一个模板实体的实体信息1321,1327,1332包含表示模板所包括的顶点的信息。例如,在模板实体1318的情况下,实体信息表示实体连接信息1320所指示的四个顶点,也就是顶点402,403,404和405。如上所述,可以用第二模板1201压缩交叉引用数据1204。由于用在压缩中的第二模板1201没有模式信息,存储第二模板1201所需的存储量可以很小。因此,可以减少模板存储器102的存储区使用量。
(数据解压缩器的实施例)
下面结合图12描述数据解压缩器1801。图12是一个框图,图示了本实施例的数据解压缩器1801的结构。该数据解压缩器1801从示于图5的被压缩的交叉引用数据(压缩引用数据)1100以及由示于图3(b)的具有各自的类型和值的多个顶点构成的顶点组的数据,恢复具有各有自己的类型和值的多个顶点,以及顶点之间的引用信息的原始数据。该数据解压缩器1801具有模板存储器1802、组合器1803和模板提取器1804。
图12图示的数据解压缩被构建为包括前述各部件的单个设备,但是该数据解压缩器1801并不是必须被实现为单个设备,而可以用未图示的通信手段连接多个设备来实现。例如,可以采用这样的配置:模板存储器1802与数据解压缩器1801分开,被实现为单个单独的设备,其中,所述两个设备通过未图示的通信手段连接起来。这样的配置允许多个没有模板存储器1802的数据解压缩器共享所述模板存储器1802。所述模板提取器1804使用存储在模板存储器1802中的模板提取作为第一输入数据1806的压缩交叉引用数据。可以通过,例如示于图13的解压缩过程来实现所述提取过程。由模板提取器1804解压缩的交叉引用数据类似于图3所示的交叉引用数据900。
所述组合器1803将提取出来的交叉引用数据与作为如图3(b)所示的第二输入数据给出的具有类型和值的顶点群的数据组合起来,并将组合数据作为输出数据1805输出。组合过程如下。由于在示于图3(b)的表950中具有类型和值的顶点群中为顶点分配了各自的顶点ID,类型和值被置入具有相应的顶点ID的交叉引用数据的顶点中。上述过程使得能够恢复具有各有自己的类型和值的多个原始顶点以及顶点之间的引用信息的输入数据。
解压缩过程如下。在图13中,在开始之后的步骤S21将被包括在压缩交叉引用数据中的所有模板实体定义为X1,X2,...,Xn,对于所有模板实体中的每一个执行以下过程。选中的模板实体被表示为Xi。然后流程前进到步骤S22,从模板实体Xi使用的模板拷贝顶点之间的引用信息,并分配在模板实体Xi的实体信息中描述的顶点的ID。然后流程前进到步骤S23,在这里,在模板实体Xi的实体连接信息中所描述的顶点是被包括在另一个模板实体Xm中的顶点时,用模板实体Xm中所描述的顶点ID替换之。
〔数据管理***的实施例〕
用本发明的数据压缩器压缩交叉引用数据可能导致对压缩后的数据的访问速度降低。为此,最好用下述犯法进行数据管理:观测数据的使用频率,将在任何给定时刻具有高使用频率的数据保持在不压缩状态,随着使用频率的增加,将即使压缩过一次的交叉引用数据返回不压缩状态,并随着使用频率的下降相反地压缩数据。通过提供进行这样的数据管理的数据管理***,能够实现整个***速度的增加和存储空间的节省。
图14的框图图示了能够进行这种数据管理的数据管理***的配置。该数据管理***2000具有第一数据存储器2001、第二数据存储器2004、数据压缩器2002和数据解压缩器2003。该数据管理***2000还具有一个使用频率检测装置2006、一个控制器2005和一个选择器2008。
本实施例中的数据管理***2000被构建为包括前述各部件的单个设备,但是本发明的数据管理***并不是必须被实现为单个设备,而可以用来图示的通信手段连接多个设备来实现。例如,也可以采用这样的配置:第一数据存储器2001与数据管理***2000分开,后面要描述的模板存储器102被从数据压缩器2002中取消,将所述第一数据存储器2001实现为单个单独的设备,所述两个设备通过未图示的通信手段连接起来。这样的配置允许多个没有第一数据存储器2001的数据管理***共享所述第一数据存储器2001。其它部件同样如此。
所述第一数据存储器2001以未压缩状态存储作为可压缩数据的适合计算机的格式的数据(例如,示于图20的交叉引用数据400或者类似数据)。第二数据存储器2004存储压缩数据(例如示于图5的交叉引用数据1100,或者类似数据)。这里,数据压缩器2002具有与本发明的前述数据压缩器101相同的配置,数据解压缩器2003具有与前述数据解压缩器1801相同的配置。
所述控制器2005根据从***外部提供的数据规范2009控制第一数据存储器2001、第二数据存储器2004、数据压缩器2002、数据解压缩器2003以及选择器2008。该控制器2005根据来自使用频率检测装置2006的移动请求,进行对应于数据规范2009的规范的数据的移动的控制。根据来自控制器2005的指令,选择器2008从第一数据存储器2001或者第二数据存储器2004获取存储的数据,并输出所获取的数据。
使用频率监测装置2006观测存储在第一数据存储器2001或者第二数据存储器2004中的数据(交叉引用数据)的使用频率,并根据观测到的使用频率输出后面所述的移动请求。该使用频率监测装置2006在内部保持一个示于历史列表2007。该使用历史列表2007保留有被请求使用的数据的多个(N个)区别ID,例如按照使用请求的顺序,以线性列表的形式(未图示)。本实施例中的数据管理***2000为每一个数据项分配一个区别ID,用于唯一地区分存储在内部的数据项。数据规范2009是用于为来自外部的特定数据提供区分ID的手段。
下面描述实际操作的细节。在数据管理***2000的情况下数据被存储在第一数据存储器2001或者第二数据存储器2004中,在初始状态数据可以被存储在第一数据存储器2001和第二数据存储器2004中的任何一个中。在下面的说明中假设所有的数据都被存储在第二数据存储器2004中。
由数据规范2009从外部输入区分ID时,控制器2005接收之并向使用频率监测装置2006馈送一个指令。从控制器2005接收到该指令时,使用频率监测装置2006向控制器2005馈送信息,告知相关数据被存储在第一数据存储器2001和第二数据存储器2004中的哪一个中,以及是否在所述两个存储设备之间移动数据。
这里,使用频率监测装置2006访问使用历史列表2007,以指定第一数据存储器2001和第二数据存储器2004,判断在数据规范2009中指定的数据是否存在于使用历史列表2007中。然后,使用频率监测装置2006例如给出应答,例如指出数据被存储在第一数据存储器2001中,数据在所述列表中,或者例如指出数据存储在第二数据存储器2004中,数据没有在所述列表中。
另外,对于第一数据存储器2001和第二数据存储器2004之间的数据移动的存在与否,使用频率监测装置如下所述给控制器2005一个答复。例如,它基于下述假设做出回答:更新使用历史列表2007时在使用历史列表2007中新描述(或者记录)的数据已经从第二数据存储器2004移动到第一数据存储器2001;更新历史列表时从使用历史列表2007中取消的数据已经从第一数据存储器2001移动到第二数据存储器2004。
然后,控制器2005基于来自使用频率监测装置2006的上述应答控制第一数据存储器2001或者第二数据存储器2004,使其输出所存储的数据,并使得选择器2008将从它们中的任何一个获得的数据输出到数据管理***2000的外部。
当控制器2005从使用频率监测装置2006接收到移动数据的请求时,它执行在数据存储器2001、2004之间移动数据的控制。例如,在控制器2005接收到将数据从第一数据存储器2001移动到第二数据存储器2004的移动请求的情况下,由于使用频率低,它执行这样的控制:移动所述数据,以从第一数据存储器2001提取所述数据,用所述数据压缩器2002压缩所述数据,然后将压缩数据存储到第二数据存储器2004中。然后,所述控制器2005进行控制,从第一数据存储器2001中删除所述提取的数据。
反过来,当控制器接收到从第二数据存储器2004向第一数据存储器2001移动数据的移动请求时,由于使用频率高,它执行控制,从第二数据存储器2004中提取数据,用数据解压缩器2003对压缩数据解压缩,并将解压缩后的数据存储到第一数据存储器2001中。该控制器2005还执行控制,从第二数据存储器2004删除所提取的数据。
在数据管理***2000中,如上所述,控制器2005根据来自使用频率监测装置2006的移动请求来控制数据的移动,从而,数据可以在第一数据存储器2001和第二数据存储器2004之间移动。因此,交叉引用数据的存储可以根据其使用频率适当地在压缩状态和未压缩状态之间切换。这样,使用频率高的数据以未压缩状态存储,以维持其高使用频率,从而可以在保持高工作速度的同时降低整个***的存储区使用量。
(其它实施例)
根据本发明,模板存储器也能够存储如图15所示的模板。图15的示意图图示了第三模板2100。可以看到,示于图15的第三模板2100的模式信息2103中的区2104和2105中的顶点之间的引用信息与示于图4(c)的第一模板1011的模式信息匹配。因此,此前描述的模板也能通过以下方式应用于该模板内的模式信息:扩展模板和模板实体,添加描述应用于内部的模板数量的信息、能够唯一地区分模板内部的每一个模板的ID,等等。
为了这里描述的方便,在将前述模板应用于模板内部的模式信息时,原始模板被称为母模板,应用于模板内部的模式信息的模板则称为子模板。图17(a)和(b)分别图示了母模板2300和母模板实体2320的配置举例,用于使模板也能应用于模板内部的模式信息。母模板2300和母模板实体2320与图4所示第一实施例中使用的模板1003和模板实体1020的不同在于:母模板2300包含另外的内部模板信息2301,母模板实体2320包含另外的内部模板实体连接信息2302和内部模板实体信息2303。
所述内部模板信息2301例如包含子模板数量和子模板的ID。内部模板实体信息2303包含每一个顶点的对应关系的描述,以描述在实际应用母模板时,被包括在子模板中的顶点和应用母模板之前的顶点之间的对应关系。所述内部模板实体连接信息2302包含在实际应用母模板时,子模板连接到外部母模板的连接信息的描述。
图16图示了示于图17(a)的模板的一个特定母模板。在此母模板2200中,内部模板信息2522包含ID=1和ID=2,因为两种类型的子模板被应用于两个部分。所述模式信息2203根据与第一实施例一样的交叉引用数据压缩过程被压缩,对其应用第一模板1011。
当将该配置的母模板2200应用于交叉引用数据时,可以用另一个模板的定义来定义模板,这样,与图15所示的第三模板2100相比,就可以减少模板的信息量。
Claims (7)
1.一种数据压缩器,包括:
分离装置,用于:将具有多个各有自己的类型和值的顶点、并具有顶点之间的引用信息的输入数据,分离为具有顶点之间的引用信息的交叉引用数据以及由多个具有类型和值的顶点构成的顶点群,并用于输出这样分离出来的顶点群的数据;
模板存储装置,用于存储顶点之间的具有特定模式的引用信息作为模板,其中,所述模板可以与存储的其它模板共享顶点之间的引用信息;
模板匹配检测装置,用于从所述分离装置分离出来的交叉引用数据中检测与在所述模板存储装置中存储的模板匹配的部分;以及
模板替换装置,用于:在能够引用顶点之间的引用信息的状态下,用模板替换由模板匹配检测装置在由分离装置分离出来的交叉引用数据中检测到的匹配部分,并输出所替换的交叉引用数据。
2.一种数据压缩器,包括:
分离装置,用于:将具有多个各有自己的值且每一个值能够具有作为属性信息的类型的顶点、并具有顶点之间的引用信息的输入数据,分离为具有顶点之间的引用信息的交叉引用数据以及由多个具有值的顶点构成的顶点群,并用于输出这样分离出来的顶点群的数据;
模板存储装置,用于存储顶点之间的具有特定模式的引用信息作为模板,其中,所述模板可以与存储的其它模板共享顶点之间的引用信息;
模板匹配检测装置,用于从所述分离装置分离出来的交叉引用数据中检测与在所述模板存储装置中存储的模板匹配的部分;以及
模板替换装置,用于:在能够引用顶点之间的引用信息的状态下,用模板替换由模板匹配检测装置在由分离装置分离出来的交叉引用数据中检测到的匹配部分,并输出所替换的交叉引用数据。
3.如权利要求1或2所述的数据压缩器,其中,所述模板是这样的模板:其中,在顶点之间的部分或者全部引用信息中,引用方向能够反转。
4.如权利要求1或2所述的数据压缩器,其中,所述模板存储装置存储用于相邻同胞引用的模板,该模板具有用于应用到具有相邻同胞引用部分的交叉引用数据的连接信息,所述相邻同胞引用部分具有第1到第N共N个顶点,其中N为大于2的整数,其中,具有除了第一顶点和第二顶点之外的序号的顶点相互引用,其中第一顶点引用第二顶点并拥有一个对外部的引用,其中第N顶点引用第(N-1)顶点,其中,从第二到第N的每一个顶点没有对外部的引用或者均具有相同数量的引用。
5.如权利要求1或2所述的数据压缩器,其中,所述模板存储装置存储其中可将前述模板应用于顶点之间的引用信息的母模板。
6.如权利要求1或2所述的数据压缩器,其中,所述模板存储装置存储一个能够公共地用于多个所述输入数据的公共模板。
7.一种数据解压缩器,包括:
模板存储装置,用于存储多个顶点之间的具有特定模式的引用信息作为模板,其中,所述模板可以与存储的其它模板共享顶点之间的引用信息;
提取装置,用于:导入用所述模板存储装置存储的所述模板替换的、被压缩的交叉引用数据,作为第一输入数据;并用于使用所述模板从交叉引用数据恢复原始的未压缩的交叉引用数据;以及
组合装置,用于导入由多个各具有自己的类型和值的顶点构成的顶点群的数据作为第二输入数据,并输出用所述提取装置恢复的交叉引用数据组合所述顶点群的数据而获得的数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP328428/2003 | 2003-09-19 | ||
JP2003328428A JP4261299B2 (ja) | 2003-09-19 | 2003-09-19 | データ圧縮装置、データ復元装置およびデータ管理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1598811A CN1598811A (zh) | 2005-03-23 |
CN100354861C true CN100354861C (zh) | 2007-12-12 |
Family
ID=34191395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100787884A Expired - Fee Related CN100354861C (zh) | 2003-09-19 | 2004-09-17 | 数据压缩器和数据解压缩器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7774387B2 (zh) |
EP (1) | EP1517449A3 (zh) |
JP (1) | JP4261299B2 (zh) |
CN (1) | CN100354861C (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060085737A1 (en) * | 2004-10-18 | 2006-04-20 | Nokia Corporation | Adaptive compression scheme |
US20070005625A1 (en) * | 2005-07-01 | 2007-01-04 | Nec Laboratories America, Inc. | Storage architecture for embedded systems |
FR2907568B1 (fr) * | 2006-10-23 | 2008-12-26 | Canon Kk | Procede et dispositif de generation de motifs mixtes de reference a partir d'un document ecrit en langage de balisage et procedes et dispositifs de codage et de decodage associes. |
US7836396B2 (en) * | 2007-01-05 | 2010-11-16 | International Business Machines Corporation | Automatically collecting and compressing style attributes within a web document |
JP4756003B2 (ja) * | 2007-03-01 | 2011-08-24 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | データ圧縮転送装置、データ圧縮転送システム、データ圧縮転送方法、およびデータ圧縮転送プログラム |
FR2914759B1 (fr) * | 2007-04-03 | 2009-06-05 | Canon Kk | Procede et dispositif de codage d'un document hierarchise |
US7746250B2 (en) * | 2008-01-31 | 2010-06-29 | Microsoft Corporation | Message encoding/decoding using templated parameters |
CN101499065B (zh) | 2008-02-01 | 2011-11-02 | 华为技术有限公司 | 基于fa的表项压缩方法及装置、表项匹配方法及装置 |
GB2463920B (en) * | 2008-09-30 | 2012-08-22 | Cambridge Broadband Networks Ltd | Improved data compression |
CN102473175B (zh) * | 2009-07-31 | 2015-02-18 | 惠普开发有限公司 | Xml数据的压缩 |
CN102053990A (zh) * | 2009-10-30 | 2011-05-11 | 国际商业机器公司 | 结构化文档的处理方法和设备 |
US20120084635A1 (en) * | 2010-09-30 | 2012-04-05 | Microsoft Corporation | Parameterized template compression for binary xml |
CN102447604B (zh) * | 2010-09-30 | 2016-01-27 | 迈普通信技术股份有限公司 | 路由表信息存储方法以及路由设备 |
CN107193642A (zh) * | 2016-03-14 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 任务数据压缩切换方法、宜压缩程度评价方法及相关装置 |
CN106934066B (zh) * | 2017-03-31 | 2024-06-18 | 联想(北京)有限公司 | 一种元数据处理方法、装置和存储设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1122655A2 (en) * | 2000-02-04 | 2001-08-08 | International Business Machines Corporation | Data compression apparatus, database system, data communication system, data compression method, storage medium and program transmission apparatus |
US6349372B1 (en) * | 1999-05-19 | 2002-02-19 | International Business Machines Corporation | Virtual uncompressed cache for compressed main memory |
US20020073298A1 (en) * | 2000-11-29 | 2002-06-13 | Peter Geiger | System and method for managing compression and decompression of system memory in a computer system |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09130616A (ja) | 1995-10-27 | 1997-05-16 | Matsushita Electric Ind Co Ltd | 画像圧縮方法 |
JP2001251617A (ja) | 2000-03-06 | 2001-09-14 | Japan Science & Technology Corp | 自己相似性を利用した平均値伝送符号化・復号化方法及びその装置 |
JP2001282516A (ja) | 2000-03-30 | 2001-10-12 | Digital Electronics Corp | ユーザーインターフェース装置、および、そのプログラムが記録された記録媒体 |
US6874141B1 (en) * | 2000-06-29 | 2005-03-29 | Microsoft Corporation | Method of compiling schema mapping |
US6941511B1 (en) * | 2000-08-31 | 2005-09-06 | International Business Machines Corporation | High-performance extensible document transformation |
JP4774145B2 (ja) | 2000-11-24 | 2011-09-14 | 富士通株式会社 | 構造化文書圧縮装置および構造化文書復元装置並びに構造化文書処理システム |
US7194683B2 (en) * | 2001-03-02 | 2007-03-20 | International Business Machines Corporation | Representing and managing dynamic data content for web documents |
JP2003044459A (ja) | 2001-08-02 | 2003-02-14 | Hitachi Software Eng Co Ltd | 構造化データに対するデータ圧縮方法およびデータ交換方法 |
US7669120B2 (en) | 2002-06-21 | 2010-02-23 | Microsoft Corporation | Method and system for encoding a mark-up language document |
-
2003
- 2003-09-19 JP JP2003328428A patent/JP4261299B2/ja not_active Expired - Fee Related
-
2004
- 2004-09-08 US US10/935,584 patent/US7774387B2/en not_active Expired - Fee Related
- 2004-09-08 EP EP04021354A patent/EP1517449A3/en not_active Withdrawn
- 2004-09-17 CN CNB2004100787884A patent/CN100354861C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6349372B1 (en) * | 1999-05-19 | 2002-02-19 | International Business Machines Corporation | Virtual uncompressed cache for compressed main memory |
EP1122655A2 (en) * | 2000-02-04 | 2001-08-08 | International Business Machines Corporation | Data compression apparatus, database system, data communication system, data compression method, storage medium and program transmission apparatus |
CN1316828A (zh) * | 2000-02-04 | 2001-10-10 | 国际商业机器公司 | 数据压缩、传输、存储及程序传输 |
US20020073298A1 (en) * | 2000-11-29 | 2002-06-13 | Peter Geiger | System and method for managing compression and decompression of system memory in a computer system |
Also Published As
Publication number | Publication date |
---|---|
US20050102304A1 (en) | 2005-05-12 |
EP1517449A2 (en) | 2005-03-23 |
US7774387B2 (en) | 2010-08-10 |
CN1598811A (zh) | 2005-03-23 |
JP2005094652A (ja) | 2005-04-07 |
EP1517449A3 (en) | 2005-08-10 |
JP4261299B2 (ja) | 2009-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100354861C (zh) | 数据压缩器和数据解压缩器 | |
CN104040542B (zh) | 用于在易失性存储器内保持关系型数据的列向量的技术 | |
CN101276367B (zh) | 用于在数据存储器上数字地存储数据的方法 | |
CN100561464C (zh) | 文档变换*** | |
CN101311930B (zh) | 具有重复值的表的块压缩 | |
CN101040444B (zh) | 压缩结构化文档的方法和装置 | |
CN103810224B (zh) | 信息持久化和查询方法及装置 | |
CN101630323B (zh) | 确定自动机的空间压缩方法 | |
CN101655877B (zh) | 一种文件打包、提取的方法和装置 | |
CN108446313B (zh) | 一种数据格式转换方法和装置 | |
CN104750744B (zh) | 一种基于Oracle数据库的压缩数据同步方法及装置 | |
CN105191144B (zh) | 压缩装置、压缩方法、解压装置、解压方法以及信息处理*** | |
CN102521356B (zh) | 基于确定有限状态自动机的正则表达式匹配设备和方法 | |
JPH07253991A (ja) | ジョイン処理方式 | |
CN106095788A (zh) | 一种数据存储方法及装置 | |
CN105978574B (zh) | 在输入区块扫描时维持分类符号列的硬件数据压缩器 | |
CN103929499A (zh) | 一种物联网异构标识识别方法和*** | |
JP2006287518A (ja) | 圧縮規則生成方法、圧縮通信装置及びプログラム | |
EP1154352A1 (en) | Data transmission method, computer-readable medium, and data transmission apparatus | |
KR100500245B1 (ko) | 객체 지향 프로그램이 기록된 저장 매체 | |
CN102831146A (zh) | 数据库子串过滤索引***及其构建、查询方法 | |
JPH10261969A (ja) | データ圧縮方法および装置 | |
Müldner et al. | XSAQCT: XML queryable compressor | |
JP6103021B2 (ja) | データ生成方法、装置及びプログラム、検索処理方法、装置及びプログラム | |
JP2007310845A (ja) | データ処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20071212 Termination date: 20140917 |
|
EXPY | Termination of patent right or utility model |