[发明专利]文件备份方法、装置及文件还原方法、装置有效
申请号: | 201711337162.4 | 申请日: | 2017-12-13 |
公开(公告)号: | CN108038028B | 公开(公告)日: | 2021-03-23 |
发明(设计)人: | 林皓;陈海龙;毕永东 | 申请(专利权)人: | 北信源系统集成有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 211800 江苏省南京市江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 文件 备份 方法 装置 还原 | ||
1.文件备份方法,其特征在于,包括:
判断主文档是否为需要备份的主文档;
为是时,在数据库中查找与所述主文档相对应的备份文档是否存在;
当查找到所述备份文档不存在时,创建备份文档,将所述主文档中的内容复制到所述备份文档中,且,将所述备份文档的路径写入数据库中;
当查找到所述备份文档存在时,编辑所述主文档,且,通过hook实现对所述备份文档的同步编辑;
关闭所述主文档和所述备份文档,计算所述备份文档的备份md5值,将所述备份md5值存储在所述数据库中;
其中,所述当查找到所述备份文档存在时,编辑所述主文档,且,通过hook实现对所述备份文档的同步编辑,包括:
当查找到所述备份文档存在时,将所述备份文档的属性修改为可写,且,打开所述备份文档;
调用kernel32!WriteFile修改所述主文档,且,通过hook实现对所述备份文档的同步编辑;
调用kernel32!CloseHandle关闭所述主文档和所述备份文档,且,将所述备份文档的属性修改为只读。
2.根据权利要求1所述的文件备份方法,其特征在于,所述判断主文档是否为需要备份的主文档之前,还包括:
将所述需要备份的主文档设定为自动备份文档;
计算所述主文档路径的md5值,且,将所述md5值写入数据库中。
3.根据权利要求2所述的文件备份方法,其特征在于,所述判断主文档是否为需要备份的主文档,包括:
调用kernel32!CreateFile打开所述主文档;
在数据库中查找与所述主文档相对应的所述md5值是否存在;
查找结果为存在时,判定所述主文档为需要备份的主文档。
4.根据权利要求2所述的文件备份方法,其特征在于,所述当查找到所述备份文档不存在时,创建备份文档,包括:
当查找到所述备份文档不存在时,创建备份文档;
将所述备份文档去掉后缀,且,将所述主文档的内容复制到所述备份文档中。
5.文件还原方法,其特征在于,所述文件包括主文档和备份文档,其中,所述备份文档为所述主文档基于权利要求1-4任一项所述的文件备份方法得到的,包括:
调用kernel32!CreateFile打开主文档,且,获取与所述主文档相对应的备份文档的路径;
计算所述主文档的路径,得到所述路径的md5值;
获取数据库中存储的所述备份文档的备份md5值;
比较所述备份md5值与所述md5值是否相同;
当比较结果为不同时,将所述备份文档的内容复制到所述主文档中。
6.文件备份装置,其特征在于,包括:
需求判定模块,用于判断主文档是否为需要备份的主文档;
备份查找模块,用于为是时,在数据库中查找与所述主文档相对应的备份文档是否存在;
备份模块,用于当查找到所述备份文档不存在时,创建备份文档,将所述主文档中的内容复制到所述备份文档中,且,将所述备份文档的路径写入数据库中;
同步编辑模块,用于当查找到所述备份文档存在时,编辑所述主文档,且,通过hook实现对所述备份文档的同步编辑;
存储模块,用于关闭所述主文档和所述备份文档,计算所述备份文档的备份md5值,将所述备份md5值存储在所述数据库中;
其中,所述同步编辑模块还用于:
当查找到所述备份文档存在时,将所述备份文档的属性修改为可写,且,打开所述备份文档;
调用kernel32!WriteFile修改所述主文档,且,通过hook实现对所述备份文档的同步编辑;
调用kernel32!CloseHandle关闭所述主文档和所述备份文档,且,将所述备份文档的属性修改为只读。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北信源系统集成有限公司,未经北信源系统集成有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711337162.4/1.html,转载请声明来源钻瓜专利网。