CN111427951A - 数据同步方法、装置、计算机设备及存储介质 - Google Patents
数据同步方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111427951A CN111427951A CN202010123796.5A CN202010123796A CN111427951A CN 111427951 A CN111427951 A CN 111427951A CN 202010123796 A CN202010123796 A CN 202010123796A CN 111427951 A CN111427951 A CN 111427951A
- Authority
- CN
- China
- Prior art keywords
- server
- data table
- information
- target data
- configuration information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000004590 computer program Methods 0.000 claims description 18
- 230000001360 synchronised effect Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种数据同步方法、装置、计算机设备及存储介质。该方法属于大数据技术领域,首先基于建立的第一预设连接获取源数据表的元数据信息,再基于第二预设连接并根据元数据信息建立目标数据表,最后通过预设指令可实现将第一服务器中的数据同步到第二服务器,整个同步过程无需手动创建目标数据表和写入预设指令。本申请实施例可提高数据同步的效率。
Description
技术领域
本发明涉及大数据技术领域,尤其涉及一种数据同步方法、装置、计算机设备及存储介质。
背景技术
现有的关系数据库中的数据同步到大数据集群中,先要在大数据集群中手动创建对应txtfile格式的接收表,再通过Sqoop导入指令将关系数据库中的数据同步到大数据集群中。如果是将大数据集群中的数据同步到关系数据库,就先要在关系数据库中手动创建txtfile格式的接收表,再通过Sqoop的导出指令将大数据集群中的数据同步到关系数据库中。
在上述的数据同步过程中,无论是将关系数据库中的数据同步到大数据集群还是将大数据集群中的数据同步到关系数据库中,都先要手动创建txtfile格式的接收表,同时还需写入Sqoop指令,这使得数据同步的效率不高。
发明内容
本发明实施例提供了一种数据同步方法、装置、计算机设备及存储介质,旨在提高数据同步的效率。
第一方面,本发明实施例提供了一种数据同步方法,应用于一第一服务器,将所述第一服务器中的数据同步到一第二服务器,该方法包括:
获取第一界面配置信息,根据所述第一界面配置信息查询预配置的配置文件,以获取所述配置文件中与所述第一服务器对应的第一配置信息,根据所述第一配置信息建立第一预设连接;
基于所述第一预设连接并根据所述配置文件的第一配置信息查询源数据表并获取所述源数据表的元数据信息;
获取第二界面配置信息,根据所述第二界面配置信息查询预配置的所述配置文件,以获取所述配置文件中与所述第二服务器对应的第二配置信息,根据所述第二配置信息建立第二预设连接;
基于所述第二预设连接并根据所述元数据信息确定所述第二服务器中的目标数据表;
通过预设指令将所述源数据表上的数据同步到所述目标数据表,以使所述第一服务器中的数据同步到所述第二服务器。
第二方面,本发明实施例还提供了一种数据同步装置,其包括:
第一建立单元,用于获取第一界面配置信息,根据所述第一界面配置信息查询预配置的配置文件,以获取所述配置文件中与所述第一服务器对应的第一配置信息,根据所述第一配置信息建立第一预设连接;
获取单元,用于基于所述第一预设连接并根据所述配置文件的第一配置信息查询源数据表并获取所述源数据表的元数据信息;第二建立单元,用于获取第二界面配置信息,根据所述第二界面配置信息查询预配置的所述配置文件,以获取所述配置文件中与所述第二服务器对应的第二配置信息,根据所述第二配置信息建立第二预设连接;
确定单元,用于基于所述第二预设连接并根据所述元数据信息确定所述第二服务器中的目标数据表;
同步单元,用于通过预设指令将所述源数据表上的数据同步到所述目标数据表,以使所述第一服务器中的数据同步到所述第二服务器。
第三方面,本发明实施例还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的数据同步方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现上述第一方面所述的数据同步方法。
本发明实施例提供了一种数据同步方法、装置、计算机设备及存储介质。其中,所述方法包括:获取第一界面配置信息,根据所述第一界面配置信息查询预配置的配置文件,以获取所述配置文件中与所述第一服务器对应的第一配置信息,根据所述第二配置信息建立第一预设连接;基于所述第一预设连接并根据所述配置文件的配置信息查询源数据表并获取所述源数据表的元数据信息;获取第二界面配置信息,根据所述第二界面配置信息查询预配置的所述配置文件,以获取所述配置文件中与所述第二服务器对应的第二配置信息,根据所述第二配置信息建立第二预设连接;基于所述第二预设连接并根据所述元数据信息确定所述第二服务器中的目标数据表;通过预设指令将所述源数据表上的数据同步到所述目标数据表,以使所述第一服务器中的数据同步到所述第二服务器。本发明实施例的技术方案,首先基于建立的第一预设连接获取源数据表的元数据信息,再基于第二预设连接并根据元数据信息建立目标数据表,最后通过预设指令可实现将第一服务器中的数据同步到第二服务器,整个同步过程无需手动创建目标数据表和写入预设指令,在一定程度上提高了数据同步的效率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据同步方法的流程示意图;
图2为本发明实施例提供的一种数据同步方法的子流程示意图;
图3为本发明实施例提供的一种数据同步方法的子流程示意图;
图4为本发明实施例提供的一种数据同步装置的示意性框图;
图5为本发明实施例提供的数据同步装置的第一建立单元的示意性框图;
图6为本发明实施例提供的数据同步装置的确定单元的示意性框图;以及
图7为本发明实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
请参阅图1,图1是本发明实施例提供的数据同步方法的流程示意图。本发明实施例的数据同步方法应用于服务器,该服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。在本发明实施例中,以第一服务器为关系数据库服务器、第二服务器为大数据集群为例进行说明,本发明实施例可通过安装于所述关系数据库服务器上的软件例如下文所提及的Sqoop数据同步工具来实现所述数据同步方法,以提高数据同步的效率。下面以所述数据同步方法应用于关系数据库为例对所述方法进行详细说明。如图1所示,该方法包括以下步骤S1-S5。
S1、获取第一界面配置信息,根据所述第一界面配置信息查询预配置的配置文件,以获取所述配置文件中与所述第一服务器对应的第一配置信息,根据所述第一配置信息建立第一预设连接。
本发明实施例中,是通过开发的Sqoop数据同步工具将关系数据库中的数据同步到大数据集群。在将关系数据库中的数据同步到大数据集群之前,首先需要根据获取的第一界面配置信息查询预配置的配置文件并从配置文件中获取与第一服务器相对应的第一配置信息,根据第一配置信息建立第一预设连接。其中,所述第一预设连接例如为JDBC连接(Java DataBase Connectivity,java 数据库连接),JDBC连接是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库间进行数据传递。关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据,同时也是一个被组织成一组拥有正式描述性的表格,该形式的表格作用的实质是装载着数据项的特殊收集体,这些表格中的数据能以许多不同的方式被存取或重新召集而不需要重新组织数据库表格。在本发明实施例中,关系数据库包括Oracle、DB2、SQLserver、MySQL等数据库。可理解地,也可以为其他形式的关系数据库,本发明对此不进行特殊限定。
在某些实施例,例如本实施例中,如图2所示,所述步骤S1可包括步骤 S11-S13。
S11、获取第一界面配置信息,根据所述第一界面配置信息查询预配置的第一配置文件,以从所述第一配置文件中获取第一连接信息及第二配置文件的预设连接别名。
在本发明实施例中,配置文件包括第一配置文件和第二配置文件。第一界面配置信息包括用户通过Sqoop数据同步工具界面所进行选择的schema别名。第一配置文件为schema配置表,schema配置表中记录的db信息、数据库连接表的连接别名等配置信息。第一连接信息为schema配置表中记录的db信息。第二配置文件为数据库连接表,数据库连接表中记录了连接信息,连接信息包括连接类型、连接串、数据库IP地址等连接信息。具体地,通过获取用户基于 Sqoop数据同步工具界面所选择的schema别名可在关系数据库中查询得到 schema配置表,进而读取schema配置表中的信息。在schema配置表中因记录了数据库连接表的连接别名,因此通过schema别名查询得到的schema配置表可获取数据库连接表的连接别名。
需要说明的是,在本发明实施例中,schema配置表和数据库连接表均仅有一个,在其它实施例中,schema配置表和数据库连接表也可有多个,在此不做要求。
S12、根据所述预设连接别名查询预配置的所述第二配置文件,以获取所述第二配置文件中配置的第二连接信息。
在本发明实施例中,在获取所述第一配置文件中的第二配置文件的预设连接别名后,根据预设的连接别名可查询预配置的第二配置文件,以获取第二配置文件中的连接信息。具体地,在获取schema配置表中数据库连接表的别名后,可查询到数据库连接表,进而获取数据库连接表中配置的连接信息。
S13、根据所述第一连接信息和所述第二连接信息建立第一预设连接。
在本发明实施例中,在获取第一配置文件中的第一连接信息及第二配置文件中的第二连接信息之后,根据第一连接信息和第二连接信息建立第一预设连接。其中,第一预设连接为JDBC连接。具体地,根据schema配置表中的db 信息和数据库连接表中的连接信息建立JDBC连接。
需要说明的是,在本发明实施例中,所有建立的JDBC连接均基于schema 配置表和数据库连接表。
S2、基于所述第一预设连接并根据所述配置文件的配置信息查询源数据表并获取所述源数据表的元数据信息。
本发明实施例中,根据第一配置信息建立第一预设连接之后,基于所建立的第一预设连接并根据配置文件的配置信息查询源数据表并获取源数据表的元数据信息。其中,源数据表为将第一服务器中的需要同步到第二服务器的表。在具体实施中,用户通过操作Sqoop数据同步工具在界面中选择的需要同步的表。第一配置信息为源数据表的表名。元数据信息是指源数据表中的描述信息,包括表名,表字段,字段顺序,字段类型,字段描述等信息。具体地,是根据 schema配置表中的db信息和数据库连接表中的连接信息建立JDBC连接,基于建立的JDBC连接之后获取源数据表中的元数据信息。
S3、获取第二界面配置信息,根据所述第二界面配置信息查询预配置的所述配置文件,以获取所述配置文件中与所述第二服务器对应的第二配置信息,根据所述第二配置信息建立第二预设连接。
本发明实施例中,第二界面配置信息包括用户通过Sqoop数据同步工具界面所进行选择的大数据集群名,根据大数据集群名可查询schema配置表并获取 schema配置表中的db信息。因schema配置表中记录了数据库连接表的别名,所以可通过数据库连接表的别名查询数据库连接表并获取数据库连接表中的连接信息,基于获取的连接信息即可建立第二预设连接,第二预设连接也为JDBC 连接,进而确定大数据集群中的目标数据表。可理解地,第二预设连接的建立与第一预设连接的建立过程类似,为了描述简便,在此不再赘述建立第二预设的过程。
需要说明的是,虽然第一连接和第二连接均为JDBC连接,但第一预设连接是在关系数据库服务器端建立的,建立第一预设连接时需要将schema配置表中的db信息和数据库表中的连接信息进行拼接。而第二预设连接是在大数据集群端建立的,建立第二预设连接时不需将schema配置表中的db信息和数据库连接表中的连接信息进行拼接,只需根据数据库连接表中的信息即可建立JDBC 连接。
S4、基于所述第二预设连接并根据所述元数据信息确定所述第二服务器中的目标数据表。
在本发明实施例中,基于第二预设连接并根据元数据信息可确定第二服务器中的目标数据表。即基于在大数据集群端建立的JDBC连接可确定大数据集群中的目标数据表。
在某些实施例,例如本实施例中,如图3所示,所述步骤S4可包括步骤 S41-S46。
S41、判断所述第二服务器中是否存在目标数据表,若所述第二服务器中未存在所述目标数据表则执行步骤S42,否则执行步骤S43。
S42、根据所述元数据信息在所述第二服务器中创建所述目标数据表。
S43、判断所述元数据信息与所述目标数据表的结构是否一致,若所述元数据信息与所述目标数据表的结构一致,则执行步骤S5,否则执行步骤S44。
在本发明实施例中,根据配置信息获取源数据表的元数据信息之后,还需确定大数据集群中的目标数据表。具体地,首先,判断大数据集群中是否存在目标数据表,若大数据集群中未存在目标数据表,则根据元数据信息在大数据集群中创建目标数据表。若大数据集群中存在目标数据表,则判断元数据信息与目标数据表的结构是否一致,具体地,是判断元数据信息与目标数据表中的表名,表字段,字段顺序,字段类型等信息是否一致。例如,假设源数据表的表名为DATA1,字段包括字段1、字段2以及字段3,且均为整型,目标数据表的表名为DATA1,字段包括字段1和字段2,且均为整型,则表明源数据表和目标数据表的的结构不一致。若元数据信息与目标数据表的结构一致,则表明大数据集群中已存在目标数据表,且该目标数据表满足接收源数据表中数据的要求,则执行步骤S5。若元数据信息与目标数据表的结构不一致,则执行步骤 S44。
需要说明的是,在本实施例中是通过执行相应SQL语句创建目标数据表的,在其它实施例中,也可通过其它方式创建目标数据表。
S44、判断所述元数据信息与所述目标数据表的差异是由预设操作所产生,若所述元数据信息与所述目标数据表的差异是由预设操作所产生,则执行步骤 S45,否则执行步骤S46。
S45、根据所述元数据信息更新所述目标数据表。
S46、删除所述目标数据表并返回执行步骤S41。
在本发明实施例中,若所述元数据信息与所述目标数据表的结构不一致,则需判断所述元数据信息与所述目标数据表的结构变化是否为预设操作,若元数据信息与目标数据表的结构变化是预设操作,则根据元数据信息更新目标数据表;若元数据信息与目标数据表的结构变化不是预设操作,则删除目标数据表并返回执行步骤41。其中,预设操作为增加字段。若为预设操作,则可直接在目标数据表中增加字段达到更新目标数据表的目的。若元数据信息相比于目标数据表的结构不只是简单的增加字段,还存在其它操作,例如删除字段,造成字段错位的情况出现,则需删除目标数据表,重新创建目标数据表。
需要说明的是,在本发明实施例中,目标数据表为hive表,hive表是存在大数据集群的元数据库中的,而hive表的元数据信息是存在大数据集群的关系数据库中,hive表的schema配置表和数据库连接表是存在Sqoop数据同步工具的数据库中,通过hive表的schema配置表和数据库连接表可获得hive表的元数据库的JDBC连接,从而可查询目标数据表是否存在。
S5、通过预设指令将所述源数据表上的数据同步到所述目标数据表,以使所述第一服务器中的数据同步到所述第二服务器。
本发明实施例中,根据元数据信息在大数据集群确定目标数据表之后,还需通过预设指令将源数据表上的数据同步到目标数据表。其中,预设指令为 Sqoop同步指令。具体地,根据元数据信息在大数据集群创建目标接收表之后,通过生成的Sqoop同步指令并采用java远程ssh执行的方式将源数据表上的数据同步到目标数据表,从而实现将关系数据库中的数据同步到大数据集群。
需要说明的是,通过开发的Sqoop数据同步工具将关系数据库中的数据同步到大数据集群时,还支持批量导入操作。具体地,通过在Sqoop数据同步工具的界面批量输入多个源数据表,然后循环对批量源数据表进行操作即可实现数据的批量导入。
图4是本发明实施例提供的一种数据同步装置60的示意性框图。该装置包括用于执行上述关系数据库服务器的数据同步方法所对应的单元,该装置被配置于关系数据库服务器中。如图4所示,该数据同步装置60包括第一建立单元 61、获取单元62、第二建立单元63、确定单元64以及同步单元65。
其中,第一建立单元61用于获取第一界面配置信息,根据所述第一界面配置信息查询预配置的配置文件,以获取所述配置文件中与所述第一服务器对应的第一配置信息,根据所述第一配置信息建立第一预设连接;获取单元62用于基于所述第一预设连接并根据所述配置文件的配置信息查询源数据表并获取所述源数据表的元数据信息;第二建立单元63用于获取第二界面配置信息,根据所述第二界面配置信息查询预配置的所述配置文件,以获取所述配置文件中与所述第二服务器对应的第二配置信息,根据所述第二配置信息建立第二预设连接;确定单元64用于基于所述第二预设连接并根据所述元数据信息确定所述第二服务器中的目标数据表;同步单元65用于通过预设指令将所述源数据表上的数据同步到所述目标数据表,以使所述第一服务器中的数据同步到所述第二服务器。
在某些实施例,例如本实施例中,参见图5,所述第一建立单元61包括第一获取子单元611、第二获取子单元612以及第一建立子单元613。
其中,第一获取子单元611用于获取第一界面配置信息,根据所述第一界面配置信息查询预配置的第一配置文件,以从所述第一配置文件中获取第一连接信息及第二配置文件的预设连接别名;第二获取子单元612用于根据所述预设连接别名查询预配置的所述第二配置文件,以获取所述第二配置文件中配置的第二连接信息;第一建立子单元613用于根据所述第一连接信息和所述第二连接信息建立第一预设连接。
在某些实施例,例如本实施例中,参见图6,所述确定单元64包括第一判断单元641、创建单元642、第二判断单元643、第三判断单元644、更新单元 645以及删除单元646。
其中,第一判断单元641用于判断所述第二服务器中是否存在目标数据表;创建单元642用于若所述第二服务器中未存在所述目标数据表,则根据所述元数据信息在所述第二服务器中创建所述目标数据表;第二判断单元643用于若所述第二服务器中存在所述目标数据表,则判断所述元数据信息与所述目标数据表的结构是否一致;第三判断单元644用于若所述元数据信息与所述目标数据表的结构不一致,则判断所述元数据信息与所述目标数据表的差异是否由预设操作所产生;更新单元645用于若所述元数据信息与所述目标数据表的差异是由预设操作所产生,则根据所述元数据信息更新所述目标数据表;删除单元646用于若所述元数据信息与所述目标数据表的差异不是由预设操作所产生,则删除所述目标数据表并返回执行所述判断所述第二服务器中是否存在目标数据表的步骤。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述数据同步装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述数据同步装置可以实现为一种计算机程序的形式,该计算机程序可以在如图7所示的计算机设备上运行。
请参阅图7,图7是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备900为服务器,具体地,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图7,该计算机设备900包括通过系统总线901连接的处理器902、存储器和接口907,其中,存储器可以包括非易失性存储介质903和内存储器904。
该非易失性存储介质903可存储操作系统9031和计算机程序9032。该计算机程序9032被执行时,可使得处理器902执行一种数据同步方法。
该处理器902用于提供计算和控制能力,以支撑整个计算机设备900的运行。
该内存储器904为非易失性存储介质903中的计算机程序9032的运行提供环境,该计算机程序9032被处理器902执行时,可使得处理器902执行一种数据同步方法。
该接口905用于与其它设备进行通信。本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备900的限定,具体的计算机设备900可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器902用于运行存储在存储器中的计算机程序9032,以实现如下步骤:
获取第一界面配置信息,根据所述第一界面配置信息查询预配置的配置文件,以获取所述配置文件中与所述第一服务器对应的第一配置信息,根据所述第一配置信息建立第一预设连接;
基于所述第一预设连接并根据所述配置文件的第一配置信息查询源数据表并获取所述源数据表的元数据信息;
获取第二界面配置信息,根据所述第二界面配置信息查询预配置的所述配置文件,以获取所述配置文件中与所述第二服务器对应的第二配置信息,根据所述第二配置信息建立第二预设连接;
基于所述第二预设连接并根据所述元数据信息确定所述第二服务器中的目标数据表;
通过预设指令将所述源数据表上的数据同步到所述目标数据表,以使所述第一服务器中的数据同步到所述第二服务器。
在某些实施例,例如本实施例中,处理器902在实现所述获取第一界面配置信息,根据所述第一界面配置信息查询预配置的配置文件,以获取所述配置文件中与所述第一服务器对应的第一配置信息,根据所述第二配置信息建立第一预设连接步骤时,具体实现如下步骤:
获取第一界面配置信息,根据所述第一界面配置信息查询预配置的第一配置文件,以从所述第一配置文件中获取第一连接信息及第二配置文件的预设连接别名;
根据所述预设连接别名查询预配置的所述第二配置文件,以获取所述第二配置文件中配置的第二连接信息;
根据所述第一连接信息和所述第二连接信息建立第一预设连接。
在某些实施例,例如本实施例中,处理器902在实现所述基于所述第二预设连接并根据所述元数据信息确定所述第二服务器中的目标数据表步骤时,具体实现如下步骤:
判断所述第二服务器中是否存在目标数据表;
若所述第二服务器中未存在所述目标数据表,则根据所述元数据信息在所述第二服务器中创建所述目标数据表;
若所述第二服务器中存在所述目标数据表,则判断所述元数据信息与所述目标数据表的结构是否一致;
若所述元数据信息与所述目标数据表的结构不一致,则判断所述元数据信息与所述目标数据表的差异是否由预设操作所产生;
若所述元数据信息与所述目标数据表的差异是由预设操作所产生,则根据所述元数据信息更新所述目标数据表;
若所述元数据信息与所述目标数据表的差异不是由预设操作所产生,则删除所述目标数据表并返回执行所述判断所述第二服务器中是否存在目标数据表的步骤。
应当理解,在本申请实施例中,处理器902可以是中央处理单元(CentralProcessing Unit,CPU),该处理器902还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明实施例还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序。该计算机程序被处理器执行时使处理器执行如下步骤:
获取第一界面配置信息,根据所述第一界面配置信息查询预配置的配置文件,以获取所述配置文件中与所述第一服务器对应的第一配置信息,根据所述第一配置信息建立第一预设连接;
基于所述第一预设连接并根据所述配置文件的第一配置信息查询源数据表并获取所述源数据表的元数据信息;
获取第二界面配置信息,根据所述第二界面配置信息查询预配置的所述配置文件,以获取所述配置文件中与所述第二服务器对应的第二配置信息,根据所述第二配置信息建立第二预设连接;
基于所述第二预设连接并根据所述元数据信息确定所述第二服务器中的目标数据表;
通过预设指令将所述源数据表上的数据同步到所述目标数据表,以使所述第一服务器中的数据同步到所述第二服务器。
在某些实施例,例如本实施例中,所述获取第一界面配置信息,根据所述第一界面配置信息查询预配置的配置文件,以获取所述配置文件中与所述第一服务器对应的第一配置信息,根据所述第二配置信息建立第一预设连接步骤时,具体实现如下步骤:
获取第一界面配置信息,根据所述第一界面配置信息查询预配置的第一配置文件,以从所述第一配置文件中获取第一连接信息及第二配置文件的预设连接别名;
根据所述预设连接别名查询预配置的所述第二配置文件,以获取所述第二配置文件中配置的第二连接信息;
根据所述第一连接信息和所述第二连接信息建立第一预设连接。
在某些实施例,例如本实施例中,所述基于所述第二预设连接并根据所述元数据信息确定所述第二服务器中的目标数据表步骤时,具体实现如下步骤:
判断所述第二服务器中是否存在目标数据表;
若所述第二服务器中未存在所述目标数据表,则根据所述元数据信息在所述第二服务器中创建所述目标数据表;
若所述第二服务器中存在所述目标数据表,则判断所述元数据信息与所述目标数据表的结构是否一致;
若所述元数据信息与所述目标数据表的结构不一致,则判断所述元数据信息与所述目标数据表的差异是否由预设操作所产生;
若所述元数据信息与所述目标数据表的差异是由预设操作所产生,则根据所述元数据信息更新所述目标数据表;
若所述元数据信息与所述目标数据表的差异不是由预设操作所产生,则删除所述目标数据表并返回执行所述判断所述第二服务器中是否存在目标数据表的步骤。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等) 执行本发明各个实施例所述方法的全部或部分步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,尚且本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种数据同步方法,应用于一第一服务器,其特征在于,用于将所述第一服务器中的数据同步到一第二服务器,所述方法包括:
获取第一界面配置信息,根据所述第一界面配置信息查询预配置的配置文件,以获取所述配置文件中与所述第一服务器对应的第一配置信息,根据所述第一配置信息建立第一预设连接;
基于所述第一预设连接并根据所述配置文件的第一配置信息查询源数据表并获取所述源数据表的元数据信息;
获取第二界面配置信息,根据所述第二界面配置信息查询预配置的所述配置文件,以获取所述配置文件中与所述第二服务器对应的第二配置信息,根据所述第二配置信息建立第二预设连接;
基于所述第二预设连接并根据所述元数据信息确定所述第二服务器中的目标数据表;
通过预设指令将所述源数据表上的数据同步到所述目标数据表,以使所述第一服务器中的数据同步到所述第二服务器。
2.根据权利要求1所述的数据同步方法,其特征在于,所述配置文件包括第一配置文件和第二配置文件,所述获取第一界面配置信息,根据所述第一界面配置信息查询预配置的配置文件,以获取所述配置文件中与所述第一服务器对应的第一配置信息,根据所述第一配置信息建立第一预设连接,包括:
获取第一界面配置信息,根据所述第一界面配置信息查询预配置的第一配置文件,以从所述第一配置文件中获取第一连接信息及第二配置文件的预设连接别名;
根据所述预设连接别名查询预配置的所述第二配置文件,以获取所述第二配置文件中配置的第二连接信息;
根据所述第一连接信息和所述第二连接信息建立第一预设连接。
3.根据权利要求2所述的数据同步方法,其特征在于,所述第一配置文件为schema配置表,所述第二配置文件为数据库连接表。
4.根据权利要求1所述的数据同步方法,其特征在于,所述基于所述第二预设连接并根据所述元数据信息确定所述第二服务器中的目标数据表,包括:
判断所述第二服务器中是否存在目标数据表;
若所述第二服务器中未存在所述目标数据表,则根据所述元数据信息在所述第二服务器中创建所述目标数据表。
5.根据权利要求4所述的数据同步方法,其特征在于,所述判断所述第二服务器中是否存在目标数据表的步骤之后,还包括:
若所述第二服务器中存在所述目标数据表,则判断所述元数据信息与所述目标数据表的结构是否一致;
若所述元数据信息与所述目标数据表的结构不一致,则判断所述元数据信息与所述目标数据表的差异是否由预设操作所产生;
若所述元数据信息与所述目标数据表的差异是由预设操作所产生,则根据所述元数据信息更新所述目标数据表。
6.根据权利要求5所述的数据同步方法,其特征在于,所述判断所述元数据信息与所述目标数据表的差异是否由预设操作所产生步骤之后,还包括:
若所述元数据信息与所述目标数据表的差异不是由预设操作所产生,则删除所述目标数据表并返回执行所述判断所述第二服务器中是否存在目标数据表的步骤。
7.根据权利要求1-6任一项所述的数据同步方法,其特征在于,所述第一服务器为关系数据库服务器或大数据集群,所述第二服务器为关系数据库服务器或大数据集群。
8.一种数据同步装置,其特征在于,包括:
第一建立单元,用于获取第一界面配置信息,根据所述第一界面配置信息查询预配置的配置文件,以获取所述配置文件中与所述第一服务器对应的第一配置信息,根据所述第一配置信息建立第一预设连接;
获取单元,用于基于所述第一预设连接并根据所述配置文件的第一配置信息查询源数据表并获取所述源数据表的元数据信息;第二建立单元,用于获取第二界面配置信息,根据所述第二界面配置信息查询预配置的所述配置文件,以获取所述配置文件中与所述第二服务器对应的第二配置信息,根据所述第二配置信息建立第二预设连接;
确定单元,用于基于所述第二预设连接并根据所述元数据信息确定所述第二服务器中的目标数据表;
同步单元,用于通过预设指令将所述源数据表上的数据同步到所述目标数据表,以使所述第一服务器中的数据同步到所述第二服务器。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010123796.5A CN111427951A (zh) | 2020-02-27 | 2020-02-27 | 数据同步方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010123796.5A CN111427951A (zh) | 2020-02-27 | 2020-02-27 | 数据同步方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111427951A true CN111427951A (zh) | 2020-07-17 |
Family
ID=71547283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010123796.5A Pending CN111427951A (zh) | 2020-02-27 | 2020-02-27 | 数据同步方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111427951A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112035564A (zh) * | 2020-09-02 | 2020-12-04 | 中国银行股份有限公司 | 数据处理方法及装置、计算机设备及计算机可读存储介质 |
CN112579562A (zh) * | 2020-11-04 | 2021-03-30 | 国网辽宁省电力有限公司电力科学研究院 | 一种基于云平台的新能源数据建模与校验方法及系统 |
CN113486116A (zh) * | 2021-07-07 | 2021-10-08 | 建信金融科技有限责任公司 | 一种数据同步方法、装置、电子设备及计算机可读介质 |
CN113590593A (zh) * | 2021-08-04 | 2021-11-02 | 浙江大华技术股份有限公司 | 数据表信息的生成方法和装置、存储介质及电子装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109997125A (zh) * | 2016-09-15 | 2019-07-09 | 英国天然气控股有限公司 | 用于将数据导入数据储存库的系统 |
CN110457397A (zh) * | 2019-08-16 | 2019-11-15 | 深圳前海微众银行股份有限公司 | 一种数据同步的方法及装置 |
-
2020
- 2020-02-27 CN CN202010123796.5A patent/CN111427951A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109997125A (zh) * | 2016-09-15 | 2019-07-09 | 英国天然气控股有限公司 | 用于将数据导入数据储存库的系统 |
CN110457397A (zh) * | 2019-08-16 | 2019-11-15 | 深圳前海微众银行股份有限公司 | 一种数据同步的方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112035564A (zh) * | 2020-09-02 | 2020-12-04 | 中国银行股份有限公司 | 数据处理方法及装置、计算机设备及计算机可读存储介质 |
CN112035564B (zh) * | 2020-09-02 | 2023-09-19 | 中国银行股份有限公司 | 数据处理方法及装置、计算机设备及计算机可读存储介质 |
CN112579562A (zh) * | 2020-11-04 | 2021-03-30 | 国网辽宁省电力有限公司电力科学研究院 | 一种基于云平台的新能源数据建模与校验方法及系统 |
CN113486116A (zh) * | 2021-07-07 | 2021-10-08 | 建信金融科技有限责任公司 | 一种数据同步方法、装置、电子设备及计算机可读介质 |
CN113590593A (zh) * | 2021-08-04 | 2021-11-02 | 浙江大华技术股份有限公司 | 数据表信息的生成方法和装置、存储介质及电子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111427951A (zh) | 数据同步方法、装置、计算机设备及存储介质 | |
CN106874389B (zh) | 数据的迁移方法和装置 | |
WO2018219178A1 (zh) | 数据同步方法、装置、服务器及存储介质 | |
EP2047382B1 (en) | Two-way and multi-master synchronization over web syndications | |
US11921749B2 (en) | Synchronization adapter for synchronizing application data | |
CN111651424B (zh) | 一种数据处理方法、装置、数据节点及存储介质 | |
CN107368513B (zh) | 客户端数据库更新的方法及装置 | |
CN108415998B (zh) | 应用依赖关系更新方法、终端、设备及存储介质 | |
CN117238433B (zh) | 基于LibreOffice进行文档数据自动隔离的方法 | |
CN110737458A (zh) | 一种代码更新方法和相关装置 | |
CN113163023B (zh) | 一种域名管理方法、装置、介质和电子设备 | |
CN112559913B (zh) | 一种数据处理方法、装置、计算设备及可读存储介质 | |
CN108694172B (zh) | 信息输出方法和装置 | |
CN111752939A (zh) | 用于多个系统的数据处理方法、装置、计算机系统、介质 | |
CN111737228B (zh) | 数据库的分库分表方法及装置 | |
US10387887B2 (en) | Bloom filter driven data synchronization | |
CN110489483B (zh) | 数据同步方法、装置、计算机设备以及存储介质 | |
CN109165259B (zh) | 基于网络附属存储的索引表更新方法、处理器及存储装置 | |
CN112395284A (zh) | 数据处理方法、装置、数据库系统、电子设备及存储介质 | |
CN112100168A (zh) | 一种确定数据关联关系的方法和装置 | |
JP2002014860A (ja) | 複数データベースの同期化方法 | |
CN115840753A (zh) | 数据校验方法及电子设备 | |
CN110659281B (zh) | 基于Hive的数据处理方法、装置、计算机设备及存储介质 | |
CN114706772A (zh) | 安装环境检测方法、装置、设备及存储介质 | |
CN112948494A (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 |