CN102792259B - 排除重复存储的存储装置 - Google Patents

排除重复存储的存储装置 Download PDF

Info

Publication number
CN102792259B
CN102792259B CN201080065161.9A CN201080065161A CN102792259B CN 102792259 B CN102792259 B CN 102792259B CN 201080065161 A CN201080065161 A CN 201080065161A CN 102792259 B CN102792259 B CN 102792259B
Authority
CN
China
Prior art keywords
data
segmentation
storage
buffer
reception
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
CN201080065161.9A
Other languages
English (en)
Other versions
CN102792259A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of CN102792259A publication Critical patent/CN102792259A/zh
Application granted granted Critical
Publication of CN102792259B publication Critical patent/CN102792259B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/0626Reducing size or complexity of 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/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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

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

一种存储装置101包括:多个分割处理部120,每一个配置成对应于待写入数据的特性,用于依据先前设置的准则分割数据;以及数据写入部117,用于将通过分割处理部的分割获得的分割数据写入存储装置。存储装置还包括:接收缓冲器111,用于接收待写入数据以及暂时存储为接收数据;分割处理选择部113,用于检测由接收缓冲器存储的接收数据的特性以及选择配置成对应于接收数据的检测特性的分割处理部;以及数据发送部114,用于将接收缓冲器存储的接收数据发送到由分割处理选择部选择的分割处理部。

Description

排除重复存储的存储装置
技术领域
本发明涉及一种存储装置,更具体而言涉及一种排除同一内容的数据的重复存储的存储装置。
背景技术
近年来,随着计算机的开发和普及,各种信息被数字化。作为用于存储这种数字数据的装置,存在诸如磁带和磁盘的存储装置。由于待存储数据的数量日益增大并且达到庞大的数量,因此需要一种大容量存储系统。另外,除了存储装置耗费的成本的削减之外,还要求可靠性。此外,还要求数据稍后可以容易地检索。结果,期望一种存储系统,该存储系统可以自动地实现存储容量和性能的增大,排除重复存储以减小存储成本并且具有高冗余性。
在这种情况下,近年来如专利文献1中所示,已经开发出一种内容可寻址的存储系统。内容可寻址的存储系统将数据分布和存储在多个存储装置中,并且通过依据数据的内容指定的独特内容地址,指定数据被存储的存储位置。具体而言,内容可寻址的存储系统将预定数据分割为多个碎片并且作为冗余数据添加碎片,以及随后将这些碎片分别存储到多个存储装置中。
接着在数据检索时,通过指明内容地址则有可能检索数据,即,存储在由内容地址指定的存储位置的碎片并且从碎片复原分割前的预定数据。
另外,使用例如独特的依据数据内容生成的数据的哈希值(hash value)作为内容地址。因此,对于重复数据的情形,通过参照在同一存储位置的数据,有可能取得同一内容的数据。因此,不需要分开存储重复数据,并且有可能排除重复记录以及减小数据容量。
[专利文献1]日本未审专利申请公开号2005-235171
为了执行如上所述待存储数据的重复的排除,一系列流数据通过预定数据长度的单元被分割。此时,一系列流数据通常在缓冲一次之后被分割,并且因此,统一配置用于执行缓冲处理的模块和用于执行分割处理的模块是有必要的。
流数据具有各种特性,并且如上所述依据数据的特性执行缓冲处理和分割处理是有效地。因此,期望通过所述多种数据特性,开发用于依据相应数据特性执行上述的缓冲处理和分割处理的统一模块。
然而,对于将如上所述用于执行缓冲处理和分割处理的统一模块应用到缓冲处理规模大的文件系统的情形,已经难以通过流数据特性的数目进行开发。也就是说,存在这样的问题,通过依据每个数据特性开发用于执行缓冲处理和分割处理的统一模块,开发成本增大。
发明内容
相应地,本发明的目的是解决“存储装置中开发成本增大”的上述问题。
为了实现上述目的,根据本发明示例性实施例的存储装置包括:
多个分割处理部,每个分割处理部配置成对应于待写入数据的特性,用于依据先前设置的准则分割数据;以及
数据写入部,其用于将通过分割处理部的分割获得的分割数据写入存储装置,
该存储装置还包括:
接收缓冲器,其用于接收待写入数据以及暂时存储为接收数据;
分割处理选择部,其用于检测由接收缓冲器存储的接收数据的特性,以及选择被配置成对应于接收数据的检测特性的分割处理部;以及
数据发送部,其用于将接收缓冲器存储的接收数据发送到由分 割处理选择部选择的分割处理部。
另外,根据本发明另一示例性实施例的计算机程序为一种程序,用于致使包括用于接收待写入数据以及暂时存储为接收数据的接收缓冲器的信息处理装置实现:
多个分割处理部,每个分割处理部配置成对应于待写入数据的特性,用于依据先前设置的准则分割数据;
数据写入部,其用于将通过分割处理部的分割获得的分割数据写入存储装置;
分割处理选择部,其用于检测由接收缓冲器存储的接收数据的特性,以及选择配置成对应于接收数据的检测特性的分割处理部;以及
数据发送部,其用于将接收缓冲器存储的接收数据发送到由分割处理选择部选择的分割处理部。
另外,根据本发明另一示例性实施例的数据存储方法,包括:
接收待写入数据以及暂时作为接收数据存储到接收缓冲器中;
检测由接收缓冲器存储的接收数据的特性,以及从多个分割处理部选择配置成对应于接收数据的检测特性的分割处理部,每个分割处理部配置成对应于待写入数据的特性,用于依据先前设置的准则分割数据;
将接收缓冲器中存储的接收数据发送到选择的分割处理部;
通过分割处理部来分割发送的数据;以及
将通过分割处理部的分割获得的分割数据写入存储装置。
利用上述配置,本发明可以实现高效的数据存储,同时限制存储装置中的开发成本。
附图说明
图1为示出在本发明第一示例性实施例中包括存储系统的整个系统的配置的框图;
图2为示出在本发明第一示例性实施例中的存储系统的配置的 概图的框图;
图3为示出在本发明第一示例性实施例中的存储系统的配置的功能框图;
图4为用于解释在图3中公开的存储系统中的数据存储处理的一方面的解释图;
图5为用于解释在图3中公开的存储系统中的数据存储处理的一方面的解释图;
图6为用于解释在图3中公开的存储系统中的数据分割处理的一方面的解释图;
图7为用于解释在图3中公开的存储系统中的数据分割处理的一方面的解释图;
图8为用于解释在图3中公开的存储系统中的数据分割处理的一方面的解释图;
图9为用于解释在图3中公开的存储系统中的数据分割处理的一方面的解释图;
图10为用于解释在图3中公开的存储系统中的数据分割处理的一方面的解释图;
图11为用于解释在图3中公开的存储系统中的数据分割处理的一方面的解释图;
图12为示出在图3中公开的存储系统中的数据分割处理的操作的流程图;
图13为示出补充注释1中存储系统的配置的功能框图;以及
图14为示出补充注释2中存储系统的配置的功能框图。
具体实施方式
<第一示例性实施例>
将参考图1至12说明本发明的第一示例性实施例。图1为示出整个系统的配置的框图。图2为示出存储系统的概图的框图,以及图3为示出存储系统的配置的功能框图。图4和5为用于解释存储 系统中数据存储处理的操作的解释图。图6至11为用于解释存储系统中数据分割处理的操作的解释图。图12为示出存储系统的操作的流程图。
此示例性实施例示出在稍后描述的补充注释中公开的存储装置等的特定示例。以下将描述通过连接多个服务器计算机配置存储系统的情形。然而,本发明中的存储系统不限于由多个计算机配置,而是可以由一个计算机配置。
[配置]
如图1所示,根据本发明的存储系统1经由网络N连接到控制备份处理的备份系统4。备份系统4获取存储在备份目标装置5(经由网络N连接)中将成为备份目标数据的流数据,并且请求存储系统1存储数据。因此,存储系统1将请求被存储的流数据存储为备份。存储系统1存储的数据可以是任何类型的数据。
如图2所示,在此示例性实施例中存储系统1采用其中多个服务器计算机被连接的配置。具体而言,存储系统1包括加速器节点2,该加速器节点2为控制存储系统1中的存储再现操作的服务器计算机;以及存储节点3,该存储节点3为配备有用于存储数据的存储装置的服务器计算机。加速器节点2的数目和存储节点3的数目不限于图2所示,并且该系统可以通过连接更多的节点2和更多的节点3来配置。
再者,在此示例性实施例中存储系统1为内容可寻址的存储系统,该存储系统分割数据并使得数据是冗余的以将数据分布和存储在多个存储装置中,并且通过依据待存储数据的内容设置的独特内容地址,指定数据被存储的存储位置。此内容可寻址的存储系统将在稍后详细描述。
下文中假设存储系统1为一个系统,将描述存储系统1的配置和功能。也就是说,下文描述的存储系统1的配置和功能可以被包括在加速器节点2或存储节点3中。存储系统1不一定限于配备有如图2所示的加速器节点2和存储节点3,并且可以具有任何配置。 例如,存储系统1可以由一个计算机配置。此外,存储系统1不限于内容可寻址的存储系统。
在图3中,示出在此示例性实施例中存储系统1的配置。如此图所示,存储系统1响应于来自备份系统4的请求而执行存储或检索文件A的处理。
存储系统1包括配置文件系统I/F(接口)10的接收缓冲器11、数据缓冲器12、模块选择部13、数据发送部14、结果接收部15、分割管理部16和数据写入部17。另外,存储系统1包括多个分割模块20,每个分割模块20包括数据接收部21、分割处理部22和结果发送部23。再者,存储系统1包括文件系统30,其作为用于存储数据的存储装置。
接收缓冲器11和数据缓冲器12形成于诸如闪存的存储装置上,并且文件系统30形成于诸如硬盘驱动器的存储装置上。通过将程序安装在存储系统1中安装的算术装置中来构造部件13至17以及部件20至23。也就是说,上述存储系统1中包括的部件是由诸如CPU(中央处理单元)的多个算术装置以及图2所示加速器节点2和存储节点3中包括的存储装置来构成。
如上所述,在此示例性实施例中存储系统1为内容可寻址的存储系统。因此,前述数据写入部17具有将数据存储到文件系统30中的功能,以及如下所述通过分割和分布数据并且通过内容地址指定存储位置来存储数据。在下文中参考图4和5说明在存储系统1中使用内容地址的数据存储处理。
首先,如图4和5的箭头Y1所示,当接收请求被写入的文件A的输入时,存储系统1将文件A分割为预定容量(例如64KB)的块数据D,如图4和5中箭头Y2所示。在此示例性实施例中,如下文所述,文件A为通过分割模块20的分割获得的“数据”部分或“标记”部分的集合,并且块数据D为通过分割模块20的分割获得的每个“数据”部分或每个“标记”部分。接着,基于分割的块数据D的数据内容,存储系统1计算代表数据内容(箭头Y3)的独特哈希值H。例如,根 据块数据D的数据内容通过使用先前设置的哈希函数,计算哈希值H。
随后,通过使用文件A的块数据D的哈希值H,存储系统1检查块数据D是否已经被存储。具体而言,首先,对于块数据D已经被存储的情形,其哈希值H以及代表其存储位置的内容地址CA已经在MFI(主碎片指数)文件中被关联和登记。因此,对于在MFI文件中存在有在存储之前计算的块数据D的哈希值H的情形,有可能判断同一内容的块数据D已经被存储(图5的箭头Y4)。这种情况下,存储系统1取得MFI中与哈希值H关联的内容地址CA,该哈希值H与来自MFI文件的块数据D被存储之前的哈希值H一致。接着,存储系统1将此内容地址CA返回作为请求被写入的块数据D的内容地址CA。因此,关联到此内容地址CA的已存储的数据被用作请求被写入的块数据D,并且不需要存储请求被写入的块数据D。
另外,对于判断请求被写入的块数据D未被存储的情形,存储系统1压缩块数据D,并且如图5中箭头Y5所示,将数据分割为预定容量的多个碎片数据。例如,存储系统1将数据分割为9件碎片数据(分割数据41),如图4中附图标记D1至D9所示。另外,存储系统1生成冗余数据,使得即使当某些分割碎片数据丢失时,有可能复原原始块数据,并且将冗余数据添加到分割碎片数据41。例如,存储系统1添加如图4中附图标记D10至D12所示的3件碎片数据(冗余数据42)。因此,生成包括12件碎片数据的数据集合40,所述12件碎片数据由9件分割数据41和3件冗余数据配置。
随后,存储系统1将如上所述生成的配置数据集合的碎片数据分别分布和存储到在存储装置上形成的存储区域。例如,对于如图4所示生成12件碎片数据D1至D12的情形,存储系统1将碎片数据D1至D12逐一分别存储到在多个存储装置中形成的数据存储文件中(参考图6中的箭头Y6)。
随后,存储系统1生成和管理内容地址CA,该内容地址CA代表如上所述存储的碎片数据D1至D12的存储位置,即,将从碎片 数据D1至D12复原的块数据D的存储位置。具体而言,存储系统1通过将基于存储的块数据D的内容计算的哈希值H的部分(短哈希:例如哈希值H的前8个B(字节))与代表逻辑存储位置的信息组合,生成内容地址CA。存储系统1随后将此内容地址CA返回到存储系统1中的文件系统(图5中箭头Y7)。存储系统1管理标识信息,诸如文件系统中彼此关联的备份目标数据的文件名称以及内容地址CA。
另外,每个存储节点3管理MFI文件中彼此关联的块数据D的内容地址CA以及块数据D的哈希值H。因而,内容地址CA与指定文件的信息、哈希值H等相关联地被存储在加速器节点2和存储节点3的存储装置中。
另外,存储系统1执行控制以检索如上所述存储的文件。例如,当指明特定文件的检索请求发送到存储系统1时,存储系统1首先指明内容地址CA,该内容地址CA由短哈希(对应于请求被检索的文件的哈希值的一部分)以及基于文件系统的逻辑位置信息构成。接着,存储系统1检查内容地址CA是否登记在MFI文件中。当内容地址CA未登记时,请求的数据未存储,使得存储系统1返回错误。
另一方面,当与检索请求有关的内容地址CA被登记时,存储系统1指定由内容地址CA指明的存储位置,并且检索在此指定存储位置中存储的每个碎片数据作为请求被检索的数据。此时,对于数据存储文件存储相应碎片并且数据存储文件其中之一的碎片数据的存储位置已知的情形,则有可能基于同一存储位置指定其它碎片数据的存储位置。
接着,存储系统1根据响应于检索请求检索的相应碎片数据复原块数据D。另外,存储系统1连接多个复原的块数据D,复原成类似文件A的一组数据,并且将其返回。
因而,在此示例性实施例中存储系统1排除数据重复,并且具有用于进一步提高数据存储效率的配置。将详细描述该配置。
首先,在此示例性实施例中的存储系统1包括如上所述的多个 分割模块20(分割处理部)。每个分割模块20包括:数据接收部21,其接收从文件系统I/F 10发送的数据;分割处理部22,其依据先前设置的准则分割接收的数据并且将结果发送到结果发送部23;以及结果发送部23,其将分割结果返回到文件系统I/F 10。
另外,每个分割模块20形成为适当的配置以用于依据数据的相应特性分割具有不同特性的待写入数据。例如,数据结构随着诸如媒体数据和文档数据的数据类型改变,并且相应分割模块20配置成能够依据数据结构实现适当的分割。
分割模块20的分割处理部22将数据分割成例如“数据”部分和“标记”部分,该“数据”部分是数据的真实数据部分并且其值不随生成时间、更新次数等而改变,该“标记”部分对应于“数据”部分并且其值由于诸如时间戳和序列号的时间和更新次数的差异而变化。结果发送部23随后将相应分割的数据返回到文件系统I/F 10。
因为上述“标记”部分依据诸如时间戳和序列号的时间和更新次数的差异而具有不同值,因此包括此部分的数据会阻止重复排除。也就是说,对具有同一内容但具有彼此不同的“标记”部分的数据无法执行重复排除。因此,如上所述通过将数据分割为“数据”部分和“标记”部分,在数据写入部17通过使用上述内容地址写入文件系统30时,有可能有效地排除“数据”部分的重复存储。
另一方面,为了如上所述将数据分割为“数据”部分和“标记”部分,从文件系统I/F 10发送的待写入数据需要包括彼此对应的“数据”部分和“标记”部分。因此,当存储系统1未接收部分数据时,无法分割数据。当无法分割数据时,结果发送部23将数据分割暂停请求返回到文件系统I/F 10。此时,如下文所述,无法被分割的数据被拷贝到数据缓冲器12。
上述分割方法为一个示例,并且通过分割模块20的分割方法不限于上述方法。也就是说,分割方法不一定限于如上所述将流数据分割为“数据”部分和“标记”部分。
接着,将详细描述文件系统I/F 10的配置。首先,接收缓冲器 11暂时保持文件系统I/F 10从备份系统4作为接收数据接收的待写入的预定数据长度的流数据。
另外,模块选择部13(分割处理选择部)检查诸如接收缓冲器11中存储的接收数据的数据类型的特性。此时,模块选择部13检测接收数据的特性是否为任何上述分割模块20对应的特性。当能够检测为某些数据特性时,模块选择部13选择配置成对应于该数据特性的分割模块20。
另外,数据发送部14将接收缓冲器11中存储的接收数据发送到如上所述模块选择部13选择的分割模块20。也就是说,数据发送部14将接收数据发送到对应于接收数据的特性的分割模块20。此时,数据发送部14还将如下文所述的数据缓冲器12中存储的数据(分割暂停数据)连同接收数据发送到选择为对应于接收数据的特性的分割模块20。然而,当数据缓冲器不保持分割暂停数据时,数据发送部14仅将接收缓冲器11中保持的接收数据发送到分割模块20。
另外,结果接收部15从分割模块20接收如上所述从分割模块20返回的分割结果,例如,分割模块20成功分割数据的事实、分割暂停请求以及无法被分割的数据。
接着,基于如上所述从分割模块20返回的结果,分割管理部16确定是否将数据写入文件系统30。此时,分割管理部16将可以被分割的分割数据发送到数据写入部17(数据写入部)。接着,数据写入部17实际上分割数据并将数据写入文件系统30(存储装置)。此时,如上所述,分割数据被进一步分割为碎片数据并且变为冗余的,并且随后分布和存储到多个存储装置中。
另一方面,对于返回分割暂停请求的情形,分割管理部16拷贝无法被分割的数据,从而暂时存储到数据缓冲器12中作为分割暂停数据。接着,如上所述,在数据缓冲器12中存储的分割暂停数据连同接收缓冲器11中存储的接收数据,由数据发送部14发送到分割模块20。
[操作]
接着,将参考图6至11以及图12的流程图说明如上所述的存储系统的操作。
首先,如图6的箭头Y1所示,文件系统I/F 10将接收的流数据存储到接收缓冲器中作为接收数据(步骤S1)。随后,模块选择部13检查接收缓冲器11中存储的接收数据的特性,并且选择对应于该特性的分割模块20(步骤S2)。
随后,数据发送部14将接收缓冲器11中存储的接收数据和在数据缓冲器12中存储的分割暂停数据发送到模块选择部13选择的分割模块20(步骤S3)。然而,因为在图6所示示例中数据缓冲器12是空的,数据发送部14仅将接收缓冲器11中存储的接收数据发送到选择的分割模块20,如箭头Y2所示。
随后,在分割模块20中,数据接收部21接收如上所述从文件系统I/F 10发送的数据,并且发送到分割处理部22。分割处理部22分割接收的数据,并且将结果发送到结果发送部23。当分割处理部22无法分割接收的数据时,分割处理部22发送分割暂停请求。接着,结果发送部23将已经接收的分割结果发送到文件系统I/F 10。此处,因为通过分割模块20接收的数据无法被分割,分割暂停请求被发送,如图7的箭头Y3所示。
在文件系统I/F 10中,结果接收部15从分割模块20接收分割结果(步骤S4),并且发送到分割管理部16。基于从分割模块20返回的结果,分割管理部16确定是否将数据写到文件系统30。例如,对于存在可以被分割的数据的情形(步骤S5:是),分割管理部16将数据发送到数据写入部17,并且数据写入部17分割接收的数据以及写入文件系统30(步骤S6)。另一方面,对于分割暂停数据存在(步骤S5:否,步骤S7:是)的情形,分割管理部16将数据拷贝到数据缓冲器12中(步骤S8)。此处,因为从分割模块20接收的数据无法被分割,如图7所示,分割管理部16将数据存储到数据缓冲器12中。
此后,如图8的箭头Y4所示,当接收下一个数据流时(步骤S9:否,步骤S1),按照与如上所述相同的方式,文件系统I/F 10将接收 的流数据存储到接收缓冲器中作为接收数据。随后,模块选择部13检查接收缓冲器11中存储的接收数据的特性,并且选择对应于该特性的分割模块20(步骤S2)。
随后,数据发送部14将接收缓冲器11中存储的接收数据以及在数据缓冲器12中存储的分割暂停数据发送到由模块选择部13选择的分割模块20(步骤S3)。此处,因为如图8所示分割暂停数据存储于数据缓冲器12,数据发送部14将接收缓冲器11中存储的接收数据以及在数据缓冲器12中存储的分割暂停数据发送到选择的分割模块20。
随后,在分割模块20中,数据接收部21接收如上所述从文件系统I/F 10发送的数据,也就是说,包括接收数据和分割暂停数据的数据,并且发送到分割处理部22。分割处理部22分割接收的数据并且将结果发送到结果发送部23。当分割处理部22无法分割数据时,分割处理部22发送分割暂停请求。接着,结果发送部23发送被接收到文件系统I/F 10的分割结果。此处,因为通过分割模块20接收的数据无法被分割,分割暂停请求被发送,如图9的箭头Y6所示。
在文件系统I/F 10中,结果接收部15从分割模块20接收分割结果(步骤S4)并且发送到分割管理部16。基于从分割模块20返回的结果,分割管理部16确定是否将数据写入文件系统30。此处,因为从分割模块20接收的数据无法被分割(步骤S5:否,步骤S7:是),分割管理部16将数据存储到数据缓冲器12中,如图9所示(步骤S8)。
此后,如图10的箭头Y7所示,当接收下一个数据流时(步骤S9:否,步骤S1),按照与如上所述相同的方式,文件系统I/F 10将接收的流数据存储到接收缓冲器中作为接收数据。随后,模块选择部13检查接收缓冲器11中存储的接收数据的特性,并且选择对应于该特性的分割模块20(步骤S2)。
随后,数据发送部14将接收缓冲器11中存储的接收数据和在数据缓冲器12中存储的分割暂停数据发送到模块选择部13选择的 分割模块20(步骤S3)。此处,如图10所示因为分割暂停数据存储于数据缓冲器12,数据发送部14将接收缓冲器11中存储的接收数据和在数据缓冲器12中存储的分割暂停数据发送到选择的分割模块20。
随后,在分割模块20中,数据接收部21接收如上所述从文件系统I/F 10发送的数据,并且发送到分割处理部22。分割处理部22分割接收的数据并且将结果发送到结果发送部23。当数据无法被分割时,分割处理部22发送分割暂停请求。接着,结果发送部23将已经接收的分割结果发送到文件系统I/F 10。此处,假设如图11的箭头Y9所示,通过分割模块20接收的数据包括可以被分割的数据以及无法被分割的数据。
在文件系统I/F 10中,结果接收部15从分割模块20接收分割结果(步骤S4)并且发送到分割管理部16。基于从分割模块20返回的结果,分割管理部16确定是否将数据写入文件系统30。此处,如图11所示,从分割模块20接收的数据中可以被分割的数据(步骤S5:否)被分割并且存储到文件系统30,如箭头Y10所示(步骤S6)。另一方面,从分割模块20接收的数据中无法被分割的数据(步骤S7:是)被存储到数据缓冲器12(步骤S8)。
因而,根据本发明,即使待写入数据具有不同特性,缓冲处理仍是共同的。因此,不需要开发执行对应于每个数据特性的缓冲处理的功能,并且有可能通过同一缓冲处理来分割具有不同特性的流数据。因此,有可能限制开发成本,同时实现存储装置中高效的数据存储,并且有可能减小成本。具体而言,通过采用一种配置,在对接收的数据无法执行分割处理时将数据保持到数据缓冲器,并且与下一次接收的数据一起再次对数据执行分割处理,则有可能通过同一缓冲处理而更高效地分割数据。
<补充注释>
如上所述公开的示例性实施例的全部或部分可以描述为以下补充注释。下文中将参考图13和14说明根据本发明的存储装置101 的配置的概图。另外,将描述根据本发明的程序和数据存储方法的配置。然而,本发明将不限于以下配置。
(补充注释1)
一种存储装置101,包括:
多个分割处理部120,每一个分割处理部配置成对应于待写入数据的特性,用于依据先前设置的准则分割数据;以及
数据写入部117,用于将通过分割处理部120的分割获得的分割数据写入存储装置130,
存储装置101还包括:
接收缓冲器111,其用于接收待写入数据以及暂时存储为接收数据;
分割处理选择部113,其用于检测由接收缓冲器111存储的接收数据的特性,以及选择被配置成对应于接收数据的检测特性的分割处理部120;以及
数据发送部114,其用于将接收缓冲器111存储的接收数据发送到由分割处理选择部113选择的分割处理部120。
(补充注释2)
根据补充注释1的存储装置101,包括数据缓冲器112,用于暂时将分割处理部120无法分割的数据存储为分割暂停数据,
其中数据发送部114配置成将数据缓冲器112存储的分割暂停数据以及接收缓冲器111存储的接收数据一起发送到分割处理选择部113选择的分割处理部120,以便对应于接收数据的特性。
(补充注释3)
根据补充注释2的存储装置,其中分割处理部配置成分割包括分割暂停数据和从数据发送部一起发送的接收数据的数据,并且作为分割处理部能够分割的结果的分割数据由数据写入部写入存储装置,并且作为分割处理部无法分割的结果的分割暂停数据被存储到数据缓冲器。
(补充注释4)
根据补充注释2或3的存储装置,其中数据发送部配置成,在将分割暂停数据存储到数据缓冲器之后,将接收缓冲器中存储的接收数据以及在数据缓冲器中存储的分割暂停数据一起发送到分割处理部。
(补充注释5)
根据补充注释1至4中任意一项的存储装置,其中分割处理部配置成将数据分割成依据先前设置的准则分类并且彼此对应的数据部分和标记部分。
(补充注释6)
一种计算机程序,用于致使包括用于接收待写入数据以及暂时存储为接收数据的接收缓冲器的信息处理装置实现:
多个分割处理部,每个分割处理部配置成对应于待写入数据的特性,用于依据先前设置的准则分割数据;
数据写入部,其用于将通过分割处理部的分割获得的分割数据写入存储装置;
分割处理选择部,其用于检测由接收缓冲器存储的接收数据的特性,以及选择配置成对应于接收数据的检测特性的分割处理部;以及
数据发送部,其用于将接收缓冲器存储的接收数据发送到由分割处理选择部选择的分割处理部。
(补充注释7)
根据补充注释6的计算机程序,其中数据发送部配置成将数据缓冲器中暂时存储的分割暂停数据以及接收缓冲器存储的接收数据一起发送到由分割处理选择部选择的分割处理部,以便对应于接收数据的特性,该分割暂停数据为分割处理部无法分割的数据。
(补充注释8)
一种数据存储方法,包括:
接收待写入数据以及暂时作为接收数据存储到接收缓冲器中;
检测由接收缓冲器存储的接收数据的特性,以及从多个分割处理 部选择配置成对应于接收数据的检测特性的分割处理部,每个分割处理部配置成对应于待写入数据的特性,用于依据先前设置的准则分割数据;
将接收缓冲器中存储的接收数据发送到选择的分割处理部;
通过分割处理部来分割发送的数据;以及
将通过分割处理部的分割获得的分割数据写入存储装置。
(补充注释9)
根据补充注释8的数据存储方法,包括:
将分割处理部无法分割的数据作为分割暂停数据暂时存储到数据缓冲器中;以及
当将接收数据发送到选择的分割处理部时,将在数据缓冲器中存储的分割暂停数据连同接收数据一起发送到选择的分割处理部,以便对应于接收数据的特性。
尽管本发明已经参考相应示例性实施例予以描述,但本发明不限于上述的示例性实施例。本发明的配置和细节可以按照本领域技术人员知晓的在本发明范围内的各种方式进行变更。
本发明是基于2010年3月4日提交的日本专利申请No.2010-47410并且主张其优先权利益,该专利申请的全部内容通过引用结合于此。
附图标记说明
1存储系统
2加速器节点
3存储节点
4备份系统
5备份目标装置
10文件系统I/F
11接收缓冲器
12数据缓冲器
13模块选择部
14数据发送部
15结果接收部
16分割管理部
17数据写入部
20分割模块
21数据接收部
22分割处理部
23结果发送部
30文件系统
101存储装置
111接收缓冲器
112数据缓冲器
113分割处理选择部
114数据发送部
117数据写入部
120分割处理部
130存储装置。

Claims (9)

1.一种存储装置,包括:
多个分割处理部,所述多个分割处理部包括配置成对应于待写入数据的特性并依据所述数据的内容将所述数据分割为第一部分和第二部分的分割处理部;以及
数据写入部,其用于将通过所述分割处理部的分割所获得的分割数据写入存储装置,
所述存储装置还包括:
接收缓冲器,其用于接收所述待写入数据以及将其作为接收数据暂时存储;
分割处理选择部,其用于检测由接收缓冲器存储的所述接收数据的特性,以及选择被配置成对应于所述接收数据的检测特性的分割处理部;以及
数据发送部,其用于将所述接收缓冲器存储的接收数据,发送到由所述分割处理选择部选择的分割处理部;和
其中所述分割处理部将所述数据分割成数据部分和标记部分,所述数据部分是所述数据的真实数据部分,所述标记部分的值是随着时间的差异和更新次数的差异而变化。
2.根据权利要求1所述的存储装置,包括数据缓冲器,其用于暂时将所述分割处理部无法分割的数据存储为分割暂停数据,
其中数据发送部配置成将所述数据缓冲器存储的分割暂停数据以及所述接收缓冲器存储的接收数据一起发送到所述分割处理选择部选择的分割处理部,以便对应于所述接收数据的特性。
3.根据权利要求2所述的存储装置,其中所述分割处理部配置成分割如下数据,该数据包括分割暂停数据和已从数据发送部一起发送的接收数据,并且作为所述分割处理部能够分割的结果的分割数据由所述数据写入部写入存储装置,并且作为所述分割处理部无法分割的结果的分割暂停数据被存储到数据缓冲器。
4.根据权利要求2所述的存储装置,其中所述数据发送部配置成,在将所述分割暂停数据存储到数据缓冲器之后,将所述接收缓冲器中存储的接收数据以及在所述数据缓冲器中存储的分割暂停数据一起发送到分割处理部。
5.根据权利要求1所述的存储装置,其中所述分割处理部配置成将所述数据分割成依据先前设置的准则分类并且彼此对应的数据部分和标记部分。
6.一种用于存储的设备,包括:
用于对应于待写入数据的特性并依据所述数据的内容将所述数据分割为第一部分和第二部分的装置;
用于将通过分割所获得的分割数据写入存储装置的装置;
用于检测由接收缓冲器存储的接收数据的特性,以及选择对应于所述接收数据的检测特性的用于分割的装置;以及
用于向所选择的所述用于分割的装置发送所述接收缓冲器存储的所述接收数据的装置;和
其中所述将所述数据分割为第一部分和第二部分的装置将所述数据分割成数据部分和标记部分,所述数据部分是所述数据的真实数据部分,所述标记部分的值是随着时间的差异和更新次数的差异而变化。
7.根据权利要求6所述的设备,其中所述用于向所选择的所述用于分割的装置发送所述接收缓冲器存储的所述接收数据的装置被配置成将数据缓冲器中暂时存储的分割暂停数据以及接收缓冲器存储的接收数据一起发送到所选择的所述用于分割的装置,以便对应于接收数据的特性,该分割暂停数据为所述用于分割的装置无法分割的数据。
8.一种数据存储方法,包括:
接收待写入数据以及将其作为接收数据暂时存储到接收缓冲器中;
检测由所述接收缓冲器存储的接收数据的特性,以及从多个分割处理部选择配置成对应于接收数据的检测特性的分割处理部,所述多个分割处理部包括配置成对应于待写入数据的特性且依据所述数据的内容将所述数据分割为第一部分和第二部分的分割处理部;
将接收缓冲器中存储的接收数据发送到选择的分割处理部;
通过所述分割处理部来分割发送的数据;以及
将通过所述分割处理部的分割获得的分割数据写入存储装置;和
其中所述分割处理部将所述数据分割成数据部分和标记部分,所述数据部分是所述数据的真实数据部分,所述标记部分的值是随着时间的差异和更新次数的差异而变化。
9.根据权利要求8所述的数据存储方法,包括:
将分割处理部无法分割的数据作为分割暂停数据暂时存储到数据缓冲器中;以及
当将接收数据发送到选择的分割处理部时,将在数据缓冲器中存储的分割暂停数据连同所述接收数据一起发送到选择的分割处理部,以便对应于接收数据的特性。
CN201080065161.9A 2010-03-04 2010-10-19 排除重复存储的存储装置 Active CN102792259B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010-047410 2010-03-04
JP2010047410 2010-03-04
PCT/JP2010/006172 WO2011108041A1 (ja) 2010-03-04 2010-10-19 ストレージ装置

Publications (2)

Publication Number Publication Date
CN102792259A CN102792259A (zh) 2012-11-21
CN102792259B true CN102792259B (zh) 2016-12-07

Family

ID=44541727

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080065161.9A Active CN102792259B (zh) 2010-03-04 2010-10-19 排除重复存储的存储装置

Country Status (5)

Country Link
US (1) US20120324203A1 (zh)
EP (1) EP2544084A4 (zh)
JP (1) JP5459388B2 (zh)
CN (1) CN102792259B (zh)
WO (1) WO2011108041A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9933978B2 (en) 2010-12-16 2018-04-03 International Business Machines Corporation Method and system for processing data
CN103473266A (zh) * 2013-08-09 2013-12-25 记忆科技(深圳)有限公司 固态硬盘及其删除重复数据的方法
CN104836632A (zh) * 2014-02-12 2015-08-12 鸿富锦精密工业(深圳)有限公司 网络数据传输管理方法及系统
CN113114526B (zh) * 2021-03-12 2022-09-30 广州技象科技有限公司 一种基于分包防干扰的数据传输方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101398783A (zh) * 2007-09-28 2009-04-01 株式会社日立制作所 存储装置以及数据重复排除方法
CN101788976A (zh) * 2010-02-10 2010-07-28 北京播思软件技术有限公司 一种基于内容的文件分割方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962710A (ja) * 1995-08-28 1997-03-07 B Ii Technol Kk ファイルアドレス制御装置
US6073218A (en) * 1996-12-23 2000-06-06 Lsi Logic Corp. Methods and apparatus for coordinating shared multiple raid controller access to common storage devices
US6567889B1 (en) * 1997-12-19 2003-05-20 Lsi Logic Corporation Apparatus and method to provide virtual solid state disk in cache memory in a storage controller
US7480909B2 (en) * 2002-02-25 2009-01-20 International Business Machines Corporation Method and apparatus for cooperative distributed task management in a storage subsystem with multiple controllers using cache locking
JP4238012B2 (ja) * 2002-08-05 2009-03-11 株式会社レクサー・リサーチ 機能オブジェクトデータ、機能オブジェクト表象システム、機能オブジェクト表象システムにおけるオブジェクトデータ送信側機器及びオブジェクトデータ受信側機器及び管理用機器
US7444389B2 (en) 2003-12-09 2008-10-28 Emc Corporation Methods and apparatus for generating a content address to indicate data units written to a storage system proximate in time
US20070214457A1 (en) * 2006-03-10 2007-09-13 Prabhakar Goyal System and method for automated recovery of data in a batch processing system
US7657705B2 (en) * 2006-09-27 2010-02-02 Lsi Corporation Method and apparatus of a RAID configuration module
DE102006051187A1 (de) * 2006-10-30 2008-05-08 Siemens Ag Verteilte Taskflow-Architektur
JP5137434B2 (ja) * 2007-03-28 2013-02-06 株式会社ソニー・コンピュータエンタテインメント データ処理装置、分散処理システム、データ処理方法、及びデータ処理プログラム
US8560981B2 (en) * 2007-12-07 2013-10-15 Mentor Graphics Corporation Segmenting integrated circuit layout design files using speculative parsing
US8352540B2 (en) * 2008-03-06 2013-01-08 International Business Machines Corporation Distinguishing data streams to enhance data storage efficiency
JP5320557B2 (ja) * 2008-03-25 2013-10-23 株式会社日立製作所 ストレージシステム
JP2010047410A (ja) 2008-08-25 2010-03-04 Hitachi Building Systems Co Ltd エレベータ
CA2810991C (en) * 2010-09-09 2016-06-21 Nec Corporation Storage system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101398783A (zh) * 2007-09-28 2009-04-01 株式会社日立制作所 存储装置以及数据重复排除方法
CN101788976A (zh) * 2010-02-10 2010-07-28 北京播思软件技术有限公司 一种基于内容的文件分割方法

Also Published As

Publication number Publication date
CN102792259A (zh) 2012-11-21
JPWO2011108041A1 (ja) 2013-06-20
WO2011108041A1 (ja) 2011-09-09
US20120324203A1 (en) 2012-12-20
EP2544084A4 (en) 2014-03-19
EP2544084A1 (en) 2013-01-09
JP5459388B2 (ja) 2014-04-02

Similar Documents

Publication Publication Date Title
CN103827723B (zh) 大规模存储系统
CN102282544B (zh) 存储系统
CN102317923B (zh) 存储系统
CN102469025B (zh) 多存储系统上的多路径交换
JP5158074B2 (ja) ストレージ管理プログラム、ストレージ管理方法、ストレージ管理装置およびストレージシステム
CN103238140B (zh) 基于去重复的存储系统中用于可扩展引用管理的系统和方法
JP4837445B2 (ja) 記憶システム並びに管理装置及び方法
US8225059B2 (en) Remote copy system and remote copy control method
US20160246677A1 (en) Virtual chunk service based data recovery in a distributed data storage system
US11860791B2 (en) Methods for managing input-output operations in zone translation layer architecture and devices thereof
CN109582213B (zh) 数据重构方法及装置、数据存储系统
CN102713824A (zh) 基于未来使用估计的分配存储器
CN110612511A (zh) 使用流选择性地向分配区域中存储数据
JP2006268398A (ja) 計算機システム、データ管理方法およびプログラム
CN110134338B (zh) 一种分布式存储系统及其数据冗余保护方法和相关设备
CN101986276B (zh) 文件存储方法、文件恢复方法、系统及服务器
CN102567215A (zh) 精简供应的空间分配
CN102792259B (zh) 排除重复存储的存储装置
CN102282545B (zh) 存储系统
CN102792281B (zh) 存储设备
US20090006501A1 (en) Zone Control Weights
CN110663034B (zh) 用于云环境中改进的数据复制的方法及其设备
JP2008027162A (ja) データ記録装置およびデータ記録プログラム
US20100077283A1 (en) Apparatus to manage data stability and methods of storing and recovering data
US20070280272A1 (en) Virtual volume transfer apparatus, virtual volume transfer method, and computer product

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant