数据库脚本的确定方法及装置、存储介质、电子设备与流程

文档序号:37646617发布日期:2024-04-18 18:14阅读:19来源:国知局
数据库脚本的确定方法及装置、存储介质、电子设备与流程

本技术实施例涉及计算机领域,具体而言,涉及一种数据库脚本的确定方法及装置、存储介质、电子设备。


背景技术:

1、随着大数据时代的到来,计算机数据库技术在现代社会各领域的运用越来越广泛,数据库作为最重要的基础软件,是确保计算机系统稳定运行的基石,绝大数信息系统都离不开数据库,数据库对于信息系统的重要性不言而喻。

2、数据库能否稳定运行直接影响了应用程序是否可以稳定提供服务,传统的数据库运维为事后处理,在数据库各项运行指标在达到既定阈值时产生告警,出现故障才去查看数据库的运行情况,数据库运的维依靠人工经验定位故障点和可能原因,人为主观性比较强,当涉及人员变动,新的数据库运维人员不熟悉系统的情况时,可能会出现问题定位耗时长和问题处理时效性低等问题。


技术实现思路

1、本技术实施例提供了一种数据库脚本的确定方法及装置、存储介质、电子设备,以至少解决相关技术中无法预先处置数据库脚本异常,导致不能确定准确的数据库脚本的问题。

2、根据本技术的一个实施例,提供了一种数据库脚本的确定方法,包括:获取目标数据库的运行数据,其中,上述运行数据中包括上述目标数据库的对象数据、服务器的运行参数以及上述目标数据库的第一脚本,上述服务器用于运行上述目标数据库;提取上述第一脚本中的第一sql命令,并按照上述服务器的运行参数和上述对象数据模拟运行上述第一sql命令,得到第一运行结果,其中,上述第一运行结果中包括以下至少之一:执行上述第一sql命令的时长,执行上述第一sql命令的次数,执行上述第一sql命令的第一执行结果;利用上述服务器的运行参数和上述对象数据从预设脚本数据库中选择第二脚本,并模拟运行上述第二脚本,得到第二运行结果,其中,上述第二脚本中包括与上述第一sql命令具备相同功能的第二sql命令,上述第二运行结果中包括以下至少之一:执行上述第二sql命令的时长,执行上述第二sql命令的次数,执行上述第二sql命令的第二执行结果;基于上述第一运行结果和上述第二运行结果确定目标脚本。

3、在一个示例性实施例中,提取上述第一脚本中的第一sql命令,并按照上述服务器的运行参数和上述对象数据模拟运行上述第一sql命令,得到第一运行结果,包括:将上述运行数据输入至目标脚本模型中,通过上述目标脚本模型提取上述第一脚本中的第一sql命令,并按照上述服务器的运行参数和上述对象数据模拟运行上述第一sql命令,得到第一运行结果;其中,上述目标脚本模型是基于机器分类算法训练得到的模型,上述目标脚本模型还用于在模拟运行上述第一sql命令的过程中确定上述第一脚本的异常,确定上述第一脚本的异常包括以下至少之一:执行上述第一sql命令的时长大于预设时长,执行上述第一sql命令的次数大于预设次数,上述第一执行结果在上述目标数据库中目标数据表中的数据覆盖率小于预设覆盖率。

4、在一个示例性实施例中,将上述运行数据输入至目标脚本模型中,通过上述目标脚本模型提取上述第一脚本中的第一sql命令之后,上述方法还包括:在上述第一脚本出现异常的情况下,在模拟运行上述第一sql命令的过程中,定位上述第一脚本的异常位置。

5、在一个示例性实施例中,在上述第一脚本出现异常的情况下,在模拟运行上述第一sql命令的过程中,定位上述第一脚本的异常位置之后,上述方法还包括:按照上述异常位置从上述脚本数据库中获取异常处理方式,其中,上述异常处理方式包括以下至少之一:调整上述目标数据表中的索引,调整上述目标数据库中数据表的连接顺序,调整对上述第一脚本的执行步骤,合并对上述第一脚本重复执行的内容。

6、在一个示例性实施例中,利用上述服务器的运行参数和上述对象数据从预设脚本数据库中选择第二脚本,并模拟运行上述第二脚本,得到第二运行结果之前,上述方法还包括:采集样本数据集,其中,上述样本数据集中包括样本数据库的静态数据、上述样本数据库的动态数据、上述样本数据库的脚本执行数据、样本脚本异常处理方式,上述静态数据包括以下至少之一:上述样本数据库的索引,样本脚本执行步骤,样本数据表分区,上述动态数据中包括执行上述样本数据库的脚本产生的样本运行数据;利用上述样本数据集和机器学习分类算法确定上述预设脚本数据库。

7、在一个示例性实施例中,提取上述第一脚本中的第一sql命令,并按照上述服务器的运行参数和上述对象数据模拟运行上述第一sql命令,得到第一运行结果之前,上述方法还包括:拆分上述第一脚本,得到上述第一脚本中的sql语句,其中,上述sql语句中包括上述第一sql命令,管理上述目标数据库的操作命令;对上述sql语句执行以下操作至少之一:数据去噪,数据集成,数据转换。

8、在一个示例性实施例中,基于上述第一运行结果和上述第二运行结果确定目标脚本,包括:计算上述第一运行结果的第一运行评分和上述第二运行结果的第二运行评分;在上述第二运行评分大于上述第一运行评分的情况下,确定上述第二脚本的数量;在上述第二脚本包括多个脚本的情况下,拼接多个上述脚本,得到上述目标脚本。

9、根据本技术的另一个实施例,提供了一种数据库脚本的确定装置,包括:第一获取模块,用于获取目标数据库的运行数据,其中,上述运行数据中包括上述目标数据库的对象数据、服务器的运行参数以及上述目标数据库的第一脚本,上述服务器用于运行上述目标数据库;第一提取模块,用于提取上述第一脚本中的第一sql命令,并按照上述服务器的运行参数和上述对象数据模拟运行上述第一sql命令,得到第一运行结果,其中,上述第一运行结果中包括以下至少之一:执行上述第一sql命令的时长,执行上述第一sql命令的次数,执行上述第一sql命令的第一执行结果;第一选择模块,用于利用上述服务器的运行参数和上述对象数据从预设脚本数据库中选择第二脚本,并模拟运行上述第二脚本,得到第二运行结果,其中,上述第二脚本中包括与上述第一sql命令具备相同功能的第二sql命令,上述第二运行结果中包括以下至少之一:执行上述第二sql命令的时长,执行上述第二sql命令的次数,执行上述第二sql命令的第二执行结果;第一确定模块,用于基于上述第一运行结果和上述第二运行结果确定目标脚本。

10、在一个示例性实施例中,上述第一提取模块,包括:第一输入子模块,用于将上述运行数据输入至目标脚本模型中,通过上述目标脚本模型提取上述第一脚本中的第一sql命令,并按照上述服务器的运行参数和上述对象数据模拟运行上述第一sql命令,得到第一运行结果;其中,上述目标脚本模型是基于机器分类算法训练得到的模型,上述目标脚本模型还用于在模拟运行上述第一sql命令的过程中确定上述第一脚本的异常,确定上述第一脚本的异常包括以下至少之一:执行上述第一sql命令的时长大于预设时长,执行上述第一sql命令的次数大于预设次数,上述第一执行结果在上述目标数据库中目标数据表中的数据覆盖率小于预设覆盖率。

11、在一个示例性实施例中,上述第一提取模块还包括:第一模拟子模块,用于将上述运行数据输入至目标脚本模型中,通过上述目标脚本模型提取上述第一脚本中的第一sql命令之后,在上述第一脚本出现异常的情况下,在模拟运行上述第一sql命令的过程中,定位上述第一脚本的异常位置。

12、在一个示例性实施例中,上述第一提取模块还包括:第一获取子模块,用于在上述第一脚本出现异常的情况下,在模拟运行上述第一sql命令的过程中,定位上述第一脚本的异常位置之后,按照上述异常位置从上述脚本数据库中获取异常处理方式,其中,上述异常处理方式包括以下至少之一:调整上述目标数据表中的索引,调整上述目标数据库中数据表的连接顺序,调整对上述第一脚本的执行步骤,合并对上述第一脚本重复执行的内容。

13、在一个示例性实施例中,上述装置还包括:第一采集模块,用于利用上述服务器的运行参数和上述对象数据从预设脚本数据库中选择第二脚本,并模拟运行上述第二脚本,得到第二运行结果之前,采集样本数据集,其中,上述样本数据集中包括样本数据库的静态数据、上述样本数据库的动态数据、上述样本数据库的脚本执行数据、样本脚本异常处理方式,上述静态数据包括以下至少之一:上述样本数据库的索引,样本脚本执行步骤,样本数据表分区,上述动态数据中包括执行上述样本数据库的脚本产生的样本运行数据;第二确定模块,用于利用上述样本数据集和机器学习分类算法确定上述预设脚本数据库。

14、在一个示例性实施例中,上述装置还包括:第一拆分模块,用于提取上述第一脚本中的第一sql命令,并按照上述服务器的运行参数和上述对象数据模拟运行上述第一sql命令,得到第一运行结果之前,拆分上述第一脚本,得到上述第一脚本中的sql语句,其中,上述sql语句中包括上述第一sql命令,管理上述目标数据库的操作命令;第一执行操作,用于对上述sql语句执行以下操作至少之一:数据去噪,数据集成,数据转换。

15、在一个示例性实施例中,上述第一确定模块,包括:第一计算子模块,用于计算上述第一运行结果的第一运行评分和上述第二运行结果的第二运行评分;第一确定子模块,用于在上述第二运行评分大于上述第一运行评分的情况下,确定上述第二脚本的数量;第一拼接子模块,用于在上述第二脚本包括多个脚本的情况下,拼接多个上述脚本,得到上述目标脚本。

16、根据本技术的又一个实施例,还提供了一种计算机可读存储介质,上述计算机可读存储介质中存储有计算机程序,其中,上述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

17、根据本技术的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

18、通过本技术,由于基于服务器的运行参数和对象数据模拟运行目标数据库的第一脚本中的第一sql命令以及从预设脚本数据里中得到第二脚本中的第二sql命令,基于两次模拟运行的结果确定出目标脚本。因此,可以解决了相关技术中无法预先处置数据库脚本异常,导致不能确定准确的数据库脚本的问题,进而达到了快速检测数据库脚本,提高了数据库脚本的准确性和稳定性的效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1