亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

為數(shù)據(jù)副本設(shè)定獨(dú)立的權(quán)重因子和速度因子的方法

文檔序號(hào):10724487閱讀:372來(lái)源:國(guó)知局
為數(shù)據(jù)副本設(shè)定獨(dú)立的權(quán)重因子和速度因子的方法
【專利摘要】為數(shù)據(jù)副本設(shè)定獨(dú)立的權(quán)重因子和速度因子的方法涉及計(jì)算機(jī)技術(shù)領(lǐng)域。本發(fā)明主要是為每個(gè)數(shù)據(jù)副本增加一個(gè)權(quán)重,在數(shù)據(jù)讀寫的時(shí)候按照權(quán)重大小來(lái)依次對(duì)數(shù)據(jù)副本做讀寫,權(quán)重越高,越優(yōu)先讀寫;本發(fā)明對(duì)數(shù)據(jù)寫成功的返回條件可以設(shè)定,按照數(shù)據(jù)副本的權(quán)重滿足設(shè)定的一致性原則,提高了系統(tǒng)的寫效率,降低延遲;本發(fā)明根據(jù)存儲(chǔ)節(jié)點(diǎn)的各自的性能設(shè)定不同速度因子,對(duì)性能好節(jié)點(diǎn)優(yōu)先讀寫。
【專利說(shuō)明】
為數(shù)據(jù)副本設(shè)定獨(dú)立的權(quán)重因子和速度因子的方法
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其是計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)領(lǐng)域。
【背景技術(shù)】
[0002] 在軟件定義存儲(chǔ),分布式計(jì)算,以及大數(shù)據(jù)的應(yīng)用中,都使用數(shù)據(jù)副本來(lái)存儲(chǔ)數(shù) 據(jù)。數(shù)據(jù)副本就是一份數(shù)據(jù)一般有2或者3個(gè)副本,分別存儲(chǔ)在不同的存儲(chǔ)節(jié)點(diǎn)中,目的是為 了保證數(shù)據(jù)一致性和完整性。
[0003] 下面以三個(gè)數(shù)據(jù)副本為例來(lái)詳細(xì)說(shuō)明。假設(shè)有100M的數(shù)據(jù)需要存儲(chǔ),有3個(gè)副本, 那么有同樣的100M的數(shù)據(jù)分別存儲(chǔ)在3個(gè)存儲(chǔ)節(jié)點(diǎn)上。這樣即使某個(gè)或者某兩個(gè)存儲(chǔ)節(jié)點(diǎn) 失敗,數(shù)據(jù)還是完整的,不會(huì)出現(xiàn)數(shù)據(jù)丟失。100M的數(shù)據(jù)如何存儲(chǔ)在存儲(chǔ)節(jié)點(diǎn)通過(guò)元數(shù)據(jù)表 來(lái)定義。
[0004] 元數(shù)據(jù)表不是實(shí)際的數(shù)據(jù),而是對(duì)實(shí)際數(shù)據(jù)存儲(chǔ)位置的描述。假設(shè)100M按照4M- 個(gè)單位來(lái)存儲(chǔ),那么就需要100M/4M = 25個(gè)元數(shù)據(jù)描述。具體如下表:
在傳統(tǒng)的數(shù)據(jù)副本存儲(chǔ)中,每個(gè)節(jié)點(diǎn)的數(shù)據(jù)都是等權(quán)重的,按上述的例子,要寫入一個(gè) 4M數(shù)據(jù),需要3個(gè)節(jié)點(diǎn)的3個(gè)副本都完成寫入操作并正確返回才算是一次寫操作完成。要讀 出一個(gè)4M數(shù)據(jù),可以隨機(jī)從這3個(gè)節(jié)點(diǎn)中任何一個(gè)讀出。以上讀寫操作沒(méi)有考慮性能開(kāi)銷, 假設(shè)其中一個(gè)節(jié)點(diǎn)是一臺(tái)配置不高的機(jī)器,讀寫性能較差,那么就會(huì)存在性能瓶頸,導(dǎo)致讀 寫延遲。在一個(gè)較大服務(wù)器群中,服務(wù)器的性能和配置差別較大,這樣依據(jù)現(xiàn)有的技術(shù),整 個(gè)系統(tǒng)的性能被更新慢的服務(wù)器拖累。本發(fā)明設(shè)計(jì)了數(shù)據(jù)副本權(quán)重,通過(guò)權(quán)重來(lái)設(shè)定數(shù)據(jù) 副本的讀寫順序和一致性檢查,達(dá)到性能和數(shù)據(jù)完整性之間的平衡。

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

[0005] 本發(fā)明的為數(shù)據(jù)副本設(shè)定獨(dú)立的權(quán)重因子和速度因子的方法主要是為每個(gè)數(shù)據(jù) 副本增加一個(gè)權(quán)重,在數(shù)據(jù)讀寫的時(shí)候按照權(quán)重大小來(lái)依次對(duì)數(shù)據(jù)副本做讀寫,權(quán)重越高, 越優(yōu)先讀寫;本發(fā)明對(duì)數(shù)據(jù)寫成功的返回條件可以設(shè)定,按照數(shù)據(jù)副本的權(quán)重滿足設(shè)定的 一致性原則,提高了系統(tǒng)的寫效率,降低延遲;本發(fā)明根據(jù)存儲(chǔ)節(jié)點(diǎn)的各自的性能設(shè)定不同 速度因子,對(duì)性能好節(jié)點(diǎn)優(yōu)先讀寫。
[0006] 為數(shù)據(jù)副本設(shè)定獨(dú)立的權(quán)重因子和速度因子的方法,其實(shí)現(xiàn)步驟如下: 1. 為每個(gè)數(shù)據(jù)副本設(shè)定獨(dú)立的權(quán)重因子,設(shè)定原則是有且只有一個(gè)副本是高權(quán)重因 子,其它副本是低等權(quán)重因子; 2. 數(shù)據(jù)副本高權(quán)重因子的設(shè)定算法是N減去1,N為數(shù)據(jù)副本數(shù),其它數(shù)據(jù)副本為低等權(quán) 重因子,低等權(quán)重因子全部設(shè)定為1 ; 3. 為每個(gè)數(shù)據(jù)副本設(shè)定獨(dú)立速度因子,速度因子跟數(shù)據(jù)副本所存放的存儲(chǔ)節(jié)點(diǎn)讀寫性 能有關(guān),讀與性能越尚,速度因子值越大; 4. 數(shù)據(jù)副本速度因子最大值設(shè)定算法是:1/(N+1),N為數(shù)據(jù)副本數(shù);其它數(shù)據(jù)副本的 速度因子根據(jù)節(jié)點(diǎn)性能等級(jí),可以自由設(shè)置,但是不能超過(guò)最大值,而且根據(jù)算法,所有數(shù) 據(jù)副本的速度因子總和小于1; 5. 權(quán)重因子加速度因子作為數(shù)據(jù)副本權(quán)重;數(shù)據(jù)寫順序按數(shù)據(jù)副本權(quán)重依次寫,數(shù)據(jù) 讀順序按速度因子大小次序讀; 6. 數(shù)據(jù)副本具有強(qiáng)一致性原則和弱一致性原則,數(shù)據(jù)副本權(quán)重之和大于或者等于的數(shù) 據(jù)副本數(shù),就認(rèn)為滿足數(shù)據(jù)強(qiáng)一致性原則,在沒(méi)有節(jié)點(diǎn)失敗的情況下,數(shù)據(jù)副本必須滿足強(qiáng) 一致性原則;數(shù)據(jù)副本權(quán)重之和大于或者等于的數(shù)據(jù)副本數(shù)減1,就認(rèn)為符合數(shù)據(jù)弱一致性 原則;在有節(jié)點(diǎn)失敗的情況下,數(shù)據(jù)副本要求滿足弱一致性原則。
[0007] 為數(shù)據(jù)副本設(shè)定獨(dú)立的權(quán)重因子和速度因子的方法,其實(shí)現(xiàn)步驟也可以描述為: 步驟S01.為系統(tǒng)設(shè)定使用的一致性原則,可以選擇強(qiáng)一致性原則或弱一致性原則; 步驟S02.為每個(gè)數(shù)據(jù)副本設(shè)定獨(dú)立的權(quán)重因子; 步驟S03.為每個(gè)數(shù)據(jù)副本設(shè)定獨(dú)立的速度因子; 步驟S04.為每個(gè)數(shù)據(jù)副本設(shè)定副本權(quán)重; 步驟S05.數(shù)據(jù)寫操作,按數(shù)據(jù)副本權(quán)重依次寫; 步驟S06.數(shù)據(jù)讀操作,按數(shù)據(jù)副本速度因子大小從大往小讀。
【附圖說(shuō)明】
[0008] 圖1是本發(fā)明的實(shí)現(xiàn)流程圖。
【具體實(shí)施方式】
[0009] 參看圖1,實(shí)現(xiàn)本發(fā)明的為數(shù)據(jù)副本設(shè)定獨(dú)立的權(quán)重因子和速度因子的方法的實(shí) 施例如下: 假設(shè)有100M的數(shù)據(jù)需要存儲(chǔ),按照3個(gè)副本方式存儲(chǔ)在10個(gè)存儲(chǔ)節(jié)點(diǎn)上,按照10M-個(gè) 單元來(lái)存儲(chǔ),傳統(tǒng)的數(shù)據(jù)分布表如下:
X表示節(jié)點(diǎn)上數(shù)據(jù)副本分布,每個(gè)存儲(chǔ)節(jié)點(diǎn)都有3個(gè)數(shù)據(jù)副本。本發(fā)明在傳統(tǒng)的數(shù)據(jù)分 布基礎(chǔ)上設(shè)計(jì)一個(gè)權(quán)重因子,設(shè)定原則有且只有一個(gè)副本是高權(quán)重,這個(gè)例子中,高權(quán)重因 子是3-1=2,其它副本是等低權(quán)重,都是1。這樣上述的數(shù)據(jù)分布表就變化為:
X表不有數(shù)據(jù)分布,2表不權(quán)重因子為2,1表不權(quán)重因子為1。 在實(shí)際環(huán)境中,有可能這10個(gè)存儲(chǔ)節(jié)點(diǎn)性能不一致,因此本專利設(shè)計(jì)了一個(gè)速度因子, 讀寫性能越高,速度因子值越大,這個(gè)最大值設(shè)定為l/(n+l)。那么所有節(jié)點(diǎn)速度因子加起 來(lái)的最大值也小于或等于n/(n+l),小于1。這樣的設(shè)計(jì)是為了在后面計(jì)算總權(quán)重的時(shí)候,速 度因子不會(huì)影響到權(quán)重因子,權(quán)重因子大的權(quán)重肯定大。
[0010] 其它數(shù)據(jù)副本的速度因子根據(jù)節(jié)點(diǎn)性能可以自由設(shè)置,可以無(wú)限分級(jí)。延續(xù)上面 的例子,假設(shè)10個(gè)節(jié)點(diǎn)中,有節(jié)點(diǎn)1、4、7的性能高于節(jié)點(diǎn)2、5、8,而節(jié)點(diǎn)2、5、8高于節(jié)點(diǎn)3、6, 節(jié)點(diǎn)3、6高于節(jié)點(diǎn)9、10。這相當(dāng)于有4檔,根據(jù)專利對(duì)速度因子的設(shè)計(jì),最高檔的速度因子值 為1/( 3+1 )=0.25,那么第二檔設(shè)置為0.2,第三檔設(shè)計(jì)為0.1,第四檔設(shè)計(jì)為0.5。
[0011] 數(shù)據(jù)分配表中速度因子如下下表:
權(quán)重因子+速度因子=數(shù)據(jù)副本權(quán)重。數(shù)據(jù)寫順序按數(shù)據(jù)副本權(quán)重依次寫,數(shù)據(jù)讀順序 按速度因子大小次序讀。
[0012]繼續(xù)上述的例子,權(quán)重因子+速度因子后的數(shù)據(jù)副本權(quán)重表如下:

X表示有數(shù)據(jù)分布,數(shù)值表示數(shù)據(jù)副本權(quán)重。
[0013] 有了這個(gè)表后,對(duì)數(shù)據(jù)副本的讀寫就根據(jù)權(quán)重值來(lái)讀寫。比如要寫第5個(gè)10M數(shù)據(jù), 最優(yōu)先寫節(jié)點(diǎn)5的數(shù)據(jù)副本,然后寫節(jié)點(diǎn)7的數(shù)據(jù)副本,最后寫節(jié)點(diǎn)6的數(shù)據(jù)副本。如果要讀 第5個(gè)10M數(shù)據(jù),最優(yōu)先讀是節(jié)點(diǎn)7數(shù)據(jù),如果節(jié)點(diǎn)7的數(shù)據(jù)被堵塞,則讀節(jié)點(diǎn)5的數(shù)據(jù)副本。
[0014] 傳統(tǒng)的數(shù)據(jù)數(shù)據(jù)副本的一致性原則主要體現(xiàn)在寫操作過(guò)程。一份數(shù)據(jù)寫成功意味 著所有節(jié)點(diǎn)上的數(shù)據(jù)副本都寫成功。如果有的節(jié)點(diǎn)性能很低,這個(gè)節(jié)點(diǎn)就會(huì)成為寫性能的 短板。按照本專利設(shè)計(jì)的數(shù)據(jù)副本強(qiáng)一致原則,以上述的寫第5個(gè)10M數(shù)據(jù)例子來(lái)說(shuō),按權(quán)重 優(yōu)先原則,只要寫節(jié)點(diǎn)5和節(jié)點(diǎn)7的數(shù)據(jù),兩個(gè)節(jié)點(diǎn)寫成功后,權(quán)重值為2.2+1.25=3.45 > 3 (數(shù)據(jù)副本數(shù)),這時(shí)就可以認(rèn)為寫完成了,挺高了寫的效率,降低了寫操作的延遲。
[0015] 在某個(gè)節(jié)點(diǎn)失敗情況,就要遵循弱一致性原則。還是用上述例子,有節(jié)點(diǎn)失敗可能 有3種情況,比較復(fù)雜,用下表來(lái)解釋(此時(shí)數(shù)據(jù)副本數(shù)減1 =2)
在上述的例子中,節(jié)點(diǎn)失敗情況下,無(wú)論是寫剩下2個(gè)節(jié)點(diǎn)還是單寫節(jié)點(diǎn)5都能滿足寫 成功,特別單寫節(jié)點(diǎn)5的情況,能在某個(gè)節(jié)點(diǎn)失敗的情況提供寫效率,降低寫延遲。在實(shí)際應(yīng) 用場(chǎng)景中,可以根據(jù)數(shù)據(jù)的重要性來(lái)做進(jìn)一步設(shè)定,比如存儲(chǔ)的是歷史備份數(shù)據(jù),可以設(shè)置 為滿足弱一致性原則就可以了,就是允許單寫節(jié)點(diǎn)5情況出現(xiàn)。如果是生產(chǎn)環(huán)境,可以設(shè)置 為除了滿足弱一致性原則外,必須寫保證寫2個(gè)副本,這就保證了數(shù)據(jù)可靠性。
【主權(quán)項(xiàng)】
1. 為數(shù)據(jù)副本設(shè)定獨(dú)立的權(quán)重因子和速度因子的方法,其特征在于實(shí)現(xiàn)步驟包括: 1) 為每個(gè)數(shù)據(jù)副本設(shè)定獨(dú)立的權(quán)重因子,設(shè)定原則是有且只有一個(gè)副本是高權(quán)重因 子,其它副本是低等權(quán)重因子; 2) 數(shù)據(jù)副本高權(quán)重因子的設(shè)定算法是N減去1,N為數(shù)據(jù)副本數(shù),其它數(shù)據(jù)副本為低等權(quán) 重因子,低等權(quán)重因子全部設(shè)定為1 ; 3) 為每個(gè)數(shù)據(jù)副本設(shè)定獨(dú)立速度因子,速度因子跟數(shù)據(jù)副本所存放的存儲(chǔ)節(jié)點(diǎn)讀寫性 能有關(guān),讀與性能越尚,速度因子值越大; 4) 數(shù)據(jù)副本速度因子最大值設(shè)定算法是:1/(N+1),N為數(shù)據(jù)副本數(shù);其它數(shù)據(jù)副本的 速度因子根據(jù)節(jié)點(diǎn)性能等級(jí),可以自由設(shè)置,但是不能超過(guò)最大值,而且根據(jù)算法,所有數(shù) 據(jù)副本的速度因子總和小于1; 5) 權(quán)重因子加速度因子作為數(shù)據(jù)副本權(quán)重;數(shù)據(jù)寫順序按數(shù)據(jù)副本權(quán)重依次寫,數(shù)據(jù) 讀順序按速度因子大小次序讀; 6) 數(shù)據(jù)副本具有強(qiáng)一致性原則和弱一致性原則,數(shù)據(jù)副本權(quán)重之和大于或者等于的數(shù) 據(jù)副本數(shù),就認(rèn)為滿足數(shù)據(jù)強(qiáng)一致性原則,在沒(méi)有節(jié)點(diǎn)失敗的情況下,數(shù)據(jù)副本必須滿足強(qiáng) 一致性原則;數(shù)據(jù)副本權(quán)重之和大于或者等于的數(shù)據(jù)副本數(shù)減1,就認(rèn)為符合數(shù)據(jù)弱一致性 原則;在有節(jié)點(diǎn)失敗的情況下,數(shù)據(jù)副本要求滿足弱一致性原則。2. 根據(jù)權(quán)利要求1所述的為數(shù)據(jù)副本設(shè)定獨(dú)立的權(quán)重因子和速度因子的方法,其特征 在于實(shí)現(xiàn)步驟可以描述為: 步驟SOI.為系統(tǒng)設(shè)定使用的一致性原則,可以選擇強(qiáng)一致性原則或弱一致性原則; 步驟S02.為每個(gè)數(shù)據(jù)副本設(shè)定獨(dú)立的權(quán)重因子; 步驟S03.為每個(gè)數(shù)據(jù)副本設(shè)定獨(dú)立的速度因子; 步驟S04.為每個(gè)數(shù)據(jù)副本設(shè)定副本權(quán)重; 步驟S05.數(shù)據(jù)寫操作,按數(shù)據(jù)副本權(quán)重依次寫; 步驟S06.數(shù)據(jù)讀操作,按數(shù)據(jù)副本速度因子大小從大往小讀。
【文檔編號(hào)】G06F3/06GK106095336SQ201610401472
【公開(kāi)日】2016年11月9日
【申請(qǐng)日】2016年6月10日
【發(fā)明人】關(guān)寧風(fēng)
【申請(qǐng)人】北京銀信長(zhǎng)遠(yuǎn)科技股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1