本发明属于云计算,具体涉及一种网络文件系统的文件回收及恢复方法。
背景技术:
1、云计算(英文名:cloud computing)是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户;云计算是分布式计算、效用计算、并行计算、网络存储、热备份冗杂和虚拟化等计算机技术混合演进并跃升的结果;随着云计算技术的快速发展,新一代云平台的建立,文件存储需求日益增长,在新一代云平台中,网络文件系统(nfs)为用户提供文件存储服务。
2、在现有技术中,用户对文件系统中的文件误删除后,需要文件系统有能力进行恢复,这就需要文件系统能实现文件的回收和恢复,传统的网络文件系统nfs缺乏文件的回收及恢复能力,无法满足实际需求。
技术实现思路
1、本发明的目的在于提供一种网络文件系统的文件回收及恢复方法,旨在解决现有技术中用户对文件系统中的文件误删除后,需要文件系统有能力进行恢复,这就需要文件系统能实现文件的回收和恢复,传统的网络文件系统nfs缺乏文件的回收及恢复能力,无法满足实际需求的问题。
2、为实现上述目的,本发明提供如下技术方案:
3、一种网络文件系统的文件回收及恢复方法,包括如下步骤:
4、s1、服务端导出选项增加回收标识,动态创建回收站;
5、s2、服务端隐藏回收站,回收站作为隐藏空间添加到导出文件系统,不支持任何客户端访问请求,仅能通过服务端提供的接口进行操作;
6、s3、开启回收站时的文件删除,当开启回收功能的服务端捕获到删除指令时,会将删除指令替换为重命名指令,将待删除的文件按照固定格式进行重命名并移动到回收站中;
7、固定的文件格式为:
8、原父目录inode:原父目录inode gen:删除时间戳:原文件名;
9、其中,原父目录inode表示删除文件所在目录inode,用于将删除文件恢复至原目录;
10、原父目录inode gen表示删除文件所在目录的inode版本标识,用于区分父目录inode是否已经被释放并重新分配;
11、删除时间戳表示删除发生的unix时间,用于定时任务判断文件是否过期;
12、原文件名表示删除时的文件名,用于恢复文件时保留原文件名;
13、通过原父目录inode与inode gen结合导出文件系统的超级块信息,组装出原父目录句柄,实现对原父目录的精确定位。不受后期用户删除,新建,重命名等修改动作的影响;
14、s4、回收站的查看、恢复、删除;
15、s5、定时清理超期文件。
16、作为本发明一种优选的方案,所述步骤s2中,服务端收到客户端请求时,如果请求的内容或回复的内容中,包含回收站信息,过滤掉回收站,以实现回收站对客户端的隐藏。
17、作为本发明一种优选的方案,所述步骤s2中,客户端通过执行“ls/share”命令查询该文件系统下文件,服务端捕获该请求,并直接过滤掉“.recycle”,使回收站对客户端不可见,即使通过显示隐藏文件的“ls-a”也看不到回收站。
18、作为本发明一种优选的方案,所述步骤s1中包含以下几个步骤:
19、a1、导出配置文件;
20、a2、根据回收标识判断是否开启回收站,若已经开启跳转到步骤五;
21、a3、在文件系统导出时判断是否已创建回收站,已创建跳转到步骤五;
22、a4、所导出文件系统不存在回收站,自动在所导出文件系统的根目录划分一片隐藏区域作为回收站;
23、a5、完成创建回收站。
24、作为本发明一种优选的方案,所述步骤s4中,通过管理接口实现对回收站的查看、恢复和删除;查看接口接收文件导出目录作为参数,读取回收站下的文件,从指定格式中提取文件名、删除时间、原删除目录等信息并展现给用户。
25、作为本发明一种优选的方案,所述步骤s4中,恢复接口接收文件导出目录、待恢复文件、恢复目标目录(可选)作为参数,通过读取指定待恢复文件的文件名,提取出原删除目录、文件名等信息,将指定文件从回收站中重命名至恢复目标目录(可选)或原删除目录,完成对删除文件的恢复。
26、作为本发明一种优选的方案,所述步骤s4中,删除接口接收文件导出目录、待删除文件名作为参数,将待删除文件从回收站中彻底删除。
27、作为本发明一种优选的方案,所述步骤s5中,在删除时记录了删除的时间戳,通过当前时间戳减去过期时间的秒数,得到待删除时间戳。若删除时间戳小于待删除时间戳,则进行文件的删除。
28、作为本发明一种优选的方案,网络文件系统导出时添加回收标识,控制回收功能的开启与关闭;通过服务端过滤客户端请求,对客户端隐藏文件回收站。
29、作为本发明一种优选的方案,通过在服务端将删除指令替换为重命名,实现文件的回收;文件回收时,记录父目录inode,inode gen,时间戳,文件名;通过导出目录及待恢复文件名,恢复文件到删除前目录。
30、与现有技术相比,本发明的有益效果是:
31、1、本发明中,通过本方案,用户对文件系统中的文件误删除后,针对当前的网络文件系统不支持回收恢复功能的问题,实现了文件的回收和恢复,丰富了网络文件系统的功能。
32、2、本发明中,针对常见的文件回收技术需修改客户端的问题,仅对服务端进行修改,降低客户端的复杂度,可用于所有支持通用nfs协议的客户端操作系统,增强该方法的普适性,满足多种应用场景。
33、3、本发明中,将删除命令替换为重命名,对实际删除的文件数据及元数据不做修改,使得删除命令执行的效率更高,降低操作时延。
34、4、本发明中,删除时通过文件名记录文件信息,查找文件时仅需读取回收站,避免遍历所有文件,提升了查找效率。
35、5、本发明中,通过原父目录inode与inode gen实现对原父目录的精确定位。不受后期用户删除,新建,重命名等修改动作的影响。
1.一种网络文件系统的文件回收及恢复方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的一种网络文件系统的文件回收及恢复方法,其特征在于:所述步骤s2中,服务端收到客户端请求时,如果请求的内容或回复的内容中,包含回收站信息,过滤掉回收站,以实现回收站对客户端的隐藏。
3.根据权利要求2所述的一种网络文件系统的文件回收及恢复方法,其特征在于:所述步骤s2中,客户端通过执行“ls/share”命令查询该文件系统下文件,服务端捕获该请求,并直接过滤掉“.recycle”,使回收站对客户端不可见,即使通过显示隐藏文件的“ls-a”也看不到回收站。
4.根据权利要求3所述的一种网络文件系统的文件回收及恢复方法,其特征在于,所述步骤s1中包含以下几个步骤:
5.根据权利要求4所述的一种网络文件系统的文件回收及恢复方法,其特征在于:所述步骤s4中,通过管理接口实现对回收站的查看、恢复和删除;查看接口接收文件导出目录作为参数,读取回收站下的文件,从指定格式中提取文件名、删除时间、原删除目录等信息并展现给用户。
6.根据权利要求5所述的一种网络文件系统的文件回收及恢复方法,其特征在于:所述步骤s4中,恢复接口接收文件导出目录、待恢复文件、恢复目标目录(可选)作为参数,通过读取指定待恢复文件的文件名,提取出原删除目录、文件名等信息,将指定文件从回收站中重命名至恢复目标目录(可选)或原删除目录,完成对删除文件的恢复。
7.根据权利要求6所述的一种网络文件系统的文件回收及恢复方法,其特征在于:所述步骤s4中,删除接口接收文件导出目录、待删除文件名作为参数,将待删除文件从回收站中彻底删除。
8.根据权利要求7所述的一种网络文件系统的文件回收及恢复方法,其特征在于:所述步骤s5中,在删除时记录了删除的时间戳,通过当前时间戳减去过期时间的秒数,得到待删除时间戳。若删除时间戳小于待删除时间戳,则进行文件的删除。
9.根据权利要求8所述的一种网络文件系统的文件回收及恢复方法,其特征在于:网络文件系统导出时添加回收标识,控制回收功能的开启与关闭;通过服务端过滤客户端请求,对客户端隐藏文件回收站。
10.根据权利要求9所述的一种网络文件系统的文件回收及恢复方法,其特征在于:通过在服务端将删除指令替换为重命名,实现文件的回收;文件回收时,记录父目录inode,inode gen,时间戳,文件名;通过导出目录及待恢复文件名,恢复文件到删除前目录。
