本发明涉及数据备份领域,尤其涉及一种基于虚拟磁带库的数据备份方法。
背景技术:
随着信息化的发展,数据安全性越来越被重视,数据备份是实现数据安全的重要途径和手段。从1952年ibm发布了第一款磁带机以来,磁带技术就一直占据着数据备份领域的重要地位。传统的数据备份方式也就是采用物理磁带库/磁带机与备份软件相结合,通过设定一定的策略实现数据备份和恢复的自动化。但是,磁带备份存在一些不足:例如,磁带怕潮、怕摔、怕强磁;机械故障率高;备份/恢复速度慢等。随着磁盘技术长足的进步,基于高性能、大容量、低成本的sata磁盘的备份和恢复,已经开始成为高性价比的备份方案。相比于磁带备份,磁盘备份的优势主要在于:备份可靠性得到大幅提升,数据读写性能优异,备份/恢复速度块。虽然如此,但是磁盘备份也存在无法兼容传统磁带备份模式和操作习惯的缺陷,尤其是在已经建立了较为完善的磁带备份系统,并正运用现有的磁带技术的场景中。虚拟磁带库备份方式(virtualtapelibrary,简称vtl)是在磁盘备份的基础上发展而来的。它采用多个磁盘的磁盘阵列来模拟磁带备份,兼具磁盘备份和磁带备份的优点,同时又克服了二者的不足,实现了磁带技术和磁盘技术的融合。vtl采用磁盘作为备份介质,将磁盘仿真为一种或者多种磁带,从而具备了高性能和高可靠性,并有效缩短备份时间,提高安全性。仿真后的磁带在备份服务器上显示为真实的物理磁带,整个备份和恢复的过程和物理磁带库完全一致,从而有效的兼容磁带备份的操作。但是,在vtl备份方式中,例如用户可以无感知的在操作界面中进行磁带操作的备份,但是如何确保真实数据备份到磁盘的较优或最优策略,充分发挥磁盘的备份效率等方面仍然存在一些技术问题。
关于数据备份的其他一些现有技术,在此引用如下,供理解vtl技术背景所用,但并不意味着以下现有技术与本发明具有很强的技术关联性,也不意味着其能够作为本发明的最接近现有技术:
cn100377065c,一种超大容量的虚拟磁盘存储系统;
cn100547535,用于开放系统环境的磁带存储仿真;
cn102667703b,用于虚拟磁带库系统中的优化回收处理的系统和方法。
技术实现要素:
为克服上述问题,本发明涉及一种备份设备,备份设备包括与操作系统通信连接读写控制器,读写控制器与n个磁盘通信连接,读写控制器包括第一接口单元、第二接口单元、命令转换单元;第一接口单元用于接收操作系统发出的第一操作命令;命令转换单元用于将第一操作命令转换为第二操作命令,并将第二操作命令转发给第二接口单元;第二操作命令中至少包括指示选中n个磁盘中的一个磁盘的选择参数;第二接口单元用于将第二操作命令发送给选中磁盘,以执行对选中磁盘的操作,选中磁盘为选择参数指示选中的磁盘。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,将对本发明作进一步地详细描述。这种描述是通过示例而非限制的方式介绍了与本发明的原理相一致的具体实施方式,这些实施方式的描述是足够详细的,以使得本领域技术人员能够实践本发明,在不脱离本发明的范围和精神的情况下可以使用其他实施方式并且可以改变和/或替换各要素的结构。因此,不应当从限制性意义上来理解以下的详细描述。
根据本发明,提供了一种数据备份设备,备份设备包括与操作系统通信连接读写控制器,读写控制器与n个磁盘通信连接,读写控制器包括第一接口单元、第二接口单元、命令转换单元。本领域技术人员知晓,本发明中的备份设备可以实现为使用虚拟磁带库技术的备份设备,例如天华星航公司的“thevtl虚拟磁带库”或者其他所有者所生产或销售的任一型号的使用虚拟磁带库的备份设备。本发明中,操作系统应理解为用户使用的,能够支持磁带数据备份的并向用户呈现磁带操作接口的操作系统,显然本发明并不限定操作系统的种类和版本型号。本发明中,读写控制器可以实现为计算机软件、计算机硬件或者计算机软件和硬件的结合。
根据本发明,第一接口单元用于接收操作系统发出的第一操作命令。第一操作命令为磁带操作命令,例如为操作系统支持或者能够识别的将数据备份到磁带的磁带写入命令。
根据本发明,命令转换单元用于将第一操作命令转换为第二操作命令,第二操作命令为磁盘操作命令。由于第一操作命令为磁带操作命令,而实际进行数据备份的物理介质为磁盘,因此需要将第一操作命令转换为第二操作命令。命令的转换可以采用现有技术中的任一方式,例如采用第一、二操作命令映射表的方式,将第一操作命令转换为第二操作命令。
进一步的,根据本发明,当所述第二操作命令为磁盘写命令时,命令转换单元转换的第二操作命令的参数中包括用于指示写入数据的大小的尺寸参数(size),从而为后续过程中根据size确定选中磁盘提供基础。
进一步的,根据本发明,命令转换单元还将第二操作命令转发给第二接口单元;第二操作命令中至少包括指示选中n个磁盘中的一个或多个磁盘的选择参数;第二接口单元用于将第二操作命令发送给选中磁盘,以执行对选中磁盘的操作(例如写操作),选中磁盘为选择参数指示选中的磁盘。对选中磁盘的写操作可以采用现有技术中的任一方式,本领域技术人员知晓,本发明并不意图限定第二操作命令对物理磁盘进行操作(例如写操作)的具体细节方式。
根据本发明,进一步的,读写控制器还包括缓存,缓存中存储有n个磁盘的剩余空间信息inf={(id1,z1),(id2,z2),......,(idn,zn)},其中idi为第i个磁盘的唯一标识,zi为第i个磁盘的剩余空间,z1≤z2≤,......,≤zn,i的取值范围为1..n。剩余空间信息中根据剩余空间的大小进行排序,从而能够使得数据备份中磁盘的写操作策略较为容易的进行。本发明中,缓存可以实现为现有技术中的任一存储介质,例如磁介质,或者flash介质。
根据本发明,读写控制器还包括存储有计算机程序的计算机可读存储介质,当计算机程序被读写控制器执行时,实现以下步骤:
步骤s100,当第二操作命令为磁盘写命令时,如果size≤d1,那么执行步骤s200;如果d1<size≤d2,那么执行步骤s300;如果size>d2,那么执行步骤s400;其中,d1为第一阈值,d2为第二阈值。
步骤s200,将id1作为选中磁盘,具体包括:
步骤s210,如果size≤z1,那么将id1作为选中磁盘,继续执行步骤s220;否则,执行步骤s240。
步骤s220,使用z1-size更新z1。
步骤s230,根据更新后的z1,对剩余空间信息inf进行重排序;结束。
步骤s240,可选的,提示磁盘空间不足;或者可选的,。
根据步骤s200,在写入磁盘的备份数据较小(例如小于d1)时,优选的将备份数据备份到n个磁盘中剩余空间最大的磁盘中,备份数据的写操作以及后续可能出现的恢复数据的读操作仅涉及一个磁盘操作。能够在保证写入速度的前提下,最简化磁盘调度策略,提升调度效率。
步骤s300,将id1到idj作为选中磁盘;其中,
步骤s310,如果d1≤zj,那么将id1到idj作为选中磁盘,继续执行步骤s320;否则,执行步骤s340。
步骤s320,使用z1-d1,z2-d1,...,zj-1-d1更新z1,z2,...,zj-1,使用zj (j-1)*d1-size更新zj。
步骤s330,根据更新后的z1,z2,...,zj,对剩余空间信息inf进行重排序;结束。
步骤s340,提示磁盘空间不足。
根据步骤s300,在写入磁盘的备份数据较大(例如大于d1)时,优选的将备份数据平均备份到n个磁盘中剩余空间最大的多个磁盘中。通过这种方式,使得备份过程能够并行操作,保证较大数据的备份速度。
步骤s400,将id1到idx作为选中磁盘;其中,x为读写控制器能够并行访问磁盘的最大数量(例如可以由用户自定义或者有硬件设备确定),x≤n。优选的,d2=x*d1。
根据本发明,进一步的,步骤s400包括:
步骤s410,如果
步骤s420,如果zx≥size/x,那么使用z1-size/x,z2-size/x,...,zx-size/x更新z1,z2,...,zx;否则,使用0更新zx;设置x=x-1,循环执行步骤s420。
步骤s430,根据更新后的z1,z2,...,zx,对剩余空间信息inf进行重排序;结束。
步骤s460,如果
步骤s470,使用0更新z1,z2,...,zy-1,使用
步骤s480,根据更新后的z1,z2,...,zy,对剩余空间信息inf进行重排序;结束。
根据步骤s400,在写入磁盘的备份数据非常大(例如大于d2)时,优选的将备份数据平均备份到x个剩余空间最大的磁盘中。通过这种方式,使得备份过程能够完全利用设备的并行操作,保证较大数据的备份速度。
本发明公开的方法包括用于实现本发明目的的一个或多个步骤,方法步骤可彼此相互交换而没有离开本发明的范围。换言之,除非实施例的正常操作需要特定顺序的步骤,可修改具体步骤的顺序,而不会离开本发明精神的范围。尽管本发明主要描述了具体实施例和应用,但本领域技术人员应理解本发明并不局限于此。根据本发明公开的方法和系统,对于本领域技术人员明显的各种修改、变化以及改变均不背离本发明的精神和范围。
1.一种基于虚拟磁带库的数据备份方法,所述虚拟磁带库数据连接到多个磁盘,所述方法包括以下步骤:
步骤s100,当接收到磁盘写命令时,如果size>d2,那么执行步骤s400;
步骤s400,包括:
步骤s410,如果
步骤s420,如果zx≥size/x,那么使用z1-size/x,z2-size/x,...,zx-size/x更新z1,z2,...,zx;否则,使用0更新zx;设置x=x-1,循环执行步骤s420;
步骤s430,根据更新后的z1,z2,...,zx,对剩余空间信息inf进行重排序;结束;
其中,size用于指示写入到磁盘的数据大小,d1、d2为第一、二阈值,d2=x*d1,x为能够并行访问磁盘的最大数量,x≤n,n为具有剩余空间信息的磁盘数量,所述剩余空间信息为inf={(id1,z1),(id2,z2),......,(idn,zn)},其中idi为第i个磁盘的唯一标识,zi为第i个磁盘的剩余空间,z1≥z2≥,......,≥zn,i的取值范围为1..n。
2.根据权利要求1所述的数据备份方法,其特征在于,所述步骤s100还包括:如果size≤d1,那么执行步骤s200,将id1作为选中磁盘。
3.根据权利要求2所述的数据备份方法,其特征在于,所述步骤200包括:
步骤s210,如果size≤z1,那么将id1作为选中磁盘,继续执行步骤s220;
步骤s220,使用z1-size更新z1;
步骤s230,根据更新后的z1,对剩余空间信息inf进行重排序。
4.根据权利要求1所述的数据备份方法,其特征在于,所述步骤s100还包括:如果d1<size≤d2,那么执行步骤s300,将id1到idj作为选中磁盘;其中,
5.根据权利要求4所述的数据备份方法,其特征在于,所述步骤300包括:
步骤s310,如果d1≤zj,那么将id1到idj作为选中磁盘;
步骤s320,使用z1-d1,z2-d1,...,zj-1-d1更新z1,z2,...,zj-1,使用zj (j-1)*d1-size更新zj;
步骤s330,根据更新后的z1,z2,...,zj,对剩余空间信息inf进行重排序。
6.一种基于虚拟磁带库的数据备份方法,所述虚拟磁带库数据连接到多个磁盘,所述方法包括以下步骤:
步骤s100,当接收到磁盘写命令时,如果size>d2,那么执行步骤s400;
步骤s400,包括:
步骤s460,如果
步骤s470,使用0更新z1,z2,...,zy-1,使用
步骤s480,根据更新后的z1,z2,...,zy,对剩余空间信息inf进行重排序;结束;
其中,size用于指示写入到磁盘的数据大小,d1、d2为第一、二阈值,d2=x*d1,x为能够并行访问磁盘的最大数量,x≤n,n为具有剩余空间信息的磁盘数量,所述剩余空间信息为inf={(id1,z1),(id2,z2),......,(idn,zn)},其中idi为第i个磁盘的唯一标识,zi为第i个磁盘的剩余空间,z1≥z2≥,......,≥zn,i的取值范围为1..n。
7.根据权利要求6所述的数据备份方法,其特征在于,所述步骤s100还包括:如果size≤d1,那么执行步骤s200,将id1作为选中磁盘。
8.根据权利要求7所述的数据备份方法,其特征在于,所述步骤200包括:
步骤s210,如果size≤z1,那么将id1作为选中磁盘,继续执行步骤s220;
步骤s220,使用z1-size更新z1;
步骤s230,根据更新后的z1,对剩余空间信息inf进行重排序。
9.根据权利要求6所述的数据备份方法,其特征在于,所述步骤s100还包括:如果d1<size≤d2,那么执行步骤s300,将id1到idj作为选中磁盘;其中,
10.根据权利要求9所述的数据备份方法,其特征在于,所述步骤300包括:
步骤s310,如果d1≤zj,那么将id1到idj作为选中磁盘;
步骤s320,使用z1-d1,z2-d1,...,zj-1-d1更新z1,z2,...,zj-1,使用zj (j-1)*d1-size更新zj;
步骤s330,根据更新后的z1,z2,...,zj,对剩余空间信息inf进行重排序。
技术总结