欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種數(shù)據(jù)庫(kù)主備復(fù)制方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)與流程

文檔序號(hào):40614376發(fā)布日期:2025-01-07 21:02閱讀:9來源:國(guó)知局
一種數(shù)據(jù)庫(kù)主備復(fù)制方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)與流程

本發(fā)明涉及數(shù)據(jù)庫(kù)領(lǐng)域,特別涉及一種數(shù)據(jù)庫(kù)主備復(fù)制方法、裝置、設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。


背景技術(shù):

1、mysql數(shù)據(jù)庫(kù)進(jìn)行主備復(fù)制時(shí),同步速度存在差異,mysql主數(shù)據(jù)庫(kù)的存儲(chǔ)速度是多線程支持并發(fā)的,但是備數(shù)據(jù)庫(kù)在同步到主數(shù)據(jù)的binlog(二進(jìn)制日志)后進(jìn)行binlog重放時(shí)是單線程的,因此,速度會(huì)比主數(shù)據(jù)庫(kù)慢,導(dǎo)致會(huì)存在主備復(fù)制延遲,如果主備復(fù)制延遲時(shí)間過長(zhǎng)將嚴(yán)重影響業(yè)務(wù),如數(shù)據(jù)一致性問題、讀寫分離效果降低、數(shù)據(jù)丟失風(fēng)險(xiǎn)高、故障恢復(fù)時(shí)間延長(zhǎng)、數(shù)據(jù)查詢性能下降、復(fù)制鏈路壓力增加等。


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

1、本發(fā)明的目的在于提供一種數(shù)據(jù)庫(kù)主備復(fù)制方法、裝置、設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),應(yīng)用于數(shù)據(jù)庫(kù)領(lǐng)域,該方法實(shí)現(xiàn)事務(wù)的多線程分配及運(yùn)行,避免了提升備數(shù)據(jù)庫(kù)的同步效率,減少主備延遲,且通過雙層哈希表保證了協(xié)調(diào)器解析事務(wù)后分配子線程的效率,同時(shí)通過雙層降低了發(fā)生哈希碰撞的概率。

2、為解決上述技術(shù)問題,本發(fā)明提供一種數(shù)據(jù)庫(kù)主備復(fù)制方法,包括:

3、通過協(xié)調(diào)器在備數(shù)據(jù)庫(kù)所在服務(wù)器上創(chuàng)建多個(gè)子線程,為每個(gè)所述子線程構(gòu)建一個(gè)哈希表,將事務(wù)從主數(shù)據(jù)庫(kù)的binlog中同步至所述備數(shù)據(jù)庫(kù)的relay-log中;所述哈希表為雙層哈希表;

4、通過所述協(xié)調(diào)器解析所述relay-log中的事務(wù),確定事務(wù)中的改動(dòng)行及所述改動(dòng)行的行修改次數(shù),構(gòu)建所述改動(dòng)行的行標(biāo)識(shí);

5、確定所述行標(biāo)識(shí)的哈希值;所述行標(biāo)識(shí)的哈希值包括所述行標(biāo)識(shí)經(jīng)第一哈希算法運(yùn)算得到的第一哈希值及所述行標(biāo)識(shí)經(jīng)第二哈希算法運(yùn)算得到的第二哈希值;

6、當(dāng)所述行標(biāo)識(shí)的哈希值存儲(chǔ)在所述哈希表中時(shí),將存儲(chǔ)有所述行標(biāo)識(shí)的哈希值的所述哈希表確定為目標(biāo)哈希表;

7、當(dāng)所述行標(biāo)識(shí)的哈希值未存儲(chǔ)在所述哈希表中時(shí),隨機(jī)從所述哈希表中確定目標(biāo)哈希表,并將所述行標(biāo)識(shí)的哈希值存儲(chǔ)至所述目標(biāo)哈希表;

8、基于所述行修改次數(shù)更新所述目標(biāo)哈希表中對(duì)應(yīng)的value值,將事務(wù)分配至所述目標(biāo)哈希表的目標(biāo)子線程,當(dāng)所述目標(biāo)子線程中所述改動(dòng)行的執(zhí)行語句執(zhí)行完畢后,刪除所述目標(biāo)哈希表中所述行標(biāo)識(shí)的哈希值及對(duì)應(yīng)的value值。

9、可選的,所述當(dāng)所述行標(biāo)識(shí)的哈希值存儲(chǔ)在所述哈希表中時(shí),將存儲(chǔ)有所述行標(biāo)識(shí)的哈希值的所述哈希表確定為目標(biāo)哈希表,包括:

10、當(dāng)全部所述行標(biāo)識(shí)的哈希值存儲(chǔ)在一個(gè)所述哈希表中時(shí),將存儲(chǔ)有全部所述行標(biāo)識(shí)的哈希值的所述哈希表確定為所述目標(biāo)哈希表;

11、當(dāng)部分所述行標(biāo)識(shí)的哈希值存儲(chǔ)在一個(gè)所述哈希表中,且另一部分所述行標(biāo)識(shí)的哈希值未存儲(chǔ)在所述哈希表中時(shí),將存儲(chǔ)有部分所述行標(biāo)識(shí)的哈希值的所述哈希表確定為所述目標(biāo)哈希表;

12、當(dāng)全部所述行標(biāo)識(shí)的哈希值存儲(chǔ)在多個(gè)不同的所述哈希表中時(shí),將事務(wù)放入所述協(xié)調(diào)器中進(jìn)行等待,直至部分所述行標(biāo)識(shí)的哈希值存儲(chǔ)在一個(gè)所述哈希表中,且另一部分所述行標(biāo)識(shí)的哈希值未存儲(chǔ)在所述哈希表中。

13、可選的,所述構(gòu)建所述改動(dòng)行的行標(biāo)識(shí),包括:

14、基于所述改動(dòng)行的庫(kù)名、表名、唯一鍵和所述唯一鍵的值構(gòu)建所述改動(dòng)行的行標(biāo)識(shí);

15、或,基于所述改動(dòng)行的所述庫(kù)名、所述表名、唯一索引和所述唯一索引的值構(gòu)建所述改動(dòng)行的行標(biāo)識(shí)。

16、可選的,所述基于所述行修改次數(shù)更新所述目標(biāo)哈希表中對(duì)應(yīng)的value值,包括:

17、將所述目標(biāo)哈希表中所述行標(biāo)識(shí)的哈希值的value值加上對(duì)應(yīng)的行修改次數(shù)。

18、可選的,所述通過協(xié)調(diào)器在備數(shù)據(jù)庫(kù)所在服務(wù)器上創(chuàng)建多個(gè)子線程,包括:

19、基于服務(wù)器剩余資源通過所述協(xié)調(diào)器在服務(wù)器上創(chuàng)建多個(gè)所述子線程。

20、可選的,所述通過所述協(xié)調(diào)器解析所述relay-log中的事務(wù),包括:

21、基于事務(wù)id從小到大的順序通過所述協(xié)調(diào)器從所述relay-log查找并解析事務(wù)。

22、可選的,所述哈希表為雙層以上哈希表;相應(yīng)的,所述行標(biāo)識(shí)的哈希值包含兩個(gè)及以上哈希算法的運(yùn)算值。

23、為解決上述技術(shù)問題,本發(fā)明提供一種數(shù)據(jù)庫(kù)主備復(fù)制裝置,包括:

24、第一模塊,用于通過協(xié)調(diào)器在備數(shù)據(jù)庫(kù)所在服務(wù)器上創(chuàng)建多個(gè)子線程,為每個(gè)所述子線程構(gòu)建一個(gè)哈希表,將事務(wù)從主數(shù)據(jù)庫(kù)的binlog中同步至所述備數(shù)據(jù)庫(kù)的relay-log中;所述哈希表為雙層哈希表;

25、第二模塊,用于通過所述協(xié)調(diào)器解析所述relay-log中的事務(wù),確定事務(wù)中的改動(dòng)行及所述改動(dòng)行的行修改次數(shù),構(gòu)建所述改動(dòng)行的行標(biāo)識(shí);

26、第三模塊,用于確定所述行標(biāo)識(shí)的哈希值;所述行標(biāo)識(shí)的哈希值包括所述行標(biāo)識(shí)經(jīng)第一哈希算法運(yùn)算得到的第一哈希值及所述行標(biāo)識(shí)經(jīng)第二哈希算法運(yùn)算得到的第二哈希值;

27、第四模塊,用于當(dāng)所述行標(biāo)識(shí)的哈希值存儲(chǔ)在所述哈希表中時(shí),將存儲(chǔ)有所述行標(biāo)識(shí)的哈希值的所述哈希表確定為目標(biāo)哈希表;

28、第五模塊,用于當(dāng)所述行標(biāo)識(shí)的哈希值未存儲(chǔ)在所述哈希表中時(shí),隨機(jī)從所述哈希表中確定目標(biāo)哈希表,并將所述行標(biāo)識(shí)的哈希值存儲(chǔ)至所述目標(biāo)哈希表;

29、第六模塊,用于基于所述行修改次數(shù)更新所述目標(biāo)哈希表中對(duì)應(yīng)的value值,將事務(wù)分配至所述目標(biāo)哈希表的目標(biāo)子線程,當(dāng)所述目標(biāo)子線程中所述改動(dòng)行的執(zhí)行語句執(zhí)行完畢后,刪除所述目標(biāo)哈希表中所述行標(biāo)識(shí)的哈希值及對(duì)應(yīng)的value值。

30、為解決上述技術(shù)問題,本發(fā)明提供一種數(shù)據(jù)庫(kù)主備復(fù)制設(shè)備,包括:

31、存儲(chǔ)器,用于儲(chǔ)存計(jì)算機(jī)程序;

32、處理器,用于執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)所述數(shù)據(jù)庫(kù)主備復(fù)制方法。

33、為解決上述技術(shù)問題,本發(fā)明提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)可執(zhí)行指令被處理器執(zhí)行時(shí),實(shí)現(xiàn)所述數(shù)據(jù)庫(kù)主備復(fù)制方法。

34、可見,本發(fā)明方法通過協(xié)調(diào)器在備數(shù)據(jù)庫(kù)所在服務(wù)器上創(chuàng)建多個(gè)子線程,為每個(gè)子線程構(gòu)建一個(gè)哈希表,將事務(wù)從主數(shù)據(jù)庫(kù)的binlog中同步至備數(shù)據(jù)庫(kù)的relay-log中;哈希表為雙層哈希表;通過協(xié)調(diào)器解析relay-log中的事務(wù),確定事務(wù)中的改動(dòng)行及改動(dòng)行的行修改次數(shù),構(gòu)建改動(dòng)行的行標(biāo)識(shí);確定行標(biāo)識(shí)的哈希值;行標(biāo)識(shí)的哈希值包括行標(biāo)識(shí)經(jīng)第一哈希算法運(yùn)算得到的第一哈希值及所述行標(biāo)識(shí)經(jīng)第二哈希算法運(yùn)算得到的第二哈希值;當(dāng)行標(biāo)識(shí)的哈希值存儲(chǔ)在哈希表中時(shí),將存儲(chǔ)有行標(biāo)識(shí)的哈希值的哈希表確定為目標(biāo)哈希表;當(dāng)行標(biāo)識(shí)的哈希值未存儲(chǔ)在哈希表中時(shí),隨機(jī)從哈希表中確定目標(biāo)哈希表,并將行標(biāo)識(shí)的哈希值存儲(chǔ)至目標(biāo)哈希表;基于行修改次數(shù)更新目標(biāo)哈希表中對(duì)應(yīng)的value值,當(dāng)目標(biāo)子線程中改動(dòng)行的執(zhí)行語句執(zhí)行完畢后,刪除目標(biāo)哈希表中行標(biāo)識(shí)的哈希值及對(duì)應(yīng)的value值。

35、本發(fā)明方法通過雙層哈希表實(shí)現(xiàn)事務(wù)的多線程分配及運(yùn)行,提升備數(shù)據(jù)庫(kù)的同步效率,減少主備延遲,且通過雙層哈希表保證了協(xié)調(diào)器解析事務(wù)后分配子線程的效率,同時(shí)降低了發(fā)生哈希碰撞的概率。



技術(shù)特征:

1.一種數(shù)據(jù)庫(kù)主備復(fù)制方法,其特征在于,包括:

2.根據(jù)權(quán)利要求1所述數(shù)據(jù)庫(kù)主備復(fù)制方法,其特征在于,所述當(dāng)所述行標(biāo)識(shí)的哈希值存儲(chǔ)在所述哈希表中時(shí),將存儲(chǔ)有所述行標(biāo)識(shí)的哈希值的所述哈希表確定為目標(biāo)哈希表,包括:

3.根據(jù)權(quán)利要求1所述數(shù)據(jù)庫(kù)主備復(fù)制方法,其特征在于,所述構(gòu)建所述改動(dòng)行的行標(biāo)識(shí),包括:

4.根據(jù)權(quán)利要求1所述數(shù)據(jù)庫(kù)主備復(fù)制方法,其特征在于,所述基于所述行修改次數(shù)更新所述目標(biāo)哈希表中對(duì)應(yīng)的value值,包括:

5.根據(jù)權(quán)利要求1所述數(shù)據(jù)庫(kù)主備復(fù)制方法,其特征在于,所述通過協(xié)調(diào)器在備數(shù)據(jù)庫(kù)所在服務(wù)器上創(chuàng)建多個(gè)子線程,包括:

6.根據(jù)權(quán)利要求1所述數(shù)據(jù)庫(kù)主備復(fù)制方法,其特征在于,所述通過所述協(xié)調(diào)器解析所述relay-log中的事務(wù),包括:

7.根據(jù)權(quán)利要求1所述數(shù)據(jù)庫(kù)主備復(fù)制方法,其特征在于,所述哈希表為雙層以上哈希表;相應(yīng)的,所述行標(biāo)識(shí)的哈希值包含兩個(gè)及以上哈希算法的運(yùn)算值。

8.一種數(shù)據(jù)庫(kù)主備復(fù)制裝置,其特征在于,包括:

9.一種數(shù)據(jù)庫(kù)主備復(fù)制設(shè)備,其特征在于,包括:

10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)可執(zhí)行指令被處理器執(zhí)行時(shí),實(shí)現(xiàn)如權(quán)利要求1至7任一項(xiàng)所述數(shù)據(jù)庫(kù)主備復(fù)制方法。


技術(shù)總結(jié)
本發(fā)明公開了一種數(shù)據(jù)庫(kù)主備復(fù)制方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),應(yīng)用于數(shù)據(jù)庫(kù)領(lǐng)域,該方法通過協(xié)調(diào)器在備數(shù)據(jù)庫(kù)所在服務(wù)器上創(chuàng)建多個(gè)子線程,為每個(gè)子線程構(gòu)建雙層哈希表,將事務(wù)從主數(shù)據(jù)庫(kù)binlog中同步至備數(shù)據(jù)庫(kù)的relay?log中;通過協(xié)調(diào)器解析relay?log中的事務(wù),構(gòu)建改動(dòng)行的行標(biāo)識(shí)并確定行標(biāo)識(shí)的哈希值。通過比較事務(wù)中改動(dòng)行的哈希值及雙層哈希表存儲(chǔ)的哈希值以避免更新同一行的兩個(gè)事務(wù)被分發(fā)到不同的子線程中,且事務(wù)不能被拆分,進(jìn)而實(shí)現(xiàn)事務(wù)的多線程分配及運(yùn)行,提升備數(shù)據(jù)庫(kù)的同步效率,減少主備延遲,且通過雙層哈希表保證了協(xié)調(diào)器解析事務(wù)后分配子線程的效率,同時(shí)降低了發(fā)生哈希碰撞的概率。

技術(shù)研發(fā)人員:賀鴻才,李尼科,魯健翔,周雁鳴,郝大程,劉濤,廖宜銀,鄒揚(yáng),滿敏
受保護(hù)的技術(shù)使用者:湖南長(zhǎng)銀五八消費(fèi)金融股份有限公司
技術(shù)研發(fā)日:
技術(shù)公布日:2025/1/6
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
祥云县| 榕江县| 信宜市| 托克托县| 大洼县| 通河县| 贡嘎县| 梁河县| 晋中市| 界首市| 重庆市| 同江市| 大城县| 栾川县| 大姚县| 平远县| 桂林市| 宁远县| 和政县| 论坛| 巩义市| 象州县| 静海县| 永年县| 萨迦县| 泗水县| 辉南县| 南投市| 连州市| 福泉市| 米脂县| 胶州市| 沂南县| 仲巴县| 辽阳县| 涿鹿县| 雅江县| 应城市| 荔波县| 清徐县| 佛坪县|