一種資源池的分區(qū)視圖發(fā)送方法及管理節(jié)點的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通訊技術(shù)領(lǐng)域,尤其涉及一種資源池的分區(qū)視圖發(fā)送方法及管理節(jié)點。
【背景技術(shù)】
[0002]分布式存儲系統(tǒng)是一種將數(shù)據(jù)分散存儲在多臺存儲設(shè)備(也稱存儲節(jié)點)上的存儲系統(tǒng)。分布式存儲系統(tǒng)主要包括管理節(jié)點、存儲節(jié)點、路由節(jié)點以及客戶端。管理節(jié)點可以創(chuàng)建多個資源池,每個資源池可以劃分為一個或者多個分區(qū)。根據(jù)分布式存儲系統(tǒng)的需求,可以決定資源池中的分區(qū)是與一個存儲節(jié)點建立映射關(guān)系,還是與多個存儲節(jié)點建立映射關(guān)系,比如:若分布式存儲系統(tǒng)只需要一份數(shù)據(jù),則資源池中的分區(qū)只與一個存儲節(jié)點建立映射關(guān)系,若分布式存儲系統(tǒng)要求除了需要一份原數(shù)據(jù),還需要多個冗余數(shù)據(jù)做備份,則資源池中的分區(qū)需要與多個存儲節(jié)點建立映射關(guān)系。通常,一個資源池對應一個分區(qū)視圖,一個資源池的分區(qū)視圖用于表示該資源池中的分區(qū)與存儲節(jié)點的映射關(guān)系。
[0003]在分布式存儲系統(tǒng)中,路由節(jié)點需要管理節(jié)點創(chuàng)建的所有資源池的分區(qū)視圖,路由節(jié)點可以通過向管理節(jié)點索要,管理節(jié)點向路由節(jié)點發(fā)送所有資源池的分區(qū)視圖。當用戶進行數(shù)據(jù)存儲或數(shù)據(jù)訪問時,路由節(jié)點可以從所有資源池的分區(qū)視圖中查詢用戶指定的資源池的分區(qū)視圖,并通過用戶指定的資源池的分區(qū)視圖為數(shù)據(jù)提供存儲路徑的指導或訪冋路徑的指導。
[0004]如果管理節(jié)點創(chuàng)建的資源池的數(shù)量很多,管理節(jié)點向路由節(jié)點發(fā)送的所有資源池的分區(qū)視圖所占據(jù)的通信帶寬將會較大。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供了一種資源池的分區(qū)視圖發(fā)送方法及管理節(jié)點,可以減小向路由節(jié)點發(fā)送的資源池的分區(qū)視圖所占據(jù)的通信帶寬。
[0006]本發(fā)明實施例第一方面公開了一種資源池的分區(qū)視圖發(fā)送方法,應用于分布式存儲系統(tǒng),所述分布式存儲系統(tǒng)包括路由節(jié)點和管理節(jié)點,所述方法包括:
[0007]所述管理節(jié)點接收所述路由節(jié)點發(fā)送的資源池分區(qū)視圖獲取請求,所述資源池分區(qū)視圖獲取請求用于獲取所述管理節(jié)點創(chuàng)建的所有資源池的分區(qū)視圖;其中,路由節(jié)點上電時,路由節(jié)點處于初始化狀態(tài),路由節(jié)點向管理節(jié)點索要所有資源池的分區(qū)視圖;
[0008]所述管理節(jié)點根據(jù)所述資源池分區(qū)視圖獲取請求從所述所有資源池的分區(qū)視圖中按照分區(qū)視圖獲取規(guī)則獲取所述所有資源池中的第一部分資源池的分區(qū)視圖,并將所述第一部分資源池的分區(qū)視圖發(fā)送給所述路由節(jié)點;其中,管理節(jié)點向路由節(jié)點發(fā)送所有資源池的分區(qū)視圖所占據(jù)的通信帶寬將會較大,故可以先將第一部分資源池的分區(qū)視圖發(fā)送給路由節(jié)點;
[0009]當所述管理節(jié)點處于空閑狀態(tài)時,所述管理節(jié)點將所述所有資源池中的第二部分資源池的分區(qū)視圖發(fā)送給所述路由節(jié)點,其中,所述第一部分資源池的分區(qū)視圖和所述第二部分資源池的分區(qū)視圖不同。
[0010]其中,當管理節(jié)點處于空閑狀態(tài)時,管理節(jié)點可以自動將第二部分資源池的分區(qū)視圖發(fā)送給路由節(jié)點??梢?,管理節(jié)點分多次向路由節(jié)點發(fā)送資源池的分區(qū)視圖,可以減小向路由節(jié)點發(fā)送資源池的分區(qū)視圖所占據(jù)的通信帶寬。
[0011]結(jié)合第一方面,在第一方面的第一種可能的實施方式中,所述方法還包括:
[0012]所述管理節(jié)點接收所述路由節(jié)點發(fā)送的針對指定的資源池的資源池分區(qū)視圖獲取請求;
[0013]所述管理節(jié)點根據(jù)所述指定的資源池的資源池分區(qū)視圖獲取請求將所述所有資源池中的所述指定的資源池的分區(qū)視圖發(fā)送給所述路由節(jié)點;所述指定的資源池的分區(qū)視圖為所述所有資源池中除所述第一部分資源池和所述第二部分資源池外的資源池的分區(qū)視圖。
[0014]其中,用戶在進行數(shù)據(jù)存儲時,可以在客戶端上指定待存儲的數(shù)據(jù)所屬的資源池,或者,用戶在進行數(shù)據(jù)訪問時,可以在客戶端上指定待訪問的數(shù)據(jù)所屬的資源池;
[0015]其中,無論管理節(jié)點是否處于空閑狀態(tài),管理節(jié)點都需要把指定的資源池的分區(qū)視圖發(fā)送給路由節(jié)點,這樣,可以滿足用戶的需求,提高用戶體驗;
[0016]結(jié)合第一方面或第一方面的第一種可能的實施方式,在第一方面的第二種可能的實施方式中,所述方法還包括:
[0017]所述管理節(jié)點判斷所述管理節(jié)點的資源池參數(shù)不滿足一次性發(fā)送所述所有資源池的分區(qū)視圖的觸發(fā)條件。
[0018]其中,當路由節(jié)點向管理節(jié)點索要所有資源池的分區(qū)視圖時,若管理節(jié)點判斷管理節(jié)點的資源池參數(shù)不滿足一次性發(fā)送所有資源池的分區(qū)視圖的觸發(fā)條件,則管理節(jié)點需要分多次向路由節(jié)點發(fā)送資源池的分區(qū)視圖。
[0019]結(jié)合第一方面的第二種可能的實施方式,在第一方面的第三種可能的實施方式中,當所述資源池參數(shù)包括所述管理節(jié)點創(chuàng)建的所述所有資源池的數(shù)量時,所述管理節(jié)點判斷所述管理節(jié)點的資源池參數(shù)不滿足所述一次性發(fā)送所述所有資源池的分區(qū)視圖的觸發(fā)條件,包括:
[0020]所述管理節(jié)點判斷所述管理節(jié)點創(chuàng)建的所述所有資源池的數(shù)量大于預設(shè)數(shù)量閾值。其中,管理節(jié)點創(chuàng)建的所有資源池的數(shù)量大于預設(shè)數(shù)量閾值,則管理節(jié)點發(fā)送所有資源池的分區(qū)視圖將會占用很大的通信帶寬,而無法滿足一次性發(fā)送所有資源池的分區(qū)視圖的觸發(fā)條件。
[0021]結(jié)合第一方面的第二種可能的實施方式,在第一方面的第四種可能的實施方式中,當所述資源池參數(shù)包括所述管理節(jié)點創(chuàng)建的所述所有資源池的分區(qū)視圖所占所述管理節(jié)點的內(nèi)存空間的大小時,所述管理節(jié)點判斷所述管理節(jié)點的資源池參數(shù)不滿足所述一次性發(fā)送所有資源池的分區(qū)視圖的觸發(fā)條件,包括:
[0022]所述管理節(jié)點判斷所述管理節(jié)點創(chuàng)建的所述所有資源池的分區(qū)視圖所占所述管理節(jié)點的內(nèi)存空間的大小大于預設(shè)內(nèi)存空間的大小。其中,該預設(shè)內(nèi)存空間的大小可以為用戶自定義設(shè)置的,也可以是根據(jù)分布式存儲系統(tǒng)性能或通信帶寬設(shè)置的。
[0023]結(jié)合第一方面或第一方面的第一種可能的實施方式,在第一方面的第五種可能的實施方式中,所述管理節(jié)點根據(jù)所述資源池分區(qū)視圖獲取請求從所述所有資源池的分區(qū)視圖中按照分區(qū)視圖獲取規(guī)則獲取所述所有資源池中的所述第一部分資源池的分區(qū)視圖,包括:
[0024]所述管理節(jié)點根據(jù)所述資源池分區(qū)視圖獲取請求,按照分區(qū)視圖獲取規(guī)則對所述所有資源池中的每個資源池進行排序,其中,所述分區(qū)視圖獲取規(guī)則為所述每個資源池的分區(qū)所存儲數(shù)據(jù)的大小、資源池被訪問次數(shù)以及資源池的容量中的任一種;
[0025]所述管理節(jié)點按照從大到小的順序,將排序靠前的預設(shè)數(shù)量的資源池的分區(qū)視圖確定為所述第一部分資源池的分區(qū)視圖。
[0026]其中,資源池的容量可以為資源池的總?cè)萘?,或者,資源池容量可以為資源池的剩余空間的容量;
[0027]其中,管理節(jié)點對所有資源池中的每個資源池進行排序后,管理節(jié)點就可以確定哪些資源池的分區(qū)所存儲的數(shù)據(jù)的大小比較大,或者,哪些資源池被訪問的次數(shù)比較多,或者,哪些資源池的總?cè)萘炕蚰男┵Y源池的剩余空間的容量比較大等,這樣,管理節(jié)點就可以篩選出比較常用的或者可用的資源池。
[0028]結(jié)合第一方面或第一方面的第一種可能的實施方式,在第一方面的第六種可能的實施方式中,所述管理節(jié)點根據(jù)所述資源池分區(qū)視圖獲取請求從所述所有資源池的分區(qū)視圖中按照分區(qū)視圖獲取規(guī)則獲取所述所有資源池中的所述第一部分資源池的分區(qū)視圖,包括:
[0029]所述管理節(jié)點根據(jù)所述資源池分區(qū)視圖獲取請求,從所述所有資源池的分區(qū)視圖中將資源池的分區(qū)所存儲數(shù)據(jù)的大小大于預設(shè)閾值的資源池的分區(qū)視圖確定為所述第一部分資源池的分區(qū)視圖;或,
[0030]所述管理節(jié)點從所述所有資源池的分區(qū)視圖中將被訪問次數(shù)大于預設(shè)訪問次數(shù)的資源池的分區(qū)視圖確定為所述第一部分資源池的分區(qū)視圖;或,
[0031]所述管理節(jié)點從所述所有資源池的分區(qū)視圖中將容量大于預設(shè)容量的資源池的分區(qū)視圖確定為所述第一部分資源池的分區(qū)視圖。
[0032]其中,資源池的容量可以為資源池的總?cè)萘?,或者,資源池容量可以為資源池的剩余空間的容量。
[0033]其中,管理節(jié)點可以不需要對管理節(jié)點創(chuàng)建的所有資源池進行排序,而是直接設(shè)置一些限值,比如:針對資源池的分區(qū)所存儲數(shù)據(jù)的大小設(shè)置預設(shè)閾值,針對資源池被訪問次數(shù)設(shè)置預設(shè)訪問次數(shù),針對資源池的容量設(shè)置預設(shè)容量,進而將資源池的分區(qū)所存儲數(shù)據(jù)的大小與預設(shè)閾值進行比較,或者,將資源池被訪問次數(shù)與預設(shè)訪問次數(shù)進行比較,或者,將資源池的容量與預設(shè)容量進行比較等,并確定大于限值的資源池作為第一部分資源池。這樣,管理節(jié)點就可以篩選出比較常用的或者可用的資源池。
[0034]本發(fā)明實施例第二方面公開了一種用于執(zhí)行資源池的分區(qū)視圖發(fā)送方法的管理節(jié)點,該管理節(jié)點包括:處理器以及輸入輸出接口,所述處理器以及輸入輸出接口分別連接通信總線,其中:
[0035]所述輸入輸出接口,用于接收所述路由節(jié)點發(fā)送的資源池分區(qū)視圖獲取請求,所述資源池分區(qū)視圖獲取請求用于獲取所述管理節(jié)點創(chuàng)建的所有資源池的分區(qū)視圖;
[0036]所述處理器,用于根據(jù)所述資源池分區(qū)視圖獲取請求從所述所有資源池的分區(qū)視圖中按照分區(qū)視圖獲取規(guī)則獲取所述所有資源池中的第一部分資源池的分區(qū)視圖;
[0037]所述輸入輸出接口,還用于將所述第一部分資源池的分區(qū)視圖發(fā)送給所述路由節(jié)點,以及當所述管理節(jié)點處于空閑狀態(tài)時,將所述所有資源池中的第二部分資源池的分區(qū)視圖發(fā)送給所述路由節(jié)點,其中,所述第一部分資源池的分區(qū)視圖和所述第二部分資源池的分區(qū)視圖不同。
[0038]結(jié)合第二方面,在第二方面的第一種可能的實現(xiàn)方式中,所述輸入輸出接口,還用于接收所述路由節(jié)點發(fā)送的針對指定的資源池的資源池分區(qū)視圖獲取請求;
[0039]所述輸入輸出接口,還用于根據(jù)所述指定的資源池的資源池分區(qū)視圖獲取請求將所述所有資源池中的所述指定的資源池的分區(qū)視圖發(fā)送給所述路由節(jié)點;所述指定的資源池的分區(qū)視圖為所述所有資源池中除所述第一部分資源池和所述第二部分資源池外的資源池的分區(qū)視圖。
[0040]結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式,在第二方面的第二種可能的實現(xiàn)方式中,所述處理器,還用于判斷所述管理節(jié)點的資源池參數(shù)不滿足一次性發(fā)送所述所有資源池的分區(qū)視圖的觸發(fā)條件。
[0041]結(jié)合第二方面的第二種可能的實現(xiàn)方式,在第二方面的第三種可能的實現(xiàn)方式中,當所述資源池參數(shù)包括所述管理節(jié)點創(chuàng)建的所述所有資源池的數(shù)量時,所述處理器具體用于判斷所述管理節(jié)點創(chuàng)建的所述所有資源池的數(shù)量大于預設(shè)數(shù)量閾值。
[0042]結(jié)合第二方面的第二種可能的實現(xiàn)方式,在第二方面的第四種可能的實現(xiàn)方式中,當所述資源池參數(shù)包括所述管理節(jié)點創(chuàng)建的所述所有資源池的分區(qū)視圖所占所述管理節(jié)點的內(nèi)存空間的大小時,所述處理器具體用于判斷所述管理節(jié)點創(chuàng)建的所述所有資源池的分區(qū)視圖所占所述管理節(jié)點的內(nèi)存空間的大小大于預設(shè)內(nèi)存空間的大小。
[0043]結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式,在第二方面的第五種可能的實現(xiàn)方式中,所述輸入輸出接口根據(jù)所述資源池分區(qū)視圖獲取請求從所述所有資源池的分區(qū)視圖中按照分區(qū)視圖獲取規(guī)則獲取所述所有資源池中的所述第一部分資源池的分區(qū)視圖的方式具體為:
[0044]根據(jù)