【技術實現步驟摘要】
本申請涉及數據庫,尤其涉及一種數據庫的數據同步方法、裝置、設備、介質及產品。
技術介紹
1、根據業務的需求,數據庫之間有時需要進行數據的同步操作,以保證兩個數據庫之間存儲的數據的一致性。在數據同步時,源端數據庫的第一同步程序可以將待同步的數據的日志文件發送給目的端數據庫的第二同步程序,目的端數據庫的第二同步程序接收到日志文件后,解析日志文件得到語句,從而通過執行語句的方式,將語句所操作的數據存入數據庫中。
2、在現有技術中,基于連續的語句一般都操作的是相同數據表的數據,目的端數據庫的第二同步程序對于解析日志文件得到的連續多個語句均存入緩存中,后續在解析得到與緩存中的語句操作的數據表不同的語句時,再執行緩存中存儲的數據,以將緩存中語句操作的數據存入目的端數據庫,從而減少對目的端數據庫的頻繁數據寫入。
3、但是,當在小事務密集或者單個事務對應于多個數據表等場景下,目的端數據庫的第二同步程序會頻繁地執行緩存中的語句,從而增加了目的端數據庫的寫入次數,影響了目的端數據庫的數據同步性能。
技術實現思路
1、本申請提供一種數據庫的數據同步方法、裝置、設備、介質及產品,針對在小事務密集或者單個事務對應于多個數據表等場景下,減少目的端數據庫頻繁寫入數據,以提高數據庫的數據同步性能。
2、本申請第一方面提供一種數據庫的數據同步方法,包括:獲取來自源端數據庫的日志文件;根據所述日志文件確定第一語句;將所述第一語句存入緩存,其中,所述緩存表支持存儲多個來自于不同事務的
3、在本申請第一方面一實施例中,所述將所述第一語句存入緩存,包括:確定所述第一語句用于操作的第一數據表;根據所述第一數據表和映射關系,確定所述緩存中的第一緩存表,其中,所述映射關系包括多個數據表,以及每個數據表與一個緩存表的對應關系;將所述第一語句存入所述第一緩存表。
4、在本申請第一方面一實施例中,所述預設條件包括以下的至少一項:所述第一緩存表中存儲的多個語句分別來自的事務的數量大于第一預設值;所述第一緩存表存儲所述第一語句的時刻與存儲第一個語句的時刻之間的時間差大于第二預設值;所述緩存中存儲緩存表的數量大于第三預設值。
5、在本申請第一方面一實施例中,所述確定所述第一語句用于操作的第一數據表之后,還包括:當所述第一數據表不存在對應的緩存表,在所述緩存中創建所述第一數據表對應的第一緩存表,并將所述第一數據表與所述第一緩存表的對應關系加入所述映射關系。
6、在本申請第一方面一實施例中,所述第一緩存表中還存儲所述第一緩存表的特征信息,所述第一緩存表的特征信息包括所述第一緩存表中存儲的語句來自的事務的數量、用于操作的數據表的數量,以及存儲第一個語句的時刻;所述將所述第一語句存入緩存之后,還包括:根據所述緩存中每個緩存表的所述特征信息,判斷所述緩存的特征信息是否符合所述預設條件。
7、在本申請第一方面一實施例中,所述執行所述緩存中存儲的語句之后,還包括:刪除所述第一緩存表中存儲的語句,并修改所述第一緩存表的所述特征信息。
8、本申請第二方面提供一種數據庫的數據同步裝置,包括:獲取模塊,用于獲取來自源端數據庫的日志文件;確定模塊,用于根據所述日志文件確定第一語句;緩存模塊,用于將所述第一語句存入緩存,其中,所述緩存表支持存儲多個來自于不同事務的語句,以及,多個用于操作不同數據表的語句;同步模塊,用于當所述第一語句存入所述緩存后,所述緩存的特征信息符合預設條件,執行所述緩存中存儲的語句,以將所述緩存中的語句操作的數據存入所述目的端數據庫。
9、本申請第三方面提供一種電子設備,包括:存儲器和處理器;所述存儲器存儲計算機可執行指令;所述處理器執行所述存儲器存儲的計算機可執行指令,使所述處理器執行如本申請第一方面任一項所述的方法。
10、本申請第四方面提供一種計算機可讀存儲介質,存儲有計算機可執行指令,所述計算機可執行指令被執行時實現如本申請第一方面任一項所述的方法。
11、本申請第五方面提供一種計算機程序產品,包括計算機程序,所述計算機程序被執行時實現如本申請第一方面任一項所述的方法。
12、本申請提供的數據庫的數據同步方法、裝置、設備、介質及產品,目的端數據庫的第二同步程序獲取日志文件并解析得到第一語句后,將第一語句存入緩存中,而且目的端數據庫的緩存中支持存儲來自于不同事物的語句以及用于操作不同數據表的語句。也就是說,目的端數據庫即使連續接收到來自于不同事物的語句以及用于操作不同數據表的語句,也并不會像現有技術中那樣立即執行緩存中已經存儲的語句,而是將這些語句都進行存儲。最終,目的端數據庫只有在其緩存的特征信息符合預設條件的情況下,才會執行緩存中的語句,以將緩存中的語句操作的數據存入目的端數據庫從而實現數據的同步。因此,在小事務密集或者單個事務對應于多個數據表等場景下,第二同步程序可以將更多的語句都先存入緩存中,在緩存滿足預設條件后,將緩存中的語句再合并執行,從而減少了目的端數據庫頻繁寫入數據,進而提高目的端數據庫在進行數據同步時的同步性能。
本文檔來自技高網...【技術保護點】
1.一種數據庫的數據同步方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,所述將所述第一語句存入緩存,包括:
3.根據權利要求2所述的方法,其特征在于,所述預設條件包括:
4.根據權利要求2或3所述的方法,其特征在于,所述確定所述第一語句用于操作的第一數據表之后,還包括:
5.根據權利要求2或3所述的方法,其特征在于,所述第一緩存表中還存儲所述第一緩存表的特征信息,所述第一緩存表的特征信息包括所述第一緩存表中存儲的語句來自的事務的數量、用于操作的數據表的數量,以及存儲第一個語句的時刻;
6.根據權利要求5所述的方法,其特征在于,所述執行所述緩存中存儲的語句之后,還包括:
7.一種數據庫的數據同步裝置,其特征在于,包括:
8.一種電子設備,其特征在于,包括:存儲器和處理器;
9.一種計算機可讀存儲介質,其特征在于,存儲有計算機可執行指令,所述計算機可執行指令被執行時實現如權利要求1-6任一項所述的方法。
10.一種計算機程序產品,其特征在于,包括計算機程序,
...【技術特征摘要】
1.一種數據庫的數據同步方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,所述將所述第一語句存入緩存,包括:
3.根據權利要求2所述的方法,其特征在于,所述預設條件包括:
4.根據權利要求2或3所述的方法,其特征在于,所述確定所述第一語句用于操作的第一數據表之后,還包括:
5.根據權利要求2或3所述的方法,其特征在于,所述第一緩存表中還存儲所述第一緩存表的特征信息,所述第一緩存表的特征信息包括所述第一緩存表中存儲的語句來自的事務的數量、用于操作的數據表的數量...
【專利技術屬性】
技術研發人員:陶鑫宇,魏乾,
申請(專利權)人:中電科金倉北京科技股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。