用于数据压缩的数据值出现信息制造技术

技术编号:7791552 阅读:183 留言:0更新日期:2012-09-22 09:35
讨论了数据值的出现数据的生成,以用于支持数据集的编码。确定当前数据批次中的数据值的出现。确定针对当前数据批次中的至多第一数目(M)的最频繁的数据值的出现计数信息,出现计数信息标识最频繁的数据值及其出现计数。针对当前数据批次中的其余数据值,生成具有第二数目(N)的柱的至少第一直方图。将当前数据批次的出现计数信息和第一直方图合并到较早处理的数据批次的合并的出现计数信息以及合并的直方图中。将下一数据批次作为当前数据批次来处理,直到已经处理了整个数据集为止。至少基于与数据集相对应的合并的出现计数信息以及合并的直方图来确定编码方案。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术总体上涉及数据压缩和数据编码。特别地,本专利技术涉及生成要被编码或者压缩的数据集中的数据值的出现(occurrence)信息。
技术介绍
数据压缩是各种计算和存储系统的重要方面。此处,作为一个系统示例而详细地讨论数据仓库,其中数据压缩是相关的,但是可以理解,在存储大量数据的多种其他系统中,数据压缩和经压缩的数据的有效处理是相关的。数据仓库是组织的电子存储的数据的仓储。数据仓库被设计为支持报告和分析。采用用于查询的快速处理的表扫描的数据仓库的有效性依赖于数据的有效压缩。利用恰当的数据压缩方法,表扫描可以直接应用于经压缩的数据,而不是必须首先解码每个值。而且,设计良好的算法可以在每个循环中在被封装为一个词大小的多个经压缩的值上进行扫描。因此,较短的代码通常意味着较快的表扫描。以下压缩方法是公知的。基于词典的压缩利用词典代码来编码来自较大值空间但是相对小很多的实际值集(基数)的值。基于偏移的压缩通过从原始值中的每一个中减去基准值来对数据进行压缩,并且使用其余偏移来表示原始值。前缀-偏移压缩通过将其二进制表示分为前缀比特和偏移比特来对值进行编码,并且将前缀比特与偏移比特的词典代码连接为编码代码。压缩效率的最重要标准之一是平均码长度,该平均码长度是经压缩的数据的总大小除以其中的值的数目。实现较好的压缩效率(即,较小的平均码长度)的一种方式是利用较短码来对具有较高概率的值进行编码。存在多种编码技术,其对于为具有较高概率的值指派较短码的基于词典的压缩。公知的霍夫曼编码使用可变长度前缀码。在美国专利申请20090254521A1中描述的频率分区方法,其根据值的出现概率来对值进行分区并且为每个分区的值指派固定长度的词典码,其中分区包含较多的具有较短码长度的频率值。在图I的表中示出使用公知的霍夫曼代码的一个示例;在该示例中,要被压缩的数据如下{apple, apple, orange, banana, orange, banana, apple, peach, banana, apple}。该表示出了如何首先对每个离散值的出现进行计数以便计算概率,并且继而指派压缩码。这仅在离散值的量有限的情况下可行,以使得可以在计算机系统的存储器内建立值/计数对的完整列表。然而,当值的基数非常大时,例如,64比特整数具有264 ( 1.8E19)个可能值时,不是这种情况。针对前缀-偏移压缩,当在词典中对前缀比特进行编码时,此类概率相关编码技术也可以应用于改进编码效率。也已知的是,降低偏移比特的长度可以有益于压缩效率,但是其具有存储器设置的上限(因为每个离散前缀码需要在词典内进行维护),并且偏移部分中通常总是浪费某些比特,因为从不会使用特定组合。实际上,如果可以使用无限的存储器,则前缀-偏移压缩总是不如单纯的基于词典的压缩有效,单纯的基于词典的压缩可以视作使用最大数目的前缀比特和零偏移比特的前缀-偏移压缩的极端情况。基于偏移的压缩完全不考虑值概率。虽然其也从来不会比单纯的基于词典的压缩有效,但是根据原始值的属性,其编码效率可以比前缀-偏移压缩更好或者更差——相同的共同基准值可以应用于原始值中的所有值以导出可以有效存储的偏移。另外,由于其对于数值稳定性的隐含需求,其可应用性仅限制于特定数据类型。因此,可期望的是,在特定存储器约束下,使用以上提到的不同数据压缩方法的混合来获得最佳压缩。图2示出了这样的一种混合压缩方法,其中可以针对最频繁的值(图2的上半部分)应用基于词典的压缩,并且可以针对较不频繁的值(图2的中间部分)应用前缀-偏移压缩,以及在适当的时候可以针对其余的值应用基于偏移的压缩(图2的下半部分)。备选地,当基于偏移的压缩不可应用或者无益时,可以不压缩不常见的值。通过限制所涉及的两个词典(一个用于基于词典的压缩,一个用于前缀-偏移压缩)的大小,仍然可以控制存储器使用。为了能够确定哪个数据压缩方法用于数据集中的哪些值,应当确定数据集中的所有区别值的频率。这对于可能包含太字节的数据并且包含数百万区别值的大数据集来说存 在挑战。可用的存储器可能不足以用于存储出现信息,并且在很多情况下,使用磁盘空间来存储出现信息是不可行的。由此,应用此类混合压缩方法的主要困难在于在不能够构造每个个体值的出现的完整表的情况下,如何将数据分区为最频繁值、较不频繁值和不频繁值。另外,在保序编码用于支持使用对经压缩的数据的扫描的有效查询处理的情况下,所有区别值的频率的需要变得更加重要。一种需要是确保在词典中正确地定位每个个体值。采样是没有作用的,因为其总是可能遗漏采样中的部分值。本专利技术的一个目的是在利用非常大的基数(即,区别数据值)收集大量数据的出现信息期间,提供有效地限制必要存储器的量同时保留最重要的概率信息的解决方案。当此类信息可用时,有可能最优地使用例如混合压缩技术。
技术实现思路
本专利技术的第一方面提供了一种用于生成用于支持数据集的编码的数据值的出现数据的计算机化方法,所述方法包括确定当前数据批次中的数据值的出现;确定针对当前数据批次中的至多第一数目(M)的最频繁的数据值的出现计数信息,所述出现计数信息标识所述最频繁的数据值及其出现计数;针对所述当前数据批次中的其余数据值生成具有第二数目(N)的柱(bucket)的至少第一直方图;将当前数据批次的所述出现计数信息合并到较早处理的数据批次的合并的出现计数信息中;将当前数据批次的所述第一直方图合并到与较早处理的数据批次相对应的合并的直方图中;以及将下一数据批次作为当前数据批次来处理,直到按批次处理了要被编码的数据集为止。本专利技术的第二方面提供了一种数据处理系统,包括输入装置,用于接收要被编码的数据;分割装置,用于将要被编码的数据分割为数据批次;批次直方图装置,用于确定数据批次中的数据值的出现,所述批次直方图装置适于 确定针对数据批次中的至多第一数目(M)的最频繁数据值的出现计数信息,所述出现计数信息标识所述最频繁的数据值及其出现计数;针对所述数据批次中的其余数据值生成具有第二数目(N)的柱的至少第一直方图;合并装置,可操作地连接至所述批次直方图装置,用于将第一数据批次的所述出现计数信息合并到至少一个另外的数据批次的合并的出现计数信息中,以及用于将第一数据批次的所述第一直方图合并到与所述至少一个另外的数据批次相对应的合并的直方图中。本专利技术的第三方面提供了一种计算机程序产品,包括计算机可使用介质和计算机可读程序。附图说明为了更好地理解本专利技术以及如何可以实现本专利技术,现在将仅通过示例的方式参考附图,在附图中图I将使用霍夫曼编码的出现计数和词典压缩的一个示例的表;图2示意性地示出了可以与本专利技术的实施方式一起使用的混合数据压缩方法的一个示例;图3示出了用于连同本专利技术的实施方式一起使用的多粒度直方图的一个示例;图4示出了根据本专利技术的实施方式的方法的流程图;图5示出了将两个多粒度直方图合并到一起的一个示例;图6示出了作为可以实现本专利技术的系统的一个示例的数据处理系统的示意性框图;以及图7示出了数据处理系统的某些进一步细节,尤其有关于如何将多粒度直方图用于编码数据。具体实施例方式基本思想是将要被压缩的数据集划分为优选的固定大小的批次。利用多粒度直方图来跟踪每个批次中的值的出现,其中单独地跟踪最频繁值(项),并且使用直方图柱本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2009.12.29 EP 09180917.81.一种用于生成数据值的出现数据以用于支持数据集编码的计算机化方法,所述方法包括 确定当前数据批次中的数据值的出现; 确定针对所述当前数据批次中的至多第一数目(M)的最频繁的数据值的出现计数信息,所述出现计数信息标识所述最频繁的数据值及其出现计数; 针对所述当前数据批次中的其余数据值生成具有第二数目(N)的柱的至少第一直方图; 将所述当前数据批次的所述出现计数信息合并到较早处理的数据批次的合并的出现计数信息中; 将所述当前数据批次的所述第一直方图合并到与较早处理的数据批次相对应的合并的直方图中; 将下一数据批次作为当前数据批次来处理,直到按批次处理了要被编码的所述数据集为止。2.根据权利要求I所述的方法,包括至少基于与所述数据集相对应的合并的出现计数信息以及与所述数据集相对应的合并的直方图,来确定用于所述数据集的编码方案。3.根据权利要求I或者2所述的方法,包括在处理所述第一数据批次时,确定针对所述至少第一直方图的柱的宽度。4.根据权利要求3所述的方法,其中前缀-偏移编码被用于编码直方图柱中的值,并且所述柱的宽度等于偏移比特的数目,前缀-偏移码的大小是偏移比特的数目和所述前缀码的大小的和,所述方法包括在用于所述第一数据批次的前缀码词典的给定最大大小的约束下,通过最小化所述前缀-偏移码的大小来确定偏移比特的数目。5.根据权利要求I或者2所述的方法,包括对所述数据集进行采样,以用于确定所述柱的宽度。6.根据任一前述权利要求所述的方法,包括通过执行以下步骤中的至少一个来对所述合并的出现计数信息和所述合并的直方图进行重新分组 将与所述合并的出现计数信息相关联的所述最频繁的数据值中的至少一个转移到所述经合并的直方图中; 如果所述合并的直方图中的柱的数目大于所述第二数目(N),则调整所述合并的直方图中的柱的宽度;以及 移除所述合并的直方图的至少一个柱,并且将与所述至少一个柱相关联的值作为噪声来计数。7.根据任一前述权利要求所述的方法,包括 为利用所述合并的出现计数信息跟踪的出现计数所针对的数据值的数目提供第一预定义阈值,并且为所述合并的直方图中的柱的数目提...

【专利技术属性】
技术研发人员:李天超O·德雷泽P·本德尔N·赫尔
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

1