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

數(shù)據(jù)同步方法及裝置與流程

文檔序號(hào):40522262發(fā)布日期:2024-12-31 13:31閱讀:9來源:國知局
數(shù)據(jù)同步方法及裝置與流程

本申請(qǐng)實(shí)施例涉及計(jì)算機(jī),具體涉及數(shù)據(jù)庫、云服務(wù),尤其涉及一種數(shù)據(jù)同步方法、裝置、計(jì)算機(jī)可讀介質(zhì)、電子設(shè)備及計(jì)算機(jī)程序產(chǎn)品。


背景技術(shù):

1、mysql系統(tǒng)可以將數(shù)據(jù)更新操作以binlog(binary?log,二進(jìn)制日志)的形式存儲(chǔ)(如:mysql-bin.000001,mysql-bin.000002,mysql-bin.000003,日志文件的后綴數(shù)值按照日志生成時(shí)間順序增長)。通過對(duì)binlog數(shù)據(jù)按順序的進(jìn)行解析和重放,就可以實(shí)現(xiàn)對(duì)數(shù)據(jù)源(即,生成binlog數(shù)據(jù)的mysql實(shí)例)的同步(復(fù)制)?,F(xiàn)有的基于mysql?binlog的第三方實(shí)時(shí)數(shù)據(jù)發(fā)布工具,一般都是通過對(duì)主從復(fù)制協(xié)議的模擬來實(shí)現(xiàn)的,其需要在原有系統(tǒng)結(jié)構(gòu)的基礎(chǔ)上引入額外的組件才能實(shí)現(xiàn)。


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

1、本申請(qǐng)實(shí)施例提出了一種數(shù)據(jù)同步方法、裝置、計(jì)算機(jī)可讀介質(zhì)、電子設(shè)備及計(jì)算機(jī)程序產(chǎn)品。

2、第一方面,本申請(qǐng)實(shí)施例提供了一種數(shù)據(jù)同步方法,包括:確定數(shù)據(jù)庫的目標(biāo)節(jié)點(diǎn)是否包括待同步的預(yù)寫入日志數(shù)據(jù);響應(yīng)于確定包括,通過將目標(biāo)節(jié)點(diǎn)的原同步函數(shù)替換后的新同步函數(shù),將預(yù)寫入日志數(shù)據(jù)同步至目標(biāo)存儲(chǔ)系統(tǒng),其中,原同步函數(shù)用于將預(yù)寫入日志數(shù)據(jù)持久化至目標(biāo)節(jié)點(diǎn)。

3、在一些示例中,目標(biāo)節(jié)點(diǎn)為數(shù)據(jù)庫的從節(jié)點(diǎn),以及上述方法還包括:將數(shù)據(jù)庫的主節(jié)點(diǎn)中的原始預(yù)寫入日志數(shù)據(jù)同步至目標(biāo)節(jié)點(diǎn)的中繼日志中;重放中繼日志中的原始預(yù)寫入日志數(shù)據(jù),得到重放過程中生成的預(yù)寫入日志數(shù)據(jù),并將預(yù)寫入日志數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)庫所處的操作系統(tǒng)的系統(tǒng)緩存中。

4、在一些示例中,上述通過將目標(biāo)節(jié)點(diǎn)的原同步函數(shù)替換后的新同步函數(shù),將預(yù)寫入日志數(shù)據(jù)同步至目標(biāo)存儲(chǔ)系統(tǒng),包括:響應(yīng)于確定目標(biāo)節(jié)點(diǎn)調(diào)用原同步函數(shù),通過原同步函數(shù)對(duì)應(yīng)的函數(shù)鉤子調(diào)用新同步函數(shù),將預(yù)寫入日志數(shù)據(jù)同步至目標(biāo)存儲(chǔ)系統(tǒng),其中,在目標(biāo)節(jié)點(diǎn)的應(yīng)用程序的啟動(dòng)過程中,包括新同步函數(shù)的動(dòng)態(tài)鏈接庫被加載。

5、在一些示例中,上述方法還包括:將預(yù)寫入日志數(shù)據(jù)異步持久化至目標(biāo)節(jié)點(diǎn)。

6、在一些示例中,上述方法還包括:響應(yīng)于目標(biāo)節(jié)點(diǎn)被重啟,參照目標(biāo)存儲(chǔ)系統(tǒng)中的日志數(shù)據(jù)對(duì)目標(biāo)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)同步。

7、在一些示例中,上述參照目標(biāo)存儲(chǔ)系統(tǒng)中的日志數(shù)據(jù)對(duì)目標(biāo)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)同步,包括:確定目標(biāo)存儲(chǔ)系統(tǒng)中日志文件的文件名的后綴數(shù)值中的最大值和目標(biāo)節(jié)點(diǎn)中的數(shù)據(jù)位點(diǎn)所在的日志文件的文件名的目標(biāo)后綴數(shù)值,其中,日志文件的文件名的后綴數(shù)值與文件生成時(shí)間呈正相關(guān);將目標(biāo)存儲(chǔ)系統(tǒng)中文件名的后綴數(shù)值處于目標(biāo)后綴數(shù)值至最大值之間的日志文件同步至目標(biāo)節(jié)點(diǎn)。

8、在一些示例中,上述將預(yù)寫入日志數(shù)據(jù)同步至目標(biāo)存儲(chǔ)系統(tǒng),包括:確定預(yù)寫入日志數(shù)據(jù)所在的待同步日志文件是否被首次向目標(biāo)存儲(chǔ)系統(tǒng)進(jìn)行數(shù)據(jù)同步;響應(yīng)于確定是,根據(jù)待同步日志文件的文件名的后綴數(shù)值,生成目標(biāo)存儲(chǔ)系統(tǒng)中的被同步日志文件;采用對(duì)象存儲(chǔ)方式,將預(yù)寫入日志數(shù)據(jù)同步至被同步日志文件中。

9、在一些示例中,上述目標(biāo)存儲(chǔ)系統(tǒng)包括第三方存儲(chǔ)系統(tǒng)中的分布式存儲(chǔ)系統(tǒng)和/或消息隊(duì)列。

10、第二方面,本申請(qǐng)實(shí)施例提供了一種數(shù)據(jù)同步裝置,包括:確定單元,被配置成確定數(shù)據(jù)庫的目標(biāo)節(jié)點(diǎn)是否包括待同步的預(yù)寫入日志數(shù)據(jù);同步單元,被配置成響應(yīng)于確定包括,通過將目標(biāo)節(jié)點(diǎn)的原同步函數(shù)替換后的新同步函數(shù),將預(yù)寫入日志數(shù)據(jù)同步至目標(biāo)存儲(chǔ)系統(tǒng),其中,原同步函數(shù)用于將預(yù)寫入日志數(shù)據(jù)持久化至目標(biāo)節(jié)點(diǎn)。

11、在一些示例中,目標(biāo)節(jié)點(diǎn)為數(shù)據(jù)庫的從節(jié)點(diǎn),以及上述裝置還包括:中繼單元,被配置成將數(shù)據(jù)庫的主節(jié)點(diǎn)中的原始預(yù)寫入日志數(shù)據(jù)同步至目標(biāo)節(jié)點(diǎn)的中繼日志中;重放單元,被配置成重放中繼日志中的原始預(yù)寫入日志數(shù)據(jù),得到重放過程中生成的預(yù)寫入日志數(shù)據(jù),并將預(yù)寫入日志數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)庫所處的操作系統(tǒng)的系統(tǒng)緩存中。

12、在一些示例中,上述同步單元,進(jìn)一步被配置成:響應(yīng)于確定目標(biāo)節(jié)點(diǎn)調(diào)用原同步函數(shù),通過原同步函數(shù)對(duì)應(yīng)的函數(shù)鉤子調(diào)用新同步函數(shù),將預(yù)寫入日志數(shù)據(jù)同步至目標(biāo)存儲(chǔ)系統(tǒng),其中,在目標(biāo)節(jié)點(diǎn)的應(yīng)用程序的啟動(dòng)過程中,包括新同步函數(shù)的動(dòng)態(tài)鏈接庫被加載。

13、在一些示例中,上述裝置還包括:異步持久化單元,被配置成將預(yù)寫入日志數(shù)據(jù)異步持久化至目標(biāo)節(jié)點(diǎn)。

14、在一些示例中,上述裝置還包括:重啟恢復(fù)單元,被配置成響應(yīng)于目標(biāo)節(jié)點(diǎn)被重啟,參照目標(biāo)存儲(chǔ)系統(tǒng)中的日志數(shù)據(jù)對(duì)目標(biāo)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)同步。

15、在一些示例中,上述重啟恢復(fù)單元,進(jìn)一步被配置成:確定目標(biāo)存儲(chǔ)系統(tǒng)中日志文件的文件名的后綴數(shù)值中的最大值和目標(biāo)節(jié)點(diǎn)中的數(shù)據(jù)位點(diǎn)所在的日志文件的文件名的目標(biāo)后綴數(shù)值,其中,日志文件的文件名的后綴數(shù)值與文件生成時(shí)間呈正相關(guān);將目標(biāo)存儲(chǔ)系統(tǒng)中文件名的后綴數(shù)值處于目標(biāo)后綴數(shù)值至最大值之間的日志文件同步至目標(biāo)節(jié)點(diǎn)。

16、在一些示例中,上述同步單元,進(jìn)一步被配置成:確定預(yù)寫入日志數(shù)據(jù)所在的待同步日志文件是否被首次向目標(biāo)存儲(chǔ)系統(tǒng)進(jìn)行數(shù)據(jù)同步;響應(yīng)于確定是,根據(jù)待同步日志文件的文件名的后綴數(shù)值,生成目標(biāo)存儲(chǔ)系統(tǒng)中的被同步日志文件;采用對(duì)象存儲(chǔ)方式,將預(yù)寫入日志數(shù)據(jù)同步至被同步日志文件中。

17、在一些示例中,上述目標(biāo)存儲(chǔ)系統(tǒng)包括第三方存儲(chǔ)系統(tǒng)中的分布式存儲(chǔ)系統(tǒng)和/或消息隊(duì)列。

18、第三方面,本申請(qǐng)實(shí)施例提供了一種計(jì)算機(jī)可讀介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其中,程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面任一實(shí)現(xiàn)方式描述的方法。

19、第四方面,本申請(qǐng)實(shí)施例提供了一種電子設(shè)備,包括:一個(gè)或多個(gè)處理器;存儲(chǔ)裝置,其上存儲(chǔ)有一個(gè)或多個(gè)程序,當(dāng)一個(gè)或多個(gè)程序被一個(gè)或多個(gè)處理器執(zhí)行,使得一個(gè)或多個(gè)處理器實(shí)現(xiàn)如第一方面任一實(shí)現(xiàn)方式描述的方法。

20、第五方面,提供了一種計(jì)算機(jī)程序產(chǎn)品,包括:計(jì)算機(jī)程序,計(jì)算機(jī)程序在被處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面任一實(shí)現(xiàn)方式描述的方法。

21、本申請(qǐng)實(shí)施例提供的數(shù)據(jù)同步方法及裝置,通過確定數(shù)據(jù)庫的目標(biāo)節(jié)點(diǎn)是否包括待同步的預(yù)寫入日志數(shù)據(jù);響應(yīng)于確定包括,通過將目標(biāo)節(jié)點(diǎn)的原同步函數(shù)替換后的新同步函數(shù),將預(yù)寫入日志數(shù)據(jù)同步至目標(biāo)存儲(chǔ)系統(tǒng),其中,原同步函數(shù)用于將預(yù)寫入日志數(shù)據(jù)持久化至目標(biāo)節(jié)點(diǎn),從而將原同步函數(shù)替換為新同步函數(shù),使得目標(biāo)節(jié)點(diǎn)對(duì)于預(yù)寫入日志數(shù)據(jù)的本地持久化過程被替換為預(yù)寫入日志數(shù)據(jù)向目標(biāo)存儲(chǔ)系統(tǒng)的同步過程,同步過程不必借助于其他組件,完全與數(shù)據(jù)庫原生的高可用架構(gòu)融合,在降低了系統(tǒng)結(jié)構(gòu)的復(fù)雜度的基礎(chǔ)上,保證了系統(tǒng)整體高可用性和實(shí)時(shí)數(shù)據(jù)發(fā)布能力。



技術(shù)特征:

1.一種數(shù)據(jù)同步方法,包括:

2.根據(jù)權(quán)利要求1所述的方法,其中,所述目標(biāo)節(jié)點(diǎn)為所述數(shù)據(jù)庫的從節(jié)點(diǎn),以及

3.根據(jù)權(quán)利要求1或2所述的方法,其中,所述通過將所述目標(biāo)節(jié)點(diǎn)的原同步函數(shù)替換后的新同步函數(shù),將所述預(yù)寫入日志數(shù)據(jù)同步至目標(biāo)存儲(chǔ)系統(tǒng),包括:

4.根據(jù)權(quán)利要求1所述的方法,其中,還包括:

5.根據(jù)權(quán)利要求4所述的方法,其中,還包括:

6.根據(jù)權(quán)利要求5所述的方法,其中,所述參照所述目標(biāo)存儲(chǔ)系統(tǒng)中的日志數(shù)據(jù)對(duì)所述目標(biāo)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)同步,包括:

7.根據(jù)權(quán)利要求1所述的方法,其中,所述將所述預(yù)寫入日志數(shù)據(jù)同步至目標(biāo)存儲(chǔ)系統(tǒng),包括:

8.根據(jù)權(quán)利要求1所述的方法,其中,所述目標(biāo)存儲(chǔ)系統(tǒng)包括第三方存儲(chǔ)系統(tǒng)中的分布式存儲(chǔ)系統(tǒng)和/或消息隊(duì)列。

9.一種數(shù)據(jù)同步裝置,包括:

10.一種計(jì)算機(jī)可讀介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其中,所述程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1-8中任一所述的方法。

11.一種電子設(shè)備,包括:

12.一種計(jì)算機(jī)程序產(chǎn)品,包括:計(jì)算機(jī)程序,所述計(jì)算機(jī)程序在被處理器執(zhí)行時(shí)實(shí)現(xiàn)根據(jù)權(quán)利要求1-8中任一項(xiàng)所述的方法。


技術(shù)總結(jié)
本申請(qǐng)公開了一種數(shù)據(jù)同步方法及裝置。方法的一具體實(shí)施方式包括:確定數(shù)據(jù)庫的目標(biāo)節(jié)點(diǎn)是否包括待同步的預(yù)寫入日志數(shù)據(jù);響應(yīng)于確定包括,通過將目標(biāo)節(jié)點(diǎn)的原同步函數(shù)替換后的新同步函數(shù),將預(yù)寫入日志數(shù)據(jù)同步至目標(biāo)存儲(chǔ)系統(tǒng),其中,原同步函數(shù)用于將預(yù)寫入日志數(shù)據(jù)持久化至目標(biāo)節(jié)點(diǎn)。本申請(qǐng)將原同步函數(shù)替換為新同步函數(shù),使得目標(biāo)節(jié)點(diǎn)對(duì)于預(yù)寫入日志數(shù)據(jù)的本地持久化過程被替換為預(yù)寫入日志數(shù)據(jù)向目標(biāo)存儲(chǔ)系統(tǒng)的同步過程,同步過程不必借助于其他組件,完全與數(shù)據(jù)庫原生的高可用架構(gòu)融合,在降低了系統(tǒng)結(jié)構(gòu)的復(fù)雜度的基礎(chǔ)上,保證了系統(tǒng)整體高可用性和實(shí)時(shí)數(shù)據(jù)發(fā)布能力。

技術(shù)研發(fā)人員:孟祥濱
受保護(hù)的技術(shù)使用者:京東科技信息技術(shù)有限公司
技術(shù)研發(fā)日:
技術(shù)公布日:2024/12/30
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
潮安县| 天祝| 宁蒗| 米易县| 柳州市| 平昌县| 平山县| 阿鲁科尔沁旗| 宜昌市| 香格里拉县| 枣阳市| 通河县| 鄂托克旗| 木里| 四川省| 监利县| 灯塔市| 昭平县| 临海市| 开阳县| 剑川县| 镇雄县| 突泉县| 锦州市| 绥滨县| 阳曲县| 藁城市| 西藏| 响水县| 宁德市| 怀柔区| 宁远县| 宣化县| 成都市| 鲁山县| 崇义县| 大足县| 兴海县| 银川市| 元朗区| 邢台市|