欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種分布式系統(tǒng)中資源配置方法及系統(tǒng)的制作方法

文檔序號(hào):8472763閱讀:513來源:國(guó)知局
一種分布式系統(tǒng)中資源配置方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本公開涉及互聯(lián)網(wǎng)終端領(lǐng)域,特別涉及一種分布式系統(tǒng)中資源配置方法及系統(tǒng)。
【背景技術(shù)】
[0002]分布式系統(tǒng)中,如何將資源分散定位到系統(tǒng)中的各節(jié)點(diǎn),是其核心問題之一。目前的各種主流解決方案,都是基于不同的hash算法,在各資源與各節(jié)點(diǎn)之間形成映射,其不同之處,主要在于對(duì)資源分布均勻性、擴(kuò)容支持等問題的處理,我們選取直接取余算法和Dynamo算法作為背景方案的兩個(gè)典型代表。
[0003]關(guān)于直接取余算法
[0004]直接取余算法是最簡(jiǎn)單的hash分布算法之一,其基本思路是將分布式系統(tǒng)中的節(jié)點(diǎn)進(jìn)行連續(xù)編號(hào),將節(jié)點(diǎn)數(shù)作為直接取余算法中的除數(shù)因子,從而形成多個(gè)資源與多個(gè)節(jié)點(diǎn)的穩(wěn)定映射關(guān)系。該算法方案中,系統(tǒng)各節(jié)點(diǎn)如圖1所示,被編號(hào)形成一個(gè)線性序列。通過將資源編號(hào)對(duì)節(jié)點(diǎn)總數(shù)η取余,得到該資源對(duì)應(yīng)的節(jié)點(diǎn)編號(hào)。該方案在系統(tǒng)初始階段,資源分布是均勻的,但在擴(kuò)容時(shí),由于系統(tǒng)節(jié)點(diǎn)總數(shù)從η增加到η+1,每個(gè)節(jié)點(diǎn)有大約n/(n+1)的資源需要轉(zhuǎn)移到相鄰節(jié)點(diǎn),而對(duì)整個(gè)系統(tǒng)來說,幾乎所有的資源都需要移動(dòng),從而造成很大的系統(tǒng)負(fù)擔(dān)。
[0005]關(guān)于Dynamo算法
[0006]Dynamo算法源于亞馬遜的研究論文,其基本思路是,在給定的值空間中,將各節(jié)點(diǎn)與某一給定值綁定,然后將所有節(jié)點(diǎn)排列成環(huán)狀。對(duì)資源應(yīng)用穩(wěn)定不變的hash算法及參數(shù),然后取鄰近的節(jié)點(diǎn)作為其資源的存放節(jié)點(diǎn)。在該算法方案中,系統(tǒng)各節(jié)點(diǎn)如圖2所示,被編號(hào)形成一個(gè)環(huán)狀序列,每個(gè)節(jié)點(diǎn)對(duì)應(yīng)一個(gè)資源編號(hào),并負(fù)責(zé)接納后序所有編號(hào)的資源,直到下一個(gè)節(jié)點(diǎn)對(duì)應(yīng)的編號(hào)。。
[0007]圖2中,編號(hào)為O的節(jié)點(diǎn),將負(fù)責(zé)存放編號(hào)0-99的資源,編號(hào)為100的節(jié)點(diǎn)負(fù)責(zé)存放編號(hào)100-299的資源,而編號(hào)為300的節(jié)點(diǎn)則負(fù)責(zé)存放所有編號(hào)在300以上的資源。
[0008]該系統(tǒng)在擴(kuò)容時(shí),將增加一個(gè)節(jié)點(diǎn)到環(huán)中,例如,插入一個(gè)節(jié)點(diǎn)在編號(hào)100與編號(hào)300的節(jié)點(diǎn)之間,并將其編號(hào)設(shè)定為200,則擴(kuò)容過程將導(dǎo)致編號(hào)為100的節(jié)點(diǎn)上的部分資源需要轉(zhuǎn)移到新的節(jié)點(diǎn)上,而其系統(tǒng)中的其它節(jié)點(diǎn)無需變動(dòng),擴(kuò)容過程需要轉(zhuǎn)移的資源較少。但會(huì)因?yàn)閿U(kuò)容過程造成節(jié)點(diǎn)分布不均勻。相比較而言,背景I所述方案中,各節(jié)點(diǎn)的分布是均勻的。

【發(fā)明內(nèi)容】

[0009]為克服相關(guān)技術(shù)中存在的問題,本公開提供一種分布式系統(tǒng)中資源配置方法及系統(tǒng)。所述技術(shù)方案如下:
[0010]根據(jù)本公開實(shí)施例的第一方面,提供了一種分布式系統(tǒng)中資源配置方法,所述方法包括:
[0011]從分布式系統(tǒng)中獲取各個(gè)節(jié)點(diǎn);
[0012]對(duì)獲取的系統(tǒng)中的所有節(jié)點(diǎn)依次編號(hào),其中若系統(tǒng)中包括節(jié)點(diǎn)數(shù)為η個(gè),依次編號(hào)為O到n-Ι ;
[0013]將所有獲取的節(jié)點(diǎn)按照各個(gè)節(jié)點(diǎn)對(duì)應(yīng)的編號(hào)順序排列為環(huán)狀,將所述節(jié)點(diǎn)的資源編號(hào)除η得到的商作為其對(duì)應(yīng)節(jié)點(diǎn)的獲取資源量的對(duì)應(yīng)的節(jié)點(diǎn)編號(hào),所述資源編號(hào)為對(duì)應(yīng)該系統(tǒng)中各個(gè)節(jié)點(diǎn)待分配處理的所有資源對(duì)應(yīng)的標(biāo)識(shí);
[0014]當(dāng)系統(tǒng)擴(kuò)容后,對(duì)增加節(jié)點(diǎn)后的各個(gè)節(jié)點(diǎn)重新編號(hào),并重新計(jì)算每個(gè)節(jié)點(diǎn)上獲取資源量的節(jié)點(diǎn)編號(hào)。
[0015]作為優(yōu)選的,所述當(dāng)系統(tǒng)擴(kuò)容后,對(duì)增加節(jié)點(diǎn)后的各個(gè)節(jié)點(diǎn)重新編號(hào),并重新計(jì)算每個(gè)節(jié)點(diǎn)上獲取資源量的節(jié)點(diǎn)編號(hào),包括:
[0016]當(dāng)資源已分配的所對(duì)應(yīng)節(jié)點(diǎn)發(fā)生變更時(shí),若設(shè)增加的節(jié)點(diǎn)的編號(hào)為k,則對(duì)應(yīng)的增加后的各個(gè)節(jié)點(diǎn)編號(hào)應(yīng)該為0、1、2......k、k+1.......n-l+k ;
[0017]則將資源轉(zhuǎn)移到新的節(jié)點(diǎn)上,轉(zhuǎn)移到新的節(jié)點(diǎn)k上的資源量為I/(n+1)。
[0018]作為優(yōu)選的,所述當(dāng)系統(tǒng)擴(kuò)容后,對(duì)增加節(jié)點(diǎn)后的各個(gè)節(jié)點(diǎn)重新編號(hào),并重新計(jì)算每個(gè)節(jié)點(diǎn)上獲取資源量的節(jié)點(diǎn)編號(hào),包括:
[0019]當(dāng)η遠(yuǎn)大于I時(shí),則系統(tǒng)中平均每個(gè)節(jié)點(diǎn)需要接收的資源量為I/(η*(n+1)),平均每個(gè)節(jié)點(diǎn)需要移走的資源量是(2/n*(n+l))個(gè)。
[0020]本發(fā)明人實(shí)施例另一方便還提供一種分布式系統(tǒng)中資源配置系統(tǒng),所述系統(tǒng)包括:
[0021]資源存儲(chǔ)器、節(jié)點(diǎn)服務(wù)器及運(yùn)算服務(wù)器;
[0022]所述資源存儲(chǔ)器,用于為所述節(jié)點(diǎn)服務(wù)器提供資源;
[0023]所述運(yùn)算服務(wù)器,用于從分布式系統(tǒng)中獲取各個(gè)節(jié)點(diǎn)服務(wù)器;以及
[0024]用于對(duì)獲取的系統(tǒng)中的所有節(jié)點(diǎn)依次編號(hào),其中若系統(tǒng)中包括節(jié)點(diǎn)服務(wù)器數(shù)為η個(gè),依次編號(hào)為O到η-1 ;
[0025]將所有獲取的節(jié)點(diǎn)服務(wù)器按照各個(gè)節(jié)點(diǎn)服務(wù)器對(duì)應(yīng)的編號(hào)順序排列為環(huán)狀,將所述節(jié)點(diǎn)服務(wù)器的資源編號(hào)除η得到的商作為其對(duì)應(yīng)節(jié)點(diǎn)服務(wù)器的獲取資源量的對(duì)應(yīng)的節(jié)點(diǎn)服務(wù)器編號(hào),所述資源編號(hào)為對(duì)應(yīng)該系統(tǒng)中各個(gè)節(jié)點(diǎn)服務(wù)器待分配處理的所有資源對(duì)應(yīng)的標(biāo)識(shí);
[0026]當(dāng)節(jié)點(diǎn)服務(wù)器增加后,對(duì)增加節(jié)點(diǎn)服務(wù)器后的各個(gè)節(jié)點(diǎn)服務(wù)器重新編號(hào),并重新計(jì)算每個(gè)節(jié)點(diǎn)服務(wù)器上獲取資源量的節(jié)點(diǎn)服務(wù)器編號(hào)。
[0027]作為優(yōu)選的,所述當(dāng)系統(tǒng)中的節(jié)點(diǎn)服務(wù)器增加后,對(duì)增加節(jié)點(diǎn)服務(wù)器后的各個(gè)節(jié)點(diǎn)服務(wù)器重新編號(hào),并從新計(jì)算每個(gè)節(jié)點(diǎn)服務(wù)器上獲取資源量的節(jié)點(diǎn)服務(wù)器編號(hào),包括:
[0028]當(dāng)已分配的資源所對(duì)應(yīng)節(jié)點(diǎn)服務(wù)器發(fā)生變更時(shí),若設(shè)增加的節(jié)點(diǎn)服務(wù)器的編號(hào)為k,則對(duì)應(yīng)的增加后的各個(gè)節(jié)點(diǎn)服務(wù)器編號(hào)應(yīng)該為O、1、2......k、k+l.......n-1+k ;
[0029]則將資源轉(zhuǎn)移到新的節(jié)點(diǎn)服務(wù)器上,轉(zhuǎn)移到新的節(jié)點(diǎn)服務(wù)器k上的資源量為I/(n+1)。
[0030]作為優(yōu)選的,所述當(dāng)節(jié)點(diǎn)服務(wù)器增加后,對(duì)增加節(jié)點(diǎn)服務(wù)器后的各個(gè)節(jié)點(diǎn)服務(wù)器重新編號(hào),并重新計(jì)算每個(gè)節(jié)點(diǎn)服務(wù)器上獲取資源量的節(jié)點(diǎn)服務(wù)器編號(hào),包括:
[0031]當(dāng)η遠(yuǎn)大于I時(shí),則系統(tǒng)中平均每個(gè)節(jié)點(diǎn)服務(wù)器需要接收的資源量為I/(η*(n+1)),平均每個(gè)節(jié)點(diǎn)服務(wù)器需要移走的資源量是(2/n*(n+l))個(gè)。
[0032]本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
[0033]本發(fā)明提供的資源分配方法及系統(tǒng),在保持資源分布均勻的條件下,盡可能減少系統(tǒng)節(jié)點(diǎn)變更過程中需要轉(zhuǎn)移的資源量,從而減輕系統(tǒng)負(fù)擔(dān)。一方面在于分布式系節(jié)點(diǎn)的編號(hào)和排列方式以及資源分布算法,凡將分布式系統(tǒng)中的節(jié)點(diǎn)進(jìn)行順序編號(hào),并排列成環(huán)狀,同時(shí)使用資源編號(hào)對(duì)節(jié)點(diǎn)總數(shù)取商(而非取余)的方式構(gòu)建的資源分布算法,都應(yīng)視為與本發(fā)明等同的算法方案。
[0034]應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
【附圖說明】
[0035]此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實(shí)施例,并與說明書一起用于解釋本發(fā)明的原理。
[0036]圖1是根據(jù)一示例性實(shí)施例示出的一種方法的流程圖;
[0037]圖2A是根據(jù)一示例性實(shí)施例示出的資源分布示意圖;
[0038]圖2B是圖2A所示出的系統(tǒng)擴(kuò)容后資源分布示意圖;
[0039]圖3根據(jù)一示例性實(shí)施例示出的一種系統(tǒng)的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0040]這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本發(fā)明相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
[0041]圖1、圖2A及圖2B所示,是根據(jù)一示例性實(shí)施例示出的一種分布式系統(tǒng)中資源配置方法流程圖,如圖1所示,包括以下步驟。
[0042]所述方法包括:
[0043]在步驟SlOl中,從分布式系統(tǒng)中獲取各個(gè)節(jié)點(diǎn);
[0044]在步驟S102中,對(duì)獲取的系統(tǒng)中的所有節(jié)點(diǎn)依次編號(hào),其中若系統(tǒng)中包括節(jié)點(diǎn)數(shù)為η個(gè),依次編號(hào)為O到n-Ι ;
[0045]在步驟S103中,將所有獲取的節(jié)點(diǎn)按照各個(gè)節(jié)點(diǎn)對(duì)應(yīng)的編號(hào)順序排列為環(huán)狀,將所述節(jié)點(diǎn)的資源編號(hào)除η得到的商作為其對(duì)應(yīng)節(jié)點(diǎn)的獲取資源量的對(duì)應(yīng)的節(jié)點(diǎn)編號(hào),所述資源編號(hào)為對(duì)應(yīng)該系統(tǒng)中各個(gè)節(jié)點(diǎn)待分配處理的所有資源對(duì)應(yīng)的標(biāo)識(shí);
[0046]在步驟S104中,當(dāng)系統(tǒng)擴(kuò)容后,對(duì)增加節(jié)點(diǎn)后的各個(gè)節(jié)點(diǎn)重新編號(hào),并重新計(jì)算每個(gè)節(jié)點(diǎn)上獲取資源量的節(jié)點(diǎn)編號(hào)。
[0047]在資源配置的過程中,例如:假設(shè)系統(tǒng)中有5個(gè)節(jié)點(diǎn),300個(gè)資源,平均每個(gè)節(jié)點(diǎn)存放60個(gè)資源。
[0048]現(xiàn)在增加一個(gè)節(jié)點(diǎn),變成6個(gè)節(jié)點(diǎn),資源數(shù)還是300個(gè),所以平均每個(gè)節(jié)點(diǎn)就只需要存放50個(gè)資源了。
[0049]當(dāng)上述情況出現(xiàn)的時(shí)候,300個(gè)資源從分布在5個(gè)節(jié)點(diǎn)上,變成分布在6個(gè)節(jié)點(diǎn)上,這個(gè)過程意味著有一些資源需要從原來所在的節(jié)點(diǎn)遷移到一個(gè)新的節(jié)點(diǎn)上。本發(fā)明提供的方法就是希望這個(gè)轉(zhuǎn)移的量盡量的少。
[0050]假設(shè)之前有5個(gè)節(jié)點(diǎn),300個(gè)資源,平均每個(gè)節(jié)點(diǎn)存放60個(gè)資源。
[0051]每個(gè)節(jié)點(diǎn)的資源配置的編碼為如下:
[0052]初始狀態(tài):
[0053]O號(hào)節(jié)點(diǎn)存放資源:0-59
[0054]I號(hào)節(jié)點(diǎn)存放資源:60-119
[0055]2號(hào)節(jié)點(diǎn)存放資源:120-179
[0056]......
[0057]其它節(jié)點(diǎn)以此類推。
[0058]編號(hào)為0-59號(hào)資源要放在O號(hào)節(jié)點(diǎn)上的原因是0/6 = 0,1/6 = 0,...59/6 = 0,取整了都是O ;
[0059]相應(yīng)的,60-119號(hào)資源放在I號(hào)節(jié)點(diǎn)上,以此類推。
[0060]當(dāng)系統(tǒng)擴(kuò)容后,新增了一個(gè)節(jié)點(diǎn),假設(shè)是2號(hào)節(jié)點(diǎn)加入,原來的2號(hào)節(jié)點(diǎn)變成3號(hào),節(jié)點(diǎn)總數(shù)變成6個(gè)了,資源還是300個(gè),所以:
[0061]節(jié)點(diǎn)編號(hào)O:0-49;
[0062]節(jié)點(diǎn)編號(hào)1:50-99 ;
[0063]節(jié)點(diǎn)編號(hào)2: 100-14
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
东城区| 鱼台县| 威信县| 吉安县| 龙山县| 玉屏| 开化县| 犍为县| 垦利县| 宣威市| 商都县| 新民市| 淮安市| 吕梁市| 聂拉木县| 溧水县| 西吉县| 虎林市| 吉木萨尔县| 图片| 黑龙江省| 玉林市| 泗洪县| 宜城市| 宜良县| 泰安市| 丹东市| 康定县| 荔波县| 汉阴县| 柳江县| 黎平县| 泰兴市| 靖宇县| 射阳县| 巨野县| 海南省| 荣昌县| 石城县| 肃南| 合山市|