CN115587143A - 数据同步方法、装置、设备及计算机可读存储介质 - Google Patents

数据同步方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN115587143A
CN115587143A CN202211093456.8A CN202211093456A CN115587143A CN 115587143 A CN115587143 A CN 115587143A CN 202211093456 A CN202211093456 A CN 202211093456A CN 115587143 A CN115587143 A CN 115587143A
Authority
CN
China
Prior art keywords
target
database
data
target data
data table
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
Application number
CN202211093456.8A
Other languages
English (en)
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.)
China Construction Bank Corp
CCB Finetech Co Ltd
Original Assignee
China Construction Bank Corp
CCB Finetech 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 China Construction Bank Corp, CCB Finetech Co Ltd filed Critical China Construction Bank Corp
Priority to CN202211093456.8A priority Critical patent/CN115587143A/zh
Publication of CN115587143A publication Critical patent/CN115587143A/zh
Pending legal-status Critical Current

Links

Images

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
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

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

Abstract

本申请公开了一种数据同步方法、装置、设备及计算机可读存储介质。其中,该方法包括:获取第一数据库和第二数据库分别对应的表数量和表结构;在所述表数量和所述表结构均相同的情况下,确定所述第一数据库中在目标周期内发生数据变更的第一目标数据表;从所述第一目标数据表中获取所述目标周期内发生数据变更的目标数据;将所述目标数据同步至第二目标数据表,所述第二目标数据表为所述第二数据库中与所述第一目标数据表对应的数据表。根据本申请实施例的数据同步方法,能够降低数据同步的难度,提高数据同步的效率。

Description

数据同步方法、装置、设备及计算机可读存储介质
技术领域
本申请属于数据处理技术领域,尤其涉及一种数据同步方法、装置、设备及计算机可读存储介质。
背景技术
数据同步是数据开发过程中的关键步骤。随着业务的开展,数据量不断增多,数据同步的难度也不断增大。
现有技术中,主要通过解析二进制日志(binlog)的方式进行数据同步。具体的,在监听到源数据库的binlog之后,可以通过sql语句将binlog中的日志内容在目标数据库中再执行一遍,以使目标数据库中的数据与源数据库中的数据同步。
但是,通过binlog实现数据同步至少需要满足以下条件:可以使用源数据库的binlog;在执行sql之前,源数据库和目标数据库中的数据一致;在执行sql的过程中,保证每条sql语句的执行顺序一致。如此,使得数据同步的难度较大,且数据同步的效率较低。
发明内容
本申请实施例提供了一种数据同步方法、装置、设备、计算机可读存储介质及计算机程序产品,能够降低数据同步的难度,提高数据同步的效率。
第一方面,本申请实施例提供了一种数据同步方法,该方法包括:
获取第一数据库和第二数据库分别对应的表数量和表结构;
在所述表数量和所述表结构均相同的情况下,确定所述第一数据库中在目标周期内发生数据变更的第一目标数据表;
从所述第一目标数据表中获取所述目标周期内发生数据变更的目标数据;
将所述目标数据同步至第二目标数据表,所述第二目标数据表为所述第二数据库中与所述第一目标数据表对应的数据表。
在一种可能的实现方式中,所述确定所述第一数据库中在目标周期内发生数据变更的第一目标数据表,包括:
从与所述第一数据库对应的系统数据库中获取第一配置表,所述第一配置表中存储有所述第一数据库中每个数据表对应的更新时间;
基于所述第一配置表,确定所述第一数据库中满足第一预设条件的数据表为所述第一目标数据表,其中,所述第一预设条件为所述更新时间在所述目标周期内。
在一种可能的实现方式中,所述从所述第一目标数据表中获取所述目标周期内发生数据变更的目标数据,包括:
从所述系统数据库中获取与所述第一目标数据表对应的第二配置表,所述第二配置表中存储有所述第一目标数据表中包含的字段与字段类型之间的对应关系;
基于所述对应关系,从所述第二配置表中确定满足第二预设条件的所述字段为目标字段,其中,所述第二预设条件为所述字段类型为时间类型;
基于所述目标字段的值,从所述第一目标数据表中获取满足第三预设条件的所述目标数据,其中,所述第三预设条件为所述目标字段的值在所述目标周期内。
在一种可能的实现方式中,所述将所述目标数据同步至第二目标数据表,包括:
提取所述第一目标数据表中的所述目标数据;
将所述目标数据插入至所述第二目标数据表中。
在一种可能的实现方式中,所述确定所述第一数据库中在目标周期内发生数据变更的第一目标数据表之前,所述方法还包括:
接收用户用于确定待同步表的第一输入;
响应于所述第一输入,确定所述第一数据库中的待同步表;
所述在所述表数量和所述表结构均相同的情况下,确定所述第一数据库中在目标周期内发生数据变更的第一目标数据表,包括:
在所述表数量和所述表结构均相同的情况下,确定所述待同步表中在目标周期内发生数据变更的第一目标数据表。
在一种可能的实现方式中,所述确定所述第一数据库中在目标周期内发生数据变更的第一目标数据表之前,所述方法还包括:
接收用户用于确定目标周期的第二输入;
响应于所述第二输入,确定目标周期。
在一种可能的实现方式中,还包括:
在所述表数量和所述表结构不完全相同的情况下,调整所述第二数据库对应的表数量和表结构,以使所述表数量和所述表结构均相同。
第二方面,本申请实施例提供了一种数据同步装置,该装置包括:
第一获取模块,用于获取第一数据库和第二数据库分别对应的表数量和表结构;
第一确定模块,用于在所述表数量和所述表结构均相同的情况下,确定所述第一数据库中在目标周期内发生数据变更的第一目标数据表;
第二获取模块,用于从所述第一目标数据表中获取目标周期内发生数据变更的目标数据;
同步模块,用于将所述目标数据同步至第二目标数据表,所述第二目标数据表为所述第二数据库中与所述第一目标数据表对应的数据表。
第三方面,本申请实施例提供了一种电子设备,该设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现上述第一方面中任一种可能的实现方法中的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现上述第一方面中任一种可能的实现方法中的方法。
第五方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备执行如上述第一方面中任一种可能的实现方法中的方法。
本申请实施例的数据同步方法、装置、设备、计算机可读存储介质及计算机程序产品,通过确定第一数据库中在目标周期内发生数据变更的第一目标数据表,以及从第一目标数据表中获取目标周期内发生数据变更的目标数据,能够精准获取在目标周期内发生数据变更的目标数据。基于此,通过将目标数据同步至第二数据库,能够提高数据同步的效率。另外,在数据同步之前,只需保证第一数据库和第二数据库的表数量和表结构相同即可,如此,能够降低数据同步的难度。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据同步方法的流程示意图;
图2是本申请实施例提供的另一种数据同步方法的流程示意图;
图3是本申请实施例提供的又一种数据同步方法的流程示意图;
图4是本申请实施例提供的一种数据同步装置结构示意图;
图5是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
另外,本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
如背景技术部分所述,为了解决现有技术问题,本申请实施例提供了一种数据同步方法、装置、设备、计算机可读存储介质及计算机程序产品。
下面首先对本申请实施例所提供的数据同步方法进行介绍。
图1示出了本申请实施例提供的一种数据同步方法的流程示意图。如图1所示,本申请实施例提供的数据同步方法包括以下步骤:
S110、获取第一数据库和第二数据库分别对应的表数量和表结构;
S120、在表数量和表结构均相同的情况下,确定第一数据库中在目标周期内发生数据变更的第一目标数据表;
S130、从第一目标数据表中获取目标周期内发生数据变更的目标数据;
S140、将目标数据同步至第二目标数据表,第二目标数据表为第二数据库中与第一目标数据表对应的数据表。
本申请实施例的数据同步方法通过确定第一数据库中在目标周期内发生数据变更的第一目标数据表,以及从第一目标数据表中获取目标周期内发生数据变更的目标数据,能够精准获取在目标周期内发生数据变更的目标数据。基于此,通过将目标数据同步至第二数据库,能够提高数据同步的效率。另外,在数据同步之前,只需保证第一数据库和第二数据库的表数量和表结构相同即可,如此,能够降低数据同步的难度。
下面介绍上述各个步骤的具体实现方式。
在一些实施例中,在S110中,第一数据库可以是源数据库,第二数据库可以是目标数据库,即第一数据库的数据可以同步至第二数据库。另外,表数量可以为数据库对应的数据表的数量,表结构例如可以为字段、类型、主键、外键、索引等。其中,每个数据库可以对应多个数据表,每个数据表可以对应一个表结构。
作为一种示例,通过sql语句或Python程序可以分别获取第一数据库和第二数据库的表数量和表结构。当然,也可以通过其他语句或程序获取,在此不做限定。
作为另一种示例,基于预先配置信息,可以分别获取第一数据库和第二数据库的全部数据表的数量和表结构,也可以获取第一数据库和第二数据库的部分指定数据表的数量和表结构。
在一些实施例中,在S120中,表数量和表结构均相同即第一数据库和第二数据库中的数据表的数量和每个数据表的表结构均相同。
作为一种示例,通过Python程序可以连接第一数据库和第二数据库。在获取第一数据库和第二数据库的表结构之后,通过Python程序可以确定两个数据库之间表数量和表结构的差异。若两个数据库之间表数量和表结构均相同,即可确定第一数据库中在目标周期内发生数据变更的第一目标数据表。
基于此,为了使第一数据库和第二数据库的表数量和表结构均相同,在一些实施例中,还可以包括:
在表数量和表结构不完全相同的情况下,调整第二数据库对应的表数量和表结构,以使表数量和表结构均相同。
这里,若第二数据库中的表数量少于第一数据库的表数量,则可以确定在第二数据库中缺少的目标表,进而可以在第二数据库中直接创建该目标表。若第二数据库中目标表与第一数据库中目标表的表结构不完全相同,则可以通过alter语句对第二数据库中目标表的表结构进行变更,以使第二数据库中目标表与第一数据库中目标表的表结构完全相同。若第一数据库中目标表的表结构发生变更,则可以通过alter语句对第二数据库中对应目标表的表结构进行表更,以使第二数据库中目标表与第一数据库中目标表的表结构完全相同。其中,目标表可以是根据预先配置信息获取的全量(或指定)表。
这样,通过调整第二数据库对应的表数量和表结构,能够使第一数据库和第二数据库的表数量和表结构均相同。
另外,在S120中,目标周期可以是预先设置的某个时间段。第一目标数据表可以为一个,也可以为多个,在此不做限定。
基于此,为了确定第一数据库中在目标周期内发生数据变更的第一目标数据表,在一些实施例中,上述S120具体可以包括:
从与第一数据库对应的系统数据库中获取第一配置表,第一配置表中存储有第一数据库中每个数据表对应的更新时间;
基于第一配置表,确定第一数据库中满足第一预设条件的数据表为第一目标数据表,其中,第一预设条件为更新时间在目标周期内。
这里,若第一数据库为MySQL数据库,则第一数据库对应的系统数据库可以为Information_schema数据库,第一配置表可以为TABLES表,TABLES表中可以包括update_time字段。基于此,第一数据库中每个数据表对应的更新时间可以为TABLES表中与update_time字段对应的值。
如此,若第一数据库中的数据表为第一数据表,则基于TABLES表中的update_time字段,可以将TABLES表中更新时间在目标周期内的第一数据表确定为第一目标数据表。
这样,通过基于第一配置表,能够确定第一数据库中在目标周期内发生数据变更的第一目标数据表。
在一些实施例中,在S130中,目标数据可以为在目标周期内第一目标数据表中新增的数据,可以为发生部分变更的数据,也可以为删除的数据。目标数据可以为一个,也可以为多个,在此不做限定。
基于此,为了从第一目标数据表中获取目标周期内发生数据变更的目标数据,在一些实施例中,上述S130具体可以包括:
从系统数据库中获取与第一目标数据表对应的第二配置表,第二配置表中存储有第一目标数据表中包含的字段与字段类型之间的对应关系;
基于对应关系,从第二配置表中确定满足第二预设条件的字段为目标字段,其中,第二预设条件为字段类型为时间类型;
基于目标字段的值,从第一目标数据表中获取满足第三预设条件的目标数据,其中,第三预设条件为目标字段的值在目标周期内。
这里,若第一数据库对应的系统数据库为Information_schema数据库,则第二配置表可以为COLUMNS表。每个第一目标数据表可以对应一个COLUMNS表,COLUMNS表中可以包括Data_Type字段。Data_Type字段对应的值可以是第一目标数据表中每个字段分别对应的字段类型。
如此,基于COLUMNS表中的Data_Type字段,可以确定第一目标数据表中字段类型为时间类型的字段为目标字段。其中,时间类型的字段例如可以为datetime字段或timestamp字段。
基于此,通过监控第一目标数据表中的目标字段,可以获取目标字段的值在周期内的目标数据。
另外,若第一目标数据表中不包括目标字段,则可以获取第一目标数据表中的所有数据。
这样,通过基于第二配置表和目标字段的值,能够从第一目标数据表中获取目标周期内发生数据变更的目标数据。
在一些实施例中,在S140中,若第一目标数据表与第二目标数据表对应,则第一目标数据表的表结构和第二目标数据表的表结构可以完全相同。
作为一种示例,将目标数据同步至第二目标数据表可以是将新增数据插入至第二目标数据表中,可以是将变更数据在第二目标数据表中同步更新,也可以是将已删除数据在第二目标数据表中删除。
基于此,为了将目标数据同步至第二目标数据表,在一些实施例中,上述S140具体可以包括:
提取第一目标数据表中的目标数据;
将目标数据插入至第二目标数据表中。
这里,在目标数据为新增数据的情况下,通过select语句可以提取第一目标数据表中的目标数据,以及通过insert on duplicate key update语句可以将目标数据插入至第二目标数据表中。
这样,在目标数据为新增数据的情况下,通过将目标数据插入至第二目标数据表中,能够将目标数据同步至第二目标数据表。
为了灵活获取目标数据,以及提高数据同步的效率,作为本申请的另一种实现方式,本申请还提供了数据同步方法的另一种实现方式,具体参见以下实施例。
请参见图2,本申请实施例提供的数据同步方法在上述实施例所示的S120之前,还可以包括以下步骤:
S210、接收用户用于确定待同步表的第一输入;
S220、响应于第一输入,确定第一数据库中的待同步表;
基于此,S120具体可以包括:
S121、在表数量和表结构均相同的情况下,确定待同步表中在目标周期内发生数据变更的第一目标数据表。
这里,待同步表可以是在第一数据库中,用户预先设置的需要进行同步的数据表。基于此,第一目标数据表可以是待同步表中的数据表。
作为一种示例,若第一数据库中包括10个数据表,而用户只选择其中5个数据表为待同步表,则另外5个数据表即使发生了数据变更,也可以不是第一目标数据表。
作为另一种示例,用户可以在前端界面选择待同步表的范围。当然,待同步表也可以是第一数据库中的全部数据表。具体的,前端界面中可以反显第一数据库中的表信息,以及以勾选框的方式供用户选择待同步表的范围。
这样,本申请实施例通过接收用户用于确定待同步表的第一输入,进而在待同步表中确定第一目标数据表,能够灵活获取目标数据,以及提高数据同步的效率。
除此之外,本申请实施例中方法的其它步骤可参见上文图1所示实施例的相关描述,此处不做过多赘述。
为了增加获取目标数据的灵活性,以及提高数据同步的效率,作为本申请的另一种实现方式,本申请还提供了数据同步方法的另一种实现方式,具体参见以下实施例。
请参见图3,本申请实施例提供的数据同步方法在上述实施例所示的S120之前,还可以包括以下步骤:
S310、接收用户用于确定目标周期的第二输入;
S320、响应于第二输入,确定目标周期。
这里,目标周期可以是某月、某周、某日或某小时等,在此不做限定。
作为一种示例,用户可以在前端界面选择目标周期。具体的,前端界面中可以反显第一数据库中的表信息,以及以勾选框的方式供用户选择目标周期。
作为另一种示例,由于目标周期与数据同步的频次相关,因此,用户可以在前端界面选择同步频次,其中,同步频次可以为月、周、日、小时等。具体的,前端界面中可以反显第一数据库中的表信息,以及以勾选框的方式供用户选择同步频次。
这样,本申请实施例通过接收用户用于确定目标周期的第二输入,进而基于目标周期获取目标数据,能够增加获取目标数据的灵活性,以及提高数据同步的效率。
除此之外,本申请实施例中方法的其它步骤可参见上文图1所示实施例的相关描述,此处不做过多赘述。
为了更好地描述整个方案,基于上述各实施例,举一些具体例子。
例如,上述数据同步的方式可以通过监控Mysql的表结构库来实现数据自动化增量同步,具体步骤可以如下:
S41、通过Python程序可以连接第一数据库和第二数据库,进而根据预先配置信息可以获取两数据库的全量(或指定)表结构,以及确定表数量、表结构的差异。若第二数据库中不存在第一数据库中的目标表,则可以在第二数据库中直接创建目标表;若第一数据库中目标表的表结构发生变更,则可以通过alter语句对第二数据库中对应目标表的表结构进行表更。其中,目标表可以是根据预先配置信息获取的全量(或指定)表。
S42、通过监控第一数据库对应的Information_schema中TABLES表的update_time字段,可以在选定范围表内(全量或指定)获取目标周期内发生数据变更的第一目标数据表。
S43、在information_schema中,确定与第一目标数据表对应的COLUMNS表,根据COLUMNS表中的Data_Type字段可以确定时间类型的字段为目标字段。通过监控第一目标数据表中的目标字段可以获取在目标周期内发生数据变更的目标数据。
S44、批量构造针对目标数据的提取(select)SQL和插入更新(insert onduplicate key update)SQL,可以实现第二数据库和第一数据库的数据同步。
如此,只需保证第一数据库和第二数据库的表数量和表结构相同即可进行数据同步,能够降低数据同步的难度。另外,通过确定第一数据库中在目标周期内发生数据变更的第一目标数据表,以及从第一目标数据表中获取目标周期内发生数据变更的目标数据,能够精准获取在目标周期内发生数据变更的目标数据。基于此,通过将目标数据同步至第二数据库,能够提高数据同步的效率。
基于上述实施例提供的数据同步方法,相应地,本申请还提供了数据同步装置的具体实现方式。请参见以下实施例。
如图4所示,本申请实施例提供的数据同步装置400包括以下模块:
第一获取模块410,用于获取第一数据库和第二数据库分别对应的表数量和表结构;
第一确定模块420,用于在表数量和表结构均相同的情况下,确定第一数据库中在目标周期内发生数据变更的第一目标数据表;
第二获取模块430,用于从第一目标数据表中获取目标周期内发生数据变更的目标数据;
同步模块440,用于将目标数据同步至第二目标数据表,第二目标数据表为第二数据库中与第一目标数据表对应的数据表。
下面对上述数据同步装置400进行详细说明,具体如下所示:
在其中一些实施例中,第一确定模块420具体可以包括:
第一获取子模块,用于从与第一数据库对应的系统数据库中获取第一配置表,第一配置表中存储有第一数据库中每个数据表对应的更新时间;
第一确定子模块,用于基于第一配置表,确定第一数据库中满足第一预设条件的数据表为第一目标数据表,其中,第一预设条件为更新时间在目标周期内。
在其中一些实施例中,第二获取模块430具体可以包括:
第二获取子模块,用于从系统数据库中获取与第一目标数据表对应的第二配置表,第二配置表中存储有第一目标数据表中包含的字段与字段类型之间的对应关系;
第二确定子模块,用于基于对应关系,从第二配置表中确定满足第二预设条件的字段为目标字段,其中,第二预设条件为字段类型为时间类型;
第三获取子模块,用于基于目标字段的值,从第一目标数据表中获取满足第三预设条件的目标数据,其中,第三预设条件为目标字段的值在目标周期内。
在其中一些实施例中,同步模块440具体可以包括:
提取子模块,用于提取第一目标数据表中的目标数据;
插入子模块,用于将目标数据插入至第二目标数据表中。
在其中一些实施例中,数据同步装置400还可以包括:
第一接收模块,用于在确定第一数据库中在目标周期内发生数据变更的第一目标数据表之前,接收用户用于确定待同步表的第一输入;
第二确定模块,用于响应于第一输入,确定第一数据库中的待同步表;
基于此,第一确定模块420具体可以包括:
第三确定子模块,用于在表数量和表结构均相同的情况下,确定待同步表中在目标周期内发生数据变更的第一目标数据表。
在其中一些实施例中,数据同步装置400还可以包括:
第二接收模块,用于在确定第一数据库中在目标周期内发生数据变更的第一目标数据表之前,接收用户用于确定目标周期的第二输入;
第三确定模块,用于响应于第二输入,确定目标周期。
在其中一些实施例中,数据同步装置400还可以包括:
调整模块,用于在表数量和表结构不完全相同的情况下,调整第二数据库对应的表数量和表结构,以使表数量和表结构均相同。
本申请实施例的数据同步装置通过确定第一数据库中在目标周期内发生数据变更的第一目标数据表,以及从第一目标数据表中获取目标周期内发生数据变更的目标数据,能够精准获取在目标周期内发生数据变更的目标数据。基于此,通过将目标数据同步至第二数据库,能够提高数据同步的效率。另外,在数据同步之前,只需保证第一数据库和第二数据库的表数量和表结构相同即可,如此,能够降低数据同步的难度。
基于上述实施例提供的数据同步方法,本申请实施例还提供了电子设备的具体实施方式。图5示出了本申请实施例提供的电子设备500示意图。
电子设备500可以包括处理器510以及存储有计算机程序指令的存储器520。
具体地,上述处理器510可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器520可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器520可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器520可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器520可在综合网关容灾设备的内部或外部。在特定实施例中,存储器520是非易失性固态存储器。
存储器可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本申请的一方面的方法所描述的操作。
处理器510通过读取并执行存储器520中存储的计算机程序指令,以实现上述实施例中的任意一种数据同步方法。
在一个示例中,电子设备500还可包括通信接口530和总线540。其中,如图5所示,处理器510、存储器520、通信接口530通过总线540连接并完成相互间的通信。
通信接口530,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
总线540包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线540可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
示例性的,电子设备500可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等。
该电子设备可以执行本申请实施例中的数据同步方法,从而实现结合图1至图4描述的数据同步方法和装置。
另外,结合上述实施例中的数据同步方法,本申请实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种数据同步方法。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本申请的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。

Claims (11)

1.一种数据同步方法,其特征在于,包括:
获取第一数据库和第二数据库分别对应的表数量和表结构;
在所述表数量和所述表结构均相同的情况下,确定所述第一数据库中在目标周期内发生数据变更的第一目标数据表;
从所述第一目标数据表中获取所述目标周期内发生数据变更的目标数据;
将所述目标数据同步至第二目标数据表,所述第二目标数据表为所述第二数据库中与所述第一目标数据表对应的数据表。
2.根据权利要求1所述的方法,其特征在于,所述确定所述第一数据库中在目标周期内发生数据变更的第一目标数据表,包括:
从与所述第一数据库对应的系统数据库中获取第一配置表,所述第一配置表中存储有所述第一数据库中每个数据表对应的更新时间;
基于所述第一配置表,确定所述第一数据库中满足第一预设条件的数据表为所述第一目标数据表,其中,所述第一预设条件为所述更新时间在所述目标周期内。
3.根据权利要求2所述的方法,其特征在于,所述从所述第一目标数据表中获取所述目标周期内发生数据变更的目标数据,包括:
从所述系统数据库中获取与所述第一目标数据表对应的第二配置表,所述第二配置表中存储有所述第一目标数据表中包含的字段与字段类型之间的对应关系;
基于所述对应关系,从所述第二配置表中确定满足第二预设条件的所述字段为目标字段,其中,所述第二预设条件为所述字段类型为时间类型;
基于所述目标字段的值,从所述第一目标数据表中获取满足第三预设条件的所述目标数据,其中,所述第三预设条件为所述目标字段的值在所述目标周期内。
4.根据权利要求1所述的方法,其特征在于,所述将所述目标数据同步至第二目标数据表,包括:
提取所述第一目标数据表中的所述目标数据;
将所述目标数据插入至所述第二目标数据表中。
5.根据权利要求1所述的方法,其特征在于,所述确定所述第一数据库中在目标周期内发生数据变更的第一目标数据表之前,所述方法还包括:
接收用户用于确定待同步表的第一输入;
响应于所述第一输入,确定所述第一数据库中的待同步表;
所述在所述表数量和所述表结构均相同的情况下,确定所述第一数据库中在目标周期内发生数据变更的第一目标数据表,包括:
在所述表数量和所述表结构均相同的情况下,确定所述待同步表中在目标周期内发生数据变更的第一目标数据表。
6.根据权利要求1所述的方法,其特征在于,所述确定所述第一数据库中在目标周期内发生数据变更的第一目标数据表之前,所述方法还包括:
接收用户用于确定目标周期的第二输入;
响应于所述第二输入,确定目标周期。
7.根据权利要求1所述的方法,其特征在于,还包括:
在所述表数量和所述表结构不完全相同的情况下,调整所述第二数据库对应的表数量和表结构,以使所述表数量和所述表结构均相同。
8.一种数据同步装置,其特征在于,所述装置包括:
第一获取模块,用于获取第一数据库和第二数据库分别对应的表数量和表结构;
第一确定模块,用于在所述表数量和所述表结构均相同的情况下,确定所述第一数据库中在目标周期内发生数据变更的第一目标数据表;
第二获取模块,用于从所述第一目标数据表中获取所述目标周期内发生数据变更的目标数据;
同步模块,用于将所述目标数据同步至第二目标数据表,所述第二目标数据表为所述第二数据库中与所述第一目标数据表对应的数据表。
9.一种电子设备,其特征在于,所述电子设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-7任意一项所述的数据同步方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-7任意一项所述的数据同步方法。
11.一种计算机程序产品,其特征在于,所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如权利要求1-7任意一项所述的数据同步方法。
CN202211093456.8A 2022-09-08 2022-09-08 数据同步方法、装置、设备及计算机可读存储介质 Pending CN115587143A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211093456.8A CN115587143A (zh) 2022-09-08 2022-09-08 数据同步方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211093456.8A CN115587143A (zh) 2022-09-08 2022-09-08 数据同步方法、装置、设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN115587143A true CN115587143A (zh) 2023-01-10

Family

ID=84771698

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211093456.8A Pending CN115587143A (zh) 2022-09-08 2022-09-08 数据同步方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN115587143A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116701543A (zh) * 2023-08-03 2023-09-05 深圳前海环融联易信息科技服务有限公司 数据管理方法、装置、计算机设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116701543A (zh) * 2023-08-03 2023-09-05 深圳前海环融联易信息科技服务有限公司 数据管理方法、装置、计算机设备及存储介质
CN116701543B (zh) * 2023-08-03 2024-01-19 深圳前海环融联易信息科技服务有限公司 数据管理方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN108090198B (zh) 图数据库创建及数据加载方法、设备及介质
CN115587143A (zh) 数据同步方法、装置、设备及计算机可读存储介质
CN114036147A (zh) 数据仓库构建方法、装置、设备及存储介质
CN114676161A (zh) 一种数据处理方法、装置、设备及存储介质
CN117216036A (zh) 数据迁移方法及其系统、设备、介质、产品
CN115965296A (zh) 考核数据的处理方法、装置、设备、产品及可读存储介质
CN114647496A (zh) 指标核对方法、装置、设备及计算机可读存储介质
CN115604076A (zh) 信息处理方法、装置、设备及计算机可读存储介质
CN114817750A (zh) 信息处理方法、装置、设备、介质及产品
CN114677211A (zh) 信贷参数的更新方法、装置、电子设备、介质和程序产品
CN114372072A (zh) 数据存储方法、装置、设备、计算机存储介质及程序产品
CN112328595A (zh) 一种数据查找方法、装置、设备及存储介质
CN116775673A (zh) 多数据源的数据整合方法及其装置、设备、介质、产品
CN115204677A (zh) 信息确定方法、装置、设备及计算机可读存储介质
CN114895959B (zh) 数据处理方法、装置、设备及计算机存储介质
CN115033534A (zh) 文件处理方法、装置、设备及计算机可读存储介质
CN115374069A (zh) 数据保存和读取的方法、装置
CN115544077A (zh) 数据确定方法、装置、设备及计算机存储介质
CN116306525A (zh) 数据填报方法、装置、电子设备和存储介质
CN115510823A (zh) 表头合并方法、装置、设备、介质及程序产品
CN114185944A (zh) 数据处理方法、装置、电子设备、介质和计算机程序产品
CN115906189A (zh) 模型验证方法、装置、设备及计算机可读存储介质
CN116303496A (zh) 拉链表的更新方法、装置、设备及计算机存储介质
CN117011069A (zh) 产品的特征确定方法、装置、设备、存储介质及程序产品
CN114637795A (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