一种数据库迁移评估的系统以及方法转让专利

申请号 : CN201710156747.X

文献号 : CN106934045B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴超

申请人 : 苏州浪潮智能科技有限公司

摘要 :

本发明公开了一种数据库迁移评估的系统以及方法,通过信息提取模块提取需要进行数据迁移的非K‑DB数据库内的数据对象信息、数据类型信息、函数信息以及存储过程信息;与信息提取模块相连的评估模块根据预存储的K‑DB数据库信息,分别对数据对象信息、数据类型信息、函数信息以及存储过程信息进行评估,得出评估结果。评估系统通过自动分析非K‑DB数据库以及K‑DB数据库内对应的数据对象、数据类型、函数以及存储过程之间的差异性,进而得出非K‑DB数据库和K‑DB数据库之间的差异性,相较于由相关技术人员进行数据库迁移评估,评估系统使得非相关技术人员也可以进行数据库迁移评估,门槛较低。可见,本申请有利于降低数据库迁移评估的门槛。

权利要求 :

1.一种数据库迁移评估的系统,其特征在于,包括:

信息提取模块,用于提取需要进行数据迁移的非K-DB数据库内的数据对象信息、数据类型信息、函数信息以及存储过程信息,并将所述数据对象信息、所述数据类型信息、所述函数信息以及所述存储过程信息发送至评估模块;

与所述信息提取模块相连的所述评估模块,用于接收所述数据对象信息、所述数据类型信息、所述函数信息以及所述存储过程信息,并根据预存储的K-DB数据库信息,分别对所述数据对象信息、所述数据类型信息、所述函数信息以及所述存储过程信息进行评估,得出评估结果;

其中,所述评估模块包括:

数据对象评估单元,用于根据K-DB数据库数据对象信息,对所述数据对象信息进行评估,得出数据对象评估结果;

数据类型评估单元,用于根据K-DB数据库数据类型信息,对所述数据类型信息进行评估,得出数据类型评估结果;

函数评估单元,用于根据K-DB数据库函数信息,对所述函数信息进行评估,得出函数评估结果;

存储过程评估单元,用于根据K-DB数据库存储过程信息,对所述存储过程信息进行评估,得出存储过程评估结果;

评估报告生成模块,用于根据所述数据对象评估结果、所述数据类型评估结果、所述函数评估结果以及所述存储过程评估结果,自动生成评估报告;

其中,所述K-DB数据库信息包括所述K-DB数据库数据对象信息、所述K-DB数据库数据类型信息、所述K-DB数据库函数信息以及所述K-DB数据库存储过程信息。

2.如权利要求1所述的系统,其特征在于,所述评估报告生成模块包括:PDF生成单元,用于根据所述数据对象评估结果、所述数据类型评估结果、所述函数评估结果以及所述存储过程评估结果,自动生成PDF评估报告。

3.如权利要求1所述的系统,其特征在于,还包括:

自动发送模块,用于根据预设发送方式,将所述评估报告自动发送至预设接收目标。

4.如权利要求3所述的系统,其特征在于,所述自动发送模块包括:邮件发送单元,用于将所述评估报告以邮件形式,自动发送至所述预设接收目标。

5.如权利要求1至4任一项所述的系统,其特征在于,所述信息提取模块包括:连接单元,用于通过JDBC接口,与所述非K-DB数据库建立连接。

6.一种数据库迁移评估的方法,其特征在于,包括:

提取需要进行数据迁移的非K-DB数据库内的数据对象信息、数据类型信息、函数信息以及存储过程信息;

根据预存储的K-DB数据库信息,分别对所述数据对象信息、所述数据类型信息、所述函数信息以及所述存储过程信息进行评估,得出评估结果;

其中,所述根据预存储的K-DB数据库信息,分别对所述数据对象信息、所述数据类型信息、所述函数信息以及所述存储过程信息进行评估,得出评估结果包括:根据K-DB数据库数据对象信息,对所述数据对象信息进行评估,得出数据对象评估结果;

根据K-DB数据库数据类型信息,对所述数据类型信息进行评估,得出数据类型评估结果;

根据K-DB数据库函数信息,对所述函数信息进行评估,得出函数评估结果;

根据K-DB数据库存储过程信息,对所述存储过程信息进行评估,得出存储过程评估结果;

根据所述数据对象评估结果、所述数据类型评估结果、所述函数评估结果以及所述存储过程评估结果,自动生成评估报告;

其中,所述K-DB数据库信息包括所述K-DB数据库数据对象信息、所述K-DB数据库数据类型信息、所述K-DB数据库函数信息以及所述K-DB数据库存储过程信息。

说明书 :

一种数据库迁移评估的系统以及方法

技术领域

[0001] 本发明涉及数据库技术领域,特别是涉及一种数据库迁移评估的系统以及方法。

背景技术

[0002] 随着数据库技术的发展进步,数据库的应用也越来越广泛。
[0003] 大型数据库是关键业务系统正常运行的必要支撑,其重要性不言而喻。不同的数据库,其所存储的数据的格式以及存储方式也会相应不同,例如,Oracle数据库与K-DB数据库。而由于系统升级或者是其它原因,需要将存储于数据库内的数据迁移至另一数据库内,即将数据库内的数据存储至另一数据库。在数据库迁移过程中,为了使数据损失降到最低,需要综合衡量两个数据库之间的差异性,即当前数据库和另一数据库之间的数据对象以及存储方式等的差异性。
[0004] K-DB数据库的性能较突出,是一款拥有面向关键行业应用的大型数据库产品,适合大规模事务处理、联机数据分析处理的国产数据库,故可以将数据从其它非K-DB数据库迁移至K-DB数据库。现有技术中的数据库差异性一般是由相关技术人员主动去评估,其门槛较高,即需要掌握一定技术的人员才可进行评估。但是,对于一些非相关技术人员,例如市场销售人员等,不能进行数据库迁移的评估。综上所述,如何降低数据库迁移评估的门槛是本领域亟待解决的问题。

发明内容

[0005] 本发明的目的是提供一种数据库迁移评估的系统以及方法,目的在于解决现有技术中数据库迁移评估的门槛较高的问题。
[0006] 为解决上述技术问题,本发明提供一种数据库迁移评估的系统,该系统包括:
[0007] 信息提取模块,用于提取需要进行数据迁移的非K-DB数据库内的数据对象信息、数据类型信息、函数信息以及存储过程信息,并将所述数据对象信息、所述数据类型信息、所述函数信息以及所述存储过程信息发送至评估模块;
[0008] 与所述信息提取模块相连的所述评估模块,用于接收所述数据对象信息、所述数据类型信息、所述函数信息以及所述存储过程信息,并根据预存储的K-DB数据库信息,分别对所述数据对象信息、所述数据类型信息、所述函数信息以及所述存储过程信息进行评估,得出评估结果。
[0009] 可选地,所述评估模块包括:
[0010] 数据对象评估单元,用于根据K-DB数据库数据对象信息,对所述数据对象信息进行评估,得出数据对象评估结果;
[0011] 数据类型评估单元,用于根据K-DB数据库数据类型信息,对所述数据类型信息进行评估,得出数据类型评估结果;
[0012] 函数评估单元,用于根据K-DB数据库函数信息,对所述函数信息进行评估,得出函数评估结果;
[0013] 存储过程评估单元,用于根据K-DB数据库存储过程信息,对所述存储过程信息进行评估,得出存储过程评估结果;
[0014] 其中,所述K-DB数据库信息包括所述K-DB数据库数据对象信息、所述K-DB数据库数据类型信息、所述K-DB数据库函数信息以及所述K-DB数据库存储过程信息。
[0015] 可选地,还包括:
[0016] 评估报告生成模块,用于根据所述数据对象评估结果、所述数据类型评估结果、所述函数评估结果以及所述存储过程评估结果,自动生成评估报告。
[0017] 可选地,所述评估报告生成模块包括:
[0018] PDF生成单元,用于根据所述数据对象评估结果、所述数据类型评估结果、所述函数评估结果以及所述存储过程评估结果,自动生成PDF评估报告。
[0019] 可选地,还包括:
[0020] 自动发送模块,用于根据预设发送方式,将所述评估报告自动发送至预设接收目标。
[0021] 可选地,所述自动发送模块包括:
[0022] 邮件发送单元,用于将所述评估报告以邮件形式,自动发送至所述预设接收目标。
[0023] 可选地,所述信息提取模块包括:
[0024] 连接单元,用于通过JDBC接口,与所述非K-DB数据库建立连接。
[0025] 此外,本发明还提供了一种数据库迁移评估的方法,该方法包括:
[0026] 提取需要进行数据迁移的非K-DB数据库内的数据对象信息、数据类型信息、函数信息以及存储过程信息;
[0027] 根据预存储的K-DB数据库信息,分别对所述数据对象信息、所述数据类型信息、所述函数信息以及所述存储过程信息进行评估,得出评估结果。
[0028] 可选地,所述根据预存储的K-DB数据库信息,分别对所述数据对象信息、所述数据类型信息、所述函数信息以及所述存储过程信息进行评估,得出评估结果包括:
[0029] 根据K-DB数据库数据对象信息,对所述数据对象信息进行评估,得出数据对象评估结果;
[0030] 根据K-DB数据库数据类型信息,对所述数据类型信息进行评估,得出数据类型评估结果;
[0031] 根据K-DB数据库函数信息,对所述函数信息进行评估,得出函数评估结果;
[0032] 根据K-DB数据库存储过程信息,对所述存储过程信息进行评估,得出存储过程评估结果;
[0033] 其中,所述K-DB数据库信息包括所述K-DB数据库数据对象信息、所述K-DB数据库数据类型信息、所述K-DB数据库函数信息以及所述K-DB数据库存储过程信息。
[0034] 可选地,在所述根据预存储的K-DB数据库信息,分别对所述数据对象信息、所述数据类型信息、所述函数信息以及所述存储过程信息进行评估,得出评估结果之后还包括:
[0035] 根据所述数据对象评估结果、所述数据类型评估结果、所述函数评估结果以及所述存储过程评估结果,自动生成评估报告。
[0036] 本发明所提供的一种数据库迁移评估的系统以及方法,通过信息提取模块提取需要进行数据迁移的非K-DB数据库内的数据对象信息、数据类型信息、函数信息以及存储过程信息,并将上述数据对象信息、上述数据类型信息、上述函数信息以及上述存储过程信息发送至评估模块;与上述信息提取模块相连的上述评估模块接收上述数据对象信息、上述数据类型信息、上述函数信息以及上述存储过程信息,并根据预存储的K-DB数据库信息,分别对上述数据对象信息、上述数据类型信息、上述函数信息以及上述存储过程信息进行评估,得出评估结果。评估系统通过自动分析非K-DB数据库以及K-DB数据库内对应的数据对象、数据类型、函数以及存储过程之间的差异性,进而得出非K-DB数据库和K-DB数据库之间的差异性。相较于由相关技术人员进行数据库迁移评估,评估系统使得非相关技术人员也可以进行数据库迁移评估,门槛较低。可见,本申请有利于降低数据库迁移评估的门槛。

附图说明

[0037] 为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0038] 图1为本发明实施例所提供的数据库迁移评估系统的一种具体实施方式的结构示意框图;
[0039] 图2为本发明实施例所提供的数据库迁移评估方法的一种具体实施方式的流程示意图。

具体实施方式

[0040] 为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0041] 请参见图1,图1为本发明实施例所提供的数据库迁移评估系统的一种具体实施方式的结构示意框图,该系统包括:
[0042] 信息提取模块101,用于提取非K-DB数据库内的数据对象信息、数据类型信息、函数信息以及存储过程信息,并将所述数据对象信息、所述数据类型信息、所述函数信息以及所述存储过程信息发送至评估模块。
[0043] 需要说明的是,上述非K-DB数据库可以是指不同于K-DB数据库的数据库,其具体可以表现为Oracle数据库、DB2数据库、Sqlserver数据库以及Sybase数据库中的任意一种,当然,非K-DB数据库还可以表现为除了上文所提及的非K-DB数据库,在此不作限定。
[0044] 上述数据对象信息可以是指非K-DB数据库所包含的数据对象信息,即非K-DB数据库内有哪些数据对象。例如,对于Oracle数据库来说,其所包含的数据对象可以有索引、触发器以及函数等。
[0045] 上述数据类型信息可以是指非K-DB数据库所存储数据的类型信息,即非K-DB数据库内所存储的数据有哪些类型。例如,Oracle数据库中的数据类型可以包括Varchar、char、int、clod、flot以及date等。
[0046] 上述函数信息可以是指非K-DB数据库内的所包含的函数信息,即非K-DB数据库内具体包含哪种类型的函数,以及这些函数具体信息。例如,Oracle数据库内所包含的函数可以包括算法函数、字符串函数、日期函数、比较函数、转换函数、加密解密函数、大对象函数以及分析函数等。
[0047] 上述存储过程信息可以是指非K-DB数据库的数据存储过程所能使用到的存储语法信息。
[0048] 可以理解的是,信息提取模块需要连接至非K-DB数据库,才可以进行信息的提取,故在本发明的一些实施例中,所述信息提取模块可以包括:连接单元,用于通过JDBC接口,与所述非K-DB数据库建立连接。
[0049] 显而易见地,信息提取模块除了可以通过JDBC连接方式,与非K-DB数据库相连外,而信息提取模块与非K-DB数据库之间的通信协议可以为TCP/IP标准协议。当然,信息提取模块与非K-DB数据库的连接发送以及通信协议还可以为其它,在此不作限定。
[0050] 与所述信息提取模块相连的所述评估模块102,用于接收所述数据对象信息、所述数据类型信息、所述函数信息以及所述存储过程信息,并根据预存储的K-DB数据库信息,分别对所述数据对象信息、所述数据类型信息、所述函数信息以及所述存储过程信息进行评估,得出评估结果。
[0051] 需要说明的是,上述预存储的K-DB数据库信息可以是指预先提取的K-DB数据库信息,其可以包括K-DB数据库内的数据对象信息、数据类型信息、函数信息以及存储过程信息。K-DB数据库信息可以具体存储于知识库中,即预先建立一个知识库,用于存储K-DB数据库信息。
[0052] 可以理解的是,上述评估模块可以只与上述信息提取模块相连,而不用与非K-DB数据库相连,即信息提取模块与非K-DB数据库相连,提取出相应的信息,然后将所提取的信息,发送至评估模块进行评估。
[0053] 根据K-DB数据库信息,对非K-DB数据库信息进行评估,可以得出K-DB数据库与非K-DB数据库之间的差异性。具体的评估过程可以是将K-DB数据库与非K-DB数据库数据对象、数据类型、函数以及存储过程进行对比,寻找两者之间的差异性。
[0054] 在本发明的一些实施例中,上述评估模块可以包括:数据对象评估单元,用于根据K-DB数据库数据对象信息,对所述数据对象信息进行评估,得出数据对象评估结果;数据类型评估单元,用于根据K-DB数据库数据类型信息,对所述数据类型信息进行评估,得出数据类型评估结果;函数评估单元,用于根据K-DB数据库函数信息,对所述函数信息进行评估,得出函数评估结果;存储过程评估单元,用于根据K-DB数据库存储过程信息,对所述存储过程信息进行评估,得出存储过程评估结果;其中,所述K-DB数据库信息包括所述K-DB数据库数据对象信息、所述K-DB数据库数据类型信息、所述K-DB数据库函数信息以及所述K-DB数据库存储过程信息。
[0055] 需要说明的是,数据对象评估单元基于K-DB数据库数据对象信息,对非K-DB数据库的数据对象信息进行评估。其评估的指标可以包括数据对象的类型、数据对象的数量、数据对象的复杂度、数据对象编译的难度以及数据对象的迁移发送。
[0056] K-DB数据库数据对象与非K-DB数据库数据对象存在差异性,即K-DB数据库的数据对象与非K-DB数据库的数据对象不一致,例如,K-DB数据库只存在B-TREE和普通索引,不存在位图索引、常索引、反转建索引不一致。
[0057] 数据类型评估单元主要是对数据类型的存在与否、字符长度以及是否可读等方面进行分析评估,例如,K-DB数据库不存在type类型,但Oracle数据库存在type类型。
[0058] 函数评估单元主要是对K-DB数据库与非K-DB数据库之间的兼容性进行评估,即对两者之间的函数名是否一致以及函数数量等方面进行分析评估。例如,对应K-DB数据库和Oracle数据库来说,Oracle数据库中wmsys.wm_concat()函数在K-DB数据库中叫做aggr_concat函数。
[0059] 存储过程评估单元主要是对存储过程之间的差异性进行评估,其评估指标可以包括存储过程的数量、存储过程的负载度以及存储过程编译的难度等。
[0060] 由于K-DB数据库与非K-DB数据库之间存在差异性,即存在不兼容性,为了提高数据库迁移的可行性,可以对不兼容性进行处理。例如,对于K-DB数据库与Oracle数据库来说,位图索引可以使用分区加并行的方式替代。K-DB数据库不存在的数据类型,可以用创建包进行创建。
[0061] 可以理解的是,数据库迁移评估系统可以基于Java语言以及SSH架构实现。此时,利用Java架构的性质,数据库迁移评估系统通过Weblogic中间件,可以运行于不同的服务平台。
[0062] 在得出数据库迁移评估结果后,为了直观地反应评估结果,可以将评估结果整理生成相应的评估报告。
[0063] 故在本发明的一些实施例中,数据库迁移评估系统还可以包括:评估报告生成模块,用于根据所述数据对象评估结果、所述数据类型评估结果、所述函数评估结果以及所述存储过程评估结果,自动生成评估报告。
[0064] 可以理解的是,所生成的评估报告可以具体给出各个评估对象的评估结果,也可以只给出最终的可行性建议。当然,对于迁移过程中的差异性,还可以适当地给出相应的迁移应对建议。
[0065] 评估报告的形式具体可以表现为PDF形式的评估报告,也可以是word形式的评估报告。
[0066] 故在本发明的一些实施例中,上述评估报告生成模块还可以包括:PDF生成单元,用于根据所述数据对象评估结果、所述数据类型评估结果、所述函数评估结果以及所述存储过程评估结果,自动生成PDF评估报告。
[0067] 在生成相应评估报告之后,为了及时将评估结果通知相关人员,可以将生成的评估报告进行自动发送。
[0068] 故在本发明的一些实施例中,上述数据库迁移评估系统还可以包括:自动发送模块,用于根据预设发送方式,将所述评估报告自动发送至预设接收目标。
[0069] 需要说明的是,上述预设发送方式可以是指发送评估报告时所使用的方式,例如,可以具体为邮件形式,短信形式,亦或者是其它形式,在此不作限定。
[0070] 上述预设接收目标可以是指预先设定的接收人,其具体可以表现为数据库的管理员,或者是迁移评估人员,亦或者是一些非相关技术人员,在此不作限定。
[0071] 在本发明的一些实施例中,上述自动发送模块包括:邮件发送单元,用于将所述评估报告以邮件形式,自动发送至所述预设接收目标。
[0072] 本发明实施例所提供的数据库迁移评估的系统,通过信息提取模块提取需要进行数据迁移的非K-DB数据库内的数据对象信息、数据类型信息、函数信息以及存储过程信息,并将数据对象信息、数据类型信息、函数信息以及存储过程信息发送至评估模块;与信息提取模块相连的评估模块接收数据对象信息、数据类型信息、函数信息以及存储过程信息,并根据预存储的K-DB数据库信息,分别对数据对象信息、数据类型信息、函数信息以及存储过程信息进行评估,得出评估结果。评估系统通过自动分析非K-DB数据库以及K-DB数据库内对应的数据对象、数据类型、函数以及存储过程之间的差异性,进而得出非K-DB数据库和K-DB数据库之间的差异性,相较于由相关技术人员进行数据库迁移评估,评估系统使得非相关技术人员也可以进行数据库迁移评估,门槛较低。可以看见,该系统有利于降低数据库迁移评估的门槛。
[0073] 下面对本发明实施例提供的数据库迁移评估方法进行介绍,下文描述的数据库迁移评估方法与上文描述的数据库迁移评估系统可相互对应参照。
[0074] 图2为本发明实施例所提供的数据库迁移评估方法的一种具体实施方式的流程示意图,该方法包括以下步骤:
[0075] 步骤201:提取需要进行数据迁移的非K-DB数据库内的数据对象信息、数据类型信息、函数信息以及存储过程信息;
[0076] 步骤202:根据预存储的K-DB数据库信息,分别对所述数据对象信息、所述数据类型信息、所述函数信息以及所述存储过程信息进行评估,得出评估结果。
[0077] 可选地,所述根据预存储的K-DB数据库信息,分别对所述数据对象信息、所述数据类型信息、所述函数信息以及所述存储过程信息进行评估,得出评估结果包括:
[0078] 根据K-DB数据库数据对象信息,对所述数据对象信息进行评估,得出数据对象评估结果;
[0079] 根据K-DB数据库数据类型信息,对所述数据类型信息进行评估,得出数据类型评估结果;
[0080] 根据K-DB数据库函数信息,对所述函数信息进行评估,得出函数评估结果;
[0081] 根据K-DB数据库存储过程信息,对所述存储过程信息进行评估,得出存储过程评估结果;
[0082] 其中,所述K-DB数据库信息包括所述K-DB数据库数据对象信息、所述K-DB数据库数据类型信息、所述K-DB数据库函数信息以及所述K-DB数据库存储过程信息。
[0083] 可选地,在所述根据预存储的K-DB数据库信息,分别对所述数据对象信息、所述数据类型信息、所述函数信息以及所述存储过程信息进行评估,得出评估结果之后还包括:
[0084] 根据所述数据对象评估结果、所述数据类型评估结果、所述函数评估结果以及所述存储过程评估结果,自动生成评估报告。
[0085] 本发明实施例所提供的数据库迁移评估的方法,评估系统通过自动分析非K-DB数据库以及K-DB数据库内对应的数据对象、数据类型、函数以及存储过程之间的差异性,进而得出非K-DB数据库和K-DB数据库之间的差异性,相较于由相关技术人员进行数据库迁移评估,评估系统使得非相关技术人员也可以进行数据库迁移评估,门槛较低。可见,该方法有利于降低数据库迁移评估的门槛。
[0086] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0087] 专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0088] 结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
[0089] 以上对本发明所提供的数据库迁移评估的系统以及方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。