新四季網

一種元數據集群中負載轉移方法及系統的製作方法

2023-09-12 00:10:45 3

一種元數據集群中負載轉移方法及系統的製作方法
【專利摘要】本發明公開了一種元數據集群中負載轉移方法及系統,涉及一種元數據集群中多個伺服器之間元數據負載轉移方法。該方法包括:建立至少兩個元數據伺服器,用於建立負載均衡模塊、遠程子目錄預申請模塊、遠程子目錄創建模塊、遠程子目錄初始化模塊、遠程子目錄刪除模塊、遠程子目錄異步釋放模塊、遠程子目錄對象回收模塊;建立一個客戶端,將目錄創建請求發送到父目錄所在的元數據伺服器,獲取遠程子目錄對象標識,並添加到該父目錄的目錄項中;將目錄刪除請求發送到該父目錄所在的元數據伺服器,從該父目錄的目錄項中刪除該遠程子目錄對象標識。本發明僅需本地一致性保證機制即可,無需使用分布式一致性保證機制,有效提高遠程子目錄創建、刪除性能。
【專利說明】一種元數據集群中負載轉移方法及系統
【技術領域】
[0001]本發明涉及集群文件系統的元數據負載分布技術,特別涉及一種元數據集群中多個伺服器之間元數據負載轉移方法。
【背景技術】
[0002]在大規模集群文件系統中,元數據與數據服務分離已經成為了一種趨勢。一方面,數據訪問不必通過元數據伺服器,而是採用帶外方式直接訪問存儲設備,從而獲取較高的數據訪問性能;另一方面,元數據伺服器專門提供元數據服務,卸載了數據訪問負載,從而單臺元數據伺服器可以支持更高的客戶端訪問性能,管理更多的存儲設備,支持更大的系統規模擴展。然而,隨著系統規模的不斷擴大,單臺元數據伺服器逐漸成為制約系統擴展的瓶頸。為了進一步提升集群文件系統的擴展能力,通常採用多臺元數據伺服器構成元數據伺服器集群,以分散元數據負載,支持通過增加元數據伺服器數量達到集群文件系統的橫向擴展。
[0003]以目錄為粒度、把一些子目錄的負載轉移到其他元數據伺服器是元數據負載分散的一種常用方法,被Lustre、BWFS等集群文件系統所採用。元數據負載的分布是在子目錄的創建過程中,以創建遠程子目錄的方式將子目錄元數據負載轉移到其他的元數據伺服器,即選擇父目錄所在的元數據伺服器之外的元數據伺服器進行子目錄創建,該子目錄稱為遠程子目錄。遠程子目錄的創建和刪除過程涉及到多個元數據伺服器,需要多次的網絡交互開銷和一致性維護開銷,增加了系統實現複雜度,對元數據服務性能,尤其對遠程子目錄創建、刪除延遲性能產生了較大影響。
[0004]以典型的Lustre文件系統中基於子目錄的負載轉移方法為例,分析其遠程子目錄的創建和刪除過程的開銷。
[0005]Lustre文件系統遠程子目錄創建步驟:
[0006]步驟1,客戶端首先選擇一個負載轉移目標元數據伺服器RMDS (Remote MDS),為待創建的子目錄分配FID,FID唯一標識Lustre文件系統中的一個文件或目錄對象;然後發送遠程子目錄創建請求MKDIR到父目錄所在的元數據伺服器MMDS(MaSter MDS),請求參數中包含客戶端已分配的子目錄FID。
[0007]步驟2,父目錄所在的元數據伺服器MMDS創建一個分布式事務,在所述事務中完成負載轉移目標元數據伺服器RMDS根據FID創建子目錄對象、設置相應對象屬性並同步磁碟、父目錄所在的元數據伺服器MMDS在父目錄中添加子目錄項並同步磁碟的操作。所述分布式事務涉及到多個元數據伺服器,為保證一致性需要多次的網絡交互和磁碟同步開銷。
[0008]Lustre文件系統遠程子目錄刪除步驟:
[0009]步驟1,客戶端發送遠程子目錄刪除請求RMDIR到父目錄所在的元數據伺服器MMDS0
[0010]步驟2,父目錄所在的元數據伺服器MMDS創建一個分布式事務,在所述事務中完成父目錄所在元數據伺服器MMDS在父目錄中刪除子目錄項並同步、負載轉移目標元數據伺服器RMDS釋放子目錄對象並同步的操作。所述分布式事務涉及到多個元數據伺服器,為保證一致性需要多次的網絡交互和磁碟同步開銷。
[0011]可見,Lustre採用分布式事務日誌記錄和磁碟同步寫的方式保證涉及到多個元數據伺服器的遠程子目錄創建、刪除操作的一致性。然而,分布式事務需要多次的網絡交互和磁碟同步開銷,對操作延遲影響較大。
[0012]發明專利「分布式文件系統虛擬目錄組織及命名空間管理的方法」公開了一種分布式文件系統虛擬目錄組織及命名空間管理的方法,包括以下步驟:根據用戶查詢請求和上下文,利用文件系統中文件元數據,以關係代數的方式按需計算和動態生成虛擬目錄,以虛擬文件視圖的層現形式為用戶提供滿足當前上下文的文件服務;在虛擬目錄命名空間中進行文件創建、刪除、移動、重命名、打開、關閉、讀、寫、截斷的文件操作,以及進行上下文目錄的創建、刪除和重命名的操作。該專利的有益效果為,在大規模海量文件存儲系統中引入按需計算和動態生成的虛擬目錄,克服了傳統層次目錄結構無法提供按需服務的缺點,提供了一種高效的文件檢索和組織形式。在虛擬目錄的組織過程中引入了包含文件屬性和上下文的文件元數據,能根據上下文的變化為用戶主動提供文件服務。但是該專利引入一種新的分布式文件系統虛擬目錄組織和命名空間管理方法,在虛擬目錄中進行文件創建、刪除、重命名等操作,力求能根據上下文的變化為用戶主動提供文件服務。不涉及元數據負載在多元數據伺服器之間的分布。
[0013]發明專利「一種基於目錄劃分的元數據分布方法及裝置」公開了一種基於目錄劃分的元數據分布方法,包括以下步驟:獲取元數據中的文件名,得到名稱文件;對目錄進行目錄劃分,得到多個目錄分片文件,並為每個目錄分片文件分配一個目錄分片號;分別為每個名稱文件分配一個目錄分片號,將名稱文件保存在相應的目錄分片文件中;將名稱文件存儲於當前的目錄分片文件中或者將目錄分片文件進行分裂,為分裂出的目錄分片文件分配目錄分片號,將名稱文件存儲於當前的目錄分片文件中或者分裂後的目錄分片文件中;根據目錄分片號與預定值判斷當前的目錄分片文件分裂出的目錄分片文件的存儲位置。該專利提高了系統的並發度,利用了更多並行資源,利用本地性優勢,減少對網絡帶寬的消耗,提升系統的整體性能。但是該發明涉及文件系統目錄的劃分,將大目錄分成多個分片分別進行組織和管理。不涉及跨元數據伺服器的分布式的目錄創建。
[0014]發明專利「分布式文件系統中元數據管理的負載均衡方法及其系統」公開了一種分布式文件系統中元數據管理的負載均衡的方法和系統,當元數據的數據結構即目錄樹成為熱點元數據時,通過採用元數據複製的方式更新目錄樹的訪問熱度;當元數據的服務節點的負載均衡度超過預定的數值時,通過採用元數據遷移的方式,將部分工作負載從過載節點遷移到過輕節點上,通過上述兩種方式來實現多個元數據服務節點之間的負載均衡。該系統包括信息通訊模塊、元數據操作模塊、元數據服務節點管理模塊、元數據管理模塊、元數據策略執行模塊以及工作負載採集模塊。本發明通過元數據複製和元數據遷移這兩種方式,提高了元數據服務資源的利用率,達到了負載均衡的目的,使元數據服務系統可以平滑擴展。但是該發明涉及元數據管理的負載均衡問題,採用元數據複製的方法改善某個元數據伺服器成為熱點的情況,以及使用負載遷移的方式將負載從一個元數據伺服器遷移到另一個元數據伺服器以達到負載均衡。不涉及跨元數據伺服器的分布式的目錄創建。
[0015]針對現有技術的不足,我們提出了一種新的元數據集群中負載轉移方法將元數據負載分布到不同的元數據伺服器,能夠避免遠程子目錄創建、刪除操作中為保證一致性而需要的多次的網絡交互和磁碟同步開銷,提高系統性能。

【發明內容】

[0016]本發明要解決的技術問題是現有技術中集群文件系統在多臺元數據伺服器間負載分布機制複雜度高、一致性維護開銷問題大,提供一種新的元數據負載轉移方法,在目錄創建和刪除過程中不使用分布式事務來保證一致性、無需磁碟的同步等待,在很大程度上提高系統性能、降低系統實現複雜度。
[0017]為了達到以上目的,本發明採用了將分布式的遠程子目錄創建和刪除操作轉化為本地操作技術方案。
[0018]具體的講,本發明公開一種元數據集群中負載轉移方法,包括下列步驟:
[0019]建立至少兩個元數據伺服器和一個客戶端,該元數據伺服器用於建立負載均衡模塊、遠程子目錄預申請模塊、遠程子目錄創建模塊、遠程子目錄初始化模塊、遠程子目錄刪除模塊、遠程子目錄異步釋放模塊、遠程子目錄對象回收模塊,其中通過該客戶端發送創建和刪除遠程子目錄命令,通過該負載均衡模塊選擇負載轉移目標元數據伺服器,通過該負載轉移目標元數據伺服器中的該遠程子目錄初始化模塊創建遠程子目錄對象並初始化,生成遠程子目錄對象標識,通過父目錄所在的元數據伺服器中的該遠程子目錄預申請模塊預申請遠程子目錄對象標識,根據該遠程子目錄對象標識,通過該父目錄所在的元數據伺服器中的該遠程子目錄創建模塊和該遠程子目錄刪除模塊進行遠程子目錄的創建和刪除,遠程子目錄的創建和刪除操作僅在該父目錄所在的元數據伺服器本地進行,無需和該負載轉移目標元數據伺服器交互,根據該遠程子目錄對象標識,通過該遠程子目錄異步釋放模塊和該遠程子目錄對象回收模塊回收該遠程子目錄的元數據和數據資源。
[0020]所述的元數據集群中負載轉移方法,還包括:
[0021]通過該負載均衡模塊收集並量化元數據伺服器的負載和承受能力,通過負載轉移條件,判斷是否需要進行負載轉移,如果需要負載轉移,則通過負載均衡策略選擇負載轉移目標元數據伺服器。
[0022]所述的元數據集群中負載轉移方法,還包括:
[0023]該遠程子目錄預申請模塊,用於在該負載轉移目標元數據伺服器中一次申請多個遠程子目錄對象標識,該遠程子目錄預申請模塊以元數據伺服器序號,索引節點號,索引節點版本號三元組的形式對該遠程子目錄對象標識進行記錄;
[0024]該元數據伺服器之間通過元數據伺服器序號、索引節點號、索引節點版本號三元組的形式進行該遠程子目錄對象標識的傳遞,其中元數據伺服器序號標識與該元數據伺服器序號對應的遠程子目錄對象所在的負載轉移目標元數據伺服器。
[0025]所述的元數據集群中負載轉移方法,還包括:
[0026]該遠程子目錄初始化模塊,用於在該負載轉移目標元數據伺服器申請索引節點,並進行初始化,生成遠程子目錄對象和遠程子目錄對象標識,其中該遠程子目錄對象標識記錄在該遠程子目錄初始化模塊中,該客戶端根據該遠程子目錄對象標識訪問遠程子目錄對象。
[0027]所述的元數據集群中負載轉移方法,還包括:[0028]將待釋放的該遠程子目錄對象標識發送到該遠程子目錄異步釋放模塊,通過該遠程子目錄異步釋放模塊異步的將多個該遠程子目錄對象標識一次傳遞給該負載轉移目標元數據伺服器上的該遠程子目錄對象回收模塊;
[0029]通過該負載轉移目標元數據伺服器的該遠程子目錄對象回收模塊記錄該遠程子目錄對象標識,通過該遠程子目錄對象標識查找與其相對應的該負載轉移目標元數據伺服器的該遠程子目錄對象,並回收該遠程子目錄對象的元數據和數據資源。
[0030]本發明還公開一種元數據集群中負載轉移系統,包括:
[0031]至少兩個元數據伺服器和一個客戶端,該元數據伺服器用於建立負載均衡模塊、遠程子目錄預申請模塊、遠程子目錄創建模塊、遠程子目錄初始化模塊、遠程子目錄刪除模塊、遠程子目錄異步釋放模塊、遠程子目錄對象回收模塊,其中通過該客戶端發送創建和刪除遠程子目錄命令,通過該負載均衡模塊選擇負載轉移目標元數據伺服器,通過該負載轉移目標元數據伺服器中的該遠程子目錄初始化模塊創建遠程子目錄對象並初始化,生成遠程子目錄對象標識,通過父目錄所在的元數據伺服器中的該遠程子目錄預申請模塊預申請遠程子目錄對象標識,根據該遠程子目錄對象標識,通過該父目錄所在的元數據伺服器中的該遠程子目錄創建模塊和該遠程子目錄刪除模塊進行遠程子目錄的創建和刪除,遠程子目錄的創建和刪除操作僅在該父目錄所在的元數據伺服器本地進行,無需和該負載轉移目標元數據伺服器交互,根據該遠程子目錄對象標識,通過該遠程子目錄異步釋放模塊和該遠程子目錄對象回收模塊回收該遠程子目錄的元數據和數據資源。
[0032]所述的元數據集群中負載轉移系統,該負載均衡模塊,用於收集並量化元數據伺服器的負載和承受能力,通過負載轉移條件,判斷是否需要進行負載轉移,如果需要負載轉移,則通過負載均衡策略選擇負載轉移目標元數據伺服器。
[0033]所述的元數據集群中負載轉移系統,該遠程子目錄預申請模塊,用於在該負載轉移目標元數據伺服器中一次申請多個遠程子目錄對象標識,該遠程子目錄預申請模塊以元數據伺服器序號,索引節點號,索引節點版本號三元組的形式對該遠程子目錄對象標識進行記錄;
[0034]該元數據伺服器之間通過元數據伺服器序號、索引節點號、索引節點版本號三元組的形式進行該遠程子目錄對象標識的傳遞,其中元數據伺服器序號標識與其對應的遠程子目錄對象所在的負載轉移目標元數據伺服器。
[0035]所述的元數據集群中負載轉移系統,該遠程子目錄初始化模塊,用於在該負載轉移目標元數據伺服器申請索引節點,並進行初始化,生成遠程子目錄對象和遠程子目錄對象標識,其中該遠程子目錄對象標識記錄在該遠程子目錄初始化模塊中,該客戶端根據該遠程子目錄對象標識訪問遠程子目錄對象。
[0036]所述的元數據集群中負載轉移系統,還包括:
[0037]該遠程子目錄異步釋放模塊,用於異步的將多個該遠程子目錄對象標識一次傳遞給該負載轉移目標元數據伺服器上的該遠程子目錄對象回收模塊;
[0038]該遠程子目錄對象回收模塊,用於記錄該遠程子目錄對象標識,通過該遠程子目錄對象標識查找與其相對應的該負載轉移目標元數據伺服器的該遠程子目錄對象,並回收該遠程子目錄對象的元數據和數據資源。
[0039]本發明的技術效果為:[0040]能夠有效降低遠程子目錄創建、刪除過程中一致性維護開銷,提高系統性能。
【專利附圖】

【附圖說明】
[0041]圖1為遠程子目錄創建和刪除過程模塊圖
[0042]圖2為遠程子目錄對象申請和釋放流程圖
[0043]其中,附圖標記
[0044]I為客戶端;
[0045]2為父目錄所在的元數據伺服器;
[0046]21為負載均衡模塊;
[0047]22為遠程子目錄創建模塊;
[0048]23為遠程子目錄預申請模塊;
[0049]24為遠程子目錄刪除模塊;
[0050]25為遠程子目錄異步釋放模塊;
[0051]3為負載轉移目標元數據伺服器;
[0052]31為遠程子目錄初始化模塊;
[0053]32為遠程子目錄對象回收模塊;
[0054]步驟100為刪除遠程子目錄,
[0055]其中包括步驟101、步驟102、步驟103 ;
[0056]步驟200為創建遠程子目錄,
[0057]其中包括步驟201、步驟202、步驟203 ;
【具體實施方式】
[0058]以下給出本發明的【具體實施方式】,結合附圖對本發明做出了詳細描述。
[0059]如圖1所示,本發明至少包含兩個元數據伺服器和一個客戶端。所述元數據伺服器端包含負載均衡模塊21、遠程子目錄創建模塊22、遠程子目錄預申請模塊23、遠程子目錄初始化模塊31、遠程子目錄刪除模塊24、遠程子目錄異步釋放模塊25、遠程子目錄對象回收模塊32。
[0060]負載均衡模塊21,用於協調不同元數據伺服器的負載,選擇合適的負載轉移目標元數據伺服器3。客戶端I的目錄創建請求到達元數據伺服器後,首先經過負載均衡模塊21。負載均衡模塊21通過收集並量化不同元數據伺服器當前的負載和承受能力,根據負載轉移條件,判斷是否需要進行負載轉移。如果需要負載轉移,則根據負載均衡策略選擇一個合適的目標元數據伺服器。
[0061 ] 遠程子目錄創建模塊22,用於完成遠程子目錄的創建,實現負載轉移。本模塊根據負載均衡模塊21選定的負載轉移目標元數據伺服器3,從遠程子目錄預申請模塊23中獲取已預申請到的負載轉移目標元數據伺服器3上的遠程子目錄對象標識,並將遠程子目錄對象標識添加到父目錄的目錄項中。所述遠程子目錄創建操作僅涉及到父目錄所在元數據伺服器,僅需要保證該操作的本地一致性。
[0062]遠程子目錄預申請模塊23,在接收並執行目錄創建請求之前,預先從負載轉移目標元數據伺服器3上申請多個可用的遠程子目錄對象標識,並記錄在所述模塊中。在執行遠程子目錄創建請求時,遠程子目錄創建模塊22直接使用所述模塊預申請的遠程子目錄對象標識。在預申請過程中,採用批量申請的方式,多個遠程子目錄對象標識的預申請僅需要一次一致性維護開銷。
[0063]遠程子目錄初始化模塊31,元數據伺服器預先初始化多個負載轉移目標伺服器3上的遠程子目錄對象作為父目錄所在的元數據伺服器2的遠程子目錄使用。申請空閒可用的負載轉移目標伺服器3索引節點inode並進行初始化,設置必要的屬性,包括設置類型為目錄,專門供父目錄所在的元數據伺服器I創建遠程子目錄用。之後生成遠程子目錄對象標識,並記錄在所述模塊中,客戶端I後續可以直接根據遠程子目錄對象標識訪問該已初始化的遠程子目錄。所述遠程子目錄初始化操作僅涉及到負載轉移目標元數據伺服器3,僅需要保證該操作的本地一致性。
[0064]遠程子目錄刪除模塊24,用於完成遠程子目錄的刪除。本模塊執行刪除遠程子目錄項操作,將待刪除的遠程子目錄對象標識從父目錄的目錄項中移除,並將被刪除的對象標識傳遞給遠程子目錄異步釋放模塊25。所述遠程子目錄刪除操作僅涉及到父目錄所在的元數據伺服器2,僅需要保證該操作的本地一致性。
[0065]遠程子目錄異步釋放模塊25,用於異步地釋放遠程子目錄對象標識。當接收到遠程子目錄刪除模塊24多個刪除的遠程子目錄對象標識後,本模塊異步的將多個刪除的遠程子目錄對象標識一次傳遞給負載轉移目標元數據伺服器2上的遠程子目錄對象回收模塊32。在異步釋放過程中,採用批量的方式,多個遠程子目錄對象標識的釋放僅需要一次一致性維護開銷。
[0066]遠程子目錄對象回收模塊32,用於回收負載轉移目標元數據伺服器3上遠程子目錄異步釋放模塊25釋放的遠程子目錄對象標識對應的遠程子目錄對象及其所佔的元數據和數據資源進行釋放回收,以供後續的目錄或文件創建操作使用。所述遠程子目錄對象回收操作僅涉及到負載轉移目標元數據伺服器3,僅需要保證該操作的本地一致性。
[0067]本發明主要包括遠程子目錄的創建和遠程子目錄的刪除兩個操作。如圖2所示,在負載轉移目標元數據伺服器3中,通過步驟203初始化遠程索引節點,通過步驟202遠程索引節點預留緩存,在父目錄所在的元數據伺服器2中,通過步驟201遠程索引節點創建緩存,通過步驟200創建遠程子目錄;
[0068]在父目錄所在的元數據伺服器2中,通過步驟100刪除遠程子目錄,通過步驟101遠程索引節點刪除緩存,在負載轉移目標元數據伺服器3中,通過步驟102遠程索引節點回收緩存,通過步驟103釋放遠程索引節點。
[0069]元數據伺服器之間以(元數據伺服器序號,索引節點號,索引節點版本號)三元組的形式進行遠程子目錄對象標識傳遞。
[0070]以下為遠程子目錄的創建和遠程子目錄的刪除的具體步驟:
[0071]遠程子目錄的創建操作
[0072]在本操作中,本發明將分布式遠程子目錄創建過程中的添加目錄項和創建目錄對象作為兩個獨立的過程。負載轉移目標元數據伺服器3端的遠程子目錄初始化模塊31首先預留部分遠程子目錄,並形成遠程子目錄對象標識;父目錄所在元數據伺服器2端的遠程子目錄預申請模塊23在系統空閒時向負載轉移目標元數據伺服器3預申請部分遠程子目錄對象標識,並記錄到父目錄所在元數據伺服器2本地;在父目錄所在的元數據伺服器2需要創建遠程子目錄時,只需使用上述遠程子目錄標識在父目錄所在的元數據伺服器2的遠程子目錄創建模塊22內添加目錄項。該方法將分布式的遠程子目錄創建過程,轉化為負載轉移目標元數據伺服器3端本地的遠程子目錄初始化和父目錄所在的元數據伺服器2端本地的遠程子目錄創建,僅需本地一致性保證機制即可,無需使用複雜的分布式一致性保證機制,無需磁碟同步等待,可有效提高遠程子目錄創建性能。
[0073]遠程子目錄對象初始化步驟如下:
[0074]負載轉移目標元數據伺服器3端的遠程子目錄初始化模塊31申請多個索引節點,並進行初始化,作為父目錄所在的元數據伺服器2的遠程子目錄使用。
[0075]遠程子目錄初始化模塊31在負載轉移目標元數據伺服器3申請若干索引節點,並分別對它們進行初始化。其中包括:設置索引節點的屬性如索引節點號、索引節點版本號、目錄大小等;設置類型為目錄,標識該索引節點為目錄;標識為遠程,標識該索引節點是為父目錄所在的元數據伺服器2預留,後續將作為遠程子目錄對象使用。並且生成遠程子目錄對象標識,記錄在遠程子目錄初始化模塊31中。遠程子目錄對象經過初始化後,就可以被客戶端I根據遠程子目錄對象標識直接訪問。
[0076]遠程子目錄初始化模塊31記錄所有預留的遠程子目錄對象標識。遠程子目錄對象標識包括索引節點號,索引節點版本號。作為一種優選方案,為了節省緩存空間,初始化索引節點時可選擇一些連續的索引節點進行預留,並設置相同的索引節點版本號。然後以擴展段緊湊方式記錄多個遠程子目錄對象標識,具體格式為(起始索引節點號號,連續的索引節點個數,索引節點版本號)。在之後的訪問中,根據遠程子目錄對象標識即可查找並訪問負載轉移目標元數據伺服器3相對應的遠程子目錄對象。
[0077]遠程子目錄對象預申請具體步驟如下:
[0078]父目錄所在的元數據伺服器2中的遠程子目錄預申請模塊23從負載轉移目標元數據伺服器3中一次預申請多個遠程子目錄對象標識。
[0079]遠程子目錄預申請模塊23在系統空閒時從負載轉移目標元數據伺服器3申請多個預留遠程子目錄對象標識,元數據伺服器之間以(元數據伺服器序號,索引節點號,索引節點版本號)三元組的形式進行遠程子目錄對象標識傳遞,其中與元數據伺服器序號標識相對應的目錄對象在負載轉移目標元數據伺服器3中。因此,(元數據伺服器序號、索引節點號、索引節點版本號)三元組即可唯一代表文件系統中的一個遠程子目錄對象。
[0080]遠程子目錄預申請模塊23記下預申請到的遠程子目錄對象標識,同樣以(元數據伺服器序號,索引節點號,索引節點版本號)三元組的形式進行遠程子目錄對象標識記錄。
[0081]上述為遠程子目錄創建的準備工作,可在系統空閒時完成,以下為遠程子目錄的創建步驟。
[0082]遠程子目錄創建步驟如下:
[0083]父目錄所在的元數據伺服器2響應客戶端I的遠程子目錄創建請求,如果負載均衡模塊21確定需要進行負載轉移,則進行遠程子目錄創建操作。
[0084]客戶端I使用標準目錄創建命令將目錄創建請求發送到父目錄所在的元數據伺服器2。
[0085]父目錄所在的元數據伺服器2上的負載均衡模21塊通過負載收集和一定的負載均衡策略決定需要進行負載遷移。[0086]父目錄所在的元數據伺服器2上的負載均衡模塊21選擇合適的負載轉移目標元數據伺服器3。
[0087]步驟34,父目錄所在的元數據伺服器2上的遠程子目錄創建模塊22從遠程子目錄預申請模塊23中獲取負載轉移目標元數據伺服器3的一個預申請的遠程子目錄標識,添加到父目錄所在的元數據伺服器2的目錄項中。
[0088]所述遠程子目錄創建步驟僅在父目錄所在的元數據伺服器2本地進行,無需和負載轉移目標元數據伺服器3交互。完成後,可返回給客戶端I。
[0089]遠程子目錄刪除操作
[0090]在本操作中,本發明將分布式目錄刪除過程中的目錄項刪除和目錄對象釋放作為兩個獨立的子過程。先由父目錄所在的元數據伺服器2端遠程子目錄刪除模塊24在父目錄所在的元數據伺服器2本地完成目錄項刪除子操作,再由遠程子目錄異步釋放模塊25將待釋放的遠程子目錄對象標識通過異步的遠程過程調用發送到負載轉移目標元數據伺服器3,負載轉移目標元數據伺服器3端遠程子目錄對象回收模塊31記下這些對象標識,之後再異步地在負載轉移目標元數據伺服器3本地完成回收。該方法將分布式的遠程子目錄刪除過程,轉化為父目錄所在的元數據伺服器2端本地的遠程子目錄刪除和負載轉移目標元數據伺服器3端本地的遠程子目錄對象回收,僅需本地一致性保證機制即可,無需使用複雜的分布式一致性保證機制,無需磁碟同步等待,可有效提高遠程子目錄刪除性能,以下是具體步驟。
[0091]遠程子目錄刪除步驟如下:
[0092]父目錄所在的元數據伺服器2響應客戶端I的目錄刪除請求,如果是遠程子目錄,則進行遠程子目錄刪除;
[0093]客戶端I使用標準的目錄刪除命令將目錄刪除請求發送到父目錄所在的元數據伺服器2 ;
[0094]父目錄所在的元數據伺服器2判斷待刪除的目錄為遠程子目錄;
[0095]遠程子目錄刪除模塊24執行父目錄所在的元數據伺服器2本地的目錄項刪除操作,並將待釋放的遠程子目錄對象標識發送到遠程子目錄異步釋放模塊25。遠程子目錄異步釋放模塊25仍以(元數據伺服器序號,索引節點號,索引節點版本號)三元組的形式記錄待釋放的遠程子目錄對象標識。
[0096]本步驟僅在父目錄所在的元數據伺服器2本地完成,無需與負載轉移目標元數據伺服器3交互。完成後,即可返回給客戶端I。
[0097]遠程子目錄對象回收步驟如下:
[0098]本步驟對遠程子目錄對象進行釋放回收。
[0099]父目錄所在的元數據伺服器2端的遠程子目錄異步釋放模塊25在系統空閒時,將記錄的遠程子目錄對象標識發送到由相應的元數據伺服器序號標識的負載轉移目標元數據伺服器3,請求進行資源回收。元數據伺服器之間以(元數據伺服器序號,索引節點號,索引節點版本號)三元組的形式進行遠程子目錄對象標識傳遞。
[0100]負載轉移目標元數據伺服器3端的遠程子目錄對象回收模塊32記下父目錄所在的元數據伺服器2發送過來的遠程子目錄對象標識。這裡至少需要記錄目錄對象的索引節點號和索引節點版本號。[0101]負載轉移目標元數據伺服器3端的遠程子目錄對象回收模塊32在系統空閒時,根據記錄下的遠程子目錄對象標識(索引節點號、索引節點版本號)查找到負載轉移目標元數據伺服器3本地對象,回收相應的元數據和數據資源。
【權利要求】
1.一種元數據集群中負載轉移方法,其特徵在於,包括下列步驟: 建立至少兩個元數據伺服器和一個客戶端,該元數據伺服器用於建立負載均衡模塊、遠程子目錄預申請模塊、遠程子目錄創建模塊、遠程子目錄初始化模塊、遠程子目錄刪除模塊、遠程子目錄異步釋放模塊、遠程子目錄對象回收模塊,其中通過該客戶端發送創建和刪除遠程子目錄命令,通過該負載均衡模塊選擇負載轉移目標元數據伺服器,通過該負載轉移目標元數據伺服器中的該遠程子目錄初始化模塊創建遠程子目錄對象並初始化,生成遠程子目錄對象標識,通過父目錄所在的元數據伺服器中的該遠程子目錄預申請模塊預申請遠程子目錄對象標識,根據該遠程子目錄對象標識,通過該父目錄所在的元數據伺服器中的該遠程子目錄創建模塊和該遠程子目錄刪除模塊進行遠程子目錄的創建和刪除,遠程子目錄的創建和刪除操作僅在該父目錄所在的元數據伺服器本地進行,無需和該負載轉移目標元數據伺服器交互,根據該遠程子目錄對象標識,通過該遠程子目錄異步釋放模塊和該遠程子目錄對象回收模塊回收該遠程子目錄的元數據和數據資源。
2.如權利要求1所述的元數據集群中負載轉移方法,其特徵在於,還包括: 通過該負載均衡模塊收集並量化元數據伺服器的負載和承受能力,通過負載轉移條件,判斷是否需要進 行負載轉移,如果需要負載轉移,則通過負載均衡策略選擇負載轉移目標元數據伺服器。
3.如權利要求1所述的元數據集群中負載轉移方法,其特徵在於,還包括: 該遠程子目錄預申請模塊,用於在該負載轉移目標元數據伺服器中一次申請多個遠程子目錄對象標識,該遠程子目錄預申請模塊以元數據伺服器序號,索引節點號,索引節點版本號三元組的形式對該遠程子目錄對象標識進行記錄; 該元數據伺服器之間通過元數據伺服器序號、索引節點號、索引節點版本號三元組的形式進行該遠程子目錄對象標識的傳遞,其中元數據伺服器序號標識與該元數據伺服器序號對應的遠程子目錄對象所在的負載轉移目標元數據伺服器。
4.如權利要求1所述的元數據集群中負載轉移方法,其特徵在於,還包括: 該遠程子目錄初始化模塊,用於在該負載轉移目標元數據伺服器申請索引節點,並進行初始化,生成遠程子目錄對象和遠程子目錄對象標識,其中該遠程子目錄對象標識記錄在該遠程子目錄初始化模塊中,該客戶端根據該遠程子目錄對象標識訪問遠程子目錄對象。
5.如權利要求1所述的元數據集群中負載轉移方法,其特徵在於,還包括: 將待釋放的該遠程子目錄對象標識發送到該遠程子目錄異步釋放模塊,通過該遠程子目錄異步釋放模塊異步的將多個該遠程子目錄對象標識一次傳遞給該負載轉移目標元數據伺服器上的該遠程子目錄對象回收模塊; 通過該負載轉移目標元數據伺服器的該遠程子目錄對象回收模塊記錄該遠程子目錄對象標識,通過該遠程子目錄對象標識查找與其相對應的該負載轉移目標元數據伺服器的該遠程子目錄對象,並回收該遠程子目錄對象的元數據和數據資源。
6.一種元數據集群中負載轉移系統,其特徵在於,包括: 至少兩個元數據伺服器和一個客戶端,該元數據伺服器用於建立負載均衡模塊、遠程子目錄預申請模塊、遠程子目錄創建模塊、遠程子目錄初始化模塊、遠程子目錄刪除模塊、遠程子目錄異步釋放模塊、遠程子目錄對象回收模塊,其中通過該客戶端發送創建和刪除遠程子 目錄命令,通過該負載均衡模塊選擇負載轉移目標元數據伺服器,通過該負載轉移目標元數據伺服器中的該遠程子目錄初始化模塊創建遠程子目錄對象並初始化,生成遠程子目錄對象標識,通過父目錄所在的元數據伺服器中的該遠程子目錄預申請模塊預申請遠程子目錄對象標識,根據該遠程子目錄對象標識,通過該父目錄所在的元數據伺服器中的該遠程子目錄創建模塊和該遠程子目錄刪除模塊進行遠程子目錄的創建和刪除,遠程子目錄的創建和刪除操作僅在該父目錄所在的元數據伺服器本地進行,無需和該負載轉移目標元數據伺服器交互,根據該遠程子目錄對象標識,通過該遠程子目錄異步釋放模塊和該遠程子目錄對象回收模塊回收該遠程子目錄的元數據和數據資源。
7.如權利要求6所述的元數據集群中負載轉移系統,其特徵在於,該負載均衡模塊,用於收集並量化元數據伺服器的負載和承受能力,通過負載轉移條件,判斷是否需要進行負載轉移,如果需要負載轉移,則通過負載均衡策略選擇負載轉移目標元數據伺服器。
8.如權利要求6所述的元數據集群中負載轉移系統,其特徵在於,該遠程子目錄預申請模塊,用於在該負載轉移目標元數據伺服器中一次申請多個遠程子目錄對象標識,該遠程子目錄預申請模塊以元數據伺服器序號,索引節點號,索引節點版本號三元組的形式對該遠程子目錄對象標識進行記錄; 該元數據伺服器之間通過元數據伺服器序號、索引節點號、索引節點版本號三元組的形式進行該遠程子目錄對象標識的傳遞,其中元數據伺服器序號標識與其對應的遠程子目錄對象所在的負載轉移目標元數據伺服器。
9.如權利要求6所述的元數據集群中負載轉移系統,其特徵在於,該遠程子目錄初始化模塊,用於在該負載轉移目標元數據伺服器申請索引節點,並進行初始化,生成遠程子目錄對象和遠程子目錄對象標識,其中該遠程子目錄對象標識記錄在該遠程子目錄初始化模塊中,該客戶端根據該遠程子目錄對象標識訪問遠程子目錄對象。
10.如權利要求6所述的元數據集群中負載轉移系統,其特徵在於,還包括: 該遠程子目錄異步釋放模塊,用於異步的將多個該遠程子目錄對象標識一次傳遞給該負載轉移目標元數據伺服器上的該遠程子目錄對象回收模塊; 該遠程子目錄對象回收模塊,用於記錄該遠程子目錄對象標識,通過該遠程子目錄對象標識查找與其相對應的該負載轉移目標元數據伺服器的該遠程子目錄對象,並回收該遠程子目錄對象的元數據和數據資源。
【文檔編號】H04L29/08GK103916467SQ201410114579
【公開日】2014年7月9日 申請日期:2014年3月25日 優先權日:2014年3月25日
【發明者】王洋, 鄭彩平, 張軍偉, 邵冰清, 王利虎, 張 浩 申請人:中國科學院計算技術研究所, 天津中科藍鯨信息技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀