一種文件系統(tǒng)序列化操作的分類方法
【專利摘要】本發(fā)明涉及一種文件系統(tǒng)序列化操作的分類方法,其步驟包括:1)預(yù)先設(shè)定分類的規(guī)則集;2)將規(guī)則集中每條規(guī)則的文件路徑名稱根據(jù)目錄層級進(jìn)行分解;3)建立目錄元的散列表和映射位圖;4)為操作對象初始化一路徑記錄表;5)分解操作對象中的文件路徑名稱;6)將分解得到的目錄元的名稱和深度作為因子,查找散列表中對應(yīng)的散列表單元;7)進(jìn)行位圖操作;8)重復(fù)執(zhí)行步驟6)?7),直到循環(huán)過程結(jié)束。之后對得到的分類結(jié)果進(jìn)行分析處理。本發(fā)明通過建立散列表和映射位圖的方式并經(jīng)過散列查詢和位圖與或操作就能快速判斷序列化I/O操作對象的文件名稱與規(guī)則集中一系列的文件路徑名稱之間的層級從屬關(guān)系,從而達(dá)到快速分類的目的。
【專利說明】一種文件系統(tǒng)序列化操作的分類方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于計算機(jī)數(shù)據(jù)存儲和容災(zāi)備份領(lǐng)域,涉及一種針對文件系統(tǒng)序列化I/O 操作根據(jù)其操作對象的文件路徑進(jìn)行分類的方法,能夠提高分類的效率,以便于后續(xù)對文 件系統(tǒng)序列化I/O操作請求做快速處理響應(yīng)。
【背景技術(shù)】
[0002] 在計算機(jī)數(shù)據(jù)存儲和容災(zāi)備份領(lǐng)域中,需要針對文件系統(tǒng)的序列化I/O操作進(jìn)行 分類,然后采取相應(yīng)的處理方法。實現(xiàn)對文件系統(tǒng)的序列化I/O操作分類的依據(jù)條件有多 種,根據(jù)操作對象文件的路徑名稱是最常用的依據(jù)條件,本發(fā)明就是針對根據(jù)操作對象文 件的路徑名稱這種依據(jù)條件提出的。
[0003] 判斷一條文件路徑名稱與另一個文件路徑名稱的層級從屬關(guān)系,簡單的方法是 將二者進(jìn)行字符串比較。但是當(dāng)文件的路徑名稱作為分類條件依據(jù)時,就需要判斷一條文 件路徑名稱與規(guī)則集一系列的文件路徑名稱之間的關(guān)系,對于大量的序列化I/O操作來說 每個操作都要進(jìn)行分類,這種遍歷式的字符串匹配是相當(dāng)?shù)托У?。另外,傳統(tǒng)上還可以把 一系列的文件路徑名稱根據(jù)路徑名稱的目錄層級關(guān)系這一特點先轉(zhuǎn)化成樹狀結(jié)構(gòu),然后將 每個操作對象的文件路徑名稱中的每一層與樹中的每一層進(jìn)行比較來遍歷達(dá)到分類的目 的。這種方法在遍歷的過程中可以忽略不符合條件的分支,一定程度上提高了遍歷的效率, 但這種方法受到條件樹的結(jié)構(gòu)的影響,極端的情況是這些作為分類條件的文件路徑名稱之 間各自獨立沒有關(guān)聯(lián),那么組成的就不是一棵樹,而是由單條枝干的樹組成的森林,此情況 下匹配的效率與字符串遍歷匹配的效率差不多,而此情況在實際應(yīng)用中又是常見的。
[0004] 為了解決序列化I/O操作分類中以文件名稱作為分類條件依據(jù)時匹配條件的效 率問題,本發(fā)明實現(xiàn)一種新的分類的方法,該方法與遍歷式的字符串匹配或目錄分層后樹 型匹配的分類方法比,效率高,實現(xiàn)簡單。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實現(xiàn)的方法針對序列化I/O操作分類中以文件路徑名稱作為分類條件依 據(jù)時如何提高效率而提出的,該方法通過建立散列表和映射位圖的方式并經(jīng)過散列查詢和 位圖與或操作就能快速判斷序列化I/O操作對象的文件名稱與規(guī)則集中一系列的文件路 徑名稱之間的層級從屬關(guān)系,從而達(dá)到快速分類的目的。
[0006] 本發(fā)明實現(xiàn)的方法可以分成兩個部分:一,建立散列(hash)表和映射位圖 (bitmap),二,利用散列查詢位圖操作的快速分類處理。本發(fā)明具體采用的技術(shù)方案如下:
[0007] -種文件系統(tǒng)序列化操作的分類方法,其步驟包括:
[0008] 1)預(yù)先設(shè)定分類的規(guī)則集,對規(guī)則集中的規(guī)則按順序進(jìn)行編號;
[0009] 2)將規(guī)則集中每條規(guī)則的文件路徑名稱根據(jù)目錄層級進(jìn)行分解,將每層目錄名稱 為目錄元,將從路徑根開始所經(jīng)過的目錄元個數(shù)稱為目錄元深度,分解后的目錄元包括名 稱、深度和規(guī)則編號;
[0010] 3)將目錄元的名稱和深度作為因子,通過hash函數(shù)建立目錄元的散列表和映射 位圖;
[0011] 4)為操作對象初始化一路徑記錄表,該路徑記錄表包含一個全部位設(shè)置為1的映 射位圖和用來記錄匹配到的規(guī)則號的一維數(shù)組;
[0012] 5)分解操作對象中的文件路徑名稱,分解后的目錄元包括名稱和深度;
[0013] 6)將分解得到的目錄元的名稱和深度作為因子,通過hash函數(shù)計算的值查找散 列表中對應(yīng)的散列表單元;
[0014] 7)利用步驟4)所述路徑記錄表,在目錄元找到散列表單元后進(jìn)行位圖操作,確認(rèn) 該文件路徑名稱匹配的規(guī)則號;
[0015] 8)按操作對象分解得到的目錄元的深度從淺到深的順序重復(fù)執(zhí)行步驟6)?7), 直到循環(huán)過程結(jié)束,得到分類結(jié)果。
[0016] 進(jìn)一步地,還包括步驟9),該步驟對得到的分類結(jié)果進(jìn)行分析處理。
[0017] 下面具體說明本發(fā)明的兩個部分的各個步驟。
[0018] 一,根據(jù)預(yù)先設(shè)定分類的規(guī)則集建立散列表和映射位圖。
[0019] 預(yù)先設(shè)定分類的規(guī)則集是由多條規(guī)則組成的,每規(guī)則元素包含如下的兩個部分內(nèi) 容:
[0020] l>path,文件路徑,即匹配條件。該文件路徑是指一條完整的單一的文件路徑,而 不是多個路徑組成的路徑集。
[0021] 2>action,動作,即處理方法。指對文件系統(tǒng)序列化操作采用不同的后續(xù)處理,如 忽略,監(jiān)控,同步等。
[0022] 1需要對規(guī)則集中的規(guī)則按順序從1開始進(jìn)行數(shù)字編號,同時最大編號決定映射 位圖(bitmap)位數(shù)規(guī)模。
[0023] 2將規(guī)則集中每條規(guī)則的文件路徑名稱根據(jù)目錄層級進(jìn)行分解。文件路徑名稱的 特點是每兩層目錄間使用"斜桿"(/)或"反斜桿"(\)分隔符來分隔開,為便于敘述,被分 隔符隔開的每層目錄名稱為目錄元,從路徑根開始到該目錄元所經(jīng)過的目錄元個數(shù)稱為目 錄元深度。分解后的目錄元由名稱,深度,規(guī)則編號三個元素構(gòu)成。
[0024] 3建立目錄元的散列(hash)表和映射位圖(bitmap)。將目錄元的名稱和深度作 為因子通過hash函數(shù)建立目錄元的散列表,用鏈表來解決hash沖突問題。散列表單元中 需要記錄目錄元的名稱、深度、規(guī)則號映射位圖(初始全〇)、結(jié)束位映射位圖(初始全〇)、 沖突鏈指針。在記錄散列表單元的同時,根據(jù)目錄元的規(guī)則編號,將該編號數(shù)字對應(yīng)的那一 位規(guī)則號映射位圖置1。如果該目錄元是路徑名稱中的最后一層,還要將該編號數(shù)字對應(yīng)的 那一位結(jié)束位映射位圖置1,表示路徑名稱的結(jié)束。在不同的規(guī)則中的目錄元有可能是相同 的,即名稱和深度相同(規(guī)則編號不同),此時在建立目錄元的散列表時多個目錄元將對應(yīng) 到同一個散列表單元上(不是hash沖突,hash沖突時的名稱和深度不同),只需在散列表 單元的映射位圖有多個位被置位就能表示該目錄元對應(yīng)到多個不同的規(guī)則。
[0025] 二,利用散列查詢位圖操作的快速分類處理。
[0026] 在建立散列表和映射位圖后,就可以根據(jù)這套建立好的規(guī)則體系,對序列化10 操作中基于操作對象的文件路徑名稱進(jìn)行分類處理了,這個稱為分類處理過程。完成分類 的過程可分成以下幾個步驟。
[0027] 4為操作對象初始化一個路徑記錄表。路徑記錄表主要包含一個全部位設(shè)置為1 的bitmap (映射位圖)和用來記錄匹配到的規(guī)則號的一維數(shù)組。
[0028] 5分解操作對象中的文件路徑名稱。分解的方法與分解規(guī)則中的文件路徑名稱的 方法相同。分解后的目錄元由名稱和深度兩個元素構(gòu)成。
[0029] 6分解后的目錄元查找散列表單元。將步驟5中分解得到的目錄元的名稱和深度 作為因子通過hash函數(shù)計算的值找到在散列表中對應(yīng)的散列表單元,查找到的散列表的 單元的目錄元名稱和深度與該目錄元是相同的。
[0030] 7目錄元找到散列表單元后進(jìn)行位圖操作,確認(rèn)該文件路徑名稱匹配的規(guī)則號。按 步驟6描述的目錄元查找散列表單元的方法,每成功查找到一次,將步驟4中所述的操作對 象的路徑記錄表中的bitmap與散列單元中的規(guī)則號映射位圖做相與的操作,得到的操作 結(jié)果A記錄到bitmap中,bitmap中顯示為1的位表示到本次查找的深度為止該操作對象 的文件名稱與該位所對應(yīng)的規(guī)則號的文件路徑名稱的前面部分是相同的。操作結(jié)果A再與 散列單元中的結(jié)束位映射位圖做相與操作,得到操作結(jié)果B,操作結(jié)果B中顯示為1的位表 示該位對應(yīng)的規(guī)則號的文件路徑名稱已完整沒有后續(xù)的目錄元,即操作對象的文件路徑名 稱是該規(guī)則的文件路徑名稱的子目錄或相同目錄,在操作對象的路徑記錄表的匹配規(guī)則號 數(shù)組中記錄下該位對應(yīng)的規(guī)則號,說明操作對象匹配到該規(guī)則。
[0031] 8循環(huán)過程和結(jié)束。按操作對象分解得到的目錄元的深度從淺到深的順序進(jìn)行步 驟6中的查找,查找到后進(jìn)行步驟7中的位圖操作和做記錄。滿足如下三個條件之一則循 環(huán)結(jié)束:一,步驟6中查找失敗,即操作對象的某個深度的目錄元沒有找到相應(yīng)的散列表單 元,說明規(guī)則集中已沒有可以匹配的規(guī)則;二,步驟6中,深度已超過該文件路徑名稱的目 錄元深度,說明該文件路徑名稱已經(jīng)到完整地結(jié)尾;三,在步驟7中,操作結(jié)果A為全0時, 說明文件路徑名稱不能再更深的深度與規(guī)則集中任何規(guī)則的文件路徑名稱相匹配。
[0032] 9分類結(jié)果的分析處理。經(jīng)過步驟6,步驟7的循環(huán)結(jié)束后的得到了操作對象的路 徑記錄表的匹配規(guī)則號數(shù)組,數(shù)組記錄的長度表示匹配的規(guī)則的數(shù)量,數(shù)組記錄的順序表 示匹配規(guī)則中的文件路徑名稱的深度從淺到深的順序,每個數(shù)組單元記錄的是匹配的規(guī)則 號,通過規(guī)則號就可以找到規(guī)則設(shè)定的處理策略(action)。在決定對操作對象采取處理策 略時,利用該規(guī)則號數(shù)組可以非常靈活:可以對所有匹配到的規(guī)則的策略都處理,即全匹配 處理;也可以只對數(shù)組第一個記錄的匹配規(guī)則的策略進(jìn)行處理,即最短(深度最小)匹配處 理;也可以只對數(shù)組最后一個記錄的匹配規(guī)則的策略進(jìn)行處理,即最長(深度最大)匹配處 理。
[0033] 本發(fā)明的有益效果是:將二維的判斷一個文件路徑名稱與一系列的文件路徑名稱 集合的層級從屬關(guān)系的過程,變成一維的掃描這個文件路徑名稱分解成目錄元并通過簡單 的散列查找和位圖操作的過程,這在需要大量這種分類判斷的文件系統(tǒng)序列化10操作中 能夠極大限度的提高效率。這是在本發(fā)明的具體實施過程的得到驗證的結(jié)論。
【專利附圖】
【附圖說明】
[0034] 圖1是是本發(fā)明方法的步驟流程圖。
[0035] 圖2是建立散列表和映射位圖示例圖。
[0036] 圖3是利用散列查找和位圖操作分類流程圖。
【具體實施方式】
[0037] 本發(fā)明具體實施在容災(zāi)備份系統(tǒng)的工作機(jī)端,在工作機(jī)端掛接操作系統(tǒng)的文件 系統(tǒng)后會截獲大量的文件系統(tǒng)系列化10操作,該容災(zāi)備份系統(tǒng)需要根據(jù)截獲的系列化10 操作的操作對象的文件路徑名稱,判斷是否滿足規(guī)則集設(shè)定的條件,進(jìn)而判斷是否需要同 步到災(zāi)備機(jī)。在此大量的判斷的過程中就使用到本發(fā)明提出的文件系統(tǒng)序列化10操作依 據(jù)操作對象的文件路徑名稱的分類方法。圖1是是本發(fā)明方法的步驟流程圖,圖3是該方法 中建立散列表和映射位圖示例圖,圖3是該方法中利用散列查找和位圖操作分類流程圖。 下面就結(jié)合圖1至圖3,通過具體的例子來介紹本發(fā)明的方法。
[0038] 第一部分,建立散列表和映射位圖。
[0039] 1假設(shè)預(yù)先設(shè)定的規(guī)則集是:
[0040] 規(guī)則1,路徑:/uSiy,策略:備份;
[0041] 規(guī)則2,路徑:/usr/bin/,策略:忽略;
[0042] 規(guī)則 3,路徑:/usr/local/bin/,策略:忽略。。。
[0043] 為描述方便就列舉3條規(guī)則,實際上規(guī)則越多越能現(xiàn)在本發(fā)明的方法對分類性能 提高的效果。另假設(shè)規(guī)則集設(shè)定的是最長匹配的處理方式,即如果操作對象的文件路徑名 稱同時是兩條以上規(guī)則中文件路徑名稱的子路徑時,選定規(guī)則中文件路徑名稱的層級多的 規(guī)則為匹配策略。因為規(guī)則只有3條,所以映射位圖的規(guī)模3位就夠。
[0044] 2分解規(guī)則的文件路徑名稱(圖2的S20)。例如,規(guī)則3可分解為usr, local, bin 三個目錄元,記錄為(usr,深度1,規(guī)則3),(local,深度2,規(guī)則),(bin,深度3,規(guī)則3)。 其他規(guī)則路徑也以此分解。
[0045] 3建立散列表和映射位圖(圖2的S30)。設(shè)前兩個規(guī)則已設(shè)置好,以規(guī)則3為例, 規(guī)則3中有usr, local, bin三個目錄元。第一個目錄元usr將〈usr,深度1>作為hash 因子計算hash值并在散列表中找到散列單元,發(fā)現(xiàn)〈usr,深度1>已經(jīng)存在(這里不是指 hash沖突),則只需在該散列單元下的規(guī)則號映射位圖的第三位值1,由于1,2兩條規(guī)則都 有〈usr,深度1>,所以規(guī)則號映射位圖111。第二個目錄元local,〈local,深度2>找到散 列單元后,同樣是規(guī)則號映射位圖第三位置1,但由于1,2兩條規(guī)則沒有〈local,深度2>的 目錄元,所以規(guī)則號映射位圖置位后是001。第三個目錄元,〈bin,深度3>找到散列單元后, 前面規(guī)則沒有〈bin,深度3>的目錄元,規(guī)則號映射位圖第三位置1,因為是路徑結(jié)尾,所以 結(jié)束置映射位圖第三位置1。規(guī)則集最后的到4個散列單元和相應(yīng)的映射位圖:
[0046] 〈usr,深度1>,規(guī)則號位映射圖:111,結(jié)束位映射圖:100 ;
[0047] 〈bin,深度2>,規(guī)則號位映射圖:010,結(jié)束位映射圖:010 ;
[0048] 〈local,深度2>,規(guī)則號位映射圖:001,結(jié)束位映射圖:000 ;
[0049] 〈bin,深度3>,規(guī)則號位映射圖:001,結(jié)束位映射圖:001。
[0050] 第二部分,利用散列查詢位圖操作的快速分類處理。
[0051] 4先在截獲的文件系統(tǒng)序列化10操作中找到操作對象的文件路徑名稱,比如/ usr/local/bin/mysql/mysql. tmp,為其初始化一記錄結(jié)構(gòu)(圖 3 的 S40):
[0052] 映射位圖:111,匹配規(guī)則號數(shù)組:{0,0,0}。
[0053] 5將文件名稱分解(圖3的S50)為〈名稱,深度〉的目錄元形式〈usr, 1>,〈local ,2>,〈bin, 3>,〈mysql, 4>,〈mysql. tmp, 5>。該分解的過程不用特意單獨掃描,可在使用目錄 查找散列單兀時再進(jìn)行,掃描一個使用一個。
[0054] 6查找目錄元的散列單元(圖3的S60)。先從深度1開始,〈usr,1>做因子計算 hash值可以查找到散列單元:〈usr,深度1>,規(guī)則號位映射圖:111,結(jié)束位映射圖:100。
[0055] 7目錄元找到散列表單元后進(jìn)行位圖操作(圖3的S70)。操作對象的映射位圖是 lll,〈usr,深度1>的規(guī)則號位映射圖是111,相與的操作結(jié)果111,再記錄到操作對象的映 射位圖。再將相與的操作結(jié)果111與〈usr,深度1>的結(jié)束位映射位圖100相與得到100, 第一位是1,說明第一條規(guī)則已是完整的路徑,即操作對象是匹配到第一條,匹配數(shù)組記錄 匹配的規(guī)則號{1,0, 0}。位圖操作完成后該對象的記錄結(jié)構(gòu)是:映射位圖:111,匹配規(guī)則號 數(shù)組:{1,0,0}。
[0056] 8重復(fù)6, 7的循環(huán)過程(圖3的S80),繼續(xù)處理該對象的文件路徑名稱中后續(xù)的目 錄元〈local, 2>,〈bin, 3>,〈mysql, 4>,〈mysql. tmp, 5>,包括判斷位圖操作結(jié)果是否全0 (圖 3的S81),和判斷文件名稱是否已到結(jié)尾(圖3的S82),這個過程中,該對象的記錄機(jī)構(gòu)的 變化如下所示:
[0057] 初始,映射位圖:111,匹配數(shù)組:{0,0,0};
[0058] 與〈usr,1>的散列單元操作后,映射位圖:111,匹配數(shù)組:{1,0,0};
[0059] 與〈1(^1,2>的散列單元操作后,映射位圖:001,匹配數(shù)組:{1,0,0} ;
[0060] 與<bin,3>的散列單元操作后,映射位圖:001,匹配數(shù)組:{1,3,0};
[0061] 〈mysql,4>未找到散列單元(圖3的S82),循環(huán)結(jié)束。
[0062] 9結(jié)果分析(圖3的S90)。通過上述的散列查詢和位圖操作后,該對象的記錄結(jié) 構(gòu)是的規(guī)則號匹配數(shù)組是:{1,3,0},說明匹配了規(guī)則1,3,由于采用最長匹配的方式,于是 就匹配到規(guī)則3的策略
[0063] 通過上述具體例子的詳細(xì)描述,可以看出本發(fā)明提出的基于文件路徑名稱的序列 化10操作的分類方法,具有一次掃描文件路徑名稱和快速散列查找及高效位圖操作的優(yōu) 點,對于大量高速的序列化10操作能大幅提高分類的效率,而其更普遍的意義在于對于其 他應(yīng)用場合下基于文件路徑名稱的層級從屬關(guān)系的文件分類也是高效,且實現(xiàn)簡單的方 法。本發(fā)明的特點是建立散列表和映射位圖,通過散列查找和位圖操作實現(xiàn)快速的分類。 [0064] 以上實施步驟僅用以說明而非限制本發(fā)明的技術(shù)方案,不脫離本發(fā)明精神和范 圍的任何修改或局部修改,均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
【權(quán)利要求】
1. 一種文件系統(tǒng)序列化操作的分類方法,其步驟包括: 1) 預(yù)先設(shè)定分類的規(guī)則集,對規(guī)則集中的規(guī)則按順序進(jìn)行編號; 2) 將規(guī)則集中每條規(guī)則的文件路徑名稱根據(jù)目錄層級進(jìn)行分解,將每層目錄名稱為目 錄元,將從路徑根開始所經(jīng)過的目錄元個數(shù)稱為目錄元深度,分解后的目錄元包括名稱、深 度和規(guī)則編號; 3) 將目錄元的名稱和深度作為因子,通過hash函數(shù)建立目錄元的散列表和映射位圖; 4) 為操作對象初始化一路徑記錄表,該路徑記錄表包含一全部位設(shè)置為1的映射位圖 和用來記錄匹配到的規(guī)則號的一維數(shù)組; 5) 分解操作對象中的文件路徑名稱,分解后的目錄元包括名稱和深度; 6) 將分解得到的目錄元的名稱和深度作為因子,通過hash函數(shù)計算的值查找散列表 中對應(yīng)的散列表單元; 7) 利用步驟4)所述路徑記錄表,在目錄元查找到散列表單元后進(jìn)行位圖操作,確認(rèn)該 文件路徑名稱匹配的規(guī)則號; 8) 按操作對象分解得到的目錄元的深度從淺到深的順序重復(fù)執(zhí)行步驟6)?7),直到 循環(huán)過程結(jié)束,得到分類結(jié)果。
2. 如權(quán)利要求1所述的方法,其特征在于:步驟1)中預(yù)先設(shè)定分類的規(guī)則集由多條規(guī) 則組成的,每規(guī)則元素包含如下兩部分內(nèi)容: a) path,文件路徑,即匹配條件,指一條完整的單一的文件路徑; b) action,動作,即處理方法,指對文件系統(tǒng)序列化操作采用不同的后續(xù)處理,包括忽 略,監(jiān)控,同步。
3. 如權(quán)利要求1所述的方法,其特征在于:步驟3)中,散列表單元中記錄目錄元的名 稱、深度、規(guī)則號映射位圖、結(jié)束位映射位圖、沖突鏈指針;在記錄散列表單元的同時,根據(jù) 目錄元的規(guī)則編號,將該編號數(shù)字對應(yīng)的那一位規(guī)則號映射位圖置1 ;如果該目錄元是路 徑名稱中的最后一層,還要將該編號數(shù)字對應(yīng)的那一位結(jié)束位映射位圖置1,表示路徑名稱 的結(jié)束。
4. 如權(quán)利要求3所述的方法,其特征在于:步驟3)中,對于在不同的規(guī)則中目錄元相 同的情況,即名稱和深度相同,規(guī)則編號不同,此時在建立目錄元的散列表時將多個目錄元 對應(yīng)到同一個散列表單元上,用散列表單元的映射位圖的多個位被置位表示該目錄元對應(yīng) 到多個不同的規(guī)則。
5. 如權(quán)利要求1所述的方法,其特征在于,步驟7)的具體方法是:按步驟6)描述的目 錄元查找散列表單元的方法,每成功查找到一次,將步驟4)中所述的操作對象的路徑記錄 表中的映射位圖與散列單元中的規(guī)則號映射位圖做相與的操作,得到的操作結(jié)果A記錄到 映射位圖中,映射位圖中顯示為1的位表示到本次查找的深度為止該操作對象的文件名稱 與該位所對應(yīng)的規(guī)則號的文件路徑名稱的前面部分是相同的;操作結(jié)果A再與散列單元中 的結(jié)束位映射位圖做相與操作,得到操作結(jié)果B,操作結(jié)果B中顯示為1的位表示該位對應(yīng) 的規(guī)則號的文件路徑名稱已完整沒有后續(xù)的目錄元,即操作對象的文件路徑名稱是該規(guī)則 的文件路徑名稱的子目錄或相同目錄,在操作對象的路徑記錄表的匹配規(guī)則號數(shù)組中記錄 下該位對應(yīng)的規(guī)則號,說明操作對象匹配到該規(guī)則。
6. 如權(quán)利要求5所述的方法,其特征在于,步驟8)中循環(huán)結(jié)束的條件是:一,步驟6)中 查找失敗,即操作對象的某個深度的目錄元沒有找到相應(yīng)的散列表單元,說明規(guī)則集中已 沒有可以匹配的規(guī)則;二,步驟6)中,深度已超過該文件路徑名稱的目錄元深度,說明該文 件路徑名稱已經(jīng)到完整地結(jié)尾;三,在步驟7)中,操作結(jié)果A為全0時,說明文件路徑名稱 不能再更深的深度與規(guī)則集中任何規(guī)則的文件路徑名稱相匹配。
7. 如權(quán)利要求1至6中任一項所述的方法,其特征在于,還包括步驟9),該步驟對步驟 8)所述分類結(jié)果進(jìn)行分析處理:步驟6)?7)的循環(huán)結(jié)束后得到操作對象的路徑記錄表的 匹配規(guī)則號數(shù)組,數(shù)組記錄的長度表示匹配的規(guī)則的數(shù)量,數(shù)組記錄的順序表示匹配規(guī)則 中的文件路徑名稱的深度從淺到深的順序,每個數(shù)組單元記錄的是匹配的規(guī)則號,通過規(guī) 則號可以找到規(guī)則設(shè)定的處理策略。
8. 如權(quán)利要求7所述的方法,其特征在于:步驟9)在決定對操作對象采取處理策略 時,對所有匹配到的規(guī)則的策略都處理,即全匹配處理;或者只對數(shù)組第一個記錄的匹配規(guī) 則的策略進(jìn)行處理,即最短匹配處理;或者只對數(shù)組最后一個記錄的匹配規(guī)則的策略進(jìn)行 處理,即最長匹配處理。
【文檔編號】G06F17/30GK104216980SQ201410441179
【公開日】2014年12月17日 申請日期:2014年9月1日 優(yōu)先權(quán)日:2014年7月24日
【發(fā)明者】陳勇銓, 周華, 胡軍擎 申請人:英方軟件(上海)有限公司