CN107850983B - 计算机系统、存储装置和数据的管理方法 - Google Patents

计算机系统、存储装置和数据的管理方法 Download PDF

Info

Publication number
CN107850983B
CN107850983B CN201580081933.0A CN201580081933A CN107850983B CN 107850983 B CN107850983 B CN 107850983B CN 201580081933 A CN201580081933 A CN 201580081933A CN 107850983 B CN107850983 B CN 107850983B
Authority
CN
China
Prior art keywords
data
identification information
storage device
content
information
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
Application number
CN201580081933.0A
Other languages
English (en)
Other versions
CN107850983A (zh
Inventor
早坂光雄
松泽敬一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of CN107850983A publication Critical patent/CN107850983A/zh
Application granted granted Critical
Publication of CN107850983B publication Critical patent/CN107850983B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3091Data deduplication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种具备存储装置和计算机的计算机系统,上述计算机取得表示是否已保存与表示要在上述存储装置中写入的数据的内容的识别信息对应的数据的信息,对上述存储装置请求写入对于要在上述存储装置中写入的数据去除重复数据后的数据,上述计算机根据上述识别信息的连续程度,使用个别的上述识别信息和上述识别信息的范围中的某一者或两者,对上述存储装置请求表示是否已保存与上述识别信息对应的数据的信息。

Description

计算机系统、存储装置和数据的管理方法
技术领域
本发明涉及存储装置。
背景技术
为了降低保存数据的介质的成本,有时削减数据量进行保存。例 如,文件压缩将1个文件内的相同内容的数据段(data segment)缩减 来削减数据容量。重复去除(删除)不限于1个文件内,也在文件之 间缩减相同内容的数据段,削减文件系统和存储装置中的数据量。
以下说明中,将作为重复去除处理的单位的数据段称为大块 (chunk)。另外,将存储设备中保存的单位即逻辑上集合的数据称为 内容(content)。内容中,可以有通常的文件、存档文件、备份文件、 虚拟卷文件等将通常的文件集约(汇集)而成的文件、文件的一部分 或卷的一部分。
作为本技术的背景技术,有美国专利第5990810号公报(专利文 献1)。专利文献1中,公开了从主机计算机经由网络在存储装置中保 存内容的情况下,执行各大块是否已保存在存储装置中的重复判定, 仅发送未保存的大块,由此削减数据的传输量,高效率地保存数据的 方法。
现有技术文献
专利文献
专利文献1:美国专利第5990810号公报
发明内容
发明要解决的课题
在判定大块重复的情况下,存在用主机计算机判定的方法和用存 储装置判定的方法。
例如,专利文献1中,记载了用存储装置进行重复判定,主机计 算机从存储装置取得重复判定的结果,仅对存储装置发送新的大块的 方法。
但是,专利文献1的重复去除处理方法对存储装置询问全部大块 的重复判定。为此,主机计算机对存储装置发送重复判定所需的信息, 从存储装置接收重复判定的结果。因此,与用主机计算机判定重复的 方式相比较,存在相当于数据1次往复的性能降低。
另外,主机计算机的数量增大时,存储装置方的处理负荷增大, 系统的性能降低。
于是,本发明目的在于提供一种用主机计算机和存储装置协调地 进行高效率的重复去除处理的计算机系统。例如,提供一种在主机计 算机方的重复去除判定中仅从存储装置对主机计算机发送必要最低限 度的信息,高效率地进行重复去除处理的存储系统。
用于解决课题的方法
示出本申请中公开的发明的代表性的一例,如下所述。即,一种 具有重复数据去除功能的计算机系统,其特征在于,包括:具有保存 数据的存储设备的至少一个存储装置;和对上述存储装置请求写入数 据的计算机,上述存储装置管理表示已保存的数据的内容的识别信息, 上述计算机,计算表示要在上述存储装置中写入的数据的内容的识别 信息,对上述存储装置请求表示是否已保存与上述计算出的识别信息 对应的数据的信息,取得表示是否已保存与该识别信息对应的数据的 信息,使用上述取得的信息,对于要在上述存储装置中写入的数据, 判定与任一个上述存储装置中已保存的数据相同内容的重复数据,对 上述存储装置发送去除上述重复数据后的数据,请求写入该数据,上 述存储装置保存由上述计算机请求写入的数据,上述计算机根据上述 识别信息的连续程度,使用单个的上述识别信息和上述识别信息的范 围中的一者或两者,对上述存储装置请求表示是否已保存与上述识别 信息对应的数据的信息。
发明效果
根据本发明的一个方式,能够进行高效率的数据重复去除处理。 上述以外的课题、结构和效果将通过以下实施例的说明而说明。
附图说明
图1是表示本发明的第1实施例的计算机系统的逻辑结构的图。
图2是表示第1实施例的计算机系统的硬件结构的图。
图3A是表示第1实施例的内容处理信息表的结构例的图。
图3B是表示第1实施例的内容管理表T11的结构例的图。
图4A是表示第1实施例的内容种类A的内容的结构例的图。
图4B是表示第1实施例的内容种类B的内容的结构例的图。
图4C是表示第1实施例的内容种类E的内容的结构例的图。
图4D是表示第1实施例的内容种类C的内容的结构例的图。
图5A是表示第1实施例的重复判定用信息列表的结构例的图。
图5B是表示第1实施例的重复信息列表的结构例的图。
图6是第1实施例的数据传输处理的流程图。
图7是第1实施例的内容处理的流程图。
图8是第1实施例的对于内容种类C的内容的处理的流程图。
图9是第1实施例的重复信息列表取得处理的流程图。
图10是第1实施例的数据削减/发送处理的流程图。
图11是第1实施例的数据还原/保存处理的流程图。
图12是第1实施例的内容读取处理的流程图。
图13是表示第2实施例的计算机系统的逻辑结构的图。
图14是表示第4实施例的全闪存设备的结构例的图。
具体实施方式
参照附图说明几个实施例。另外,以下说明的实施例并不限定权 利要求书中记载的发明,并且实施例中说明的各要素及其全部组合不 一定是发明的解决手段中必需的。
以下说明中,用“XX表”的表达说明各种信息,但各种信息也可 以用表以外的数据结构表达。为了表示不依赖于数据结构,有时也将 “XX表”称为“XX信息”。
以下说明中,存在用程序作为主语说明处理的情况,但程序是通 过由硬件自身、或硬件具有的处理器(例如MP(Micro Processor))执 行而适当使用存储资源(例如存储器)和/或通信接口设备(例如端口) 进行规定的处理的,所以有时也将处理的主语记载为硬件或处理器。 程序源例如可以是程序发布服务器或存储介质。
以下说明公开了存储装置中的数据量削减技术。存储装置包括保 存数据的1个以上存储设备。另外,将1个以上存储设备提供的存储 区域称为介质区域。存储设备例如是硬盘驱动器(HDD)、固态驱动器 (SSD)、由多个驱动器构成的RAID等。
存储装置按逻辑上集合的数据即内容管理数据。另外,对数据的 访问按内容发生。内容是通常的文件和将通常的文件集约而成的文件 (存档文件、备份文件、虚拟计算机的卷文件等)。内容也可以是文件 的一部分。
本实施例的计算机系统中,主机计算机和存储装置协调地进行数 据削减处理。具体而言,主机计算机取得存储装置具有的重复判定列 表,主机计算机进行数据削减处理。由此,提供减轻存储装置的处理 负荷、即使主机计算机数量增大处理性能也不降低的全局的重复去除。 具体而言,存储装置对内容内的段进行分类,进行数据削减处理。段 是内容内的有意义的数据的集合。
例如,存储装置对每个段决定数据削减方法。存储装置确定各段 的段种类,按照与该段种类预先关联的数据量削减方法,执行数据削 减处理。
数据量削减处理例如由仅重复去除、仅压缩、或者重复去除和压 缩构成。对于一部分段种类也可以不应用数据量削减处理。因为按每 个段种类决定数据量削减方法,所以能够与段种类相应地适当地削减 数据量。
<实施例1>
图1是表示本发明的第1实施例的计算机系统的逻辑结构的图。
主机10对分布式存储系统(存储节点20、30)传输数据。主机 10可以是在公司的分公司中设置的存储系统、个人计算机、服务器计 算机、智能手机等。主机10具有执行程序的处理器14(参照图2)、 和保存程序和数据的存储器11。主机10的存储器11保存数据分割/重构处理程序P10、重复去除处理程序P11和压缩/解压缩处理程序P12。 存储器11还保存重复判定用信息列表T10、内容管理表T11、重复信 息列表T12和内容处理信息表T13。
重复判定用信息列表T10将存储设备12中保存的多个内容分割为 大块,保存每个该大块的唯一ID(哈希值等)。重复判定用信息列表 T10的结构用图5A后述。内容管理表T11保存构成内容的大块的信息。 内容管理表T11的结构用图3B后述。重复信息列表T12保存重复判定 时使用的信息。重复信息列表T12的结构用图5B后述。内容处理信息 表T13保存用于应用每个内容的数据分割/数据削减处理的信息。内容 处理信息表T13的结构用图3A后述。
分布式存储系统由2个以上存储节点20、30构成。另外,计算机 系统也可以包括1个存储节点。存储节点20和30是相同的结构,所 以对存储节点20的结构进行说明,省略存储节点30的结构的说明。
存储节点20的存储器21保存数据分割/重构处理程序P20、压缩/ 解压缩处理程序P22、重复信息分布式管理处理程序P25和内容信息分 布式管理处理程序P26。存储器21还保存内容管理表T21和重复信息 列表T22。
重复信息列表T22、T32保存各存储节点20、30中分布式管理的 重复信息。重复信息列表T22、T32的结构用图5B后述。重复信息列 表T22、T32分别由重复信息分布式管理处理程序P25、P35管理。例 如,重复信息分布式管理处理程序P25决定各存储节点20、30管理的 唯一ID的范围。各存储节点20、30用重复信息列表T22、T32管理自 身负责的唯一ID的范围的重复信息。内容管理表T21、T31保存各存 储节点20、30中分布式管理的内容的结构的信息。内容管理表T21、 T31的结构用图3B后述。内容管理表T21、T31由内容信息分布式管理处理程序P26、P36管理。
主机10决定对分布式存储系统进行数据传输的内容。数据分割/ 重构处理程序P10对存储设备12中保存的内容进行分析,生成按照内 容处理信息表T13应用重复去除的数据的部分的唯一ID。进而,主机 10将生成的唯一ID按规定的顺序(例如升序、降序)注册在重复判定 用信息列表T10中。主机10对于其他内容也反复相同的处理。
主机10经由数据网络60对分布式存储系统发送重复判定用信息 列表T10,请求与重复判定用信息列表T10中包括的唯一ID对应的重 复信息列表。
例如,存储节点20受理来自主机10的请求时,对于重复判定用 信息列表T10的唯一ID按存储节点管理的重复信息范围进行分割,将 由唯一ID分割后的列表经由内部网络70发送至各存储节点30,请求 重复信息列表。存储节点30接收到来自受理了主机10的请求的存储 节点20的请求时,检索本节点内的重复信息列表,回复重复信息列表。 存储节点20从其他存储节点30接收到重复信息列表时,经由数据网 络60对主机10回复。
主机10将接收到的回复保存在重复信息列表T12中。另外,主机 10对于对分布式存储系统传输的每个内容,按照内容处理信息表T13 进行重复去除处理和压缩处理,生成内容管理表T11。内容管理表T11 保存分布式存储系统内保存的重复去除目标的数据位置和压缩数据等 信息。主机10将压缩和/或重复去除后的数据与内容管理表T11一同对 存储节点20、30传输。
例如,存储节点20接收到来自主机10的数据时,压缩/解压缩处 理程序P22按照内容管理表T11将压缩数据解压缩。然后,数据分割/ 重构处理程序P20从存储节点20、30取得重复目标数据。由此,存储 节点20将原本的内容还原,保存内容。数据被分散地保存到1或2个 以上存储节点20、30,保存的数据的内容信息被分布式管理。
通过以上说明的结构,能够将重复去除处理和/或压缩处理应用于 内容内的效果高的数据,提高数据量削减效果。结果,能够削减主机 10与存储节点20、30之间的通信量,提供高速的数据备份和数据迁移。
图2是表示本发明的第1实施例的计算机系统的硬件结构的图。
存储节点20包括处理器24、存储器21、存储设备接口28、存储 设备22、和网络接口26构成。存储节点20内的设备以经由系统总线 通信29的方式连接。处理器24和存储器21是存储节点20的控制器 的一例。处理器24的功能的至少一部分也可以用其他逻辑电路(例如FPGA)实现。
处理器24执行的程序经由网络或可移动介质(CD-ROM、闪存等) 对存储节点20提供,保存在作为非暂时性存储介质的非易失性存储装 置中。因此,存储节点20可以具有从可移动介质读取数据的接口。
存储节点30的结构与存储节点20的结构相同,所以省略说明。
存储节点20、30经由内部网络70相互连接。另外,存储节点20、 30经由内部网络70与管理系统50连接。另外,关于将存储节点20、 30与管理系统50连接的网络,可以设置与内部网络70不同的、独立 的管理网络。存储节点20、30经由数据网络60与1个或多个主机10连接。主机10例如可以是在公司的分公司中设置的存储系统、个人计 算机、服务器计算机、智能手机等。
管理系统50由1台或多台计算机构成。管理系统50例如包括服 务器计算机和经由网络访问该服务器计算机的终端。管理者经由终端 的显示设备和输入设备管理和控制存储节点20和30。
内部网络70和数据网络60分别例如是WAN(Wide Area Network: 广域网)、LAN(Local Area Network:局域网)、互联网、SAN(Storage Area Network:存储区域网)、公共线路、或专用线路等。内部网络70 和数据网络60也可以是同一网络。
主机10包括处理器14、存储器11、存储设备接口18、存储设备 12、和网络接口16构成。主机10内的设备以经由系统总线19通信的 方式连接。处理器14和存储器11是主机10的控制器的一例。处理器 14的功能的至少一部分也可以用其他逻辑电路(例如FPGA)实现。
处理器14执行的程序经由可移动介质(CD-ROM、闪存等)或网 络对主机10提供,保存在作为非暂时性存储介质的非易失性存储装置 中。因此,主机10可以具有从可移动介质读取数据的接口。
主机10是物理地在一台计算机上、或者在逻辑的或物理的多台计 算机上构成的计算机系统,上述程序可以在同一计算机上以不同线程 工作,也可以在多台物理计算机资源上构建的虚拟计算机上工作。另 外,主机10和其他装置也可以容纳在一台物理或虚拟计算机中。
返回图1继续说明。存储器11保存有数据分割/重构处理程序P10、 重复去除处理程序P11、压缩/解压缩处理程序P12。存储器11还保存 有重复判定用信息列表T10和内容管理表T11、重复信息列表T12、内 容处理信息表T13。存储器中保存的数据典型而言从存储设备12载入。 存储设备12例如是HDD、SSD、或者由这些非易失性存储设备构成的 RAID。
存储器11用于存储从存储设备12读取的数据,且用作暂时保存 从主机10接收的数据的缓存。存储器11还用作处理器14的工作存储 器。
作为存储器11,使用DRAM等易失性存储器和/或Flash Memory 等非易失性存储器。存储器11能够比存储设备12更高速地读写数据。
内容处理信息表T13保存每个内容的数据量削减处理方法。管理 系统50对内容处理信息表T13进行设定。
处理器14按照存储器11中存储的程序和运算参数等工作。处理 器14通过按照程序工作而起到特定的功能部的作用。例如,处理器14 按照数据分割/重构处理程序P10执行内容分析处理,执行数据分割/ 重构处理。另外,处理器14按照重复去除处理程序P11执行重复去除 处理,按照压缩/解压缩处理程序P12执行压缩解压缩处理。
数据分割/重构处理程序P10按照内容处理信息表T13将内容的数 据分为压缩处理和重复去除处理。重复去除处理中,将数据分割,将 分割后的数据的唯一ID升序或降序排列地注册在重复判定用信息列表 T10中。唯一ID可以使用MD5、CRC、SHA1、SHA256、SHA384、 SHA512等哈希值。数据分割/重构处理程序P10将本处理应用于对分 布式存储装置传输的全部内容。另外,数据分割/重构处理程序P10按 照内容管理表T11重构重复去除完成数据,将原本的数据还原。
重复去除处理程序P11将重复判定用信息列表T10对存储节点20、 30传输,取得与重复判定用信息列表T10中注册的唯一ID对应的重 复信息列表。另外,重复去除处理程序P11使用重复信息列表检索与 内容内的重复去除处理的对象块(block)重复的块(同一数据的块) 在该内容内和存储节点20、30中是否存在,在重复块存在的情况下, 将对象块转换为表示重复块的指针。内容内的对象块不对存储节点20、 30传输。压缩/解压缩处理程序P12对内容内的数据进行压缩和解压缩。 重复去除处理和压缩处理的顺序也可以相反。
存储设备12提供主机10暂时保存内容的区域。处理器14可以非 同步地读取存储设备12中保存的内容,执行内容分析处理、重复去除 处理、和压缩处理。也可以在存储器11中保持内容,省略存储设备12。
对存储节点20进行说明。另外,存储节点30与存储节点20结构 相同,所以省略其说明。
存储器21保存数据分割/重构处理程序P20、压缩/解压缩处理程序 P22、重复信息分布式管理处理程序P25和内容信息分布式管理处理程 序P26。存储器21还保存内容管理表T21和重复信息列表T22。存储 器21中保存的数据典型而言是经由网络60、70传输的数据、或者从 存储设备22载入。存储设备22例如是HDD、SSD、或者由这些非易 失性存储设备构成的RAID。
存储器21用于存储从存储设备12读取的数据,且用作暂时保存 从主机10接收的数据的缓存。存储器21还用作处理器24的工作存储 器。
作为存储器21,使用DRAM等易失性存储器和/或Flash Memory 等非易失性存储器。存储器21能够比存储设备22更高速地读写数据。
处理器24按照存储器21中存储的程序和运算参数等工作。处理 器24通过按照程序工作而起到特定的功能部的作用。例如,处理器24 按照数据分割/重构处理程序P20执行内容分析处理,执行数据分割/ 重构处理。另外,处理器24按照压缩/解压缩处理程序P12执行压缩解 压缩处理,按照重复信息分布式管理处理程序P25执行重复信息分布 式管理处理,按照内容信息分布式管理处理程序P26执行内容信息分 布式管理处理。
数据分割/重构处理程序P20按照从主机10传输来的内容管理表 T11、或者内容信息分布式管理处理程序P26根据内容管理表T21构成 的内容信息,与重复信息分布式管理处理程序P25和内容信息分布式 管理处理程序P26协作地,将内容的数据重构。另外,数据分割/重构 处理程序P20在从主机10接收到重复信息列表取得请求的情况下,与 重复信息分布式管理处理程序P25协作地,取得符合请求的重复信息。
压缩/解压缩处理程序P12对内容内的数据进行压缩和解压缩。
重复信息分布式管理处理程序P25与其他存储节点30的重复信息 分布式管理处理程序P35协作地,决定各存储节点20、30管理的唯一 ID的范围。例如,在该管理中,使用作为Distributed Hash Table(DHT, 分布式哈希表)的Consistent Hashing(一致性哈希)等。各节点仅对 决定的唯一ID的范围用重复信息列表进行管理。另外,重复信息分布 式管理处理程序P25管理各存储节点的唯一ID的管理范围。因此,能 够从全部节点的重复信息分布式管理处理(例如P25和P35)进行重复 信息列表的追加、检索、更新、删除。重复信息分布式管理处理程序 P25也可以用LRU管理重复信息列表T22。进而,重复信息分布式管 理处理程序P25在存储节点20、30删除和追加时,自动地调整管理范 围,进行移动数据的重新平衡处理。
内容信息分布式管理处理程序P26按每个内容管理存在内容的节 点。例如,可以如CRUSH一般全部用计算求出,也可以用DHT管理。 另外,也可以对于内容的每个偏移量,管理该内容存在的节点。
存储设备22提供存储节点20暂时保存内容和控制信息的区域。 处理器24可以非同步地读取存储设备22中保存的内容,执行内容分 析处理、重复去除处理、和压缩处理。也可以在存储器25中保持内容, 省略存储设备22。
图3A是表示内容处理信息表T13的结构例的图。
内容处理信息表T13具有表结构,记录内容的每个段种类的数据 量削减方法。由此,使用内容处理信息表T13,按每个内容种类有效地 削减数据量。内容处理信息表T13由管理系统50生成,保存在主机10 中。内容处理信息表T13记录用户指定的每个内容种类的处理方法。
内容处理信息表T13包括内容种类信息栏T2、内容种类栏T4、和 数据量削减处理内容栏T6。数据量削减处理内容栏T6包括压缩应用 大小栏T50、解压缩栏T51、重复去除单位栏T52、头部栏T53、元数 据部栏T54、主体部栏T55、和尾部栏T56。
压缩应用大小栏T50表示应用内容压缩的最大大小。
解压缩栏T51表示在内容的数据量削减处理前是否将压缩处理后 的内容解压缩。通过在数据重新配置处理和数据量削减处理前将压缩 内容解压缩,能够更有效地削减数据量。
重复去除单位栏T52表示对内容应用重复去除时,用哪个大小的 哪个方法将数据分割。例如,分割的方法是文件单位、固定长度、可 变长度等。文件单位是按文件单位应用重复去除。固定长度是分割为 固定长度的数据并应用重复去除。可变长度是分割为可变长度的数据 并应用重复去除。为了发现分割点,可以使用滚动哈希。
从头部栏T53到尾部栏T56分别表示对应的段种类的数据量削减 方法。头部栏T53表示内容内的头部的数据削减方法。元数据部栏T54 表示内容内的元数据部的数据削减方法。主体部栏T55表示内容内的 主体部的数据削减方法。尾部栏T56表示内容内的尾部的数据削减方 法。
数据量削减处理内容栏T6表示对于对象数据可以应用的四种数据 削减方法。一种方法是进行重复去除处理和压缩处理两者,一种方法 是仅进行重复去除处理,一种方法是仅进行压缩处理,一种方法是不 执行数据量削减处理。
例如,对于内容种类为“C”的内容,进行数据的解压缩处理。之 后,对于头段和元数据段仅进行压缩处理。另外,对于主体段和尾段 进行重复去除处理和压缩处理。另外,对于内容种类为“B”的内容, 应用文件单位的仅重复去除处理。
图3B是表示第1实施例的内容管理表T11的结构例的图。内容管 理表T21、T31与图3B所示的内容管理表T11结构相同,所以省略其 说明。
内容管理表T11表示数据削减处理前后的数据位置的关系。使用 内容管理表T11,数据分割/重构处理程序P10能够将内容从数据削减 处理后的结构适当地转换为处理前的结构。通过对内容附加内容管理 表T11、保存在由存储设备22、32构成的介质区域中,能够提高内容 管理的效率。
本实施例的内容管理表T11包括偏移量栏T61、大小栏T62、保存 目标压缩单位编号栏T63、保存目标压缩单位内偏移量栏T64、和重复 去除目标栏T65。栏T61到T65的同一行的单元构成一个条目。各条 目表示内容内的一个数据块。在各数据块内执行同一数据量削减方法。 数据块例如可以由1个段、多个段、1个段内的部分数据构成。
内容管理表T11还包括压缩单位编号栏T70、压缩应用后数据偏 移量栏T71、应用压缩类型栏T72、压缩前大小栏T73、和压缩后大小 栏T74。栏T70到T74的同一行的单元构成一个条目。各条目表示一 个压缩单位的信息。压缩单位是重新配置后执行压缩处理的数据单位, 是重复去除处理后的集约段组和非集约段。
偏移量栏T61表示内容内的数据块的偏移量。大小栏T62表示数 据块各自的数据长度。保存目标压缩单位编号栏T63表示保存数据块 的压缩单位的编号。保存目标压缩单位内偏移量栏T64表示保存未进 行重复去除的数据块的压缩单位中的偏移量。
重复去除目标栏T65表示应用重复去除处理后的数据块的参照目 标数据位置。参照目标用内容ID和偏移量表示。
压缩单位编号栏T70表示压缩单位的编号。压缩单位的编号从重 复去除后、压缩前的内容中的开头的压缩单位起顺序附加。压缩应用 后数据偏移量栏T71表示压缩后的压缩单位的内容内的偏移量。从而, 根据保存目标压缩单位编号栏T63和保存目标压缩单位内偏移量栏 T64的值,确定数据块的压缩后的位置。
应用压缩类型栏T72表示对压缩单位应用的数据压缩的类型。压 缩前大小栏T73表示压缩前的压缩单位的数据大小,压缩后大小栏T74 表示压缩后的压缩单位的数据大小。
例如,第3行的条目T40的数据块具有偏移量150(B)、数据大 小100B。该数据块在压缩前的内容中,保存在压缩单位编号4的压缩 单位中的偏移量150(B)的位置。即,该数据块在介质区域中保存的 内容的解压缩处理后,是从开头起第4个压缩单位的偏移量150(B)的位置起100B的数据。
接着,参照图4A~图4D说明各种形式的内容。不存在对于主机 10和分布式存储系统保存的全部内容共通的结构。在内容的特定位置 存在特定数据、并且处理内容的主机10和分布式存储系统已知这一点 的情况下,能够定义该内容的结构。
即,即使内容内存在具有特征的数据,在主机10和分布式存储系 统不能识别它的情况下,也与该内容不具有特定结构是同义的。本实 施例中,仅有内容结构信息表示内容结构的内容种类具有内容结构。
例如,主机10保存表示每个内容种类的结构信息的内容结构信息 (省略图示)。例如,内容结构信息包括内容内的头部的位置、大小、 和用于读取头部的格式信息、用于读取内容的其他管理段的格式信息。 管理段是主体部以外的段。
图4A是表示内容种类A的内容100的结构例的图。
内容A(100)由内容ID部102和实质上不具有结构的主体部106 构成。它们是段。内容ID部102包括内容种类的识别信息,表示生成 该内容的应用程序。
内容ID部102也称为幻数(magic number),一般置于内容的开头。 作为内容种类A之外的内容的例子,存在不具有内容ID部102、整体 没有结构的数据的内容。数据分割/重构处理程序P10、P20、P30在内 容种类A的内容中,将内容ID部102和主体部106一并处理。
图4B是表示内容种类B的内容110的结构例的图。
内容B(110)由内容ID部112、头部114、主体部116、和尾部 118构成。该各部是段。
头部114描述内容的结构,置于内容的开头附近。数据分割/重构 处理程序P10、P20、P30通过参照内容结构信息,可知与内容种类B 对应的内容110中的头部114的位置、大小、和读取方式。
头部114表示其他段的结构信息。数据分割/重构处理程序P10、 P20、P30通过分析头部114,可知主体部116和尾部118在内容110 中的位置和大小。数据分割/重构处理程序P10、P20、P30从头部114 取得关于主体部116的详细的构成要素及其位置的信息。另外,内容 ID部112和头部114也可以作为一个段处理。头部114也可以包括头 部114的位置和大小的信息。
尾部118置于内容110的最末尾,保存的信息不确定。例如,尾 部118可以包括内容大小等关于内容110整体的信息,能够用于检查 内容处理的正确性等。尾部118也可以包括没有逻辑意义的填充数据。
图4C是表示内容种类E的内容120的结构例的图。
内容E(120)由内容ID部121、头部0(122)、元数据部0(123)、 头部1(124)、主体部0(125)、头部2(126)、元数据部1(127)、 头部3(128)、主体部1(129)、和尾部118构成。该各部是段。
内容E(120)中,各头部包括用于将元数据部和主体部连接构成 一个内容的信息。即,头部0到3是用于将元数据部0、主体部0、元 数据部1和主体部1连接为一个内容的信息。
头部0到3例如包括直到下一个头部的后续段的结构信息。头部 也可以包括内容内的全部段的结构信息。头部也可以包括直到下一个 头部的后续的段的种类、位置和大小的信息。头部也可以包括以后的 全部段的结构信息。
例如,内容结构信息表示最初的头部0(122)的结构信息。头部 0(122)表示元数据部0(123)和下一个头部1(124)的位置和大小。
头部1(124)表示主体部1(125)和下一个头部2(126)的种类、 位置和大小。头部2(126)表示元数据部1(127)和下一个头部3(128) 的种类、位置和大小。头部3(128)表示主体部2(129)和尾部118 的种类、位置和大小。
主体部0(125)和主体部1(129)保存用户数据。元数据部0(123) 保存主体部0(125)中保存的数据的位置和字体的信息等,元数据部 1(127)保存主体部1(129)中保存的数据的主体部内的位置和字体 信息等。
图4D是表示内容种类C的内容130的结构例的图。
内容130包括:内容ID部(131)、头部H0(132)、头部H1(134)、 头部H2(136)、主体部D0(133)、主体部D1(135)、主体部D2(137)、 尾部T0(118)。
图4D所示的例子中,主体部D0(133)、D1(135)、D2(137) 包括1个或多个子内容。具体而言,主体部D0(133)包括子内容0, 主体部D1(135)包括子内容1,主体部D2(137)包括子内容2。
头部H0(132)、头部H1(134)、和头部H2(136)包括用于将 主体部D0(133)、主体部D1(135)、主体部D2(137)、尾部T0(118) 连接构成一个内容的信息。
内容D(130)的头部包括的信息与图4C所示的内容E(120)的 头部包括的信息相同。例如,头部H0(132)、头部H1(134)、和头 部H2(136)分别表示直到下一个头部的各段的结构信息。头部中包 括的主体部的种类的信息表示该主体部是子内容。
子内容也可以包括头部、主体部、元数据部等。子内容内的头部 表示关于子内容的内部结构的信息,包括用于将子内容内的其他段连 接构成一个子内容的信息。该结构中,作为子内容的主体部由多个段 构成。
图4D所示的例子中,子内容0、1、2的内容结构分别与内容A (100)、内容B(110)、内容E(120)相同。即,子内容0、1、2的 内容ID分别表示的内容种类,与内容A(100)、内容B(110)、内容 E(120)的内容种类相同。数据分割/重构处理程序P10按照子内容的 内容ID部表示的内容种类,对子内容进行分析。
例如,内容D(130)是将子内容0、子内容1、子内容2合一得 到的存档文件的情况下,成为上述子内容的结构。此外,备份文件、 虚拟盘卷、富媒体文件(rich media file)等也可能具有这样的结构。
图5A是表示重复判定用信息列表T10的结构例的图。
重复判定用信息列表T10是唯一ID的列表,以升序或降序注册唯 一ID。
另外,图5B是表示重复信息列表T12的结构例的图。重复信息列 表T22、T32与图5B所示的重复信息列表T12结构相同,所以省略其 说明。
重复信息列表T12包括唯一ID(T80)、内容编号(或者卷编号) T81、偏移量(或者LBA)T82、和长度T83。
唯一ID(T80)保存唯一ID。内容编号T81、偏移量T82、和长 度T83表示与该唯一ID对应的从内容编号或卷编号的偏移量或 LBAT82起长度T83的数据。在数据不是可变长度的情况下,也可以省 略长度T83。
图6是从主机10对分布式存储系统(存储节点20、30)传输数据 的处理的流程图。
首先,主机10执行对内容进行分析、将数据分割、生成重复判定 用信息列表T10的内容处理(S12)。内容处理的详情用图7后述。
然后,主机10执行使用重复判定用信息列表T10从分布式存储系 统取得重复信息列表T12的重复信息列表取得处理(S14)。重复信息 列表取得处理的详情用图9后述。
然后,主机10执行使用取得的重复信息列表T12执行重复去除处 理和压缩处理、生成内容管理表T11、进行对分布式存储装置传输数据 削减后的数据的数据削减/发送处理(S16)。数据削减/发送处理的详情 用图10后述。
然后,分布式存储系统执行使用接收的数据和内容管理表T21进 行数据还原处理、将还原得到的数据保存在某一个存储节点20、30中 的数据还原/保存处理(S18)。数据还原/保存处理的详情用图11后述。
图7是表示主机10进行的内容处理(S12)的详情的流程图。
主机10与内容接收同步或非同步地执行内容处理(S12)。例如, 主机10可以将接收的内容暂时保存在存储设备12中,与内容接收非 同步地读取至存储器11中,执行该处理。另外,主机10也可以将接 收的内容暂时保存在存储器11中,执行该处理。
首先,数据分割/重构处理程序P10判定内容整体的大小是否在规 定阈值以下(S810)。例如,数据分割/重构处理程序P10能够从内容 内的管理信息或者存储节点20、30与内容一同接收的命令中取得关于 内容长度的信息。
内容长度在规定阈值以下的情况下(S810中YES),压缩解压缩 程序36按内容整体执行压缩处理(S870)。即使对大小小的数据的内 容进行分析、压缩数据,数据保存效率提高的程度也较小。因此,通 过对大小小的数据省略压缩处理,能够实现高效率的处理。也可以对 大小小的内容应用重复去除。
另一方面,内容长度大于规定阈值的情况下(S810中NO),数据 分割/重构处理程序P10参照内容内的内容ID部,取得用于识别内容 种类的信息(S820)。内容ID部不依赖于内容结构,位于内容的开头 等固定的场所,所以数据分割/重构处理程序P10在任意结构的内容中 都能够确定内容ID部。数据分割/重构处理程序P10也可以将从内容 ID部取得的表示内容种类的值转换为仅在装置内使用的值。
然后,主机10以下基于步骤S820中得到的内容种类的信息,选 择和执行与接收的内容对应的处理。具体而言,在步骤S831中,数据 分割/重构处理程序P10判定接收的内容的内容种类是否为“A”。
在内容种类是“A”的情况下(S831中YES),数据分割/重构处 理程序P10执行对于内容种类为“A”的内容准备的处理(S871)。另 一方面,在内容种类不是“A”的情况下(S831中NO),数据分割/重 构处理程序P10判定接收的内容的内容种类是否为“B”(S832)。
在内容种类是“B”的情况下(S832中YES),数据分割/重构处 理程序P10执行对于内容种类为“B”的内容准备的处理(S872)。另 一方面,在内容种类不是“B”的情况下(S832中NO),数据分割/重 构处理程序P10判定接收的内容的内容种类是否为“C”(S833)。
在内容种类是“C”的情况下(S833中YES),数据分割/重构处 理程序P10执行对于内容种类为“C”的内容准备的处理(S873)。另 一方面,在内容种类不是“C”的情况下(S833中NO),数据分割/重 构处理程序P10判定接收的内容的内容种类是否为“D”(S834)。
在内容种类是“D”的情况下(S834中YES),数据分割/重构处 理程序P10执行对于内容种类为“D”的内容准备的处理(S874)。另 一方面,在内容种类不是“D”的情况下(S833中NO),数据分割/重 构处理程序P10对于其他内容种类执行相同的处理。准备了固有的处理的内容种类是有限个。数据分割/重构处理程序P10顺次判定内容种 类,执行对于判定的内容种类的内容准备的处理。
在接收的内容的内容种类与预先定义的任一内容种类都不相符的 情况下,数据分割/重构处理程序P10前进至步骤S875。处理器14执 行对于其他内容准备的处理。
在步骤871~874中,数据分割/重构处理程序P10使用该内容的分 析结果,执行各内容的处理,结束内容处理(S12)。
图8示出了表示图7所示的流程图中的步骤873、即对于内容种类 C(130)的内容的处理的详情的流程图。内容种类C的内容130的结 构例在图4D中示出。
数据分割/重构处理程序P10从内容ID部131得到内容种类的信 息,数据分割/重构处理程序P10决定了内容种类之后,执行步骤873 的处理。在步骤873中,主机10(处理器14)以对象内容的内容种类 是“C”为前提执行处理。以下按照图8的流程图说明图4D所示的内 容C(130)的处理例。
数据分割/重构处理程序P10参照内容处理信息表T13的解压缩栏 T51,根据需要将内容解压缩(S310)。
接着,数据分割/重构处理程序P10参照内容结构信息中的头部H0 (132)的结构信息,从头部H0(132)中取得后续段的结构信息(S312)。头部H0(132)包括主体部D0(133)的种类、位置(偏移量)和数据长度的信息、以及头部H1(134)的种类、位置(偏移量)和数据长度的信息。
头部H0(132)包括表示主体部D0(133)是子内容的信息。数 据分割/重构处理程序P10对主体部D0(133)进行分析,参照主体部 D0(133)的内容ID部ID1,决定子内容0的内容种类。数据分割/重 构处理程序P10决定子内容0的各段的种类、位置(偏移量)和大小。
然后,数据分割/重构处理程序P10将分析结果暂时保存在存储器 11中,管理分析结果(S314)。分析结果包括各段的数据削减处理前偏 移量、大小、数据削减处理后偏移量和段种类。此处,分析结果包括 内容ID部131和头部H0(132)的种类、位置和大小的信息、以及由 主体部D0(133)的分析得到的各段的种类、位置和大小的信息。
数据分割/重构处理程序P10从下一个头部H1(134)取得后续段 的结构信息。具体而言,数据分割/重构处理程序P10取得主体部D1 (135)和头部H2(136)的种类、位置、和大小的信息(S312)。
进而,数据分割/重构处理程序P10对主体部D1(135)进行分析。 数据分割/重构处理程序P10将头部H1(134)和主体部D1(135)的 结构信息追加到存储器11中保存的分析结果中(S314)。
接着,数据分割/重构处理程序P10参照内容处理信息表T13,决 定应用压缩和重复去除的数据(S322)。数据分割/重构处理程序P10 提取应用重复去除的数据分割点,生成分割后的各数据部分的唯一ID (S324)。数据分割/重构处理程序P10将生成的唯一ID注册到重复判 定用信息列表T10中(S326)。此时,可以将唯一ID升序或降序地排 序并注册,也可以按生成顺序追加。
然后,数据分割/重构处理程序P10注册用作临时信息的存储器中 的内容管理表T11(S320)。注册的目标可以是存储器中,也可以对存 储设备12写入。
数据分割/重构处理程序P10反复执行内容处理直到内容末尾。执 行至内容末尾时,结束内容处理(S328)。
图9是表示重复信息列表取得处理(S14)的详情的流程图。
重复去除处理程序P11对重复判定用信息列表T10进行分析 (S50)。在重复判定用信息列表T10中随机地注册了唯一ID的情况下, 升序或降序地重新排列。例如,在唯一ID升序排列的情况下,确定唯 一ID连续或大致连续出现的场所,置换为该范围的唯一ID的最小值 和最小值与最大值的差。例如,在规定数量以上的唯一ID包括在规定 范围内的情况下,能够判定为唯一ID连续或大致连续地出现。该判定 中使用的规定数量和规定范围可以以用于表达唯一ID的数据量减小的 方式设定。
例如,该范围中从最小值起多个(n个)唯一ID连续的情况下, 如下所述地,将该范围表达为唯一ID的最小值和连续的唯一ID的数 量(即最小值+n)。
唯一ID的最小值
+n
另外,也可以用与先前的唯一ID的差表达唯一ID的范围。例如, 在该范围的最小值的下一个ID是最小值加上2的值这样,唯一ID大 致连续地出现的情况下,下一个唯一ID是该唯一ID加上4(最小值加 上6)的值的情况下,如下所述地表达为唯一ID的最小值和2、4。
唯一ID的最小值
2
4
即,根据注册的唯一ID的范围的聚集程度,用唯一ID的最小值+ 与最大值的差、或者唯一ID的最小值+唯一ID之间的差表达的部分、 和用个别的唯一ID表达的部分的组合成为重复信息列表取得范围 (S51)。是直接表达唯一ID、还是用ID之间的差表达唯一ID,可以根据用于表达唯一ID的差的数据量是否大于用于表达唯一ID的数据 量决定。例如,在ID之间的差与唯一ID同样使用20字节的情况下, 可以直接注册唯一ID。主机10使用修正后的重复判定用信息列表T10, 对分布式存储系统请求取得重复信息列表(S52)。
分布式存储系统(存储节点20、30)受理重复信息列表取得请求 时,重复信息分布式管理处理程序P25基于重复信息列表T22、T32 的管理范围,对各存储节点20、30分割请求(S53)。即,对于每个存 储节点,在各存储节点管理的范围中,将重复信息列表取得范围分割 为唯一ID的最小值和最大值的组、个别的唯一ID自身、和其组合。
然后,从主机10受理了请求的存储节点(受理节点20)对其他存 储节点30询问分割后的重复信息列表取得范围的重复信息列表(S54)。 由此,能够进行高效率的询问。受理节点20接收到重复信息列表时, 生成将各节点管理的重复信息列表合并得到的重复信息列表,对主机 10回复(S55)。
主机10从受理节点20取得重复信息列表(S56)。
图10是表示数据削减/发送处理(S16)的详情的流程图。
数据削减/发送处理(S16)应用于从主机10对存储节点20、30 传输的全部内容。
数据分割/重构处理程序P10取得传输的内容的内容管理表T11 (S61)。
接着,重复去除处理程序P11按照来自数据分割/重构处理程序P10 的指示,执行重复去除处理(S62)。重复去除处理程序P11从存储器 11取得应用重复去除处理的块(段)的信息,对各块执行重复去除处 理。
具体而言,重复去除处理程序P11按固定长度分割、可变长度分 割、或者文件单位的分割对数据进行分割,计算Fingerprint(Hash等), 使用二进制比较或者Fingerprint与二进制比较的组合等,执行重复判 定。在决定进行特定块的重复去除的情况下,重复去除处理程序P11 删除应用重复去除的块。进而,重复去除处理程序P11将去除的数据 的重新配置后偏移量的值保存在保存目标压缩单位内偏移量栏T64中, 用重复去除目标的参照信息对重复去除目标栏T65进行更新。
进而,重复去除处理程序P11对于内容管理表T11的条目的数据 块整体判定重复。重复去除处理程序P11也可以对于条目内的部分数 据判定重复。在对于部分数据判定重复的情况下,存在重复去除目标 栏T65的一个单元保存多个参照的情况。另外,保存目标压缩单位内 偏移量栏T64也表示删除后的数据的大小。另外,也可以在内容管理 表T11的重复去除目标的信息之外或代替它地,在删除的数据的开始 位置保存表示重复去除目标的指针。重复信息列表T12也可以按LRU 消去数据。
接着,压缩/解压缩处理程序P12按照来自数据分割/重构处理程序 P10的指示,执行压缩处理(S63)。具体而言,压缩/解压缩处理程序P12在重复去除后的内容中,决定压缩单位。例如,压缩/解压缩处理 程序P12将同一种类的连续的段决定为一个压缩单位。压缩/解压缩处 理程序P12从开头的压缩单位起附加连续编号,在内容管理表的压缩 单位编号栏T70和压缩前大小栏T73中保存值。
压缩/解压缩处理程序P12从存储器11取得决定应用压缩处理的块 (段)的信息。对包括应用压缩处理的块的压缩单位执行压缩处理。 压缩/解压缩处理程序P12也可以与段的种类相应地决定压缩算法。压 缩/解压缩处理程序P12在应用压缩后的数据比原始数据更大的情况 下,采用原始数据。
压缩/解压缩处理程序P12将关于各压缩单位的压缩处理的信息保 存在内容管理表T11中。具体而言,压缩/解压缩处理程序P12在压缩 应用后数据偏移量栏T71、应用压缩类型栏T72、压缩前大小栏T73、 和压缩后大小栏T74中保存各压缩单位的信息。
接着,主机10将该处理部分的数据与直到该处理部分的内容管理 表T11一同对分布式存储系统(存储节点20、30)发送(S65)。
接着,数据分割/重构处理程序P10判定是否残留有未分析数据 (S66)。在残留有未分析数据的情况下(S66中NO),数据分割/重构 处理程序P10从S61起反复处理。在全部数据的分析已结束的情况下 (S66中YES),生成存根文件,保存在存储器中(S67),结束数据削减/发送处理。
图11是表示分布式存储系统将接收到的数据还原的数据还原/保 存处理的详情的流程图。
分布式存储系统(存储节点20、30)的数据分割/重构处理程序P20 取得从主机10发送的内容管理表T11和数据(S70)。从主机10接收 的内容管理表T11作为内容管理表T21保存在存储器21中。
数据分割/重构处理程序P20判定分布式存储系统中的数据削减的 设定(S71)。结果,在没有进行削减数据的设定的情况下(S71中NO), 前进至步骤S72。另一方面,在进行了削减数据的设定的情况下(S71 中YES),前进至步骤S80。分布式存储系统中是否削减数据的设定, 预先由管理系统50设定。步骤S80至S83的数据削减处理在实施例2 中后述。
在步骤S72中,压缩/解压缩处理程序P22使用接收的内容管理表 T21,将接收的压缩数据解压缩(S72)。另外,数据分割/重构处理程 序P20使用接收的内容管理表T21从存储节点20、30取得重复数据, 将数据还原(S73)。此处,重复信息分布式管理处理程序P25将非重 复数据的唯一ID注册在重复信息列表T22中。
接着,数据分割/重构处理程序P20将还原得到的数据保存在分布 式存储系统中(S74)。
数据分割/重构处理程序P20反复步骤S70至S74的处理直到取得 该内容的全部数据。
图12是内容读取处理的流程图。
主机10在读取分布式存储系统中保存的内容的情况下,决定读取 内容的位置(S90)。具体而言,在主机10的存储设备12(或者存储器 11)中存储了要读取数据的情况下,将存储设备12(或者存储器11) 的该数据的保存位置决定为读取位置。另外,要读取的数据保存在分 布式存储系统中,在主机10中是存根文件的情况下,将存储节点20、 30的该数据的保存位置决定为读取位置。
然后,主机10对分布式存储请求取得要读取的数据(S91)。
从主机10接受了请求的存储节点20的数据分割/重构处理程序 P20,对内容信息分布式管理处理程序P26传输数据的取得请求。内容 信息分布式管理处理程序P26决定要读取的数据的保存位置,对保存 有要读取的数据的存储节点30请求数据(S92)。
从其他存储节点20接受了数据的请求的存储节点30,从存储设备 32读取数据,对请求源的存储节点20回复。存储节点20的数据分割/ 重构处理程序P20将从其他存储节点30接收的数据和从存储设备12 (或者存储器11)读取的数据合并,对主机10回复重构得到的数据 (S93)。
主机10从分布式存储系统接收重构得到的数据(S94),处理完成。
如以上所说明,第1实施例中,削减在主机10与分布式存储系统 (存储节点20、30)之间的通信路径中传输的数据的量,提高数据传 输性能。此时,从分布式存储系统发送用于在主机10中进行重复判定 的数据,将重复去除处理分流至主机10。由此,能够实现多个主机10 中的全局的重复去除。并且,即使主机10的数量增加也不在分布式存 储系统一方产生处理的瓶颈,能够实现高性能的重复去除。
另外,主机10计算表示要在分布式存储系统(存储节点20、30) 中写入的数据的内容的识别信息(唯一ID),对存储节点请求表示是否 已保存与计算出的唯一ID对应的数据的信息(重复信息列表T12)而 取得重复信息列表T12,使用取得的重复信息列表T12,对于要在存储 节点中写入的数据判定重复数据,将去除了重复数据的数据对存储节 点发送,请求写入该数据,且根据唯一ID的连续程度,使用个别的唯 一ID和唯一ID的范围中的某一者或两者对存储系统请求重复信息列 表T12,所以能够减轻主机10与分布式存储系统之间的路径上的负荷, 能够减轻分布式存储系统内的负荷。
另外,主机10在涉及请求的多个唯一ID连续的情况下,用连续 范围内的唯一ID的最小值和连续范围内的唯一ID的数量表达请求重 复信息列表T12的唯一ID,在涉及请求的多个唯一ID离散地接近的 情况下,用该范围内的唯一ID的最小值和相邻的唯一ID的差,表达 请求重复信息列表T12的唯一ID,所以能够减少用于请求重复信息列 表T12的唯一ID的数据量,减轻主机10与分布式存储系统之间的路 径上的负荷。
另外,主机10以用于表达唯一ID的数据量减小的方式,决定是 使用个别的唯一ID和唯一ID的范围中的某一者还是使用两者,所以 能够减少用于请求重复信息列表T12的唯一ID的数据量,减轻主机 10与分布式存储系统之间的路径上的负荷。
另外,受理节点20根据唯一ID的连续程度,使用个别的唯一ID 和唯一ID的范围中的某一者或两者对其他存储节点30请求重复信息 列表T21,所以能够减少用于请求重复信息列表T12的唯一ID的数据 量,降低分布式存储系统内的负荷。
<实施例2>
第1实施例中,仅在主机10与分布式存储之间的通信路径中削减 数据量,提高主机10与分布式存储之间的数据传输性能。第2实施例 中,不仅在主机10与分布式存储之间的通信路径中,也在主机10和 分布式存储整体中削减数据。另外,第2实施例中,仅说明与第1实 施例不同的结构和处理,省略相同的结构和处理的说明。
图13是表示第2实施例的计算机系统的逻辑结构的图。
第2实施例的计算机系统与第1实施例的计算机系统不同,在存 储节点20、30中实现内容处理信息表T13和重复去除处理程序P21、 P31。
数据分割/重构处理程序P20与重复信息分布式管理处理程序P25 和内容信息分布式管理处理程序P26协作地,根据从主机10传输的内 容管理表T11、或者内容信息分布式管理处理程序P26用内容管理表 T21、T31构成的内容信息,将内容的数据重构。另外,在从主机10 接受了重复信息列表取得请求的情况下,数据分割/重构处理程序P20 与重复信息分布式管理处理程序P25协作地,取得符合请求的重复信 息。
另外,数据分割/重构处理程序P20使用从主机10传输的内容管理 表T11进行重复判定,使用判定为非重复的数据的唯一ID去除重复数 据。
第2实施例中的处理与实施例1所示的图6至图12大致相同。于 是,仅对不同部分进行说明。
从主机10对分布式存储系统(存储节点20、30)传输数据的处理 (图6)中执行数据还原/保存处理(S18),但在第2实施例中不执行。 即,从主机10对分布式存储系统传输的数据被直接保存在存储节点 20、30中。
第2实施例中,由管理系统50进行了削减数据的设定,所以在图 11所示的数据还原/保存处理的步骤S71中判定为YES。数据分割/重 构处理程序P20判定内容管理表T11中是否存在尚未进行重复判定的 数据(S80)。在要处理的全部数据都进行了重复判定的情况下(S80 中NO),将该数据直接保存在分布式存储系统中。
另一方面,在要处理的数据中存在未进行重复判定的数据的情况 下,将要处理的数据解压缩之后(S81),执行重复去除处理(S82)和 压缩处理(S83)。存储节点20取得其他存储节点30管理的重复信息, 执行重复去除处理。此时,与上述第1实施例中的步骤S50至S52同 样地,根据唯一ID的范围的聚集程度,改变重复信息列表取得范围的 表达方式。之后,将数据保存在分布式存储系统中。
第2实施例中,在图12所示的内容读取处理中,步骤S92之后的 处理与第1实施例不同。
在步骤S92中,从主机10接受了请求的存储节点20的数据分割/ 重构处理程序P20对内容信息分布式管理处理程序P26传输数据的取 得请求。内容信息分布式管理处理程序P26参照内容管理表T21,决 定要读取的数据的保存位置,对保存有要读取的数据的存储节点30请 求数据(S92)。
从其他存储节点20接受了数据的请求的存储节点30,从存储设备 32读取数据,对请求源的存储节点20回复。存储节点20的数据分割/ 重构处理程序P20将从其他存储节点30接收的数据和从存储设备12 (或者存储器11)读取的数据合并,对主机10回复重构得到的数据 (S93)。
主机10从分布式存储系统接收重构得到的压缩数据,将接收的压 缩数据还原(S94),处理完成。
如以上所说明,第2实施例中,削减主机10与分布式存储系统(存 储节点20、30)之间的通信路径中传输的数据的量,进而削减存储节 点20、30中保存的数据的量。此时,从分布式存储系统发送用于在主 机10中进行重复判定的数据,将重复去除处理分流至主机10。由此, 能够实现多个主机10中的全局的重复去除。并且,即使主机10的数 量增加也不在分布式存储系统一方产生处理的瓶颈,能够实现高性能 的重复去除。
另外,存储节点20、30将由主机10请求写入的数据压缩保存在 存储设备22、32中,所以能够有效地利用存储设备22、32的容量。
另外,存储节点20、30对于由主机10请求写入的数据,判定与 某一个存储节点中已保存的数据相同内容的重复数据,将去除了重复 数据后的数据保存在存储设备22、32中,所以能够有效地利用存储设 备22、32的容量。特别是在主机10的数量多的系统中有效。
<实施例3>
第3实施例中,分布式存储系统对于从主机10不削减数据量地传 输的数据,使用内容处理信息表T13执行数据削减处理。另外,第3 实施例中,仅说明与第1实施例和第2实施例不同的结构和处理,省 略相同的结构和处理的说明。
第3实施例中,由存储节点20、30承担上述实施例中的主机10 的数据量削减功能。即,第2实施例的受理节点20进行与主机10相 同的动作,削减数据量,与其他存储节点30协作地工作。此时,与上 述第1实施例中的步骤S50至S52同样地,根据唯一ID的范围的聚集程度,改变重复信息列表取得范围的表达方式。
如以上所说明,第3实施例中,即使主机10不具有数据量削减功 能,也能够削减在构成分布式存储系统的节点之间传输的数据的量。
另外,受理节点20根据唯一ID的连续程度,使用个别的唯一ID 和唯一ID的范围中的某一者或两者对其他存储节点30请求重复信息 列表T32,所以能够减轻存储节点之间的负荷。
<实施例4>
第1实施例至第3实施例中,在经由网络连接、位于远离的场所 的节点之间全局地进行了重复去除和数据量削减。但是,该想法也能 够应用于搭载了多个闪存的存储系统。第4实施例中,仅说明与第1 实施例和第2实施例不同的结构和处理,省略相同的结构和处理的说 明。
图14是表示全闪存设备400的结构例的图。
全闪存设备400具有控制器150和多个闪存设备200、300。
控制器150将从外部输入的数据对闪存设备200、300传输,将从 闪存设备200、300读取的数据对外部传输。控制器150具有执行程序 的处理器(省略图示)、和保存程序和数据的存储器(省略图示)。控 制器150的存储器保存数据分割/重构处理程序P10、重复去除处理程 序P11和重复信息分布式管理处理程序P15。控制器150的存储器还保 存内容管理表T11。
闪存设备200的存储器21保存压缩/解压缩处理程序P22和重复信 息分布式管理处理程序P25。存储器21还保存重复信息列表T22。另 外,闪存设备300的结构与闪存设备200的结构相同,所以省略其说 明。
全闪存设备400中,在各闪存设备200、300之间,对重复信息列 表T22、T32进行分布式管理。控制器150的数据分割/重构处理程序 P10在接收一个或多个数据之后,计算各数据的唯一ID,将计算出的 各唯一ID按各闪存设备200、300管理的唯一ID的范围进行归纳,对 各闪存设备请求取得重复信息列表。各闪存设备200、300根据重复信 息列表T22、T32回复要求范围内的列表。数据分割/重构处理程序P10 对重复去除处理程序P11请求重复去除处理。重复去除处理程序P11 不将重复数据写入闪存设备200、300,而是改写内容管理表T11的重 复去除目标栏T65。重复去除处理程序P11将非重复数据的唯一ID注 册到负责的闪存设备200、300的重复信息列表T22、T32中,将数据 写入该闪存设备200、300的存储设备220、320。
重复信息分布式管理处理程序P15与闪存设备200、300的重复信 息分布式管理处理程序P25、P35协作地,管理闪存设备200、300的 重复信息列表T22、T32。
如以上所说明,第4实施例中,在搭载了多个闪存的存储装置中, 能够提高数据削减处理的效率。
另外,控制器150计算表示要在存储设备220、320中写入的数据 的内容的识别信息(唯一ID),对闪存设备200、300请求表示是否存 储了与计算出的唯一ID对应的数据的信息(重复信息列表T12)而取 得重复信息列表,使用取得的重复信息列表T12对于要在闪存设备中 写入的数据判定重复数据,将去除了重复数据后的数据对闪存设备发 送,请求写入该数据,且根据唯一ID的连续程度,使用个别的唯一ID 和唯一ID的范围中的某一者或两者对闪存设备请求重复信息列表 T12,所以能够减轻控制器150与闪存设备200、300之间的路径上的 负荷,能够减轻存储装置内的负荷。
另外,控制器150在涉及请求的多个唯一ID连续的情况下,用连 续范围内的唯一ID的最小值和连续范围内的唯一ID的数量表达请求 重复信息列表T12的唯一ID,在涉及请求的多个唯一ID离散地接近 的情况下,用该范围内的唯一ID的最小值和相邻的唯一ID的差表达 请求重复信息列表T12的唯一ID,所以能够减少用于请求重复信息列 表T12的唯一ID的数据量,减轻控制器150与闪存设备200、300之 间的路径上的负荷。
另外,控制器150以用于表达唯一ID的数据量减小的方式,决定 是使用个别的唯一ID和唯一ID的范围中的某一者还是使用两者,所 以能够减少请求重复信息列表T12的唯一ID的数据量,减轻控制器 150与闪存设备200、300之间的路径上的负荷。
另外,从控制器150受理了请求的闪存设备200根据唯一ID的连 续程度,使用个别的唯一ID和唯一ID的范围中的某一者或两者对其 他闪存设备300请求重复信息列表T32,所以能够减少用于请求重复信 息列表T12的唯一ID的数据量,减轻存储装置的负荷。
另外,闪存设备200、300将由控制器150请求写入的数据压缩保 存在存储设备220、320中,所以能够有效地利用存储设备220、320 的容量。
另外,闪存设备200、300对于由控制器150请求写入的数据,判 定与某一个存储节点中已保存的数据相同内容的重复数据,将去除了 重复数据后的数据保存在存储设备220、320中,所以能够有效地利用 存储设备220、320的容量。
另外,本发明不限定于上述实施例,包括附录的权利要求书的主 旨内的各种变形例和同等的结构。例如,上述实施例是为了易于理解 地说明本发明而详细说明的,本发明并不限定于必须具备说明的全部 结构。另外,可以将某个实施例的结构的一部分置换为其他实施例的 结构。另外,也可以在某个实施例的结构上添加其他实施例的结构。 另外,对于各实施例的结构的一部分,可以追加、删除、置换其他结 构。
另外,对于上述各结构、功能、处理部、处理单元等,例如可以 通过在集成电路中设计等而用硬件实现其一部分或全部,也可以通过 处理器解释并执行实现各功能的程序而用软件实现。
实现各功能的程序、表、文件等信息,能够保存在存储器、硬盘、 SSD(Solid StateDrive)等存储设备、或者IC卡、SD卡、DVD等记 录介质中。
另外,控制线和信息线示出了认为说明上必要的,并不一定示出 了实现上必要的全部控制线和信息线。实际上也可以认为几乎全部结 构都相互连接。

Claims (15)

1.一种具有重复数据去除功能的计算机系统,其特征在于,包括:
具有保存数据的存储设备的至少一个存储装置;和
对所述存储装置请求写入数据的计算机,
所述存储装置管理表示已保存的数据的内容的保存数据识别信息,
所述计算机,
计算表示要在所述存储装置中写入的数据的内容的识别信息,
对所述存储装置请求表示是否已保存与所述计算出的识别信息对应的数据的信息,取得表示是否已保存与该识别信息对应的数据的信息,
使用所述取得的信息,对于要在所述存储装置中写入的数据,判定与任一个所述存储装置中已保存的数据相同内容的重复数据,
对所述存储装置发送去除所述重复数据后的数据,请求写入该数据,
所述存储装置保存由所述计算机请求写入的数据,
所述计算机根据所述识别信息的连续程度,使用单个的所述识别信息和所述识别信息的范围中的一者、或单个的所述识别信息和所述识别信息的范围这两者,对所述存储装置请求表示是否已保存与所述识别信息对应的数据的信息。
2.如权利要求1所述的计算机系统,其特征在于:
所述计算机,
在涉及请求的多个所述识别信息连续的情况下,用连续范围内的识别信息的最小值和连续范围内的识别信息的数量表达请求所述信息的识别信息,
在涉及请求的多个所述识别信息离散地相接近的情况下,用该范围内的识别信息的最小值与相邻的识别信息之差表达请求所述信息的识别信息。
3.如权利要求1所述的计算机系统,其特征在于:
所述计算机决定是使用所述单个的识别信息和所述识别信息的范围中的一者还是使用所述单个的识别信息和所述识别信息的范围这两者,以使得用于表达所述识别信息的数据量减小。
4.如权利要求1所述的计算机系统,其特征在于:
所述至少一个存储装置包括第1存储装置和第2存储装置,
所述计算机对所述第1存储装置请求表示是否已保存与所述识别信息对应的数据的信息,
所述第1存储装置,
在本装置没有管理表示是否已保存与所述识别信息对应的数据的信息的情况下,对管理表示是否已保存与该识别信息对应的数据的信息的第2存储装置进行请求,取得表示是否已保存与该识别信息对应的数据的信息,
对所述计算机回复表示是否已保存与所述请求的识别信息对应的数据的信息,
所述第1存储装置根据所述识别信息的连续程度,使用单个的所述识别信息和所述识别信息的范围中的一者、或单个的所述识别信息和所述识别信息的范围这两者,对所述第2存储装置请求表示是否已保存与所述请求的识别信息对应的数据的信息。
5.如权利要求1所述的计算机系统,其特征在于:
所述存储装置将由所述计算机请求写入的数据压缩并将其保存到所述存储设备中。
6.如权利要求1所述的计算机系统,其特征在于:
所述存储装置,
对于由所述计算机请求写入的数据,判定与任一个所述存储装置中已保存的数据相同内容的重复数据,
将去除所述重复数据后的数据保存到所述存储设备中。
7.如权利要求6所述的计算机系统,其特征在于:
所述至少一个存储装置包括第1存储装置和第2存储装置,
所述第1存储装置,
计算表示由所述计算机请求写入的数据的内容的识别信息,
在本装置没有管理表示是否已保存与所述计算出的识别信息对应的数据的信息的情况下,对管理表示是否已保存与该识别信息对应的数据的信息的第2存储装置进行请求,取得表示是否已保存与该识别信息对应的数据的信息,
使用表示是否已保存与所述识别信息对应的数据的信息,对于要在所述存储装置中写入的数据,判定与所述存储装置中已保存的数据相同内容的重复数据,
将去除所述重复数据后的数据保存到所述存储设备中,
所述第1存储装置根据所述识别信息的连续程度,使用单个的所述识别信息和所述识别信息的范围中的一者、或单个的所述识别信息和所述识别信息的范围这两者,对所述第2存储装置请求表示是否已保存与所述请求的识别信息对应的数据的信息。
8.一种存储装置,其特征在于,包括:
保存数据的至少一个存储设备;和
管理对所述存储设备的数据输入输出的控制器,
所述存储装置与对所述存储装置请求写入数据的计算机连接,
所述控制器,
管理表示已保存的数据的内容的保存数据识别信息,
计算表示要在所述存储设备中写入的数据的内容的识别信息,
对所述存储设备请求表示是否已保存与所述计算出的识别信息对应的数据的信息,取得表示是否已保存与该识别信息对应的数据的信息,
使用所述取得的信息,对于要在所述存储设备中写入的数据,判定与任一个所述存储设备中已保存的数据相同内容的重复数据,
将去除所述重复数据后的数据发送到所述存储设备,并请求写入该数据,
所述存储设备保存由所述控制器请求写入的数据,
所述控制器根据所述计算出的识别信息的连续程度,使用单个的所述识别信息和所述识别信息的范围中的一者、或单个的所述识别信息和所述识别信息的范围这两者,对所述存储设备请求表示是否已保存与所述识别信息对应的数据的信息。
9.如权利要求8所述的存储装置,其特征在于:
所述控制器,
在涉及请求的多个所述识别信息连续的情况下,用连续范围内的识别信息的最小值和连续范围内的识别信息的数量表达请求所述信息的识别信息,
在涉及请求的多个所述识别信息离散地相接近的情况下,用该范围内的识别信息的最小值与相邻的识别信息之差表达请求所述信息的识别信息。
10.如权利要求8所述的存储装置,其特征在于:
所述控制器决定是使用所述单个的识别信息和所述识别信息的范围中的一者还是使用单个的所述识别信息和所述识别信息的范围这两者,以使得用于表达所述识别信息的数据量减小。
11.如权利要求8所述的存储装置,其特征在于:
所述至少一个存储设备包括第1存储设备和第2存储设备,
所述控制器对所述第1存储设备请求表示是否已保存与所述识别信息对应的数据的信息,
所述第1存储设备,
在本设备没有管理表示是否已保存与所述请求的识别信息对应的数据的信息的情况下,对管理表示是否已保存与该识别信息对应的数据的信息的第2存储设备进行请求,取得表示是否已保存与该识别信息对应的数据的信息,
对所述控制器回复表示是否已保存与所述请求的识别信息对应的数据的信息,
所述第1存储设备根据所述识别信息的连续程度,使用单个的所述识别信息和所述识别信息的范围中的一者、或单个的所述识别信息和所述识别信息的范围这两者,对所述第2存储设备请求表示是否已保存与所述请求的识别信息对应的数据的信息。
12.如权利要求8所述的存储装置,其特征在于:
所述存储设备将由所述控制器请求写入的数据压缩并保存。
13.如权利要求8所述的存储装置,其特征在于:
所述存储设备,
对于由所述控制器请求写入的数据,判定与任一个所述存储设备中已保存的数据相同内容的重复数据,
并保存去除所述重复数据后的数据。
14.如权利要求13所述的存储装置,其特征在于:
所述至少一个存储设备包括第1存储设备和第2存储设备,
所述第1存储设备,
计算表示由所述控制器请求写入的数据的内容的识别信息,
在本设备没有管理表示是否已保存与所述计算出的识别信息对应的数据的信息的情况下,对管理表示是否已保存与该识别信息对应的数据的信息的第2存储设备进行请求,取得表示是否已保存与该识别信息对应的数据的信息,
使用表示是否已保存与所述识别信息对应的数据的信息,对于要在所述存储设备中写入的数据,判定与所述存储设备中已保存的数据相同内容的重复数据,
将去除所述重复数据后的数据保存到任一个所述存储设备中。
15.一种具有重复数据去除功能的计算机系统中的数据的管理方法,其特征在于:
所述计算机系统包括具有保存数据的存储设备的至少一个存储装置、和对所述存储装置请求写入数据的计算机,
所述数据的管理方法中,
所述存储装置管理表示已保存的数据的内容的保存数据识别信息,
所述计算机计算表示要在所述存储装置中写入的数据的内容的识别信息,
所述计算机对所述存储装置请求表示是否已保存与所述计算出的识别信息对应的数据的信息,取得表示是否已保存与该识别信息对应的数据的信息,
所述计算机使用所述取得的信息,对于要在所述存储装置中写入的数据,判定与任一个所述存储装置中已保存的数据相同内容的重复数据,
所述计算机对所述存储装置发送去除所述重复数据后的数据,并请求写入该数据,
所述存储装置保存由所述计算机请求写入的数据,
在取得所述信息的步骤中,所述计算机根据所述计算出的识别信息的连续程度,使用单个的所述识别信息和所述识别信息的范围中的一者、或单个的所述识别信息和所述识别信息的范围这两者,对所述存储装置请求表示是否已保存与所述识别信息对应的数据的信息。
CN201580081933.0A 2015-09-11 2015-09-11 计算机系统、存储装置和数据的管理方法 Active CN107850983B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/075917 WO2017042978A1 (ja) 2015-09-11 2015-09-11 計算機システム、ストレージ装置、及びデータの管理方法

Publications (2)

Publication Number Publication Date
CN107850983A CN107850983A (zh) 2018-03-27
CN107850983B true CN107850983B (zh) 2020-11-03

Family

ID=58239311

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580081933.0A Active CN107850983B (zh) 2015-09-11 2015-09-11 计算机系统、存储装置和数据的管理方法

Country Status (3)

Country Link
US (1) US10606499B2 (zh)
CN (1) CN107850983B (zh)
WO (1) WO2017042978A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6674092B2 (ja) * 2016-02-10 2020-04-01 富士通株式会社 データ管理プログラム、データ管理装置、及びデータ管理方法
US10901942B2 (en) * 2016-03-01 2021-01-26 International Business Machines Corporation Offloading data to secondary storage
US10419557B2 (en) * 2016-03-21 2019-09-17 International Business Machines Corporation Identifying and managing redundant digital content transfers
JP6856870B2 (ja) * 2017-04-13 2021-04-14 富士通株式会社 分散データ管理プログラム、分散データ管理方法、及び分散データ管理装置
JP6360956B1 (ja) * 2017-11-01 2018-07-18 株式会社Osk データ取込システム
CN110557124B (zh) * 2018-05-30 2021-06-22 华为技术有限公司 一种数据压缩方法及装置
CN113448517B (zh) * 2021-06-04 2022-08-09 山东英信计算机技术有限公司 一种固态硬盘写大块数据处理方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103547991A (zh) * 2010-12-29 2014-01-29 亚马逊科技公司 数据系统中的接收器侧数据重复删除
CN103547329A (zh) * 2012-12-12 2014-01-29 华为技术有限公司 集群系统中数据处理方法及装置
CN103858125A (zh) * 2013-12-17 2014-06-11 华为技术有限公司 重复数据处理方法、装置及存储控制器和存储节点
CN104246722A (zh) * 2013-03-29 2014-12-24 株式会社东芝 用于基于哈希表排除数据重复的存储系统,存储控制器及方法
CN104541251A (zh) * 2012-06-13 2015-04-22 卡林戈公司 在存储群集中的擦除编码和复制

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5990810A (en) 1995-02-17 1999-11-23 Williams; Ross Neil Method for partitioning a block of data into subblocks and for storing and communcating such subblocks
US7590672B2 (en) * 2006-12-11 2009-09-15 Bycast Inc. Identification of fixed content objects in a distributed fixed content storage system
TWI476610B (zh) * 2008-04-29 2015-03-11 Maxiscale Inc 同級間冗餘檔案伺服器系統及方法
US7913114B2 (en) * 2008-07-31 2011-03-22 Quantum Corporation Repair of a corrupt data segment used by a de-duplication engine
US8626723B2 (en) * 2008-10-14 2014-01-07 Vmware, Inc. Storage-network de-duplication
CN101771715B (zh) * 2008-12-26 2014-04-16 华为技术有限公司 分布式网络构建存储的方法、装置和系统
JP5446985B2 (ja) * 2010-02-24 2014-03-19 日本電気株式会社 ストレージシステム
WO2013027230A1 (en) 2011-08-19 2013-02-28 Hitachi, Ltd. Storage apparatus and duplicate data detection method
US20130226888A1 (en) * 2012-02-28 2013-08-29 Netapp, Inc. Systems and methods for caching data files
US9152333B1 (en) * 2013-02-15 2015-10-06 Netapp, Inc. System and method for estimating storage savings from deduplication
KR102187127B1 (ko) * 2013-12-03 2020-12-04 삼성전자주식회사 데이터 연관정보를 이용한 중복제거 방법 및 시스템
US10585691B2 (en) * 2014-10-30 2020-03-10 Hitachi, Ltd. Distribution system, computer, and arrangement method for virtual machine
US10067969B2 (en) * 2015-05-29 2018-09-04 Nuodb, Inc. Table partitioning within distributed database systems
US10121019B2 (en) * 2015-06-02 2018-11-06 ALTR Solutions, Inc. Storing differentials of files in a distributed blockchain
EP3208714B1 (en) * 2015-12-31 2019-08-21 Huawei Technologies Co., Ltd. Data reconstruction method, apparatus and system in distributed storage system
US10353872B2 (en) * 2016-03-09 2019-07-16 Hiveio Inc. Method and apparatus for conversion of virtual machine formats utilizing deduplication metadata
US10146684B2 (en) * 2016-10-24 2018-12-04 Datrium, Inc. Distributed data parallel method for reclaiming space
US10416928B2 (en) * 2017-06-15 2019-09-17 Hitachi, Ltd. Data storage system and process for data compression of distributed data in a scalable cluster system and computer program for such data storage system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103547991A (zh) * 2010-12-29 2014-01-29 亚马逊科技公司 数据系统中的接收器侧数据重复删除
CN104541251A (zh) * 2012-06-13 2015-04-22 卡林戈公司 在存储群集中的擦除编码和复制
CN103547329A (zh) * 2012-12-12 2014-01-29 华为技术有限公司 集群系统中数据处理方法及装置
CN104246722A (zh) * 2013-03-29 2014-12-24 株式会社东芝 用于基于哈希表排除数据重复的存储系统,存储控制器及方法
CN103858125A (zh) * 2013-12-17 2014-06-11 华为技术有限公司 重复数据处理方法、装置及存储控制器和存储节点

Also Published As

Publication number Publication date
CN107850983A (zh) 2018-03-27
US10606499B2 (en) 2020-03-31
WO2017042978A1 (ja) 2017-03-16
US20180253251A1 (en) 2018-09-06

Similar Documents

Publication Publication Date Title
CN107850983B (zh) 计算机系统、存储装置和数据的管理方法
US20200150890A1 (en) Data Deduplication Method and Apparatus
US9298707B1 (en) Efficient data storage and retrieval for backup systems
US8683156B2 (en) Format-preserving deduplication of data
US10678435B2 (en) Deduplication and compression of data segments in a data storage system
US9405684B1 (en) System and method for cache management
CN103098035B (zh) 存储系统
US9864542B2 (en) Data deduplication using a solid state drive controller
EP3376393B1 (en) Data storage method and apparatus
US20180203637A1 (en) Storage control apparatus and storage control program medium
CN114201421B (zh) 一种数据流处理方法、存储控制节点及可读存储介质
US9766812B2 (en) Method and system for storing data in compliance with a compression handling instruction
US20160365874A1 (en) Storage control apparatus and non-transitory computer-readable storage medium storing computer program
WO2021012162A1 (zh) 存储系统数据压缩的方法、装置、设备及可读存储介质
CN112632008A (zh) 一种数据分片的传输方法、装置及计算机设备
US11327929B2 (en) Method and system for reduced data movement compression using in-storage computing and a customized file system
US20150278018A1 (en) Distributed storage system and method
US20180307437A1 (en) Backup control method and backup control device
US11593312B2 (en) File layer to block layer communication for selective data reduction
JP6262878B2 (ja) ストレージ装置
US10776052B2 (en) Information processing apparatus, data compressing method, and computer-readable recording medium
JP6733213B2 (ja) 制御装置、ストレージ装置、ストレージシステム、制御方法及びプログラム
CN111625186B (zh) 数据处理方法、装置、电子设备及存储介质
US11106384B2 (en) Storage management system and method
CN117827079A (zh) 压缩数据读取方法、写入方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant