数据库中数据的复制方法、装置、系统和介质制造方法及图纸

技术编号:26065699 阅读:104 留言:0更新日期:2020-10-28 16:38
本公开提供了一种数据库中数据的复制方法,包括:获取数据库的日志文件;从日志文件中确定多个字符串,多个字符串中的每个字符串指示数据库的一条操作记录;根据预设复制清单,确定多个字符串中的目标字符串;以及将目标字符串经由中间件发送至目标数据库,完成数据库中数据的复制。本公开还提供了一种数据库中数据的复制装置、一种计算机系统和一种计算机可读存储介质。

【技术实现步骤摘要】
数据库中数据的复制方法、装置、系统和介质
本公开涉及数据处理领域,更具体地,涉及一种数据库中数据的复制方法、装置、系统和介质。
技术介绍
随着国家信息科技产业规划及安全可控战略的实施,计算机信息系统需要朝着“自主可控、安全可信、高效可用”的目标迈进。因此,各信息系统纷纷开展IT架构转型工作,例如将集中式系统架构向分布式系统架构转变。其中,数据库转型是信息系统转型中最基础、最重要及最核心的一个环节,各应用系统的核心数据库逐渐从DB2或ORACLE数据库向开源的分布式数据库(例如MySQL数据库)进行转型。在实现本公开构思的过程中,专利技术人发现相关技术中至少存在以下问题:在MySQL数据库的普及使用过程中,各级应用系统对于跨应用的数据快速共享提出了更多的使用需求。相关技术中,通常根据上游应用的业务需求将MySQL数据库中的数据导出到文件,以文件方式供下游应用使用。或者,采用MySQL的异步/半同步模式,通过备份数据库来实现数据共享。该些方法往往需要开发人员编写大量的程序才能实现文件或数据地共享,从而导致数据的使用时效性较差,且该些方法是基于数据库级别的数据同步,因此会存在冗余数据被复制共享的情况。
技术实现思路
有鉴于此,本公开提供了一种提高数据库中数据复制的时效性和实现细粒度准确复制的数据库中数据的复制方法和装置。本公开一方面提供了一种数据库中数据的复制方法,包括:获取数据库的日志文件;从日志文件中确定多个字符串,多个字符串中的每个字符串指示数据库的一条操作记录;根据预设复制清单,确定多个字符串中的目标字符串;以及将目标字符串经由中间件发送至目标数据库,完成数据库中数据的复制。可选地,从日志文件中确定多个字符串包括:解析日志文件,以从日志文件中提取得到多串二进制码,该多串二进制码中的每串二进制码指示数据库的一条操作记录;以及转换多串二进制码,得到多个字符串。可选地,获取数据库的日志文件包括:根据预配置的IP地址,确定IP地址属于预配置的IP地址的数据库为源数据库;以及获取源数据库的日志文件。可选地,数据库中数据的复制方法还包括:根据获取日志文件的时刻、确定每个字符串的时刻、确定得到目标字符串的时刻及发送目标字符串的时刻,确定复制数据的统计信息;以及在统计信息不满足信息阈值的情况下,产生告警信息。其中,统计信息包括以下至少之一:速率、延迟时长。可选地,数据库包括针对第一应用的数据库;经由中间件发送至目标数据库的目标字符串用于供第二应用获取,其中,目标字符串指示述第一应用和第二应用共享的数据,第二应用为第一应用的下游应用。可选地,数据库包括MySQL数据库;中间件包括分布式的消息中间件。本公开的另一方面提供了一种数据库中数据的复制装置,包括:文件获取模块,用于获取数据库的日志文件;字符串确定模块,用于从日志文件中确定多个字符串,多个字符串中的每个字符串指示数据库的一条操作记录;字符串筛选模块,用于根据预设复制清单,确定多个字符串中的目标字符串;以及发送模块,用于将目标字符串经由中间件发送至目标数据库,完成数据库中数据的复制。可选地,上述字符串确定模块包括:解析子模块,用于解析日志文件,以从日志文件中提取得到多串二进制码,该多串二进制码中的每串二进制码指示数据库的一条操作记录;以及转换子模块,用于转换多串二进制码,得到多个字符串。可选地,上述数据库中数据的复制装置还包括:信息统计模块,用于根据文件获取模块获取日志文件的时刻、字符串确定模块确定每个字符串的时刻、字符串筛选模块确定目标字符串的时刻及发送模块发送所述目标字符串的时刻,确定复制数据的统计信息;以及告警模块,用于在统计信息不满足信息阈值的情况下,产生告警信息,其中,统计信息包括以下至少之一:速率、延迟时长。本公开的另一方面提供了一种计算机系统,包括:一个或多个处理器;以及存储装置,用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行上述的数据库中数据的复制方法。本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被处理器执行时用于执行如上所述的数据库中数据的复制方法。本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的数据库中数据的复制方法。根据本公开的实施例,至少可以部分地避免相关技术中数据共享时效性差及数据共享准确性低的技术问题。本公开实施例通过从日志文件中确定出目标字符串,可以实现表粒度的数据复制,从而可以在一定程度上提高数据共享的速率及准确性。再者,本公开实施例在获取到日志文件后,可以经由中间件自动将数据复制至目标数据库来实现应用间数据的共享,不仅不会对源数据库的业务产生影响,还可以降低数据共享的门槛,提高数据共享的时效性。附图说明通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:图1示意性示出了根据本公开实施例的数据库中数据的复制方法、装置、系统和介质的应用场景;图2示意性示出了根据本公开实施例的数据库中数据的复制方法的流程图;图3示意性示出了根据本公开另一实施例的数据库中数据的复制方法的流程图;图4示意性示出了根据本公开实施例的始于实现数据库中数据的复制方法的示例性场景的框架结构图;图5示意性示出了根据本公开实施例的数据库中数据的复制装置的结构框图;以及图6示意性示出了根据本公开实施例的适于执行数据库中数据的复制方法的计算机系统的结构框图。具体实施方式以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。本公开的实施例提供了一种数据库中数据的复制方法,该方法首先获取数据库的日志文件。然后从日志文件中确定多个字符串,该多个字本文档来自技高网...

【技术保护点】
1.一种数据库中数据的复制方法,包括:/n获取数据库的日志文件;/n从所述日志文件中确定多个字符串,多个字符串中的每个字符串指示所述数据库的一条操作记录;/n根据预设复制清单,确定所述多个字符串中的目标字符串;以及/n将所述目标字符串经由中间件发送至目标数据库,完成所述数据库中数据的复制。/n

【技术特征摘要】
1.一种数据库中数据的复制方法,包括:
获取数据库的日志文件;
从所述日志文件中确定多个字符串,多个字符串中的每个字符串指示所述数据库的一条操作记录;
根据预设复制清单,确定所述多个字符串中的目标字符串;以及
将所述目标字符串经由中间件发送至目标数据库,完成所述数据库中数据的复制。


2.根据权利要求1所述的方法,其中,所述从所述日志文件中确定多个字符串包括:
解析所述日志文件,以从所述日志文件中提取得到多串二进制码,所述多串二进制码中的每串二进制码指示所述数据库的一条操作记录;以及
转换所述多串二进制码,得到所述多个字符串。


3.根据权利要求1所述的方法,其中,所述获取数据库的日志文件包括:
根据预配置的IP地址,确定IP地址属于所述预配置的IP地址的数据库为源数据库;以及
获取所述源数据库的日志文件。


4.根据权利要求1所述的方法,还包括:
根据获取所述日志文件的时刻、确定所述每个字符串的时刻、确定得到所述目标字符串的时刻及发送所述目标字符串的时刻,确定复制所述数据的统计信息;以及
在所述统计信息不满足信息阈值的情况下,产生告警信息,
其中,所述统计信息包括以下至少之一:速率、延迟时长。


5.根据权利要求1所述的方法,其中:
所述数据库包括针对第一应用的数据库;
经由所述中间件发送至所述目标数据库的目标字符串用于供第二应用获取,
其中,所述目标字符串指示所述第一应用和所述第二应用共享的数据,所述第二应用为所述第一应用的下游应用。


6.根据权利要求1所述的方法,其中:
所述数据库包括MySQL数据库;
所述中间件包...

【专利技术属性】
技术研发人员:杨诗平毛超丹李奇伟唐阳光
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:北京;11

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

1