同构数据库之间的数据处理方法、装置、设备及存储介质与流程

文档序号:33045255发布日期:2023-01-24 22:20阅读:42来源:国知局
同构数据库之间的数据处理方法、装置、设备及存储介质与流程

1.本发明涉及数据处理技术领域,尤其涉及同构数据库之间的数据处理方法、装置、设备及存储介质。


背景技术:

2.随着信息技术的深入发展,数据库在金融行业的应用也越来越广泛。相应的,对数据库的稳定性提出了至高要求,尤其在数据的容灾能力方面。
3.现有的基于磁盘复制或者网络附属存储(network attached storage,nas)优化异地数据同步方式的方法,虽然减少了数据库在异地切换过程中数据丢失的情况,但是依然不能避免系统内其他组件异常对于系统的影响。如果异地和本地的网络之间的时延较大,无法保证异地数据和本地数据的一致;如果本地数据库全部宕机或者故障,异地数据库为了正常对外提供服务,在接管本地数据库的业务时,会丢失一部数据,无法保证数据的同步。所以,现有的基于磁盘复制或者nas优化异地数据同步方式的方法对数据库系统的容灾能力没有本质的提升。如何提升数据库系统的容灾能力成为研究的重点。


技术实现要素:

4.本发明提供了一种同构数据库之间的数据处理方法、装置、设备及存储介质,以提高数据库的容灾能力。
5.根据本发明的一方面,提供了一种同构数据库之间的数据处理方法,包括:
6.在第二数据库切换到恢复模式的情况下,断开第二数据库与第一数据库之间的数据同步;第一数据库与第二数据库为同构数据库,在第一数据库为生产数据库的情况下,第二数据库为灾备数据库;
7.控制第二数据库应用预先从第一数据库同步的第二元数据,并将预先从第一数据库获取的第二gtm数据写入第二数据库的本地文件,且重启第二数据库中的第二gtm线程将第二gtm数据写入内存;
8.对第二数据库中的各第二数据节点进行一致性数据回滚。
9.根据本发明的另一方面,提供了一种同构数据库之间的数据处理装置,包括:
10.数据同步断开模块,用于在第二数据库切换到恢复模式的情况下,断开第二数据库与第一数据库之间的数据同步;第一数据库与第二数据库为同构数据库,在第一数据库为生产数据库的情况下,第二数据库为灾备数据库;
11.数据存储模块,用于控制第二数据库应用预先从第一数据库同步的第二元数据,并将预先从第一数据库获取的第二gtm数据写入第二数据库的本地文件,且重启第二数据库中的第二gtm线程将第二gtm数据写入内存;
12.数据回滚模块,用于对第二数据库中的各第二数据节点进行一致性数据回滚。
13.根据本发明的另一方面,提供了一种电子设备,包括:
14.至少一个处理器;以及
15.与至少一个处理器通信连接的存储器;其中,
16.存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器能够执行本发明任一实施例的同构数据库之间的数据处理方法。
17.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,计算机指令用于使处理器执行时实现本发明任一实施例的同构数据库之间的数据处理方法。
18.本发明实施例的技术方案,通过在第二数据库切换到恢复模式的情况下,断开第二数据库与第一数据库之间的数据同步;第一数据库与第二数据库为同构数据库,在第一数据库为生产数据库的情况下,第二数据库为灾备数据库;控制第二数据库应用预先从第一数据库同步的第二元数据,并将预先从第一数据库获取的第二gtm数据写入第二数据库的本地文件,且重启第二数据库中的第二gtm线程将第二gtm数据写入内存;对第二数据库中的各第二数据节点进行一致性数据回滚。上述技术方案,在第一数据库为生产数据库的情况下,将同构的第二数据库作为灾备数据库接入第一数据库,保证了数据的同源,实现了第二数据库与第一数据库之间的数据同步;在第二数据库切换到恢复模式的情况下,通过控制第二数据库应用第二元数据和第二gtm数据,并对各第二数据节点进行一致性回滚,保证了数据的一致性,进而提高了数据库系统的容灾能力。
19.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
20.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1a是本发明涉及的一种同构数据库系统的结构示意图;
22.图1b是根据本发明实施例一提供的一种同构数据库之间的数据处理方法的流程图;
23.图1c是根据本发明实施例一提供的一种第二数据库恢复模式的结构示意图;
24.图1d是根据本发明实施例一提供的另一种第二数据库恢复模式的结构示意图;
25.图2a是根据本发明实施例二提供的一种同构数据库之间的数据处理方法的流程图;
26.图2b是根据本发明实施例二提供的一种第二数据库服务模式的结构示意图;
27.图2c是根据本发明实施例二提供的一种第二数据库模式切换的流程图;
28.图3是根据本发明实施例三提供的一种同构数据库之间的数据处理装置的结构示意图;
29.图4是实现本发明实施例的同构数据库之间的数据处理方法的电子设备的结构示意图。
具体实施方式
30.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
31.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。本公开的技术方案中,所涉及的数据的收集、存储、使用、加工、传输、提供和公开等,均符合相关法律法规的规定,且不违背公序良俗。
32.为了便于理解,首先对本发明涉及的同构数据库系统进行说明。参见图1a所示的一种同构数据库系统,图中生产数据库可以是指可以正常对外提供服务的数据库;灾备数据库可以是指生产数据库的副本数据库,用于在生产数据库异常的情况下使用,灾备数据库可以有多个,为了便于说明图1a中只展示了其中一个灾备数据库,并不构成对本发明的限制;灾备数据库与生产数据库具有相同结构、相同模式以及相同功能,即灾备数据库与生产数据库为同构数据库。omm(operations maintenance and monitoring,运行维护和监控)是一种管理平台,用于提供数据库的管理流程和可视化展示等;rdb是关系数据库(relation database),用于临时存放元数据;manager(管理者)用于控制事务;proxy(代理)用于控制灾备数据库起服;gtm全局事务管理器(globale transaction manager),用于提供全局事务管理;db(database,数据库)节点用于应用同步的数据,至少有一个。dbi为第i个数据节点,i的取值为1,2,

,n,n为正整数。该同构数据库系统的数据同步包括元数据同步、gtm数据同步和数据节点数据同步;同时,该同构数据库系统还包括三种切换模式:同步模式、恢复模式和服务模式。其中,同步模式用于实现生产数据库和灾备数据库的数据同步;恢复模式用于将灾备数据库中从生产数据库同步来的数据进行应用;服务模式用于在生产数据库异常的情况下,让灾备数据库接管生产数据库的业务,以继续对外提供服务。该同构数据库系统比传统的两地三中心的数据库系统更加灵活。
33.实施例一
34.图1b为本发明实施例一提供的一种同构数据库之间的数据处理方法的流程图,本发明实施例可适用于同构数据库之间数据库同步和数据恢复的情况,该方法可以由同构数据库之间的数据处理装置来执行,该同构数据库之间的数据处理装置可以采用硬件和/或软件的形式实现,该同构数据库之间的数据处理装置可配置于电子设备中,该电子设备具体可以是同构数据库系统。如图1b所示,该同构数据库之间的数据处理方法,包括:
35.s101、在第二数据库切换到恢复模式的情况下,断开第二数据库与第一数据库之间的数据同步;第一数据库与第二数据库为同构数据库,在第一数据库为生产数据库的情况下,第二数据库为灾备数据库。
36.其中,第一数据库与第二数据库可以相互切换,如果第一数据库可以正常对外提供服务,则第一数据库为生产数据库,第二数据库为灾备数据库;如果第一数据库异常,不能对外提供服务,则第一数据库为灾备数据库,第二数据库为生产数据库。其中,第一数据库异常可以是由于火灾、水灾、地震或停电等突发情况引起的宕机,也可以是由于内组部件异常而引起的故障。数据同步可以包括元数据同步、gtm数据同步和数据节点数据同步。其中,元数据存储在rdb中。
37.示例性的,在第一数据库为生产数据库,第二数据库为灾备数据库的情况下,如果生产数据库异常,则将灾备数据库由同步模式切换到恢复模式,并断开生产数据库与灾备数据库之间的数据同步。参考图1c,断开生产数据库和灾备数据库之间的元数据同步,即断开生产数据库rdb与灾备数据库rdb的连接;断开gtm数据同步,即断开生产数据库gtm与灾备数据库gtm的连接;断开数据节点数据同步,即断开生产数据库与灾备数据库对应的db1到dbn的连接。
38.s102、控制第二数据库应用预先从第一数据库同步的第二元数据,并将预先从第一数据库获取的第二gtm数据写入第二数据库的本地文件,且重启第二数据库中的第二gtm线程将第二gtm数据写入内存。
39.其中,第二元数据是指从第一数据库同步到第二数据库的元数据,第二元数据可以包括数据表、数据字典、索引和账号密码等。第二gtm数据是指第二数据库从第一数据库gtm中同步来的数据。第二数据库的本地文件可以是指第二数据库中的数据文件或日志文件。第二gtm线程用于将第二gtm数据写入内存。
40.示例性的,如图1d所示,在第一数据库为生产数据库,第二数据库为灾备数据库的情况下,第二数据库与第一数据库之间进行数据同步时,将第一数据库rdb中的元数据和gtm中的数据同步到第二数据库中对应的rdb中和gtm中,从而得到第二元数据和第二gtm数据;在第二数据库处于恢复模式的情况下,控制第二数据库对第二元数据和第二gtm数据进行数据应用,并将第二gtm数据写入第二数据库的本地文件,且重新启动第二数据库的第二gtm线程将第二gtm数据写入内存。
41.此外,如图1d所示,第二数据库与第一数据库之间进行数据同步时,将第一数据库db1到dbn的数据同步到第二数据库中对应的第二元数据节点db1到dbn中;控制第二数据库对各第二元数据节点进行数据应用。其中,n为正整数。
42.可选的,第二gtm数据通过如下方式同步得到:将第一数据库中的第一gtm数据上传到第一数据库中第一分布式应用程序协调服务zookeeper上;控制第二数据库中的第二zookeeper从第一zookeeper上读取第一gtm数据,作为第二gtm数据。
43.其中,第一gtm数据可以是指第一数据库gtm中的数据。第一分布式应用程序协调服务zookeeper用于读取第一gtm数据;第二zookeeper用于从第一zookeeper上读取第一gtm数据。第一zookeeper与第一数据库的gtm和第二zookeeper连接;第二zookeeper还与第二数据库的gtm连接;第一数据库的gtm将第一gtm数据传送给第一zookeeper;第二zookeeper从第一zookeeper上读取第一gtm数据,从而得到第二gtm数据;第二zookeeper将第二gtm数据写入第二数据库的gtm中,且重启第二数据库中的第二gtm线程将第二gtm数据写入内存。
44.s103、对第二数据库中的各第二数据节点进行一致性数据回滚。
45.其中,第二数据节点可以是指第二数据库中的数据节点。在第二数据库由同步模式切换到恢复模式时,各第二数据节点的数据同步进度可能不同,参见图1a,仍以存在db1到dbn的第二数据节点为例,db2的数据同步进度可能为t时刻,db3的同步进度可能为t+i时刻,i可能大于零,即db2与db3的数据同步进度可能不同。具体的,可从各第二数据节点的数据同步时刻中选择一个数据同步时刻,作为一致性时刻,根据该一致性时刻,对第二数据库中的各第二数据节点进行数据回滚,例如,将db1到dbn中的数据均回滚到一致性时刻,使各第二数据节点的数据同步进度相同,保证了各第二数据节点的数据一致性。
46.本发明实施例的技术方案,通过在第二数据库切换到恢复模式的情况下,断开第二数据库与第一数据库之间的数据同步;控制第二数据库应用预先从第一数据库同步的第二元数据,并将预先从第一数据库获取的第二全局事务管理gtm数据写入第二数据库的本地文件,且重启第二数据库中的第二gtm线程将第二gtm数据写入内存;对第二数据库中的各第二数据节点进行一致性数据回滚。上述技术方案,在第一数据库为生产数据库的情况下,将同构的第二数据库作为灾备数据库接入第一数据库,保证了数据的同源,实现了第二数据库与第一数据库之间的数据同步;在第二数据库切换到恢复模式的情况下,通过控制第二数据库应用第二元数据和第二gtm数据,并对各第二数据节点进行一致性回滚,保证了数据的一致性,进而提高了数据库系统的容灾能力。
47.在上述实施例的基础上,作为本发明实施例的一种可选方式,将“控制所述第二数据库应用预先从第一数据库同步的第二元数据”具体化为:“将第二数据库中早于恢复时刻的第二元数据应用到元数据中,并从第二数据库中的关系数据库中删除早于所述恢复时刻的第二元数据”,以避免误操作导致的数据丢失,避免数据的冗余,进而节省关系数据库的空间。
48.其中,恢复时刻可以是指第二数据库切换到恢复模式的时刻。具体的,将第二数据库中的关系数据库中所有小于等于恢复时刻的第二元数据全部应用到元数据中,避免了误操作导致的数据丢失;并从第二数据库中的关系数据库中删除这些第二元数据,避免了数据的冗余,进而节省了关系数据库的空间。
49.实施例二
50.图2a为本发明实施例二提供的一种同构数据库之间的数据处理方法的流程图,在上述各实施例的基础上,将“对第二数据库中的各第二数据节点进行一致性数据回滚”具体化为“获取第二数据库中各第二数据节点的数据同步时刻,并根据各数据同步时刻得到各第二数据节点的最小同步时刻,作为一致性时刻;根据一致性时刻,将各数据节点中晚于一致性时刻的数据进行回滚”,以保证数据的一致性。需要说明的是,在本发明实施例中未详述部分,可参照前述实施例的相关表述。
51.如图2a所示,该方法包括:
52.s201、在第二数据库切换到恢复模式的情况下,断开第二数据库与第一数据库之间的数据同步;第一数据库与第二数据库为同构数据库,在第一数据库为生产数据库的情况下,第二数据库为灾备数据库。
53.s202、控制第二数据库应用预先从第一数据库同步的第二元数据,并将预先从第一数据库获取的第二gtm数据写入第二数据库的本地文件,且重启第二数据库中的第二gtm线程将第二gtm数据写入内存。
54.s203、获取第二数据库中各第二数据节点的数据同步时刻,并根据各数据同步时刻得到各第二数据节点的最小同步时刻,作为一致性时刻。
55.其中,数据同步时刻可以是指第一数据库与第二数据库之间进行数据同步的时刻。具体的,获取第二数据库中各第二数据节点的数据同步时刻,从各第二数据节点的数据同步时刻中选择最小同步时刻,作为一致性时刻。例如,第二数据节点db1、db2和db3的数据同步时刻分别为t、t+i、t+j,i和j均为正整数,则将t时刻作为第二数据节点db1、db2和db3的最小同步时刻,即一致性时刻。
56.s204、根据一致性时刻,将各数据节点中晚于一致性时刻的数据进行回滚。
57.具体的,根据一致性时刻,将各第二数据节点中数据同步时刻大于一致性时刻的第二数据节点进行回滚。该操作避免了由于数据同步期间的网络时延造成的各第二数据节点中数据不一致的情况,保证了数据的一致性。
58.本发明实施例的技术方案,通过获取第二数据库中各第二数据节点的数据同步时刻,并根据各数据同步时刻得到各第二数据节点的最小同步时刻,作为一致性时刻;根据一致性时刻,将各数据节点中晚于一致性时刻的数据进行回滚,避免了由于数据同步期间的网络时延造成的各第二数据节点中数据不一致的情况,保证了数据的一致性。
59.在上述实施例的基础上,作为本发明实施例的一种可选方式,上述同构数据库之间的数据处理方法,还可以包括:在第二数据库切换到服务模式的情况下,控制第二数据库起服,并获取一致性时刻;根据一致性时刻,对第二数据库中的第二数据节点与第一数据库中的第一数据节点进行差异化数据处理。其中,起服可以是指开始对外提供服务;一致性时刻可以是指第二数据库中各第二数据节点数据同步的最小同步时刻;差异化处理用于补齐第二数据库中各第二数据节点的数据。
60.示例性的,如图2b所示,在第一数据库为生产数据库,第二数据库为灾备数据库的情况下,在灾备数据库切换到服务模式的情况下,灾备数据库中的proxy从上层manager中调用数据,并将灾备数据库中的计算节点从同步模式修改为起服模式,从而控制灾备数据库起服,并获取一致性时刻;根据一致性时刻,对第二数据库中的第二数据节点与第一数据库中的第一数据节点进行差异化数据处理。
61.由于在第二数据库处于恢复模式的情况下,对第二数据库中的各第二数据节点进行一致性数据回滚,使得生产数据库中的部分数据未同步到灾备数据库。在第二数据库切换到服务模式的情况下,通过控制第二数据库起服,并获取一致性时刻;根据该一致性时刻,将第二数据库中第二数据节点的数据与第一数据库中对应的第一数据节点中的数据进行比较,得到第二数据节点未同步的生产数据,针对这些未同步的生产数据生成查询语句,控制对应的第二数据节点执行查询语句,从而将第一数据节点中的生产数据补充到对应的第二数据节点中,保证了第二数据库与第一数据库数据的一致性。参见图1a,假设第一数据库中db1的数据同步时刻为t时刻,db2的数据同步时刻为t+i时刻,db3的数据同步时刻为t+j时刻,i和j分别为正整数;在第二数据库切换到服务模式的情况下,控制第二数据库起服,并获取一致性时刻(t时刻);根据该一致性时刻,针对第一数据库中db2和db3在t时刻之后生成的部分数据,生成各自对应的查询语句,控制第二数据库中的db2和db3执行各自对应的查询语句,从而将第一数据库中db2和db3在t时刻之后生成的部分数据补充到第二数据库中的db2和db3中,保证了第二数据库与第一数据库的数据的一致性。
62.在上述实施例的基础上,作为本发明实施例的一种可选方式,将“根据一致性时刻,对第二数据库中的第二数据节点与第一数据库中的第一数据节点进行差异化数据处理”具体化为:“针对第二数据库中的每一第二数据节点,获取该第二数据节点在第一数据库中对应的第一数据节点;从对应的第一数据节点中获取晚于一致性时刻的第一事务编号,作为待补充事务编号;根据待补充事务编号生成查询任务,并控制该第二数据节点执行查询任务,以使该第二数据节点与对应的第一数据节点之间数据对齐”,以保证第一数据库和第二数据库数据的全局一致。
63.其中,第一事务编号可以是指在第一数据库中第一数据节点的同步时刻大于一致性时刻的情况下,第一数据库中第一数据节点执行事务的编号。第一事务编号用于唯一标识一个事务。一个事务对应一个第一事务编号和一个数据同步时刻,根据第一事务编号可以获取某个事务的数据同步时刻。待补充事务编号可以是指第二数据库待执行事务的编号。
64.示例性的,参见图1a,在第一数据库为生产数据库,第二数据库为灾备数据库的情况下,假设第二数据库中各第二数据节点数据同步的一致性时刻为t时刻,第一数据库中第一数据节点db2的数据同步时刻为t+i时刻,i为正整数;针对第二数据库中第二数据节点db2,获取该第二数据节点在第一数据库中对应的第一数据节点db2;将一致性时刻(t时刻)与第一数据库中第一数据节点db2的数据同步时刻(t+i时刻)进行比较,从第二数据库中第二数据节点db2对应的第一数据节点db2中获取大于t时刻的第一事务编号,作为待补充事务编号;根据待补充事务编号,得到待补充事务的数据同步时刻(t+i时刻);根据待补充事务编号和数据同步时刻(t+i时刻)生成对应的sql语句,并控制第二数据库中的第二数据节点db2执行该sql语句,以使该第二数据节点db2与对应的第一数据节点db2之间数据对齐。这样做,不仅可以保证第一数据库和第二数据库数据的一致性,还可以保证第一数据库中的数据不丢失。
65.此外,第二数据库的模式除了恢复模式和服务模式,还包括同步模式。恢复模式是第二数据库的中间状态,是一个暂时的模式。第二数据库在三种模式下的切换流程,如图2c所示,具体包括:
66.s01、同步模式。
67.具体的,第二数据库处于同步模式时,第一数据库起服,第二数据停服,第一数据库为生产数据库,第二数据库为灾备数据库。同时,建立第一数据库与第二数据库之间的数据同步关系。
68.其中,起服可以是指对外提供服务,停服可以是指不对外提供服务。
69.s02、检测第一数据库是否异常,如果是,则执行s03;如果否,则执行s01,第一数据库起服,第一数据为生产数据库,第二数据库为灾备数据库。
70.s03、恢复模式。
71.具体的,第一数据库异常,第一数据库停服,第二数据库切换到恢复模式。同时,断开第二数据库与第一数据库之间的数据同步。
72.s04、检测是否恢复成功,如果是,则执行s05,如果否,则执行s03,第二数据库仍处于恢复模式,第一数据库停服。
73.s05、服务模式。
74.具体的,第二数据库从恢复模式切换到服务模式,第一数据库停服,第二数据库起服,第一数据转换为灾备数据库,第二数据库转换为生产数据库。
75.实施例三
76.图3为本发明实施例三提供的一种同构数据库之间的数据处理装置的结构示意图。如图3所示,该装置包括:
77.数据同步断开模块301,用于在第二数据库切换到恢复模式的情况下,断开第二数据库与第一数据库之间的数据同步;第一数据库与第二数据库为同构数据库,在第一数据库为生产数据库的情况下,第二数据库为灾备数据库;
78.数据存储模块302,用于控制第二数据库应用预先从第一数据库同步的第二元数据,并将预先从第一数据库获取的第二gtm数据写入第二数据库的本地文件,且重启第二数据库中的第二gtm线程将第二gtm数据写入内存;
79.数据回滚模块303,用于对第二数据库中的各第二数据节点进行一致性数据回滚。
80.本发明实施例的技术方案,通过数据同步断开模块,断开第二数据库与第一数据库之间的数据同步;通过数据存储模块,控制第二数据库应用预先从第一数据库同步的第二元数据,并将预先从第一数据库获取的第二gtm数据写入第二数据库的本地文件,且重启第二数据库中的第二gtm线程将第二gtm数据写入内存;通过数据回滚模块对第二数据库中的各第二数据节点进行一致性数据回滚。上述技术方案,在第一数据库为生产数据库的情况下,将同构的第二数据库作为灾备数据库接入第一数据库,保证了数据的同源,实现了第二数据库与第一数据库之间的数据同步;在第二数据库切换到恢复模式的情况下,通过控制第二数据库应用第二元数据和第二gtm数据,并对各第二数据节点进行一致性回滚,保证了数据的一致性,进而提高了数据库系统的容灾能力。
81.进一步的,所述数据回滚模块303,具体用于:获取第二数据库中各第二数据节点的数据同步时刻,并根据各数据同步时刻得到各第二数据节点的最小同步时刻,作为一致性时刻;根据一致性时刻,将各数据节点中晚于一致性时刻的数据进行回滚。
82.进一步的,第二gtm数据通过如下方式同步得到:将第一数据库中的第一gtm数据上传到第一数据库中第一分布式应用程序协调服务zookeeper上;控制第二数据库中的第二zookeeper从第一zookeeper上读取第一gtm数据,作为第二gtm数据。
83.进一步的,所述控制第二数据库应用预先从第一数据库同步的第二元数据,具体用于:将第二数据库中早于恢复时刻的第二元数据应用到元数据中,并从第二数据库中的关系数据库中删除早于恢复时刻的第二元数据。
84.进一步的,所述同构数据库之间的数据处理装置,还可以包括:
85.数据库起服模块,用于在第二数据库切换到服务模式的情况下,控制第二数据库起服,并获取一致性时刻;
86.数据处理模块,用于根据一致性时刻,对第二数据库中的第二数据节点与第一数据库中的第一数据节点进行差异化数据处理。
87.进一步的,所述数据处理模块,具体用于:针对第二数据库中的每一第二数据节点,获取该第二数据节点在第一数据库中对应的第一数据节点;从对应的第一数据节点中获取晚于一致性时刻的第一事务编号,作为待补充事务编号;根据待补充事务编号生成查询任务,并控制该第二数据节点执行查询任务,以使该第二数据节点与对应的第一数据节
点之间数据对齐。
88.本发明实施例所提供的同构数据库之间的数据处理装置可执行本发明任意实施例所提供的同构数据库之间的数据处理方法,具备执行同构数据库之间的数据处理方法相应的功能模块和有益效果。
89.实施例四
90.图4示出了可以用来实施本发明的实施例的电子设备400的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
91.如图4所示,电子设备400包括至少一个处理器401,以及与至少一个处理器401通信连接的存储器,如只读存储器(rom)402、随机访问存储器(ram)403等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器401可以根据存储在只读存储器(rom)402中的计算机程序或者从存储单元408加载到随机访问存储器(ram)403中的计算机程序,来执行各种适当的动作和处理。在ram403中,还可存储电子设备400操作所需的各种程序和数据。处理器401、rom402以及ram403通过总线404彼此相连。输入/输出(i/o)接口405也连接至总线404。
92.电子设备400中的多个部件连接至i/o接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许电子设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
93.处理器401可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器401的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器401执行上文所描述的各个方法和处理,例如同构数据库之间的数据处理方法。
94.在一些实施例中,同构数据库之间的数据处理方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由rom402和/或通信单元409而被载入和/或安装到电子设备400上。当计算机程序加载到ram403并由处理器401执行时,可以执行上文描述的同构数据库之间的数据处理方法的一个或多个步骤。备选地,在其他实施例中,处理器401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行同构数据库之间的数据处理方法。
95.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出
装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
96.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
97.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
98.为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者触觉输入)来接收来自用户的输入。
99.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
100.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
101.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
102.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1