一种文件备份方法、装置及计算设备转让专利
申请号 : CN202111291528.5
文献号 : CN113742140B
文献日 : 2022-03-18
发明人 : 高冲 , 叶青龙 , 贺毅涛 , 潘晨博 , 贾镇源
申请人 : 统信软件技术有限公司
摘要 :
权利要求 :
1.文件备份方法,在计算设备的操作系统中执行,所述计算设备中包括磁盘,所述磁盘上包括快照存储装置,所述方法包括步骤:将磁盘中的原文件读取到内存,得到缓存文件;
接收对缓存文件的一次或多次写入操作,根据所述写入操作对所述缓存文件进行修改,得到新缓存文件;
确定当前时间点与上一个文件快照对应的时间点之间的间隔时间,判断所述间隔时间是否超过预定时间,如果超过预定时间,则将所述新缓存文件写入磁盘,以生成与当前时间点相对应的文件快照;
将所述文件快照、当前时间点、以及所述原文件的索引节点建立关联,以生成文件快照与时间关系表,并将所述文件快照与时间关系表存储在所述快照存储装置中,其中,所述文件快照与时间关系表中包括多个时间点,每个时间点关联一个或多个原文件的快照,以便根据文件快照与时间关系表确定原文件在各个时间点的快照,所述快照存储装置还适于存储每个目录对应的目录快照信息,所述目录快照信息包括一个或多个目录快照对应的时间点和索引节点;
将所述新缓存文件回写到磁盘中的原文件;
接收基于目录名称对目标目录快照的访问请求;
基于所述目录名称从快照存储装置中获取相应的目录快照信息;
基于所述目录快照信息中的每个索引节点获取相应的文件信息,并基于一个或多个目录快照对应的时间点以及对应的文件信息,来生成目录文件与时间关系表;
基于所述目录文件与时间关系表、所述文件快照与时间关系表,来生成目标目录快照与时间关系表,并返回所述目标目录快照与时间关系表。
2.如权利要求1所述的方法,其中,在将所述新缓存文件写入磁盘,生成与当前时间点相对应的文件快照之前,还包括步骤:在磁盘中拷贝所述原文件的副本。
3.如权利要求2所述的方法,其中,在磁盘中拷贝所述原文件的副本的步骤包括:判断磁盘中是否已存在至少一个文件快照,如果否,则在磁盘中拷贝所述原文件的副本。
4.一种备份装置,驻留在计算设备的操作系统中,所述计算设备中包括磁盘,所述磁盘上包括快照存储装置,所述备份装置包括:读取模块,适于将磁盘中的原文件读取到内存,得到缓存文件;
写入模块,适于接收对缓存文件的一次或多次写入操作,根据所述写入操作对所述缓存文件进行修改,得到新缓存文件;
快照生成模块,适于确定当前时间点与上一个文件快照对应的时间点之间的间隔时间,判断所述间隔时间是否超过预定时间,如果超过预定时间,则将所述新缓存文件写入磁盘,以生成与当前时间点相对应的文件快照;并适于将所述文件快照、当前时间点、以及所述原文件的索引节点建立关联,以生成文件快照与时间关系表,并将所述文件快照与时间关系表存储在所述快照存储装置中,其中,所述文件快照与时间关系表中包括多个时间点,每个时间点关联一个或多个原文件的快照,以便根据文件快照与时间关系表确定原文件在各个时间点的快照,所述快照存储装置还适于存储每个目录对应的目录快照信息,所述目录快照信息包括一个或多个目录快照对应的时间点和索引节点;以及回写模块,适于将所述新缓存文件回写到磁盘中的原文件;
其中,所述备份装置还适于:
接收基于目录名称对目标目录快照的访问请求;
基于所述目录名称从快照存储装置中获取相应的目录快照信息;
基于所述目录快照信息中的每个索引节点获取相应的文件信息,并基于一个或多个目录快照对应的时间点以及对应的文件信息,来生成目录文件与时间关系表;
基于所述目录文件与时间关系表、所述文件快照与时间关系表,来生成目标目录快照与时间关系表,并返回所述目标目录快照与时间关系表。
5.一种计算设备,包括:
至少一个处理器;以及
存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1‑3中任一项所述的方法的指令。
6.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1‑3中任一项所述方法。
说明书 :
一种文件备份方法、装置及计算设备
技术领域
背景技术
行备份。
术方案,通过文件系统本身提供的快照功能,只能实现对该文件系统中的文件进行备份,导
致快照功能只局限某个特定的文件系统,例如在Linux系统下,仅btrfs文件系统支持快照
功能,但ext3、ext4、xfs、fat、vfat等文件系统并不支持快照功能。而在OS操作系统中,文件
系统通常是多种文件系统混合,从而不能通过这种方案来实现对文件备份。另外,上述技术
方案需要人为通过工具来创建备份文件,备份文件不能实时自动地生成。
案,备份占用空间大,也需要人为通过工具来创建备份文件,备份文件不能实时产生,而且,
备份目录和备份文件是单一的对应关系,对文件和目录的备份没有形成系统化。
发明内容
一次或多次写入操作,根据所述写入操作对所述缓存文件进行修改,得到新缓存文件;将所
述新缓存文件写入磁盘,以生成与当前时间点相对应的文件快照;以及将所述新缓存文件
回写到磁盘中的原文件。
点之间的间隔时间;判断所述间隔时间是否超过预定时间;如果超过预定时间,则将所述新
缓存文件写入磁盘,以生成与当前时间点相对应的文件快照。
副本。
生成文件快照与时间关系表;其中,所述文件快照与时间关系表中包括多个时间点,每个时
间点关联一个或多个原文件的快照。
目录对应的目录快照信息,所述目录快照信息包括一个或多个目录快照对应的时间点和索
引节点。
于所述目录快照信息中的每个索引节点获取相应的文件信息,并基于一个或多个目录快照
对应的时间点以及对应的文件信息,来生成目录文件与时间关系表;基于所述目录文件与
时间关系表、所述文件快照与时间关系表,来生成目标目录快照与时间关系表,并返回所述
目标目录快照与时间关系表。
时间关系表中的每个时间点对应的文件信息、在所述文件快照与时间关系表中进行过滤,
以获取与每个时间点相对应的一个或多个文件快照,得到与每个时间点相对应的目录快
照;基于与每个时间点相对应的目录快照,来生成所述目标目录快照与时间关系表。
一次或多次写入操作,根据所述写入操作对所述缓存文件进行修改,得到新缓存文件;快照
生成模块,适于将所述新缓存文件写入磁盘,以生成与当前时间点相对应的文件快照;以及
回写模块,适于将所述新缓存文件回写到磁盘中的原文件。
程序指令包括用于执行如上所述的文件备份方法的指令。
且,通过在磁盘中拷贝原文件的副本,使得磁盘中永久保留初始的原文件数据。这样,实现
了自动对文件修改过程以及对初始文件的双重备份。应当指出,本发明的备份方法在操作
系统中执行,适用于各种文件系统,不局限于特定文件系统。
成大量不必要的快照数据而占用磁盘空间。
更明显易懂,以下特举本发明的具体实施方式。
附图说明
旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述
以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的
部件或元素。
具体实施方式
所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围
完整的传达给本领域的技术人员。
一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心
114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、
数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器
104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,
应用122可以布置为在操作系统上由一个或多个处理器104利用程序数据124执行指令。
102的通信。操作系统120、应用122以及数据124的至少一部分可以存储在可移除储存器136
和/或不可移除储存器138上,并且在计算设备100上电或者要执行应用122时,经由储存接
口总线134而加载到系统存储器106中,并由一个或者多个处理器104来执行。
的输出设备142包括图像处理单元148和音频处理单元150。它们可以被配置为有助于经由
一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外
设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于
经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸
输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设
备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一
个或者多个其他计算设备162通过网络通信链路的通信。
以包括任何信息递送介质。“调制数据信号”可以是这样的信号,它的数据集中的一个或者
多个或者它的改变可以在信号中以编码信息的方式进行。作为非限制性的示例,通信介质
可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红
外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括
存储介质和通信介质二者。
以是诸如蜂窝电话、数码照相机、个人数字助理(PDA)、个人媒体播放器设备、无线网络浏览
设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。甚至可以被
实现为服务器,如文件服务器、数据库服务器、应用程序服务器和WEB服务器等。本发明的实
施例对此均不做限制。
条程序指令,这些程序指令可以指示处理器执行本发明的文件备份方法200,以便计算设备
100通过执行本发明的文件备份方法200来实现对各个文件系统的文件进行备份。
以在备份装置700中执行,以便备份装置700通过执行本发明的文件备份方法来实现对各个
文件系统的文件进行备份。
Linux操作系统。
作系统的具体种类,本领域技术人员都能理解该方法同样能在其他种类的操作系统,例如
Windows操作系统上实现,而不需要付出创造性的劳动。任何能通过本发明的方法来实现对
各个文件系统的文件进行备份的操作系统的种类均在本发明的保护范围之内。
之前的缓存文件中的数据有所变化。
过内核中的回写队列或sync系统将缓存文件写入磁盘,回写队列或sync系统可以调用内核
中的do_writepages()将内存中的数据(缓存文件)写入磁盘。
文件,以避免生成大量不必要的快照数据而占用磁盘空间。
之间的间隔时间,并判断该间隔时间是否超过预定时间。如果超过预定时间,则将新缓存文
件写入磁盘,以生成与当前时间点相对应的文件快照。如果未超过预定时间,说明间隔时间
较短,则不执行将新缓存文件写入磁盘、生成文件快照的操作,不会生成与当前时间点相对
应的文件快照,这样,有利于节省存储空间。
件快照,如果不存在文件快照(说明是对缓存文件的第一次写入操作),在磁盘中拷贝原文
件的副本。
拷贝原文件的副本,直接将新缓存文件写入磁盘,来生成与当前时间点相对应的文件快照。
得磁盘中永久保留初始的原文件数据。这样,实现了对文件修改过程以及对初始文件的双
重备份。
二新缓存文件Cache t2。
与t2时间点相对应的快照snapshot t2。将第二新缓存文件Cache t2回写到磁盘中的
fileA。并记录时间点t2、快照snapshot t2之间的对应关系,存储在快照存储装置
(database)中。
改,得到第三新缓存文件Cache t3。随后,如同前述步骤四 步骤六,将第三新缓存文件
~
Cache t3写入到磁盘中来生成与t3时间点相对应的快照snapshot t3。将第三新缓存文件
Cache t3回写到磁盘中的fileA。并记录时间点t3、快照snapshot t3之间的对应关系,存储
在快照存储装置(database)中。
~
中来生成与tN时间点相对应的快照snapshot tN。将Cache tN回写到磁盘中的fileA。并记
录时间点tN、快照snapshot tN之间的对应关系,存储在快照存储装置(database)中。
间而变化,并且,磁盘中的原文件fileA也在不断更新。而在各个时间点生成的文件快照
snapshot t1 snapshot tN记录了在各个时间点对文件的修改过程数据。
~
时间点(即当前时间点)、以及原文件的索引节点建立关联,以生成文件快照与时间关系表,
并将文件快照与时间关系表存储在快照存储装置中。
时间点相对应的文件快照后,分别将文件快照、当前时间点、原文件的索引节点建立关联,
存储在快照存储装置中的文件快照与时间关系表中。这样,文件快照与时间关系表可以反
映出多个时间点、多个原文件的索引节点、每个原文件对应的多个文件快照之间的关联关
系,换言之,根据文件快照与时间关系表可以确定多个原文件在各个时间点的快照。
一个或多个时间点生成的文件快照。这里,原文件例如包括文件A、文件B、文件C……文件N。
如图4所示,文件A的快照例如包括在t1时间点生成的A1快照、在t2时间点生成的A2快照、在
t4时间点生成的A3快照、以及在t7时间点生成的A4快照。文件B的快照例如包括在t2时间点
生成的B1快照、在t5时间点生成的B2快照。文件C的快照例如包括在t1时间点生成的C1快
照、在t3时间点生成的C2快照、在t5时间点生成的C3快照、以及在t7时间点生成的C4快照。
文件N的快照例如包括在t1时间点生成的N1快照、在t2时间点生成的N2快照、在t6时间点生
成的N3快照。
的索引节点。这里,可以将目录名称与目录快照信息相关联地存储,这样,可以基于目录名
称来查询获取相应的目录快照信息。
件信息。
照对应的时间点、以及目录快照对应的一个或多个文件的索引节点。
关系表。这里,图5示出了根据本发明一个实施例的目录文件与时间关系表的示意图。
信息。例如,t1时间点对应的文件信息包括文件A、文件B、文件C、文件N,t2时间点对应的文
件信息包括文件A、文件C、文件N,t3时间点对应的文件信息包括文件B,……,t7时间点对应
的文件信息包括文件A、文件C、文件N。
根据本发明一个实施例的目标目录快照与时间关系表的示意图。
取与每个时间点相对应的一个或多个文件快照,基于与时间点相对应的一个或多个文件快
照可以得到与每个时间点相对应的目录快照。这样,基于与每个时间点相对应的目录快照,
可以生成目标目录快照与时间关系表。
点对应的目录快照包含A2快照、C1快照、N2快照。同理,t5时间点对应的目录快照包含B2快
照、C3快照、N2快照。
设备100中包括适于存储文件数据的磁盘。
720适于接收对缓存文件的一次或多次写入操作,根据写入操作对缓存文件进行修改,得到
新缓存文件。快照生成模块730适于将新缓存文件写入磁盘,以生成与当前时间点相对应的
文件快照。回写模块740适于将新缓存文件回写到磁盘中的原文件。
里,读取模块710、写入模块720、快照生成模块730、回写模块740的具体执行逻辑参见前文
方法200中对步骤S210 S240的描述,此处不再赘述。
~
拷贝原文件的副本,使得磁盘中永久保留初始的原文件数据。这样,实现了自动对文件修改
过程以及对初始文件的双重备份。应当指出,本发明的备份方法在操作系统中执行,适用于
各种文件系统,不局限于特定文件系统。
成大量不必要的快照数据而占用磁盘空间。
移动硬盘、U盘、软盘、CD‑ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的
形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践
本发明的设备。
少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器
中存储的所述程序代码中的指令,执行本发明的文件备份方法。
波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它
数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可
以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为
了披露本发明的最佳实施方式。
构和技术,以便不模糊对本说明书的理解。
例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保
护的本发明要求比在每个权利要求中所明确记载的特征更多特征。因此,遵循具体实施方
式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的
单独实施例。
不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个
子模块。
元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或
子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何
组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任
何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权
利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代
替。
范围之内并且形成不同的实施例。
元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在
此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行
的功能。
须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限
定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本
技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本
发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。