本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,特別涉及一種目錄過濾方法及設(shè)備。
背景技術(shù):
在計算機(jī)文件系統(tǒng)中,基于目錄樹結(jié)構(gòu)對文件進(jìn)行管理,其中,一個目錄下屬內(nèi)容包括文件和/或該目錄的子目錄。在需要對目錄樹中的部分文件進(jìn)行刪除或復(fù)制時,通常采用目錄過濾規(guī)則對目錄樹中內(nèi)容進(jìn)行過濾,根據(jù)過濾結(jié)果執(zhí)行復(fù)制操作或刪除操作。
包含/排除(INCLUDE/EXCLUDE)過濾規(guī)則是一種應(yīng)用廣泛的目錄過濾規(guī)則。其中,INCLUDE規(guī)則項用于指定一個目錄的類型為保留INCLUDE,EXCLUDE規(guī)則項用于指定一個目錄的類型為排除EXCLUDE。
采用INCLUDE/EXCLUDE過濾規(guī)則進(jìn)行目錄過濾需要滿足如下一般性約束:
(1)一個目錄,不能同時被指定為包含INCLUDE和排除EXCLUDE;
(2)如果過濾規(guī)則中不存在INCLUDE規(guī)則項時,目錄樹的根目錄就是唯一的INCLUDE目錄;如果過濾規(guī)則中存在INCLUDE規(guī)則項時,目錄樹的根目錄為EXCLUDE目錄;
(3)如果一個目錄沒有被指定為INCLUDE或者EXCLUDE,則繼承其父目錄的INCLUDE或者EXCLUDE屬性。
(4)INCLUDE規(guī)則項總是優(yōu)先于EXCLUDE規(guī)則項。
現(xiàn)有技術(shù)中,在根據(jù)上述一般性約束進(jìn)行目錄過濾時,需要對目錄樹中的每個目錄以及文件進(jìn)行掃描,針對每個目錄以及文件進(jìn)行是否滿足過濾條件的判定。由于目錄樹中通常包括大量的目錄以及文件,導(dǎo)致現(xiàn)有的目錄過濾方法運(yùn)算量非常大。
技術(shù)實(shí)現(xiàn)要素:
本申請?zhí)峁┮环N目錄過濾方法及設(shè)備,用于提供一種高效地目錄過濾方式。
第一方面,本申請?zhí)峁┮环N目錄過濾方法,該目錄過濾方法由計算設(shè)備執(zhí)行,該計算設(shè)備可以為臺式機(jī)、便攜式電腦、網(wǎng)絡(luò)服務(wù)器、移動手機(jī)、平板電腦、無線終端設(shè)備、通信設(shè)備、嵌入式設(shè)備等設(shè)備。該方法包括如下步驟:獲得至少一個過濾規(guī)則項,其中,每個所述過濾規(guī)則項用于指定目錄樹中的一個目錄的類型為包含INCLUDE或排除EXCLUDE,每個被指定為INCLUDE的目錄為INCLUDE目錄,每個被指定為EXCLUDE的目錄為EXCLUDE目錄;確定所述目錄樹的根目錄到每個所述INCLUDE目錄的路徑所包含的目錄,以及,確定所述根目錄到每個所述EXCLUDE目錄的路徑所包含的目錄,確定出的所有目錄的集合為特征目錄集合;確定所述特征目錄集合中未指定類型的目錄的類型,其中,所述未指定類型的目錄中父目錄為所述INCLUDE目錄的目錄為第一類目錄,所述未指定類型的目錄中父目錄為所述第一類目錄的目錄為所述第一類目錄,所述未指定類型的目錄中父目錄為所述EXCLUDE目錄的目錄為第二類目錄,所述未指定類型的目錄中父目錄為所述第二類目錄的目錄為所述第二類目錄;將所述EXCLUDE目錄中子孫目錄包括INCLUDE目錄的目錄的類型轉(zhuǎn)化為第三類目錄;根據(jù)所述特征目錄集合中每個目錄的類型確定所述目錄樹中需保留的內(nèi)容,其中,所述INCLUDE目錄自身、所述第一類目錄自身、所述第二類目錄自身以及所述第三類目錄自身為需保留的內(nèi)容;所述INCLUDE目錄的未包含在所述特征目錄集合中的第一子目錄自身、所述第一子目錄下屬內(nèi)容以及所述INCLUDE目錄包括的文件為需保留的內(nèi)容;所述第一類目錄的未包含在所述特征目錄集合中的第二子目錄自身、所述第二子目錄下屬內(nèi)容以及所述第一類目錄包括的文件為需保留的內(nèi)容。該第一子目錄指所述INCLUDE目錄的未包含在所述特征目錄集合中的任一子目錄,第二子目錄指所述第一類目錄的未包含在所述特征目錄集合中的任一子目錄。
上述實(shí)現(xiàn)中,計算設(shè)備首先根據(jù)被目錄規(guī)則項指定為INCLUDE或EXCLUDE的目錄確定出特征目錄集合,并確定該特征目錄集合中每個目錄的類型(如INCLUDE目錄、EXCLUDE目錄、第一類目錄、第二類目錄、第三類目錄)。然后,根據(jù)特征目錄集合中目錄的類型快速確定出需保留的內(nèi)容。其中,對于EXCLUDE目錄及其下屬所有內(nèi)容均不進(jìn)行掃描,對于第二類目錄、第三類目錄下屬內(nèi)容不進(jìn)行掃描,對于INCLUDE目錄、第一類目錄只是簡單判斷其子目錄是否屬于特征目錄集合,且對于不屬于特征目錄集合的子目錄的下屬內(nèi)容不進(jìn)行掃描。在整個目錄過濾過程中,目錄樹中內(nèi)容掃描量相對于現(xiàn)有技術(shù)方案大幅減小,且對目錄及其下屬內(nèi)容是否為需保留內(nèi)容而進(jìn)行的判定非常簡單,運(yùn)算量很小。
在一種可選的實(shí)現(xiàn)中,所述確定所述特征目錄集合中未指定類型的目錄的類型,包括:在所述特征目錄集合中存在被所述過濾規(guī)則項指定為INCLUDE的目錄時,確定所述根目錄為所述EXCLUDE目錄;以及,在所述特征目錄集合中不存在被所述過濾規(guī)則項指定為INCLUDE的目錄時,確定所述根目錄為所述INCLUDE目錄。
在一種可選的實(shí)現(xiàn)中,計算設(shè)備將確定出的所述需保留的內(nèi)容發(fā)送至目標(biāo)端,以實(shí)現(xiàn)所述目標(biāo)端對所述需保留的內(nèi)容的復(fù)制。在本實(shí)現(xiàn)中,計算設(shè)備在向目標(biāo)端復(fù)制目標(biāo)樹時,首先根據(jù)被目錄規(guī)則項指定為INCLUDE或EXCLUDE的目錄確定出特征目錄集合,并確定該特征目錄集合中每個目錄的類型,并根據(jù)特征目錄集合中目錄的類型快速確定出需保留的內(nèi)容以減少遠(yuǎn)程復(fù)制中的帶寬占用以及復(fù)制耗時。
第二方面,本申請?zhí)峁┮环N目錄過濾方法,該方法由計算設(shè)備執(zhí)行,包括如下步驟:獲得至少一個過濾規(guī)則項,其中,每個所述過濾規(guī)則項用于指定目錄樹中的一個目錄的類型為INCLUDE或EXCLUDE,每個被指定為INCLUDE的目錄為INCLUDE目錄,每個被指定為EXCLUDE的目錄為EXCLUDE目錄;確定所述目錄樹的根目錄到每個所述INCLUDE目錄的路徑所包含的目錄,以及,確定所述根目錄到每個所述EXCLUDE目錄的路徑所包含的目錄,確定出的所有目錄的集合為特征目錄集合;確定所述特征目錄集合的未指定類型的目錄中父目錄為所述EXCLUDE目錄的目錄為第二類目錄,以及,確定所述未指定類型的目錄中父目錄為所述第二類目錄的目錄為所述第二類目錄;將所述EXCLUDE目錄中子孫目錄包括INCLUDE目錄的目錄的類型轉(zhuǎn)化為第三類目錄;根據(jù)所述特征目錄集合中每個目錄的類型確定所述目錄樹中需刪除的內(nèi)容,其中,所述EXCLUDE目錄自身及其下屬內(nèi)容為需刪除內(nèi)容;所述INCLUDE目錄的父目錄的未包含在所述特征目錄集合中的第三子目錄自身、所述第三子目錄下屬內(nèi)容以及所述INCLUDE目錄的父目錄包括的文件為需刪除的內(nèi)容;所述第二類目錄的父目錄的未包含在所述特征目錄集合中的第四子目錄自身、所述第四子目錄下屬內(nèi)容以及所述第二類目錄的父目錄包括的文件為需刪除的內(nèi)容。
上述實(shí)現(xiàn)中,計算設(shè)備首先根據(jù)被目錄規(guī)則項指定為INCLUDE或EXCLUDE的目錄確定出特征目錄集合,并確定該特征目錄集合中目錄的類型(如INCLUDE目錄、EXCLUDE目錄、第二類目錄、第三類目錄)。然后,根據(jù)特征目錄集合中目錄的類型快速確定出需刪除的內(nèi)容。其中,對于ENCLUDE目錄下屬所有內(nèi)容均不進(jìn)行掃描,對于INCLUDE目錄、第二類目錄目錄只是簡單判斷其父目錄的子目錄是否屬于特征目錄集合,且對于不屬于特征目錄集合的子目錄的下屬內(nèi)容不進(jìn)行掃描。在整個目錄過濾過程中,目錄樹中內(nèi)容掃描量相對于現(xiàn)有技術(shù)方案大幅減小,且對目錄及其下屬內(nèi)容是否刪除的判定非常簡單,運(yùn)算量很小。
在一種可選的實(shí)現(xiàn)中,在所述確定所述特征目錄集合的未指定類型的目錄中父目錄為所述EXCLUDE目錄的目錄為第二類目錄之前,還包括:在所述特征目錄集合中存在被所述過濾規(guī)則項指定為INCLUDE的目錄時,確定所述根目錄為所述EXCLUDE目錄;以及,在所述特征目錄集合中不存在被所述過濾規(guī)則項指定為INCLUDE的目錄時,確定所述根目錄為所述INCLUDE目錄。
在一種可選的實(shí)現(xiàn)中,所述根據(jù)所述特征目錄集合中每個目錄的類型確定所述目錄樹中需刪除的內(nèi)容,包括:根據(jù)所述特征目錄集合中目錄間的父子關(guān)系形成模板樹;在所述模板樹中為每個所述INCLUDE目錄以及每個所述第二類目錄增加一兄弟節(jié)點(diǎn),所述兄弟節(jié)點(diǎn)被標(biāo)記為通配目錄;對所述通配目錄的父目錄在所述目錄樹中的子目錄進(jìn)行掃描,確定所述通配目錄的父目錄的未包含在所述特征目錄集合中的子目錄自身及下屬內(nèi)容、所述通配目錄的父目錄包括的文件為需刪除的內(nèi)容。上述實(shí)現(xiàn)中,根據(jù)INCLUDE目錄以及第二類目錄抽象出通配目錄作為其兄弟目錄,用于表征INCLUDE目錄以及第二類目錄可能存在需刪除的兄弟目錄這一特性,簡化了目錄過濾方法的算法,提高目錄過濾的效率。
第三方面,本申請?zhí)峁┮环N目錄過濾設(shè)備,該設(shè)備用于執(zhí)行上述第一方面或第一方面的任意可能的實(shí)現(xiàn)中的方法。具體的,該設(shè)備包括用于執(zhí)行上述第一方面或第一方面的任意可能的實(shí)現(xiàn)中的方法的模塊。
第四方面,本申請?zhí)峁┮环N目錄過濾設(shè)備,該設(shè)備用于執(zhí)行上述第二方面或第二方面的任意可能的實(shí)現(xiàn)中的方法。具體的,該設(shè)備包括用于執(zhí)行上述第二方面或第二方面的任意可能的實(shí)現(xiàn)中的方法的模塊。
第五方面,本申請?zhí)峁┮环N計算設(shè)備,包括至少一個處理器,總線,存儲器以及至少一個通信接口。該至少一個通信接口用于與其它設(shè)備進(jìn)行通信,該存儲器用于存儲執(zhí)行上述第一方面或第一方面的任意可能的實(shí)現(xiàn)中的方法的應(yīng)用程序代碼指令,該總線用于實(shí)現(xiàn)處理器與該存儲器、通信接口的通信。該處理器通過執(zhí)行存儲器中的應(yīng)用程序代碼指令,以執(zhí)行上述第一方面或第一方面的任意可能的實(shí)現(xiàn)中的方法。
第六方面,本申請?zhí)峁┮环N計算設(shè)備,包括至少一個處理器,總線,存儲器以及至少一個通信接口。該至少一個通信接口用于與其它設(shè)備進(jìn)行通信,該存儲器用于存儲執(zhí)行上述第二方面或第二方面的任意可能的實(shí)現(xiàn)中的方法的應(yīng)用程序代碼指令,該總線用于實(shí)現(xiàn)處理器與該存儲器、通信接口的通信。該處理器通過執(zhí)行存儲器中的應(yīng)用程序代碼指令,以執(zhí)行上述第二方面或第二方面的任意可能的實(shí)現(xiàn)中的方法。
第七方面,本申請?zhí)峁┝艘环N計算機(jī)可讀介質(zhì),用于存儲計算機(jī)程序,該計算機(jī)程序包括用于執(zhí)行第一方面或第一方面的任意可能的實(shí)現(xiàn)中的方法的指令。
第八方面,本申請?zhí)峁┝艘环N計算機(jī)可讀介質(zhì),用于存儲計算機(jī)程序,該計算機(jī)程序包括用于執(zhí)行第一方面或第一方面的任意可能的實(shí)現(xiàn)中的方法的指令。
本發(fā)明在上述各方面提供的實(shí)現(xiàn)的基礎(chǔ)上,還可以進(jìn)行進(jìn)一步組合以提供更多實(shí)現(xiàn)。
附圖說明
為了更清楚地說明本申請實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實(shí)施例,對于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為現(xiàn)有技術(shù)中的目錄過濾方法的流程示意圖;
圖2為本申請實(shí)施例中計算設(shè)備200的示意圖;
圖3為本申請實(shí)施例中目錄過濾方法的流程示意圖;
圖4為本申請實(shí)施例中另一目錄過濾方法的流程示意圖;
圖5為本申請實(shí)施例中目錄過濾方法的另一流程示意圖;
圖6a至圖6c為本申請實(shí)施例對目錄樹進(jìn)行目錄過濾的示意圖;
圖7為本申請實(shí)施例中目錄過濾設(shè)備500的示意圖;
圖8為本申請實(shí)施例中目錄過濾設(shè)備600的示意圖。
具體實(shí)施方式
為了便于理解本申請實(shí)施例對現(xiàn)有技術(shù)作出的改進(jìn),下面先詳細(xì)介紹現(xiàn)有技術(shù)中采用INCLUDE/EXCLUDE過濾規(guī)則進(jìn)行目錄過濾的方法,圖1為該方法的流程示意圖,包括如下步驟:
步驟101,判斷對目錄樹進(jìn)行過濾的INCLUDE/EXCLUDE規(guī)則項中是否存在INCLUDE規(guī)則項。若不存在,轉(zhuǎn)至步驟102;否則,轉(zhuǎn)至步驟103。
步驟102:判斷目錄樹中每一個目錄自身以及其祖先目錄的集合中是否存在EXCLUDE目錄,若不存在,則確定該目錄滿足過濾條件,否則,確定該目錄不滿足過濾條件;以及,判斷目錄樹中每一個文件的祖先目錄中是否存在EXCLUDE目錄,若不存在,則確定該文件滿足過濾條件,否則,確定該文件不滿足過濾條件。
其中,祖先目錄指的是根目錄到一目錄的路徑中,比該目錄更靠近根目錄的目錄,例如,根目錄至目錄e的路徑為“/a/b/c/d/e”,則目錄a、目錄b、目錄c、目錄d均為目錄e的祖先目錄,其中目錄d為目錄e的父目錄。對應(yīng)的之,目錄e為目錄a、目錄b、目錄c、目錄d的子孫目錄,目錄e為目錄d的子目錄。另外,根目錄自然為其余所有目錄的祖先目錄,任一非根目錄均為根目錄的子孫目錄。
需要說明的是,本申請實(shí)施例中“祖先目錄”以及“子孫目錄”的定義與此處一致。
步驟103:判斷目錄樹中每一個目錄自身以及其子孫目錄的集合中是否存在INCLUDE目錄,若存在,則確定該目錄滿足過濾條件,否則,轉(zhuǎn)至步驟104;
步驟104:判斷該目錄的被規(guī)則項指定的祖先目錄中距其最近的目錄是否為INCLUDE目錄,若是,則確定該目錄滿足過濾條件,否則,確定該目錄不滿足過濾條件;以及,判斷該目錄樹的每一個文件的被規(guī)則項指定的祖先目錄中距其最近的目錄是否為INCLUDE目錄,若是,則確定該文件滿足過濾條件,否則,確定該文件不滿足過濾條件。
可見,在現(xiàn)有技術(shù)中采用INCLUDE/EXCLUDE過濾規(guī)則進(jìn)行目錄過濾時,需要對目錄樹的每一個目錄以及文件進(jìn)行檢視,掃描量很大;不僅如此,對每一個目錄而言,還可能會對其進(jìn)行多個步驟的判定才能確定其是否滿足過濾條件,運(yùn)算量很大。
為了解決現(xiàn)有技術(shù)中基于INCLUDE/EXCLUDE過濾規(guī)則進(jìn)行目錄過濾時運(yùn)算量過大的問題,本申請實(shí)施例提供一種目錄過濾方法。下面通過附圖以及具體實(shí)施例對本申請技術(shù)方案做詳細(xì)的說明,應(yīng)當(dāng)理解本申請實(shí)施例以及實(shí)施例中的具體特征是對本申請技術(shù)方案的詳細(xì)的說明,而不是對本申請技術(shù)方案的限定,在不沖突的情況下,本申請實(shí)施例以及實(shí)施例中的技術(shù)特征可以相互組合。
本申請實(shí)施例提供的目錄過濾方法由計算設(shè)備200執(zhí)行,圖2為計算設(shè)備200的示意圖。計算設(shè)備200包括至少一個處理器201,總線202,存儲器203以及至少一個通信接口204。
處理器201可以是通用中央處理器(CPU),微處理器,特定應(yīng)用集成電路(Application-Specific Integrated Circuit,ASIC),或一個或多個用于控制本發(fā)明方案程序執(zhí)行的集成電路。另外,處理器201可以是處理器元件,也可以是多個處理器元件的統(tǒng)稱。
總線202可包括一通路,在上述組件之間傳送信息。通信接口204,使用任何收發(fā)器一類的裝置,用于與其他設(shè)備或通信網(wǎng)絡(luò)通信,如以太網(wǎng),無線接入網(wǎng)(RAN),無線局域網(wǎng)(Wireless Local Area Networks,WLAN)等。
存儲器203可以是只讀存儲器(read-only memory,ROM)或可存儲靜態(tài)信息和指令的其他類型的靜態(tài)存儲設(shè)備,隨機(jī)存取存儲器(random access memory,RAM)或者可存儲信息和指令的其他類型的動態(tài)存儲設(shè)備,也可以是電可擦可編程只讀存儲器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只讀光盤(Compact Disc Read-Only Memory,CD-ROM)或其他光盤存儲、光碟存儲(包括壓縮光碟、激光碟、光碟、數(shù)字通用光碟、藍(lán)光光碟等)、磁盤存儲介質(zhì)或者其他磁存儲設(shè)備、或者能夠用于攜帶或存儲具有指令或數(shù)據(jù)結(jié)構(gòu)形式的期望的程序代碼并能夠由計算機(jī)存取的任何其他介質(zhì),但不限于此。存儲器203可以是獨(dú)立存在,通過總線與處理器201相連接。存儲器203也可以和處理器201集成在一起。另外,存儲器203可以是一個存儲器元件,也可以是多個存儲器元件的統(tǒng)稱。
其中,存儲器203用于存儲執(zhí)行本發(fā)明方案的應(yīng)用程序代碼,并由處理器201來控制執(zhí)行。
上述的計算設(shè)備200可以是一個通用計算機(jī)設(shè)備或者是一個專用計算機(jī)設(shè)備。在具體實(shí)現(xiàn)中,計算設(shè)備200可以是臺式機(jī)、便攜式電腦、網(wǎng)絡(luò)服務(wù)器、掌上電腦(Personal Digital Assistant,PDA)、移動手機(jī)、平板電腦、無線終端設(shè)備、通信設(shè)備、嵌入式設(shè)備或有圖2中類似結(jié)構(gòu)的設(shè)備。本發(fā)明實(shí)施例不限定計算設(shè)備200的類型。
圖3為本申請實(shí)施例提供的目錄過濾方法的流程示意圖,該方法包括如下步驟:
步驟301:計算設(shè)備200獲得至少一個過濾規(guī)則項,其中,每個過濾規(guī)則項用于指定目錄樹中的一個目錄的類型為INCLUDE或EXCLUDE,每個被指定為INCLUDE的目錄為INCLUDE目錄,每個被指定為EXCLUDE的目錄為EXCLUDE目錄。
具體的,過濾規(guī)則項包括INCLUDE規(guī)則項和/或EXCLUDE規(guī)則項,其中,INCLUDE規(guī)則項用于指定一目錄的類型為INCLUDE,EXCLUDE規(guī)則項用于指定一目錄的類型為EXCLUDE。該至少一個過濾規(guī)則項中的每一個規(guī)則項分別指定目錄樹的一個目錄的類型為INCLUDE還是EXCLUDE。
本申請實(shí)施例中,計算設(shè)備200獲得該至少一個過濾規(guī)則項,具有多種實(shí)現(xiàn)方式,包括但不限于:
其一,用戶在計算設(shè)備200的存儲器203中寫入配置文件,該配置文件中包括該至少一個過濾規(guī)則項,計算設(shè)備200的處理器201讀取該配置文件,獲取該至少一個過濾規(guī)則項。
其二,用戶在第二設(shè)備上創(chuàng)建上述配置文件,第二設(shè)備將該配置文件發(fā)送給計算設(shè)備200,計算設(shè)備200通過通信接口204接收該配置文件,處理器201讀取該配置文件,獲取該至少一個過濾規(guī)則項。
需要說明的是,該至少一個過濾規(guī)則項除了既包含INCLUDE規(guī)則項又包含EXCLUDE規(guī)則項之外,還可以只包含INCLUDE規(guī)則項,或者,只包含EXCLUDE規(guī)則項。
步驟302:計算設(shè)備200確定目錄樹的根目錄到每個INCLUDE目錄的路徑所包含的目錄,以及,確定根目錄到每個EXCLUDE目錄的路徑所包含的目錄,確定出的所有目錄的集合為特征目錄集合。
具體的,根目錄到INCLUDE目錄的路徑所包含的目錄包括:該INCLUDE目錄以及該INCLUDE目錄的所有祖先目錄。
針對每個INCLUDE目錄以及每個EXCLUDE目錄,計算設(shè)備200在確定其至根目錄的路徑所包括的目錄時,均能確定出至少兩個目錄。在針對所有INCLUDE目錄以及所有EXCLUDE目錄均進(jìn)行上述處理后,確定出的所有目錄的集合稱為特征目錄集合。
該特征目錄集合包括INCLUDE目錄、EXCLUDE目錄以及未指定類型的目錄,所謂為指定類型的目錄指的是該目錄沒有被一過濾規(guī)則項指定為INCLUDE目錄或EXCLUDE目錄。例如,假設(shè)根目錄是“/”,目錄e為INCLUDE目錄,根目錄至目錄e的路徑為“/a/b/c/d/e”,且目錄a、目錄b、目錄c、目錄d均未被過濾規(guī)則項指定其類型,則目錄a、目錄b、目錄c、目錄d均為特征目錄集合中未指定類型的目錄。
步驟303:計算設(shè)備200確定特征目錄集合中未指定類型的目錄的類型,其中,未指定類型的目錄中父目錄為INCLUDE目錄的目錄為第一類目錄,未指定類型的目錄中父目錄為第一類目錄的目錄為第一類目錄,未指定類型的目錄中父目錄為EXCLUDE目錄的目錄為第二類目錄,未指定類型的目錄中父目錄為第二類目錄的目錄為第二類目錄。
以目錄1為例,目錄1為第一類目錄指的是:目錄1自身未被過濾規(guī)則項指定為INCLUDE或EXCLUDE,且該目錄1的被指定為INCLUDE或EXCLUDE的祖先目錄中,距離該目錄1最近的目錄為INCLUDE目錄。其中,所謂距離最近,指的是目錄間間隔的層級(或,輩分)最小,例如,沿用目錄e的路徑為“/a/b/c/d/e”,目錄d與目錄e的距離最近,目錄c次之,目錄b再次之,目錄a與目錄e的距離最遠(yuǎn)。
目錄1為第二類目錄指的是:目錄1自身未被過濾規(guī)則項指定為INCLUDE或EXCLUDE,且該目錄1的被指定為INCLUDE或EXCLUDE的祖先目錄中,距離該目錄1最近的目錄為EXCLUDE目錄。
為了便于說明,本申請實(shí)施例中將INCLUDE目錄標(biāo)識為I目錄,將EXCLUDE目錄標(biāo)識為E目錄,將第一類目錄標(biāo)識為Ix目錄,將第二類目錄標(biāo)識為Ex目錄。
步驟304:計算設(shè)備200將EXCLUDE目錄中子孫目錄包括INCLUDE目錄的目錄的類型轉(zhuǎn)化為第三類目錄。
具體的,如果EXCLUDE目錄的子孫目錄中存在INCLUDE目錄,由于該INCLUDE目錄需要被保留,則作為該INCLUDE目錄的祖先目錄的EXCLUDE目錄是該INCLUDE子孫目錄的路徑的一部分,需要被保留。
而如果EXCLUDE目錄的子孫目錄中不存在INCLUDE目錄,則該EXCLUDE目錄不應(yīng)當(dāng)保留。
因此,本申請實(shí)施例中,將子孫目錄包括INCLUDE目錄的EXCLUDE目錄的類型轉(zhuǎn)化為第三類目錄,以區(qū)分上述兩種情形。
為了便于說明,本申請實(shí)施例中將第三類目錄標(biāo)識為Ie目錄。
步驟305:計算設(shè)備200根據(jù)特征目錄集合中每個目錄的類型確定目錄樹中需保留的內(nèi)容。其中,INCLUDE目錄自身、第一類目錄自身、第二類目錄自身以及第三類目錄自身為需保留的內(nèi)容;INCLUDE目錄的未包含在特征目錄集合中的第一子目錄自身、第一子目錄下屬內(nèi)容以及INCLUDE目錄包括的文件為需保留的內(nèi)容;第一類目錄的未包含在特征目錄集合中的第二子目錄自身、第二子目錄下屬內(nèi)容以及第一類目錄第一類目錄自身顯然是需保留的內(nèi)容。
關(guān)于第三類目錄自身為需保留的內(nèi)容,在步驟304處已有說明,不再重復(fù)。
下面對第二類目錄自身為需保留的內(nèi)容進(jìn)行說明。
假設(shè)目錄1為第二類目錄,則表明目錄1的被指定為INCLUDE或EXCLUDE的祖先目錄中,距離目錄1最近的目錄為EXCLUDE目錄(假設(shè)為目錄2)。由于目錄1屬于特征目錄集合,則表明目錄1至少存在一子孫目錄被指定為INCLUDE或EXCLUDE,假設(shè)目錄1的被指定為INCLUDE或EXCLUDE的子孫目錄中距離目錄1最近的目錄為目錄3,則目錄2與目錄3之間的目錄均未被目錄規(guī)則項指定類型。由于目錄2為EXCLUDE目錄,目錄2至目錄3之間的目錄均未指定類型,目錄3繼續(xù)被指定為EXCLUDE目錄是沒有意義的,在實(shí)際情況中不會存在這一情況,所以,目錄3應(yīng)當(dāng)為一INCLUDE目錄。換言之,第二類目錄存在被指定為INCLUDE的子孫目錄,由于該第二類目錄為該被指定為INCLUDE的子孫目錄的路徑中的一部分,則需要保留。
對于INCLUDE目錄以及第一類目錄而言,由于可能包含被指定為EXCLUDE的子孫目錄,因此,不能簡單認(rèn)為其下屬的所有內(nèi)容均需保留。
首先,如果INCLUDE目錄或第一類目錄包括文件,則該文件顯然為需保留的內(nèi)容。
如果INCLUDE目錄的子目錄不屬于特征目錄集合,則表明該子目錄不存在被指定為EXCLUDE的子孫目錄,由于該子目錄的父目錄被指定為保留INCLUDE,則該子目錄以及其下屬所有內(nèi)容均為需保留的內(nèi)容。與之類似,第一類目錄的不屬于特征目錄集合的子目錄及其下屬內(nèi)容均為需保留的內(nèi)容。
如果該INCLUDE目錄或第一類目錄的子目錄屬于特征目錄集合,則按照其所對應(yīng)的類型(I目錄、E目錄、Ix目錄、Ex目錄、Ie目錄)進(jìn)行處理。
上述技術(shù)方案中,計算設(shè)備首先根據(jù)被目錄規(guī)則項指定為INCLUDE或EXCLUDE的目錄確定出特征目錄集合,并確定該特征目錄集合中每個目錄的類型(I目錄、E目錄、Ix目錄、Ex目錄、Ie目錄)。然后,根據(jù)特征目錄集合中目錄的類型快速確定出需保留的內(nèi)容。其中,對于E目錄及其下屬所有內(nèi)容均不進(jìn)行掃描,對于Ex目錄、Ie目錄下屬內(nèi)容不進(jìn)行掃描,對于I目錄、Ix目錄只是簡單判斷其子目錄是否屬于特征目錄集合,且對于不屬于特征目錄集合的子目錄的下屬內(nèi)容不進(jìn)行掃描。在整個目錄過濾過程中,目錄樹中內(nèi)容掃描量相對于現(xiàn)有技術(shù)中步驟101至步驟104的方案大幅減小,且對目錄及其下屬內(nèi)容是否保留的判斷方式非常簡單,運(yùn)算量很小。
本申請實(shí)施例中,目錄樹的根目錄顯然是需要保留的內(nèi)容,因此可以作為默認(rèn)設(shè)定而不再進(jìn)行判定。
在根目錄的子目錄未被指定為INCLUDE或EXCLUDE時,由于需要確定這些子目錄為第一類目錄還是第二類目錄,因此,需要確定根目錄為INCLUDE目錄還是EXCLUDE目錄。該確定方式為:在特征目錄集合中存在被過濾規(guī)則項指定為INCLUDE的目錄時,確定根目錄為EXCLUDE目錄;反之,在特征目錄集合中不存在被過濾規(guī)則項指定為INCLUDE的目錄時,確定根目錄為INCLUDE目錄。
進(jìn)一步,根目錄的未被指定類型的子目錄的類型根據(jù)根目錄為INCLUDE目錄或EXCLUDE目錄而確定。即,在根目錄為INCLUDE目錄時,根目錄的未被指定類型的子目錄為第一類目錄;在根目錄為EXCLUDE目錄時,根目錄的未被指定類型的子目錄為第二類目錄。
進(jìn)一步,由于根目錄存在被指定為INCLUDE目錄的子孫目錄,在執(zhí)行步驟304時,根目錄的類型被轉(zhuǎn)化為Ie目錄。
在一種可選的實(shí)現(xiàn)中,步驟301至步驟304的技術(shù)方案可以被用于目錄樹的遠(yuǎn)程復(fù)制,即計算設(shè)備200將目錄樹中滿足過濾規(guī)則的內(nèi)容復(fù)制到另一設(shè)備。在這種情況下,在步驟305之后,還包括步驟306:計算設(shè)備200將確定出的所有需保留的內(nèi)容發(fā)送至目標(biāo)端,以使目標(biāo)端對所有需保留的內(nèi)容進(jìn)行復(fù)制。
具體的,計算設(shè)備200可以對需保留的內(nèi)容根據(jù)約定協(xié)議進(jìn)行打包,將打包后的數(shù)據(jù)發(fā)送給目標(biāo)端,目標(biāo)端接收數(shù)據(jù)后,對數(shù)據(jù)進(jìn)行對應(yīng)的解包,進(jìn)而獲得需保留的內(nèi)容。
計算設(shè)備還可以對需保留的內(nèi)容進(jìn)行壓縮,講壓縮后的內(nèi)容發(fā)送至目標(biāo)端,以減小帶寬占用以及傳輸耗時。
再者,計算設(shè)備200可以在向目標(biāo)端發(fā)送的數(shù)據(jù)中包含表明需保留的各目錄以及文件之間的從屬關(guān)系的數(shù)據(jù),使得目標(biāo)端能夠?qū)⑿璞A舻臄?shù)據(jù)恢復(fù)為其在目錄樹的樹狀結(jié)構(gòu)。
上述技術(shù)方案中,計算設(shè)備200在向目標(biāo)端復(fù)制目標(biāo)樹時,可以首先通過步驟301至步驟305對目錄樹中的內(nèi)容進(jìn)行篩選,確定出需要復(fù)制至目標(biāo)端的內(nèi)容,再將確定的內(nèi)容發(fā)送至目標(biāo)端,能夠減少遠(yuǎn)程復(fù)制中的帶寬占用以及復(fù)制耗時。
在另一種可選的實(shí)現(xiàn)中,步驟301至步驟305的方案可以應(yīng)用于對目錄樹中的內(nèi)容進(jìn)行刪除,即,只保留步驟305中確定出的需保留的內(nèi)容,而將其余內(nèi)容刪除,以實(shí)現(xiàn)對目錄樹中部分內(nèi)容的快速刪除。
本申請實(shí)施例還提供另一目錄過濾方法,參照圖4,該方法包括如下步驟:
步驟401:計算設(shè)備200獲得至少一個過濾規(guī)則項,其中,每個過濾規(guī)則項用于指定目錄樹中的一個目錄的類型為INCLUDE或EXCLUDE,每個被指定為INCLUDE的目錄為INCLUDE目錄,每個被指定為EXCLUDE的目錄為EXCLUDE目錄;
步驟402:計算設(shè)備200確定目錄樹的根目錄到每個INCLUDE目錄的路徑所包含的目錄,以及,確定根目錄到每個EXCLUDE目錄的路徑所包含的目錄,確定出的所有目錄的集合為特征目錄集合;
步驟403:計算設(shè)備200確定特征目錄集合的未指定類型的目錄中父目錄為EXCLUDE目錄的目錄為第二類目錄;確定未指定類型的目錄中父目錄為第二類目錄的目錄為第二類目錄;
步驟404:計算設(shè)備200將EXCLUDE目錄中子孫目錄包括INCLUDE目錄的目錄的類型轉(zhuǎn)化為第三類目錄;
步驟405:計算設(shè)備200根據(jù)特征目錄集合中每個目錄的類型確定目錄樹中需刪除的內(nèi)容,其中,EXCLUDE目錄自身及其下屬內(nèi)容為需刪除內(nèi)容;INCLUDE目錄的父目錄的未包含在特征目錄集合中的第三子目錄自身、第三子目錄下屬內(nèi)容以及INCLUDE目錄的父目錄包括的文件為需刪除的內(nèi)容;第二類目錄的父目錄的未包含在特征目錄集合中的第四子目錄自身、第四子目錄下屬內(nèi)容以及第二類目錄的父目錄包括的文件為需刪除的內(nèi)容。
具體的,上述步驟401至404的實(shí)施方式可以參照步驟301至步驟304。
在步驟405中,EXCLUDE目錄的子孫目錄中不存在INCLUDE目錄,所以,EXCLUDE目錄自身及其下屬內(nèi)容顯然為需刪除內(nèi)容。
下面對步驟405中后兩種需刪除的內(nèi)容進(jìn)行說明。
如果在INCLUDE目錄(假設(shè)為目錄1)的子孫目錄中存在被指定為INCLUDE的目錄(假設(shè)為目錄2),且在目錄1至目錄2的路徑中沒有任一目錄被指定為EXCLUDE,則用于指定目錄2的過濾規(guī)則項是沒有意義的,因?yàn)榧词共贿M(jìn)行這樣的指定,目錄2均會被保留。所以實(shí)際情況中不存在假設(shè)的這種情況。即,對于INCLUDE目錄而言,在其祖先目錄中被確定為INCLUDE目錄或EXCLUDE目錄的目錄中,距離其最近的目錄應(yīng)當(dāng)是EXCLUDE目錄。換言之,INCLUDE目錄的父目錄為Ie目錄或Ex目錄。
而對于Ex目錄而言,其父目錄顯然也是Ie目錄或Ex目錄。
而對于Ie目錄或Ex目錄而言,是因?yàn)樽鳛槠浔恢付镮NCLUDE的子孫目錄的路徑的組成部分得以保留的。因此,如果Ie目錄或Ex目錄包括文件,則這些文件是需刪除內(nèi)容。
如果Ie目錄或Ex目錄包括不屬于特征目錄集合的子目錄,則這些不屬于特征目錄集合的子目錄自身及其下屬內(nèi)容均為需刪除內(nèi)容。
上述技術(shù)方案中,計算設(shè)備首先根據(jù)被目錄規(guī)則項指定為INCLUDE或EXCLUDE的目錄確定出特征目錄集合,并確定該特征目錄集合中目錄的類型(I目錄、E目錄、Ex目錄、Ie目錄)。然后,根據(jù)特征目錄集合中目錄的類型快速確定出需刪除的內(nèi)容。其中,對于E目錄下屬所有內(nèi)容均不進(jìn)行掃描,對于I目錄、Ex目錄只是簡單判斷其父目錄的子目錄是否屬于特征目錄集合,且對于不屬于特征目錄集合的子目錄的下屬內(nèi)容不進(jìn)行掃描。在整個目錄過濾過程中,目錄樹中內(nèi)容掃描量相對于現(xiàn)有技術(shù)中步驟101至步驟104的方案大幅減小,且對目錄及其下屬內(nèi)容是否刪除的判斷方式非常簡單,運(yùn)算量很小。
在一種可選的實(shí)現(xiàn)中,計算設(shè)備確定未指定類型的目錄中父目錄為INCLUDE目錄的目錄為第一類目錄,確定未指定類型的目錄中父目錄為第一類目錄的目錄為第一類目錄。
在另一可選的實(shí)現(xiàn)中,計算設(shè)備200在確定特征目錄集合的未指定類型的目錄中父目錄為EXCLUDE目錄的目錄為第二類目錄之前,在特征目錄集合中存在被過濾規(guī)則項指定為INCLUDE的目錄時,確定根目錄為EXCLUDE目錄;以及,在特征目錄集合中不存在被過濾規(guī)則項指定為INCLUDE的目錄時,確定根目錄為INCLUDE目錄。
在另一可選的實(shí)現(xiàn)中,參照圖5,步驟405實(shí)施時,包括如下步驟:
步驟4051:計算設(shè)備200根據(jù)特征目錄集合中目錄間的父子關(guān)系形成模板樹;
步驟4052:計算設(shè)備200在模板樹中為每個INCLUDE目錄以及每個第二類目錄增加一兄弟節(jié)點(diǎn),兄弟節(jié)點(diǎn)被標(biāo)記為通配目錄;
步驟4053:計算設(shè)備200對通配目錄的父目錄在目錄樹中的子目錄進(jìn)行掃描,確定通配目錄的父目錄的未包含在特征目錄集合中的子目錄自身及下屬內(nèi)容、通配目錄的父目錄包括的文件為需刪除的內(nèi)容。
具體的,該模板樹由特征目錄集合中的目錄形成,該模板樹中目錄間的父子關(guān)系與目錄樹之中的父子關(guān)系一致。
不同之處在于,由于I目錄以及Ex目錄均可能存在不屬于特征目錄集合且應(yīng)當(dāng)被刪除的兄弟目錄,因此,本申請實(shí)施例中根據(jù)I目錄、Ex目錄這一特性,為其增加一兄弟節(jié)點(diǎn),該兄弟節(jié)點(diǎn)的類型為通配。
在根據(jù)模板樹確定目錄樹中需刪除的內(nèi)容時,該通配目錄表示該位置可能存在一需刪除的目錄,計算設(shè)備將在掃描該通配目錄在目錄樹中的所有子目錄,其中,該父目錄的不屬于特征目錄集合(或,模板樹)的子目錄及該子目錄所有下屬內(nèi)容均為需刪除的內(nèi)容。
另外,如果通配目錄的父目錄還包含文件,則該父目錄包括的文件為需刪除內(nèi)容。
上述實(shí)現(xiàn)中,根據(jù)I目錄以及Ex目錄抽象出通配目錄作為其兄弟目錄,表征I目錄以及Ex目錄可能存在需刪除的兄弟目錄這一特性,簡化了目錄過濾方法的算法,提高目錄過濾的效率。
為了便于說明,下面以具體實(shí)例對本申請實(shí)施例提供的目錄過濾方法予以詳細(xì)說明。
圖6a為目錄樹的示意圖,在該目錄樹中,A3、B3、C5三個目錄被過濾規(guī)則項指定為INCLUDE目錄,在圖6a中標(biāo)識為“IN”,B5、C3、C7三個目錄被目錄規(guī)則項標(biāo)識為ENCLUDE目錄,在圖6a中標(biāo)識為“EN”。另外,圖中F1為B5包括的文件。
首先,根據(jù)上述5個被目錄規(guī)則項標(biāo)識指定類型的目錄構(gòu)造模板樹。
具體的,根目錄至C3的路徑包括:根目錄/、A2、B3、C3,根目錄至C5的路徑包括:根目錄/、A3、B5、C6,根目錄至C7的路徑包括:根目錄/、A3、B6、C7。因此,特征目錄集合為:{根目錄/、A3、B5、C6、A3、B5、C6、B6、C7}。
由于A3、B3、C5為INCLUDE目錄,所以根目錄初始被確定為ENCLUDE目錄。進(jìn)而,確定未被指定類型的A2為Ex目錄,確定未被指定類型的B62為Ix目錄。
又由于根目錄/的子孫目錄A3、B3、C5為INCLUDE目錄,所以根目錄/的類型由ENCLUDE轉(zhuǎn)化為Ie。同理,B5目錄的類型由ENCLUDE轉(zhuǎn)化為Ie。
根據(jù)特征目錄集合中目錄在原目錄樹中的父子關(guān)系形成圖6b所示的模板樹。
計算設(shè)備200在將圖6a所示目錄樹復(fù)制至另一設(shè)備時,可以快速確定出需復(fù)制的內(nèi)容。具體的,根目錄/、A2、A3、B3、B5、B6、C5這7個目錄自身為需復(fù)制的內(nèi)容。INCLUDE目錄B3的未包含在特征目錄集合中子目錄C2自身以及C2下屬的內(nèi)容為需復(fù)制的內(nèi)容;INCLUDE目錄A3的子目錄均在特征目錄集合中,跳過;Ix目錄B6的未包含在特征目錄集合中子目錄C6自身以及C2下屬的內(nèi)容為需復(fù)制的內(nèi)容。通過上述處理,復(fù)制至另一設(shè)備的目錄樹如圖6c所示。
計算設(shè)備200在從圖6a所示目錄樹中刪除內(nèi)容時,可以快速確定出需刪除的內(nèi)容。具體的,ENCLUDE目錄C3、C7以及二者下屬的內(nèi)容為需刪除的內(nèi)容。Ex目錄A2的父目錄為根目錄/,根目錄的子目錄A1不屬于特征目錄集合,所以目錄A1及其下屬內(nèi)容均為需刪除內(nèi)容。INCLUDE目錄B3的父目錄A2的子目錄B2、B4不屬于特征目錄集合,因此B2、B4自身以及二者下屬內(nèi)容均為需刪除內(nèi)容。INCLUDE目錄C5的父目錄B5的子目錄C4不屬于特征目錄集合,因此C4以及C4下屬內(nèi)容為需刪除內(nèi)容,B5包括的文件F1為需刪除內(nèi)容。通過上述處理,對目錄樹內(nèi)容進(jìn)行刪除,刪除處理后的目錄樹參照圖6c。
通過上面的應(yīng)用實(shí)例可以看出,本申請實(shí)施例提供的目錄過濾方法,只需要對目錄樹中很少的目錄進(jìn)行掃描,且只需要判斷目錄是否屬于特征目錄集合,運(yùn)算簡單。
本申請實(shí)施例還提供一種目錄過濾設(shè)備500,參照圖7,目錄過濾設(shè)備500包括:
獲得模塊501,用于獲得至少一個過濾規(guī)則項,其中,每個過濾規(guī)則項用于指定目錄樹中的一個目錄的類型為包含INCLUDE或排除EXCLUDE,每個被指定為INCLUDE的目錄為INCLUDE目錄,每個被指定為EXCLUDE的目錄為EXCLUDE目錄;
第一確定模塊502,用于確定目錄樹的根目錄到每個INCLUDE目錄的路徑所包含的目錄,以及,確定根目錄到每個EXCLUDE目錄的路徑所包含的目錄,確定出的所有目錄的集合為特征目錄集合;
第二確定模塊503,用于確定特征目錄集合中未指定類型的目錄的類型,其中,未指定類型的目錄中父目錄為INCLUDE目錄的目錄為第一類目錄,未指定類型的目錄中父目錄為第一類目錄的目錄為第一類目錄,未指定類型的目錄中父目錄為EXCLUDE目錄的目錄為第二類目錄,未指定類型的目錄中父目錄為第二類目錄的目錄為第二類目錄;
類型轉(zhuǎn)化模塊504,用于將EXCLUDE目錄中子孫目錄包括INCLUDE目錄的目錄的類型轉(zhuǎn)化為第三類目錄;
第三確定模塊505,用于根據(jù)特征目錄集合中每個目錄的類型確定目錄樹中需保留的內(nèi)容,其中,INCLUDE目錄自身、第一類目錄自身、第二類目錄自身以及第三類目錄自身為需保留的內(nèi)容;INCLUDE目錄的未包含在特征目錄集合中的第一子目錄自身、第一子目錄下屬內(nèi)容以及INCLUDE目錄包括的文件為需保留的內(nèi)容;第一類目錄的未包含在特征目錄集合中的第二子目錄自身、第二子目錄下屬內(nèi)容以及第一類目錄包括的文件為需保留的內(nèi)容。
在一種可選的實(shí)現(xiàn)中,第二確定模塊503還用于:在特征目錄集合中存在被過濾規(guī)則項指定為INCLUDE的目錄時,確定根目錄為EXCLUDE目錄;以及,在特征目錄集合中不存在被過濾規(guī)則項指定為INCLUDE的目錄時,確定根目錄為INCLUDE目錄。
在一種可選的實(shí)現(xiàn)中,目錄過濾設(shè)備500還包括:
發(fā)送模塊506,用于將第三確定模塊所確定出的需保留的內(nèi)容發(fā)送至目標(biāo)端,以實(shí)現(xiàn)目標(biāo)端對需保留的內(nèi)容的復(fù)制。
以上目錄過濾設(shè)備包含的處理器所執(zhí)行操作的具體實(shí)現(xiàn)方式可以參照圖3的實(shí)施例的中目錄過濾方法的各步驟的實(shí)現(xiàn)方式,本申請實(shí)施例不再贅述。
本申請實(shí)施例還提供一種目錄過濾設(shè)備600,參照圖8,目錄過濾設(shè)備600包括:
獲得模塊601,用于獲得至少一個過濾規(guī)則項,其中,每個過濾規(guī)則項用于指定目錄樹中的一個目錄的類型為INCLUDE或EXCLUDE,每個被指定為INCLUDE的目錄為INCLUDE目錄,每個被指定為EXCLUDE的目錄為EXCLUDE目錄;
第一確定模塊602,用于確定目錄樹的根目錄到每個INCLUDE目錄的路徑所包含的目錄,以及,確定根目錄到每個EXCLUDE目錄的路徑所包含的目錄,確定出的所有目錄的集合為特征目錄集合;
第二確定模塊603,用于確定特征目錄集合的未指定類型的目錄中父目錄為EXCLUDE目錄的目錄為第二類目錄,以及,確定未指定類型的目錄中父目錄為第二類目錄的目錄為第二類目錄;
類型轉(zhuǎn)化模塊604,用于將EXCLUDE目錄中子孫目錄包括INCLUDE目錄的目錄的類型轉(zhuǎn)化為第三類目錄;
第三確定模塊605,用于根據(jù)特征目錄集合中每個目錄的類型確定目錄樹中需刪除的內(nèi)容,其中,EXCLUDE目錄自身及其下屬內(nèi)容為需刪除內(nèi)容;INCLUDE目錄的父目錄的未包含在特征目錄集合中的第三子目錄自身、第三子目錄下屬內(nèi)容以及INCLUDE目錄的父目錄包括的文件為需刪除的內(nèi)容;第二類目錄的父目錄的未包含在特征目錄集合中的第四子目錄自身、第四子目錄下屬內(nèi)容以及第二類目錄的父目錄包括的文件為需刪除的內(nèi)容。
在一種可選的實(shí)現(xiàn)中,第二確定模塊603,還用于:在確定特征目錄集合的未指定類型的目錄中父目錄為EXCLUDE目錄的目錄為第二類目錄之前,在特征目錄集合中存在被過濾規(guī)則項指定為INCLUDE的目錄時,確定根目錄為EXCLUDE目錄;以及,在特征目錄集合中不存在被過濾規(guī)則項指定為INCLUDE的目錄時,確定根目錄為INCLUDE目錄。
在一種可選的實(shí)現(xiàn)中,第三確定模塊605具體用于:根據(jù)特征目錄集合中目錄間的父子關(guān)系形成模板樹;在模板樹中為每個INCLUDE目錄以及每個第二類目錄增加一兄弟節(jié)點(diǎn),兄弟節(jié)點(diǎn)被標(biāo)記為通配目錄;對通配目錄的父目錄在目錄樹中的子目錄進(jìn)行掃描,確定通配目錄的父目錄的未包含在特征目錄集合中的子目錄自身及下屬內(nèi)容、通配目錄的父目錄包括的文件為需刪除的內(nèi)容。
以上目錄過濾設(shè)備包含的處理器所執(zhí)行操作的具體實(shí)現(xiàn)方式可以參照圖4-5的實(shí)施例的中目錄過濾方法的各步驟的實(shí)現(xiàn)方式,本申請實(shí)施例不再贅述。
本申請實(shí)施例還提供一種計算機(jī)可讀介質(zhì),用于存儲計算機(jī)程序,該計算機(jī)程序包括用于執(zhí)行步驟301至步驟306中任一步驟的指令。
本申請實(shí)施例還提供一種計算機(jī)可讀介質(zhì),用于存儲計算機(jī)程序,該計算機(jī)程序包括用于執(zhí)行步驟401至步驟405中任一步驟的指令。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請的實(shí)施例可提供為方法、系統(tǒng)、或計算機(jī)程序產(chǎn)品。因此,本申請可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實(shí)施的計算機(jī)程序產(chǎn)品的形式。
本申請是參照根據(jù)本申請實(shí)施例的方法、設(shè)備(系統(tǒng))、和計算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機(jī)程序指令到通用計算機(jī)、專用計算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
顯然,本領(lǐng)域的技術(shù)人員可以對本申請進(jìn)行各種改動和變型而不脫離本申請的精神和范圍。這樣,倘若本申請的這些修改和變型屬于本申請權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請也意圖包含這些改動和變型在內(nèi)。