CN114036004B - 数据备份方法、恢复方法及装置 - Google Patents
数据备份方法、恢复方法及装置 Download PDFInfo
- Publication number
- CN114036004B CN114036004B CN202111421157.8A CN202111421157A CN114036004B CN 114036004 B CN114036004 B CN 114036004B CN 202111421157 A CN202111421157 A CN 202111421157A CN 114036004 B CN114036004 B CN 114036004B
- Authority
- CN
- China
- Prior art keywords
- data
- information
- backup
- volume
- user
- 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.)
- Active
Links
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/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据存储领域,具体涉及一种数据备份方法、恢复方法及装置,包括如下步骤:获取用户卷中本次修改数据对应的数据信息;其中,所述数据信息包括本次修改数据的偏移位置、有效长度和数据内容;基于所述偏移位置和有效长度,将本次修改数据的数据内容更新至备份卷的对应位置;为依据本次修改数据更新后的备份卷创建快照,作为全量数据集,以作为用户卷数据恢复的依据。用户在需要恢复数据时,只需要使用对应时间点的全量数据集即可恢复全部的数据,在回滚时相同位置的只需下载一次,并不会造成带宽资源的浪费。并且删除某一时间点的全量数据集时,还可依据其他全量数据集进行数据恢复,并不会造成大的数据损失。
Description
技术领域
本发明涉及数据存储领域,具体涉及一种数据备份方法、恢复方法及装置。
背景技术
用户在互联网活动过程中,每天都会产生大量的数据,这些数据对用户来说都是宝贵的物质财富。为保障数据的安全,在生产环境中通常需要有备份容灾系统将数据备份至云端。数据备份的方式包括全量备份和增量备份,由于增量备份相对于全量备份具有更多的优势,在实际操作中通常采用增量备份对数据进行备份。
在对数据进行增量备份过程中,会对每一时间点修改的数据独立创建一个备份卷作为备份点来存储数据。回滚时将会从第一个全量数据集开始回滚,一直回滚至当前备份点,这导致回滚过程中数据量复制过大,需要从最近一次全量数据集开始下载,直到当前备份点,中间必然有相同位置的重复下载,造成带宽资源的浪费。并且删除任意一个备份点,需要将目标备份点之后所有的备份点都删除,数据上的损失过大。
发明内容
因此,本发明要解决现有技术中数据回滚时,数据量复制过大;删除备份点时,数据上的损失过大的技术问题,从而提供一种数据备份方法,包括如下步骤:
获取用户卷中本次修改数据对应的数据信息;其中,所述数据信息包括本次修改数据的偏移位置、有效长度和数据内容;
基于所述偏移位置和有效长度,将本次修改数据的数据内容更新至备份卷的对应位置;
为依据本次修改数据更新后的备份卷创建快照,作为全量数据集,以作为用户卷数据恢复的依据。
优选地,在预设数据库中针对用户卷创建的包括若干个bit位的索引字段,每个bit位与用户卷中的一个存储块对应,每个bit位用于标记其对应的存储块在本次是否存在数据修改;所述获取用户卷中本次修改数据对应的数据信息,包括:
基于所述索引字段,获取用户卷中本次修改数据对应的偏移位置和有效长度;从所述用户卷中获取本次修改数据对应的数据内容;
在获取用户卷中本次修改数据对应的数据信息之后,还包括:
根据所述数据信息,生成与每个有数据修改的存储块对应的第一信息数据包,并将所述第一信息数据包存储至预设数据库。
优选地,设有预设存储结构;在根据所述数据信息,生成与每个有数据修改的存储块对应的第一信息数据包之后,还包括:
将所述第一信息数据包通过所述预设存储结构形成第二信息数据包;其中,所述第二信息数据包为满足预设要求时,通过合并偏移位置相邻的若干个第一信息数据包形成的;
所述基于所述偏移位置和有效长度,将本次修改数据的数据内容更新至备份卷的对应位置,包括:
基于第二信息数据包中的偏移位置和有效长度,将第二信息数据包中的数据内容从存储结构写入至备份卷的对应位置。
优选地,所述第二信息数据包为多个,所述将第二信息数据包中的数据内容从存储结构写入至备份卷的对应位置,包括:
逐一将第二信息数据包中的数据内容从存储结构写入至备份卷的对应位置,直至所有第二信息数据包中的数据内容全部被写入至备份卷的对应位置;
其中,在每次将一个第二信息数据包中的数据内容从存储结构写入至备份卷的对应位置后,形成一个对应的伪备份点,以作为用户卷恢复本次修改数据的依据。
优选地,所述将所述第一信息数据包通过预设存储结构形成第二信息数据包,包括:在第一信息数据包的数量满足第一阈值,或第一信息数据包存储在所述预设存储结构中的时间满足第二阈值时;
在所述预设存储结构中,合并偏移位置相邻的若干个所述第一信息数据包,形成所述第二信息数据包。
本发明实施例还提供了一种数据恢复方法,包括如下步骤:接收数据恢复指令;
基于数据恢复指令中的版本信息确定所述数据恢复指令对应的全量数据集;其中,所述全量数据集是根据上述的数据备份方法形成的;
将所述全量数据集发送至用户端,以供用户端根据所述全量数据集的数据进行数据恢复。
优选地,所述方法还包括:接收用户端发送的获取伪全量数据集恢复指令;根据伪全量数据集恢复指令中的本次修改数据的偏移位置、有效长度从备份卷中获取对应的数据段;以及从预设存储结构或预设数据库中获取信息数据包,基于信息数据包中的偏移位置和有效长度将数据内容替换数据段中的数据,形成本次修改数据反馈给用户,以供用户恢复本次修改数据;其中,信息数据包为第一信息数据包或第二信息数据包。
本发明实施例还提供了一种数据备份装置,包括:获取模块,用于获取用户卷中本次修改数据对应的数据信息;其中,所述数据信息包括本次修改数据的偏移位置、有效长度和数据内容;
更新模块,用于基于所述偏移位置和有效长度,将本次修改数据的数据内容更新至备份卷的对应位置;
快照模块,用于为依据本次修改数据更新后的备份卷创建快照,作为全量数据集,以作为用户卷数据恢复的依据。
本发明实施例还提供了一种数据恢复装置,包括:接收模块,用于接收数据恢复指令;
确定模块,用于基于数据恢复指令中的版本信息确定所述数据恢复指令对应的全量数据集;其中,所述全量数据集是根据上述的数据备份方法形成的;
发送模块,用于将所述全量数据集发送至用户端,以供用户端根据所述全量数据集的数据进行数据恢复。
本发明实施例还提供了一种计算机设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行上述的数据恢复方法或上述的数据恢复方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行上述的数据恢复方法或上述的数据恢复方法。
本发明技术方案,具有如下优点:
1.本发明提供的数据备份方法,用户每次对用户卷进行修改操作,系统均会对用户卷进行增量备份,并对整个备份卷创建快照,形成相应的全量数据集。用户在需要恢复数据时,只需要使用对应时间点的全量数据集即可恢复全部的数据,在回滚时相同位置的只需下载一次,并不会造成带宽资源的浪费。并且删除某一时间点的全量数据集时,还可依据其他全量数据集进行数据恢复,并不会造成大的数据损失。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1数据备份方法的流程图;
图2为本发明实施例1数据备份方法的结构示意图;
图3为本发明实施例1中获取本次修改数据的数据信息的流程图;
图4为本发明实施例1中索引字段与用户卷对应关系图;
图5为本发明实施例1中获取本次修改数据的数据信息的结构示意图;
图6为本发明实施例1中合并第一信息数据包的结构示意图;
图7为本发明实施例1中形成伪备份点的结构示意图;
图8为本发明实施例2数据恢复方法的流程图;
图9为本发明实施例2中恢复伪备份点的结构示意图;
图10为本发明实施例3数据备份装置的结构框图;
图11为本发明实施例4数据恢复装置的结构框图;
图12为本发明实施例5计算机设备的远离框图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
数据备份包括全量备份和增量备份,全量备份是指将用户卷中全部的数据备份至备份卷中,增量备份指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的数据。正由于增量备份所需处理的数据量少、效率高等优势,增量备份在实际操作中比全量备份更加受到欢迎。
在进行增量备份时,会对每个时间点修改的数据独立创建备份卷作为备份点来存储数据,这不仅会导致在进行数据恢复时,需要从第一个全量数据集开始回滚,一直回滚至当前备份点,在此过程中数据量复制过大,且中间必然有相同位置的重复下载,造成带宽资源的浪费。还会导致在需要删除任一备份点时,需要将目标备份点之后所有的备份点都删除,造成数据上的损失过大。为此,有必要提供一种数据备份方法,以解决上述技术问题。
实施例1
本实施例提供了一种数据备份方法,图1是说明根据本发明某些实施例,对用户卷进行增量备份,在每次备份后对备份卷创建快照,形成全量数据集的流程图。虽然下文描述的过程包括以特定的顺序出现的多个操作,但是应该清楚地了解到,这些过程也可以包括更多或者更少的操作,这些操作可以顺序执行或者并行执行(例如使用并行处理器或者多线程环境)。
本实施例提供了一种数据备份方法,用于对用户卷进行增量备份,如图1所示,所述数据备份方法包括如下步骤:
S101、获取用户卷中本次修改数据对应的数据信息。
在上述实施步骤中,修改数据包括用户在用户卷中增加的数据和针对之前数据进行更改的数据。用户可对用户卷进行操作,如果在本次操作中用户卷中的数据发生变化,则对用户卷进行增量备份,即用户对用户卷进行了修改,则需要对本次修改数据进行备份。
在针对用户卷进行备份时,需要事先创建与用户卷相同的备份卷。为将本次修改数据保存至备份卷中,需要获取用户卷中本次修改数据对应的数据信息,即需要获取本次修改数据的偏移位置、有效长度和数据内容。其中,偏移位置是指本次修改数据的起始位置,有效长度是指本次修改数据的终点位置距起始位置的长度。
S102、基于所述偏移位置和有效长度,将本次修改数据的数据内容更新至备份卷的对应位置。
在上述实施步骤中,用户卷和备份卷相同,根据用户卷中的偏移位置和有效长度,在备份卷中确定本次修改数据的位置,并将本次修改数据的数据内容备份至备份卷中,从而完成对用户卷的增量备份操作。
S103、为依据本次修改数据更新后的备份卷创建快照,作为全量数据集,以作为用户卷数据恢复的依据。
在上述实施步骤中,将本次修改数据的数据内容更新至备份卷后,对备份卷进行创建快照,形成全量数据集。需要说明的是,每个全量数据集中均包括完整的数据,即包括用户卷中本次修改的数据及历史数据,用户可根据所述全量数据集直接恢复至本时间点的所有数据。同时,快照形成的全量数据集由于内存小,存储至备份服务器中并不会占用太大空间。
举例来说,如图2所示,用户对用户卷进行修改,系统对用户卷执行读取op操作,获得本次修改数据对应的数据信息101,数据信息101中包括本次修改数据的偏移位置、有效长度和数据内容。其中,偏移位置为修改起始点1011,有效长度为数据段1012,根据用户卷中的偏移位置和有效长度在备份卷中确定出对应的位置,将本次修改数据的数据内容更新到备份卷中。即确定出备份卷中的修改起始点1011和数据段1012,将数据内容更新至对应的位置。
在将本次修改数据的数据内容备份至备份卷后,对整个备份卷创建快照,形成全量数据集102。后续用户如需要恢复本时间点的数据,只需要读取全量数据集102中的数据即可。
在上述实施例中,用户每次对用户卷进行修改操作,系统均会对用户卷进行增量备份,并对整个备份卷创建快照,形成相应的全量数据集。用户在需要恢复数据时,只需要使用对应时间点的全量数据集即可恢复全部的数据,在回滚时相同位置的只需下载一次,并不会造成带宽资源的浪费。并且删除某一时间点的全量数据集时,还可依据其他全量数据集进行数据恢复,并不会造成大的数据损失。
在一个或多个实施例中,还包括有预设数据库(可以为mysql数据库,也可以为oracle数据库),并且在预设数据库中针对用户卷创建有索引字段,所述索引字段包括若干个bit位。当用户需要对一个新的用户卷进行增量备份时,需要在备份服务器中创建一个新的备份卷,并在预设数据库中针对用户卷创建一个索引字段。当备份卷未写入数据时,备份卷在预设数据库中的状态为空闲(idle);当在对备份卷进行数据写入时,备份卷在预设数据库中的状态为忙碌(dirty)。
如图4所示,索引字段中的bit位与用户卷中的存储块对应,每个bit位的状态用于标记对应的存储块在本次修改中是否存在修改。需要说明的是,图4中每个存储块对应为4KB,其只是一种优选实施方式,本领域技术人员可根据实际情况进行合理选择,例如每个存储块对应6KB、8KB等。
如图3所示,获取用户卷中本次修改数据对应的数据信息,可包括如下步骤:
S201、基于所述索引字段,获取用户卷中本次修改数据对应的偏移位置和有效长度;S202、从所述用户卷中获取本次修改数据对应的数据内容。
根据索引字段中bit位与用户卷中存储块的对应关系,基于索引字段中bit位的状态,获得本次修改数据在用户卷中的偏移位置和有效长度,从用户卷中直接获得本次修改数据的真实数据内容。
在获取用户卷中本次修改数据对应的数据信息之后,可根据本次修改数据对应的数据信息,生成与每个有数据修改的存储块对应的第一信息数据包,并将所述第一信息数据包存储至预设数据库。需要说明的是,每个第一信息数据包中均包括数据信息——偏移位置、有效长度和数据内容,并且每个第一信息数据包中的数据信息不相同。所有第一信息数据包中的数据信息组合形成本次修改数据对应的数据信息。将本次修改数据对应的数据信息分割成若干个第一信息数据包,可加快对修改数据的读取效率。
如图5所示,用户对用户卷进行修改,索引字段201的bit位标记用户卷中的存储块是否存在修改。从索引字段201中的bit位获取有数据修改的偏移位置(offset)和有效长度(length),从用户卷中获取对应存储块的数据内容(data),形成多个第一信息数据包202,所形成的第一信息数据包202存储在预设数据库203中。
在一个或多个实施例中,还包括有预设存储结构。在根据所述数据信息,生成与每个有数据修改的存储块对应的第一信息数据包之后,还包括:将所述第一信息数据包通过所述预设存储结构形成第二信息数据包。其中,预设存储结构、预设数据库及备份卷均存在备份服务器中。
将预设数据库中的第一信息数据包存储至预设存储结构中,当满足预设要求时,通过合并偏移位置相邻的若干个第一信息数据包形成第二信息数据包。其中,预设要求可以为第一信息数据包的数量,也可以为第一信息数据包存储至预设存储结构中的时间等。即当第一信息数据包在预设存储结构中的数量满足第一阈值,或第一信息数据包存储至预设存储结构中的时间满足第二阈值时,在预设存储结构中,合并偏移位置相邻的若干个第一信息数据包,从而形成第二信息数据包。需要说明的是,第一阈值和第二阈值本领域技术人员可根据实际情况进行合理选择,在此不作限制。
举例来说,用户卷以4KB为一存储块,所形成的多个第一信息数据包中偏移位置为4KB、8KB、16KB和20KB,且第一信息数据包的数量满足第一阈值(例如4个),则合并偏移位置为4KB与8KB的第一信息数据包,合并偏移位置为16KB和20KB的第一信息数据包。
在合并若干个第一信息数据包得到第二信息数据包后,当第二信息数据包中的有效长度满足预设阈值时,可根据第二信息数据包中的偏移位置和有效长度,将第二信息数据包中的数据内容从存储结构中写入至备份卷对应的位置。需要说明的是,第二信息数据包中的偏移位置为合并的第一信息数据包中最小的偏移位置,有效长度为合并的第一信息数据包中的有效长度之和,数据内容为合并的数据内容之和。再将第二信息数据包中的数据内容写入至备份卷后,可删除相应的第二信息数据包和第一信息数据包,且存储结构可以为LSM-Tree,以此加快数据写入备份卷的速度,也可以为B-Tree。在写入数据时,可将备份卷在预设数据库中的状态修改为忙碌,在数据写入完毕后,可将备份卷在预设数据库中的状态修改为空闲。
举例来说,如图6所示,预设数据库203中存储有若干个第一信息数据包202,将第一信息数据包202从预设数据库203中读取至预设存储结构204中。当第一信息数据包202在预设存储结构204中的数量达到预设要求时,合并若干个偏移位置相邻的第一信息数据包202,形成第二信息数据包205。当第二信息数据包中的有效长度达到预设阈值8K时,将第二信息数据包中的数据内容写入至备份卷中。如将第二信息数据包205中的数据内容,在第一起始点2051和第二起始点2052的位置写入备份卷中。
第二信息数据包在预设存储结构中的数量通常为多个,逐一将第二信息数据包中的数据内容从存储结构写入至备份卷的对应位置,直至所有第二信息数据包中的数据内容全部被写入至备份卷的对应位置。数据全部写入备份卷需要较长时间,此时存在部分第二信息数据包中的数据内容已写入备份卷,部分第二信息数据包中的数据内容未写入备份卷,还存在存储结构中。
为提高用户体验,可在每次将一个第二信息数据包中的数据内容从存储结构写入至备份卷的对应位置后,形成一个对应的伪备份点,将所述伪备份点反馈至用户,用户可根据该伪备份点恢复本次修改数据。其中,伪备份点是指在形成真实快照备份点之前,一种使用数据结构记录增量数据的中间状态。在形成伪备份点后,系统加快在伪备份点之前写入的第一信息数据包的合并速率。在所有第一信息数据包的数据均写入备份卷后,对备份卷打快照,形成真实备份点,即形成全量数据集。
如图7所示,预设存储结构204中部分第一信息数据包的数据内容已写入备份卷中,使新数据替换对应位置的旧数据;部分第一信息数据包的数据内容未写入备份卷中,备份卷中对应位置仍未旧数据。已写入备份卷中的第一信息数据包已删除,未写入备份卷中的第一信息数据包通过compact的方式写入预设数据库203中,形成伪全量数据集,将其作为伪备份点反馈给用户,用户可根据所述伪备份点恢复本次修改数据。
需要说明的是,当本次修改数据全部写入备份卷后,对备份卷创建快照形成的全量数据集为真实备份点;本次修改数据未全部写入备份卷,反馈给用户的伪全量数据集为伪备份点。当存在需要删除的备份点,如果数据的备份点为真实备份点,则直接删除全量数据集;如果数据的备份点为伪备份点,将本次修改中存储在预设数据库和预设存储结构中的信息数据包全部删除,并回滚到上一次的真实备份点。
本实施例将备份数据变为小数据块,同时利用数据库的索引能力同时提升了读写性能,减少操作上读写放大的缺点。实现在增量过程中可以减少数据回滚量,删除任意一个备份点,降低大量带宽使用和存储使用。
备份卷可能会出现因为操作异常而导致的流程不能正常结束,备份卷一直处于忙碌(dirty)状态。可以通过以下方式解决:当需要修改状态为忙碌前,查询备份卷在数据库中的状态,发现也是忙碌状态;删除预设数据库中的第一信息数据包,执行回滚操作来恢复备份卷的数据。
实施例2
本实施例提供了一种数据恢复方法,图8是说明根据本发明某些实施例,为用户端恢复数据的流程图。虽然下文描述的过程包括以特定的顺序出现的多个操作,但是应该清楚地了解到,这些过程也可以包括更多或者更少的操作,这些操作可以顺序执行或者并行执行(例如使用并行处理器或者多线程环境)。
本实施例提供了一种数据恢复方法,供用户端恢复数据,如图8所示,包括如下步骤:
S301、接收数据恢复指令。
在上述实施步骤中,用户如果想要恢复某一时间点的数据,可发送数据恢复指令至备份服务器。在实施例1对用户卷进行增量备份时,所形成的全量数据集对应不同的时间点,可将不同时间点的全量数据集对应成不同的版本,以便后续对全量数据集的查找。
S302、基于数据恢复指令中的版本信息确定所述数据恢复指令对应的全量数据集。
在上述实施步骤中,全量数据集是根据实施例1中的数据备份方法形成的,并且在形成全量数据集的过程中,不同时间点的全量数据集对应不同的版本。用户在发送数据恢复指令时,指定有想要恢复数据的版本信息,可根据数据恢复指令中携带的版本信息,确定对应的全量数据集。
S303、将所述全量数据集发送至用户端,以供用户端根据所述全量数据集的数据进行数据恢复。
在上述实施步骤中,备份服务器将全量数据集发送至用户端,用户端读取全量数据集中的数据即可完成数据的恢复。在数据恢复过程中,只需要复制需要的数据,相同位置的数据只下载依次,减少回滚数据时带宽和时间的消耗,甚至直接克隆在秒级RTO实现回滚能力。
在一个或多个实施例中,用户在收到系统反馈的伪备份点时,用户可依据所述伪备份点恢复本次修改的数据。用户使用用户端发送获取伪全量数据集恢复指令,备份服务器根据伪全量数据集恢复指令中的本次修改数据的偏移位置、有效长度从备份卷中获取对应的数据段,再从预设存储结构或预设数据库中获取信息数据包,基于信息数据包中的偏移位置和有效长度替换所述数据段中的数据,形成本次修改的数据,将本次修改的数据发送给用户端,一共用户恢复本次修改数据。需要说明的是,信息数据包可以为存储在预设数据库中的第一信息数据包和存储在预设存储结构中的第二信息数据包。
举例来说,如图9所示,用户卷本次修改数据的偏移位置为4K、有效长度为16K,备份服务器对用户卷进行增量备份,此时仍有部分本次修改的数据还以第二信息数据包205的形式存储在存储结构中。用户端如需恢复本次修改数据,可基于伪备份点向备份服务器发送获取伪全量数据集恢复指令。备份服务器依据本次修改数据的偏移位置4K、有效长度16K从备份卷中获取对应的数据段206(其中包括新数据段和旧数据段);从预设数据库203中获取第一信息数据包,根据第一信息数据包中的偏移位置和有效长度替换数据段206中的旧数据段207,形成本次修改数据208,将本次修改数据208发送至用户端,以供用户恢复本次修改数据。
实施例3
本实施例提供了一种数据备份装置,如图10所示,包括:
获取模块301,用于获取用户卷中本次修改数据对应的数据信息;其中,所述数据信息包括本次修改数据的偏移位置、有效长度和数据内容;详细内容请参见实施例1中步骤S101的相关描述,此处不再赘述。
更新模块302,用于基于所述偏移位置和有效长度,将本次修改数据的数据内容更新至备份卷的对应位置;详细内容请参见实施例1中步骤S102的相关描述,此处不再赘述。
快照模块303,用于为依据本次修改数据更新后的备份卷创建快照,作为全量数据集,以作为用户卷数据恢复的依据。详细内容请参见实施例1中步骤S103的相关描述,此处不再赘述。
本实施例数据备份装置的效果可参见实施例1中的相关描述,在此不做赘述。
实施例4
本实施例提供了一种数据恢复装置,如图11所示,包括:
接收模块401,用于接收数据恢复指令;详细内容请参见实施例2中步骤S201的相关描述,此处不再赘述。
确定模块402,用于基于数据恢复指令中的版本信息确定所述数据恢复指令对应的全量数据集;其中,所述全量数据集是根据实施例1的数据备份方法形成的;详细内容请参见实施例2中步骤S202的相关描述,此处不再赘述。
发送模块403,用于将所述全量数据集发送至用户端,以供用户端根据所述全量数据集的数据进行数据恢复。详细内容请参见实施例2中步骤S203的相关描述,此处不再赘述。
本实施例数据恢复装置的效果可参见实施例2中的相关描述,在此不做赘述。
实施例5
本实施例提供了一种计算机设备,如图12所示,该计算机设备包括处理器501和存储器502,其中处理器501和存储器502可以通过总线或者其他方式连接,图12中以通过总线连接为例。
处理器501可以为中央处理器(Central Processing Unit,CPU)。处理器501还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、图形处理器(Graphics Processing Unit,GPU)、嵌入式神经网络处理器(Neural-network ProcessingUnit,NPU)或者其他专用的深度学习协处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器502作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的数据备份方法或数据恢复方法对应的程序指令/模块(如图10所示的获取模块301、更新模块302和快照模块203或接收模块401、确定模块402和发送模块403)。处理器501通过运行存储在存储器502中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例1中的数据备份方法或数据恢复方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器501所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至处理器501。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器502中,当被所述处理器501执行时,执行如图1所示实施例中的数据备份方法或数据恢复方法。
在本实施例中,存储器502存储有数据备份方法的程序指令或模块,处理器501执行存储在存储器502内的程序指令或模块时,用户每次对用户卷进行修改操作,系统均会对用户卷进行增量备份,并对整个备份卷创建快照,形成相应的全量数据集。用户在需要恢复数据时,只需要使用对应时间点的全量数据集即可恢复全部的数据,在回滚时相同位置的只需下载一次,并不会造成带宽资源的浪费。并且删除某一时间点的全量数据集时,还可依据其他全量数据集进行数据恢复,并不会造成大的数据损失。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的数据备份方法或数据恢复方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (10)
1.一种数据备份方法,其特征在于,包括如下步骤:
获取用户卷中本次修改数据对应的数据信息;其中,所述数据信息包括本次修改数据的偏移位置、有效长度和数据内容;
基于所述偏移位置和有效长度,将本次修改数据的数据内容更新至备份卷的对应位置;
为依据本次修改数据更新后的备份卷创建快照,作为全量数据集,以作为用户卷数据恢复的依据;
在获取用户卷中本次修改数据对应的数据信息之后,还包括:根据所述数据信息,生成与每个有数据修改的存储块对应的第一信息数据包,并将所述第一信息数据包存储至预设数据库;
在根据所述数据信息,生成与每个有数据修改的存储块对应的第一信息数据包之后,还包括:将所述第一信息数据包通过预设存储结构形成第二信息数据包;其中,所述第二信息数据包为满足预设要求时,通过合并偏移位置相邻的若干个第一信息数据包形成的;
所述基于所述偏移位置和有效长度,将本次修改数据的数据内容更新至备份卷的对应位置,包括:基于第二信息数据包中的偏移位置和有效长度,将第二信息数据包中的数据内容从存储结构写入至备份卷的对应位置。
2.如权利要求1所述的数据备份方法,其特征在于,在预设数据库中针对用户卷创建的包括若干个bit位的索引字段,每个bit位与用户卷中的一个存储块对应,每个bit位用于标记其对应的存储块在本次是否存在数据修改;所述获取用户卷中本次修改数据对应的数据信息,包括:
基于所述索引字段,获取用户卷中本次修改数据对应的偏移位置和有效长度;
从所述用户卷中获取本次修改数据对应的数据内容。
3.如权利要求1所述的数据备份方法,其特征在于,所述第二信息数据包为多个,所述将第二信息数据包中的数据内容从存储结构写入至备份卷的对应位置,包括:
逐一将第二信息数据包中的数据内容从存储结构写入至备份卷的对应位置,直至所有第二信息数据包中的数据内容全部被写入至备份卷的对应位置;
其中,在每次将一个第二信息数据包中的数据内容从存储结构写入至备份卷的对应位置后,形成一个对应的伪备份点,以作为用户卷恢复本次修改数据的依据。
4.如权利要求1所述的数据备份方法,其特征在于,所述将所述第一信息数据包通过预设存储结构形成第二信息数据包,包括:
在第一信息数据包的数量满足第一阈值,或第一信息数据包存储在所述预设存储结构中的时间满足第二阈值时;
在所述预设存储结构中,合并偏移位置相邻的若干个所述第一信息数据包,形成所述第二信息数据包。
5.一种数据恢复方法,其特征在于,包括如下步骤:
接收数据恢复指令;
基于数据恢复指令中的版本信息确定所述数据恢复指令对应的全量数据集;其中,所述全量数据集是根据权利要求1-4任一所述的数据备份方法形成的;
将所述全量数据集发送至用户端,以供用户端根据所述全量数据集的数据进行数据恢复。
6.如权利要求5所述的数据恢复方法,其特征在于,所述方法还包括:
接收用户端发送的获取伪全量数据集恢复指令;
根据伪全量数据集恢复指令中的本次修改数据的偏移位置、有效长度从备份卷中获取对应的数据段;以及
从预设存储结构或预设数据库中获取信息数据包,基于信息数据包中的偏移位置和有效长度将数据内容替换所述数据段中的数据,形成本次修改数据反馈给用户,以供用户恢复本次修改数据;其中,信息数据包为第一信息数据包或第二信息数据包。
7.一种数据备份装置,其特征在于,包括:
获取模块,用于获取用户卷中本次修改数据对应的数据信息;其中,所述数据信息包括本次修改数据的偏移位置、有效长度和数据内容;
更新模块,用于基于所述偏移位置和有效长度,将本次修改数据的数据内容更新至备份卷的对应位置;
快照模块,用于为依据本次修改数据更新后的备份卷创建快照,作为全量数据集,以作为用户卷数据恢复的依据;
在获取用户卷中本次修改数据对应的数据信息之后,还包括:
根据所述数据信息,生成与每个有数据修改的存储块对应的第一信息数据包,并将所述第一信息数据包存储至预设数据库;
在根据所述数据信息,生成与每个有数据修改的存储块对应的第一信息数据包之后,还包括:将所述第一信息数据包通过预设存储结构形成第二信息数据包;其中,所述第二信息数据包为满足预设要求时,通过合并偏移位置相邻的若干个第一信息数据包形成的;
所述基于所述偏移位置和有效长度,将本次修改数据的数据内容更新至备份卷的对应位置,包括:基于第二信息数据包中的偏移位置和有效长度,将第二信息数据包中的数据内容从存储结构写入至备份卷的对应位置。
8.一种数据恢复装置,其特征在于,包括:
接收模块,用于接收数据恢复指令;
确定模块,用于基于数据恢复指令中的版本信息确定所述数据恢复指令对应的全量数据集;其中,所述全量数据集是根据权利要求1-4任一所述的数据备份方法形成的;
发送模块,用于将所述全量数据集发送至用户端,以供用户端根据所述全量数据集的数据进行数据恢复。
9.一种计算机设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-4中任一项所述的数据备份 方法或5-6任一所述的数据恢复方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行权利要求1-4中任一项所述的数据备份 方法或5-6任一所述的数据恢复方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111421157.8A CN114036004B (zh) | 2021-11-26 | 2021-11-26 | 数据备份方法、恢复方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111421157.8A CN114036004B (zh) | 2021-11-26 | 2021-11-26 | 数据备份方法、恢复方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114036004A CN114036004A (zh) | 2022-02-11 |
CN114036004B true CN114036004B (zh) | 2022-09-30 |
Family
ID=80138916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111421157.8A Active CN114036004B (zh) | 2021-11-26 | 2021-11-26 | 数据备份方法、恢复方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114036004B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115421968A (zh) * | 2022-07-28 | 2022-12-02 | 超聚变数字技术有限公司 | 数据恢复方法及电子设备 |
CN116541407B (zh) * | 2023-07-07 | 2023-10-10 | 之江实验室 | 一种数据处理的方法、装置、存储介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102955861A (zh) * | 2012-11-30 | 2013-03-06 | 华为技术有限公司 | 一种基于备份文件的索引文件生成方法和装置 |
CN107544871A (zh) * | 2017-07-21 | 2018-01-05 | 新华三云计算技术有限公司 | 一种虚拟机磁盘备份方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7284019B2 (en) * | 2004-08-18 | 2007-10-16 | International Business Machines Corporation | Apparatus, system, and method for differential backup using snapshot on-write data |
US9424137B1 (en) * | 2013-09-27 | 2016-08-23 | Emc Corporation | Block-level backup of selected files |
US10705917B2 (en) * | 2015-06-30 | 2020-07-07 | Veritas Technologies Llc | Consolidated full backup of a restored virtual machine |
CN106095622A (zh) * | 2016-06-22 | 2016-11-09 | 上海爱数信息技术股份有限公司 | 数据备份方法及装置 |
US11099765B2 (en) * | 2017-09-28 | 2021-08-24 | Quantum Corporation | Data protection of container persistent storage with changed block tracking |
CN110096476B (zh) * | 2019-04-08 | 2023-06-09 | 平安科技(深圳)有限公司 | 数据备份方法、装置及计算机可读存储介质 |
CN113254267B (zh) * | 2021-05-20 | 2022-08-09 | 上海安钛飞信息技术有限公司 | 分布式数据库的数据备份方法和装置 |
CN113360322B (zh) * | 2021-06-25 | 2023-06-13 | 上海上讯信息技术股份有限公司 | 一种基于备份系统恢复数据的方法及设备 |
-
2021
- 2021-11-26 CN CN202111421157.8A patent/CN114036004B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102955861A (zh) * | 2012-11-30 | 2013-03-06 | 华为技术有限公司 | 一种基于备份文件的索引文件生成方法和装置 |
CN107544871A (zh) * | 2017-07-21 | 2018-01-05 | 新华三云计算技术有限公司 | 一种虚拟机磁盘备份方法及装置 |
Non-Patent Citations (2)
Title |
---|
A Fast Asymmetric Extremum Content Defined Chunking Algorithm for Data Deduplication in Backup Storage Systems;Yucheng Zhang等;《IEEE Transactions on Computers》;20160728;第199-211页 * |
块备份数据多版本融合方法;王树鹏等;《通信学报》;20111225;第114-121页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114036004A (zh) | 2022-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114036004B (zh) | 数据备份方法、恢复方法及装置 | |
CN102594849B (zh) | 数据备份、恢复方法、虚拟机快照删除、回滚方法及装置 | |
US11531488B2 (en) | Copy-on-write systems and methods | |
CN103473277B (zh) | 文件系统的快照方法和装置 | |
CN103765373B (zh) | 数据存储方法、数据存储装置和存储设备 | |
US9811422B2 (en) | Head start population of an image backup | |
EP3376394B1 (en) | Method and device for processing access request, and computer system | |
US20140164330A1 (en) | Pruning previously-allocated free blocks from a synthetic backup | |
US10860447B2 (en) | Database cluster architecture based on dual port solid state disk | |
US9152507B1 (en) | Pruning unwanted file content from an image backup | |
US10884871B2 (en) | Systems and methods for copying an operating source volume | |
CN110647514B (zh) | 一种元数据更新方法、装置及元数据服务器 | |
CN107203331B (zh) | 写数据的方法及装置 | |
US10120791B2 (en) | Data read apparatus, data read method, and storage medium storing data read program | |
CN104461773A (zh) | 一种虚拟机备份去重的方法 | |
CN103412824A (zh) | 写时拷贝快照方法及装置 | |
CN103838645B (zh) | 一种基于哈希的远程差异合成备份实现方法 | |
CN112162773A (zh) | 差分升级方法及装置、存储介质、终端 | |
US20160092316A1 (en) | Staged restore of a decremental backup chain | |
CN107391312B (zh) | 数据云备份方法及系统 | |
CN112912853B (zh) | 到云的任何时间点复制 | |
CN105068760A (zh) | 数据存储方法、数据存储装置和存储设备 | |
US10423494B2 (en) | Trimming unused blocks from a versioned image backup of a source storage that is stored in a sparse storage | |
CN111736778B (zh) | 数据更新方法、装置、系统和电子设备 | |
CN114327292A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |