一種目錄管理方法和裝置的製作方法
2023-06-05 10:11:11 1
,pSubTree=NULL,pLeftTree-NULL,pRightTree=NULL,因為"/home/movie.mpg"是一個文件,所以節點12的pSubTree13為NULL。從本實施例可以看出,節點11、14、15所表示的目錄或文件都是根目錄"/,,12200810126859.1的下一級,即這三者是同級的,所以這三個同級的目錄或文件構成一個平衡二叉樹,且節點11、14、15所表示的目錄或文件的父目錄,即4艮目錄'7"所在的二叉樹的根節點10的pSubTree是指向節點11、14、15生成的平衡二叉樹的根節點11的,即節點11所在的平衡二叉樹是節點IO所在的平衡二叉樹的子樹。下面將通過幾個實施例來說明,基於本發明多級平衡二叉樹對整個文件系統的目錄進行管理4喿作的具體實現過程。操作一文件查找操作。文件查找操作包括以下步驟步驟ll,分析用戶通過客戶端輸入的文件全路徑名稱,從全路徑名稱中讀取出第一個名稱。如'7A/b/123.exe"中第一個'7,,;步驟12~13,從多級平衡二叉樹的入口子樹搜索步驟11得到的名稱所對應的節點,如果步驟12查找不到相應的節點,則出4昔,結束當前處理流程,如果步驟12找到相應的節點,則執行步驟14;步驟14,繼續從全路徑名稱中讀取下一個名稱,如7A/b/123.exe,,中的"A,,;步驟15,從步驟12得到的節點所在平衡二叉樹對應的子樹中繼續查找步驟14的名稱對應的節點;步驟16,如果步驟15不能找到相應節點,則出錯;如果沒有出錯,則繼續分析全路徑名稱,直到分析完畢;步驟17,返回最後得到的節點。操作二增加文件操作。增加文件操作包括以下步驟步驟21,利用文件查找操作查找需要增加的文件對應的節點;步驟22,如果能夠找到,則出錯,結束當前處理過程;如果沒有找到,則執行步驟23;步驟23,分析用戶通過客戶端輸入的需要增加的文件的全路徑名稱,得到需增加的文件的父目錄;步驟24,利用文件查找操作查找步驟23得到的父目錄對應的節點;步驟25,如果步驟24找不到相應的節點,則出錯,結束當前處理過程;如果步驟24找到的節點表示的不是目錄,則出錯,結束當前處理過程;如果步驟24找到的節點的pSubTree為空,則建立一個新的節點,填入需要增加文件的信息,如文件名7A/b/123.exe"中的"123.exe",設置父目錄對應的節點與新節點的對應關係,即將父目錄節點的pSubTree指向新節點;如果步驟24找到的節點對應的pSubTree不為空,則在此節點所在的平衡二叉樹中增加一個新的節點,填入需增加的文件的相關信息。操作三刪除文件操作。刪除文件^搡作包^"以下步驟步驟31,利用文件查找操作查找需要刪除的文件對應的節點;步驟32,如果不能找到節點,則出錯,結束當前處理過程;如果找到節點,分析需刪除的文件的全路徑名稱,得到該文件的父目錄;步驟33,查找父目錄對應節點所在的平衡二叉樹;步驟34,如果步驟33得到父目錄對應節點的平衡二叉樹,則從該平衡二叉樹中刪除指定文件對應的節點,即將此節點設置為NULL。操作四文件名稱修改操作。文件名稱修改揭:作包括以下步驟步驟41,利用文件查找操作查找需要修改名稱的文件對應的節點;步驟42,如果不能找到,則出錯,結束當前處理過程;如果能找到,則利用文件查找操作查找將該文件修改名稱後的文件對應的節點;步驟43,如果能找到,則出錯,結束當前處理過程;否則,修改步驟41所找到的節點中文件的名稱;步驟44,對該節點所在的平衡二叉樹進行平衡操作。操作五文件移動操作文件移動操作包括以下步驟步驟51,利用文件查找操作查找需要移動的文件對應的節點;步驟52,如果不能找到,則出錯,結束當前處理過程;如果能找到,則利用文件查找操作查找文件移動後該文件對應的節點;步驟53,如果能找到,則出4昔,結束當前處理過程;如果能找到,則分析需要移動的文件的全路徑名稱,得到該文件的父目錄;步驟54,利用文件查找操作查找步驟53得到的父目錄對應的節點;步驟55,將當前需移動的文件移動到目的地址;步驟56,分析文件移動後文件的全^^徑名稱,得到文件移動後的該文件的父目錄;步驟57,利用文件查找操作查找步驟56得到的父目錄對應的節點;步驟58,如果步驟57找不到對應的節點,則返回錯誤,結束當前處理過程;如果步驟57找到對應的節點,則備份步驟51得到的節點;步驟59,刪除步驟51得到的節點;步驟60,將步驟58備份的節點加入步驟58得到節點所在的平衡二叉樹對應的子樹之中。操作六遍歷目錄操作。遍歷目錄操作包括以下步驟步驟61,利用文件查找操作查找輸入的目錄名稱對應的節點,如目錄7A";步驟62,如果步驟61中找到的節點為空,則返回目錄不存在,結束當前處理過程;如果步驟61找到的節點不為空,取出步驟61找到節點所在的平衡二叉樹的子樹,如目錄7A"節點所在的平衡二叉樹的子樹;步驟63,如果步驟62得到的子樹為空,則直接返回;如果步驟62得到的子樹不為空,則遍歷該子^",返回遍歷結果。為實現上述目錄管理方法,本發明還提供了一種目錄管理裝置,圖4所示為本發明目錄管理裝置的結構關係示意圖,本發明的目錄管理裝置結構包括分析模塊41,用於對全路徑名稱進行分析,得到所述全路徑名稱表示的目錄或者文件的短名稱。這裡,在多級平衡二叉樹中只存儲目錄或文件的短名稱,短名稱是目錄或文件的唯一標識名稱。節點分配模塊42,用於依據所述短名稱,為所述短名稱表示的目錄或文件分配一個空閒節點。其中,空閒節點由FileName、pSubTree、pLeftTree和pRighftTree組成,其中,FileName的域值由依據所述短名稱取值。當所述空閒節點表示目錄時,pSubTree指向所述目錄的下一級目錄所在的平衡二叉樹的根節點,所述目錄所在的平衡二叉樹的子樹是所示下一級目錄所在的平衡二叉樹;當所述空閒節點表示文件時,pSubTree為空NULL,即不存在。是否存在,並得到判斷結果。一般,判斷結果有兩種存在與短名稱表示的目錄或文件同級的目錄或文平衡二叉樹生成模塊44,用於根據判斷結果由所述空閒節點單獨生成一個平衡二叉樹,或者由所述空閒節點插入所述同級的目錄或文件的節點生成的平衡二叉樹中。多級平衡二叉樹構造模塊45,用於根據平衡規則對所有的平衡二叉樹執行平衡操作,生成多級平衡二叉樹。這裡,所述生成多級平衡二叉樹具體為根據目錄層次隸屬關係,利用節點的pSubTree域將各個平衡二叉樹關聯起來,從而生成多級平衡二叉樹。本發明的裝置還可以進一步包括一個管理模塊,用於依據所述多級平衡二叉樹對整個文件系統的目錄進行遍歷目錄、查找文件、增加文件、刪除文件、修改文件名稱、移動文件操作管理。所述管理模塊對目錄進行管理時,是基於多級平衡二叉樹的,會與多級平衡二叉樹構造模塊45有信息交互;對目錄進行上述幾種操作管理時,都需要先對目錄或文件的全路徑名稱進行分析,所以還會與分析模塊41之間進行信息交互;對目錄進行增加文件時需要對文件分配新的空閒節點時,還需要與節點分配模塊42進行信息交互。以上所述,僅為本發明的較佳實施例而已,並非用於限定本發明的保護範圍。權利要求1、一種目錄管理方法,在客戶端創建目錄或文件,並輸入目錄或文件的全路徑名稱,將所述全路徑名稱發送給元數據伺服器,其特徵在於,該方法包括對所述全路徑名稱進行分析,得到所述全路徑名稱表示的目錄或文件的短名稱;依據所述短名稱,為所述短名稱表示的目錄或文件分配空閒節點;判斷與所述短名稱表示的目錄或文件的同級目錄或文件是否存在,如果不存在,則所述空閒節點單獨生成平衡二叉樹;如果存在,則將所述空閒節點插入所述同級目錄或文件的節點生成的平衡二叉樹中;根據平衡規則對所有的平衡二叉樹執行平衡操作,生成多級平衡二叉樹;並依據所述生成的多級平衡二叉樹對目錄進行管理。2、根據權利要求1所述目錄管理方法,其特徵在於,所述短名稱為所述目錄或文件的p舉一標識名稱。3、根據權利要求1所述目錄管理方法,其特徵在於,所述空閒節點由文件名FileName、子杉於pSubTree、左子樹pLeftTree和右子初於pRighftTree組成,其中,FileName的域值依據所述短名稱取值;所述空閒節點表示目錄時,pSubTree指向所述目錄的下一級目錄所在的平衡二叉樹的根節點,所述目錄所在的平衡二叉樹的子樹是所述下一級目錄所在的平衡二叉樹;所述空閒節點表示文件時,pSubTree為空NULL。4、根據權利要求1所述目錄管理方法,其特徵在於,所述平衡規則為依據所述平衡二叉樹中FileName、pLeftTreep和RighftTree域值的大小,對FileName、pLeftTreep和RighftTree重新賦值。5、根據權利要求1所述目錄管理方法,其特徵在於,所述依據多級平衡二叉樹對整個文件系統的目錄進行管理,包括遍歷目錄、查找文件、增加文件、刪除文件、修改文件名稱、移動文件中的任意一種或任意多種的組合。6、一種目錄管理裝置,其特徵在於,該裝置包括分析模塊,用於對全路徑名稱進行分析,得到所述全路徑名稱表示的目錄或者文件的短名稱;節點分配模塊,用於依據所述短名稱,為所述短名稱表示的目錄或文件分配空閒節點;否存在,得到判斷結果;平衡二叉樹生成模塊,用於根據判斷結果由所述空閒節點單獨生成平衡二叉樹,或者由所述空閒節點插入所述同級的目錄或文件的節點生成的平衡二叉樹中;多級平衡二叉樹構造模塊,用於根據平衡規則對所有的平衡二叉樹執行平衡操作,生成多級平衡二叉樹。7、根據權利要求6所述目錄管理裝置,其特徵在於,該裝置還包括管理模塊,用於依據所述多級平衡二叉樹對整個文件系統的目錄進行操作管理,所述操作管理為遍歷目錄、查找文件、增加文件、刪除文件、修改文件名稱、移動文件中的任意一種或任意多種的組合。8、根據權利要求6或7所述目錄管理裝置,其特徵在於,所述空閒節點由FileName、pSubTree、pLeftTree和pRighftTree組成,其中,FileName的域值依據所述短名稱取值。9、根據權利要求6或7所述目錄管理裝置,其特徵在於,所述平衡規則為依據所述平ff二叉樹中FileName、pLeftTreep和RighftTree域值的大小,對FileName、pLeftTreep和RighftTree重新f武^直。全文摘要本發明公開了一種目錄管理方法,在客戶端上創建目錄或文件,輸入目錄或文件的全路徑名稱,該方法包括對全路徑名稱進行分析,得到全路徑名稱表示的目錄或者文件的短名稱;依據短名稱,為短名稱表示的目錄或文件分配一個空閒節點;判斷與短名稱表示的目錄或文件同級的目錄或文件是否存在;如果不存在,則空閒節點單獨生成一個平衡二叉樹;如果存在,則將所述空閒節點插入所述同級目錄或文件的節點生成的平衡二叉樹中;根據平衡規則對所有的平衡二叉樹執行平衡操作,生成多級平衡二叉樹;並依據所述生成的多級平衡二叉樹對目錄進行管理。本發明還公開了一種目錄管理裝置,基於該方法和裝置,可以節省系統的內存空間,提高對目錄或文件的查找效率。文檔編號G06F17/30GK101315640SQ200810126859公開日2008年12月3日申請日期2008年7月1日優先權日2008年7月1日發明者朱紅軍,杜守富,王瑞豐申請人:中興通訊股份有限公司