CN113448944B - 数据库的数据评估方法、装置、计算机设备和存储介质 - Google Patents
数据库的数据评估方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113448944B CN113448944B CN202110738667.1A CN202110738667A CN113448944B CN 113448944 B CN113448944 B CN 113448944B CN 202110738667 A CN202110738667 A CN 202110738667A CN 113448944 B CN113448944 B CN 113448944B
- Authority
- CN
- China
- Prior art keywords
- database
- conversion
- conversion analysis
- analysis results
- workload
- 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.)
- Active
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
-
- 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
- G06F16/2443—Stored procedures
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及数据处理领域,提供一种数据库的数据评估方法、装置、计算机设备和存储介质,方法包括:获取待转换的数据库的目标指标信息;在当前时间不处于处理高峰时间段内时,对数据库进行扫描,获取从数据库中成功扫描的与目标指标信息对应的第一SQL语句与第一存储过程;对第一SQL语句与第一存储过程进行分析生成对应的第一转换分析结果与第二转换分析结果;基于第一转换分析结果、第二转换分析结果及工作量映射表,生成数据库的自动化率、人工覆盖率与改造工作量;基于自动化率、人工覆盖率与改造工作量生成数据库的评估报告。本申请能准确评估出待转换的数据库的数据情况。本申请还可以应用于区块链领域,上述评估报告等数据可以存储于区块链上。
Description
技术领域
本申请涉及数据处理技术领域,具体涉及一种数据库的数据评估方法、装置、计算机设备和存储介质。
背景技术
在大环境去Oracle数据库的背景下,有很多企业具有把Oracle数据库直接转换成其他数据库的业务需求。数据库的转换过程中会涉及到代码数据的改造,且改造工作比较巨大、繁琐,通常需要提前安排一定的人力资源来完成相应改造。现有的确定代码数据的改造工作量的方式是由改造负责人根据主观观念,例如根据工作经历来对所需的改造工作量进行评估。这种评估方式主观性较强,在没有提前准确了解待转换的数据库的数据情况的基础上,易造成对工作量的估算不够有效和准确,不可避免的导致工作量评估出现过多或者过少的情况。如果工作量估算过多会导致后续人力被浪费严重,而工作量估算过少又会导致需求量过多,人力严重不足。因此,现有缺乏一种在进行数据库转换前能够准确了解该数据库的数据情况的技术手段,从而容易造成对于待转换的数据库的数据改造所需工作量的评估存在准确性较低的问题。
发明内容
本申请的主要目的为提供一种数据库的数据评估方法、装置、计算机设备和存储介质,旨在解决现有缺乏一种在进行数据库转换前能够准确了解该数据库的数据情况的技术手段,从而容易造成对于待转换的数据库的数据改造所需工作量的评估存在准确性较低的技术问题。
本申请提出一种数据库的数据评估方法,所述方法包括步骤:
获取待转换的数据库的目标指标信息;
判断当前时间是否处于所述数据库的处理高峰时间段内;
若不处于所述数据库的处理高峰时间段内,则基于所述目标指标数据对所述数据库进行扫描处理,获取从所述数据库中成功扫描的与所述目标指标信息对应的第一SQL语句,以及成功扫描的与所述目标指标信息对应的第一存储过程;
对所有所述第一SQL语句进行转换分析处理,生成与各所述第一SQL语句分别对应的第一转换分析结果;其中,所述第一转换分析结果的内容包括可自动转化或者不可自动转换;
对所有所述第一存储过程进行转换分析处理,生成与各所述第一存储过程分别对应的第二转换分析结果;其中,所述第二转换分析结果的内容包括可自动转化或者不可自动转换;
基于所有所述第一转换分析结果与所有所述第二转换分析结果,生成与所述数据库对应的自动化率,以及与所述数据库对应的人工覆盖率;
基于所有所述第一转换分析结果、所有所述第二转换分析结果以及预设的工作量映射表,生成与所述数据库对应的改造工作量;
基于所述自动化率、所述人工覆盖率与所述改造工作量,生成与所述数据库对应的评估报告。
可选地,所述对所有所述第一SQL语句进行转换分析处理,生成与各所述第一SQL语句分别对应的第一转换分析结果的步骤,包括:
获取指定SQL语句;其中,所述指定SQL语句为所有所述第一SQL语句中的任意一个语句;
对所述指定SQL语句进行语法分析,生成对应的语法树;
对所述语法树中的各个节点进行扫描处理,判断预设的策略数据库中是否包含有与各个所述节点一一匹配的自动转化策略;
若包含有与各个所述节点一一匹配的自动转化策略,则生成与所述指定SQL语句对应的可自动转化的第一转换分析结果;
若未包含有与各个所述节点一一匹配的自动转化策略,则生成与所述指定SQL语句对应的不可自动转化的第一转换分析结果。
可选地,所述基于所有所述第一转换分析结果与所有所述第二转换分析结果,生成与所述数据库对应的自动化率,以及与所述数据库对应的人工覆盖率的步骤,包括:
对转换分析结果进行统计分析,筛选出内容为可自动转换的第一指定转换分析结果,以及筛选出内容为不可自动转换的第二指定转换分析结果;其中,所述转换分析结果包括所述第一转换分析结果与所述第二转换分析结果;
获取所述第一指定转换分析结果的第一数量,以及获取所述第二指定转换分析结果的第二数量;
对所述第一数量与所述第二数量进行求和得到第三数量;
计算所述第一数量与所述第三数量的第一商值;
将所述第一商值作为与所述数据库对应的所述自动化率;
计算所述第二数量与所述第三数量的第二商值;
将所述第二商值作为与所述数据库对应的所述人工覆盖率。
可选地,所述基于所有所述第一转换分析结果、所有所述第二转换分析结果以及预设的工作量映射表,生成与所述数据库对应的改造工作量的步骤,包括:
对所有所述第一转换分析结果进行统计处理,获取所有所述第一转换分析结果中内容为不可自动转换的第三指定转换分析结果的第四数量;
对所有所述第二转换分析结果进行统计处理,获取所有所述第二转换分析结果中内容为不可自动转换的第四指定转换分析结果的第五数量;
获取预设的SQL语句-工作量映射表,以及预设的存储过程-工作量映射表;
从所述SQL语句-工作量映射表中查询出与所述第四数量对应的第一工作量;
从所述存储过程-工作量映射表中查询出与所述第五数量对应的第二工作量;
基于所述第一工作量与所述第二工作量生成与所述数据库对应的所述改造工作量。
可选地,所述判断当前时间是否处于所述数据库的处理高峰时间段内的步骤之前,包括:
获取所述数据库在预设时间周期的指定时间段内的资源消耗数据;
对所述预设时间周期、所述指定时间段以及所述资源消耗数据进行统计分析,生成相应的资源消耗统计表;
获取预设的资源消耗阈值;
基于所述资源消耗统计表,分别获取所述数据库在所述预设时间周期中每一天的资源消耗数据大于所述资源消耗阈值的第一时间段;
计算所有所述第一时间段的交集,得到对应的第二时间段;
将所述第二时间段作为所述处理高峰时间段。
可选地,所述基于所述自动化率、所述人工覆盖率与所述改造工作量,生成与所述数据库对应的评估报告的步骤,包括:
获取所述自动化率、所述人工覆盖率与所述改造工作量;
获取预设的报告模板;其中,所述报告模板至少包括自动化率字段、人工覆盖率字段与改造工作量字段;
将所述自动化率、所述人工覆盖率与所述改造工作量填充至所述报告模板内的对应位置处,得到填充后的报告模板;
将所述填充后的报告模板作为所述评估报告。
可选地,所述基于所述目标指标数据对所述数据库进行扫描处理,获取从所述数据库中成功扫描的与所述目标指标信息对应的第一SQL语句,以及成功扫描的与所述目标指标信息对应的第一存储过程的步骤之后,包括:
获取所述数据库中无法成功扫描的第二SQL语句的第六数量,以及无法成功扫描的第二存储过程的第七数量;
获取所有所述第一SQL语句的第八数量,以及所有所述第一存储过程的第九数量;
计算所述第八数量与所述第九数量的第一和值;
计算所述第六数量、第七数量、第八数量与第九数量之间的第二和值;
计算所述第一和值与所述第二和值的第三商值;
将所述第三商值作为所述数据库的兼容性分值;
所述基于所述自动化率、所述人工覆盖率与所述改造工作量,生成与所述数据库对应的评估报告的步骤之后,包括:
将所述兼容性分值填充至所述评估报告内。
本申请还提供一种数据库的数据评估装置,包括:
第一获取模块,用于获取待转换的数据库的目标指标信息;
判断模块,用于判断当前时间是否处于所述数据库的处理高峰时间段内;
扫描模块,用于若不处于所述数据库的处理高峰时间段内,则基于所述目标指标数据对所述数据库进行扫描处理,获取从所述数据库中成功扫描的与所述目标指标信息对应的第一SQL语句,以及成功扫描的与所述目标指标信息对应的第一存储过程;
第一分析模块,用于对所有所述第一SQL语句进行转换分析处理,生成与各所述第一SQL语句分别对应的第一转换分析结果;其中,所述第一转换分析结果的内容包括可自动转化或者不可自动转换;
第二分析模块,用于对所有所述第一存储过程进行转换分析处理,生成与各所述第一存储过程分别对应的第二转换分析结果;其中,所述第二转换分析结果的内容包括可自动转化或者不可自动转换;
第一生成模块,用于基于所有所述第一转换分析结果与所有所述第二转换分析结果,生成与所述数据库对应的自动化率,以及与所述数据库对应的人工覆盖率;
第二生成模块,用于基于所有所述第一转换分析结果、所有所述第二转换分析结果以及预设的工作量映射表,生成与所述数据库对应的改造工作量;
第三生成模块,用于基于所述自动化率、所述人工覆盖率与所述改造工作量,生成与所述数据库对应的评估报告。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本申请中提供的数据库的数据评估方法、装置、计算机设备和存储介质,具有以下有益效果:
本申请中提供的数据库的数据评估方法、装置、计算机设备和存储介质,在将待转换的数据库转换成其他数据库之前,会预先对数据库的相关数据情况进行评估处理。具体会通过对从数据库中成功扫描的与数据库的目标指标信息对应的第一SQL语句,以及与所述目标指标信息对应的第一存储过程进行转换分析处理,来生成与数据库对应的自动化率、人工覆盖率以及改造工作量。进而基于得到的自动化率、人工覆盖率以及改造工作量来生成与数据库对应的评估报告。由于生成的评估报告中包含了转换前的数据库的相关数据情况,使得后续能够基于该评估报告精准地部署好将待转换的数据库转换成其他数据库时所需的数据准备与环境准备,以及根据生成的改造工作量准确地分配相应的人力资源进行数据库数据的改造工作,避免出现人力资源的浪费,提高数据库转换的智能性,有利于降低后续数据库转换的成本。
附图说明
图1是本申请一实施例的数据库的数据评估方法的流程示意图;
图2是本申请一实施例的数据库的数据评估装置的结构示意图;
图3是本申请一实施例的计算机设备的结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用于解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
参照图1,本申请一实施例的数据库的数据评估方法,包括:
S1:获取待转换的数据库的目标指标信息;
S2:判断当前时间是否处于所述数据库的处理高峰时间段内;
S3:若不处于所述数据库的处理高峰时间段内,则基于所述目标指标数据对所述数据库进行扫描处理,获取从所述数据库中成功扫描的与所述目标指标信息对应的第一SQL语句,以及成功扫描的与所述目标指标信息对应的第一存储过程;
S4:对所有所述第一SQL语句进行转换分析处理,生成与各所述第一SQL语句分别对应的第一转换分析结果;其中,所述第一转换分析结果的内容包括可自动转化或者不可自动转换;
S5:对所有所述第一存储过程进行转换分析处理,生成与各所述第一存储过程分别对应的第二转换分析结果;其中,所述第二转换分析结果的内容包括可自动转化或者不可自动转换;
S6:基于所有所述第一转换分析结果与所有所述第二转换分析结果,生成与所述数据库对应的自动化率,以及与所述数据库对应的人工覆盖率;
S7:基于所有所述第一转换分析结果、所有所述第二转换分析结果以及预设的工作量映射表,生成与所述数据库对应的改造工作量;
S8:基于所述自动化率、所述人工覆盖率与所述改造工作量,生成与所述数据库对应的评估报告。
如上述步骤S1至S8所述,本方法实施例的执行主体为一种数据库的数据评估装置。在实际应用中,上述数据库的数据评估装置可以通过虚拟装置,例如软件代码实现,也可以通过写入或集成有相关执行代码的实体装置实现,且可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。本实施例中的数据库的数据评估装置,能够准确评估出待转换的数据库的数据情况。具体地,首先获取待转换的数据库的目标指标信息。其中,上述待转换的数据库具体可为待转换的Oracle数据库,且待转换的数据库根据实际的业务需求需直接转化为相应的目标数据库,如目标数据库可为mysql数据库。另外,获取上述目标指标信息的过程可包括:先获取待转换的Oracle数据库中的原始指标信息,再将所述原始指标信息转化为标准表述数据格式,并存储至预设的数据描述表内,之后从该数据描述表中筛选出待转换的数据库中的目标指标信息。上述原始指标信息可包括数据库实例、schema、表、应用、索引、数据库特性等信息,也包括应用app里面的SQL、存储过程等信息。上述目标指标信息可包括数据库实例信息、schema信息、表信息、应用信息、SQL信息、储存过程信息。目标指标信息对应的每个目标指标下均会包含有若干数量的SQL语句与存储过程。
然后判断当前时间是否处于所述数据库的处理高峰时间段内。其中,可通过对于数据库的历史资源消耗量数据进行分析统计处理来确定出该数据库的处理高峰时间段。若不处于所述数据库的处理高峰时间段内,则基于所述目标指标数据对所述数据库进行扫描处理,获取从所述数据库中成功扫描的与所述目标指标信息对应的第一SQL语句,以及成功扫描的与所述目标指标信息对应的第一存储过程。其中,可调用通用的主流代码扫描框架对数据库进行扫描处理,以获取从所述数据库中成功扫描的所述第一SQL语句与所述第一存储过程。
之后对所有所述第一SQL语句进行转换分析处理,生成与各所述第一SQL语句分别对应的第一转换分析结果;其中,所述第一转换分析结果的内容包括可自动转化或者不可自动转换。具体的,对于每一个第一SQL语句,可对该第一SQL语句进行语法分析,生成对应的语法树,再对所述语法树中的各个节点进行扫描处理,判断预设的策略数据库中是否包含有与各个所述节点一一匹配的自动转化策略,若包含则生成可自动转化的第一转换分析结果,否则生成不可自动转化的第一转换分析结果。以及对所有所述第一存储过程进行转换分析处理,生成与各所述第一存储过程分别对应的第二转换分析结果;其中,所述第二转换分析结果的内容包括可自动转化或者不可自动转换。其中,存储过程是指在大型数据库系统中,一组为了完成特定功能的SQL语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。另外,第一存储过程的转换分析处理的具体分析过程可参照所述第一SQL语句的转换分析处理过程,在此不再赘述。
后续基于所有所述第一转换分析结果与所有所述第二转换分析结果,生成与所述数据库对应的自动化率,以及与所述数据库对应的人工覆盖率。其中,所述自动化率是指转换分析结果中内容为可自动转换的第一指定转换分析结果的数量与所有转换分析结果的数量之间的比值。所述人工覆盖率是指转换分析结果中内容为不可自动转换的第二指定转换分析结果的数量与所有转换分析结果的数量之间的比值。以及基于所有所述第一转换分析结果、所有所述第二转换分析结果以及预设的工作量映射表,生成与所述数据库对应的改造工作量。其中,所述工作量映射表具体包括SQL语句-工作量映射表与存储过程-工作量映射表。可先获取所有所述第一转换分析结果中内容为不可自动转换的第三指定转换分析结果的第四数量,并从所述SQL语句-工作量映射表中查询出与所述第四数量对应的第一工作量。以及获取所有所述第二转换分析结果中内容为不可自动转换的第四指定转换分析结果的第五数量,并从所述存储过程-工作量映射表中查询出与所述第五数量对应的第二工作量。进而基于得到的第一工作量与第二工作量来生成与所述数据库对应的所述改造工作量。改造工作量包括改造数据库中无法自动转换的第一SQL语句与第一存储过程所需的人力与时间信息。最后基于所述自动化率、所述人工覆盖率与所述改造工作量,生成与所述数据库对应的评估报告。其中,可将所述自动化率、所述人工覆盖率与所述改造工作量填充至预设报告模板内的对应位置处,以得到所述评估报告。
本实施例在将待转换的数据库转换成其他数据库之前,会预先对数据库的相关数据情况进行评估处理。具体会通过对从数据库中成功扫描的与数据库的目标指标信息对应的第一SQL语句,以及与所述目标指标信息对应的第一存储过程进行转换分析处理,来生成与数据库对应的自动化率、人工覆盖率以及改造工作量。进而基于得到的自动化率、人工覆盖率以及改造工作量来生成与数据库对应的评估报告。由于生成的评估报告中包含了转换前的数据库的相关数据情况,使得后续能够基于该评估报告精准地部署好将待转换的数据库转换成其他数据库时所需的数据准备与环境准备,以及根据生成的改造工作量准确地分配相应的人力资源进行数据库数据的改造工作,避免出现人力资源的浪费,提高数据库转换的智能性,有利于降低后续数据库转换的成本。
进一步地,本申请一实施例中,上述步骤S4,包括:
S400:获取指定SQL语句;其中,所述指定SQL语句为所有所述第一SQL语句中的任意一个语句;
S401:对所述指定SQL语句进行语法分析,生成对应的语法树;
S402:对所述语法树中的各个节点进行扫描处理,判断预设的策略数据库中是否包含有与各个所述节点一一匹配的自动转化策略;
S403:若包含有与各个所述节点一一匹配的自动转化策略,则生成与所述指定SQL语句对应的可自动转化的第一转换分析结果;
S404:若未包含有与各个所述节点一一匹配的自动转化策略,则生成与所述指定SQL语句对应的不可自动转化的第一转换分析结果。
如上述步骤S400至S404所述,所述对所有所述第一SQL语句进行转换分析处理,生成与各所述第一SQL语句分别对应的第一转换分析结果的步骤,具体可包括:首先获取指定SQL语句。其中,所述指定SQL语句为所有所述第一SQL语句中的任意一个语句。然后对所述指定SQL语句进行语法分析,生成对应的语法树。其中,上述语法树为与SQL语句对应的语法结构信息,语法树由SQL语句中的语义单元确定的节点数据和SQL语句的语法顺序确定的边数据组成。另外,通过对SQL语句进行语法解析,解析完成后会生成此SQL语句对应的语法树。实际应用中,语法解析的方式是多种多样的,在此不作限制,可根据实际使用需求进行设置,例如可使用Flake8工具。之后对所述语法树中的各个节点进行扫描处理,判断预设的策略数据库中是否包含有与各个所述节点一一匹配的自动转化策略。其中,上述策略数据库中的自动转化策略为预先编写生成的与SQL语句结构转换以及目标数据库所对应的策略信息,可来源于基准测试结果、线上问题分析以及专家经验等。该目标数据库是指待转换的数据库根据实际的业务需求需直接转化的数据库,例如可为mysql数据库。若包含有与各个所述节点一一匹配的自动转化策略,则生成与所述指定SQL语句对应的可自动转化的第一转换分析结果。其中,对于语法树中的各个节点,如果在策略数据库中均存在与各个所述节点一一匹配的自动转化策略,则表明可以利用所有所述自动转化策略来完成对于SQL语句的自动转化,否则无法完成对于SQL语句的自动转化。而若未包含有与各个所述节点一一匹配的自动转化策略,则生成与所述指定SQL语句对应的不可自动转化的第一转换分析结果。本实施例通过对SQL语句进行转换分析处理,能够快速地识别出该SQL语句是否能被自动转化,并生成相应的转换识别结果,有利于后续能够根据该转换识别结果准确的生成与数据库对应的自动化率、人工覆盖率与改造工作量,进而根据得到的数据来进一步生成与数据库对应的评估报告。
进一步地,本申请一实施例中,上述步骤S6,包括:
S600:对转换分析结果进行统计分析,筛选出内容为可自动转换的第一指定转换分析结果,以及筛选出内容为不可自动转换的第二指定转换分析结果;其中,所述转换分析结果包括所述第一转换分析结果与所述第二转换分析结果;
S601:获取所述第一指定转换分析结果的第一数量,以及获取所述第二指定转换分析结果的第二数量;
S602:对所述第一数量与所述第二数量进行求和得到第三数量;
S603:计算所述第一数量与所述第三数量的第一商值;
S604:将所述第一商值作为与所述数据库对应的所述自动化率;
S605:计算所述第二数量与所述第三数量的第二商值;
S606:将所述第二商值作为与所述数据库对应的所述人工覆盖率。
如上述步骤S600至S606所述,所述基于所有所述第一转换分析结果与所有所述第二转换分析结果,生成与所述数据库对应的自动化率,以及与所述数据库对应的人工覆盖率的步骤,具体可包括:首先对转换分析结果进行统计分析,筛选出内容为可自动转换的第一指定转换分析结果,以及筛选出内容为不可自动转换的第二指定转换分析结果。其中,所述转换分析结果包括所述第一转换分析结果与所述第二转换分析结果。另外,所述第一指定转换分析结果对应于所有第一SQL语句中可自动转换的SQL语句与所有第一存储过程中可自动转换的存储过程;所述第二指定转换分析结果对应于所有第一SQL语句中不可自动转换的SQL语句与所有第一存储过程中不可自动转换的存储过程。然后获取所述第一指定转换分析结果的第一数量,以及获取所述第二指定转换分析结果的第二数量。之后对所述第一数量与所述第二数量进行求和得到第三数量。在得到了所述第三数量后,计算所述第一数量与所述第三数量的第一商值。并将所述第一商值作为与所述数据库对应的所述自动化率。其中,所述自动化率是指转换分析结果中内容为可自动转换的第一指定转换分析结果的数量与所有转换分析结果的数量之间的比值。以及在得到了所述第三数量后,计算所述第二数量与所述第三数量的第二商值。并将所述第二商值作为与所述数据库对应的所述人工覆盖率。其中,所述人工覆盖率是指转换分析结果中内容为不可自动转换的第二指定转换分析结果的数量与所有转换分析结果的数量之间的比值。本实施例通过基于获取得到的第一指定转换分析结果的第一数量,以及获取得到的第二指定转换分析结果的第二数量,使用相关的计算方式来快速方便地计算出与数据库对应的自动化率与人工覆盖率,有利于后续能够基于该自动化率与人工覆盖率来快速地生成与数据库对应的评估报告,使得相关处理人员能够基于该评估报告清楚明了的了解到数据库在转移前的数据情况,并基于该评估报告来及时进行相应的数据准备与环境准备。
进一步地,本申请一实施例中,上述步骤S7,包括:
S700:对所有所述第一转换分析结果进行统计处理,获取所有所述第一转换分析结果中内容为不可自动转换的第三指定转换分析结果的第四数量;
S701:对所有所述第二转换分析结果进行统计处理,获取所有所述第二转换分析结果中内容为不可自动转换的第四指定转换分析结果的第五数量;
S702:获取预设的SQL语句-工作量映射表,以及预设的存储过程-工作量映射表;
S703:从所述SQL语句-工作量映射表中查询出与所述第四数量对应的第一工作量;
S704:从所述存储过程-工作量映射表中查询出与所述第五数量对应的第二工作量;
S705:基于所述第一工作量与所述第二工作量生成与所述数据库对应的所述改造工作量。
如上述步骤S700至S705所述,所述基于所有所述第一转换分析结果、所有所述第二转换分析结果以及预设的工作量映射表,生成与所述数据库对应的改造工作量的步骤,具体可包括:首先对所有所述第一转换分析结果进行统计处理,获取所有所述第一转换分析结果中内容为不可自动转换的第三指定转换分析结果的第四数量。以及对所有所述第二转换分析结果进行统计处理,获取所有所述第二转换分析结果中内容为不可自动转换的第四指定转换分析结果的第五数量。然后获取预设的SQL语句-工作量映射表,以及预设的存储过程-工作量映射表。其中,上述SQL语句-工作量映射表为根据以往的数据库转换过程中的需要人工重构的历史SQL语句数据以及一一对应的工作量数据创建生成的,并会在该SQL语句-工作量映射表生成后会对其进行存储处理以及定时的数据更新处理,以便后续使用该SQL语句-工作量映射表来便捷地服务于相关的工作量评估的处理工作。另外,对于上述SQL语句-工作量映射表的存储方式不作具体限定,可根据实际需求进行相应设置,例如可将该SQL语句-工作量映射表存储于区块链上,通过使用区块链来对上述SQL语句-工作量映射表进行存储和管理,能够有效地保证SQL语句-工作量映射表的安全性与不可篡改性;或者还可将SQL语句-工作量映射表存储于本地,通过使用本地存储的方式可以有效避免网络不稳定或断开等情况导致SQL语句-工作量映射表的查询成功率低的问题,进而提高SQL语句-工作量映射表的存储适应性。此外,上述存储过程-工作量映射表的创建过程可参考上述SQL语句-工作量映射表的创建过程,上述存储过程-工作量映射表的存储过程可参考上述SQL语句-工作量映射表的存储过程,在此不作过多阐述。之后从所述SQL语句-工作量映射表中查询出与所述第四数量对应的第一工作量。以及从所述存储过程-工作量映射表中查询出与所述第五数量对应的第二工作量。最后基于所述第一工作量与所述第二工作量生成与所述数据库对应的所述改造工作量。其中,上述改造工作量可为该第一工作量与第二工作量的和值,改造工作量包括所需的人力与时间等信息。本实施例在确定出所有所述第一转换分析结果中内容为不可自动转换的第三指定转换分析结果的第四数量,以及所有所述第二转换分析结果中内容为不可自动转换的第四指定转换分析结果的第五数量后,会基于该第四数量与第五数量来分别对SQL语句-工作量映射表与存储过程-工作量映射表进行查询处理,从而可以快速便捷地从查询出相应的第一工作量与第二工作量,进而有效快速地基于得到的第一工作量与第二工作量来实现精确评估该数据库所需的改造工作量。
进一步地,本申请一实施例中,上述步骤S2之前,包括:
S200:获取所述数据库在预设时间周期的指定时间段内的资源消耗数据;
S201:对所述预设时间周期、所述指定时间段以及所述资源消耗数据进行统计分析,生成相应的资源消耗统计表;
S202:获取预设的资源消耗阈值;
S203:基于所述资源消耗统计表,分别获取所述数据库在所述预设时间周期中每一天的资源消耗数据大于所述资源消耗阈值的第一时间段;
S204:计算所有所述第一时间段的交集,得到对应的第二时间段;
S205:将所述第二时间段作为所述处理高峰时间段。
如上述步骤S200至S205所述,在执行所述判断当前时间是否处于所述数据库的处理高峰时间段内的步骤之前,还可包括对于所述处理高峰时间段的确定过程。具体地,首先获取所述数据库在预设时间周期的指定时间段内的资源消耗数据。其中,对于上述预设时间周期与上述指定时间段不作具体限定,可根据实际需求进行设置。举例地,上述预设时间周期可为与当前时间相邻的上一个月。上述指定时间段为预先初步确定的数据库的业务繁忙时间段,例如该指定时间段可设为9:00-21:00。另外,通过提前初步确定出与数据库的业务繁忙时间段对应的指定时间段,使得只需要对指定时间段内的资源消耗数据进行统计分析处理,而无需对预设时间周期的所有时间段内的资源消耗数据均进行统计分析,大大地减低了数据处理量,提高了数据统计分析的智能性与处理效率。然后对所述预设时间周期、所述指定时间段以及所述资源消耗数据进行统计分析,生成相应的资源消耗统计表。其中,可以将指定时间段按照每小时作为单位进行划分,并按照从小到大的顺序填充至预设的表格模板内的行表头处;再将预设时间周期按照每天作为单位进行划分,并按照从小到大的顺序填充至上述表格模板内的列表头处;最终将与行表头、列表头分别对应的资源消耗数据一一对应地填充至上述表格模板的单元格内,以生成上述资源消耗统计表。另外,对于上述表格模板不作具体限定,例如可为空白的Excel表格。之后获取预设的资源消耗阈值。其中,对于上述资源消耗阈值的具体数值不作限定,可根据实际使用需求进行设置。并基于所述资源消耗统计表,分别获取所述数据库在所述预设时间周期中每一天的资源消耗数据大于所述资源消耗阈值的第一时间段。后续计算所有所述第一时间段的交集,得到对应的第二时间段。其中,在得到了上述第一时间段后,通过对所有上述第一时间段进行取交集的处理,使得得到的第二时间段为数据库在上述预设时间周期中每一天的资源消耗量均大于上述资源消耗阈值的相同时间段,即数据库在上述预设时间周期内的任意一天的第二时间段均为业务繁忙时间段,进而可将该第二时间段用作上述处理高峰时间段。最后将所述第二时间段作为所述处理高峰时间段。本实施例通过对于数据库的历史资源消耗量数据进行分析统计处理,能够智能准确地确定出该数据库的处理高峰时间段。使得后续避开处理高峰时间段对数据库进行扫描处理,降低扫描处理给数据库带来的压力,可以降低了处理高峰时间段对数据库的处理资源的高要求,减少了处理成本。
进一步地,本申请一实施例中,上述步骤S8,包括:
S800:获取所述自动化率、所述人工覆盖率与所述改造工作量;
S801:获取预设的报告模板;其中,所述报告模板至少包括自动化率字段、人工覆盖率字段与改造工作量字段;
S802:将所述自动化率、所述人工覆盖率与所述改造工作量填充至所述报告模板内的对应位置处,得到填充后的报告模板;
S803:将所述填充后的报告模板作为所述评估报告。
如上述步骤S800至S803所述,所述基于所述自动化率、所述人工覆盖率与所述改造工作量,生成与所述数据库对应的评估报告的步骤,具体可包括:首先获取所述自动化率、所述人工覆盖率与所述改造工作量。然后获取预设的报告模板。其中,所述报告模板至少包括自动化率字段、人工覆盖率字段与改造工作量字段。另外,上述报告模板为根据实际使用需求预先编写生成并输入至装置内的。之后将所述自动化率、所述人工覆盖率与所述改造工作量填充至所述报告模板内的对应位置处,得到填充后的报告模板。其中,对于所述自动化率、所述人工覆盖率与所述改造工作量,在报告模板内都会设置有相对应的填充标签,根据上述填充标签来将各数据填充至报告模板内的对应位置处,便可得到与上述数据库对应的评估报告。最后将所述填充后的报告模板作为所述评估报告。其中,在得到了上述评估报告后,还可展示上述评估报告,从而使得相关用户可以简单方便地查看到评估报告内的报告数据,提升了用户的使用体验。另外,对于上述评估报告的展示方式不作具体限定。举例地,可以基于html的输出通过浏览器以清晰的图表形式来展示上述评估报告。此外,评估报告中还可填充数据库的实例数量、schema数量、表的数量、数据量、应用数目、sqlmap数、可以自动转化的sqlmap个数、需要人工修改的个数、存储过程包数量,里面包含的过程、函数、游标个数,以及Oracle特有接口或系统包、Oracle特有函数或写法个数。通过填充这些数据,可以有效增加评估报告的数据丰富性。本实施例在计算得到了自动化率、人工覆盖率与改造工作量数据后,会将这些数据填充至预设的报告模板内的对应位置处,以实现方便快速的生成与上述数据库对应的评估报告,无需人工制作报表,减少了人力物力的参与,有效地保证了评估报告的生成效率。
进一步地,本申请一实施例中,上述步骤S3之后,包括:
S300:获取所述数据库中无法成功扫描的第二SQL语句的第六数量,以及无法成功扫描的第二存储过程的第七数量;
S301:获取所有所述第一SQL语句的第八数量,以及所有所述第一存储过程的第九数量;
S302:计算所述第八数量与所述第九数量的第一和值;
S303:计算所述第六数量、第七数量、第八数量与第九数量之间的第二和值;
S304:计算所述第一和值与所述第二和值的第三商值;
S305:将所述第三商值作为所述数据库的兼容性分值;
所述步骤S8之后,包括:
S810:将所述兼容性分值填充至所述评估报告内。
如上述步骤S300至S305所述,在执行完所述基于所述目标指标数据对所述数据库进行扫描处理,获取从所述数据库中成功扫描的与所述目标指标信息对应的第一SQL语句,以及成功扫描的与所述目标指标信息对应的第一存储过程的步骤之后,还可包括基于所述数据库中无法成功扫描的第二SQL语句与第二存储过程来生成与数据库对应的兼容性分值的过程。具体地,首先获取所述数据库中无法成功扫描的第二SQL语句的第六数量,以及无法成功扫描的第二存储过程的第七数量。其中,对于一些特殊的SQL语句,其代码的封装方式不是采用主流的封装方式,故在使用通用的主流代码扫描框架对数据库进行扫描时,无法将此类特殊的SQL语句成功扫描处理。然后获取所有所述第一SQL语句的第八数量,以及所有所述第一存储过程的第九数量。之后计算所述第八数量与所述第九数量的第一和值。并计算所述第六数量、第七数量、第八数量与第九数量之间的第二和值。后续计算所述第一和值与所述第二和值的第三商值。最后将所述第三商值作为所述数据库的兼容性分值。其中,在基于所述自动化率、所述人工覆盖率与所述改造工作量,生成与所述数据库对应的评估报告后,从而在计算得到数据库的兼容性分值时,还可进一步将该兼容性分值填充至上述评估报告内。本实施例中通过将数据库中无法成功扫描的SQL语句与存储过程,与能够成功扫描的SQL语句与存储过程进行比较分析来生成相应的兼容性分值数据,使得相关人员能够基于该兼容性分值来直观的了解到数据库中数据的扫描情况,并基于扫描情况采取相应的处理措施,提高了用户的使用体验。
进一步地,本申请一实施例中,上述步骤S4之后,包括:
S410:对所有所述第一转换分析结果进行统计分析,筛选出内容为不可自动转换的第五指定转换分析结果;
S411:从所有所述第一SQL语句获取与所述第五指定转换分析结果对应的第三SQL语句;
S412:获取输入的与目标SQL语句对应的指定转换策略;其中,所述目标SQL语句为所有所述第SQL语句中的任意一条语句,所述指定转换策略的数量为多个;
S413:基于预设的DQN网络对所有所述指定转换策略进行分析处理,从所有所述指定转换策略中筛选出一个目标转换策略;
S414:基于所述目标转换策略生成与所述目标SQL语句对应的可行性转换建议信息。
本实施例中,在确定出所有所述第一SQL语句中与内容为不可自动转换的第五指定转换分析结果对应的第三SQL语句后,对于每一个第三SQL语句,通过DQN网络的使用能够基于输入的与任意一个第三SQL语句的指定转换策略,来智能快速的生成与该第三SQL语句对应的可行性转换建议信息,使得相关人员后续能够基于该可行性转换建议信息来进行对于SQL语句的人工转换,从而为人工转换的工作提供有效的辅助作用。
本申请实施例中的数据库的数据评估方法还可以应用于区块链领域,如将上述评估报告等数据存储于区块链上。通过使用区块链来对上述评估报告进行存储和管理,能够有效地保证上述评估报告的安全性与不可篡改性。
上述区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
参照图2,本申请一实施例中还提供了一种数据库的数据评估装置,包括:
第一获取模块1,用于获取待转换的数据库的目标指标信息;
判断模块2,用于判断当前时间是否处于所述数据库的处理高峰时间段内;
扫描模块3,用于若不处于所述数据库的处理高峰时间段内,则基于所述目标指标数据对所述数据库进行扫描处理,获取从所述数据库中成功扫描的与所述目标指标信息对应的第一SQL语句,以及成功扫描的与所述目标指标信息对应的第一存储过程;
第一分析模块4,用于对所有所述第一SQL语句进行转换分析处理,生成与各所述第一SQL语句分别对应的第一转换分析结果;其中,所述第一转换分析结果的内容包括可自动转化或者不可自动转换;
第二分析模块5,用于对所有所述第一存储过程进行转换分析处理,生成与各所述第一存储过程分别对应的第二转换分析结果;其中,所述第二转换分析结果的内容包括可自动转化或者不可自动转换;
第一生成模块6,用于基于所有所述第一转换分析结果与所有所述第二转换分析结果,生成与所述数据库对应的自动化率,以及与所述数据库对应的人工覆盖率;
第二生成模块7,用于基于所有所述第一转换分析结果、所有所述第二转换分析结果以及预设的工作量映射表,生成与所述数据库对应的改造工作量;
第三生成模块8,用于基于所述自动化率、所述人工覆盖率与所述改造工作量,生成与所述数据库对应的评估报告。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的数据库的数据评估方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述第一分析模块4,包括:
第一获取单元,用于获取指定SQL语句;其中,所述指定SQL语句为所有所述第一SQL语句中的任意一个语句;
分析单元,用于对所述指定SQL语句进行语法分析,生成对应的语法树;
判断单元,用于对所述语法树中的各个节点进行扫描处理,判断预设的策略数据库中是否包含有与各个所述节点一一匹配的自动转化策略;
第一生成单元,用于若包含有与各个所述节点一一匹配的自动转化策略,则生成与所述指定SQL语句对应的可自动转化的第一转换分析结果;
第二生成单元,用于若未包含有与各个所述节点一一匹配的自动转化策略,则生成与所述指定SQL语句对应的不可自动转化的第一转换分析结果。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的数据库的数据评估方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述第一生成模块6,包括:
筛选单元,用于对转换分析结果进行统计分析,筛选出内容为可自动转换的第一指定转换分析结果,以及筛选出内容为不可自动转换的第二指定转换分析结果;其中,所述转换分析结果包括所述第一转换分析结果与所述第二转换分析结果;
第二获取单元,用于获取所述第一指定转换分析结果的第一数量,以及获取所述第二指定转换分析结果的第二数量;
第一计算单元,用于对所述第一数量与所述第二数量进行求和得到第三数量;
第二计算单元,用于计算所述第一数量与所述第三数量的第一商值;
第一确定单元,用于将所述第一商值作为与所述数据库对应的所述自动化率;
第三计算单元,用于计算所述第二数量与所述第三数量的第二商值;
第二确定单元,用于将所述第二商值作为与所述数据库对应的所述人工覆盖率。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的数据库的数据评估方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述第二生成模块7,包括:
第一统计单元,用于对所有所述第一转换分析结果进行统计处理,获取所有所述第一转换分析结果中内容为不可自动转换的第三指定转换分析结果的第四数量;
第二统计单元,用于对所有所述第二转换分析结果进行统计处理,获取所有所述第二转换分析结果中内容为不可自动转换的第四指定转换分析结果的第五数量;
第三获取单元,用于获取预设的SQL语句-工作量映射表,以及预设的存储过程-工作量映射表;
第一查询单元,用于从所述SQL语句-工作量映射表中查询出与所述第四数量对应的第一工作量;
第二查询单元,用于从所述存储过程-工作量映射表中查询出与所述第五数量对应的第二工作量;
第三生成单元,用于基于所述第一工作量与所述第二工作量生成与所述数据库对应的所述改造工作量。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的数据库的数据评估方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述数据库的数据评估装置,包括:
第二获取模块,用于获取所述数据库在预设时间周期的指定时间段内的资源消耗数据;
第三分析模块,用于对所述预设时间周期、所述指定时间段以及所述资源消耗数据进行统计分析,生成相应的资源消耗统计表;
第三获取模块,用于获取预设的资源消耗阈值;
第四获取模块,用于基于所述资源消耗统计表,分别获取所述数据库在所述预设时间周期中每一天的资源消耗数据大于所述资源消耗阈值的第一时间段;
第一计算模块,用于计算所有所述第一时间段的交集,得到对应的第二时间段;
第一确定模块,用于将所述第二时间段作为所述处理高峰时间段。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的数据库的数据评估方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述第三生成模块8,包括:
第四获取单元,用于获取所述自动化率、所述人工覆盖率与所述改造工作量;
第五获取单元,用于获取预设的报告模板;其中,所述报告模板至少包括自动化率字段、人工覆盖率字段与改造工作量字段;
填充单元,用于将所述自动化率、所述人工覆盖率与所述改造工作量填充至所述报告模板内的对应位置处,得到填充后的报告模板;
第三确定单元,用于将所述填充后的报告模板作为所述评估报告。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的数据库的数据评估方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述数据库的数据评估装置,包括:
第五获取模块,用于获取所述数据库中无法成功扫描的第二SQL语句的第六数量,以及无法成功扫描的第二存储过程的第七数量;
第六获取模块,用于获取所有所述第一SQL语句的第八数量,以及所有所述第一存储过程的第九数量;
第二计算模块,用于计算所述第八数量与所述第九数量的第一和值;
第三计算模块,用于计算所述第六数量、第七数量、第八数量与第九数量之间的第二和值;
第四计算模块,用于计算所述第一和值与所述第二和值的第三商值;
第二确定模块,用于将所述第三商值作为所述数据库的兼容性分值;
上述数据库的数据评估装置,还可包括:
填充模块,用于将所述兼容性分值填充至所述评估报告内。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的数据库的数据评估方法的步骤一一对应,在此不再赘述。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏、输入装置和数据库。其中,该计算机设备设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括存储介质、内存储器。该存储介质存储有操作系统、计算机程序和数据库。该内存储器为存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储目标指标信息、处理高峰时间段、第一SQL语句、第一存储过程、第一转换分析结果、第二转换分析结果、自动化率、人工覆盖率、改造工作量以及评估报告。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机设备的显示屏是计算机中必不可少的一种图文输出设备,用于将数字信号转换为光信号,使文字与图形在显示屏的屏幕上显示出来。该计算机设备的输入装置是计算机与用户或其他设备之间进行信息交换的主要装置,用于把数据、指令及某些标志信息等输送到计算机中去。该计算机程序被处理器执行时以实现一种数据库的数据评估方法。
上述处理器执行上述数据库的数据评估方法的步骤:
获取待转换的数据库的目标指标信息;
判断当前时间是否处于所述数据库的处理高峰时间段内;
若不处于所述数据库的处理高峰时间段内,则基于所述目标指标数据对所述数据库进行扫描处理,获取从所述数据库中成功扫描的与所述目标指标信息对应的第一SQL语句,以及成功扫描的与所述目标指标信息对应的第一存储过程;
对所有所述第一SQL语句进行转换分析处理,生成与各所述第一SQL语句分别对应的第一转换分析结果;其中,所述第一转换分析结果的内容包括可自动转化或者不可自动转换;
对所有所述第一存储过程进行转换分析处理,生成与各所述第一存储过程分别对应的第二转换分析结果;其中,所述第二转换分析结果的内容包括可自动转化或者不可自动转换;
基于所有所述第一转换分析结果与所有所述第二转换分析结果,生成与所述数据库对应的自动化率,以及与所述数据库对应的人工覆盖率;
基于所有所述第一转换分析结果、所有所述第二转换分析结果以及预设的工作量映射表,生成与所述数据库对应的改造工作量;
基于所述自动化率、所述人工覆盖率与所述改造工作量,生成与所述数据库对应的评估报告。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的装置、计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种数据库的数据评估方法,具体为:
获取待转换的数据库的目标指标信息;
判断当前时间是否处于所述数据库的处理高峰时间段内;
若不处于所述数据库的处理高峰时间段内,则基于所述目标指标数据对所述数据库进行扫描处理,获取从所述数据库中成功扫描的与所述目标指标信息对应的第一SQL语句,以及成功扫描的与所述目标指标信息对应的第一存储过程;
对所有所述第一SQL语句进行转换分析处理,生成与各所述第一SQL语句分别对应的第一转换分析结果;其中,所述第一转换分析结果的内容包括可自动转化或者不可自动转换;
对所有所述第一存储过程进行转换分析处理,生成与各所述第一存储过程分别对应的第二转换分析结果;其中,所述第二转换分析结果的内容包括可自动转化或者不可自动转换;
基于所有所述第一转换分析结果与所有所述第二转换分析结果,生成与所述数据库对应的自动化率,以及与所述数据库对应的人工覆盖率;
基于所有所述第一转换分析结果、所有所述第二转换分析结果以及预设的工作量映射表,生成与所述数据库对应的改造工作量;
基于所述自动化率、所述人工覆盖率与所述改造工作量,生成与所述数据库对应的评估报告。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种数据库的数据评估方法,其特征在于,包括:
获取待转换的数据库的目标指标信息;
判断当前时间是否处于所述数据库的处理高峰时间段内;
若不处于所述数据库的处理高峰时间段内,则基于所述目标指标数据对所述数据库进行扫描处理,获取从所述数据库中成功扫描的与所述目标指标信息对应的第一SQL语句,以及成功扫描的与所述目标指标信息对应的第一存储过程;其中,存储过程是指在大型数据库系统中,一组为了完成特定功能的SQL语句集;
对所有所述第一SQL语句进行转换分析处理,生成与各所述第一SQL语句分别对应的第一转换分析结果;其中,所述第一转换分析结果的内容包括可自动转化或者不可自动转换;
对所有所述第一存储过程进行转换分析处理,生成与各所述第一存储过程分别对应的第二转换分析结果;其中,所述第二转换分析结果的内容包括可自动转化或者不可自动转换;
基于所有所述第一转换分析结果与所有所述第二转换分析结果,生成与所述数据库对应的自动化率,以及与所述数据库对应的人工覆盖率;其中,自动化率是指转换分析结果中内容为可自动转换的第一指定转换分析结果的数量与所有转换分析结果的数量之间的比值;人工覆盖率是指转换分析结果中内容为不可自动转换的第二指定转换分析结果的数量与所有转换分析结果的数量之间的比值;
基于所有所述第一转换分析结果、所有所述第二转换分析结果以及预设的工作量映射表,生成与所述数据库对应的改造工作量;其中,改造工作量包括改造数据库中无法自动转换的第一SQL语句与第一存储过程所需的人力与时间信息;
基于所述自动化率、所述人工覆盖率与所述改造工作量,生成与所述数据库对应的评估报告。
2.根据权利要求1所述的数据库的数据评估方法,其特征在于,所述对所有所述第一SQL语句进行转换分析处理,生成与各所述第一SQL语句分别对应的第一转换分析结果的步骤,包括:
获取指定SQL语句;其中,所述指定SQL语句为所有所述第一SQL语句中的任意一个语句;
对所述指定SQL语句进行语法分析,生成对应的语法树;
对所述语法树中的各个节点进行扫描处理,判断预设的策略数据库中是否包含有与各个所述节点一一匹配的自动转化策略;
若包含有与各个所述节点一一匹配的自动转化策略,则生成与所述指定SQL语句对应的可自动转化的第一转换分析结果;
若未包含有与各个所述节点一一匹配的自动转化策略,则生成与所述指定SQL语句对应的不可自动转化的第一转换分析结果。
3.根据权利要求1所述的数据库的数据评估方法,其特征在于,所述基于所有所述第一转换分析结果与所有所述第二转换分析结果,生成与所述数据库对应的自动化率,以及与所述数据库对应的人工覆盖率的步骤,包括:
对转换分析结果进行统计分析,筛选出内容为可自动转换的第一指定转换分析结果,以及筛选出内容为不可自动转换的第二指定转换分析结果;其中,所述转换分析结果包括所述第一转换分析结果与所述第二转换分析结果;
获取所述第一指定转换分析结果的第一数量,以及获取所述第二指定转换分析结果的第二数量;
对所述第一数量与所述第二数量进行求和得到第三数量;
计算所述第一数量与所述第三数量的第一商值;
将所述第一商值作为与所述数据库对应的所述自动化率;
计算所述第二数量与所述第三数量的第二商值;
将所述第二商值作为与所述数据库对应的所述人工覆盖率。
4.根据权利要求1所述的数据库的数据评估方法,其特征在于,所述基于所有所述第一转换分析结果、所有所述第二转换分析结果以及预设的工作量映射表,生成与所述数据库对应的改造工作量的步骤,包括:
对所有所述第一转换分析结果进行统计处理,获取所有所述第一转换分析结果中内容为不可自动转换的第三指定转换分析结果的第四数量;
对所有所述第二转换分析结果进行统计处理,获取所有所述第二转换分析结果中内容为不可自动转换的第四指定转换分析结果的第五数量;
获取预设的SQL语句-工作量映射表,以及预设的存储过程-工作量映射表;
从所述SQL语句-工作量映射表中查询出与所述第四数量对应的第一工作量;
从所述存储过程-工作量映射表中查询出与所述第五数量对应的第二工作量;
基于所述第一工作量与所述第二工作量生成与所述数据库对应的所述改造工作量。
5.根据权利要求1所述的数据库的数据评估方法,其特征在于,所述判断当前时间是否处于所述数据库的处理高峰时间段内的步骤之前,包括:
获取所述数据库在预设时间周期的指定时间段内的资源消耗数据;
对所述预设时间周期、所述指定时间段以及所述资源消耗数据进行统计分析,生成相应的资源消耗统计表;
获取预设的资源消耗阈值;
基于所述资源消耗统计表,分别获取所述数据库在所述预设时间周期中每一天的资源消耗数据大于所述资源消耗阈值的第一时间段;
计算所有所述第一时间段的交集,得到对应的第二时间段;
将所述第二时间段作为所述处理高峰时间段。
6.根据权利要求1所述的数据库的数据评估方法,其特征在于,所述基于所述自动化率、所述人工覆盖率与所述改造工作量,生成与所述数据库对应的评估报告的步骤,包括:
获取所述自动化率、所述人工覆盖率与所述改造工作量;
获取预设的报告模板;其中,所述报告模板至少包括自动化率字段、人工覆盖率字段与改造工作量字段;
将所述自动化率、所述人工覆盖率与所述改造工作量填充至所述报告模板内的对应位置处,得到填充后的报告模板;
将所述填充后的报告模板作为所述评估报告。
7.根据权利要求1所述的数据库的数据评估方法,其特征在于,所述基于所述目标指标数据对所述数据库进行扫描处理,获取从所述数据库中成功扫描的与所述目标指标信息对应的第一SQL语句,以及成功扫描的与所述目标指标信息对应的第一存储过程的步骤之后,包括:
获取所述数据库中无法成功扫描的第二SQL语句的第六数量,以及无法成功扫描的第二存储过程的第七数量;
获取所有所述第一SQL语句的第八数量,以及所有所述第一存储过程的第九数量;
计算所述第八数量与所述第九数量的第一和值;
计算所述第六数量、第七数量、第八数量与第九数量之间的第二和值;
计算所述第一和值与所述第二和值的第三商值;
将所述第三商值作为所述数据库的兼容性分值;
所述基于所述自动化率、所述人工覆盖率与所述改造工作量,生成与所述数据库对应的评估报告的步骤之后,包括:
将所述兼容性分值填充至所述评估报告内。
8.一种数据库的数据评估装置,其特征在于,包括:
第一获取模块,用于获取待转换的数据库的目标指标信息;
判断模块,用于判断当前时间是否处于所述数据库的处理高峰时间段内;
扫描模块,用于若不处于所述数据库的处理高峰时间段内,则基于所述目标指标数据对所述数据库进行扫描处理,获取从所述数据库中成功扫描的与所述目标指标信息对应的第一SQL语句,以及成功扫描的与所述目标指标信息对应的第一存储过程;其中,存储过程是指在大型数据库系统中,一组为了完成特定功能的SQL语句集;
第一分析模块,用于对所有所述第一SQL语句进行转换分析处理,生成与各所述第一SQL语句分别对应的第一转换分析结果;其中,所述第一转换分析结果的内容包括可自动转化或者不可自动转换;
第二分析模块,用于对所有所述第一存储过程进行转换分析处理,生成与各所述第一存储过程分别对应的第二转换分析结果;其中,所述第二转换分析结果的内容包括可自动转化或者不可自动转换;
第一生成模块,用于基于所有所述第一转换分析结果与所有所述第二转换分析结果,生成与所述数据库对应的自动化率,以及与所述数据库对应的人工覆盖率;其中,自动化率是指转换分析结果中内容为可自动转换的第一指定转换分析结果的数量与所有转换分析结果的数量之间的比值;人工覆盖率是指转换分析结果中内容为不可自动转换的第二指定转换分析结果的数量与所有转换分析结果的数量之间的比值;
第二生成模块,用于基于所有所述第一转换分析结果、所有所述第二转换分析结果以及预设的工作量映射表,生成与所述数据库对应的改造工作量;其中,改造工作量包括改造数据库中无法自动转换的第一SQL语句与第一存储过程所需的人力与时间信息;
第三生成模块,用于基于所述自动化率、所述人工覆盖率与所述改造工作量,生成与所述数据库对应的评估报告。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110738667.1A CN113448944B (zh) | 2021-06-30 | 2021-06-30 | 数据库的数据评估方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110738667.1A CN113448944B (zh) | 2021-06-30 | 2021-06-30 | 数据库的数据评估方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113448944A CN113448944A (zh) | 2021-09-28 |
CN113448944B true CN113448944B (zh) | 2022-03-18 |
Family
ID=77814517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110738667.1A Active CN113448944B (zh) | 2021-06-30 | 2021-06-30 | 数据库的数据评估方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113448944B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003114892A (ja) * | 2001-10-05 | 2003-04-18 | Matsushita Electric Ind Co Ltd | 予測精度計算装置、予測精度計算方法、記録媒体及びプログラム |
CN109240903A (zh) * | 2017-06-15 | 2019-01-18 | 北京京东尚科信息技术有限公司 | 一种自动评估的方法和装置 |
CN111258989A (zh) * | 2020-02-14 | 2020-06-09 | 腾讯科技(深圳)有限公司 | 数据库迁移评估方法、装置、存储介质和计算机设备 |
CN111708753A (zh) * | 2020-05-18 | 2020-09-25 | 北京金山云网络技术有限公司 | 数据库迁移的评估方法、装置、设备及计算机存储介质 |
CN112817834A (zh) * | 2021-01-22 | 2021-05-18 | 上海哔哩哔哩科技有限公司 | 数据表评估方法及装置 |
CN113051285A (zh) * | 2021-03-25 | 2021-06-29 | 未鲲(上海)科技服务有限公司 | Sql语句的转换方法、系统、设备及存储介质 |
-
2021
- 2021-06-30 CN CN202110738667.1A patent/CN113448944B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003114892A (ja) * | 2001-10-05 | 2003-04-18 | Matsushita Electric Ind Co Ltd | 予測精度計算装置、予測精度計算方法、記録媒体及びプログラム |
CN109240903A (zh) * | 2017-06-15 | 2019-01-18 | 北京京东尚科信息技术有限公司 | 一种自动评估的方法和装置 |
CN111258989A (zh) * | 2020-02-14 | 2020-06-09 | 腾讯科技(深圳)有限公司 | 数据库迁移评估方法、装置、存储介质和计算机设备 |
CN111708753A (zh) * | 2020-05-18 | 2020-09-25 | 北京金山云网络技术有限公司 | 数据库迁移的评估方法、装置、设备及计算机存储介质 |
CN112817834A (zh) * | 2021-01-22 | 2021-05-18 | 上海哔哩哔哩科技有限公司 | 数据表评估方法及装置 |
CN113051285A (zh) * | 2021-03-25 | 2021-06-29 | 未鲲(上海)科技服务有限公司 | Sql语句的转换方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113448944A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111737963B (zh) | 基于配置文件的表单填写方法、装置和计算机设备 | |
CN113516297A (zh) | 基于决策树模型的预测方法、装置和计算机设备 | |
CN104376508B (zh) | 一种自动配网生产抢修消息的电网系统及方法 | |
CN112328482A (zh) | 基于脚本模板的测试方法、装置、计算机设备和存储介质 | |
CN112668041A (zh) | 单证文件的生成方法、装置、计算机设备和存储介质 | |
CN112597158A (zh) | 数据匹配方法、装置、计算机设备和存储介质 | |
CN113642039A (zh) | 单证模板的配置方法、装置、计算机设备和存储介质 | |
CN113742776A (zh) | 基于生物识别技术的数据校验方法、装置和计算机设备 | |
CN112036172B (zh) | 基于模型的缩写数据的实体识别方法、装置和计算机设备 | |
CN114218097A (zh) | 测试用例生成方法、装置、计算机设备和存储介质 | |
CN113127450A (zh) | 数据的维护方法、装置、计算机设备及存储介质 | |
CN113282514A (zh) | 问题数据的处理方法、装置、计算机设备和存储介质 | |
CN113656588B (zh) | 基于知识图谱的数据对码方法、装置、设备和存储介质 | |
CN111880921A (zh) | 基于规则引擎的作业处理方法、装置和计算机设备 | |
CN112650659B (zh) | 埋点设置方法、装置、计算机设备和存储介质 | |
CN113986581A (zh) | 数据聚合处理方法、装置、计算机设备和存储介质 | |
CN113448944B (zh) | 数据库的数据评估方法、装置、计算机设备和存储介质 | |
CN113051372A (zh) | 材料数据的处理方法、装置、计算机设备和存储介质 | |
CN112965981A (zh) | 数据核对方法、装置、计算机设备和存储介质 | |
CN113535260B (zh) | 基于模拟器的数据处理方法、装置、设备及存储介质 | |
CN113191146B (zh) | 诉求数据的分配方法、装置、计算机设备和存储介质 | |
CN113177396B (zh) | 报表生成方法、装置、计算机设备和存储介质 | |
CN113452852B (zh) | 机器外呼的数量调控方法、装置、电子设备及存储介质 | |
CN115225636A (zh) | 请求处理方法、装置、计算机设备和存储介质 | |
CN113077185B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |