CN114579366A - Fuse文件系统下文件实时备份方法、装置、设备及介质 - Google Patents
Fuse文件系统下文件实时备份方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114579366A CN114579366A CN202210227336.6A CN202210227336A CN114579366A CN 114579366 A CN114579366 A CN 114579366A CN 202210227336 A CN202210227336 A CN 202210227336A CN 114579366 A CN114579366 A CN 114579366A
- Authority
- CN
- China
- Prior art keywords
- file
- backed
- content
- action
- backup
- 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
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000004590 computer program Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 10
- 238000012217 deletion Methods 0.000 description 5
- 230000037430 deletion Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请涉及一种FUSE文件系统下文件实时备份方法、装置、设备及介质,应用于文件备份技术领域,其方法包括:响应于文件保存指令,检测本次保存的底层执行动作;获取与所述底层执行动作相对应的预设备份策略;获取待备份文件内容;基于所述预设备份策略对待备份文件内容进行备份。本申请具有减少数据的丢失的效果。
Description
技术领域
本申请涉及文件备份的技术领域,尤其是涉及一种FUSE文件系统下文件实时备份方法、装置、设备及介质。
背景技术
FUSE 是Linux下的一个用户态文件系统框架,可以在用户态运行一个程序,该程序暴露出一个FUSE文件系统,对该文件系统进行的读写操作都会被转给用户态的程序处理。
在涉密电子文件系统中,由于例如电脑死机、断电等客观因素和例如用户误操作等主观因素的影响,因此存在重要文件丢失的意外情况,由于意外发生时文件没来得及备份,从而容易造成文件丢失或者损坏等不利影响。
目前在FUSE文件系统下的备份方式主要分为两种,一种是周期定时备份,即一天、几天或者一周等这种周期调用备份程序对待备份文件进行备份,另外一种是文件关闭时备份,即通过检查文件的关闭动作,当点击关闭按钮或者其它关闭行为被检测到后调用备份程序对待备份文件进行备份。
上述两种方式均无法做到保存文件即备份的实时备份,例如用户正在编辑文件,此时未点击关闭也没有到周期备份的时间,电脑突然断电,正在编辑的文件如果被损坏,那之前所有的数据都会丢失,这会增加用户的工作量;而如果文件中包含重要或者敏感数据,并且当数据获取难度较大时,则会造成无法挽回的损失,同时会增加用户的工作量。
发明内容
为了减少数据的丢失,本申请提供一种FUSE文件系统下文件实时备份方法、装置、设备及介质。
第一方面,本申请提供一种FUSE文件系统下文件实时备份方法,采用如下的技术方案:
一种FUSE文件系统下文件实时备份方法,包括:
响应于文件保存指令,检测本次保存的底层执行动作;
获取与所述底层执行动作相对应的预设备份策略;
获取待备份文件内容;
基于所述预设备份策略对待备份文件内容进行备份。
通过采用上述技术方案,在对文件进行备份的时候,根据程序的底层执行动作获取该程序得到保存方式并选择适用于该保存方式的预设备份策略,灵活适应不同的保存方式,根据待备份文件内容和预设备份策略对待备份文件进行备份,即文件保存一次就备份一次,从而减少数据的丢失。
可选的,所述待备份文件内容为上一次保存的文件内容或者本次保存的文件内容。
可选的,所述底层执行动作为临时文件创建动作、临时文件编写动作或者临时文件重命名动作;所述基于所述预设备份策略对待备份文件内容进行备份包括:
若所述待备份文件内容为上一次保存的文件内容,则在rename接口执行重命名动作之前调用备份程序对所述待备份文件进行备份;
若所述待备份文件内容为本次保存的文件内容,则在rename接口执行后调用备份程序对所述待备份文件进行备份。
可选的,所述底层执行动作为调用open接口动作、调用write接口动作或者调用close接口动作;所述基于所述预设备份策略对待备份文件内容进行备份包括:
检测open接口参数的truncate标志位是否为true;当所述truncate标志位为true时,若所述待备份文件内容为上一次保存的文件内容,则在open接口执行删除动作之前调用备份程序对待备份文件进行备份;
若所述待备份文件内容为本次保存的文件内容,则获取write接口参数的write标志位,当write标志位为true时,在close接口执行关闭动作之前调用备份程序对待备份文件进行备份。
可选的,所述底层执行动作为调用open接口动作、调用truncate接口、调用write接口动作或者调用close接口动作;所述基于所述预设备份策略对待备份文件内容进行备份包括:
若所述待备份文件内容为上一次保存的文件内容,则在truncate接口执行删除动作之前调用备份程序对待备份文件进行备份;
若所述待备份文件内容为本次保存的文件内容,则获取write接口参数的write标志位,当write标志位为true时,在close接口执行关闭动作之前调用备份程序对待备份文件进行备份。
可选的,在所述基于所述预设备份策略对待备份文件内容进行备份之前,还包括:
判断所述待备份文件内容是否为空,若为空则不进行备份,若不为空则进行备份。
可选的,在所述基于所述预设备份策略对待备份文件内容进行备份之前,还包括:
判断所述待备份文件内容是否为第一次备份,若为第一次则将所述待备份文件内容进行备份,若不为第一次则不进行备份。
第二方面,本申请提供一种FUSE文件系统下文件实时备份装置,采用如下的技术方案:
一种FUSE文件系统下文件实时备份装置,包括:
动作检测模块,用于响应于文件保存指令,检测本次保存的底层执行动作;
策略获取模块,用于获取与所述底层执行动作相对应的预设备份策略;
内容获取模块,用于获取待备份文件内容;
文件备份模块,用于基于所述预设备份策略对待备份文件内容进行备份。
通过采用上述技术方案,在对文件进行备份的时候,根据程序的底层执行动作获取该程序得到保存方式并选择适用于该保存方式的预设备份策略,灵活适应不同的保存方式,根据待备份文件内容和预设备份策略对待备份文件进行备份,即文件保存一次就备份一次,从而减少数据的丢失。
第三方面,本申请提供一种电子设备,采用如下的技术方案:
一种电子设备,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行第一方面任一项所述的FUSE文件系统下文件实时备份方法的计算机程序。
第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
一种计算机可读存储介质,存储有能够被处理器加载并执行第一方面任一项所述的FUSE文件系统下文件实时备份方法的计算机程序。
附图说明
图1是本申请实施例提供的一种FUSE文件系统下文件实时备份方法的流程示意图。
图2是申请实施例提供的一种FUSE文件系统下文件实时备份装置的结构框图。
图3是本申请实施例提供的FUSE文件系统下文件实时备份设备的结构框图。
具体实施方式
以下结合附图对本申请作进一步详细说明。
图1为本申请实施例提供的一种FUSE文件系统下文件实时备份方法的流程示意图。
该方法存在于密级标志管理系统内,在使用时需要安装带有该方法的密级标志管理系统,该方法使用开源SVN,且该方法仅在Linux系统下并且基于FUSE文件系统实现。
如图1所示,该方法主要流程描述如下(步骤S101~S104):
步骤S101,响应于文件保存指令,检测本次保存的底层执行动作。
在本实施例中,文件保存指令可以为用户的保存动作,即用户点击程序本身的保存按钮或者用户通过键盘的保存快捷键所创建的文件保存指令,文件保存指令还可以为程序自身的周期性保存动作,即程序在使用时定时自动保存文件的文件保存指令,具体的文件保存指令在此不继续举例说明。
步骤S102,获取与底层执行动作相对应的预设备份策略。
在本实施例中,不同的程序在接收到来自于文件保存指令之后,控制本程序对正在进行使用的文件进行保存动作,FUSE文件系统检测程序的保存动作,其中不同程序的保存动作有所不同,FUSE文件系统当检测到程序的保存动作时,根据程序保存文件的保存动作选择与该保存动作相匹配的预设备份策略。
步骤S103,获取待备份文件内容。
在本实施例中,待备份文件内容为上一次保存的文件内容或者本次保存的文件内容。
在本实施例中,例如第一次对该文件进行编辑时写入内容123,编写完内容123之后对文件进行了保存,然后又对该文件进行编辑写入内容456,编写完内容456之后再次对文件进行保存,如果待备份文件内容为上一次保存的文件内容,那么备份的文件为携带有内容123的文件,如果待备份文件内容为本保存的文件内容,那么备份的文件为携带有内容123456的文件。在进行备份时,具体将待备份文件内容设置为上一次保存的文件内容还是设置为本次保存的文件内容由管理员进行设置,用户端没有选择权限,在进行设置时可以根据实际需求将待备份文件内容设置为上一次保存的文件内容和本次保存的文件内容均进行备份的方式,具体的待备份文件内容的设置方式在此不做进一步限定。
步骤S104,基于预设备份策略对待备份文件内容进行备份。
在本实施例中,底层执行动作为临时文件创建动作、临时文件编写动作或者临时文件重命名动作;若待备份文件内容为上一次保存的文件内容,则在rename接口执行重命名动作之前调用备份程序对待备份文件进行备份;若待备份文件内容为本次保存的文件内容,则在rename接口执行后调用备份程序对待备份文件进行备份。
在本实施例中,对文件进行编辑保存时,程序创建临时文件,并将编辑的内容写入临时文件中,调用rename接口,编写完毕后将临时文件的文件名称重命名为源文件的文件名称并覆盖。在FUSE模块中,当待备份文件内容为上一次保存的文件内容时,则在rename接口执行重命名动作之前调用备份程序对待备份文件进行备份;当待备份文件内容为本次保存的文件内容时,则在rename接口执行后调用备份程序对待备份文件进行备份。需要说明的是,该预设备份策略仅在文本文档中进行使用。
在本实施例中,底层执行动作为调用open接口动作、调用write接口动作或者调用close接口动作;检测open接口参数的truncate标志位是否为true;当truncate标志位为true时,若待备份文件内容为上一次保存的文件内容,则在open接口执行删除动作之前调用备份程序对待备份文件进行备份;若待备份文件内容为本次保存的文件内容,则获取write接口参数的write标志位,当write标志位为true时,在close接口执行关闭动作之前调用备份程序对待备份文件进行备份。
在本实施例中,对文件进行编辑保存时,程序调用系统底层的open接口,然后调用write接口,最后调用close接口。调用open接口时,检测open接口参数的truncate标志位是否为true,当待备份文件内容为上一次保存的文件内容时,则在open接口执行删除动作之前调用备份程序对待备份文件进行备份,即在将源文件中的内容清空之前将文件进行备份。当待备份文件内容为本次保存的文件内容时,则在open接口执行删除动作,即在将源文件中的内容清空之后,重新写入并保存之后设置write接口参数的write标志位,当write标志位为true时,在close接口执行关闭动作之前调用备份程序对待备份文件进行备份。
在本实施例中,底层执行动作为调用open接口动作、调用truncate接口、调用write接口动作或者调用close接口动作;若待备份文件内容为上一次保存的文件内容,则在truncate接口执行删除动作之前调用备份程序对待备份文件进行备份;若待备份文件内容为本次保存的文件内容,则获取write接口参数的write标志位,当write标志位为true时,在close接口执行关闭动作之前调用备份程序对待备份文件进行备份。
在本实施例中,对文件进行编辑保存时,程序调用系统底层的open接口,然后调用truncate接口,之后调用write接口,最后调用close接口。当待备份文件内容为上一次保存的文件内容时,则在truncate接口执行删除动作之前调用备份程序对待备份文件进行备份,即在将源文件中的内容清空之前将文件进行备份。当待备份文件内容为本次保存的文件内容时,则在truncate接口执行删除动作之后,即在将源文件中的内容清空,重新写入并保存之后设置write接口参数的write标志位,当write标志位为true时,在close接口执行关闭动作之前调用备份程序对待备份文件进行备份。
在本实施例中,判断待备份文件内容是否为空,若为空则不进行备份,若不为空则进行备份。
在本实施例中,判断待备份文件内容是否为第一次备份,若为第一次则将待备份文件内容进行备份,若不为第一次则不进行备份。
在本实施例中,以待备份文件内容为上一次保存的文件内容为例,第一次对该文件进行编辑时写入内容123,编写完内容123之后对文件进行了保存,然后又对该文件进行编辑写入内容456,备份的文件为携带有内容123的文件,若此时文件被损坏,则打开的时候只有内容123,当继续对该文件进行编辑写入内容456并进行保存时,则对内容123进行了重复备份,当检测到两次备份内容相同时,则仅将其中一份进行备份。
在本实施例中,所有的文件均备份于数据库内,每一次保存动作都对应有一条备份记录,备份记录包括备份的时间和对应的备份文件,若保存100次,则数据库中有100条备份记录,也会备份100个文件,并且100个文件的内容都是不同且不为空的,当桌面上的文件出现损坏时或者文件出错需要还原到某一个版本时,例如,文件中的关键数据经过大量计算,并进行了多次修改,最终确定了数据后将文件关闭。但关闭后发现计算结果不对,想要改回到之前的某一次的结果,但文档一旦关闭再打开,无法进行回退操作,管理员从数据库内找到对应的文件版本进行调取使用即可。
在本实施例中,文件包括但不限于文本文档,还包括图片、音频和视频等,在此不做进一步举例说明。
在本实施例中,该方式的具体实施代码如下:
typedef struct_LABEL_FILE_BACKUP_
{
//备份开关
int enable;
//备份进程
std::wstring backupExe;
//备份忽略路径
std::vector<std::wstring> ignorePaths;
//备份匹配类型
std::vector<std::wstring> matchPaths;
_LABEL_FILE BACKUP_()
{
enable = 6;
backupExe= L"";
}
}LABEL_FILE BACKUP;
//备份结构体信息
LABEL_ FILEBACKUP CFileContext::fileBackupInfo_;
//重命名保存文件属性信息缓存
std::map<std::string,std::wstring>CFileContext::renameKeepAttribute_;
//文件保存标志位缓存
std::map<std::string, bool> CFileContext ::isSaveFile_;
//文件重命名
int labelRename(const char *from,const char *to,unsigned int flags);
//文件截断
int labelTruncate(const char *path, off_t size, struct fuse_file_info*fi);
//文件打开
int labe1open(const char *path,struct fuse_file_info*fi);
//文件写
int labelMrite(const char *path, const char *buf, size t size, off_toffset, struct fuse_file_info *fi);
//资源释放
int labelRelease(const char*path,struct fuse_file_info *fi);
int labelRename(const char *from, const char to, unsigned int flags)
{
//备份保存前文件
fileBackup();
//执行重命名操作
rename(from,to);
//备份保存后文件
fileBackup();
}
int 1abe1Truncate(const char *path, off_t size, struct fuse_file info*fi)
{
//备份保存前文件
fileBackup();
//执行清空操作
truncate(fi->fh,size);
}
int 1abel0pen(const char *path, struct fuse_file_infofi){
//截断标志位true
if(fi->flags &O_TRUNC)
{
//处理截断
handleTruncate()
{
//备份保存前文件
fileBackup();
//执行清空操作
truncate(path,0);
}
}
}
int labelwrite(const char *path, const char buf,size_t size,off_toffset, struct fuse file_info *fi)
{
//执行文件写,标志位为true
isSaveFile [path]= true;
}
int 1abelRelease(const char *path,struct fuse file_info *fi)
{
//文件编辑保存标志位为true
if (isSaveFile_.second == true)
{
//备份保存后的文件
fileBackup();
}
}
图2为申请实施例提供的一种FUSE文件系统下文件实时备份装置200的结构框图。
如图2所示,FUSE文件系统下文件实时备份装置200主要包括:
动作检测模块201,用于响应于文件保存指令,检测本次保存的底层执行动作;
策略获取模块202,用于获取与底层执行动作相对应的预设备份策略;
内容获取模块203,用于获取待备份文件内容;
文件备份模块204,用于基于预设备份策略对待备份文件内容进行备份。
作为本实施例的一种可选实施方式,该装置具体用于待备份文件内容为上一次保存的文件内容或者本次保存的文件内容。
作为本实施例的一种可选实施方式,文件备份模块204具体用于底层执行动作为临时文件创建动作、临时文件编写动作或者临时文件重命名动作;若待备份文件内容为上一次保存的文件内容,则在rename接口执行重命名动作之前调用备份程序对待备份文件进行备份;若待备份文件内容为本次保存的文件内容,则在rename接口执行后调用备份程序对待备份文件进行备份。
作为本实施例的一种可选实施方式,文件备份模块204具体用于底层执行动作为调用open接口动作、调用write接口动作或者调用close接口动作;检测open接口参数的truncate标志位是否为true;当truncate标志位为true时,若待备份文件内容为上一次保存的文件内容,则在open接口执行删除动作之前调用备份程序对待备份文件进行备份;若待备份文件内容为本次保存的文件内容,则获取write接口参数的write标志位,当write标志位为true时,在close接口执行关闭动作之前调用备份程序对待备份文件进行备份。
作为本实施例的一种可选实施方式,文件备份模块204具体用于底层执行动作为调用open接口动作、调用truncate接口、调用write接口动作或者调用close接口动作;若待备份文件内容为上一次保存的文件内容,则在truncate接口执行删除动作之前调用备份程序对待备份文件进行备份;若待备份文件内容为本次保存的文件内容,则获取write接口参数的write标志位,当write标志位为true时,在close接口执行关闭动作之前调用备份程序对待备份文件进行备份。
作为本实施例的一种可选实施方式,该装置具体用于判断待备份文件内容是否为空,若为空则不进行备份,若不为空则进行备份。
作为本实施例的一种可选实施方式,该装置具体用于判断待备份文件内容是否为第一次备份,若为第一次则将待备份文件内容进行备份,若不为第一次则不进行备份。
在一个例子中,以上任一装置中的模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个专用集成电路(application specificintegratedcircuit,ASIC),或,一个或多个数字信号处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA),或这些集成电路形式中至少两种的组合。
再如,当装置中的模块可以通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,CPU)或其它可以调用程序的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图3为本申请实施例提供的电子设备300的结构框图。
如图3所示,电子设备300包括处理器301和存储器302,还可以进一步包括信息输入/信息输出(I/O)接口303、通信组件304中的一种或多种以及通信总线305。
其中,处理器301用于控制电子设备300的整体操作,以完成上述的FUSE文件系统下文件实时备份方法的全部或部分步骤;存储器302用于存储各种类型的数据以支持在电子设备300的操作,这些数据例如可以包括用于在该电子设备300上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器302可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random AccessMemory,SRAM)、电可擦除可编程只读存储器(Electrically Erasable ProgrammableRead-Only Memory,EEPROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、只读存储器(Read-Only Memory,ROM)、磁存储器、快闪存储器、磁盘或光盘中的一种或多种。
I/O接口303为处理器301和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件304用于电子设备300与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(NearField Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件104可以包括:Wi-Fi部件,蓝牙部件,NFC部件。
电子设备300可以被一个或多个应用专用集成电路 (Application SpecificIntegrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field ProgrammableGate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例给出的FUSE文件系统下文件实时备份方法。
通信总线305可包括一通路,在上述组件之间传送信息。通信总线305可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA (ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。通信总线305可以分为地址总线、数据总线、控制总线等。
电子设备300可以包括但不限于移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端,还可以为服务器等。
本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的FUSE文件系统下文件实时备份方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器 (R ead-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的申请范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离前述申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中申请的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种FUSE文件系统下文件实时备份方法,其特征在于,包括:
响应于文件保存指令,检测本次保存的底层执行动作;
获取与所述底层执行动作相对应的预设备份策略;
获取待备份文件内容;
基于所述预设备份策略对待备份文件内容进行备份。
2.根据权利要求1所述的方法,其特征在于,所述待备份文件内容为上一次保存的文件内容或者本次保存的文件内容。
3.根据权利要求2所述的方法,其特征在于,所述底层执行动作为临时文件创建动作、临时文件编写动作或者临时文件重命名动作;所述基于所述预设备份策略对待备份文件内容进行备份包括:
若所述待备份文件内容为上一次保存的文件内容,则在rename接口执行重命名动作之前调用备份程序对所述待备份文件进行备份;
若所述待备份文件内容为本次保存的文件内容,则在rename接口执行后调用备份程序对所述待备份文件进行备份。
4.根据权利要求2所述的方法,其特征在于,所述底层执行动作为调用open接口动作、调用write接口动作或者调用close接口动作;所述基于所述预设备份策略对待备份文件内容进行备份包括:
检测open接口参数的truncate标志位是否为true;
当所述truncate标志位为true时,若所述待备份文件内容为上一次保存的文件内容,则在open接口执行删除动作之前调用备份程序对待备份文件进行备份;
若所述待备份文件内容为本次保存的文件内容,则获取write接口参数的write标志位,当write标志位为true时,在close接口执行关闭动作之前调用备份程序对待备份文件进行备份。
5.根据权利要求2所述的方法,其特征在于,所述底层执行动作为调用open接口动作、调用truncate接口、调用write接口动作或者调用close接口动作;所述基于所述预设备份策略对待备份文件内容进行备份包括:
若所述待备份文件内容为上一次保存的文件内容,则在truncate接口执行删除动作之前调用备份程序对待备份文件进行备份;
若所述待备份文件内容为本次保存的文件内容,则获取write接口参数的write标志位,当write标志位为true时,在close接口执行关闭动作之前调用备份程序对待备份文件进行备份。
6.根据权利要求1至5任一项所述的方法,其特征在于,在所述基于所述预设备份策略对待备份文件内容进行备份之前,还包括:
判断所述待备份文件内容是否为空,若为空则不进行备份,若不为空则进行备份。
7.根据权利要求1至5任一项所述的方法,其特征在于,在所述基于所述预设备份策略对待备份文件内容进行备份之前,还包括:
判断所述待备份文件内容是否为第一次备份,若为第一次则将所述待备份文件内容进行备份,若不为第一次则不进行备份。
8.一种FUSE文件系统下文件实时备份装置,其特征在于,包括:
动作检测模块,用于响应于文件保存指令,检测本次保存的底层执行动作;
策略获取模块,用于获取与所述底层执行动作相对应的预设备份策略;
内容获取模块,用于获取待备份文件内容;
文件备份模块,用于基于所述预设备份策略对待备份文件内容进行备份。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有能够被所述处理器加载并执行如权利要求1至7中任一种方法的计算机程序。
10.一种计算机可读存储介质,其特征在于,存储有能够被处理器加载并执行如权利要求1至7中任一种方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210227336.6A CN114579366B (zh) | 2022-03-08 | 2022-03-08 | Fuse文件系统下文件实时备份方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210227336.6A CN114579366B (zh) | 2022-03-08 | 2022-03-08 | Fuse文件系统下文件实时备份方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114579366A true CN114579366A (zh) | 2022-06-03 |
CN114579366B CN114579366B (zh) | 2024-04-26 |
Family
ID=81779262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210227336.6A Active CN114579366B (zh) | 2022-03-08 | 2022-03-08 | Fuse文件系统下文件实时备份方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114579366B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521076A (zh) * | 2011-12-01 | 2012-06-27 | 浪潮电子信息产业股份有限公司 | 一种智能实时文件备份方法 |
CN102915262A (zh) * | 2012-10-18 | 2013-02-06 | 曙光信息产业(北京)有限公司 | 一种基于Cloudview的管理数据内容数据备份方法 |
CN104969192A (zh) * | 2013-02-27 | 2015-10-07 | 惠普发展公司,有限责任合伙企业 | 基于改变的数据选择备份类型 |
CN106528582A (zh) * | 2015-09-15 | 2017-03-22 | 北京国双科技有限公司 | 数据库的备份方法和装置 |
CN110399250A (zh) * | 2019-06-26 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 一种基于自定义策略的OpenStack云硬盘自动备份方法及系统 |
-
2022
- 2022-03-08 CN CN202210227336.6A patent/CN114579366B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521076A (zh) * | 2011-12-01 | 2012-06-27 | 浪潮电子信息产业股份有限公司 | 一种智能实时文件备份方法 |
CN102915262A (zh) * | 2012-10-18 | 2013-02-06 | 曙光信息产业(北京)有限公司 | 一种基于Cloudview的管理数据内容数据备份方法 |
CN104969192A (zh) * | 2013-02-27 | 2015-10-07 | 惠普发展公司,有限责任合伙企业 | 基于改变的数据选择备份类型 |
CN106528582A (zh) * | 2015-09-15 | 2017-03-22 | 北京国双科技有限公司 | 数据库的备份方法和装置 |
CN110399250A (zh) * | 2019-06-26 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 一种基于自定义策略的OpenStack云硬盘自动备份方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114579366B (zh) | 2024-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101781447B1 (ko) | 시스템 리셋 | |
US10055091B2 (en) | Autosave and manual save modes for software applications | |
Distefano et al. | Android anti-forensics through a local paradigm | |
US20190220216A1 (en) | Memory reclaiming method and terminal | |
US7707190B2 (en) | Method for restoring backup data | |
US6889376B1 (en) | Method for migrating from one computer to another | |
CN102216905B (zh) | 为运行在计算系统中的应用创建应用还原点的方法和系统 | |
US8972354B1 (en) | Systems and methods for preserving individual backed-up files in accordance with legal-hold policies | |
CA2707800C (en) | Backing up and/or restoring a software application so as to facilitate compatibility checking with a target device prior to application restore | |
Klaver | Windows mobile advanced forensics | |
US20050165871A1 (en) | Method and apparatus for recycling application processes | |
Feng et al. | Logical acquisition method based on data migration for Android mobile devices | |
US20110016194A1 (en) | Connecting galleries to dynamic server-hosted content | |
CN106484779B (zh) | 文件操作方法及装置 | |
TWI263901B (en) | Program initiation methods and embedded systems utilizing the same | |
US7657716B2 (en) | Save and restore of a protected area | |
US9710337B1 (en) | Systems and methods for restoring web parts in content management systems | |
CN114579366B (zh) | Fuse文件系统下文件实时备份方法、装置、设备及介质 | |
US20110302567A1 (en) | Updating software in an information handling system | |
CN109522174B (zh) | 控制adb使能的方法、装置、终端及存储介质 | |
CN113901001A (zh) | 文件识别处理方法和装置 | |
US8914344B1 (en) | Service manager source code control system | |
CN112988663A (zh) | 文件存储方法和电子设备 | |
Satheesh Kumar et al. | An agent based tool for windows mobile forensics | |
US7702890B2 (en) | Information processing apparatus and program |
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 |