提升数据同步性能的方法及装置制造方法及图纸

技术编号:32857252 阅读:15 留言:0更新日期:2022-03-30 19:30
本公开提供了一种提升数据同步性能的方法,涉及数据同步技术领域。所述方法包括:根据第一配置参数确定是否预先加载源端数据库的数据字典;所述第一配置参数用于指示是否开启预先加载功能;所述数据字典包括所述源端数据库的系统表的属性信息;若是,则根据第二配置参数构建中间数据库;所述中间数据库用于存储源端数据库的数据字典;所述第二配置参数用于指示所述中间数据库缓存数据的内存大小;根据所述中间数据库获取所述源端数据库的系统表的属性信息。采用本方法能够在有效减少数据同步服务器和源端数据库交互次数的前提下,提高数据同步时的数据解析性能。数据同步时的数据解析性能。数据同步时的数据解析性能。

【技术实现步骤摘要】
提升数据同步性能的方法及装置


[0001]本公开涉及数据同步
,尤其涉及一种提升数据同步性能的方法及装置。

技术介绍

[0002]数据同步技术是应用系统处理核心,随着技术进步,大多数主流数据库都可以通过日志文件的方式进行系统的恢复,但是通常情况下,数据库的物理日志并不会记录当前操作表的名称,或者表的列信息,仅会记录表的ID和列的ID,需要同步软件连接数据库,从数据库的数据字典中查询日志中ID对应的表或列名称,然后翻译为对应的结构化查询语言SQL语句,最后在目标端数据库执行。
[0003]相关技术中,从源端数据库获取单张表的数据字典时,需要查询的信息包括:表的名称、表所在的用户、表中所有列的信息、表的主键或者唯一约束信息。针对每张表,如果需要获取其字典信息,一般需要在源端数据库执行4条SQL语句以获取上面的四种信息,即使对SQL语句进行优化,也需要执行至少一条SQL语句。当同步的源端数据库负载较大时,执行SQL语句的速度会降低,此时如果需要同步的表数量较多,仅获取每张表的数据字典信息,就需要执行很多SQL语句,导致花费的时间会很长。
[0004]因此,如何在有效减少数据同步服务器和源端数据库交互次数的前提下,提高数据同步时的数据解析性能是当前亟需解决的问题。

技术实现思路

[0005]为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种提升数据同步性能的方法,有效减少数据库同步软件与源端数据库交互次数,提高了数据同步时的数据解析能力。
[0006]为了实现上述目的,本公开实施例提供技术方案如下:
[0007]第一方面,本公开的实施例提供一种提升数据同步性能的方法,应用于数据库同步服务器,所述数据库同步服务器用于执行数据同步操作,所述方法包括:
[0008]根据第一配置参数确定是否预先加载源端数据库的数据字典;所述第一配置参数用于指示是否开启预先加载功能;所述数据字典包括所述源端数据库的系统表的属性信息;
[0009]若是,则根据第二配置参数构建中间数据库;所述中间数据库用于存储源端数据库的数据字典;所述第二配置参数用于指示所述中间数据库缓存数据的内存大小;
[0010]根据所述中间数据库获取所述源端数据库的系统表的属性信息。
[0011]作为本公开实施例一种可选的实施方式,在根据第一配置参数确定是否预先加载源端数据库的数据字典之前,所述方法还包括:
[0012]接收第一配置参数的第一配置指令以及第二配置参数的第二配置指令;
[0013]响应于所述第一配置指令,确定第一配置参数;
[0014]响应于所述第二配置指令,确定第二配置参数。
[0015]作为本公开实施例一种可选的实施方式,所述响应于所述第一配置指令,确定第一配置参数,包括:
[0016]响应于所述第一配置指令,确定开启预先加载功能或关闭预先加载功能。
[0017]作为本公开实施例一种可选的实施方式,所述中间数据库包括:内存库或关系型数据库。
[0018]作为本公开实施例一种可选的实施方式,当确定开启预先加载功能时,所述根据第二配置参数构建中间数据库,包括:
[0019]获取源端数据库的系统表的属性信息;所述系统表的属性信息包括:表的名称、表的列名称、表的约束关系、列的约束关系以及访问权限;
[0020]根据第二配置参数构建与源端数据库的数据结构相同的中间数据库;
[0021]将所述系统表的属性信息存储到所述中间数据库中。
[0022]作为本公开实施例一种可选的实施方式,所述源端数据库与所述中间数据库通过标准的数据库接口进行连接。
[0023]基于结构化查询语言查询所述中间数据库的数据字典;
[0024]判断目标端数据库需要的数据字典是否存在于所述中间数据库;
[0025]若不存在于所述中间数据库,则从所述源端数据库中获取相应的数据字典。
[0026]第二方面,本公开实施例提供一种提升数据同步性能的装置,包括:
[0027]确定模块,用于根据第一配置参数确定是否预先加载源端数据库的数据字典;所述第一配置参数用于指示是否开启预先加载功能;所述数据字典包括所述源端数据库的系统表的属性信息;
[0028]构建模块,用于若是,则根据第二配置参数构建中间数据库;所述中间数据库用于存储源端数据库的数据字典;所述第二配置参数用于指示所述中间数据库缓存数据的内存大小;
[0029]获取模块,用于根据所述中间数据库获取所述源端数据库的系统表的属性信息。
[0030]作为本公开实施例一种可选的实施方式,所述装置还包括:
[0031]接收模块,用于接收第一配置参数的第一配置指令以及第二配置参数的第二配置指令;
[0032]第一配置模块,用于响应于所述第一配置指令,确定第一配置参数;
[0033]第二配置模块,用于响应于所述第二配置指令,确定第二配置参数。
[0034]作为本公开实施例一种可选的实施方式,所述第一配置模块,具体用于:
[0035]响应于所述第一配置指令,确定开启预先加载功能或关闭预先加载功能。
[0036]作为本公开实施例一种可选的实施方式,所述中间数据库包括:内存库或关系型数据库。
[0037]作为本公开实施例一种可选的实施方式,所述构建模块具体用于:
[0038]获取源端数据库的系统表的属性信息;所述系统表的属性信息包括:表的名称、表的列名称、表的约束关系、列的约束关系以及访问权限;
[0039]根据第二配置参数构建与源端数据库的数据结构相同的中间数据库;
[0040]将所述系统表的属性信息存储到所述中间数据库中。
[0041]作为本公开实施例一种可选的实施方式,所述源端数据库与所述中间数据库通过
标准的数据库接口进行连接。
[0042]作为本公开实施例一种可选的实施方式,所述装置还包括判断模块,具体用于:
[0043]基于结构化查询语言查询所述中间数据库的数据字典;
[0044]判断目标端数据库需要的数据字典是否存在于所述中间数据库;
[0045]若不存在于所述中间数据库,则从所述源端数据库中获取相应的数据字典。
[0046]第三方面,本公开实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面或第一方面的任一实施方式所述的提升数据同步性能的方法。
[0047]第四方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面或第一方面的任一实施方式所述的提升数据同步性能的方法。
[0048]本公开实施例提供的提升数据同步性能的方法,应用于数据库同步服务器,首先根据第一配置参数确定是否预先加载源端数据库的数据字典,若是,则构建中间数据库,然后根据中间数据库获取源端数据库的系统表的属性信息。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种提升数据同步性能的方法,其特征在于,应用于数据库同步服务器,所述数据库同步服务器用于执行数据同步操作,所述方法包括:根据第一配置参数确定是否预先加载源端数据库的数据字典;所述第一配置参数用于指示是否开启预先加载功能;所述数据字典包括所述源端数据库的系统表的属性信息;若是,则根据第二配置参数构建中间数据库;所述中间数据库用于存储源端数据库的数据字典;所述第二配置参数用于指示所述中间数据库缓存数据的内存大小;根据所述中间数据库获取所述源端数据库的系统表的属性信息。2.根据权利要求1所述的方法,其特征在于,在根据第一配置参数确定是否预先加载源端数据库的数据字典之前,所述方法还包括:接收第一配置参数的第一配置指令以及第二配置参数的第二配置指令;响应于所述第一配置指令,确定第一配置参数;响应于所述第二配置指令,确定第二配置参数。3.根据权利要求2所述的方法,其特征在于,所述响应于所述第一配置指令,确定第一配置参数,包括:响应于所述第一配置指令,确定开启预先加载功能或关闭预先加载功能。4.根据权利要求1所述的方法,其特征在于,所述中间数据库包括:内存库或关系型数据库。5.根据权利要求1所述的方法,其特征在于,当确定开启预先加载功能时,所述根据第二配置参数构建中间数据库,包括:获取源端数据库的系统表的属性信息;所述系统表的属性信息包括:表的名称、表的列名称、表的约束关系、列的约束关系以及访问权限;根据第二配...

【专利技术属性】
技术研发人员:王凯龙
申请(专利权)人:北京人大金仓信息技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1