logo好方法网

数据库的同步方法、装置、存储介质及终端


技术摘要:
本申请实施例公开了一种数据库的同步方法、装置、存储介质及终端,本申请在源数据库中的归档日志发生更新时,获取归档日志文件中的增量日志记录,根据各个增量日志记录生成多个SQL语句,将多个SQL语句发送给目标数据库,然后基于SQL语句对目标数据库进行操作,以解决现  全部
背景技术:
关系型数据库是指采用关系模型来组织数据的数据库,其以行和列的形式存储数 据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。用 户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代 码。关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间 的关系组成的一个数据组织。目前关系型数据库在大批量(例如:亿级)数据的关联查询和 统计分析的效率较低,满足不了业务需求,大数据技术虽然在一定程度上解决了大批量数 据查询效率的问题,但对数据频繁变更的处理能力不足。目前异构数据同步的技术,通常存 在延时和实时性不强。延时主要体现在两个方面:1、变更数据捕获目标数据库采用定时轮 询数据库的方式,对源数据库造成额外的工作负担;2、数据在目标端的处理方式,基本都是 通过在源端采集的数据形成SQL语句在目标端重复执行一次,这种在源端存在大批量数据 变更的情况下效率不高。
技术实现要素:
本申请实施例提供了一种数据库的同步方法、装置、存储介质及终端,利用多个。 所述技术方案如下: 第一方面,本申请实施例提供了一种数据库的同步方法,所述同步方法包括: 获取源数据库中的归档日志文件; 根据所述归档日志文件中的增量日志记录生成多个SQL语句; 将所述多个SQL语句发送给目标数据库; 基于所述多个SQL语句对所述目标数据库进行操作。 在一种可能的设计中,所述获取源数据库中的归档日志文件,包括: 确定待同步的表的表名信息、字段信息和关键字信息; 在源数据库中获取与所述表名信息、字段信息和关键字信息关联的归档日志文 件。 在一种可能的设计中,所述根据所述归档日志文件中的增量日志记录生成多个 SQL语句,包括: 根据数据库操作类型在所述增量日志记录中筛选出数据库更新操作日志; 根据所述数据库更新操作日志生成多个SQL语句。 在一种可能的设计中,所述基于所述多个SQL语句对所述目标数据库进行操作,包 括: 解析所述多个SQL语句的数据库操作类型; 4 CN 111597257 A 说 明 书 2/9 页 根据所述数据库操作类型将所述多个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语 句对目标数据库进行操作,以解决现有技术中目标数据库通过轮询的方式查询源数据库带 来的目标数据库负载过重的问题,本申请实施例通过在源数据库中获取归档日志文件中的 增量日志,基于增量日志发送给源数据库,以减少源数据库的查询开销。 附图说明 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 5 CN 111597257 A 说 明 书 3/9 页 根据这些附图获得其他的附图。 图1是本申请实施例提供的一种数据库的同步方法的流程示意图; 图2是本申请实施例提供的一种数据库的同步方法的原理示意图; 图3是本申请实施例提供的一种数据库的同步装置的结构示意图; 图4是本申请实施例提供的一种终端的结构示意图。
下载此资料需消耗2积分,
分享到:
收藏