[发明专利]快速文件比对方法、系统及客户端有效
申请号: | 201210156032.1 | 申请日: | 2012-05-21 |
公开(公告)号: | CN102693302A | 公开(公告)日: | 2012-09-26 |
发明(设计)人: | 曲彬凯;周栋;韩成强 | 申请(专利权)人: | 浙江省公众信息产业有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 颜镝 |
地址: | 310005 *** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 快速 文件 方法 系统 客户端 | ||
技术领域
本发明涉及文件处理领域,尤其涉及一种快速文件比对方法及系统。
背景技术
在文件处理技术中,为了更有效的组织管理文件系统,往往需要根据一定的规则对文件进行组织编排,这种组织编排通常会造成文件结构的高度复杂化,导致数据查找性能也随之急剧下降。在文件管理过程中,目前的文件比对操作一般采用文件两两之间进行所有字节比对来判断文件是否相同,这种比对方式在小型文件系统中是可行的,但是在一个大规模复杂或单一文件体积庞大的文件系统几乎是不可行的,而且通常基于文件简单属性去进行的判断又不完全准确。
另外,文件源文件与备份文件出于安全等因素的考虑往往存储在不同物理介质中,在操作文件时增加输入输出设备的负担,降低了设备的处理效率。在文件操作中,目前的一种文件比对的方法是通过散列函数获取文件的散列值来实现文件比对,虽然有效的解决了单个大文件比对时性能的瓶颈,但源文件与备份文件比对时根据文件结构的数量M与文件数量N进行M+N次的比对,源文件与备份文件在不同物理介质之间频繁的操作,造成性能下降。
发明内容
本发明的目的是提出一种快速文件比对方法、系统及客户端,能够有效的提高文件比对效率和性能。
为实现上述目的,本发明提供了一种快速文件比对方法,包括:
客户端对本地文件目录进行扫描分析,并根据本地文件系统的变化更新所述客户端维护的第一标识树,所述第一标识树中的各个节点与所述客户端的本地文件系统结构中的各个目录相对应,每个节点保存的节点信息包括节点标识和目录相关信息;
所述客户端将服务器端设备维护的第二标识树与所述第一标识树进行逐个节点的比对,记录所述第一标识树相比于所述第二标识树的差异节点和该差异节点对应的变化文件;
所述客户端根据记录的所述差异节点及变化文件向所述服务器端设备段提供数据,以供所述服务器端设备维护的第二标识树和存储文件进行更新。
进一步的,所述客户端对本地文件目录进行扫描分析的操作具体包括:
所述客户端对所述本地文件系统结构中各个目录进行遍历,并对遍历的目录进行扫描分析,获得对应的扫描结果。
进一步的,所述客户端对所述本地文件系统结构中各个目录进行遍历的操作具体包括:
所述客户端从所述本地文件系统结构的根目录开始,根据排序规则逐级定位到相应路径分支的第一个末级目录;
在每完成被定位目录的扫描分析后,检查同一级的其他目录中未扫描分析的目录,并判断该目录内是否存在目录,如果存在,则根据排序规则定位到该目录对应的路径分支的末级目录,否则定位在该目录;
如果同一级的所有目录均已完成扫描分析,则根据排序规则定位到上一级的第一个目录,直到定位所述本地文件系统结构的根目录,完成所述根目录的扫描分析完成整个遍历过程。
进一步的,所述扫描结果包括被扫描目录的路径信息、被扫描目录内所有文件和/或目录的路径信息、基本信息及对应的散列值;
所述根据本地文件系统的变化更新所述客户端维护的第一标识树的操作具体包括:
所述客户端根据所述扫描结果生成相应的节点标识,并将生成的节点标识与所述第一标识树中的对应节点的节点标识进行匹配;
如果与所述第一标识树中的对应节点不匹配,则根据所述扫描结果和所述生成的节点标识对所述对应节点的节点信息进行更新;
如果所述第一标识树中不存在对应节点,则根据所述扫描结果和所述生成的节点标识在所述第一标识树的相应位置增加新节点,作为所述生成的节点标识在所述第一标识树中的对应节点,并对所述新节点的节点信息进行更新;
在对当前节点的节点信息进行更新后,继续根据所述扫描结果中的被扫描目录的路径信息向上对当前节点的直属上级节点直到根节点逐层进行节点信息的更新。
进一步的,文件的基本信息包括文件名称、文件大小、文件属性和文件修改时间中的至少一种,目录的基本信息包括目录名称、目录大小、目录属性和目录修改时间中的至少一种。
进一步的,所述生成相应的节点标识的操作具体包括:
对被扫描目录内的所有文件和/或目录对应的散列值进行排序,并按照排序得到的顺序将被扫描目录内的所述所有文件和/或目录对应的散列值按照字符串的方式进行首尾相接方式的组合;
对组合得到的散列值字符串进行散列计算,得到对应的散列值作为所述被扫描目录对应的散列值;
根据所述被扫描目录的路径信息和计算出的散列值生成所述被扫描目录所对应节点的节点标识。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江省公众信息产业有限公司,未经浙江省公众信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210156032.1/2.html,转载请声明来源钻瓜专利网。