用于基于字典的压缩的系统和方法技术方案

技术编号:12795273 阅读:115 留言:0更新日期:2016-01-30 17:31
本公开涉及基于字典的压缩,其可以用于完成有状态头部压缩而不必保持完整的紧缩状态。压缩器可保持由该压缩器压缩的数据流的历史,所述数据流是根据压缩字典来压缩的。响应于对一个或多个数据流的压缩,压缩器可以从存储器中删除第一压缩字典。在所述删除之后,压缩器可使用所保持的历史来压缩额外的数据流。压缩器可从下列中的至少一个来生成第二压缩字典:所保持的历史和所述额外的数据流的部分。压缩器可以为该额外的数据流的压缩状态分配存储器并且可将所保持的历史加载到该压缩状态中。

【技术实现步骤摘要】
【国外来华专利技术】用于基于字典的压缩的系统和方法相关申请本申请要求在2012年11月26日提交的、名称为“SystemsandMethodsForDictionaryBasedCompression”的美国非临时申请No.13/685169的优先权,通过引用将该美国非临时申请全部包含于此,以用于各种目的。
本申请总的涉及数据压缩。本申请尤其涉及用于基于字典的压缩的系统和方法。
技术介绍
用户可以使用客户机来请求访问诸如web或应用服务器之类的服务。服务器可采用数据压缩方法来改善效率、更充分地利用带宽以及增加客户机与服务器之间的传输速度。服务器可以使用压缩的响应来对客户机的请求进行回应。例如,在对服务器的请求中,web客户机可以指示对压缩数据的支持。当服务器识别出该指示时,其可以采用压缩格式对该客户机的请求进行响应。由于在响应的大小方面的减小,该压缩的响应比没有压缩的响应更小。更小的响应可使得客户机更快地加载页面。数据压缩也可以允许服务器以压缩格式存储数据,从而降低存储需求。
技术实现思路
在一些方面,本公开涉及基于字典的数据压缩的系统和方法。在一些方面,本公开涉及采用诸如ZLIB的基于字典的压缩方法来进行SPDY头部压缩。Web服务器(诸如由谷歌公司维护的那些服务器)可采用SPDY头部压缩,以便改善服务器的响应时间和/或提高服务器的使用效率。SPDY头部压缩可涉及对HTTP响应和应答头部的压缩。本解决方案提供的系统和方法用于执行压缩(例如SPDY头部压缩)以产生高质量的压缩输出而不需要保持完整的压缩状态,因此最小化了存储需求。基于字典的压缩器(例如,ZLIB压缩器)可保持压缩状态,并且该压缩状态可包括由该压缩器压缩的数据流的历史、压缩字典以及其他信息和/或变量。完整的压缩状态通常可包括哈希表、历史、紧缩状态变量和跨越多个块的中间结构,这要求很大的存储量。跨越多个块来保持一些历史和/或存储少量的紧缩状态变量而不保持完整的压缩状态会很有益的。在一个方面,本公开涉及用于由在装置上执行的压缩器进行基于字典的压缩的方法。该方法包括由压缩器保持被该压缩器压缩的一个或多个数据流的历史。可以根据在存储器中存储的第一压缩字典来对一个或多个数据流进行压缩。响应于对一个或多个数据流的压缩,压缩器可以从存储器中删除第一压缩字典。在所述删除之后,压缩器可使用所保持的历史来压缩额外的数据流。在一些实施例中,压缩器可生成该压缩的一个或多个数据流的压缩状态。该压缩状态可包括所保持的历史和压缩字典。在一个实施例中,压缩器可在存储器中存储该压缩的一个或多个数据流的压缩状态。在存储器中存储的压缩状态可包括所保持的历史和压缩字典。在一些实施例中,压缩器可生成包括对下列内容的描述的压缩字典:来自所述一个或多个数据流的一个或多个串,以及与所述一个或多个串对应的压缩数据。在一个实施例中,压缩器可保持一个或多个数据流的预定长度的历史。在一些实施例中,压缩器可根据由该压缩器压缩的最新数据流的长度来确定要保持的历史的长度。在一些实施例中,响应于对一个或多个数据流的压缩,该压缩器可从存储器中删除压缩状态。该压缩状态可包括压缩字典。在一个实施例中,在所述删除之后,压缩器可从下列中的至少一个来生成第二压缩字典:所保持的历史和所述额外的数据流的部分。在一些实施例中,在所述删除之后,压缩器可压缩该额外的数据流。在所述删除之后,压缩器还可以为该额外的数据流的压缩状态分配存储器,并且可将所保持的历史加载到该压缩状态中。在另一个方面,本公开涉及用于由在装置上执行的压缩器进行基于字典的压缩的系统。该系统包括压缩器,该压缩器保持被该压缩器压缩的一个或多个数据流的历史。可以根据在存储器中存储的第一压缩字典来对一个或多个数据流进行压缩。响应于对一个或多个数据流的压缩,压缩器可以从存储器中删除第一压缩字典。在所述删除之后,压缩器可使用所保持的历史来压缩额外的数据流。在一些实施例中,压缩器可生成该压缩的一个或多个数据流的压缩状态。该压缩状态可包括所保持的历史和压缩字典。在一个实施例中,压缩器可在存储器中存储该压缩的一个或多个数据流的压缩状态。在存储器中存储的压缩状态可包括所保持的历史和压缩字典。在一些实施例中,压缩器可生成包括对下列内容的描述的压缩字典:来自所述一个或多个数据流的一个或多个串,以及与所述一个或多个串对应的压缩数据。在一个实施例中,压缩器可保持一个或多个数据流的预定长度的历史。在一些实施例中,压缩器可根据由该压缩器压缩的最新数据流的长度来确定要保持的历史的长度。在一些实施例中,响应于对一个或多个数据流的压缩,该压缩器可从存储器中删除压缩状态。该压缩状态可包括压缩字典。在一个实施例中,在所述删除之后,压缩器可从下列中的至少一个来生成第二压缩字典:所保持的历史和所述额外的数据流的部分。在一些实施例中,在所述删除之后,压缩器可压缩该额外数据流。在所述删除之后,压缩器还可以为该额外数据流的压缩状态分配存储器,并且可将所保持的历史加载到该压缩状态中。SPDY(发音为SPeeDY)是会话层,其提供对于诸如HTTP的应用层的组帧以支持多路复用/优先级排序,并且使得主机能压缩应用数据。SPDY协议按照控制和数据帧连续的形式来传输数据。典型的事务可开始于客户机打开到服务器的连接,也称为会话。接着,客户机可以在这个会话上发起多个并行流。每个流以来自客户机的SYN_STREAM控制帧开始,该控制帧包括流id和压缩的头部块,该压缩的头部块可以是名称/值对的序列,其映射到HTTP事务中的请求头部。如果该请求应该附有主体,则客户机可接着发送一系列数据帧。服务器通过发送SYN_REPLY控制帧来接受该流,该控制帧重复同一流id并包括适当格式化且压缩的响应头部。然后,服务器可发送数据帧(如果有的话),以充当响应主体。在下面附图和说明中详细阐述了本专利技术的多种实施例的细节。附图说明通过参考下述结合附图的描述,本专利技术的前述和其它目的、方面、特征和优点将会更加明显并更易于理解,其中:图1A是客户机经由设备访问服务器的网络环境的实施例的框图;图1B是经由设备从服务器传送计算环境到客户机的环境的实施例的框图;图1C是经由设备从服务器传送计算环境到客户机的环境的又一个实施例的框图;图1D是经由设备从服务器传送计算环境到客户机的环境的又一个实施例的框图;图1E到1H是计算装置的实施例的框图;图2A是用于处理客户机和服务器之间的通信的设备的实施例的框图;图2B是用于优化、加速、负载平衡和路由客户机和服务器之间的通信的设备的又一个实施例的框图;图3是用于经由设备与服务器通信的客户机的实施例的框图;图4A是虚拟化环境的实施例的框图;图4B是虚拟化环境的又一个实施例的框图;图4C是虚拟设备的实施例的框图;图5A是在多核系统中实现并行机制的方法实施例的框图;图5B是使用多核系统的系统实施例的框图;图5C是多核系统方面的另一实施例的框图;图6是用于基于字典的压缩的方法的步骤的实施例的流程图;图7是用于基于字典的压缩的系统的实施例的框图。从下面结合附图所阐述的详细描述,本专利技术的特征和优点将更明显,其中,同样的参考标记在全文中标识相应的元素。在附图中,同样的附图标记通常表示相同的、功能上相似的和/或结构上相似的元素。具体实施方式为了阅读本文档来自技高网...

【技术保护点】
一种基于字典的数据压缩方法,包括:(a)由在装置上执行的压缩器保持被该压缩器压缩的一个或多个数据流的历史,所述一个或多个数据流是根据在存储器中存储的第一压缩字典来压缩的;(b)响应于对所述一个或多个数据流的压缩,由压缩器从所述存储器删除第一压缩字典;以及(c)由压缩器在所述删除之后使用所保持的历史来压缩额外的数据流。

【技术特征摘要】
【国外来华专利技术】2012.11.26 US 13/6851691.一种基于字典的数据压缩方法,包括:(a)由在装置上执行的压缩器保持被该压缩器压缩的一个或多个数据流的历史,所述一个或多个数据流是根据在存储器中存储的第一压缩字典来压缩的,所述历史包括由该压缩器压缩的一个或多个数据流的一个或多个部分;(b)响应于对所述一个或多个数据流的压缩,由压缩器从所述存储器删除第一压缩字典;以及(c)由压缩器在所述删除之后使用所保持的历史来压缩额外的数据流。2.根据权利要求1所述的方法,其中步骤(a)还包括由压缩器生成所压缩的一个或多个数据流的压缩状态,所述压缩状态包括(i)所保持的历史和(ii)所述压缩字典。3.根据权利要求1所述的方法,其中步骤(a)还包括由压缩器在存储器中存储所压缩的一个或多个数据流的压缩状态,所述压缩状态包括(i)所保持的历史和(ii)所述压缩字典。4.根据权利要求1所述的方法,其中步骤(a)还包括由压缩器生成包括对下列内容的描述的压缩字典:来自所述一个或多个数据流的一个或多个串,以及与所述一个或多个串对应的压缩数据。5.根据权利要求1所述的方法,其中步骤(a)包括保持所述一个或多个数据流的预定长度的历史。6.根据权利要求1所述的方法,其中步骤(a)还包括根据被所述压缩器压缩的最新数据流的长度来确定要保持的历史的长度。7.根据权利要求1所述的方法,其中步骤(b)包括从所述存储器删除压缩状态,所述压缩状态包括所述压缩字典。8.根据权利要求1所述的方法,其中步骤(c)还包括从下列中的至少一个来生成第二压缩字典:所保持的历史和所述额外的数据流的部分。9.根据权利要求1所述的方法,其中步骤(c)还包括至少部分地基于在对所述一个或多个数据流的压缩中使用的状态变量的子集来压缩所述额外的数据流。10.根据权利要求1所述的方法,其中步骤(c)还包括为所述额外的数据流的...

【专利技术属性】
技术研发人员:萨拉瓦娜·安娜玛莱萨米阿肖克·库马尔·捷卡帝斯瓦兰阿斯温·贾格迪什
申请(专利权)人:思杰系统有限公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1