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

用于支持用于同步分布式數(shù)據(jù)網(wǎng)格中的數(shù)據(jù)的分區(qū)級別日志的系統(tǒng)及方法_2

文檔序號:9732428閱讀:來源:國知局
的次序(也關(guān)于其它數(shù)據(jù)變化)。
[0044]例如,示例性全局唯一ID 320可由格式(Pi,Rj)代表,這里Pi表示源分區(qū),并且Rj表示源分區(qū)上的特定數(shù)據(jù)變化的次序。
[0045]如圖3所示,與分區(qū)I311有關(guān)的數(shù)據(jù)變化(K1,VI)、(K4,V4)和(K5,V5)分別被分配全局唯一1001,1?1)、(?1,1?2)和(?1,1?)。類似地,與分區(qū)11 312有關(guān)的數(shù)據(jù)變化(K2,V2)、(1(3,¥3)、(1(6,¥6)、(1(10,¥10)和(1(11,¥11)分別被分配全局唯一10(?2,1?1)、(?2,1?2)、(?2,尺3)、(?2,!?4)和(?2,1?5)。另外,與分區(qū)111 313有關(guān)的數(shù)據(jù)變化(K7,V7)、(K8,V8)和(K9,V9)分別被分配全局唯一10(?3,1?1)、(?3,1?2)和(?3,1?)。
[0046]并且,全局唯一ID320中的每一個可被用作日志緩存302中的條目的鍵。因此,該多部分的鍵允許系統(tǒng)在沒有集群300內(nèi)的任何輸入/輸出(10)和/或同步的情況下產(chǎn)生跨集群的唯一ID。
[0047]圖4表示根據(jù)本發(fā)明的實施例的支持分布式數(shù)據(jù)網(wǎng)格中的日志緩存的集群范圍視圖的示圖。如圖4所示,分布式數(shù)據(jù)網(wǎng)格400可包含多個集群成員(例如,集群節(jié)點401?408) ο
[0048]集群節(jié)點401?408中的每一個可以是一個或多個分區(qū)的所有者。例如,集群節(jié)點401是分區(qū)Ρ1?Ρ3的所有者,集群節(jié)點402是分區(qū)Ρ4?Ρ6的所有者,集群節(jié)點403是分區(qū)Ρ7?Ρ9的所有者,集群節(jié)點404是分區(qū)Ρ10?Ρ12的所有者,集群節(jié)點405是分區(qū)Ρ13?Ρ15的所有者,集群節(jié)點406是分區(qū)Ρ16?Ρ18的所有者,集群節(jié)點407是分區(qū)Ρ19?Ρ21的所有者,集群節(jié)點408是分區(qū)Ρ22?Ρ24的所有者。
[0049]根據(jù)本發(fā)明的實施例,例如通過利用包含用戶緩存的分區(qū),可基于分區(qū)的緩存實現(xiàn)日志緩存。并且,用戶可以按與訪問用戶緩存類似的方式訪問日志緩存。如圖4所示,用戶可從集群節(jié)點401?408中的任一個(S卩,經(jīng)由用戶緩存411?418和日志緩存421?428)訪問用戶緩存和日志緩存。
[0050]圖5表示根據(jù)本發(fā)明的實施例的執(zhí)行用于支持分布式數(shù)據(jù)網(wǎng)格中的分區(qū)級別日志的單個交易的示圖。如圖5所示,分布式數(shù)據(jù)網(wǎng)格500可包含用戶緩存501和日志緩存502。
[0051]根據(jù)本發(fā)明的實施例,分布式數(shù)據(jù)網(wǎng)格500可捕獲對用戶緩存501做出的數(shù)據(jù)變化并且將這些數(shù)據(jù)變化放在可用于與遠程集群的同步的日志緩存502中。
[0052]例如,用戶緩存501可能已做出幾個數(shù)據(jù)變化,諸如(1(1,¥1)、(1(2,¥2)、(1(3,¥3)和(K4,V4)。這些被捕獲的數(shù)據(jù)變化可分別通過使用全局唯一ID(P1,R1)、(P2,R1)、(P2,R2)和(PI,R2)存儲于日志緩存502中。這些全局唯一ID指示(K1,V1)是施加到分區(qū)PI上的第一數(shù)據(jù)變化、(K2,V2)是施加到分區(qū)P2上的第一數(shù)據(jù)變化、(K3,V3)是施加到分區(qū)P2上的第二數(shù)據(jù)變化且(K4,V4)是施加到分區(qū)P2上的第二數(shù)據(jù)變化。
[0053]另外,系統(tǒng)可利用保持不同分區(qū)的數(shù)據(jù)變化的總數(shù)的序列表503。如圖5所示,序列表503指示分區(qū)P1和P2 二者均做出了兩個數(shù)據(jù)變化。
[0054]根據(jù)本發(fā)明的實施例,分布式數(shù)據(jù)網(wǎng)格500可使用序列表503來對分區(qū)中的任一個分區(qū)上的新捕獲的數(shù)據(jù)變化迅速產(chǎn)生唯一 ID。
[0055]如圖5所示,用戶可做出被施加到用戶緩存501中的分區(qū)P1上的數(shù)據(jù)變化,例如“放入(K5,V5)”。系統(tǒng)可捕獲該數(shù)據(jù)變化并且對最后的數(shù)據(jù)變化迅速產(chǎn)生唯一ID(P1,R3),因為該數(shù)據(jù)變化是施加于分區(qū)P1上的第三數(shù)據(jù)變化。
[0056]并且,在分布式數(shù)據(jù)網(wǎng)格500將該數(shù)據(jù)變化存儲在日志緩存502之后,序列表503可被更新以指示分區(qū)P1已做出了三個數(shù)據(jù)變化。
[0057]圖6示出根據(jù)本發(fā)明的實施例的支持用于分布式數(shù)據(jù)網(wǎng)格中的同步的分區(qū)級別日志的示例性流程圖。如圖6所示,在步驟601中,系統(tǒng)可關(guān)聯(lián)日志緩存與本地集群中的一個或多個用戶緩存,其中所述一個或多個用戶緩存被分成多個分區(qū)。然后,在步驟602中,系統(tǒng)可捕獲被施加到所述一個或多個用戶緩存的不同分區(qū)的一個或多個數(shù)據(jù)。并且,在步驟603中,系統(tǒng)可將所述一個或多個數(shù)據(jù)變化存儲在支持與一個或多個遠程集群的同步的日志緩存中。
[0058]自治集群之間的并行異步同步
[0059]圖7表示根據(jù)本發(fā)明的實施例的支持分布式數(shù)據(jù)網(wǎng)格中的自治集群之間的并行異步同步的示圖。如圖7所示,分布式數(shù)據(jù)網(wǎng)格700可同步自治集群之間(諸如從源集群701到目的地集群702)的數(shù)據(jù)變化。并且,系統(tǒng)可在分區(qū)級別上跟蹤被施加到分區(qū)的源集群701中的各種用戶緩存的數(shù)據(jù)變化。
[0060]根據(jù)本發(fā)明的實施例,源集群701中的不同集群成員可并行工作,以將不同分區(qū)上的數(shù)據(jù)變化同步到一個或多個目的地集群中的例如目的地集群702的集群成員。
[0061]在集群級別上,源集群701中的多個集群成員可將數(shù)據(jù)變化并行地同步到目的地集群702中的多個集群成員(S卩,多對多關(guān)系)。在分區(qū)級別上,數(shù)據(jù)變化的同步總是包含源和目的地(即,一對一關(guān)系)。
[0062]根據(jù)本發(fā)明的實施例,源集群701中的集群成員和目的地集群702中的集群成員可以是集群存儲成員,這些集群存儲成員可以是不同分區(qū)的所有者。作為替代,集群成員可以是與不同分區(qū)的所有者相關(guān)聯(lián)的其它集群節(jié)點。
[0063]如圖7所示,作為分區(qū)I731的所有者的集群存儲成員711可用于處理分區(qū)I 731的日志條目,并且向目的地集群702中的集群存儲成員721發(fā)送信息。另外,作為分區(qū)II 732的所有者的集群存儲成員712可處理用于分區(qū)II 732的日志條目,并且作為分區(qū)III 733的所有者的集群存儲成員713可處理用于分區(qū)III 733的日志條目。集群存儲成員712和集群存儲成員713可向目的地集群702中的集群存儲成員722發(fā)送同步信息。
[0064]根據(jù)本發(fā)明的實施例,從所包含的不同條目來看,同步處理是異步的。這些條目可包含產(chǎn)生在日志中被捕獲的數(shù)據(jù)變化的客戶端、向目的地集群702發(fā)送數(shù)據(jù)變化的源集群701和發(fā)送指示數(shù)據(jù)變化的接收和成功處理的確認的目的地集群702。
[0065]圖8表示根據(jù)本發(fā)明的實施例的初始化分布式數(shù)據(jù)網(wǎng)格中的自治集群之間的異步同步的示圖。如圖8所示,擁有分布式數(shù)據(jù)網(wǎng)格800中的源集群801中的分區(qū)P1的集群存儲成員803可處理日志記錄805中的用于分區(qū)P1的日志條目,并且可向目的地集群802中的集群存儲成員804發(fā)送一個或多個復(fù)制消息810。例如,復(fù)制消息810可包含對源集群801中的分區(qū)P1做出的數(shù)據(jù)變化(1?3)、(4?6)和(7?9)。
[0066]根據(jù)本發(fā)明的實施例,系統(tǒng)可使用唯一ID來用于在分布式數(shù)據(jù)網(wǎng)格800中的源集群801和目的地集群802之間傳遞復(fù)制消息810。例如,唯一 ID可以是按照對源集群801中的特定分區(qū)(例如,分區(qū)P1)做出相應(yīng)數(shù)據(jù)變化的次序單調(diào)遞增的。因此,系統(tǒng)可保證同步操作是幕等的。
[0067]另外,目的地集群802可保持指示已對目的地集群802中的各分區(qū)接收和成功處理最后的數(shù)據(jù)變化的記錄806。
[0068]如圖8所示,具有用于分區(qū)“1”的條目“0”的記錄806指示目的地集群804中的集群存儲節(jié)點804還未對分區(qū)P1接收和成功處理任何數(shù)據(jù)變化。另外,記錄806可保持更多的用于在其它分區(qū)上存儲信息的條目。
[0069]圖9表示根據(jù)本發(fā)明的實施例的執(zhí)行分布式數(shù)據(jù)網(wǎng)格中的自治集群之間的異步同步的示圖。如圖9所示,擁有分布式數(shù)據(jù)網(wǎng)格900中的源集群901中的分區(qū)P1的集群存儲成員903可處理日志記錄905中的用于分區(qū)P1的日志條目,并且可向目的地集群902中的集群存儲成員904發(fā)送一個或多個復(fù)制消息910。
[0070]在目的地集群902中的集群存儲成員904已接收和成功處理數(shù)據(jù)變化(1?3)和(4?6)之后,集群存儲成員904可將確認(ACK)920送回到源集群903。并且,系統(tǒng)可更新復(fù)制記錄906以指示數(shù)據(jù)變化(6)是對源集群901中的分區(qū)P1已在目的地集群902中接收和成功處理的最后的數(shù)據(jù)變化。
[0071]另外,雖然目的地集群902正在處理數(shù)據(jù)變化(7?9),但集群存儲成員903可向目的地集群902中的集群存儲成員904發(fā)送附加的復(fù)制消息910。例如,復(fù)制消息910可包含數(shù)據(jù)變化(10?12)。
[0072]圖10表示根據(jù)本發(fā)明的實施例的進一步執(zhí)行分布式數(shù)據(jù)網(wǎng)格中的自治集群之間的異步同步的示圖。如圖10所示,擁有分布式數(shù)據(jù)網(wǎng)格1000中的源集群1001中的分區(qū)P1的集群存儲成員1003可處理日志記錄1005中的用于分區(qū)P1的日志條目,并且可向目的地集群1002中的集群存儲成員1004發(fā)送一個或多個復(fù)制消息1010。
[0073]在源集群1001中的集群存儲成員1003已接收指示目的地集群1002中的集群存儲成員1004已接收和成功處理數(shù)據(jù)變化(1?3)和(4?6)的確認(ACK)1020之后,集群存儲成員1003可在與這些數(shù)據(jù)變化相關(guān)聯(lián)的資源上執(zhí)行垃圾收集。
[0074]另一方面,在目的地集群1002中的集群存儲成員1004已接收和成功處理數(shù)據(jù)變化(7?9)之后,集群存儲成員1004可將確認(ACK) 1020送回到源集群1001中的集群存儲成員1003,并且可更新指示數(shù)據(jù)變化(9)是對源集群1001中的分區(qū)P1已在目的地集群1002中接收和成功處理的最后的數(shù)據(jù)變化。
[0075]同時,集群存儲成員1004可繼續(xù)處理數(shù)據(jù)變化(10?12),同時集群存儲成員1003可向目的地集群100 2中的集群存儲成員1004發(fā)送附加的復(fù)制消息1010。例如,復(fù)制消息101可包含所捕獲的數(shù)據(jù)變化(13?16)。
[0076]圖11表示根據(jù)本發(fā)明的實施例的支持分布式數(shù)據(jù)網(wǎng)格中的自治集群之間的并行異步同步的示例性流程圖。如圖11所示,在步驟1101中,系統(tǒng)可在分區(qū)級別上跟蹤被施加于源集群中的一個或多個用戶緩存上的一個或多個數(shù)據(jù)變化。然后,在步驟1102中,源集群中的一個或多個集群成員可向一個或多個目的地集群發(fā)送一個或多個復(fù)制消息,其中所述一個或多個復(fù)制消息包含該一個或多個數(shù)據(jù)變化。并且,在步驟1103中,該一個或多個目的地集群可以處理所接收的一個或多個數(shù)據(jù)變化。
[0077]用于自治集群之間的異步同步的故障切換
[0078]圖12表示根據(jù)本發(fā)明的實施例的在分布式數(shù)據(jù)網(wǎng)格中的
當前第2頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1