CN113886130A - 一种处理数据库故障的方法,装置及介质 - Google Patents

一种处理数据库故障的方法,装置及介质 Download PDF

Info

Publication number
CN113886130A
CN113886130A CN202111227154.0A CN202111227154A CN113886130A CN 113886130 A CN113886130 A CN 113886130A CN 202111227154 A CN202111227154 A CN 202111227154A CN 113886130 A CN113886130 A CN 113886130A
Authority
CN
China
Prior art keywords
database
fault
strategy information
repair
information
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
Application number
CN202111227154.0A
Other languages
English (en)
Inventor
苏志华
贺阳阳
戚学斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202111227154.0A priority Critical patent/CN113886130A/zh
Publication of CN113886130A publication Critical patent/CN113886130A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据库故障处理方法,装置及介质,包括:当数据库发生故障的情况下,获取数据库的运行数据和监控指标,并调用推荐算法得到与运行数据和监控指标相对应的排障策略信息,依据获取到的排障策略信息对数据库的故障进行排除。由此可见,本发明提供的技术方案通过收集数据库发生故障情况下的运行数据和监控指标,并通过调用推荐算法得到相应的排除数据库故障的排障策略信息以修复数据库的故障,避免了人工对数据库故障定位以及故障修复耗时费力且易出错的问题,提高了数据库排除故障的效率。

Description

一种处理数据库故障的方法,装置及介质
技术领域
本发明涉及计算机领域,特别是涉及一种数据库故障处理方法,装置及介质。
背景技术
数据库是众多互联网应用的基础,随着互联网的不断发展,数据库的可靠性越来越被重视。目前数据库故障的排查与处理是一个已知的难题,无论是开源数据库的故障处理还是商业数据库的故障处理都需要对故障进行定位以及排除,故障定位需要大量数据库领域的专业知识以及需要收集系统信息、数据库指标、事件信息、会话信息、结构化查询语言(Structured Query Language,简称SQL)信息和日志信息等大量信息,此外,不同的数据库产品需要的知识不近相同,而且数据库的故障排除也需要有严格的操作要求和流程。
当前,对于数据库故障的定位与处理通常采用人工操作的方式,对于非专业的运维人员或非数据库管理人员来说,处理数据库故障费时费力且易出错,即使对于有经验的数据库管理人员来说,故障的处理与恢复也是需要耗费一定的时间。
由此可见,解决人工处理数据库故障不但耗时费力且容易出错的问题,提高数据库排除故障的效率,是本领域技术人员亟待解决的问题。
发明内容
本发明的目的是提供一种数据库故障处理方法,装置及介质。在数据库发生故障的情况下,避免了人工对数据库故障定位以及故障修复耗时费力且易出错的问题,通过收集数据库发生故障情况下的运行数据和监控指标,并通过调用推荐算法得到相应的排除数据库故障的排障策略信息以修复数据库的故障。
为了解决上述技术问题,本发明提供了一种处理数据库故障的方法,包括:
在数据库发生故障的情况下,获取所述数据库的运行数据和监控指标;
调用推荐算法,并通过所述推荐算法得到与所述运行数据和所述监控指标对应的排障策略信息;
依据所述排障策略信息对所述数据库进行故障修复。
优选地,所述获取所述数据库的运行数据和监控指标包括:
获取所述数据库发生所述故障时刻前后预设时间内的所述运行数据和所述监控指标。
优选地,所述推荐算法为多个,所述依据所述排障策略信息对所述数据库进行故障修复包括:
根据多个所述推荐算法获取多个所述排障策略信息;
从多个所述排障策略信息中选取出现频率最高的所述排障策略信息以修复所述数据库的所述故障。
优选地,所述排障策略信息为多种,所述依据所述排障策略信息对所述数据库进行故障修复包括:
对各所述排障策略信息进行排序;
依据排序后的所述排障策略信息,获取目标排障策略信息以修复所述数据库的所述故障;
若通过所述目标排障策略信息未修复所述数据库的所述故障,则从全部所述排障策略信息中选取除所述目标排障策略信息以外的其它所述排障策略信息以修复所述数据库的所述故障。
优选地,所述对各所述排障策略信息进行排序包括:
获取所述故障的类型和各所述排障策略信息的权重;
根据所述类型和所述权重,对各所述排障策略信息的优先级进行排序。
优选地,所述获取目标排障策略信息以修复所述数据库的所述故障包括:
依据所述排障策略信息的所述优先级选择优先级最高的所述排障策略信息作为所述目标排障策略信息以修复所述数据库的所述故障。
优选地,所述获取目标排障策略信息以修复所述数据库的所述故障包括:
将确定所述优先级的各所述排障策略信息发送至人机交互模块以选择所述目标排障策略信息,并执行所述目标排障策略信息以修复所述数据库的所述故障。
为了解决上述技术问题,本发明还提供了一种处理数据库故障的装置,包括:
获取模块,用于在数据库发生故障的情况下,获取所述数据库的运行数据和监控指标;
调用模块,用于调用推荐算法,并通过所述推荐算法得到与所述运行数据和所述监控指标对应的排障策略信息;
修复模块,用于依据所述排障策略信息对所述数据库进行故障修复。
为了解决上述技术问题,本发明还提供了一种处理数据库故障的装置,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如所述的处理数据库故障的方法的步骤。
为了解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述的处理数据库故障的方法的步骤。
本发明所提供的一种处理数据库故障的方法,包括:当数据库发生故障的情况下,获取数据库的运行数据和监控指标,并调用推荐算法得到与运行数据和监控指标相对应的排障策略信息,依据获取到的排障策略信息对数据库的故障进行排除。由此可见,本发明提供的技术方案通过收集数据库发生故障情况下的运行数据和监控指标,并通过调用推荐算法得到相应的排除数据库故障的排障策略信息以修复数据库的故障,避免了人工对数据库故障定位以及故障修复耗时费力且易出错的问题,提高了数据库排除故障的效率。
此外,本发明所提供的处理数据库故障的装置及介质与上述方法对应,效果同上。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种处理数据库故障的硬件架构示意图;
图2为本发明实施例提供的一种处理数据库故障的方法流程图;
图3为本发明另一实施例提供的处理数据库故障的方法流程图;
图4为本发明实施例所的处理数据库故障的装置的结构图;
图5为本发明另一实施例提供的处理数据库故障的装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
本发明的核心是提供一种数据库故障处理方法,装置及介质,在数据库发生故障的情况下,无需人工处理,通过获取数据库的运行数据和监控指标,并调用推荐算法得到与运行数据和监控指标相对应的排障策略信息以修复数据库的故障。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
图1为本发明提供的一种处理数据库故障的硬件架构示意图,如图1所示,监测设备与多个设备连接以监测各设备中的数据库是否发生故障,当任意一个设备的数据库发生故障时,监测设备获取该设备数据库故障时的运行数据和监控指标,并通过调用推荐算法得到相应的排障策略信息以修复各设备的数据库故障。
目前,数据库运行过程中时常会发生卡顿、查询缓慢、无法响应、死锁、执行时间过长等问题,检测到数据库故障时需要进行接入和处理,对于数据库故障的定位和修复是一个已知的难题,数据库的故障定位需要收集系统信息、数据库指标、事件信息、会话信息、日志信息、SQL信息等大量信息,以及需要一定的数据库领域的专业知识,而且不同的数据库产品需要的数据库知识不尽相同,此外,对于数据库的故障修复有严格的操作要求和流程。当前通常采用人工处理数据库的故障,对于非专业的运维人员或非数据库管理人员来说,数据库的故障修复是一件费时费力的事,即使对于有经验的运维人员来说,数据库故障的定位与恢复也需要一定的时间,因此,目前采用人工处理数据库故障不仅耗时费力且易出错,而对于一些关键的应用,恢复时间目标(RTO)通常有严格的要求,所以故障的快速定位以及快速修复尤为重要。
为了避免人工处理数据库故障耗时费力且易出错的问题,本发明提出了一种处理数据库故障的方法,当数据库发生故障时,获取数据库故障情况下的运行数据和监控指标,通过调用推荐算法得到数据库故障时相关的运行数据和监控指标对应的排障策略信息以修复数据库的故障。
图2为本发明实施例提供的一种处理数据库故障的方法流程图,如图2所示,该方法包括:
S10:在数据库发生故障的情况下,获取数据库的运行数据和监控指标。
在具体实施例中,数据库运行过程中,通过监控组件收集数据库的运行数据和监控指标,其中,运行数据包括:与客户端连接的会话信息,客户端发出请求的SQL信息,数据库系统内部处理结构的锁信息,日志信息等,监控指标包括系统指标、内核指标、性能指标等。其中,系统指标包括中央处理器(central processing unit,简称CPU)运行数据,内存运行数据等,内核指标包括线程数,线程连接情况,缓存区使用情况等,性能指标包括磁盘读写速度等。当数据库故障时,获取数据库故障情况下的运行数据和监控指标。
需要说明的是,获取数据故障时数据库的运行数据和监控指标可以是仅获取发生故障时刻的运行数据和监控指标,也可以是获取发生故障时刻前后预设时间内的运行数据和监控指标。
此外,还需要说明的是,数据库运行过程中,监控组件可以是持续收集数据库的运行数据和监控指标,当数据库发生故障时从中获取故障情况下的运行数据和监控指标即可,也可以是数据库发生故障后再启动监控组件获取故障时的运行数据和监控指标,本发明对此也不做限定。
S11:调用推荐算法,并通过推荐算法得到与运行数据和监控指标对应的排障策略信息。
当步骤S10获取到数据库故障情况下的运行数据和监控指标后,通过调用推荐算法得到数据库故障情况下的运行数据和监控指标对应的排障策略信息,其中,推荐算法可以是基于模型的推荐算法,基于分类的推荐算法,基于规则的推荐算法等。
在具体实施例中,除了将数据库故障情况下的运行数据和监控指标以及所有故障类型对应的排障策略信息作为推荐算法的输入外,还可以将自定义的规则作为推荐算法的输入,例如,对特殊事件可以选定排障策略信息,对于特定的故障指定优先选择的排障策略信息,以及禁止使用例如重启数据库的高危险性的排障策略信息等。需要说明的是,可以调用一个推荐算法,也可以调用多个推荐算法对数据库故障的排障策略信息进行推荐,本发明对调用推荐算法的个数不作限定。
其中,所述排障策略信息描述了设备执行排障操作的策略,其具体形态包括可执行文件、代码块、脚本和/或配置参数等。排障策略信息对应的排障策略包括但不限于处理查询相关的系统事件、SQL限流、关闭会话等。设备通过排障策略信息实施对应的数据库排障策略,以解决数据库故障问题。
此外,值得注意的是,调用推荐算法得到的排障策略信息为预先设定的排障策略信息,依据当前数据库故障时的运行数据和监控指标,调用推荐算法从所有预先设定的排障策略信息中推荐出可能修复当前数据库故障的排障策略信息,可以将所有的排障策略信息整合为一个排障策略信息包,也可以是一个排障策略信息数据库,对于排障策略信息的存储方式本发明不作限定。当然,当用户发现对数据库故障处理有新的排障策略信息时,可以对排障策略信息包进行更新,因此,需要对排障策略信息包进行更新维护,以便于提升数据库故障的修复率。
S12:依据排障策略信息对数据库进行故障修复。
根据步骤S11获取到的排障策略信息对数据库的故障进行修复,需要说明的是,步骤S11获取到的排障策略信息可以是一个,也可以是多个。若步骤S11获取到的排障策略信息是一个时,直接将该排障策略信息作为目标排障策略信息对数据库的故障进行修复。若步骤S11获取到的排障策略信息是多个时,可以是从多个排障策略信息中选取出现频率最高的排障策略信息作为对数据库故障修复的最终排障策略信息。也可以是先将多个排障策略信息按故障的类型以及各排障策略信息的权重对排障策略信息的优先级进行排序,然后可以是根据排障策略信息的优先级选择优先级最高的排障策略信息作为目标排障策略信息以修改数据库故障,当然,也可以将排序好优先级的各排障策略信息发送至人机交互模块,由用户选择目标排障策略信息对数据库故障进行修复。
在具体实施例中,当数据库发生故障时,将数据库故障情况下的运行数据和监控指标,用户自定义的规则,故障的类型,以及不同故障对应的各排障策略信息作为推荐算法的输入,进而通过推荐算法得到相应的排障策略信息以修复数据库的故障,最后通过获取数据库接口返回的数据和状态判断数据库的故障是否修复,若未修复,当步骤S11获取到的排障策略信息为多个时,则根据各排障策略信息的优先级重新选择一个目标排障策略信息以修复数据库的故障,当步骤S11获取到的排障策略信息为一个时,则替换推荐算法并返回步骤S11获取新的排障策略信息以修复数据库的故障。当然,若步骤S11获取到的排障策略信息为多个,若得到的全部排障策略信息均未修复数据库的故障,则替换推荐算法并返回步骤S11获取新的排障策略信息以修复数据库的故障。
为了便于理解,下面将进一步详细说明。当数据库发生卡顿,查询缓慢无法响应,系统卡慢,死锁,或执行时间过长等故障时,通过监控组件获取数据库故障时刻预设时间内的运行数据和监控指标,例如,获取数据库故障时刻前后半小时内与客户端连接的会话信息,客户端发出请求的SQL信息,数据库系统内部处理结构的锁信息和日志信息等运行数据,以及系统指标、内核指标、性能指标等监控指标。获取得到数据库故障情况下的运行数据和监控指标后,调用推荐算法推荐得到与该运行数据和监控指标相对应的排障策略信息,其中,推荐算法可以是基于模型的推荐算法,基于分类的推荐算法,基于规则的推荐算法等,在具体实施中,可以调用一个推荐算法,也可以调用多个推荐算法。
例如,当调用一个基于模型的推荐算法时,将数据库正常运行的运行数据和监控指标以及数据库的不同故障对应的处理方法相结合建立模型,通过机器学习算法对建立的模型进行训练,将故障情况下的运行数据和监控指标结合建立的模型计算出每个排障策略信息的得分,再根据排障策略信息的得分给出推荐排障策略信息。
当基于模型的推荐算法推荐的排障策略信息为一个时,直接将该排障策略信息对应的方案作为修复数据库故障的最终方案。当基于模型的推荐算法推荐的排障策略信息为多个时,依据故障的类型以及预先设定的各排障策略信息的权重对基于模型的推荐算法推荐的所有排障策略信息优先级进行排序,对所有排障策略信息进行排序后,可以直接选择优先级最高的排障策略信息作为目标排障策略信息以修改数据库故障,此外,也可以将排序好优先级的各排障策略信息发送至人机交互模块,由用户选择目标排障策略信息对数据库故障进行修复。
当然,也可以调用多个推荐算法进行推荐处理,多个推荐算法推荐出多个排障策略信息时,可以将出现频率最高的排障策略信息作为修复数据库故障的最终方案。同样的,也可以依据故障的类型以及预先设定的各排障策略信息的权重对所有排障策略信息优先级进行排序,排序后可以直接选择优先级最高的排障策略信息作为目标排障策略信息以修改数据库故障,也可以将排序好优先级的各排障策略信息发送至人机交互模块,由用户选择目标排障策略信息对数据库故障进行修复。
本发明实施例所提供的处理数据库故障的方法,包括:当数据库发生故障的情况下,获取数据库的运行数据和监控指标,并调用推荐算法得到与运行数据和监控指标相对应的排障策略信息,依据获取到的排障策略信息对数据库的故障进行排除。由此可见,本发明提供的技术方案通过收集数据库发生故障情况下的运行数据和监控指标,并通过调用推荐算法得到相应的排除数据库故障的排障策略信息以修复数据库的故障,避免了人工对数据库故障定位以及故障修复耗时费力且易出错的问题,提高了数据库排除故障的效率。
在具体实施例中,为了避免因为获取数据库故障时的运行数据和监控指标不全面导致故障修复失败,在获取数据库故障时的运行数据和监控指标可以选择获取故障时刻前后预设时间内的相关数据和指标,例如,获取故障发生时刻前后半小时内的运行数据和监控指标,再调用推荐算法得到相应的排障策略信息。需要说明的是,预设时间可以是半小时,一小时等,本发明对此不作限定。
本发明实施例所提供的处理数据库故障的方法,通过获取数据库故障时刻前后半小时内产生的运行数据和监控指标以获取修复故障的排障策略信息,可以避免因为获取到数据库故障的运行数据和监控指标不全面导致故障修复失败的情况,进而提高了数据库的故障修复率。
在具体实施例中,考虑到选取的排障策略信息对故障修复的修复率,可以调用多个推荐算法得到数据库故障时的运行数据和监控指标对应的排障策略信息,每个推荐算法可以是推荐一个排障策略信息,也可以是推荐多个排障策略信息。从各推荐算法推荐的所有排障策略信息中选取出现频率最高的排障策略信息作为修复数据库故障的最终排障策略信息。
本发明实施例所提供的处理数据库故障的方法,通过调用多个推荐算法获取多个排障策略信息,并从推荐的所有排障策略信息中选取出现频率最高的排障策略信息以修复数据库的故障,由此可见,多个推荐算法中获取推荐频率最高的排障策略信息作为修复数据库故障的最终排障策略信息,获取的最终排障策略可靠性更高,进而提高了数据库的故障修复率。
在具体实施例中,通过调用推荐算法得到数据库故障时的运行数据和监控指标对应的排障策略信息可以是一个,也可以是多个。当排障策略信息为多个时,根据数据库的故障类型,以及该故障类型对应的各排障策略信息的权重,对获取到的排障策略信息进行排序,并从排序后的排障策略信息中获取目标排障策略信息以修复数据库的故障。
获取到目标排障策略信息并执行目标排障策略信息后,通过获取数据库接口返回的数据和状态判断数据库的故障是否修复,若获取到的目标排障策略信息未能将数据库的故障修复时,则从全部的排障策略信息中选择除目标排障策略信息以外的其他排障策略信息对数据库的故障进行修复。需要说明的是,当调用推荐算法得到的所有排障策略信息均无法对数据库的故障进行修复时,可以替换推荐算法,重新获取排障策略信息对数据库的故障进行修复。
本发明实施例所提供的处理数据库故障的方法,当通过调用推荐算法得到数据库故障时的运行数据和监控指标对应的排障策略信息为多个时,对各排障策略信息进行排序,再从中获取一个目标排障策略信息以修复数据库故障,可以快速选择出适合数据库发生故障时对应的排障策略信息,因此可以快速定位数据库的故障,同时可以快速找到合适的排障策略对数据库的故障进行排除,不仅可以避免人工排除数据库故障耗时费力且易出错的问题。此外,通过调用推荐算法得到数据库故障时的运行数据和监控指标对应的排障策略信息为多个时,从排障策略信息中获取一个目标排障策略信息对数据库的故障进行修复,若修复未完成,则选择除了目标排障策略信息以外的其他排障策略信息对数据库故障进行排除,可以避免仅选择一个排障策略无法修复数据库故障的情况发生,进一步提高了数据库故障的修复率。
在具体实施例中,当通过调用推荐算法得到数据库故障情况下的运行数据和监控指标对应的排障策略信息为多个时,获取数据库的故障类型以及得到的该故障类型对应的各排障策略信息的权重,根据故障类型和各排障策略信息的权重对排障策略信息的优先级进行排序,以便于从各排障策略信息中选择目标排障策略信息对数据库的故障进行修复。
本发明实施例所提供的处理数据库故障的方法,当推荐算法的推荐结果为多个排障策略信息时,通过获取数据库的故障类型以及得到该故障类型对应的各排障策略信息的权重对排障策略信息的优先级进行排序,可以快速在多个排障策略信息中确定合适的目标排障策略信息以修复数据库的故障,进而提高了数据库故障处理的效率。
在上述实施例的基础上,对各排障策略信息进行排序后,选择优先级最高的排障策略信息作为目标排障策略信息,并执行目标排障策略信息。目标方案执行结束后,获取数据库接口返回的数据和状态,并根据该数据和状态判断数据库的故障是否修复,若未修复,可以降低已经执行过的目标排障策略信息的权重,并对各排障策略信息的优先级进行重新排序,以便于获取新的目标方案对数据库故障进行修复。也可以忽略处理已经执行过的目标排障策略信息,并选取优先级排在已经执行过的目标排障策略信息后的一个排障策略信息作为新的目标排障策略信息以修复数据库故障。
当然,当推荐算法得到的所有排障策略信息都已执行尚未修复数据库的故障,则可以替换推荐算法重新获取排障策略信息对数据库的故障进行修复。
本发明实施例所提供的处理数据库故障的方法,从排列好优先级的各排障策略信息中按照优先级的高低获取目标排障策略信息以修复数据库的故障,当一个排障策略信息未能修复数据库故障时可以及时替换目标排障策略信息对数据库故障进行修复,进而提高了数据库的故障修复率。
当然,对各排障策略信息进行排序后,也可以将排列好优先级的各排障策略信息发送至人机交互模块,由用户选择目标排障策略信息以修复数据库故障。需要说明的是,人机交互模块可以设置为触摸显示屏,采取可视化的交互方式,此外,各排障策略信息可以以菜单、统计图、列表,数字,文字等形式提供给用户,用户可以通过点击屏幕直接选择目标排障策略信息对数据库进行修复。当然,人机交互模块也可以是包括鼠标,键盘,和显示屏,用户通过鼠标和键盘的输入选择显示屏给出的排障策略信息以修复数据库的故障。
本发明实施例所提供的处理数据库故障的方法,可以将排列好优先级的各排障策略信息发送至人机交互模块,用户根据偏好或经验选择目标排障策略信息以修复数据库的故障,结合用户的经验以及排列好优先级的各排障策略信息以确定目标排障策略信息对数据库的故障进行排除,进一步提高了对数据库故障的修复率。
图3为本发明另一实施例提供的处理数据库故障的方法流程图,为了使本领域的技术人员更好的理解本发明的技术方案,下面结合图3,对上述本发明作进一步详细说明。如图3所示,该方法包括:
S10:在数据库发生故障的情况下,获取数据库的运行数据和监控指标。
S11:调用推荐算法,并通过推荐算法得到与运行数据和监控指标对应的排障策略信息。
S20:获取目标排障策略信息。
S21:判断数据库故障是否修复,若是,则结束,若否,返回步骤S20。
在具体实施例中,若某数据库发生故障,进入步骤S10,调用监控组件获取该数据库故障情况下的运行数据,获取到相关数据和监控指标后,进入步骤S11,调用推荐算法,确定对应的排障策略信息。值得注意的是,调用的推荐算法可以是一个,也可以是多个。
S22:结束。
当调用一个推荐算法,依据步骤S10获取的运行数据和监控指标获取多个对应的排障策略信息时,在步骤S20中,将获取的多个排障策略信息按照故障类型以及各排障策略信息的权重进行排序,并依据排序结果获取目标排障策略信息以修复数据库故障。需要说明的是,对各排障策略信息进行排序后,可以依据排序自动获取目标排障策略信息,也可以将排序后的各排障策略信息传输至人机交互模块,由用户进行选择目标排障策略信息。
获取目标排障策略信息对数据库进行修复后,进入步骤S21,判断数据库故障是否修复,若修复成功,则进入步骤S22,若修复失败,则降低目标排障策略信息的权重或进行忽略处理,并返回步骤S20重新获取目标排障策略信息修复数据库故障。
当调用多个推荐算法时,步骤S20获取目标排障策略信息则从各推荐算法推荐的排障策略信息中获取出现频率最高的排障策略信息作为目标排障策略信息以修复数据库故障,若故障修复失败,则返回步骤S20,获取出现频率第二的排障策略信息作为目标排障策略信息继续进行修复。需要说明的是,若调用的多个推荐算法获取的排障策略信息中没有出现多次的排障策略信息,则依据数据库的故障和各排障策略信息的权重进行排序以获取目标排障策略信息。
为了使本领域技术人员更清楚地了解本发明的技术方案,下面将举例说明。
例如,在对于数据库查询无法响应的故障,预先设定的排障策略信息包括:(1)处理查询相关的系统事件,(2)SQL限流,(3)关闭会话这3种排障策略信息,并缺省这3种排障策略信息的权重和分值相同。调用监控组件获取查询无法响应情况下的运行数据和监控指标,其中,运行数据包括:与客户端连接的会话信息,客户端发出请求的SQL信息,数据库系统内部处理结构的锁信息,日志信息等。监控指标包括资源指标和引擎指标等,资源指标包括CPU和内存利用率,磁盘利用率和网络流量等,引擎指标包括TPS/QPS,数据库连接数,缓存利用率、锁情况、等待事件等。
当某数据库发生查询无法响应的故障时,获取运行数据和监控指标后,调用推荐算法,得到排障策略信息(1)处理查询相关的系统事件,(2)SQL限流,(3)关闭会话这3种排障策略信息。
依据用户预先设定的规则,数据库对应的故障类型以及各排障策略信息的权重获取的各排障策略信息进行排序,对于用户预先设定的规则,例如,若资源指标和连接数相关性能并没有明显的变化或者减少,则推荐算法推荐排障策略信息时,会将排障策略信息(2)SQL限流的权重降低,若CPU和内存利用率很高,数据库连接数和TPS/QPS等指标超出参考区间,则将提高排障策略信息(2)的权重。此外,根据查询查找相关的锁和事件,若有相关的锁或系统等待事件,则推荐算法推进排障策略信息时,将排障策略信息(1)处理查询相关的系统事件的权重提高,若没有,则将方案(1)的权重降低。
依据用户预先设定的规则,数据库对应的故障类型以及各排障策略信息的权重获得个排障策略信息的排除结果,例如,若有相关阻塞事件,则得到(1)、(2)、(3)的排序结果,若数据库系统资源异常或者连接数超出参考区间,则得到(2)、(1)、(3)的排序结果。
得到各排障策略信息相应的排序结果后,可以按照排序结果选择目标排障策略信息进行处理,例如,若排除结果为(2)、(1)、(3),则将排障策略信息(2)作为目标排障策略信息以修复数据库查询无法响应的故障,若修复成功,则结束,若修复失败,则降低排障策略信息(2)的权重或忽略处理,并选择排障策略信息(1)作为新的目标排障策略信息以修复数据库故障。当然,也可以将排序结果发送至人机交互模块,由用户选择目标排障策略信息以修复数据库故障。
在上述实施例中,对于一种处理数据库故障的方法进行了详细描述,本发明还提供一种处理数据库故障的装置对应的实施例。需要说明的是,本发明从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件结构的角度。
图4为本发明实施例所的处理数据库故障的装置的结构图,如图4所示,该装置包括:
获取模块10,用于在数据库发生故障的情况下,获取数据库的运行数据和监控指标。
调用模块11,用于调用推荐算法,并通过推荐算法得到与运行数据和监控指标对应的排障策略信息。
修复模块12,用于依据排障策略信息对数据库进行故障修复。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本发明实施例所提供的处理数据库故障的装置,包括:当数据库发生故障的情况下,获取数据库的运行数据和监控指标,并调用推荐算法得到与运行数据和监控指标相对应的排障策略信息,依据获取到的排障策略信息对数据库的故障进行排除。由此可见,本发明提供的技术方案通过收集数据库发生故障情况下的运行数据和监控指标,并通过调用推荐算法得到相应的排除数据库故障的排障策略信息以修复数据库的故障,避免了人工对数据库故障定位以及故障修复耗时费力且易出错的问题,提高了数据库排除故障的效率。
图5为本发明另一实施例提供的处理数据库故障的装置的结构图,如图5所示,处理数据库故障的装置包括:存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例所提到的处理数据库故障的方法的步骤。
本实施例提供的处理数据库故障的装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的处理数据库故障的方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于处理数据库故障过程中所涉及的数据等。
在一些实施例中,处理数据库故障的装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图5中示出的结构并不构成对处理数据库故障的装置的限定,可以包括比图示更多或更少的组件。
本发明实施例提供的处理数据库故障的装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:处理数据库故障的方法。
本发明实施例提供的处理数据库故障的装置,通过收集数据库发生故障情况下的运行数据和监控指标,并通过调用推荐算法得到相应的排除数据库故障的排障策略信息以修复数据库的故障,避免了人工对数据库故障定位以及故障修复耗时费力且易出错的问题,提高了数据库排除故障的效率。
最后,本发明还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本发明所提供的一种数据库故障处理方法,装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种处理数据库故障的方法,其特征在于,包括:
在数据库发生故障的情况下,获取所述数据库的运行数据和监控指标;
调用推荐算法,并通过所述推荐算法得到与所述运行数据和所述监控指标对应的排障策略信息;
依据所述排障策略信息对所述数据库进行故障修复。
2.根据权利要求1所述的处理数据库故障的方法,其特征在于,所述获取所述数据库的运行数据和监控指标包括:
获取所述数据库发生所述故障时刻前后预设时间内的所述运行数据和所述监控指标。
3.根据权利要求1所述的处理数据库故障的方法,其特征在于,所述推荐算法为多个,所述依据所述排障策略信息对所述数据库进行故障修复包括:
根据多个所述推荐算法获取多个所述排障策略信息;
从多个所述排障策略信息中选取出现频率最高的所述排障策略信息以修复所述数据库的所述故障。
4.根据权利要求1所述的处理数据库故障的方法,其特征在于,所述排障策略信息为多种,所述依据所述排障策略信息对所述数据库进行故障修复包括:
对各所述排障策略信息进行排序;
依据排序后的所述排障策略信息,获取目标排障策略信息以修复所述数据库的所述故障;
若通过所述目标排障策略信息未修复所述数据库的所述故障,则从全部所述排障策略信息中选取除所述目标排障策略信息以外的其它所述排障策略信息以修复所述数据库的所述故障。
5.根据权利要求4所述的处理数据库故障的方法,其特征在于,所述对各所述排障策略信息进行排序包括:
获取所述故障的类型和各所述排障策略信息的权重;
根据所述类型和所述权重,对各所述排障策略信息的优先级进行排序。
6.根据权利要求5所述的处理数据库故障的方法,其特征在于,所述获取目标排障策略信息以修复所述数据库的所述故障包括:
依据所述排障策略信息的所述优先级选择优先级最高的所述排障策略信息作为所述目标排障策略信息以修复所述数据库的所述故障。
7.根据权利要求5所述的处理数据库故障的方法,其特征在于,所述获取目标排障策略信息以修复所述数据库的所述故障包括:
将确定所述优先级的各所述排障策略信息发送至人机交互模块以选择所述目标排障策略信息,并根据所述目标排障策略信息修复所述数据库的所述故障。
8.一种处理数据库故障的装置,其特征在于,包括:
获取模块,用于在数据库发生故障的情况下,获取所述数据库的运行数据和监控指标;
调用模块,用于调用推荐算法,并通过所述推荐算法得到与所述运行数据和所述监控指标对应的排障策略信息;
修复模块,用于依据所述排障策略信息对所述数据库进行故障修复。
9.一种处理数据库故障的装置,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的处理数据库故障的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的处理数据库故障的方法的步骤。
CN202111227154.0A 2021-10-21 2021-10-21 一种处理数据库故障的方法,装置及介质 Pending CN113886130A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111227154.0A CN113886130A (zh) 2021-10-21 2021-10-21 一种处理数据库故障的方法,装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111227154.0A CN113886130A (zh) 2021-10-21 2021-10-21 一种处理数据库故障的方法,装置及介质

Publications (1)

Publication Number Publication Date
CN113886130A true CN113886130A (zh) 2022-01-04

Family

ID=79004160

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111227154.0A Pending CN113886130A (zh) 2021-10-21 2021-10-21 一种处理数据库故障的方法,装置及介质

Country Status (1)

Country Link
CN (1) CN113886130A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114978932A (zh) * 2022-05-20 2022-08-30 深信服科技股份有限公司 故障案例推荐方法、装置和计算可读存储介质
CN116662059A (zh) * 2023-07-24 2023-08-29 上海爱可生信息技术股份有限公司 MySQL数据库CPU故障诊断及自愈方法及可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109784377A (zh) * 2018-12-26 2019-05-21 平安科技(深圳)有限公司 多重识别模型构建方法、装置、计算机设备及存储介质
CN110088744A (zh) * 2017-09-06 2019-08-02 富璟科技(深圳)有限公司 一种数据库维护方法及其系统
CN110178121A (zh) * 2017-09-06 2019-08-27 富璟科技(深圳)有限公司 一种数据库的检测方法及其终端
CN110708204A (zh) * 2019-11-18 2020-01-17 上海维谛信息科技有限公司 一种基于运维知识库的异常处理方法、系统、终端及介质
CN110704224A (zh) * 2019-09-18 2020-01-17 上海麦克风文化传媒有限公司 一种线上故障处理方法及系统
CN110837898A (zh) * 2019-10-25 2020-02-25 袁茂银 基于模型选择的地下电缆故障修复方法和装置
CN112131033A (zh) * 2020-09-18 2020-12-25 苏州浪潮智能科技有限公司 一种服务器故障修复方法、装置、设备及存储介质
CN112559376A (zh) * 2020-12-25 2021-03-26 中国建设银行股份有限公司 一种数据库故障的自动定位方法、装置及电子设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110088744A (zh) * 2017-09-06 2019-08-02 富璟科技(深圳)有限公司 一种数据库维护方法及其系统
CN110178121A (zh) * 2017-09-06 2019-08-27 富璟科技(深圳)有限公司 一种数据库的检测方法及其终端
CN109784377A (zh) * 2018-12-26 2019-05-21 平安科技(深圳)有限公司 多重识别模型构建方法、装置、计算机设备及存储介质
CN110704224A (zh) * 2019-09-18 2020-01-17 上海麦克风文化传媒有限公司 一种线上故障处理方法及系统
CN110837898A (zh) * 2019-10-25 2020-02-25 袁茂银 基于模型选择的地下电缆故障修复方法和装置
CN110708204A (zh) * 2019-11-18 2020-01-17 上海维谛信息科技有限公司 一种基于运维知识库的异常处理方法、系统、终端及介质
CN112131033A (zh) * 2020-09-18 2020-12-25 苏州浪潮智能科技有限公司 一种服务器故障修复方法、装置、设备及存储介质
CN112559376A (zh) * 2020-12-25 2021-03-26 中国建设银行股份有限公司 一种数据库故障的自动定位方法、装置及电子设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114978932A (zh) * 2022-05-20 2022-08-30 深信服科技股份有限公司 故障案例推荐方法、装置和计算可读存储介质
CN114978932B (zh) * 2022-05-20 2024-05-24 深信服科技股份有限公司 故障案例推荐方法、装置和计算可读存储介质
CN116662059A (zh) * 2023-07-24 2023-08-29 上海爱可生信息技术股份有限公司 MySQL数据库CPU故障诊断及自愈方法及可读存储介质
CN116662059B (zh) * 2023-07-24 2023-10-24 上海爱可生信息技术股份有限公司 MySQL数据库CPU故障诊断及自愈方法及可读存储介质

Similar Documents

Publication Publication Date Title
CN110708204B (zh) 一种基于运维知识库的异常处理方法、系统、终端及介质
CN107451040B (zh) 故障原因的定位方法、装置及计算机可读存储介质
CN111309567B (zh) 数据处理方法、装置、数据库系统、电子设备及存储介质
CN113886130A (zh) 一种处理数据库故障的方法,装置及介质
JP2014112400A (ja) アソシエーションルールマイニングを使用してコンピュータ環境内の計算エンティティ向けコンフィギュレーションルールを生成するための方法及び装置
CN114270333A (zh) 用于查询处理中的基数估计反馈循环的系统和方法
WO2019047072A1 (zh) 一种数据库的检测方法及其终端
CN113051147A (zh) 一种数据库集群的监控方法、装置、系统、以及设备
CN114430365B (zh) 故障根因分析方法、装置、电子设备和存储介质
CN112380089A (zh) 一种数据中心监控预警方法及系统
US11757701B2 (en) Method for recommending similar incident, and related device
CN115373835A (zh) Flink集群的任务资源调整方法、装置及电子设备
CN108255703B (zh) 一种sql脚本的故障修复方法及其终端
US20230205516A1 (en) Software change analysis and automated remediation
CN114647558A (zh) 一种日志异常检测的方法和装置
CN108809729A (zh) 一种分布式系统中ctdb服务的故障处理方法及装置
CN109995554A (zh) 多级数据中心主备切换的控制方法及云调度指挥器
CN112115021A (zh) 任务运维方法、装置及系统
KR20220020553A (ko) 멀티 클라우드 환경에서 애플리케이션 성능 모니터링 방법 및 장치
CN114503132A (zh) 机器学习模型训练的调试和剖析
CN114880157B (zh) 一种故障注入方法及装置
CN108255710B (zh) 一种脚本的异常检测方法及其终端
US20220179862A1 (en) Optimizing breakeven points for enhancing system performance
CN114896418A (zh) 知识图谱构建方法、装置、电子设备及存储介质
CN114706893A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20220104