一種集群存儲系統(tǒng)下文件快速對比方法
【專利摘要】本發(fā)明公開了一種集群存儲系統(tǒng)下文件快速對比方法,提供了一種在集群存儲文件系統(tǒng)下尋找兩個文件夾之間不同之處的算法,使用所述算法通過在命令行終端或命令行界面輸入比較命令,同時列出兩個文件夾下目錄名、文件名不同以及文件內(nèi)容不同,進而確定重復的目錄將其刪除;該方法體系結(jié)構(gòu)包括:獲取文件和目錄列表模塊、算法模塊以及應(yīng)用接口模塊;該方法使用在本地文件系統(tǒng)上,特別是在NAS集群存儲系統(tǒng)和共享訪問存儲上的應(yīng)用,且效率高、易操作,能夠快速比較兩個文件夾中內(nèi)容,進行重復刪除,進而大大地節(jié)省存儲空間。
【專利說明】一種集群存儲系統(tǒng)下文件快速對比方法
[0001]
【技術(shù)領(lǐng)域】
[0002]本發(fā)明涉及文件夾文件對比技術(shù),具體地說是一種集群存儲系統(tǒng)下文件快速對比方法。
【背景技術(shù)】
[0003]目前,在集群存儲系統(tǒng)下雖然有不同的文件系統(tǒng)類型(本地文件系統(tǒng)、分布式文件系統(tǒng)等),但是用戶數(shù)據(jù)最終以文件形式存到系統(tǒng)硬盤上。當系統(tǒng)應(yīng)用一段時間后,就會在系統(tǒng)目錄下存儲大量的文件和文件夾,很多時候會發(fā)現(xiàn)有兩個甚至更多的文件夾名字一樣,目錄結(jié)構(gòu)也類似,但是用戶不清楚這這些文件夾下的內(nèi)容是否一樣,如果一樣的話就可以只保留一份節(jié)省存儲空間。然而很多情況下用戶不可能逐個目錄、組個文件的去查看是否一致,這時候就需要一個文件快速對比工具完成這一工作。集群存儲文件系統(tǒng)已有一些文件比較軟件,大部分都是采用圖形界面來選擇文件夾比較,使用起來煩瑣且速度有限。
[0004]在集群重刪文件系統(tǒng)中,對重刪后目標文件需要檢測是否和之前的內(nèi)容一致,而在命令行界面下沒有專門的比較兩個文件夾的命令,有的比較軟件需要調(diào)出軟件圖形界面才能進行比較,費時費力。最方便的方式是用戶直接在集群存儲系統(tǒng)客戶端輸入文件夾的位置就能得到這兩個文件夾不同之處,本發(fā)明就是基于這種方式實現(xiàn)的。
【發(fā)明內(nèi)容】
[0005]針對目前技術(shù)存在的不足之處,本發(fā)明提出了一種集群存儲系統(tǒng)下文件快速對比方法。
[0006]本發(fā)明所述一種集群存儲系統(tǒng)下文件快速對比方法,解決上述技術(shù)問題采用的技術(shù)方案如下:所述集群存儲系統(tǒng)下文件快速對比方法,提供了一種在集群存儲文件系統(tǒng)下尋找兩個文件夾之間不同之處的算法,該文件快速對比方法使用所述算法,通過在命令行終端或命令行界面輸入比較命令,進行對兩個文件夾內(nèi)容的快速比較,同時列出兩個文件夾下目錄名、文件名不同以及文件內(nèi)容不同,進而確定重復的目錄將其刪除;該方法體系結(jié)構(gòu)包括:獲取文件和目錄列表模塊、算法模塊以及應(yīng)用接口模塊;其中:
所述獲取文件和目錄列表模塊:
在系統(tǒng)存儲空間里若有兩個名字一樣的目錄,則設(shè)計一個讀取目錄結(jié)構(gòu)的算法分別獲取兩個文件夾下子目錄和文件列表,并將結(jié)果保存到緩存中或文件中;這樣就獲得了這兩個文件夾的目錄結(jié)構(gòu)列表,每個子目錄或文件在目錄中的位置以條目形式保存,并且子目錄和文件的條目有區(qū)別;
所述算法模塊:
設(shè)計算法,并逐個的比較兩個目錄結(jié)構(gòu)列表條目名稱和文件內(nèi)容,若條目是目錄,則只比較條目名稱;若條目是文件,則在確保條目名一樣的情況下比較文件內(nèi)容;所述應(yīng)用接口模塊:
將整個目錄比較流程實現(xiàn)算法封裝成目錄比較命令供客戶使用,直接在命令行界面上輸入目錄比較命令+文件夾名對這兩個文件夾內(nèi)容進行完全比較;若將目錄比較命令命名為CompDir,則提供給客戶使用方式為:CompDir directory I directory〗;若兩個目錄不一樣則提示為不一樣的文件或目錄;若兩個目錄一樣,則提示兩個目錄一樣。
[0007]本發(fā)明所述一種集群存儲系統(tǒng)下文件快速對比方法具有的有益效果:
所述集群存儲系統(tǒng)下文件快速對比方法,通過在命令行終端或命令行界面輸入比較命令就可實現(xiàn)對兩個文件夾內(nèi)容的比較,適用于快速比較兩個文件夾下的內(nèi)容;該方法使用在本地文件系統(tǒng)上,特別是在NAS集群存儲系統(tǒng)和共享訪問存儲上的應(yīng)用,這種方法速度快、易操作,且能列出兩個文件夾下目錄名、文件名不同以及文件內(nèi)容不同,進而確定重復的目錄將其刪除,可以大大地節(jié)省存儲空間。
【專利附圖】
【附圖說明】
[0008]附圖1為所述集群存儲系統(tǒng)下文件快速對比方法的流程圖。
【具體實施方式】
[0009]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,下文中將結(jié)合附圖和實施例對本發(fā)明的一種集群存儲系統(tǒng)下文件快速對比方法進行詳細說明。
[0010]本發(fā)明所述集群存儲系統(tǒng)下文件快速對比方法,提供了一種在集群存儲文件系統(tǒng)下尋找兩個文件夾之間不同之處的算法,使得用戶不需要再借助一些文件夾比較軟件即可比較兩個文件夾,適用于集群存儲系統(tǒng)下兩個文件夾文件內(nèi)容比較,還可用于不同文件系統(tǒng)之間文件夾文件之間的比較;
該文件快速對比方法使用所述算法,通過在命令行終端或命令行界面輸入比較命令,進行對兩個文件夾內(nèi)容的比較,適用于快速比較兩個文件夾下的內(nèi)容;同時列出兩個文件夾下目錄名、文件名不同以及文件內(nèi)容不同,進而確定重復的目錄將其刪除;該方法體系結(jié)構(gòu)包括:獲取文件和目錄列表模塊、算法模塊以及應(yīng)用接口模塊;其中:
所述獲取文件和目錄列表模塊:
在系統(tǒng)存儲空間里若有兩個名字一樣的目錄,則設(shè)計一個讀取目錄結(jié)構(gòu)的算法分別獲取兩個文件夾下子目錄和文件列表,并將結(jié)果保存到緩存中或文件中;這樣就獲得了這兩個目錄結(jié)構(gòu)的子目錄和文件列表,每個子目錄或文件在目錄中的位置以條目形式保存,并且子目錄和文件的條目有區(qū)別;
所述算法模塊:
設(shè)計算法,并逐個的比較兩個目錄結(jié)構(gòu)列表條目名稱和文件內(nèi)容,若條目是目錄,則只比較條目名稱;若條目是文件,則在確保條目名一樣的情況下比較文件內(nèi)容;
所述應(yīng)用接口模 塊:
將整個目錄比較流程實現(xiàn)算法封裝成目錄比較命令供客戶使用,直接在命令行界面上輸入目錄比較命令+文件夾名對這兩個文件夾內(nèi)容進行完全比較;若將目錄比較命令命名為CompDir,則提供給客戶使用方式為:CompDir directory I directory〗;若兩個目錄不一樣則提示為不一樣的文件或目錄;若兩個目錄一樣,則提示兩個目錄一樣。[0011]本發(fā)明所述集群存儲系統(tǒng)下文件快速對比方法,是針對集群存儲系統(tǒng)下兩個文件夾(目錄)內(nèi)容的比較,該文件快速對比方法的具體實施流程如下:
首先,該文件快速對比方法通過算法獲取兩個文件夾的文件和目錄列表,并將結(jié)果保存到緩存中或文件中;這樣就獲得了這兩個目錄結(jié)構(gòu)的子目錄和文件列表,每個文件或子目錄在目錄中的位置以條目形式保存,并且目錄和文件的條目是有區(qū)別的;例如,dl目錄下一個子目錄的保存條目為“dl/XX/XXX/XXX/”,dl目錄下一個文件的保存條目為“dl/XX/XXX/XXXX/dl” ;這樣更容易比較;
然后,逐個比較兩個目錄結(jié)構(gòu)列表中條目名稱和文件內(nèi)容;若兩個名字一樣的目錄的內(nèi)容和結(jié)構(gòu)是一樣的,則其目錄結(jié)構(gòu)列表也是一樣的,通過算法逐個獲取兩個目錄結(jié)構(gòu)列表進行對比;比較流程為:若比較的條目是目錄,則判斷目錄名是否一致,一致就繼續(xù)比較流程,不一致就輸出信息;若比較的條目是文件,則判斷文件名是否一致,不一致就輸出信息,一致的話讀取文件內(nèi)容比較,最后輸出比較結(jié)果;
最后,本發(fā)明所述集群存儲系統(tǒng)下文件快速對比方法,將上述快速對比算法封裝成目錄比較命令供用戶使用;綜上可知,該集群存儲系統(tǒng)下文件快速對比方法通過獲取兩個文件夾的目錄結(jié)構(gòu)列表,并設(shè)置目錄和文件不同保存條目標志,高效地實現(xiàn)文件夾之間比較。
[0012]實施例:
下面通過一個實施例對本發(fā)明所述集群存儲系統(tǒng)下文件快速對比方法的優(yōu)點和設(shè)計內(nèi)容進行詳細說明;該文件快速對比方法適用于很多應(yīng)用環(huán)境,例如共享目錄檢查重復文件、本地文件系統(tǒng)檢查重復文件以及重刪功能驗證等,在此以一個應(yīng)用案例來說明該方法的具體應(yīng)用方法。
[0013]在研發(fā)集群存儲系統(tǒng)文件重刪(重復數(shù)據(jù)刪除)功能時,需要檢測兩個相同文件或目錄是否經(jīng)過重刪,判斷的依據(jù)是兩個目錄或文件內(nèi)容一樣,而大小不一樣,原理是在部署了重刪功能的集群系統(tǒng)下,若兩個目錄或文件內(nèi)容一樣,只保留一個文件數(shù)據(jù),另一個文件數(shù)據(jù)鏈接到這個文件,則進行過重刪后的文件占用的系統(tǒng)空間很小。
[0014]上訴應(yīng)用中就用到了本發(fā)明所述文件快速對比方法,就可以使用該方法提供的CompDir命令來檢驗重刪后的目錄或文件和數(shù)據(jù)完整的目錄或文件內(nèi)容是否一致;如附圖1所示,具體步驟如下:
步驟一、應(yīng)用算法獲取兩個目錄(文件夾)的目錄結(jié)構(gòu)列表;
步驟二、分別逐條獲取目錄結(jié)構(gòu)列表中條目,若獲取的是目錄,比較目錄名是否一致,不一致的話直接返回兩個目錄名不一致;一致的話進行步驟三;若獲取的是文件,則先比較文件名是否一致,不一致的話直接返回兩個文件名不一致;一致的話再比較內(nèi)容是否一致,不一致返回兩個文件不一致;
步驟三、繼續(xù)獲取下一條條目,重復步驟二的過程,直到?jīng)]有不一致的文件或目錄,比較完所有文件和目錄。
[0015]上述【具體實施方式】僅是本發(fā)明的具體個案,本發(fā)明的專利保護范圍包括但不限于上述【具體實施方式】,任何符合本發(fā)明的權(quán)利要求書的且任何所屬【技術(shù)領(lǐng)域】的普通技術(shù)人員對其所做的適當變化或替換,皆應(yīng)落入本發(fā)明的專利保護范圍。
【權(quán)利要求】
1.一種集群存儲系統(tǒng)下文件快速對比方法,其特征在于,該文件快速對比方法,提供了一種在集群存儲文件系統(tǒng)下尋找兩個文件夾之間不同之處的算法,使用所述算法,通過在命令行終端或命令行界面輸入比較命令,進行對兩個文件夾內(nèi)容的快速比較,同時列出兩個文件夾下目錄名、文件名不同以及文件內(nèi)容不同,進而確定重復的目錄將其刪除;該方法體系結(jié)構(gòu)包括:獲取文件和目錄列表模塊、算法模塊以及應(yīng)用接口模塊;其中, 所述獲取文件和目錄列表模塊: 在系統(tǒng)存儲空間設(shè)計一個能夠讀取目錄結(jié)構(gòu)的算法,通過所述算法分別獲取兩個文件夾下子目錄和文件列表,并將結(jié)果保存到緩存中或文件中,獲得了這兩個文件夾的目錄結(jié)構(gòu)列表; 所述算法模塊: 設(shè)計算法,并逐個的比較兩個目錄結(jié)構(gòu)列表中條目名稱和文件內(nèi)容,若條目是目錄,則只比較條目名稱;若條目是文件,則在確保條目名一樣的情況下比較文件內(nèi)容; 所述應(yīng)用接口模塊: 將整個目錄比較流程實現(xiàn)算法封裝成目錄比較命令供客戶使用,直接在命令行界面上輸入目錄比較命令+文件夾名對這兩個文件夾內(nèi)容進行完全比較。
2.根據(jù)權(quán)利要求1所述的一種集群存儲系統(tǒng)下文件快速對比方法,其特征在于,每個子目錄或文件在目錄中的位置以條目形式保存,并且子目錄和文件的條目有區(qū)別。
3.根據(jù)權(quán)利要求2所 述的一種集群存儲系統(tǒng)下文件快速對比方法,其特征在于,子目錄和文件的條目有區(qū)別,dl目錄下一個子目錄的保存條目為“dl/XX/XXX/XXX/”,dl目錄下一個文件的保存條目為“dl/XX/XXX/XXXX/dl ”。
4.根據(jù)權(quán)利要求3所述的一種集群存儲系統(tǒng)下文件快速對比方法,其特征在于,若將目錄比較命令命名為CompDir,則提供給客戶使用方式為:CompDir directory Idirectory2。
5.根據(jù)權(quán)利要求1所述的一種集群存儲系統(tǒng)下文件快速對比方法,其特征在于,若比較的條目是目錄,則判斷目錄名是否一致,一致就繼續(xù)比較流程,不一致就輸出信息;若比較的條目是文件,則判斷文件名是否一致,不一致就輸出信息,一致的話讀取文件內(nèi)容比較,最后輸出比較結(jié)果。
6.根據(jù)權(quán)利要求5所述的一種集群存儲系統(tǒng)下文件快速對比方法,其特征在于,在集群存儲系統(tǒng)文件重刪功能時,使用該文件快速對比方法的具體流程為:步驟一、應(yīng)用算法獲取兩個目錄的目錄結(jié)構(gòu)列表; 步驟二、分別逐條獲取目錄結(jié)構(gòu)列表中條目,若獲取的是目錄,比較目錄名是否一致,則不一致的話直接返回兩個目錄名不一致,一致的話進行步驟三;若獲取的是文件,則先比較文件名是否一致,不一致的話直接返回兩個文件名不一致;一致的話再比較內(nèi)容是否一致,不一致返回兩個文件不一致; 步驟三、繼續(xù)獲取下一條條目,重復步驟二的過程,直到?jīng)]有不一致的文件或目錄,比較完所有文件和目錄。
【文檔編號】G06F17/30GK104021181SQ201410251994
【公開日】2014年9月3日 申請日期:2014年6月10日 優(yōu)先權(quán)日:2014年6月10日
【發(fā)明者】張延良 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司