CN111625605B - 信息同步方法和装置、以及存储介质和电子设备 - Google Patents

信息同步方法和装置、以及存储介质和电子设备 Download PDF

Info

Publication number
CN111625605B
CN111625605B CN202010489731.2A CN202010489731A CN111625605B CN 111625605 B CN111625605 B CN 111625605B CN 202010489731 A CN202010489731 A CN 202010489731A CN 111625605 B CN111625605 B CN 111625605B
Authority
CN
China
Prior art keywords
information
incremental
full
increment
adaptation
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.)
Active
Application number
CN202010489731.2A
Other languages
English (en)
Other versions
CN111625605A (zh
Inventor
王晓文
王鹏权
王飞
柳超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jindi Technology Co Ltd
Original Assignee
Beijing Jindi Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jindi Technology Co Ltd filed Critical Beijing Jindi Technology Co Ltd
Priority to CN202010489731.2A priority Critical patent/CN111625605B/zh
Publication of CN111625605A publication Critical patent/CN111625605A/zh
Application granted granted Critical
Publication of CN111625605B publication Critical patent/CN111625605B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开的实施例公开了一种信息同步方法和装置、电子设备和存储介质,其中,该方法包括:获取多个数据库中的全量信息和增量信息;基于所述多个数据库中的全量信息获得全量任务,对多个数据库中的增量信息进行抽象获得增量任务;将所述全量任务和所述增量任务导入目标数据库。由此,本公开实施例不仅可以实现不同数据库之间的离线数据同步,还可以实现不同数据库之间的实时数据同步,以满足复杂的业务场景中的信息变更。

Description

信息同步方法和装置、以及存储介质和电子设备
技术领域
本公开涉及计算机技术领域,尤其是一种信息同步方法、装置、以及存储介质和电子设备。
背景技术
随着互联网业务涉及的信息范围越来越广泛,不同业务信息变更可能涉及不同的数据库,目前数据同步工具大致分两类:一类是离线数据同步,支持的数据源丰富,但是无法做到实时同步;另一类是可以做到实时同步,但大都是特定的数据源,且功能简单,无法满足复杂的业务场景。
发明内容
为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种信息同步方法和装置、电子设备和存储介质。
根据本公开实施例的一个方面,提供了一种信息同步方法,包括:
获取多个数据库中的全量信息和增量信息;
基于所述多个数据库中的全量信息获得全量任务,对所述多个数据库中的增量信息进行抽象获得增量任务;
将所述全量任务和所述增量任务导入目标数据库。
可选地,在本公开上述各方法实施例中,所述对多个数据库中的增量信息进行抽象,获得增量任务包括:
基于至少一个数据库的操作日志协议,对所述至少一个数据库中的增量信息进行解析,获得所述至少一个数据库的增量日志信息;
对所述至少一个数据库的增量日志信息进行抽象,获得增量适配信息;
基于所述增量适配信息获得所述增量任务。
可选地,在本公开上述各方法实施例中,所述对多个数据库中的增量信息进行抽象,获得增量任务包括:
基于至少一个数据库的中各增量信息对应的日志接口函数,获得所述至少一个数据库的增量日志信息;
对所述至少一个数据库的增量日志信息进行抽象,获得增量适配信息;
基于所述增量适配信息获得所述增量任务。
可选地,在本公开上述各方法实施例中,所述基于所述增量适配信息获得所述增量任务包括:
将所述增量适配信息导入消息中间件以实现对所述增量适配信息的缓存;
基于预设的时间间隔从所述消息中间件中获取所述增量适配信息,并对获取的增量适配信息进行存储;
基于预设的至少一个提取条件和存储的增量适配信息获得增量任务。
可选地,在本公开上述各方法实施例中,所述基于预设的至少一个提取条件和存储的增量适配信息获得增量任务包括:
基于预设的第一提取条件,对所述存储的增量适配信息中的源表信息进行过滤,获得符合第一提取条件的增量适配信息;
基于预设的第二提取条件,对所述符合第一提取条件的增量适配信息的关联表信息进行过滤,获得符合第二提取条件的增量适配信息;
基于预设的第三提取条件,对所述符合第二提取条件的增量适配信息的修改字段进行过滤,获得符合所述增量任务。
可选地,在本公开上述各方法实施例中,所述基于预设的第一提取条件,对所述存储的增量适配信息中的源表信息进行过滤,获得符合第一提取条件的增量适配信息和所述基于预设的第二提取条件,对所述符合第一提取条件的增量适配信息中的关联表信息进行过滤,获得符合第二提取条件的增量适配信息之间,还包括:
确定符合第一提取条件的增量适配信息的属性信息是否在预设表中,若在,则继续确定符合第二提取条件的增量适配信息,否则,过滤掉不在所述预设表中的符合第一提取条件的增量适配信息后,继续确定符合第二提取条件的增量适配信息。
可选地,在本公开上述各方法实施例中,所述基于所述多个数据库中的全量信息获得全量任务,包括:
基于预设的过滤条件对所述多个数据库中的全量信息进行过滤,获得符合过滤条件的全量信息;
对所述符合过滤条件的全量信息进行抽象,获得同一种数据结构的中间层信息;
将所述同一种数据结构的中间层信息存储到目标数据库,获得所述全量任务。
可选地,在本公开上述各方法实施例中,所述增量信息包括以下任意一项或多项:新增消息、修改消息、以及删除消息。
根据本公开实施例的另一个方面,提供了一种信息同步装置,包括:
获取模块,用于获取多个数据库中的全量信息和增量信息;
获得模块,用于基于所述多个数据库中的全量信息获得全量任务,对所述多个数据库中的增量信息进行抽象,获得增量任务;
同步模块,用于将所述全量任务和所述增量任务导入目标数据库。
可选地,在本公开上述各装置实施例中,所述获得模块包括:
第一获得单元,用于基于至少一个数据库的操作日志协议,对所述至少一个数据库中的增量信息进行解析,获得所述至少一个数据库的增量日志信息;
第二获得单元,用于对所述至少一个数据库的增量日志信息进行抽象,获得增量适配信息;
第三获得单元,用于基于所述增量适配信息获得所述增量任务。
可选地,在本公开上述各装置实施例中,所述获得模块包括:
第四获得单元,用于基于至少一个数据库的中各增量信息对应的日志接口函数,获得所述至少一个数据库的增量日志信息;
第五获得单元,用于对所述至少一个数据库的增量日志信息进行抽象,获得增量适配信息;
第六获得单元,用于基于所述增量适配信息获得所述增量任务。
可选地,在本公开上述各装置实施例中,所述第三获得单元和所述第六获得单元具体用于:
将所述增量适配信息导入消息中间件以实现对所述增量适配信息的缓存;
基于预设的时间间隔从所述消息中间件中获取所述增量适配信息,并对获取的增量适配信息进行存储;
基于预设的至少一个提取条件和存储的增量适配信息获得增量任务。
可选地,在本公开上述各装置实施例中,所述获得模块还包括:
第七获得单元,用于基于预设的过滤条件对所述多个数据库中的全量信息进行过滤,获得符合过滤条件的全量信息;
第八获得单元,用于基于开源全量同步工具对所述符合过滤条件的全量信息进行转换,获得全量任务。
可选地,在本公开上述各装置实施例中,所述增量信息包括以下任意一项或多项:新增消息、修改消息、以及删除消息。
根据本公开实施例的又一个方面,提供了一种计算机可读存储介质,该存储介质存储有计算机程序,所述计算机程序用于执行本公开上述任一实施例所述的信息同步方法。
根据本公开实施例的又一个方面,提供了一种电子设备,该电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述任一实施例所述的信息同步方法。
基于本公开上述实施例提供的信息同步方法和装置、电子设备和存储介质,获取多个数据库中的全量信息和增量信息;基于所述多个数据库中的全量信息获得全量任务,对多个数据库中的增量信息进行抽象获得增量任务;将所述全量任务和所述增量任务导入目标数据库。由此,本公开实施例不仅可以实现不同数据库之间的离线数据同步,还可以实现不同数据库之间的实时数据同步,以满足复杂的业务场景中的信息变更。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本公开一示例性实施例提供的信息同步方法的流程示意图。
图2是本公开另一示例性实施例提供的信息同步方法的流程示意图。
图3是本公开又一示例性实施例提供的信息同步方法的流程示意图。
图4是本公开再一示例性实施例提供的信息同步方法的流程示意图。
图5是本公开又一示例性实施例提供的信息同步方法的流程示意图。
图6是本公开一示例性实施例提供的信息同步方法的结构示意图。
图7是本公开一示例性实施例提供的信息同步装置的结构示意图。
图8是本公开一示例性实施例提供的电子设备的结构图。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/ 或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
图1是本公开一示例性实施例提供的信息同步方法流程图。本实施例可应用在电子设备上,如图1所示,该信息同步方法包括如下步骤:
S102,获取多个数据库中的全量信息和增量信息。
其中,全量信息用于表示静态信息,例如,离线数据。增量信息用于表示动态信息,例如,实时数据。
S104,基于多个数据库中的全量信息获得全量任务,对多个数据库中的增量信息进行抽象,获得增量任务。
本公开的实施例中增量信息可以包括以下任意一项或多项:新增消息、修改消息、以及删除消息。例如,新增消息和修改消息可以利用关系型数据库的扩展插件mysqlreader基于该数据库中的源表获得,该扩展插件支持跨数据库关联信息,删除消息利用扩展插件confreader从源表中获得。
S106,将全量任务和增量任务导入目标数据库。
具体的,可以将全量任务和增量任务导入目标数据库(mysql),并利用调度平台(xxl-job)对其进行定时调度。
基于本公开上述实施例提供的信息同步方法,获取多个数据库中的全量信息和增量信息;基于所述多个数据库中的全量信息获得全量任务,对多个数据库中的增量信息进行抽象获得增量任务;将所述全量任务和所述增量任务导入目标数据库。由此,本公开实施例不仅可以实现不同数据库之间的离线数据同步,还可以实现不同数据库之间的实时数据同步,以满足复杂的业务场景中的信息变更。
如图2所示,在上述图1所示实施例的基础上,其中一些可选的实施方式中,步骤S104中的对多个数据库中的增量信息进行抽象获得增量任务具体可以包括:
S201,基于至少一个数据库的操作日志协议,对至少一个数据库中的增量信息进行解析,获得每个数据库的增量日志信息。
S202,对至少一个数据库的增量日志信息进行抽象,获得增量适配信息。
其中,增量适配信息用于表示同一种数据结构的日志信息。
S203,基于增量适配信息获得增量任务。
例如,利用canal协议对关系型数据库Mysql中的增量信息进行解析,获得关系型数据库中的二进制增量日志信息binlog,经目标适配器(Dml object adapter)将不同数据库的增量日志信息均抽象为二进制增量日志信息binlog形式的增量适配信息,并基于该增量适配信息获得增量任务。
如图3所示,在上述图1所示实施例的基础上,其中一些可选的实施方式中,步骤S104中的对多个数据库中的增量信息进行抽象,获得增量任务具体可以包括:
S301,基于至少一个数据库的中各增量信息对应的日志接口函数,获得至少一个数据库的增量日志信息。
S302,对至少一个数据库的增量日志信息进行抽象,获得增量适配信息。
S303,基于增量适配信息获得增量任务。
例如,利用日志接口函数log API获取分布式文件存储数据库mango中的增量日志信息,经目标适配器(Dml object adapter)将不同数据库的增量日志信息抽象为同一种增量适配信息,如二进制增量日志信息binlog,并基于该增量适配信息获得增量任务。
由此,本公开实施例可以接入不同类型数据库中数据源,通过对不同数据类型进行抽象,以获得同一种数据结构的信息,从而避免遇到不同业务场景需求单独编码来实现信息的实时同步以及后期处理层可能需要进行的改动服务,有效降低了数据的使用难度。
如图4所示,在上述图2和图3所示实施例的基础上,其中一些可选的实施方式中,步骤S203和S303具体可以包括:
S401,基于预设的时间间隔获取增量适配信息,并对获取的增量适配信息进行存储。
在本公开的实施例中可以先将增量适配信息导入消息中间件以实现对增量适配信息的缓存,例如,导入分布式发布订阅消息系统Kafka。
例如,每隔0.05s利用读取插件kafkareader获取消息中间件kafka中的增量适配信息,即二进制增量日志信息binlog,并利用关系型数据库写插件 mysqlwriter将该增量适配信息写入可以存储binlog形式信息的关系型数据库 mysql中。
S402,基于预设的至少一个提取条件和存储的增量适配信息获得增量任务。
本公开的上述实施例利用消息中间件可以实现两个运行程序的解耦,并设置至少一个提取条件对存储的增量适配信息进行提取,以避免获取过多无用的增量任务导致系统运行效率降低等问题。
如图5所示,在上述图4所示实施例的基础上,其中一些可选的实施方式中,步骤S403具体可以包括:
S501,基于预设的第一提取条件,对存储的增量适配信息中源表的增量信息进行过滤,获得符合第一提取条件的增量适配信息。
其中,预设的第一提取条件可以是查询条件(where条件),源表用于表示各数据库中存储增量信息的表。
示例性的,源表中的增量信息变更前符合where条件,变更后不符合where 条件,则不符合第一提取条件的增量适配信息(操作类型为删除);源表的增量信息变更前不符合where条件,变更后符合where条件,则符合第一提取条件的增量适配信息(操作类型为新增);源表的增量信息变更前符合where条件、变更后也符合where条件,再判断该增量信息变更属性是否在预设表fields中,在则更新预设表中的增量信息,否则过滤该增量信息。
例如,where条件是发明专利,增量信息A变更前是发明专利,变更后是实用新型专利,由于不满足where条件,因此删除增量信息A。增量信息B变更前是发明专利申请,变更后是发明专利授权,则满足where条件,再判断增量信息 B的变更属性是否在预设表中要求的中国专利、时间范围在2015-2020之间,在则更新预设表中的增量信息B由发明专利申请为发明专利授权,否则过滤掉增量信息B。
S502,基于预设的第二提取条件,对符合第一提取条件的增量适配信息的关联表信息进行过滤,获得符合第二提取条件的增量适配信息。
其中,预设的第二提取条件用于表示确定与增量适配信息关联的信息的修改字段是否在中间表(on条件)中。
例如,符合第一提取条件的增量适配信息B发明专利授权,其关联表D和E 为计算机领域发明专利表和机械领域发明专利表,on条件为授权的计算机领域专利,对符合第一提取条件的增量适配信息B的关联表信息进行过滤,获得符合第二提取条件计算机领域发明专利的增量适配信息B。
S503,基于预设的第三提取条件,对符合第二提取条件的增量适配信息的修改字段进行过滤,获得增量任务。
其中,第三提取条件用于表示确定与修改字段关联的字段是否在预设字段(select)中,是则关联出变更信息对应的主表主键,获得增量任务,即符合第三提取条件的增量适配信息,否则过滤该消息。
例如,预设的第三提取条件为关键字:图像处理和神经网络,对符合第二提取条件的增量适配信息B的关键字进行过滤,获得增量任务,即符合第三提取条件包含关键字“图像处理和神经网络”字段的发明专利的增量适配信息B。
利用本公开上述实施例中设置的提取条件可以有效过滤掉大量无用信息,节省了存储空间,并且还实现增量信息的快速同步,方便了后续的查找以及信息的处理。
如图6所示,在上述图1所示实施例的基础上,其中一些可选的实施方式中,步骤S104中的基于多个数据库中的全量信息获得全量任务,具体可以包括:
S601,基于预设的过滤条件对多个数据库中的全量信息进行过滤,获得符合过滤条件的全量信息。
例如,读取关系型数据库mysqlreader中的源表、源表中的列、过滤条件等配置信息,以及源表的关联表中的列等信息,基于过滤条件-公司X对多个数据库中的离线信息进行过滤,过滤掉不属于公司X的离线信息,获得属于公司X的全量信息。
S602,基于开源全量同步工具对符合过滤条件的全量信息进行转换,获得全量任务。
其中,利用开源全量同步工具(如Datax)将符合过滤条件的全量信息转换为同一种数据结构的信息,即可获得全量任务。
本公开实施例提供的任一种信息同步方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本公开实施例提供的任一种信息同步方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本公开实施例提及的任一种信息同步方法。下文不再赘述。
图7是本公开一示例性实施例提供的信息同步装置的结构示意图。该测试装置可以设置于终端设备、服务器等电子设备中,执行本公开上述任一实施例的信息同步方法。如图7所示,该信息同步装置包括:
获取模块71,用于获取多个数据库中的全量信息和增量信息;
获得模块72,用于基于所述多个数据库中的全量信息获得全量任务,对所述多个数据库中的增量信息进行抽象获得增量任务;
同步模块73,用于将所述全量任务和所述增量任务同步到信息调度平台。
基于本公开上述实施例提供的信息同步装置,获取多个数据库中的全量信息和增量信息;基于所述多个数据库中的全量信息获得全量任务,对多个数据库中的增量信息进行抽象获得增量任务;将所述全量任务和所述增量任务导入目标数据库。由此,本公开实施例不仅可以实现不同数据库之间的离线数据同步,还可以实现不同数据库之间的实时数据同步,以满足复杂的业务场景中的信息变更。在其中一些实施方式中,所述获得模块72包括:
第一获得单元,用于基于至少一个数据库的操作日志协议,对所述至少一个数据库中的增量信息进行解析,获得所述至少一个数据库的增量日志信息;
第二获得单元,用于对所述至少一个数据库的增量日志信息进行抽象,获得增量适配信息;
第三获得单元,用于基于所述增量适配信息获得所述增量任务。
在其中一些实施方式中,所述获得模块72包括:
第四获得单元,用于基于至少一个数据库的中各增量信息对应的日志接口函数,获得所述至少一个数据库的增量日志信息;
第五获得单元,用于对所述至少一个数据库的增量日志信息进行抽象,获得增量适配信息;
第六获得单元,用于基于所述增量适配信息获得所述增量任务。
在其中一些实施方式中,所述第三获得单元和所述第六获得单元具体用于:
将所述增量适配信息导入消息中间件以实现对所述增量适配信息的缓存;
基于预设的时间间隔从所述消息中间件中获取所述增量适配信息,并对获取的增量适配信息进行存储;
基于预设的至少一个提取条件和存储的增量适配信息获得增量任务。
在其中一些实施方式中,所述获得模块72还包括:
第七获得单元,用于基于预设的过滤条件对所述多个数据库中的全量信息进行过滤,获得符合过滤条件的全量信息;
第八获得单元,用于基于开源全量同步工具对所述符合过滤条件的全量信息进行转换,获得全量任务。
在其中一些实施方式中,所述增量信息包括以下任意一项或多项:新增消息、修改消息、以及删除消息。
另外,本公开实施例还提供了一种电子设备,该电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本公开上述任一实施例所述的信息同步方法。
下面,参考图8来描述根据本公开实施例的电子设备。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。图8图示了根据本公开实施例的电子设备的框图。如图8所示,电子设备包括一个或多个处理器81和存储器82。
处理器81可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
存储器82可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器 (cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器81可以运行所述程序指令,以实现上文所述的本公开的各个实施例的软件程序的信息同步方法以及/或者其他期望的功能。在一个示例中,电子设备还可以包括:输入装置83和输出装置84,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入设备83还可以包括例如键盘、鼠标等等。
该输出装置84可以向外部输出各种信息。该输出设备84可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图8中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述各种实施例的软件程序的信息同步方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述各种实施例的软件程序的信息同步方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (11)

1.一种信息同步方法,其特征在于,包括:
获取多个数据库中的全量信息和增量信息;
基于所述多个数据库中的全量信息获得全量任务,对所述多个数据库中的增量信息进行抽象获得增量任务;
其中,所述基于所述多个数据库中的全量信息获得全量任务包括:基于预设的过滤条件对所述多个数据库中的全量信息进行过滤,获得符合过滤条件的全量任务;基于开源全量同步工具对所述符合过滤条件的全量信息进行转换,获得所述全量任务;
所述对多个数据库中的增量信息进行抽象获得增量任务包括:基于至少一个数据库的操作日志协议,对所述至少一个数据库中的增量信息进行解析,获得所述至少一个数据库的增量日志信息;利用目标适配器对所述至少一个数据库的增量日志信息进行抽象,以获得二进制增量日志信息形式的增量适配信息;
基于所述增量适配信息获得所述增量任务;
将所述全量任务和所述增量任务导入目标数据库。
2.根据权利要求1所述的方法,其特征在于,所述对多个数据库中的增量信息进行抽象获得增量任务包括:
基于至少一个数据库的中各增量信息对应的日志接口函数,获得所述至少一个数据库的增量日志信息;
对所述至少一个数据库的增量日志信息进行抽象,获得增量适配信息;
基于所述增量适配信息获得所述增量任务。
3.根据权利要求1或2所述的方法,其特征在于,所述基于所述增量适配信息获得所述增量任务包括:
基于预设的时间间隔获取所述增量适配信息,并对获取的增量适配信息进行存储;
基于预设的至少一个提取条件和存储的增量适配信息获得增量任务。
4.根据权利要求3所述的方法,其特征在于,所述基于预设的至少一个提取条件和存储的增量适配信息获得增量任务包括:
基于预设的第一提取条件,对所述存储的增量适配信息中的源表信息进行过滤,获得符合第一提取条件的增量适配信息;
基于预设的第二提取条件,对所述符合第一提取条件的增量适配信息的关联表信息进行过滤,获得符合第二提取条件的增量适配信息;
基于预设的第三提取条件,对所述符合第二提取条件的增量适配信息的修改字段进行过滤,获得所述增量任务。
5.根据权利要求4所述的方法,其特征在于,所述基于预设的第一提取条件,对所述存储的增量适配信息中的源表信息进行过滤,获得符合第一提取条件的增量适配信息和所述基于预设的第二提取条件,对所述符合第一提取条件的增量适配信息中的关联表信息进行过滤,获得符合第二提取条件的增量适配信息之间,还包括:
确定符合第一提取条件的增量适配信息的属性信息是否在预设表中,若在,则继续确定符合第二提取条件的增量适配信息,否则,过滤掉不在所述预设表中的符合第一提取条件的增量适配信息后,继续确定符合第二提取条件的增量适配信息。
6.根据权利要求1所述的方法,其特征在于,所述增量信息包括以下任意一项或多项:新增消息、修改消息、以及删除消息。
7.一种信息同步装置,其特征在于,包括:
获取模块,用于获取多个数据库中的全量信息和增量信息;
获得模块,用于基于所述多个数据库中的全量信息获得全量任务,对所述多个数据库中的增量信息进行抽象获得增量任务;
其中,所述获得模块包括:
第七获得单元,用于基于预设的过滤条件对所述多个数据库中的全量信息进行过滤,获得符合过滤条件的全量信息;
第八获得单元,用于基于开源全量同步工具对所述符合过滤条件的全量信息进行转换,获得所述全量任务;
第一获得单元,用于基于至少一个数据库的操作日志协议,对所述至少一个数据库中的增量信息进行解析,获得所述至少一个数据库的增量日志信息;
第二获得单元,用于利用目标适配器对所述至少一个数据库的增量日志信息进行抽象,以获得二进制增量日志信息形式的增量适配信息;
第三获得单元,用于基于所述增量适配信息获得所述增量任务;
同步模块,用于将所述全量任务和所述增量任务同步到信息调度平台。
8.根据权利要求7所述的装置,其特征在于,所述获得模块包括:
第四获得单元,用于基于至少一个数据库的中各增量信息对应的日志接口函数,获得所述至少一个数据库的增量日志信息;
第五获得单元,用于对所述至少一个数据库的增量日志信息进行抽象,获得增量适配信息;
第六获得单元,用于基于所述增量适配信息获得所述增量任务。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-6任一所述的信息同步方法。
10.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-6任一所述的信息同步方法。
11.一种计算机程序产品,包括计算机可读代码,其特征在于,当所述计算机可读代码在设备上运行时,所述设备中的处理器执行用于实现上述权利要求1-6任一所述的信息同步方法。
CN202010489731.2A 2020-06-02 2020-06-02 信息同步方法和装置、以及存储介质和电子设备 Active CN111625605B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010489731.2A CN111625605B (zh) 2020-06-02 2020-06-02 信息同步方法和装置、以及存储介质和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010489731.2A CN111625605B (zh) 2020-06-02 2020-06-02 信息同步方法和装置、以及存储介质和电子设备

Publications (2)

Publication Number Publication Date
CN111625605A CN111625605A (zh) 2020-09-04
CN111625605B true CN111625605B (zh) 2024-05-10

Family

ID=72259203

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010489731.2A Active CN111625605B (zh) 2020-06-02 2020-06-02 信息同步方法和装置、以及存储介质和电子设备

Country Status (1)

Country Link
CN (1) CN111625605B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112559475B (zh) * 2020-12-11 2023-01-10 上海哔哩哔哩科技有限公司 数据实时捕获和传输方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016101752A1 (zh) * 2014-12-22 2016-06-30 北京奇虎科技有限公司 数据同步方法及装置
WO2017088476A1 (zh) * 2015-11-27 2017-06-01 华为技术有限公司 同步续传方法、从端设备及系统
CN108399256A (zh) * 2018-03-06 2018-08-14 北京慧萌信安软件技术有限公司 异构数据库内容同步方法、装置及中间件
CN109241175A (zh) * 2018-06-28 2019-01-18 东软集团股份有限公司 数据同步方法、装置、存储介质及电子设备
CN110413690A (zh) * 2019-07-03 2019-11-05 杭州数梦工场科技有限公司 数据库的数据同步方法、服务器、电子设备、存储介质
CN111209344A (zh) * 2020-02-07 2020-05-29 浪潮软件股份有限公司 数据同步方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106612308B (zh) * 2015-10-22 2021-04-16 阿里巴巴集团控股有限公司 数据传输方法及装置
CN110209642A (zh) * 2018-02-05 2019-09-06 北京智明星通科技股份有限公司 信息处理的方法、装置、服务器及计算机可读介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016101752A1 (zh) * 2014-12-22 2016-06-30 北京奇虎科技有限公司 数据同步方法及装置
WO2017088476A1 (zh) * 2015-11-27 2017-06-01 华为技术有限公司 同步续传方法、从端设备及系统
CN108399256A (zh) * 2018-03-06 2018-08-14 北京慧萌信安软件技术有限公司 异构数据库内容同步方法、装置及中间件
CN109241175A (zh) * 2018-06-28 2019-01-18 东软集团股份有限公司 数据同步方法、装置、存储介质及电子设备
CN110413690A (zh) * 2019-07-03 2019-11-05 杭州数梦工场科技有限公司 数据库的数据同步方法、服务器、电子设备、存储介质
CN111209344A (zh) * 2020-02-07 2020-05-29 浪潮软件股份有限公司 数据同步方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
庞秋奔 ; 李银 ; .基于Web Service多源异构系统增量同步的实现.计算机应用与软件.2018,(05),全文. *
王玉标 ; 饶锡如 ; 何盼 ; .异构环境下数据库增量同步更新机制.计算机工程与设计.2011,(03),全文. *

Also Published As

Publication number Publication date
CN111625605A (zh) 2020-09-04

Similar Documents

Publication Publication Date Title
CN110032604B (zh) 数据存储装置、转译装置及数据库访问方法
CN109522341B (zh) 实现基于sql的流式数据处理引擎的方法、装置、设备
CN112948486B (zh) 批量数据同步方法、系统及电子设备
CN112214505B (zh) 数据同步方法、装置、计算机可读存储介质及电子设备
CN111858760B (zh) 一种异构数据库的数据处理方法及装置
KR20130049111A (ko) 분산 처리를 이용한 포렌식 인덱스 방법 및 장치
CN112416991A (zh) 一种数据处理方法、装置以及存储介质
CN113282611A (zh) 一种流数据同步的方法、装置、计算机设备及存储介质
CN111008020A (zh) 将逻辑表达式解析为通用查询语句的方法
CN108959294B (zh) 一种访问搜索引擎的方法和装置
CN114139040A (zh) 一种数据存储及查询方法、装置、设备及可读存储介质
CN113886485A (zh) 数据处理方法、装置、电子设备、系统和存储介质
CN111625605B (zh) 信息同步方法和装置、以及存储介质和电子设备
US9069874B2 (en) Webpage content search method and system
CN114969441A (zh) 基于图数据库的知识挖掘引擎系统
CN112395517B (zh) 房源搜索展示方法、装置及计算机可读存储介质
CN110874366A (zh) 数据处理、查询方法和装置
CN117215540A (zh) 远程过程调用框架的代码生成方法、装置和系统
CN111026796A (zh) 多源异构数据采集方法、装置、系统、介质和设备
CN115357827A (zh) 区块链浏览器组件和电子设备
CN111581213B (zh) 信息记录方法、装置、以及设备
CN114943036A (zh) push推送相似文章判定方法和装置、及存储介质和电子设备
CN104125100A (zh) 一种通信网管中dashboard实时监控的方法
CN114297211A (zh) 一种数据在线分析系统、方法、设备及存储介质
CN115687704A (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
GR01 Patent grant
GR01 Patent grant