CN115328891A - 数据迁移方法、装置、存储介质及电子设备 - Google Patents
数据迁移方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN115328891A CN115328891A CN202211055050.0A CN202211055050A CN115328891A CN 115328891 A CN115328891 A CN 115328891A CN 202211055050 A CN202211055050 A CN 202211055050A CN 115328891 A CN115328891 A CN 115328891A
- Authority
- CN
- China
- Prior art keywords
- database
- migration
- source database
- compatibility
- 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
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/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/242—Query formulation
- G06F16/2433—Query languages
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及计算机技术领域,具体涉及一种数据迁移方法、数据迁移装置、计算机可读存储介质及电子设备,上述方法包括:获取源数据库的多个参数信息,根据多个参数信息刻画源数据库的画像;确定源数据库与目标数据库之间的兼容性;响应于对象选择操作,确定数据迁移范围,确定需要进行数据迁移的迁移对象;获取迁移对象对应的数据结构以及迁移对象对应的元数据;根据源数据库与目标数据库之间的兼容性对数据结构进行迁移,根据源数据库与目标数据库之间的兼容性对元数据进行迁移。通过本公开实施例的技术方案,可以解决相关技术中数据迁移后不兼容的问题。
Description
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种数据迁移方法、数据迁移装置、计算机可读存储介质及电子设备。
背景技术
随着软硬件的快速发展,数据膨胀的速度越来越快,针对海量数据的存储需求也越来越高。在相关技术中,若是数据库难以承载更多的数据时,可以考虑对数据库中的数据进行迁移,具体而言,可以将数据库中的数据迁移至其他数据库中,或者,可以将数据库中的数据迁移至云端。
然而,相关技术中的方案,将数据库中的数据进行迁移之后,可能存在不兼容的情况,从而导致系统风险。
因此,需要一种方案保证数据迁移之后的兼容情况。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种数据迁移方法、数据迁移装置、计算机可读存储介质及电子设备,可以解决相关技术中无法准确识别用户输入中的攻击风险的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的第一方面,提供了一种数据迁移方法,包括:获取源数据库的多个参数信息,根据多个参数信息刻画源数据库的画像;确定源数据库与目标数据库之间的兼容性;其中,源数据库与目标数据库之间的兼容性与源数据库的画像相关;响应于对象选择操作,确定数据迁移范围,并确定需要进行数据迁移的迁移对象;获取迁移对象对应的数据结构以及迁移对象对应的元数据;根据源数据库与目标数据库之间的兼容性对数据结构进行迁移,根据源数据库与目标数据库之间的兼容性对元数据进行迁移。
在本公开的一种示例性实施例中,基于前述方案,确定源数据库与目标数据库之间的兼容性,包括:获取源数据库中的第一对象语句,在目标数据库中执行第一对象语句;在第一对象语句执行成功时,第一对象语句在目标数据库中兼容;在第一对象语句执行不成功时,第一对象语句在目标数据库中不兼容;根据第一对象语句在目标数据库中的兼容情况确定源数据库与目标数据库之间的兼容性。
在本公开的一种示例性实施例中,基于前述方案,确定源数据库与目标数据库之间的兼容性,包括:获取源数据库对应的元数据以及源数据库对应的定义语句;根据源数据库对应的元数据以及源数据库对应的定义语句确定源数据库的数据库对象特征;根据源数据库的数据库对象特征以及目标数据库的对象评估规则确定源数据库与目标数据库之间的兼容性。
在本公开的一种示例性实施例中,基于前述方案,根据源数据库与目标数据库之间的兼容性对数据结构进行迁移,包括:获取数据结构中的第一数据结构;其中,第一迁移结构为数据结构迁移过程中迁移失败的数据结构;根据源数据库与目标数据库之间的兼容性对第一数据结构进行订正得到第二数据结构;对第二数据结构进行迁移。
在本公开的一种示例性实施例中,基于前述方案,根据源数据库与目标数据库之间的兼容性对元数据进行迁移,包括:获取元数据中的第一元数据;其中,第一元数据为元数据迁移过程中迁移失败的元数据;根据源数据库与目标数据库之间的兼容性对第一元数据进行修复得到第二元数据;对第二元数据进行迁移。
在本公开的一种示例性实施例中,基于前述方案,在数据迁移完成之后,确定多个类型的检测数据语句;获取源数据库对应的负载环境,在源数据库中对多个类型的检测数据语句进行性能检测得到第一性能结果;在目标数据库中模拟负载环境;在目标数据库中对多个类型的检测数据语句进行性能检测得到第二性能结果;根据第一性能结果以及第二性能结果得到性能对比报告。
在本公开的一种示例性实施例中,基于前述方案,在目标数据库中确定多个类型的检测数据语句,包括:确定多个目标迁移对象;其中,迁移对象中包括目标迁移对象;获取目标迁移对象的第二对象语句,根据第二对象语句对应的参数类型对第二对象语句进行去重处理得到多个类型的检测数据语句。
根据本公开的第二方面,提供了一种数据迁移装置,包括:参数信息获取模块,用于获取源数据库的多个参数信息,根据多个参数信息刻画源数据库的画像;兼容性获取模块,用于确定源数据库与目标数据库之间的兼容性;其中,源数据库与目标数据库之间的兼容性与源数据库的画像相关;迁移对象确定模块,用于响应于对象选择操作,确定数据迁移范围,确定需要进行数据迁移的迁移对象;迁移元素获取模块,用于获取迁移对象对应的数据结构以及迁移对象对应的元数据;数据迁移模块,用于根据源数据库与目标数据库之间的兼容性对数据结构进行迁移,根据源数据库与目标数据库之间的兼容性对元数据进行迁移。
在本公开的一种示例性实施例中,基于前述方案,确定源数据库与目标数据库之间的兼容性,装置还包括:第一对象语句获取单元,用于获取源数据库中的第一对象语句,在目标数据库中执行第一对象语句;执行成功处理单元,用于在第一对象语句执行成功时,第一对象语句在目标数据库中兼容;执行失败处理单元,用于在第一对象语句执行不成功时,第一对象语句在目标数据库中不兼容;第一兼容性确定单元,用于根据第一对象语句在目标数据库中的兼容情况确定源数据库与目标数据库之间的兼容性。
在本公开的一种示例性实施例中,基于前述方案,确定源数据库与目标数据库之间的兼容性,装置还包括:定义语句获取单元,用于获取源数据库对应的元数据以及源数据库对应的定义语句;对象特征确定单元,用于根据源数据库对应的元数据以及源数据库对应的定义语句确定源数据库的数据库对象特征;第二兼容性确定单元,用于根据源数据库的数据库对象特征以及目标数据库的对象评估规则确定源数据库与目标数据库之间的兼容性。
在本公开的一种示例性实施例中,基于前述方案,根据源数据库与目标数据库之间的兼容性对数据结构进行迁移,装置还包括:第一数据结构获取单元,用于获取数据结构中的第一数据结构;其中,第一迁移结构为数据结构迁移过程中迁移失败的数据结构;数据结构订正单元,用于根据源数据库与目标数据库之间的兼容性对第一数据结构进行订正得到第二数据结构;第二数据结构迁移单元,用于对第二数据结构进行迁移。
在本公开的一种示例性实施例中,基于前述方案,根据源数据库与目标数据库之间的兼容性对元数据进行迁移,装置还包括:第一元数据获取单元,用于获取元数据中的第一元数据;其中,第一元数据为元数据迁移过程中迁移失败的元数据;源数据修复单元,用于根据源数据库与目标数据库之间的兼容性对第一元数据进行修复得到第二元数据;第二元数据迁移单元,用于对第二元数据进行迁移。
在本公开的一种示例性实施例中,基于前述方案,装置还包括:第一检测数据语句确定单元,用于在数据迁移完成之后,确定多个类型的检测数据语句;第一性能结果获取单元,用于获取源数据库对应的负载环境,在源数据库中对多个类型的检测数据语句进行性能检测得到第一性能结果;负载环境模拟单元,用于在目标数据库中模拟负载环境;第二性能结果获取单元,用于在目标数据库中对多个类型的检测数据语句进行性能检测得到第二性能结果;性能对比报告获取单元,用于根据第一性能结果以及第二性能结果得到性能对比报告。
在本公开的一种示例性实施例中,基于前述方案,在目标数据库中确定多个类型的检测数据语句,装置还包括:目标迁移对象确定单元,用于确定多个目标迁移对象;其中,迁移对象中包括目标迁移对象;第二对象语句获取单元,用于获取目标迁移对象的第二对象语句,根据第二对象语句对应的参数类型对第二对象语句进行去重处理得到多个类型的检测数据语句。
根据本公开的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现如上述实施例中第一方面的数据迁移方法。
根据本公开的第四方面,提供了一种电子设备,包括:
一个或多个处理器;以及
存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现如上述实施例中第一方面的数据迁移方法。
本公开实施例提供的技术方案可以包括以下有益效果:
本公开的一种实施例提供的数据迁移方法中,可以获取源数据库的多个参数信息,根据多个参数信息刻画源数据库的画像,确定源数据库与目标数据库之间的兼容性,响应于对象选择操作,确定数据迁移范围,并确定需要进行数据迁移的迁移对象,获取迁移对象对应的数据结构以及迁移对象对应的元数据,根据源数据库与目标数据库之间的兼容性对数据结构进行迁移,根据源数据库与目标数据库之间的兼容性对元数据进行迁移。通过本公开的实施例,可以根据源数据库与目标数据库之间的兼容性指导数据迁移,避免将数据迁移至目标数据库后,出现不兼容的情况,从而提升系统的稳定性,进而提升了数据迁移的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出了本公开示例性实施例中数据迁移方法的示例性系统架构的示意图;
图2示意性示出本公开示例性实施例中数据迁移方法的流程图;
图3示意性示出本公开示例性实施例中根据第一对象语句在目标数据库中的兼容情况确定源数据库与目标数据库之间的兼容性的流程图;
图4示意性示出本公开示例性实施例中根据第一对象语句在目标数据库中的兼容情况确定源数据库与目标数据库之间的兼容性的流程图;
图5示意性示出本公开示例性实施例中根据源数据库的数据库对象特征以及目标数据库的对象评估规则确定源数据库与目标数据库之间的兼容性的流程图;
图6示意性示出本公开示例性实施例中根据源数据库对应的元数据以及源数据库对应的定义语句确定源数据库的数据库对象特征的流程图;
图7示意性示出本公开示例性实施例中根据源数据库的数据库对象特征以及目标数据库的对象评估规则确定源数据库与目标数据库之间的兼容性的流程图;
图8示意性示出本公开示例性实施例中根据源数据库与目标数据库之间的兼容性对第一数据结构进行订正得到第二数据结构,对第二数据结构进行迁移的流程图;
图9示意性示出本公开示例性实施例中根据源数据库与目标数据库之间的兼容性对第一元数据进行修复得到第二元数据,对第二元数据进行迁移的流程图;
图10示意性示出本公开示例性实施例中对迁移失败的数据结构以及元数据进行改造的流程图;
图11示意性示出本公开示例性实施例中根据第一性能结果以及第二性能结果得到性能对比报告的流程图;
图12示意性示出本公开示例性实施例中根据第二对象语句对应的参数类型对第二对象语句进行去重处理得到多个类型的检测数据语句的流程图;
图13示意性示出本公开示例性实施例中获取第一性能结果以及第二性能结果,并根据第一性能结果以及第二性能结果得到性能对比报告的流程图;
图14示意性示出本公开示例性实施例中一种数据库迁移系统的示意图;
图15示意性示出本公开示例性实施例中数据迁移装置的组成示意图;
图16示意性示出了适于用来实现本公开示例性实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参照附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现、材料或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个软件硬化的模块中实现这些功能实体或功能实体的一部分,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1示出了可以应用本公开实施例的数据迁移方法的示例性系统架构的示意图。
如图1所示,系统架构1000可以包括终端设备1001、1002、1003中的一种或多种,网络1004和服务器1005。网络1004用以在终端设备1001、1002、1003和服务器1005之间提供通信链路的介质。网络1004可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器1005可以是多个服务器组成的服务器集群等。
用户可以使用终端设备1001、1002、1003通过网络1004与服务器1005交互,以接收或发送消息等。终端设备1001、1002、1003可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、便携式计算机和台式计算机等等。另外,服务器1005可以是提供各种服务的服务器。
在一种实施例中,本公开的数据迁移方法的执行主体可以是服务器1005,服务器1005可以获取由终端设备1001、1002、1003发送的源数据库的多个参数信息,根据多个参数信息刻画源数据库的画像,确定源数据库与目标数据库之间的兼容性,响应于对象选择操作,确定数据迁移范围,确定需要进行数据迁移的迁移对象,获取迁移对象对应的数据结构以及迁移对象对应的元数据,根据源数据库与目标数据库之间的兼容性对数据结构进行迁移,根据源数据库与目标数据库之间的兼容性对元数据进行迁移。
此外,还可以通过终端设备1001、1002、1003等执行本公开的数据迁移方法,以实现获取源数据库的多个参数信息,根据多个参数信息刻画源数据库的画像,确定源数据库与目标数据库之间的兼容性,响应于对象选择操作,确定数据迁移范围,确定需要进行数据迁移的迁移对象,获取迁移对象对应的数据结构以及迁移对象对应的元数据,根据源数据库与目标数据库之间的兼容性对数据结构进行迁移,根据源数据库与目标数据库之间的兼容性对元数据进行迁移。
此外,本公开数据迁移方法实现过程还可以由终端设备1001、1002、1003和服务器1005共同实现。例如,终端设备1001、1002、1003可以获取源数据库的多个参数信息,根据多个参数信息刻画源数据库的画像,确定源数据库与目标数据库之间的兼容性,并将获取到的源数据库与目标数据库之间的兼容性发送给服务器1005,以使服务器1005可以响应于对象选择操作,确定数据迁移范围,确定需要进行数据迁移的迁移对象,获取迁移对象对应的数据结构以及迁移对象对应的元数据,根据源数据库与目标数据库之间的兼容性对数据结构进行迁移,根据源数据库与目标数据库之间的兼容性对元数据进行迁移。
随着软硬件的快速发展,数据膨胀的速度越来越快,针对海量数据的存储需求也越来越高。在相关技术中,若是数据库难以承载更多的数据时,可以考虑对数据库中的数据进行迁移,具体而言,可以将数据库中的数据迁移至其他数据库中,或者,可以将数据库中的数据迁移至云端。
然而,相关技术中的方案,将数据库中的数据进行迁移之后,可能存在不兼容的情况,从而导致系统风险。
因此,需要一种方案保证数据迁移之后的兼容情况。根据本示例性实施例中所提供的数据迁移方法中,可以获取源数据库的多个参数信息,根据多个参数信息刻画源数据库的画像,确定源数据库与目标数据库之间的兼容性,响应于对象选择操作,确定数据迁移范围,并确定需要进行数据迁移的迁移对象,获取迁移对象对应的数据结构以及迁移对象对应的元数据,根据源数据库与目标数据库之间的兼容性对数据结构进行迁移,根据源数据库与目标数据库之间的兼容性对元数据进行迁移。如图2所示,该数据迁移方法可以包括以下步骤:
步骤S210,获取源数据库的多个参数信息,根据多个参数信息刻画源数据库的画像;
步骤S220,确定源数据库与目标数据库之间的兼容性;其中,源数据库与目标数据库之间的兼容性与源数据库的画像相关;
步骤S230,响应于对象选择操作,确定数据迁移范围,确定需要进行数据迁移的迁移对象;
步骤S240,获取迁移对象对应的数据结构以及迁移对象对应的元数据;
步骤S250,根据源数据库与目标数据库之间的兼容性对数据结构进行迁移,根据源数据库与目标数据库之间的兼容性对元数据进行迁移。
本公开的一种实施例提供的数据迁移方法中,可以获取源数据库的多个参数信息,根据多个参数信息刻画源数据库的画像,确定源数据库与目标数据库之间的兼容性,响应于对象选择操作,确定数据迁移范围,并确定需要进行数据迁移的迁移对象,获取迁移对象对应的数据结构以及迁移对象对应的元数据,根据源数据库与目标数据库之间的兼容性对数据结构进行迁移,根据源数据库与目标数据库之间的兼容性对元数据进行迁移。通过本公开的实施例,可以根据源数据库与目标数据库之间的兼容性指导数据迁移,避免将数据迁移至目标数据库后,出现不兼容的情况,从而提升系统的稳定性,进而提升了数据迁移的效率。
下面,将结合附图及实施例对本示例性实施例中的数据迁移方法的步骤S210~S250进行更详细的说明。
步骤S210,获取源数据库的多个参数信息,根据多个参数信息刻画源数据库的画像;
在本公开的一种示例实施例中,可以源数据库的多个参数信息。具体的,源数据库的多个参数信息可以用于指示源数据库的相关信息。例如,参数信息可以包括版本、CPU数、性能数据、容量分布、对象数量等信息。需要说明的是,本公开对于获取源数据库的多个参数信息的方法并不做特殊限定。
在本公开的一种示例实施例中,在通过上述步骤得到源数据库的多个参数信息之后,可以根据多个参数信息刻画源数据库的画像。具体的,源数据库的画像可以用于指示源数据库的特征信息。举例而言,可以通过对上述多个参数信息进行分析得到源数据库的画像,例如,源数据库的画像可以用于指示源数据库针对目标数据库的兼容性信息。
需要说明的是,本公开对于根据多个参数据信息刻画源数据库的画像的具体方式并不做特殊限定。
步骤S220,确定源数据库与目标数据库之间的兼容性;
在本公开的一种示例实施例中,在通过上述步骤得到源数据库的画像之后,可以确定源数据库与目标数据库之间的兼容性。其中,源数据库与目标数据库之间的兼容性与源数据库的画像相关。具体的,源数据库是指需要进行数据迁移的数据库,目标数据库是指接受数据迁移的数据库。需要说明的是,本公开对于数据库的具体类型并不做特殊限定。源数据库与目标数据库之间的兼容性与源数据库的画像相关是指,在确定源数据库与目标数据库之间的兼容性时,可以依据源数据库的画像进行确定。
具体而言,源数据库与目标数据库之间的兼容性可以用于指示,在源数据库中能够正常执行的语句,在目标数据库中是否能够正常执行,可以确定源数据库与目标数据库之间的兼容性。例如,源数据库的画像可以用于指示源数据库针对目标数据库的兼容性信息,此时,可以确定源数据库与目标数据库之间的兼容性。
需要说明的是,本公开对于确定源数据库与目标数据库之间的兼容性的具体方式并不做特殊限定。
在本公开的一种示例实施例中,可以获取源数据库中的第一对象语句,在目标数据库中执行第一对象语句,在第一对象语句执行成功时,第一对象语句在目标数据库中兼容,在第一对象语句执行不成功时,第一对象语句在目标数据库中不兼容,根据第一对象语句在目标数据库中的兼容情况确定源数据库与目标数据库之间的兼容性。参照图3所示,根据第一对象语句在目标数据库中的兼容情况确定源数据库与目标数据库之间的兼容性,可以包括以下步骤S310~S340:
步骤S310,获取源数据库中的第一对象语句,在目标数据库中执行第一对象语句;
步骤S320,在第一对象语句执行成功时,第一对象语句在目标数据库中兼容;
步骤S330,在第一对象语句执行不成功时,第一对象语句在目标数据库中不兼容;
在本公开的一种示例实施例中,可以获取源数据库中的第一对象语句,在目标数据库中执行第一对象语句。具体的,第一对象语句是指用于定义源数据库中数据的语句。举例而言,第一对象语句可以为SQL对象语句(Structured Query Language、结构化查询语言)对象语句。需要说明的是,本公开对于源数据库中的第一对象语句的具体形式并不做特殊限定。举例而言,可以从客户端层面采集SQL对象语句、从网络层面采集SQL对象语句、从数据库采集记录执行的SQL对象语句。
在通过上述步骤得到源数据库中的第一对象语句之后,可以在目标数据库中执行第一对象语句。具体的,在第一对象语句执行成功时,第一对象语句在目标数据库中兼容,在第一对象语句执行不成功时,第一对象语句在目标数据库中不兼容。
步骤S340,根据第一对象语句在目标数据库中的兼容情况确定源数据库与目标数据库之间的兼容性。
在本公开的一种示例实施例中,在通过上述步骤对源数据库中的多个第一对象语句进行执行验证之后,可以得到多个第一对象语句在目标数据库中的兼容情况,可以根据多个第一对象语句在目标数据库中的兼容情况确定源数据库与目标数据库之间的兼容性,该源数据库与目标数据库之间的兼容性可以用于指示在源数据库中能够正常执行的语句,在目标数据库中是否能够正常执行。
需要说明的是,本公开对于根据第一对象语句在目标数据库中的兼容情况确定源数据库与目标数据库之间的兼容性的具体方式并不做特殊限定。
在本公开的一种示例实施例中,如图4所示,可以创建目标数据库,获取源数据库中的第一对象语句,在目标数据库中执行第一对象语句,在第一对象语句执行成功时,第一对象语句在目标数据库中兼容,在第一对象语句执行不成功时,第一对象语句在目标数据库中不兼容,并保存入不兼容库,并对不兼容的第一对象语句进行改造,以使得第一对象语句能够在目标数据库中执行成功,对不兼容的第一对象语句进行兼容性评估,以此确定源数据库与目标数据库之间的兼容性,将执行失败的原因保存入不兼容库。
通过上述步骤S310~S340,可以获取源数据库中的第一对象语句,在目标数据库中执行第一对象语句,在第一对象语句执行成功时,第一对象语句在目标数据库中兼容,在第一对象语句执行不成功时,第一对象语句在目标数据库中不兼容,根据第一对象语句在目标数据库中的兼容情况确定源数据库与目标数据库之间的兼容性。
在本公开的一种示例实施例中,可以获取源数据库对应的元数据以及源数据库对应的定义语句,根据源数据库对应的元数据以及源数据库对应的定义语句确定源数据库的数据库对象特征,根据源数据库的数据库对象特征以及目标数据库的对象评估规则确定源数据库与目标数据库之间的兼容性。参照图5所示,根据源数据库的数据库对象特征以及目标数据库的对象评估规则确定源数据库与目标数据库之间的兼容性,可以包括以下步骤S510~S530:
步骤S510,获取源数据库对应的元数据以及源数据库对应的定义语句;
在本公开的一种示例实施例中,可以获取源数据库对应的元数据。具体的,源数据库对应的元数据是关于数据仓库的数据,指在数据仓库建设过程中所产生的有关数据源定义,目标定义,转换规则等相关的关键数据。可以获取源数据库对应的定义语句。具体的,源数据库对应的定义语句可以用于描述描述数据库中要存储的现实世界实体的语言。
举例而言,源数据库对应的定义语句可以为DDL(Data Definition Language,数据库模式定义语言)。
需要说明的是,本公开对于获取源数据库对应的元数据以及源数据库对应的定义语句的具体方式并不做特殊限定。
步骤S520,根据源数据库对应的元数据以及源数据库对应的定义语句确定源数据库的数据库对象特征;
在本公开的一种示例实施例中,在通过上述步骤得到源数据库对应的元数据以及源数据库对应的定义语句之后,可以根据源数据库对应的元数据以及源数据库对应的定义语句确定源数据库的数据库对象特征。具体的,源数据库的数据库对象特征可以用于指示源数据库对象(例如为表,索引,视图,图表,缺省值,规则,触发器)的特征,例如最大连接数。
在本公开的一种示例实施例中,可以根据源数据库对应的元数据以及源数据库对应的定义语句确定源数据库的数据库对象特征,或者,可以根据源数据库对应的元数据确定源数据库的第一数据库对象子特征,再根据源数据库对应的定义语句确定源数据库的第二数据库对象子特征,根据源数据库的第一数据库对象子特征以及源数据库的第二数据库对象子特征确定源数据库的数据库对象特征。
需要说明的是,本公开对于根据源数据库对应的元数据以及源数据库对应的定义语句确定源数据库的数据库对象特征的具体方式并不做特殊限定。
步骤S530,根据源数据库的数据库对象特征以及目标数据库的对象评估规则确定源数据库与目标数据库之间的兼容性。
在本公开的一种示例实施例中,在通过上述步骤得到源数据库的数据库对象特征之后,可以根据源数据库的数据库对象特征以及目标数据库的对象评估规则确定源数据库与目标数据库之间的兼容性。具体的,目标数据库的对象评估规则可以用于指示目标数据库对象(例如为表,索引,视图,图表,缺省值,规则,触发器)的特征,例如最大连接数。
具体而言,可以将源数据库的数据库对象特征以及目标数据库的对象评估规则进行比较,确定源数据库与目标数据库之间的兼容性。
需要说明的是,本公开对于根据源数据库的数据库对象特征以及目标数据库的对象评估规则确定源数据库与目标数据库之间的兼容性的具体方式并不做特殊限定。
在本公开的一种示例实施例中,如图6所示,可以根据源数据库对应的元数据确定源数据库的数据库对象特征,可以获取源数据库对应的定义语句,并针对源数据库对应的定义语句进行语法解释得到数据对象,并对数据对象分析后得到源数据库的数据库对象特征。
如图7所示,在得到源数据库的数据库对象特征之后,可以根据目标数据库的对象评估规则对源数据库的数据库对象特征进行评估,得到源数据库与目标数据库之间的兼容性,并将源数据库与目标数据库之间的兼容性持久化保存至目标数据库中。
通过上述步骤S510~S530,可以获取源数据库对应的元数据以及源数据库对应的定义语句,根据源数据库对应的元数据以及源数据库对应的定义语句确定源数据库的数据库对象特征,根据源数据库的数据库对象特征以及目标数据库的对象评估规则确定源数据库与目标数据库之间的兼容性。
步骤S230,响应于对象选择操作,确定数据迁移范围,确定需要进行数据迁移的迁移对象;
在本公开的一种示例实施例中,在通过上述步骤确定源数据库与目标数据库之间的兼容性之后,可以响应于对象选择操作,确定数据迁移范围。具体的,可以接收对象选择操作,并确定初始数据迁移范围,即该数据迁移范围内的数据可以进行迁移。
在确定数据迁移范围之后,可以接收确定需要进行数据迁移的迁移对象。具体的,用户可以在数据迁移范围内的多个迁移对象对确定需要进行数据迁移的迁移对象。
需要说明的是,本公开对于对象选择操作的具体形式以及确定需要进行数据迁移的迁移对象的具体方式并不做特殊限定。
步骤S240,获取迁移对象对应的数据结构以及迁移对象对应的元数据;
在本公开的一种示例实施例中,在通过上述步骤确定需要进行数据迁移的迁移对象之后,可以获取迁移对象对应的数据结构。具体的,迁移对象对应的数据结构可以用于指示在源数据库中存储数据的结构。
举例而言,迁移对象对应的数据结构可以为数据表、函数、视图、触发器、存储过程、序列等。需要说明的是,本公开对于迁移对象对应的数据结构的具体形式并不做特殊限定。
在本公开的一种示例实施例中,在通过上述步骤确定需要进行数据迁移的迁移对象之后,可以获取迁移对象对应的元数据。具体的,元数据是关于数据仓库的数据,指在数据仓库建设过程中所产生的有关数据源定义,目标定义,转换规则等相关的关键数据。
需要说明的是,本公开对于获取迁移对象对应的数据结构以及迁移对象对应的元数据的具体方式并不做特殊限定。
步骤S250,根据源数据库与目标数据库之间的兼容性对数据结构进行迁移,根据源数据库与目标数据库之间的兼容性对元数据进行迁移。
在本公开的一种示例实施例中,在通过上述步骤得到迁移对象对应的数据结构以及迁移对象对应的元数据之后,可以根据源数据库与目标数据库之间的兼容性对数据结构进行迁移,根据源数据库与目标数据库之间的兼容性对元数据进行迁移。具体的,源数据库与目标数据库之间的兼容性可以用于指示,在源数据库中能够正常执行的语句,在目标数据库中是否能够正常执行的信息。因此,只可以根据源数据库与目标数据库之间的兼容性对迁移对象对应的数据结构以及迁移对象对应的元数据进行迁移。
举例而言,在迁移对象对应的数据结构以及迁移对象对应的元数据进行迁移的过程中,可以根据源数据库与目标数据库之间的兼容性识别不兼容的迁移对象对应的数据结构,或者,可以根据源数据库与目标数据库之间的兼容性识别不兼容的迁移对象对应的元数据,并对不兼容的迁移对象对应的数据结构以及不兼容的迁移对象对应的元数据进行修正,以使得修正之后的迁移对象对应的数据结构以及迁移对象对应的元数据能够在目标数据库中正常执行。
需要说明的是,本公开对于根据源数据库与目标数据库之间的兼容性对数据结构进行迁移,根据源数据库与目标数据库之间的兼容性对元数据进行迁移的具体方式并不做特殊限定。
在本公开的一种示例实施例中,可以获取数据结构中的第一数据结构,根据源数据库与目标数据库之间的兼容性对第一数据结构进行订正得到第二数据结构,对第二数据结构进行迁移。参照图8所示,根据源数据库与目标数据库之间的兼容性对第一数据结构进行订正得到第二数据结构,对第二数据结构进行迁移,可以包括以下步骤S810~S830:
步骤S810,获取数据结构中的第一数据结构;
在本公开的一种示例实施例中,在通过上述步骤确定所要进行数据迁移的迁移对象,以及该迁移对象对应的数据结构之后,可以获取该些数据结构中的第一数据结构。其中,第一迁移结构为数据结构迁移过程中迁移失败的数据结构。具体而言,在对迁移对象对应的数据结构进行迁移的过程中,可以在目标数据库中执行迁移对象对应的数据结构,在该迁移对象对应的数据结构执行失败时,可以将该数据结构确定为第一数据结构。
需要说明的是,本公开对于获取数据结构中的第一数据结构的具体方式并不做特殊限定。
步骤S820,根据源数据库与目标数据库之间的兼容性对第一数据结构进行订正得到第二数据结构;
在本公开的一种示例实施例中,在通过上述步骤得到第一数据结构之后,可以根据源数据库与目标数据库之间的兼容性对第一数据结构进行订正得到第二数据结构。具体的,源数据库与目标数据库之间的兼容性可以用于指示在源数据库中能够正常执行的语句,在目标数据库中是否能够正常执行,且源数据库与目标数据库之间的兼容性还可以指示在迁移过程中对数据结构的订正方法。
举例而言,在迁移过程中对数据结构的修复方法可以为源数据库与目标数据库之间的数据结构的转换映射表,可以通过该转换映射表将迁移对象对应的数据结构转换为适应目标数据库的数据结构。
需要说明的是,本公开对于根据源数据库与目标数据库之间的兼容性对第一数据结构进行订正得到第二数据结构的具体方式并不做特殊限定。
步骤S830,对第二数据结构进行迁移。
在本公开的一种示例实施例中,在通过上述步骤对第一数据结构进行订正得到第二数据结构之后,可以对第二数据结构进行迁移。具体的,经过订正的第二数据结构能够适应目标数据库,可以在目标数据库中正常执行。
通过上述步骤S810~S830,可以获取数据结构中的第一数据结构,根据源数据库与目标数据库之间的兼容性对第一数据结构进行订正得到第二数据结构,对第二数据结构进行迁移。
在本公开的一种示例实施例中,可以获取元数据中的第一元数据,根据源数据库与目标数据库之间的兼容性对第一元数据进行修复得到第二元数据,对第二元数据进行迁移。参照图9所示,根据源数据库与目标数据库之间的兼容性对第一元数据进行修复得到第二元数据,对第二元数据进行迁移,可以包括以下步骤S910~S930:
步骤S910,获取元数据中的第一元数据;
在本公开的一种示例实施例中,在通过上述步骤确定所要进行数据迁移的迁移对象,以及该迁移对象对应的源数据之后,可以获取该些元数据中的第一元数据。其中,第一元数据为元数据迁移过程中迁移失败的元数据。具体而言,在对迁移对象对应的元数据进行迁移的过程中,可以在目标数据库中执行迁移对象对应的元数据,在该迁移对象对应的元数据执行失败时,可以将该元数据确定为第一元数据。
需要说明的是,本公开对于获取数据结构中的第一元数据的具体方式并不做特殊限定。
步骤S920,根据源数据库与目标数据库之间的兼容性对第一元数据进行修复得到第二元数据;
在本公开的一种示例实施例中,在通过上述步骤得到第一元数据之后,可以根据源数据库与目标数据库之间的兼容性对第一元数据进行订正得到第二元数据。具体的,源数据库与目标数据库之间的兼容性可以用于指示在源数据库中能够正常执行的语句,在目标数据库中是否能够正常执行,且源数据库与目标数据库之间的兼容性还可以指示在迁移过程中对元数据的修复方法。
举例而言,在迁移过程中对元数据的修复方法可以为源数据库与目标数据库之间的元数据的转换映射表,可以通过该转换映射表将迁移对象对应的元数据转换为适应目标数据库的元数据。
需要说明的是,本公开对于根据源数据库与目标数据库之间的兼容性对第一元数据进行修复得到第二元数据的具体方式并不做特殊限定。
步骤S930,对第二元数据进行迁移。
在本公开的一种示例实施例中,在通过上述步骤对第一元数据进行修复得到第二元数据之后,可以对第二元数据进行迁移。具体的,经过修复的第二元数据能够适应目标数据库,可以在目标数据库中正常执行。
在本公开的一种示例实施例中,如图10所示,可以获取源数据库与目标数据库之间的兼容性,根据源数据库与目标数据库之间的兼容性确定数据迁移范围,确定需要进行数据迁移的迁移对象,确定所要进行迁移的迁移对象对应的数据结构,进行结构迁移,结构迁移成功的进入数据迁移等待流程,结构迁移失败的,获取数据结构中的第一数据结构,根据源数据库与目标数据库之间的兼容性对第一数据结构进行订正得到第二数据结构,对第二数据结构进行迁移,数据结构迁移完成之后,可以调用数据同步接口,进行元数据迁移,迁移成功的,执行应用对象语句回放验证兼容性,迁移失败的,根据源数据库与目标数据库之间的兼容性对第一元数据进行修复得到第二元数据,并对第二元数据进行迁移,获取第一性能结果以及第二性能结果,根据第一性能结果以及第二性能结果得到性能对比报告。
通过上述步骤S910~S930,可以获取元数据中的第一元数据,根据源数据库与目标数据库之间的兼容性对第一元数据进行修复得到第二元数据,对第二元数据进行迁移。
在本公开的一种示例实施例中,可以在执行本公开的方案的过程中,确定数据库与目标数据库之间的兼容性。举例而言,可以在获取数据结构中的第一数据结构,且对第一数据结构进行订正得到第二数据结构时,可以确定数据库与目标数据库之间的兼容性;或者,在获取元数据中的第一元数据,且对第一元数据进行修复得到第二元数据时,可以确定数据库与目标数据库之间的兼容性。此外,在将源数据库中的源数据迁移至目标数据库之后,可以进行验证,确定目标数据库中的语句能否正常回放,并以此确定数据库与目标数据库之间的兼容性。
在本公开的一种示例实施例中,可以在数据迁移完成之后,在目标数据库中确定多个类型的检测数据语句,获取源数据库对应的负载环境,在源数据库中对多个类型的检测数据语句进行性能检测得到第一性能结果,在目标数据库中模拟负载环境,在目标数据库中对多个类型的检测数据语句进行性能检测得到第二性能结果,根据第一性能结果以及第二性能结果得到性能对比报告。参照图11所示,根据第一性能结果以及第二性能结果得到性能对比报告,可以包括以下步骤S1110~S1150:
步骤S1110,在数据迁移完成之后,确定多个类型的检测数据语句;
在本公开的一种示例实施例中,在通过上述步骤对数据结构进行迁移去,且对元数据进行迁移之后,可以确定多个类型的检测数据语句。其中,类型可以用于指示性能类型。例如,类型可以包括事务吞吐量以及响应时间。
需要说明的是,本公开对于类型的具体内容并不做特殊限定。
具体的,可以根据所有的迁移对象对应的对象语句确定多个类型的检测数据语句;或者,可以根据部分迁移对象对应的对象语句确定多个类型的检测数据语句。具体而言,在确定多个对象语句之后,可以将多个对象语句进行处理,得到多个类型的检测数据语句。例如,可以对多个对象语句进行合并处理得到多个类型的检测数据语句。
需要说明的是,本公开对于确定多个类型的检测数据语句的具体方式并不做特殊限定。
步骤S1120,获取源数据库对应的负载环境,在源数据库中对多个类型的检测数据语句进行性能检测得到第一性能结果;
在本公开的一种示例实施例中,可以获取源数据库对应的负载环境。具体的,源数据库对应的负载环境可以用于指示源数据库进行数据处理时的压力。需要说明的是,本公开对于获取源数据库对应的负载环境的具体方式并不做特殊限定。
在通过上述步骤确定多个类型的检测数据语句之后,可以在源数据库中对多个类型的检测数据语句进行性能检测得到第一性能结果。具体的,可以在源数据中执行该些检测数据语句,以此进行性能检测,以得到第一性能结果。例如,第一性能结构可以用于指示源数据库在执行上述多个类型的检测数据语句时的响应时间。
需要说明的是,本公开对于在源数据库中对多个类型的检测数据语句进行性能检测得到第一性能结果的具体方式并不做特殊限定。
步骤S1130,在目标数据库中模拟负载环境;
在本公开的一种示例实施例中,在通过上述步骤得到源数据库对应的负载环境之后,可以在目标数据库中模拟负载环境。举例而言,可以通过执行pb-bench压测增加负载,以在目标数据库中模型负载环境。
需要说明的是,本公开对于在目标数据库中模拟负载环境的具体方式并不做特殊限定。
步骤S1140,在目标数据库中对多个类型的检测数据语句进行性能检测得到第二性能结果;
在本公开的一种示例实施例中,在通过上述步骤在目标数据库中模拟源数据库中的负载环境之后,可以在目标数据库中对多个类型的检测数据语句进行性能检测得到第二性能结果。具体的,可以在目标数据库中对多个类型的检测数据语句进行性能检测得到第二性能结果。具体的,可以在目标数据中执行该些检测数据语句,以此进行性能检测,以得到第二性能结果。例如,第二性能结构可以用于指示源数据库在执行上述多个类型的检测数据语句时的响应时间。
需要说明的是,本公开对于在目标数据库中对多个类型的检测数据语句进行性能检测得到第二性能结果的具体方式并不做特殊限定。
步骤S1150,根据第一性能结果以及第二性能结果得到性能对比报告。
在本公开的一种示例实施例中,在通过上述步骤得到第一性能结果以及第二性能结构之后,可以根据第一性能结果以及第二性能结果得到性能对比报告。具体的,性能对比报告可以用于指示源数据库与目标数据库之间的性能差异,可以将第一性能结果与第二性能结构进行比较,得到性能对比报告。例如,可以通过图标展示性能对比报告。
需要说明的是,本公开对于根据第一性能结果以及第二性能结果得到性能对比报告的具体方式并不做特殊限定。
通过上述步骤S1110~S1150,可以在数据迁移完成之后,确定多个类型的检测数据语句,获取源数据库对应的负载环境,在源数据库中对多个类型的检测数据语句进行性能检测得到第一性能结果,在目标数据库中模拟负载环境,在目标数据库中对多个类型的检测数据语句进行性能检测得到第二性能结果,根据第一性能结果以及第二性能结果得到性能对比报告。通过本公开的实施例,可以便于用户直观了解源数据库与目标数据库之间的差异。
在本公开的一种示例实施例中,可以确定多个目标迁移对象,获取目标迁移对象的第二对象语句,根据第二对象语句对应的参数类型对第二对象语句进行去重处理得到多个类型的检测数据语句。参照图12所示,根据第二对象语句对应的参数类型对第二对象语句进行去重处理得到多个类型的检测数据语句,可以包括以下步骤S1210~S1220:
步骤S1210,确定多个目标迁移对象;其中,迁移对象中包括目标迁移对象;
在本公开的一种示例实施例中,在通过上述步骤对数据结构进行迁移,且对元数据进行迁移之后,可以确定多个目标迁移对象。其中,迁移对象中包括目标迁移对象。具体的,可以根据预设选择策略确定多个目标迁移对象。举例而言,可以将迁移时间最短的前100个迁移对象确定为目标迁移对象。
需要说明的是,本公开对于确定多个目标迁移对象的具体方式并不做特殊限定。
步骤S1220,获取目标迁移对象的第二对象语句,根据第二对象语句对应的参数类型对第二对象语句进行去重处理得到多个类型的检测数据语句。
在本公开的一种示例实施例中,可以获取目标迁移对象的第二对象语句,根据第二对象语句对应的参数类型对第二对象语句进行去重处理得到多个类型的检测数据语句。具体的,第二对象语句对应的参数类型不同,可以通过第二对象语句对应的参数类型对第二对象语句进行去重处理得到多个类型的检测数据语句。例如,可以将参数类型相同的第二对象语句进行去重处理,得到多个类型的检测数据语句。
需要说明的是,本公开对于根据第二对象语句对应的参数类型对第二对象语句进行去重处理得到多个类型的检测数据语句的具体方式并不做特殊限定。
通过上述步骤S1210~S1220,可以确定多个目标迁移对象,获取目标迁移对象的第二对象语句,根据第二对象语句对应的参数类型对第二对象语句进行去重处理得到多个类型的检测数据语句。通过本公开的实施例,可以减少性能检测的对象的数量,从而提升性能检测效率。
在本公开的一种示例实施例中,如图13所示,可以确定多个目标迁移对象,获取目标迁移对象在源数据库中的画像标识,根据画像标识获取目标迁移对象的第二对象语句,根据第二对象语句对应的参数类型对第二对象语句进行去重处理,在源数据库中对多个类型的检测数据语句进行性能检测得到第一性能结果,得到多个类型的检测数据语句,对多个类型的检测数据语句进行兼容验证,将兼容验证成功的检测数据语句存入迁移消费者队列,通过在目标数据库中执行pb-bench压测增加负载,模拟源数据库中的负载环境,查询目标数据库的统计视图信息,启动消费者流程,多线程消费迁移消费者队列中的检测数据语句,在目标数据库中执行检测数据语句,进行性能检测得到第二性能结果,将第一性能结构与第二性能结构进行比较,保存对比结果,根据第一性能结果以及第二性能结果得到性能对比报告,根据性能对比报告输出迁移指导方案。
在本公开的一种示例实施例中,如图14所示,可以构建数据库迁移系统,数据库迁移系统中包括迁移评估子系统、迁移改造子系统和割接管控子系统,其中,迁移评估子系统中包括数据库智能采集模块、源库画像分析模块和数据库迁移评估模块,迁移改造子系统中包括选择迁移对象功能、结构迁移功能、结构订正功能、数据迁移功能、自动改造功能、语句兼容验证模块和性能对比模块,割接管控子系统中包括数据库备份模块、反向同步功能模块,数据校验功能模块。提供将源数据库中的数据迁移至目标数据库能力。割接管控子系统可以保障应用能快速进行割接或回退,降低用户停服时间,确保用户割接零风险。
其中,数据库智能采集模块可以用于获取源数据库的多个参数信息,源库画像分析模块可以用于根据多个参数信息刻画源数据库的画像,数据库迁移评估模块可以用于确定源数据库与目标数据库之间的兼容性,选择迁移对象功能可以用于确定需要进行数据迁移的迁移对象,结构迁移功能可以用于根据源数据库与目标数据库之间的兼容性对数据结构进行迁移,结构订正功能可以用于根据源数据库与目标数据库之间的兼容性对第一数据结构进行订正得到第二数据结构,数据迁移功能可以用于根据源数据库与目标数据库之间的兼容性对元数据进行迁移,自动改造功能可以用于根据源数据库与目标数据库之间的兼容性对第一元数据进行修复得到第二元数据,应用语句兼容验证模块可以用于对迁移之后的语句进行兼容验证,性能对比模块可以用于对源数据库以及目标数据库的性能进行对比,数据库备份模块可以用于对源数据库中的数据进行备份,反向同步功能模块可以用于满足反向同步机制,数据校验功能模块可以用于对目标数据库中的数据进行校验。
本公开的一种实施例提供的数据迁移方法中,可以获取源数据库的多个参数信息,根据多个参数信息刻画源数据库的画像,确定源数据库与目标数据库之间的兼容性,响应于对象选择操作,确定数据迁移范围,并确定需要进行数据迁移的迁移对象,获取迁移对象对应的数据结构以及迁移对象对应的元数据,根据源数据库与目标数据库之间的兼容性对数据结构进行迁移,根据源数据库与目标数据库之间的兼容性对元数据进行迁移。通过本公开的实施例,可以根据源数据库与目标数据库之间的兼容性指导数据迁移,避免将数据迁移至目标数据库后,出现不兼容的情况,从而提升系统的稳定性,进而提升了数据迁移的效率。通过本公开的实施例,可以提高迁移效率,且对于数据库的兼容性开发具有指导参考意义,提高兼容开发的效率以及准确性。
需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
此外,在本公开的示例性实施方式中,还提供了一种数据迁移装置。参照图15所示,一种数据迁移装置1500包括:参数信息获取模块1510、兼容性获取模块1520、迁移对象确定模块1530、迁移元素获取模块1540和数据迁移模块1540。
其中,参数信息获取模块,用于获取源数据库的多个参数信息,根据多个参数信息刻画源数据库的画像;兼容性获取模块,用于确定源数据库与目标数据库之间的兼容性;其中,源数据库与目标数据库之间的兼容性与源数据库的画像相关;迁移对象确定模块,用于响应于对象选择操作,确定数据迁移范围,确定需要进行数据迁移的迁移对象;迁移元素获取模块,用于获取迁移对象对应的数据结构以及迁移对象对应的元数据;数据迁移模块,用于根据源数据库与目标数据库之间的兼容性对数据结构进行迁移,根据源数据库与目标数据库之间的兼容性对元数据进行迁移。
在本公开的一种示例性实施例中,基于前述方案,确定源数据库与目标数据库之间的兼容性,装置还包括:第一对象语句获取单元,用于获取源数据库中的第一对象语句,在目标数据库中执行第一对象语句;执行成功处理单元,用于在第一对象语句执行成功时,第一对象语句在目标数据库中兼容;执行失败处理单元,用于在第一对象语句执行不成功时,第一对象语句在目标数据库中不兼容;第一兼容性确定单元,用于根据第一对象语句在目标数据库中的兼容情况确定源数据库与目标数据库之间的兼容性。
在本公开的一种示例性实施例中,基于前述方案,确定源数据库与目标数据库之间的兼容性,装置还包括:定义语句获取单元,用于获取源数据库对应的元数据以及源数据库对应的定义语句;对象特征确定单元,用于根据源数据库对应的元数据以及源数据库对应的定义语句确定源数据库的数据库对象特征;第二兼容性确定单元,用于根据源数据库的数据库对象特征以及目标数据库的对象评估规则确定源数据库与目标数据库之间的兼容性。
在本公开的一种示例性实施例中,基于前述方案,根据源数据库与目标数据库之间的兼容性对数据结构进行迁移,装置还包括:第一数据结构获取单元,用于获取数据结构中的第一数据结构;其中,第一迁移结构为数据结构迁移过程中迁移失败的数据结构;数据结构订正单元,用于根据源数据库与目标数据库之间的兼容性对第一数据结构进行订正得到第二数据结构;第二数据结构迁移单元,用于对第二数据结构进行迁移。
在本公开的一种示例性实施例中,基于前述方案,根据源数据库与目标数据库之间的兼容性对元数据进行迁移,装置还包括:第一元数据获取单元,用于获取元数据中的第一元数据;其中,第一元数据为元数据迁移过程中迁移失败的元数据;源数据修复单元,用于根据源数据库与目标数据库之间的兼容性对第一元数据进行修复得到第二元数据;第二元数据迁移单元,用于对第二元数据进行迁移。
在本公开的一种示例性实施例中,基于前述方案,装置还包括:第一检测数据语句确定单元,用于在数据迁移完成之后,确定多个类型的检测数据语句;第一性能结果获取单元,用于获取源数据库对应的负载环境,在源数据库中对多个类型的检测数据语句进行性能检测得到第一性能结果;负载环境模拟单元,用于在目标数据库中模拟负载环境;第二性能结果获取单元,用于在目标数据库中对多个类型的检测数据语句进行性能检测得到第二性能结果;性能对比报告获取单元,用于根据第一性能结果以及第二性能结果得到性能对比报告。
在本公开的一种示例性实施例中,基于前述方案,在目标数据库中确定多个类型的检测数据语句,装置还包括:目标迁移对象确定单元,用于确定多个目标迁移对象;其中,迁移对象中包括目标迁移对象;第二对象语句获取单元,用于获取目标迁移对象的第二对象语句,根据第二对象语句对应的参数类型对第二对象语句进行去重处理得到多个类型的检测数据语句。
由于本公开的示例实施例的数据迁移装置的各个功能模块与上述数据迁移方法的示例实施例的步骤对应,因此对于本公开装置实施例中未披露的细节,请参照本公开上述的数据迁移方法的实施例。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,在本公开的示例性实施例中,还提供了一种能够实现上述数据迁移方法的电子设备。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施例、完全的软件实施例(包括固件、微代码等),或硬件和软件方面结合的实施例,这里可以统称为“电路”、“模块”或“系统”。
下面参照图16来描述根据本公开的这种实施例的电子设备1600。图16显示的电子设备1600仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图16所示,电子设备1600以通用计算设备的形式表现。电子设备1600的组件可以包括但不限于:上述至少一个处理单元1610、上述至少一个存储单元1620、连接不同系统组件(包括存储单元1620和处理单元1610)的总线1630、显示单元1640。
其中,存储单元存储有程序代码,程序代码可以被处理单元1610执行,使得处理单元1610执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。例如,处理单元1610可以执行如图2中所示的步骤S210,获取源数据库的多个参数信息,根据多个参数信息刻画源数据库的画像;步骤S220,确定源数据库与目标数据库之间的兼容性;其中,源数据库与目标数据库之间的兼容性与源数据库的画像相关;步骤S230,响应于对象选择操作,确定数据迁移范围,确定需要进行数据迁移的迁移对象;步骤S240,获取迁移对象对应的数据结构以及迁移对象对应的元数据;步骤S250,根据源数据库与目标数据库之间的兼容性对数据结构进行迁移,根据源数据库与目标数据库之间的兼容性对元数据进行迁移。
存储单元1620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)1621和/或高速缓存存储单元1622,还可以进一步包括只读存储单元(ROM)1623。
存储单元1620还可以包括具有一组(至少一个)程序模块1625的程序/实用工具1624,这样的程序模块1625包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速开放端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备1600也可以与一个或多个外部设备1670(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1600交互的设备通信,和/或与使得该电子设备1600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1650进行。并且,电子设备1600还可以通过网络适配器1660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1660通过总线1630与电子设备1600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
Claims (10)
1.一种数据迁移方法,其特征在于,所述方法包括:
获取源数据库的多个参数信息,根据所述多个参数信息刻画所述源数据库的画像;
确定所述源数据库与目标数据库之间的兼容性;其中,所述源数据库与目标数据库之间的兼容性与所述源数据库的画像相关;
响应于对象选择操作,确定数据迁移范围,并确定需要进行数据迁移的迁移对象;
获取所述迁移对象对应的数据结构以及所述迁移对象对应的元数据;
根据所述源数据库与所述目标数据库之间的兼容性对所述数据结构进行迁移,根据所述源数据库与所述目标数据库之间的兼容性对所述元数据进行迁移。
2.根据权利要求1所述的方法,其特征在于,所述确定所述源数据库与目标数据库之间的兼容性,包括:
获取所述源数据库中的第一对象语句,在所述目标数据库中执行所述第一对象语句;
在所述第一对象语句执行成功时,所述第一对象语句在所述目标数据库中兼容;
在所述第一对象语句执行不成功时,所述第一对象语句在所述目标数据库中不兼容;
根据所述第一对象语句在所述目标数据库中的兼容情况确定所述源数据库与所述目标数据库之间的兼容性。
3.根据权利要求1所述的方法,其特征在于,所述确定所述源数据库与目标数据库之间的兼容性,包括:
获取所述源数据库对应的元数据以及所述源数据库对应的定义语句;
根据所述源数据库对应的元数据以及所述源数据库对应的定义语句确定所述源数据库的数据库对象特征;
根据所述源数据库的数据库对象特征以及所述目标数据库的对象评估规则确定所述源数据库与所述目标数据库之间的兼容性。
4.根据权利要求1所述的方法,其特征在于,所述根据所述源数据库与所述目标数据库之间的兼容性对所述数据结构进行迁移,包括:
获取所述数据结构中的第一数据结构;其中,所述第一迁移结构为数据结构迁移过程中迁移失败的数据结构;
根据所述源数据库与所述目标数据库之间的兼容性对所述第一数据结构进行订正得到第二数据结构;
对所述第二数据结构进行迁移。
5.根据权利要求1所述的方法,其特征在于,所述根据所述源数据库与所述目标数据库之间的兼容性对所述元数据进行迁移,包括:
获取所述元数据中的第一元数据;其中,所述第一元数据为所述元数据迁移过程中迁移失败的元数据;
根据所述源数据库与所述目标数据库之间的兼容性对所述第一元数据进行修复得到第二元数据;
对所述第二元数据进行迁移。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在数据迁移完成之后,确定多个类型的检测数据语句;
获取所述源数据库对应的负载环境,在所述源数据库中对所述多个类型的检测数据语句进行性能检测得到第一性能结果;
在所述目标数据库中模拟所述负载环境;
在所述目标数据库中对所述多个类型的检测数据语句进行性能检测得到第二性能结果;
根据所述第一性能结果以及所述第二性能结果得到性能对比报告。
7.根据权利要求6所述的方法,其特征在于,所述在所述目标数据库中确定多个类型的检测数据语句,包括:
确定多个目标迁移对象;其中,所述迁移对象中包括所述目标迁移对象;
获取所述目标迁移对象的第二对象语句,根据所述第二对象语句对应的参数类型对所述第二对象语句进行去重处理得到多个类型的检测数据语句。
8.一种数据迁移装置,其特征在于,所述装置包括:
参数信息获取模块,用于获取源数据库的多个参数信息,根据所述多个参数信息刻画所述源数据库的画像;
兼容性获取模块,用于确定所述源数据库与目标数据库之间的兼容性;其中,所述源数据库与目标数据库之间的兼容性与所述源数据库的画像相关;
迁移对象确定模块,用于响应于对象选择操作,确定数据迁移范围,确定需要进行数据迁移的迁移对象;
迁移元素获取模块,用于获取所述迁移对象对应的数据结构以及所述迁移对象对应的元数据;
数据迁移模块,用于根据所述源数据库与所述目标数据库之间的兼容性对所述数据结构进行迁移,根据所述源数据库与所述目标数据库之间的兼容性对所述元数据进行迁移。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~7中任一项所述的方法。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;以及
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1~7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211055050.0A CN115328891A (zh) | 2022-08-31 | 2022-08-31 | 数据迁移方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211055050.0A CN115328891A (zh) | 2022-08-31 | 2022-08-31 | 数据迁移方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115328891A true CN115328891A (zh) | 2022-11-11 |
Family
ID=83928736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211055050.0A Pending CN115328891A (zh) | 2022-08-31 | 2022-08-31 | 数据迁移方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115328891A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117407428A (zh) * | 2023-11-21 | 2024-01-16 | 杭州沃趣科技股份有限公司 | 一种获取目标数据库的目标配置文件的数据处理系统 |
-
2022
- 2022-08-31 CN CN202211055050.0A patent/CN115328891A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117407428A (zh) * | 2023-11-21 | 2024-01-16 | 杭州沃趣科技股份有限公司 | 一种获取目标数据库的目标配置文件的数据处理系统 |
CN117407428B (zh) * | 2023-11-21 | 2024-04-19 | 杭州沃趣科技股份有限公司 | 一种获取目标数据库的目标配置文件的数据处理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3859533A2 (en) | Method and apparatus for testing map service, electronic device, storage medium and computer program product | |
AU2017327823B2 (en) | Test case generator built into data-integration workflow editor | |
US10983904B1 (en) | Test automation for data processing | |
CN110737591A (zh) | 网页性能评估方法、装置、服务器及存储介质 | |
CN111563014A (zh) | 接口服务性能测试方法、装置、设备和存储介质 | |
CN114862656A (zh) | 基于多gpu的分布式深度学习模型训练代价的获取方法 | |
CN111241111B (zh) | 数据查询方法及装置、数据对比方法及装置、介质及设备 | |
CN110955409B (zh) | 在云平台上创建资源的方法和装置 | |
CN112799939A (zh) | 增量代码覆盖率测试方法及装置、存储介质、电子设备 | |
CN110688305B (zh) | 测试环境同步方法、装置、介质、电子设备 | |
CN115328891A (zh) | 数据迁移方法、装置、存储介质及电子设备 | |
WO2022198835A1 (zh) | 电子地图的测试方法、装置、电子设备及存储介质 | |
CN113094625A (zh) | 页面元素定位方法、装置、电子设备及存储介质 | |
CN115022201B (zh) | 一种数据处理功能测试方法、装置、设备及存储介质 | |
CN110609786A (zh) | 软件测试方法、装置、计算机设备和存储介质 | |
CN112416747A (zh) | 一种测试用例执行方法、装置、设备及介质 | |
CN113127357B (zh) | 单元测试方法、装置、设备、存储介质及程序产品 | |
US11714855B2 (en) | Virtual dialog system performance assessment and enrichment | |
US20220122038A1 (en) | Process Version Control for Business Process Management | |
CN114201729A (zh) | 一种矩阵运算方式的选择方法、装置、设备以及存储介质 | |
CN114171107A (zh) | 固态硬盘vpd信息的检测方法、装置、设备及存储介质 | |
CN110750569A (zh) | 数据提取方法、装置、设备及存储介质 | |
CN110968519A (zh) | 一种游戏测试方法、装置、服务器及存储介质 | |
CN112532747B (zh) | 用于输出信息的方法、装置、设备以及存储介质 | |
CN113626332B (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 |