数据流存储方法及装置的制作方法

文档序号:6400192阅读:232来源:国知局
专利名称:数据流存储方法及装置的制作方法
技术领域
本发明涉及数据处理技术,尤其涉及数据流存储方法及装置。
背景技术
随着全球信息化时代的到来,数据信息呈爆炸式增长,备份需求日益增加,同时,用户对备份性能的要求也愈发严格。磁盘备份方案因其优异的读写性能被应用于更多的备份场景中。但是,因为磁带介质拥有数据保存时间长、容量大以及成本低等方面原因,并不可能完全被磁盘所代替。基于这一背景,以磁盘为备份介质,同时又拥有良好兼容能力的虚拟磁带库(Virtual Tape Library, VTL)越来越受到关注,并广泛应用于备份、容灾系统当中。所述虚拟磁带库由若干个虚拟磁带构成。VTL以磁盘为备份介质,将磁盘划分成多个RAID组,RAID组又划分成多个逻辑单元号(Logical Unit Number, LUN),虚拟磁带直接创建在LUN上,对虚拟磁带的读写其实就是对虚拟磁带对应的LUN的读写。VTL中的多流并发读写是指对多盘虚拟磁带进行并发读写,也即是对所述多盘虚拟磁带对应的LUN的读写。当参与多流并发读写的虚拟磁带中有多盘虚拟磁带部署在同一LUN上,多流并发读写的性能很低。

发明内容
本发明实施例中提供了一种数据流存储方法及装置,能够提高VTL中多流并发读与的性能。第一方面,本发明实施例提供一种数据流存储方法,包括:虚拟磁带库接收备份服务器发送的备份数据流,对所述备份数据流进行解析,得到多个数据块;将所述多个数据块分别存储在所述虚拟磁带库的至少两个连接器中;根据预设的连接器与存储设备中的逻辑存储单元之间的对应关系,将每个连接器中存储的数据块存储至与所述连接器对应的逻辑存储单元中,所述连接器的数量小于或等于所述存储设备中的逻辑存储单元的数量。结合上述第一方面,在第一方面第一种可能的实现方式中,还包括:在所述虚拟磁带库中创建磁带,并记录所述磁带的元数据信息;将所述元数据信息发送给所述备份服务器,使得所述备份服务器根据所述元数据信息向所述虚拟磁带库发送备份数据流。结合上述第一方面,在第一方面第二种可能的实现方式中,当所述至少两个连接器的数量与所述存储设备中的逻辑存储单元的数量相同时,所述预设的连接器与存储设备中的逻辑存储单元之间的对应关系为一一对应的关系。结合上述第一方面,在第一方面第三种可能的实现方式中,当所述至少两个连接器的数量小于所述存储设备中的逻辑存储单元的数量时,每个存储设备中的逻辑存储单元对应I个连接器,每个连接器对应至少一个存储设备中的逻辑存储单元。结合上述第一方面,和/或第一方面第一种可能的实现方式,和/或第一方面第二种可能的实现方式,和/或第一方面第三种可能的实现方式,在第一方面第四种可能的实现方式中,将所述多个数据块分别存储在所述虚拟磁带库的至少两个连接器中包括:将所述多个数据块均匀的分配给所述至少两个连接器;将每个数据块存储在该数据块对应的连接器中。结合上述第一方面第四种可能的实现方式,在第一方面第五种可能的实现方式中,将每个数据块存储在该数据块对应的连接器中包括:对于备份数据流中的第一个数据块,将第一个数据块与备份数据流中磁带相关信息的存储地址封装后存储在第一个数据块对应的连接器中;对于该备份数据流中的第i个数据块,将所述第i个数据块与第i_l个数据块的存储地址封装后存储在第i个数据块对应的连接器中。结合上述第一方面第五种可能的实现方式,在第一方面第六种可能的实现方式中,,还包括:将所述磁带相关信息的存储地址和所述第一个数据块的存储地址存储在特定连接器中,以便根据磁带相关信息的存储地址,将特定连接器中的所述第一个数据块的存储地址存储至所述磁带相关信息中;将第1-1个数据块的存储地址和第i个数据块的存储地址存储在第i_l个数据块对应的连接器,以便根据第i_l个数据块的存储地址,将该连接器中第i_l个数据块的存储地址存储至所述第i_l个数据块中。第二方面,本发明实施例提供一种数据流存储装置,包括:接收单元,用于接收备份服务器发送的备份数据流;解析单元,用于对接收单元接收的所述备份数据流进行解析,得到多个数据块;第一存储单元,用于将解析单元解析得到的所述多个数据块分别存储在所述虚拟磁带库的至少两个连接器中;第二存储单元,用于根据预设的连接器与存储设备中的逻辑存储单元之间的对应关系,将每个连接器中存储的数据块存储至与所述连接器对应的逻辑存储单元中,所述连接器的数量小于或等于所述存储设备中的逻辑存储单元的数量。结合上述第二方面,在第二方面第一种可能的实现方式中,还包括:创建单元,用于在所述虚拟磁带库中创建磁带,并记录所述磁带的元数据信息;发送单元,用于将所述元数据信息发送给所述备份服务器,使得所述备份服务器根据所述元数据信息向所述虚拟磁带库发送备份数据流。结合上述第二方面,在第二方面第二种可能的实现方式中,当所述至少两个连接器的数量与所述存储设备中的逻辑存储单元的数量相同时,所述预设的连接器与存储设备中的逻辑存储单元之间的对应关系为一一对应的关系。结合上述第二方面,在第二方面第三种可能的实现方式中,当所述至少两个连接器的数量小于所述存储设备中的逻辑存储单元的数量时,每个存储设备中的逻辑存储单元对应I个连接器,每个连接器对应至少一个存储设备中的逻辑存储单元。结合上述第二方面,和/或第二方面第一种可能的实现方式,和/或第二方面第二种可能的实现方式,和/或第二方面第三种可能的实现方式,在第二方面第四种可能的实现方式中,第一存储单元包括:分配子单元,用于将所述多个数据块均匀的分配给所述至少两个连接器;存储子单元,用于将每个数据块存储在该数据块对应的连接器中。结合上述第二方面第四种可能的实现方式,在第二方面第五种可能的实现方式中,存储子单元具体用于:对于备份数据流中的磁带相关信息,将磁带相关信息发送至特定连接器中;对于备份数据流中的第一个数据块,将第一个数据块与所述磁带相关信息的存储地址封装后存储在第一个数据块对应的连接器中;对于该备份数据流中的第i个数据块,将所述第i个数据块与第i_l个数据块的存储地址封装后存储在第i个数据块对应的连接器中。结合上述第二方面第五种可能的实现方式,在第二方面第六种可能的实现方式中,存储子单元还用于:将所述磁带相关信息的存储地址和所述第一个数据块的存储地址存储在特定连接器中,以便根据磁带相关信息的存储地址,将特定连接器中的所述第一个数据块的存储地址存储至所述磁带相关信息中;将第1-1个数据块的存储地址和第i个数据块的存储地址存储在第i_l个数据块对应的连接器,以便根据第1-1个数据块的存储地址,将该连接器中第1-1个数据块的存储地址存储至所述第1-1个数据块中。本发明实施例中,虚拟磁带库接收备份服务器发送的备份数据流,按照预设的分块大小和类型对所述备份数据流进行解析,得到多个数据块;将所述多个数据块分别存储在所述虚拟磁带库的至少两个连接器中;根据预设的连接器与存储设备中的逻辑存储单元之间的对应关系,将每个连接器中存储的数据块存储至与所述连接器对应的逻辑存储单元中,所述连接器的数量小于或等于所述存储设备中的逻辑存储单元的数量。从而将备份数据流中的数据块分配给至少两个逻辑存储单元进行存储,实现了 VTL中逻辑存储单元的负载均衡,进而能够充分利用VTL中的存储资源,提高了 VTL中多流并发读写的性能。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1A为本发明实施例应用场景结构图;图1B为本发明备份数据流结构示意图;图2为本发明数据流存储方法第一实施例示意图;图3为本发明数据流存储方法第二实施例示意图;图4为本发明数据流存储方法示例图;图5为本发明数据流存储方法示例图;图6为本发明实施例数据流存储装置结构示意图7为本发明实施例VTL结构示意图。
具体实施例方式为了更好的对本发明实施例数据流存储方法及装置进行描述,首先对本发明实施例的应用场景进行说明。参见图1A,为本发明实施例数据流存储方法应用场景结构图,包括:备份服务器110以及VTL120 ;VTL120中包括:处理器1201、至少两个连接器1202以及存储设备1203 ;存储设备1203中包括与连接器对应的至少两个逻辑存储单元1204 ;其中,备份服务器110向VTL120发送备份数据流;VTL120接收所述备份数据流,由处理器将备份数据流划分为数据块后,将数据块分别存储至对应的连接器1202中,再由处理器1201将连接器1202中的数据块存储至存储设备1203中连接器对应的逻辑存储单元1204。其中,所述逻辑存储单元可以为LUN或者卷。以下,对备份数据流以及数据块进行说明。参见图1B所示,备份数据流中包括磁带相关信息、备份任务相关信息、以及备份数据,图1B中以备份数据为文件A为例;其中,磁带相关信息,用于标识当前虚拟磁带使用情况、使用者、日期、虚拟磁带地址等信息。磁带相关信息一般占用Ik的存储空间。通常情况下,还可以设置有备份软件标识。其中,所述虚拟磁带地址可以为SCSI地址。备份任务相关信息,包括备份软件标识、备份集的起始位置、数据描述等信息。备份任务相关信息一般占用Ik的存储空间。所述备份软件标识用于标识生成该备份数据流的备份软件,通过该备份软件标识,可以得到备份数据流中备份数据的切块方法,因此,备份软件标识也可以作为切块方式标识。所述切块方法也即是将备份数据块切分成多个数据块的方法。磁带相关信息与备份任务相关信息之间的fk,表示文件标记(filemark),是虚拟磁带中用于区分数据区间的标志,作用相当于磁盘分区的边界位置标记,不占用虚拟磁带容量,无数据,仅仅是一个标记。备份数据流中的备份数据被备份软件按照预设的数据块大小切分成多个数据块。不同的备份软件,所述数据块大小可能相同或不同。通常,数据块大小一般设置为64k,图1中以备份数据为文件A,数据块大小为64k为例。以下,结合附图详细说明本发明实施例数据流存储方法的实现。参见图2,为本发明实施例数据流存储方法第一实施例示意图,该方法适用于VTL ;该方法包括:步骤201 =VTL接收备份服务器发送的备份数据流,对所述备份数据流进行解析,得到多个数据块;步骤202 =VTL将所述多个数据块分别存储在所述虚拟磁带库的至少两个连接器中;步骤203 =VTL根据预设的连接器与存储设备中的逻辑存储单元之间的对应关系,将每个连接器中存储的数据块存储至与所述连接器对应的逻辑存储单元中,所述连接器的数量小于或等于所述存储设备中的逻辑存储单元的数量。
其中,当所述至少两个连接器的数量与所述存储设备中的逻辑存储单元的数量相同时,所述预设的连接器与存储设备中的逻辑存储单元之间的对应关系为一一对应的关系O或者,当所述至少两个连接器的数量小于所述存储设备中的逻辑存储单元的数量时,每个存储设备中的逻辑存储单元对应I个连接器,每个连接器对应至少一个存储设备中的逻辑存储单元。本实施例中,VTL将所述多个数据块分别存储在所述虚拟磁带库的至少两个连接器中,再根据预设的连接器与存储设备中的逻辑存储单元之间的对应关系,将每个连接器中存储的数据块存储至与所述连接器对应的逻辑存储单元中。从而实现了存储设备中各个逻辑存储单元的负载均衡,充分利用VTL中的存储资源,提高了 VTL中多流并发读写的性倉泛。参见图3,为本发明实施例备份数据流的存储方法第二实施例示意图,该方法包括:步骤301:VTL在所述VTL中创建虚拟磁带,并记录所述虚拟磁带的元数据信息;将所述元数据信息发送给所述备份服务器。其中,虚拟磁带的元数据信息包括:虚拟磁带的地址、大小、类型等信息。步骤302:所述备份服务器根据所述元数据信息向所述VTL发送备份数据流。步骤303 =VTL接收备份服务器发送的备份数据流,对所述备份数据流进行解析,得到多个数据块。优选地,所述VTL对所述备份数据流进行解析,得到多个数据块可以包括:从备份数据流中获取切块方式标识;确定所述切块方式标识对应的数据块大小;按照所述数据块大小解析出所述备份数据流中的数据块。其中,所述切块方式标识用于标识备份数据流中备份数据的切块方法。所述切块方式标识可以存储于备份数据流中的所述磁带相关信息中,或者存储于所述备份任务相关信息中。在实际应用中,也可以将所述备份软件标识作为切块方式标识。所述VTL中存储各个切块方式标识与数据块大小之间的对应关系,则可以根据备份数据流中的切块方式标识查找到切块方式标识对应的数据块大小,VTL根据该数据块大小即可以解析出所述备份数据流中的数据块。VTL具体如何按照所述数据块大小解析出所述备份数据流中的数据块这里不赘述。其中VTL解析出的数据块可以按照其在备份数据流中的位置顺序排序。步骤304 =VTL将所述多个数据块分别存储在所述VTL的至少两个连接器中。其中,所述VTL将所述多个数据块分别存储在所述VTL的至少两个连接器中包括:VTL将所述多个数据块均匀的分配给所述至少两个连接器;VTL将每个数据块存储在该数据块对应的连接器中。在一种可能的实现方式中,VTL将所述多个数据块均匀的分配给所述至少两个连接器可以包括:
将第η个连接器作为第一个数据块对应的连接器;11为自然数,且η小于等于连接器的总数;将第1-Ι个数据块对应的连接器的下一个连接器作为第i个数据块对应的连接器。其中,当某一数据块对应的连接器是最后一个连接器时,则该数据块的下一个数据块对应的连接器为第一个连接器,如此循环,从而实现将数据块均匀分配给各个连接器。这里,将第η个连接器作为所述第一个数据块对应的连接器;将第i_l个数据块的连接器的下一个连接器作为第i个数据块对应的连接器,从而VTL按照数据块的顺序以及连接器顺序,依次将各个数据块依次分配给各个连接器,实现了将数据块均匀分配给各个连接器的目的。所述将数据块均匀分配给各个连接器并不一定是绝对的均匀,一般的,只要近似均匀即可。以上连接器的分配方法仅为示例,并不对连接器的分配方法进行限制。优选地,所述VTL将每个数据块存储在该数据块对应的连接器中可以包括:对于备份数据流中的第一个数据块,将第一个数据块与备份数据流中磁带相关信息的存储地址封装后存储在第一个数据块对应的连接器中;对于该备份数据流中的第i个数据块,将所述第i个数据块与第i_l个数据块的存储地址封装后存储在第i个数据块对应的连接器中,i大于1,小于等于数据块的总个数。优选地,VTL将每个数据块存储在该数据块对应的连接器中还可以包括:将所述磁带相关信息的存储地址和所述第一个数据块的存储地址存储在特定连接器中,以便根据磁带相关信息的存储地址,将特定连接器中的所述第一个数据块的存储地址存储至所述磁带相关信息中;将第1-Ι个数据块的存储地址和第i个数据块的存储地址存储在第i_l个数据块对应的连接器,以便根据第1-ι个数据块的存储地址,将该连接器中第1-ι个数据块的存储地址存储至所述第1-Ι个数据块中步骤305 =VTL根据预设的连接器与存储设备中的逻辑存储单元之间的对应关系,将每个连接器中存储的数据块存储至与所述连接器对应的逻辑存储单元中,所述连接器的数量小于或等于所述存储设备中的逻辑存储单元的数量。以下,通过图4,对步骤304 步骤305中VTL将备份数据流中的数据块存储至连接器,进而从连接器存储至连接器对应的逻辑存储单元的过程进行更为详细的说明。步骤401:对于每一备份数据流,VTL获取备份数据流的磁带相关信息;将所述磁带相关信息发送至特定连接器。其中,所述特定连接器对应的特定逻辑存储单元例如LUN中预先存储VTL中所有虚拟磁带的元数据信息。在实际应用中,可以选择VTL中的任一个逻辑存储单元作为所述特定逻辑存储单元,该特定逻辑存储单元对应的连接器也即是所述特定连接器。步骤402 =VTL将特定连接器中的所述磁带相关信息存储在特定连接器对应的特定逻辑存储单元中,得到所述磁带相关信息的存储地址。本发明实施例中所称的存储地址为信息的物理存储地址。步骤403:对于该备份数据流中的第一个数据块,VTL对所述第一个数据块与所述磁带相关信息的存储地址进行封装处理,得到第一个封装数据块;将所述第一个封装数据块存储在所述第一个数据块对应的连接器中。其中,本发明实施例中对数据块和存储地址进行封装处理可以使用现有技术中的相关封装方法完成,这里并不限制,步骤404 =VTL将所述第一个封装数据块存储至第一个数据块对应的连接器所对应的逻辑存储单元中,得到第一个数据块的存储地址。步骤405 =VTL将磁带相关信息的存储地址和所述第一个数据块的存储地址存储至特定连接器,进而根据所述磁带相关信息的存储地址,将连接器中所述第一个数据块的存储地址存储至所述磁带相关信息中。步骤406:对于该备份数据流中的第i个数据块,VTL对所述第i个数据块与第1-ι个数据块的存储地址进行封装处理,得到第i个封装数据块;将所述第i个封装数据块存储至所述第i个数据块对应的连接器中。步骤407:VTL将所述第i个数据块对应的连接器中的第i个封装数据块存储至该连接器对应的逻辑存储单元中,得到第i个数据块的存储地址。步骤408:VTL将第i_l个数据块的存储地址以及第i个数据块的存储地址发送至第1-ι个数据块对应的连接器中,进而根据所述第1-ι个数据块的存储地址,将连接器中所述第i个数据块的存储地址存储至所述第1-ι个数据块中。本实施例中,VTL将所述多个数据块分别存储在所述虚拟磁带库的至少两个连接器中,再根据预设的连接器与存储设备中的逻辑存储单元之间的对应关系,将每个连接器中存储的数据块存储至与所述连接器对应的逻辑存储单元中。从而实现了存储设备中各个逻辑存储单元的负载均衡,充分利用VTL中的存储资源,提高了 VTL中多流并发读写的性倉泛。在一种可能的实现方式中,按照将数据块均匀分配给各个连接器的原则确定数据块对应的连接器;并且,将数据块的前一个数据块的存储地址与该数据块封装得到封装数据块;将封装数据块存储至该数据块对应的连接器,进而存储至该链接对应的逻辑存储单元,从而实现了逻辑存储单元的负载均衡,充分利用VTL中的存储资源,提高了 VTL中多流并发读写的性能。进一步的,各个封装数据块中均可以存储有前一个数据块和后一个数据块的存储地址,保证了备份数据流能够从各个逻辑存储单元中被正确的读取,并保证能够被准确的恢复。其中,在本发明实施例中,进行数据块与存储地址的封装时,还可以封装数据块的其他信息,如数据块大小等,这里并不限定。以下,对本发明实施例备份数据流的存储方法进行举例说明:参见图5所示,假设有4个备份数据流;为了区别各个备份数据流中的数据块,这里将备份数据流I中的数据块称为数据块A,对应的封装数据块为封装数据块A ;备份数据流2中的数据块称为数据块B,对应的封装数据块为封装数据块B ;备份数据流3中的数据块称为数据块C,对应的封装数据块为封装数据块C ;备份数据流4中的数据块称为数据块D,对应的封装数据块为封装数据块D ;假设VTL包括3个LUN,每个LUN设置有I个连接器,各个备份数据流中的第一个数据块的连接器为连接器1,第2个数据块的连接器为连接器2,第3个数据块的连接器为连接器3,依此类推。则如图5所示,LUNl的连接器中包括:数据块Al、数据块B1、数据块Cl、数据块Dl、数据块A4、数据块B4等等,其他LUN的连接器中的数据块请参见图5,这里不赘述。相应的,连接器中的数据块也将被发送至对应的LUN中存储。与上述方法相对应的,本发明实施例提供一种数据流存储装置,该装置可以设置于VTL中,参见图6所示,该装置600包括:接收单元610,用于接收备份服务器发送的备份数据流;解析单元620,用于对接收单元610接收的所述备份数据流进行解析,得到多个数据块;第一存储单元630,用于将解析单元620解析得到的所述多个数据块分别存储在所述虚拟磁带库的至少两个连接器中;第二存储单元640,用于根据预设的连接器与存储设备中的逻辑存储单元之间的对应关系,将每个连接器中存储的数据块存储至与所述连接器对应的逻辑存储单元中,所述连接器的数量小于或等于所述存储设备中的逻辑存储单元的数量。优选地,该装置600还可以包括:创建单元,用于在所述虚拟磁带库中创建磁带,并记录所述磁带的元数据信息;发送单元,用于将所述元数据信息发送给所述备份服务器,使得所述备份服务器根据所述元数据信息向所述虚拟磁带库发送备份数据流。在第一种可能的实现方式中,当所述至少两个连接器的数量与所述存储设备中的逻辑存储单元的数量相同时,所述预设的连接器与存储设备中的逻辑存储单元之间的对应关系为 对应的关系。在第二种可能的实现方式中,当所述至少两个连接器的数量小于所述存储设备中的逻辑存储单元的数量时,每个存储设备中的逻辑存储单元对应I个连接器,每个连接器对应至少一个存储设备中的逻辑存储单元。优选地,第一存储单元630可以包括:分配子单元,用于将所述多个数据块均匀的分配给所述至少两个连接器;存储子单元,用于将每个数据块存储在该数据块对应的连接器中。优选地,存储子单元具体可以用于:对于备份数据流中的磁带相关信息,将磁带相关信息发送至特定连接器中;对于备份数据流中的第一个数据块,将第一个数据块与所述磁带相关信息的存储位置封装后存储在第一个数据块对应的连接器中;对于该备份数据流中的第i个数据块,将所述第i个数据块与第i_l个数据块的存储位置封装后存储在第i个数据块对应的连接器中。优选地,存储子单元还可以用于:将所述磁带相关信息的存储地址和所述第一个数据块的存储地址存储在特定连接器,以便根据磁带相关信息的存储地址,将特定连接器中的所述第一个数据块的存储地址存储至所述磁带相关信息中;将第1-Ι个数据块的存储地址和第i个数据块的存储地址存储在第i_l个数据块对应的连接器,以便根据第1-ι个数据块的存储地址,将该连接器中第1-ι个数据块的存储地址存储至所述第1-Ι个数据块中。
本实施例中,VTL将所述多个数据块分别存储在所述虚拟磁带库的至少两个连接器中,再根据预设的连接器与存储设备中的逻辑存储单元之间的对应关系,将每个连接器中存储的数据块存储至与所述连接器对应的逻辑存储单元中。从而实现了存储设备中各个逻辑存储单元的负载均衡,充分利用VTL中的存储资源,提高了 VTL中多流并发读写的性倉泛。参见图7,为本发明实施例VTL结构示意图,VTL700包括:处理器710、存储器720、总线730、连接器740、存储设备750以及收发器760 ;存储设备750中包括至少两个逻辑存储单元770 (图7中未示出);处理器710、存储器720、连接器740、存储设备750以及收发器760通过总线730相互连接;总线730可以是ISA总线、PCI总线或EISA总线等。所述总线730可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。存储器720,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器720可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储设备750以及所述逻辑存储单元770,用于存储数据。收发器760用于与其他设备通信;收发器760用于:接收备份服务;器发送的备份数据流;处理器710执行所述程序代码,用于:对所述备份数据流进行解析,得到多个数据块;将所述多个数据块分别存储在至少两个所述连接器740中;根据预设的连接器740与存储设备750中的逻辑存储单元770之间的对应关系,将每个连接器740中存储的数据块存储至与所述连接器740对应的逻辑存储单元770中,所述连接器740的数量小于或等于所述存储设备中的逻辑存储单元770的数量。优选地,处理器710还可以用于:在所述虚拟磁带库中创建磁带,并记录所述磁带的元数据信息;所述收发器760还可以用于:将所述元数据信息发送给所述备份服务器,使得所述备份服务器根据所述元数据信息向所述虚拟磁带库发送备份数据流。优选地,当所述至少两个连接器的数量与所述存储设备中的逻辑存储单元的数量相同时,所述预设的连接器与存储设备中的逻辑存储单元之间的对应关系为一一对应的关系。当所述至少两个连接器的数量小于所述存储设备中的逻辑存储单元的数量时,每个存储设备中的逻辑存储单元对应I个连接器,每个连接器对应至少一个存储设备中的逻辑存储单元。优选地,所述处理器710具体可以用于:将所述多个数据块均匀的分配给所述至少两个连接器;将每个数据块存储在该数据块对应的连接器中。优选地,所述处理器710具体可以用于:对于备份数据流中的第一个数据块,将第一个数据块与备份数据流中磁带相关信息在逻辑存储单元中的存储地址封装后存储在第一个数据块对应的连接器中;对于该备份数据流中的第i个数据块,将所述第i个数据块与第i_l个数据块在逻辑存储单元中的存储位置封装后存储在第i个数据块对应的连接器中。
优选地,所述处理器710还可以具体用于:将所述磁带相关信息的存储地址和所述第一个数据块的存储地址存储在特定连接器,以便根据磁带相关信息的存储地址,将特定连接器中的所述第一个数据块的存储地址存储至所述磁带相关信息中;将第1-Ι个数据块的存储地址和第i个数据块的存储地址存储在第i_l个数据块对应的连接器,以便根据第1-ι个数据块的存储地址,将该连接器中第1-ι个数据块的存储地址存储至所述第1-Ι个数据块中。本实施例中,VTL将所述多个数据块分别存储在所述虚拟磁带库的至少两个连接器中,再根据预设的连接器与存储设备中的逻辑存储单元之间的对应关系,将每个连接器中存储的数据块存储至与所述连接器对应的逻辑存储单元中。从而实现了存储设备中各个逻辑存储单元的负载均衡,充分利用VTL中的存储资源,提高了 VTL中多流并发读写的性倉泛。本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种数据流存储方法,其特征在于,包括: 虚拟磁带库接收备份服务器发送的备份数据流,对所述备份数据流进行解析,得到多个数据块; 将所述多个数据块分别存储在所述虚拟磁带库的至少两个连接器中; 根据预设的连接器与存储设备中的逻辑存储单元之间的对应关系,将每个连接器中存储的数据块存储至与所述连接器对应的逻辑存储单元中,所述连接器的数量小于或等于所述存储设备中的逻辑存储单元的数量。
2.根据权利要求1所述的方法,其特征在于,还包括: 在所述虚拟磁带库中创建磁带,并记录所述磁带的元数据信息; 将所述元数据信息发送给所述备份服务器,使得所述备份服务器根据所述元数据信息向所述虚拟磁带库发送备份数据流。
3.根据权利要求1所述的方法,其特征在于,当所述至少两个连接器的数量与所述存储设备中的逻辑存储单元的数量相同时,所述预设的连接器与存储设备中的逻辑存储单元之间的对应关系为一一对应的关系。
4.根据权利要求1所述的方法,其特征在于,当所述至少两个连接器的数量小于所述存储设备中的逻辑存储单元的数量时,每个存储设备中的逻辑存储单元对应I个连接器,每个连接器对应至少一个存储设备中的逻辑存储单元。
5.根据权利要求1至4任一项所述的方法,其特征在于,将所述多个数据块分别存储在所述虚拟磁带库的至少两个连接器中包括: 将所述多个数据块均匀的分配给所述至少两个连接器; 将每个数据块存储在该数据块对应的连接器中。
6.根据权利要求5所述的方法,其特征在于,将每个数据块存储在该数据块对应的连接器中包括: 对于备份数据流中的第一个数据块,将第一个数据块与备份数据流中磁带相关信息的存储地址封装后存储在第一个数据块对应的连接器中; 对于该备份数据流中的第i个数据块,将所述第i个数据块与第i_l个数据块的存储地址封装后存储在第i个数据块对应的连接器中。
7.根据权利要求6所述的方法,其特征在于,还包括: 将所述磁带相关信息的存储地址和所述第一个数据块的存储地址存储在特定连接器中,以便根据磁带相关信息的存储地址,将特定连接器中的所述第一个数据块的存储地址存储至所述磁带相关信息中; 将第i_l个数据块的存储地址和第i个数据块的存储地址存储在第i_l个数据块对应的连接器,以便根据第i_l个数据块的存储地址,将该连接器中第i_l个数据块的存储地址存储至所述第i_l个数据块中。
8.一种数据流存储装置,其特征在于,包括: 接收单元,用于接收备份服务器发送的备份数据流; 解析单元,用于对接收单元接收的所述备份数据流进行解析,得到多个数据块; 第一存储单元,用于将解析单元解析得到的所述多个数据块分别存储在所述虚拟磁带库的至少两个连接器中;第二存储单元,用于根据预设的连接器与存储设备中的逻辑存储单元之间的对应关系,将每个连接器中存储的数据块存储至与所述连接器对应的逻辑存储单元中,所述连接器的数量小于或等于所述存储设备中的逻辑存储单元的数量。
9.根据权利要求8所述的装置,其特征在于,还包括: 创建单元,用于在所述虚拟磁带库中创建磁带,并记录所述磁带的元数据信息; 发送单元,用于将所述元数据信息发送给所述备份服务器,使得所述备份服务器根据所述元数据信息向所述虚拟磁带库发送备份数据流。
10.根据权利要求8所述的装置,其特征在于,当所述至少两个连接器的数量与所述存储设备中的逻辑存储单元的数量相同时,所述预设的连接器与存储设备中的逻辑存储单元之间的对应关系为一一对应的关系。
11.根据权利要求8所述的装置,其特征在于,当所述至少两个连接器的数量小于所述存储设备中的逻辑存储单元的数量时,每个存储设备中的逻辑存储单元对应I个连接器,每个连接器对应至少一个存储设备中的逻辑存储单元。
12.根据权利要求8至11任一项所述的装置,其特征在于,第一存储单元包括: 分配子单元,用于将所述多个数据块均匀的分配给所述至少两个连接器; 存储子单元,用于将每个数据块存储在该数据块对应的连接器中。
13.根据权利要求12所述的装置,其特征在于,存储子单元具体用于: 对于备份数据流中的磁带相关信息,将磁带相关信息发送至特定连接器中; 对于备份数据流中的第一个数据块,将第一个数据块与所述磁带相关信息的存储地址封装后存储在第一个数据块对应的连接器中; 对于该备份数据流中的第i个数据块,将所述第i个数据块与第i_l个数据块的存储地址封装后存储在第i个数据块对应的连接器中。
14.根据权利要求13所述的装置,其特征在于,存储子单元还用于: 将所述磁带相关信息的存储地址和所述第一个数据块的存储地址存储在特定连接器中,以便根据磁带相关信息的存储地址,将特定连接器中的所述第一个数据块的存储地址存储至所述磁带相关信息中; 将第i_l个数据块的存储地址和第i个数据块的存储地址存储在第i_l个数据块对应的连接器,以便根据第i_l个数据块的存储地址,将该连接器中第i_l个数据块的存储地址存储至所述第i_l个数据块中。
全文摘要
本发明实施例公开了一种数据流存储方法及装置,方法包括虚拟磁带库接收备份服务器发送的备份数据流,按照预设的分块大小和类型对所述备份数据流进行解析,得到多个数据块;虚拟磁带库将所述多个数据块分别存储在所述虚拟磁带库的至少两个连接器中;虚拟磁带库根据预设的连接器与存储设备中的逻辑存储单元之间的对应关系,将每个连接器中存储的数据块存储至与所述连接器对应的逻辑存储单元中,所述连接器的数量小于或等于所述存储设备中的逻辑存储单元的数量。本发明实施例能够提高虚拟磁带库中多流并发读写的性能。
文档编号G06F11/14GK103164172SQ20131007664
公开日2013年6月19日 申请日期2013年3月11日 优先权日2013年3月11日
发明者冯一祥, 陈琳 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1