CN114020533A - 一种数据备份方法、装置、计算设备及存储介质 - Google Patents
一种数据备份方法、装置、计算设备及存储介质 Download PDFInfo
- Publication number
- CN114020533A CN114020533A CN202111302426.9A CN202111302426A CN114020533A CN 114020533 A CN114020533 A CN 114020533A CN 202111302426 A CN202111302426 A CN 202111302426A CN 114020533 A CN114020533 A CN 114020533A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- cache
- queues
- computing device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 120
- 238000004590 computer program Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 7
- 239000000463 material Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据备份方法,包括:计算设备与源端存储设备连接,并且计算设备包括多个缓存队列,在进行数据备份时,计算设备读取源端存储设备中存储的目标数据,并将目标数据分别写入计算设备中的各个缓存队列,每个缓存队列中存储的数据均包括该目标数据;计算设备将各个缓存队列中的目标数据均写入该缓存队列对应的存储区域,每个缓存队列对应一个存储区域,不同缓存队列对应不同存储区域。这样,在将目标数据由源端存储设备备份至多个存储区域的过程中,可以仅对源端存储设备读取一次数据,从而可以有效减少计算设备将一个源端存储设备中的数据备份至多个存储区域所需的耗时。此外,本申请还公开了对应的装置、计算设备及存储介质。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据备份方法、装置、计算设备及存储介质。
背景技术
实际应用的部分场景中,可能需要将一个源端处的数据备份至多个目的端中。比如,在影视剪辑场景中,通常会将存储卡中的影视文件素材拷贝(copy)到多个数据中心内的磁盘,以便后续基于多个磁盘上的硬件文件素材进行管理和剪辑处理。
目前,通常采用多次读写的备份逻辑,将存储于源端的数据依次备份至多个目的端中。以将存储设备A中的数据备份至存储设备B1、存储设备B2、存储设备B3为例,通常是先从存储设备A中读取待备份的数据,并将该数据写入存储设备B1中;然后,再从存储设备A中继续读取该数据,并将读取的数据写入存储设备B2中;最后,再从存储设备A中继续读取该数据,并将读取的数据再写入存储设备B3中,以此实现将一个存储设备中的数据备份至多个其它的存储设备。
但是,上述数据备份方式的耗时较长、备份效率较低。
发明内容
本申请实施例提供了一种数据备份方法、装置、计算设备及存储介质,以降低数据备份的耗时,提供数据备份效率。
第一方面,本申请实施例提供了一种数据备份方法,所述方法应用于计算设备,所述计算设备与源端存储设备连接,所述计算设备包括多个缓存队列,所述方法包括:
读取所述源端存储设备中存储的目标数据;
将所述目标数据分别写入所述多个缓存队列,所述多个缓存队列中每个缓存队列存储的数据包括所述目标数据;
将目标缓存队列中的目标数据写入所述目标缓存队列对应的存储区域,其中,所述目标缓存队列为所述多个缓存队列中的任一缓存队列,每个缓存队列对应于一个存储区域,不同缓存队列对应于不同存储区域。
在一种可能的实施方式中,所述将目标缓存队列中的目标数据写入所述目标缓存队列对应的目标存储区域,包括:
利用多个进程,将所述多个缓存队列中的目标数据并行写入所述多个缓存队列分别对应的存储区域。
在一种可能的实施方式中,所述源端存储设备存储有多个文件,所述方法还包括:
在将所述多个文件中的目标文件备份至所述多个缓存队列分别对应的存储区域后,为所述目标文件添加备份标识,所述备份标识用于指示所述目标文件完成备份。
在一种可能的实施方式中,所述方法还包括:
当针对所述多个文件的数据备份过程中断后恢复时,将所述多个文件中不具有所述备份标识的文件备份至所述多个缓存队列分别对应的存储区域。
在一种可能的实施方式中,所述源端存储设备存储有目标文件,所述目标文件中的数据在所述源端存储设备中的存储地址连续,所述目标文件中的数据包括所述目标数据;
所述方法还包括:
在将所述目标数据写入所述多个缓存队列分别对应的存储区域后,记录所述目标数据在所述源端存储设备中存储的尾地址。
在一种可能的实施方式中,所述方法还包括:
当针对所述目标文件的数据备份过程中断后恢复时,从所述尾地址开始继续将所述目标文件中的数据备份至所述多个缓存队列分别对应的存储区域。
在一种可能的实施方式中,所述目标缓存队列对应的存储区域中还存储有历史文件,所述目标数据属于目标文件,所述方法还包括:
当所述目标文件的标识与所述历史文件的标识相同时,呈现提示信息,所述提示信息用于指示所述目标缓存队列对应的存储区域中存储有与所述目标文件具有相同标识的文件。
在一种可能的实施方式中,所述目标缓存队列包括多个缓存块,并且所述多个缓存块构成环形队列。
在一种可能的实施方式中,所述计算设备与多个目的端存储设备连接,所述不同存储区域位于不同目的端存储设备。
第二方面,本申请实施例提供了一种数据备份装置,所述数据备份装置应用于计算设备,所述计算设备与源端存储设备连接,所述计算设备包括多个缓存队列,所述数据备份装置包括:
读取模块,用于读取所述源端存储设备中存储的目标数据;将所述目标数据分别写入所述多个缓存队列,所述多个缓存队列中每个缓存队列存储的数据包括所述目标数据;
写入模块,用于将目标缓存队列中的目标数据写入所述目标缓存队列对应的存储区域,其中,所述目标缓存队列为所述多个缓存队列中的任一缓存队列,每个缓存队列对应于一个存储区域,不同缓存队列对应于不同存储区域。
在一种可能的实施方式中,所述写入模块,具体用于利用多个进程,将所述多个缓存队列中的目标数据并行写入所述多个缓存队列分别对应的存储区域。
在一种可能的实施方式中,所述源端存储设备存储有多个文件,所述数据备份装置还包括:
添加标识模块,用于在将所述多个文件中的目标文件备份至所述多个缓存队列分别对应的存储区域后,为所述目标文件添加备份标识,所述备份标识用于指示所述目标文件完成备份。
在一种可能的实施方式中,所述写入模块,还用于当针对所述多个文件的数据备份过程中断后恢复时,将所述多个文件中不具有所述备份标识的文件备份至所述多个缓存队列分别对应的存储区域。
在一种可能的实施方式中,所述源端存储设备存储有目标文件,所述目标文件中的数据在所述源端存储设备中的存储地址连续,所述目标文件中的数据包括所述目标数据;
所述数据备份装置还包括:
记录模块,用于在将所述目标数据写入所述多个缓存队列分别对应的存储区域后,记录所述目标数据在所述源端存储设备中存储的尾地址。
在一种可能的实施方式中,所述写入模块,还用于当针对所述目标文件的数据备份过程中断后恢复时,从所述尾地址开始继续将所述目标文件中的数据备份至所述多个缓存队列分别对应的存储区域。
在一种可能的实施方式中,所述目标缓存队列对应的存储区域中还存储有历史文件,所述目标数据属于目标文件,所述数据备份装置还包括:
呈现模块,用于当所述目标文件的标识与所述历史文件的标识相同时,呈现提示信息,所述提示信息用于指示所述目标缓存队列对应的存储区域中存储有与所述目标文件具有相同标识的文件。
在一种可能的实施方式中,所述目标缓存队列包括多个缓存块,并且所述多个缓存块构成环形队列。
在一种可能的实施方式中,所述计算设备与多个目的端存储设备连接,所述不同存储区域位于不同目的端存储设备。
第三方面,本申请实施例还提供了一种计算设备,该计算设备可以包括处理器以及存储器:
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行上述第一方面以及第一方面中任一种实施方式所述的方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述第一方面以及第一方面中任一种实施方式所述的方法。
在本申请实施例的上述实现方式中,计算设备与源端存储设备连接,并且计算设备包括多个缓存队列,在进行数据备份时,计算设备先读取源端存储设备中存储的目标数据,并将目标数据分别写入计算设备中的各个缓存队列,并且,每个缓存队列中存储的数据均包括该目标数据;然后,计算设备将各个缓存队列中的目标数据均写入该缓存队列对应的存储区域,每个缓存队列对应于一个存储区域,而不同缓存队列对应于不同存储区域。这样,在将目标数据由源端存储设备备份至各个存区域的过程中,可以仅对源端存储设备读取一次数据,从而可以有效减少计算设备将一个源端存储设备中的数据备份至多个存储区域(如位于多个目的端存储设备的存储区域等)所需的耗时。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一示例性数据备份系统的架构示意图;
图2为本申请实施例中一种数据备份方法的流程示意图;
图3为本申请实施例提供的一示例性备份界面示意图;
图4为本申请实施例中一种数据备份装置的结构示意图;
图5为本申请实施例中一种计算设备的硬件结构示意图。
具体实施方式
参见图1,为本申请实施例提供的一种数据备份系统的结构示意图。如图1所示,数据备份系统100包括计算设备101以及多个存储设备,图1中以包括4个存储设备为例进行示例性说明,实际应用时,数据备份系统100中包括的存储设备的数量也可以是其它数量(不低于3个)。
其中,计算设备101是指具有数据处理能力的设备,例如可以是终端、服务器等。数据备份系统100中存储设备可以是具有数据存储能力的设备,如U盘、移动硬盘、磁碟、光盘、RAM、SSD或者非易失性存储器(non-volatile memory)等各种可以存储程序代码的非短暂性的(non-transitory)机器可读介质。
在一些可能的应用场景中,计算设备101可能需要将其中一个存储设备中存储的数据,备份至其余存储设备。例如,在影视剪辑场景中,计算设备101将存储设备中的影视文件素材备份至多个数据中心中的存储设备,以便数字成像技术人员(Digital ImagingTechnician,DIT)基于多个数据中心的影视文件素材进行相应的影视剪辑。为便于区分与描述,下面将存储有待备份的数据的存储设备称之为源端存储设备102,将数据备份系统100中的其余存储设备称之为目的端存储设备,如图1所示的目的端存储设备103、目的端存储设备104以及目的端存储设备105。
计算设备101在进行数据备份的过程中,如果针对各个目的端存储设备,均执行一次读取源端存储设备102中的数据以及将该数据写入该目的端存储设备,则计算设备101执行多次数据备份过程所需的耗时较长、备份效率较低。举例来说,假设计算设备101针对源端存储设备102的数据读写速度为100MB/s(兆字节/秒),针对目的端存储设备103、目的端存储设备104以及目的端存储设备105的数据读写速度分别为100MB/s、150MB/s、2000MB/s,则计算设备101通过重复读写数据的方式,将10G(吉)大小的数据由源端存储设备102备份至各个目的端存储设备的过程中,耗时大概需要3*(10*1024/100)=307.2秒(计算设备101在读取数据的同时,可以将已读取的数据直接写入目的端存储设备)。
基于此,本申请提供了一种数据备份方法,以降低数据备份的耗时,提高数据备份效率。具体实现时,计算设备101先读取源端存储设备102中存储的目标数据,并将目标数据分别写入计算设备101中的各个缓存队列,并且,每个缓存队列中存储的数据均包括该目标数据;然后,计算设备101将各个缓存队列中的目标数据均写入该缓存队列对应的目的端存储设备的存储区域。这样,在将目标数据由源端存储设备102备份至各个目的端存储设备的过程中,可以仅对源端存储设备读取一次数据,从而可以有效减少计算设备101将一个源端存储设备中的数据备份至多个目的端存储设备所需的耗时。
仍以将源端存储设备102中的10G的数据备份至目的端存储设备103、目的端存储设备104以及目的端存储设备105为例,由于计算设备101仅需从源端存储设备102中执行一次数据读取过程,因此,实现向多个目的端存储设备进行数据备份所需的耗时为(10*1024/100)=102.4秒,显著小于前述的307.2秒。
可以理解的是,图1所示的数据备份系统100的架构仅是本申请实施例提供的一个示例,实际应用时,数据备份系统100的架构不局限于图1所示示例。比如,在其它可能的数据备份系统中,计算设备101可以将源端存储设备102中的目标数据备份至计算设备101本地的多个存储区域(该存储区域对应的存储硬件位于计算设备101内部),此时,数据备份系统100中可以仅包括计算设备101以及源端存储设备102。或者,其它可能的数据备份系统中还可以包括更多功能的设备等。总之,本申请实施例可以应用于任何可适用的数据备份系统中,而不局限于上述场景示例。
为使本申请的上述目的、特征和优点能够更加明显易懂,下面将结合附图对本申请实施例中的各种非限定性实施方式进行示例性说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
参阅图2,图2示出了本申请实施例中一种数据备份系统方法的流程示意图,该方法可以应用于图1所示的数据备份系统100中,或者可以应用于其它可适用的数据备份系统等。为便于说明与理解,下面应用于图1所示的数据备份系统100为例进行说明。该方法具体可以包括:
S201:读取源端存储设备102中存储的目标数据。
作为一种示例,计算设备101可以基于用户执行的备份操作,确定将源端存储设备102中存储的目标数据备份至多个目的端存储设备中。例如,在源端存储设备102与计算设备101建立连接后,如源端存储设备102被插入计算设备101上的物理插槽等,计算设备101可以呈现如图3所示的备份界面,从而用户可以在该备份界面中指示对源端存储设备102中存储的哪些数据进行备份,或者可以由计算设备101默认将源端存储设备102中的所有数据均确定为需要进行备份的数据等。同时,用户可以指示将数据备份至哪些存储设备(也即目的端存储设备),例如用户可以在该备份界面中输入目的端存储设备的标识等。这样,计算设备101可以根据用户执行的操作,确定将源端存储设备102中的数据备份至相应的目的端存储设备中,并进一步从源端存储设备102中读取用户所指定备份的数据。
实际应用时,计算设备101在启动备份任务的过程中,可以创建用于从源端存储设备102中读取数据的进程(以下称之为读进程),并通过读进程从源端存储设备102中读取等待被备份的数据。当然,在其它可能的实现方式中,计算设备101也可以通过预设的线程、处理器等执行该数据读取任务。
值得注意的是,上述示例中,是以将数据备份至多个不同的目的端存储设备中为例进行说明,而在其它可能的示例中,计算设备101也可以是将目标存储设备中的数据备份至计算设备101上的不同存储区域,本实施例对此并不进行限定。
S202:将目标数据分别写入计算设备101中的多个缓存队列,该多个缓存队列中每个缓存队列存储的数据包括该目标数据。
本实施例中,计算设备101可以预先创建有多个缓存队列,并针对每个缓存队列,建立该缓存队列与存储区域之间的映射关系。其中,存储区域具体可以是计算设备101上用于存储数据的持久化存储区域,如内嵌至计算设备101中的硬盘等存储元件所对应的存储区域等;或者,存储区域也可以是与计算设备101外接的其它存储设备中的持久化存储区域,如图1中的目的端存储设备103中的存储区域等。
计算设备101中的读进程在从源端存储设备102中读取目标数据的过程中,可以将该目标数据分别写入各个缓存队列,以使得每个缓存队列中均存储有该目标数据。这样,读进程可以在计算设备101的缓存中将目标数据备份成多份,并通过缓存进行暂存。需要说明的是,虽然读进程会在计算设备101中重复执行将目标数据写入多个缓存队列的操作,但是,相对于计算设备101多次从源端存储设备102中重复读取相同数据的方式而言,读进程将目标数据写入多个缓存队列所需的耗时,远小于读进程多次从源端存储设备102重复读取该目标数据所需的耗时。
作为一种示例,读进程在从源端存储设备102中读取数据时,可以先对源端存储设备102中的数据进行遍历,以确定需要备份的数据在源端存储设备102中的位置。然后,读进程可以基于预设粒度读取数据,即读进程每次可以从源端存储设备102中读取出相同数据量的数据(如4M大小的数据等),以下将每次读取的数据称之为目标数据。示例性地,每次读取的目标数据的数据量大小可以是缓存队列中的一个缓存块所能存储的数据量大小,这样,读进程每次在读取出4M大小的数据后,可以将该4M数据写入每个缓存队列中的一个缓存块,并继续执行下一4M数据的读取和写入过程。实际应用时,若源端存储设备102中未被读取的数据大小不足4M,则读进程将未被读取的所有数据均写入缓存队列的一个缓存块中。其中,每个缓存队列中包括多个缓存块,并且每个缓存队列所包括的缓存块的数量可以由计算设备101进行设定,如每个缓存队列中包括10个缓存块等。
进一步地,读进程在将目标数据写入缓存队列的缓存块后,可以将该缓存块的状态设置为使用(used)状态,指示该缓存块存储有待备份数据;相应的,对于没有存储数据的缓存块,其状态可以被设置有未使用(unused)状态,从而后续读进程可以将读取的数据写入下一个处于unused状态的缓存块。
S203:将目标缓存队列中的目标数据写入目标缓存队列对应的存储区域,该目标缓存队列为多个缓存队列中的任一缓存队列,并且,每个缓存队列对应于一个存储区域,不同缓存队列对应于不同的存储区域。
作为一种实现示例,计算设备101预先在创建多个缓存队列的同时,可以同时为各个缓存队列创建相应的用于向存储区域写入数据的进程(以下简称为写进程)。这样,当缓存队列中存储有需要备份至存储区域中的数据时,各个缓存队列对应的写进程从缓存队列中查找处于used状态的缓存块,并将该缓存块中的数据写入该写进程所负责的存储区域,从而计算设备101可以利用该多个写进程将目标数据并行写入多个存储区域,进而利用多个写进程可以有效提高数据备份效率。进一步的,在将缓存块中的数据成功写入存储区域后,计算设备101可以将该缓存块的状态设置为unused状态,以便后续写进程将从源端存储设备102中读取的新数据写入该缓存块中。
实际应用时,计算设备101中的各个缓存队列例如可以是环形队列,从而计算设备101可以利用包括少量缓存块的缓存队列循环执行数据读写过程。比如,当假设缓存队列中的缓存块分别编号缓存块1至缓存块10,则读进程在将从源端存储设备102中读取的数据依次写入缓存块1、缓存块2、直至缓存块10的同时,写进程可以将缓存块1、缓存块2等缓存块中的数据依次写入存储区域。而当读进程完成向缓存块10的数据写入过程后,由于缓存块1、缓存块2中的数据通常已经被写进程写入相应的存储区域,因此,读进程可以将从源端存储设备102中读取的新数据继续从缓存块1开始进行写入。
而在其它可能的实现示例中,计算设备101也可以仅创建一个写进程,并且该一个写进程负责将多个缓存队列中的数据分别写入该缓存队列对应的存储区域。例如,写进程在将缓存队列A的缓存块a中数据写入对应的存储区域1后,可以继续将缓存队列B的缓存块b中的数据写入其对应的存储区域2等。
本实施例中,是以计算设备101利用一个或者多个写进程将缓存队列中的数据备份至多个存储区域为例,实际应用时,计算设备101也可以通过一个或者多个线程或者处理器等实现将缓存队列中的数据备份至多个存储区域,本实施例对此并不进行限定。
在进一步可能的实施方式中,写进程在将缓存队列中的数据写入存储区域的过程中,还可以根据实际应用的需求,先对缓存队列中的数据执行预设的处理操作,再将经过处理得到的数据写入存储区域。比如,写进程可以采用预设的加密/解密算法以及密钥对缓存队列中的数据进行加密/解密处理,然后再将处理得到的加密密文/解密明文写入存储区域等。或者,在其他示例中,写进程可以将缓存队列中的数据进行压缩后再写入存储区域等。
本实施例中,数据备份系统100还可以实现计算设备101从中断位置继续备份数据的功能。可以理解,实际应用场景中,计算设备101在将源端存储设备102中的数据备份至目的端存储设备的过程中,可能会因为源端存储设备102与计算设备101之间连接中断等原因,导致针对源端存储设备102的数据备份过程发生中断,即源端存储设备102中存在部分数据未被备份至各个目的端存储设备。为此,计算设备101可以基于文件粒度或者数据粒度继续从中断位置继续执行数据备份过程,以此避免对已备份的数据重新执行数据备份过程,从而提高备份中断后的数据备份效率。
作为一种实现示例,当基于文件粒度进行数据备份时,假设计算设备101需要将源端存储设备102中的多个文件备份至多个目的端存储设备上的存储区域,则计算设备101基于上述实施例所介绍的数据备份方式,在实现将该多个文件中的任一文件(以下称之为目标文件)成功备份至各个缓存队列分别对应的存储区域后,计算设备101为该目标文件添加备份标识,该备份标识用于指示该目标文件已完成由源端存储设备102至多个存储区域的备份。这样,当计算设备101针对多个文件进行数据备份过程发生备份中断以及中断恢复时,计算设备101可以查找该多个文件中不具有备份标识的文件,并针对不具有备份标识的文件进行数据备份,而对于具有备份标识的文件可以无需再执行备份过程。
作为另一种实现示例,计算设备101可以基于数据粒度进行数据备份。具体实现时,在将源端存储设备102中的目标文件备份至多个存储区域的过程中,计算设备101可以按照上述实施例提供的数据备份方式,将目标文件中的目标数据由源端存储设备102备份至多个存储区域中,并且在成功完成针对该目标数据的备份后,计算设备101可以记录该目标数据在源端存储设备102中存储的尾地址。由于目标文件中的数据在源端存储设备102中的存储地址连续,因此,通过记录该目标数据在源端存储设备102中存储的尾地址,即可确定该目标文件中已成功完成备份的数据以及尚未完成备份的数据。这样,当目标文件在备份过程中发生中断时,计算设备101可以通过记录的已备份的数据在源端存储设备102中的尾地址,确定当前未备份的数据存储位置,并从该位置开始对剩余未备份的数据继续进行备份,而对于目标文件中已经完成备份的数据可以无需再执行备份过程。
实际应用场景中,源端存储设备102中需要进行被备份的目标文件,可能会与一个或者多个存储区域中已经存储的历史文件,具有相同的标识,如具有相同的文件名称等。此时,计算设备101若直接将源端存储设备102中的目标文件备份至该存储区域中,可能会导致该存储区域中存在两个相同标识的文件,从而可能会导致后续针对该存储区域的数据访问过程发生错误等。因此,在一种可能的实施方式中,计算设备101在进行数据备份过程中,当确定所要备份的目标文件的标识与某个存储区域中存储的历史文件的标识相同时,计算设备101可以呈现提示信息,以便提示用户某个存储区域中存储有与当前所要备份的目标文件具有相同标识的文件。这样,计算设备101可以根据用户执行的指示操作,确定如何对目标文件进行处理。比如,当用户确定对该目标文件进行覆盖式备份时,计算设备101将该目标文件备份至存储区域的过程中,可以将该目标文件写入该存储区域中历史文件所对应的存储位置,从而利用目标文件的数据覆盖存储区域中历史文件的数据。又比如,当用户指示跳过复制时,计算设备101可以从源端存储设备102中选择下一文件进行备份,而无需再对该目标文件进行备份。
本实施例中,计算设备101在将目标数据由源端存储设备102备份至多个存储区域的过程中,可以仅对源端存储设备读取一次数据,从而可以有效减少计算设备101将一个源端存储设备中的数据备份至多个存储区域所需的耗时。
此外,本申请实施例还提供了一种数据备份装置。参阅图4,图4示出了本申请实施例中一种数据备份装置的结构示意图,图4所示的数据备份装置400可以应用于计算设备,计算设备与源端存储设备连接,所述计算设备包括多个缓存队列,该数据备份装置400包括:
读取模块401,用于读取所述源端存储设备中存储的目标数据,并将所述目标数据分别写入所述多个缓存队列,所述多个缓存队列中每个缓存队列存储的数据包括所述目标数据;
写入模块402,用于将目标缓存队列中的目标数据写入所述目标缓存队列对应的存储区域,其中,所述目标缓存队列为所述多个缓存队列中的任一缓存队列,每个缓存队列对应于一个存储区域,不同缓存队列对应于不同存储区域。
在一种可能的实施方式中,所述写入模块402,具体用于:
利用多个进程,将所述多个缓存队列中的目标数据并行写入所述多个缓存队列分别对应的存储区域。
在一种可能的实施方式中,所述源端存储设备存储有多个文件,所述数据备份装置400还包括:
添加标识模块403,用于在将所述多个文件中的目标文件备份至所述多个缓存队列分别对应的存储区域后,为所述目标文件添加备份标识,所述备份标识用于指示所述目标文件完成备份。
在一种可能的实施方式中,所述写入模块402,还用于当针对所述多个文件的数据备份过程中断后恢复时,将所述多个文件中不具有所述备份标识的文件备份至所述多个缓存队列分别对应的存储区域。
在一种可能的实施方式中,所述源端存储设备存储有目标文件,所述目标文件中的数据在所述源端存储设备中的存储地址连续,所述目标文件中的数据包括所述目标数据;
所述数据备份装置400还包括:
记录模块404,用于在将所述目标数据写入所述多个缓存队列分别对应的存储区域后,记录所述目标数据在所述源端存储设备中存储的尾地址。
在一种可能的实施方式中,所述写入模块402,还用于当针对所述目标文件的数据备份过程中断后恢复时,从所述尾地址开始继续将所述目标文件中的数据备份至所述多个缓存队列分别对应的存储区域。
在一种可能的实施方式中,所述目标缓存队列对应的存储区域中还存储有历史文件,所述目标数据属于目标文件,所述数据备份装置400还包括:
呈现模块405,用于当所述目标文件的标识与所述历史文件的标识相同时,呈现提示信息,所述提示信息用于指示所述目标缓存队列对应的存储区域中存储有与所述目标文件具有相同标识的文件。
在一种可能的实施方式中,所述目标缓存队列包括多个缓存块,并且所述多个缓存块构成环形队列。
在一种可能的实施方式中,所述计算设备与多个目的端存储设备连接,所述不同存储区域位于不同目的端存储设备。
需要说明的是,上述装置各模块、单元之间的信息交互、执行过程等内容,由于与本申请实施例中方法实施例基于同一构思,其带来的技术效果与本申请实施例中方法实施例相同,具体内容可参见本申请实施例前述所示的方法实施例中的叙述,此处不再赘述。
此外,本申请实施例还提供了一种计算设备。参阅图5,图5示出了本申请实施例中一种计算设备的硬件结构示意图,该计算设备500可以包括处理器501以及存储器502。
其中,所述存储器502,用于存储计算机程序;
所述处理器501,用于根据所述计算机程序执行以下步骤:
读取所述源端存储设备中存储的目标数据;
将所述目标数据分别写入所述多个缓存队列,所述多个缓存队列中每个缓存队列存储的数据包括所述目标数据;
将目标缓存队列中的目标数据写入所述目标缓存队列对应的存储区域,其中,所述目标缓存队列为所述多个缓存队列中的任一缓存队列,每个缓存队列对应于一个存储区域,不同缓存队列对应于不同存储区域。
在一种可能的实施方式中,所述处理器501具体用于根据所述计算机程序执行以下步骤:
利用多个进程,将所述多个缓存队列中的目标数据并行写入所述多个缓存队列分别对应的存储区域。
在一种可能的实施方式中,所述源端存储设备存储有多个文件,所述处理器501还用于根据所述计算机程序执行以下步骤:
在将所述多个文件中的目标文件备份至所述多个缓存队列分别对应的存储区域后,为所述目标文件添加备份标识,所述备份标识用于指示所述目标文件完成备份。
在一种可能的实施方式中,所述源端存储设备存储有目标文件,所述目标文件中的数据在所述源端存储设备中的存储地址连续,所述目标文件中的数据包括所述目标数据;所述处理器501还用于根据所述计算机程序执行以下步骤:
在将所述目标数据写入所述多个缓存队列分别对应的存储区域后,记录所述目标数据在所述源端存储设备中存储的尾地址。
在一种可能的实施方式中,所述目标缓存队列对应的存储区域中还存储有历史文件,所述目标数据属于目标文件,所述处理器501还用于根据所述计算机程序执行以下步骤:
当所述目标文件的标识与所述历史文件的标识相同时,呈现提示信息,所述提示信息用于指示所述目标缓存队列对应的存储区域中存储有与所述目标文件具有相同标识的文件。
在一种可能的实施方式中,所述目标缓存队列包括多个缓存块,并且所述多个缓存块构成环形队列。
在一种可能的实施方式中,所述计算设备与多个目的端存储设备连接,所述不同存储区域位于不同目的端存储设备。
另外,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述方法实施例中所述的数据备份方法。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,ROM)/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本申请示例性的实施方式,并非用于限定本申请的保护范围。
Claims (12)
1.一种数据备份方法,其特征在于,所述方法应用于计算设备,所述计算设备与源端存储设备连接,所述计算设备包括多个缓存队列,所述方法包括:
读取所述源端存储设备中存储的目标数据;
将所述目标数据分别写入所述多个缓存队列,所述多个缓存队列中每个缓存队列存储的数据包括所述目标数据;
将目标缓存队列中的目标数据写入所述目标缓存队列对应的存储区域,其中,所述目标缓存队列为所述多个缓存队列中的任一缓存队列,每个缓存队列对应于一个存储区域,不同缓存队列对应于不同存储区域。
2.根据权利要求1所述的方法,其特征在于,所述将目标缓存队列中的目标数据写入所述目标缓存队列对应的目标存储区域,包括:
利用多个进程,将所述多个缓存队列中的目标数据并行写入所述多个缓存队列分别对应的存储区域。
3.根据权利要求1所述的方法,其特征在于,所述源端存储设备存储有多个文件,所述方法还包括:
在将所述多个文件中的目标文件备份至所述多个缓存队列分别对应的存储区域后,为所述目标文件添加备份标识,所述备份标识用于指示所述目标文件完成备份。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当针对所述多个文件的数据备份过程中断后恢复时,将所述多个文件中不具有所述备份标识的文件备份至所述多个缓存队列分别对应的存储区域。
5.根据权利要求1所述的方法,其特征在于,所述源端存储设备存储有目标文件,所述目标文件中的数据在所述源端存储设备中的存储地址连续,所述目标文件中的数据包括所述目标数据;
所述方法还包括:
在将所述目标数据写入所述多个缓存队列分别对应的存储区域后,记录所述目标数据在所述源端存储设备中存储的尾地址。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当针对所述目标文件的数据备份过程中断后恢复时,从所述尾地址开始继续将所述目标文件中的数据备份至所述多个缓存队列分别对应的存储区域。
7.根据权利要求1所述的方法,其特征在于,所述目标缓存队列对应的存储区域中还存储有历史文件,所述目标数据属于目标文件,所述方法还包括:
当所述目标文件的标识与所述历史文件的标识相同时,呈现提示信息,所述提示信息用于指示所述目标缓存队列对应的存储区域中存储有与所述目标文件具有相同标识的文件。
8.根据权利要求1所述的方法,其特征在于,所述目标缓存队列包括多个缓存块,并且所述多个缓存块构成环形队列。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述计算设备与多个目的端存储设备连接,所述不同存储区域位于不同目的端存储设备。
10.一种数据备份装置,其特征在于,所述数据备份装置应用于计算设备,所述计算设备与源端存储设备连接,所述计算设备包括多个缓存队列,所述数据备份装置包括:
读取模块,用于读取所述源端存储设备中存储的目标数据,并将所述目标数据分别写入所述多个缓存队列,所述多个缓存队列中每个缓存队列存储的数据包括所述目标数据;
写入模块,用于将目标缓存队列中的目标数据写入所述目标缓存队列对应的存储区域,其中,所述目标缓存队列为所述多个缓存队列中的任一缓存队列,每个缓存队列对应于一个存储区域,不同缓存队列对应于不同存储区域。
11.一种计算设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行权利要求1-9中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111302426.9A CN114020533A (zh) | 2021-11-04 | 2021-11-04 | 一种数据备份方法、装置、计算设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111302426.9A CN114020533A (zh) | 2021-11-04 | 2021-11-04 | 一种数据备份方法、装置、计算设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114020533A true CN114020533A (zh) | 2022-02-08 |
Family
ID=80061380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111302426.9A Pending CN114020533A (zh) | 2021-11-04 | 2021-11-04 | 一种数据备份方法、装置、计算设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114020533A (zh) |
-
2021
- 2021-11-04 CN CN202111302426.9A patent/CN114020533A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2840495B1 (en) | Container-based processing method and apparatus | |
US9552168B2 (en) | Virtual machine backup from storage snapshot | |
US8832029B2 (en) | Incremental virtual machine backup supporting migration | |
CN102594849B (zh) | 数据备份、恢复方法、虚拟机快照删除、回滚方法及装置 | |
WO2011024688A1 (ja) | ファームウェア更新システム、及び情報機器、並びにプログラム | |
JP4941556B2 (ja) | 暗号化装置、暗号化方法および暗号化プログラム | |
US20110213954A1 (en) | Method and apparatus for generating minimum boot image | |
US10474537B2 (en) | Utilizing an incremental backup in a decremental backup system | |
CN110704161B (zh) | 虚拟机创建方法、装置及计算机设备 | |
CN114265670B (zh) | 一种内存块整理方法、介质及计算设备 | |
US11816000B2 (en) | Virtual recovery of unstructured data | |
US20160283148A1 (en) | Backup control device, backup control method, and recording medium | |
CN111858077A (zh) | 一种存储系统中io请求日志的记录方法、装置及设备 | |
CN111158858A (zh) | 一种虚拟机的克隆方法和装置,及计算机可读存储介质 | |
CN113641446A (zh) | 内存快照创建方法、装置、设备及可读存储介质 | |
CN110941516B (zh) | 操作系统还原方法、装置、设备及存储介质 | |
CN114020533A (zh) | 一种数据备份方法、装置、计算设备及存储介质 | |
CN111274176B (zh) | 一种信息处理方法、电子设备、系统及存储介质 | |
US9170942B1 (en) | System, apparatus, and method of automatic data padding | |
CN109669810B (zh) | 信息存储、存储卡恢复方法及装置、电子设备及存储介质 | |
CN110704249A (zh) | 一种保证应用一致性的方法、装置及系统 | |
CN111638980A (zh) | 基于内存映射的消息处理方法、装置、系统和存储介质 | |
US20160357470A1 (en) | Computer readable medium, information processing apparatus, and method | |
CN115016740B (zh) | 一种数据恢复方法、装置、电子设备及存储介质 | |
CN111984554B (zh) | 一种数据处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |