CN111309526A - 文件备份、恢复方法及其装置 - Google Patents
文件备份、恢复方法及其装置 Download PDFInfo
- Publication number
- CN111309526A CN111309526A CN202010122206.7A CN202010122206A CN111309526A CN 111309526 A CN111309526 A CN 111309526A CN 202010122206 A CN202010122206 A CN 202010122206A CN 111309526 A CN111309526 A CN 111309526A
- Authority
- CN
- China
- Prior art keywords
- file
- subfile
- object identifier
- metadata
- backed
- 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.)
- Granted
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1873—Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种文件备份方法,该方法包括:响应于文件备份请求执行以下操作:确定待备份文件中包含的子文件;为每个子文件分配一个对应的第一对象标识符并将该第一对象标识符并保存成对应子文件的扩展属性信息;将目标元数据打包成数据包;为数据包分配一个第二对象标识符;以第二对象标识符为对象名将数据包上传至对象存储空间;以及以每个第一对象标识符为对象名将每个对应的子文件的文件数据上传至对象存储空间。本公开还提供了一种文件恢复方法以及一种文件备份方法和一种文件备份装置、一种文件恢复装置、一种电子设备以及一种计算机可读存储介质。
Description
技术领域
本公开涉及计算机技术领域,特别是涉及一种文件备份方法、一种文件恢复方法、一种文件备份装置、一种文件恢复装置、一种电子设备和一种计算机可读存储介质。
背景技术
对象存储作为大容量、廉价的存储方式,具有高可扩展性、高可靠性、接口简单(RESTful接口)等优点,相比于传统的存储方式具有明显的优势,非常适合于存放海量的非结构化数据。
在备份场景中,要想使用对象存储,目前的案例通常使用NBU(NetBackup)等专业备份软件对接后端的对象存储,或者直接使用RESTful接口将文件直接传入对象存储。在实现本公开实施例的过程中,发明人发现相关技术中至少存在下述问题:使用NBU需要购买额外的license;使用RESTful接口,文件的属性和扩展属性在备份过程中可能被修改甚至丢失。
发明内容
本公开的一个方面提供了一种文件备份方法,包括响应于文件备份请求执行以下操作:确定待备份文件中包含的子文件;为每个子文件分配一个对应的第一对象标识符并将该第一对象标识符保存成对应子文件的扩展属性信息;将目标元数据打包成数据包,其中,上述目标元数据包括:第一元数据和第二元数据,上述第一元数据包括上述待备份文件的文件目录和与上述待备份文件关联的属性信息及其子文件的文件目录和与上述子文件关联的属性信息,上述第二元数据包括上述子文件的扩展属性信息;为上述数据包分配一个第二对象标识符;以上述第二对象标识符为对象名将上述数据包上传至对象存储空间;以及以每个第一对象标识符为对象名将每个对应的子文件的文件数据上传至对象存储空间。
可选地,上述方法还包括:在为上述数据包分配一个第二对象标识符之后,将与上述待备份文件对应的应用的名称、版本号和上述第二对象标识符关联存储在数据库中。
可选地,上述方法还包括:在上传子文件的文件数据的过程中,确定该子文件是否存在异常;以及响应于该子文件存在异常,将该子文件的全路径记录在预设列表中,并跳过该子文件继续上传其他子文件的文件数据。
可选地,上述方法还包括:响应于其他子文件的文件数据上传完成,针对上述预设列表中的每条记录执行子文件重传操作;以及在执行子文件重传操作的过程,针对每个重传成功的子文件,从上述预设列表中删除相应的记录。
可选地,上述确定该子文件是否存在异常,包括:确定该子文件是否正在被修改;和/或确定该子文件是否发生预设错误。
本公开的另一个方面还提供了一种文件恢复方法,包括响应于文件恢复请求执行以下操作:获取备份数据包时使用的第二对象标识符,其中,上述数据包由目标元数据打包而成,上述目标元数据包括第一元数据和第二元数据,上述第一元数据包括待恢复文件的文件目录和与上述待备份文件关联的属性信息及其子文件的文件目录和与上述子文件关联的属性信息,上述第二元数据包括上述子文件的扩展属性信息,每个子文件的扩展属性信息包括备份该子文件时使用的对应的第一对象标识符;基于上述第二对象标识符从对象存储空间读取上述数据包并存储在指定存储位置;解析上述数据包得到关于上述待恢复文件的每个子文件的第一对象标识符;基于每个第一对象标识符从对象存储空间读取对应子文件的文件数据并存储在相应的数据空间中。
可选地,上述获取备份数据包时使用的第二对象标识符,包括:确定与上述待恢复文件对应的应用的名称、版本号;以及在数据库查找与上述名称和上述版本号关联存储的对象标识符作为上述第二对象标识符。
本公开的另一个方面还提供了一种文件备份装置,包括:包括处理器,上述处理器用于响应于文件备份请求执行以下操作:确定待备份文件中包含的子文件;为每个子文件分配一个对应的第一对象标识符并将该第一对象标识符保存成对应子文件的扩展属性信息;将目标元数据打包成数据包,其中,上述目标元数据包括:第一元数据和第二元数据,上述第一元数据包括上述待备份文件的文件目录和与上述待备份文件关联的属性信息及其子文件的文件目录和与上述子文件关联的属性信息,上述第二元数据包括上述子文件的扩展属性信息;为上述数据包分配一个第二对象标识符;以上述第二对象标识符为对象名将上述数据包上传至对象存储空间;以及以每个第一对象标识符为对象名将每个对应的子文件的文件数据上传至对象存储空间。
可选地,上述处理器还用于:在为上述数据包分配一个第二对象标识符之后,将与上述待备份文件对应的应用的名称、版本号和上述第二对象标识符关联存储在数据库中。
可选地,上述处理器还用于:在上传子文件的文件数据的过程中,确定该子文件是否存在异常;以及响应于该子文件存在异常,将该子文件的全路径记录在预设列表中,并跳过该子文件继续上传其他子文件的文件数据。
可选地,上述处理器还用于:响应于其他子文件的文件数据上传完成,针对上述预设列表中的每条记录执行子文件重传操作;以及在执行子文件重传操作的过程,针对每个重传成功的子文件,从上述预设列表中删除相应的记录。
可选地,上述处理器还用于:确定该子文件是否正在被修改;和/或确定该子文件是否发生预设错误。
本公开的另一个方面还提供了一种文件恢复装置,包括处理器,上述处理器用于响应于文件恢复请求执行以下操作:获取备份数据包时使用的第二对象标识符,其中,上述数据包由目标元数据打包而成,上述目标元数据包括第一元数据和第二元数据,上述第一元数据包括待恢复文件的文件目录和与上述待备份文件关联的属性信息及其子文件的文件目录和与上述子文件关联的属性信息,上述第二元数据包括上述子文件的扩展属性信息,每个子文件的扩展属性信息包括备份该子文件时使用的对应的第一对象标识符;基于上述第二对象标识符从对象存储空间读取上述数据包并存储在指定存储位置;解析上述数据包得到关于上述待恢复文件的每个子文件的第一对象标识符;基于每个第一对象标识符从对象存储空间读取对应子文件的文件数据并存储在相应的数据空间中。
可选地,上述处理器还用于:确定与上述待恢复文件对应的应用的名称、版本号;以及在数据库查找与上述名称和上述版本号关联存储的对象标识符作为上述第二对象标识符。
本公开的另一方面还提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现本公开实施例的方法。
本公开的另一方面还提供了一种计算机可读存储介质,存储有计算机可执行指令,上述指令在被执行时用于实现本公开实施例的方法。
本公开的另一方面提供了一种计算机程序,上述计算机程序包括计算机可执行指令,上述指令在被执行时用于实现本公开实施例的方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的以对象存储模式备份文件的示意图;
图2示意性示出了根据本公开实施例的文件备份方法的流程图;
图3示意性示出了根据本公开另一实施例的文件备份方法的流程图;
图4示意性示出了根据本公开实施例的文件恢复方法的流程图;
图5示意性示出了根据本公开实施例的文件备份装置的框图;
图6示意性示出了根据本公开实施例的文件恢复装置的框图;以及
图7示意性示出了根据本公开实施例的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
应用软件在使用过程中往往会产生大量的数据,这些数据通常是以文件形式保存的,称为文件数据。为了保证数据安全,通常会对文件进行备份。
如前文背景技术所述,在文件备份场景中,目前的案例通常使用NBU等专业备份软件对接后端的对象存储,或者直接使用RESTful接口将文件直接传入对象存储以实现文件备份。考虑到使用NBU进行文件备份需要购买额外的license,成本负担较重,而使用RESTful接口进行文件备份,文件的属性和扩展属性在备份过程中可能被修改甚至丢失,本公开实施例提供了一种改进型的文件备份方法和文件恢复方法,以克服相关技术中存在的上述缺陷。
图1示意性示出了根据本公开实施例的以对象存储模式备份文件的示意图。如图1所示,可以将待备份文件分成两部分,一部分为元数据,另一部分为文件数据,其中文件的元数据和文件数据单独存储到对象存储空间中。
本公开的实施例提供了一种文件备份方法以及能够应用该方法的文件备份装置。该文件备份方法包括响应于文件备份请求执行以下操作。确定待备份文件中包含的子文件。为每个子文件分配一个对应的第一对象标识符并将该第一对象标识符并保存成对应子文件的扩展属性信息。将目标元数据打包成数据包,其中,该目标元数据包括:第一元数据和第二元数据,第一元数据包括待备份文件的文件目录和与待备份文件关联的属性信息及其子文件的文件目录和与子文件关联的属性信息,第二元数据包括子文件的扩展属性信息。为该数据包分配一个第二对象标识符。以该第二对象标识符为对象名将该数据包上传至对象存储空间。以每个第一对象标识符为对象名将每个对应的子文件的文件数据上传至对象存储空间。
图2示意性示出了根据本公开实施例的文件备份方法的流程图。
如图2所示,该方法包括响应于文件备份请求执行以下操作S210~S260。
具体地,在一个实施例中,文件备份过程中,接收到来自客户端的文件备份请求后,可以先确定文件备份请求所请求备份的文件(即待备份文件),然后先对该文件的元数据进行备份,在对该文件的文件数据进行备份。
其中,元数据备份可以通过操作S210~S250实现;文件数据备份可以通过操作S210~S220和S260实现。
在操作S210,确定待备份文件中包含的子文件。
在操作S220,为每个子文件分配一个对应的第一对象标识符并将该第一对象标识符保存成对应子文件的扩展属性信息。
具体地,在操作S210和操作S220中,例如可以解析文件备份请求确定本次需要备份的文件,进而遍历该文件的文件目录以确定该文件中包含的所有子文件。然后为每个子文件分配一个唯一对象标识符(例如可以是一个唯一的64位随机数),并将分配的对象标识符作为扩展属性信息进行存储。
例如,待备份的文件包括子文件1、子文件2……、子文件N,为这些子文件随机分配的对象标识符例如可以分别是标识符1、标识符2……、标识符N。其中标识符1~标识符N彼此不同。
在操作S230,将目标元数据打包成数据包。其中,目标元数据包括:第一元数据和第二元数据,第一元数据包括待备份文件的文件目录和与待备份文件关联的属性信息及其子文件的文件目录和与子文件关联的属性信息,第二元数据包括子文件的扩展属性信息。
具体地,在打包元数据时,例如可以将待备份文件的属性信息(如包括文件的创建人信息和创建时间以及文件大小等)及其文件目录以及其子文件的属性信息(如包括各个子文件的创建人信息和创建时间以及文件大小等)和子文件的文件目录等和该文件目录下的所有子文件的扩展属性信息打包在一起形成一个数据包。
需要说明的是,在本公开实施例中,在打包元数据的过程中,例如对待备份文件的文件数据可以不做处理。
在操作S240,为数据包分配一个第二对象标识符。
具体地,在操作S240中针对数据包生成第二对象标识符的方法可以与在操作S220中针对每个子文件生成第一对象标识符的方法相同或类似,在此不再赘述。例如,可以针对该数据包生成一个唯一的64位随机数。
在操作S250,以第二对象标识符为对象名将数据包上传至对象存储空间。至此实现了对文件的元数据的备份。
在操作S260,以每个第一对象标识符为对象名将每个对应的子文件的文件数据上传至对象存储空间。
具体地,例如可以遍历待备份文件的整个文件目录,对于普通文件,例如读取其扩展属性信息中的对象标志符,以该对象标志符为对象名,将该文件的文件数据上传至对象存储空间中。至此备份过程完成,可以通知应用文件备份结束。
通过本公开实施例,由于该文件备份方法不需要购买额外的license,因而不会带来额外的经济负。此外,通过本公开实施例,在对文件进行对象存储时,由于文件的属性(如文件目录对应的元数据)和扩展属性(如子文件的对象标识符等)的相关信息在备份过程中被打包在一个打包文件中,因而这些信息难以被修改,也不容易丢失。
图3示意性示出了根据本公开另一实施例的文件备份方法的流程图。
如图3所示,该方法包括响应于文件恢复请求执行以下操作S210~S260和S370。
其中,如图3所示的操作S210~S260分别与如图2所示的操作S210~S260对应相同,在此不再赘述。
在操作S370,将与待备份文件对应的应用的名称、版本号和第二对象标识符关联存储在数据库中。
通常大量的备份文件很难管理,比如备份时可能引起对象名以及对象版本的冲突,由此在恢复文件时可能导致数据的覆盖、丢失甚至混乱。为了克服上述缺陷,在本公开实施例中,对文件备份方法做了进一步改进。即,在文件备份过程中,将备份文件所属的应用的名称、版本号以及备份文件的元数据所使用的对象标识符关联存储在指定的数据库中。由此可以解决大量备份文件管理繁杂的难题,使得大量的备份文件变得更加易于维护,该方法可广泛应用于文件备份场景。
作为一种可选的实施例,该方法例如还可以包括:在上传子文件的文件数据的过程中,确定该子文件是否存在异常;以及响应于该子文件存在异常,将该子文件的全路径记录在预设列表中,并跳过该子文件继续上传其他子文件的文件数据。
具体地,在备份文件的过程中,对于每一个子文件,都可以进行异常检测。对于异常的子文件,暂时先不进行备份,转而先对备份文件中的其他子文件进行备份。在其他子文件备份完后后,再重新对之前异常的子文件进行备份。需要说明的是,如果重新备份时子文件依然异常,则可以继续暂停对该子文件进行备份。如此循环往复,直到完成对所有子文件的备份为止。
由于子文件正在被修改或者子文件出现了其他错误可能导致子文件备份失败,因此可以将正在被修改的或者出现了其他错误的子文件定义为异常子文件。因此,在一个实施例中,确定该子文件是否存在异常例如可以包括:确定该子文件是否正在被修改;和/或确定该子文件是否发生预设错误。
进一步,作为一种可选的实施例,该方法例如还可以包括:响应于其他子文件的文件数据上传完成,针对预设列表中的每条记录执行子文件重传操作;以及在执行子文件重传操作的过程,针对每个重传成功的子文件,从预设列表中删除相应的记录。
具体地,在备份子文件的过程中,可以基于文件目录逐个遍历子文件,从而对每个子文件进行备份。在这个过程中,如果遇到子文件正在修改或子文件存在其他错误,则可以将该子文件的全路径记录在一个预先设定的列表中,并跳过该子文件。在本轮子文件备份结束后再检查该记录,并再次尝试备份。若此次备份成功,将该条记录移出列表。若此次备份依旧失败,则过后再次尝试备份,直到列表为空为止,即直到列表中的记录被全部移出为止。
本公开的实施例还提供了一种文件恢复方法以及能够应用该方法的文件恢复装置。该文件恢复方法包括响应于文件恢复请求执行以下操作。获取备份数据包时使用的第二对象标识符,其中,所述数据包由目标元数据打包而成,所述目标元数据包括待恢复文件的文件目录对应的第一元数据以及由所述待恢复文件的子文件的扩展属性信息构成的第二元数据,每个子文件的扩展属性信息包括备份该子文件时使用的对应的第一对象标识符。基于所述第二对象标识符从对象存储空间读取所述数据包并存储在指定存储位置。解析所述数据包得到关于所述待恢复文件的每个子文件的第一对象标识符。基于每个第一对象标识符从对象存储空间读取对应子文件的文件数据并存储在相应的数据空间中。
图4示意性示出了根据本公开实施例的文件恢复方法的流程图。
如图4所示,该方法例如可以包括响应于文件恢复请求执行以下操作操作S410~S440。
在操作S410,获取备份数据包时使用的第二对象标识符。其中,数据包由目标元数据打包而成,目标元数据第一元数据和第二元数据,第一元数据包括待恢复文件的文件目录和与待备份文件关联的属性信息及其子文件的文件目录和与子文件关联的属性信息,第二元数据包括子文件的扩展属性信息,每个子文件的扩展属性信息包括备份该子文件时使用的对应的第一对象标识符。
具体地,在操作S410中,例如可以解析文件恢复请求确定本次需要恢复的文件,进而依此确定之前在备份该文件的元数据时使用的对象标识符(即第二对象标识符),然后执行操作S420。
在操作S420,基于第二对象标识符从对象存储空间读取数据包并存储在指定存储位置(即指定的文件恢复位置)。
具体地,用户可以在文件恢复请求中指定文件恢复的位置。在操作S420中,在获取第二对象标识符后,可以根据该对象标识符从相应的对象存储空间读取要求恢复的文件的数据包,并将读取的数据包存储在指定的文件恢复位置,然后执行操作S430。
在操作S430,解析数据包得到关于待恢复文件的每个子文件的第一对象标识符。
由于待恢复文件的数据包包括两部分,一部分是待恢复文件的文件目录对应的第一元数据,另一部分是由待恢复文件的各个子文件的扩展属性信息构成的第二元数据。其中每个子文件的扩展属性信息包括备份该子文件时使用的对应的第一对象标识符。因此,通过解析待恢复文件的数据包,可以获得该文件的文件目录,进而通过遍历该文件目录,找到每个子文件,然后从每个子文件的扩展属性中找出该子文件的对象标识符。之后执行操作S440。
在操作S440,基于每个第一对象标识符从对象存储空间读取对应子文件的文件数据并存储在相应的数据空间中。
具体地,在操作S440中,每获取一个第一对象标识符,可以根据该对象标识符从相应的对象存储空间读取要求恢复的文件数据,并将读取的文件数据存储对应子文件的文件空间中。
通过本公开实施例,由于在对文件进行对象存储时,文件的属性(如文件目录对应的元数据)和扩展属性(如子文件的对象标识符等)的相关信息在备份过程中被打包在一个打包文件中,因而这些信息难以被修改,也不容易丢失。由此可以根据已备份的文件正确恢复出原文件。
作为一种可选的实施例,获取备份数据包时使用的第二对象标识符例如可以包括:确定与待恢复文件对应的应用的名称、版本号;以及在数据库查找与名称和版本号关联存储的对象标识符作为第二对象标识符。
通常大量的备份文件很难管理,比如备份时可能引起对象名以及对象版本的冲突,由此在恢复文件时可能导致数据的覆盖、丢失甚至混乱。为了克服上述缺陷,本公开实施例在备份文件时将备份文件所属的应用的名称、版本号以及备份文件的元数据所使用的对象标识符关联存储在指定的数据库中。由此可以解决大量备份文件管理繁杂的难题,使得大量的备份文件变得更加易于维护。并且,恢复文件时可以通过解析文件恢复请求,获得与待恢复文件对应的应用的名称、版本号,然后去数据库查找与该名称和版本号关联存储的对象标识符即可。
图5示意性示出了根据本公开实施例的文件备份装置的框图。
如图5所示,文件备份装置500例如可以包括处理器510。具体地,处理器510例如可以确定模块511、第一配置模块512、打包模块513、第二配置模块514、第一上传模块515和第二上传模块516。该文件备份装置500可以执行上面参考方法实施例部分描述的文件备份方法,在此不再赘述。
具体地,处理器510用于响应于文件备份请求执行以下操作。
通过确定模块511确定待备份文件中包含的子文件。
通过第一配置模块512为每个子文件分配一个对应的第一对象标识符并将该第一对象标识符并保存成对应子文件的扩展属性信息。
通过打包模块513将目标元数据打包成数据包,其中,目标元数据包括:第一元数据和第二元数据,第一元数据包括待备份文件的文件目录和与待备份文件关联的属性信息及其子文件的文件目录和与子文件关联的属性信息,第二元数据包括子文件的扩展属性信息。
通过第二配置模块514为数据包分配一个第二对象标识符。
通过第一上传模块515以第二对象标识符为对象名将数据包上传至对象存储空间。
通过第二上传模块516以每个第一对象标识符为对象名将每个对应的子文件的文件数据上传至对象存储空间。
作为一种可选的实施例,处理器还用于:在为数据包分配一个第二对象标识符之后,将与待备份文件对应的应用的名称、版本号和第二对象标识符关联存储在数据库中。
作为一种可选的实施例,处理器还用于:在上传子文件的文件数据的过程中,确定该子文件是否存在异常;以及响应于该子文件存在异常,将该子文件的全路径记录在预设列表中,并跳过该子文件继续上传其他子文件的文件数据。
作为一种可选的实施例,处理器还用于:响应于其他子文件的文件数据上传完成,针对预设列表中的每条记录执行子文件重传操作;以及在执行子文件重传操作的过程,针对每个重传成功的子文件,从预设列表中删除相应的记录。
作为一种可选的实施例,处理器还用于:确定该子文件是否正在被修改;和/或确定该子文件是否发生预设错误。
图6示意性示出了根据本公开实施例的文件恢复装置的框图。
如图6所示,文件恢复装置600例如可以包括处理器610。具体地,处理器610例如可以获取模块611、元数据恢复模块612、解析模块613和文件数据恢复模块614。该文件恢复装置600可以执行上面参考方法实施例部分描述的文件恢复方法,在此不再赘述。
具体地,通过获取模块611获取备份数据包时使用的第二对象标识符,其中,数据包由目标元数据打包而成,目标元数据第一元数据和第二元数据,第一元数据包括待恢复文件的文件目录和与待备份文件关联的属性信息及其子文件的文件目录和与子文件关联的属性信息,第二元数据包括子文件的扩展属性信息,每个子文件的扩展属性信息包括备份该子文件时使用的对应的第一对象标识符。
通过元数据恢复模块612基于第二对象标识符从对象存储空间读取数据包并存储在指定存储位置。
通过解析模块613解析数据包得到关于待恢复文件的每个子文件的第一对象标识符。
通过文件数据恢复模块614基于每个第一对象标识符从对象存储空间读取对应子文件的文件数据并存储在相应的数据空间中。
作为一种可选的实施例,处理器还用于:确定与待恢复文件对应的应用的名称、版本号;以及在数据库查找与名称和版本号关联存储的对象标识符作为第二对象标识符。
需要说明的是,装置部分的实施例方式与方法部分的实施例方式对应类似,并且所达到的技术效果也对应类似,在此不再赘述。
根据本公开的实施例的模块中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,确定模块511、第一配置模块512、打包模块513、第二配置模块514、第一上传模块515和第二上传模块516中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,确定模块511、第一配置模块512、打包模块513、第二配置模块514、第一上传模块515和第二上传模块516中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,确定模块511、第一配置模块512、打包模块513、第二配置模块514、第一上传模块515和第二上传模块516中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图7示意性示出了根据本公开实施例的电子设备的框图。图7示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700包括处理器710、计算机可读存储介质720。该电子设备700可以执行根据本公开实施例的方法。
具体地,处理器710例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器710还可以包括用于缓存用途的板载存储器。处理器710可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质720,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;等等。
计算机可读存储介质720可以包括计算机程序721,该计算机程序721可以包括代码/计算机可执行指令,其在由处理器710执行时使得处理器710执行根据本公开实施例的方法或其任何变形。
计算机程序721可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序721中的代码可以包括一个或多个程序模块,例如包括721A、模块721B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器710执行时,使得处理器710可以执行根据本公开实施例的方法或其任何变形。
根据本公开的实施例,确定模块511、第一配置模块512、打包模块513、第二配置模块514、第一上传模块515和第二上传模块516中的至少一个可以实现为参考图7描述的计算机程序模块,其在被处理器710执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (16)
1.一种文件备份方法,包括响应于文件备份请求执行以下操作:
确定待备份文件中包含的子文件;
为每个子文件分配一个对应的第一对象标识符并将该第一对象标识符保存成对应子文件的扩展属性信息;
将目标元数据打包成数据包,其中,所述目标元数据包括:第一元数据和第二元数据,所述第一元数据包括所述待备份文件的文件目录和与所述待备份文件关联的属性信息及其子文件的文件目录和与所述子文件关联的属性信息,所述第二元数据包括所述子文件的扩展属性信息;
为所述数据包分配一个第二对象标识符;
以所述第二对象标识符为对象名将所述数据包上传至对象存储空间;以及
以每个第一对象标识符为对象名将每个对应的子文件的文件数据上传至对象存储空间。
2.根据权利要求1所述的方法,其中,所述方法还包括:在为所述数据包分配一个第二对象标识符之后,
将与所述待备份文件对应的应用的名称、版本号和所述第二对象标识符关联存储在数据库中。
3.根据权利要求1所述的方法,其中,所述方法还包括:在上传子文件的文件数据的过程中,
确定该子文件是否存在异常;以及
响应于该子文件存在异常,将该子文件的全路径记录在预设列表中,并跳过该子文件继续上传其他子文件的文件数据。
4.根据权利要求3所述的方法,其中,还包括:
响应于其他子文件的文件数据上传完成,针对所述预设列表中的每条记录执行子文件重传操作;以及
在执行子文件重传操作的过程,针对每个重传成功的子文件,从所述预设列表中删除相应的记录。
5.根据权利要求3所述的方法,其中,所述确定该子文件是否存在异常,包括:
确定该子文件是否正在被修改;和/或
确定该子文件是否发生预设错误。
6.一种文件恢复方法,包括响应于文件恢复请求执行以下操作:
获取备份数据包时使用的第二对象标识符,其中,所述数据包由目标元数据打包而成,所述目标元数据包括第一元数据和第二元数据,所述第一元数据包括待恢复文件的文件目录和与所述待备份文件关联的属性信息及其子文件的文件目录和与所述子文件关联的属性信息,所述第二元数据包括所述子文件的扩展属性信息,每个子文件的扩展属性信息包括备份该子文件时使用的对应的第一对象标识符;
基于所述第二对象标识符从对象存储空间读取所述数据包并存储在指定存储位置;
解析所述数据包得到关于所述待恢复文件的每个子文件的第一对象标识符;
基于每个第一对象标识符从对象存储空间读取对应子文件的文件数据并存储在相应的数据空间中。
7.根据权利要求6所述的方法,其中,所述获取备份数据包时使用的第二对象标识符,包括:
确定与所述待恢复文件对应的应用的名称、版本号;以及
在数据库查找与所述名称和所述版本号关联存储的对象标识符作为所述第二对象标识符。
8.一种文件备份装置,包括处理器,所述处理器用于响应于文件备份请求执行以下操作:
确定待备份文件中包含的子文件;
为每个子文件分配一个对应的第一对象标识符并将该第一对象标识符保存成对应子文件的扩展属性信息;
将目标元数据打包成数据包,其中,所述目标元数据包括:第一元数据和第二元数据,所述第一元数据包括所述待备份文件的文件目录和与所述待备份文件关联的属性信息及其子文件的文件目录和与所述子文件关联的属性信息,所述第二元数据包括所述子文件的扩展属性信息;
为所述数据包分配一个第二对象标识符;
以所述第二对象标识符为对象名将所述数据包上传至对象存储空间;以及
以每个第一对象标识符为对象名将每个对应的子文件的文件数据上传至对象存储空间。
9.根据权利要求8所述的装置,其中,所述处理器还用于:在为所述数据包分配一个第二对象标识符之后,
将与所述待备份文件对应的应用的名称、版本号和所述第二对象标识符关联存储在数据库中。
10.根据权利要求8所述的装置,其中,所述处理器还用于:在上传子文件的文件数据的过程中,
确定该子文件是否存在异常;以及
响应于该子文件存在异常,将该子文件的全路径记录在预设列表中,并跳过该子文件继续上传其他子文件的文件数据。
11.根据权利要求10所述的装置,其中,所述处理器还用于:
响应于其他子文件的文件数据上传完成,针对所述预设列表中的每条记录执行子文件重传操作;以及
在执行子文件重传操作的过程,针对每个重传成功的子文件,从所述预设列表中删除相应的记录。
12.根据权利要求10所述的装置,其中,所述处理器还用于:
确定该子文件是否正在被修改;和/或
确定该子文件是否发生预设错误。
13.一种文件恢复装置,包括处理器,所述处理器用于响应于文件恢复请求执行以下操作:
获取备份数据包时使用的第二对象标识符,其中,所述数据包由目标元数据打包而成,所述目标元数据包括第一元数据和第二元数据,所述第一元数据包括待恢复文件的文件目录和与所述待备份文件关联的属性信息及其子文件的文件目录和与所述子文件关联的属性信息,所述第二元数据包括所述子文件的扩展属性信息,每个子文件的扩展属性信息包括备份该子文件时使用的对应的第一对象标识符;
基于所述第二对象标识符从对象存储空间读取所述数据包并存储在指定存储位置;
解析所述数据包得到关于所述待恢复文件的每个子文件的第一对象标识符;
基于每个第一对象标识符从对象存储空间读取对应子文件的文件数据并存储在相应的数据空间中。
14.根据权利要求13所述的装置,其中,所述处理器还用于:
确定与所述待恢复文件对应的应用的名称、版本号;以及
在数据库查找与所述名称和所述版本号关联存储的对象标识符作为所述第二对象标识符。
15.一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任一项所述的方法。
16.一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010122206.7A CN111309526B (zh) | 2020-02-26 | 2020-02-26 | 文件备份、恢复方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010122206.7A CN111309526B (zh) | 2020-02-26 | 2020-02-26 | 文件备份、恢复方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111309526A true CN111309526A (zh) | 2020-06-19 |
CN111309526B CN111309526B (zh) | 2023-08-15 |
Family
ID=71145267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010122206.7A Active CN111309526B (zh) | 2020-02-26 | 2020-02-26 | 文件备份、恢复方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111309526B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448978A (zh) * | 2021-07-14 | 2021-09-28 | 中国银行股份有限公司 | 同名影像文件替换操作中保证数据一致性的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180143990A1 (en) * | 2016-11-18 | 2018-05-24 | International Business Machines Corporation | Accessing records of a backup file in a network storage |
CN109491807A (zh) * | 2018-11-01 | 2019-03-19 | 浪潮软件集团有限公司 | 一种数据交换方法、装置和系统 |
CN110008062A (zh) * | 2019-03-28 | 2019-07-12 | 维沃移动通信有限公司 | 一种数据管理方法及移动终端 |
-
2020
- 2020-02-26 CN CN202010122206.7A patent/CN111309526B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180143990A1 (en) * | 2016-11-18 | 2018-05-24 | International Business Machines Corporation | Accessing records of a backup file in a network storage |
CN109491807A (zh) * | 2018-11-01 | 2019-03-19 | 浪潮软件集团有限公司 | 一种数据交换方法、装置和系统 |
CN110008062A (zh) * | 2019-03-28 | 2019-07-12 | 维沃移动通信有限公司 | 一种数据管理方法及移动终端 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448978A (zh) * | 2021-07-14 | 2021-09-28 | 中国银行股份有限公司 | 同名影像文件替换操作中保证数据一致性的方法及装置 |
CN113448978B (zh) * | 2021-07-14 | 2024-04-16 | 中国银行股份有限公司 | 同名影像文件替换操作中保证数据一致性的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111309526B (zh) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100622801B1 (ko) | 파일 시스템 액세스 방법, 파일 시스템 복원 방법, 컴퓨터 판독 가능 기록 매체 및 데이터 처리 시스템 | |
US10169165B2 (en) | Restoring data | |
US20150261619A1 (en) | Cascade ordering | |
US7330947B2 (en) | Method and apparatus for backing up data in virtual storage medium | |
US11227635B2 (en) | Recording device, readout device, recording method, recording program, readout method, readout program, and magnetic tape | |
US7849060B2 (en) | System and method for managing log information for transaction | |
CN110442648B (zh) | 数据同步方法和装置 | |
CN109491834B (zh) | 一种应用于数据库的数据恢复方法及装置 | |
CN108572888B (zh) | 磁盘快照创建方法和磁盘快照创建装置 | |
CN111581171A (zh) | 日志处理方法、装置、计算设备和介质 | |
CN111158858A (zh) | 一种虚拟机的克隆方法和装置,及计算机可读存储介质 | |
CN111309526B (zh) | 文件备份、恢复方法及其装置 | |
CN109144403B (zh) | 一种用于云盘模式切换的方法与设备 | |
WO2021171683A1 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
KR20050085136A (ko) | 정전시 복원방법 | |
JP2017531892A (ja) | ブロックレベル記憶デバイスのスナップショットを実行するための改善された装置および方法 | |
US9009430B2 (en) | Restoration of data from a backup storage volume | |
US20170286463A1 (en) | Mainframe index database to supplement a system catalog | |
US20200210375A1 (en) | Tree-conversion delta encoding | |
US8131928B2 (en) | Restoring striped volumes of data | |
WO2022044458A1 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
WO2017050029A1 (zh) | 一种数据块处理的方法、装置及设备 | |
US20230185764A1 (en) | Information processing apparatus, information processing method, and information processing program | |
CN111339046B (zh) | 针对文件的数据写入、读取和删除方法及装置 | |
CN116841463A (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 |