掌桥专利:专业的专利平台
掌桥专利
首页

一种数据备份方法、装置、设备及介质

文献发布时间:2023-06-19 11:52:33


一种数据备份方法、装置、设备及介质

技术领域

本申请涉及存储技术领域,尤其涉及一种数据备份方法、装置、设备及介质。

背景技术

云存储以其灵活、简便、高可用性等特点,正在被越来越多的企业所采用。所谓云存储是一种依托于存储虚拟化的技术,其将存储网络中分散的、异构的存储设备映射成虚拟的存储资源池,将存储资源池的访问接口提供给应用程序,以便应用程序通过该访问接口访问存储资源池,实现数据读取和写入。

为了保障数据安全以及业务连续性,存储系统在分配存储资源时,常常会分配额外的存储资源对数据进行冗余备份。在有些情况下,存储系统冗余备份得到较多的副本,如此产生了存储资源浪费,进而导致应用运营成本增加。并且,较多的副本也导致应用写速率下降,进而影响应用运行效率,降低了用户体验。

发明内容

本申请提供了一种数据备份方法,该方法支持对存储系统预设的默认备份数量进行调整,从而实现在满足数据安全的情况下,减少备份的数据副本数量,从而减少了存储资源浪费,降低了应用运营成本。并且该方法可以提高应用写数据的速率,提升应用运行效率,从而提升了用户体验。

第一方面,本申请提供了一种数据备份方法,该方法可以应用于存储系统。存储系统预设有默认备份数量,该默认备份数量用于为第一实例产生的第一写数据请求中包括的第一待写入数据生成N个数据副本,所述N个数据副本存储于所述存储系统,N为大于1的整数。存储系统可以获取对所述默认备份数量的调整设置,获取第二实例产生的第二写数据请求,该第二写数据请求包括第二待写入数据,存储系统可以根据对所述默认备份数量的调整设置,在所述存储系统的存储层为所述第二待写入数据生成M个数据副本。其中,M为小于N的正整数。

该方法支持对默认备份数量进行调整,例如应用层对数据备份的情况下,可以在创建实例至将实例产生的数据写入存储系统的任意时刻,对默认备份数量进行调整,基于对默认备份数量的调整设置,对待写入数据进行备份,从而实现在满足数据安全的前提下,减少备份的副本数量,减少了存储资源浪费,提高了应用写数据的速率。

结合第一方面,在第一方面的第一种实现方式中,存储系统可以通过获取第二实例的业务类型,根据业务类型获取对默认备份数量的调整设置,无需用户手动调整备份数量,如此可以避免人为失误导致的存储资源浪费。

结合第一方面,在第一方面的第二种实现方式中,存储系统包括控制台,控制台提供有备份数量调整控件。对应地,存储系统可以根据用户通过备份数量调整控件触发的存储层备份取消操作,获得对所述默认备份数量的调整设置。如此,可以根据用户需求对备份数量进行调整,实现数据安全与存储资源的平衡。

结合第一方面,在第一方面的第三种实现方式中,存储系统包括控制台,控制台提供有安全等级选择控件,不同安全等级对应于不同备份数量。对应地,存储系统可以根据用户通过安全等级选择控件触发的安全等级选择操作,获得对默认备份数量的调整设置。如此,可以根据用户需求对备份数量进行个性化的调整,实现数据安全与存储资源的平衡。

结合第一方面或者第一方面的第一种实现方式至第三种实现方式,在第一方面的第四种实现方式中,存储系统还可以获取服务调用请求,服务调用请求包括目标服务的服务标识,存储系统可以根据服务调用请求生成目标服务的实例,其中,该实例可以是上述第一实例或者第二实例。

结合第一方面或者第一方面的第一种实现方式至第三种实现方式,在第一方面的第五种实现方式中,存储系统还可以获取实例创建请求,然后根据所述实例创建请求生成实例,所述实例包括所述第一实例或者所述第二实例。

第二方面,本申请提供了一种数据备份装置,应用于存储系统,所述存储系统预设有默认备份数量,所述默认备份数量用于为第一实例产生的第一写数据请求中包括的第一待写入数据生成N个数据副本,所述N个数据副本存储于所述存储系统,N为大于1的整数;所述装置包括:

通信模块,用于获取对所述默认备份数量的调整设置;

所述通信模块,还用于获取第二实例产生的第二写数据请求,所述第二写数据请求包括第二待写入数据;

备份模块,用于根据对所述默认备份数量的调整设置,在所述存储系统的存储层为所述第二待写入数据生成M个数据副本,所述M为小于N的正整数。

结合第二方面,在第二方面的第一种实现方式中,所述通信模块具体用于:

获取所述第二实例的业务类型;

所述装置还包括:

确定模块,用于根据所述业务类型获取对所述默认备份数量的调整设置。

结合第二方面,在第二方面的第二种实现方式中,所述存储系统包括控制台,所述控制台提供有备份数量调整控件;

所述通信模块具体用于:

根据用户通过所述备份数量调整控件触发的存储层备份取消操作,获得对所述默认备份数量的调整设置。

结合第二方面,在第二方面的第三种实现方式中,所述存储系统包括控制台,所述控制台提供有安全等级选择控件,不同安全等级对应于不同备份数量;

所述通信模块具体用于:

根据用户通过所述安全等级选择控件触发的安全等级选择操作,获得对所述默认备份数量的调整设置。

结合第二方面或第二方面的第一种实现方式至第三种实现方式,在第二方面的第四种实现方式中,所述通信模块还用于:

获取服务调用请求,所述服务调用请求包括目标服务的服务标识;

所述装置还包括:

实例生成模块,用于根据所述服务调用请求生成所述目标服务的实例,所述实例包括所述第一实例或者所述第二实例。

结合第二方面或第二方面的第一种实现方式至第三种实现方式,所述通信模块还用于:

获取实例创建请求;

所述装置还包括:

实例生成模块,用于根据所述实例创建请求生成实例,所述实例包括所述第一实例或者所述第二实例。

第三方面,本申请提供一种计算机集群,所述计算机集群包括至少一台计算机,每台计算机包括处理器和存储器。所述至少一台计算机的处理器用于执行所述至少一台计算机的存储器中存储的指令,执行如第一方面或第一方面的任一种实现方式中的方法。

第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机集群上运行时,使得计算机集群执行上述第一方面或第一方面的任一种实现方式所述的方法。

第五方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机集群上运行时,使得计算机集群执行上述第一方面或第一方面的任一种实现方式所述的方法。

附图说明

图1为本申请实施例中存储系统的模型结构图;

图2A为本申请实施例中存储系统进行数据备份的示意图;

图2B为本申请实施例中存储系统进行数据备份的示意图;

图3为本申请实施例中数据备份方法的流程图;

图4为本申请实施例中实例创建配置界面的界面示意图;

图5为本申请实施例中实例创建配置界面的界面示意图;

图6为本申请实施例中服务调用配置界面的界面示意图;

图7为本申请实施例中一种计算机集群的结构示意图。

具体实施方式

云存储是一种基于网络的存储模式。云存储服务提供商可以将网络中分散的存储设备,如位于世界各地的计算机等,映射成虚拟的存储资源池,并基于该该存储资源池提供存储服务。需要数据存储托管的用户如企业或个人等,可以通过向云存储服务提供商购买或租赁存储空间的方式使用存储服务。

上述存储服务基于存储系统实现。图1示出了存储系统的一种模型结构图。如图1所示,存储系统可以包括存储层102、基础管理层104和控制台(console)106。其中,存储层102包括至少一个存储设备。该存储设备可以是同构或者异构存储设备。例如,存储设备可以是光纤通道(fiber channel,FC)存储设备,网络附属存储(network attached storage,NAS)、因特网小型计算机系统接口(internet small computer system interface,iSCSI)等网际互联协议(Internet Protocol,IP)存储设备,或者是SCSI、串行连接SCSI(serialattached SCSI,SAS)等直连式存储设备(directed-attached storage,DAS)。这些存储设备可以通过广域网或者FC光纤通道网络连接。

位于存储层102之上的基础管理层104可以对存储设备进行映射,实现存储设备的逻辑虚拟化,形成存储资源池。基础管理层104还可以针对存储资源池创建存储卷(volume)。存储资源池可以从逻辑上划分为至少一个存储卷。每个存储卷中可以包括至少一个存储节点。其中,存储节点即为上述存储设备形成的节点。基础管理层102可以按需分配存储卷。对应地,基础管理层104还可以在不需要使用存储卷时删除存储卷。在一些情况下,基础管理层104还支持挂载存储卷以及卸载存储卷。需要说明,基础管理层104可以对存储节点进行多链路冗余管理,以及对存储节点的状态进行监控,并在存储节点故障时进行故障维护,以保障存储系统的可靠性。

基础管理层104中可以部署数据备份装置1040。数据备份装置1040可以预设默认备份数量。该默认备份数量用于为实例生成的写数据请求中包括的待写入数据生成N个数据副本。N为大于1的整数,这N个数据副本存储于存储系统的存储层102中。其中,实例(instance)可以理解为处于运行状态的应用程序。实例具体可以是以进程(process)、虚拟机(virtual machine,vm)或者容器(content)等形式存在。

该数据备份装置1040包括通信模块1042和备份模块1044。通信模块1042具体用于获取实例产生的写数据请求,备份模块1044具体用于为写数据请求中的待写入数据在存储系统的存储层102中生成至少一个数据副本。

需要说明的是,针对未对默认备份数量进行调整设置的实例(本申请称之为第一实例),备份模块1044为其产生的写数据请求包括的待写入数据(本申请称之为第一待写入数据)生成N个数据副本。对默认备份数量进行调整设置的实例(本申请称之为第二实例),备份模块1044为其产生的写数据请求包括的待写入数据(本申请称之为第二待写入数据)生成M个数据副本。其中,M为小于N的正整数。

控制台106是一种支持用户自定义其所需要的存储服务的用户界面。该用户界面可以是图形用户界面(graphical user interface,GUI)或者命令行界面(command-lineinterface,CLI)。其中,命令行界面也称作字符用户界面(character user interface,CUI)。通过上述用户界面,用户可以对需要的存储服务进行配置。例如,用户可以提供上述用户界面配置需求的存储资源类型和存储资源大小等信息。当然,用户还可以基于实例的业务类型,利用控制台106提供的备份数量调整控件手动对默认备份数量进行调整设置。

控制台106可以基于用户配置的上述信息生成租赁订单或购买订单。当接收到支付完成通知后,控制台106可以向基础管理层104传递存储层配置信息。其中,存储层配置信息具体可以包括对默认备份数量的调整设置。如此,基础管理层104基于该存储层配置信息,在存储层102为待写入数据生成数据副本。需要说明,在有些情况下,例如通过服务调用方式生成实例的情况下,基础管理层104也可以获取实例的业务类型,根据业务类型自动确定对默认备份数量的调整设置,进而基于对默认备份数量的调整设置在存储层为待写入数据生成数据副本。

在本申请中,实例可以是用户端上运行的实例。参见图2A所示的存储系统中数据备份示意图,如图2A所示,用户端200上运行有实例,该实例可以是应用的进程等等,实例可以生成写数据请求,并向存储系统发送写数据请求。其中,写数据请求包括待写入数据。若该实例对默认备份数量进行调整,则存储系统中的基础管理层104根据对默认备份数量的调整设置,在存储系统的存储层102为待写入数据生成M个数据副本。若该实例未对默认备份数量进行调整,则基础管理层104根据默认备份数量,在存储系统的存储层102为待写入数据生成N个数据副本。

在一些可能的实现方式中,实例还可以是存储系统中运行的实例。参见图2B所示的存储系统中数据备份示意图,如图2B所示,存储系统还包括计算资源池108。与存储资源池类似,计算资源池108可以由至少一个计算设备虚拟化得到。具体地,分散的计算设备可以通过网络连接,这些计算设备被映射为计算资源池,用于统一提供计算服务。其中,每个计算设备可以视为计算资源池中的一个计算节点。

在图2B所示实施例中,基础管理层104还用于实现多个计算节点之间的协同工作,控制台106还支持用户通过用户界面配置创建实例相关信息或者服务调用相关信息。在该实施例中,在创建实例时,基础管理层104可以将存储卷挂载至计算节点的实例如虚拟机(virtual machine,vm)上,如此,在进行数据备份时,可以不通过数据管理层104进行寻址,直接将待写入数据写入实例所挂载的存储卷中,获得相应的数据副本。

在图1或图2A、图2B所示实施例中,基础管理层104和控制台106可以部署于计算机集群上,计算机集群可以包括至少一台计算机。需要说明的是,基础管理层104和控制台106可以部署于同一计算机集群或部署于不同计算机集群。另外,图2A中的用户端200可以是任意具有计算能力的用户设备,例如可以是智能手机、电脑以及智能手环、智能手表等可穿戴设备。

考虑到数据安全和服务连续性,存储系统一般默认在存储层对数据进行备份,如对数据进行三备份得到三个数据副本。然而,有些应用场景下,应用层本身已对数据进行备份,在存储层再对数据进行备份将导致存储系统中存储较多的副本,如此导致了存储资源浪费,增加了应用运营成本。并且,写入较多的副本也导致应用写速率下降,进而影响应用运行效率,降低了用户体验。

基于此,本申请提供了一种数据备份方法。该方法支持对默认备份数量进行调整,并基于对默认备份数量的调整设置进行数据备份,如此可以实现数据安全性满足需求的前提下,减少写入存储层的副本数量,避免浪费存储资源,降低了应用运营成本。此外,减少写入存储层的副本数量还可以提升应用写速率,从而提高应用运行效率,提升用户体验。

下面结合附图,对本申请的实施例进行描述。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。

参见图3所示的数据备份方法的流程图,该方法可以应用于如上所示的数据备份装置1040,该方法具体包括如下步骤:

S302:数据备份装置1040获取第一实例产生的第一写数据请求。

在本申请中,第一实例是指未对默认备份数量进行调整的实例。第一实例可以是数据备份装置1040响应于实例创建请求所生成,也可以是数据备份装置1040响应于服务调用请求所生成。

在实际应用时,用户可以通过访问存储系统的控制台106,从而实现创建实例或者调用服务。具体地,用户可以通过手机、电脑等任意用户设备访问存储系统的控制台106,控制台106提供有实例创建接口和/或服务调用接口,用户可以通过实例创建接口进入实例创建流程,通过服务调用接口进入服务调用流程。

在实例创建流程中,用户设备可以显示实例创建配置界面。如图4所示,实例创建配置界面中包括实例配置组件和存储配置组件。其中,实例配置组件包括实例类型配置控件、实例数量配置控件和时长配置控件。存储配置组件包括存储资源类型配置控件和存储资源大小配置控件。

实例类型配置控件具体可以为实例类型列表中各实例类型对应的选择控件。实例类型列表中展示有各实例类型对应的规格族、规格名称、逻辑处理器(virtual centralprocess unit,vCPU)数量、内存大小、处理器型号、内网带宽以及参考价格等信息中的至少一种。用户基于实例类型列表展示的上述信息通过选择控件选中实例类型,从而实现实例类型配置。在有些情况下,实例类型配置组件中还可以包括实例类型筛选控件,用户可以通过筛选控件筛选指定数量vCPU、指定大小内存和/或指定规格名称的实例类型。当然,实例类型筛选控件也可以支持用户基于架构或者功能分类进行实例类型筛选,从而缩小选择范围,提高配置效率。

存储资源类型配置控件具体用于配置存储资源类型。存储资源类型是指云存储盘(简称云盘)的类型。在一个示例中,存储资源类型可以是机械硬盘(hard disk drive,HDD)类型或者固态硬盘(solid state drive,SSD)类型。其中,机械硬盘类型对应于普通云盘,固态硬盘类型对应于高效云盘。存储资源大小配置控件具体用于配置存储资源大小。存储资源大小是指存储资源的空间大小。在一个示例中,用户可以配置存储资源大小为20千兆二进制字节(giga binary byte,GiB)。

需要说明的是,数据备份装置1040设置有默认备份数量,即存储层为了保障数据安全默认备份的数量。考虑到一些应用本身在应用层即已备份,如分布式数据库mongodatabase、分布式文件系统(Hadoop Distributed File System,HDFS)、分布式消息组件等应用,实例创建配置界面中还可以提供备份数量调整组件40以便用户对备份数量进行调整,以减少数据备份数量。

其中,对存储层备份数量进行调整包括取消存储层备份或者减少存储层备份数量。

在一些可能的实现方式中,如图4所示,备份数量调整组件40包括备份数量调整控件402。其中,备份数量调整控件被选中时,表征触发存储层备份取消操作,备份数量调整控件未被选中时,表征不触发存储层备份取消操作。针对应用层未备份的实例,用户可以不选中该备份数量调整控件,以便存储系统后续按照默认备份数量进行数据备份,保障数据安全。

在另一些可能的实现方式中,如图5所示,备份数量调整组件40包括安全等级选择控件404,安全等级选择控件用于配置安全等级,不同安全等级对应于不同存储层备份数量。在图5的示例中,安全等级包括普通和高两个等级,其中,高等级可以对应于默认备份数量,普通等级可以对应于小于该默认备份数量的备份数量。例如默认备份数量为3时,高等级表征存储层进行3备份,普通等级表征存储层进行2备份或者1备份。在其他可能的实现方式中,安全等级选择控件404还可以提供更多的安全等级以供用户选择。针对应用层未备份的实例,用户可以选择高等级,以使得存储系统按照默认备份数量进行数据备份,保障数据安全。

实例创建配置界面中还包括实例创建确认控件,该实例创建确认控件用于触发实例创建操作。当用户完成实例配置和存储配置后,可以通过实例创建确认控件触发实例创建操作。用户设备响应于上述实例创建操作,生成实例创建请求,并向存储系统中的数据备份装置1040发送实例创建请求。需要说明的是,用户设备可以生成一个实例创建请求,在该实例创建请求中携带所有参数。在一些情况下,用户设备也可以生成多个实例创建请求,每个实例创建请求中携带部分参数,例如一个实例创建请求携带实例类型、实例数量和使用时长等参数,另一个实例创建请求携带存储资源类型和存储资源大小等参数。

数据备份装置1040响应于上述实例创建请求,在计算节点上创建实例,如创建虚拟机。用户可以将应用部署于虚拟机中,以便提供相应的服务。其中,在实例创建时以及实例创建后,均未对默认备份数量进行调整的实例即为第一实例。

在服务调用流程中,用户设备可以显示服务调用配置界面。如图6所示,服务调用配置界面可以包括服务选择组件。其中,服务选择组件提供至少一个服务以供用户选择。服务调用配置界面还可以包括节点配置组件。节点配置组件用于配置提供服务的节点。在图6所示的示例中,节点配置组件可以用于配置提供服务所需要的控制节点master和分析核心节点、分析任务节点的实例规格、实例数量等。

与实例创建流程类似,服务调用配置界面还可以包括服务调用确认控件。用户可以通过服务调用控件触发服务调用操作,用户设备可以响应于服务调用操作,生成服务调用请求,并向存储系统中的数据备份装置1040发送服务调用请求。

服务调用请求中包括目标服务的服务标识。其中,目标服务是指用户选择调用的服务。数据备份装置1040响应于上述服务调用请求,生成目标服务的实例。其中,目标服务的实例可以是运行于一个或多个计算节点上的进程。运行该进程的计算节点也可以称之为任务节点。在一些情况下,当服务调用请求中携带节点的参数时,数据备份装置还可以基于该参数创建提供服务所需要的节点,包括控制节点、分析核心节点和分析任务节点。当目标服务在应用层不进行数据备份时,数据备份装置1040可以生成第一实例。

第一实例自创建至删除的时间段称为第一实例的生命周期。在该生命周期中,第一实例可以生成第一写数据请求,该第一写数据请求中携带第一待写入数据。然后向存储系统中的数据备份装置1040发送第一写数据请求,以便在存储系统中为第一待写入数据生成数据备份,保障数据安全。

S304:数据备份装置1040根据默认备份数量,为第一实例产生的第一写数据请求中包括的第一待写入数据生成N个数据副本。

具体地,第一实例未对默认备份数量进行调整,因此,数据备份装置1040根据默认备份数量,为第一实例产生的第一写数据请求中包括的第一待写入数据生成N个数据副本,以保障数据安全。

S306:数据备份装置1040获取对所述默认备份数量的调整设置。

考虑到一些应用如分布式文件系统、分布式对象存储系统、分布式消息组件等应用,在应用层进行数据备份,如图4所示,用户可以在创建实例时,或者创建实例后,通过备份数量调整控件触发存储层备份取消操作。数据备份装置1040可以基于该存储层备份取消操作,获得对默认备份数量的调整设置。例如,将备份数量由默认备份数量调整为一。

需要说明,备份数量调整控件还可以是其他形式。例如可以是增加子控件和减少子控件的形式,基于此,对备份数量的调整设置可以是通过减少子控件减少备份数量。又例如可以是编辑控件的形式,基于此,对备份数量的调整设置可以是通过编辑控件直接编辑后的备份数量。

当然,如图5所示,用户也可以基于安全等级选择控件触发安全等级选择操作,对应地,数据备份装置1040可以根据用户通过安全等级选择控件触发的安全等级选择操作,获得对默认备份数量的调整设置。

在一些可能的实现方式中,例如实例是采用服务调用方式生成时,数据备份装置1040也可以获取实例的业务类型,根据业务类型自动确定对所述默认备份数量的调整设置。其中,业务类型可以分为分布式业务类型和非分布式业务类型。针对分布式业务类型,一般在应用层即进行备份,基于此,实例的业务类型为分布式业务类型时,数据备份装置1040可以自动对默认备份数量进行调整,以减少数据备份数量。

在进行实例创建或者服务调用时,数据备份装置1040还可以基于需求的存储资源类型、存储资源大小以及对默认备份数量的调整设置生成账单。数据备份装置1040可以向用户设备返回账单,用户设备可以在对应的用户界面,如实例创建配置界面或者服务调用配置界面显示上述账单,以便用户基于该账单确定是否触发相应的操作或者调整配置参数。在一些情况下,数据备份装置1040还基于实例类型和实例数量在内的信息生成上述账单。

S308:数据备份装置1040获取第二实例产生的第二写数据请求。

在本申请中,第二实例是指对默认备份数量进行调整的实例。与第一实例类似,第二实例可以是数据备份装置1040响应于实例创建请求所生成,也可以是数据备份装置1040响应于服务调用请求所生成。

在进行实例创建或者服务调用时,用户可以通过备份数量调整控件触发存储层备份取消操作,以对默认备份数量进行调整。用户也可以通过安全等级选择控件选择安全等级,以对默认备份数量进行调整。如此,实例创建请求或服务调用请求中还可以携带对默认备份数量的调整设置。对应地,数据备份装置1040响应于该实例创造请求或者服务调用请求生成的实例为第二实例。

针对服务调用场景,当调用的目标服务的业务类型为分布式业务类型时,数据备份装置1040也可以基于该业务类型自动获得对默认备份数量的调整设置,基于此生成的实例为第二实例。

第二实例从创建至删除的时间段称为第二实例的生命周期。在该生命周期中,第二实例可以生成第二写数据请求,该第二写数据请求中携带第二待写入数据,然后向数据备份装置1040发送该第二写数据请求,以便数据备份装置1040对第二写数据进行持久化存储。

S310:数据备份装置1040根据对所述默认备份数量的调整设置,在所述存储系统的存储层102为所述第二待写入数据生成M个数据副本。

具体地,实例为用户端上运行的实例时,数据备份装置1040可以根据对默认备份数量的调整设置,基于存储资源池中存储卷的逻辑地址和物理地址的对应关系,在存储系统的存储层为第二待写入数据生成M个数据副本。其中,M为小于N的正整数。如此,在满足数据安全性的前提下,解决了数据副本过多导致存储资源浪费和写入速率低的问题。

实例为存储系统的计算资源池中的计算节点上运行的实例时,例如是计算节点上的虚拟机时,数据备份装置1040可以根据对默认备份数量的调整设置,基于计算节点与其挂载的存储卷的对应关系,直接将第二待写入数据写入存储卷,生成M个数据副本。

需要说明的是,第一实例和第二实例的创建顺序可以是任意的。在一些可能的实现方式中,第一实例和第二实例可以并行创建,也可以按照设定的先后顺序创建。因此,S302、S304与S306至S308的执行顺序可以是并行的,也可以是先执行S302、S304然后执行S306至S308,或者是先执行S306至S308,然后执行S302至S304。在有些情况下,数据备份装置1040也可以不创建第一实例,也即S302、S304是本申请实施例的可选步骤,可以根据实际需要选择是否执行。

为了便于理解,下面结合具体示例对数据备份方法进行说明。

该示例中包括应用A和用于应用B,其中,应用A为非分布式应用,应用B为分布式应用。针对应用A创建有一个实例1,针对应用B创建有三个实例2,针对应用B创建实例时,用户对存储系统预设的默认备份数量进行调整,具体是由三调整为一。

针对实例1产生的写数据请求,数据备份装置1040按照默认备份数量,在存储层102中为该写数据请求中的待写入数据生成1*3个数据副本。

针对三个实例2产生的写数据请求,数据备份装置1040按照对默认备份数量的调整设置,在存储层102中为该写数据请求中的待写入数据生成3*1个数据副本。如果按照默认备份数量进行备份,则会生成3*3个数据副本。

由此可见,本申请实施例提供的数据备份方法可以针对应用层已备份的实例大幅减少备份的数据副本数量,减少存储资源浪费,降低应用运营成本。并且,通过减少待写入数据的副本数量,可以提高写数据效率,使得应用更为流畅,提高用户体验。

上文中结合图1至图6,详细描述了本申请实施例所提供的数据备份方法,下面将结合附图,描述根据本申请所提供的装置和设备。

参见图1所示的数据备份装置1040的结构示意图,该装置1040应用于存储系统,存储系统预设有默认备份数量,该默认备份数量用于为第一实例产生的第一写数据请求中包括的第一待写入数据生成N个数据副本,所述N个数据副本存储于所述存储系统,N为大于1的整数。所述装置1040包括:

通信模块1042,用于获取对默认备份数量的调整设置;

所述通信模块1042,还用于获取第二实例产生的第二写数据请求,所述第二写数据请求包括第二待写入数据;

备份模块1044,用于根据对所述默认备份数量的调整设置,在所述存储系统的存储层为所述第二待写入数据生成M个数据副本,所述M为小于N的正整数。

其中,通信模块1042的具体实现可以参见图3所示实施例中步骤S306、S308相关内容描述,备份模块1044的具体实现可以参见图3所示实施例中步骤S310相关内容描述,在此不再赘述。

可选的,所述通信模块1042具体用于:

获取所述第二实例的业务类型;

所述装置1040还包括:

确定模块,用于根据所述业务类型获取对所述默认备份数量的调整设置。

可选的,所述存储系统包括控制台,所述控制台提供有备份数量调整控件;

所述通信模块1042具体用于:

根据用户通过所述备份数量调整控件触发的存储层备份取消操作,获得对所述默认备份数量的调整设置。

可选的,所述存储系统包括控制台,所述控制台提供有安全等级选择控件,不同安全等级对应于不同备份数量;

所述通信模块1042具体用于:

根据用户通过所述安全等级选择控件触发的安全等级选择操作,获得对所述默认备份数量的调整设置。

可选的,所述通信模块1042还用于:

获取服务调用请求,所述服务调用请求包括目标服务的服务标识;

所述装置1040还包括:

实例生成模块,用于根据所述服务调用请求生成所述目标服务的实例,所述实例包括所述第一实例或者所述第二实例。

可选的,所述通信模块1042还用于:

获取实例创建请求;

所述装置1040还包括:

实例生成模块,用于根据所述实例创建请求生成实例,所述实例包括所述第一实例或者所述第二实例。

根据本申请实施例数据备份装置1040可对应于执行本申请实施例中描述的方法,并且数据备份装置1040的各个模块的上述和其它操作和/或功能分别为了实现图3中的各个方法的相应流程,为了简洁,在此不再赘述。

上述数据备份装置1040可以通过计算机集群实现。图7提供了一种计算机集群,图7所示的计算机集群以包括一台计算机进行示例说明。如图7所示,计算机集群500具体可以用于实现上述实施例中数据备份装置1040的功能。计算机集群500包括总线501、处理器502、通信接口503和存储器504。处理器502、存储器504和通信接口503之间通过总线501通信。总线501可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口503用于与外部通信。例如,通信接口503可以用于获取对所述默认备份数量的调整设置,或者获取第一实例产生的第一写数据请求,第二实例产生的第二写数据请求等。

其中,处理器502可以为中央处理器(central processing unit,CPU)。存储器504可以包括易失性存储器(volatile memory),例如随机存取存储器(random accessmemory,RAM)。存储器504还可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard disk drive,HDD)或固态硬盘(solid state disk,SSD)。

存储器504中存储有可执行代码,处理器502执行该可执行代码以执行前述数据备份方法。具体地,在实现数据备份装置1040的情况下,且实施例中所描述的各模块为通过软件实现的情况下,执行备份模块1044、确定模块、实例创建模块功能所需的软件或程序代码存储在存储器504中,通信模块1042功能通过通信接口503实现,处理器用于执行存储器504中的指令,执行应用于数据备份装置1040的数据备份方法。

具体地,计算机集群500通过通信接口503获取对所述默认备份数量的调整设置,通过通信接口503获取第二实例产生的第二写数据请求,然后处理器502基于存储器504中的指令执行下述操作:

根据对所述默认备份数量的调整设置,在所述存储系统的存储层为所述第二待写入数据生成M个数据副本,所述M为小于N的正整数。

可选地,所述计算机集群500可以通过通信接口503获取第二实例的业务类型;

然后基于存储器504中的指令执行下述操作:

根据所述业务类型获取对所述默认备份数量的调整设置。

可选地,所述存储系统包括控制台,所述控制台提供有备份数量调整控件;所述计算集群可以通过通信接口503,基于用户通过所述备份数量调整控件触发的存储层备份取消操作,获得对所述默认备份数量的调整设置。

可选地,所述存储系统包括控制台,所述控制台提供有安全等级选择控件,不同安全等级对应于不同备份数量;所述计算集群可以通过通信接口503,基于用户通过所述备份数量调整控件触发的存储层备份取消操作,获得对所述默认备份数量的调整设置。

可选地,所述计算机集群500还通过通信接口503获取服务调用请求,该服务调用请求包括目标服务的服务标识,所述处理器502还基于存储器504中的指令执行下述操作:

根据所述服务调用请求生成所述目标服务的实例,所述实例包括所述第一实例或者所述第二实例。

可选地,所述计算机集群500还通过通信接口503获取实例创建请求,所述处理器502还基于存储器504中的指令执行下述操作:

根据所述实例创建请求生成实例,所述实例包括所述第一实例或者所述第二实例。

需要说明的是,图7是以包括一台计算机的计算机集群500实现数据备份装置1040的功能进行示例说明的。在本申请其他可能的实现方式中,服务装置1040的功能也可以是多台计算机组成的计算机集群实现。

在一些可能的实现方式中,计算机集群可以包括多台计算机,每台计算机能够实现数据备份装置1040的全部功能。也即,计算机集群中的每台计算机的存储器504存储有实现备份模块1044、确定模块和实例生成模块功能所需的软件或程序代码。

在另一些可能的实现方式中,计算机集群可以包括多台计算机,至少一台计算机实现数据备份装置1040的部分功能,多台计算机能够通过协作实现数据备份装置104的全部功能。在一个示例中,计算机集群中的计算机可以分为如下几组,一组计算机的存储器中存储有实现备份模块1044功能所需的软件或程序代码,另一组计算机的存储器中存储有实现确定模块功能所需的软件或程序代码,还有一组计算机的存储器中存储有实现实例生成模块功能所需的软件或程序代码,如此,通过多台计算机实现数据备份装置1040的全部功能。

需要说明的是,计算机集群中的计算机还可以按照其他方式组合实现数据备份装置1040的全部功能。例如可以由一组计算机实现备份模块1044的功能,另一组计算机实现确定模块和实例生成模块的功能。本申请对此不作限定。

本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机集群上运行时,使得计算机集群执行上述应用于数据备份装置1040的数据备份方法。

本申请实施例还提供了一种计算机程序产品,所述计算机程序产品被计算机集群执行时,所述计算机集群执行前述数据备份方法的任一方法。该计算机程序产品可以为一个软件安装包,在需要使用前述数据备份方法的任一方法的情况下,可以下载该计算机程序产品并在计算机集群上执行该计算机程序产品。

另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。

相关技术
  • 一种数据库集群数据备份方法、装置、设备及存储介质
  • 数据备份方法、数据还原方法、装置、设备及存储介质
技术分类

06120113084243