[发明专利]一种基于Linux系统的目录不还原方法在审
申请号: | 202111273458.0 | 申请日: | 2021-10-29 |
公开(公告)号: | CN113918387A | 公开(公告)日: | 2022-01-11 |
发明(设计)人: | 吴阳;杜宇;郑宗义 | 申请(专利权)人: | 南京鼎岩信息科技有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 北京沁优知识产权代理有限公司 11684 | 代理人: | 陈坚 |
地址: | 215000 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 linux 系统 目录 还原 方法 | ||
1.一种基于Linux系统的目录不还原方法,其特征在于:包括
S1,在硬盘的保护分区中创建指定大小的大文件,在文件系统中锁定所述大文件在所述硬盘的位置,确定所述大文件在所述硬盘的扇区分布列表;
S2,将所述大文件对应的扇区分布列表虚拟成一个文件系统设备,所述文件系统设备标记为A分区,从所述保护分区中将所述大文件从对应的扇区分布列表中抠除;
S3,把需要设置成不还原的目录标记为源目录,在所述A分区中对源目录进行复制得到目标目录,将所述源目录和所述目标目录的对应关系写入到所述大文件内并完成映射;
S4,通过系统命令方式或通过驱动程序方式设置开机自动加载所述源目录和所述目标目录的对应关系并完成映射。
2.根据权利要求1所述的一种基于Linux系统的目录不还原方法,其特征在于:所述S2包括:
S21,调用losetup把大文件创建成一个内存loop设备;
S22,调用fdisk对所述内存loop设备创建一个主分区;
S23,调用mkfs.ext4将主分区格式化为标准的ext4分区;
S24,把所述ext4分区加载到文件系统。
3.根据权利要求2所述的一种基于Linux系统的目录不还原方法,其特征在于:所述S22还包括有创建所述主分区时保留预设容量大小的保存空间,所述保存空间用于保存功能运行期间各种参数。
4.根据权利要求3所述的一种基于Linux系统的目录不还原方法,其特征在于:所述S3中,将所述源目录和所述目标目录的对应关系写入到所述保存空间内;
保存到所述保存空间的参数包括参数结构头部和参数结构数据部分,所述参数结构头部包括有目录不还原设置项目的条数以及详细设置数据在整个结构的偏移,所述参数结构数据部分包括该条设置的具体细节参数、该条设置的原始目录路径以及该条设置的目标数据路径。
5.根据权利要求1所述的一种基于Linux系统的目录不还原方法,其特征在于:所述S3还包括:
S31,调用cp-rf完成源目录与目标目录之间数据映射前后的一致性;
S32,调用mount-bind构建源目录与目标目录之间的临时映射关系。
6.根据权利要求1所述的一种基于Linux系统的目录不还原方法,其特征在于:所述S4中通过系统命令方式设置开机自动加载所述源目录和所述目标目录的对应关系并完成映射,具体为:修改fstab已在开机过程自动构建映射关系,添加目标目录到源目录的bind操作。
7.根据权利要求1所述的一种基于Linux系统的目录不还原方法,其特征在于:所述S4中通过驱动程序方式设置开机自动加载所述源目录和所述目标目录的对应关系并完成映射,具体为:
S41,调用ftrace_set_filter_ip开启ftrace过滤功能,设置过滤回调函数fh_ftrace_thunk;
S42,调用register_ftrace_function注册对系统方法vfs_open的过程回调,自定义过滤函数为new_vfs_open,原始函数为real_vfs_open;所述自定义过滤函数获取请求中的文件路径,对比该路径是否在设置的不还原目录列表中,或者是否是不还原目录列表中某条的子路径,若是则进入步骤S43,若否则调用real_vfs_open,读取原始文件;
S43,根据不还原目录原路径找到目标路径,替换请求路径中的原路径部分,获取最终映射的目标路径;
S44,调用real_vfs_open打开映射后的目标路径。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京鼎岩信息科技有限公司,未经南京鼎岩信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111273458.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种固态储氢氢气吸附与释放装置
- 下一篇:一种厂房墙面压型钢板的安装方法