CN105893337A - 用于文本压缩和解压缩的方法和设备 - Google Patents
用于文本压缩和解压缩的方法和设备 Download PDFInfo
- Publication number
- CN105893337A CN105893337A CN201510003759.XA CN201510003759A CN105893337A CN 105893337 A CN105893337 A CN 105893337A CN 201510003759 A CN201510003759 A CN 201510003759A CN 105893337 A CN105893337 A CN 105893337A
- Authority
- CN
- China
- Prior art keywords
- text
- dictionary
- data
- compressed
- value
- 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
-
- 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
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3088—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- 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
-
- 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
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
-
- 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
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6005—Decoder aspects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Document Processing Apparatus (AREA)
Abstract
本公开提供了一种用于文本压缩和解压缩的方法和设备。在根据本公开的一个实施方式中,所述方法包括:接收文本数据;基于文本字典来搜索文本数据中的可压缩文本项,其中文本字典包括多个键值对,多个键值对中的每个键值对包括文本压缩值以及对应的可压缩文本项,且文本压缩值具有比所述可压缩文本项更小的长度;以及将搜索到的文本数据中的可压缩文本项替换为对应的文本压缩值,以便对文本数据进行压缩。在本公开的实施方式中,不但可以获得期望的压缩率,而且压缩后的内容本身仍然是可搜索的文本形式。这提供了在无需解压的情况下进行搜索的可能性,因此可以显著节约存储空间和提高搜索效率,进而降低总所有成本TCO并给用户提供更好的体验。
Description
技术领域
本公开的实施方式涉及数据压缩技术领域,并且更具体地涉及用于进行文本压缩的方法、设备和计算机程序产品。
背景技术
目前,在诸如软件即服务(SaaS)以及大规模的分布式系统的大型软件系统中,每天会产生大量日志消息,以用于诸如系统监视、用户行为记录和故障诊断等各种目的。这些日志数据以非常高的吞吐量来产生,该吞吐量通常可以达到例如每小时10GB。这样的日志流将会占据了大量的I/O容量,而且这很可能成为系统系能的瓶颈。
为了改善系统性能,系统管理员通常需要关闭日志记录功能或者降低日志记录的精细度,例如不记录日志,或者仅仅在出现错误时才记录日志而忽略日常操作相关的日志信息。这种方式通过牺牲日志信息的细节而换取了系统性能的提升。然而,由于日志详细信息的缺乏。这却会在需要对系统问题进行识别和跟踪时造成额外的困难。
因此,从诸如故障诊断等目的而言,记录完整的日志信息是期望的。然而,这意味着需要在文件系统中或者需要在系统分析工具中配置巨大的存储空间。例如,在文件系统中提供存储空间的情况下,根据现有技术,为了节省存储空间日志文件一般被压缩为二进制文件。已知的是二进制压缩文件时不可搜索的,因而在执行日志分析时,需要在进行分析工作之前对压缩文件执行解压缩。当日志文件尺寸很大时,解压缩本身将花费很长的时间。而且还需要管理用于解压缩文件的额外存储空间。另外,由于二进制压缩文件不具有可搜索性,通常用于存储和对日志进行分析的日志分析工具需要存储不经压缩的原始文件。而由于巨大的数据量,这继而引发了日志分析工具也需要巨大存储空间以及搜索效率低下的问题。
因此,在本领域存在一种对改进的用于文本压缩和解压缩的方案的需求。
发明内容
有鉴于此,本公开提供了一种新的用于文本压缩和解压缩的技术方案,以克服或者缓解如前所述的现有技术中存在的至少一部分缺陷。
根据本公开的第一方面,提供了一种用于对文本数据进行压缩的方法。该方法可以包括:接收文本数据;基于文本字典来搜索所述文本数据中的可压缩文本项,其中所述文本字典包括多个键值对,所述多个键值对中的每个键值对包括文本压缩值以及对应的可压缩文本项,且所述文本压缩值具有比所述可压缩文本项更小的长度;以及将搜索到的所述文本数据中的可压缩文本项替换为对应的文本压缩值,以便对所述文本数据进行压缩。
在根据本公开的一个实施方式中,所述文本字典可以是基于所述文本数据的类型从分别与多种不同类型的文本数据对应的多个文本字典中而选择的。
在根据本公开的另一实施方式中,所述文本字典可以具有版本信息,以及所述方法可以进一步包括:为经过压缩的所述文本数据标记与所述文本字典的版本信息相同的压缩版本信息
在根据本公开的又一实施方式中,所述文本字典可以是通过对多个样本文本数据进行高频出现信息提取而建立的。
在根据本公开的再一实施方式中,所述可压缩文本项可以包括文本数据中频繁出现的语句、所采用的编程语言所固有的模式和文本类型所固定的格式其中一种或多种。
在根据本公开的另一实施方式中,所述文本字典的键值对所包括的可压缩文本项可以具有大于预定值的长度。
在根据本公开的又一实施方式中,所述文本字典的键值对所包括的文本压缩值可以包括大写字母、小写字母、数字以及符号其中任何一种及其组合,以及其中所述文本压缩值的长度可以不超过预定值。
在根据本公开的再一实施方式中,所述文本字典可以具有预定大小,以及其中可以基于文本项的权重来确定所述文本字典中的可压缩文本项,所述文本项的权重可以至少基于所述文本项的长度及其出现频率来确定。
在根据本公开的另一实施方式中,所述文本数据可以是文本流形式的日志数据。
在根据本公开的再一实施方式中,所述文本数据可以是其中包括可压缩文本项的针对已压缩文件的文本搜索请求。
在根据本公开的又一实施方式中,可以使用与所述文本搜索请求所针对的搜索已压缩文件的类型和版本信息对应的文本字典来对所述文本搜索请求进行压缩。
根据本公开的第二方面,提供了一种用于对压缩文本数据进行解压缩的方法。所述方法可以包括:接收压缩文本数据;基于文本字典来搜索所述压缩文本数据中的文本压缩值,其中所述文本字典包括多个键-值对,所述多个键-值对中的每个键值对包括文本压缩值以及对应的可压缩文本项,且所述文本压缩值具有比所述可压缩文本项更小的长度;以及将搜索到的所述压缩文本数据中的文本压缩值替换为对应的可压缩文本项,以便对所述文本数据进行解压缩。
根据本公开的第三方面,提供了一种用于对文本数据进行压缩的设备。所述设备包括:文本数据接收模块,被配置用于接收文本数据;文本项搜索模块,被配置用于基于文本字典来搜索所述文本数据中的可压缩文本项,其中所述文本字典包括多个键-值对,所述多个键-值对中的每个键值对包括文本压缩值以及对应的可压缩文本项,且所述文本压缩值具有比所述可压缩文本项更小的长度;以及文本项替换模块,被配置用于将搜索到的所述文本数据中的可压缩文本项替换为对应的文本压缩值,以便对所述文本数据进行压缩。
根据本公开的第四方面,提供了一种用于对压缩文本数据进行解压缩的设备。所述设备可以包括:压缩数据接收模块,被配置为接收压缩文本数据;压缩值搜索模块,被配置用于基于文本字典来搜索所述压缩文本数据中的文本压缩值,其中所述文本字典包括多个键值对,所述多个键值对中的每个键值对包括文本压缩值以及对应的可压缩文本项,且所述文本压缩值具有比所述可压缩文本项更小的长度;以及压缩值替换模块,被配置用于将搜索到的所述压缩文本数据中的文本压缩值替换为对应的可压缩文本项,以便对所述文本数据进行解压缩。
根据本公开的第五方面,还提供了一种计算机程序产品,其上包括程序代码,当所述程序代码在处理器上执行时致使所述处理器中执行根据本公开的第一方面的方法。
根据本公开的第六方面,还提供了一种计算机程序产品,其上包括程序代码,当所述程序代码在处理器上执行时致使所述处理器中执行根据本公开的第二方面的方法。
在本公开的实施方式中,提供了一种改进的用于对文本数据进行压缩和解压缩的技术方案。根据该技术方案,将通过将文本数据中的可压缩文本项替换为对应的文本压缩值来执行文本压缩,而不是采用不可搜索的二进制压缩方式。通过这种压缩方式,不但可以获得期望的压缩率,而且压缩后的内容本身仍然是可搜索的文本形式。这样,在进行查询时,就可以将查询请求中的可压缩文本项同样压缩成文本压缩值,并以该文本压缩值对压缩文件进行搜索,而无需对压缩文件进行解压缩。这意味可以显著节约存储空间和大大提高搜索效率。因而,根据本公开的技术方案不仅可以降低总所有成本(TCO),而且可以为用户提供更好的体验。
附图说明
通过结合附图并参考以下详细说明,本公开各实施方式的特征、优点及其他方面将变得更加明显,在附图中:
图1示意性地示出了根据本公开的一个实施方式的文本数据压缩的方框图;
图2示意性地示出了根据本公开的一个实施方式的用于对文本数据进行压缩的方法的流程图;
图3示意性的示出了根据本公开的一个实施方式的示例性文本字典的一部分的图示;
图4示意性地示出了根据本公开的一个实施方式的示例性压缩文本数据分的图示;
图5示意性地示出了根据本公开的一个实施方式的文本数据查询和解压缩的方框图;
图6示意性地示出了根据本公开的一个实施方式的用于对压缩文本数据进行解压缩的方法的流程图;
图7示意性地示出了根据本公开的一个实施方式的用于对文本数据进行压缩的设备的方框图;
图8示意性地示出了根据本公开的一个实施方式的用于对文本数据进行解压缩的设备的方框图;以及
图9示意性地示出了可以在其中实现根据本公开的实施方式的计算机设备的结构方框图。
具体实施方式
在下文中,将参考附图详细描述本公开的各个示例性实施方式。应当注意,这些附图和描述涉及的仅仅是作为示例的优选实施方式。应该指出的是,根据随后描述,很容易设想出此处公开的结构和方法的替换实施方式,并且可以在不脱离本公开要求保护的公开的原理的情况下使用这些替代实施方式。
应当理解,给出这些示例性实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。此外,在附图中,出于说明的目的,将可选的步骤、模块、单元等以虚线框示出。
在此使用的术语“包括”、“包含”及类似术语应该被理解为是开放性的术语,即“包括/包含但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出
在下文中,将参考附图通过实施方式来来详细描述根据本公开的实施方式的用于对文本数据进行压缩和解压缩的技术方案。
如前所述,当前的文本压缩方案采用二进制方式压缩,这造成了巨大的存储空间需求和降低的搜索效率。为此,在本公开中提出了一种新的对文本数据进行压缩和解压缩的方案。
发明人注意到,在诸如日志等的文本内容中包括有大量高频出现的内容,或者称之为重复内容,诸如各种标准的语句、与所采用的编程语言所固有的模式、文本类型所固定的格式等。例如,日志记录通常针对同种类型的信息具有相同的语句格式,诸如Java语言等编程语言,它的包和类名等通常都是固定的,诸如xml文件的日志数据中也具有固定的格式。而且对于一个已经发布的系统而言,这些信息通常都是基本固定的,即便是随后有可能加入一些新的日志信息,但是总体的结构并不会发生改变。此外,通常诸如日志的文本数据的输出,通常集中在一个狭窄的空间,诸如集中在Java应用的i ava日志记录包的流句柄streamhandler处。
鉴于上述情况,发明人认为有可能集中对大量的文本数据进行处理。特别地,设想使用较短的文本字符来替换这些多次重复出现的语句、模式和格式。这样,就可以使得本文数据的尺寸得以显著降低,同时仍然保持文本数据的可搜索性。
图1示意性地示出了根据本公开的一个实施方式的文本数据压缩的方框图。如在图1的架构中所示,该文本压缩的架构100中主要涉及是压缩引擎110和文本字典120。压缩引擎110接收流入的文本流,并基于文本字典120对文本流进行压缩。经过压缩的内容存储在诸如数据库的存储设备130中。
文本字典120是一种映射结构,其中包括大量键值对,即可压缩文本项和对应的文本压缩值的对。文本字典的详细信息将在下面详细描述,此处不再赘述。
接着参考图2来描述根据本公开的一个实施方式的用于对文本数据进行压缩的方法的流程图。
如图2所示,首先在步骤201,接收文本数据。该文本数据例如是来自SaaS或其他大型分布式系统的日志数据,例如可以是文本流的形式。
接着在步骤202,基于文本字典对所述文本数据中的可压缩文本项进行搜索。如前所述,文本字典本身是一个映射结构,其中包括用于表示文本压缩值与可压缩文本项之间的对应关系的键值对。可压缩文本项是文本数据中可以被压缩的文本内容,例如语句、模式或者格式;文本压缩值是可压缩内容被压缩后的文本值。该文本压缩值的长度小于可压缩文本项,优选地远远低于原始的可压缩文本内容从而提高压缩率。
该文本字典可以通过由熟悉应用系统的管理员来手工输入键值对来建立。此外,也可以通过对大量样本文本数据进行高频信息提取来自动建立文字典。例如,对于一个长期运行的应用,存在许多已经生成的历史日志,这些日志可以作为样本文本数据来生成文本字典。此外,也有可能直接使用其他类似已运行的应用的文本字典。
例如,首先可以搜索样本文本数据中频繁出现的且字长高于预定值(例如3)的文本项,然后基于述文本项的长度及其出现频率来确定相应的权重。基于该权重,确定哪些可压缩文本项可以被包括在文本字典中的。在根据本公开的一个实施方式中,该权重例如可以被确定为:
w=f*(len-minNum)
其中w指示对应于一个文本项的权重;f指示该文本项在样本文本数据中出现的频率;len指示该文本项的长度,minNum是一个预定值,指示可以被确定为可压缩文本项的文本项的最小长度。
在根据本公开的一个实施方式中,可以将文本字典的数目限定为预定值,比如65535。可以根据权重的大小,将权重排序在前65535位的文本项作为字典中的可搜索文本项。然后,可以针对搜索到的文本项,根据任何适当的预定规则产生相应的键值。
在下文中,仅仅出于说明的目的,将在表1和表2中示出一个示例性的原始文本以及基于其生成的示例键值对。
表1 示例原始文本内容
从表1中示出的原始文本内容可以看出,其中包括语句、模式和格式信息。根据大量与表1所示的原始文本数据类似的文本内容,可以通过提取高频出现内容来确定可压缩文本项。然而通过针对相应的可压缩文本确定对应的压缩值来生成键值对,如表2所示,
表2 示例的键值对
从表2可以清楚看出,压缩值的长度比可压缩文本项的长度短的多。其中的压缩值,即键值,可以例如由文本字符构成,例如大写字母、小写字母、符号、数字中的任何一个或多种组中。具体地,这些文本字符例如可以包括:
-符号:! ″ # $ % & ′ () * + , - . / : ; < = > ? @ [ \ ] ^ ` { } ~
-数字:0 1 2 3 4 5 6 7 8 9
-大写字母:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
-小写字母:a b c d e f g h I j k l m n o p q r s t u v w x y z
在利用通常使用的编码格式UTF-8进行编码的日志文件中,上述每个字符占据1个字节,这能够确保每个键值占据尽可能小的空间。进一步,为了得到更佳的压缩率,可以为权重较高的可压缩文本项分别较短的键值。此外,键值也可以由系统管理员来进行定义或者分配,例如对于上面示例的键值对中示出的{ctx},就是系统管理员认为定义的。每个文本压缩值的大小可以具有预定的大小,例如不超过五个字符。
大量这样的键值对构成了将在文本数据压缩时使用的文本字典。出于示出的目的,在图3中给出了文本字典的一部分的示例。如图3所示,在该文本字典中,包括若干指示了压缩值与可压缩文本项的键值对,且其中压缩值的长度显著短于比可压缩文本项的长度。
在文本字典建立后,该文本字典可以存储在文件系统中或者存储在诸如数据库的永久性存储设备中,以供随后使用。
用于的不同类型的日志通常在惯用语句、模式和格式方面具有其自身的特性。因此,如果能够针对不同类型的文件数据产生不同的文本字典将是优选的。例如可以针对记录用户业务行为的日志生成一个文本字典,针对记录错的日志生成一个文本字典等等。
返回参考图1,在形成这样的文本字典后,就可以在步骤102中,基于该文本字典对可压缩文本项执行搜索操作。具体地,压缩引擎可以根据文本字典在文本数据中搜索可压缩文本项,即,查找文本数据中包含的、在文本字典中指定的可压缩文本项。如前所述,该可压缩文本项是文本数据中通常出现的重复出现的内容,诸如各种标准的语句、与所采用的编程语言所固有的模式、文本类型所固定的格式。
在找到文本数据中的可压缩文本项后,可以在步骤103,使用与找到的可压缩文本项对应的文本形式的压缩值来替换文本数据中的可压缩文本项。通过这种替换来实现对文本数据的压缩。
用于执行该压缩的压缩引擎可以以管道方式进行操作,原始的文本流作为其输入,而其输出是经过压缩后的文本流。优选地,还可以提供多线程处理来提高压缩引擎的吞吐量。
出于示出的目的,表3示例性地示出了针对表1示出的示例性的原始文本数据进行压缩后得到的内容。
表3 压缩后的文本数据
如表3所示,诸如{ctx}的压缩值后面是其涉及的相应参数值,例如“cf77d61b-37fb-40cc-aab2-cdf621652f69”,“$!”等,其中部分是文本压缩值,部分是原始文本值。需要说明的是该表3中示出的压缩后的文书数据仅仅是一个示意性的示例。在实际应用中,可以通过对上述参数值中并非压缩值的原始文本内容也参数化为键值对来进一步提高压缩效率。这意味着诸如“context id的参数值也可以被压缩,进而获得更高的压缩率。
在图4中示意性地示出了具有加高压缩率的文本压缩结果。从图4中示出的压缩结果可以看出,通过对参数值进行进一步压缩,压缩率可以得到显著提高。
此外,为了支持更新能力,可以对文本字典进行版本管理。例如每个文本字典可以标记有版本信息,在需要更新字典内容时,可以重新产生字典,并且也标记上相应的版本信息,例如版本号。同时,在利用文本字典对文件执行压缩之后,可以将压缩后的文本文件标记上与压缩所采用的文本字典相同的版本信息。这样,在解压缩时就可以找到相应的文本字典。
在进行条件查询时,该压缩引擎还可以用于对查询请求中的压缩条件进行压缩,以便在并不解压缩的情况下对文本数据进行查询。这将在下文中进行进一步地描述。
图5示出了根据本公开的一个实施方式的数据查询以及解压缩的框图。如图500所示,用户输入的查询请求首先进入压缩引擎510。然后与文本数据压缩类似,压缩引擎510同样基于文本字典520搜索查询请求中的可压缩文本项,通常是查询条件。然后利用对应的文本压缩值来替换可压缩文本项。因此,这意味着输入日志分析工具550中的查询是经过压缩的查询。由于查询条件本身也被压缩,而压缩文本数据,本身也是包括文本压缩值的可搜索文本形式,因此查询操作可以在不对日志文件进行解压缩的情况下直接进行。
诸如,如果用户向日志查询工具550的查询输入部件中输入“BigData”以作为查询条件。则压缩引擎510会利用与所述文本搜索请求所针对的所述已压缩文件的类型和版本信息对应的文本字典对该查询条件进行压缩。即系统会在文本字典520中查询与查询条件匹配的文本压缩值,例如“Big$@”,并用对应的文本压缩值Big$@替换压缩条件。另外,如果“Big Data”包含在关键字“$d”的值中,则“$d”将会被当作另一查询条件进行处理。日志分析工具550将会使用该压缩后的条件进行文本内容搜索。
在完成搜索后,日志分析工具550将会返回执行搜索得到的结果。该搜索结果是压缩形式的,例如结果中包括像是“$A$a$d,Big$@,$c$mIT”的一条数据的压缩文本数据。
解压缩引擎540将会针对压缩形式的查询结果进行解压缩。类似地,基于文本字典520,从压缩形式的查询结果中搜索文本压缩值,然后将文本压缩值替换为对应的文本压缩项。在完成解压后,可以将解压缩的查询结果返回给用户,以供用户查看。解压缩的查询结果例如可以是“EMC-Leading Cloud computing,Big Data and Trusted IT。”
在下文中,出于说明的目的将会参考图6来描述根据本公开的一个实施方式的用于对压缩文本数据进行解压缩的方法。
如图6所示,首先在步骤601,接收压缩文本数据。该文本数据例如是来自分析的查询结果。也可以是来自其他数据源的压缩文本数据。
然后在步骤602,可以基于文本字典搜索所述压缩文本数据中的文本压缩值。该文本字典如前所述包括多个键-值对,所述多个键-值对中的每个键值对包括文本压缩值以及对应的可压缩文本项。而且所述文本压缩值具有比所述可压缩文本项更小的长。该文本字典是前文中描述的执行压缩时采用的文本字典。所述文本字典可以是通过对多个样本文本数据进行高频出现信息提取而建立的。所述可压缩文本项可以包括文本数据中频繁出现的语句、所采用的编程语言所固有的模式和文本类型所固定的格式其中一种或多种。所述键值对所包括的可压缩文本项具有大于预定值的长度。在根据本公开的一个实施方式中,所述文本字典的所述键值对所包括的文本压缩值包括大写字母、小写字母、数字以及符号其中任何一种及其组合。通常所述文本压缩值的长度不超过预定值所述文本字典具有预定长度,以便实现预定的压缩率。所述文本字典中的可压缩文本项可以基于文本项的权重来确定。所述文本项的权重例如可以至少基于所述文本项的长度及其出现频率来确定。
在基于所述文本字典找到文本压缩值后,可以在步骤603将搜索到的所述压缩文本数据中的文本压缩值替换为文本字典中对应的可压缩文本项,以由此对压缩文本数据进行解压缩。
通过上述解压缩过程就可以恢复原始的文本数据,以便提供给用户进行查看。
通过本公开的压缩方案,可以在不进行解压缩的情况下执行各种类型的搜索。例如可以支持具有通配符的全词搜索,支持日期、时间和数字的比较功能。特别地,还可以支持对特定文件模式和格式的查询,这例如可以用来有效提高查询效率,特别是对于区域性查询(诸如特定时间段内的查询)。
因此,在本公开的实施方式中,提供了一种改进的用于对文本数据进行压缩和解压缩的技术方案。根据该技术方案,将通过将文本数据中的可压缩文本项替换为对应的文本压缩值来执行文本压缩,而不是采用不可搜索的二进制压缩方式。通过这种压缩方式,不但可以获得期望的压缩率,而且压缩后的内容本身仍然是可搜索的文本形式。这样,在进行查询时,就可以将查询请求中的可压缩文本项同样压缩成文本压缩值,并以该文本压缩值对压缩文件进行搜索,而无需对压缩文件进行解压缩。这意味可以显著节约存储空间和大大提高搜索效率。因而,根据本公开的技术方案不仅可以降低TCO,而且可以为用户提供更好的体验。
图7示出了根据本公开的一个实施方式的用于对文本数据执行压缩的设备的方框图。如图7所示,用于对文本数据进行压缩的设备700可以包括:文本数据接收模块710、文本项搜索模块720和文本项替换模块730。特别地,所述文本数据接收模块710被配置用于接收文本数据。所述文本项搜索模块720被配置用于基于文本字典来搜索所述文本数据中的可压缩文本项。所述文本字典包括多个键-值对,所述多个键-值对中的每个键值对包括文本压缩值以及对应的可压缩文本项,且所述文本压缩值具有比所述可压缩文本项更小的长度。所述文本项替换模块730被配置用于将搜索到所述文本数据中的可压缩文本项替换为对应的文本压缩值,以便对所述文本数据进行压缩。
在根据本公开的实施方式中,所述文本字典可以是基于所述文本数据的类型从分别与多种不同类型的文本数据对应的多个文本字典中而选择的。此外,所述文本字典还可以具有版本信息。在这种情况下所述设备可以进一步包括:版本标记模块740,被配置用于为经过压缩的所述文本数据标记与所述文本字典的版本信息相同的压缩版本信息。
在根据本公开的实施方式中,所述文本字典可以是通过对多个样本文本数据进行高频出现信息提取而建立的。所述文本字典可以具有预定大小。所述文本字典中的可压缩文本项可以基于文本项的权重来确定。而所述文本项的权重至少基于所述文本项的长度及其出现频率来确定。
图8示出了根据本公开的一个实施方式的用于对压缩文本数据执行解压缩的设备的方框图。如图8所示,用于对压缩文本数据进行解压缩的设备800可以包括。压缩数据接收模块810、压缩值搜索模块820和压缩值替换模块830。特别地,所述压缩数据接收模块810可以被配置为接收压缩文本数据。压缩值搜索模块820可以被配置用于基于文本字典来搜索所述压缩文本数据中的文本压缩值。所述文本字典包括多个键值对,所述多个键值对中的每个键值对包括文本压缩值以及对应的可压缩文本项,且所述文本压缩值具有比所述可压缩文本项更小的长度。所述压缩值替换模块830可以被配置用于将搜索到所述压缩文本数据中的文本压缩值替换为对应的可压缩文本项,以便对所述文本数据进行解压缩。在根据本公开的一个实施方式中,所述文本字典是基于所述压缩文本数据的类型及其压缩的版本信息,从与多种不同类型的文本数据和版本信息对应的多个文本字典中选择的。所述文本字典例如是通过对多个样本文本数据进行高频出现信息提取而建立的。所述文本字典优选地具有预定大小,且所述文本字典中的可压缩文本项基于文本项的权重来确定的。所述文本项的权重例如至少基于所述文本项的长度及其出现频率来确定。
需要说明的是,处于简化的目的,上面简要描述了设备700和800的各个部件的操作。关于这些部件的操作的详细细节,可以参考图1至图6对方法的详细描述中的相关部分。
此外,需要说明的是,本公开的压缩方案还可以通过一种计算机程序产品来实现。该计算机程序其上包括程序代码,所述程序代码在被处理器上执行时,致使所述处理器执行根据本公开用于对文本数据进行压缩的方法。
另外,还需要说明的是,本公开的解压缩方案也可以通过一种计算机程序产品来实现。该计算机程序其上包括程序代码,所述程序代码在被处理器上执行时,致使所述处理器执行根据本公开用于对压缩文本数据进行解压缩的方法。
在下文中,将参考图9来描述可以在其中实现本公开的实施方式的计算机设备。图9示意性地示出了可以实现根据本公开的实施方式的计算机设备的结构方框图。
图9中所示的计算机系统包括CPU(中央处理单元)901、RAM(随机存取存储器)902、ROM(只读存储器)903、系统总线904、硬盘控制器905、键盘控制器906、串行接口控制器907、并行接口控制器908、显示器控制器909、硬盘910、键盘911、串行外部设备912、并行外部设备913和显示器914。在这些部件中,与系统总线904相连的有CPU 901、RAM 902、ROM 903、硬盘控制器905、键盘控制器906、串行接口控制器907、并行接口控制器908和显示器控制器909。硬盘910与硬盘控制器905相连,键盘911与键盘控制器906相连,串行外部设备912与串行接口控制器907相连,并行外部设备913与并行接口控制器908相连,以及显示器914与显示器控制器909相连。需要说明的是,图9所述的结构方框图仅仅为了示例的目的而示出的,并非是对本公开的限制。在一些情况下,可以根据需要添加或者减少其中的一些设备。
本公开的实施方式可以作为计算机程序代码存储在上计算机的例如硬盘910的存储设备中,在被载入诸如内存中运行时,将使得CPU 901执行根据本公开的压缩和解压缩的方法。
需要注意的是,本公开的实施方式可以在软件和/或软件与硬件的在上文中结合附图通过实施方式对本公开提供的压缩和解压缩方案进行了详细说明。然而本领域技术人员应该理解的是,尽管以文本流形式的日志为例,对文本数据进行了描述,然而本公开并不仅限于日志数据,事实上任何其他适当的文本数据均可以采用本公开的方案进行压缩,而且文件数据也不一定是以文件流的形式。此外,在上文中以分布式系统或者SaaS为例子进行了描述,然而本公开也可以应用他其他类似的场合。此外,在前文示出的权重计算也是示例性的,实际应用中也可以采用不同的方式来计算该权重,例如采用不同的算法,考虑更多或者更少的因素等。另外,还可以理解的是,根据此处的公开内容和教导,本领域技术人员还可以设想到各种修改、变形、替换或等效而并不背离本公开的精神和范围。这些修改、变形、替换或等效均包括在仅由权利要求书限定的本公开的范围内。
组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本公开的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本公开的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本公开的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本公开的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本公开的方法和/或技术方案。而调用本公开的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本公开的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本公开的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本公开不限于上述示范性实施例的细节,而且在不背离本公开的精神或基本特征的情况下,能够以其他的具体形式实现本公开。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本公开的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本公开内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (30)
1.一种用于对文本数据进行压缩的方法,包括:
接收文本数据;
基于文本字典来搜索所述文本数据中的可压缩文本项,其中所述文本字典包括多个键值对,所述多个键值对中的每个键值对包括文本压缩值以及对应的可压缩文本项,且所述文本压缩值具有比所述可压缩文本项更小的长度;以及
将搜索到的所述文本数据中的可压缩文本项替换为对应的文本压缩值,以便对所述文本数据进行压缩。
2.根据权利要求1所述的方法,其中所述文本字典是基于所述文本数据的类型从分别与多种不同类型的文本数据对应的多个文本字典中而选择的。
3.根据权利要求1所述的方法,其中所述文本字典具有版本信息,以及所述方法进一步包括:
为经过压缩的所述文本数据标记与所述文本字典的版本信息相同的压缩版本信息。
4.根据权利要求1所述的方法,其中所述文本字典是通过对多个样本文本数据进行高频出现信息提取而建立的。
5.根据权利要求4所述的方法,其中所述可压缩文本项包括文本数据中频繁出现的语句、所采用的编程语言所固有的模式和文本类型所固定的格式其中一种或多种。
6.根据权利要求1所述的方法,其中所述文本字典的键值对所包括的可压缩文本项具有大于预定值的长度。
7.根据权利要求1所述的方法,其中所述文本字典的键值对所包括的文本压缩值包括大写字母、小写字母、数字以及符号其中任何一种及其组合,以及其中所述文本压缩值的长度不超过预定值。
8.根据权利要求1所述的方法,其中所述文本字典具有预定大小,以及其中基于文本项的权重来确定所述文本字典中的可压缩文本项,所述文本项的权重至少基于所述文本项的长度及其出现频率来确定。
9.根据权利要求1所述的方法,其中所述文本数据是文本流形式的日志数据。
10.根据权利要求1所述的方法,其中所述文本数据是其中包括可压缩文本项的针对已压缩文件的文本搜索请求。
11.根据权利要求10所述的方法,其中使用与所述文本搜索请求所针对的搜索已压缩文件的类型和版本信息对应的文本字典来对所述文本搜索请求进行压缩。
12.一种用于对压缩文本数据进行解压缩的方法,包括:
接收压缩文本数据;
基于文本字典来搜索所述压缩文本数据中的文本压缩值,其中所述文本字典包括多个键-值对,所述多个键-值对中的每个键值对包括文本压缩值以及对应的可压缩文本项,且所述文本压缩值具有比所述可压缩文本项更小的长度;以及
将搜索到的所述压缩文本数据中的文本压缩值替换为对应的可压缩文本项,以便对所述文本数据进行解压缩。
13.根据权利要求12所述的方法,其中所述文本字典是基于所述压缩文本数据的类型及其压缩版本信息,从与多种不同类型的文本数据和版本信息对应的多个文本字典中选择的。
14.根据权利要求12所述的方法,其中所述文本字典是通过对多个样本文本数据进行高频出现信息提取而建立的。
15.根据权利要求14所述的方法,其中所述可压缩文本项包括文本数据中频繁出现的语句、所采用的编程语言所固有的模式和文本类型所固定的格式其中一种或多种。
16.根据权利要求12所述的方法,其中所述文本字典的键值对所包括的可压缩文本项具有大于预定值的长度。
17.根据权利要求12所述的方法,其中所述文本字典的所述键值对所包括的文本压缩值包括大写字母、小写字母、数字以及符号其中任何一种及其组合,以及其中所述文本压缩值的长度不超过预定值。
18.根据权利要求12所述的方法,其中所述文本字典具有预定长度,以及其中基于文本项的权重来确定所述文本字典中的可压缩文本项,所述文本项的权重至少基于所述文本项的长度及其出现频率来确定。
19.根据权利要求12所述的方法,其中所述压缩文本数据是针对用户的文本搜索请求的搜索结果。
20.一种用于对文本数据进行压缩的设备,包括:
文本数据接收模块,被配置用于接收文本数据;
文本项搜索模块,被配置用于基于文本字典来搜索所述文本数据中的可压缩文本项,其中所述文本字典包括多个键-值对,所述多个键-值对中的每个键值对包括文本压缩值以及对应的可压缩文本项,且所述文本压缩值具有比所述可压缩文本项更小的长度;以及
文本项替换模块,被配置用于将搜索到的所述文本数据中的可压缩文本项替换为对应的文本压缩值,以便对所述文本数据进行压缩。
21.根据权利要求20所述的设备,其中所述文本字典是基于所述文本数据的类型从分别与多种不同类型的文本数据对应的多个文本字典中而选择的。
22.根据权利要求20所述的方法,其中所述文本字典具有版本信息,以及所述设备进一步包括:
版本标记模块,被配置用于为经过压缩的所述文本数据标记与所述文本字典的版本信息相同的压缩版本信息。
23.根据权利要求20所述的方法,其中所述文本字典是通过对多个样本文本数据进行高频出现信息提取而建立的。
24.根据权利要求20所述的方法,其中所述文本字典具有预定大小,以及其中基于文本项的权重来确定所述文本字典中的可压缩文本项,所述文本项的权重至少基于所述文本项的长度及其出现频率来确定。
25.一种用于对压缩文本数据进行解压缩的设备,包括:
压缩数据接收模块,被配置为接收压缩文本数据;
压缩值搜索模块,被配置用于基于文本字典来搜索所述压缩文本数据中的文本压缩值,其中所述文本字典包括多个键值对,所述多个键值对中的每个键值对包括文本压缩值以及对应的可压缩文本项,且所述文本压缩值具有比所述可压缩文本项更小的长度;以及
压缩值替换模块,被配置用于将搜索到的所述压缩文本数据中的文本压缩值替换为对应的可压缩文本项,以便对所述文本数据进行解压缩。
26.根据权利要求25所述的方法,其中所述文本字典是基于所述压缩文本数据的类型及其压缩的版本信息,从与多种不同类型的文本数据和版本信息对应的多个文本字典中选择的。
27.根据权利要求25所述的方法,其中所述文本字典是通过对多个样本文本数据进行高频出现信息提取而建立的。
28.根据权利要求25所述的方法,其中所述文本字典具有预定大小,以及其中基于文本项的权重来确定所述文本字典中的可压缩文本项,所述文本项的权重至少基于所述文本项的长度及其出现频率来确定。
29.一种计算机程序产品,其上包括程序代码,所述程序代码在处理器上执行时,致使所述处理器执行根据权利要求1至11中任一项所述的方法。
30.一种计算机程序产品,其上包括程序代码,所述程序代码在在处理器上执行时,致使所述处理器执行根据权利要求12至19中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510003759.XA CN105893337B (zh) | 2015-01-04 | 2015-01-04 | 用于文本压缩和解压缩的方法和设备 |
US14/979,727 US10498355B2 (en) | 2015-01-04 | 2015-12-28 | Searchable, streaming text compression and decompression using a dictionary |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510003759.XA CN105893337B (zh) | 2015-01-04 | 2015-01-04 | 用于文本压缩和解压缩的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105893337A true CN105893337A (zh) | 2016-08-24 |
CN105893337B CN105893337B (zh) | 2020-07-10 |
Family
ID=56287051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510003759.XA Active CN105893337B (zh) | 2015-01-04 | 2015-01-04 | 用于文本压缩和解压缩的方法和设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10498355B2 (zh) |
CN (1) | CN105893337B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107590109A (zh) * | 2017-07-24 | 2018-01-16 | 深圳市元征科技股份有限公司 | 一种文本处理方法及电子设备 |
CN108011952A (zh) * | 2017-12-01 | 2018-05-08 | 北京奇艺世纪科技有限公司 | 一种获取压缩字典的方法和装置 |
CN108021541A (zh) * | 2017-12-15 | 2018-05-11 | 安徽长泰信息安全服务有限公司 | 一种减小文本存储内存的方法及其系统 |
CN108133033A (zh) * | 2018-01-08 | 2018-06-08 | 武汉斗鱼网络科技有限公司 | 一种用于数据存储的方法、装置及计算机设备 |
CN108256017A (zh) * | 2018-01-08 | 2018-07-06 | 武汉斗鱼网络科技有限公司 | 一种用于数据存储的方法、装置及计算机设备 |
CN109101524A (zh) * | 2017-06-20 | 2018-12-28 | 三星电子株式会社 | 存储驱动器及其上的压缩系统及压缩其上的数据的方法 |
CN110442489A (zh) * | 2018-05-02 | 2019-11-12 | 阿里巴巴集团控股有限公司 | 数据处理的方法和存储介质 |
CN110781155A (zh) * | 2019-10-18 | 2020-02-11 | 赛尔网络有限公司 | 基于ipfs的数据存储读取方法、系统、设备和介质 |
CN111142965A (zh) * | 2019-12-16 | 2020-05-12 | 深圳市优必选科技股份有限公司 | 语言配置方法、装置、电子设备及存储介质 |
CN112019518A (zh) * | 2020-08-05 | 2020-12-01 | 杭州木链物联网科技有限公司 | 一种工控协议数据压缩方法、装置 |
CN112818081A (zh) * | 2021-02-24 | 2021-05-18 | 三一重工股份有限公司 | 用于键值对文本的压缩、解压缩方法、系统及作业机械 |
CN113518088A (zh) * | 2021-07-12 | 2021-10-19 | 北京百度网讯科技有限公司 | 数据处理方法、装置、服务器、客户端和介质 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6467937B2 (ja) | 2015-01-21 | 2019-02-13 | 富士通株式会社 | 文書処理プログラム、情報処理装置および文書処理方法 |
CN107526746B (zh) | 2016-06-22 | 2020-11-24 | 伊姆西Ip控股有限责任公司 | 管理文档索引的方法和设备 |
CN107643906B (zh) * | 2016-07-22 | 2021-01-05 | 华为技术有限公司 | 数据处理方法及装置 |
JP6737117B2 (ja) * | 2016-10-07 | 2020-08-05 | 富士通株式会社 | 符号化データ検索プログラム、符号化データ検索方法および符号化データ検索装置 |
CN107994907B (zh) * | 2017-12-01 | 2021-05-28 | 北京奇艺世纪科技有限公司 | 一种生成压缩字典的方法及装置 |
US11023420B1 (en) * | 2018-03-29 | 2021-06-01 | EMC IP Holding Company LLC | Real-time compression of log data |
US11126531B2 (en) * | 2018-06-29 | 2021-09-21 | EMC IP Holding Company LLC | Real-time viewing tool for compressed log data |
US11151089B2 (en) * | 2018-10-29 | 2021-10-19 | EMC IP Holding Company LLC | Compression of log data using pattern recognition |
CN109743188A (zh) * | 2018-11-23 | 2019-05-10 | 麒麟合盛网络技术股份有限公司 | 日志数据处理方法和装置 |
US11226774B2 (en) | 2019-10-17 | 2022-01-18 | EMC IP Holding Company LLC | Deep data-compression |
CN112699660A (zh) * | 2019-10-23 | 2021-04-23 | 阿里巴巴集团控股有限公司 | 数据处理方法、系统及设备 |
CN113448877A (zh) | 2020-03-26 | 2021-09-28 | 伊姆西Ip控股有限责任公司 | 用于数据存储的方法、设备和计算机程序 |
CN111651417B (zh) * | 2020-07-09 | 2021-09-28 | 腾讯科技(深圳)有限公司 | 日志处理方法及装置 |
CN111782660A (zh) | 2020-07-17 | 2020-10-16 | 支付宝(杭州)信息技术有限公司 | 基于键值存储的数据压缩的方法和系统 |
US11748015B2 (en) | 2021-04-23 | 2023-09-05 | EMC IP Holding Company LLC | Extending similarity-based deduplication to adjacent data |
US11687534B2 (en) * | 2021-06-17 | 2023-06-27 | Huawei Technologies Co., Ltd. | Method and system for detecting sensitive data |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4843389A (en) * | 1986-12-04 | 1989-06-27 | International Business Machines Corp. | Text compression and expansion method and apparatus |
CN1164902A (zh) * | 1995-07-31 | 1997-11-12 | 富士通株式会社 | 数据媒体处理装置及数据媒体处理方法 |
US5737733A (en) * | 1993-06-30 | 1998-04-07 | Microsoft Corporation | Method and system for searching compressed data |
CN1228887A (zh) * | 1996-07-24 | 1999-09-15 | 尤尼西斯公司 | 与串搜索交错进行即时字典更新的数据压缩和解压缩系统 |
US5991713A (en) * | 1997-11-26 | 1999-11-23 | International Business Machines Corp. | Efficient method for compressing, storing, searching and transmitting natural language text |
US20020152219A1 (en) * | 2001-04-16 | 2002-10-17 | Singh Monmohan L. | Data interexchange protocol |
US20030141993A1 (en) * | 2002-01-31 | 2003-07-31 | Baldwin James Armand | Generating and searching compressed data |
US20040225497A1 (en) * | 2003-05-05 | 2004-11-11 | Callahan James Patrick | Compressed yet quickly searchable digital textual data format |
US20080036630A1 (en) * | 2006-08-09 | 2008-02-14 | Tsern-Huei Lee | Apparatus and methods for searching a pattern in a compressed data |
CN101350624A (zh) * | 2008-09-11 | 2009-01-21 | 中国科学院计算技术研究所 | 一种支持ansi编码的中文文本的压缩方法 |
US7574719B1 (en) * | 2002-06-27 | 2009-08-11 | Microsoft Corporation | Program guide data compression |
CN101729075A (zh) * | 2008-10-10 | 2010-06-09 | 英华达(上海)电子有限公司 | 一种数据压缩、解压缩的方法和装置 |
US20120296983A1 (en) * | 2011-05-17 | 2012-11-22 | Microsoft Corporation | Managing compression dictionaries |
US20130103982A1 (en) * | 2011-10-25 | 2013-04-25 | International Business Machines Corporation | Log file compression |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5893102A (en) * | 1996-12-06 | 1999-04-06 | Unisys Corporation | Textual database management, storage and retrieval system utilizing word-oriented, dictionary-based data compression/decompression |
US20030030575A1 (en) * | 2001-05-07 | 2003-02-13 | Harmonic Data Systems Ltd. | Lossless data compression |
US7840072B2 (en) * | 2003-03-13 | 2010-11-23 | Hewlett-Packard Development Company, L.P. | Method and system for pattern matching |
US20050027731A1 (en) * | 2003-07-30 | 2005-02-03 | Daniel Revel | Compression dictionaries |
JP6737117B2 (ja) * | 2016-10-07 | 2020-08-05 | 富士通株式会社 | 符号化データ検索プログラム、符号化データ検索方法および符号化データ検索装置 |
-
2015
- 2015-01-04 CN CN201510003759.XA patent/CN105893337B/zh active Active
- 2015-12-28 US US14/979,727 patent/US10498355B2/en active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4843389A (en) * | 1986-12-04 | 1989-06-27 | International Business Machines Corp. | Text compression and expansion method and apparatus |
US5737733A (en) * | 1993-06-30 | 1998-04-07 | Microsoft Corporation | Method and system for searching compressed data |
CN1164902A (zh) * | 1995-07-31 | 1997-11-12 | 富士通株式会社 | 数据媒体处理装置及数据媒体处理方法 |
CN1228887A (zh) * | 1996-07-24 | 1999-09-15 | 尤尼西斯公司 | 与串搜索交错进行即时字典更新的数据压缩和解压缩系统 |
US5991713A (en) * | 1997-11-26 | 1999-11-23 | International Business Machines Corp. | Efficient method for compressing, storing, searching and transmitting natural language text |
US20020152219A1 (en) * | 2001-04-16 | 2002-10-17 | Singh Monmohan L. | Data interexchange protocol |
US20030141993A1 (en) * | 2002-01-31 | 2003-07-31 | Baldwin James Armand | Generating and searching compressed data |
US7574719B1 (en) * | 2002-06-27 | 2009-08-11 | Microsoft Corporation | Program guide data compression |
US20040225497A1 (en) * | 2003-05-05 | 2004-11-11 | Callahan James Patrick | Compressed yet quickly searchable digital textual data format |
US20080036630A1 (en) * | 2006-08-09 | 2008-02-14 | Tsern-Huei Lee | Apparatus and methods for searching a pattern in a compressed data |
CN101350624A (zh) * | 2008-09-11 | 2009-01-21 | 中国科学院计算技术研究所 | 一种支持ansi编码的中文文本的压缩方法 |
CN101729075A (zh) * | 2008-10-10 | 2010-06-09 | 英华达(上海)电子有限公司 | 一种数据压缩、解压缩的方法和装置 |
US20120296983A1 (en) * | 2011-05-17 | 2012-11-22 | Microsoft Corporation | Managing compression dictionaries |
US20130103982A1 (en) * | 2011-10-25 | 2013-04-25 | International Business Machines Corporation | Log file compression |
Non-Patent Citations (3)
Title |
---|
KENNETH BARR 等: "Energy Aware Lossless Data Compression", 《THE FIRST INTERNATIONAL CONFERENCE ON MOBILE SYSTEMS, APPLICATIONS, AND SERVICES》 * |
曾玲 等: "几种数据压缩算法的比较", 《通信技术》 * |
胡运发: "《数据索引与数据组织模型及其应用》", 31 July 2012 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109101524B (zh) * | 2017-06-20 | 2023-11-24 | 三星电子株式会社 | 存储驱动器及其上的压缩系统及压缩其上的数据的方法 |
CN109101524A (zh) * | 2017-06-20 | 2018-12-28 | 三星电子株式会社 | 存储驱动器及其上的压缩系统及压缩其上的数据的方法 |
CN107590109A (zh) * | 2017-07-24 | 2018-01-16 | 深圳市元征科技股份有限公司 | 一种文本处理方法及电子设备 |
CN108011952A (zh) * | 2017-12-01 | 2018-05-08 | 北京奇艺世纪科技有限公司 | 一种获取压缩字典的方法和装置 |
CN108011952B (zh) * | 2017-12-01 | 2021-06-18 | 北京奇艺世纪科技有限公司 | 一种获取压缩字典的方法和装置 |
CN108021541A (zh) * | 2017-12-15 | 2018-05-11 | 安徽长泰信息安全服务有限公司 | 一种减小文本存储内存的方法及其系统 |
CN108133033B (zh) * | 2018-01-08 | 2020-06-12 | 武汉斗鱼网络科技有限公司 | 一种用于数据存储的方法、装置及计算机设备 |
CN108256017B (zh) * | 2018-01-08 | 2020-12-15 | 武汉斗鱼网络科技有限公司 | 一种用于数据存储的方法、装置及计算机设备 |
CN108256017A (zh) * | 2018-01-08 | 2018-07-06 | 武汉斗鱼网络科技有限公司 | 一种用于数据存储的方法、装置及计算机设备 |
CN108133033A (zh) * | 2018-01-08 | 2018-06-08 | 武汉斗鱼网络科技有限公司 | 一种用于数据存储的方法、装置及计算机设备 |
CN110442489A (zh) * | 2018-05-02 | 2019-11-12 | 阿里巴巴集团控股有限公司 | 数据处理的方法和存储介质 |
CN110442489B (zh) * | 2018-05-02 | 2024-03-01 | 阿里巴巴集团控股有限公司 | 数据处理的方法和存储介质 |
CN110781155A (zh) * | 2019-10-18 | 2020-02-11 | 赛尔网络有限公司 | 基于ipfs的数据存储读取方法、系统、设备和介质 |
CN110781155B (zh) * | 2019-10-18 | 2022-06-24 | 赛尔网络有限公司 | 基于ipfs的数据存储读取方法、系统、设备和介质 |
CN111142965A (zh) * | 2019-12-16 | 2020-05-12 | 深圳市优必选科技股份有限公司 | 语言配置方法、装置、电子设备及存储介质 |
CN112019518A (zh) * | 2020-08-05 | 2020-12-01 | 杭州木链物联网科技有限公司 | 一种工控协议数据压缩方法、装置 |
CN112818081A (zh) * | 2021-02-24 | 2021-05-18 | 三一重工股份有限公司 | 用于键值对文本的压缩、解压缩方法、系统及作业机械 |
CN113518088A (zh) * | 2021-07-12 | 2021-10-19 | 北京百度网讯科技有限公司 | 数据处理方法、装置、服务器、客户端和介质 |
Also Published As
Publication number | Publication date |
---|---|
US20160197621A1 (en) | 2016-07-07 |
CN105893337B (zh) | 2020-07-10 |
US10498355B2 (en) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105893337A (zh) | 用于文本压缩和解压缩的方法和设备 | |
CN110633292B (zh) | 一种异构数据库的查询方法、装置、介质、设备及系统 | |
US8326869B2 (en) | Analysis of object structures such as benefits and provider contracts | |
US11023452B2 (en) | Data dictionary with a reduced need for rebuilding | |
CN106407360B (zh) | 一种数据的处理方法及装置 | |
CN105912594B (zh) | Sql语句处理方法和系统 | |
CN110659282B (zh) | 数据路由的构建方法、装置、计算机设备和存储介质 | |
CN109471893B (zh) | 网络数据的查询方法、设备及计算机可读存储介质 | |
CN111708805A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
CN110874366A (zh) | 数据处理、查询方法和装置 | |
CN113297251A (zh) | 多源数据检索方法、装置、设备及存储介质 | |
CN111104422B (zh) | 一种数据推荐模型的训练方法、装置、设备及存储介质 | |
Wang et al. | A paper-text perspective: Studies on the influence of feature granularity for Chinese short-text-classification in the Big Data era | |
CN111143356B (zh) | 报表检索方法及装置 | |
WO2016013209A1 (ja) | 文集合抽出システム、方法およびプログラム | |
CN113722296A (zh) | 一种农业信息处理方法、装置、电子设备及存储介质 | |
JP5954742B2 (ja) | 文書を検索する装置及び方法 | |
CN112214494A (zh) | 检索方法及装置 | |
CN111884659A (zh) | 一种fst数据的压缩方法和装置 | |
CN113392124B (zh) | 一种基于结构化语言的数据查询方法及装置 | |
CN109684419B (zh) | 一种基于大数据的数据立方体处理方法、装置及电子设备 | |
CN117851437A (zh) | 查询区sql自动生成的方法及装置 | |
CN105677809A (zh) | 一种基于移动终端的中文词条索引压缩方法及移动终端 | |
CN117974022A (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN117874052A (zh) | 基于大模型的sql语句生成方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200413 Address after: Massachusetts, USA Applicant after: EMC IP Holding Company LLC Address before: Massachusetts, USA Applicant before: EMC Corp. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |