[發明專利]一種可實現數據快速裝載的數據同步方法和裝置在審
| 申請號: | 201910981942.5 | 申請日: | 2019-10-16 |
| 公開(公告)號: | CN111026768A | 公開(公告)日: | 2020-04-17 |
| 發明(設計)人: | 梅綱;付銓;周淳;張駐西 | 申請(專利權)人: | 武漢達夢數據庫有限公司 |
| 主分類號: | G06F16/23 | 分類號: | G06F16/23;G06F16/27 |
| 代理公司: | 深圳市六加知識產權代理有限公司 44372 | 代理人: | 向彬 |
| 地址: | 430000 湖北省武漢市東湖新技術開*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 實現 數據 快速 裝載 同步 方法 裝置 | ||
本發明涉及數據同步技術領域,具體涉及一種可實現數據快速裝載的數據同步方法和裝置,方法包括:從數據源讀取數據,并將讀取的數據放入緩存中;生產者線程將緩存中的數據分批生成多個數據文件,并將生成的數據文件放入任務隊列中;消費者線程調用目的數據庫專有的批量數據裝載命令,將任務隊列中待裝載的數據文件逐一裝載到目的數據庫;其中,生產者線程對應的數據文件生成過程和消費者線程對應的數據批量裝載過程為并行進行。本發明采用生產者?消費者的模型,裝載時分批連續生成數據文件,并調用目的數據庫專有的裝載命令來裝載數據,數據文件的生成和數據裝載命令的執行可并行進行,減少了串行執行時的性能損失,提高同步效率。
【技術領域】
本發明涉及數據同步技術領域,具體涉及一種可實現數據快速裝載的數據同步方法和裝置。
【背景技術】
目前,典型的數據同步流程通常包括兩個步驟:一是將數據從數據源中讀取出來放到緩存中,即數據讀取;二是從緩存中讀取數據裝載到目的數據庫中,即數據裝載。假設源端為關系數據庫,則當前典型的數據同步流程如圖1所示,其數據裝載過程一般都是調用JDBC(Java Data Base Connectivity)或者ODBC(Open Database Connectivity)接口實現對目的數據庫的訪問。JDBC或者ODBC都是通用的數據庫編程接口,可提供一套完整的、獨立于任何特定數據庫的編程接口,使得應用程序無需綁定到每種數據庫不同的編程接口。數據庫廠商發布數據庫時會同時發布符合JDBC和ODBC標準的驅動程序,以便應用程序使用該驅動程序訪問數據庫。由于JDBC或者ODBC是通用的標準,因此調用JDBC或者ODBC接口裝載數據時的操作流程一般也是固定的,如圖2所示。
圖2所示的數據裝載流程對于一般的數據庫應用是沒有問題的,但是在進行大數據量的裝載時性能往往難以滿足用戶需求,這是因為JDBC和ODBC接口為保證通用性,通常不支持數據庫產品特有的批量數據裝載命令,難以實現數據快速裝載。要實現數據的快速裝載,需利用數據庫專有的批量數據裝載命令來實現。數據庫專有的批量數據裝載命令,一般是提供給數據庫管理員直接用于快速導入導出數據,內部進行了較多的優化,相比通用接口,其優勢是性能比使用JDBC和ODBC接口的方式快幾倍到十幾倍,可進行數據的快速批量裝載;但其劣勢是使用時要求數據必須以指定格式的文件的形式存在于磁盤上,而且不同目的數據庫的批量數據裝載命令和要求的數據格式都不相同,不具有通用性。以下為mysql數據庫的批量數據裝載命令示例:
load data infile/data/mysql/test.txtinto table t1fieldsterminatedby',';
該命令表示將/data/mysql/test.txt文件中的數據裝載到t1表中,文件test.txt為文本文件,字段之間以“,”逗號為分隔符。目前常見的數據集成工具對于上述形式的批量裝載的支持,均要求被裝載的數據文件必須已存在于磁盤上,不能直接進行數據源到目的表數據的批量裝載。用戶要使用批量裝載則必須先將源表數據導出到文件中,然后再使用批量裝載命令進行數據裝載,兩個步驟必須串行執行,使用起來較為麻煩、效率低且性能損失較大。
鑒于此,克服上述現有技術所存在的缺陷是本技術領域亟待解決的問題。
【發明內容】
本發明需要解決的技術問題是:
數據同步中使用批量裝載時要求數據必須以指定格式的文件形式存在于磁盤上,必須先將源表數據導出到文件中,然后再使用批量裝載命令進行數據裝載,兩步串行執行,流程復雜、效率低且性能損失大;不同目的數據庫的批量裝載命令和要求數據格式都不相同,不具有通用性。
本發明通過如下技術方案達到上述目的:
第一方面,本發明提供了一種可實現數據快速裝載的數據同步方法,數據裝載節點內設有生產者線程、任務隊列和消費者線程,則數據同步方法包括:
從數據源讀取數據,并將讀取的數據放入緩存中;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢達夢數據庫有限公司,未經武漢達夢數據庫有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910981942.5/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





