CN115757642A - 一种基于归档日志文件的数据同步方法及装置 - Google Patents
一种基于归档日志文件的数据同步方法及装置 Download PDFInfo
- Publication number
- CN115757642A CN115757642A CN202211528606.3A CN202211528606A CN115757642A CN 115757642 A CN115757642 A CN 115757642A CN 202211528606 A CN202211528606 A CN 202211528606A CN 115757642 A CN115757642 A CN 115757642A
- Authority
- CN
- China
- Prior art keywords
- data table
- target data
- message queue
- target
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于归档日志文件的数据同步方法及装置,可用于金融领域或其他技术领域,所述方法包括:监控源数据库的归档日志文件;根据目标数据表从所述归档日志文件中获取所述目标数据表对应的变化数据;其中,所述目标数据表是预先获得的;将所述目标数据表对应的变化数据发送到消息队列服务器,以使得所述消息队列服务器将所述目标数据表对应的变化数据发布到对应的消息队列中,以将所述目标数据表对应的变化数据同步到对应的目标数据库。所述装置用于执行上述方法。本发明实施例提供的基于归档日志文件的数据同步方法及装置,提高了数据的同步效率。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种基于归档日志文件的数据同步方法及装置。
背景技术
目前,在互联网金融、银行等大型金融企业中,研发过程中经常遇到的需要将上下游数据进行数据同步的情况。
现有技术中,进行上下游数据的同步,通常由下游的数据需求方定时获取上游数据,可以通过数据文件进行数据同步,如果数据需求方需要同步的数据依赖上游数据文件生成,而上游数据文件还没有生成,则需要等待上游数据文件生成之后进行数据同步,时效性较差。
发明内容
针对现有技术中的问题,本发明实施例提供一种基于归档日志文件的数据同步方法及装置,能够至少部分地解决现有技术中存在的问题。
第一方面,本发明提出一种基于归档日志文件的数据同步方法,包括:
监控源数据库的归档日志文件;
根据目标数据表从所述归档日志文件中获取所述目标数据表对应的变化数据;其中,所述目标数据表是预先获得的;
将所述目标数据表对应的变化数据发送到消息队列服务器,以使得所述消息队列服务器将所述目标数据表对应的变化数据发布到对应的消息队列中,以将所述目标数据表对应的变化数据同步到对应的目标数据库。
第二方面,本发明提供一种基于归档日志文件的数据同步装置,包括:
监控模块,用于监控源数据库的归档日志文件;
获取模块,用于根据目标数据表从所述归档日志文件中获取所述目标数据表对应的变化数据;其中,所述目标数据表是预先获得的;
发送模块,用于将所述目标数据表对应的变化数据发送到消息队列服务器,以使得所述消息队列服务器将所述目标数据表对应的变化数据发布到对应的消息队列中,以将所述目标数据表对应的变化数据同步到对应的目标数据库。
第三方面,本发明提供一种用于实现上述任一实施例所述的基于归档日志文件的数据同步方法的基于归档日志文件的数据同步***,包括数据库服务器、控制台、消息队列服务器和消息队列管控平台,其中:
所述数据库服务器分别与所述控制台和所述消息队列服务器通信连接,所述控制台与所述消息队列管控平台通信连接,所述消息队列管控平台与所述消息队列服务器通信连接;
所述控制台用于配置目标数据表,并发送给所述数据库服务器;所述数据库服务器用于源数据库的归档日志文件,以获取所述目标数据表对应的变化数据发送到所述消息队列服务器;所述消息队列服务器用于将所述目标数据表对应的变化数据发布到对应的消息队列中,以将所述目标数据表对应的变化数据同步到对应的目标数据库中;所述消息队列管控平台用于接收消息订阅请求,并基于消息订阅请求生成所述目标数据表发送给所述控制台。
第四方面,本发明提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述的基于归档日志文件的数据同步方法。
第五方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述的基于归档日志文件的数据同步方法。
第六方面,本发明提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的基于归档日志文件的数据同步方法。
本发明实施例提供的基于归档日志文件的数据同步方法及装置,能够监控源数据库的归档日志文件,根据目标数据表从归档日志文件中获取目标数据表对应的变化数据,将目标数据表对应的变化数据发送到消息队列服务器,以使得消息队列服务器将目标数据表对应的变化数据发布到对应的消息队列中,以将目标数据表对应的变化数据同步到对应的目标数据库,能够及时将源数据库发生变化的数据同步到目标数据库,提高了数据的同步效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明第一实施例提供的基于归档日志文件的数据同步***的结构示意图。
图2是本发明第二实施例提供的基于归档日志文件的数据同步方法的流程示意图。
图3是本发明第三实施例提供的基于归档日志文件的数据同步方法的流程示意图。
图4是本发明第四实施例提供的基于归档日志文件的数据同步方法的流程示意图。
图5是本发明第五实施例提供的基于归档日志文件的数据同步装置的结构示意图。
图6是本发明第六实施例提供的基于归档日志文件的数据同步装置的结构示意图。
图7是本发明第七实施例提供的基于归档日志文件的数据同步装置的结构示意图。
图8是本发明第八实施例提供的基于归档日志文件的数据同步装置的结构示意图。
图9是本发明第九实施例提供的基于归档日志文件的数据同步装置的结构示意图。
图10是本发明第十实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。本申请中技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
为了便于理解本申请提供的技术方案,下面先对本申请技术方案的相关内容进行说明。
归档日志文件,保留了所有的事务重做历史记录,意味着数据库进行的所有事务都留有一个备份,以便数据库出现异常时进行数据恢复。生产者,数据复制场景中的数据提供方,将数据上送至指定主题。
消费者,数据复制场景中的下游,数据需求方,从指定主题消费数据。
银行等大型金融企业存量传统项目在研发过程中经常遇到的上下游数据依赖引出的数据同步的问题,因数据间的依赖常成树形或网状依赖,易出现数据同步时效性差、耗时长、同步成本高等无法快速响应数据需求的问题。为解决金融、通信、银行等大型金融企业在数据依赖、数据同步中遇到的上述问题,为了快速、高质量、高效率的完成数据同步,提高数据同步效率,降低数据同步成本,本发明实施例提供的基于归档日志文件的数据同步方法,通过解析归档日志文件中的变化数据,准实时地进行数据同步,减少了数据同步的耗时,提高了数据同步的效率。
图1是本发明第一实施例提供的基于归档日志文件的数据同步***的结构示意图,如图1所示,本发明实施例提供的基于归档日志文件的数据同步***包括数据库服务器1、控制台2、消息队列服务器3和消息队列管控平台4,其中:
数据库服务器1分别与控制台2和消息队列服务器3通信连接,控制台2与消息队列管控平台4通信连接,消息队列管控平台4与消息队列服务器3通信连接。其中,控制台2和消息队列管控平台4可以通过服务器实现。
用户通过用户终端向消息队列管控平台4发送消息订阅请求,用于申请需要复制的数据表对应的主题,消息订阅请求包括需要进行数据同步的数据表名称。申请通过后会在消息队列服务器3生成对应的消息队列并与主题对应。源数据库的一张数据表对应一个主题,主题名称格式采用以下格式:应用集群名称.数据库表名。消息队列管控平台4会将需要同步的数据表发送给控制台2。
在控制台2配置需要进行数据同步的数据表,并提供给数据库服务器1,作为目标数据表。数据库服务器1用于执行本发明实施例提供的基于归档日志文件的数据同步方法,监控归档日志文件的数据变化,筛选需要进行数据同步的目标数据表对应的变化数据,然后发送给消息队列服务器3将接收到的变化数据发布至对应的消息队列中。
下面以数据库服务器作为执行主体为例,对本发明实施例提供的基于归档日志文件的数据同步方法的具体实现过程进行说明。
图2是本发明一实施例提供的基于归档日志文件的数据同步方法的流程示意图,如图2所示,本发明实施例提供的基于归档日志文件的数据同步方法,包括:
S201、监控源数据库的归档日志文件;
具体地,数据库服务器可以获取源数据库的归档日志文件,并能够通过日志解析组件对所述归档日志文件的数据变化进行监控。其中,源数据库是指需要进行数据导出的数据库。所述归档日志文件会记录目标数据表的数据变化。
S202、根据目标数据表从所述归档日志文件中获取所述目标数据表对应的变化数据;其中,所述目标数据表是预先获得的;
具体地,如果所述归档日志文件的数据发生变化,所述数据库服务器会从所述归档日志文件的变化数据中查询是否存在目标数据表对应的变化数据,如果存在所述目标数据表的变化数据,那么会获取所述目标数据表对应的变化数据。其中,所述目标数据表是预先获得的,目标数据表可以包括一张数据表,也可以包括多张数据表。
例如,如果源数据库的某个数据表的数据发生变化,那么在归档日志文件中会进行记录,数据表发生变化的数据可以与数据表名称对应存储到归档日志文件。数据库服务器根据目标数据表的数据表名称从归档日志文件的变化数据中查询是否存在目标数据表的变化数据,如果查询到目标数据表的数据表名称对应的变化数据,说明目标数据表的数据发生变化,可以根据目标数据表的数据表名称获取到目标数据表对应的变化数据。
S203、将所述目标数据表对应的变化数据发送到消息队列服务器,以使得所述消息队列服务器将所述目标数据表对应的变化数据发布到对应的消息队列中,以将所述目标数据表对应的变化数据同步到对应的目标数据库。
具体地,所述数据库服务器在获得所述目标数据表对应的变化数据之后,可以将所述目标数据表对应的变化数据发送到消息队列服务器。所述消息队列服务器会将所述目标数据表对应的变化数据匹配到对应的消息队列,并发布到对应的消息队列中。消息队列中的消息可以推送给订阅消息队列的目标数据库,将所述目标数据表对应的变化数据同步到目标数据库中。其中,目标数据库是指进行数据导入的数据库。
本发明实施例提供的基于归档日志文件的数据同步方法,能够监控源数据库的归档日志文件,根据目标数据表从归档日志文件中获取目标数据表对应的变化数据,将目标数据表对应的变化数据发送到消息队列服务器,以使得消息队列服务器将目标数据表对应的变化数据发布到对应的消息队列中,以将目标数据表对应的变化数据同步到对应的目标数据库,能够及时将源数据库发生变化的数据同步到目标数据库,提高了数据的同步效率。此外,无需进行数据同步接口的研发,只需通过消息队列管控平台与控制台的配置工作,即可完成数据的同步,节约了数据同步成本。
图3是本发明第三实施例提供的基于归档日志文件的数据同步方法的流程示意图,如图3所示,在上述各实施例的基础上,进一步地,所述将所述目标数据表对应的变化数据发送到消息队列服务器包括:
S301、将所述目标数据表对应的变化数据以行为单位转换为JSON字符串,获得所述目标数据表中每个数据表的发布数据;
具体地,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于机器解析和生成。所述数据库服务器将所述目标数据表对应的变化数据以行为单位转换为JSON字符串,能够获得所述目标数据表中每个数据表的发布数据。将目标数据表对应的变化数据转换为JSON字符串,有利于提高数据的传输效率。其中,可以通过第三方插件实现将数据转换为JSON字符串,第三方插件根据实际需要进行选择,本发明实施例不做限定。
S302、基于所述目标数据表中每个数据表的数据表名称和数据表名称对应的应用集群名称,获得每个数据表的发布数据对应的主题名称;
具体地,对于所述目标数据表中的每个数据表,所述数据库服务器可以获得所述数据表的数据表名称,并根据所述数据表名称查询获得对应的应用集群名称,然后根据所述数据表名称以及数据表名称对应的应用集群名称,获得所述数据表名的发布数据对应的主题名称。
例如,数据表的发布数据对应的主题名称按应用集群名称.数据库表名称命名,即主题名称的命名格式为:应用集群名称.数据库表名称。所述数据库服务器在获得所述数据表名称以及数据表名称对应的应用集群名称之后,按照主题名称的命名格式组合出数据表的发布数据对应的主题名称。
S303、将每个数据表的发布数据以及对应主题名称发送到所述消息队列服务器。
具体地,所述数据库服务器将所述目标数据表中每个数据表的发布数据以及对应主题名称发送到所述消息队列服务器。对于所述目标数据表中的每个数据表,所述消息队列服务器根据所述数据表的发布数据对应的主题名称与各个消息队列的主题进行匹配,如果某个消息队列对应的主题与所述数据表的发布数据对应的主题名称相同,那么将所述数据表的发布数据发布到该消息队列中。
在上述各实施例的基础上,进一步地,所述根据目标数据表从所述归档日志文件中获取所述目标数据表对应的变化数据包括:
根据所述目标数据表中每个数据表的数据表名称从所述归档日志文件中查询每个数据表名称对应的变化数据。
具体地,所述归档日志文件在存储每个数据表的变化数据时,会将每个数据表的变化数据与数据表的数据表名称对应。对于所述目标数据表中每个数据表,所述数据库服务器根据所述数据表的数据表名称从所述归档日志文件中查询,与所述数据表名称对应的变化数据。将查询到的所述目标数据表中数据表的数据表名称对应变化数据,作为所述目标数据表对应的变化数据。
图4是本发明第四实施例提供的基于归档日志文件的数据同步方法的流程示意图,如图4所示,在上述各实施例的基础上,进一步地,本发明实施例提供的基于归档日志文件的数据同步方法还包括:
S401、接收控制台发送的源头表配置信息,所述源头表配置信息包括各个源头表;
具体地,在控制台可以设置需要将源数据库中的哪些数据表与目标数据库进行同步,这些需要进行数据同步的数据表为源头表。控制台将设置的源头表携带在源头表配置信息中发送给所述数据库服务器。所述数据库服务器会接收所述源头表配置信息,所述源头表配置信息包括各个源头表。
可理解的是,需要复制的源头表可以由消费者决定,消费者订阅了哪些数据表,就对哪些数据表进行数据同步。可以基于消费者订阅的数据表设置源头表。在本发明实施例中,源数据库可以视为生产者,目标数据库可以视为消费者。
S402、将各个源头表作为所述目标数据表。
具体地,所述数据库服务器接收所述源头表配置信息之后,从所述源头表配置信息中获得各个源头表,将各个源头表作为所述目标数据表。
在上述各实施例的基础上,进一步地,在将所述目标数据表对应的变化数据发送到消息队列服务器之前,还包括:
对所述目标数据表对应的变化数据进行脱敏处理。
具体地,由于源数据库中的某些数据是敏感数据,比如手机号、银行***等信息,需要进行数据转换或者修改,防止敏感数据的泄露。为了避免敏感数据的泄露,所述数据库服务器在将所述目标数据表对应的变化数据发送到消息队列服务器之前,会对所述目标数据表对应的变化数据进行脱敏处理。
在上述各实施例的基础上,进一步地,本发明实施例提供的还包括:
对所述目标数据表对应的变化数据进行加密处理。
具体地,由于源数据库中的某些数据是需要进行保密的数据,为了数据的安全,所述数据库服务器可以对所述目标数据表对应的变化数据进行加密处理,具体的加密方式根据实际需要进行设置,本发明实施例不做限定。
可理解的是,对所述目标数据表对应的变化数据可以既进行脱敏处理又进行加密处理,根据实际需要进行选择,本发明实施例不做限定。
在上述各实施例的基础上,进一步地,所述消息队列的主题以应用集群名称和数据表名称命名。
具体地,所述消息队列的主题是以应用集群名称和数据表名称命名的,以便于将来自源数据库的数据表对应的变化数据发布到消息队列中。
银行通过建立数据湖平台将全行数据资产汇集一处,为银行统一数据分析、沉淀和深度挖掘全行数据资产提供数据支撑。银行的各个业务***作为数据湖平台的上游,会定期提供数据给数据湖平台。
通过本发明实施例提供的基于归档日志文件的数据同步方法,可以将银行的各个业务***的数据库作为源数据库,数据湖平台的数据库作为目标数据库。利用归档日志文件,准实时地将目标数据表的变化数据同步到数据湖平台的数据库。
本发明实施例提供的基于归档日志文件的数据同步方法,能够通过订阅对应主题,实时消费数据并入库,达到了异构数据库间实时数据复制的目的。解决了金融、通信、银行等大型金融企业在数据依赖、数据同步中遇到的数据同步效率问题,降低了数据同步成本。
本发明实施例提供的基于归档日志文件的数据同步方法数据同步效率高:数据提供方无需开发人员进行数据同步接口的研发,只需通过消息队列管控平台与控制台的配置工作,即可完成数据的同步;数据同步准确率高:通过自动解析关系型数据库的归档日志文件,无需人工介入、规避因人为误差的因素造成转换结果与原数据不一致的情况;数据同步成本低:通过自动化工具来实现数据同步的场景,对人员的技术能力要求低,无需专业技术人;通用性高:适用于所有应用,无需专门为某个应用开发数据同步软件;无侵入:无需对项目有侵入,仅提供有限的配置信息即可完成数据同步。
图5是本发明第五实施例提供的基于归档日志文件的数据同步装置的结构示意图,如图5所示,本发明实施例提供的基于归档日志文件的数据同步装置包括监控模块501、获取模块502和发送模块503,其中:
监控模块501用于监控源数据库的归档日志文件;获取模块502用于根据目标数据表从所述归档日志文件中获取所述目标数据表对应的变化数据;其中,所述目标数据表是预先获得的;发送模块503用于将所述目标数据表对应的变化数据发送到消息队列服务器,以使得所述消息队列服务器将所述目标数据表对应的变化数据发布到对应的消息队列中,以将所述目标数据表对应的变化数据同步到对应的目标数据库。
具体地,监控模块501可以获取源数据库的归档日志文件,并能够通过日志解析组件对所述归档日志文件的数据变化进行监控。其中,源数据库是指需要进行数据导出的数据库。所述归档日志文件会记录目标数据表的数据变化。
如果所述归档日志文件的数据发生变化,获取模块502会从所述归档日志文件的变化数据中查询是否存在目标数据表对应的变化数据,如果存在所述目标数据表的变化数据,那么会获取所述目标数据表对应的变化数据。其中,所述目标数据表是预先获得的,目标数据表可以包括一张数据表,也可以包括多张数据表。
在获得所述目标数据表对应的变化数据之后,发送模块503可以将所述目标数据表对应的变化数据发送到消息队列服务器。所述消息队列服务器会将所述目标数据表对应的变化数据匹配到对应的消息队列,并发布到对应的消息队列中。消息队列中的消息可以推送给订阅消息队列的目标数据库,将所述目标数据表对应的变化数据同步到目标数据库中。其中,目标数据库是指进行数据导入的数据库。
本发明实施例提供的基于归档日志文件的数据同步装置,能够监控源数据库的归档日志文件,根据目标数据表从归档日志文件中获取目标数据表对应的变化数据,将目标数据表对应的变化数据发送到消息队列服务器,以使得消息队列服务器将目标数据表对应的变化数据发布到对应的消息队列中,以将目标数据表对应的变化数据同步到对应的目标数据库,能够及时将源数据库发生变化的数据同步到目标数据库,提高了数据的同步效率。此外,无需进行数据同步接口的研发,只需通过消息队列管控平台与控制台的配置工作,即可完成数据的同步,节约了数据同步成本。
图6是本发明第六实施例提供的基于归档日志文件的数据同步装置的结构示意图,如图6所示,在上述各实施例的基础上,进一步地,发送模块503包括转换单元5031、获得单元5032和发送单元5033,其中:
转换单元5031用于将所述目标数据表对应的变化数据以行为单位转换为JSON字符串,获得所述目标数据表中每个数据表的发布数据;获得单元5032用于基于所述目标数据表中每个数据表的数据表名称和数据表名称对应的应用集群名称,获得每个数据表的发布数据对应的主题名称;发送单元5033用于将每个数据表的发布数据以及对应主题名称发送到所述消息队列服务器。
在上述各实施例的基础上,进一步地,获取模块502具体用于:
根据所述目标数据表中每个数据表的数据表名称从所述归档日志文件中查询获得每个数据表名称对应的变化数据。
图7是本发明第七实施例提供的基于归档日志文件的数据同步装置的结构示意图,如图7所示,在上述各实施例的基础上,进一步地,本发明实施例提供的基于归档日志文件的数据同步装置还包括接收模块504和作为模块505,其中:
接收模块504用于接收控制台发送的源头表配置信息,所述源头表配置信息包括各个源头表;作为模块505用于将各个源头表作为所述目标数据表。
图8是本发明第八实施例提供的基于归档日志文件的数据同步装置的结构示意图,如图8所示,本发明实施例提供的基于归档日志文件的数据同步装置还包括脱敏模块506,其中:
脱敏模块506用于对所述目标数据表对应的变化数据进行脱敏处理。
图9是本发明第九实施例提供的基于归档日志文件的数据同步装置的结构示意图,如图9所示,在上述各实施例的基础上,进一步地,本发明实施例提供的基于归档日志文件的数据同步装置还包括加密模块507,其中:
加密模块507用于对所述目标数据表对应的变化数据进行加密处理。
在上述各实施例的基础上,进一步地,所述消息队列以应用集群名称和数据表名称命名。
本发明实施例提供的装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
需要说明的是,本发明实施例提供的基于归档日志文件的数据同步方法及装置可用于金融领域,也可用于除金融领域之外的任意技术领域,本发明实施例对基于归档日志文件的数据同步方法及装置的应用领域不做限定。
图10是本发明一实施例提供的电子设备的实体结构示意图,如图10所示,该电子设备可以包括:处理器(processor)1001、通信接口(Communications Interface)1002、存储器(memory)1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信。处理器1001可以调用存储器1003中的逻辑指令,以执行如下方法:监控源数据库的归档日志文件;根据目标数据表从所述归档日志文件中获取所述目标数据表对应的变化数据;其中,所述目标数据表是预先获得的;将所述目标数据表对应的变化数据发送到消息队列服务器,以使得所述消息队列服务器将所述目标数据表对应的变化数据发布到对应的消息队列中,以将所述目标数据表对应的变化数据同步到对应的目标数据库。
此外,上述的存储器1003中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:监控源数据库的归档日志文件;根据目标数据表从所述归档日志文件中获取所述目标数据表对应的变化数据;其中,所述目标数据表是预先获得的;将所述目标数据表对应的变化数据发送到消息队列服务器,以使得所述消息队列服务器将所述目标数据表对应的变化数据发布到对应的消息队列中,以将所述目标数据表对应的变化数据同步到对应的目标数据库。
本实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述各方法实施例所提供的方法,例如包括:监控源数据库的归档日志文件;根据目标数据表从所述归档日志文件中获取所述目标数据表对应的变化数据;其中,所述目标数据表是预先获得的;将所述目标数据表对应的变化数据发送到消息队列服务器,以使得所述消息队列服务器将所述目标数据表对应的变化数据发布到对应的消息队列中,以将所述目标数据表对应的变化数据同步到对应的目标数据库。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于归档日志文件的数据同步方法,其特征在于,包括:
监控源数据库的归档日志文件;
根据目标数据表从所述归档日志文件中获取所述目标数据表对应的变化数据;其中,所述目标数据表是预先获得的;
将所述目标数据表对应的变化数据发送到消息队列服务器,以使得所述消息队列服务器将所述目标数据表对应的变化数据发布到对应的消息队列中,以将所述目标数据表对应的变化数据同步到对应的目标数据库。
2.根据权利要求1所述的方法,其特征在于,所述将所述目标数据表对应的变化数据发送到消息队列服务器包括:
将所述目标数据表对应的变化数据以行为单位转换为JSON字符串,获得所述目标数据表中每个数据表的发布数据;
基于所述目标数据表中每个数据表的数据表名称和数据表名称对应的应用集群名称,获得每个数据表的发布数据对应的主题名称;
将每个数据表的发布数据以及对应主题名称发送到所述消息队列服务器。
3.根据权利要求1所述的方法,其特征在于,所述根据目标数据表从所述归档日志文件中获取所述目标数据表对应的变化数据包括:
根据所述目标数据表中每个数据表的数据表名称从所述归档日志文件中查询获得每个数据表名称对应的变化数据。
4.根据权利要求1所述的方法,其特征在于,还包括:
接收控制台发送的源头表配置信息,所述源头表配置信息包括各个源头表;
将各个源头表作为所述目标数据表。
5.根据权利要求1所述的方法,其特征在于,在将所述目标数据表对应的变化数据发送到消息队列服务器之前,还包括:
对所述目标数据表对应的变化数据进行脱敏处理和/或对所述目标数据表对应的变化数据进行加密处理。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述消息队列以应用集群名称和数据表名称命名。
7.一种用于实现权利要求1至6任一项所述的基于归档日志文件的数据同步方法的基于归档日志文件的数据同步***,其特征在于,包括数据库服务器、控制台、消息队列服务器和消息队列管控平台,其中:
所述数据库服务器分别与所述控制台和所述消息队列服务器通信连接,所述控制台与所述消息队列管控平台通信连接,所述消息队列管控平台与所述消息队列服务器通信连接;
所述控制台用于配置目标数据表,并发送给所述数据库服务器;所述数据库服务器用于监控源数据库的归档日志文件,以获取所述目标数据表对应的变化数据发送到所述消息队列服务器;所述消息队列服务器用于将所述目标数据表对应的变化数据发布到对应的消息队列中,以将所述目标数据表对应的变化数据同步到对应的目标数据库中;所述消息队列管控平台用于接收消息订阅请求,并基于消息订阅请求生成所述目标数据表发送给所述控制台。
8.一种基于归档日志文件的数据同步装置,其特征在于,包括:
监控模块,用于监控源数据库的归档日志文件;
获取模块,用于根据目标数据表从所述归档日志文件中获取所述目标数据表对应的变化数据;其中,所述目标数据表是预先获得的;
发送模块,用于将所述目标数据表对应的变化数据发送到消息队列服务器,以使得所述消息队列服务器将所述目标数据表对应的变化数据发布到对应的消息队列中,以将所述目标数据表对应的变化数据同步到对应的目标数据库。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211528606.3A CN115757642A (zh) | 2022-11-30 | 2022-11-30 | 一种基于归档日志文件的数据同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211528606.3A CN115757642A (zh) | 2022-11-30 | 2022-11-30 | 一种基于归档日志文件的数据同步方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115757642A true CN115757642A (zh) | 2023-03-07 |
Family
ID=85342027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211528606.3A Pending CN115757642A (zh) | 2022-11-30 | 2022-11-30 | 一种基于归档日志文件的数据同步方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115757642A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541470A (zh) * | 2023-07-07 | 2023-08-04 | 深圳创维智慧科技有限公司 | 数据库只读备库的同步方法、装置、设备及介质 |
-
2022
- 2022-11-30 CN CN202211528606.3A patent/CN115757642A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541470A (zh) * | 2023-07-07 | 2023-08-04 | 深圳创维智慧科技有限公司 | 数据库只读备库的同步方法、装置、设备及介质 |
CN116541470B (zh) * | 2023-07-07 | 2024-02-13 | 深圳创维智慧科技有限公司 | 数据库只读备库的同步方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108536761B (zh) | 报表数据查询方法及服务器 | |
WO2022126974A1 (zh) | 基于Kafka的增量数据同步方法、装置、设备及介质 | |
US9069800B2 (en) | Parallel database backup and restore | |
US20200358667A1 (en) | System and method for tracking service requests | |
CN109919691B (zh) | 一种数据处理的***、方法以及装置 | |
US10122665B2 (en) | Distributed synchronization data in a message management service | |
KR20210005043A (ko) | 입력 및 출력 스키마 매핑 | |
CN104657497A (zh) | 一种基于分布式计算的海量用电信息并行计算***及方法 | |
CN112559475B (zh) | 数据实时捕获和传输方法及*** | |
CN109144785A (zh) | 用于备份数据的方法和装置 | |
CN103235811A (zh) | 一种数据存储方法及装置 | |
US11892976B2 (en) | Enhanced search performance using data model summaries stored in a remote data store | |
CN109189749A (zh) | 文件同步方法及终端设备 | |
CA2922129A1 (en) | Automatically generating certification documents | |
CN113434312A (zh) | 数据血缘关系处理方法及装置 | |
CN115757642A (zh) | 一种基于归档日志文件的数据同步方法及装置 | |
CN111460038A (zh) | 一种数据准实时同步方法及装置 | |
CN114661823A (zh) | 数据同步的方法、装置、电子设备及可读存储介质 | |
US9092338B1 (en) | Multi-level caching event lookup | |
KR20220086677A (ko) | 블록체인 기반 백업 및 복구를 위한 시스템 및 방법 | |
CN110941658A (zh) | 一种数据导出方法、装置、服务器及存储介质 | |
CN112825525A (zh) | 用于处理事务的方法和装置 | |
CN112073395B (zh) | 一种文件分发方法和装置 | |
CN113449042B (zh) | 数据自动分库方法及装置 | |
CN111563083B (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 |