日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

基于MySQL數(shù)據(jù)庫的分布式事務處理方法及裝置與流程

文檔序號:39724159發(fā)布日期:2024-10-22 13:20閱讀:1來源:國知局
基于MySQL數(shù)據(jù)庫的分布式事務處理方法及裝置與流程

本申請涉及數(shù)據(jù)庫,尤其涉及一種基于mysql數(shù)據(jù)庫的分布式事務處理方法及裝置、可讀存儲介質(zhì)。


背景技術:

1、傳統(tǒng)的mysql分布式數(shù)據(jù)庫集群采用兩階段提交分布式事務的方式,即第一階段為準備階段,第二階段為提交階段,確保分布式事務的原子性,即需要所有參與目標分布式事務的節(jié)點都提交成功,否則需要所有參與節(jié)點都回滾。

2、如果第二階段提交的命令在某個或某些參與節(jié)點上失敗,而其他參與節(jié)點依然會提交成功。而對于提交失敗的參與節(jié)點,恢復后對應的分布式事務與其他參與節(jié)點出現(xiàn)分布式事務部分提交不一致的狀態(tài),導致客戶端無法查看正確的分布式事務提交數(shù)據(jù),影響用戶使用體驗。


技術實現(xiàn)思路

1、本申請實施例的目的是提供一種基于mysql數(shù)據(jù)庫的分布式事務處理方法及裝置、可讀存儲介質(zhì),用以解決mysql分布式數(shù)據(jù)庫集群節(jié)點提交分布式事務出現(xiàn)不一致的問題。

2、為了解決上述技術問題,本說明書是這樣實現(xiàn)的:

3、第一方面,提供了一種基于mysql數(shù)據(jù)庫的分布式事務處理方法,所述mysql數(shù)據(jù)庫的分布式事務采用兩階段提交,所述方法包括:

4、對所述mysql數(shù)據(jù)庫集群中處于提交階段的節(jié)點的提交過程進行監(jiān)測,以確定故障節(jié)點;

5、將所述故障節(jié)點的備數(shù)據(jù)副本替換為所述目標故障節(jié)點的主數(shù)據(jù)副本;

6、從替換后的主數(shù)據(jù)副本中獲取所述故障節(jié)點參與的目標分布式事務對應的日志數(shù)據(jù);

7、通過將所述目標分布式事務對應的日志數(shù)據(jù)與其他節(jié)點的日志數(shù)據(jù)進行節(jié)點互證校驗,得到所述目標分布式事務對應的準備階段的節(jié)點提交狀態(tài)列表;

8、基于所述節(jié)點提交狀態(tài)列表,確定所述故障節(jié)點對所述目標分布式事務是否進行補償提交。

9、可選地,對所述mysql數(shù)據(jù)庫集群中處于提交階段的節(jié)點的提交過程進行監(jiān)測,以確定故障節(jié)點,包括:

10、監(jiān)測所述mysql數(shù)據(jù)庫集群中處于提交階段的各節(jié)點在提交過程中的運行狀態(tài);

11、將存在運行狀態(tài)異常的目標節(jié)點確定為故障節(jié)點。

12、可選地,從替換后的主數(shù)據(jù)副本中獲取所述故障節(jié)點參與目標分布式事務對應的日志數(shù)據(jù),包括:

13、基于所述目標分布式事務的標識,查詢所述替換后的主數(shù)據(jù)副本中所述目標分布式事務在準備階段的提交信息及提交緩存;

14、從所述提交緩存中獲取所述目標分布式事務的第一日志數(shù)據(jù),所述第一日志數(shù)據(jù)中記錄有所述目標分布式事務關聯(lián)的各節(jié)點。

15、可選地,通過將所述目標分布式事務對應的日志數(shù)據(jù)與其他節(jié)點的日志數(shù)據(jù)進行節(jié)點互證校驗,得到所述目標分布式事務對應的準備階段的節(jié)點提交狀態(tài)列表,包括:

16、基于所述第一日志數(shù)據(jù)中記錄的所述目標分布式事務關聯(lián)的各節(jié)點,確定所述故障節(jié)點對應的關聯(lián)節(jié)點;

17、基于所述目標分布式事務的標識,查詢關聯(lián)節(jié)點的主數(shù)據(jù)副本中所述目標分布式事務在準備階段的提交信息;

18、從所述提交信息中獲取所述目標分布式事務的第二日志數(shù)據(jù),所述第二日志數(shù)據(jù)中記錄有對應關聯(lián)節(jié)點的提交狀態(tài);

19、基于各關聯(lián)節(jié)點的第二日志數(shù)據(jù)記錄的提交狀態(tài),得到所述目標分布式事務對應的準備階段的節(jié)點提交狀態(tài)列表。

20、可選地,基于所述節(jié)點提交狀態(tài)列表,確定所述故障節(jié)點對所述目標分布式事務是否進行補償提交,包括:

21、如果基于所述節(jié)點提交狀態(tài)列表確定各關聯(lián)節(jié)點均進入提交狀態(tài),則確定所述故障節(jié)點對所述目標分布式事務進行補償提交,

22、其中,關聯(lián)節(jié)點進入提交狀態(tài)表示目標關聯(lián)節(jié)點處于所述準備階段時同意提交所述目標分布式事務。

23、可選地,確定所述故障節(jié)點對所述目標分布式事務進行補償提交之后,還包括:

24、執(zhí)行所述故障節(jié)點對所述目標分布式事務的補償提交;

25、在所述故障節(jié)點恢復正常的情況下,由恢復正常的所述故障節(jié)點執(zhí)行對應的分布式事務。

26、可選地,所述日志數(shù)據(jù)存儲在對應的節(jié)點上。

27、可選地,所述副數(shù)據(jù)副本與所述主數(shù)據(jù)副本為一致性復制。

28、第二方面,提供了一種基于mysql數(shù)據(jù)庫的分布式事務處理裝置,包括處理器和存儲器,所述存儲器存儲可在所述處理器上運行的程序或指令,所述程序或指令被所述處理器執(zhí)行時實現(xiàn)如第一方面所述的方法的步驟。

29、第三方面,提供了一種可讀存儲介質(zhì),該可讀存儲介質(zhì)上存儲有程序或指令,所述程序或指令被處理器執(zhí)行時實現(xiàn)如第一方面所述的方法的步驟。

30、在本申請實施例中,通過對所述mysql數(shù)據(jù)庫集群中處于提交階段的節(jié)點的提交過程進行監(jiān)測,以確定故障節(jié)點;將所述故障節(jié)點的備數(shù)據(jù)副本替換為所述目標故障節(jié)點的主數(shù)據(jù)副本;從替換后的主數(shù)據(jù)副本中獲取所述故障節(jié)點參與的目標分布式事務對應的日志數(shù)據(jù);通過將所述目標分布式事務對應的日志數(shù)據(jù)與其他節(jié)點的日志數(shù)據(jù)進行節(jié)點互證校驗,得到所述目標分布式事務對應的準備階段的節(jié)點提交狀態(tài)列表;基于所述節(jié)點提交狀態(tài)列表,確定所述故障節(jié)點對所述目標分布式事務是否進行補償提交,由此在分布式事務一旦進入提交階段時,即使存在參與節(jié)點出現(xiàn)故障,也可以確保該分布式事務在所有參與節(jié)點提交成功,分布式事務提交一致,不會出現(xiàn)對用戶可見部分非故障節(jié)點提交的數(shù)據(jù),節(jié)點故障對客戶端無感知,用戶可以查看正確的分布式事務提交數(shù)據(jù),提高用戶使用體驗。并且通過日志數(shù)據(jù)的方式處理分布式事務,對原有業(yè)務性能影響極小,不引入額外的復雜度與性能消耗。



技術特征:

1.一種基于mysql數(shù)據(jù)庫的分布式事務處理方法,其特征在于,所述mysql數(shù)據(jù)庫的分布式事務采用兩階段提交,所述方法包括:

2.如權利要求1所述的方法,其特征在于,對所述mysql數(shù)據(jù)庫集群中處于提交階段的節(jié)點的提交過程進行監(jiān)測,以確定故障節(jié)點,包括:

3.如權利要求1所述的方法,其特征在于,從替換后的主數(shù)據(jù)副本中獲取所述故障節(jié)點參與目標分布式事務對應的日志數(shù)據(jù),包括:

4.如權利要求3所述的方法,其特征在于,通過將所述目標分布式事務對應的日志數(shù)據(jù)與其他節(jié)點的日志數(shù)據(jù)進行節(jié)點互證校驗,得到所述目標分布式事務對應的準備階段的節(jié)點提交狀態(tài)列表,包括:

5.如權利要求4所述的方法,其特征在于,基于所述節(jié)點提交狀態(tài)列表,確定所述故障節(jié)點對所述目標分布式事務是否進行補償提交,包括:

6.如權利要求1所述的方法,其特征在于,確定所述故障節(jié)點對所述目標分布式事務進行補償提交之后,還包括:

7.如權利要求1所述的方法,其特征在于,所述日志數(shù)據(jù)存儲在對應的節(jié)點上。

8.如權利要求1所述的方法,其特征在于,所述副數(shù)據(jù)副本與所述主數(shù)據(jù)副本為一致性復制。

9.一種基于mysql數(shù)據(jù)庫的分布式事務處理裝置,其特征在于,包括:存儲器和與所述存儲器電連接的處理器,所述存儲器存儲有可在所述處理器運行的程序或指令,所述程序或指令被所述處理器執(zhí)行時實現(xiàn)如權利要求1至8中任一項所述的方法的步驟。

10.一種可讀存儲介質(zhì),其特征在于,所述可讀存儲介質(zhì)上存儲有程序或指令,所述程序或指令被處理器執(zhí)行時實現(xiàn)如權利要求1至8中任一項所述的方法的步驟。


技術總結
本申請公開了一種基于MySQL數(shù)據(jù)庫的分布式事務處理方法及裝置、可讀存儲介質(zhì),所述MySQL數(shù)據(jù)庫的分布式事務采用兩階段提交,所述方法包括:對所述MySQL數(shù)據(jù)庫集群中處于提交階段的節(jié)點的提交過程進行監(jiān)測,以確定故障節(jié)點;將所述故障節(jié)點的備數(shù)據(jù)副本替換為所述目標故障節(jié)點的主數(shù)據(jù)副本;從替換后的主數(shù)據(jù)副本中獲取所述故障節(jié)點參與的目標分布式事務對應的日志數(shù)據(jù);通過將所述目標分布式事務對應的日志數(shù)據(jù)與其他節(jié)點的日志數(shù)據(jù)進行節(jié)點互證校驗,得到所述目標分布式事務對應的準備階段的節(jié)點提交狀態(tài)列表;基于所述節(jié)點提交狀態(tài)列表,確定所述故障節(jié)點對所述目標分布式事務是否進行補償提交。

技術研發(fā)人員:牛昆亮,孫海濤,王天柱,李海東
受保護的技術使用者:中移系統(tǒng)集成有限公司
技術研發(fā)日:
技術公布日:2024/10/21
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1