掌桥专利:专业的专利平台
掌桥专利
首页

一种数据库异常修复方法、装置、设备及介质

文献发布时间:2024-04-18 19:58:53


一种数据库异常修复方法、装置、设备及介质

技术领域

本发明涉及数据库运维技术领域,尤其涉及一种数据库异常修复方法、装置、设备及介质。

背景技术

随着数据库规模的上升,对数据库的维护显得尤为重要,但是现在基本的运维方式一直没有太大变化,都是在事后进行处理。在数据库发生异常事件后,运维人员依赖于专家经验对采取相应的修复手段对数据库进行修复,然而数据库的相关指标较多,而凭借人工经验对数据库进行修复耗时过长,且可能会因人为失误造成分析错误,使得故障的修复率不高。

发明内容

本发明提供一种数据库异常修复方法、装置、计算机设备及介质,以解决现有技术中人工修复数据库耗时长的问题。

第一方面,提供了一种数据库异常修复方法,所述方法包括:

获取数据库的当前性能指标参数,并从所述当前性能指标参数中筛选出异常性能指标参数;

根据所述异常性能指标参数以及预先建立的关联关系列表确定异常事件,其中,所述关联关系列表用于记录异常性能指标参数与异常事件之间的对应关系;

根据所述异常事件调用与所述异常事件对应的修复建议对所述数据库进行修复。

于本发明一实施例中,所述方法还包括:在所述关联关系列表中不存在与所述异常性能指标参数对应的异常事件时,利用预先训练的异常事件识别模型对所述异常性能指标参数进行识别,得到识别结果,并以所述识别结果作为异常事件。

于本发明一实施例中,所述从所述当前性能指标参数中筛选出异常性能指标参数,包括:

将所述当前性能指标参数与预设异常区间进行比较,并在所述当前性能指标参数位于所述预设异常区间时,确定位于预设异常区间内的性能指标参数为异常性能指标参数。

于本发明一实施例中,所述获取数据库的当前性能指标参数,包括:

通过实时采集的方式或以设定时间间隔获取所述数据库的当前性能指标参数。

于本发明一实施例中,在对所述数据库进行修复后,所述方法还包括:

获取验证信息;

根据所述验证信息对在对所述数据库进行修复后得到的修复结果进行验证,得到验证结果;

在所述验证结果满足预设修复成功条件时,确定对数据库的异常修复成功。

于本发明一实施例中,在获取数据库的当前性能指标参数的步骤前,所述方法还包括:

设置异常检测线程和异常修复线程;所述异常检测线程用于对所述当前性能指标数据进行筛选以确定异常性能指标参数,所述异常修复线程用于运行修复建议对所述数据库进行修复。

于本发明一实施例中,若根据预先建立的关联关系列表确定的异常事件包括多个,则在对多个异常事件进行修复时,按照所述异常事件的优先级大小先后调用修复建议对所述数据库进行修复,直至数据库成功修复;若一个异常事件对应多个修复建议,则按照修复建议的优先级大小先后调用多个修复建议对数据库进行修复,直至数据库成功修复。

第二方面,提供了一种数据库异常修复装置,所述装置包括:

异常检测模块,用于获取数据库的当前性能指标参数,并从所述当前性能指标参数中筛选出异常性能指标参数;

异常事件确定模块,用于根据所述异常性能指标参数以及预先建立的关联关系列表确定异常事件,其中,所述关联关系列表用于记录异常性能指标参数与异常事件之间的对应关系;

异常修复模块,用于根据所述异常事件调用与所述异常事件对应的修复建议对所述数据库进行修复。

第三方面,提供了一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述数据库异常修复方法的步骤。

第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述数据库修复

上述的数据库异常修复方法、装置、计算机设备及存储介质,所实现的方案中,可以先获取数据库的当前性能指标参数,并从所述当前性能指标参数中筛选出异常性能指标参数;根据所述异常性能指标参数以及预先建立的关联关系列表确定异常事件,其中,所述关联关系列表用于记录异常性能指标参数与异常事件之间的对应关系;根据所述异常事件调用与所述异常事件对应的修复建议对所述数据库进行修复;本发明可以通过实时从数据库中获取数据库的性能指标参数,并判断出现异常的异性能指标参数,再针对性地获取与异常性能指标参数相关的修复建议,最终完成异常修复,可见,通过引入该数据库实时状态修复方法,能够提高数据库异常告警的准确率,提高了运维效率,降低了运维风险。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请一示例性实施例示出的一种数据库异常修复方法的一应用环境示意图;

图2为本申请一示例性实施例示出的一种数据库异常修复方法的一流程示意图;

图3为本申请一示例性实施例示出的一种数据库异常修复方法的流程图;

图4为本申请一示例性实施例示出的一种数据库异常修复装置的一结构示意图;

图5为本申请一示例性实施例示出的计算机设备的一结构示意图;

图6为本申请一示例性实施例示出的计算机设备的另一结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供的一种数据库异常修复方法,可应用在如图1的应用环境中,其中,客户端通过有线网络或无线网络与服务端进行通信。应该理解,图1中的客户端和服务端的数目仅仅是示意性的。根据实际需要,可以具有任意数目的客户端和服务端。在本发明中,服务端可以获取数据库的当前性能指标参数,并从所述当前性能指标参数中筛选出异常性能指标参数;根据所述异常性能指标参数以及预先建立的关联关系列表确定异常事件,其中,所述关联关系列表用于记录异常性能指标参数与异常事件之间的对应关系;根据所述异常事件调用与所述异常事件对应的修复建议对所述数据库进行修复。本发明可以通过实时从数据库中获取数据库的性能指标参数,并判断出现异常的异性能指标参数,再针对性地获取与异常性能指标参数相关的修复建议,最终完成异常修复,可见,通过引入该数据库实时状态修复方法,能够提高数据库异常告警的准确率,提高了运维效率,降低了运维风险。

其中,客户端可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群,可以是提供各种服务的服务器,其可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器,本处不对此进行限制。下面通过具体的实施例对本发明进行详细的描述。

本申请的实施例分别提出一种数据库异常修复方法、一种数据库异常修复装置、一种计算机设备、一种计算机可读存储介质,以下将对这些实施例进行详细描述。

请参阅图2,图2是本申请的一示例性实施例示出的一种数据库异常修复方法的流程图。该方法可以应用于图1所示的实施环境,并由该实施环境中的服务端具体执行。应理解的是,该方法也可以适用于其它的示例性实施环境,并由其它实施环境中的设备具体执行,本实施例不对该方法所适用的实施环境进行限制。

请参阅图2,图2为本申请一示例性的一种数据库异常修复方法的流程图,该体检档案存储方法至少包括步骤S210至步骤S230,详细介绍如下:

步骤S210,获取数据库的当前性能指标参数,并从所述当前性能指标参数中筛选出异常性能指标参数;

数据库指的是目标服务器上配置的数据库,目标服务器可以是监控服务器需要监测的服务器,其中,监测服务器是可执行数据库告警方法的第三方服务器,用于监测目标服务器的运行状态;目标服务器也可以是执行数据库告警方法的服务器。数据库包括但不限于MySQL(关系型数据库)、Oracle(一个面向Internet计算环境的关系型数据库)、SqlServer(具备完全web支持的数据库系统)

获取数据库的当前性能指标参数,可以理解为,通过监控服务器获取目标服务器中数据库的当前性能指标参数,目标服务器通过执行相应的数据筛选方法对当前性能指标参数进行筛选来获取数据库的异常性能指标参数。

异常性能指标参数可以是监测的性能指标参数中存在异常的指标参数,其中,性能指标参数指的是目标服务器中操作系统和数据库的运行指标参数。

以MySQL数据库为例,性能指标参数包括但不限于TPS(Transactions PerSecond,每秒传输的事务处理个数)、QPS(Queries Per Second,每秒查询处理量)、等待时间(执行Sql等待返回结果之间的等待时间)

在一实施例中,所述从所述当前性能指标参数中筛选出异常性能指标参数,包括:

将所述当前性能指标参数与预设异常区间进行比较,并在所述性能指标参数位于所述预设异常区间时,确定位于预设异常区间内的性能指标参数为异常性能指标参数。

仍以MySQL数据库为例,假如在正常情况下,每秒传输的事务处理个数为30个,预设异常区间为10~20个,那么若在当前时刻下,每秒传输的事务处理个数为15,则落入到预设异常区间10~20中,则此时的TPS为异常性能指标参数,基于当前的TPS可以认为MySQL数据库发生异常。

同样的,采用类似的比较方法,可以从所有当前性能指标参数中筛选出异常性能指标参数。

在一实施例中,所述获取数据库的性能指标参数,包括:

通过实时采集的方式或以设定时间间隔获取所述数据库的当前性能指标参数。

可理解地,设定时间间隔可以根据需求设定,比如设定时间间隔为2分钟。需要说明的是,设定时间间隔可以根据实际需求进行设定。

本发明通过实时或者定时接收所述性能指标参数性,满足获取所述性能指标参数的多样性。

在一实施例中,在获取数据库的性能指标参数的步骤前,所述方法还包括:

设置异常检测线程和异常修复线程;所述异常检测线程用于对所述性能指标数据进行筛选以确定异常性能指标参数,所述异常修复线程用于运行修复建议对所述数据库进行修复。

具体地,可以在数据库所在的服务器上设置一个异常检测线程和一个异常修复线程,异常检测线程和异常修复线程可以并行的执行,也可以串行的执行。需要说明的是,从对数据的处理效率来说,异常检测线程和异常修复线程并行执行高于异常检测线程和异常修复线程的串行执行,本领域技术人员可以根据实际需求进行相应的选择。但一般来说,为了提高对数据的处理效率,本实施例中选择并行执行异常检测线程和异常修复线程。

需要说明的是,通过对所述当前性能指标参数进行筛选,确定的异常性能指标参数可以包括一个,也可以包括多个;若包括多个异常性能指标参数的话,则可以被定义为异常性能指标参数组合。

步骤S220,根据所述异常性能指标参数以及预先建立的关联关系列表确定异常事件,其中,所述关联关系列表用于记录异常性能指标参数与异常事件之间的对应关系;

关联关系列表是预先建立的,在该表中预先标定性能指标参数与异常事件的对应关系,这些对应关系可以专家团队进行定制。

表1关联关系表

假如,服务器在确定出异常性能指标参数a时,那么可以通过表1查找到对应异常事件a;若服务器在确定出异常性能指标参数b时,那么可以通过表1查找到对应异常事件b。

步骤S230,根据所述异常事件调用与所述异常事件对应的修复建议对所述数据库进行修复。

如表1所示,假如,服务器在确定出异常性能指标参数a时,那么可以通过表1查找到对应异常事件a,相对应的修复建议为修复建议a;若服务器在确定出异常性能指标参数b时,那么可以通过表1查找到对应异常事件b,相对应的修复建议为修复建议b。

在一实施例中,若根据预先建立的关联关系列表确定的异常事件包括多个,则在对多个异常事件进行修复时,按照所述异常事件的优先级大小先后调用修复建议对所述数据库进行修复,直至数据库成功修复;若一个异常事件对应多个修复建议,则按照修复建议的优先级大小先后调用多个修复建议对数据库进行修复,直至数据库成功修复。

表2关联关系表

请参阅表2,比如,异常检测线程检测到异常性能指标参数a,通过表2可以查询到异常性能指标参数a对应异常事件a和异常事件b,那么此时可以根据异常事件的优先级调用相应的修复建议,其中的优先级可以按一定的规则预先定义。具体地,若异常事件a的优先级高于异常事件b的优先级,则在对数据库进行修复时,首先调用修复建议a对数据库进行修复,若利用修复成功则结束修复流程,若修复建议a不能修复数据库,则调用修复建议b对数据库进行修复。

表3关联关系表

请参阅表3,比如,异常检测线程检测到异常性能指标参数a,通过表2可以查询到异常性能指标参数a对应异常事件a,异常事件a对应修复建议a和修复建议b,那么此时可以根据修复建议的优先级调用相应的修复建议,其中的优先级可以按一定的规则预先定义。具体地,若修复建议a的优先级高于修复建议b的优先级,则在对数据库进行修复时,首先调用修复建议a对数据库进行修复,若利用修复成功则结束修复流程,若修复建议a不能修复数据库,则调用修复建议b对数据库进行修复。

请参阅图3,图3为本申请一示例性实施例示出的一种数据库异常修复方法的流程图。如图3所示,在对所述数据库进行修复后,所述方法还包括:

步骤S310,获取验证信息;

步骤S320,根据所述验证信息对在对所述数据库进行修复后得到的修复结果进行验证,得到验证结果;

步骤S330,在所述验证结果满足预设修复成功条件时,确定对数据库的异常修复成功。

可以理解地,在对数据库进行修复后,根据验证信息对异常修复结果进行验证,得到验证结果;若验证结果表征异常修复成功时,则确定验证结果表征异常修复成功,进而确定数据库修复完成。例如异常事件为CPU占用率升高至80%时,若异常修复结果为进行异常修复后的CPU占用率为23%,而验证信息为CPU占用率小于30%,则修复成功。

在一实施例中,所述方法还包括:在所述关联关系列表中不存在与所述异常性能指标参数对应的异常事件时,利用预先训练的异常事件识别模型对所述异常性能指标参数进行识别,得到识别结果,并以所述识别结果作为异常事件。

异常事件识别模型为基于深度学习方法训练得到的模型。引入深度学习方法能够合理处理复杂的异常模式,从数据中学习隐含的规律,很好地保留异常相邻点间的异常信息。而且,在本实施例中,是在通过关联关系列表不能识别出相应的异常事件时,利用异常事件识别模型来根据异常性能指标参数进行异常事件识别,对基于专家团队定义的关联关系列表的异常事件识别进行补充,提高了异常事件识别的精确度。在本实施例中,异常事件识别模型可以采用基于聚类的CBLOF模型,或基于集成的IForest模型,或基于深度学习的GRU模型。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

可见,在上述方案中,通过获取数据库的性能指标参数,并对所述性能指标参数进行筛选,确定异常性能指标参数;确定所述异常性能指标参数的类型,并根据预先建立的关联关系列表确定异常事件,其中,所述关联关系列表表示性能指标参数的类型与异常事件的关系;根据所述异常事件调用与所述异常事件对应的修复建议对所述数据库进行修复;本发明可以通过实时从数据库中获取数据库的性能指标参数,并判断出现异常的异性能指标参数,再针对性地获取与异常性能指标参数相关的修复建议,最终完成异常修复,可见,通过引入该数据库实时状态修复方法,能够提高数据库异常告警的准确率,提高了运维效率,降低了运维风险。

在一实施例中,提供一种数据库异常修复装置,该数据库异常修复装置与上述实施例中数据库异常修复方法一一对应。如图4所示,该数据库异常修复装置,所述联盟链中的多个节点中包括超级节点和多个从属节点,所述装置包括:异常检测模块410、异常事件确定模块420、异常修复模块430。各功能模块详细说明如下:

异常检测模块410,用于获取数据库的当前性能指标参数,并从所述当前性能指标参数中筛选出异常性能指标参数;

数据库指的是目标服务器上配置的数据库,目标服务器可以是监控服务器需要监测的服务器,其中,监测服务器是可执行数据库告警方法的第三方服务器,用于监测目标服务器的运行状态;目标服务器也可以是执行数据库告警方法的服务器。数据库包括但不限于MySQL(关系型数据库)、Oracle(一个面向Internet计算环境的关系型数据库)、SqlServer(具备完全web支持的数据库系统)

获取数据库的当前性能指标参数,可以理解为,通过监控服务器获取目标服务器中数据库的当前性能指标参数,目标服务器通过执行相应的数据筛选方法对当前性能指标参数进行筛选来获取数据库的异常性能指标参数。

异常性能指标参数可以是监测的性能指标参数中存在异常的指标参数,其中,性能指标参数指的是目标服务器中操作系统和数据库的运行指标参数。

以MySQL数据库为例,性能指标参数包括但不限于TPS(Transactions PerSecond,每秒传输的事务处理个数)、QPS(Queries Per Second,每秒查询处理量)、等待时间(执行Sql等待返回结果之间的等待时间)

在一实施例中,异常检测模块410在从所述当前性能指标参数中筛选出异常性能指标参数时,将所述当前性能指标参数与预设异常区间进行比较,并在所述性能指标参数位于所述预设异常区间时,确定位于预设异常区间内的性能指标参数为异常性能指标参数。

仍以MySQL数据库为例,假如在正常情况下,每秒传输的事务处理个数为30个,预设异常区间为10~20个,那么若在当前时刻下,每秒传输的事务处理个数为15,则落入到预设异常区间10~20中,则此时的TPS为异常性能指标参数,基于当前的TPS可以认为MySQL数据库发生异常。

同样的,采用类似的比较方法,可以从所有当前性能指标参数中筛选出异常性能指标参数。

在一实施例中,所述异常检测模块410在获取数据库的性能指标参数,包括:通过实时采集的方式或以设定时间间隔获取所述数据库的当前性能指标参数。

可理解地,设定时间间隔可以根据需求设定,比如设定时间间隔为2分钟。需要说明的是,设定时间间隔可以根据实际需求进行设定。

本发明通过实时或者定时接收所述性能指标参数性,满足获取所述性能指标参数的多样性。

在一实施例中,数据库异常修复装置还包括:设置模块,用于设置异常检测线程和异常修复线程;所述异常检测线程用于对所述性能指标数据进行筛选以确定异常性能指标参数,所述异常修复线程用于运行修复建议对所述数据库进行修复。

具体地,可以在数据库所在的服务器上设置一个异常检测线程和一个异常修复线程,异常检测线程和异常修复线程可以并行的执行,也可以串行的执行。需要说明的是,从对数据的处理效率来说,异常检测线程和异常修复线程并行执行高于异常检测线程和异常修复线程的串行执行,本领域技术人员可以根据实际需求进行相应的选择。但一般来说,为了提高对数据的处理效率,本实施例中选择并行执行异常检测线程和异常修复线程。

需要说明的是,通过对所述当前性能指标参数进行筛选,确定的异常性能指标参数可以包括一个,也可以包括多个;若包括多个异常性能指标参数的话,则可以被定义为异常性能指标参数组合。

异常事件确定模块420,用于根据所述异常性能指标参数以及预先建立的关联关系列表确定异常事件,其中,所述关联关系列表用于记录异常性能指标参数与异常事件之间的对应关系;

关联关系列表是预先建立的,在该表中预先标定性能指标参数与异常事件的对应关系,这些对应关系可以专家团队进行定制。

表1关联关系表

假如,服务器在确定出异常性能指标参数a时,那么可以通过表1查找到对应异常事件a;若服务器在确定出异常性能指标参数b时,那么可以通过表1查找到对应异常事件b。

异常修复模块430,用于根据所述异常事件调用与所述异常事件对应的修复建议对所述数据库进行修复。

如表1所示,假如,服务器在确定出异常性能指标参数a时,那么可以通过表1查找到对应异常事件a,相对应的修复建议为修复建议a;若服务器在确定出异常性能指标参数b时,那么可以通过表1查找到对应异常事件b,相对应的修复建议为修复建议b。

在一实施例中,若根据预先建立的关联关系列表确定的异常事件包括多个,则在对多个异常事件进行修复时,按照所述异常事件的优先级大小先后调用修复建议对所述数据库进行修复,直至数据库成功修复;若一个异常事件对应多个修复建议,则按照修复建议的优先级大小先后调用多个修复建议对数据库进行修复,直至数据库成功修复。

表2关联关系表

请参阅表2,比如,异常检测线程检测到异常性能指标参数a,通过表2可以查询到异常性能指标参数a对应异常事件a和异常事件b,那么此时可以根据异常事件的优先级调用相应的修复建议,其中的优先级可以按一定的规则预先定义。具体地,若异常事件a的优先级高于异常事件b的优先级,则在对数据库进行修复时,首先调用修复建议a对数据库进行修复,若利用修复成功则结束修复流程,若修复建议a不能修复数据库,则调用修复建议b对数据库进行修复。

表3关联关系表

请参阅表3,比如,异常检测线程检测到异常性能指标参数a,通过表2可以查询到异常性能指标参数a对应异常事件a,异常事件a对应修复建议a和修复建议b,那么此时可以根据修复建议的优先级调用相应的修复建议,其中的优先级可以按一定的规则预先定义。具体地,若修复建议a的优先级高于修复建议b的优先级,则在对数据库进行修复时,首先调用修复建议a对数据库进行修复,若利用修复成功则结束修复流程,若修复建议a不能修复数据库,则调用修复建议b对数据库进行修复。

需要说明的是,在对所述数据库进行修复后,还可以获取验证信息;根据所述验证信息对在对所述数据库进行修复后得到的修复结果进行验证,得到验证结果;在所述验证结果满足预设修复成功条件时,确定对数据库的异常修复成功。

可以理解地,在对数据库进行修复后,根据验证信息对异常修复结果进行验证,得到验证结果;若验证结果表征异常修复成功时,则确定验证结果表征异常修复成功,进而确定数据库修复完成。例如异常事件为CPU占用率升高至80%时,若异常修复结果为进行异常修复后的CPU占用率为23%,而验证信息为CPU占用率小于30%,则修复成功。

在一实施例中,所述数据库异常修复装置还包括:异常事件识别模块,用于在所述关联关系列表中不存在与所述异常性能指标参数对应的异常事件时,利用预先训练的异常事件识别模型对所述异常性能指标参数进行识别,得到识别结果,并以所述识别结果作为异常事件。

异常事件识别模型为基于深度学习方法训练得到的模型。引入深度学习方法能够合理处理复杂的异常模式,从数据中学习隐含的规律,很好地保留异常相邻点间的异常信息。而且,在本实施例中,是在通过关联关系列表不能识别出相应的异常事件时,利用异常事件识别模型来根据异常性能指标参数进行异常事件识别,对基于专家团队定义的关联关系列表的异常事件识别进行补充,提高了异常事件识别的精确度。在本实施例中,异常事件识别模型可以采用基于聚类的CBLOF模型,或基于集成的IForest模型,或基于深度学习的GRU模型。

关于数据库异常修复装置的具体限定可以参见上文中对于数据库异常修复方法的限定,在此不再赘述。上述数据库异常修复装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性和/或易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的客户端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据库异常修复方法服务端侧的功能或步骤。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是客户端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部服务器通过网络连接通信。该计算机程序被处理器执行时以实现一种数据库异常修复方法客户端侧的功能或步骤。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

获取数据库的性能指标参数,并对所述性能指标参数进行筛选,确定异常性能指标参数;

确定所述异常性能指标参数的类型,并根据预先建立的关联关系列表确定异常事件,其中,所述关联关系列表表示性能指标参数的类型与异常事件的关系;

根据所述异常事件调用与所述异常事件对应的修复建议对所述数据库进行修复。

在一实施例中,所述方法还包括:在所述关联关系列表中不存在与所述异常性能指标参数对应的异常事件时,利用预先训练的异常事件识别模型对所述异常性能指标参数进行识别,得到识别结果,并以所述识别结果作为异常事件。

在一实施例中,所述对所述性能指标参数进行筛选,确定异常性能指标参数,包括:

将所述当前性能指标参数与预设异常区间进行比较,并在所述性能指标参数位于所述预设异常区间时,确定位于预设异常区间内的性能指标参数为异常性能指标参数。

在一实施例中,所述获取数据库的性能指标参数,包括:

通过API接口,实时获取所述数据库的性能指标参数;或通过轮询接口,以设定时间间隔获取所述数据库的性能指标参数。

在一实施例中,在对所述数据库进行修复后,所述方法还包括:

获取验证信息;

根据所述验证信息对在对所述数据库进行修复后得到的修复结果进行验证,得到验证结果;

在所述验证结果满足预设修复成功条件时,确定对数据库的异常修复成功。

在一实施例中,在获取数据库的性能指标参数的步骤前,所述方法还包括:

设置异常检测线程和异常修复线程;所述异常检测线程用于对所述性能指标数据进行筛选以确定异常性能指标参数,所述异常修复线程用于运行修复建议对所述数据库进行修复。

在一实施例中,若根据预先建立的关联关系列表确定的异常事件包括多个,则在对多个异常事件进行修复时,按照所述异常事件的优先级依次调用修复建议对所述数据库进行修复;若一个异常事件对应多个修复建议,则按照修复建议的优先级依次调用多个修复建议对数据库进行修复,直至数据库成功修复。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取数据库的性能指标参数,并对所述性能指标参数进行筛选,确定异常性能指标参数;

确定所述异常性能指标参数的类型,并根据预先建立的关联关系列表确定异常事件,其中,所述关联关系列表表示性能指标参数的类型与异常事件的关系;

根据所述异常事件调用与所述异常事件对应的修复建议对所述数据库进行修复。

在一实施例中,所述方法还包括:在所述关联关系列表中不存在与所述异常性能指标参数对应的异常事件时,利用预先训练的异常事件识别模型对所述异常性能指标参数进行识别,得到识别结果,并以所述识别结果作为异常事件。

在一实施例中,所述对所述性能指标参数进行筛选,确定异常性能指标参数,包括:

将所述当前性能指标参数与预设异常区间进行比较,并在所述性能指标参数位于所述预设异常区间时,确定位于预设异常区间内的性能指标参数为异常性能指标参数。

在一实施例中,所述获取数据库的性能指标参数,包括:

通过API接口,实时获取所述数据库的性能指标参数;或通过轮询接口,以设定时间间隔获取所述数据库的性能指标参数。

在一实施例中,在对所述数据库进行修复后,所述方法还包括:

获取验证信息;

根据所述验证信息对在对所述数据库进行修复后得到的修复结果进行验证,得到验证结果;

在所述验证结果满足预设修复成功条件时,确定对数据库的异常修复成功。

在一实施例中,在获取数据库的性能指标参数的步骤前,所述方法还包括:

设置异常检测线程和异常修复线程;所述异常检测线程用于对所述性能指标数据进行筛选以确定异常性能指标参数,所述异常修复线程用于运行修复建议对所述数据库进行修复。

在一实施例中,若根据预先建立的关联关系列表确定的异常事件包括多个,则在对多个异常事件进行修复时,按照所述异常事件的优先级依次调用修复建议对所述数据库进行修复;若一个异常事件对应多个修复建议,则按照修复建议的优先级依次调用多个修复建议对数据库进行修复,直至数据库成功修复。

需要说明的是,上述关于计算机可读存储介质或计算机设备所能实现的功能或步骤,可对应参阅前述方法实施例中,服务端侧的相关描述,为避免重复,这里不再一一描述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

相关技术
  • 一种数据库溢出页异常的检测方法、装置及存储介质
  • 一种连接数据库的方法、装置、系统、设备和存储介质
  • 一种数据库权限管理方法、装置、设备及存储介质
  • 一种软件运行异常的分析方法、装置、电子设备及存储介质
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 数据库异常修复方法、装置、计算设备及存储介质
  • 一种溢出页异常的数据库修复方法、装置及存储介质
技术分类

06120116513107