一种集群存储系统下文件快速对比方法

文档序号:6548953阅读:218来源:国知局
一种集群存储系统下文件快速对比方法
【专利摘要】本发明公开了一种集群存储系统下文件快速对比方法,提供了一种在集群存储文件系统下寻找两个文件夹之间不同之处的算法,使用所述算法通过在命令行终端或命令行界面输入比较命令,同时列出两个文件夹下目录名、文件名不同以及文件内容不同,进而确定重复的目录将其删除;该方法体系结构包括:获取文件和目录列表模块、算法模块以及应用接口模块;该方法使用在本地文件系统上,特别是在NAS集群存储系统和共享访问存储上的应用,且效率高、易操作,能够快速比较两个文件夹中内容,进行重复删除,进而大大地节省存储空间。
【专利说明】一种集群存储系统下文件快速对比方法
[0001]
【技术领域】
[0002]本发明涉及文件夹文件对比技术,具体地说是一种集群存储系统下文件快速对比方法。
【背景技术】
[0003]目前,在集群存储系统下虽然有不同的文件系统类型(本地文件系统、分布式文件系统等),但是用户数据最终以文件形式存到系统硬盘上。当系统应用一段时间后,就会在系统目录下存储大量的文件和文件夹,很多时候会发现有两个甚至更多的文件夹名字一样,目录结构也类似,但是用户不清楚这这些文件夹下的内容是否一样,如果一样的话就可以只保留一份节省存储空间。然而很多情况下用户不可能逐个目录、组个文件的去查看是否一致,这时候就需要一个文件快速对比工具完成这一工作。集群存储文件系统已有一些文件比较软件,大部分都是采用图形界面来选择文件夹比较,使用起来烦琐且速度有限。
[0004]在集群重删文件系统中,对重删后目标文件需要检测是否和之前的内容一致,而在命令行界面下没有专门的比较两个文件夹的命令,有的比较软件需要调出软件图形界面才能进行比较,费时费力。最方便的方式是用户直接在集群存储系统客户端输入文件夹的位置就能得到这两个文件夹不同之处,本发明就是基于这种方式实现的。

【发明内容】
[0005]针对目前技术存在的不足之处,本发明提出了一种集群存储系统下文件快速对比方法。
[0006]本发明所述一种集群存储系统下文件快速对比方法,解决上述技术问题采用的技术方案如下:所述集群存储系统下文件快速对比方法,提供了一种在集群存储文件系统下寻找两个文件夹之间不同之处的算法,该文件快速对比方法使用所述算法,通过在命令行终端或命令行界面输入比较命令,进行对两个文件夹内容的快速比较,同时列出两个文件夹下目录名、文件名不同以及文件内容不同,进而确定重复的目录将其删除;该方法体系结构包括:获取文件和目录列表模块、算法模块以及应用接口模块;其中:
所述获取文件和目录列表模块:
在系统存储空间里若有两个名字一样的目录,则设计一个读取目录结构的算法分别获取两个文件夹下子目录和文件列表,并将结果保存到缓存中或文件中;这样就获得了这两个文件夹的目录结构列表,每个子目录或文件在目录中的位置以条目形式保存,并且子目录和文件的条目有区别;
所述算法模块:
设计算法,并逐个的比较两个目录结构列表条目名称和文件内容,若条目是目录,则只比较条目名称;若条目是文件,则在确保条目名一样的情况下比较文件内容;所述应用接口模块:
将整个目录比较流程实现算法封装成目录比较命令供客户使用,直接在命令行界面上输入目录比较命令+文件夹名对这两个文件夹内容进行完全比较;若将目录比较命令命名为CompDir,则提供给客户使用方式为:CompDir directory I directory〗;若两个目录不一样则提示为不一样的文件或目录;若两个目录一样,则提示两个目录一样。
[0007]本发明所述一种集群存储系统下文件快速对比方法具有的有益效果:
所述集群存储系统下文件快速对比方法,通过在命令行终端或命令行界面输入比较命令就可实现对两个文件夹内容的比较,适用于快速比较两个文件夹下的内容;该方法使用在本地文件系统上,特别是在NAS集群存储系统和共享访问存储上的应用,这种方法速度快、易操作,且能列出两个文件夹下目录名、文件名不同以及文件内容不同,进而确定重复的目录将其删除,可以大大地节省存储空间。
【专利附图】

【附图说明】
[0008]附图1为所述集群存储系统下文件快速对比方法的流程图。
【具体实施方式】
[0009]为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图和实施例对本发明的一种集群存储系统下文件快速对比方法进行详细说明。
[0010]本发明所述集群存储系统下文件快速对比方法,提供了一种在集群存储文件系统下寻找两个文件夹之间不同之处的算法,使得用户不需要再借助一些文件夹比较软件即可比较两个文件夹,适用于集群存储系统下两个文件夹文件内容比较,还可用于不同文件系统之间文件夹文件之间的比较;
该文件快速对比方法使用所述算法,通过在命令行终端或命令行界面输入比较命令,进行对两个文件夹内容的比较,适用于快速比较两个文件夹下的内容;同时列出两个文件夹下目录名、文件名不同以及文件内容不同,进而确定重复的目录将其删除;该方法体系结构包括:获取文件和目录列表模块、算法模块以及应用接口模块;其中:
所述获取文件和目录列表模块:
在系统存储空间里若有两个名字一样的目录,则设计一个读取目录结构的算法分别获取两个文件夹下子目录和文件列表,并将结果保存到缓存中或文件中;这样就获得了这两个目录结构的子目录和文件列表,每个子目录或文件在目录中的位置以条目形式保存,并且子目录和文件的条目有区别;
所述算法模块:
设计算法,并逐个的比较两个目录结构列表条目名称和文件内容,若条目是目录,则只比较条目名称;若条目是文件,则在确保条目名一样的情况下比较文件内容;
所述应用接口模 块:
将整个目录比较流程实现算法封装成目录比较命令供客户使用,直接在命令行界面上输入目录比较命令+文件夹名对这两个文件夹内容进行完全比较;若将目录比较命令命名为CompDir,则提供给客户使用方式为:CompDir directory I directory〗;若两个目录不一样则提示为不一样的文件或目录;若两个目录一样,则提示两个目录一样。[0011]本发明所述集群存储系统下文件快速对比方法,是针对集群存储系统下两个文件夹(目录)内容的比较,该文件快速对比方法的具体实施流程如下:
首先,该文件快速对比方法通过算法获取两个文件夹的文件和目录列表,并将结果保存到缓存中或文件中;这样就获得了这两个目录结构的子目录和文件列表,每个文件或子目录在目录中的位置以条目形式保存,并且目录和文件的条目是有区别的;例如,dl目录下一个子目录的保存条目为“dl/XX/XXX/XXX/”,dl目录下一个文件的保存条目为“dl/XX/XXX/XXXX/dl” ;这样更容易比较;
然后,逐个比较两个目录结构列表中条目名称和文件内容;若两个名字一样的目录的内容和结构是一样的,则其目录结构列表也是一样的,通过算法逐个获取两个目录结构列表进行对比;比较流程为:若比较的条目是目录,则判断目录名是否一致,一致就继续比较流程,不一致就输出信息;若比较的条目是文件,则判断文件名是否一致,不一致就输出信息,一致的话读取文件内容比较,最后输出比较结果;
最后,本发明所述集群存储系统下文件快速对比方法,将上述快速对比算法封装成目录比较命令供用户使用;综上可知,该集群存储系统下文件快速对比方法通过获取两个文件夹的目录结构列表,并设置目录和文件不同保存条目标志,高效地实现文件夹之间比较。
[0012]实施例:
下面通过一个实施例对本发明所述集群存储系统下文件快速对比方法的优点和设计内容进行详细说明;该文件快速对比方法适用于很多应用环境,例如共享目录检查重复文件、本地文件系统检查重复文件以及重删功能验证等,在此以一个应用案例来说明该方法的具体应用方法。
[0013]在研发集群存储系统文件重删(重复数据删除)功能时,需要检测两个相同文件或目录是否经过重删,判断的依据是两个目录或文件内容一样,而大小不一样,原理是在部署了重删功能的集群系统下,若两个目录或文件内容一样,只保留一个文件数据,另一个文件数据链接到这个文件,则进行过重删后的文件占用的系统空间很小。
[0014]上诉应用中就用到了本发明所述文件快速对比方法,就可以使用该方法提供的CompDir命令来检验重删后的目录或文件和数据完整的目录或文件内容是否一致;如附图1所示,具体步骤如下:
步骤一、应用算法获取两个目录(文件夹)的目录结构列表;
步骤二、分别逐条获取目录结构列表中条目,若获取的是目录,比较目录名是否一致,不一致的话直接返回两个目录名不一致;一致的话进行步骤三;若获取的是文件,则先比较文件名是否一致,不一致的话直接返回两个文件名不一致;一致的话再比较内容是否一致,不一致返回两个文件不一致;
步骤三、继续获取下一条条目,重复步骤二的过程,直到没有不一致的文件或目录,比较完所有文件和目录。
[0015]上述【具体实施方式】仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述【具体实施方式】,任何符合本发明的权利要求书的且任何所属【技术领域】的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
【权利要求】
1.一种集群存储系统下文件快速对比方法,其特征在于,该文件快速对比方法,提供了一种在集群存储文件系统下寻找两个文件夹之间不同之处的算法,使用所述算法,通过在命令行终端或命令行界面输入比较命令,进行对两个文件夹内容的快速比较,同时列出两个文件夹下目录名、文件名不同以及文件内容不同,进而确定重复的目录将其删除;该方法体系结构包括:获取文件和目录列表模块、算法模块以及应用接口模块;其中, 所述获取文件和目录列表模块: 在系统存储空间设计一个能够读取目录结构的算法,通过所述算法分别获取两个文件夹下子目录和文件列表,并将结果保存到缓存中或文件中,获得了这两个文件夹的目录结构列表; 所述算法模块: 设计算法,并逐个的比较两个目录结构列表中条目名称和文件内容,若条目是目录,则只比较条目名称;若条目是文件,则在确保条目名一样的情况下比较文件内容; 所述应用接口模块: 将整个目录比较流程实现算法封装成目录比较命令供客户使用,直接在命令行界面上输入目录比较命令+文件夹名对这两个文件夹内容进行完全比较。
2.根据权利要求1所述的一种集群存储系统下文件快速对比方法,其特征在于,每个子目录或文件在目录中的位置以条目形式保存,并且子目录和文件的条目有区别。
3.根据权利要求2所 述的一种集群存储系统下文件快速对比方法,其特征在于,子目录和文件的条目有区别,dl目录下一个子目录的保存条目为“dl/XX/XXX/XXX/”,dl目录下一个文件的保存条目为“dl/XX/XXX/XXXX/dl ”。
4.根据权利要求3所述的一种集群存储系统下文件快速对比方法,其特征在于,若将目录比较命令命名为CompDir,则提供给客户使用方式为:CompDir directory Idirectory2。
5.根据权利要求1所述的一种集群存储系统下文件快速对比方法,其特征在于,若比较的条目是目录,则判断目录名是否一致,一致就继续比较流程,不一致就输出信息;若比较的条目是文件,则判断文件名是否一致,不一致就输出信息,一致的话读取文件内容比较,最后输出比较结果。
6.根据权利要求5所述的一种集群存储系统下文件快速对比方法,其特征在于,在集群存储系统文件重删功能时,使用该文件快速对比方法的具体流程为:步骤一、应用算法获取两个目录的目录结构列表; 步骤二、分别逐条获取目录结构列表中条目,若获取的是目录,比较目录名是否一致,则不一致的话直接返回两个目录名不一致,一致的话进行步骤三;若获取的是文件,则先比较文件名是否一致,不一致的话直接返回两个文件名不一致;一致的话再比较内容是否一致,不一致返回两个文件不一致; 步骤三、继续获取下一条条目,重复步骤二的过程,直到没有不一致的文件或目录,比较完所有文件和目录。
【文档编号】G06F17/30GK104021181SQ201410251994
【公开日】2014年9月3日 申请日期:2014年6月10日 优先权日:2014年6月10日
【发明者】张延良 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1