数据备份方法及装置的制作方法

文档序号:6380868阅读:130来源:国知局
专利名称:数据备份方法及装置的制作方法
技术领域
本发明涉及数据备份技术领域,尤其涉及一种数据备份方法及装置。
背景技术
随着集中存储应用的不断普及,用户数据的集中化程度越来越高,对生产系统存储设备的稳定性要求越来越高,对备份与容灾的要求更是越来越高。逻辑单元号(LogicalUnit Number,LUN)拷贝技术就是实现备份与容灾的一种有效的方法,可实现存储阵列之间快速的数据备份、存储阵列内部快速的数据备份,还可实现远程数据复制,其中利用LUN拷贝实现的远程数据复制功能,可为用户提供数据迁移、数据汇总、数据分发等多种应用。LUN拷贝就是将源LUN的数据拷贝到目标LUN,其可以在离线或在线状态下实现,并且支持磁盘阵列间的LUN拷贝。传统的LUN拷贝方法在LUN拷贝开始前,所有数据都在源LUN中,目标LUN没有任何数据,存储设备不断的将源LUN上的数据按块拷贝到目标LUN上,直至所有源LUN上的数据都被拷贝到目标LUN上,该次LUN拷贝完成。此时目标LUN是一个具有源LUN开始LUN拷贝时全部数据的LUN,并且数据可以被独立使用。但是,在拷贝过程中,目标LUN无法被使用,只有当所有的源LUN数据全部拷贝到目标LUN上以后,目标LUN才能独立的被主机或应用使用。如果源LUN需要拷贝的数据很大,受带宽限制,从拷贝开始到目标LUN能够被使用的时间间隔会很长。

发明内容
本发明所要解决的问题是提供一种数据备份方法及装置,能够在数据备份时独立使用目标LUN的数据。为了解决上述问题,第一方面,本发明实施例提供了一种数据备份方法,包括将目标逻辑单元号LUN划分为多个目标LUN ±夹,并建立所述目标LUN的索引表,所述索引表中包括每个目标LUN块的索引信息,所述索引信息包括第一信息以及第二信息,所述第一信息记录每个目标LUN块对应的物理地址,所述第二信息记录每个目标LUN块对应的源LUN块对应的物理地址;根据所述索引表,将每个源LUN块对应的物理地址中的数据复制到每个目标LUN块对应的物理地址中。结合第一方面,在第一种可能的实施方式中,所述根据所述索引表,将每个源LUN块对应的物理地址中的数据复制到每个目标LUN块对应的物理地址中包括依次判断每个目标LUN块的第二信息是否为空;当目标LUN块的第二信息不为空时,将所述目标LUN块对应的源LUN块对应的物理地址中的数据复制到所述目标LUN块对应的物理地址中;将所述目标LUN块的第二信息设置为空。结合第一方面或结合第一方面的第一种可能的实施方式,在第二种可能的实施方式中,所述方法还包括
4
当所述目标LUN接收到读数据请求时,根据所述读数据请求中的待读取数据的地址,确定所述待读取数据所在的目标LUN块;判断所述目标LUN块的第二信息是否为空;当所述目标LUN块的第二信息不为空时,根据所述第二信息,从所述目标LUN块对应的源LUN块对应的物理地址读取数据;当所述目标LUN块的第二信息为空时,根据所述目标块的第一信息,从所述目标LUN块对应的物理地址读取数据。结合第一方面或第一方面的第一种或第二种可能的实施方式,在第三种可能的实施方式中,所述方法还包括当所述目标LUN接收到写数据请求时,根据所述写数据请求中的待写入数据的地址,确定所述待写入数据所要写入的目标LUN块;根据所述目标LUN块的第一信息,将所述待写入数据保存至所述目标LUN块对应的物理地址;将所述目标LUN块的第二信息设置为空。结合第一方面或第一方面的第一种至第三种可能的实施方式中的任一种,在第四种可能的实施方式中,所述方法还包括当所述源LUN接收到写数据请求时,所述写数据请求包括待写入数据所要写入的源LUN块对应的物理地址,将所述源LUN块对应的物理地址中的数据复制到对应的目标LUN块对应的物理地址中;执行所述写数据请求,将所述待写入数据保存至所述源LUN块对应的物理地址。第二方面,本发明实施例提供了一种数据备份装置,包括索引表生成单元,用于将目标逻辑单元号LUN划分为多个目标LUN块,并建立所述目标LUN的索引表,所述索引表中包括每个目标LUN块的索引信息,所述索引信息包括第一信息以及第二信息,所述第一信息记录每个目标LUN块对应的物理地址,所述第二信息记录每个目标LUN块对应的源LUN块的物理地址;以及复制单元,用于根据所述索引表生成单元生成的所述索引表,将每个源LUN块对应的物理地址中的数据复制到每个目标LUN块对应的物理地址中。结合第二方面,在第一种可能的实施方式中,所述复制单元包括判断子单元、复制子单元和设置子单元;所述判断子单元,用于依次判断每个目标LUN块的第二信息是否为空;所述复制子单元,用于当所述判断子单元判断出所述目标LUN块的第二信息不为空时,将所述目标LUN块对应的源LUN块对应的物理地址中的数据复制到所述目标LUN块对应的物理地址中;所述设置子单元,用于在所述复制子单元完成数据复制后,将所述目标LUN块的
第二信息设置为空。结合第二方面或第二方面的第一种可能的实施方式,在第二种可能的实施方式中,所述装置还包括读数据单元;所述读数据单元,用于当所述目标LUN接收到读数据请求时,根据所述读数据请求中的待读取数据的地址,确定所述待读取数据所在的目标LUN块;判断所述目标LUN块的第二信息是否为空;并且当所述目标LUN块的第二信息不为空时,根据所述第二信息,从所述目标LUN块对应的源LUN块的物理地址读取数据。结合第二方面或第二方面的第一种或第二种可能的实施方式中,在第三种可能的 实施方式中,所述装置还包括第一写数据单元;所述第一写数据单元,用于当所述目标LUN接收到写数据请求时,根据所述写数据请求中的待写入数据的地址,确定所述待写入数据所要写入的目标LUN块;根据所述目标LUN块的第一信息,将所述待写入数据保存至所述目标LUN块对应的物理地址;并将所述目标LUN块的第二信息设置为空。结合第二方面或第二方面的第一种至第三种可能的实施方式中的任一种,在第四种可能的实施方式中,所述装置还包括第二写数据单元;所述第二写数据单元,用于当所述源LUN接收到写数据请求时,所述写数据请求包括待写入数据所要写入的源LUN块对应的物理地址,将所述源LUN块对应的物理地址中的数据复制到对应的目标LUN对应的物理地址中;并执行所述写数据请求,将所述待写入数据保存至所述源LUN块对应的物理地址。本发明实施例提供的数据备份的方法和装置,将目标LUN划分为多个LUN块,并建立所述目标LUN的索引表,根据所述索引表,将源LUN块对应的物理地址中的数据复制到每个目标LUN块对应的物理地址对应的物理地址中。由于索引表中记录了每个目标LUN块对应的源LUN块的物理地址,可以根据该物理地址直接找到源LUN块的数据,即使源LUN中的数据正在复制到目标LUN中,对源LUN或目标LUN中的数据进行的读、写或者修改也不会受到影响,因此无论是源LUN还是目标LUN都可以进行独立的读写操作。


图I为本发明实施例的数据备份方法流程图;图2为本发明实施例的数据备份方法中的索引信息结构示意图;图3为本发明实施例的数据备份方法中的复制流程图;图4为本发明实施例的数据备份方法中目标LUN接收到读数据请求时的流程图;图5为本发明实施例的数据备份方法中目标LUN接收到写数据请求时的流程图;图6为本发明实施例的数据备份装置的一种结构框图;图7为本发明实施例的数据备份装置的第二种结构框图;图8为本发明实施例的数据备份装置的第三种结构框图。
具体实施例方式本发明提出的数据备份方法及装置,结合附图及实施例详细说明如下。现代存储技术中,磁盘阵列根据自身的管理方式,将实际存储空间划分为固定大小的磁盘块进行管理,然后将各个磁盘块按一定的原则组合成虚拟卷,向用户呈现为LUN。在LUN管理中,当划分一个LUN的时候,磁盘阵列为其创建了一个常规的索引表,该常规的索引表记录了组成该LUN的所有LUN块(LUN块为组成LUN的最小单位,且LUN块的划分对应于磁盘阵列的划分,优选地,每个LUN块对应一个磁盘块)的索引信息,该索引信息记录着LUN块与磁盘块也即物理存储空间的地址映射关系。
如图I所示,依照本发明一种实施例的数据备份方法包括S101,索引表生成步骤,根据源LUN所包含的源LUN ±夹,将目标LUN划分为多个目标LUN块(源LUN块与目标LUN块一一对应),为其划分存储空间,并建立目标LUN的索引表。S102,复制步骤,根据步骤SlOl中生成的索引表,将每个源LUN块对应的物理地址中的数据复制到每个目标LUN块对应的物理地址中。该索引表中包括组成目标LUN的所有目标LUN块的索引信息,如图2所示,本实施例的方法中,该索引表与常规的索引表不同,其中的每条索引信息不仅包括记录每个目标LUN块对应的实际物理地址的第一信息(以下称存储块信息),还包括第二信息(以下称复制源块信息),该复制源块信息记录着目标LUN块所对应的源LUN块对应的实际物理地址,也即指示着目标LUN块所指向的物理地址中的数据是从哪一个源LUN块对应的物理地址中的数据复制来的。该物理地址例如包括在磁盘阵列上的起始地址等信息。具体地,如图3所示,步骤S102的复制步骤包括S201,依次判断每个目标LUN块的复制源块信息是否为空,若某一目标LUN块的复制源块信息为空,则执行对下一个目标LUN块的复制源块信息是否为空的判断,否则执行步骤S202。S202,根据该目标LUN块的复制源块信息以及对应的存储块信息,将该目标LUN块对应的源LUN块对应的物理地址中的数据复制到该目标LUN块所对应的物理地址中,并将该复制源块信息设置为空。根据该索引表,按照上述步骤S201-S202对全部目标LUN块进行一次轮询后,完成源LUN数据的备份。综上,本发明实施例提供的数据备份方法,将目标LUN划分为多个LUN ±夹,并建立所述目标LUN的索引表,根据所述索引表,将源LUN块对应的物理地址中的数据复制到每个目标LUN块对应的物理地址中。由于索引表中记录了每个目标LUN块对应的源LUN块的物理地址,可以根据该物理地址直接找到源LUN块的数据,即使源LUN中的数据正在复制到目标LUN中,对源LUN中或目标LUN的数据进行的读、写或者修改也不会受到影响,因此无论是源LUN还是目标LUN都可以进行独立的读写操作。具言之,本发明实施例提供的方法在对源LUN对应的物理地址中的数据进行备份时,若目标LUN接收到读数据请求时,则执行图4所示的步骤S301,根据该读数据请求中的待读取数据的地址,确定该待读取数据所在的目标LUN 块;S302,判断该目标LUN块的复制源块信息是否为空,若是,则执行步骤S303,若否,则执行步骤S304 ;S303,根据该目标LUN块的存储块信息,从该目标LUN块对应的物理地址读取数据,并执行步骤S305 ;S304,从该目标LUN块的复制源块信息所指向的源LUN块对应的物理地址读取数据,并执行步骤S305 ;S305,返回读取到的数据。本发明实施例提供的方法在对源LUN对应的物理地址中的数据进行备份时,当目标LUN接收到写数据请求时,可认为是对目标LUN上数据的变更,此时,执行如5图所示的
7步骤S401,根据该写数据请求中的待写入数据的地址,确定该待写入数据所要保存到的目标LUN块;S402,根据该目标LUN块的存储块信息,将该待写入数据保存至该存储块信息指向的物理地址,并执行步骤S403 ;S403,将该目标LUN块的复制源块信息设置为空。在执行步骤S402之后,若该目标LUN块的复制源块信息已经为空,也可直接完成该写操作。这样,在进行复制操作的时候,根据步骤S401-S403的描述,即便发生对目标LUN的写操作,该目标LUN块上早已写入的数据也不会被覆盖。本发明实施例提供的方法在对源LUN对应的物理地址中的数据进行备份时,当源LUN接收到写数据请求时(该写数据请求包括待写入数据所要写入的源LUN块对应的物理地址),则可以先判断该源LUN块对应的物理地址上的数据是否已经复制到对应的目标LUN块,例如通过判断该目标LUN块的复制源块信息是否为空,若不为空,则直接采用写时复制(Copy-On-Write,C0W)的方式,先按照步骤S401-S403将该写数据请求中包含的该源LUN块对应的物理地址中的原始数据复制到对应的目标LUN块对应的物理地址中,然后执行该写数据请求,直接将该待写入数据保存到该源LUN块对应的物理地址。此外,本发明实施例还提供了一种数据备份装置,其依照上述方法进行数据备份,如图6所示,该装置包括索引表生成单元100,用于将目标逻辑单元号LUN划分为多个目标LUN块,并建立所述目标LUN的索引表,所述索弓I表中包括每个所述目标LUN块的索引信息,所述索弓I信息包括第一信息以及第二信息,所述第一信息记录每个目标LUN块对应的物理地址,所述第二信息记录每个目标LUN块对应的源LUN块的物理地址;以及复制单元200,用于根据所述索引表生成单元生成的所述索引表,将每个源LUN块对应的物理地址中的数据复制到每个目标LUN块对应的物理地址中。具言之,该复制单元200还可包括判断子单元201、复制子单元202和设置子单元203 ;判断子单元201用于依次判断每个目标LUN块的第二信息是否为空;复制子单元202用于当所述判断子单元201判断出所述目标LUN块的第二信息不为空时,将所述目标LUN块对应的源LUN块对应的物理地址中的数据复制到所述目标LUN块对应的物理地址中;设置子单元203用于在所述复制子单元202完成数据复制后,将所述目标LUN块的第二信息设置为空。此外,在上述装置实施例的基础上,本实施例还提供了另外一种数据备份装置,如图7所示,该装置还包括读数据单元300,用于当所述目标LUN接收到读数据请求时,根据所述读数据请求中的待读取数据的地址,确定所述待读取数据所在的目标LUN块;判断所述目标LUN块的第二信息是否为空;并且当所述目标LUN块的第二信息不为空时,根据所述第二信息,从所述目标LUN块对应的源LUN块对应的物理地址读取数据。本实施例的装置在包括读数据单元300的基础上,还可包括第一写数据单元400,用于当所述目标LUN接收到写数据请求时,根据所述写数据请求中的待写入数据的地址,确定所述待写入数据所要写入的目标LUN块;根据所述目标LUN块的第一信息,将所述待写入数据保存至所述目标LUN块对应的物理地址;并将所述目标LUN块的第二信息设置为空。本实施例的装置在包括读数据单元300、第一写数据单元400的基础上,还可包括第二写数据单元500,用于当所述源LUN接收到写数据请求时,所述写数据请求包括待写入数据所要写入的源LUN块对应的物理地址,将所述源LUN块对应的物理地址中的数据复制到对应的目标LUN块所对应的物理地址中;并执行所述写数据请求,将所述待写入数据保存至所述源LUN块对应的物理地址。图8为本发明实施例提供的又一种数据备份装置700的结构示意图,本发明具体实施例并不对数据备份装置的具体实现做限定。如图8所示,该数据备份装置700可以包括处理器(processor)710、通信接口(CommunicationsInterface) 720、存储器(memory) 730、以及通信总线740。其中处理器710、通信接口 720、以及存储器730通过通信总线740完成相互间的通信。通信接口 720,用于与比如客户端等的网元通信。处理器710,用于执行程序732,具体可以执行上述图I至图5所示的方法实施例中的相关步骤。具体地,程序732可以包括程序代码,所述程序代码包括计算机操作指令。处理器710可能是一个中央处理器CPU,或者是特定集成电路ASIC (ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。存储器730,用于存放程序732。存储器730可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。程序732具体可以包括索引表生成单元,用于将目标逻辑单元号LUN划分为多个目标LUN块,并建立所述目标LUN的索引表,所述索引表中包括每个所述目标LUN块的索引信息,所述索引信息包括第一信息以及第二信息,所述第一信息记录每个目标LUN块对应的物理地址,所述第二信息记录每个目标LUN块对应的源LUN块的物理地址;以及复制单元,用于根据所述索引表生成单元生成的所述索引表,将每个源LUN块对应的物理地址中的数据复制到每个目标LUN块对应的物理地址中。程序732中各单元的具体实现可以参见图6-图7所示实施例中的相应单元,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM, RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
10
权利要求
1.一种数据备份方法,其特征在于,包括 将目标逻辑单元号LUN划分为多个目标LUN ±夹,并建立所述目标LUN的索引表,所述索引表中包括每个目标LUN块的索引信息,所述索引信息包括第一信息以及第二信息,所述第一信息记录每个目标LUN块对应的物理地址,所述第二信息记录每个目标LUN块对应的源LUN块对应的物理地址; 根据所述索引表,将每个源LUN块对应的物理地址中的数据复制到每个目标LUN块对应的物理地址中。
2.如权利要求I所述的方法,其特征在于,所述根据所述索引表,将每个源LUN块对应的物理地址中的数据复制到每个目标LUN块对应的物理地址中包括 依次判断每个目标LUN块的第二信息是否为空; 当目标LUN块的第二信息不为空时,将所述目标LUN块对应的源LUN块对应的物理地址中的数据复制到所述目标LUN块对应的物理地址中; 将所述目标LUN块的第二信息设置为空。
3.如权利要求I或2所述的方法,其特征在于,所述方法还包括 当所述目标LUN接收到读数据请求时,根据所述读数据请求中的待读取数据的地址,确定所述待读取数据所在的目标LUN块; 判断所述目标LUN块的第二信息是否为空; 当所述目标LUN块的第二信息不为空时,根据所述第二信息,从所述目标LUN块对应的源LUN块对应的物理地址读取数据; 当所述目标LUN块的第二信息为空时,根据所述目标块的第一信息,从所述目标LUN块对应的物理地址读取数据。
4.如权利要求I至3中任一项所述的方法,其特征在于,所述方法还包括 当所述目标LUN接收到写数据请求时,根据所述写数据请求中的待写入数据的地址,确定所述待写入数据所要写入的目标LUN块; 根据所述目标LUN块的第一信息,将所述待写入数据保存至所述目标LUN块对应的物理地址; 将所述目标LUN块的第二信息设置为空。
5.如权利要求I至4中任一项所述的方法,其特征在于,所述方法还包括 当所述源LUN接收到写数据请求时,所述写数据请求包括待写入数据所要写入的源LUN块对应的物理地址,将所述源LUN块对应的物理地址中的数据复制到对应的目标LUN块对应的物理地址中; 执行所述写数据请求,将所述待写入数据保存至所述源LUN块对应的物理地址。
6.一种数据备份装置,其特征在于,包括 索引表生成单元,用于将目标逻辑单元号LUN划分为多个目标LUN块,并建立所述目标LUN的索引表,所述索弓丨表中包括每个目标LUN块的索引信息,所述索弓I信息包括第一信息以及第二信息,所述第一信息记录每个目标LUN块对应的物理地址,所述第二信息记录每个目标LUN块对应的源LUN块对应的物理地址;以及 复制单元,用于根据所述索引表生成单元生成的所述索引表,将每个源LUN块对应的物理地址中的数据复制到每个目标LUN块对应的物理地址中。
7.如权利要求6所述的装置,其特征在于,所述复制单元包括判断子单元、复制子单元和设置子单元; 所述判断子单元,用于依次判断每个目标LUN块的第二信息是否为空; 所述复制子单元,用于当所述判断子单元判断出所述目标LUN块的第二信息不为空时,将所述目标LUN块对应的源LUN块对应的物理地址中的数据复制到所述目标LUN块对应的物理地址中; 所述设置子单元,用于在所述复制子单元完成数据复制后,将所述目标LUN块的第二信息设置为空。
8.如权利要求6或7所述的装置,其特征在于,所述装置还包括读数据单元; 所述读数据单元,用于当所述目标LUN接收到读数据请求时,根据所述读数据请求中的待读取数据的地址,确定所述待读取数据所在的目标LUN块;判断所述目标LUN块的第二信息是否为空;并且当所述目标LUN块的第二信息不为空时,根据所述第二信息,从所述目标LUN块对应的源LUN块的物理地址读取数据。
9.如权利要求6至8中任一项所述的装置,其特征在于,所述装置还包括第一写数据单元; 所述第一写数据单元,用于当所述目标LUN接收到写数据请求时,根据所述写数据请求中的待写入数据的地址,确定所述待写入数据所要写入的目标LUN块;根据所述目标LUN块的第一信息,将所述待写入数据保存至所述目标LUN块对应的物理地址;并将所述目标LUN块的第二信息设置为空。
10.如权利要求6至9中任一项所述的装置,其特征在于,所述装置还包括第二写数据单元; 所述第二写数据单元,用于当所述源LUN接收到写数据请求时,所述写数据请求包括待写入数据所要写入的源LUN块对应的物理地址,将所述源LUN块对应的物理地址中的数据复制到对应的目标LUN对应的物理地址中;并执行所述写数据请求,将所述待写入数据保存至所述源LUN块对应的物理地址。
全文摘要
本发明提供了一种数据备份方法及装置,涉及数据备份技术领域。该方法包括将目标逻辑单元号LUN划分为多个目标LUN块,并建立目标LUN的索引表,所述索引表中包括每个目标LUN块的索引信息,索引信息包括第一信息以及第二信息,第一信息记录每个目标LUN块对应的物理地址,第二信息记录每个目标LUN块对应的源LUN块对应的物理地址;根据所述索引表,将每个源LUN块对应的物理地址中的数据复制到每个目标LUN块对应的物理地址中。本发明的方法及装置能够实现在数据备份的过程中,直接对源LUN或目标LUN的读写操作,从而能够在数据备份时独立使用目标LUN的数据,使得数据备份对于用户表现为立即完成。
文档编号G06F11/14GK102929748SQ20121044390
公开日2013年2月13日 申请日期2012年11月8日 优先权日2012年11月8日
发明者母子安, 李毅 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1