存储系统的制作方法

文档序号:6596293阅读:218来源:国知局
专利名称:存储系统的制作方法
技术领域
本发明涉及一种存储系统,并且特别地涉及一种将数据分布和存储到多个存储设备中的存储系统。
背景技术
近年来,随着计算机的发展和变得流行,各种类型的信息被转换为数字数据。作为用于存储这种数字数据的设备,存在诸如磁带和磁盘的存储设备。由于要存储的数据已经日益增加并且其数量已经变得巨大,因此需要高容量存储系统。另外,需要在降低存储设备的成本的同时,保持可靠性。此外,要求以后能够容易地获取数据。结果是,希望存在这种存储系统,其能够自动地实现其存储容量和性能的提高,其不需要重复存储从而减少了存储成本,并且其具有高冗余度。在这种情况下,近年来,已经开发了如专利文献1中所示的内容地址存储系统。这一内容地址存储系统将数据分布和存储到多个存储设备中,并且基于与数据的内容相对应地指定的唯一内容地址来指定存储数据的存储位置。具体而言,内容地址存储系统将预定数据拆分为多个片段,向其添加作为冗余数据的片段,并且分别将该多个片段存储到多个存储设备中。之后,通过指定内容地址,可以获取数据,即存储在由该内容地址指定的存储位置中的片段,并且根据该多个片段恢复拆分之前的预定数据。进一步,生成内容地址以便唯一对应于数据的内容。因此,在存在重复数据的情况下,可以参考同一存储位置上的数据来得到具有同一内容的数据。从而,不必单独存储重复数据,而是可以省略重复记录并减小数据容量。另一方面,配备有多个存储设备的存储系统需要具有负载平衡的结构,以便不会对某些节点施加更多负载或增强的负载。这种负载平衡系统的一个示例是专利文献2中所描述的系统。将详细描述负载平衡存储系统。负载平衡存储系统具有在由于在数据存储时添加了冗余数据而出现错误的情况下能够自行执行数据恢复的自修复功能。另外,负载平衡存储系统具有分布式弹性数据功能,该功能在确定组成部分(component)位于什么节点中时通过自治地将每个节点的负载考虑为一个系统而进行分布。在这种存储系统中,首先,将要存储的数据拆分为细小的数据块。更细致地拆分每个数据块,向其添加多片冗余数据,并且将这些数据存储到构成该系统的多个节点中。属于存储系统的节点各自具有称为组成部分的数据存储区域,并且数据块存储在组成部分中。 另外,在该存储系统中,利用组成部分来执行负载平衡,并且利用组成部分来执行节点之间的数据交换。组成部分在相应节点中的定位由该系统自治地执行。在上述系统中,在节点由于节点故障而与系统分离的情况下,在其他节点上重新生成该节点的组成部分。[专利文献1]日本未审专利申请公开No.JP-A 2005-235171
[专利文献2]日本未审专利申请公开No.JP-A 2008-204206然而,如上所述,在存储系统具有通过自治地考虑每个节点的负载而进行分布的功能的情况下,在从节点故障恢复时对数据进行重新定位可能变得效率低下。将考虑图1 中示出的示例。首先,如图IA所示,节点A、B、C和D分别存储组成部分a、b、c和d。当在这一状态下节点A和B中发生了故障时,系统重新生成已经存在于节点A和B上的组成部分a和b,如图IB所示。在临时故障之后节点A和B再次参与系统(如图IC所示)的情况下,希望已经原始存在于节点A和B上的组成部分a和b分别返回到原始节点,但组成部分可能进入其他节点。在组成部分返回到原始节点的情况下,不执行数据的重新生成,这是因为节点保持原始数据。然而,在组成部分进入其他节点的情况下,需要分别重新生成数据。这需要在系统中进行数据重新生成处理。因此,可能执行不必要的数据重新生成或移动,并且在恢复时的数据重新定位变得效率低下,这可能增加系统的负担并导致处理延迟。

发明内容
因此,本发明的目的是提供一种能够提高数据恢复时的处理效率并防止系统负载和处理延迟的存储系统。为了实现该目的,本发明实施方式的存储系统包括多个存储装置和数据处理装置,该数据处理装置被配置为将数据存储到该多个存储装置中并获取存储在存储装置中的数据。该数据处理装置包括分布存储处理装置,配置为将多个片段数据分布并存储到该多个存储装置中,该片段数据包括通过将存储目标数据拆分为多片而获得的拆分数据以及用于恢复存储目标数据的冗余数据;数据位置监控装置,配置为监控相应存储装置中的片段数据的数据位置状态并存储代表数据位置状态的数据位置信息;以及数据恢复装置, 配置为当存储装置中的任何一个宕机时,基于存储在宕机的存储装置以外的存储装置中的片段数据来重新生成已经存储在宕机的存储装置中的片段数据并将其存储到其他存储装置中。数据处理装置还包括数据位置返回装置,配置为当宕机的存储装置复原时,通过使用存储在已经复原的存储装置中的片段数据来返回片段数据的数据位置,从而使得数据位置状态变为如数据位置监控装置所存储的数据位置信息所代表的。进一步,本发明另一实施方式的计算机程序是一种包括指令的计算机程序,该指令用于使配备有多个存储装置的信息处理设备实现数据处理装置,该数据处理装置被配置为将数据存储到该多个存储装置中并获取存储在存储装置中的数据,并且还实现分布存储处理装置,配置为将多个片段数据分布并存储到该多个存储装置中,该片段数据包括通过将存储目标数据拆分为多片而获得的拆分数据以及用于恢复存储目标数据的冗余数据; 数据位置监控装置,配置为监控相应存储装置中的片段数据的数据位置状态并存储代表数据位置状态的数据位置信息;数据恢复装置,配置为当存储装置中的任何一个宕机时,基于存储在宕机的存储装置以外的存储装置中的片段数据来重新生成已经存储在宕机的存储装置中的片段数据并将其存储到其他存储装置中;以及数据位置返回装置,配置为当宕机的存储装置复原时,通过使用存储在已经复原的存储装置中的片段数据来返回片段数据的数据位置,从而使得数据位置状态变为如数据位置监控装置所存储的数据位置信息所代表的。进一步,本发明另一实施方式的数据处理方法包括在配备有多个存储装置的信息处理设备中将数据存储到该多个存储装置中并获取存储在存储装置中的数据;将多个片段数据分布并存储到该多个存储装置中,该片段数据包括通过将存储目标数据拆分为多片而获得的拆分数据以及用于恢复存储目标数据的冗余数据;监控相应存储装置中的片段数据的数据位置状态并存储代表数据位置状态的数据位置信息;当存储装置中的任何一个宕机时,基于存储在宕机的存储装置以外的存储装置中的片段数据来重新生成已经存储在宕机的存储装置中的片段数据并将其存储到其他存储装置中;以及当宕机的存储装置复原时,通过使用存储在已经复原的存储装置中的片段数据来返回片段数据的数据位置,从而使得数据位置状态变为如已经存储的数据位置信息所代表的。利用上述配置,本发明能够实现高效和快速的数据恢复。


图1是示出根据本发明的存储系统的操作的视图;图2是示出本发明第一示例性实施方式中的整个系统的配置的框图;图3是示出图2中所公开的存储系统的示意性配置的框图;图4是示出图3中所公开的存储系统的配置的功能框图;图5是用于说明图4中所公开的存储系统的操作的说明性视图;图6是用于说明图4中所公开的存储系统的操作的说明性视图;图7A和图7B是分别示出获得并存储在图4中所公开的存储系统中的数据的一个示例的视图;图8A和图8B是分别示出图4中所公开的存储系统的操作的流程图;图9是示出图4中所公开的存储系统的操作的流程图;图10是示出图4中所公开的存储系统的操作的流程图;图IlA到图IlC是分别示出在图4中所公开的存储系统中的数据恢复的一个方面的视图;并且图12是示出本发明第二示例性实施方式中的存储系统的配置的功能框图。
具体实施例方式<第一示例性实施方式>将参考图2到图11描述本发明的第一示例性实施方式。图2是示出整个系统的配置的框图。图3是示意性地示出存储系统的框图,而图4是示出配置的功能框图。图5和图6是用于说明存储系统的操作的说明性视图。图7A和图7B是分别示出获得并存储在存储系统中的数据的一个示例的视图。图8A、图8B、图9和图10是分别示出由存储系统进行的操作的流程图。图IlA到图IlC是分别示出存储系统中的数据返回的一个方面的视图。这一示例性实施方式示出了在稍后描述的第二示例性实施方式中所公开的存储系统的特定示例。下面,将描述通过连接多个服务器计算机来配置存储系统的情况。然而, 本发明的存储系统不限于由多个计算机配置,而是可以由一个计算机配置。[配置]
如图2所示,本发明的存储系统10连接到备份系统11,该备份系统11经由网络N 控制备份过程。备份系统11获得存储在经由网络N连接的备份目标设备12中的备份目标数据(存储目标数据),并且请求存储系统10进行存储。从而,存储系统10存储请求作为备份而存储的备份目标数据。如图3所示,通过连接多个服务器计算机来配置这一示例性实施方式的存储系统 10。具体而言,存储系统10配备有加速器节点IOA和存储节点10B,该加速器节点IOA充当控制存储系统10的存储和再现操作的服务器计算机,该存储节点IOB充当配备有用于存储数据的存储设备的服务器计算机。加速器节点IOA的数目和存储节点IOB的数目不限于图 3中示出的那些,并且可以通过连接更多节点IOA和更多节点IOB来配置存储系统。另外,这一示例性实施方式的存储系统10是内容地址存储系统,该内容地址存储系统拆分数据并使得数据冗余,将数据分布和存储到多个存储设备中,并且通过根据数据的内容而指定的唯一内容地址来指定存储数据的存储位置。稍后将详细描述这一内容地址存储系统。在图4中,示出了存储系统10的配置。如该图所示,首先,构成存储系统10的加速器节点IOA配备有数据拆分和冗余数据提供单元21以及组成部分和节点信息监控单元 22,其通过将程序安装到其中包括的如CPU(中央处理单元)之类的多个算术设备中来配置。另外,加速器节点IOA在其中包括的存储设备内配备有映射表23和节点列表M。进一步,构成存储系统10的存储节点IOB配备有组成部分移动单元31以及数据移动和数据重新生成单元32,其通过将程序安装到其中包括的如CPU (中央处理单元)之类的多个算术设备中来配置。另外,存储节点IOB在其中包括的存储设备内配备有组成部分 33。下面,将详细描述相应配置。上述程序例如以存储在存储介质(诸如CD-ROM)中的状态被提供给加速器节点 IOA和存储节点10B。备选地,可以将程序存储在网络上的另一服务器计算机的存储设备中,并且经由网络将其从其他服务器计算机提供到加速器节点IOA和存储节点10B。进一步,加速器节点IOA和存储节点IOB所包括的配置并非必须限于图4中示出的配置。换言之,相应配置可以由任一节点包括。另外,相应配置可以由一个计算机包括。首先,数据拆分和冗余数据提供单元21将备份目标数据(存储目标数据)拆分为多个片段数据,以便分布和存储备份目标数据。这一处理的示例在图5和图6中示出。具体而言,首先,一旦接收到备份目标数据A(箭头Yl)的输入(如图5所示并且如图6中的箭头Y2所示),数据拆分和冗余数据提供单元21将备份目标数据A拆分为具有预定容量 (例如64KB)的数据块D。继而,数据拆分和冗余数据提供单元21基于数据块D的数据内容计算代表数据内容的唯一哈希值H(箭头Y; )。例如,通过预设的哈希函数根据数据块D 的数据内容来计算哈希值H。这一哈希值H用于避免具有同一内容的数据的重复记录,并且用于生成代表数据的存储位置的内容地址,但其详细说明将省略。进一步,数据拆分和冗余数据提供单元21将数据块D拆分为具有预定容量的多个片段数据。例如,数据拆分和冗余数据提供单元21将数据块D拆分为九个片段数据(拆分数据41),如图5中的符号Dl到D9所示。另外,数据拆分和冗余数据提供单元21生成冗余数据,从而使得即使当通过拆分获得的某些片段数据丢失时也能够恢复原始数据块,并且将其添加到通过拆分获得的片段数据41。例如,数据拆分和冗余数据提供单元21添加三个片段数据(冗余数据42),如符号DlO到D12所示。从而,数据拆分和冗余数据提供单元 21生成数据集40 (图6中的箭头Y4),该数据集40包括十二个片段数据,这十二个片段数据包括九个拆分数据41和三个冗余数据。继而,由稍后描述的相应存储节点IOB的组成部分移动单元31 (分布存储处理装置)经由交换机IOC分别将如上所述地生成的片段数据分布和存储到形成在相应存储节点 IOB中的组成部分33中。例如,在生成如图5所示的十二个片段数据Dl到D12的情况下, 将片段数据Dl到D12逐一存储到形成在十二个存储节点IOB中的充当数据存储区域的组成部分33中(参见图6中的箭头YO。上述分布存储处理可以通过包括在加速器节点IOA 中的功能来执行。当如上所述地存储了片段数据时,在存储节点IOB中生成代表片段数据Dl到D12 的存储位置的内容地址CA,即从片段数据Dl到D12恢复的数据块D的存储位置。此时,例如,通过将基于所存储的数据块D所计算的哈希值H的一部分(短哈希例如哈希值H的前 8B(字节))和代表逻辑存储位置的信息进行组合,来生成内容地址CA。继而,将这一内容地址CA返回到存储系统10内的、用于管理文件系统的加速器节点IOA(图6中的箭头Y6), 并且将诸如备份目标数据的文件名称之类的标识信息和内容地址CA彼此相关并且在文件系统中进行管理。从而,在接收到获取文件的请求后,存储系统可以指定由内容地址CA指定的、与所请求的文件相对应的存储位置,并且获取存储在这一指定的存储位置上的每个片段数据作为请求获取的数据。如上所述,存储系统具有获取和写入数据的功能(数据处理装置)。进一步,组成部分和节点信息监控单元22 (数据位置监控装置)利用存储片段数据的组成部分来管理存储在相应存储节点IOB中的片段数据。具体而言,正如稍后描述的那样,组成部分和节点信息监控单元22监控由存储节点IOB自治地执行的组成部分移动, 并且以预定时间间隔(每χ分钟)获取代表组成部分位置的组成部分位置信息。当组成部分位置信息指示处于稳定状态持续预设时间或更长时间(y分钟或更长时间)时,组成部分和节点信息监控单元22将包括彼此相关的存储节点名称和组成部分名称的组成部分位置信息存储到映射表23中。换言之,组成部分和节点信息监控单元22更新映射表23。进一步,组成部分和节点信息监控单元22监控正常地操作和参与存储系统的存储节点10B,并将代表其列表的节点信息存储为节点列表M (存储装置列表)。换言之,组成部分和节点信息监控单元22监控存储节点IOB是否宕机(例如,存储节点IOB正在停止或不参与系统),并且存储未宕机的存储节点IOB的列表。具体而言,组成部分和节点信息监控单元22以预定时间间隔(每χ分钟)执行对存储节点IOB的监控以及对组成部分位置的监控。作为监控的结果,在组成部分位置和存储节点列表保持稳定不变持续预定时间或更长时间(y分钟或更长时间)的情况下,组成部分和节点信息监控单元22分别将该状态下的组成部分位置信息和节点信息重新存储到映射表和节点列表中。另一方面,在作为监控的结果,虽然组成部分位置信息发生改变但是节点信息相对于节点列表没有改变的情况下,组成部分和节点信息监控单元22确定节点故障是临时的并且存储节点IOB已经恢复。在此情况下,组成部分和节点信息监控单元22向相应存储节点IOB给出返回组成部分位置的指令,从而使得存储在映射表23中的组成部分位置信息与实际位于存储节点IOB中的组成部分的位置相一致。组成部分和节点信息监控单元22用作数据位置返回装置,其与稍后描述的与存储节点IOB的组成部分移动单元31和数据移动和数据重新生成单元32进行协作。接下来,将描述存储节点IOB的配置。首先,存储节点IOB分别形成作为数据存储区域的单位的组成部分33,并且分别存储片段数据Dl到D12,如稍后所述。进一步,组成部分移动单元31具有与其他存储节点IOB协作地存储经由如上所述的交换机IOC传送的相应片段数据的功能,并且还具有平衡存储节点IOB之间的负载的功能。具体而言,负载平衡功能监控每个存储节点IOB的负载状况,并且例如在存储片段数据时以及在添加或删除存储节点IOB时,根据存储节点IOB之间的负载平衡来移动组成部分 33。组成部分移动单元31的负载平衡功能由每个存储节点IOB自治地执行。例如,当存储节点IOB由于故障等而宕机并被删除时,移动存储在宕机的存储节点IOB中的组成部分以便在其他存储节点IOB中生成。另外,例如,当新添加存储节点IOB或者存储节点IOB从故障恢复并被添加时,将存储在现有的存储节点IOB中的组成部分移动到所添加的存储节点 10B。继而,特别地,一旦接收到上述来自组成部分和节点信息监控单元22的返回组成部分位置的指令,组成部分移动单元31移动组成部分33从而使得组成部分的实际位置与存储在映射表23中的组成部分位置信息相一致。进一步,数据移动和数据重新生成单元32执行数据移动或数据重新生成,以便根据由上述组成部分移动单元31移动的组成部分来将数据存储到组成部分中。具体而言,首先,数据移动和数据重新生成单元32利用属于组成部分的数据,来检查该数据是否存在于组成部分要移动到的存储节点中。在数据存在的情况下,数据移动和数据重新生成单元32 将数据与由组成部分移动单元31所移动的组成部分相关。另一方面,在数据不存在于目的地存储节点中的情况下,数据移动和数据重新生成单元32随后检查数据是否存在于源存储节点中。此时,在数据存在于源存储节点中的情况下,数据移动和数据重新生成单元32 将数据从源存储节点移动到目的地存储节点。另一方面,在数据既不存在于目的地存储节点中、也不存在于源存储节点中的情况下,数据移动和数据重新生成单元32根据冗余数据重新生成该数据。如上所述,组成部分移动单元31和数据移动和数据重新生成单元32与组成部分和节点信息监控单元22协作,用作用于将存储在已删除的存储节点IOB中的数据恢复到另一存储节点IOB中的数据恢复装置,以及还用作用于返回已经复原的存储节点IOB中的数据位置的数据位置返回装置。[操作]接下来,将参考图8、图9和图12的流程图来描述如上所述地配置的存储系统的操作。首先,加速器节点IOA的数据拆分和冗余数据提供单元21将存储目标数据拆分为任意多片数据,并且向其添加多个冗余数据,从而形成多个片段数据(图8A中的步骤Si)。 继而,相应存储节点IOB的组成部分移动单元31经由交换机IOC移动组成部分,并将片段数据存储到相应存储节点IOB中,以便分布相应存储节点IOB的负载(图8B中的步骤S2)。 例如,如图IlA所示,分别存储数据a、b、c和d的组成部分a、b、c和d位于存储节点A、B、 C和D中。通过负载平衡来进行的这一组成部分移动处理不断地在存储节点IOB之间自治地执行。随后,将参考图9描述加速器IOA的组成部分和节点信息监控单元22的操作。首先,在系统的初始状态中,组成部分和节点信息监控单元22以规则的间隔(每χ分钟)获得组成部分位置信息(步骤Sll)。此时,在组成部分位置信息稳定持续y分钟或更长时间 (在步骤S12处为“是”)的情况下,组成部分和节点信息监控单元22将此时的位置信息存储到映射表23中,并且还将节点信息记录到节点列表M中(步骤S13)。继而,加速器节点 IOA仍然以规则的间隔(每χ分钟)监控组成部分位置信息(步骤S14)。假定存储节点IOB由于存储节点IOB的故障等而宕机。换言之,假定正在被监控的组成部分位置信息和节点信息相对于映射表23和节点列表M发生改变(在步骤S15处为“是”并且在步骤S16处为“是”)。作为特定示例,假定存储节点A和B宕机,如图IlB所示。继而,通过负载平衡处理,存储在存储节点A和B中的组成部分a和b分别移动到存储节点C和D。也就是说,组成部分a和c位于存储节点C中,组成部分b和d位于存储节点 D中。通过使用存储在其他存储节点中的其他组成部分,来分别重新生成从存储节点A和B 移动到存储节点C和D的组成部分a和b。稍后将参考图10描述该重新生成。继而,在存储节点保持宕机,并且同时正在被监控的组成部分位置信息和节点信息相对于映射表23和节点列表M保持改变(在步骤S15处为“是”并且在步骤S16处为 “是”)、保持稳定持续y分钟或更长时间(在步骤S18处为“是”)的情况下,组成部分和节点信息监控单元22将该状态下的组成部分位置信息和节点信息重新存储到映射表和节点列表中(步骤S13)。另一方面,在组成部分位置信息如上所述地由于存储节点故障等而改变(在步骤 S15处为“是”),并且负载平衡如图IlB所示自治地执行但存储节点故障为临时的并且存储节点在y分钟内复原的情况下,节点信息不发生改变(在步骤S16处为“否”)。在此情况下,不存储已改变的组成部分位置信息。例如,在节点A和B进入图IlB中示出的状态并且此后立即复原的情况下,图IlA中示出的状态的组成部分位置信息存储在映射表中。在此情况下,参考映射表,将组成部分位置返回给存储在映射表中的位置。因此,如图IlC所示, 存储节点A、B、C和D中的组成部分a、b、c和d的位置返回到如图IlA所示的状态,其为故障发生之前的状态。根据组成部分移动而对存储在组成部分中的数据进行移动以及数据的重新生成由存储节点IOB执行,如图10所示。首先,存储节点IOB利用属于组成部分的数据来检查该数据是否存在于组成部分要移动到的存储节点中(步骤S21)。此时,在组成部分存在(在步骤S21处为“是”)的情况下,存储节点IOB将数据与已移动的组成部分相关(步骤S22)。 上述从图IlB的状态恢复到图IlC的状态由步骤S22的处理执行。从而,由于可以通过使用存储在已恢复的存储节点中的片段数据来返回数据位置,因此可以防止重新生成和移动不必要的数据。结果是,在存储节点恢复时可以实现高效和快速的数据恢复。另一方面,在与已移动的组成部分相对应的数据不存在于目的地存储节点中(在步骤S21处为“否”)的情况下,存储节点IOB接下来检查该数据是否存在于源存储节点中 (步骤S2!3)。继而,在数据存在于源存储节点中的情况下,存储节点IOB将数据从源存储节点移动到目的地存储节点(步骤S24)。另外,在数据既不存在于组成部分目的地存储节点中也不存在于源存储节点中的
11情况下,根据冗余数据重新生成该数据。执行这一处理以便在任何存储节点宕机时将存储在该存储节点中的组成部分移动到另一存储节点,如图IlB所示。<第二示例性实施方式>将参考图12描述本发明的第二示例性实施方式。图12是示出存储系统的配置的功能框图。在这一示例性实施方式中,将描述存储系统的基本配置和操作。如图12所示,这一示例性实施方式的存储系统包括多个存储装置7和数据处理装置2,该数据处理装置2被配置为将数据存储到该多个存储装置7中并获取存储在存储装置中的数据。继而,数据处理装置2包括分布存储处理装置3,配置为将多个片段数据分布并存储到该多个存储装置中,其中该片段数据包括通过将存储目标数据拆分为多片而获得的拆分数据以及用于恢复存储目标数据的冗余数据;数据位置监控装置4,配置为监控相应存储装置中的片段数据的数据位置状态并存储代表数据位置状态的数据位置信息;以及数据恢复装置5,配置为当存储装置中的任何一个宕机时,基于存储在宕机的存储装置以外的存储装置中的片段数据,来重新生成已经存储在宕机的存储装置中的片段数据并将其存储到其他存储装置中。另外,这一示例性实施方式的存储系统还包括数据位置返回装置6,配置为当宕机的存储装置复原时,通过使用存储在已经复原的存储装置中的片段数据来返回片段数据的数据位置,从而使得数据位置状态变为如数据位置监控装置所存储的数据位置信息所代表的。根据本发明,首先,存储系统将存储目标数据拆分为多个拆分数据,生成用于恢复存储目标数据的冗余数据,并且将包括拆分数据和冗余数据的多个片段数据分布和存储到多个存储装置中。继而,存储系统监控相应片段数据的数据位置状态,并且存储代表数据位置状态的数据位置信息。进一步,当存储装置由于发生故障而宕机时,存储系统基于其他片段数据来重新生成已经存储在宕机的存储装置中的片段数据,并将其存储到其他存储装置中。继而,当宕机的存储装置复原时,存储系统使用存储在已经复原的存储装置中的片段数据并返回数据位置,从而使得数据位置状态变为如数据位置信息所代表的。因此,在存储装置临时宕机继而复原的情况下,可以通过使用所存储的片段数据来返回数据位置,因此可以防止重新生成和移动不必要的数据。相应地,在存储装置复原时可以实现高效和快速的数据恢复。进一步,在存储系统中数据位置监控装置被配置为利用作为存储装置内的数据存储单位的组成部分来监控片段数据的数据位置状态;数据恢复装置被配置为在其他存储装置中重新生成宕机的存储装置的组成部分;并且数据位置返回装置被配置为基于数据位置信息返回组成部分在存储装置中的数据位置并返回片段数据的数据位置。进一步,在存储系统中,数据位置返回装置被配置为向已经复原的存储装置返回组成部分,并且通过将存储在已经复原的存储装置中的片段数据与组成部分相关来返回片段数据的数据位置。进一步,在存储系统中,数据位置返回装置被配置为在要基于数据位置信息而存储在返回给已经复原的存储装置的组成部分中的片段数据在该已经复原的存储装置中不存在的情况下,通过从其他存储装置移动由数据恢复装置重新生成的片段数据来返回片段数据的数据位置。进一步,在存储系统中数据位置监控装置被配置为在正在被监控的数据位置状态保持稳定持续预定时间或更长时间的情况下,存储代表数据位置状态的数据位置信息; 并且数据位置返回装置被配置为当由数据位置监控装置监控的数据位置状态相对于数据位置信息改变并且宕机的存储装置复原时,返回片段数据的数据位置。进一步,在存储系统中数据位置监控装置被配置为监控存储装置的操作状态,并且存储数据位置信息以及还存储示出工作的存储装置的存储装置列表;并且数据位置返回装置被配置为当由数据位置监控装置监控的数据位置状态相对于数据位置信息改变并且工作的存储装置符合存储装置列表时,返回片段数据的数据位置。进一步,可以通过将程序安装在信息处理设备中来实现上述存储系统。具体而言,本发明另一示例性实施方式的计算机程序包括如下指令,所述指令用于使配备有多个存储装置的信息处理设备实现数据处理装置,该数据处理装置被配置为将数据存储到该多个存储装置中并获取存储在存储装置中的数据,并且还实现分布存储处理装置,配置为将多个片段数据分布并存储到该多个存储装置中,其中该片段数据包括通过将存储目标数据拆分为多片而获得的拆分数据以及用于恢复存储目标数据的冗余数据; 数据位置监控装置,配置为监控相应存储装置中的片段数据的数据位置状态并存储代表数据位置状态的数据位置信息;数据恢复装置,配置为当存储装置中的任何一个宕机时,基于存储在宕机的存储装置以外的存储装置中的片段数据,来重新生成已经存储在宕机的存储装置中的片段数据,并将其存储到其他存储装置中;以及数据位置返回装置,配置为当宕机的存储装置复原时,通过使用存储在已经复原的存储装置中的片段数据来返回片段数据的数据位置,从而使得数据位置状态变为如数据位置监控装置所存储的数据位置信息所代表的。继而,在该计算机程序中,数据位置监控装置被配置为利用作为存储装置内的数据存储单位的组成部分来监控片段数据的数据位置状态;数据恢复装置被配置为在其他存储装置中重新生成宕机的存储装置的组成部分;并且数据位置返回装置被配置为基于数据位置信息返回组成部分在存储装置中的数据位置,并返回片段数据的数据位置。上述程序例如以存储在存储介质(诸如CD-ROM)中的状态被提供给信息处理设备。或者,可以将程序存储在网络上的另一服务器计算机的存储设备中并且经由网络将其从其他服务器计算机提供到信息处理设备。进一步,一种在具有上述配置的存储系统中执行的数据处理方法包括将数据存储到多个存储装置中并获取存储在存储装置中的数据;将多个片段数据分布并存储到该多个存储装置中,其中该片段数据包括通过将存储目标数据拆分为多片而获得的拆分数据以及用于恢复存储目标数据的冗余数据;监控相应存储装置中的片段数据的数据位置状态并存储代表数据位置状态的数据位置信息;当存储装置中的任何一个宕机时,基于存储在宕机的存储装置以外的存储装置中的片段数据,来重新生成已经存储在宕机的存储装置中的片段数据并将其存储到其他存储装置中;以及当宕机的存储装置复原时,通过使用存储在已经复原的存储装置中的片段数据来返回片段数据的数据位置,从而使得数据位置状态变为如已经存储的数据位置信息所代表的。
继而,该数据处理方法包括当监控数据位置状态时,利用作为存储装置内的数据存储单位的组成部分来监控片段数据的数据位置状态;当重新生成片段数据时,在其他存储装置中重新生成宕机的存储装置的组成部分;以及当返回数据位置时,基于数据位置信息返回组成部分在存储装置中的数据位置并返回片段数据的数据位置。具有上述配置的计算机程序和数据处理方法的发明具有与上述存储系统类似的动作,因此能够实现上述的本发明目的。虽然已经参考上述相应示例性实施方式而描述了本发明,但本发明不限于上述示例性实施方式。在本发明的范围内,可以用本领域技术人员能够理解的各种方式来变更本发明的配置和细节。本发明基于2009年2月17日提交的日本专利申请No. 2009-033438并要求其优先权权益,在此通过引用的方式包含其全部公开内容。工业实用性本发明可以用于通过连接多个计算机而配置的存储系统,并且具有工业实用性。参考标号的描述1 存储系统2 数据处理装置3 分布存储处理装置4 数据位置监控装置5 数据恢复装置6 数据位置返回单元7 存储装置10 存储系统IOA加速器节点IOB存储节点11 备份系统12 备份目标设备21 数据拆分和冗余数据提供单元22 组成部分和节点信息存储单元23 映射表24 节点列表31 组成部分移动单元32 数据移动和数据重新生成单元33 存储器
权利要求
1.一种存储系统,包括多个存储装置和数据处理装置,所述数据处理装置被配置为将数据存储到所述多个存储装置中并获取存储在所述存储装置中的数据,其中所述数据处理装置包括分布存储处理装置,配置为将多个片段数据分布并存储到所述多个存储装置中,其中所述片段数据包括通过将存储目标数据拆分为多片而获得的拆分数据以及用于恢复所述存储目标数据的冗余数据;数据位置监控装置,配置为监控相应存储装置中的片段数据的数据位置状态,并存储代表所述数据位置状态的数据位置信息;以及数据恢复装置,配置为当所述存储装置中的任何一个宕机时,基于存储在所述宕机的存储装置以外的存储装置中的片段数据,来重新生成已经存储在所述宕机的存储装置中的片段数据并将其存储到其他存储装置中;以及所述数据处理装置还包括数据位置返回装置,配置为当所述宕机的存储装置复原时, 通过使用存储在已经复原的存储装置中的所述片段数据来返回所述片段数据的数据位置, 从而使得所述数据位置状态变为如所述数据位置监控装置所存储的数据位置信息所代表的。
2.根据权利要求1所述的存储系统,其中所述数据位置监控装置被配置为利用作为所述存储装置内的数据存储单位的组成部分来监控所述片段数据的数据位置状态;所述数据恢复装置被配置为在其他存储装置中重新生成所述宕机的存储装置的所述组成部分;并且所述数据位置返回装置被配置为基于所述数据位置信息返回所述组成部分在所述存储装置中的数据位置并返回所述片段数据的数据位置。
3.根据权利要求2所述的存储系统,其中所述数据位置返回装置被配置为向已经复原的所述存储装置返回所述组成部分,并且通过将存储在所述已经复原的存储装置中的片段数据与所述组成部分相关,来返回所述片段数据的数据位置。
4.根据权利要求3所述的存储系统,其中所述数据位置返回装置被配置为在要基于所述数据位置信息而存储在返回给所述已经复原的存储装置的组成部分中的所述片段数据在所述已经复原的存储装置中不存在的情况下,通过从所述其他存储装置移动由所述数据恢复装置重新生成的片段数据来返回所述片段数据的数据位置。
5.根据权利要求1到4中任一项所述的存储系统,其中所述数据位置监控装置被配置为在正在被监控的数据位置状态保持稳定持续预定时间或更长时间的情况下,存储代表所述数据位置状态的数据位置信息;并且所述数据位置返回装置被配置为当由所述数据位置监控装置监控的所述数据位置状态相对于所述数据位置信息改变并且所述宕机的存储装置复原时,返回所述片段数据的数据位置。
6.根据权利要求5所述的存储系统,其中所述数据位置监控装置被配置为监控所述存储装置的操作状态,并且存储所述数据位置信息,以及还存储示出工作的存储装置的存储装置列表;并且所述数据位置返回装置被配置为当由所述数据位置监控装置监控的数据位置状态相对于所述数据位置信息改变并且所述工作的存储装置符合所述存储装置列表时,返回所述片段数据的数据位置。
7.一种包括指令的计算机程序,所述指令用于使配备有多个存储装置的信息处理设备实现数据处理装置,所述数据处理装置被配置为将数据存储到所述多个存储装置中,并获取存储在所述存储装置中的数据,并且还使得所述信息处理设备实现分布存储处理装置,配置为将多个片段数据分布并存储到所述多个存储装置中,其中所述片段数据包括通过将存储目标数据拆分为多片而获得的拆分数据以及用于恢复所述存储目标数据的冗余数据;数据位置监控装置,配置为监控相应存储装置中的片段数据的数据位置状态,并存储代表所述数据位置状态的数据位置信息;数据恢复装置,配置为当所述存储装置中的任何一个宕机时,基于存储在所述宕机的存储装置以外的存储装置中的片段数据,来重新生成已经存储在所述宕机的存储装置中的片段数据并将其存储到其他存储装置中;以及数据位置返回装置,配置为当所述宕机的存储装置复原时,通过使用存储在已经复原的存储装置中的所述片段数据来返回所述片段数据的数据位置,从而使得所述数据位置状态变为如所述数据位置监控装置所存储的数据位置信息所代表的。
8.根据权利要求7所述的计算机程序,其中所述数据位置监控装置被配置为利用作为所述存储装置内的数据存储单位的组成部分来监控所述片段数据的数据位置状态;所述数据恢复装置被配置为在其他存储装置中重新生成所述宕机的存储装置的所述组成部分;并且所述数据位置返回装置被配置为基于所述数据位置信息返回所述组成部分在所述存储装置中的数据位置并返回所述片段数据的数据位置。
9.一种数据处理方法,包括在配备有多个存储装置的信息处理设备中执行如下操作 将数据存储到所述多个存储装置中并获取存储在所述存储装置中的数据;将多个片段数据分布并存储到所述多个存储装置中,其中所述片段数据包括通过将存储目标数据拆分为多片而获得的拆分数据以及用于恢复所述存储目标数据的冗余数据;监控相应存储装置中的片段数据的数据位置状态并存储代表所述数据位置状态的数据位置信息;当所述存储装置中的任何一个宕机时,基于存储在所述宕机的存储装置以外的存储装置中的片段数据来重新生成已经存储在所述宕机的存储装置中的片段数据并将其存储到其他存储装置中;以及当所述宕机的存储装置复原时,通过使用存储在已经复原的存储装置中的所述片段数据来返回所述片段数据的数据位置,从而使得所述数据位置状态变为如已经存储的所述数据位置信息所代表的。
10.根据权利要求9所述的数据处理方法,包括当监控所述数据位置状态时,利用作为所述存储装置内的数据存储单位的组成部分来监控所述片段数据的数据位置状态;当重新生成所述片段数据时,在其他存储装置中重新生成所述宕机的存储装置的所述组成部分;以及当返回所述数据位置时,基于所述数据位置信息返回所述组成部分在所述存储装置中的数据位置并返回所述片段数据的数据位置。
全文摘要
一种存储系统,包括分布式存储处理装置,配置为将多个片段数据以分布方式存储到多个存储装置中;数据放置监控装置,配置为监控片段数据的数据放置状态并存储代表数据放置状态的数据放置信息;以及数据重构装置,配置为当存储装置宕机时,基于存储在另一存储装置中的片段数据来重新生成存储在宕机的存储装置中的片段数据。所述存储系统还包括数据放置返回装置,配置为当宕机的存储装置恢复时,通过使用存储在已经恢复的存储装置中的片段数据来恢复片段数据的数据放置,从而使得数据放置状态变为如由数据放置监控装置所存储的数据放置信息所代表的。
文档编号G06F12/00GK102308273SQ200980156409
公开日2012年1月4日 申请日期2009年8月20日 优先权日2009年2月17日
发明者德竹弘行, 野田贤治 申请人:Nec软件中部公司, 日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1