CN105339924B - 实现压缩服务的系统和方法 - Google Patents
实现压缩服务的系统和方法 Download PDFInfo
- Publication number
- CN105339924B CN105339924B CN201480037286.9A CN201480037286A CN105339924B CN 105339924 B CN105339924 B CN 105339924B CN 201480037286 A CN201480037286 A CN 201480037286A CN 105339924 B CN105339924 B CN 105339924B
- Authority
- CN
- China
- Prior art keywords
- data
- compression
- compressed
- service
- request
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- 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/3068—Precoding preceding compression, e.g. Burrows-Wheeler transformation
- H03M7/3071—Prediction
- H03M7/3073—Time
-
- 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/3068—Precoding preceding compression, e.g. Burrows-Wheeler transformation
- H03M7/3079—Context modeling
-
- 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/6064—Selection of Compressor
- H03M7/607—Selection between different types of compressors
-
- 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/6064—Selection of Compressor
- H03M7/6082—Selection strategies
-
- 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/6064—Selection of Compressor
- H03M7/6082—Selection strategies
- H03M7/6088—Selection strategies according to the data type
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
数据可被有效地分析和压缩作为数据压缩服务的一部分。可从客户端接收指示待压缩数据的数据压缩请求。所述数据或与所述数据相关联的元数据的分析可被执行。在至少一些实施方案中,此分析可以是基于规则的分析。一些实施方案可对历史压缩数据采用一个或多个机器学习技术,以更新所述基于规则的分析。可从待施加到所述数据的多个压缩技术中选择一个或多个压缩技术。数据压缩候选可随后根据选择的压缩技术生成。在一些实施方案中,压缩服务限制可被强制施行。所述数据压缩候选中的一个可被选择并且作为响应被发送。
Description
技术领域
本申请涉及一种实现压缩服务的系统和方法。
背景技术
因为组织机构用于创建、跟踪和保存数据的技术能力继续增长,用于传输和存储上涨的数据浪潮的各种不同技术已经被开发。一种此类技术,数据压缩,通过不同地表示数据允许数据尺寸的减小。随后,数据可被恢复用于进一步的处理。根据许多不同的压缩技术,许多不同类型的数据可被压缩。确定施加哪种压缩技术通常是挑战性的。对于某种数据,一些技术是更有效的,生成更大减小的数据尺寸,而对于其他数据,不同的压缩技术可能更适合。选择施加到数据的压缩技术的能力通常可被资源限制,所述资源被需要来在希望压缩所述数据的实体的约束内对所述数据执行各种分析。类似地,不同的压缩技术利用相异的负荷来执行所述压缩技术。因此,希望压缩数据的实体通常通过时间、操作成本、以及有效压缩数据的其他压缩选择标准源限制被限制。
发明内容
本申请提供了一种用于实现压缩服务的系统,其包括:一个或多个计算设备,被配置来实施压缩服务作为用于多个不同客户端系统的基于网络的服务,所述压缩服务包括:用于所述多个不同客户端系统的定义的接口,以获得来自所述压缩服务的压缩数据,其中,所述压缩服务被实施在与一个或多个不同客户端系统中的一个或多个客户端网络不同的网络上;多个压缩引擎,其中每个压缩引擎被配置来执行多个压缩技术中的至少一个压缩技术;基于规则的压缩引擎选择器,其被配置来:从所述多个不同客户端系统中的给定客户端系统接收待压缩数据;响应于所述数据的接收:对数据或与所述待压缩数据相关联的元数据执行基于规则的分析,以便从待施加到所述数据的所述多个压缩技术中选择一个或多个压缩技术;根据所述选择的一个或多个压缩技术并且按照给定的压缩服务限制引导所述多个压缩引擎中的一个或多个生成一个或多个数据压缩候选;以及响应生成模块,其被配置来:根据压缩选择标准选择所生成的所述一个或多个数据压缩候选中的一个作为所获得的压缩数据来提供。
附图说明
图1示出根据一些实施方案的作为服务的有效数据压缩和分析的数据流框图。
图2为示出根据一些实施方案的用于数据压缩服务的示例操作环境的框图。
图3为示出根据一些实施方案的示例数据压缩服务的框图。
图4为根据一些实施方案的执行作为服务的有效数据压缩和分析的方法的高级流程图。
图5为根据一些实施方案的根据一系列选择的压缩技术并且在给定的压缩服务限制内生成一个或多个数据压缩候选的方法的高级流程图。
图6为示出根据一些实施方案的执行机器学习来更新待压缩数据的基于规则的分析的方法的高级流程图。
图7为示出根据一些实施方案的执行作为包括多级压缩的服务的有效数据压缩和分析的方法的高级流程图。
图8为示出根据一些实施方案的执行作为服务的数据压缩的方法的高级流程图。
图9示出根据一些实施方案的示例系统。
虽然在本文中通过列举若干实施方案和说明性附图的示例的方式描述了实施方案,本领域的技术人员应认识到,实施方案并不限于所描述的实施方案或附图。应理解,附图和对其的详细描述并非意图将实施方案限于所公开的特定形式,而是相反,其意图在于涵盖落入由所附权利要求书所界定的精神和范围内的所有修改、等同物以及替代方案。本文中使用的标题仅用于组织目的,并且并不意图用于限制说明书或权利要求书的范围。贯穿本申请所使用的词语“可以(may)”是在许可的意义上(即意指具有可能性)、而非强制的意义上(即意指必须)使用。类似地,词语“包括(include/including/includes)”意味着包括但不限于。
具体实施方式
在以下详细描述中,为提供对所要求的主题的彻底理解而阐述了许多具体细节。然而,本领域的技术人员应理解,可以在没有这些具体细节的情况下实施所要求的主题。在其他情况下,一个本领域普通技术人员将了解的方法、装置或系统没有被详细描述以便不模糊所要求的主题。
还应了解,虽然在本文中可能使用术语第一、第二等来描述各种元件,但是这些元件不应受这些术语限制。这些术语只用于区分一个元件与另一个元件。例如,在不脱离本发明的范围的情况下,第一接触件可被称为第二接触件,并且类似地,第二接触件可被称为第一接触件。第一接触件和第二接触件都是接触件,但是它们不是相同的接触件。
本发明的说明书中所用的术语仅旨在描述特定实施方案,而不意图限制本发明。如在本发明和所附权利要求书的描述中所使用,单数形式的“一(a、an)”和“所述(the)”还意欲包括复数形式,除非上下文另有明确指示。还将理解,如本文使用的术语“和/或(and/or)”涉及并且涵盖一个或多个相关联列出项目的任何和所有可能组合。还将理解,当术语“包括(includes、including、comprises和/或comprising)”在此说明书中被使用时指定陈述的特征、整数、步骤、操作、元件和/或部件的存在,但是不排除一个或多个其他特征、整数、步骤、操作、元件、部件和/或其群组的存在或添加。
如本文所使用,术语“如果”(“if”)可根据上下文被解释为表示“在...时(when)”或“在...后(upon)”或“响应于确定”或“响应于检测到”。类似地,短语“如果它被确定”或者“如果[陈述的情况或事件]被检测”可根据上下文被解释为表示“在确定之后”或者“响应于确定”或者“在检测[陈述的情况或事件]之后”或者“响应于检测[陈述的情况或事件]”。
作为服务的有效数据压缩和分析的各种实施方案在本文被描述。可从客户端(例如,客户端系统、服务、设备、用户等)接收包括待压缩数据的压缩请求。可对待压缩数据或与数据相关联的元数据执行基于规则的分析,以便从待施加到数据的多个压缩技术中选择一个或多个压缩技术。可根据选择的压缩技术生成数据压缩候选。界定压缩数据对象的生成的压缩服务限制可被强制施行。数据压缩候选中的一个随后可根据压缩选择标准被选择并且作为请求的压缩数据被发送。
本说明书首先描述有效数据压缩和分析的示例。压缩服务(如被实施作为各种web服务的部分的压缩服务)可被配置来实施有效数据压缩和分析。压缩服务的各种方面以及可与压缩服务交互的各种其他服务(如数据库服务)包括在示例压缩服务的描述中。本说明书随后描述用于作为服务的有效数据压缩和分析的方法的各种实施方案的流程图。随后,本说明书描述可实现所公开的技术的示例系统。在整个说明书中,各种不同的示例可被提供。
由于许多不同的原因,数据可被创建、生成、传输、管理、修改、存储或者以其他方式操作。那些实体(例如,客户、组织、用户、客户端、系统等)压缩此数据以便更有效地存储、传送或者以其他方式管理所述数据并不少见。例如,媒体组织可创建音频文件或视频文件用于分配至顾客。这些音频文件或视频文件的压缩版本可被发送至顾客,因为它们更小并且可被更容易和快速地传送(例如,消耗更少的带宽)。数据存储组织可维持大量的数据用于许多不同的存储客户端。为了增加存储数据的安全性和可靠性,多个数据备份可被维持。以压缩形式存储这些多个数据备份可消耗更少的存储空间,降低用于提供更可靠的存储的成本。也展示期望数据压缩的许多其他示例可被考虑,并且因此以上示例并非旨在为限制性的。
然而,因为数据量增长和/或用于压缩所述数据的各种技术增加,对数据执行最有效的压缩形式可能变得越来越困难。例如,考虑以上描述的所述媒体组织。用于存储数据的数据格式(例如,如mp3、jpeg、mpeg的文件格式)的数目持续扩展,能够接收和消耗所述数据的各种技术也扩展。选择用于施加到所述数据的合适压缩技术的负担可能变得更加复杂,需要更多的资源。类似地,以上的示例数据存储组织可接收易受各种不同类型的压缩影响的许多不同类型的数据。选择用于施加的最有效的压缩技术可证明是挑战性的,如在接收新的或者不常见的类型的待压缩数据的情况中。在这些情形中,以及在许多其他情形中,用于获得压缩数据的替代性方法和技术可能是有益的。
图1示出根据一些实施方案的有效数据压缩和分析的数据流框图。数据压缩服务100可通过一个或多个计算系统或设备(如分布式系统的一个或多个节点)或者任意其他类型的计算系统或设备(如以下参考图1中的计算机系统1000描述的那些)来实施。数据压缩服务可被配置来从各种不同的系统、设备或客户端接收包括数据102的压缩请求104。这些客户端可以是由控制数据压缩服务100的相同实体控制的或者由某个第三方控制的其他服务或系统。
数据102可以是可在数据压缩服务100处接收的任意类型的数据。例如,如果数据压缩服务100被配置来通过网络连接与压缩客户端通信,那么数据压缩服务100可能能够压缩可通过此类网络连接传输的任意类型的数据。数据可划分为可被视作一个整体或者在分开的部分中的一个或多个独立式组块、数据包或其他部分。在一些实施方案中,数据102可以是已经根据一个或多个压缩技术被压缩的数据。
压缩分析110可发生以从待施加到数据102的多个不同压缩技术中选择一些压缩技术。压缩分析可通过分析数据102来执行。分析可包括确定数据的各种特性,如数据类型、格式、尺寸,或者通过针对某个尺寸范围的可能值或者常见重复值检查所述数据。因为可执行许多不同类型的数据分析,所以前述示例并非旨在为限制性的。
压缩分析110还可通过分析描述待压缩数据的元数据来施加。根据一些实施方案,还可获得与待压缩数据相关联的元数据。例如,元数据描述数据的起源或目的地(例如,客户端),数据被接收的时间(例如,时间戳),或者更一般地指示数据的类型或者特性。此元数据当在压缩服务100处被接收时可被包括作为压缩请求中的数据标头、或者与压缩请求或数据一起被包括的其他信息格式。元数据还可存储在压缩服务处,所述压缩服务与特定的数据类型或客户端相关联,如存储与从所识别的客户端接收的数据相关联的元数据的具体客户端标识符。元数据可以是由客户端生成以及从客户端接收的描述性信息。例如,所述元数据可识别所述数据可以是用于网站的每日通信量值。
在各种实施方案中,可执行元数据和/或数据的基于规则的分析,或者某种其他动态分析技术。基于规则的分析可包括代表用于压缩服务的知识库的一组规则。这些规则可基于与先前压缩数据相关联的历史数据来确定,如用于各种类型的数据的熵测量值以及被施加到数据以获得所记录的熵测量值的一个或多个压缩技术。基于规则的分析可包括确定被利用来评估待压缩数据的数据特性、以及随后识别待施加到关于数据的已知信息的一组压缩选择规则(如之前通过数据和元数据的先前数据分析来获得),以选择待被施加到数据的一个或多个压缩技术。在至少一些实施方案中,这些压缩技术可能以特定的序列来排序。在一些实施方案中,压缩技术可被并行施加,如通过各自工作来施加不同的压缩技术以生成数据压缩候选的多个节点或计算设备。
在至少一些实施方案中,还可施加机器学习(作为压缩分析110的一部分),以更新数据压缩服务100的知识库。例如,监督学习技术可将监督学习技术施加到历史压缩数据,所述历史压缩数据具有类似于待压缩数据的数据特性的一个或多个数据特性。在基于规则的数据分析中施加到待压缩数据的一组当前压缩选择规则可被更新、修改或改变,作为此机器学习技术的结果。例如,某种压缩技术可被给予比先前在待施加的一组未修改的规则下已经给予的更高的数据优先级。
多个不同的压缩引擎130可被配置来执行一个或多个压缩技术以生成数据压缩候选120。这些压缩引擎可根据选择的一个或多个压缩技术来压缩待压缩数据。在至少一些实施方案中,根据给定的压缩服务限制,压缩引擎130可被配置来根据特定的压缩技术序列压缩数据。压缩服务限制可限制时间、成本,或者提供关于候选压缩数据对象的生成的某个其他界限。例如,选择的一个或多个压缩技术可被给予优先级顺序,其中如压缩分析110确定的,排序在可能具有更低的效率的那些压缩技术之前的那些压缩技术最可能最有效地执行。因此,如果给定的压缩服务限制施加时间限制,数据压缩候选可根据最可能有效的压缩技术在所述时间限制内生成,同时具有更小的有效生成压缩数据的可能性的那些数据压缩候选可能或者可能不在所给定的时间限制内执行。在另一个示例中,服务费,或者某个其他成本可被分配至由压缩数据对象的压缩服务执行的工作,并且所述客户端可请求仅服务费上限被施加到所述数据的压缩。因为这两个示例仅是可被强制施行的许多不同类型的服务限制中的一些,所以先前的示例并非旨在为限制性的。
在各种实施方案中,可根据压缩选择标准选择数据压缩候选120中的一个。例如,在一些实施方案中,压缩选择标准可基于单个测量值,如数据压缩候选的尺寸。如图1中所示出的,用于数据102的数据压缩候选120包括候选122、124和126。如果压缩选择标准为尺寸,那么如同在图1中所示出的,数据压缩候选124可被选择作为待发送的请求的压缩数据。其他测量值(如生成数据压缩候选所需的时间、或者用于生成数据压缩候选的资源的数目)可被包括作为所述选择可基于的压缩选择标准的部件。选择的数据压缩候选可作为请求的压缩数据发送至各种不同的位置,如返回至提交所述压缩请求的客户端,或者另一个远程系统或实体。例如,在一些实施方案中,响应142可指示选择的压缩数据对象124(或者压缩数据对象124的位置)。
有效的数据压缩和分析的实施方案可作为各种不同的服务或系统的一部分来实施。数据管理服务(如被提供至客户端的数据库服务)还可对存储在所述数据管理服务内的客户端数据实施数据压缩服务。数据压缩服务可以是被提供至内部和外部客户端和/或客户的一组更广泛的基于web或网络的服务的一部分,或者可替代地作为独立服务。在一些实施方案中,基于网络的服务可向利用数据压缩服务的客户端提供一个或多个费用结构、服务计划或者性能选项。这些费用结构、服务计划或者性能选项可用于被提供至客户端的一组更大的基于网络的服务或者可以是其一部分。更一般来说,从客户端接收数据以及传输数据至客户端的任意系统和/或其他服务、系统或客户可实施作为服务的有效数据压缩和分析的各种实施方案,并且因此,先前的示例对于所预想的各种其他系统无需为限制性的。
实施作为基于网络的服务的数据压缩服务
如以上讨论的,各种客户端(或者客户、组织、实体或用户)可能希望使用数据压缩服务来压缩数据。图2示出根据一些实施方案的可向客户端提供数据压缩服务的示例操作环境。客户端可通过网络与被提供作为基于网络的服务平台的部分的数据压缩服务通信。被实施作为基于网络的服务平台的部分的其他服务也与数据压缩服务通信和/或从其获得服务。
多个用户或客户端可将待压缩数据发送至数据压缩服务。在一些实施方案中,客户端250a-250n可包括各种客户端系统、用户、客户端应用、和/或数据基于网络的服务订阅者。例如,客户端系统可包括内容供应商或数据管理或存储服务。这个服务可包括被配置来在向客户端或其他服务或过程提供内容之前,通过数据管理服务路由提供的内容或存储的数据的系统或部件。
客户端(如客户端250a到250n)可经由台式计算机、膝上型计算机、平板计算机、个人数字助理、移动设备、服务器或任意其他计算系统或其他设备(如以下参考图9描述的计算机系统1000)与数据压缩服务220通信,所述计算机系统被配置来将请求连同待压缩数据发送至数据压缩服务220,和/或从数据压缩服务220接收响应(如压缩数据)。例如,请求可被格式化作为包括与待由数据压缩服务220压缩的数据相关联的参数和/或元数据的消息。此类消息可根据特定的标记语言(如可扩展标记语言(XML))被格式化,和/或可使用协议(简单对象访问协议(SOAP))来封装。应用编程器接口(API)可被实施来提供用于客户端的标准化消息格式,如用于在客户端与数据压缩服务220通信时。
在至少一些实施方案中,客户端250a到250n可与数据压缩服务220通信,作为与基于网络的服务平台200通信的部分。基于网络的服务平台200可向客户端250a-250n提供包括数据压缩服务220和其他服务230的一个或多个服务,所述一个或多个服务可包括各种托管、存储、计算和其他服务。在至少一些实施方案中,基于网络的服务可包括基于云端的服务。基于网络的服务平台200可包括、跟踪或存储各种客户端账户,由此客户端的各种费用、费用结构、使用记录以及关于客户端与基于网络的服务(如数据压缩服务220和其他服务230)交互的其他信息可被保留。在至少一些实施方案中,基于网络的服务平台200可操作作为客户端250a-250n之间的接口,而在其他实施方案中,客户端250a-250n可直接与相应的服务通信。
客户端250a-250n可使用各种不同的通信方法(如通过网络260)与数据压缩服务220、其他服务230或基于网络的服务平台200通信。网络260可以是广域网(WAN)(例如,因特网)。然而,专用网络、内联网和通信技术的其他形式还可促进客户端与数据压缩服务220之间的通信。例如,其他服务230可相对于它们自身的服务利用数据压缩服务220来压缩、分析或解压数据,并且可利用专用网络或通信通道。在一些实施方案中,客户端可集合包括压缩请求的消息,并且传送所述消息至网络端点(例如,对应于数据压缩服务230的统一资源定位符(URL))。例如,客户端250a可经由运行本地软件应用(如web客户端)的台式计算机通信,所述客户端250a被配置来经由网络260将超文本传输协议(HTTP)请求发送至数据压缩服务230。被发送至客户端的响应或其他数据可能以类似的方式被格式化。
如以上指出的,在至少一些实施方案中,基于网络的服务平台200可操作为用于数据压缩服务220和/或其他服务230的接口。以下还将详细讨论,图8描述根据一些实施方案的用于提供作为基于网络的服务的数据压缩服务的各种方法和技术。在一些实施方案中,可在基于网络的服务平台200处从客户端接收指示待压缩数据的压缩请求。基于网络的服务平台200可确定与请求相关联的费用结构。基于网络的服务平台200可根据确定的费用结构引导数据压缩服务/模块(如数据压缩服务220)以生成压缩数据。还可根据费用结构生成用于请求的压缩数据的费用。随后可根据所述压缩请求发送请求的压缩数据。
现在转向图3,数据压缩服务220可被实施作为多个不同的基于网络的服务(例如,web服务)的部分或者作为独立服务。一个或多个计算系统或设备(如以下在图9中参考计算系统1000描述的一个或多个服务器或任意其他设备)可被配置来实施数据压缩服务220。数据压缩服务可能以分布式方式来实施,其中分布式系统的多个节点可实施数据压缩服务220的一个或多个不同部件。例如,一个或多个节点可被配置来实施数据压缩引擎330。除了各种计算系统或设备之外,各种不同的其他硬件、软件或硬件和软件部件的组合可用于实施图3中示出的各种部件,并且因此,以下描述并非旨在为限制性的。
可在数据压缩服务220处从各种不同客户端接收指示待压缩数据的压缩请求302。在一些实施方案中,数据可随所述请求被包括,与所述请求一起,或者被所述请求指示。例如,请求可指示另一个系统、服务或可从其获得待压缩数据的存储位置。所述数据压缩服务随后可从所指示的位置获得用于压缩的数据。如以上指出的,数据压缩请求可能以各种不同的方式并且根据许多不同的协议被格式化。例如,API可用于格式化压缩请求、待压缩数据、与数据相关联的各种元数据、或者对于压缩请求的压缩服务限制。待压缩数据可具有许多不同的类型,包括但不限于,各种文本数据或媒体数据,用于或通过许多不同的用户、服务或客户端,包括但不限于,存储服务、内容供应商、通信服务(例如,消息或通知服务)等。待压缩数据302可以是大型数据对象,或者划分成不同的数据组块的数据。数据302可被视作数据流或相关联数据的某个其他分组或逻辑布置(例如,在构成待压缩数据的一个或多个数据包中)。
在一些实施方案中,数据压缩服务220可实施接收压缩数据的请求和/或待压缩数据的压缩服务接口310。在一些实施方案中,压缩服务接口可被配置来分离压缩请求和/或将从压缩请求获得的信息提供至数据压缩服务220的一个或多个其他部件用于进一步处理。例如,压缩服务接口可将从压缩请求提取的指示待压缩数据的类型或特性的元数据提供至压缩引擎选择器320,以执行基于规则的或者某个其他形式的分析。例如,链接至特定客户端账户的客户端标识符可通过压缩服务接口310来识别。压缩服务接口310还可被配置来执行各种不同的其他任务以实施数据压缩服务220,如跟踪特定客户端使用的服务,执行各种计费,或者其他费用、成本或评估技术,以及与可被数据压缩服务220利用的其他服务交互,如被实施作为图2中的基于网络的服务平台200的部分的计费或账户管理服务。
压缩引擎选择器320可在各种实施方案中实施作为数据压缩服务220的部分。压缩引擎选择器320可被配置来对待压缩数据或与数据相关联的元数据执行一个或多个分析技术。例如,在一些实施方案中,压缩引擎选择器320可取样、扫描或查看数据的子集或一部分以确定所述数据的一个或多个数据特性。所述数据的这些特性可包括但不限于,数据类型、格式、尺寸或者某个尺寸域的可能值或一组常见重复值。熵测量值或者指示数据中的数据值变化的某个其他确定可被做出。基于此数据分析,可确定待压缩数据的一个或多个数据特性。
类似地,各种技术还可被压缩引擎选择器320利用,以获得与待压缩数据相关联的元数据。例如,待压缩数据的起源可被确定,如通过检查可被链接至描述客户端的元数据的客户端标识符或其他源标识符(例如,零售商、数据管理供应商、安全或加密服务等)。定时信息(如在数据被发送或被接收时的时间戳),描述性数据(如数据值域(例如,男性/女性、50州、邮政编码、年龄范围等)),或者可描述数据或客户端或压缩数据的接收方(这可以是或者可以不是压缩客户端)的任意其他类型的数据。如同所述数据本身,所述数据的数据特性可被压缩引擎选择器320识别,并且可被利用作为所述压缩引擎选择和/或分析的部分。
压缩引擎选择器320可被配置来从待施加到所述数据的多个压缩技术中选择一个或多个压缩技术。可通过执行一个或多个分析技术实施压缩技术的选择。例如,在一些实施方案中,可对数据或与数据相关联的元数据(例如,数据特性)执行基于规则的压缩分析以做出此选择。在一些实施方案中,数据的数据特性可被识别作为元数据和/或数据本身的部分,并且一组压缩选择规则可被施加到这些数据特性以确定选择哪些压缩技术。例如,所述组压缩选择规则可确定对于指示数据值域的数据特性被限制为2,选择的有效的数据压缩技术可以是运行长度压缩技术。其他规则基于数据的不同数据特性选择不同的压缩技术。在至少一些实施方案中,压缩选择规则可确定特定序列中的压缩技术的排序。此序列可基于所述基于规则的分析通过压缩效率的可能性排序。压缩引擎选择器320还可包括随机选择的或确定的压缩技术,作为选择的压缩技术中的一个以生成候选压缩数据。在不尝试可能产生或可能不产生更好的压缩的不同技术的情况下,随机选择的压缩技术可防止分析(例如,基于规则的分析)被类似的压缩技术的结果过度地影响。例如,在至少一些实施方案中,数据压缩候选可被用作历史数据的部分来执行机器学习。使用随机选择的压缩技术生成的压缩候选可防止可限制从历史数据的有效机器学习的局部最小化或者其他类型的局部性因素。
在至少一些实施方案中,机器学习压缩分析模块360可被实施作为数据压缩服务220的部分。机器学习压缩分析模块360可对历史压缩数据350执行一个或多个机器学习技术。在至少一些实施方案中,历史压缩数据可包括针对先前接收的压缩请求的压缩技术结果,以及压缩数据的数据特性。例如,如果带有类似的数据特性的先前请求被接收,如从相同的客户端,或者数据类型,未压缩或初始数据的相同尺寸等,那么机器学习技术可用于识别对于带有类似的数据特性的当前压缩请求更成功的压缩技术。监督学习、未监督学习和/或半监督学习是可施加到历史压缩数据350的各种机器学习技术的一些示例。各种不同的数据特性或与多个其他数据压缩请求的先前压缩相关联的其他数据点可使用这些技术中的一个或多个来分析以更新、修改或改变由压缩引擎选择器320施加的一组压缩选择规则。例如,压缩技术可被施加的优先级或顺序可基于观察由一个或多个机器学习技术改变,从客户端A接收的数据的类型类似于来自客户端B的数据的类型,并且某个压缩技术对客户端B的数据是非常有效的。
压缩引擎选择器320可引导一个或多个数据压缩引擎330执行选择的一个或多个压缩技术以生成数据压缩候选。数据压缩引擎中的每个可被配置来施加一个或多个数据压缩技术,例如但不限制为,字节字典(byte dictionary)、文本255、文本32k、Δ、运行长度、几乎为n(mostlyn)、运行长度压缩、Lempel-Ziv、Lempel-Ziv-Oberhumer、bzip或者更一般来说无损或有损数据压缩技术的任意其他形式。压缩引擎330中的不同一些可能能够或者可被配置来根据这些压缩技术中的不同一个压缩数据。在一些实施方案中,多个压缩技术可被施加来生成数据压缩候选。例如,识别的“最佳”压缩技术可被施加到数据,并且随后第二公共或系统级技术可随后被施加到压缩数据以生成多级压缩数据。许多不同的压缩技术对于本领域普通技术人员是已知的,并且因此先前的示例不意图为限制性的。数据压缩引擎可能以分布式方式实施,使得选择的压缩技术中的每个压缩技术可被并行或者几乎并行地施加。在一些实施方案中,不同的压缩技术也可根据压缩技术的特定排序被连续施加或者被选择用于并行执行。
在至少一些实施方案中,压缩引擎选择器320可引导所述一个或多个数据压缩引擎330根据特定的顺序或序列施加所述一个或多个数据压缩技术。例如,压缩引擎选择器320可能以一个顺序将待压缩数据发送至数据压缩引擎330,以使得它们可根据所述特定顺序或序列生成。可替代地,另一个负载均衡器、队列管理器、节点或某个其他部件可将待压缩数据放置到不同的队列中用于在不同的数据压缩引擎上的压缩,以使得所述数据压缩可能以特定的序列发生。
在至少一些实施方案中,压缩引擎选择器部件320,或者某个其他部件,如压缩服务接口310或者响应生成模块330,可被配置来强制施行压缩服务限制。压缩服务限制可以是任意形式的规则、上限、资源限制或者边界,其可限制数据压缩候选的生成、或者在数据压缩服务220内的功能或部件的另一个,如被执行用于给定数据的整个服务。例如,在一些实施方案中,压缩服务限制可以是时间限制或界限。压缩引擎选择器320可被配置来引导可在时间限制内完成的数据压缩候选的生成。类似地,某个其他部件(如响应生成部件340)可被配置来仅选择满足时间限制或某个其他数据压缩限制的一个或多个数据压缩候选,如可在某个服务上限费用内生成的那些数据压缩候选。压缩服务限制还可以是由数据压缩服务220强制施行的一个或多个规则,以在大型数据压缩请求或者来自多个客户的多个请求上节省或者平衡其自身的资源。例如,如果被接收来压缩的数据大于某个尺寸,那么某些资源限制可被施加(例如,如可被引导来执行数据压缩候选的生成的节点或者数据压缩引擎的数目)。因为许多其他不同类型的限制可被预想,所以前述示例并非旨在为限制性的。
指示符(如数据标头)可被附加至数据压缩候选,以标识被施加来生成数据压缩候选的一个或多个压缩技术。例如,如果被施加到数据的压缩技术是字典压缩,那么用于索引所述字典压缩技术的数据值可存储在数据标头中以促进解压。
在至少一些实施方案中,数据压缩服务220还可实施响应生成模块340。响应生成模块340可被配置来根据压缩选择标准选择数据压缩候选中的一个,以作为响应的请求的压缩数据发送。可在响应生成模块处接收作为输入的数据压缩候选。数据压缩候选的性能特性可被确定,其指示用于生成数据压缩候选的一个或多个压缩技术的性能。例如,性能特性可指示它用时2.7秒来生成数据压缩候选。其他性能特性可包括但不限于,数据压缩候选的尺寸,被利用来生成所述数据压缩候选的资源的数目(例如,节点的数目),可被分配至数据压缩候选的成本或某个其他服务费用,或者解压时间/成本(解压对象需要的时间或成本的量(例如,计算成本))。用于选择数据压缩候选中的一个的所述压缩选择标准可以是其性能特性最佳满足压缩选择标准的数据压缩候选中的一个。例如,在至少一些实施方案中,压缩选择标准可以是最小的尺寸。因此,如性能特性所指示的带有最小尺寸的数据压缩候选可被选择作为用于发送的请求的数据压缩。在一些实施方案中,多个性能特性可用于确定哪个数据压缩候选最佳满足压缩选择标准。例如,压缩选择标准可以是最具成本效益的数据压缩。此类标准可被施加来确定由用于生成数据压缩候选的成本划分的数据压缩候选的尺寸,如用于生成的时间或者使用资源的数目。因此,在此示例中,可能具有小型但不是最小压缩尺寸,但是具有用于压缩的更快时间的数据压缩候选可被选择为压缩数据对象。类似地,数据压缩候选的尺寸还可结合解压时间来分析,其中有效性稍差的压缩技术可具有更少的解压时间,并且因此被选择作为用于发送的压缩数据。
在至少一些实施方案中,响应生成模块340可生成或格式化选择的数据压缩候选用于传输至压缩数据接收方。例如,一个或多个加密技术可在其发送之前被施加到选择的数据压缩候选。如以下指出的,其他压缩技术(如系统压缩技术)也可被施加到选择的数据候选。可替代地,在至少一些实施方案中,另一个部件(未示出)可实施压缩数据被发送至并且在经由压缩服务接口310发送之前被加密的数据加密模块或服务(例如,图2中的其他服务230)。例如,压缩服务接口310可接收被格式化的压缩数据并且将所述压缩数据304发送至所述接收方。在一些实施方案中,压缩数据304的接收方可以是请求压缩数据的客户端。可替代地,所述接收方可以是除所述压缩客户端之外的另一远程系统或服务。例如,存储客户端可首先将数据发送至数据压缩服务220进行压缩,其中预期接受方为用于存储压缩数据的数据存储服务。
在一些实施方案中,响应生成模块340可确定选择的数据压缩候选的熵测量值,或者指示数据值的变化的某个其他测量值。至少部分地基于此熵测量值,响应生成模块340可根据系统压缩技术再一次压缩选择的数据压缩候选以进一步压缩所述数据。此类系统压缩技术可以是以上描述的一个或多个压缩技术中的任意一个。例如,熵阈值可被实施,以使得对于带有低于所述熵阈值的熵测量值的那些选择数据压缩候选,所述系统压缩技术可被施加来生成多级压缩数据。可选地,在至少一些实施方案中,全系统压缩技术可被施加到选择的数据压缩候选(或者一组数据压缩候选)以生成多级压缩数据。
在一些实施方案中,历史压缩数据350可被实施作为数据存储或其他形式的存储设备或存储服务,以跟踪、记录或维持与先前的数据压缩相关联的信息。此信息可包括数据特性、性能特性或者与被发送至接收方的压缩数据的压缩相关联的任意其他数据。在一些实施方案中,多个数据压缩候选可被生成,并且除了与作为请求的压缩数据发送的选择的数据压缩候选相关联的数据特性和/或性能特性之外,结果数据和与数据压缩候选的生成相关联的其他数据特性或其他性能特性可存储在历史数据压缩350中。这些数据特性可从数据压缩服务220的各种其他部件获得,如从压缩引擎选择器320、数据压缩引擎330、响应生成模块340,或者获得与数据压缩有关的数据的任意其他部件。例如,指示从客户端接收的先前数据的特性,被施加的压缩技术以及它被发送至的接收方的客户端标识符可存储在历史压缩数据中。因此,当从相同的客户端接收其他数据时,压缩引擎选择器320可确定待施加的最佳技术是被施加的先前压缩技术,如在历史压缩数据350中所指示的。
在至少一些实施方案中,可在数据压缩服务处接收指示待解压的数据的解压请求306。在一些实施方案中,待解压数据可包括在所述请求中,连同请求一起,或者由所述请求指示,如通过指示从其获得待解压数据的位置、系统或服务。此解压请求可识别被施加来生成压缩数据的一个或多个压缩技术。压缩服务接口310或某个其他部件可引导被配置来根据一个或多个压缩技术解压数据的一个或多个数据解压引擎370解压压缩数据306。响应生成模块340随后可将解压数据308发送至接收方。如以上指出的,接收方可能或者可能不是与请求所述解压的客户端相同的远程系统或位置。
尽管图2和图3已经在被提供为一组基于网络的服务的部分的数据压缩服务的上下文中被描述和示出,在图2和图3中示出和描述的各种部件可轻易地施加到可能希望提供作为服务的数据压缩的其他系统。此外,部件、系统或设备示出的配置不限制其他可能的配置。例如,图3示出作为一个或多个功能部件或模块的数据压缩服务,但是在一些实施方案中,这些部件或模块可能以各种方式分布在不同的计算设备或节点上。因此,图2和图3并非旨在限制数据压缩服务的实施方案。
作为服务的有效数据压缩和分析的工作流
如上文已经讨论的,数据压缩服务可提供有效优势更一般来说至管理、存储或传输数据的任意类型的客户端。图4为根据一些实施方案的用于执行作为服务的有效数据压缩和分析的方法的高级流程图。各种不同的系统和设备可实施以下描述的各种方法和技术。数据压缩服务(如以上在图3中描述的数据压缩服务220)可实施所述各种方法和技术。然而,以上示例和或被提及执行所示出的方法的任意其他系统或设备并非旨在限制系统和设备的其他不同的个体或配置。
如410处指示的,可从客户端接收指示待压缩数据的压缩请求。此数据可以具有许多不同的格式、类型、尺寸,如以上参考图1和图3描述的。在一些实施方案中,数据可随所述请求被包括,与所述请求一起,或者被所述请求指示。例如,请求可指示另一个系统、服务或可从其获得待压缩数据的存储位置。所述数据压缩服务随后可从所指示的位置获得用于压缩的数据。元数据通常可指示可被接收或获得的待压缩数据的类型或特性。如上文参考图1和图3所讨论的示例中指出的,所述类型/格式、客户端身份、客户端起源、关于数据何时被发送和接收的定时信息都可以是与所述数据相关联的元数据的示例。例如,获得元数据可包括分析或解析可包括标头中的元数据的压缩请求或者包括待压缩数据的某个其他格式或消息。在一些实施方案中,可使用描述符或被数据压缩服务建立的作为API的部分的其他指示符来生成具体用于所述数据的元数据。例如,值域名标记可被设置,其允许客户端识别数据域中的独特值的数目。
可对数据或与所述数据相关联的元数据执行分析,以便从待施加到所述数据的多个压缩技术中选择一个或多个压缩技术如420处指示的。所述数据本身总体或者数据的某个子集或部分可被分析、取样、扫描或者查看以确定所述数据的一个或多个数据特性。所述数据的这些特性可包括但不限于,数据类型、格式、尺寸或者某个尺寸域的可能值或一组常见重复值。熵测量值或者指示所述数据中的数据值的变化可被做出的某个其他确定也可被确定。基于数据分析,可确定待压缩数据的一个或多个数据特性。类似地,如以上指出的,与所述数据相关联的元数据也可用于确定所述数据的数据特性。
如以上参考压缩引擎选择器320讨论的,基于规则的分析或某个其他类型的分析可将知识库(如一组压缩选择规则)动态地利用或施加到待压缩数据的数据特性。所述一组压缩规则可被施加到待压缩数据的数据特性,以选择待施加的一个或多个压缩技术。例如,所述选择规则可指示由数据类型(如整数)构成的数据可具有一个或多个有效压缩技术,并且因此所述一个或多个有效压缩技术将被选择来施加。可在施加压缩选择规则时使用多个数据特性。例如,数据值的类型可用作过滤器以将可能的压缩技术缩小至一组减小的可能压缩技术,并且随后所述数据中的数据分布表示可用于确定待施加的一组更小的压缩技术。例如,数据值的类型可以是整数,从而将压缩限制到压缩技术子集,并且随后所述数据中的整数值分布表示还可将压缩技术子集细化至一组特定的压缩技术,如在示出小范围值的分布可能指示一个或多个基于字典的压缩技术的使用的情况。以下讨论的,图6提供可用于随时间更新或适配基于规则的分析的各种机器学习技术的进一步讨论。由于基于规则的分析的各种实施对于本领域普通技术人员是熟知的,所以以上示例并非旨在为限制性的。
在一些实施方案中,一个或多个数据压缩候选可根据一个或多个选择的压缩技术来生成,如在430处指示的。这些压缩技术可包括各种熟知的或不太已知的或者定制的压缩技术中的任意技术,包括但不限于,字节字典、文本255、文本32k、Δ、运行长度、几乎为n、运行长度压缩、Lempel-Ziv、Lempel-Ziv-Oberhumer、bzip或者更一般来说无损或有损数据压缩技术的任意其他形式。在一些实施方案中,多个压缩技术可被施加来生成数据压缩候选。许多不同的压缩技术对于本领域普通技术人员是已知的,并且因此先前的示例不意图为限制性的。在一些实施方案中,压缩服务限制(如以上参考图3以及以下参考图5所论述的那些)可被强制施行。
可根据压缩选择标准选择所述一个或多个数据压缩候选中的一个,如在440处指示的。在一些实施方案中,压缩选择标准可以是用于根据尺寸选择最小数据压缩候选的标准,或者可以是所述数据压缩的性能特性的某个组合,如由被用来生成数据压缩候选的所述时间或资源划分的数据压缩候选的尺寸。因此,例如,略微更大尺寸的数据压缩候选可被选择,如果它占用比更小压缩尺寸的数据压缩候选明显更少的时间。
选择的数据压缩候选随后可作为响应作为请求的压缩数据发送,如在450处指示的。所述压缩数据的接收方可以是与所述客户端相同的远程系统或位置,或者可以是与所述客户端不同的位置或远程系统。对于选择的数据压缩候选的其他修改、改变或另外操作也可在发送请求的压缩数据之前被执行。例如,在一些实施方案中,一个或多个加密技术可被施加到选择的数据压缩候选。类似地,另一个压缩技术(如系统压缩技术)可被施加来生成多级压缩数据,以作为请求的压缩数据发送。
元素410-450以上可被重复执行用于来自多个不同客户端的不同数据。在至少一些实施方案中,接收的数据可以是来自相同的客户端并且是相同的类型、格式或者数据的其他类似特性。此类数据可根据先前被施加的技术来压缩,而不用执行基于规则的分析、生成一个或多个数据压缩候选、或者选择待发送的数据压缩候选中的一个。例如,在一些实施方案中,接收的数据可以是包括多个数据组块的数据流。对于第一数据组块,元素410到450可被执行来压缩所述数据组块。然而,对于所述数据流的随后数据组块,每个数据组块可根据被施加到第一数据组块的压缩技术来压缩。因此,这些数据组块可被压缩和发送而不用执行附加的分析。
现在转向图5,在一些实施方案中,压缩服务限制可被强制施行。此服务限制可能与以特定的序列的一个或多个压缩技术的选择结合,以使得所述最有效的数据压缩候选可被生成并且所述压缩限制可被满足。图5为根据一些实施方案的根据一系列选择的压缩技术并且在给定的压缩服务限制内生成一个或多个数据压缩候选的方法的高级流程图。
如在510处指示的,待执行的数据或与待压缩数据相关联的元数据的基于规则的分析可被执行,以从待施加到所述数据的多个压缩技术中选择一个或多个压缩技术的排序。在一些实施方案中,此序列可表示待尝试的最有效的压缩技术的优先级顺序或某个其他指示。例如,如在520处指示的,可根据待施加到所述数据的压缩技术的排序选择未尝试的压缩技术。因此,最可能执行最有效压缩的数据压缩技术可被首先选择。在一些实施方案中,最有效压缩可指示所述压缩技术可生成最小尺寸的压缩数据。随后可根据压缩技术中的选择的未尝试的一个生成数据压缩候选,如在530处指示的。
如在图5中所示出的,元素520和530可被重复直到压缩服务限制被超过,如在540处指示的。如以上指出的,压缩服务限制可以是任意形式的规则、上限、资源限制或者边界,其可限制数据压缩候选的生成、或者在数据压缩服务220内的功能或部件的另一个,如被执行用于给定数据的整个服务。例如,在一些实施方案中,压缩服务限制可以是服务费用上限,所述服务费用上限将压缩数据候选的生成限制于可在某个服务费用内被生成的那些。尽管如图5中示出的压缩技术的排序可被连续施加,压缩技术的排序可在并行生成数据压缩候选的系统中施加。考虑示例系统,其中特定数目的压缩引擎(例如,节点、系统、虚拟计算实例等)可被实施来生成数据压缩候选(如根据数据压缩限制)。在生成数据压缩候选时待由所述数据压缩引擎施加的压缩技术可经由压缩技术的排序来确定。附加的压缩技术可随着一个或多个当前使用的压缩引擎完成压缩数据候选的生成被尝试,并且因此所述压缩引擎可并行操作,以及根据压缩技术的排序生成数据压缩候选。如由从540的负退出示出的,当所述压缩服务限制被超过时,新的数据压缩候选的生成可能不再继续。选择(如以上在440中描述的选择)可发生,并且选择的压缩数据可被发送,如在550处所指示的。
请注意,尽管用于施加压缩服务限制的所示出的技术和压缩技术的序列被共同示出,它们可能被单独执行或者结合其他方法或技术执行,如以上参考图4所描述的那些。
现在转向图6,在一些实施方案中,数据和/或与待压缩数据相关联的元数据的基于规则的分析可基于一个或多个机器学习技术被修改、更新或者改变。图6为示出根据一些实施方案的用于执行机器学习来更新待压缩数据的基于规则的分析的方法的高级流程图。如在610处指示的,在压缩数据服务处可获得先前压缩数据的历史压缩数据。如以上参考图3中的历史压缩数据350讨论的,此历史压缩数据可包括各种不同的数据特性、性能特性和/或与用于数据的压缩的先前性能相关联的任意其他数据。例如,用于单独客户端的压缩数据的历史可被维持。
如在620处指示的,可对历史压缩数据执行一个或多个机器学习技术以更新一组待施加到待压缩数据的数据特性的当前压缩选择规则。例如,待压缩数据可具有包括数据类型、客户端类型和尺寸的一组数据特性。用于带有相同或类似的特性的数据的先前压缩数据的历史压缩数据可被获得。一个或多个机器学习技术,如监督、未监督或者半监督学习可被施加到所述历史压缩数据。待施加到数据的选择规则基于由所述机器学习技术识别的所述学习。例如,可确定某些压缩技术呈现出针对此客户端类型和数据尺寸更有效地压缩数据,即使已知的数据类型可能通常已知使用不同的压缩技术来更好地压缩。可基于来自机器学习的这个观察提升某些压缩技术对于压缩选择规则的选择的优先级。由于机器学习对于本领域的那些或普通技术人员是熟知的,所以先前的示例并非旨在为限制性的。随后,如在630处指示的,一组更新的压缩选择规则可被施加到待压缩数据的数据特性,以便选择待施加到所述数据的一个或多个压缩技术。
现在转向图7,在一些实施方案中,多级压缩可被施加到被接收用于压缩的数据。图7为示出根据一些实施方案的用于执行作为包括多级压缩的服务的有效数据压缩和分析的方法的高级流程图。可根据一个或多个数据压缩技术生成数据压缩候选,如在710处指示的。在一些实施方案中,此数据压缩候选是待作为请求的压缩数据发送的选择的数据压缩候选。熵测量值随后可被确定用于数据压缩候选,如在720处指示的。熵测量值可被确定,其指示存储在所述数据压缩候选中的数据值的变化。随后可确定所述数据压缩候选的熵测量值是否小于熵阈值,如在730处指示的。如果是,那么所述数据压缩候选可根据系统压缩技术被再次压缩,以生成待作为压缩数据发送的多级压缩数据,如在740处指示的。系统压缩技术可以是任意压缩技术,如以上参考图3和图4所描述的那些。此多级压缩数据随后可被发送,如在750处指示的。尽管不被示出,此多级压缩数据可被检验以确定所述多级压缩的尺寸是否大于先前压缩的尺寸,并且如果是,所述多级压缩可被移除并且所述数据可被发送,如在760处指示的。可替代地,如果所述熵测量值不小于所述阈值,所述数据压缩候选可被发送,如在760处指示的。然而,尽管图7示出熵阈值可被施加,在一些实施方案中,被选择作为待发送的数据的所有的数据压缩候选可使用全系统压缩技术来压缩。
如上文参考图2所讨论,在一些实施方案中,可向各种不同客户端(如客户端250a到250n)提供作为基于网络的服务的数据压缩。图8为示出根据一些实施方案的执行作为服务的数据压缩的方法的高级流程图。各种不同的系统、部件以及结构可被利用来实施以下描述的技术。在至少一些实施方案中,基于网络的服务平台(如图2中的基于网络的服务平台200)可实施所描述的元素中的一些或所有。然而,请注意下文给定的示例并非旨在限制实施基于网络的数据压缩服务的任意具体的结构、配置或者部件。元素的特定排序或安排不旨在限制元素的任意其他排序或安排,也不限制附加元素的执行或图8中示出的元素的移除。
如在810处指示的,在一些实施方案中,指示待压缩数据的来自客户端的压缩请求可被接收。如以上参考图3和图7描述的各种压缩请求,待压缩数据可被指示(例如,所述数据的位置)、被包括、或者与压缩请求一起被发送。所述压缩请求可包含与所述压缩请求相关联的一个或多个标识符,所述标识符识别对其的请求被发送的客户端或客户端账户。例如,所述标识符可根据限定包括请求的客户端账户数目的若干字段的API或其他类型的协议或接口被格式化。类似地,其他客户端信息可在所述压缩请求中指示,如请求由数据压缩服务提供的各种类型的压缩服务或选项。例如,所述压缩请求可识别用于所述压缩请求的具体费用结构,所述压缩请求随后可确定压缩数据可如何生成以及与所述请求相关联的费用可如何生成。类似地,一种具体类型的压缩技术、分析、客户端历史或者任意其他类型的信息可被指示为所述压缩请求的部分。例如,客户可提交具有仅依靠来自相同客户端的先前客户端压缩请求来分析和压缩所指示的数据的选项的压缩请求。
在各种实施方案中,基于网络的数据压缩服务可提供用于压缩客户端的各种不同的费用结构。这些费用结构可包括一个或多个确定压缩服务因素和/或限制。例如,在一些实施方案中,资源约束、时间约束和成本约束可以是包括在费用结构中的一个或多个压缩服务因素。例如,各种时间约束可包括在费用结构中,所述时间约束提供对于压缩请求的达成协议的完成时间,如符合特定的服务水平协议(例如,每个请求2分钟)。成本约束(如费用上限)或者如以上参考图7讨论的那些的其他压缩服务限制可被包括作为费用结构的部分。类似地,资源约束也可被包括。例如,用于执行或处理压缩请求(例如,何时可用、按需、预留或以特定价格)的特定数目的资源(例如,节点)。
在各种实施方案中,与压缩请求相关联的费用结构随后可被确定,如在820处指示的。确定所述费用结构可通过识别客户端来执行,如通过包括在压缩请求中的一个或多个标识符(例如,账号)。其他因素(如数据的类型、所述数据被发送的时间、被包括用于所述特定数据的元数据,如上文参考图4所描述的元数据)也可被包括和在用于数据压缩服务的确定中使用。在一些实施方案中,数据压缩服务可提供用于客户端的单个费用结构。然而,在至少一些实施方案中,多个费用结构可被确定用于来自相同客户端或不同客户端的不同请求。
可根据确定的费用结构生成压缩数据,如在830处指示的。如以上参考图3和图4所论述的,各种不同的压缩技术可被施加到数据用于压缩请求。在至少一些实施方案中,压缩请求可指示待施加到所指示的数据的选择的一个或多个压缩技术。可选地,在一些实施方案中,所述压缩请求可请求以上参考图3和图4所描述的由机器学习通知或者没有机器学习的各种分析技术中的一个或多个,如施加基于规则或其他形式的动态分析。类似于上文参考图5的讨论,可根据确定的费用结构生成请求的压缩数据。例如,在一些实施方案中,确定的费用结构可对于生成数据压缩候选施加时间限制,或者资源或费用上限。类似地,费用结构可能以不同的价格来定价不同的压缩技术,并且如果用户选择的压缩技术超过由费用结构确定的用于所述请求的上限或者限制,那么类似的压缩技术可被代替执行用于所述压缩请求(或者为使用选择的压缩技术生成的更高的费用)。更一般地,在一些实施方案中,在生成所述压缩数据时,确定的费用结构可对所述压缩请求施加一个或多个压缩服务限制。例如,如果当压缩所述数据(例如,基于如执行所述请求的节点的资源的可用性)的成本是某个价格时,压缩服务限制仅执行用于所述客户端的压缩请求,那么请求可被排队直到所述压缩服务限制可被满足为止。由于许多其他不同的压缩服务限制和费用结构类型可被预想,所以先前的示例并非旨在为限制性的。
在至少一些实施方案中,可根据所述费用结构生成用于压缩数据的费用,如在840处指示的。例如,费用结构可描述用于各种因素的某些速率或成本,如用于压缩的所述时间、待压缩数据量、待压缩数据类型、用于压缩所述数据的资源的数目(例如,节点的数目)、压缩技术的类型等等。各种费用结构可针对在给定的时间段内某个数目的压缩请求(例如,每天10个)提供,或者针对在某个时间段内待压缩的某个数据量(例如,每月10千兆字节)提供。附加的收费、费用或价格可被添加用于以上描述的各种选项或压缩服务,如数据的动态或基于规则的分析。在至少一些实施方案中,生成的费用可与客户端相关联,如通过在保存客户端账户及计费信息的数据存储中记录所述费用,如上文参考图2中的基于网络的服务接口200描述的。
随后可根据所述压缩请求发送请求的压缩数据,如在850处指示的。如以上参考图3和图4所讨论的,压缩数据可被发送至不同于所述数据起源的远程位置,如另一客户端、系统或服务。例如,压缩数据可被发送至档案库或其他耐用数据存储服务。可替代地,压缩数据可被发送回请求客户端。
在一些实施方案中,用于客户端的解压请求可能以类似于以上在图8中描述的方式被处理。用于压缩请求的费用结构可被确定,所述数据可根据所述费用结构被解压,用于所述解压的费用可生成,并且所述解压数据可根据所述压缩请求被发送。
示例系统
如本文描述的有效数据压缩和分析的实施方案可在一个或多个计算机系统上执行,所述计算机系统可与各种其他设备交互。一个此类计算机系统被图9示出。在不同的实施方案中,计算机系统1000可能是各种类型的设备中的任何一种,包括但不限于:个人计算机系统、台式计算机、膝上型计算机、笔记本电脑或上网本计算机、大型计算机系统、手持式计算机、工作站、网络计算机、相机、机顶盒、移动设备、消费者设备、视频游戏控制台、手持视频游戏设备、应用服务器、存储设备、如开关、调制解调器、路由器的外围设备、或者通常任意类型的计算或电子设备。
在示出的实施方案中,计算机系统1000包括经由输入/输出(I/O)接口1030耦接至系统存储器1020的一个或多个处理器1010。计算机系统1000还包括耦接至I/O接口1030的网络接口1040,和一个或多个输入/输出设备1050,例如光标控制设备1060、键盘1070和显示器1080。显示器1080可包括标准计算机监视器和/或其他显示系统、技术或设备。在至少一些实施方案中,输入/输出设备1050还可包括如平板电脑或平板计算机的支持触摸或者多重触摸的设备,经由所述平板电脑或平板计算机用户经由触控笔式设备和/或一个或多个手指进行输入。在一些实施方案中,可以预期实施方案可使用计算机系统1000的单一实例来实施,而在其它实施方案中多个这类系统,或构成计算机系统1000的多个节点可被配置成托管实施方案的不同部分或情况。例如,在一个实施方案中,一些元素可经由不同于实施其他元素的那些节点的计算机系统1000的一个或多个节点来实施。
在各种实施方案中,计算机系统1000可为包括一个处理器1010的单一处理器系统,或包括若干处理器1010(例如两个、四个、八个或另一合适数量)的多处理器系统。处理器1010可以是能够执行指令的任意适合的处理器。例如,在各种实施方案中,处理器1010可为实施各种指令集架构(ISA)中任何一种架构的通用或嵌入式处理器,所述架构例如x86、PowerPC、SPARC、或MIPS ISA或任何其他合适ISA。在多处理器系统中,每一个处理器1010可通常但不一定实施相同的ISA。
在一些实施方案中,至少一个处理器1010可以是图形处理单元。图形处理单元或GPU可被视为用于个人计算机、工作站、游戏控制台或其他计算或电子设备的专用图形渲染设备。现代GPU在操纵和显示计算机图形上可能是非常有效的,并且它们高度并行的结构可使得它们对于复杂图形算法的范围比典型的CPU更有效。例如,图形处理器可能以一种方式来实施多个图形原始操作,所述方式使执行所述操作比通过主机中央处理单元(CPU)直接向屏幕绘图快得多。在各种实施方案中,图形渲染可至少部分地通过被配置用于在此类GPU中的一个上执行,或者在此类GPU中的两个或更多个上并行执行的程序指令来实施。所述GPU可实施允许程序员调用所述GPU的功能性的一个或多个应用编程器接口(API)。合适的GPU可从供应商(如NVIDIA公司、ATI技术(AMD)等)商购获得。
系统存储器1020可被配置成存储可被处理器1010访问的程序指令和/或数据。在各种实施方案中,系统存储器1020可使用任何合适存储器技术来实施,所述存储器技术例如静态随机存取存储器(SRAM)、同步动态RAM(SDRAM)、非易失性/快闪型存储器或任何其它类型的存储器。在所示的实施方案中,实施所需功能(诸如上述那些)的程序指令和数据被示出为分别作为程序指令1025和数据存储1035存储在系统存储器1020内。在其它实施方案中,程序指令和/或数据可被接收、发送或存储于不同类型的计算机可访问介质中或与系统存储器1020或计算机系统1000分开的类似介质上。一般来说,计算机可访问的介质可包括存储介质或存储器介质,例如磁性介质或光学介质,例如经由I/O接口1030耦接至计算机系统1000的磁盘或CD/DVD-ROM。经由计算机可访问的介质存储的程序指令和数据可通过传输介质或信号(诸如电、电磁或数字信号)来传输,所述传输介质或信号可经由通信介质(诸如网络和/或无线链路)来传送,所述通信介质诸如可经由网络接口1040来实施。
在一个实施方案中,I/O接口1030可被配置成协调处理器1010、系统存储器1020和设备中的任何外围设备之间的I/O流量,所述外围设备包括网络接口1040或其它外围接口,例如输入/输出设备1050。在一些实施方案中,I/O接口1030可执行任何必需协议、时序或其他数据转换以将来自一个部件(例如,系统存储器1020)的数据信号转换成适合于由另一个部件(例如,处理器1010)使用的格式。在一些实施方案中,I/O接口1030可包括对于通过各种类型的外围总线附接的设备的支持,所述外围总线例如外围部件互连(PCI)总线标准或通用串行总线(USB)标准的变型。在一些实施方案中,I/O接口1030的功能可分成两个或更多个单独的部件中,例如北桥和南桥。另外,在一些实施方案中,I/O接口1030的一些或所有功能,例如连接至系统存储器1020的接口,可直接并入处理器1010中。
网络接口1040可被配置成允许数据在计算机系统1000与连接至网络的其它设备,例如其它计算机系统之间,或在计算机系统1000的节点之间交换。在各种实施方案中,网络接口1040可支持经由有线或无线通用数据网络如任何合适类型的以太网的通信;经由电信/电话网络例如模拟语音网络或数字光纤通信网络的通信;经由存储区域网络例如光纤通道SAN的通信,或经由任何其它合适类型的网络和/或协议的通信。
输入/输出设备1050可在一些实施方案中包括一个或多个显示终端、键盘、小键盘、触摸板、扫描设备、语音或光学识别设备,或适合于由一个或多个计算机系统1000输入或检索数据的任何其他设备。多个输入/输出设备1050可存在于计算机系统1000中或可分布于计算机系统1000的不同节点上。在一些实施方案中,类似输入/输出设备可与计算机系统1000分开并且可经由有线或无线连接例如通过网络接口1040来与计算机系统1000的一个或多个节点交互。
如图9所示出的,存储器1020可包括被配置来实施如本文描述的作为服务的有效数据压缩和分析的各种实施方案的程序指令1025,以及包括包含可被程序指令1025访问的各种数据的数据存储1035。在一个实施方案中,程序指令1025可包括如本文描述的以及在附图中示出的实施方案的软件元件。数据存储1035可包括可在这些实施方案中使用的数据。在其它实施方案中,可包含其它或不同软件元件和数据。
本领域的技术人员将了解,计算机系统1000仅仅是说明性的并且并不意图限制如本文描述的实施方案的范围。具体地说,计算机系统和设备可包括可执行所指示的功能的硬件或软件的任何组合,包括计算机、个人计算机系统、台式计算机、膝上型计算机、笔记本电脑或上网本计算机、大型计算机系统、手持式计算机、工作站、网络计算机、相机、机顶盒、移动设备、网络设备、互联网装置、PDA、无线电话、寻呼机、消费者设备、视频游戏控制台、手持视频游戏设备、应用服务器、存储设备、如开关、调制解调器、路由器的外围设备、或者通常任意类型的计算或电子设备。计算机系统1000还可被连接至未示出的其它设备,或替代地可以作为独立系统操作。另外,由所示出的部件提供的功能性在一些实施方案中可被组合在较少的部件中或者被分布在附加部件中。类似地,在一些实施方案中,可以不提供所示出部件中的一些的功能和/或可使用其他附加的功能。
本领域的技术人员还应了解,尽管各种项目被示出为在使用时存储在存储器中或者存储装置上,但是这些项目或它们的部分可在存储器与其它存储设备之间传送,以供用于存储器管理和数据完整性的目的。可选地,在其它实施方案中,软件部件的一些或全部可在另一设备上的存储器中执行,并且通过计算机间通信来与所示出的计算机系统通信。系统部件或数据结构中的一些或全部还可存储(例如,作为指令或者结构化数据)在将由适当的驱动器读取的计算机可访问介质或便携式制品中,它们的各种示例已在上文描述。在一些实施方案中,存储在与计算机系统1000分开的计算机可读介质上的指令可通过传输介质或信号来传输到计算机系统1000,传输介质或信号诸如通过通信介质(诸如网络和/或无线链路)传达的电信号、电磁信号或数字信号。此计算机可读存储介质可以是非暂时性的。各种实施方案还可以包括根据前面的描述实施的在计算机可访问介质上接收、发送或存储指令和/或数据。因此,本发明可用其他计算机系统配置来实践。
鉴于以下条款,还可更好地理解上述内容:
1.一种系统,其包括:
被配置来实施压缩服务的一个或多个计算设备,其包括:
多个压缩引擎,其中每个压缩引擎被配置来执行多个压缩技术中的至少一个压缩技术;
基于规则的压缩引擎选择器,其被配置来:
从客户端接收待压缩数据;
响应于接收所述数据:
对数据或与所述待压缩数据相关联的元数据执行基于规则的分析,以便从待施加到所述数据的所述多个压缩技术中选择一个或多个压缩技术;
根据所述选择的一个或多个压缩技术并且按照给定的压缩服务限制引导所述多个压缩引擎的一个或多个生成一个或多个压缩数据候选;
响应生成模块,其被配置来:
根据压缩选择标准选择所述一个或多个数据压缩候选中的一个作为请求的压缩数据发送。
2.根据条款1所述的系统,
其中,为了对所述数据或与所述待压缩数据相关联的所述元数据执行基于规则的分析以便从待施加到所述数据的所述多个压缩技术中选择所述一个或多个压缩技术,所述基于规则的压缩引擎选择器被配置来将一组当前压缩选择规则施加到所述数据的一个或多个数据特性;
其中所述压缩服务还包括机器学习压缩分析模块,其被配置来:
对历史压缩数据执行一个或多个机器学习技术以更新所述一组当前压缩选择规则。
3.根据条款1所述的系统,其中所述响应生成模块还被配置来:
确定用于所述一个或多个数据压缩候选中的所述选择的一个的熵测量值;并且
响应于确定用于所述一个或多个数据压缩候选中的所述选择的一个的所述熵测量值小于熵阈值,根据系统压缩技术压缩所述选择的一个以生成待作为所述请求的压缩数据发送的多级压缩数据。
4.一种方法,其包括:
由一个或多个计算设备执行:
从客户端接收指示待压缩数据的压缩请求;
响应于接收所述压缩请求:
对所述数据或与所述待压缩数据相关联的元数据执行分析,以便从待施加到所述数据的多个压缩技术选择一个或多个压缩技术;
根据所述一个或多个压缩技术生成一个或多个数据压缩候选;
根据压缩选择标准选择所述一个或多个数据压缩候选中的一个作为请求的压缩数据发送;以及
发送包括所述请求的压缩数据的响应。
5.根据条款4所述的方法,其中所述根据所述一个或多个压缩技术生成所述一个或多个数据压缩候选包括:
直到给定的压缩服务限制被超过,针对所述一个或多个压缩技术中的每一个生成数据压缩候选。
6.根据条款5所述的方法,其中所述给定的压缩服务限制是时间限制。
7.根据条款4所述的方法,其中对所述数据或与所述待压缩数据相关联的元数据的所述分析是基于规则的分析。
8.根据条款7所述的方法,
其中所述方法还包括:
对历史压缩数据执行一个或多个机器学习技术,以更新待施加来选择所述一个或多个压缩技术的一组当前压缩选择规则;
其中所述对所述数据或与所述待压缩数据相关联的所述元数据执行所述分析以便从待施加到所述数据的所述多个压缩技术中选择所述一个或多个压缩技术包括:
将所述一组更新压缩选择规则施加到所述数据的一个或多个数据特性,以从待施加到所述数据的所述多个压缩技术中选择所述一个或多个压缩技术。
9.根据条款8所述的方法,其中所述元数据指示所述待压缩数据的类型或其他一个或多个特性,并且其中至少部分地基于所述待压缩数据的所述类型或其他一个或多个特性执行所述一个或多个机器学习技术。
10.根据条款8所述的方法,其中所述对所述数据或与所述待压缩数据相关联的所述元数据执行所述分析以便从待施加到所述数据的所述多个压缩技术中选择所述一个或多个压缩技术还包括在所述选择的一个或多个压缩技术中包括随机选择的压缩技术。
11.根据条款8所述的方法,其还包括:
从多个客户端接收待压缩的多个其他数据;
对于所述多个其他数据中的每一个:
执行所述基于规则的分析、所述生成、所述选择、和所述发送;以及
存储所述其他数据的压缩结果数据和数据特性作为所述历史压缩数据的部分。
12.根据条款4所述的方法,其还包括:
在发送包括所述请求的压缩数据的所述响应之前,根据系统压缩技术压缩所述选择的数据压缩候选,以生成待作为所述请求的压缩数据发送的多级压缩数据。
13.根据条款4所述的方法,其中所述待压缩数据是包括多个数据组块的数据流,其中针对所述多个待压缩数据组块中的所述第一待压缩数据组块执行所述执行、所述生成以及所述选择,并且其中所述方法还包括:
对于所述多个数据组块的随后数据组块中的每一个:
根据被施加来压缩所述第一数据组块的所述一个或多个数据压缩技术生成压缩数据组块;并且
发送包括所述数据组块的响应。
14.根据条款4所述的方法,其还包括:
从另一客户端接收指示压缩数据的解压请求,其中所述解压请求指示被施加来生成所述压缩数据的一个或多个压缩技术;
根据被施加来生成解压数据的所指示的一个或多个压缩技术解压所述压缩数据以生成解压的数据对象;以及
将包括所述解压数据的响应发送至所述其他客户端。
15.根据条款4所述的方法,其还包括:在发送包括所述请求的压缩数据的响应之前,根据一个或多个压缩技术加密所述选择的压缩数据候选以便发送至
16.根据条款4所述的方法,
其中所述一个或多个计算设备一起工作以实施基于网络的数据压缩服务,其中根据用于所述基于网络的压缩服务的接口来接收所述压缩请求;
其中所述方法还包括:
响应于接收所述压缩请求:
至少部分地基于所述压缩请求确定用于所述压缩请求的费用结构;并且
根据所述确定的费用结构生成与所述请求的压缩数据相关联的费用;
其中根据所述确定的费用结构,执行所述对所述数据或与所述待压缩数据相关联的元数据执行所述分析,所述根据所述一个或多个压缩技术生成所述一个或多个数据压缩候选,以及所述选择所述一个或多个数据压缩候选中的所述一个。
17.一种系统,其包括:
被配置来实施基于网络的服务的多个计算设备,其包括:
数据压缩服务模块,其被配置来根据一个或多个压缩技术压缩数据;
基于网络的服务接口,其被配置来:
从客户端接收指示待压缩数据的压缩请求;
响应于接收所述压缩请求:
确定与所述压缩请求相关联的费用结构;
根据与所述请求相关联的所述费用结构引导所述数据压缩服务模块生成请求的压缩数据;
根据所述费用结构生成用于所述请求的压缩数据的费用;以及
根据所述压缩请求发送所述请求的压缩数据。
18.根据条款17所述的系统,其中所述费用结构指示用于所述压缩请求的压缩服务限制,并且其中,为了其中,为了生成所述请求的压缩数据,所述数据服务压缩模块被配置来在所述压缩服务限制内生成所述请求的压缩数据。
19.根据条款17所述的系统,其中所述压缩请求还指示待施加到所指示的数据的一个或多个客户端选择的压缩技术,并且其中,为了生成所述请求的压缩数据,所述数据服务压缩模块被配置来执行所述一个或多个客户端选择的压缩技术以生成所述请求的压缩数据。
20.根据条款17所述的系统,其中所述压缩请求还请求所述待压缩数据的压缩分析,并且其中,为了根据一个或多个压缩技术压缩所述数据,所述数据压缩服务模块被配置来:
对所述数据或与所述待压缩数据相关联的元数据执行分析,以便从待施加到所述数据的多个压缩技术中选择一个或多个压缩技术;
根据所述一个或多个压缩技术生成一个或多个数据压缩候选;以及
根据压缩选择标准选择所述一个或多个数据压缩候选中的一个作为所述请求的压缩数据。
21.一种存储程序指令的非暂时性计算机可读存储介质,所述程序指令当由一个或多个计算设备执行时实施:
从客户端接收指示待压缩数据的压缩请求;
响应于接收所述压缩请求:
对所述数据或与所述待压缩数据相关联的元数据执行以便从待施加到所述数据的多个压缩技术中选择一个或多个压缩技术;
根据所述一个或多个压缩技术生成一个或多个数据压缩候选;
根据压缩选择标准选择所述一个或多个数据压缩候选中的一个作为请求的压缩数据发送;以及
发送包括所述请求的压缩数据的响应。
22.根据条款14所述的非暂时性计算机可读存储介质,其中在所述根据所述一个或多个压缩技术生成所述一个或多个数据压缩候选中,所述程序指令当由所述一个或多个计算设备执行时实施:
直到给定的压缩服务限制被超过,针对所述一个或多个压缩技术中的每一个生成数据压缩候选,其中所述给定的压缩服务限制是压缩服务费用上限。
23.根据条款14所述的非暂时性计算机可读存储介质,其中待施加到所述数据的所述选择的一个或多个压缩技术以特定的序列被排序,并且其中,在所述根据所述一个或多个压缩技术生成所述一个或多个数据压缩候选中,所述程序指令当由所述一个或多个计算设备执行时实施根据所述一个或多个压缩技术的所述特定序列生成所述一个或多个数据压缩候选。
24.根据条款14所述的非暂时性计算机可读存储介质,
其中所述程序指令当由所述一个或多个计算设备执行时还实施:
对历史压缩数据执行一个或多个机器学习技术,以更新待施加来选择所述一个或多个压缩技术的一组当前压缩选择规则;
其中,在所述对所述数据或与所述待压缩数据相关联的所述元数据执行所述基于规则的分析,以便从待施加到所述数据的所述多个压缩技术中选择所述一个或多个压缩技术中,所述程序指令当由所述一个或多个计算设备执行时实施:
将所述一组更新压缩选择规则施加到所述数据的一个或多个数据特性,以从待施加到所述数据的所述多个压缩技术中选择所述一个或多个压缩技术。
25.根据条款14所述的非暂时性计算机可读存储介质,其中所述响应包括所述请求的压缩数据被发送至不同于所述客户端的远程系统。
结论
各个实施方案还可以包括根据前面的描述实施的在计算机可访问介质上接收、发送或存储指令和/或数据。一般来说,计算机可访问介质可以包括存储介质或存储器介质(如磁性介质或光学介质,例如磁盘或DVD/CD-ROM)、非易失性介质(如RAM(例如,SDRAM、DDR、RDRAM、SRAM等)、ROM等)以及传输介质或信号(如经由通信介质(如网络和/或无线链路)传送的信号(如电信号、电磁信号或数字信号))。
如在图中所示和本文所描述的各种方法表示方法的示例实施方案。所述方法可以软件、硬件或其组合实施。方法的顺序可以改变,并且各个元素可以被添加、重新排序、组合、省略、修改等。
受益于本公开的本领域技术人员将清楚可进行各种修改和变化。本发明旨在包含所有这些修改和变化,并且相应地,以上描述应视为具有说明性而非限制性意义。
Claims (15)
1.一种用于实现压缩服务的系统,其包括:
一个或多个计算设备,被配置来实施压缩服务作为用于多个不同客户端系统的基于网络的服务,所述压缩服务包括:
用于所述多个不同客户端系统的定义的接口,以获得来自所述压缩服务的压缩数据,其中,所述压缩服务被实施在与一个或多个不同客户端系统中的一个或多个客户端网络不同的网络上;
多个压缩引擎,其中每个压缩引擎被配置来执行多个压缩技术中的至少一个压缩技术;
基于规则的压缩引擎选择器,其被配置来:
从所述多个不同客户端系统中的给定客户端系统接收待压缩数据;
响应于所述数据的接收:
对数据或与所述待压缩数据相关联的元数据执行基于规则的分析,以便从待施加到所述数据的所述多个压缩技术中选择一个或多个压缩技术;
根据所述选择的一个或多个压缩技术并且按照给定的压缩服务限制引导所述多个压缩引擎中的一个或多个生成一个或多个数据压缩候选;以及
响应生成模块,其被配置来:
根据压缩选择标准选择所生成的所述一个或多个数据压缩候选中的一个作为所获得的压缩数据来提供。
2.根据权利要求1所述的系统,
其中,为了对所述数据或与所述待压缩数据相关联的所述元数据执行基于规则的分析以便从待施加到所述数据的所述多个压缩技术中选择所述一个或多个压缩技术,所述基于规则的压缩引擎选择器被配置来将一组当前压缩选择规则施加到所述数据的一个或多个数据特性;
其中所述压缩服务还包括机器学习压缩分析模块,所述机器学习压缩分析模块被配置来:
对历史压缩数据执行一个或多个机器学习技术以更新所述一组当前压缩选择规则。
3.根据权利要求1所述的系统,其中所述响应生成模块还被配置来:
确定用于所述一个或多个数据压缩候选中的所述选择的一个的熵测量值;并且
响应于确定用于所述一个或多个数据压缩候选中的所述选择的一个的所述熵测量值小于熵阈值,根据系统压缩技术压缩所述选择的一个以生成待作为所提供的压缩数据发送的多级压缩数据。
4.一种实现压缩服务的方法,其包括:
由基于网络的压缩服务的一个或多个计算设备执行以下动作,其中,基于网络的压缩服务向多个不同客户端系统提供压缩服务,其中所述压缩服务被实施在与一个或多个不同客户端系统中的一个或多个客户端网络不同的网络上:
提供用于所述多个不同客户端系统的定义的接口,以获得来自所述压缩服务的压缩数据;
经由所述定义的接口,从所述多个不同客户端系统中的给定客户端系统接收指示待压缩数据的压缩请求;
响应于接收所述压缩请求:
对所述数据或与所指示的待压缩数据相关联的元数据执行分析,以便从待施加到所述数据的多个压缩技术中选择一个或多个压缩技术;
根据所述一个或多个压缩技术生成一个或多个数据压缩候选;
根据压缩选择标准选择所生成的所述一个或多个数据压缩候选中的一个作为压缩数据发送;以及
响应于来自给定客户端系统的压缩请求,提供所生成的所述一个或多个数据压缩候选中的所选择的一个。
5.根据权利要求4所述的方法,其中所述根据所述一个或多个压缩技术生成所述一个或多个数据压缩候选包括:
直到给定的压缩服务限制被超过,选择一个或多个附加的压缩技术,并且针对所述附加的压缩技术中的每一个生成附加的数据压缩候选;以及
其中,所述选择所生成的所述一个或多个数据压缩候选中的一个包括:从包括所生成的所述一个或多个数据压缩候选和所述附加的数据压缩候选两者的组中进行选择。
6.根据权利要求4所述的方法,其中对所述数据或与所述待压缩数据相关联的元数据的所述分析是基于规则的分析。
7.根据权利要求6所述的方法,
其中所述方法还包括:
对历史压缩数据执行一个或多个机器学习技术,以更新一组当前压缩选择规则,所述一组当前压缩选择规则要被施加以选择所述一个或多个压缩技术;
其中所述对所述数据或与所述待压缩数据相关联的所述元数据执行所述分析以便从待施加到所述数据的所述多个压缩技术中选择所述一个或多个压缩技术包括:
将所述一组更新的压缩选择规则施加到所述数据的一个或多个数据特性,以从待施加到所述数据的所述多个压缩技术中选择所述一个或多个压缩技术。
8.根据权利要求7所述的方法,其还包括:
从多个客户端接收待压缩的多个其他数据;
对于所述多个其他数据中的每一个:
执行所述基于规则的分析、所述生成、所述选择、和所述提供;以及
存储所述其他数据的压缩结果数据和数据特性作为所述历史压缩数据的部分。
9.根据权利要求4所述的方法,其还包括:
在提供所生成的所述一个或多个数据压缩候选中的所选择的一个之前,根据系统压缩技术压缩所述选择的数据压缩候选,以生成待作为所述请求的压缩数据发送的多级压缩数据。
10.根据权利要求4所述的方法,其中所述待压缩数据是包括多个数据组块的数据流,其中针对待压缩的所述多个数据组块中的待压缩的第一数据组块执行所述执行、所述生成以及所述选择,并且其中所述方法还包括:
对于所述多个数据组块的随后数据组块中的每一个:
根据被施加来压缩所述第一数据组块的所述一个或多个数据压缩技术生成压缩数据组块;并且
发送包括所述数据组块的响应。
11.根据权利要求4所述的方法,其还包括:在提供所生成的所述一个或多个数据压缩候选中的所选择的一个之前,根据一个或多个压缩技术加密所选择的数据压缩候选。
12.一种用于实现数据压缩服务的系统,其包括:
多个计算设备,被配置来实施用于多个不同客户端系统的基于网络的服务,其中所述基于网络的服务被实施在与一个或多个不同客户端系统中的一个或多个客户端网络不同的网络上,所述服务包括:
数据压缩服务模块,其被配置来根据一个或多个压缩技术压缩数据;
基于网络的服务接口,包括用于所述多个不同客户端系统的定义的接口,以获得来自压缩服务的压缩数据,所述服务接口被配置来:
从所述多个不同客户端系统中的给定客户端系统接收指示待压缩数据的压缩请求;
响应于所述压缩请求的接收:
确定与所述压缩请求相关联的费用结构;
根据与所述请求相关联的所述费用结构引导所述数据压缩服务模块生成请求的压缩数据;
根据所述费用结构生成用于所述请求的压缩数据的费用;以及
根据所述压缩请求发送所述请求的压缩数据。
13.根据权利要求12所述的系统,其中所述费用结构指示用于所述压缩请求的压缩服务限制,并且其中,为了生成所述请求的压缩数据,所述数据压缩服务模块被配置来在所述压缩服务限制内生成所述请求的压缩数据。
14.根据权利要求12所述的系统,其中所述压缩请求还指示待施加到所指示的数据的一个或多个客户端选择的压缩技术,并且其中,为了生成所述请求的压缩数据,所述数据压缩服务模块被配置来执行所述一个或多个客户端选择的压缩技术以生成所述请求的压缩数据。
15.根据权利要求12所述的系统,其中所述压缩请求还请求所述待压缩数据的压缩分析,并且其中,为了根据一个或多个压缩技术压缩所述数据,所述数据压缩服务模块被配置来:
对所述数据或与所述待压缩数据相关联的元数据执行分析,以便从待施加到所述数据的多个压缩技术中选择一个或多个压缩技术;
根据所述一个或多个压缩技术生成一个或多个数据压缩候选;以及
根据压缩选择标准选择所述一个或多个数据压缩候选中的一个作为所述请求的压缩数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810796356.9A CN108988866B (zh) | 2013-05-22 | 2014-05-22 | 作为服务的有效数据压缩和分析 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/900,350 US9384204B2 (en) | 2013-05-22 | 2013-05-22 | Efficient data compression and analysis as a service |
US13/900,350 | 2013-05-22 | ||
PCT/US2014/039209 WO2014190190A1 (en) | 2013-05-22 | 2014-05-22 | Efficient data compression and analysis as a service |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810796356.9A Division CN108988866B (zh) | 2013-05-22 | 2014-05-22 | 作为服务的有效数据压缩和分析 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105339924A CN105339924A (zh) | 2016-02-17 |
CN105339924B true CN105339924B (zh) | 2018-08-17 |
Family
ID=51934169
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810796356.9A Active CN108988866B (zh) | 2013-05-22 | 2014-05-22 | 作为服务的有效数据压缩和分析 |
CN201480037286.9A Active CN105339924B (zh) | 2013-05-22 | 2014-05-22 | 实现压缩服务的系统和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810796356.9A Active CN108988866B (zh) | 2013-05-22 | 2014-05-22 | 作为服务的有效数据压缩和分析 |
Country Status (6)
Country | Link |
---|---|
US (3) | US9384204B2 (zh) |
EP (2) | EP4020818A1 (zh) |
JP (2) | JP6282728B2 (zh) |
CN (2) | CN108988866B (zh) |
CA (2) | CA2913142C (zh) |
WO (1) | WO2014190190A1 (zh) |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7941525B1 (en) | 2006-04-01 | 2011-05-10 | ClickTale, Ltd. | Method and system for monitoring an activity of a user |
JP5826114B2 (ja) * | 2012-05-25 | 2015-12-02 | クラリオン株式会社 | データ解凍装置、データ圧縮装置、データの解凍プログラム、データの圧縮プログラム、及び、圧縮データ配信システム |
US9384204B2 (en) | 2013-05-22 | 2016-07-05 | Amazon Technologies, Inc. | Efficient data compression and analysis as a service |
US10148484B2 (en) | 2013-10-10 | 2018-12-04 | Nicira, Inc. | Host side method of using a controller assignment list |
US20150124704A1 (en) * | 2013-11-06 | 2015-05-07 | Qualcomm Incorporated | Apparatus and methods for mac header compression |
US20150227382A1 (en) * | 2014-02-12 | 2015-08-13 | Red Hat Israel, Ltd. | Monitoring virtual machine protocols, services, and operations |
US9886670B2 (en) * | 2014-06-30 | 2018-02-06 | Amazon Technologies, Inc. | Feature processing recipes for machine learning |
US9836473B2 (en) * | 2014-10-03 | 2017-12-05 | International Business Machines Corporation | Hardware acceleration for a compressed computation database |
US10101938B2 (en) * | 2014-12-30 | 2018-10-16 | International Business Machines Corporation | Data storage system selectively employing multiple data compression techniques |
US10313256B2 (en) * | 2015-05-21 | 2019-06-04 | Intel Corporation | Apparatus and methods for adaptive data compression |
US9552384B2 (en) * | 2015-06-19 | 2017-01-24 | HGST Netherlands B.V. | Apparatus and method for single pass entropy detection on data transfer |
US10152389B2 (en) | 2015-06-19 | 2018-12-11 | Western Digital Technologies, Inc. | Apparatus and method for inline compression and deduplication |
US20170171293A1 (en) * | 2015-12-14 | 2017-06-15 | OCENS, Inc. | Compact content delivery via a restricted-bandwidth communication channel |
US10187244B2 (en) | 2015-12-15 | 2019-01-22 | Tracfone Wireless, Inc. | User selectable optimization of data transmission compression for electronic devices |
US10679144B2 (en) | 2016-07-12 | 2020-06-09 | International Business Machines Corporation | Generating training data for machine learning |
US10616376B2 (en) * | 2016-07-20 | 2020-04-07 | Vivint, Inc. | Communications protocol |
US20180150256A1 (en) * | 2016-11-29 | 2018-05-31 | Intel Corporation | Technologies for data deduplication in disaggregated architectures |
US10203897B1 (en) | 2016-12-02 | 2019-02-12 | Nutanix, Inc. | Dynamic data compression |
CN106851733A (zh) * | 2016-12-29 | 2017-06-13 | 安徽网新恒天软件有限公司 | 一种针对移动网络应用的自适应http消息压缩方法 |
US10276134B2 (en) | 2017-03-22 | 2019-04-30 | International Business Machines Corporation | Decision-based data compression by means of deep learning technologies |
US9948320B1 (en) | 2017-09-15 | 2018-04-17 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Semi-dynamic backend coder for data compression |
US11188467B2 (en) * | 2017-09-28 | 2021-11-30 | Intel Corporation | Multi-level system memory with near memory capable of storing compressed cache lines |
US11700013B2 (en) * | 2017-10-30 | 2023-07-11 | Atombeam Technologies Inc | System and method for data compaction and security with extended functionality |
US11424760B2 (en) * | 2017-10-30 | 2022-08-23 | AtomBeam Technologies Inc. | System and method for data compaction and security with extended functionality |
US10579943B2 (en) * | 2017-10-30 | 2020-03-03 | Accenture Global Solutions Limited | Engineering data analytics platforms using machine learning |
CN109842653B (zh) * | 2017-11-27 | 2022-04-01 | 大唐移动通信设备有限公司 | 一种进行数据传输的方法和设备 |
CN111771199A (zh) * | 2017-12-22 | 2020-10-13 | 皇家飞利浦有限公司 | 将第一函数应用于数据集中的每个数据元素的计算机实施的方法以及实施该方法的工作者节点 |
US20190238154A1 (en) * | 2018-01-31 | 2019-08-01 | Hewlett Packard Enterprise Development Lp | Dynamic data compressions |
US11693817B2 (en) * | 2018-02-23 | 2023-07-04 | Sap Se | Integrated universal file converter |
US10824587B2 (en) * | 2018-02-23 | 2020-11-03 | Sap Se | Integrated universal file converter |
US10587287B2 (en) | 2018-03-28 | 2020-03-10 | International Business Machines Corporation | Computer system supporting multiple encodings with static data support |
US10720941B2 (en) | 2018-04-09 | 2020-07-21 | International Business Machines Corporation | Computer system supporting migration between hardware accelerators through software interfaces |
US10587284B2 (en) * | 2018-04-09 | 2020-03-10 | International Business Machines Corporation | Multi-mode compression acceleration |
US10374629B1 (en) | 2018-05-07 | 2019-08-06 | International Business Machines Corporation | Compression hardware including active compression parameters |
CN108848082B (zh) * | 2018-05-31 | 2022-08-02 | 深圳市腾讯网络信息技术有限公司 | 数据处理方法、装置、存储介质及计算机设备 |
US10999220B2 (en) | 2018-07-05 | 2021-05-04 | Vmware, Inc. | Context aware middlebox services at datacenter edge |
US11184327B2 (en) * | 2018-07-05 | 2021-11-23 | Vmware, Inc. | Context aware middlebox services at datacenter edges |
TWI694332B (zh) * | 2018-10-12 | 2020-05-21 | 財團法人資訊工業策進會 | 資料備份系統以及資料備份方法 |
CN109766319B (zh) * | 2018-12-27 | 2021-05-11 | 网易(杭州)网络有限公司 | 压缩任务处理方法、装置、存储介质及电子设备 |
US11038990B2 (en) | 2018-12-28 | 2021-06-15 | Intel Corporation | Methods and apparatus to compress packets in a computing environment |
GB2581822B (en) * | 2019-02-28 | 2023-03-15 | Displaylink Uk Ltd | Image data encoding |
US20220245096A1 (en) * | 2019-06-05 | 2022-08-04 | Hitachi Energy Switzerland Ag | Method and device for facilitating storage of data from an industrial automation control system or power system |
WO2021025605A1 (en) * | 2019-08-08 | 2021-02-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Reducing network traffic |
KR102188743B1 (ko) * | 2019-10-29 | 2020-12-08 | 주식회사 이노와이어리스 | 다 채널 압축 알고리즘을 이용한 mu 및 ru 간의 데이터 통신 방법 및 장치 |
US11226740B2 (en) * | 2019-10-30 | 2022-01-18 | EMC IP Holding Company LLC | Selectively performing inline compression based on data entropy |
US11641305B2 (en) | 2019-12-16 | 2023-05-02 | Vmware, Inc. | Network diagnosis in software-defined networking (SDN) environments |
EP4097492A1 (en) | 2020-01-30 | 2022-12-07 | Hitachi Energy Switzerland AG | Parameter independent traveling wave-based fault location using unsynchronized measurements |
EP4104403A4 (en) * | 2020-02-10 | 2023-09-27 | Nokia Solutions and Networks Oy | DATA TRANSPORT FOR EVENT MACHINE BASED APPLICATION |
US11438240B2 (en) | 2020-03-04 | 2022-09-06 | Cisco Technology, Inc. | Compressed transmission of network data for networking machine learning systems |
US11405622B2 (en) * | 2020-04-22 | 2022-08-02 | Apple Inc. | Lossless compression techniques |
CN111817722A (zh) | 2020-07-09 | 2020-10-23 | 北京奥星贝斯科技有限公司 | 数据压缩方法、装置及计算机设备 |
CN112104658B (zh) * | 2020-09-17 | 2022-08-12 | 山东方寸微电子科技有限公司 | 一种报文压缩方法及系统 |
US11943294B1 (en) * | 2020-09-30 | 2024-03-26 | Amazon Technologies, Inc. | Storage medium and compression for object stores |
US11500540B2 (en) * | 2020-10-28 | 2022-11-15 | EMC IP Holding Company LLC | Adaptive inline compression |
US11861292B2 (en) * | 2021-04-15 | 2024-01-02 | Red Hat, Inc. | Multi-strategy compression scheme |
CN113886346A (zh) * | 2021-08-31 | 2022-01-04 | 联想(北京)有限公司 | 一种数据处理方法及电子设备 |
CN114095033B (zh) * | 2021-11-16 | 2024-05-14 | 上海交通大学 | 基于上下文的图卷积的目标交互关系语义无损压缩系统及方法 |
CN114679602A (zh) * | 2022-03-30 | 2022-06-28 | 北京达佳互联信息技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
EP4304094A1 (en) * | 2022-07-05 | 2024-01-10 | Sap Se | Compression service using fpga compression |
WO2024073531A1 (en) * | 2022-09-29 | 2024-04-04 | Amazon Technologies, Inc. | Multi-domain configurable data compressor/de-compressor |
CN117998676A (zh) * | 2023-10-11 | 2024-05-07 | 腾讯科技(深圳)有限公司 | 基于多通道的数据传输方法、终端设备以及目标网关 |
Family Cites Families (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5798718A (en) * | 1997-05-12 | 1998-08-25 | Lexmark International, Inc. | Sliding window data compression method and apparatus |
US6195024B1 (en) * | 1998-12-11 | 2001-02-27 | Realtime Data, Llc | Content independent data compression method and system |
US6885319B2 (en) * | 1999-01-29 | 2005-04-26 | Quickshift, Inc. | System and method for generating optimally compressed data from a plurality of data compression/decompression engines implementing different data compression algorithms |
US6779040B1 (en) * | 1999-08-27 | 2004-08-17 | Hewlett-Packard Development Company, L.P. | Method and system for serving data files compressed in accordance with tunable parameters |
US6842768B1 (en) * | 2000-03-01 | 2005-01-11 | Siemens Communications, Inc. | Apparatus and method for selectable compression |
US6236341B1 (en) | 2000-03-16 | 2001-05-22 | Lucent Technologies Inc. | Method and apparatus for data compression of network packets employing per-packet hash tables |
US6778291B1 (en) * | 2000-06-12 | 2004-08-17 | Hewlett-Packard Development Company, L.P. | Fast page analyzer for proper selection of compression engine for rendered data |
JP2002073452A (ja) * | 2000-08-30 | 2002-03-12 | Yamaichi Kogyo Co Ltd | ファイル送信用サーバ |
JP2002223220A (ja) * | 2001-01-24 | 2002-08-09 | Matsushita Electric Ind Co Ltd | 通信装置、構内交換機、サーバ、ネットワークシステムのデータ送信方法、データ送信プログラムおよび記録媒体 |
EP1393517A2 (en) | 2001-05-16 | 2004-03-03 | Bytemobile, Inc. | Service-based compression of content within a network communication system |
US7246177B2 (en) * | 2001-05-17 | 2007-07-17 | Cyber Ops, Llc | System and method for encoding and decoding data files |
US7024414B2 (en) | 2001-08-06 | 2006-04-04 | Sensage, Inc. | Storage of row-column data |
US7636724B2 (en) | 2001-08-31 | 2009-12-22 | Peerify Technologies LLC | Data storage system and method by shredding and deshredding |
US20040024662A1 (en) * | 2002-08-02 | 2004-02-05 | David Gray | Equipment documentation management system, method, and software tools |
JP2004112497A (ja) * | 2002-09-19 | 2004-04-08 | Tokukin Kagi Kofun Yugenkoshi | 最適のデータ圧縮法の選択方法 |
JP4322090B2 (ja) * | 2003-10-27 | 2009-08-26 | 株式会社東芝 | 印刷管理サーバ、印刷管理プログラム及び画像形成方法 |
JP5105712B2 (ja) * | 2004-03-09 | 2012-12-26 | 株式会社東芝 | 画像保管表示システム、その保守管理システム、及び画像保管表示方法 |
US7966424B2 (en) * | 2004-03-15 | 2011-06-21 | Microsoft Corporation | Data compression |
JP2005293224A (ja) * | 2004-03-31 | 2005-10-20 | Hitachi Computer Peripherals Co Ltd | バックアップシステム及びバックアップ方法 |
US8051207B2 (en) | 2004-06-25 | 2011-11-01 | Citrix Systems, Inc. | Inferring server state in s stateless communication protocol |
US8327026B1 (en) | 2004-07-01 | 2012-12-04 | Hewlett-Packard Development Company, L.P. | Method and system for selecting a data compression technique for data transfer through a data network |
US7548657B2 (en) * | 2005-06-25 | 2009-06-16 | General Electric Company | Adaptive video compression of graphical user interfaces using application metadata |
JP2007129403A (ja) * | 2005-11-02 | 2007-05-24 | Olympus Corp | 画像符号化装置および画像処理システム |
US7307552B2 (en) * | 2005-11-16 | 2007-12-11 | Cisco Technology, Inc. | Method and apparatus for efficient hardware based deflate |
DK2013974T3 (en) | 2006-04-07 | 2018-10-29 | Data Storage Group Inc | DATA COMPRESSION AND DATA STORAGE TECHNOLOGY |
US9465823B2 (en) * | 2006-10-19 | 2016-10-11 | Oracle International Corporation | System and method for data de-duplication |
WO2008131423A1 (en) * | 2007-04-23 | 2008-10-30 | Weogeo, Inc. | Digital content marketing system and method |
WO2009022531A1 (ja) | 2007-08-13 | 2009-02-19 | Nec Corporation | データ圧縮伸張方法 |
US7966343B2 (en) | 2008-04-07 | 2011-06-21 | Teradata Us, Inc. | Accessing data in a column store database based on hardware compatible data structures |
US7911509B2 (en) * | 2008-03-12 | 2011-03-22 | Sony Ericsson Mobile Communications Ab | Adaptive video encode scaling |
US20100011012A1 (en) * | 2008-07-09 | 2010-01-14 | Rawson Andrew R | Selective Compression Based on Data Type and Client Capability |
US8626725B2 (en) | 2008-07-31 | 2014-01-07 | Microsoft Corporation | Efficient large-scale processing of column based data encoded structures |
US20100074321A1 (en) * | 2008-09-25 | 2010-03-25 | Microsoft Corporation | Adaptive image compression using predefined models |
CN105791861B (zh) | 2009-04-20 | 2018-12-04 | 杜比实验室特许公司 | 定向内插和数据后处理 |
US8935223B2 (en) | 2009-04-30 | 2015-01-13 | Oracle International Corporation | Structure of hierarchical compressed data structure for tabular data |
US8356060B2 (en) | 2009-04-30 | 2013-01-15 | Oracle International Corporation | Compression analyzer |
US8583692B2 (en) | 2009-04-30 | 2013-11-12 | Oracle International Corporation | DDL and DML support for hybrid columnar compressed tables |
EP2425341B1 (en) * | 2009-05-01 | 2018-07-11 | Citrix Systems, Inc. | Systems and methods for establishing a cloud bridge between virtual storage resources |
US8874784B2 (en) * | 2009-08-10 | 2014-10-28 | Tekelec, Inc. | Systems, methods, and computer readable media for controlling social networking service originated message traffic |
AU2009233627B2 (en) * | 2009-10-30 | 2012-03-29 | Canon Kabushiki Kaisha | Compression method selection for digital images |
US8832142B2 (en) | 2010-08-30 | 2014-09-09 | Oracle International Corporation | Query and exadata support for hybrid columnar compressed data |
US8463944B2 (en) * | 2010-01-05 | 2013-06-11 | International Business Machines Corporation | Optimal compression process selection methods |
US9195657B2 (en) | 2010-03-08 | 2015-11-24 | Microsoft Technology Licensing, Llc | Columnar storage of a database index |
GB201105502D0 (en) * | 2010-04-01 | 2011-05-18 | Apple Inc | Real time or near real time streaming |
US8427346B2 (en) | 2010-04-13 | 2013-04-23 | Empire Technology Development Llc | Adaptive compression |
US8634975B2 (en) * | 2010-04-16 | 2014-01-21 | The Boeing Company | Vessel performance optimization reporting tool |
US8417727B2 (en) | 2010-06-14 | 2013-04-09 | Infobright Inc. | System and method for storing data in a relational database |
US8639671B2 (en) | 2010-06-29 | 2014-01-28 | Teradata Us, Inc. | Database compression |
JP5382812B2 (ja) * | 2010-08-04 | 2014-01-08 | Necインフロンティア株式会社 | データ圧縮転送システム、伝送装置及びそれらに用いるデータ圧縮転送方法 |
US8345998B2 (en) | 2010-08-10 | 2013-01-01 | Xerox Corporation | Compression scheme selection based on image data type and user selections |
US20120089579A1 (en) | 2010-10-08 | 2012-04-12 | Sandeep Ranade | Compression pipeline for storing data in a storage cloud |
US9325344B2 (en) | 2010-12-03 | 2016-04-26 | International Business Machines Corporation | Encoding data stored in a column-oriented manner |
US8996480B2 (en) * | 2011-05-04 | 2015-03-31 | International Business Machines Corporation | Method and apparatus for optimizing data storage |
CN102594360B (zh) * | 2012-02-01 | 2014-07-30 | 浪潮(北京)电子信息产业有限公司 | 一种计算机数据压缩方法及装置 |
US9384204B2 (en) | 2013-05-22 | 2016-07-05 | Amazon Technologies, Inc. | Efficient data compression and analysis as a service |
-
2013
- 2013-05-22 US US13/900,350 patent/US9384204B2/en active Active
-
2014
- 2014-05-22 CN CN201810796356.9A patent/CN108988866B/zh active Active
- 2014-05-22 CA CA2913142A patent/CA2913142C/en active Active
- 2014-05-22 CN CN201480037286.9A patent/CN105339924B/zh active Active
- 2014-05-22 WO PCT/US2014/039209 patent/WO2014190190A1/en active Application Filing
- 2014-05-22 CA CA2995620A patent/CA2995620C/en active Active
- 2014-05-22 EP EP22155262.3A patent/EP4020818A1/en active Pending
- 2014-05-22 EP EP14801505.0A patent/EP3000050B1/en active Active
- 2014-05-22 JP JP2016515098A patent/JP6282728B2/ja active Active
-
2016
- 2016-06-30 US US15/199,627 patent/US9934235B2/en active Active
-
2017
- 2017-12-08 JP JP2017235744A patent/JP6521403B2/ja active Active
-
2018
- 2018-04-02 US US15/943,623 patent/US10901950B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN108988866B (zh) | 2024-02-09 |
CN108988866A (zh) | 2018-12-11 |
US9934235B2 (en) | 2018-04-03 |
US9384204B2 (en) | 2016-07-05 |
EP3000050A4 (en) | 2017-03-01 |
JP2018085117A (ja) | 2018-05-31 |
CA2913142A1 (en) | 2014-11-27 |
US10901950B2 (en) | 2021-01-26 |
CN105339924A (zh) | 2016-02-17 |
EP3000050A1 (en) | 2016-03-30 |
US20180225299A1 (en) | 2018-08-09 |
EP3000050B1 (en) | 2022-02-09 |
EP4020818A1 (en) | 2022-06-29 |
US20160314140A1 (en) | 2016-10-27 |
JP6521403B2 (ja) | 2019-05-29 |
JP6282728B2 (ja) | 2018-02-21 |
CA2995620A1 (en) | 2014-11-27 |
WO2014190190A1 (en) | 2014-11-27 |
JP2016520930A (ja) | 2016-07-14 |
CA2995620C (en) | 2022-01-11 |
US20140351229A1 (en) | 2014-11-27 |
CA2913142C (en) | 2022-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105339924B (zh) | 实现压缩服务的系统和方法 | |
CN109409528A (zh) | 模型生成方法、装置、计算机设备及存储介质 | |
CN113518094B (zh) | 数据处理方法、装置、机器人和存储介质 | |
CN111210335A (zh) | 用户风险识别方法、装置及电子设备 | |
CN113157947A (zh) | 知识图谱的构建方法、工具、装置和服务器 | |
CN106407442B (zh) | 一种海量文本数据处理方法及装置 | |
CN107566148A (zh) | 终端应用操作数据的分析方法、系统、装置及终端 | |
CN106843818A (zh) | 一种业务模型生成方法及装置 | |
CN113568626B (zh) | 动态打包、应用程序包开启方法、装置和电子设备 | |
CN108090186A (zh) | 一种大数据平台上的电力数据去重方法 | |
JP6154491B2 (ja) | 計算機及びグラフデータ生成方法 | |
CN114840634B (zh) | 信息存储方法、装置、电子设备和计算机可读介质 | |
CN111488386A (zh) | 数据查询方法和装置 | |
CN110737691B (zh) | 用于处理访问行为数据的方法和装置 | |
CN107643906A (zh) | 数据处理方法及装置 | |
CN113946648B (zh) | 结构化信息生成方法、装置、电子设备和介质 | |
CN113282471B (zh) | 设备性能测试方法、装置、终端设备 | |
CN116484060A (zh) | 数据血缘关系分析方法、装置、设备及存储介质 | |
CN113344674A (zh) | 基于用户购买力的产品推荐方法、装置、设备及存储介质 | |
CN117217459A (zh) | 事件分配方法、装置、电子设备和计算机可读介质 | |
KR20230165010A (ko) | 닉네임 간 유사도를 이용하여 다중 접속계정을 탐지하기 위한 방법 및 장치 | |
CN117850920A (zh) | 一种数据采集方法、系统、设备及存储介质 | |
CN116483974A (zh) | 对话回复筛选方法、装置、设备及存储介质 | |
CN116432942A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |