用于分布式緩存系統的元數據節點管理方法和裝置的制造方法
【技術領域】
[0001]本申請涉及計算機技術領域,具體涉及互聯網技術領域,尤其涉及用于分布式緩存系統的元數據節點管理方法和和裝置。
【背景技術】
[0002]緩存(cache)具有能夠提升指令和數據讀取速度的特性,因此,在計算機系統從本地計算機系統向分布式系統的擴展過程中,緩存在分布式計算領域中得到了廣泛的應用,這種應用在分布式計算中的緩存稱為分布式緩存。其中,元數據節點是分布式緩存系統中的一個重要組成部分。元數據(Metadata),又稱中介數據、中繼數據,為描述數據的數據(data about data),主要是描述數據屬性(property)的信息,用來支持如指示存儲位置、歷史數據、資源查找、文件記錄等功能。元數據節點是保存了分布式緩存系統的元數據信息的節點,元數據節點可以通過所保存的元數據信息對分布式緩存系統提供元數據管理功會K。
[0003]在分布式緩存系統中,通常設置一個元數據管理節點執行元數據管理功能。然而,如果部署元數據管理節點的機房發生故障,元數據管理節點的故障將導致分布式緩存系統無法執行元數據管理功能,分布式緩存系統的可用性降低。
【發明內容】
[0004]本申請的目的在于提出一種改進的用于分布式緩存系統的元數據節點管理方法和裝置,來解決以上【背景技術】部分提到的技術問題。
[0005]第一方面,本申請提供了一種用于分布式緩存系統的元數據節點管理的方法,所述分布式緩存系統包括位于多個機房中的多個元數據節點,所述多個元數據節點包括主節點和至少一個備用節點;以及所述方法包括:向各個元數據節點依次發出服務請求;接收元數據節點根據服務請求返回的反饋信息,所述反饋信息包括服務接受信息或者服務拒絕信息;將返回所述服務接受信息的元數據節點確認為執行元數據管理功能的主節點。
[0006]在一些實施例中,所述將返回所述服務接受信息的元數據節點確認為執行元數據管理功能的主節點,包括:若元數據節點返回的反饋信息是服務接收信息,則確定所述元數據節點為執行元數據管理功能的主節點,并停止發送服務請求。
[0007]在一些實施例中,所述方法還包括:檢測所確定的主節點是否處于故障狀態;若所述主節點處于故障狀態,則從與所述主節點位于不同機房的備用節點中選擇一個備用節點作為新的主節點。
[0008]在一些實施例中,所述分布式緩存系統還包括至少一個用于選擇新的主節點的故障處理節點,以及所述從與所述主節點位于不同機房的備用節點中選擇一個備用節點作為新的主節點,包括:向所述至少一個故障處理節點發送主節點選舉信號,其中,與當前主節點位于不同機房的備用節點作為被選舉節點;接收所述至少一個故障處理節點在接收到所述主節點選舉信號后返回的投票信息;基于返回的投票信息對所述被選舉節點進行仲裁;根據仲裁結果選擇對應的備用節點作為新的主節點。
[0009]在一些實施例中,所述故障處理節點的數量為奇數。
[0010]第二方面,本申請提供了一種于分布式緩存系統的元數據節點管理裝置,所述分布式緩存系統包括位于多個機房中的多個元數據節點,所述多個元數據節點包括主節點和至少一個備用節點,所述裝置包括:請求發送單元,配置用于向各個元數據節點依次發出服務請求;反饋信息接收單元,配置用于接收元數據節點根據服務請求返回的反饋信息,所述反饋信息包括服務接受信息或者服務拒絕信息;確認單元,配置用于將返回所述服務接受信息的元數據節點確認為執行元數據管理功能的主節點。
[0011]在一些實施例中,所述確認單元進一步配置用于:若元數據節點返回的反饋信息是服務接收信息,則確定所述元數據節點為執行元數據管理功能的主節點,并停止發送服務請求。
[0012]在一些實施例中,所述裝置還包括:故障檢測單元,配置用于檢測所確定的主節點是否處于故障狀態;主節點選擇單元,若所述主節點處于故障狀態,則從與所述主節點位于不同機房的備用節點中選擇一個備用節點作為新的主節點。
[0013]在一些實施例中,所述分布式緩存系統還包括至少一個用于選擇新的主節點的故障處理節點,所述主節點選擇單元包括:選舉信號發送子單元,配置用于向所述至少一個故障處理節點發送主節點選舉信號,其中,與當前主節點位于不同機房的備用節點作為被選舉節點;投票信息接收子單元,配置用于接收所述至少一個故障處理節點在接收到所述主節點選舉信號后返回的投票信息;仲裁子單元,配置用于基于返回的投票信息對所述被選舉節點進行仲裁;選擇子單元,配置用于根據仲裁結果選擇對應的備用節點作為新的主節點。
[0014]在一些實施例中,所述故障處理節點的數量為奇數。
[0015]本申請提供的用于分布式緩存系統的元數據節點管理方法和裝置,通過在多個機房中部署多個元數據節點,可預防元數據節點所處的機房故障造成分布式緩存系統中沒有可用的元數據節點;同時,通過向各個元數據節點發送服務請求以及接收各個元數據節點的反饋信息多個元數據節點中確定主節點,從而防止多個元數據節點的共存對分布式緩存系統造成的沖突,從而提高了分布式緩存系統的可用性。
【附圖說明】
[0016]通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本申請的其它特征、目的和優點將會變得更明顯:
[0017]圖1是本申請可以應用于其中的示例性系統架構圖;
[0018]圖2是根據本申請的用于分布式緩存系統的元數據節點管理方法的一個實施例的流程圖;
[0019]圖3是根據本申請的用于分布式緩存系統的元數據節點管理方法的又一個實施例的流程圖;
[0020]圖4是根據本申請的用于分布式緩存系統的元數據節點管理裝置的一個實施例的結構示意圖;
[0021]圖5是適于用來實現本申請實施例的終端設備或服務器的計算機系統的結構示意圖。
【具體實施方式】
[0022]下面結合附圖和實施例對本申請作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用于解釋相關發明,而非對該發明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與有關發明相關的部分。
[0023]需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本申請。
[0024]圖1示出了可以應用本申請的用于分布式緩存系統的元數據節點管理方法或裝置的實施例的示例性系統架構100。
[0025]如圖1所示,系統架構100可以包括客戶端101、102,代理服務器106、107,緩存服務器、108、109、元數據節點 110、111、112。
[0026]其中,代理服務器106、緩存服務器108、元數據節點110位于機房103中,元數據節點111位于機房104中,代理服務器107、緩存服務器109、元數據節點112位于機房105中。
[0027]客戶端101、102可以通過網絡與代理服務器連接106、107連接,代理服務器106、107可以通過網絡與緩存服務器108、109連接,代理服務器106、107和緩存服務器108、109可以通過網絡與元數據節點111連接。用于連接的網絡可以包括各種連接類型,例如有線、無線通信鏈路或者光纖電纜等等。
[0028]客戶端101、102可以向代理服務器103、105發送數據讀寫請求,代理服務器103、105可以將該數據讀寫請求轉發給緩存服務器108、109。緩存服務器108、109會處理數據讀寫請求并將處理結果返回到代理服務器103、105并由代理服務器103、105返回給客戶端。
[0029]元數據節點111可以向代理服務器106、107和緩存服務器108、109提供元數據管理服務。需要說明的是,代理服務器106、107,緩存服務器108、109與元數據節點111的網絡連接僅為示意,其他元數據節點也可以與代理服務器和緩存服務器連接。
[0030]需要說明的是,本申請實施例所提供的用于分布式緩存系統的元數據節點管理方法一般由代理服務器106、107或緩存服務器108、109執行,相應地,用于分布式緩存系統的元數據節點管理裝置一般設置于代理服務器106、107或緩存服務器108、109中。
[0031]應該理解,圖1中的終端設備、網絡和服務器的數目僅僅是示意性的。根據實現需要,可以具有任意數目的終端設備、網絡、代理服務器、緩存服務器。
[0032]繼續參考圖2,示出了根據本申請的用于分布式緩存系統的元數據節點管理方法的一個實施例的流程200。所述分布式緩存系統包括位于多個機房中的多個元數據節點,這些元數據節點可以包括一