面向高性能計算的分布式文件系統元數據管理方法

            文檔序號:7553979閱讀:232來源:國知局
            專利名稱:面向高性能計算的分布式文件系統元數據管理方法
            技術領域
            本發明涉及分布式文件系統體系結構領域,具體涉及一種面向高性能計算的分布式文件系統元數據管理方法。
            背景技術
            隨著各種I/O密集型應用的需求和高速網絡的發展,當今高性能計算機集群計算節點的規模已達上萬個,性能亦已達PFlops。底層存儲系統的規模不斷增大,PB級甚至更大規模的系統不斷出現。分布式文件系統中文件的數目可以達到上億個,快速高效的處理成千上萬個客戶端對文件元數據的并發訪問是一個亟需解決的問題。元數據服務器(Metadata Server, MDS)用來管理文件系統的元數據,在存儲系統規模非常大時,一臺MDS會成為整個系統的性能瓶頸,于是人們就把多臺MDS連接在一起,構成元數據服務集群來提升文件系統的元數據處理能力。在文件系統中,文件的元數據用以記錄文件數據對象的存儲位置和訪問控制信息,目錄是包含文件列表信息的文件,用以實現文件系統的目錄層次和權限管理。目前MDS集群中的元數據分布方法,主要可以分為目錄子樹分割方法和散列方法兩大類。目錄子樹分割(SubtreePartitioning)方法是將文件系統的全局目錄層次結構按照目錄子樹劃分,每個MDS負責管理一個或多個目錄子樹,所有的MDS共同維護一個完整的文件系統目錄層次結構。該方法設計簡單,實現難度較小。其主要缺點是負載均衡能力較差。在大量客戶端同時訪問某個目錄下的不同文件這種情況時,容易出現該目錄子樹成為“熱點”的問題,從而導致負責該子樹的MDS成為整個系統的瓶頸。散列方法是將文件的某個特定標識(如文件名,文件路徑名等)進行哈希計算,每個MDS負責一段哈希值范圍內的文件元數據。該方法的優點是能夠較好的將同一目錄下不同文件的元數據均勻的映射到各個MDS上,具有良好的負載均衡性。其缺點是每個MDS需要保存大量的前綴目錄元數據信息,減少了每個MDS用來保存文件元數據的可用內存容量,同時這些目錄元數據信息的一致性維護需要一定的代價。同時,對一個目錄的重命名操作和增減MDS將導致原先文件與MDS之間映射關系被破壞,可能需要遷移重命名目錄下的各個文件和子目錄的元數據。綜上所述,上述現有技術都存在或不能良好處理熱點目錄的訪問問題,或不能有效解決目錄的重命名問題和重迭保存前綴目錄元數據信息帶來的內存利用率和一致性維護問題,嚴重制約了分布式文件系統在高性能計算領域的應用。

            發明內容
            本發明要解決的技術問題是提供一種存儲性能高、維護開銷小、高負載無瓶頸、擴展性好、負載均衡、能夠有效解決目錄重命名帶來的元數據遷移問題的面向高性能計算的分布式文件系統元數據管理方法。為了解決上述技術問題,本發明采用的技術方案為: 一種面向高性能計算的分布式文件系統元數據管理方法,其實施步驟如下:
            I)建立用于管理目錄元數據的目錄元數據服務器集群、用于管理文件元數據的文件元數據服務器集群,建立用于為目錄元數據服務器集群和文件元數據服務器集群提供對象接口數據存儲服務的對象存儲服務器集群;
            2 )在所有目錄元數據服務器集群中建立布隆過濾器,所述目錄元數據服務器集群中的目錄元數據服務器之間共享布隆過濾器;
            3)在客戶端的操作請求到來時,若操作請求為目錄操作請求時跳轉執行步驟4);若操作請求為文件操作請求時跳轉執行步驟5);
            4)所述目錄元數據服務器集群響應客戶端的目錄操作請求對目錄元數據進行管理,為每個目錄分配一個全局唯一標識符,根據布隆過濾器數組記錄來判斷負責目錄請求的目錄元數據服務器,并根據目錄的完整路徑名哈希訪問對象存儲服務器中存儲的目錄元數據;
            5)所述文件元數據服務器集群響應客戶端的文件操作請求對文件元數據進行管理,根據請求文件的文件名哈希來判斷負責文件元數據的文件元數據服務器,并根據請求文件的父目錄全局唯一標識符和文件名的哈希訪問對象存儲服務器中存儲的文件元數據。作為本發明上述技術方案的進一步改進:
            所述步驟I)建立的對象存儲服務器集群中存儲的目錄元數據結構為:DirId、DirName、ACLf > ACLp> AtFMDS和InodePointer, DirId代表目錄在被創建時生成的全局唯一標識符,DirId的生存周期和目錄本身一樣;DirName代表目錄的完整路徑名;ACLf代表在創建目錄時給目錄賦予的文件權限;ACLp代表目錄的路徑權限,ACLp由目錄自身的文件權限ACLf與父目錄的路徑權限ACLp相與操作得到;AtFMDS代表目錄下文件存放的型別標識,用于判斷目錄下所有文件的文件元數據在文件元數據服務器集群中的分布類型;InodePointer代表目錄層次結構指針,用于指向目錄包含的文件和子目錄構成的樹形結構,所述目錄包含的文件和子目錄構成的B樹通過目錄的全局唯一標識符進行索引;所述步驟I)建立的對象存儲服務器集群中存儲的文件元數據結構包括Dirid、FileName和FileMeta,其中DirId代表文件所在目錄的全局唯一標識符,FileName代表文件的文件名,FileMeta代表包括文件長度、讀寫權限、修改時間和文件數據的布局信息在內的文件具體元數據信息。所述步驟2)建立的布隆過濾器為基于計數的布隆過濾器,所述基于計數的布隆過濾器使用一個m比特的整數數組來保存信息,使用k個獨立的哈希函數將集合中的每一個目錄元素映射到{1,...,ηι}的范圍中,初始化時{1,...,ηι}中的每一位整數都設置為O,每個哈希函數對應一個大小為m/k位的位數組,所述k個位數組構成基于計數的布隆過濾器的布隆過濾器位數組;當目錄元數據服務器添加一個目錄時,所述目錄元數據服務器通過多個哈希函數對添加目錄的完整路徑進行哈希運算得到k個哈希值,將所述k個哈希值在整數數組中對應k個整數位置的整數值分別加I ;當目錄元數據服務器刪除一個目錄時,所述目錄元數據服務器通過多個哈希函數對刪除目錄進行哈希運算得到k個哈希值,將所述k個哈希值在整數數組中對應k個整數位置的整數值分別減I ;當判定目錄元數據服務器是否為負責指定目錄的節點時,通過多個哈希函數對指定目錄進行哈希運算得到的k個哈希值,判斷所述目錄元數據服務器的整數數組中對應k個整數位置的整數值是否都大于0,如果都大于O則判定該目錄元數據服務器為負責指定目錄的節點。
            所述步驟4)的詳細步驟如下:
            4.1)客戶端判斷目錄操作請求類型,當目錄操作請求為創建目錄時跳轉執行步驟
            4.2),當目錄操作請求為查詢目錄元數據時跳轉執行步驟4.3),當目錄操作請求為更新目錄權限時跳轉執行步驟4.4),當目錄操作請求為重命名目錄時跳轉執行步驟4.5),當目錄操作請求為刪除目錄時跳轉執行步驟4.6);
            4.2)執行創建目錄:
            4.2.1)客戶端從緩存中查找當前目錄的父目錄元數據,如果找到則查詢客戶端是否具有在父目錄下創建目錄的權限,如果沒有權限則返回用戶沒有權限在父目錄下創建目錄的錯誤提示并返回執行步驟3);如果有權限創建或者在緩存中沒有找到父目錄元數據信息,從目錄元數據服務器集群中隨機選擇一個指定節點發送創建目錄請求;
            4.2.2)所述指定節點接收到創建目錄請求,首先通過本節點以及其它節點共享的布隆過濾器查找負責當前目錄的父目錄的目標節點,如果本節點不是目標節點,則向目標節點請求父目錄路徑權限,目標節點查詢父目錄路徑權限并返回給所述指定節點;否則本節點直接查詢獲取父目錄路徑權限;
            4.2.3)所述指定節點將父目錄路徑權限緩存,判斷所述父目錄路徑權限是否允許客戶端創建目錄,如果不允許則返回出錯信息給客戶端并跳轉執行步驟3);如果允許則指定節點創建目錄,為新建目錄生成一個全局唯一標識符,將目錄操作請求中的指定的文件權限和父目錄路徑權限進行相與操作得到新建目錄的路徑權限,根據全局唯一標識符、目錄操作請求中的攜帶的完整路徑和文件權限、新建目錄的路徑權限生成目錄元數據,并將目錄元數據根據當前目錄的完整路徑哈希將當前目錄的目錄元數據提交到對象存儲服務器進行存儲;
            4.2.4)所述指定節點將當前目錄的目錄元數據存入緩存中,并向負責父目錄的目標節點發送更新目錄元數據請求,所述目標節點接收請求并更新父目錄元數據信息;同時,所述指定節點將新創建目錄存入本地的布隆過濾器,并將布隆過濾器的更新項發送給目錄元數據服務器集群中的其它節點進行同步;所述指定節點向客戶端回復目錄創建消息,所述消息包含當前目錄的全局唯一標識符、文件權限、路徑權限和所在的目錄元數據服務器編號;
            4.2.5)客戶端將接收到的目錄創建消息加入本地緩存中并向用戶顯示操作結果,跳轉執行步驟3);
            4.3)執行查詢目錄元數據:
            4.3.1)客戶端首先在本地緩存中查找是否有待當前目錄的目錄元數據信息,如果有則直接返回結果給客戶端,跳轉執行步驟3);否則跳轉執行步驟4.3.2);
            4.3.2)客戶端隨機向目錄元數據服務器集群中隨機選擇一個指定節點發送目錄元數據查詢請求;
            4.3.3)所述指定節點通過本節點以及其它節點共享的布隆過濾器查找負責當前目錄的目標節點,如果指定節點并非目標節點,則所述指定節點將目錄元數據查詢請求轉發給目標節點,否則所述指定節點即為目標節點;
            4.3.4)所述目標節點首先在內存中查找待查詢目錄的目錄元數據信息,如果在內存中查找失敗,則根據當前目錄的完整路徑名哈希獲取對象存儲服務器中存儲的目錄元數據信息,如果查詢目錄元數據請求為目錄列表請求命令,則還通過目錄層次結構指針獲取當前目錄所包含的子目錄和文件信息數據,最終將獲得的操作結果發送給客戶端;
            4.3.5)客戶端接收所述目標節點發送的操作結果,將目錄元數據信息加入到緩存中,將目錄操作請求的操作結果返回給用戶端,跳轉執行步驟3);
            4.4)執行更新目錄權限:
            4.4.1)客戶端首先在本地緩存中查找目錄元數據服務器集群中負責當前目錄的目標節點,如果查找成功,則向目標節點發送更新目錄權限請求,跳轉執行步驟4.4.3),否則向目錄元數據服務器集群中隨機選擇一個指定節點發送更新目錄權限請求,跳轉執行步驟
            4.4.2);
            4.4.2)所述指定節點通過本節點以及其它節點共享的布隆過濾器查找負責當前目錄的目標節點,如果所述指定節點并非目標節點,則所述指定節點將更新目錄權限請求轉發給目標節點,否則所述指定節點即為目標節點;
            4.4.3)所述目標節點修改當前目錄的文件權限和路徑權限,找出當前目錄所包含的子目錄,通過本節點以及其它節點共享的布隆過濾器查找負責待更新目錄下各個子目錄的關聯節點,并向所述關聯節點分別發送更新目錄路徑權限請求;
            4.4.4)所述關聯節點通過本節點以及其它節點共享的布隆過濾器查找負責待更新目錄下各個子目錄的下一級關聯節點,并向所述下一級關聯節點分別發送更新目錄路徑權限請求,接收到更新目錄請求的關聯節點分別執行更新目錄的路徑權限,將操作結果返回給所述目標節點;重復執行上述遞歸過程,直到待更新目錄下所有子目錄的路徑權限都更新成功;
            4.4.5)所述目標節點接收到各級關聯節點發送來的子目錄的路徑權限更新結果,并將操作結果返回給用戶端;
            4.4.6)客戶端接收到所述目標節點發送的操作結果并返回給用戶,跳轉執行步驟3);
            4.5)執行重命名目錄:
            4.5.1)客戶端首先在本地緩存中查找目錄元數據服務器集群中負責當前目錄的目標節點,如果查找成功,則向目標節點發送重命名目錄請求,進入步驟4.5.3),否則隨機向目錄元數據服務器集群中隨機選擇一個指定節點發送重命名目錄請求,跳轉執行步驟
            4.5.2);
            4.5.2)所述指定節點通過本節點以及其它節點共享的布隆過濾器查找負責當前目錄的目標節點,如果所述指定節點并非目標節點,則所述指定節點將重命名目錄請求轉發給目標節點,否則所述指定節點即為目標節點;
            4.5.3)所述目標節點執行重命名目錄,通過本節點以及其它節點共享的布隆過濾器查找負責當前下各個子目錄的關聯節點,并向所述關聯節點分別發送重命名目錄請求;
            4.5.4)所述關聯節點通過本節點以及其它節點共享的布隆過濾器遞歸查找負責當前目錄下各個子目錄的下一級關聯節點,并向所述下一級關聯節點分別發送重命名目錄請求,接收到重命名目錄請求的關聯節點分別執行重命名目錄;重復執行上述遞歸過程,直到待重命名目錄下所有子目錄都重命名成功后,將操作結果返回給所述目標節點;
            4.5.5)所述目標節點接收到各級關聯節點發送來的子目錄的重命名目錄結果,并將操作結果返回給用戶端; 4.5.6)客戶端接收到所述目標節點發送的操作結果并將操作結果返回給用戶,跳轉執行步驟3);
            4.6)執行刪除目錄:
            4.6.1)客戶端首先在本地緩存中查找目錄元數據服務器集群中負責待刪除目錄的目標節點,如果查找成功,則向目標節點發送刪除目錄請求,進入步驟4.6.3),否則隨機向目錄元數據服務器集群中隨機選擇一個指定節點發送刪除目錄請求,跳轉執行步驟4.6.2);
            4.6.2)所述指定節點通過本節點以及其它節點共享的布隆過濾器查找負責待刪除目錄的目標節點,如果所述指定節點并非目標節點,則所述指定節點將刪除目錄請求轉發給目標節點,否則所述指定節點即為目標節點;
            4.6.3)所述目標節點執行刪除目錄,通過本節點以及其它節點共享的布隆過濾器查找負責當前目錄下各個子目錄的關聯節點,并向所述關聯節點分別發送刪除目錄請求;
            4.6.4)所述關聯節點通過本節點以及其它節點共享的布隆過濾器遞歸查找負責待刪除目錄下各個子目錄的下一級關聯節點,并向所述下一級關聯節點分別發送刪除目錄請求,接收到刪除目錄請求的關聯節點執行刪除目錄,將操作結果返回給所述目標節點;重復執行上述遞歸過程,直到當前目錄下所有子目錄都刪除成功;最后,所述目標節點將執行結果返回給用戶端;
            4.6.5)客戶端接收到所述目標節點發送的操作結果并返回給用戶,跳轉執行步驟3)。所述步驟5)的詳細步驟如下:
            5.1)客戶端判斷文件操作請求類型,當文件操作請求為創建文件時跳轉執行步驟5.2),當文件操作請求為查詢文件元數據時跳轉執行步驟5.3),當文件操作請求為更新文件元數據時跳轉執行步驟5.4),當文件操作請求為重命名文件時跳轉執行步驟5.5),當文件操作請求為刪除文件時跳轉執行步驟5.6);
            5.2)執行創建文件:
            5.2.1)客戶端首先在本地緩存中查找當前文件父目錄的目錄元數據信息,若找到父目錄的目錄元數據信息,則查詢父目錄權限信息判斷客戶端是否具有創建文件權限,如果客戶端沒有創建文件權限,則返回消息給用戶并跳轉執行步驟3);如果客戶端有創建文件權限則跳轉執行步驟5.2.3);若客戶端沒有找到父目錄的目錄元數據信息,則跳轉執行
            4.3)查詢當前文件父目錄的目錄元數據,收到父目錄的目錄元數據信息后返回執行步驟
            5.2.2);
            5.2.2)客戶端客戶緩存的目錄創建消息中的路徑權限信息判斷當前文件父目錄是否允許客戶端創建文件,如果不允許客戶端創建文件,則返回消息給用戶并跳轉執行步驟3);否則跳轉步驟5.2.3);
            5.2.3)根據當前文件的文件名進行哈希,根據哈希值找到在文件元數據服務器集群中所映射的指定節點,發送文件創建請求到所述指定節點,發送的信息包含當前文件完整路徑名、父目錄全局唯一標識符和父目錄所在的目錄元數據服務器編號;
            5.2.4)所述指定節點根據文件創建請求生成當前文件的元數據,根據父目錄全局唯一標識符和文件名將當前文件的元數據提交到對象存儲服務器進行存儲;
            5.2.5)所述指定節點將當前文件的元數據存入緩存中,然后將文件創建成功消息發送到負責當前文件父目錄的目錄元數據服務器,所述目錄元數據服務器將當前文件父目錄的目錄元數據信息更新至指定的對象存儲服務器;
            5.2.6)所述指定節點將創建新文件成功的消息發給客戶端;
            5.2.7)客戶端接收到文件創建成功消息,向用戶提示文件創建成功,跳轉執行步驟3);
            5.3)執行查詢文件元數據:
            5.3.1)客戶端跳轉執行步驟4.3)獲取當前文件父目錄的元數據信息,收到待查詢文件父目錄的元數據信息后返回執行步驟5.3.2);
            5.3.2)客戶端將當前文件的文件名進行哈希,在文件元數據服務器集群中根據待查詢文件的哈希值找到負責當前文件的目標節點;
            5.3.3)客戶端向所述目標節點發送查詢文件元數據請求,所述查詢文件元數據請求信息包括父目錄全局唯一標識符、待查詢文件的文件名和文件完整路徑;
            5.3.4)所述目標節點收到客戶端的查詢文件元數據請求,首先在內存中查找當前文件的文件元數據,如果查找成功則直接跳轉執行步驟5.3.5);如果查找失敗則使用父目錄全局唯一標識符和待查詢文件的文件名,在對象存儲服務器集群中定位存儲所述文件元數據的對象存儲服務器,然后從所述對象存儲服務器中讀取當前文件的文件元數據;
            5.3.5)所述目標節點向客戶端發送待查詢文件的文件元數據;
            5.3.6)客戶端收到目標節點發送的文件元數據,返回給用戶并跳轉執行步驟3);
            5.4)執行更新文件元數據:
            5.4.1)客戶端跳轉執行步驟4.3)獲取當前文件父目錄的元數據信息,收到當前文件父目錄的元數據信息后返回執行步驟5.4.2);
            5.4.2)客戶端將當前文件的文件名進行哈希,在文件元數據服務器集群中根據待更新文件的哈希值找到負責待更新文件的目標節點;
            5.4.3)客戶端向所述目標節點發送更新文件元數據請求,所述查詢文件元數據請求信息包括父目錄全局唯一標識符和新的文件元數據;
            5.4.4)所述目標節點收到客戶端的更新文件元數據請求,首先在內存中查找當前文件的文件元數據,如果查找失敗則使用父目錄全局唯一標識符和待更新文件的文件名,在對象存儲服務器集群中定位存儲所述文件元數據的對象存儲服務器,然后從所述對象存儲服務器中讀取文件元數據;獲取更新文件元數據以后,檢查客戶端是否修改權限,如果沒有修改權限則向客戶端返回沒有權限的更新失敗消息,跳轉執行步驟3);如果有修改權限則更新文件元數據并向客戶端發送更新成功消息;
            5.4.5)客戶端收到目標節點的發送的消息后返回給用戶,跳轉執行步驟3);
            5.5)執行重命名文件:
            5.5.1)客戶端跳轉執行步驟4.3)獲取當前文件父目錄的元數據信息,收到待重命名文件父目錄的元數據信息后返回執行步驟5.5.2);
            5.5.2)根據當前文件父目錄的元數據信息判斷父目錄下是否有待重命名文件新名稱相同的文件,如果在父目錄下找到相同文件名的文件,則返回存在相同文件名消息給客戶端,跳轉執行步驟3);否則,將待重命名文件的新文件名進行哈希,在文件元數據服務器集群中根據當前文件的哈希值找到負責當前文件的目標節點;
            5.5.3)客戶端向所述目標節點發送重命名文件請求,所述查詢文件元數據請求信息包括父目錄全局唯一標識符、舊文件名、新文件名和父目錄所在目錄元數據服務器編號; 5.5.4)所述目標節點接收客戶端發送的重命名文件請求,首先在內存中查找當前文件的文件元數據,如果查找失敗則使用父目錄全局唯一標識符和當前文件的文件名,在對象存儲服務器集群中定位存儲所述文件元數據的對象存儲服務器,然后從所述對象存儲服務器中讀取文件元數據;獲取當前文件的元數據以后,檢查客戶端是否有修改權限,如果沒有修改權限則向客戶端返回沒有權限的重命名失敗消息,跳轉執行步驟3);如果有修改權限,則更新文件元數據,通過新文件名哈希在文件元數據服務器集群中找到負責新文件名的新目標節點,將文件重命名信息和新文件元數據發送給所述新目標節點,所述新目標節點接收并緩存文件重命名信息和新文件元數據,然后將文件重命名信息和新文件元數據提交到存儲到指定的對象存儲服務器;同時所述目標節點向負責父目錄的目錄元數據服務器發送文件重命名請求,負責父目錄的目錄元數據服務器收到文件重命名請求,根據文件重命名請求更新父目錄元數據中對應當前文件的文件名;最后向客戶端發送重命名文件成功消息;
            5.5.5)客戶端收到目標節點發送的消息并返回給用戶,跳轉執行步驟3);
            5.6)執行刪除文件:
            5.6.1)客戶端跳轉執行步驟4.3)獲取當前文件父目錄的元數據信息,收到當前文件父目錄的元數據信息后返回執行步驟5.6.2);
            5.6.2)將當前文件的文件名進行哈希,在文件元數據服務器集群中根據當前文件的哈希值找到負責待刪除文件的目標節點;
            5.6.3)客戶端向所述目標節點發送刪除文件請求,所述刪除文件請求包含父目錄全局唯一標識符、待刪除文件名和負責父目錄的目錄元數據服務器編號;
            5.6.4)所述目標節點接收刪除文件請求,首先在內存中查找當前文件的文件元數據,如果查找失敗則使用父目錄全局唯一標識符和當前文件的文件名,在對象存儲服務器集群中定位存儲所述文件元數據的對象存儲服務器,然后從所述對象存儲服務器中讀取當前文件的文件元數據;最后獲取當前文件的文件元數據以后,檢查客戶端是否刪除權限,如果沒有刪除權限,則向客戶端返回沒有權限的刪除失敗消息,跳轉執行步驟3);如果有刪除權限,則刪除當前文件的元數據,并向父目錄所在的目錄元數據服務器發送刪除文件請求,父目錄所在的目錄元數據服務器收到刪除文件請求,刪除父目錄元數據信息中的該文件的信息;最后向客戶端發送刪除文件成功消息;
            5.6.5)客戶端收到目標節點發送的消息并返回給用戶,跳轉執行步驟3)。所述目錄元數據服務器對目錄元數據的修改均通過更新日志定時進行,其詳細步驟如下:首先目錄元數據服務器在需要修改目錄元數據時將對目錄元數據的修改生成更新日志并緩存,然后目錄元數據服務器定時檢查本地緩存的更新日志,然后根據更新日志哈希目標目錄的完整路徑,根據哈希值與對象存儲服務器的映射關系表定位負責目標目錄的對象存儲服務器,并將對目錄元數據的修改提交給負責目標目錄的對象存儲服務器執行對目錄元數據的修改;
            所述文件元數據服務器對文件元數據的修改均通過更新日志進行,其詳細步驟如下:首先文件元數據服務器在需要修改文件元數據時將對文件元數據的修改生成更新日志并緩存,然后文件元數據服務器定時檢查本地緩存的更新日志,然后根據更新日志哈希目標文件父目錄的全局唯一標識符和目標文件的文件名,根據哈希值與對象存儲服務器的映射關系表定位負責當前文件的對象存儲服務器,并將對文件元數據的修改提交給負責目標文件的對象存儲服務器執行對文件元數據的修改。本發明具有下述優點:
            1、本發明在創建目錄時通過為每個目錄分配一個全局唯一標識符,通過根據請求文件的父目錄全局唯一標識符和文件名的哈希映射對象存儲服務器,使得每臺文件元數據服務器的負載都較為均衡,有效避免了在重命名目錄時文件元數據的遷移,能夠提高文件系統的存儲性能。2、本發明根據請求文件的父目錄全局唯一標識符和文件名的哈希訪問對象存儲服務器中存儲的文件元數據,因此能夠減少各個文件元數據服務器上前綴目錄的重迭緩存,提高了文件元數據服務器的內存利用率和Cache命中率,消除了在各個文件元數據服務器上維護目錄一致性帶來的開銷。3、本發明建立用于管理目錄元數據的目錄元數據服務器集群、用于管理文件元數據的文件元數據服務器集群,建立用于提供基于對象接口的數據存儲服務的對象存儲服務器集群,因此能夠克服目錄元數據服務器、文件元數據服務器、對象存儲服務器三者中任何一種面臨較大負載時發生的性能瓶頸問題,具有擴展性好的優點。4、本發明在所有目錄元數據服務器集群中建立基于計數的布隆過濾器,目錄元數據服務器集群中的目錄元數據服務器之間共享基于計數的布隆過濾器,通過使用布隆過濾器來反映哪些目錄的元數據存儲在當前目錄元數據服務器中,有效提高了訪問目錄元數據的性能。5、本發明在創建目錄時隨機選擇目錄元數據服務器,通過隨機分布目錄元數據在各個目錄元數據服務器上,使得各個目錄的元數據較為均勻的分布在各目錄元數據服務器上,使得每臺目錄元數據服務器的負載都較為均衡,能夠避免目錄元數據服務器成為系統瓶頸。6、本發明根據目錄的完整路徑名哈希映射對象存儲服務器中存儲的目錄元數據,根據請求文件的文件名哈希來映射文件元數據服務器,根據請求文件的父目錄全局唯一標識符和文件名的哈希映射對象存儲服務器,通過上述哈希映射方式來確定該文件所在文件元數據服務器的方式,使得每臺文件元數據服務器的負載都較為均衡。


            圖1為本發明實施例的方法流程示意圖。圖2為應用本發明實施例的分布式文件系統的網絡拓撲結構示意圖。圖3為本發明實施例目錄元數據的數據結構示意圖。圖4為本發明基于計數的布隆過濾器數組映射原理對比示意圖,其中(a)為傳統布隆過濾器數組映射原理示意圖,(b)為基于計數的布隆過濾器數組映射原理示意圖。圖5為本發明實施例中FMDS和OST的映射關系說明示意圖。圖6為本發明實施例中創建目錄的流程示意圖。圖7為本發明實施例中創建文件的流程示意圖。
            具體實施方式
            如圖1所示,本實施例面向高性能計算的分布式文件系統元數據管理方法的實施步驟如下:
            1)建立用于管理目錄元數據的目錄元數據服務器集群、用于管理文件元數據的文件元數據服務器集群,建立用于為目錄元數據服務器集群和文件元數據服務器集群提供對象接口數據存儲服務的對象存儲服務器集群;
            2)在所有目錄元數據服務器集群中建立布隆過濾器,目錄元數據服務器集群中的目錄元數據服務器之間共享布隆過濾器;
            3)在客戶端的操作請求到來時,若操作請求為目錄操作請求時跳轉執行步驟4);若操作請求為文件操作請求時跳轉執行步驟5);
            4)目錄元數據服務器集群響應客戶端的目錄操作請求對目錄元數據進行管理,為每個目錄分配一個全局唯一標識符,根據布隆過濾器數組記錄來判斷負責目錄請求的目錄元數據服務器,并根據目錄的完整路徑名哈希訪問對象存儲服務器中存儲的目錄元數據;
            5)文件元數據服務器集群響應客戶端的文件操作請求對文件元數據進行管理,根據請求文件的文件名哈希來判斷負責文件元數據的文件元數據服務器,并根據請求文件的父目錄全局唯一標識符和文件名的哈希訪問對象存儲服務器中存儲的文件元數據。如圖2所示,應用于本實施例的分布式文件系統由多個客戶端(Client)、多個目錄元數據服務器(DMDS)組成的目錄元數據服務器集群、多個文件元數據服務器(FMDS)組成的文件元數據服務器集群、多個對象存儲服務器(多個0ST)組成的對象存儲服務器集群組成;DMDS和FMDS分別將相應的元數據持久化存儲到對應的OST上。本實施例通過目錄元數據服務器和文件元數據服務器的分工協作為整個存儲系統提供統一且一致的名字空間,管理客戶端的文件目錄訪問權限,來達到管理文件系統元數據的目的;客戶端則通過高速網絡向目錄元數據服務器集群執行目錄元數據訪問、向文件元數據服務器集群執行文件元數據訪問,對象存儲服務器位于目錄元數據服務器集群和文件元數據服務器集群的極端,對于客戶端而言是透明的。對象存儲服務器(Object Storage Target,簡稱0ST)負責底層數據塊分配、布局,驗證、響應相應的數據請求,提供一個基于對象接口的數據存儲服務。目錄元數據服務器集群包含多個通過網絡相連的目錄元數據服務器,目錄元數據服務器(Directory Metadata Server,簡稱DMDS)負責管理目錄元數據,包括查詢、創建、更新、刪除和存儲元數據到OST上等功能。文件元數據服務器集群包含多個通過網絡相連的文件元數據服務器,文件元數據服務器(File Metadata Server,簡稱FMDS)負責管理文件元數據,包括查詢、創建、更新、刪除和存儲元數據到OST上等功能。目錄元數據服務器和文件元數據服務器均通過網絡與對象存儲服務器相連。在面向高性能計算的PB級(以及更高級的)文件系統中,目錄對象的數量較文件對象的數量小,但只采用一臺DMDS來提供目錄元數據服務會讓該臺DMDS成為整個分布式文件系統的性能瓶頸,而本實施例由多臺DMDS組成的目錄元數據服務器集群來提供目錄元數據服務,由多臺FMDS組成的文件元數據服務器集群來提供文件元數據服務,目錄元數據服務器集群、文件元數據服務器集群、對象存儲服務器集群中的節點數量可以根據需要進行定制,從而能夠解決現有技術的目錄元數據服務成為整個分布式文件系統瓶頸的問題,而且具有擴展性好的優點。如圖3所示,本實施例步驟I)建立的對象存儲服務器集群中存儲的目錄元數據結構為:DirId、DirName、ACLf、ACLp> AtFMDS 和 InodePointer, DirId 代表目錄在被創建時生成的全局唯一標識符,DirId的生存周期和目錄本身一樣;DirName代表目錄的完整路徑名;ACLf代表在創建目錄時給目錄賦予的文件權限;ACLp代表目錄的路徑權限,ACLp由目錄自身的文件權限ACLf與父目錄的路徑權限ACLp相與操作得到;AtFMDS代表目錄下文件存放的型別標識,用于判斷目錄下所有文件的文件元數據在文件元數據服務器集群中的分布類型;InodePointer代表目錄層次結構指針,用于指向目錄包含的文件和子目錄構成的樹形結構,目錄包含的文件和子目錄構成的B樹通過目錄的全局唯一標識符進行索引。本實施例中目錄元數據結構信息的具體含義如下:(I) Dirld,目錄的全局唯一標識符,在創建目錄時生成。DirId的生存周期和目錄本身一樣,除非目錄被刪除,而修改目錄名等操作DirID都不會發生變化;(2) DirName,目錄的完整路徑名,如/usr/wl/dl等;(3)ACLf,目錄的文件權限。在創建目錄時給目錄賦予的權限(將目錄當做一個文件看待);(4)ACLp,目錄的路徑權限。目錄的路徑權限ACLp由目錄自身的文件權限ACLf與父目錄的路徑權限ACLp相與操作得到;(5) AtFMDS,目錄下文件存放的型別標識。當AtFMDS為一個非零值的時候(如某個FMDS的編號),它表示該目錄下所有的文件的元數據都將被存在一個文件元數據服務器FMDS上。在目錄規模較小且不會發生大量客戶端并發訪問的情況下,將一個目錄下所有文件的元數據存在一個FMDS上,這有利于實現對一個目錄下文件元數據的預取;當AtFMDS為零時,表示該目錄下的文件元數據將采用哈希方法分布在FMDS上。這適用于一個規模較大且會出現大量并發訪問目錄下文件元數據的情形。AtFMDS的值由客戶端在創建目錄時決定,即客戶端可以決定將該目錄下所有文件都分布在一個FMDS上還是哈希分布在所有的FMDS上,這樣的設計方法使得客戶可以根據應用的文件I/O特點來決定文件元數據的存放方式。由于第一種情形與第二種情形只是存在文件元數據分布方式的不同,在下面描述創建文件等流程時,只考慮第二種情形;(6) InodePointer,目錄層次結構指針,用以表示該目錄包含哪些文件和子目錄。目錄下的每個文件構成一個結點(以文件名標識),每個子目錄構成一個結點(以目錄名標識),所有的文件結點和子目錄結點構成一棵B樹。目錄所指向的B樹由目錄的全局唯一標識DirId進行索引。 本實施例中,目錄的路徑權限ACLp由文件權限ACLf與父目錄的路徑權限ACLp相與操作得到。以在目錄/home/bgp下新建目錄dl為例,生成/home/bgp/dl路徑權限的過程如下:
            (1)查詢/home/bgp的路徑權限,假設為rwxr-xr-x,則表明客戶端具有在/home/bgp目錄下創建新目錄的權限;
            (2)客戶端設定的新建目錄dl的訪問權限屬性為rwxr—r—;即表明目錄dl的文件權限 ACLf 為 rwxr—r—;
            (3)根據父目錄/home/bgp的路徑權限和dl的文件權限構造目錄/home/bgp/dl的路徑權限為rwxr—r—。本實施例通過上述權限處理操作,生成目錄的路徑權限ACLp只能在父目錄的路徑權限ACLp內進行繼承,并且在繼承時通過目錄新建請求中指定的文件權限ACLf進行有限選擇,使得目錄安全管理的可靠性更好。本實施例步驟I)建立的對象存儲服務器集群中存儲的文件元數據結構包括DirIcUFileName和FileMeta,其中DirId代表文件所在目錄的全局唯一標識,FileName代表文件的文件名(不包含路徑項),FileMeta代表包括文件長度、讀寫權限、修改時間和文件數據的布局信息在內的文件具體元數據信息。如圖4 (a)所示,布隆過濾器(BF)的基本思想是源于通過引入多個哈希函數來解決單個哈希函數時的沖突問題,當每個哈希函數都告訴我們該元素在集合中時,才能確定該元素存在于集合之中。BF使用一個m比特的數組來保存信息,使用k個獨立的哈希函數將集合中的每一個元素映射到U,...,!!!}的范圍中。初始時,位數組的每一位都設置為O。添加一個元素X時,使用k個哈希函數得到k個哈希值,然后將數組中對應的比特位設置為I,即第i個哈希函數將Hashi (x)位置設置為I ;在判斷一個元素y是否屬于集合時,對y使用k個哈希函數得到k個哈希值,如果所有Hashi (y)對應的位置都是I (I彡i彡k),可以認為I是集合中的元素,否則I就不是集合中的元素,顯然判斷某個元素一定在集合中存在一定的錯判概率。本實施例采用布隆過濾器(Bloom Filter,簡稱BF)來反映當前有哪些目錄的元數據存儲在該DMDS的內存中,而且DMDS之間通過布隆過濾器共享實現全局信息的快速查詢。BF是一種空間效率很高的隨機數據結構,是一個判斷元素是否存在于集合之中的快速概率算法。它利用位數組簡潔的表示一個集合,并判斷一個元素是否屬于這個集合。如果判斷元素不在集合中,那么可以肯定不在。如果判斷一個元素存在于集合之中,會有一定的概率判斷錯誤。由于客戶端對于目錄元數據的訪問強度沒有文件元數據高,通過在判斷錯誤的情況下進行相應的錯誤處理,亦能夠保證正確處理請求。但BF帶來的性能效益會遠遠高出其判斷錯誤時的性能損失。但是,這種傳統的BF還存在一個問題即不能從集合中刪除元素,因為該元素對應的位會牽動到其它的元素,在DMDS中直接使用傳統的BF是不合適的,因為客戶端會有刪除某個目錄的 需求,一般在刪除目錄時需要借助包括標記在內的其它手段才能實現目錄元數據信息的偽刪除,導致存儲資源的利用率較低。本實施例中,步驟2)建立的布隆過濾器為基于計數的布隆過濾器,基于計數的布隆過濾器使用一個m比特的整數數組來保存信息,使用k個獨立的哈希函數將集合中的每一個目錄元素映射到{1,...,ηι}的范圍中,初始化時{1,...,ηι}中的每一位整數都設置為O,每個哈希函數對應一個大小為m/k位的位數組,k個位數組構成基于計數的布隆過濾器的布隆過濾器位數組;當目錄元數據服務器添加一個目錄時,目錄元數據服務器通過多個哈希函數對添加目錄的完整路徑進行哈希運算得到k個哈希值,將k個哈希值在整數數組中對應k個整數位置的整數值分別加I ;當目錄元數據服務器刪除一個目錄時,目錄元數據服務器通過多個哈希函數對刪除目錄進行哈希運算得到k個哈希值,將k個哈希值在整數數組中對應k個整數位置的整數值分別減I ;當判定目錄元數據服務器是否為負責指定目錄的節點時,通過多個哈希函數對指定目錄進行哈希運算得到的k個哈希值,判斷目錄元數據服務器的整數數組中對應k個整數位置的整數值是否都大于0,如果都大于O則判定該目錄元數據服務器為負責指定目錄的節點。如圖4 (b)所示,每個哈希函數Hashi對應一個大小為m/k的位數組BFi (BF1,BF2,BF3),k個BFi構成一個BF位數組(即BF Array,簡稱BFA)。添加一個元素xl時,使用k個哈希函數得到k個哈希值,然后將對應的位數組BFi的對應位置(BF1的第3個,BF2的第4個,BF3的第2個)設置為I。如果添加下一個元素x2,發生與xl沖突的情況時,則將沖突位置(BF2的第4個)的值加I。這樣設計的好處是可以刪除一個元素,同時不會發生在某一位置不同哈希函數發生沖突的情況(即HashiUkHash^y)的情形),代價是比原先的m比特空間有所增大,每一個位不能只使用一個比特來表示了,而需要幾個比特來記錄發生沖突的次數。參見圖4中下半部分,第2個BFA中從上往下第4個整數數值為2,兩個目錄在該整數位置發生沖突,當其中一個目錄被刪除時,該整數位置減I后,該整數位置變成1,仍然能夠保留另一個目錄的位置信息。但是,這樣的代價是比原先的m比特空間有所增大,每一個位不能只使用一個比特來表示了,而需要幾個比特來記錄發生沖突的次數。但是,通過基于計數的BF,能夠方便實現對目錄元數據的刪除,目錄刪除后OST的存儲空間能夠得到回收,存儲資源的利用率較高。本實施例中,采用下述三種哈希策略:
            (O使用文件名哈希來確定該文件的元數據由哪臺FMDS負責。(2)使用文件父目錄DirId和文件名哈希來確定文件的元數據最終保存在哪個OST 上。(3)使用目錄完整路徑名哈希來確定目錄的元數據最終保存在哪個OST上。例如:客戶端想要訪問文件”/a/b/filec”,則使用filec的哈希結果來確定文件元數據位于哪一臺FMDS上,FMDS使用/a/b的目錄DirId和filec來確定該文件的元數據存放在哪個OST上。對于目錄元數據,如目錄b,則使用/a/b的哈希結果來確定該目錄的元數據位于哪一個OST上。本實施例通過使用上述哈希策略,在重命名目錄時,只需要在OST之間遷移對應的目錄(以及子目錄)元數據,而無需遷移目錄下(以及子目錄下)文件的元數據。與使用文件路徑名進行文件元數據和OST之間的映射這種方式相比,大大減低了遷移的數據量。如圖5所示,本實施例在使用文件名哈希來確定FMDS時,第0-1000個哈希值對應編號為#1的FMDS,第1001-2000個哈希值對應編號為#2的FMDS,第2001-3000個哈希值對應編號為#3的FMDS,第3001-4000個哈希值對應編號為#4的FMDS,本實施例僅以4個FMDS進行舉例說明,更多的FMDS映射依次類推,在此不再贅述。本實施例在使用文件父目錄DirId和文件名哈希來確定OST時,第0-100個哈希值對應編號為#1的0ST,第101-200個哈希值對應編號為#2的0ST,第201-300個哈希值對應編號為#3的0ST,第301-400個哈希值對應編號為#4的0ST,本實施例僅以4個OST進行舉例說明,更多的OST映射依次類推,在此不再贅述。本實施例中,步驟4)的詳細步驟如下:
            4.1)客戶端判斷目錄操作請求類型,當目錄操作請求為創建目錄時跳轉執行步驟
            4.2),當目錄操作請求為查詢目錄元數據時跳轉執行步驟4.3),當目錄操作請求為更新目錄權限時跳轉執行步驟4.4),當目錄操作請求為重命名目錄時跳轉執行步驟4.5),當目錄操作請求為刪除目錄時跳轉執行步驟4.6)。4.2)執行創建目錄:
            4.2.1)客戶端從緩存中查找當前目錄的父目錄元數據,如果找到則查詢客戶端是否具有在父目錄下創建目錄的權限,如果沒有權限則返回用戶沒有權限在父目錄下創建目錄的錯誤提示并返回執行步驟3);如果有權限創建或者在緩存中沒有找到父目錄元數據信息,從目錄元數據服務器集群中隨機選擇一個指定節點發送創建目錄請求;
            4.2.2)指定節點接收到創建目錄請求,首先通過本節點以及其它節點共享的布隆過濾器查找負責當前目錄的父目錄的目標節點,如果本節點不是目標節點,則向目標節點請求父目錄路徑權限,目標節點查詢父目錄路徑權限并返回給指定節點;否則本節點直接查詢獲取父目錄路徑權限;如圖6所示,本實施例中目錄元數據服務器I (DMDSl)并非負責父目錄元數據信息的節點,父目錄元數據信息由目錄元數據服務器2 (DMDS2)負責,因此向目標節點DMDS2請求父目錄路徑權限并跳轉執行步驟4.2.3);
            4.2.3)指定節點將父目錄路徑權限緩存,判斷父目錄路徑權限是否允許客戶端創建目錄,如果不允許則返回出錯信息給客戶端并跳轉執行步驟3);如果允許則指定節點創建目錄,為新建目錄生成一個全局唯一標識符,將目錄操作請求中的指定的文件權限和父目錄路徑權限進行相與操作得到新建目錄的路徑權限,根據全局唯一標識符、目錄操作請求中的攜帶的完整路徑和文件權限、新建目錄的路徑權限生成目錄元數據,并將目錄元數據根據當前目錄的完整路徑哈希將當前目錄的目錄元數據提交到對象存儲服務器進行存儲;
            4.2.4)指定節點將當前目錄的目錄元數據存入緩存中,并向負責父目錄的目標節點發送更新目錄元數據請求,目標節點接收請求并更新父目錄元數據信息;同時,指定節點將新創建目錄存入本地的布隆過濾器,并將布隆過濾器的更新項發送給目錄元數據服務器集群中的其它節點進行同步;指定節點向客戶端回復目錄創建消息,消息包含當前目錄的全局唯一標識符、文件權限、路徑權限和所在的目錄元數據服務器編號;
            4.2.5)客戶端將接收到的目錄創建消息加入本地緩存中并向用戶顯示操作結果,跳轉執行步驟3)。4.3 )執行查詢目錄元數據:
            4.3.1)客戶端首先在本地緩存中查找是否有待當前目錄的目錄元數據信息,如果有則直接返回結果給客戶端,跳轉執行步驟3);否則跳轉執行步驟4.3.2);
            4.3.2)客戶端隨機向目錄元數據服務器集群中隨機選擇一個指定節點發送目錄元數據查詢請求;
            4.3.3)指定節點通過本節點以及其它節點共享的布隆過濾器查找負責當前目錄的目標節點,如果指定節點并非目標節點,則指定節點將目錄元數據查詢請求轉發給目標節點,否則指定節點即為目標節點;
            4.3.4)目標節點首先在內存中查找待查詢目錄的目錄元數據信息,如果在內存中查找失敗,則根據當前目錄的完整路徑名哈希獲取對象存儲服務器中存儲的目錄元數據信息,如果查詢目錄元數據請求為目錄列表請求命令,則還通過目錄層次結構指針獲取當前目錄所包含的子目錄和文件信息數據,最終將獲得的操作結果發送給客戶端;
            4.3.5)客戶端接收目標節點發送的操作結果,將目錄元數據信息加入到緩存中,將目錄操作請求的操作結果返回給用戶端,跳轉執行步驟3)。4.4)執行更新目錄權限:
            4.4.1)客戶端首先在本地緩存中查找目錄元數據服務器集群中負責當前目錄的目標節點,如果查找成功,則向目標節點發送更新目錄權限請求,跳轉執行步驟4.4.3),否則向目錄元數據服務器集群中隨機選擇一個指定節點發送更新目錄權限請求,跳轉執行步驟4.4.2);
            4.4.2)指定節點通過本節點以及其它節點共享的布隆過濾器查找負責當前目錄的目標節點,如果指定節點并非目標節點,則指定節點將更新目錄權限請求轉發給目標節點,否則指定節點即為目標節點; 4.4.3)目標節點修改當前目錄的文件權限和路徑權限,找出當前目錄所包含的子目錄,通過本節點以及其它節點共享的布隆過濾器查找負責待更新目錄下各個子目錄的關聯節點,并向關聯節點分別發送更新目錄路徑權限請求;
            4.4.4)關聯節點通過本節點以及其它節點共享的布隆過濾器查找負責待更新目錄下各個子目錄的下一級關聯節點,并向下一級關聯節點分別發送更新目錄路徑權限請求,接收到更新目錄請求的關聯節點分別執行更新目錄的路徑權限,將操作結果返回給所述目標節點;重復執行上述遞歸過程,直到待更新目錄下所有子目錄的路徑權限都更新成功;可見,更新目錄權限信息是一個遞歸的過程,更改一個父目錄的權限信息,其所有子目錄都要修改相應的路徑權限,父目錄在名字空間中的層次越高,整個操作的代價將越大,所以應盡可能的減少更改高層目錄的權限信息;
            4.4.5)目標節點接收到各級關聯節點發送來的子目錄的路徑權限更新結果,并將操作結果返回給用戶端;
            4.4.6)客戶端接收到目標節點發送的操作結果并返回給用戶,跳轉執行步驟3)。4.5)執行重命名目錄:
            4.5.1)客戶端首先在本地緩存中查找目錄元數據服務器集群中負責當前目錄的目標節點,如果查找成功,則向目標節點發送重命名目錄請求,進入步驟4.5.3),否則隨機向目錄元數據服務器集群中隨機選擇一個指定節點發送重命名目錄請求,跳轉執行步驟4.5.2);
            4.5.2)指定節點通過本節點以及其它節點共享的布隆過濾器查找負責當前目錄的目標節點,如果指定節點并非目標節點,則指定節點將重命名目錄請求轉發給目標節點,否則指定節點即為目標節點;
            4.5.3)目標節點執行重命名目錄,通過本節點以及其它節點共享的布隆過濾器查找負責當前下各個子目錄的關聯節點,并向關聯節點分別發送重命名目錄請求;
            4.5.4)關聯節點通過本節點以及其它節點共享的布隆過濾器遞歸查找負責當前目錄下各個子目錄的下一級關聯節點,并向下一級關聯節點分別發送重命名目錄請求,接收到重命名目錄請求的關聯節點分別執行重命名目錄;重復執行上述遞歸過程,直到待重命名目錄下所有子目錄都重命名成功后,將操作結果返回給目標節點;
            4.5.5)目標節點接收到各級關聯節點發送來的子目錄的重命名目錄結果,并將操作結果返回給用戶端;
            4.5.6)客戶端接收到目標節點發送的操作結果并將操作結果返回給用戶,跳轉執行步驟3)。參見前述步驟4.5.1) 4.5.6),在進行目錄重命名時,本實施例只需要對所有目錄路徑名包含該目錄的目錄進行重命名操作,而無需移動相關的目錄元數據和文件元數據,最大程度的降低了重命名目錄的開銷。4.6)執行刪除目錄:
            4.6.1)客戶端首先在本地緩存中查找目錄元數據服務器集群中負責待刪除目錄的目標節點,如果查找成功,則向目標節點發送刪除目錄請求,進入步驟4.6.3),否則隨機向目錄元數據服務器集群中隨機選擇一個指定節點DMDSl發送刪除目錄請求,跳轉執行步驟4.6.2); 4.6.2)指定節點DMDSl通過本節點以及其它節點共享的基于計數的布隆過濾器查找負責待刪除目錄的目標節點(目標節點對應目錄的BFA的k個位置的整數都大于O,則目錄由目標節點負責),如果指定節點DMDSl并非目標節點,則指定節點DMDSl將刪除目錄請求轉發給目標節點,否則指定節點即為目標節點;本實施例中,目標節點為DMDS2,指定節點DMDSl將刪除目錄請求轉發給目標節點DMDS2 ;
            4.6.3)目標節點DMDS2執行刪除目錄,通過本節點以及其它節點共享的基于計數的布隆過濾器查找負責待刪除目錄下各個子目錄的關聯節點,并向關聯節點分別發送刪除目錄請求;
            4.6.4)關聯節點通過本節點以及其它節點共享的基于計數的布隆過濾器遞歸查找負責待刪除目錄下各個子目錄的下一級關聯節點,并向下一級關聯節點分別發送刪除目錄請求,接收到刪除目錄請求的關聯節點執行刪除目錄;重復執行上述遞歸過程,直到待刪除目錄下所有子目錄都刪除成功后,將操作結果返回給目標節點DMDS2 ;最后目標節點DMDS2將執行結果返回給用戶端;
            4.6.5)客戶端接收到目標節點DMDS2發送的操作結果并返回給用戶,跳轉執行步驟3)。本實施例在上述執行重命名目錄時,所有對于元數據的修改都將被提交到更新日志,由更新日志定期將元數據持久化存儲到底層OST上。在進行目錄重命名時,本發明只需要對所有目錄路徑名包含該目錄的目錄進行重命名操作,而無需移動相關的目錄元數據和文件元數據,最大程度的降低了重命名目錄的開銷。本實施例中,目錄元數據服務器對目錄元數據的修改均通過更新日志定時進行,其詳細步驟如下:首先目錄元數據服務器在需要修改目錄元數據時將對目錄元數據的修改生成更新日志并緩存,然后目錄元數據服務器定時檢查本地緩存的更新日志,然后根據更新日志哈希目標目錄的完整路徑,根據哈希值與對象存儲服務器的映射關系表定位負責目標目錄的對象存儲服務器,并將對目錄元數據的修改提交給負責目標目錄的對象存儲服務器執行對目錄元數據的修改;通過上述步驟,使得DMDS所有對于目錄元數據的修改(包括創建、更新、重命名、刪除)都將被提交到更新日志,由更新日志定期將元數據持久化存儲到底層OST上。本實施例中,客戶端收到目錄元數據信息后會立即緩存目錄的元數據信息,以便在下次訪問相同目錄的時候先從緩存中查找目錄元數據信息,若命中,則不需要再次訪問DMDS0根據局部性原理,用戶接著訪問同一目錄下文件的概率很高,所以訪問DMDS的開銷被平攤,極大的提高了元數據的訪問效率。當客戶端檢查到Cache中緩存項超過了有效期,將主動把相關的目錄元數據信息從緩存中移除。本實施例中,步驟5)的詳細步驟如下:
            5.1)客戶端判斷文件操作請求類型,當文件操作請求為創建文件時跳轉執行步驟5.2),當文件操作請求為查詢文件元數據時跳轉執行步驟5.3),當文件操作請求為更新文件元數據時跳轉執行步驟5.4),當文件操作請求為重命名文件時跳轉執行步驟5.5),當文件操作請求為刪除文件時跳轉執行步驟5.6)。5.2)執行創建文件:
            5.2.1)客戶端首先在本地緩存中查找當前文件父目錄的目錄元數據信息,若找到父目錄的目錄元數據信息,則查詢父目錄權限信息判斷客戶端是否具有創建文件權限,如果客戶端沒有創建文件權限,則返回消息給用戶并跳轉執行步驟3);如果客戶端有創建文件權限則跳轉執行步驟5.2.3);若客戶端沒有找到父目錄的目錄元數據信息,則跳轉執行
            4.3)查詢當前文件父目錄的目錄元數據,收到父目錄的目錄元數據信息后返回執行步驟
            5.2.2);參見圖7所示,本實施例中客戶端沒有找到父目錄的目錄元數據信息,首先請求目錄元數據服務器I (DMDSl)父目錄的目錄元數據信息,DMDSl仍未查找到并轉發查找請求給負責父目錄的目錄元數據服務器2 (DMDS2);
            5.2.2)客戶端客戶緩存的目錄創建消息中的路徑權限信息判斷當前文件父目錄是否允許客戶端創建文件,如果不允許客戶端創建文件,則返回消息給用戶并跳轉執行步驟3);否則跳轉步驟5.2.3);
            5.2.3)根據當前文件的文件名進行哈希,根據哈希值找到在文件元數據服務器集群中所映射的指定節點,發送文件創建請求到所述指定節點,發送的信息包含當前文件完整路徑名、父目錄全局唯一標識符和父目錄所在的目錄元數據服務器編號;
            5.2.4)指定節點根據文件創建請求生成當前文件的元數據,根據父目錄全局唯一標識符和文件名將當前文件的元數據提交到對象存儲服務器進行存儲;
            5.2.5)指定節點將當前文件的元數據存入緩存中,然后將文件創建成功消息發送到負責當前文件父目錄的目錄元數據服務器,目錄元數據服務器將當前文件父目錄的目錄元數據信息更新至指定的對象存儲服務器;
            5.2.6)指定節點將創建新文件成功的消息發給客戶端;
            5.2.7)客戶端接收到文件創建成功消息,向用戶提示文件創建成功,跳轉執行步驟3)。5.3 )執行查詢文件元數據:
            5.3.1)客戶端跳轉執行步驟4.3)獲取當前文件父目錄的元數據信息,收到待查詢文件父目錄的元數據信息后返回執行步驟5.3.2);
            5.3.2)客戶端將當前文件的文件名進行哈希,在文件元數據服務器集群中根據待查詢文件的哈希值找到負責當前文件的目標節點;
            5.3.3)客戶端向目標節點發送查詢文件元數據請求,查詢文件元數據請求信息包括父目錄全局唯一標識符、待查詢文件的文件名和文件完整路徑;
            5.3.4)目標節點收到客戶端的查詢文件元數據請求,首先在內存中查找當前文件的文件元數據,如果查找成功則直接跳轉執行步驟5.3.5);如果查找失敗則使用父目錄全局唯一標識符和待查詢文件的文件名,在對象存儲服務器集群中定位存儲文件元數據的對象存儲服務器,然后從對象存儲服務器中讀取當前文件的文件元數據;
            5.3.5)目標節點向客戶端發送待查詢文件的文件元數據;
            5.3.6)客戶端收到目標節點發送的文件元數據,返回給用戶并跳轉執行步驟3)。5.4)執行更新文件元數據:
            5.4.1)客戶端跳轉執行步驟4.3)獲取當前文件父目錄的元數據信息,收到當前文件父目錄的元數據信息后返回執行步驟5.4.2);
            5.4.2)客戶端將當前文件的文件名進行哈希,在文件元數據服務器集群中根據待更新文件的哈希值找到負責待更新文件的目標節點;
            5.4.3)客戶端向目標節點發送更新文件元數據請求,查詢文件元數據請求信息包括父目錄全局唯一標識符和新的文件元數據;
            5.4.4)目標節點收到客戶端的更新文件元數據請求,首先在內存中查找當前文件的文件元數據,如果查找失敗則使用父目錄全局唯一標識符和待更新文件的文件名,在對象存儲服務器集群中定位存儲文件元數據的對象存儲服務器,然后從對象存儲服務器中讀取文件元數據;獲取更新文件元數據以后,檢查客戶端是否修改權限,如果沒有修改權限則向客戶端返回沒有權限的更新失敗消息,跳轉執行步驟3);如果有修改權限則更新文件元數據并向客戶端發送更新成功消息;
            5.4.5)客戶端收到目標節點的發送的消息后返回給用戶,跳轉執行步驟3)。5.5 )執行重命名文件:
            5.5.1)客戶端跳轉執行步驟4.3)獲取當前文件父目錄的元數據信息,收到待重命名文件父目錄的元數據信息后返回執行步驟5.5.2);
            5.5.2)根據當前文件父目錄的元數據信息判斷父目錄下是否有待重命名文件新名稱相同的文件,如果在父目錄下找到相同文件名的文件,則返回存在相同文件名消息給客戶端,跳轉執行步驟3);否則,將待重命名文件的新文件名進行哈希,在文件元數據服務器集群中根據當前文件的哈希值找到負責當前文件的目標節點;
            5.5.3)客戶端向所述目標節點發送重命名文件請求,所述查詢文件元數據請求信息包括父目錄全局唯一標識符、舊文件名、新文件名和父目錄所在目錄元數據服務器編號;
            5.5.4)目標節點接收客戶端發送的重命名文件請求,首先在內存中查找當前文件的文件元數據,如果查找失敗則使用父目錄全局唯一標識符和當前文件的文件名,在對象存儲服務器集群中定位存儲文件元數據的對象存儲服務器,然后從對象存儲服務器中讀取文件元數據;獲取當前文件的元數據以后,檢查客戶端是否有修改權限,如果沒有修改權限則向客戶端返回沒有權限的重命名失敗消息,跳轉執行步驟3);如果有修改權限,則更新文件元數據,通過新文件名哈希在文件元數據服務器集群中找到負責新文件名的新目標節點,將文件重命名信息和新文件元數據發送給新目標節點,新目標節點接收并緩存文件重命名信息和新文件元數據,然后將文件重命名信息和新文件元數據提交到存儲到指定的對象存儲服務器;同時目標節點向負責父目錄的目錄元數據服務器發送文件重命名請求,負責父目錄的目錄元數據服務器收到文件重命名請求,根據文件重命名請求更新父目錄元數據中對應當前文件的文件名;最后向客戶端發送重命名文件成功消息;
            5.5.5)客戶端收到目標節點發送的消息并返回給用戶,跳轉執行步驟3)。5.6)執行刪除文件:
            5.6.1)客戶端跳轉執行步驟4.3)獲取當前文件父目錄的元數據信息,收到當前文件父目錄的元數據信息后返回執行步驟5.6.2);
            5.6.2)將當前文件的文件名進行哈希,在文件元數據服務器集群中根據當前文件的哈希值找到負責待刪除文件的目標節點;
            5.6.3)客戶端向目標節點發送刪除文件請求,刪除文件請求包含父目錄全局唯一標識符、待刪除文件名和負責父目錄的目錄元數據服務器編號;
            5.6.4)目標節點接收刪除文件請求,首先在內存中查找當前文件的文件元數據,如果查找失敗則使用父目錄全局唯一標識符和當前文件的文件名,在對象存儲服務器集群中定位存儲文件元數據的對象存儲服務器,然后從對象存儲服務器中讀取當前文件的文件元數據;最后獲取當前文件的文件元數據以后,檢查客戶端是否刪除權限,如果沒有刪除權限,則向客戶端返回沒有權限的刪除失敗消息,跳轉執行步驟3);如果有刪除權限,則刪除當前文件的元數據,并向父目錄所在的目錄元數據服務器發送刪除文件請求,父目錄所在的目錄元數據服務器收到刪除文件請求,刪除父目錄元數據信息中的該文件的信息;最后向客戶端發送刪除文件成功消息;
            5.6.5)客戶端收到目標節點發送的消息并返回給用戶,跳轉執行步驟3)。本實施例中,文件元數據服務器對文件元數據的修改均通過更新日志進行,其詳細步驟如下:首先文件元數據服務器在需要修改文件元數據時將對文件元數據的修改生成更新日志并緩存,然后文件元數據服務器定時檢查本地緩存的更新日志,然后根據更新日志哈希目標文件父目錄的全局唯一標識符和目標文件的文件名,根據哈希值與對象存儲服務器的映射關系表定位負責當前文件的對象存儲服務器,并將對文件元數據的修改提交給負責目標文件的對象存儲服務器執行對文件元數據的修改。通過上述步驟,使得FMDS所有對于文件元數據的修改(包括創建、更新、重命名、刪除)都將被提交到更新日志,由更新日志定期將元數據持久化存儲到底層OST上。以上所述僅是本發明的優選實施方式,本發明的保護范圍并不僅局限于上述實施例,凡屬于本發明思路下的技術方案均屬于本發明的保護范圍。應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理前提下的若干改進和潤飾,這些改進和潤飾也應視為本發明的保護范圍。
            權利要求
            1.一種面向高性能計算的分布式文件系統元數據管理方法,其特征在于實施步驟如下: I)建立用于管理目錄元數據的目錄元數據服務器集群、用于管理文件元數據的文件元數據服務器集群,建立用于為目錄元數據服務器集群和文件元數據服務器集群提供對象接口數據存儲服務的對象存儲服務器集群; 2 )在所有目錄元數據服務器集群中建立布隆過濾器,所述目錄元數據服務器集群中的目錄元數據服務器之間共享布隆過濾器; 3)在客戶端的操作請求到來時,若操作請求為目錄操作請求時跳轉執行步驟4);若操作請求為文件操作請求時跳轉執行步驟5); 4)所述目錄元數據服務器集群響應客戶端的目錄操作請求對目錄元數據進行管理,為每個目錄分配一個全局唯一標識符,根據布隆過濾器數組記錄來判斷負責目錄請求的目錄元數據服務器,并根據目錄的完整路徑名哈希訪問對象存儲服務器中存儲的目錄元數據; 5)所述文件元數據服務器集群響應客戶端的文件操作請求對文件元數據進行管理,根據請求文件的文件名哈希來判斷負責文件元數據的文件元數據服務器,并根據請求文件的父目錄全局唯一標識符和文件名的哈希訪問對象存儲服務器中存儲的文件元數據。
            2.根據權利要求1所述的面向高性能計算的分布式文件系統元數據管理方法,其特征在于,所述步驟I)建立的對象存儲服務器集群中存儲的目錄元數據結構為:DirId、DirName、ACLf、ACLp> AtFMDS和InodePointer, DirId代表目錄在被創建時生成的全局唯一標識符,DirId的生存周期和目錄本身一樣;DirName代表目錄的完整路徑名;ACLf代表在創建目錄時給目錄賦予的文件權限;ACLp代表目錄的路徑權限,ACLp由目錄自身的文件權限ACLf與父目錄的路徑權限ACLp相與操作得到;AtFMDS代表目錄下文件存放的型別標識,用于判斷目錄下所有 文件的文件元數據在文件元數據服務器集群中的分布類型;InodePointer代表目錄層次結構指針,用于指向目錄包含的文件和子目錄構成的樹形結構,所述目錄包含的文件和子目錄構成的B樹通過目錄的全局唯一標識符進行索引;所述步驟I)建立的對象存儲服務器集群中存儲的文件元數據結構包括Dirid、FileName和FileMeta,其中DirId代表文件所在目錄的全局唯一標識符,FileName代表文件的文件名,FileMeta代表包括文件長度、讀寫權限、修改時間和文件數據的布局信息在內的文件具體元數據信息。
            3.根據權利要求1或2所述的面向高性能計算的分布式文件系統元數據管理方法,其特征在于,所述步驟2)建立的布隆過濾器為基于計數的布隆過濾器,所述基于計數的布隆過濾器使用一個m比特的整數數組來保存信息,使用k個獨立的哈希函數將集合中的每一個目錄元素映射到{1,...,ηι}的范圍中,初始化時{1,...,ηι}中的每一位整數都設置為O,每個哈希函數對應一個大小為m/k位的位數組,所述k個位數組構成基于計數的布隆過濾器的布隆過濾器位數組;當目錄元數據服務器添加一個目錄時,所述目錄元數據服務器通過多個哈希函數對添加目錄的完整路徑進行哈希運算得到k個哈希值,將所述k個哈希值在整數數組中對應k個整數位置的整數值分別加I ;當目錄元數據服務器刪除一個目錄時,所述目錄元數據服務器通過多個哈希函數對刪除目錄進行哈希運算得到k個哈希值,將所述k個哈希值在整數數組中對應k個整數位置的整數值分別減I ;當判定目錄元數據服務器是否為負責指定目錄的節點時,通過多個哈希函數對指定目錄進行哈希運算得到的k個哈希值,判斷所述目錄元數據服務器的整數數組中對應k個整數位置的整數值是否都大于O,如果都大于O則判定該目錄元數據服務器為負責指定目錄的節點。
            4.根據權利要求3所述的面向高性能計算的分布式文件系統元數據管理方法,其特征在于,所述步驟4)的詳細步驟如下: 4.1)客戶端判斷目錄操作請求類型,當目錄操作請求為創建目錄時跳轉執行步驟4.2),當目錄操作請求為查詢目錄元數據時跳轉執行步驟4.3),當目錄操作請求為更新目錄權限時跳轉執行步驟4.4),當目錄操作請求為重命名目錄時跳轉執行步驟4.5),當目錄操作請求為刪除目錄時跳轉執行步驟4.6); 4.2)執行創建目錄: 4.2.1)客戶端從緩存中查找當前目錄的父目錄元數據,如果找到則查詢客戶端是否具有在父目錄下創建目錄的權限,如果沒有權限則返回用戶沒有權限在父目錄下創建目錄的錯誤提示并返回執行步驟3);如果有權限創建或者在緩存中沒有找到父目錄元數據信息,從目錄元數據服務器集群中隨機選擇一個指定節點發送創建目錄請求; 4.2.2)所述指定節點接收到創建目錄請求,首先通過本節點以及其它節點共享的布隆過濾器查找負責當前目錄的父目錄的目標節點,如果本節點不是目標節點,則向目標節點請求父目錄路徑權限,目標節點查詢父目錄路徑權限并返回給所述指定節點;否則本節點直接查詢獲取父目錄路徑權限; 4.2.3)所述指定節點將父目錄路徑權限緩存,判斷所述父目錄路徑權限是否允許客戶端創建目錄,如果不允許則返回出錯信息給客戶端并跳轉執行步驟3);如果允許則指定節點創建目錄,為新建目錄生成一個全局唯一標識符,將目錄操作請求中的指定的文件權限和父目錄路徑權限進行相與操作得到新建目錄的路徑權限,根據全局唯一標識符、目錄操作請求中的攜帶的完整路徑和文件權限、新建目錄的路徑權限生成目錄元數據,并將目錄元數據根據當前目錄的完整路徑哈希將當前目錄的目錄元數據提交到對象存儲服務器進行存儲; 4.2.4)所述指定節點將當前目錄的目錄元數據存入緩存中,并向負責父目錄的目標節點發送更新目錄元數據請求,所述目標節點接收請求并更新父目錄元數據信息;同時,所述指定節點將新創建目錄存入本地的布隆過濾器,并將布隆過濾器的更新項發送給目錄元數據服務器集群中的其它節點進行同步;所述指定節點向客戶端回復目錄創建消息,所述消息包含當前目錄的全局唯一標識符、文件權限、路徑權限和所在的目錄元數據服務器編號; 4.2.5)客戶端將接收到的目錄創建消息加入本地緩存中并向用戶顯示操作結果,跳轉執行步驟3); 4.3)執行查詢目錄元數據: 4.3.1)客戶端首先在本地緩存中查找是否有待當前目錄的目錄元數據信息,如果有則直接返回結果給客戶端,跳轉執行步驟3);否則跳轉執行步驟4.3.2); 4.3.2)客戶端隨機向目錄元數據服務器集群中隨機選擇一個指定節點發送目錄元數據查詢請求; 4.3.3)所述指定節點通過本節點以及其它節點共享的布隆過濾器查找負責當前目錄的目標節點,如果指定節點并非目標節點,則所述指定節點將目錄元數據查詢請求轉發給目標節點,否則所述指定節點即為目標節點; · 4.3.4)所述目標節點首先在內存中查找待查詢目錄的目錄元數據信息,如果在內存中查找失敗,則根據當前目錄的完整路徑名哈希獲取對象存儲服務器中存儲的目錄元數據信息,如果查詢目錄元數據請求為目錄列表請求命令,則還通過目錄層次結構指針獲取當前目錄所包含的子目錄和文件信息數據,最終將獲得的操作結果發送給客戶端; · 4.3.5)客戶端接收所述目標節點發送的操作結果,將目錄元數據信息加入到緩存中,將目錄操作請求的操作結果返回給用戶端,跳轉執行步驟3); · 4.4)執行更新目錄權限:· · 4.4.1)客戶端首先在本地緩存中查找目錄元數據服務器集群中負責當前目錄的目標節點,如果查找成功,則向目標節點發送更新目錄權限請求,跳轉執行步驟4.4.3),否則向目錄元數據服務器集群中隨機選擇一個指定節點發送更新目錄權限請求,跳轉執行步驟·4.4.2); ·4.4.2)所述指定節點通過本節點以及其它節點共享的布隆過濾器查找負責當前目錄的目標節點,如果所述指定節點并非目標節點,則所述指定節點將更新目錄權限請求轉發給目標節點,否則所述指定節點即為目標節點; ·4.4.3)所述目標節點修改當前目錄的文件權限和路徑權限,找出當前目錄所包含的子目錄,通過本節點以及其它節點共享的布隆過濾器查找負責待更新目錄下各個子目錄的關聯節點,并向所述關聯節點分別發送更新目錄路徑權限請求; ·4.4.4)所述關聯節點通過本節點以及其它節點共享的布隆過濾器查找負責待更新目錄下各個子目錄的下一級關聯節點,并向所述下一級關聯節點分別發送更新目錄路徑權限請求,接收到更新目錄請求的關聯節點分別執行更新目錄的路徑權限,將操作結果返回給所述目標節點;重復執行上述遞歸過程,直到待更新目錄下所有子目錄的路徑權限都更新成功; · 4.4.5)所述目標節點接收到各級關聯節點發送來的子目錄的路徑權限更新結果,并將操作結果返回給用戶端; ·4.4.6)客戶端接收到所述目標節點發送的操作結果并返回給用戶,跳轉執行步驟3); ·4.5)執行重命名目錄: ·4.5.1)客戶端首先在本地緩存中查找目錄元數據服務器集群中負責當前目錄的目標節點,如果查找成功,則向目標節點發送重命名目錄請求,進入步驟4.5.3),否則隨機向目錄元數據服務器集群中隨機選擇一個指定節點發送重命名目錄請求,跳轉執行步驟·4.5.2); · 4.5.2)所述指定節點通過本節點以及其它節點共享的布隆過濾器查找負責當前目錄的目標節點,如果所述指定節點并非目標節點,則所述指定節點將重命名目錄請求轉發給目標節點,否則所述指定節點即為目標節點; ·4.5.3)所述目標節點執行重命名目錄,通過本節點以及其它節點共享的布隆過濾器查找負責當前下各個子目錄的關聯節點,并向所述關聯節點分別發送重命名目錄請求; ·4.5.4)所述關聯節點通過本節點以及其它節點共享的布隆過濾器遞歸查找負責當前目錄下各個子目錄的下一級關聯節點,并向所述下一級關聯節點分別發送重命名目錄請求,接收到重命名目錄請求的關聯節點分別執行重命名目錄;重復執行上述遞歸過程,直到待重命名目錄下所有子目錄都重命名成功后,將操作結果返回給所述目標節點; .4.5.5)所述目標節點接收到各級關聯節點發送來的子目錄的重命名目錄結果,并將操作結果返回給用戶端; .4.5.6)客戶端接收到所述目標節點發送的操作結果并將操作結果返回給用戶,跳轉執行步驟3); .4.6)執行刪除目錄: .4.6.1)客戶端首先在本地緩存中查找目錄元數據服務器集群中負責待刪除目錄的目標節點,如果查找成功,則向目標節點發送刪除目錄請求,進入步驟4.6.3),否則隨機向目錄元數據服務器集群中隨機選擇一個指定節點發送刪除目錄請求,跳轉執行步驟4.6.2); .4.6.2)所述指定節點通過本節點以及其它節點共享的基于計數的布隆過濾器查找負責待刪除目錄的目標節點,如果所述指定節點并非目標節點,則所述指定節點將刪除目錄請求轉發給目標節點,否則所述指定節點即為目標節點; .4.6.3)所述目標節點執行刪除目錄,通過本節點以及其它節點共享的布隆過濾器查找負責當前目錄下各個子目錄的關聯節點,并向所述關聯節點分別發送刪除目錄請求; .4.6.4)所述關聯節點通過本節點以及其它節點共享的布隆過濾器遞歸查找負責待刪除目錄下各個子目錄的下一級關聯節點,并向所述下一級關聯節點分別發送刪除目錄請求,接收到刪除目錄請求的關聯節點執行刪除目錄,將操作結果返回給所述目標節點;重復執行上述遞歸過程,直到當前目錄下所有子目錄都刪除成功;最后,所述目標節點將執行結果返回給用戶端; .4.6.5)客戶端接收到所述目標節點發送的操作結果并返回給用戶,跳轉執行步驟3)。
            5.根據權利要求4所述的面向高性能計算的分布式文件系統元數據管理方法,其特征在于,所述步驟5)的詳細步驟如下: 5.1)客戶端判斷文件操作請求類型,當文件操作請求為創建文件時跳轉執行步驟5.2),當文件操作請求為查詢文件元數據時跳轉執行步驟5.3),當文件操作請求為更新文件元數據時跳轉執行步驟5.4),當文件操作請求為重命名文件時跳轉執行步驟5.5),當文件操作請求為刪除文件時跳轉執行步驟5.6); 5.2)執行創建文件: 5.2.1)客戶端首先在本地緩存中查找當前文件父目錄的目錄元數據信息,若找到父目錄的目錄元數據信息,則查詢父目錄權限信息判斷客戶端是否具有創建文件權限,如果客戶端沒有創建文件權限,則返回消息給用戶并跳轉執行步驟3);如果客戶端有創建文件權限則跳轉執行步驟5.2.3);若客戶端沒有找到父目錄的目錄元數據信息,則跳轉執行.4.3)查詢當前文件父目錄的目錄元數據,收到父目錄的目錄元數據信息后返回執行步驟.5.2.2); .5.2.2)客戶端客戶緩存的目錄創建消息中的路徑權限信息判斷當前文件父目錄是否允許客戶端創建文件,如果不允許客戶端創建文件,則返回消息給用戶并跳轉執行步驟3);否則跳轉步驟5.2.3); .5.2.3)根據當前文件的文件名進行哈希,根據哈希值找到在文件元數據服務器集群中所映射的指定節點,發送文件創建請求到所述指定節點,發送的信息包含當前文件完整路徑名、父目錄全局唯一標識符和父目錄所在的目錄元數據服務器編號;`5.2.4)所述指定節點根據文件創建請求生成當前文件的元數據,根據父目錄全局唯一標識符和文件名將當前文件的元數據提交到對象存儲服務器進行存儲; ` 5.2.5)所述指定節點將當前文件的元數據存入緩存中,然后將文件創建成功消息發送到負責當前文件父目錄的目錄元數據服務器,所述目錄元數據服務器將當前文件父目錄的目錄元數據信息更新至指定的對象存儲服務器; `5.2.6)所述指定節點將創建新文件成功的消息發給客戶端; `5.2.7)客戶端接收到文件創建成功消息,向用戶提示文件創建成功,跳轉執行步驟3); `5.3)執行查詢文件元數據: `5.3.1)客戶端跳轉執行步驟4.3)獲取當前文件父目錄的元數據信息,收到待查詢文件父目錄的元數據信息后返回執行步驟5.3.2); ` 5.3.2)客戶端將當前文件的文件名進行哈希,在文件元數據服務器集群中根據待查詢文件的哈希值找到負責當前文件的目標節點;` 5.3.3)客戶端向所述目標節點發送查詢文件元數據請求,所述查詢文件元數據請求信息包括父目錄全局唯一標識符、待查詢文件的文件名和文件完整路徑; ` 5.3.4)所述目標節點收到客戶端的查詢文件元數據請求,首先在內存中查找當前文件的文件元數據,如果查找成功則直接跳轉執行步驟5.3.5);如果查找失敗則使用父目錄全局唯一標識符和待查詢文件的文件名,在對象存儲服務器集群中定位存儲所述文件元數據的對象存儲服務器,然后從所述對象存儲服務器中讀取當前文件的文件元數據; `5.3.5)所述目標節點向客戶端發送待查詢文件的文件元數據; `5.3.6)客戶端收到目標節點發送的文件元數據,返回給用戶并跳轉執行步驟3); `5.4)執行更新文件元數據: ` 5.4.1)客戶端跳轉執行步驟4.3)獲取當前文件父目錄的元數據信息,收到當前文件父目錄的元數據信息后返回執行步驟5.4.2); `5.4.2)客戶端將當前文件的文件名進行哈希,在文件元數據服務器集群中根據待更新文件的哈希值找到負責待更新文件的目標節點; `5.4.3)客戶端向所述目標節點發送更新文件元數據請求,所述查詢文件元數據請求信息包括父目錄全局唯一標識符和新的文件元數據; `5.4.4)所述目標節點收到客戶端的更新文件元數據請求,首先在內存中查找當前文件的文件元數據,如果查找失敗則使用父目錄全局唯一標識符和待更新文件的文件名,在對象存儲服務器集群中定位存儲所述文件元數據的對象存儲服務器,然后從所述對象存儲服務器中讀取文件元數據;獲取更新文件元數據以后,檢查客戶端是否修改權限,如果沒有修改權限則向客戶端返回沒有權限的更新失敗消息,跳轉執行步驟3);如果有修改權限則更新文件元數據并向客戶端發送更新成功消息; ` 5.4.5)客戶端收到目標節點的發送的消息后返回給用戶,跳轉執行步驟3); `5.5)執行重命名文件: ` 5.5.1)客戶端跳轉執行步驟4.3)獲取當前文件父目錄的元數據信息,收到待重命名文件父目錄的元數據信息后返回執行步驟5.5.2); ` 5.5.2)根據當前文件父目錄的元數據信息判斷父目錄下是否有待重命名文件新名稱相同的文件,如果在父目錄下找到相同文件名的文件,則返回存在相同文件名消息給客戶端,跳轉執行步驟3);否則,將待重命名文件的新文件名進行哈希,在文件元數據服務器集群中根據當前文件的哈希值找到負責當前文件的目標節點; .5.5.3)客戶端向所述目標節點發送重命名文件請求,所述查詢文件元數據請求信息包括父目錄全局唯一標識符、舊文件名、新文件名和父目錄所在目錄元數據服務器編號; .5.5.4)所述目標節點接收客戶端發送的重命名文件請求,首先在內存中查找當前文件的文件元數據,如果查找失敗則使用父目錄全局唯一標識符和當前文件的文件名,在對象存儲服務器集群中定位存儲所述文件元數據的對象存儲服務器,然后從所述對象存儲服務器中讀取文件元數據;獲取當前文件的元數據以后,檢查客戶端是否有修改權限,如果沒有修改權限則向客戶端返回沒有權限的重命名失敗消息,跳轉執行步驟3);如果有修改權限,則更新文件元數據,通過新文件名哈希在文件元數據服務器集群中找到負責新文件名的新目標節點,將文件重命名信息和新文件元數據發送給所述新目標節點,所述新目標節點接收并緩存文件重命名信息和新文件元數據,然后將文件重命名信息和新文件元數據提交到存儲到指定的對象存儲服務器;同時所述目標節點向負責父目錄的目錄元數據服務器發送文件重命名請求,負責父目錄的目錄元數據服務器收到文件重命名請求,根據文件重命名請求更新父目錄元數據中對應當前文件的文件名;最后向客戶端發送重命名文件成功消息; .5.5.5)客戶端收到目標節點發送的消息并返回給用戶,跳轉執行步驟3); .5.6)執行刪除文件: .5.6.1)客戶端跳轉執行步驟4.3)獲取當前文件父目錄的元數據信息,收到當前文件父目錄的元數據信息后返回執行步驟5.6.2); .5.6.2)將當前文件的文件名進行哈希,在文件元數據服務器集群中根據當前文件的哈希值找到負責待刪除文件的目標節點; .5.6.3)客戶端向所述目標節點發送刪除文件請求,所述刪除文件請求包含父目錄全局唯一標識符、待刪除文件名和負責父目錄的目錄元數據服務器編號; .5.6.4)所述目標節點接收刪除文件請求,首先在內存中查找當前文件的文件元數據,如果查找失敗則使用父目錄全局唯一標識符和當前文件的文件名,在對象存儲服務器集群中定位存儲所述文件元數據的對象存儲服務器,然后從所述對象存儲服務器中讀取當前文件的文件元數據;最后獲取當前文件的文件元數據以后,檢查客戶端是否刪除權限,如果沒有刪除權限,則向客戶端返回沒有權限的刪除失敗消息,跳轉執行步驟3);如果有刪除權限,則刪除當前文件的元數據,并向父目錄所在的目錄元數據服務器發送刪除文件請求,父目錄所在的目錄元數據服務器收到刪除文件請求,刪除父目錄元數據信息中的該文件的信息;最后向客戶端發送刪除文件成功消息; .5.6.5)客戶端收到目標節點發送的消息并返回給用戶,跳轉執行步驟3)。
            6.根據權利要求5所述的面向高性能計算的分布式文件系統元數據管理方法,其特征在于,所述目錄元數據服務器對目錄元數據的修改均通過更新日志定時進行,其詳細步驟如下:首先目錄元數據服務器在需要修改目錄元數據時將對目錄元數據的修改生成更新日志并緩存,然后目錄元數據服務器定時檢查本地緩存的更新日志,然后根據更新日志哈希目標目錄的完整路徑,根據哈希值與對象存儲服務器的映射關系表定位負責目標目錄的對象存儲服務器,并將對目錄元數據的修改提交給負責目標目錄的對象存儲服務器執行對目錄元數據的修改。
            7.根據權利要求6所述的面向高性能計算的分布式文件系統元數據管理方法,其特征在于,所述文件元數據服務器對文件元數據的修改均通過更新日志進行,其詳細步驟如下:首先文件元數據服務器在需要修改文件元數據時將對文件元數據的修改生成更新日志并緩存,然后文件元數據服務器定時檢查本地緩存的更新日志,然后根據更新日志哈希目標文件父目錄的全局唯一標識符和目標文件的文件名,根據哈希值與對象存儲服務器的映射關系表定位負責當前文件的對象存儲服務器,并將對文件元數據的修改提交給負責目標文件的對象存儲服務 器執行對文件元數據的修改。
            全文摘要
            本發明公開了一種面向高性能計算的分布式文件系統元數據管理方法,方法步驟如下1)建立目錄元數據服務器集群、文件元數據服務器集群和對象存儲服務器集群;2)在目錄元數據服務器集群中建立全局的基于計數的布隆過濾器;3)在客戶端的操作請求到來時,跳轉執行步驟4)或步驟5);4)所述目錄元數據服務器集群響應客戶端的目錄操作請求對目錄元數據進行管理;5)所述文件元數據服務器集群響應客戶端的文件操作請求對文件元數據進行管理。本發明能夠有效解決目錄重命名帶來的元數據遷移問題,具有存儲性能高、維護開銷小、高負載無瓶頸、擴展性好、負載均衡的優點。
            文檔編號H04L29/08GK103150394SQ20131009681
            公開日2013年6月12日 申請日期2013年3月25日 優先權日2013年3月25日
            發明者盧宇彤, 王立新, 肖立權, 周恩強, 肖儂, 所光, 張偉, 董勇, 陳海濤 申請人:中國人民解放軍國防科學技術大學
            網友詢問留言 已有0條留言
            • 還沒有人留言評論。精彩留言會獲得點贊!
            1
            婷婷六月激情在线综合激情,亚洲国产大片,久久中文字幕综合婷婷,精品久久久久久中文字幕,亚洲一区二区三区高清不卡,99国产精品热久久久久久夜夜嗨 ,欧美日韩亚洲综合在线一区二区,99国产精品电影,伊人精品线视天天综合,精品伊人久久久大香线蕉欧美
            亚洲精品1区 国产成人一级 91精品国产欧美一区二区 亚洲精品乱码久久久久久下载 国产精品久久久久久久伊一 九色国产 国产精品九九视频 伊人久久成人爱综合网 欧美日韩亚洲区久久综合 欧美日本一道免费一区三区 夜夜爽一区二区三区精品 欧美日韩高清一区二区三区 国产成人av在线 国产精品对白交换绿帽视频 国产视频亚洲 国产在线欧美精品 国产精品综合网 国产日韩精品欧美一区色 国产日韩精品欧美一区喷 欧美日韩在线观看区一二 国产区精品 欧美视频日韩视频 中文字幕天天躁日日躁狠狠躁97 视频一二三区 欧美高清在线精品一区二区不卡 国产精品揄拍一区二区久久 99久久综合狠狠综合久久aⅴ 亚洲乱码视频在线观看 日韩在线第二页 亚洲精品无码专区在线播放 成人亚洲网站www在线观看 欧美三级一区二区 99久久精品免费看国产高清 91麻豆国产在线观看 最新日韩欧美不卡一二三区 成人在线观看不卡 日韩国产在线 在线亚洲精品 亚洲午夜久久久久中文字幕 国产精品成人久久久久久久 精品国产一区二区在线观看 欧美精品国产一区二区三区 中文在线播放 亚洲第一页在线视频 国产午夜精品福利久久 九色国产 精品国产九九 国产永久视频 久久精品人人做人人综合试看 国产一区二区三区免费观看 亚洲精品国产电影 9999热视频 国产精品资源在线 麻豆久久婷婷国产综合五月 国产精品免费一级在线观看 亚洲国产一区二区三区青草影视 中文在线播放 国产成人综合在线 国产在线观看色 国产亚洲三级 国产片一区二区三区 久久99精品久久久久久牛牛影视 亚洲欧美日韩国产 四虎永久免费网站 国产一毛片 国产精品视频在 九九热在线精品 99精品福利视频 色婷婷色99国产综合精品 97成人精品视频在线播放 精品久久久久久中文字幕 亚洲欧美一区二区三区孕妇 亚洲欧美成人网 日韩高清在线二区 国产尤物在线观看 在线不卡一区二区 91网站在线看 韩国精品福利一区二区 欧美日韩国产成人精品 99热精品久久 国产精品免费视频一区 高清视频一区 精品九九久久 欧美日韩在线观看免费 91欧美激情一区二区三区成人 99福利视频 亚洲国产精品91 久热国产在线 精品久久久久久中文字幕女 国产精品久久久久久久久99热 成人自拍视频网 国产精品视频久久久久久 久久影院国产 国产玖玖在线观看 99精品在线免费 亚洲欧美一区二区三区导航 久久久久久久综合 国产欧美日韩精品高清二区综合区 国产精品视频自拍 亚洲一级片免费 久久久久久九九 国产欧美自拍视频 视频一区二区在线观看 欧美日韩一区二区三区久久 中文在线亚洲 伊人热人久久中文字幕 日韩欧美亚洲国产一区二区三区 欧美亚洲国产成人高清在线 欧美日韩国产码高清综合人成 国产性大片免费播放网站 亚洲午夜综合网 91精品久久一区二区三区 国产无套在线播放 国产精品视频网站 国产成人亚洲精品老王 91在线网站 国产视频97 欧美黑人欧美精品刺激 国产一区二区三区免费在线视频 久久久国产精品免费看 99re6久精品国产首页 久久精品91 国产成人一级 国产成人精品曰本亚洲 日本福利在线观看 伊人成综合网 久久综合一本 国产综合久久久久久 久久精品成人免费看 久久福利 91精品国产91久久久久久麻豆 亚洲精品成人在线 亚洲伊人久久精品 欧美日本二区 国产永久视频 国产一区二 一区二区福利 国产一毛片 亚洲精品1区 毛片一区二区三区 伊人久久大香线蕉综合影 国产欧美在线观看一区 亚洲国产欧洲综合997久久 国产一区二区免费视频 国产91精品对白露脸全集观看 久久亚洲国产伦理 欧美成人伊人久久综合网 亚洲性久久久影院 久久99国产精一区二区三区! 91精品国产欧美一区二区 欧美日韩亚洲区久久综合 日韩精品一二三区 久久久夜色精品国产噜噜 国产在线精品福利91香蕉 久久久久久久亚洲精品 97se色综合一区二区二区 91国语精品自产拍在线观看性色 91久久国产综合精品女同我 日韩中文字幕a 国产成人亚洲日本精品 久久国产精品-国产精品 久久国产经典视频 久久国产精品伦理 亚洲第一页在线视频 国产精品久久久久三级 日韩毛片网 久久免费高清视频 麻豆国产在线观看一区二区 91麻豆国产福利在线观看 国产成人精品男人的天堂538 一区二区三区中文字幕 免费在线视频一区 欧美日韩国产成人精品 国产综合网站 国产资源免费观看 亚洲精品亚洲人成在线播放 精品久久久久久中文字幕专区 亚洲人成人毛片无遮挡 国产一起色一起爱 国产香蕉精品视频在 九九热免费观看 日韩亚洲欧美一区 九九热精品在线观看 精品久久久久久中文字幕专区 亚洲欧美自拍偷拍 国产精品每日更新 久久久久国产一级毛片高清板 久久天天躁狠狠躁夜夜中文字幕 久久精品片 日韩在线毛片 国产成人精品本亚洲 国产成人精品一区二区三区 九九热在线观看 国产r级在线观看 国产欧美日韩精品高清二区综合区 韩国电影一区二区 国产精品毛片va一区二区三区 五月婷婷伊人网 久久一区二区三区免费 一本色道久久综合狠狠躁篇 亚洲综合色站 国产尤物在线观看 亚洲一区亚洲二区 免费在线视频一区 欧洲精品视频在线观看 日韩中文字幕a 中文字幕日本在线mv视频精品 91精品在线免费视频 精品国产免费人成在线观看 精品a级片 中文字幕日本在线mv视频精品 日韩在线精品视频 婷婷丁香色 91精品国产高清久久久久 国产成人精品日本亚洲直接 五月综合视频 欧美日韩在线亚洲国产人 精液呈暗黄色 亚洲乱码一区 久久精品中文字幕不卡一二区 亚洲天堂精品在线 激情婷婷综合 国产免费久久精品久久久 国产精品亚洲二区在线 久久免费播放视频 五月婷婷丁香综合 在线亚洲欧美日韩 久久免费精品高清麻豆 精品久久久久久中文字幕 亚洲一区网站 国产精品福利社 日韩中文字幕免费 亚洲综合丝袜 91精品在线播放 国产精品18 亚洲日日夜夜 伊人久久大香线蕉综合影 亚洲精品中文字幕乱码影院 亚洲一区二区黄色 亚洲第一页在线视频 一区二区在线观看视频 国产成人福利精品视频 亚洲高清二区 国内成人免费视频 精品亚洲性xxx久久久 国产精品合集一区二区三区 97av免费视频 国产一起色一起爱 国产区久久 国产资源免费观看 99精品视频免费 国产成人一级 国产精品九九免费视频 欧美91精品久久久久网免费 99热国产免费 久久精品色 98精品国产综合久久 久久精品播放 中文字幕视频免费 国产欧美日韩一区二区三区在线 精品久久蜜桃 国产小视频精品 一本色道久久综合狠狠躁篇 91在线免费观看 亚洲精品区 伊人成综合网 伊人热人久久中文字幕 伊人黄色片 99国产精品热久久久久久夜夜嗨 久久免费精品视频 亚洲一区二区三区高清不卡 久久久久国产一级毛片高清板 国产片一区二区三区 久久狠狠干 99久久婷婷国产综合精品电影 国产99区 国产精品成人久久久久 久久狠狠干 青青国产在线观看 亚洲高清国产拍精品影院 国产精品一区二区av 九九热在线免费视频 伊人久久国产 国产精品久久久久久久久久一区 在线观看免费视频一区 国产精品自在在线午夜区app 国产精品综合色区在线观看 国产毛片久久久久久国产毛片 97国产免费全部免费观看 国产精品每日更新 国产尤物视频在线 九九视频这里只有精品99 一本一道久久a久久精品综合 久久综合给会久久狠狠狠 国产成人精品男人的天堂538 欧美一区二区高清 毛片一区二区三区 国产欧美日韩在线观看一区二区三区 在线国产二区 欧美不卡网 91在线精品中文字幕 在线国产福利 国内精品91久久久久 91亚洲福利 日韩欧美国产中文字幕 91久久精品国产性色也91久久 亚洲性久久久影院 欧美精品1区 国产热re99久久6国产精品 九九热免费观看 国产精品欧美日韩 久久久久国产一级毛片高清板 久久国产经典视频 日韩欧美亚洲国产一区二区三区 欧美亚洲综合另类在线观看 国产精品自在在线午夜区app 97中文字幕在线观看 视频一二三区 精品国产一区在线观看 国产欧美日韩在线一区二区不卡 欧美一区二三区 伊人成人在线观看 国内精品91久久久久 97在线亚洲 国产在线不卡一区 久久久全免费全集一级全黄片 国产精品v欧美精品∨日韩 亚洲毛片网站 在线不卡一区二区 99re热在线视频 久久激情网 国产毛片一区二区三区精品 久久亚洲综合色 中文字幕视频免费 国产视频亚洲 婷婷伊人久久 国产一区二区免费播放 久久99国产精品成人欧美 99国产在线视频 国产成人免费视频精品一区二区 国产不卡一区二区三区免费视 国产码欧美日韩高清综合一区 久久精品国产主播一区二区 国产一区电影 久久精品国产夜色 国产精品国产三级国产 日韩一区二区三区在线 久久97久久97精品免视看 久久国产免费一区二区三区 伊人久久大香线蕉综合电影网 99re6久精品国产首页 久久激情网 亚洲成人高清在线 国产精品网址 国产成人精品男人的天堂538 香蕉国产综合久久猫咪 国产专区中文字幕 91麻豆精品国产高清在线 久久国产经典视频 国产精品成人va在线观看 国产精品爱啪在线线免费观看 日本精品久久久久久久久免费 亚洲综合一区二区三区 久久五月网 精品国产网红福利在线观看 久久综合亚洲伊人色 亚洲国产精品久久久久久网站 在线日韩国产 99国产精品热久久久久久夜夜嗨 国产综合精品在线 国产区福利 精品亚洲综合久久中文字幕 国产制服丝袜在线 毛片在线播放网站 在线观看免费视频一区 国产精品久久久精品三级 亚洲国产电影在线观看 最新日韩欧美不卡一二三区 狠狠综合久久综合鬼色 日本精品1在线区 国产日韩一区二区三区在线播放 欧美日韩精品在线播放 亚洲欧美日韩国产一区二区三区精品 久久综合久久网 婷婷六月激情在线综合激情 亚洲乱码一区 国产专区91 97av视频在线观看 精品久久久久久中文字幕 久久五月视频 国产成人福利精品视频 国产精品网址 中文字幕视频在线 精品一区二区三区免费视频 伊人手机在线视频 亚洲精品中文字幕乱码 国产在线视频www色 色噜噜国产精品视频一区二区 精品亚洲成a人在线观看 国产香蕉尹人综合在线 成人免费一区二区三区在线观看 国产不卡一区二区三区免费视 欧美精品久久天天躁 国产专区中文字幕 久久精品国产免费中文 久久精品国产免费一区 久久无码精品一区二区三区 国产欧美另类久久久精品免费 欧美精品久久天天躁 亚洲精品在线视频 国产视频91在线 91精品福利一区二区三区野战 日韩中文字幕免费 国产精品99一区二区三区 欧美成人高清性色生活 国产精品系列在线观看 亚洲国产福利精品一区二区 国产成人在线小视频 国产精品久久久久免费 99re热在线视频 久久久久久久综合 一区二区国产在线播放 成人国产在线视频 亚洲精品乱码久久久久 欧美日韩一区二区综合 精品久久久久免费极品大片 中文字幕视频二区 激情粉嫩精品国产尤物 国产成人精品一区二区视频 久久精品中文字幕首页 亚洲高清在线 国产精品亚洲一区二区三区 伊人久久艹 中文在线亚洲 国产精品一区二区在线播放 国产精品九九免费视频 亚洲二区在线播放 亚洲狠狠婷婷综合久久久久网站 亚洲欧美日韩网站 日韩成人精品 亚洲国产一区二区三区青草影视 91精品国产福利在线观看 国产精品久久久久久久久99热 国产一区二区精品尤物 久碰香蕉精品视频在线观看 亚洲日日夜夜 在线不卡一区二区 国产午夜亚洲精品 九九热在线视频观看这里只有精品 伊人手机在线视频 91免费国产精品 日韩欧美中字 91精品国产91久久久久 国产全黄三级播放 视频一区二区三区免费观看 国产开裆丝袜高跟在线观看 国产成人欧美 激情综合丝袜美女一区二区 国产成人亚洲综合无 欧美精品一区二区三区免费观看 欧美亚洲国产日韩 日韩亚州 国产欧美日韩精品高清二区综合区 亚洲午夜国产片在线观看 精品久久久久久中文字幕 欧美精品1区 久久伊人久久亚洲综合 亚洲欧美日韩精品 国产成人精品久久亚洲高清不卡 久久福利影视 国产精品99精品久久免费 久久久久免费精品视频 国产日产亚洲精品 亚洲国产午夜电影在线入口 精品无码一区在线观看 午夜国产精品视频 亚洲一级片免费 伊人久久大香线蕉综合影 国产精品久久影院 久碰香蕉精品视频在线观看 www.欧美精品 在线小视频国产 亚洲国产天堂久久综合图区 欧美一区二区三区不卡 日韩美女福利视频 九九精品免视频国产成人 不卡国产00高中生在线视频 亚洲第一页在线视频 欧美日韩在线播放成人 99re视频这里只有精品 国产精品91在线 精品乱码一区二区三区在线 国产区久久 91麻豆精品国产自产在线观看一区 日韩精品成人在线 九九热在线观看 国产精品久久不卡日韩美女 欧美一区二区三区综合色视频 欧美精品免费一区欧美久久优播 国产精品网址 国产专区中文字幕 国产精品欧美亚洲韩国日本久久 日韩美香港a一级毛片 久久精品123 欧美一区二区三区免费看 99r在线视频 亚洲精品国产字幕久久vr 国产综合激情在线亚洲第一页 91免费国产精品 日韩免费小视频 亚洲国产精品综合一区在线 国产亚洲第一伦理第一区 在线亚洲精品 国产精品一区二区制服丝袜 国产在线成人精品 九九精品免视频国产成人 亚洲国产网 欧美日韩亚洲一区二区三区在线观看 在线亚洲精品 欧美一区二区三区高清视频 国产成人精品男人的天堂538 欧美日韩在线观看区一二 亚洲欧美一区二区久久 久久精品中文字幕首页 日本高清www午夜视频 久久精品国产免费 久久999精品 亚洲国产精品欧美综合 88国产精品视频一区二区三区 91久久偷偷做嫩草影院免费看 国产精品夜色视频一区二区 欧美日韩导航 国产成人啪精品午夜在线播放 一区二区视频在线免费观看 99久久精品国产自免费 精液呈暗黄色 久久99国产精品 日本精品久久久久久久久免费 精品国产97在线观看 99re视频这里只有精品 国产视频91在线 999av视频 亚洲美女视频一区二区三区 久久97久久97精品免视看 亚洲国产成人久久三区 99久久亚洲国产高清观看 日韩毛片在线视频 综合激情在线 91福利一区二区在线观看 一区二区视频在线免费观看 激情粉嫩精品国产尤物 国产成人精品曰本亚洲78 国产成人精品本亚洲 国产精品成人免费视频 国产成人啪精品视频免费软件 久久精品国产亚洲妲己影院 国产精品成人久久久久久久 久久大香线蕉综合爱 欧美一区二区三区高清视频 99热国产免费 在线观看欧美国产 91精品视频在线播放 国产精品福利社 欧美精品一区二区三区免费观看 国产一区二区免费视频 国产午夜精品一区二区 精品视频在线观看97 91精品福利久久久 国产一区福利 国产综合激情在线亚洲第一页 国产精品久久久久久久久久久不卡 九色国产 在线日韩国产 黄网在线观看 亚洲一区小说区中文字幕 中文字幕丝袜 日本二区在线观看 日本国产一区在线观看 欧美日韩一区二区三区久久 欧美精品亚洲精品日韩专 国产日产亚洲精品 久久综合九色综合欧美播 亚洲国产欧美无圣光一区 欧美视频区 亚洲乱码视频在线观看 久久无码精品一区二区三区 九九热精品免费视频 久久99精品久久久久久牛牛影视 国产精品成久久久久三级 国产一区福利 午夜国产精品视频 日本二区在线观看 99久久网站 国产亚洲天堂 精品国产一区二区三区不卡 亚洲国产日韩在线一区 国产成人综合在线观看网站 久久免费高清视频 欧美在线导航 午夜精品久久久久久99热7777 欧美久久综合网 国产小视频精品 国产尤物在线观看 亚洲国产精品综合一区在线 欧美一区二区三区不卡视频 欧美黑人欧美精品刺激 日本福利在线观看 久久国产偷 国产手机精品一区二区 国产热re99久久6国产精品 国产高清啪啪 欧美亚洲国产成人高清在线 国产在线第三页 亚洲综合一区二区三区 99r在线视频 99精品久久久久久久婷婷 国产精品乱码免费一区二区 国产在线精品福利91香蕉 国产尤物视频在线 五月婷婷亚洲 中文字幕久久综合伊人 亚洲精品一级毛片 99国产精品电影 在线视频第一页 久久99国产精品成人欧美 国产白白视频在线观看2 成人精品一区二区www 亚洲成人网在线观看 麻豆91在线视频 色综合合久久天天综合绕视看 久久精品国产免费高清 国产不卡一区二区三区免费视 欧美国产中文 99精品欧美 九九在线精品 国产中文字幕在线免费观看 国产一区中文字幕在线观看 国产成人一级 国产精品一区二区制服丝袜 国产一起色一起爱 亚洲精品成人在线 亚洲欧美精品在线 国产欧美自拍视频 99精品久久久久久久婷婷 久99视频 国产热re99久久6国产精品 视频一区亚洲 国产精品视频分类 国产精品成在线观看 99re6久精品国产首页 亚洲在成人网在线看 亚洲国产日韩在线一区 久久国产三级 日韩国产欧美 欧美在线一区二区三区 国产精品美女一级在线观看 成人午夜免费福利视频 亚洲天堂精品在线 91精品国产手机 欧美日韩视频在线播放 狠狠综合久久综合鬼色 九一色视频 青青视频国产 亚洲欧美自拍一区 中文字幕天天躁日日躁狠狠躁97 日韩免费大片 996热视频 伊人成综合网 亚洲天堂欧美 日韩精品亚洲人成在线观看 久久综合给会久久狠狠狠 日韩精品亚洲人成在线观看 日韩国产欧美 亚洲成aⅴ人片在线影院八 亚洲精品1区 99久久精品免费 国产精品高清在线观看 国产精品久久久免费视频 在线亚洲欧美日韩 91在线看视频 国产精品96久久久久久久 欧美日韩国产成人精品 91在线亚洲 热久久亚洲 国产精品美女免费视频观看 日韩在线毛片 亚洲永久免费视频 九九免费在线视频 亚洲一区网站 日本高清二区视频久二区 精品国产美女福利在线 伊人久久艹 国产精品久久久久三级 欧美成人精品第一区二区三区 99久久精品国产自免费 在线观看日韩一区 国产中文字幕一区 成人免费午夜视频 欧美日韩另类在线 久久99国产精品成人欧美 色婷婷中文网 久久天天躁夜夜躁狠狠躁2020 欧美成人伊人久久综合网 国产精品福利资源在线 国产伦精品一区二区三区高清 国产精品亚洲综合色区韩国 亚洲一区欧美日韩 色综合视频 国语自产精品视频在线区 国产高清a 成人国内精品久久久久影 国产在线精品香蕉综合网一区 国产不卡在线看 国产成人精品精品欧美 国产欧美日韩综合精品一区二区三区 韩国电影一区二区 国产在线视频www色 91中文字幕在线一区 国产人成午夜免视频网站 亚洲综合一区二区三区 色综合视频一区二区观看 久久五月网 九九热精品在线观看 国产一区二区三区国产精品 99久热re在线精品996热视频 亚洲国产网 在线视频亚洲一区 日韩字幕一中文在线综合 国产高清一级毛片在线不卡 精品国产色在线 国产高清视频一区二区 精品日本久久久久久久久久 亚洲国产午夜精品乱码 成人免费国产gav视频在线 日韩欧美一区二区在线观看 欧美曰批人成在线观看 韩国电影一区二区 99re这里只有精品6 日韩精品一区二区三区视频 99re6久精品国产首页 亚洲欧美一区二区三区导航 欧美色图一区二区三区 午夜精品视频在线观看 欧美激情在线观看一区二区三区 亚洲热在线 成人国产精品一区二区网站 亚洲一级毛片在线播放 亚洲一区小说区中文字幕 亚洲午夜久久久久影院 国产自产v一区二区三区c 国产精品视频免费 久久调教视频 国产成人91激情在线播放 国产精品欧美亚洲韩国日本久久 久久亚洲日本不卡一区二区 91中文字幕网 成人国产在线视频 国产视频91在线 欧美成人精品第一区二区三区 国产精品福利在线 久久综合九色综合精品 欧美一区二区三区精品 久久国产综合尤物免费观看 久久99青青久久99久久 日韩精品免费 久久国产精品999 91亚洲视频在线观看 国产精品igao视频 色综合区 在线亚洲欧国产精品专区 国产一区二区三区在线观看视频 亚洲精品成人在线 一区二区国产在线播放 中文在线亚洲 亚洲精品第一国产综合野 国产一区二区精品久久 一区二区三区四区精品视频 99热精品久久 中文字幕视频二区 国产成人精品男人的天堂538 99精品影视 美女福利视频一区二区 久久午夜夜伦伦鲁鲁片 综合久久久久久久综合网 国产精品国产欧美综合一区 国产99视频在线观看 国产亚洲女在线精品 婷婷影院在线综合免费视频 国产亚洲3p一区二区三区 91成人爽a毛片一区二区 亚洲一区二区高清 国产欧美亚洲精品第二区首页 欧美日韩导航 亚洲高清二区 欧美激情观看一区二区久久 日韩毛片在线播放 亚洲欧美日韩高清中文在线 亚洲日本在线播放 国产精品一区二区制服丝袜 精品国产一区二区三区不卡 国产不卡在线看 国产欧美网站 四虎永久在线观看视频精品 国产黄色片在线观看 夜夜综合 一本色道久久综合狠狠躁篇 欧美亚洲综合另类在线观看 国产91在线看 伊人久久国产 欧美一区二区在线观看免费网站 国产精品久久久久三级 久久福利 日韩中文字幕a 亚洲午夜久久久久影院 91在线高清视频 国产亚洲一区二区三区啪 久久人精品 国产精品亚洲午夜一区二区三区 综合久久久久久 久久伊人一区二区三区四区 国产综合久久久久久 日韩一区精品视频在线看 国产精品日韩欧美制服 日本精品1在线区 99re视频 无码av免费一区二区三区试看 国产视频1区 日韩欧美中文字幕一区 日本高清中文字幕一区二区三区a 亚洲国产欧美无圣光一区 国产在线视频一区二区三区 欧美国产第一页 在线亚洲欧美日韩 日韩中文字幕第一页 在线不卡一区二区 伊人久久青青 国产精品一区二区在线播放 www.五月婷婷 麻豆久久婷婷国产综合五月 亚洲精品区 久久国产欧美另类久久久 99在线视频免费 伊人久久中文字幕久久cm 久久精品成人免费看 久久这里只有精品首页 88国产精品视频一区二区三区 中文字幕日本在线mv视频精品 国产在线精品成人一区二区三区 伊人精品线视天天综合 亚洲一区二区黄色 国产尤物视频在线 亚洲精品99久久久久中文字幕 国产一区二区三区免费观看 伊人久久大香线蕉综合电影网 国产成人精品区在线观看 日本精品一区二区三区视频 日韩高清在线二区 久久免费播放视频 一区二区成人国产精品 国产精品免费精品自在线观看 亚洲精品视频二区 麻豆国产精品有码在线观看 精品日本一区二区 亚洲欧洲久久 久久中文字幕综合婷婷 中文字幕视频在线 国产成人精品综合在线观看 91精品国产91久久久久福利 精液呈暗黄色 香蕉国产综合久久猫咪 国产专区精品 亚洲精品无码不卡 国产永久视频 亚洲成a人片在线播放观看国产 一区二区国产在线播放 亚洲一区二区黄色 欧美日韩在线观看视频 亚洲精品另类 久久国产综合尤物免费观看 国产一区二区三区国产精品 高清视频一区 国产精品igao视频 国产精品资源在线 久久综合精品国产一区二区三区 www.五月婷婷 精品色综合 99热国产免费 麻豆福利影院 亚洲伊人久久大香线蕉苏妲己 久久电影院久久国产 久久精品伊人 在线日韩理论午夜中文电影 亚洲国产欧洲综合997久久 伊人国产精品 久草国产精品 欧美一区精品二区三区 亚洲成人高清在线 91免费国产精品 日韩精品福利在线 国产一线在线观看 国产不卡在线看 久久99青青久久99久久 亚洲精品亚洲人成在线播放 99久久免费看国产精品 国产日本在线观看 青草国产在线视频 麻豆久久婷婷国产综合五月 国产中文字幕一区 91久久精品国产性色也91久久 国产一区a 国产欧美日韩成人 国产亚洲女在线精品 一区二区美女 中文字幕在线2021一区 在线小视频国产 久久这里只有精品首页 国产在线第三页 欧美日韩中文字幕 在线亚洲+欧美+日本专区 精品国产一区二区三区不卡 久久这里精品 欧美在线va在线播放 精液呈暗黄色 91精品国产手机 91在线免费播放 欧美视频亚洲色图 欧美国产日韩精品 日韩高清不卡在线 精品视频免费观看 欧美日韩一区二区三区四区 国产欧美亚洲精品第二区首页 亚洲韩精品欧美一区二区三区 国产精品视频免费 在线精品小视频 久久午夜夜伦伦鲁鲁片 国产无套在线播放 久热这里只精品99re8久 欧美久久久久 久久香蕉国产线看观看精品蕉 国产成人精品男人的天堂538 亚洲人成网站色7799在线观看 日韩在线第二页 一本色道久久综合狠狠躁篇 国产一区二区三区不卡在线观看 亚洲乱码在线 在线观看欧美国产 久久福利青草精品资源站免费 国产玖玖在线观看 在线亚洲精品 亚洲成aⅴ人在线观看 精品91在线 欧美一区二三区 日韩中文字幕视频在线 日本成人一区二区 日韩免费专区 国内精品在线观看视频 久久国产综合尤物免费观看 国产精品系列在线观看 一本一道久久a久久精品综合 亚洲免费播放 久久精品国产免费 久久人精品 亚洲毛片网站 亚洲成a人一区二区三区 韩国福利一区二区三区高清视频 亚洲精品天堂在线 一区二区三区中文字幕 亚洲国产色婷婷精品综合在线观看 亚洲国产成人久久笫一页 999国产视频 国产精品香港三级在线电影 欧美日韩一区二区三区四区 日韩国产欧美 国产精品99一区二区三区 午夜国产精品理论片久久影院 亚洲精品中文字幕麻豆 亚洲国产高清视频 久久免费手机视频 日韩a在线观看 五月婷婷亚洲 亚洲精品中文字幕麻豆 中文字幕丝袜 www国产精品 亚洲天堂精品在线 亚洲乱码一区 国产日韩欧美三级 久久999精品 伊人热人久久中文字幕 久热国产在线视频 国产欧美日韩在线观看一区二区三区 国产一二三区在线 日韩国产欧美 91精品国产91久久久久 亚洲一区小说区中文字幕 精品一区二区免费视频 国产精品视频免费 国产精品亚洲综合色区韩国 亚洲国产精品成人午夜在线观看 欧美国产日韩精品 中文字幕精品一区二区精品