一種云計算中海量數(shù)據(jù)高效索引方法
【專利摘要】本發(fā)明公開了一種云計算中海量數(shù)據(jù)高效索引方法,所述方法在分布式B樹的基礎(chǔ)之上采用日志來記錄節(jié)點的分裂歷史,并基于節(jié)點分裂歷史高效并發(fā)訪問分布式B樹,從而有效提高云計算環(huán)境中海量、分布式的數(shù)據(jù)訪問和索引效率。本發(fā)明方法優(yōu)于事務(wù)方法是因為在每個訪問中,事務(wù)方法要對根到要訪問的葉子節(jié)點這一條路徑上的所有節(jié)點加分布式的鎖,而本發(fā)明方法只需鎖要訪問的葉子節(jié)點;而本發(fā)明方法優(yōu)于link方法是因本發(fā)明方法要遍歷的節(jié)點數(shù)小于link方法。
【專利說明】一種云計算中海量數(shù)據(jù)高效索弓I方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及云計算領(lǐng)域,具體涉及一種云計算中海量數(shù)據(jù)高效索引方法。
【背景技術(shù)】
[0002]目前云計算環(huán)境中出現(xiàn)了大量以海量數(shù)據(jù)為基礎(chǔ)、提供各類信息服務(wù)的互聯(lián)網(wǎng)應(yīng)用。
[0003]這些應(yīng)用的數(shù)據(jù)具有海量性、快速增長等特點。系統(tǒng)通過對每個數(shù)據(jù)的關(guān)鍵字進行哈希的方法將所有數(shù)據(jù)分布到多個存儲節(jié)點中,以實現(xiàn)快速增長的海量數(shù)據(jù)的可擴展存儲。哈希方法對采用關(guān)鍵字查詢具有較高效率,但不能提高對采用非關(guān)鍵字查詢的效率,也不支持范圍查詢。而對用戶來說,除了采用關(guān)鍵字查詢數(shù)據(jù)外,也喜歡用其他屬性來查詢數(shù)據(jù)或者進行范圍查詢。例如,在一個在線視頻系統(tǒng)(如Y ο u t u b e)中,每個視頻包含視頻I D、節(jié)目名稱、上傳時間、播放次數(shù)等信息。I D是每個視頻的關(guān)鍵字,可以通過視頻ID快速獲得視頻,但用戶通常也以節(jié)目名稱或上傳時間范圍來查詢視頻。構(gòu)建輔助索引是提高非關(guān)鍵屬性的查詢效率的重要方法。目前云計算環(huán)境中常見輔助索引是倒排索引(invertedinde x),它是通過多個M a p R e d u c e進程對所有存儲節(jié)點進行掃描,產(chǎn)生倒排文件。倒排索引過程是一個離線的批處理過程,最新插入的數(shù)據(jù)不能及時查詢。例如,向G ο ogl e B a s e中插入一條記錄,需要等下次重新索引后(可能需要一天時間)才能被用戶查詢到。綜上所述,云計算環(huán)境需要支持在線構(gòu)建索引和范圍查詢的索引方法。
[0004]B樹索引既支持在線構(gòu)建索引,又支持范圍查詢,但是由于云計算環(huán)境中應(yīng)用數(shù)據(jù)的海量性,導(dǎo)致集中式B樹(單機環(huán)境中建立的B樹)不能滿足海量索引數(shù)據(jù)的存儲需求。分布式B樹通過把所有B樹節(jié)點分布到各個存儲服務(wù)器上解決了海量索引數(shù)據(jù)的存儲需求,并通過在所有客戶端緩沖B樹內(nèi)部節(jié)點的方式來提高并發(fā)訪問能力。但它與集中式B樹一樣,仍然存在并發(fā)訪問問題,即在插入(或刪除)一個數(shù)據(jù)到分布式B樹中時,可能弓I起一個葉子節(jié)點及該葉子節(jié)點的多個祖先節(jié)點分裂(或合并),從而造成與其并發(fā)的訪問不能成功完成。
[0005]目前解決B樹并發(fā)訪問題主要有兩種方法,即事務(wù)方法和Iink方法。
[0006]I )事務(wù)方法:它在每次訪問時,需要分布式事務(wù)鎖住從根到一個葉子節(jié)點的路徑上的所有節(jié)點,造成所有訪問都要鎖住根節(jié)點,對根節(jié)點的排隊上鎖使得B樹的修改訪問都變成
串行訪問,導(dǎo)致訪問效率較低。
[0007]2 ) L i n k方法:它通過在節(jié)點間建立I i n k的方式來解決并發(fā)訪問問題,解決了事務(wù)方法存在的并發(fā)能力較低問題。但它不適合于云計算環(huán)境中的分布式B樹,因為現(xiàn)有的分布式B樹采用在所有客戶端緩沖其內(nèi)部節(jié)點的方式來提高并發(fā)訪問能力,并采用延遲更新的方法來分攤緩沖節(jié)點更新成本。在延遲更新模式下,一個客戶端對同一個節(jié)點的二次訪問時間中,服務(wù)器端中對應(yīng)節(jié)點可能分裂了多次,根據(jù)分布策略,這些新分裂出來的節(jié)點會被分布到其他存儲節(jié)點中,因此后續(xù)訪問都需要在多個服務(wù)器中遍歷很多節(jié)點,影響訪問效率。
[0008]哈希,通過將單向數(shù)學(xué)函數(shù)(有時稱為“哈希算法”)應(yīng)用到任意數(shù)量的數(shù)據(jù)所得到的固定大小的結(jié)果。如果輸入數(shù)據(jù)中有變化,則哈希也會發(fā)生變化。哈??捎糜谠S多操作,包括身份驗證和數(shù)字簽名。也稱為“消息摘要”。
[0009]哈希算法將任意長度的二進制值映射為固定長度的較小二進制值,這個小的二進制值稱為哈希值。哈希值是一段數(shù)據(jù)唯一且極其緊湊的數(shù)值表示形式。如果散列一段明文而且哪怕只更改該段落的一個字母,隨后的哈希都將產(chǎn)生不同的值。要找到散列為同一個值的兩個不同的輸入,在計算上是不可能的,所以數(shù)據(jù)的哈希值可以檢驗數(shù)據(jù)的完整性。
【發(fā)明內(nèi)容】
[0010]本發(fā)明要解決的技術(shù)問題是:針對云計算環(huán)境中數(shù)據(jù)的海量性和分布性特點,以及現(xiàn)有的分布式B樹索引方法存在訪問率較低的問題,本發(fā)明提出了一種云計算環(huán)境中海量數(shù)據(jù)高效索引方法,在分布式B樹的基礎(chǔ)之上采用日志來記錄節(jié)點的分裂歷史,并基于節(jié)點分裂歷史高效并發(fā)訪問分布式B樹,有效提高了云計算環(huán)境中海量、分布式的數(shù)據(jù)訪問和索引效率。
[0011]本發(fā)明所采用的技術(shù)方案為:
一種云計算中海量數(shù)據(jù)高效索引方法,所述方法在分布式B樹的基礎(chǔ)之上采用日志來記錄節(jié)點的分裂歷史,并基于節(jié)點分裂歷史高效并發(fā)訪問分布式B樹,有效提高了云計算環(huán)境中海量、分布式的數(shù)據(jù)訪問和索引效率。
[0012]所述方法具體內(nèi)容如下:
每臺服務(wù)器設(shè)有一個B樹節(jié)點分裂日志,用于記錄分布在該服務(wù)器內(nèi)的所有B樹節(jié)點的分裂歷史;
分裂歷史是一個按時間先后次序排序的記錄文件,節(jié)點的每次分裂都作為一條記錄記入日志中;
日志中的記錄結(jié)構(gòu)為:〈LowVa I ue,UpVa I u e , P o i n t e r , V e rs i on, p reRecord〉,其中 LowVa I ue 和 UpVa I u e 分別是索引節(jié)點中的最小值和最大值,它們記錄了節(jié)點存儲的值的范圍;P ο i n t e r是一個指針,指向分裂節(jié)點的存儲位置,它包含兩個值域,即索引節(jié)點存儲服務(wù)器地址I P和索引節(jié)點在該服務(wù)器中的位置;Ve r s i ο η是索引節(jié)點的版本號,主要用于在訪問時判斷要不要訪問分裂日志,索引節(jié)點每分裂一次,其兩個分裂節(jié)點的版本在其父節(jié)點的版本基礎(chǔ)上加l;preRecor d是一個指針,它指向前一次分裂記錄;分裂日志記錄了所有節(jié)點的分裂情況,通過P r e R e c O r d將每個節(jié)點的分裂歷史連接成一個鏈表;
一個節(jié)點分成兩個節(jié)點后,其中一個節(jié)點會被分布到另外一臺服務(wù)器中,隨著數(shù)據(jù)不斷增長,分裂出來的節(jié)點仍然不斷地進行分裂,并分布到不同的服務(wù)器中;
每個節(jié)點都有分裂日志,通過對這些分裂日志級聯(lián),將分裂出來的節(jié)點組織成一個樹型結(jié)構(gòu)。其訪問操作需要訪問服務(wù)器的數(shù)量只與樹的高度有關(guān)。因此,S I N C極大地提高了訪問效率。
[0013]本發(fā)明方法采用版本號的方式來判斷緩沖節(jié)點與服務(wù)器中存儲的節(jié)點是否發(fā)生了變化,在分布式B樹中,服務(wù)器端的每個節(jié)點都設(shè)置有一個版本號,每個客戶端中緩沖的內(nèi)部節(jié)點也保存對應(yīng)節(jié)點的版本號;由于采用延遲更新策略,緩沖的版本號有時會比服務(wù)器節(jié)點的版本號小,這說明對服務(wù)器中節(jié)點的修改還沒有同步到該緩沖區(qū)中的對應(yīng)節(jié)點;結(jié)合版本號和節(jié)點的分裂歷史來實現(xiàn)分布式B樹高并發(fā)訪問,方法是:如果訪問節(jié)點的版本號與發(fā)出訪問的客戶端緩沖的版本號相同,就對該節(jié)點上鎖并訪問該節(jié)點,否則就訪問該節(jié)點的分裂日志,從相應(yīng)的分裂記錄中找到下一跳的訪問節(jié)點及其版本號,并將訪問請求及節(jié)點的版本號傳到下一跳節(jié)點,以此下去,直到找到數(shù)據(jù)或不存在下一跳節(jié)點。
[0014]基于上述方法,在B樹插入一個〈key, po inter〉的流程變?yōu)?
a )在客戶端,查找緩沖的內(nèi)部節(jié)點構(gòu)成的B樹,得到〈key, po inter〉應(yīng)插入的葉子節(jié)點f的位置及其版本號V;
b)發(fā)送訪問請求到葉子節(jié)點f所在的服務(wù)器;
c )在服務(wù)器中,獲取節(jié)點f的版本號V',如果V' = V,轉(zhuǎn)入d),否則轉(zhuǎn)入e ; d )在本地服務(wù)器中,鎖住節(jié)點f,將〈key, po inter〉插入節(jié)點f中,操作結(jié)束;
e)查找日志,找到〈k e y , P ο i n t e r〉應(yīng)插入的葉子節(jié)點f的位置及其版本號V,轉(zhuǎn)到b )。
[0015]本發(fā)明有益效果:本發(fā)明針對云計算環(huán)境中數(shù)據(jù)的海量性和分布性特點,以及現(xiàn)有的分布式B樹索引方法存在訪問效率較低的問題,提出一種云計算環(huán)境中海量數(shù)據(jù)高效索引方法,它在分布式B樹的基礎(chǔ)之上采用日志來記錄節(jié)點的分裂歷史,并基于節(jié)點分裂歷史高效并發(fā)訪問分布式B樹。從而有效提高云計算環(huán)境中海量、分布式的數(shù)據(jù)訪問和索引效率。
【專利附圖】
【附圖說明】
[0016]圖1為節(jié)點分裂日志的結(jié)構(gòu);
圖2為分裂節(jié)點構(gòu)成的樹;
圖3為節(jié)點a的分裂過程;
圖4為link組織方式;
圖5為本發(fā)明方法的組織方式;
圖6為插入操作例子。
【具體實施方式】
[0017]下面根據(jù)說明書附圖,結(jié)合具體實施例,對本發(fā)明進一步說明:
一種云計算中海量數(shù)據(jù)高效索引方法,所述方法在分布式B樹的基礎(chǔ)之上采用日志來記錄節(jié)點的分裂歷史,并基于節(jié)點分裂歷史高效并發(fā)訪問分布式B樹,有效提高了云計算環(huán)境中海量、分布式的數(shù)據(jù)訪問和索引效率。
[0018]所述方法具體內(nèi)容如下:
每臺服務(wù)器設(shè)有一個B樹節(jié)點分裂日志,用于記錄分布在該服務(wù)器內(nèi)的所有B樹節(jié)點的分裂歷史;
分裂歷史是一個按時間先后次序排序的記錄文件,其結(jié)構(gòu)如圖1所示,節(jié)點的每次分裂都作為一條記錄記入日志中;
日志中的記錄結(jié)構(gòu)為:〈LowVa I ue,UpVa I u e , P o i n t e r , V e rs i on, p r e R e c O rd〉,其中 LowVa I ue 和 UpVa I ue 分別是索弓丨節(jié)點中的最小值和最大值,它們記錄了節(jié)點存儲的值的范圍;P ο i n t e r是一個指針,指向分裂節(jié)點的存儲位置,它包含兩個值域,即索引節(jié)點存儲服務(wù)器地址I P和索引節(jié)點在該服務(wù)器中的位置;Ve r s i ο η是索引節(jié)點的版本號,主要用于在訪問時判斷要不要訪問分裂日志,索引節(jié)點每分裂一次,其兩個分裂節(jié)點的版本在其父節(jié)點的版本基礎(chǔ)上加l;preRecor d是一個指針,它指向前一次分裂記錄;分裂日志記錄了所有節(jié)點的分裂情況,通過P r e R e c O r d將每個節(jié)點的分裂歷史連接成一個鏈表;
一個節(jié)點分成兩個節(jié)點后,其中一個節(jié)點會被分布到另外一臺服務(wù)器中,隨著數(shù)據(jù)不斷增長,分裂出來的節(jié)點仍然不斷地進行分裂,并分布到不同的服務(wù)器中;
每個節(jié)點都有分裂日志,通過對這些分裂日志級聯(lián),將分裂出來的節(jié)點組織成一個樹型結(jié)構(gòu),如圖2所示。其訪問操作需要訪問服務(wù)器的數(shù)量只與樹的高度有關(guān)。因此,本發(fā)明方法極大地提高了訪問效率。
[0019]例如,假設(shè)一個節(jié)點a的分裂過程如圖3所示,那么分裂后各節(jié)點的I i n k組織方式如圖4所示,本發(fā)明組織方式如圖5所示。假如某客戶端緩沖的指針指向a 111,而數(shù)據(jù)在a 2 2 2中,那么在I i n k方法中,而從a I I I遍歷8個節(jié)點才能得到數(shù)據(jù),需本發(fā)明方法只需要遍歷四次。
[0020]本發(fā)明方法采用版本號的方式來判斷緩沖節(jié)點與服務(wù)器中存儲的節(jié)點是否發(fā)生了變化,在分布式B樹中,服務(wù)器端的每個節(jié)點都設(shè)置有一個版本號,每個客戶端中緩沖的內(nèi)部節(jié)點也保存對應(yīng)節(jié)點的版本號;由于采用延遲更新策略,緩沖的版本號有時會比服務(wù)器節(jié)點的版本號小,這說明對服務(wù)器中節(jié)點的修改還沒有同步到該緩沖區(qū)中的對應(yīng)節(jié)點;
結(jié)合版本號和節(jié)點的分裂歷史來實現(xiàn)分布式B樹高并發(fā)訪問,方法是:如果訪問節(jié)點的版本號與發(fā)出訪問的客戶端緩沖的版本號相同,就對該節(jié)點上鎖并訪問該節(jié)點,否則就訪問該節(jié)點的分裂日志,從相應(yīng)的分裂記錄中找到下一跳的訪問節(jié)點及其版本號,并將訪問請求及節(jié)點的版本號傳到下一跳節(jié)點,以此下去,直到找到數(shù)據(jù)或不存在下一跳節(jié)點。
[0021]基于上述方法,在B樹插入一個〈key, po inter〉的流程變?yōu)?
a )在客戶端,查找緩沖的內(nèi)部節(jié)點構(gòu)成的B樹,得到〈key, po inter〉應(yīng)插入的葉子節(jié)點f的位置及其版本號V;
b)發(fā)送訪問請求到葉子節(jié)點f所在的服務(wù)器;
c )在服務(wù)器中,獲取節(jié)點f的版本號V',如果V' = V,轉(zhuǎn)入d),否則轉(zhuǎn)入e ; d )在本地服務(wù)器中,鎖住節(jié)點f,將〈key, po inter〉插入節(jié)點f中,操作結(jié)束;
e )查找日志,找到〈key, po inter〉應(yīng)插入的葉子節(jié)點f的位置及其版本號V,轉(zhuǎn)到b )。
[0022]例如,在圖6中,c I i e n t I插入〈keyl,pointerl〉時,插入節(jié)點的緩沖版本和服務(wù)器中的版本相同,在本地就完成插入操作。而c I i e n t 2插入〈key2,pointer2)時,由于插入節(jié)點的緩沖版本和服務(wù)器中的版本不同,因此訪問日志,得到待插入的葉子節(jié)點在s e r V e r 2中,將訪問請求轉(zhuǎn)交給s e r v e r 2,在s e r V e r 2中完成插入操作。
[0023]從上述插入流程可以看出,在修改B樹節(jié)點時只需鎖住要訪問的這一個葉子節(jié)點,避免了每次訪問要鎖根節(jié)點到訪問節(jié)點這一條路徑;同樣,如果葉子節(jié)點的插入操作引起內(nèi)部節(jié)點修改,也只需在修改某個內(nèi)部節(jié)點時鎖住該節(jié)點就可以了。因此該方法大大提高了并發(fā)度。
[0024]本發(fā)明方法優(yōu)于事務(wù)方法是因為在每個訪問中,事務(wù)方法要對根到要訪問的葉子節(jié)點這一條路徑上的所有節(jié)點加分布式的鎖,而本發(fā)明方法只需鎖要訪問的葉子節(jié)點;而優(yōu)于I i n k方法是因本發(fā)明方法要遍歷的節(jié)點數(shù)小于I i n k方法。
[0025]實驗實例:
實驗在四個機柜中的I 2 6臺計算機中完成,這些機器通過吉比特以太交換機連接成網(wǎng)絡(luò),機柜內(nèi)的對半帶寬約為14Gb P s,機柜之間的對半帶寬約為6.5 G b P s。每臺計算機有兩個2.8 GH z英特爾至強C P U、4 G B內(nèi)存、兩個每分鐘I O O O O轉(zhuǎn)的S C S I硬盤。所有計算機運行在內(nèi)核版本為2.6.9的RedHat Enterprise Linux AS4.0。
[0026]B樹的每個節(jié)點保存175對〈key, pointer〉值,一個〈k e y , ρ O!1116 1'〉對占228716,其中1^67占10 Byte, pointer 占22 Byte。Pointer由兩部分組成:I P地址(4 B y t e )和偏移量(8 B y t e )。在進行實驗前,B樹中已有4 0 0個節(jié)點、6.4萬個〈key, po inter〉對,分布在四臺服務(wù)器中。B樹的節(jié)點放在服務(wù)器端,負載由客戶端產(chǎn)生,服務(wù)器端和客戶端分別位于不同的計算機中;每臺服務(wù)器在內(nèi)存中為B樹提供3 2 MB緩沖區(qū),每個客戶機同時運行四個線程,它們訪問同一棵B樹。
[0027]為了評估本發(fā)明方法的性能,在同一實驗環(huán)境中也測試了事務(wù)方法和I i n k方法,以用來作性能對比。在實驗中,負載由客戶端計算機產(chǎn)生,獨立于存儲B樹節(jié)點的服務(wù)器;每個客戶機同時運行四個線程。線程產(chǎn)生的負載有三類:
a)插入型負載。負載中的操作全部是插入操作,每個插入操作中的k e y都是從O?
IO 5整數(shù)空間中隨機產(chǎn)生。
[0028]b )查找型負載。負載中的操作全部是查詢操作,每個查詢操作中的k e y都是從B樹的k e y集合隨機地選擇。
[0029]C )混合型負載。負載中的操作由插入操作和查找操作組成,其中插入操作占3 O %,查找操作占7 O %,兩種操作中的k e y的產(chǎn)生方式與前面相同。
[0030]在節(jié)點數(shù)固定、服務(wù)器和客戶機增加的情況下,上述三類負載的測試結(jié)果得出:不論在哪種負載中,本發(fā)明方法都優(yōu)于I i n k方法和事務(wù)方法。本發(fā)明方法優(yōu)于事務(wù)方法是因為在每個訪問中,事務(wù)方法要對根到要訪問的葉子節(jié)點這一條路徑上的所有節(jié)點加分布式的鎖,而本發(fā)明方法只需鎖要訪問的葉子節(jié)點;而本發(fā)明方法優(yōu)于I i n k方法是因本發(fā)明方法要遍歷的節(jié)點數(shù)小于I i n k方法。
[0031]云計算需要采用分布式B樹來支持快速增長的海量數(shù)據(jù)的在線索引和范圍查詢。實驗結(jié)果表明,本文方法明顯提高了分布式B樹的訪問效率。
【權(quán)利要求】
1.一種云計算中海量數(shù)據(jù)高效索引方法,其特征在于:所述方法在分布式B樹的基礎(chǔ)之上采用日志來記錄節(jié)點的分裂歷史,并基于節(jié)點分裂歷史高效并發(fā)訪問分布式B樹。
2.根據(jù)權(quán)利要求1所述的一種云計算中海量數(shù)據(jù)高效索引方法,其特征在于: 每臺服務(wù)器設(shè)有一個B樹節(jié)點分裂日志,用于記錄分布在該服務(wù)器內(nèi)的所有B樹節(jié)點的分裂歷史; 日志中的記錄結(jié)構(gòu)為:〈LowVa I ue,UpVa I u e , P o i n t e r , V e rs i on, p r e R e c O rd〉,其中 LowVa I ue 和 UpVa I ue 分別是索引節(jié)點中的最小值和最大值,它們記錄了節(jié)點存儲的值的范圍;P ο i n t e r是一個指針,指向分裂節(jié)點的存儲位置,它包含兩個值域,即索引節(jié)點存儲服務(wù)器地址I P和索引節(jié)點在該服務(wù)器中的位置;Ve r s i ο η是索引節(jié)點的版本號,主要用于在訪問時判斷要不要訪問分裂日志,索引節(jié)點每分裂一次,其兩個分裂節(jié)點的版本在其父節(jié)點的版本基礎(chǔ)上加l;preRecor d是一個指針,它指向前一次分裂記錄;分裂日志記錄了所有節(jié)點的分裂情況,通過P r e R e c O r d將每個節(jié)點的分裂歷史連接成一個鏈表; 一個節(jié)點分成兩個節(jié)點后,其中一個節(jié)點會被分布到另外一臺服務(wù)器中,隨著數(shù)據(jù)不斷增長,分裂出來的節(jié)點仍然不斷地進行分裂,并分布到不同的服務(wù)器中; 每個節(jié)點都有分裂日志,通過對這些分裂日志級聯(lián),將分裂出來的節(jié)點組織成一個樹型結(jié)構(gòu); 在分布式B樹中,服務(wù)器端的每個節(jié)點都設(shè)置有一個版本號,每個客戶端中緩沖的內(nèi)部節(jié)點也保存對應(yīng)節(jié)點的版本號;由于采用延遲更新策略,緩沖的版本號有時會比服務(wù)器節(jié)點的版本號小,這說明對服務(wù)器中節(jié)點的修改還沒有同步到該緩沖區(qū)中的對應(yīng)節(jié)點;如果訪問節(jié)點的版本號與發(fā)出訪問的客戶端緩沖的版本號相同,就對該節(jié)點上鎖并訪問該節(jié)點,否則就訪問該節(jié)點的分裂日志,從相應(yīng)的分裂記錄中找到下一跳的訪問節(jié)點及其版本號,并將訪問請求及節(jié)點的版本號傳到下一跳節(jié)點,以此下去,直到找到數(shù)據(jù)或不存在下一跳節(jié)點。
3.根據(jù)權(quán)利要求2所述的一種云計算中海量數(shù)據(jù)高效索引方法,其特征在于:在B樹插入一個〈key, po inter〉的流程變?yōu)? a )在客戶端,查找緩沖的內(nèi)部節(jié)點構(gòu)成的B樹,得到〈key, pointer〉應(yīng)插入的葉子節(jié)點f的位置及其版本號V; b)發(fā)送訪問請求到葉子節(jié)點f所在的服務(wù)器; c )在服務(wù)器中,獲取節(jié)點f的版本號V',如果V' = V,轉(zhuǎn)入d),否則轉(zhuǎn)入e ; d )在本地服務(wù)器中,鎖住節(jié)點f,將〈key, po inter〉插入節(jié)點f中,操作結(jié)束; e)查找日志,找到〈k e y , P ο i n t e r〉應(yīng)插入的葉子節(jié)點f的位置及其版本號V,轉(zhuǎn)到b )。
【文檔編號】G06F17/30GK104391931SQ201410673448
【公開日】2015年3月4日 申請日期:2014年11月21日 優(yōu)先權(quán)日:2014年11月21日
【發(fā)明者】楊晉博, 尹艷艷, 張新玲 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司