一種分布式存儲系統(tǒng)及其實現(xiàn)資源硬親和性的方法
【專利摘要】本發(fā)明公開了一種分布式存儲系統(tǒng)及其實現(xiàn)資源硬親和性的方法,涉及分布式存儲領(lǐng)域的存儲資源劃分策略技術(shù)。本發(fā)明公開的方法,包括:為存儲服務(wù)選擇存儲資源時,先對應(yīng)的存儲資源特性,再從決策樹的根部逐層選擇子節(jié)點,直到選擇至葉子節(jié)點以確定所述存儲服務(wù)的存儲資源;其中,決策樹的根節(jié)點對應(yīng)為一組存儲資源特性的決策因子構(gòu)成的決策域,多個子節(jié)點分為一層或幾層,每層所包含的各個子節(jié)點對應(yīng)為根節(jié)點對應(yīng)的決策域中的一種決策因子的不同范圍,各葉子節(jié)點對應(yīng)為不同的存儲資源池。本發(fā)明還公開了一種分布式存儲系統(tǒng)。本申請技術(shù)方案解決了現(xiàn)有的存儲資源無法提供針對性的服務(wù)的問題。
【專利說明】
一種分布式存儲系統(tǒng)及其實現(xiàn)資源硬親和性的方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及分布式存儲領(lǐng)域的存儲資源劃分策略,具體地說是一種基于決策樹實現(xiàn)存儲資源和存儲服務(wù)的硬親和的方案。
【背景技術(shù)】
[0002]隨著云計算和大數(shù)據(jù)技術(shù)的發(fā)展,傳統(tǒng)的單一存儲介質(zhì)的數(shù)據(jù)存儲方式已經(jīng)不能滿足大數(shù)據(jù)處理的需求,在這樣的背景下,分布式數(shù)據(jù)存儲得到了廣泛的應(yīng)用。與傳統(tǒng)的存儲設(shè)備相比,分布式存儲是將性價比高、分布廣泛的物理存儲資源通過網(wǎng)絡(luò)連接進行整合,提供尚可擴展性、尚性能、無接入限制的存儲資源池。
[0003]分布式存儲系統(tǒng)有以下特點:
[0004]數(shù)據(jù)分布,分布式存儲區(qū)別于傳統(tǒng)單機系統(tǒng)在于能夠?qū)⒋鎯Y源池中數(shù)據(jù)按照不同策略分布到不同的存儲節(jié)點上,并在多個節(jié)點之間實現(xiàn)負載均衡;
[0005]數(shù)據(jù)一致性,由于異常的存在,分布式存儲系統(tǒng)設(shè)計時往往會將數(shù)據(jù)冗余存儲多份,每一份稱為一個副本,這種方式能夠在存儲節(jié)點新增或發(fā)生故障時對數(shù)據(jù)重分配。副本策略是分布式存儲策略的一部分,同時也是分布式存儲系統(tǒng)唯一的容錯手段;
[0006]負載均衡,能夠分析存儲資源相關(guān)的磁盤容量,內(nèi)存使用情況和帶寬等,基于平衡性考慮對數(shù)據(jù)重分配。
[0007]分布式存儲系統(tǒng)的以上特點體現(xiàn)在數(shù)據(jù)存儲策略上,不同的存儲策略可以滿足不同的數(shù)據(jù)存儲需求。首先數(shù)據(jù)存儲是從用戶角度提出的原始需求,用戶不關(guān)心數(shù)據(jù)存儲到什么設(shè)備上,只需要根據(jù)數(shù)據(jù)讀寫的性能、數(shù)據(jù)的可靠性和成本選擇合適的存儲服務(wù)。而存儲服務(wù)提供基于存儲設(shè)備特性并受限于用戶需求的存儲策略。分布式存儲系統(tǒng)在滿足用戶存儲需求的同時,提供一個高效、高可靠和低成本的存儲服務(wù)平臺。相對于云計算的平臺即服務(wù),分布式存儲系統(tǒng)可以稱為數(shù)據(jù)存儲即服務(wù)。
【發(fā)明內(nèi)容】
[0008]本發(fā)明所要解決的技術(shù)問題是,提供一種分布式存儲系統(tǒng)及其實現(xiàn)資源硬親和性的方法,以解決現(xiàn)有分布式存儲系統(tǒng)無法為不同的使用需求提供針對性的存儲服務(wù)的問題。
[0009]為了解決上述技術(shù)問題,本發(fā)明公開了一種分布式存儲系統(tǒng)實現(xiàn)資源硬親和性的方法,包括:
[0010]當針對某一存儲服務(wù)進行存儲資源選擇時,根據(jù)該存儲服務(wù)的需求確定對應(yīng)的存儲資源特性,根據(jù)所確定的存儲資源特性從預(yù)先構(gòu)建的決策樹的根部逐層選擇子節(jié)點,直到選擇至葉子節(jié)點以確定所述存儲服務(wù)的存儲資源;
[0011 ] 其中,所述決策樹包括有一個根節(jié)點,多個子節(jié)點以及多個葉子節(jié)點,所述根節(jié)點對應(yīng)為一組存儲資源特性的決策因子構(gòu)成的決策域,所述多個子節(jié)點分為一層或幾層,每層所包含的各個子節(jié)點對應(yīng)為所述根節(jié)點對應(yīng)的決策域中的一種決策因子的不同范圍,各葉子節(jié)點對應(yīng)為不同的存儲資源池,且該存儲資源池滿足經(jīng)由根節(jié)點和多個子節(jié)點到達該葉子節(jié)點的子決策樹中所對應(yīng)的所有決策因子的不同范圍的需求。
[0012]可選地,上述方法中,直到選擇至葉子節(jié)點以確定所述存儲服務(wù)的存儲資源指:
[0013]在所選擇的葉子節(jié)點包括的存儲資源池中,按照分布式存儲的數(shù)據(jù)分布、數(shù)據(jù)一致性和負載均衡要求選擇所述存儲服務(wù)的存儲資源。
[0014]可選地,上述方法還包括:
[0015]根據(jù)存儲資源特性和不同存儲服務(wù)的需求的對應(yīng)關(guān)系將存儲資源進行劃分,根據(jù)存儲資源特性和不同存儲服務(wù)的需求的對應(yīng)關(guān)系構(gòu)建一顆資源特性和存儲服務(wù)對應(yīng)的決策樹,所述決策樹中根節(jié)點對應(yīng)一組存儲資源特性的決策因子構(gòu)成的決策域,每層所包含的子節(jié)點對應(yīng)的決策因子和一種存儲服務(wù)的需求相對應(yīng)。
[0016]可選地,上述方法構(gòu)建所述決策樹之前,該方法還包括:
[0017]對分布式存儲系統(tǒng)提供的存儲服務(wù)進行評估,確定所述決策樹中每層子節(jié)點的權(quán)重大小,所述每層子節(jié)點的權(quán)重大小與該層子節(jié)點對應(yīng)的決策因子所對應(yīng)的存儲服務(wù)的需求限制程度成正比。
[0018]可選地,上述方法中,構(gòu)建所述決策樹時,將權(quán)重最小的一層子節(jié)點置于決策樹根節(jié)點下的第一層,將權(quán)重第二小的一層子節(jié)點置于決策樹根節(jié)點下的第二層,依次類推,將權(quán)重最高的一層節(jié)點置于決策樹的頂層。
[0019]本發(fā)明公開了一種分布式存儲系統(tǒng),包括:
[0020]第一單元,在針對某一存儲服務(wù)進行存儲資源選擇時,根據(jù)該存儲服務(wù)的需求確定對應(yīng)的存儲資源特性;
[0021]第二單元,根據(jù)所確定的存儲資源特性從預(yù)先構(gòu)建的決策樹的根部逐層選擇節(jié)點至葉子節(jié)點以確定所述存儲服務(wù)的存儲資源;
[0022]其中,所述決策樹包括有一個根節(jié)點,多個子節(jié)點以及多個葉子節(jié)點,所述根節(jié)點對應(yīng)為一組存儲資源特性的決策因子構(gòu)成的決策域,所述多個子節(jié)點分為一層或幾層,每層所包含的各個子節(jié)點對應(yīng)為所述根節(jié)點對應(yīng)的決策域中的一種決策因子的不同范圍,各葉子節(jié)點對應(yīng)為不同的存儲資源池,且該存儲資源池滿足經(jīng)由根節(jié)點和多個子節(jié)點到達該葉子節(jié)點的子決策樹中所對應(yīng)的所有決策因子的不同范圍的需求。
[0023]可選地,上述系統(tǒng)中,所述第二單元,直到選擇至葉子節(jié)點以確定所述存儲服務(wù)的存儲資源指:
[0024]在所選擇的葉子節(jié)點包括的存儲資源池中,按照分布式存儲的數(shù)據(jù)分布、數(shù)據(jù)一致性和負載均衡要求選擇所述存儲服務(wù)的存儲資源。
[0025]可選地,上述系統(tǒng)還包括:
[0026]決策樹生成單元,根據(jù)存儲資源特性和不同服務(wù)需求的對應(yīng)關(guān)系將存儲資源進行劃分,根據(jù)存儲資源特性和不同存儲服務(wù)的需求的對應(yīng)關(guān)系構(gòu)建一顆資源特性和存儲服務(wù)對應(yīng)的決策樹,所述決策樹中根節(jié)點對應(yīng)一組存儲資源特性的決策因子構(gòu)成的決策域,每層所包含的子節(jié)點對應(yīng)的決策因子和一種存儲服務(wù)的需求相對應(yīng)。
[0027]可選地,上述系統(tǒng)中,所述決策樹生成單元在構(gòu)建所述決策樹之前,對分布式存儲系統(tǒng)提供的存儲服務(wù)進行評估,確定所述決策樹中每層子節(jié)點的權(quán)重大小,所述每層子節(jié)點的權(quán)重大小與該節(jié)點對應(yīng)的決策因子對應(yīng)的存儲服務(wù)的需求限制程度成正比。。
[0028]可選地,上述系統(tǒng)中,所述決策樹生成單元構(gòu)建所述決策樹時,將權(quán)重最小的一層子節(jié)點置于決策樹的根節(jié)點下的第一層,將權(quán)重第二小的一層子節(jié)點置于決策樹根節(jié)點下的第二層,依次類推,將權(quán)重最高的一層子節(jié)點置于決策樹的頂層。
[0029]本申請技術(shù)方案基于決策樹將存儲資源按特性劃分,對存儲資源特性的深度挖掘,根據(jù)資源特性在分布式存儲系統(tǒng)之上劃分出一個邏輯層。解決了現(xiàn)有的存儲資源無法提供針對性的服務(wù)的問題。本申請技術(shù)方案使存儲服務(wù)和存儲資源硬親和,基于分布式存儲系統(tǒng)提供了個性化、有競爭性的存儲服務(wù)。
【附圖說明】
[0030]圖1為本發(fā)明中按存儲資源特性劃分的決策樹示意圖;
[0031]圖2為本發(fā)明中決策域的劃分示意圖;
[0032]圖3為本發(fā)明中根據(jù)負載狀況選擇存儲資源池示意圖;
[0033]圖4為本發(fā)明中決策域重定向示意圖。
【具體實施方式】
[0034]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,下文將結(jié)合附圖對本發(fā)明技術(shù)方案作進一步詳細說明。需要說明的是,在不沖突的情況下,本申請的實施例和實施例中的特征可以任意相互組合。
[0035]實施例1
[0036]現(xiàn)有分布式存儲系統(tǒng)優(yōu)勢之一是可以將不同的存儲資源同時加入到存儲資源池中。比較典型的是存儲資源池中有閃存、高速磁盤、低速磁盤甚至是磁帶,各存儲資源可以分配在百兆網(wǎng)亦或是千兆網(wǎng)上。但是不同存儲資源的優(yōu)勢在資源池中被平等的使用,在一定程度上也導(dǎo)致了存儲資源的浪費。雖然已有的分布式存儲系統(tǒng)通過數(shù)據(jù)一致性和負載均衡在一定程度上平衡了不同存儲設(shè)備的不一致,但是眾多種類設(shè)備的一體化使用策略很難針對特定的存儲服務(wù)給出明確的使用規(guī)則。
[0037]因此,針對上述問題,本申請發(fā)明提出,以存儲服務(wù)為入口,將分布式存儲資源按存儲設(shè)備特性進行劃分和重組的策略,為不同的使用需求提供多種有針對性的存儲服務(wù)。即將存儲資源按存儲服務(wù)需求進行劃分。首先搜集存儲服務(wù)關(guān)心的存儲資源特性,然后根據(jù)存儲資源特性和不同服務(wù)需求的對應(yīng)關(guān)系將存儲資源進行劃分,最終構(gòu)建一顆資源特性和存儲服務(wù)對應(yīng)的決策樹。
[0038]其中,在進行存儲資源選擇時,可以指定多種決策因子即選擇條件,在決策樹中逐層向下選擇存儲資源。通過這種方法,一種服務(wù)只使用特定決策域下的存儲資源池,達到存儲資源與存儲服務(wù)的硬親和。
[0039]基于上述思想,本實施例提供一種分布式存儲系統(tǒng)實現(xiàn)資源硬親和性的方法,主要包括如下操作:
[0040]當針對某一存儲服務(wù)進行存儲資源選擇時,根據(jù)該存儲服務(wù)的需求確定對應(yīng)的存儲資源特性,根據(jù)所確定的存儲資源特性從預(yù)先構(gòu)建的決策樹的根部逐層選擇子節(jié)點,直到選擇至葉子節(jié)點以確定存儲服務(wù)的存儲資源;
[0041]其中,決策樹包括有一個根節(jié)點,多個子節(jié)點以及多個葉子節(jié)點,根節(jié)點對應(yīng)為一組存儲資源特性的決策因子構(gòu)成的決策域,多個子節(jié)點可以分為一層或幾層,每層包括有多個子節(jié)點時,每個節(jié)點對應(yīng)為根節(jié)點對應(yīng)的決策域中的一種決策因子的不同范圍,各葉子節(jié)點對應(yīng)不同的存儲資源池,且該存儲資源池滿足經(jīng)由根節(jié)點和多個子節(jié)點到達該葉子節(jié)點的子決策樹中所對應(yīng)的所有決策因子的不同范圍的需求。
[0042]上述方法中,在所選擇的葉子節(jié)點包括的存儲資源池中,可以按照分布式存儲的數(shù)據(jù)分布、數(shù)據(jù)一致性和負載均衡要求選擇存儲服務(wù)的存儲資源。
[0043]另外,執(zhí)行上述操作之前,該方法還可以根據(jù)存儲資源特性和不同存儲服務(wù)的需求的對應(yīng)關(guān)系將存儲資源進行劃分,根據(jù)存儲資源特性和不同存儲服務(wù)的需求的對應(yīng)關(guān)系構(gòu)建一顆資源特性和存儲服務(wù)對應(yīng)的決策樹。
[0044]具體地,構(gòu)建決策樹時,本實施例依賴了圖1所示的數(shù)學(xué)模型,該模型包括三類節(jié)點:決策節(jié)點,機會節(jié)點,終結(jié)點。其中,決策樹中根節(jié)點是下一層子節(jié)點的決策節(jié)點,根節(jié)點將記錄存儲服務(wù)和機會節(jié)點的對應(yīng)關(guān)系。子節(jié)點又稱為機會節(jié)點,當決策節(jié)點經(jīng)過一次決策選定某一子節(jié)點后,該子節(jié)點被認定為該次決策的機會節(jié)點,當此機會節(jié)點繼續(xù)向下選擇時他又成為選擇下一層機會節(jié)點的決策節(jié)點,依次類推。終結(jié)點是一個決策選擇的最終節(jié)點也就是決策樹的葉子節(jié)點,終結(jié)節(jié)點將和具體的存儲資源池相對應(yīng),同時終結(jié)點將記錄存儲池中所有存儲節(jié)點特性和負載狀況。
[0045]而決策樹中,根節(jié)點對應(yīng)的是一組存儲資源特性的決策因子構(gòu)成的決策域,而每層所包含的子節(jié)點對應(yīng)的決策因子和一種存儲服務(wù)的需求相對應(yīng)。由于決策樹的構(gòu)建和存儲資源的特性是強相關(guān)的,存儲資源的每一種特性設(shè)定為一種決策因子。因此在構(gòu)建決策樹之前,需要對提供的存儲服務(wù)進行評估,來決定每一種決策因子對應(yīng)的子節(jié)點占用的權(quán)重大小,權(quán)重越大的決策因子(即決策因子對應(yīng)的一層子節(jié)點)將越靠近決策樹的頂層。而每層子節(jié)點的權(quán)重大小與該層子節(jié)點對應(yīng)的決策域?qū)?yīng)的存儲服務(wù)的需求限制程度成正比。即存儲服務(wù)的需求限制程度越高(例如存儲服務(wù)的需求限制嚴苛),則對應(yīng)的決策因子的子節(jié)點的權(quán)重越高。決策樹中同一層的子節(jié)點則是權(quán)重相同的子節(jié)點,是對同一種決策因子在范圍上的劃分。具體地,在一種服務(wù)請求被下發(fā)到?jīng)Q策樹時,可以是權(quán)重最大的決策因子首先被滿足,之后根據(jù)決策因子的權(quán)重大小繼續(xù)在被選定的子樹中進行篩選?;蛘?,將權(quán)重最小的一層子節(jié)點置于決策樹根節(jié)點下的第一層,將權(quán)重第二小的一層子節(jié)點置于決策樹根節(jié)點下的第二層,依次類推,將權(quán)重最高的一層節(jié)點置于決策樹的頂層。
[0046]例如,決策樹根部第一層是對存儲資源讀寫速率進行約束,那么可以將存儲速率分段,每一段在該層決策樹中對應(yīng)不同子節(jié)點。那么讀寫速率為決策因子,每個子節(jié)點下的子樹是一個決策域。同時,如果網(wǎng)絡(luò)帶寬和讀寫速率權(quán)重相同,那么在該層決策樹中網(wǎng)絡(luò)帶寬按服務(wù)需求進行劃分,這樣就能分出若干個滿足服務(wù)需求的決策域。
[0047]而上述方法構(gòu)建決策樹時,還依賴決策域的劃分,此決策域的劃分與存儲服務(wù)的需求相對應(yīng)。即對存儲資源的按需劃分主要是基于決策樹在邏輯層面上對存儲資源特性的按需劃分,決策樹按域劃分包括根決策域,子決策域和資源池。每一級決策節(jié)點記錄其直接子節(jié)點的下更具體的決策特性,以根決策節(jié)點為例。服務(wù)需求按網(wǎng)絡(luò)傳輸速率劃分,分別劃分為10Mb,100Mb和1Gb,那么這三種情況將被投射到三個子決策域,對于這三種決策域選擇方式將被記錄到他們的父決策域即根決策域。
[0048]資源池下的所有存儲節(jié)點代表能夠提供一種具體服務(wù)的存儲資源,每個存儲池只在其內(nèi)部進行存儲數(shù)據(jù)分布式存儲,存儲池之間在邏輯上是相互獨立的,同時每個存儲池在決策選擇時將自身的負荷情況上報給父決策域節(jié)點。
[0049]根決策域在邏輯上對應(yīng)的是所有存儲資源,在一種存儲服務(wù)對應(yīng)到一種子決策域下的存儲池時,由該決策域節(jié)點記錄存儲服務(wù)和存儲節(jié)點的對應(yīng)關(guān)系。在數(shù)據(jù)寫入成功后該子決策域?qū)⒆陨碓跊Q策樹中的位置和服務(wù)對應(yīng)關(guān)系上報給根決策域節(jié)點。在存儲數(shù)據(jù)使用該服務(wù)時,由根決策域確定服務(wù)對應(yīng)的子決策域,再由子決策域查找到具體的存儲池,將存儲數(shù)據(jù)最終落實到存儲節(jié)點上,如圖2所示。
[0050]另外,基于決策樹的存儲服務(wù)和決策域是相對應(yīng)的,在存儲服務(wù)明確的情況下,SP根據(jù)決策因子可以逐層定位到葉子節(jié)點的存儲資源池,存儲數(shù)據(jù)的主副本將在該資源池下的不同存儲節(jié)點上均勻分布。
[0051]特殊的,根據(jù)決策因子不能最終定位到資源池的情況,被定位到的目標決策域下子樹各子節(jié)點將被認定為和存儲服務(wù)相符的決策域,該域下的所有存儲池將被認定為滿足該服務(wù)。目標決策域?qū)⒅饘酉蜃記Q策域獲取各存儲池的負荷情況,最終將存儲數(shù)據(jù)分配到負荷最小的存儲池當中(如圖3所示)?;跊Q策樹的數(shù)據(jù)分布是數(shù)據(jù)負載均衡和一致性的前提,是存儲服務(wù)選擇選擇存儲資源的依據(jù)。
[0052]還要考慮到負載均衡,每一子決策域下所有存儲資源的負載狀況將被記錄到該子決策域的父決策域節(jié)點,在當前決策域被服務(wù)需求鎖定為最終決策域后,可以根據(jù)該決策域父節(jié)點記錄的負載狀態(tài)將存儲數(shù)據(jù)保存到負載最小的存儲池當中。
[0053]—般情況下,一次數(shù)據(jù)存儲的主副本將被均勻的分布在存儲池為單位的決策域內(nèi)。特殊的,當一個存儲池已經(jīng)達到了負載上限,如內(nèi)存使用,磁盤使用,帶寬使用等。那么在數(shù)據(jù)到達該存儲池前,由該存儲池的父決策域節(jié)點判斷當前存儲池在新數(shù)據(jù)保存到存儲池后是否影響存儲池內(nèi)其他服務(wù)需求。如果不影響,存儲數(shù)據(jù)將被正常保存到該存儲池下,否則該存儲池的父決策域節(jié)點將在兄弟節(jié)點選擇決策因子和本地服務(wù)最相近的決策域,并將數(shù)據(jù)重定向到該決策域?qū)?yīng)的存儲池中(如圖4所示)。
[0054]最后,基于決策樹的負載均衡為數(shù)據(jù)一致性考慮提供了數(shù)據(jù)重定向的方法。分布式存儲系統(tǒng)對一致性要求可以分為強一致性和弱一致性。強一致性保證被寫入存儲系統(tǒng)的數(shù)據(jù)后續(xù)讀操作都將返回最新值。寫操作只有在全部副本寫成功的情況下才會返回操作成功,否則將回退寫入數(shù)據(jù)并返回失敗。弱一致性不保證被寫入存儲系統(tǒng)的數(shù)據(jù)讀操作都是最新值,但是在未來的一段時間內(nèi)不同的副本將逐漸趨向和主本一致。數(shù)據(jù)在被寫入主本后將返回成功,與副本的數(shù)據(jù)同步將由存儲系統(tǒng)基于負載均衡的考慮逐步實施。
[0055]投射到?jīng)Q策樹,強一致性和弱一致性體現(xiàn)的是數(shù)據(jù)讀寫可靠程度和性能。數(shù)據(jù)存儲服務(wù)對一致性的要求作為存儲服務(wù)屬性被記錄到和數(shù)據(jù)所在存儲池對應(yīng)的決策域節(jié)點上。當發(fā)生強一致性寫操作時,決策域節(jié)點將根據(jù)存儲節(jié)點的歷史讀寫狀態(tài)考慮存儲節(jié)點可靠性并給出存儲節(jié)點選擇結(jié)果,將數(shù)據(jù)主副本寫入相對穩(wěn)定的設(shè)備當中。對于弱一致性,選擇存儲節(jié)點將優(yōu)先考慮存儲節(jié)點的性能,在主本寫入存儲節(jié)點后操作將返回成功,之后將進一步判斷存儲池內(nèi)其他節(jié)點性能和歷史讀寫狀態(tài),并將數(shù)據(jù)主副本重新寫入存儲節(jié)點。
[0056]數(shù)據(jù)一致性是分布式存儲系統(tǒng)的數(shù)據(jù)可靠性策略,基于決策樹的數(shù)據(jù)一致性是將數(shù)據(jù)保存到和強弱一致性要求匹配到存儲資源上。典型的分布式存儲系統(tǒng)則是在數(shù)據(jù)發(fā)生異常時用數(shù)據(jù)一致性策略恢復(fù)數(shù)據(jù)。
[0057]實施例2
[0058]本實施例提供一種分布式存儲系統(tǒng),可以實現(xiàn)上述實施例1的方法,其至少包括如下各單元。
[0059]第一單元,在針對某一存儲服務(wù)進行存儲資源選擇時,根據(jù)該存儲服務(wù)的需求確定對應(yīng)的存儲資源特性;
[0060]第二單元,根據(jù)所確定的存儲資源特性從預(yù)先構(gòu)建的決策樹的根部逐層選擇子節(jié)點至葉子節(jié)點以確定所述存儲服務(wù)的存儲資源;
[0061]其中,所述決策樹包括有一個根節(jié)點,多個子節(jié)點以及多個葉子節(jié)點,根節(jié)點對應(yīng)為一組存儲資源特性的決策因子構(gòu)成的決策域,多個子節(jié)點分為一層或幾層,每層所包括的各個子節(jié)點對應(yīng)為根節(jié)點所對應(yīng)的決策域中的一個決策因子的不同范圍,各葉子節(jié)點則對應(yīng)為不同的存儲資源池,且該存儲資源池滿足經(jīng)由根節(jié)點和多個子節(jié)點到達該葉子節(jié)點的子決策樹中所對應(yīng)的所有決策因子的不同范圍的需求。
[0062]具體地,第二單元,在所選擇的葉子節(jié)點包括的存儲資源池中,按照分布式存儲的數(shù)據(jù)分布、數(shù)據(jù)一致性和負載均衡要求選擇所述存儲服務(wù)的存儲資源。
[0063]另外,上述系統(tǒng)還可以包括:決策樹生成單元,根據(jù)存儲資源特性和不同服務(wù)需求的對應(yīng)關(guān)系將存儲資源進行劃分,根據(jù)存儲資源特性和不同存儲服務(wù)的需求的對應(yīng)關(guān)系構(gòu)建一顆資源特性和存儲服務(wù)對應(yīng)的決策樹,所述決策樹中根節(jié)點對應(yīng)一組存儲資源特性的決策因子構(gòu)成的決策域,每層所包含的子節(jié)點對應(yīng)的決策因子和一種存儲服務(wù)的需求相對應(yīng)。要說明的是,上決策樹生成單元在構(gòu)建所述決策樹之前,還會對分布式存儲系統(tǒng)提供的存儲服務(wù)進行評估,確定決策樹中每層子個節(jié)點的權(quán)重大小,每一層子節(jié)點的權(quán)重大小與該層子節(jié)點對應(yīng)的決策因子對應(yīng)的存儲服務(wù)的需求限制程度成正比。
[0064]具體地,決策樹生成單元構(gòu)建所述決策樹時,將權(quán)重最小的一層子節(jié)點置于決策樹根部(即根節(jié)點)下第一層,將權(quán)重第二小的一層子節(jié)點置于決策樹根部起第二層,依次類推,將權(quán)重最高的一層子節(jié)點置于決策的頂層。其中,一層所包含的多個子節(jié)點時,這多個子節(jié)點對應(yīng)于同一決策因子的不同范圍而已。
[0065]由于上述系統(tǒng)可以實施上述實施例1的方法,因此上述系統(tǒng)其他詳細操作可以參見上述實施例1的相應(yīng)內(nèi)容,在此不再贅述。
[0066]本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關(guān)硬件完成,所述程序可以存儲于計算機可讀存儲介質(zhì)中,如只讀存儲器、磁盤或光盤等??蛇x地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現(xiàn)。相應(yīng)地,上述實施例中的各模塊/單元可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。本申請不限制于任何特定形式的硬件和軟件的結(jié)合。
[0067]以上所述,僅為本發(fā)明的較佳實例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【主權(quán)項】
1.一種分布式存儲系統(tǒng)實現(xiàn)資源硬親和性的方法,其特征在于,包括:當針對某一存儲服務(wù)進行存儲資源選擇時,根據(jù)該存儲服務(wù)的需求確定對應(yīng)的存儲資 源特性,根據(jù)所確定的存儲資源特性從預(yù)先構(gòu)建的決策樹的根部逐層選擇子節(jié)點,直到選 擇至葉子節(jié)點以確定所述存儲服務(wù)的存儲資源;其中,所述決策樹包括有一個根節(jié)點,多個子節(jié)點以及多個葉子節(jié)點,所述根節(jié)點對應(yīng) 為一組存儲資源特性的決策因子構(gòu)成的決策域,所述多個子節(jié)點分為一層或幾層,每層所 包含的各個子節(jié)點對應(yīng)為所述根節(jié)點對應(yīng)的決策域中的一種決策因子的不同范圍,各葉子 節(jié)點對應(yīng)為不同的存儲資源池,且該存儲資源池滿足經(jīng)由根節(jié)點和多個子節(jié)點到達該葉子 節(jié)點的子決策樹中所對應(yīng)的所有決策因子的不同范圍的需求。2.如權(quán)利要求1所述的方法,其特征在于,直到選擇至葉子節(jié)點以確定所述存儲服務(wù) 的存儲資源指:在所選擇的葉子節(jié)點包括的存儲資源池中,按照分布式存儲的數(shù)據(jù)分布、數(shù)據(jù)一致性 和負載均衡要求選擇所述存儲服務(wù)的存儲資源。3.如權(quán)利要求1或2所述的方法,其特征在于,該方法還包括:根據(jù)存儲資源特性和不同存儲服務(wù)的需求的對應(yīng)關(guān)系將存儲資源進行劃分,根據(jù)存儲 資源特性和不同存儲服務(wù)的需求的對應(yīng)關(guān)系構(gòu)建一顆資源特性和存儲服務(wù)對應(yīng)的決策樹, 所述決策樹中根節(jié)點對應(yīng)一組存儲資源特性的決策因子構(gòu)成的決策域,每層所包含的子節(jié) 點對應(yīng)的決策因子和一種存儲服務(wù)的需求相對應(yīng)。4.如權(quán)利要求3所述的方法,其特征在于,構(gòu)建所述決策樹之前,該方法還包括:對分布式存儲系統(tǒng)提供的存儲服務(wù)進行評估,確定所述決策樹中每層子節(jié)點的權(quán)重大 小,所述每層子節(jié)點的權(quán)重大小與該層子節(jié)點對應(yīng)的決策因子所對應(yīng)的存儲服務(wù)的需求限 制程度成正比。5.如權(quán)利要求4所述的方法,其特征在于,構(gòu)建所述決策樹時,將權(quán)重最小的一層子節(jié) 點置于決策樹根節(jié)點下的第一層,將權(quán)重第二小的一層子節(jié)點置于決策樹根節(jié)點下的第二 層,依次類推,將權(quán)重最高的一層節(jié)點置于決策樹的頂層。6.—種分布式存儲系統(tǒng),其特征在于,包括:第一單元,在針對某一存儲服務(wù)進行存儲資源選擇時,根據(jù)該存儲服務(wù)的需求確定對 應(yīng)的存儲資源特性;第二單元,根據(jù)所確定的存儲資源特性從預(yù)先構(gòu)建的決策樹的根部逐層選擇節(jié)點至葉 子節(jié)點以確定所述存儲服務(wù)的存儲資源;其中,所述決策樹包括有一個根節(jié)點,多個子節(jié)點以及多個葉子節(jié)點,所述根節(jié)點對應(yīng) 為一組存儲資源特性的決策因子構(gòu)成的決策域,所述多個子節(jié)點分為一層或幾層,每層所 包含的各個子節(jié)點對應(yīng)為所述根節(jié)點對應(yīng)的決策域中的一種決策因子的不同范圍,各葉子 節(jié)點對應(yīng)為不同的存儲資源池,且該存儲資源池滿足經(jīng)由根節(jié)點和多個子節(jié)點到達該葉子 節(jié)點的子決策樹中所對應(yīng)的所有決策因子的不同范圍的需求。7.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述第二單元,直到選擇至葉子節(jié)點以確定 所述存儲服務(wù)的存儲資源指:在所選擇的葉子節(jié)點包括的存儲資源池中,按照分布式存儲的數(shù)據(jù)分布、數(shù)據(jù)一致性 和負載均衡要求選擇所述存儲服務(wù)的存儲資源。8.如權(quán)利要求6或7所述的系統(tǒng),其特征在于,該系統(tǒng)還包括: 決策樹生成單元,根據(jù)存儲資源特性和不同服務(wù)需求的對應(yīng)關(guān)系將存儲資源進行劃分,根據(jù)存儲資源特性和不同存儲服務(wù)的需求的對應(yīng)關(guān)系構(gòu)建一顆資源特性和存儲服務(wù)對應(yīng)的決策樹,所述決策樹中根節(jié)點對應(yīng)一組存儲資源特性的決策因子構(gòu)成的決策域,每層所包含的子節(jié)點對應(yīng)的決策因子和一種存儲服務(wù)的需求相對應(yīng)。9.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述決策樹生成單元在構(gòu)建所述決策樹之前,對分布式存儲系統(tǒng)提供的存儲服務(wù)進行評估,確定所述決策樹中每層子節(jié)點的權(quán)重大小,所述每層子節(jié)點的權(quán)重大小與該節(jié)點對應(yīng)的決策因子對應(yīng)的存儲服務(wù)的需求限制程度成正比。10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述決策樹生成單元構(gòu)建所述決策樹時,將權(quán)重最小的一層子節(jié)點置于決策樹的根節(jié)點下的第一層,將權(quán)重第二小的一層子節(jié)點置于決策樹根節(jié)點下的第二層,依次類推,將權(quán)重最高的一層子節(jié)點置于決策樹的頂層。
【文檔編號】H04L29/08GK105991705SQ201510070113
【公開日】2016年10月5日
【申請日】2015年2月10日
【發(fā)明人】鄭宏哲
【申請人】中興通訊股份有限公司