CN111597257A - 数据库的同步方法、装置、存储介质及终端 - Google Patents
数据库的同步方法、装置、存储介质及终端 Download PDFInfo
- Publication number
- CN111597257A CN111597257A CN202010388994.4A CN202010388994A CN111597257A CN 111597257 A CN111597257 A CN 111597257A CN 202010388994 A CN202010388994 A CN 202010388994A CN 111597257 A CN111597257 A CN 111597257A
- Authority
- CN
- China
- Prior art keywords
- sql
- database
- target database
- statement
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000012545 processing Methods 0.000 claims description 15
- 230000001360 synchronised effect Effects 0.000 claims description 10
- 230000006835 compression Effects 0.000 claims description 6
- 238000007906 compression Methods 0.000 claims description 6
- 238000007619 statistical method Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 238000003780 insertion Methods 0.000 claims description 5
- 230000037431 insertion Effects 0.000 claims description 5
- 238000012216 screening Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种数据库的同步方法、装置、存储介质及终端,本申请在源数据库中的归档日志发生更新时,获取归档日志文件中的增量日志记录,根据各个增量日志记录生成多个SQL语句,将多个SQL语句发送给目标数据库,然后基于SQL语句对目标数据库进行操作,以解决现有技术中目标数据库通过轮询的方式查询源数据库带来的目标数据库负载过重的问题,本申请实施例通过在源数据库中获取归档日志文件中的增量日志,基于增量日志发送给源数据库,以减少源数据库的查询开销。
Description
技术领域
本申请涉及数据库管理领域,尤其涉及一种数据库的同步方法、装置、存储介质及终端。
背景技术
关系型数据库是指采用关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。目前关系型数据库在大批量(例如:亿级)数据的关联查询和统计分析的效率较低,满足不了业务需求,大数据技术虽然在一定程度上解决了大批量数据查询效率的问题,但对数据频繁变更的处理能力不足。目前异构数据同步的技术,通常存在延时和实时性不强。延时主要体现在两个方面:1、变更数据捕获目标数据库采用定时轮询数据库的方式,对源数据库造成额外的工作负担;2、数据在目标端的处理方式,基本都是通过在源端采集的数据形成SQL语句在目标端重复执行一次,这种在源端存在大批量数据变更的情况下效率不高。
发明内容
本申请实施例提供了一种数据库的同步方法、装置、存储介质及终端,利用多个。所述技术方案如下:
第一方面,本申请实施例提供了一种数据库的同步方法,所述同步方法包括:
获取源数据库中的归档日志文件;
根据所述归档日志文件中的增量日志记录生成多个SQL语句;
将所述多个SQL语句发送给目标数据库;
基于所述多个SQL语句对所述目标数据库进行操作。
在一种可能的设计中,所述获取源数据库中的归档日志文件,包括:
确定待同步的表的表名信息、字段信息和关键字信息;
在源数据库中获取与所述表名信息、字段信息和关键字信息关联的归档日志文件。
在一种可能的设计中,所述根据所述归档日志文件中的增量日志记录生成多个SQL语句,包括:
根据数据库操作类型在所述增量日志记录中筛选出数据库更新操作日志;
根据所述数据库更新操作日志生成多个SQL语句。
在一种可能的设计中,所述基于所述多个SQL语句对所述目标数据库进行操作,包括:
解析所述多个SQL语句的数据库操作类型;
根据所述数据库操作类型将所述多个SQL语句进行分类得到删除SQL语句和插入SQL语句;
基于所述删除SQL语句对所述目标数据库进行操作,以及基于所述插入SQL语句对所述目标数据库进行操作;其中,所述删除SQL语句先于所述插入SQL语句进行执行。
在一种可能的设计中,所述将所述多个SQL语句发送给目标数据库,包括:
将所述多个SQL语句进行压缩编码,将压缩编码后的多个SQL语句发送给目标数据库。
在一种可能的设计中,所述将所述SQL语句发送给目标数据库之前,还包括:
将所述多个SQL语句缓存到数据文件中。
在一种可能的设计中,所述基于所述删除SQL语句对所述目标数据库进行操作,以及基于所述插入SQL语句对所述目标数据库进行操作,包括:
解析所述删除SQL语句得到数据库删除指令;以及解析所述插入SQL语句得到数据库插入指令;
将所述删除指令和所述数据库插入指令对应的操作数据缓存至GPU显存中;
调用GPU的多个并行计算单元,提供标准的SQL语句进行查询和统计分析,并基于所述操作数据对所述目标数据库执行所述数据库删除指令和所述数据库插入指令。
在一种可能的设计中,基于所述多个SQL语句对所述目标数据库进行操作之后,还包括将所述目标数据库中各种数据加载到GPU的显存中并调用GPU的多个并行计算单元,对数据进行查询和统计并返回结果。
第二方面,本申请实施例提供了一种数据库的同步装置,所述同步装置包括:
获取单元,用于获取源数据库中的归档日志文件;
生成单元,用于根据所述归档日志文件中的增量日志记录生成多个SQL语句;
发送单元,用于将所述多个SQL语句发送给目标数据库;
执行单元,用于基于所述多个SQL语句对所述目标数据库进行操作。
第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第四方面,本申请实施例提供一种终端,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
在源数据库中的归档日志发生更新时,获取归档日志文件中的增量日志记录,根据各个增量日志记录生成多个SQL语句,将多个SQL语句发送给目标数据库,然后基于SQL语句对目标数据库进行操作,以解决现有技术中目标数据库通过轮询的方式查询源数据库带来的目标数据库负载过重的问题,本申请实施例通过在源数据库中获取归档日志文件中的增量日志,基于增量日志发送给源数据库,以减少源数据库的查询开销。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据库的同步方法的流程示意图;
图2是本申请实施例提供的一种数据库的同步方法的原理示意图;
图3是本申请实施例提供的一种数据库的同步装置的结构示意图;
图4是本申请实施例提供的一种终端的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
下面将结合附图1-附图4,对本申请实施例提供的数据库的同步方法进行详细介绍。该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的配置应用程序接口的装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。其中,本申请实施例中的配置应用程序接口的装置可以为终端,包括但不限于智能手机、个人电脑、平板电脑、手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备等。
请参见图1,为本申请实施例提供的一种数据库的同步方法的流程示意图。如图1所示,本申请实施例的所述方法可以包括以下步骤:
S101、获取源数据库中的归档日志文件。
其中,归档日志文件中包括多条日志记录,日志记录用于表示对源数据库执行操作的相关信息,相关信息包括:操作类型、操作对象、操作时间中的一种或多种,操作类型包括增加操作、删除操作、更改操作和查询操作。
在一个或多个实施例中,所述获取源数据库中的归档日志文件,包括:
确定待同步的表的表名信息、字段信息和关键字信息;
在所述源数据库中获取与所述表名信息、所述字段信息和所述关键字信息关联的归档日志文件。
其中,源数据库中待同步的表的数量可以是一个或多个,待同步的表可以是源数据库中的部分的表或全部的表。同步装置根据待同步的表的表名信息、字段信息和关键字信息在源数据库中获取对应的归档日志文件,以实现在源数据库中根据指定的范围进行同步。
S102、根据所述归档日志文件中的增量日志记录生成多个SQL语句。
其中,增量日志记录为归档日志文件中发生更新的日志,增量日志记录的数量为一个或多个,源数据库每执行一次数据库操作就会在归档日志文件中生成相应的日志记录。同步装置可以周期性的检测归档日志文件是否发生更新,若为是,确定当前周期的归档日志文件,然后获取当前周期的归档日志文件和上一周期的归档日志文件之间的增量日志记录,确定增量日志记录中用于表示修改操作的日志记录。增量日志记录表示对源数据库进行更新操作(增加操作、删除操作和修改操作)的日志记录时,根据更新操作的日志记录生成多个SQL语句,每次修改操作的日志记录对应一个SQL语句。
在一个或多个实施例中,所述根据归档日志文件中的增量日志记录生成多个SQL语句,包括:
根据数据库操作类型在增量日志记录中筛选出数据库更新操作日志;
根据所述数据库更新操作日志生成多个SQL语句。
其中,数据库操作类型包括增加操作、删除操作、修改操作和查询操作。其中,增加操作、删除操作和修改操作属于更新操作,对应的日志记录即为数据库更新操作日志。同步装置从增量日志记录中删选出数据库更新操作日志,根据数据库更新操作日志生成多个SQL语句,每个数据库更新操作日志对应一个SQL语句。
S103、将所述多个SQL语句发送给目标数据库。
其中,源数据库和目标数据库之间设置有通信接口,通信接口用于源数据库和目标数据库之间传输业务数据和控制数据。同步装置可以将多个SQL语句进行压缩编码后再发送给目标数据库。可选的,同步装置可以将多个SQL语句缓存在数据文件中,然后根据先进先出的方式将数据文件中的SQL语句发送给目标数据库。
S104、基于所述多个SQL语句对所述目标数据库进行操作。
其中,目标数据库接收来自源数据库的多个SQL语句,多个SQL语句携带有时间戳,源数据库根据时间戳的先后顺序执行多个SQL语句后,完成源数据库和目标数据库之间的同步。
在一个或多个实施例中,所述基于所述多个SQL语句对所述目标数据库进行操作,包括:
解析所述多个SQL语句的数据库操作类型;
根据所述数据库操作类型将所述多个SQL语句进行分类得到删除SQL语句集合和插入SQL语句集合;
根据所述删除SQL语句集合生成删除SQL语句,以及根据所述插入SQL语句集合生成插入SQL语句;
基于所述删除SQL语句对所述目标数据库进行操作,以及基于所述插入SQL语句对所述目标数据库进行操作;其中,所述删除SQL语句先于所述插入SQL语句进行执行。
其中,将多个SQL语句根据操作类型划分为两个SQL语句集合:删除SQL语句集合和插入SQL语句集合,其中,修改SQL语句可以属于删除SQL语句集合或插入SQL语句集合,具体可根据实际需求来定。删除SQL语句集合包括多个SQL语句,各个SQL语句具有时间戳,根据各个SQL语句的时间戳将多个SQL语句生成一个删除SQL语句。插入SQL语句集合包括多个SQL语句,各个SQL语句具有时间戳,根据各个SQL语句的时间戳将多个SQL语句生成一个插入SQL语句。然后对目标数据库依次执行删除SQL语句和插入SQL语句,这样相比相关技术中需要对目标数据库执行多个SQL语句相比,本实施例只需要执行两个SQL语句,可以减少执行SQL语句的时间,提高同步的速度和效率。
在一个或多个实施例中,所述基于所述删除SQL语句对所述目标数据库进行操作,以及基于所述插入SQL语句对所述目标数据库进行操作,包括:
解析所述删除SQL语句得到数据库删除指令;以及解析所述插入SQL语句得到数据库插入指令;
将所述删除指令和所述数据库插入指令对应的操作数据缓存至GPU(GraphicsProcessing Unit,图形处理单元)显存中;
调用GPU的多个并行计算单元,提供标准的SQL语句进行查询和统计分析,并基于所述操作数据对所述目标数据库执行所述数据库删除指令和所述数据库插入指令。
其中,GPU由于有上千个可并行计算的单元,基于GPU实现的数据库系统相比于一般的数据库系统的查询性能具有数量级的提升,利用GPU多计算核心的特性,提供标准的SQL语句进行查询和统计分析,计算效率相对CPU提升1-2个数量级。
参见图2,下面就一个具体的实施例对本申请的数据库的同步方法的过程进行说明:
1、获取源数据库和目标数据库的配置信息,包括:待同步的表的表名信息、字段信息,关键字信息。
2、进行一次全量同步动作,把待同步的的表的字段信息和关键字信息,在目标数据库中新建表,并根据字段对应信息将数据进行全量同步。
3、通过相关软件读取源数据库的归档日志文件,实时获取源数据库的增量日志记录形成多个SQL语句写入到数据文件中。
4、通过对数据文件的监控,实时获取数据文件中的增量的多个SQL语句,将多个SQL语句推送到指定的目标数据库上,
5、在目标数据库获取多个SQL语句,通过语句分析装置,批量将业务数据更新到目标数据库。目标数据库接收到客户端是SQL查询语句,通过SQL分析装置后,利用CUDA(Compute Unified Device Architecture,统一计算架构,是由NVIDIA公司所推出的一种集成技术)调用显卡的计算单元进行并行批量计算,把结果返回到客户端。
参见图2所示的源数据库和目标数据库之间的同步过程:
源数据库,表结构,目标数据库,可修改表名,字段名和类型
一次全量同步,将TS1的数据同步到TD1中。增量同步,把对TS1的增删改的数据,通过商用软件读取归档日志,获取增量数据的SQL语句:增加:INSERT INTO TS1(F1,F2,F3,F4,F5)VALUES(1,2,3,’A’,‘B’);
INSERT INTO TS1(F1,F2,F3,F4,F5)VALUES(2,20,30,’AA’,‘BB’);
修改:UPDATE TS1 SET F2=22 WHERE F1=1 AND F2=2 AND F3=3 AND F4=’A’AND F5=’B’;
删除:DELETE FROM TS1 WHERE F1=1 AND F2=22 AND F3=3 AND F4=’A’ANDF5=’B’;
这些对数据增删改的操作会记录在日志文件中,通过日志监控装置,实时获取,然后通过消息推送装置发送到目标服务器。在目标服务器通过语句分析装置,分析操作类型和语句,对数据进行批量更新,获取的数据:
操作类型 | F1 | F2 | F3 | F4 | F5 |
I | 1 | 2 | 3 | A | B |
I | 2 | 20 | 30 | AA | BB |
U | 1 | 22 | 3 | A | B |
D | 1 | 22 | 3 | A | B |
表1
分析后的数据:
操作类型 | F1 | F2 | F3 | F4 | F5 |
I | 2 | 20 | 30 | AA | BB |
D | 1 | 22 | 3 | A | B |
表2
根据分析后,可以获取批量更新数据的语句:
DELETE FROM TD1 WHERE F1=2;
INSERT INTO TD1(F1,F2,F3,F4,F5)VALUES(2,20,30,’AA’,‘BB’);
对于大批量数据,可以大幅提高逐条语句处理的效率。针对TD1的汇总统计语句,利用GPU的多计算核心进行并行计算,以提高计算效率。
在一种可能的实施方式中,在S104、基于所述多个SQL语句对所述目标数据库进行操作之后,还包括将所述目标数据库中各种数据加载到GPU的显存中并调用GPU的多个并行计算单元,对数据进行查询和统计并返回结果。即在通过数据同步实时将ERP业务数据更新到异构数据模型中后,通过GPU对数据进行查询和统计,大大提高数据的实时性和查询性能。具体可以是,在目标数据库中,分析SQL查询语句,获取需要操作的表信息、字段信息、条件信息、关联信息等;将上述的各种数据加载到GPU的显存中,利用NVIDIA的GPU+CUDA计算架构对数据进行查找和统计;并将结果以数据集方式返回给调用者。
实施本申请的实施例,在源数据库中的归档日志发生更新时,获取归档日志文件中的增量日志记录,根据各个增量日志记录生成多个SQL语句,将多个SQL语句发送给目标数据库,然后基于SQL语句对目标数据库进行操作。本申请实施例具有如下的有益效果:1、异构数据同步的实时性,通过相关工具对数据库的归档日志文件进行采集,可实时将变更的日志记录存储到数据文件中。2、通过数据文件实时抓取装置,实时跟踪数据文件,将有变化的部分通过消息系统传到到目标数据库上。3、通过目标数据库上的批量数据处理装置,可以快速将大批量数据进行更新;4、通过GPU的多核心并行计算,大大提高数据查询和统计的效率。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参见图3,其示出了本申请一个示例性实施例提供的数据库的同步装置的结构示意图。该数据库的同步装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。该装置1包括获取单元10、生成单元20、发送单元30和执行单元40。
获取单元10,用于获取源数据库中的归档日志文件;
生成单元20,用于根据所述归档日志文件中的增量日志记录生成多个SQL语句;
发送单元30,用于将所述多个SQL语句发送给目标数据库;
执行单元40,用于基于所述多个SQL语句对所述目标数据库进行操作。
在一个或多个实施例中,所述获取源数据库中的归档日志文件,包括:
确定待同步的表的表名信息、字段信息和关键字信息;
在所述源数据库中获取与所述表名信息、所述字段信息和关键字信息关联的归档日志文件。
在一个或多个实施例中,所述根据所述归档日志文件中的增量日志记录生成多个SQL语句,包括:
根据数据库操作类型在所述增量日志记录中筛选出数据库更新操作日志;
根据所述数据库更新操作日志生成多个SQL语句。
在一个或多个实施例中,所述基于所述多个SQL语句对所述目标数据库进行操作,包括:
解析所述多个SQL语句的数据库操作类型;
根据所述数据库操作类型将所述多个SQL语句进行分类得到删除SQL语句集合和插入SQL语句集合;
根据所述删除SQL语句集合生成删除SQL语句,以及根据所述插入SQL语句集合生成插入SQL语句;
基于所述删除SQL语句对所述目标数据库进行操作,以及基于所述插入SQL语句对所述目标数据库进行操作;其中,所述删除SQL语句先于所述插入SQL语句进行执行。
在一个或多个实施例中,所述将所述多个SQL语句发送给目标数据库,包括:
将所述多个SQL语句进行压缩编码,将压缩编码后的多个SQL语句发送给目标数据库。
在一个或多个实施例中,装置1还包括:缓存单元,用于将所述多个SQL语句缓存到数据文件中。
在一个或多个实施例中,所述基于所述删除SQL语句对所述目标数据库进行操作,以及基于所述插入SQL语句对所述目标数据库进行操作,包括:
解析所述删除SQL语句得到数据库删除指令;以及解析所述插入SQL语句得到数据库插入指令;
将所述删除指令和所述数据库插入指令对应的操作数据缓存至GPU显存中;
调用GPU的多个并行计算单元,提供标准的SQL语句进行查询和统计分析,并基于所述操作数据对所述目标数据库执行所述数据库删除指令和所述数据库插入指令。
在一种可能的实施方式中,在基于所述多个SQL语句对所述目标数据库进行操作之后,还包括将所述目标数据库中各种数据加载到GPU的显存中并调用GPU的多个并行计算单元,对数据进行查询和统计并返回结果。
需要说明的是,上述实施例提供的数据库的同步装置在执行数据库的同步方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据库的同步装置与数据库的同步方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本实施例中,装置1在源数据库中的归档日志发生更新时,获取归档日志文件中的增量日志记录,根据各个增量日志记录生成多个SQL语句,将多个SQL语句发送给目标数据库,然后基于SQL语句对目标数据库进行操作,以解决现有技术中目标数据库通过轮询的方式查询源数据库带来的目标数据库负载过重的问题,本申请实施例通过在源数据库中获取归档日志文件中的增量日志,基于增量日志发送给源数据库,以减少源数据库的查询开销。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1-图2所示实施例的方法步骤,具体执行过程可以参见图1-图2所示实施例的具体说明,在此不进行赘述。
请参见图4,为本申请实施例提供了一种终端的结构示意图。如图4所示,所述终端1000可以包括:至少一个处理器1001,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。
其中,通信总线1002用于实现这些组件之间的连接通信。
其中,用户接口1003可以包括显示屏(Display)、摄像头(Camera),可选用户接口1003还可以包括标准的有线接口、无线接口。
其中,网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,处理器1001可以包括一个或者多个处理核心。处理器1001利用各种接口和线路连接整个终端1000内的各个部分,通过运行或执行存储在存储器1005内的指令、程序、代码集或指令集,以及调用存储在存储器1005内的数据,执行终端1000的各种功能和处理数据。可选的,处理器1001可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1001可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1001中,单独通过一块芯片进行实现。
其中,存储器1005可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器1005包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器1005可用于存储指令、程序、代码、代码集或指令集。存储器1005可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图4所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及诈骗电话的识别应用程序。
在图4所示的终端1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1001可以用于调用存储器1005中存储的配置应用程序接口的应用程序,并具体执行图1所示的方法,具体过程可参照图1所示的方法实施例。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (11)
1.一种数据库的同步方法,其特征在于,所述方法包括:
获取源数据库中的归档日志文件;
根据所述归档日志文件中的增量日志记录生成多个SQL语句;
将所述多个SQL语句发送给目标数据库;
基于所述多个SQL语句对所述目标数据库进行操作。
2.根据权利要求1所述的同步方法,其特征在于,所述获取源数据库中的归档日志文件,包括:
确定待同步的表的表名信息、字段信息和关键字信息;
在所述源数据库中获取与所述表名信息、所述字段信息和关键字信息关联的归档日志文件。
3.根据权利要求1所述的同步方法,其特征在于,所述根据所述归档日志文件中的增量日志记录生成多个SQL语句,包括:
根据数据库操作类型在所述增量日志记录中筛选出数据库更新操作日志;
根据所述数据库更新操作日志生成多个SQL语句。
4.根据权利要求1所述的同步方法,其特征在于,所述基于所述多个SQL语句对所述目标数据库进行操作,包括:
解析所述多个SQL语句的数据库操作类型;
根据所述数据库操作类型将所述多个SQL语句进行分类得到删除SQL语句集合和插入SQL语句集合;
根据所述删除SQL语句集合生成删除SQL语句,以及根据所述插入SQL语句集合生成插入SQL语句;
基于所述删除SQL语句对所述目标数据库进行操作,以及基于所述插入SQL语句对所述目标数据库进行操作;其中,所述删除SQL语句先于所述插入SQL语句进行执行。
5.根据权利要求4所述的同步方法,其特征在于,所述基于所述删除SQL语句对所述目标数据库进行操作,以及基于所述插入SQL语句对所述目标数据库进行操作,包括:
解析所述删除SQL语句得到数据库删除指令;以及解析所述插入SQL语句得到数据库插入指令;
将所述删除指令和所述数据库插入指令对应的操作数据缓存至GPU显存中;
调用GPU的多个并行计算单元,提供标准的SQL语句进行查询和统计分析,并基于所述操作数据对所述目标数据库执行所述数据库删除指令和所述数据库插入指令。
6.根据权利要求1所述的同步方法,其特征在于,所述将所述多个SQL语句发送给目标数据库,包括:
将所述多个SQL语句进行压缩编码,将压缩编码后的多个SQL语句发送给目标数据库。
7.根据权利要求1所述的同步方法,其特征在于,所述将所述SQL语句发送给目标数据库之前,还包括:
将所述多个SQL语句缓存到数据文件中。
8.根据权利要求1所述的同步方法,其特征在于,基于所述多个SQL语句对所述目标数据库进行操作之后,还包括将所述目标数据库中各种数据加载到GPU的显存中并调用GPU的多个并行计算单元,对数据进行查询和统计并返回结果。
9.一种数据库的同步装置,其特征在于,所述同步装置包括:
获取单元,用于获取源数据库中的归档日志文件;
生成单元,用于根据所述归档日志文件中的增量日志记录生成多个SQL语句;
发送单元,用于将所述多个SQL语句发送给目标数据库;
执行单元,用于基于所述多个SQL语句对所述目标数据库进行操作。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~8任意一项的方法步骤。
11.一种终端,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1~8任意一项的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010388994.4A CN111597257A (zh) | 2020-05-09 | 2020-05-09 | 数据库的同步方法、装置、存储介质及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010388994.4A CN111597257A (zh) | 2020-05-09 | 2020-05-09 | 数据库的同步方法、装置、存储介质及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111597257A true CN111597257A (zh) | 2020-08-28 |
Family
ID=72187032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010388994.4A Pending CN111597257A (zh) | 2020-05-09 | 2020-05-09 | 数据库的同步方法、装置、存储介质及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111597257A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148741A (zh) * | 2020-10-16 | 2020-12-29 | 中石化重庆涪陵页岩气勘探开发有限公司 | 石油地质数据加载方法、装置、服务端及存储介质 |
CN112231396A (zh) * | 2020-09-15 | 2021-01-15 | 山东浪潮通软信息科技有限公司 | 一种跨数据库增量同步数据的方法 |
CN112307121A (zh) * | 2020-10-30 | 2021-02-02 | 中国平安人寿保险股份有限公司 | 基于Oracle的数据同步方法、装置及计算机设备 |
CN112328546A (zh) * | 2020-11-06 | 2021-02-05 | 安徽明生恒卓科技有限公司 | 一种基于数据中台的增量数据核查方法 |
CN112363995A (zh) * | 2020-10-30 | 2021-02-12 | 北京新数科技有限公司 | 基于日志解析的增量数据比对方法、装置和电子设备 |
CN112395296A (zh) * | 2020-12-03 | 2021-02-23 | 平安消费金融有限公司 | 一种大数据归档方法、装置、设备及存储介质 |
CN112416710A (zh) * | 2020-11-19 | 2021-02-26 | 京东数字科技控股股份有限公司 | 用户操作的记录方法、装置、电子设备及存储介质 |
CN112486880A (zh) * | 2020-12-17 | 2021-03-12 | 北京北信源软件股份有限公司 | 基于数据库存取接口的usb存储装置 |
CN112632185A (zh) * | 2020-12-16 | 2021-04-09 | 浪潮云信息技术股份公司 | 一种基于cpu环境的多类型数据库同步方法、装置及设备 |
CN113220785A (zh) * | 2021-05-21 | 2021-08-06 | 上海申铁信息工程有限公司 | 一种基于主键比对的数据库变更记录同步方法及装置 |
CN113377789A (zh) * | 2021-05-31 | 2021-09-10 | 上海数禾信息科技有限公司 | 数据库变更数据的处理方法、装置、计算机设备和介质 |
CN113486010A (zh) * | 2021-07-01 | 2021-10-08 | 远光软件股份有限公司 | 数据库的同步方法、装置、服务器和存储介质 |
CN113626423A (zh) * | 2021-06-29 | 2021-11-09 | 欧电云信息科技(江苏)有限公司 | 业务数据库的日志管理方法、装置、系统 |
CN113961546A (zh) * | 2021-10-27 | 2022-01-21 | 国网江苏省电力有限公司营销服务中心 | 一种支持在线分析统计的实时查询库设计方法 |
CN114003660A (zh) * | 2021-11-05 | 2022-02-01 | 广州宸祺出行科技有限公司 | 基于flink的高效同步实时数据到ClickHouse的方法及装置 |
CN114647651A (zh) * | 2022-05-19 | 2022-06-21 | 同日云联信息技术(苏州)有限公司 | 异构数据库同步方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761318A (zh) * | 2014-01-27 | 2014-04-30 | 中国工商银行股份有限公司 | 一种关系型异构数据库数据同步的方法及系统 |
US20140172794A1 (en) * | 2012-12-19 | 2014-06-19 | Christian BARTHOLOMÄ | Replication Mechanisms for Database Environments |
CN109408589A (zh) * | 2018-09-14 | 2019-03-01 | 新华三大数据技术有限公司 | 数据同步方法及装置 |
CN110543513A (zh) * | 2018-05-29 | 2019-12-06 | 中兴通讯股份有限公司 | 分布式数据库增量数据同步方法、设备及存储介质 |
-
2020
- 2020-05-09 CN CN202010388994.4A patent/CN111597257A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140172794A1 (en) * | 2012-12-19 | 2014-06-19 | Christian BARTHOLOMÄ | Replication Mechanisms for Database Environments |
CN103761318A (zh) * | 2014-01-27 | 2014-04-30 | 中国工商银行股份有限公司 | 一种关系型异构数据库数据同步的方法及系统 |
CN110543513A (zh) * | 2018-05-29 | 2019-12-06 | 中兴通讯股份有限公司 | 分布式数据库增量数据同步方法、设备及存储介质 |
CN109408589A (zh) * | 2018-09-14 | 2019-03-01 | 新华三大数据技术有限公司 | 数据同步方法及装置 |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112231396A (zh) * | 2020-09-15 | 2021-01-15 | 山东浪潮通软信息科技有限公司 | 一种跨数据库增量同步数据的方法 |
CN112148741A (zh) * | 2020-10-16 | 2020-12-29 | 中石化重庆涪陵页岩气勘探开发有限公司 | 石油地质数据加载方法、装置、服务端及存储介质 |
CN112307121A (zh) * | 2020-10-30 | 2021-02-02 | 中国平安人寿保险股份有限公司 | 基于Oracle的数据同步方法、装置及计算机设备 |
CN112363995A (zh) * | 2020-10-30 | 2021-02-12 | 北京新数科技有限公司 | 基于日志解析的增量数据比对方法、装置和电子设备 |
CN112307121B (zh) * | 2020-10-30 | 2023-10-31 | 中国平安人寿保险股份有限公司 | 基于Oracle的数据同步方法、装置及计算机设备 |
CN112328546A (zh) * | 2020-11-06 | 2021-02-05 | 安徽明生恒卓科技有限公司 | 一种基于数据中台的增量数据核查方法 |
CN112328546B (zh) * | 2020-11-06 | 2022-09-06 | 安徽明生恒卓科技有限公司 | 一种基于数据中台的增量数据核查方法 |
CN112416710A (zh) * | 2020-11-19 | 2021-02-26 | 京东数字科技控股股份有限公司 | 用户操作的记录方法、装置、电子设备及存储介质 |
CN112395296B (zh) * | 2020-12-03 | 2024-04-09 | 平安消费金融有限公司 | 一种大数据归档方法、装置、设备及存储介质 |
CN112395296A (zh) * | 2020-12-03 | 2021-02-23 | 平安消费金融有限公司 | 一种大数据归档方法、装置、设备及存储介质 |
CN112632185A (zh) * | 2020-12-16 | 2021-04-09 | 浪潮云信息技术股份公司 | 一种基于cpu环境的多类型数据库同步方法、装置及设备 |
CN112632185B (zh) * | 2020-12-16 | 2023-05-09 | 浪潮云信息技术股份公司 | 一种基于cpu环境的多类型数据库同步方法、装置及设备 |
CN112486880A (zh) * | 2020-12-17 | 2021-03-12 | 北京北信源软件股份有限公司 | 基于数据库存取接口的usb存储装置 |
CN112486880B (zh) * | 2020-12-17 | 2024-02-20 | 北京北信源软件股份有限公司 | 基于数据库存取接口的usb存储装置 |
CN113220785A (zh) * | 2021-05-21 | 2021-08-06 | 上海申铁信息工程有限公司 | 一种基于主键比对的数据库变更记录同步方法及装置 |
CN113377789A (zh) * | 2021-05-31 | 2021-09-10 | 上海数禾信息科技有限公司 | 数据库变更数据的处理方法、装置、计算机设备和介质 |
CN113626423B (zh) * | 2021-06-29 | 2024-01-30 | 欧电云信息科技(江苏)有限公司 | 业务数据库的日志管理方法、装置、系统 |
CN113626423A (zh) * | 2021-06-29 | 2021-11-09 | 欧电云信息科技(江苏)有限公司 | 业务数据库的日志管理方法、装置、系统 |
CN113486010A (zh) * | 2021-07-01 | 2021-10-08 | 远光软件股份有限公司 | 数据库的同步方法、装置、服务器和存储介质 |
CN113961546A (zh) * | 2021-10-27 | 2022-01-21 | 国网江苏省电力有限公司营销服务中心 | 一种支持在线分析统计的实时查询库设计方法 |
CN113961546B (zh) * | 2021-10-27 | 2024-03-22 | 国网江苏省电力有限公司营销服务中心 | 一种支持在线分析统计的实时查询库设计方法 |
CN114003660A (zh) * | 2021-11-05 | 2022-02-01 | 广州宸祺出行科技有限公司 | 基于flink的高效同步实时数据到ClickHouse的方法及装置 |
CN114647651A (zh) * | 2022-05-19 | 2022-06-21 | 同日云联信息技术(苏州)有限公司 | 异构数据库同步方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111597257A (zh) | 数据库的同步方法、装置、存储介质及终端 | |
CN110909063B (zh) | 一种用户行为的分析方法、装置、应用服务器及存储介质 | |
CN107506451B (zh) | 用于数据交互的异常信息监控方法及装置 | |
CN110362544B (zh) | 日志处理系统、日志处理方法、终端及存储介质 | |
CN111274256B (zh) | 基于时序数据库的资源管控方法、装置、设备及存储介质 | |
CN112527848B (zh) | 基于多数据源的报表数据查询方法、装置、系统及存储介质 | |
CN111339171B (zh) | 数据查询的方法、装置及设备 | |
CN113360554A (zh) | 一种数据抽取、转换和加载etl的方法和设备 | |
CN113282611B (zh) | 一种流数据同步的方法、装置、计算机设备及存储介质 | |
CN115033646B (zh) | 一种基于Flink&Doris构建实时数仓系统的方法 | |
CN111061758B (zh) | 数据存储方法、装置及存储介质 | |
CN111241051A (zh) | 批量数据处理方法、装置、终端设备及存储介质 | |
CN112347355B (zh) | 数据处理方法、装置、服务器及存储介质 | |
WO2021068113A1 (zh) | 时长统计方法、装置、电子设备和计算机可读介质 | |
CN113485781A (zh) | 报表生成方法、装置、电子设备及计算机可读介质 | |
CN112613271A (zh) | 数据分页方法、装置、计算机设备及存储介质 | |
CN111858760A (zh) | 一种异构数据库的数据处理方法及装置 | |
CN114661823A (zh) | 数据同步的方法、装置、电子设备及可读存储介质 | |
CN113468196B (zh) | 用于处理数据的方法、装置、系统、服务器和介质 | |
CN112764988B (zh) | 一种数据分段采集方法及装置 | |
CN114153895A (zh) | 一种实时数仓框架的搭建方法以及实时数仓框架 | |
CN116610531B (zh) | 基于代码探针采集数据埋点及请求图片上传数据的方法 | |
CN116737753A (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
Jiadi et al. | Research on Data Center Operation and Maintenance Management Based on Big Data | |
CN114297211A (zh) | 一种数据在线分析系统、方法、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200828 |