System.ArgumentOutOfRangeException: 索引和長(zhǎng)度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本公開(kāi)涉及數(shù)據(jù)傳輸,具體地,涉及一種基于數(shù)據(jù)庫(kù)的數(shù)據(jù)同步方法、裝置、介質(zhì)、設(shè)備及產(chǎn)品。
技術(shù)介紹
1、在數(shù)據(jù)同步過(guò)程中,需要持續(xù)記錄當(dāng)前同步的位點(diǎn)信息。當(dāng)數(shù)據(jù)同步由于網(wǎng)絡(luò)問(wèn)題、系統(tǒng)故障或其他原因中斷時(shí),系統(tǒng)需要能夠檢測(cè)到這一情況,并保存當(dāng)前的位點(diǎn)信息。在中斷問(wèn)題解決后,系統(tǒng)會(huì)利用之前保存的位點(diǎn)信息來(lái)恢復(fù)數(shù)據(jù)同步。因此,位點(diǎn)信息的記錄對(duì)于斷點(diǎn)續(xù)傳至關(guān)重要。
2、在相關(guān)技術(shù)中,mysql(一種關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng))使用到的位點(diǎn)包括基于二進(jìn)制文件名和偏移量的物理位點(diǎn)以及基于gtid/gtidset的邏輯位點(diǎn)。但是,在主從切換的場(chǎng)景中,由于主數(shù)據(jù)庫(kù)和從數(shù)據(jù)庫(kù)上的物理位置不一樣,當(dāng)進(jìn)行主從切換時(shí),基于二進(jìn)制文件名和偏移量的物理位點(diǎn)會(huì)失效。雖然基于gtid/gtidset的邏輯位點(diǎn)能夠解決主從切換的位點(diǎn)失效問(wèn)題,但是低版本的mysql并不支持使用基于gtid/gtidset的邏輯位點(diǎn)。因此,亟需提供一種新的能夠適應(yīng)各個(gè)版本的mysql且能夠解決主從切換的位點(diǎn)失效問(wèn)題的數(shù)據(jù)同步方法。
技術(shù)實(shí)現(xiàn)思路
1、提供該
技術(shù)實(shí)現(xiàn)思路
部分以便以簡(jiǎn)要的形式介紹構(gòu)思,這些構(gòu)思將在后面的具體實(shí)施方式部分被詳細(xì)描述。該
技術(shù)實(shí)現(xiàn)思路
部分并不旨在標(biāo)識(shí)要求保護(hù)的技術(shù)方案的關(guān)鍵特征或必要特征,也不旨在用于限制所要求的保護(hù)的技術(shù)方案的范圍。
2、第一方面,本公開(kāi)提供一種基于數(shù)據(jù)庫(kù)的數(shù)據(jù)同步方法,包括:
3、在數(shù)據(jù)庫(kù)中執(zhí)行攜帶有當(dāng)前數(shù)據(jù)同步位點(diǎn)的目標(biāo)語(yǔ)句,以通過(guò)所述目標(biāo)語(yǔ)句將所述當(dāng)前數(shù)據(jù)同步位
4、在數(shù)據(jù)斷點(diǎn)續(xù)傳時(shí),在所述數(shù)據(jù)庫(kù)的日志文件中查找得到目標(biāo)數(shù)據(jù)同步位點(diǎn),所述目標(biāo)數(shù)據(jù)同步位點(diǎn)為上次數(shù)據(jù)同步中斷時(shí)記錄到的所述當(dāng)前數(shù)據(jù)同步位點(diǎn);
5、基于所述目標(biāo)數(shù)據(jù)同步位點(diǎn)進(jìn)行數(shù)據(jù)同步。
6、第二方面,本公開(kāi)提供一種基于數(shù)據(jù)庫(kù)的數(shù)據(jù)同步裝置,包括:
7、執(zhí)行模塊,被配置為在數(shù)據(jù)庫(kù)中執(zhí)行攜帶有當(dāng)前數(shù)據(jù)同步位點(diǎn)的目標(biāo)語(yǔ)句,以通過(guò)所述目標(biāo)語(yǔ)句將所述當(dāng)前數(shù)據(jù)同步位點(diǎn)寫入所述數(shù)據(jù)庫(kù)的日志文件中,其中,所述目標(biāo)語(yǔ)句為數(shù)據(jù)定義語(yǔ)言類型的語(yǔ)句;
8、查找模塊,被配置為在數(shù)據(jù)斷點(diǎn)續(xù)傳時(shí),在所述數(shù)據(jù)庫(kù)的日志文件中查找得到目標(biāo)數(shù)據(jù)同步位點(diǎn),所述目標(biāo)數(shù)據(jù)同步位點(diǎn)為上次數(shù)據(jù)同步中斷時(shí)記錄到的所述當(dāng)前數(shù)據(jù)同步位點(diǎn);
9、同步模塊,被配置為基于所述目標(biāo)數(shù)據(jù)同步位點(diǎn)進(jìn)行數(shù)據(jù)同步。
10、第三方面,本公開(kāi)提供一種計(jì)算機(jī)可讀介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理裝置執(zhí)行時(shí)實(shí)現(xiàn)第一方面所述的方法的步驟。
11、第四方面,本公開(kāi)提供一種電子設(shè)備,包括:
12、存儲(chǔ)裝置,其上存儲(chǔ)有計(jì)算機(jī)程序;
13、處理裝置,用于執(zhí)行所述存儲(chǔ)裝置中的所述計(jì)算機(jī)程序,以實(shí)現(xiàn)第一方面所述的方法的步驟。
14、第五方面,本公開(kāi)提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)第一方面所述的方法的步驟。
15、基于上述技術(shù)方案,通過(guò)在數(shù)據(jù)庫(kù)中執(zhí)行攜帶有當(dāng)前數(shù)據(jù)同步位點(diǎn)的屬于數(shù)據(jù)定義語(yǔ)言類型的目標(biāo)語(yǔ)句,以通過(guò)目標(biāo)語(yǔ)句將當(dāng)前數(shù)據(jù)同步位點(diǎn)寫入數(shù)據(jù)庫(kù)的日志文件中,并在數(shù)據(jù)斷點(diǎn)續(xù)傳時(shí),在數(shù)據(jù)庫(kù)的日志文件中查找得到目標(biāo)數(shù)據(jù)同步位點(diǎn),然后基于目標(biāo)數(shù)據(jù)同步位點(diǎn)進(jìn)行數(shù)據(jù)同步,可以起到數(shù)據(jù)柵欄的效果,避免數(shù)據(jù)同步位點(diǎn)在主從數(shù)據(jù)庫(kù)切換的場(chǎng)景下失效,以使在主從數(shù)據(jù)庫(kù)切換的場(chǎng)景下,數(shù)據(jù)同步過(guò)程中,數(shù)據(jù)的一致性和完整性能夠得到保障。而且,通過(guò)屬于數(shù)據(jù)定義語(yǔ)言的目標(biāo)語(yǔ)句進(jìn)行數(shù)據(jù)同步位點(diǎn)的埋點(diǎn),也能夠支持各種版本的mysql數(shù)據(jù)庫(kù)。
16、本公開(kāi)的其他特征和優(yōu)點(diǎn)將在隨后的具體實(shí)施方式部分予以詳細(xì)說(shuō)明。
本文檔來(lái)自技高網(wǎng)...【技術(shù)保護(hù)點(diǎn)】
1.一種基于數(shù)據(jù)庫(kù)的數(shù)據(jù)同步方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述目標(biāo)語(yǔ)句包括當(dāng)前數(shù)據(jù)同步位點(diǎn)和目標(biāo)表名稱,所述目標(biāo)表名稱對(duì)應(yīng)的表不屬于所述數(shù)據(jù)庫(kù),所述目標(biāo)語(yǔ)句用于指示基于所述目標(biāo)表名稱刪除對(duì)應(yīng)的表;
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述目標(biāo)語(yǔ)句包括當(dāng)前數(shù)據(jù)同步位點(diǎn)和指定的表名稱,所述目標(biāo)語(yǔ)句用于指示基于所述指定的表名稱創(chuàng)建對(duì)應(yīng)的表;
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在數(shù)據(jù)庫(kù)中執(zhí)行攜帶有當(dāng)前數(shù)據(jù)同步位點(diǎn)的目標(biāo)語(yǔ)句,包括:
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,其特征在于,所述在所述數(shù)據(jù)庫(kù)的日志文件中查找得到目標(biāo)數(shù)據(jù)同步位點(diǎn),包括:
6.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,其特征在于,所述目標(biāo)語(yǔ)句還包括預(yù)設(shè)的表名稱;
7.一種基于數(shù)據(jù)庫(kù)的數(shù)據(jù)同步裝置,其特征在于,包括:
8.一種計(jì)算機(jī)可讀介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,該計(jì)算機(jī)程序被處理裝置執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1-6中任一項(xiàng)所述的方法的步驟。
9.一種電子設(shè)備,其特征
10.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,其特征在于,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1-6中任一項(xiàng)所述的方法的步驟。
...【技術(shù)特征摘要】
1.一種基于數(shù)據(jù)庫(kù)的數(shù)據(jù)同步方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述目標(biāo)語(yǔ)句包括當(dāng)前數(shù)據(jù)同步位點(diǎn)和目標(biāo)表名稱,所述目標(biāo)表名稱對(duì)應(yīng)的表不屬于所述數(shù)據(jù)庫(kù),所述目標(biāo)語(yǔ)句用于指示基于所述目標(biāo)表名稱刪除對(duì)應(yīng)的表;
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述目標(biāo)語(yǔ)句包括當(dāng)前數(shù)據(jù)同步位點(diǎn)和指定的表名稱,所述目標(biāo)語(yǔ)句用于指示基于所述指定的表名稱創(chuàng)建對(duì)應(yīng)的表;
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在數(shù)據(jù)庫(kù)中執(zhí)行攜帶有當(dāng)前數(shù)據(jù)同步位點(diǎn)的目標(biāo)語(yǔ)句,包括:
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:鄧云,
申請(qǐng)(專利權(quán))人:北京火山引擎科技有限公司,
類型:發(fā)明
國(guó)別省市:
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。