将数据实时分类到数据压缩域的制作方法

文档序号:9204225阅读:438来源:国知局
将数据实时分类到数据压缩域的制作方法
【技术领域】
[0001] 本发明一般涉及计算机,更具体地涉及在计算环境中将数据实时分类到数据压缩 域。
【背景技术】
[0002] 当今社会中,计算机系统是普遍的。可在工作场所、在家里、或在学校发现计算机 系统。计算机系统可以包括数据存储系统或盘存储系统以处理和存储数据。数据存储系统 或盘存储系统被用来处理和存储数据。存储系统可包括一个或多个盘驱动器。这些数据处 理系统通常需要大量的数据存储。客户数据或者数据处理系统内的用户所产生的数据占据 该数据存储的很大的部分。这些计算机系统中的许多系统包括虚拟存储组件。
[0003] 数据压缩被广泛用于减少处理、传输或存储给定量的信息所需要的数据量。数据 压缩是为了最小化数据的表示而对数据进行的编码。例如,压缩可被用于减少文件的存储 需求、提高信道上的通信速率、或者在加密之前减少冗余以提高安全性。

【发明内容】

[0004] 在一个实施例中,提供一种利用处理器装置将数据实时分类到数据压缩域的 方法。为了将数据实时分类到数据压缩域,通过读取随机选择的计算一组分类启发 (classifying heuristics)的写操作的数据来决定应该将写操作转发至哪个数据压缩域, 从而为每个写操作产生指纹。将具有相似指纹(fingerprint)的写操作在相似的压缩流中 压缩在一起。
[0005] 在另一实施例中,提供一种用于将数据实时分类到数据压缩域的计算机系统,该 计算机系统包括计算机可读介质和与所述计算机可读介质通信的处理器。为了将数据实时 分类到数据压缩域,处理器通过读取随机选择的计算一组分类启发的写操作的数据来决定 应该将写操作转发至哪个数据压缩域,从而为每个写操作产生指纹。将具有相似指纹的写 操作在相似的压缩流中压缩在一起。
[0006] 在又一实施例中,提供一种用于将数据实时分类到数据压缩域的计算机程序产 品。该计算机可读存储介质具有存储在其上的计算机可读程序代码部分。计算机可读程序 代码部分包括第一可执行部分,其通过读取随机选择的计算一组分类启发的写操作的数据 来决定应该将写操作转发至哪个数据压缩域,从而为每个写操作产生指纹。将具有相似指 纹的写操作在相似的压缩流中压缩在一起。
[0007] 除了上述示例性方法实施例之外,还提供了其它的示例性系统和计算机产品的实 施例并提供相关的优点。已经提供了上述概要以便以简化的形式介绍将在下面的详细描述 中进一步描述的构思的精选。本概要并不旨在识别要求保护的主题的关键特征或必要特 征,也不是旨在用于帮助确定要求保护的主题的范围。要求保护的主题并不限于解决背景 技术中提到的任何或所有缺点的实施方式。
【附图说明】
[0008] 现在将要参考附图,仅通过举例的方式描述本发明的多个实施例,其中:
[0009] 图1示出可在其中实现本发明的各方面的具有示例性存储设备的计算机存储环 境的框图;
[0010] 图2示出可在其中实现本发明的各方面的计算机系统中的示例性数据存储系统 的硬件结构的框图;
[0011] 图3示出可以实现本发明的各方面的将数据实时分类至数据压缩域的示意性方 法的流程图;以及
[0012] 图4示出可以实现本发明的各方面的将数据实时分类至数据压缩域的附加示意 性方法的流程图。
【具体实施方式】
[0013] 如之前提及的,计算系统被用于存储和管理各种类型的数据。利用相同的压缩流 压缩相似的数据提高压缩率和减少所需的存储器。然而,当写数据时,即使一个文件中的连 续块,内容也不总是相似。例如,考虑具有图像和文字的文件。如果为具有图像和文字的文 件创建两个分开的压缩流,那么将每种类型的数据发送至分开的压缩流,极大地提高数据 压缩的效率并且提升全部数据的压缩率。
[0014] 在块存储系统中,将数据块写入到存储器中而不指示写入什么类型的数据,并且 没有给出写之间的关系指示(例如相同文件的写和相同数据类型的写)。因此,当压缩数据 的写操作时,能够把数据压缩在一起,这些数据没有公共属性(并且没有重复),这将导致 压缩率降级。块存储系统没有写入数据的类型(或类)信息并且无法利用这一点。解决这 个挑战的尝试包括利用逻辑块地址(LBA)空间的空间局部性(spatial locality)的块系 统的解决方案。将到给定LBA范围的任何写压缩到一起,并且这有点如同文件系统/数据库 分配策略--以连续的方式分配文件或相关的文件。这种解决方案遵循流行的启发法-- 在单个文件中的数据是相似的并且应该在单个压缩流中被压缩。启发法被发现不总是正确 的,因此数据压缩效率降低。因此,有必要实时做出使用哪个压缩流的决定,否则使用分开 的压缩流是不实际的。因此,选择使用哪个压缩流的决策逻辑应该快速(快速是相对而言 并且应该是使用当前现有技术可用硬件压缩数据所需时间的一部分)。
[0015] 这样,在一个实施例中,本发明提供一种解决方案,利用处理器装置将数据实时分 类到数据压缩域。为了将数据实时分类到数据压缩域,通过读取随机选择的计算一组分类 启发的写操作的数据来决定将写操作应该转发至哪个数据压缩域,从而为每个写操作产生 指纹。将具有相似指纹的写操作在相似的压缩流中压缩在一起。
[0016] 如下所述,在一个实施例中,本发明"检测"到没有先前信息的数据的"类"(或特 性)(例如,压缩域或压缩流被分类)。本发明允许基于数据域写入多个压缩流。本发明识 别并决定应该将写操作应该转发至哪个压缩域并决定使用哪个压缩流。压缩域可以具有一 个或多个有效(active)的压缩流。检测方法读取随机选取的输入数据的小片段,并且计算 一组分类启发以产生数据的指纹。将在单个压缩流中具有相似指纹的数据压缩在一起,而 将包含具有不同指纹和特性的数据(例如图像与文本)的写操作划分到不同的压缩流中。 这种数据分类和划分利用多个机器增加了效率并通过在单个流中保持相似的数据允许更 多的节点帮助压缩数据来更好地使用分布式系统(即多个压缩节点)。为了决定使用哪个 压缩域和流,识别和检测算法非常快并且不需要压缩数据。
[0017] 现在转到图1,描绘了计算环境中的数据存储系统的示例性架构10。计算机系统 10包括连接到(多个)大容量存储(storage)设备14和存储器(memory)设备16的中央 处理单元(CPU) 12。大容量存储设备可以包括硬盘驱动器(HDD)设备、固态器件(SSD)等, 它们可以配置在独立盘冗余阵列(RAID)中。进一步描述的备份操作可以在位于系统10中 或其他地方的(多个)设备14上执行。存储器设备16可以包括诸如电可擦除可编程只读 存储器(EEPROM)的存储器或相关设备的主机。存储器设备16和大容量存储设备14经由 信号承载介质连接到CPU 12。此外,CPU 12通过通信端口 18连接到具有附接的多个附加 计算机系统22和24的通信网络20。
[0018] 图2是示出根据本发明的计算机系统中的数据存储系统的硬件结构的示例性框
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1