最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

一種實現(xiàn)事務一致性復制的方法及系統(tǒng)與流程

文檔序號:41944878發(fā)布日期:2025-05-16 14:02閱讀:7來源:國知局
一種實現(xiàn)事務一致性復制的方法及系統(tǒng)與流程

本發(fā)明涉及分布式數(shù)據(jù)庫,具體地說是一種實現(xiàn)事務一致性復制的方法及系統(tǒng)。


背景技術(shù):

1、cdc是change?data?capture,即捕獲變更數(shù)據(jù)。是數(shù)據(jù)庫進行備份的一種方式,常用于大量數(shù)據(jù)的備份工作。cdc的機制是在主集群對目標數(shù)據(jù)進行監(jiān)控,當數(shù)據(jù)發(fā)生變更是,捕獲增量的變更數(shù)據(jù)。cdc存在的問題,不支持事務特性,只捕獲了數(shù)據(jù)最終變更的結(jié)果,沒有事務關(guān)聯(lián),數(shù)據(jù)復制能夠達到最終一致性。

2、目前,主備集群基于cdc實現(xiàn)主備分布式集群的數(shù)據(jù)復制,對主集群的數(shù)據(jù)變更進行捕獲,發(fā)動到備集群,并在備集群進行數(shù)據(jù)回放,達到主備集群的最終一致性。關(guān)于備集群數(shù)據(jù)的回放,并不支持事務特性,無法保證事務的原子性及一致性。


技術(shù)實現(xiàn)思路

1、本發(fā)明的技術(shù)任務是針對以上不足之處,提供一種實現(xiàn)事務一致性復制的方法及系統(tǒng),優(yōu)化分布式數(shù)據(jù)庫集群,使用基于cdc實現(xiàn)的數(shù)據(jù)復制,在主備集群復制方案下,備集群數(shù)據(jù)回放保證事務原子性、一致性。

2、本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:

3、一種實現(xiàn)事務一致性復制的方法,該方法在分布式數(shù)據(jù)庫上實現(xiàn),基于raft共識算法,支持cdc捕獲數(shù)據(jù)變更進行數(shù)據(jù)復制功能,對于cdc數(shù)據(jù)進行復制回放時,支持事務原子性,保證數(shù)據(jù)的事務完整性,保證主備事務一致性;該方法的實現(xiàn)方式如下:

4、分布式數(shù)據(jù)庫在全局(跨機器)范圍內(nèi),提交了多個事務;

5、對全局范圍內(nèi),提交的多個事務進行回放;

6、回放事務時,能夠判斷事務包含的操作數(shù)以及事務順序;

7、回放某個事務時,如果該事務的全部操作都接收到了,則該事務就可以進行回放;

8、隱式事務事務可以直接回放。

9、本方法在分布式數(shù)據(jù)庫中基于raft共識協(xié)議,捕獲數(shù)據(jù)變更進行數(shù)據(jù)復制,保證事務完整性、一致性的方案,用于保證備庫數(shù)據(jù)具有事務語義,保證分布式事務的一致性。

10、進一步的,該方法實現(xiàn)的具體過程如下:

11、1)cdc捕獲數(shù)據(jù)變更在raft共識協(xié)議基礎(chǔ)上,捕獲共識的kv數(shù)據(jù);對于每個數(shù)據(jù)變更,記錄相應的事務id及操作;事務提交時,記錄事務id及事務涉及的操作數(shù);

12、2)主集群進行cdc數(shù)據(jù)捕獲時,記錄一個事務涉及的數(shù)據(jù)變更數(shù)量以及該事務的事務id;數(shù)據(jù)傳輸時,除了傳輸變更數(shù)據(jù),增加事務id及事務涉及的變更數(shù)的傳輸;

13、3)在備集群,接收到數(shù)據(jù)后,首先根據(jù)事務id做數(shù)據(jù)聚合操作,如果該事務聚合的變更數(shù)據(jù)記錄與該事務的變更數(shù)相同,則認為該事務的所有操作全部發(fā)送到了備集群,可以進行該事務的數(shù)據(jù)回放,從而保證事務的原子性;

14、4)raft共識協(xié)議保證數(shù)據(jù)捕獲變更的順序性,每個range上事務有序;

15、5)回放時,從cdc隊列中讀取數(shù)據(jù)變更操作,根據(jù)事務id進行聚合操作,通過每個range上事務的順序,生成事務的依賴關(guān)系,依據(jù)事務的先后順序進行回放,從而保證事務的一致性;

16、6)回放成功后,清理緩存中該事物的操作隊列。

17、進一步的,單個事務的復制回放流程如下:

18、s1、主集群進行事務操作,包括數(shù)據(jù)寫入及事務提交;

19、s2、cdc捕獲事務的每個操作,并且在事務結(jié)束時攜帶總操作數(shù);

20、s3、備集群在接收到所有的操作及操作數(shù)后,進行數(shù)據(jù)對比,全部接收后進行回放。

21、進一步的,該方法實現(xiàn)一致性保證的流程如下:

22、設(shè)定分布式數(shù)據(jù)庫提交有多個事務,每個事務均包含事務id及對應kv值;

23、s1、隨時間增長,多個事務對多個range進行多個數(shù)據(jù)操作;

24、s2、cdc對每個range捕獲一組數(shù)據(jù),這組數(shù)據(jù)包含多個事務的操作,同時說明了該range事務的執(zhí)行順序,形成沖突隊列;

25、s3、根據(jù)所述事務沖突隊列,生成事務的等待隊列;

26、s4、最早的事務回放完成后,更新隊列,循環(huán)執(zhí)行最早事務,以此保證事務執(zhí)行順序,保證事務一致性。

27、本發(fā)明還要求保護一種實現(xiàn)事務一致性復制的系統(tǒng),該系統(tǒng)應用于分布式數(shù)據(jù)庫,基于raft共識算法,支持cdc捕獲數(shù)據(jù)變更進行數(shù)據(jù)復制功能,對于cdc數(shù)據(jù)進行復制回放時,支持事務原子性,保證數(shù)據(jù)的事務完整性,保證主備事務一致性;實現(xiàn)方式如下:

28、分布式數(shù)據(jù)庫在全局(跨機器)范圍內(nèi),提交了多個事務;

29、對全局范圍內(nèi),提交的多個事務進行回放;

30、回放事務時,能夠判斷事務包含的操作數(shù)以及事務順序;

31、回放某個事務時,如果該事務的全部操作都接收到了,則該事務就可以進行回放;

32、隱式事務事務可直接回放。

33、進一步的,該系統(tǒng)實現(xiàn)事務一致性復制的具體過程如下:

34、1)cdc捕獲數(shù)據(jù)變更在raft共識協(xié)議基礎(chǔ)上,捕獲共識的kv數(shù)據(jù);對于每個數(shù)據(jù)變更,記錄相應的事務id及操作;事務提交時,記錄事務id及事務涉及的操作數(shù);

35、2)主集群進行cdc數(shù)據(jù)捕獲時,記錄一個事務涉及的數(shù)據(jù)變更數(shù)量以及該事務的事務id;數(shù)據(jù)傳輸時,除了傳輸變更數(shù)據(jù),增加事務id及事務涉及的變更數(shù)的傳輸;

36、3)在備集群,接收到數(shù)據(jù)后,首先根據(jù)事務id做數(shù)據(jù)聚合操作,如果該事務聚合的變更數(shù)據(jù)記錄與該事務的變更數(shù)相同,則認為該事務的所有操作全部發(fā)送到了備集群,可以進行該事務的數(shù)據(jù)回放,從而保證事務的原子性;

37、4)raft共識協(xié)議保證數(shù)據(jù)捕獲變更的順序性,每個range上事務有序;

38、5)回放時,從cdc隊列中讀取數(shù)據(jù)變更操作,根據(jù)事務id進行聚合操作,通過每個range上事務的順序,生成事務的依賴關(guān)系,依據(jù)事務的先后順序進行回放,從而保證事務的一致性;

39、6)回放成功后,清理緩存中該事物的操作隊列。

40、進一步的,單個事務的復制回放流程如下:

41、s1、主集群進行事務操作,包括數(shù)據(jù)寫入及事務提交;

42、s2、cdc捕獲事務的每個操作,并且在事務結(jié)束時攜帶總操作數(shù);

43、s3、備集群在接收到所有的操作及操作數(shù)后,進行數(shù)據(jù)對比,全部接收后進行回放。

44、進一步的,該系統(tǒng)實現(xiàn)一致性保證的流程如下:

45、設(shè)定分布式數(shù)據(jù)庫提交有多個事務,每個事務均包含事務id及對應kv值;

46、s1、隨時間增長,多個事務對多個range進行多個數(shù)據(jù)操作;

47、s2、cdc會對每個range捕獲一組數(shù)據(jù),這組數(shù)據(jù)包含多個事務的操作,同時說明了該range事務的執(zhí)行順序,形成沖突隊列;

48、s3、根據(jù)事務沖突隊列,生成事務的等待隊列;

49、s4、最早的事務回放完成后,更新隊列,循環(huán)執(zhí)行最早事務,以此保證事務執(zhí)行順序,保證事務一致性。

50、本發(fā)明還要求保護一種實現(xiàn)事務一致性復制的裝置,包括:至少一個存儲器和至少一個處理器;

51、所述至少一個存儲器,用于存儲機器可讀程序;

52、所述至少一個處理器,用于調(diào)用所述機器可讀程序,實現(xiàn)上述的方法。

53、本發(fā)明還要求保護一種計算機可讀介質(zhì),所述計算機可讀介質(zhì)上存儲有計算機指令,所述計算機指令在被處理器執(zhí)行時,能夠?qū)崿F(xiàn)上述的方法。

54、本發(fā)明的一種實現(xiàn)事務一致性復制的方法及系統(tǒng)與現(xiàn)有技術(shù)相比,具有以下有益效果:

55、在主備庫集群同等規(guī)模和配置情況下,針對備庫數(shù)據(jù)完整性,備庫發(fā)生故障時能夠保證單個事務的事務原子性、主被事務的一致性。

56、在以cdc為基礎(chǔ)實現(xiàn)的主備集群復制方案下,備集群如果發(fā)生某些故障,導致主集群發(fā)來的數(shù)據(jù)變更沒有得到全部應用,可能分裂一個事務的多個操作,對此對事務的操作變更數(shù)進行統(tǒng)計,回放時進行校驗,可以保證事務的原子性,進而保證數(shù)據(jù)的完整性。

57、通過事務依賴關(guān)系,保證備庫事務的回放順序,進而保證主被事務的一致性。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1