CN104021181A - 一种集群存储***下文件快速对比方法 - Google Patents
一种集群存储***下文件快速对比方法 Download PDFInfo
- Publication number
- CN104021181A CN104021181A CN201410251994.4A CN201410251994A CN104021181A CN 104021181 A CN104021181 A CN 104021181A CN 201410251994 A CN201410251994 A CN 201410251994A CN 104021181 A CN104021181 A CN 104021181A
- Authority
- CN
- China
- Prior art keywords
- file
- catalogue
- directory
- entry
- comparison
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种集群存储***下文件快速对比方法,提供了一种在集群存储文件***下寻找两个文件夹之间不同之处的算法,使用所述算法通过在命令行终端或命令行界面输入比较命令,同时列出两个文件夹下目录名、文件名不同以及文件内容不同,进而确定重复的目录将其删除;该方法体系结构包括:获取文件和目录列表模块、算法模块以及应用接口模块;该方法使用在本地文件***上,特别是在NAS集群存储***和共享访问存储上的应用,且效率高、易操作,能够快速比较两个文件夹中内容,进行重复删除,进而大大地节省存储空间。
Description
技术领域
本发明涉及文件夹文件对比技术,具体地说是一种集群存储***下文件快速对比方法。
背景技术
目前,在集群存储***下虽然有不同的文件***类型(本地文件***、分布式文件***等),但是用户数据最终以文件形式存到***硬盘上。当***应用一段时间后,就会在***目录下存储大量的文件和文件夹,很多时候会发现有两个甚至更多的文件夹名字一样,目录结构也类似,但是用户不清楚这这些文件夹下的内容是否一样,如果一样的话就可以只保留一份节省存储空间。然而很多情况下用户不可能逐个目录、组个文件的去查看是否一致,这时候就需要一个文件快速对比工具完成这一工作。集群存储文件***已有一些文件比较软件,大部分都是采用图形界面来选择文件夹比较,使用起来烦琐且速度有限。
在集群重删文件***中,对重删后目标文件需要检测是否和之前的内容一致,而在命令行界面下没有专门的比较两个文件夹的命令,有的比较软件需要调出软件图形界面才能进行比较,费时费力。最方便的方式是用户直接在集群存储***客户端输入文件夹的位置就能得到这两个文件夹不同之处,本发明就是基于这种方式实现的。
发明内容
针对目前技术存在的不足之处,本发明提出了一种集群存储***下文件快速对比方法。
本发明所述一种集群存储***下文件快速对比方法,解决上述技术问题采用的技术方案如下:所述集群存储***下文件快速对比方法,提供了一种在集群存储文件***下寻找两个文件夹之间不同之处的算法,该文件快速对比方法使用所述算法,通过在命令行终端或命令行界面输入比较命令,进行对两个文件夹内容的快速比较,同时列出两个文件夹下目录名、文件名不同以及文件内容不同,进而确定重复的目录将其删除;该方法体系结构包括:获取文件和目录列表模块、算法模块以及应用接口模块;其中:
所述获取文件和目录列表模块:
在***存储空间里若有两个名字一样的目录,则设计一个读取目录结构的算法分别获取两个文件夹下子目录和文件列表,并将结果保存到缓存中或文件中;这样就获得了这两个文件夹的目录结构列表,每个子目录或文件在目录中的位置以条目形式保存,并且子目录和文件的条目有区别;
所述算法模块:
设计算法,并逐个的比较两个目录结构列表条目名称和文件内容,若条目是目录,则只比较条目名称;若条目是文件,则在确保条目名一样的情况下比较文件内容;
所述应用接口模块:
将整个目录比较流程实现算法封装成目录比较命令供客户使用,直接在命令行界面上输入目录比较命令+文件夹名对这两个文件夹内容进行完全比较;若将目录比较命令命名为CompDir,则提供给客户使用方式为:CompDir directory1 directory2;若两个目录不一样则提示为不一样的文件或目录;若两个目录一样,则提示两个目录一样。
本发明所述一种集群存储***下文件快速对比方法具有的有益效果:
所述集群存储***下文件快速对比方法,通过在命令行终端或命令行界面输入比较命令就可实现对两个文件夹内容的比较,适用于快速比较两个文件夹下的内容;该方法使用在本地文件***上,特别是在NAS集群存储***和共享访问存储上的应用,这种方法速度快、易操作,且能列出两个文件夹下目录名、文件名不同以及文件内容不同,进而确定重复的目录将其删除,可以大大地节省存储空间。
附图说明
附图1为所述集群存储***下文件快速对比方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图和实施例对本发明的一种集群存储***下文件快速对比方法进行详细说明。
本发明所述集群存储***下文件快速对比方法,提供了一种在集群存储文件***下寻找两个文件夹之间不同之处的算法,使得用户不需要再借助一些文件夹比较软件即可比较两个文件夹,适用于集群存储***下两个文件夹文件内容比较,还可用于不同文件***之间文件夹文件之间的比较;
该文件快速对比方法使用所述算法,通过在命令行终端或命令行界面输入比较命令,进行对两个文件夹内容的比较,适用于快速比较两个文件夹下的内容;同时列出两个文件夹下目录名、文件名不同以及文件内容不同,进而确定重复的目录将其删除;该方法体系结构包括:获取文件和目录列表模块、算法模块以及应用接口模块;其中:
所述获取文件和目录列表模块:
在***存储空间里若有两个名字一样的目录,则设计一个读取目录结构的算法分别获取两个文件夹下子目录和文件列表,并将结果保存到缓存中或文件中;这样就获得了这两个目录结构的子目录和文件列表,每个子目录或文件在目录中的位置以条目形式保存,并且子目录和文件的条目有区别;
所述算法模块:
设计算法,并逐个的比较两个目录结构列表条目名称和文件内容,若条目是目录,则只比较条目名称;若条目是文件,则在确保条目名一样的情况下比较文件内容;
所述应用接口模块:
将整个目录比较流程实现算法封装成目录比较命令供客户使用,直接在命令行界面上输入目录比较命令+文件夹名对这两个文件夹内容进行完全比较;若将目录比较命令命名为CompDir,则提供给客户使用方式为:CompDir directory1 directory2;若两个目录不一样则提示为不一样的文件或目录;若两个目录一样,则提示两个目录一样。
本发明所述集群存储***下文件快速对比方法,是针对集群存储***下两个文件夹(目录)内容的比较,该文件快速对比方法的具体实施流程如下:
首先,该文件快速对比方法通过算法获取两个文件夹的文件和目录列表,并将结果保存到缓存中或文件中;这样就获得了这两个目录结构的子目录和文件列表,每个文件或子目录在目录中的位置以条目形式保存,并且目录和文件的条目是有区别的;例如,d1目录下一个子目录的保存条目为“d1/XX/XXX/XXX/”,d1目录下一个文件的保存条目为“d1/XX/XXX/XXXX/d1”;这样更容易比较;
然后,逐个比较两个目录结构列表中条目名称和文件内容;若两个名字一样的目录的内容和结构是一样的,则其目录结构列表也是一样的,通过算法逐个获取两个目录结构列表进行对比;比较流程为:若比较的条目是目录,则判断目录名是否一致,一致就继续比较流程,不一致就输出信息;若比较的条目是文件,则判断文件名是否一致,不一致就输出信息,一致的话读取文件内容比较,最后输出比较结果;
最后,本发明所述集群存储***下文件快速对比方法,将上述快速对比算法封装成目录比较命令供用户使用;综上可知,该集群存储***下文件快速对比方法通过获取两个文件夹的目录结构列表,并设置目录和文件不同保存条目标志,高效地实现文件夹之间比较。
实施例:
下面通过一个实施例对本发明所述集群存储***下文件快速对比方法的优点和设计内容进行详细说明;该文件快速对比方法适用于很多应用环境,例如共享目录检查重复文件、本地文件***检查重复文件以及重删功能验证等,在此以一个应用案例来说明该方法的具体应用方法。
在研发集群存储***文件重删(重复数据删除)功能时,需要检测两个相同文件或目录是否经过重删,判断的依据是两个目录或文件内容一样,而大小不一样,原理是在部署了重删功能的集群***下,若两个目录或文件内容一样,只保留一个文件数据,另一个文件数据链接到这个文件,则进行过重删后的文件占用的***空间很小。
上诉应用中就用到了本发明所述文件快速对比方法,就可以使用该方法提供的CompDir命令来检验重删后的目录或文件和数据完整的目录或文件内容是否一致;如附图1所示,具体步骤如下:
步骤一、应用算法获取两个目录(文件夹)的目录结构列表;
步骤二、分别逐条获取目录结构列表中条目,若获取的是目录,比较目录名是否一致,不一致的话直接返回两个目录名不一致;一致的话进行步骤三;若获取的是文件,则先比较文件名是否一致,不一致的话直接返回两个文件名不一致;一致的话再比较内容是否一致,不一致返回两个文件不一致;
步骤三、继续获取下一条条目,重复步骤二的过程,直到没有不一致的文件或目录,比较完所有文件和目录。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
Claims (6)
1.一种集群存储***下文件快速对比方法,其特征在于,该文件快速对比方法,提供了一种在集群存储文件***下寻找两个文件夹之间不同之处的算法,使用所述算法,通过在命令行终端或命令行界面输入比较命令,进行对两个文件夹内容的快速比较,同时列出两个文件夹下目录名、文件名不同以及文件内容不同,进而确定重复的目录将其删除;该方法体系结构包括:获取文件和目录列表模块、算法模块以及应用接口模块;其中,
所述获取文件和目录列表模块:
在***存储空间设计一个能够读取目录结构的算法,通过所述算法分别获取两个文件夹下子目录和文件列表,并将结果保存到缓存中或文件中,获得了这两个文件夹的目录结构列表;
所述算法模块:
设计算法,并逐个的比较两个目录结构列表中条目名称和文件内容,若条目是目录,则只比较条目名称;若条目是文件,则在确保条目名一样的情况下比较文件内容;
所述应用接口模块:
将整个目录比较流程实现算法封装成目录比较命令供客户使用,直接在命令行界面上输入目录比较命令+文件夹名对这两个文件夹内容进行完全比较。
2.根据权利要求1所述的一种集群存储***下文件快速对比方法,其特征在于,每个子目录或文件在目录中的位置以条目形式保存,并且子目录和文件的条目有区别。
3.根据权利要求2所述的一种集群存储***下文件快速对比方法,其特征在于,子目录和文件的条目有区别,d1目录下一个子目录的保存条目为“d1/XX/XXX/XXX/”,d1目录下一个文件的保存条目为“d1/XX/XXX/XXXX/d1”。
4.根据权利要求3所述的一种集群存储***下文件快速对比方法,其特征在于,若将目录比较命令命名为CompDir,则提供给客户使用方式为:CompDir directory1 directory2。
5.根据权利要求1所述的一种集群存储***下文件快速对比方法,其特征在于,若比较的条目是目录,则判断目录名是否一致,一致就继续比较流程,不一致就输出信息;若比较的条目是文件,则判断文件名是否一致,不一致就输出信息,一致的话读取文件内容比较,最后输出比较结果。
6.根据权利要求5所述的一种集群存储***下文件快速对比方法,其特征在于,在集群存储***文件重删功能时,使用该文件快速对比方法的具体流程为:步骤一、应用算法获取两个目录的目录结构列表;
步骤二、分别逐条获取目录结构列表中条目,若获取的是目录,比较目录名是否一致,则不一致的话直接返回两个目录名不一致,一致的话进行步骤三;若获取的是文件,则先比较文件名是否一致,不一致的话直接返回两个文件名不一致;一致的话再比较内容是否一致,不一致返回两个文件不一致;
步骤三、继续获取下一条条目,重复步骤二的过程,直到没有不一致的文件或目录,比较完所有文件和目录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410251994.4A CN104021181A (zh) | 2014-06-10 | 2014-06-10 | 一种集群存储***下文件快速对比方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410251994.4A CN104021181A (zh) | 2014-06-10 | 2014-06-10 | 一种集群存储***下文件快速对比方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104021181A true CN104021181A (zh) | 2014-09-03 |
Family
ID=51437935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410251994.4A Pending CN104021181A (zh) | 2014-06-10 | 2014-06-10 | 一种集群存储***下文件快速对比方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104021181A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104361034A (zh) * | 2014-10-27 | 2015-02-18 | 浪潮(北京)电子信息产业有限公司 | 一种云存储的文件管理方法及装置 |
CN106878428A (zh) * | 2017-02-23 | 2017-06-20 | 郑州云海信息技术有限公司 | 一种文件夹上传的方法以及装置 |
CN107656944A (zh) * | 2016-08-23 | 2018-02-02 | 平安科技(深圳)有限公司 | 报价单文件的存储方法及文件服务器 |
CN110929500A (zh) * | 2019-11-08 | 2020-03-27 | 腾讯科技(深圳)有限公司 | 文件比较方法及相关装置 |
CN114154998A (zh) * | 2021-10-25 | 2022-03-08 | 深圳劲嘉集团股份有限公司 | 一种包装二维码处理方法、***及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020010762A1 (en) * | 2000-06-30 | 2002-01-24 | Shoji Kodama | File sharing system with data mirroring by storage systems |
CN103051671A (zh) * | 2012-11-22 | 2013-04-17 | 浪潮电子信息产业股份有限公司 | 一种集群文件***重复数据删除方法 |
CN103136354A (zh) * | 2013-03-04 | 2013-06-05 | 浪潮电子信息产业股份有限公司 | 一种Linux***文件夹对比方法 |
-
2014
- 2014-06-10 CN CN201410251994.4A patent/CN104021181A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020010762A1 (en) * | 2000-06-30 | 2002-01-24 | Shoji Kodama | File sharing system with data mirroring by storage systems |
CN103051671A (zh) * | 2012-11-22 | 2013-04-17 | 浪潮电子信息产业股份有限公司 | 一种集群文件***重复数据删除方法 |
CN103136354A (zh) * | 2013-03-04 | 2013-06-05 | 浪潮电子信息产业股份有限公司 | 一种Linux***文件夹对比方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104361034A (zh) * | 2014-10-27 | 2015-02-18 | 浪潮(北京)电子信息产业有限公司 | 一种云存储的文件管理方法及装置 |
CN107656944A (zh) * | 2016-08-23 | 2018-02-02 | 平安科技(深圳)有限公司 | 报价单文件的存储方法及文件服务器 |
CN106878428A (zh) * | 2017-02-23 | 2017-06-20 | 郑州云海信息技术有限公司 | 一种文件夹上传的方法以及装置 |
CN110929500A (zh) * | 2019-11-08 | 2020-03-27 | 腾讯科技(深圳)有限公司 | 文件比较方法及相关装置 |
CN110929500B (zh) * | 2019-11-08 | 2022-07-08 | 腾讯科技(深圳)有限公司 | 文件比较方法及相关装置 |
CN114154998A (zh) * | 2021-10-25 | 2022-03-08 | 深圳劲嘉集团股份有限公司 | 一种包装二维码处理方法、***及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9792306B1 (en) | Data transfer between dissimilar deduplication systems | |
CN104021181A (zh) | 一种集群存储***下文件快速对比方法 | |
JP5759915B2 (ja) | ファイルリスト生成方法及びシステム並びにプログラム、ファイルリスト生成装置 | |
CN108491549B (zh) | 一种分布式存储***中文件目录的创建方法及装置 | |
CN103605758B (zh) | 一种移动终端文件查找的方法及装置 | |
CN105787093B (zh) | 一种基于LSM-Tree结构的日志文件***的构建方法 | |
US8495022B1 (en) | Systems and methods for synthetic backups | |
CN104932841A (zh) | 一种云存储***中节约型重复数据删除方法 | |
CN105376277B (zh) | 一种数据同步方法及装置 | |
CN101141476A (zh) | 文件存储、下载方法以及装置 | |
CN104978151A (zh) | 基于应用感知的重复数据删除存储***中的数据重构方法 | |
CN103282899A (zh) | 文件***中数据的存储方法、访问方法及装置 | |
CN103279502B (zh) | 一种具有与并行文件***结合的重复数据删除文件***的架构及方法 | |
CN103595797B (zh) | 一种分布式存储***中的缓存方法 | |
CN103744875B (zh) | 基于文件***的数据快速迁移方法及*** | |
CN101582076A (zh) | 一种基于数据库的重复数据删除方法 | |
AU2021266178B2 (en) | Custom metadata tag inheritance based on a filesystem directory tree or object storage bucket | |
CN106599091B (zh) | 基于键值存储的rdf图结构存储和索引方法 | |
CN103973731A (zh) | 一种云存储的回收站管理方法和装置 | |
CN108243207B (zh) | 一种网络云盘的数据存储方法 | |
CN103136354A (zh) | 一种Linux***文件夹对比方法 | |
CN103714269A (zh) | 病毒的识别方法及设备 | |
CN108090186A (zh) | 一种大数据平台上的电力数据去重方法 | |
CN106487937A (zh) | 一种云存储***文件去重方法及*** | |
CN104484402B (zh) | 一种删除重复数据的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140903 |