WO2023061227A1 - 数据库运维方法和装置 - Google Patents
数据库运维方法和装置 Download PDFInfo
- Publication number
- WO2023061227A1 WO2023061227A1 PCT/CN2022/122240 CN2022122240W WO2023061227A1 WO 2023061227 A1 WO2023061227 A1 WO 2023061227A1 CN 2022122240 W CN2022122240 W CN 2022122240W WO 2023061227 A1 WO2023061227 A1 WO 2023061227A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- root cause
- repair
- abnormal
- root
- repair method
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
Abstract
本申请公开了一种数据库运维方法和装置,该方法包括:获取数据库的异常指标集合,异常指标集合中每个异常指标的值位于与每个异常指标对应的预设取值范围外;基于图结构搜索出与每个异常指标具有映射关系的至少一个根因,得到根因集合,图结构包括异常指标与根因之间的映射关系;基于图结构,搜索出与根因集合中第一根因具有映射关系的至少一个修复方式,并利用至少一个修复方式对数据库进行修复,直到异常指标集合中的异常指标全部处于正常状态,图结构还包括根因与修复方式之间的映射关系。采用本申请,可以使得数据库的自动运维过程对历史运维数据的依赖性小,且在场景切换后,可以快速修复数据库故障,即适应性强。
Description
本申请要求于2021年10月12日提交中国专利局、申请号为202111189777.3、申请名称为“数据库运维方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及自治数据库技术领域,尤其涉及一种数据库运维方法和装置。
数据是任何商业和公共安全中最具有战略性的资产,信息技术领域全面云化已是大势所趋,继云计算大数据之后,数据库上云也是数据库未来的发展方向。随着信息时代的发展,数据库信息的价值及可访问性得到了提升,数据库的安全性、实用性、可靠性的考验也越来越严峻。对数据库的监控运维往往需要大量的人力物力,发生宕机情况后如果处理不当或由于人为操作失误导致数据丢失损坏,会造成巨大的损失。在运维过程中,数据库管理员(Database Administrator,DBA)很难全面掌握海量节点的状态,因而设计一套可以进行数据库故障自动识别、故障原因自动分析,从而实现数据库故障自动修复的自动运维系统显得尤为重要。
现有技术主要为基于人工智能的自动运维方法,即通过搜集历史运维数据对该自动运维模型进行训练,然后基于该自动运维模型对数据库进行自动运维。
然而,上述基于人工智能的自动运维方法高度依赖历史运维数据集,且在场景切换后,无法解决冷启动问题,即该自动运维方法的适应性差。
发明内容
本申请实施例提供了一种数据库运维方法和装置,使得数据库的自动运维过程对历史运维数据的依赖性小,且在场景切换后,可以快速修复数据库故障,即适应性强。
第一方面,本申请提供了一种数据库运维方法,所述方法包括:获取数据库的异常指标集合,所述异常指标集合中每个异常指标的值位于与所述每个异常指标对应的预设取值范围外;基于图结构搜索出与所述每个异常指标具有映射关系的至少一个根因,得到根因集合,所述图结构包括异常指标与根因之间的映射关系;基于所述图结构,搜索出与所述根因集合中第一根因具有映射关系的至少一个修复方式,并利用所述至少一个修复方式对所述数据库进行修复,直到所述异常指标集合中的异常指标全部处于正常状态,所述图结构还包括根因与修复方式之间的映射关系。
其中,异常指标的异常情况可以包括高异常和低异常两种。高异常指异常指标的值大于异常指标对应预设区间的两个端点中的较大值;低异常指异常指标的值小于异常指标对应预设区间的两个端点中的较小值。
其中,第一根因可以为上述根因集合中的任意一个根因。
从技术效果上看,本申请实施例基于图结构构建了异常指标与根因之间的映射关系,以及根因与修复方式之间的映射关系,因而可以直接基于图结构搜索出对异常数据库(或称为故障数据库)的修复方式,相对现有技术中AI运维方式而言,无需历史运维数据,即对历史数据的依赖性小。同时,由于无需历史运维数据,因而可以避免不适合的历史运维数据对数 据库当前的修复过程的影响;且由于实际运维过程中,不同数据库的历史运维数据较难获取(保密需要),因而本申请中实施例具有较好的通用性。此外,在数据库运行场景切换后,本申请实施例也可以直接基于图结构搜索出相应的修复方式并快速实现故障修复,可以有效避免现有技术中场景切换后的冷启动问题。
在一种可行的实施方式中,所述基于所述每个指标的值搜索出与所述每个指标具有映射关系的至少一个根因,得到根因集合,包括:基于所述图结构搜索出与所述每个异常指标具有映射关系的至少一个根因,得到P个根因,所述P为正整数;对所述P个根因进行去重,得到Q个根因,并基于所述Q个根因中每个根因的权重系数对所述Q个根因进行排序,得到所述根因集合;其中,所述Q为小于或等于所述P的正整数。
其中,上述根因集合中每个根因对应的权重系数可以表征由该根因使得上述异常指标集合中的指标产生异常的可能性大小。例如,当根因集合中根因对应的权重系数越大时,由该根因使得异常指标集合中的指标产生异常的可能性越大;或者,当根因集合中根因对应的权重系数越大时,由该根因使得异常指标集合中的指标产生异常的可能性越小。
从技术效果上看,由于根因集合是基于Q个根因的权重系数进行排序得到的,因而后续可以基于根因集合来快速确定最有可能使得上述异常指标集合中指标产生异常的根因,即尽快修复数据库故障,提升自动运维性能。
应当理解,当异常指标集合中的K个异常指标都与一个根因具有映射关系时,该根因对应K个权重系数,且该K个权重系数可以相同或分别不同,此时,上述P个根因中包含K个相同的该根因,且该K个相同的根因与K个权重系数分别对应,K为大于或等于2的整数。
在一种可行的实施方式中,所述P个根因和所述Q个根因中的每个根因对应一个权重系数;所述Q个根因中第i个根因的权重系数等于所述第i个根因在所述P个根因中对应的所有权重系数之和,i=1,…,Q。
从技术效果上看,由于P个根因中可能包含相同的根因,本申请实施例通过将P个根因中相同根因分别对应的权重系数相加,得到该相同根因在Q个根因中的权重系数,通过此种方式来提升该相同根因的重要程度,从而使得后续可以通过权重系数从根因集合中选出重要程度高的根因,以对数据库进行修复,提升自动运维性能。
在一种可行的实施方式中,所述并利用所述至少一个修复方式对所述数据库进行修复,直到所述异常指标集合中的异常指标全部处于正常状态,包括:当利用所述至少一个修复方式对所述数据库进行修复后,且所述异常指标集合中的异常指标未全部处于所述正常状态时,基于所述图结构,搜索出与第二根因具有映射关系的至少一个修复方式,并利用与所述第二根因具有映射关系的至少一个修复方式对所述数据库进行修复,所述第二根因为在所述根因集合中排在所述第一根因之后的下一个根因。
从技术效果上看,本申请实施例可以按照根因集合中各根因的顺序,依次选用与每个根因具有映射关系的修复方式进行修复,直到每个异常指标都处于正常状态。此种方式可以快速确定导致异常指标集合中指标出现异常的根因,提升故障修复的速度。
在一种可行的实施方式中,所述搜索出与所述根因集合中第一根因具有映射关系的至少一个修复方式,并利用所述至少一个修复方式对所述数据库进行修复,包括:搜索出与所述第一根因具有映射关系的至少一个修复方式,得到修复方式集合,其中,与所述第一根因具有映射关系的至少一个修复方式中的每个修复方式对应一个权重系数,且在所述修复方式集合中,排序在前的修复方式对应的权重系数大于或等于排序在后的修复方式对应的权重系数;在利用所述修复方式集合中的第一修复方式对所述数据库进行修复后,若所述异常指标集合 中的异常指标全部处于正常状态时,停止所述修复过程,若所述异常指标集合中的异常指标未全部处于正常状态时,利用第二修复方式对所述数据库进行修复,所述第二修复方式为在所述修复方式集合中排在所述第一修复方式后的下一个修复方式。
其中,每个修复方式对应的权重系数可以表征采用该修复方式对数据库进行修复后,异常指标集合中的异常指标恢复正常状态的可能性。
应当注意,在确定根因集合之后,第一次对数据库进行修复的过程中,第一根因可以为根因集合中的第一个根因,即排序在第一位的根因。
从技术效果上看,本申请实施例通过修复方式对应的权重系数的大小,依次选用对应的修复方式对数据库进行故障修复,可以快速地找出正确的修复方式,提升故障修复速度。
在一种可行的实施方式中,所述正常状态指所述异常指标的值位于与所述异常指标对应的预设取值范围内。
在一种可行的实施方式中,所述方法还包括:确定第三根因和第三修复方式,所述第三修复方式为在所述图结构中与所述第三根因具有映射关系的至少一个修复方式中的一个,且在采用所述第三修复方式对所述数据库进行修复后,所述异常指标集合中的异常指标全部处于所述正常状态;更新所述第三修复方式对应的权重系数,以及更新所述P个根因中所述第三根因对应的权重系数。
从技术效果上看,在数据库故障被修复后,确定修复故障时所使用的修复方式和相应的根因,此时,更新图结构中第一修复方式和第三根因对应的权重系数,以便后续出现相同的异常情况时,可以快速定位正确的根因以及正确的修复方式,从而快速对数据库进行修复。
在一种可行的实施方式中,所述更新所述第三修复方式对应的权重系数,以及更新所述P个根因中所述第三根因对应的权重系数,包括:提高所述第三修复方式对应的权重系数,以及提高所述P个根因中所述第三根因对应的权重系数。
从技术效果上看,通过提升第一修复方式和第三根因的权重系数,使得后续数据库出现相同异常情况,且根因集合中根因按权重系数从大到小进行排序时,可以快速定位正确的根因以及正确的修复方式,从而快速对数据库进行修复。
在一种可行的实施方式中,所述异常指标集合中的异常指标包括每秒事务处理数量TPS、每秒查询数量QPS、响应时间、中央处理单元使用率、内存使用率或每秒读写操作次数IOPS中的至少一个。
在一种可行的实施方式中,所述根因集合中的根因包括参数不正确、流量过大、索引不当或资源不足中的至少一个;所述修复方式集合中的修复方式包括重启数据库、执行限流操作、调用结构化查询语言SQL优化或呼叫管理员中的至少一个。
第二方面,本申请实施例提供了一种数据库运维装置,所述装置包括:获取单元,用于获取数据库的异常指标集合,所述异常指标集合中每个异常指标的值位于与所述每个异常指标对应的预设取值范围外;搜索单元,用于基于图结构搜索出与所述每个异常指标具有映射关系的至少一个根因,得到根因集合,所述图结构包括异常指标与根因之间的映射关系;以及用于基于所述图结构,搜索出与所述根因集合中第一根因具有映射关系的至少一个修复方式;修复单元,用于利用所述至少一个修复方式对所述数据库进行修复,直到所述异常指标集合中的异常指标全部处于正常状态,所述图结构还包括根因与修复方式之间的映射关系。
在一种可行的实施方式中,在所述基于图结构搜索出与所述每个异常指标具有映射关系的至少一个根因,得到根因集合的方面,所述搜索单元具体用于:基于所述图结构搜索出与所述每个异常指标具有映射关系的至少一个根因,得到P个根因,所述P为正整数;对所述 P个根因进行去重,得到Q个根因,并基于所述Q个根因中每个根因的权重系数对所述Q个根因进行排序,得到所述根因集合;其中,所述Q为小于或等于所述P的正整数。
在一种可行的实施方式中,所述P个根因和所述Q个根因中的每个根因对应一个权重系数;所述Q个根因中第i个根因的权重系数等于所述第i个根因在所述P个根因中对应的所有权重系数之和,i=1,…,Q。
在一种可行的实施方式中,在所述利用所述至少一个修复方式对所述数据库进行修复,直到所述异常指标集合中的异常指标全部处于正常状态的方面,所述搜索单元具体用于:当利用所述至少一个修复方式对所述数据库进行修复后,且所述异常指标集合中的异常指标未全部处于所述正常状态时,基于所述图结构,搜索出与第二根因具有映射关系的至少一个修复方式;所述修复单元具体用于:利用与所述第二根因具有映射关系的至少一个修复方式对所述数据库进行修复,所述第二根因为在所述根因集合中排在所述第一根因之后的下一个根因。
在一种可行的实施方式中,在所述搜索出与所述根因集合中第一根因具有映射关系的至少一个修复方式的方面,所述搜索单元具体用于:搜索出与所述第一根因具有映射关系的至少一个修复方式,得到修复方式集合,其中,与所述第一根因具有映射关系的至少一个修复方式中的每个修复方式对应一个权重系数,且在所述修复方式集合中,排序在前的修复方式对应的权重系数大于或等于排序在后的修复方式对应的权重系数;在所述利用所述至少一个修复方式对所述数据库进行修复的方面,所述修复单元具体用于:在利用所述修复方式集合中的第一修复方式对所述数据库进行修复后,若所述异常指标集合中的异常指标全部处于正常状态时,停止所述修复过程,若所述异常指标集合中的异常指标未全部处于正常状态时,利用第二修复方式对所述数据库进行修复,所述第二修复方式为在所述修复方式集合中排在所述第一修复方式后的下一个修复方式。
在一种可行的实施方式中,所述正常状态指所述异常指标的值位于与所述异常指标对应的预设取值范围内。
在一种可行的实施方式中,所述装置还包括:确定单元,用于确定第三根因和第三修复方式,所述第三修复方式为与所述第三根因具有映射关系的至少一个修复方式中的一个,且在采用所述第三修复方式对所述数据库进行修复后,所述异常指标集合中的异常指标全部处于所述正常状态;更新单元,用于更新所述第三修复方式对应的权重系数,以及更新所述P个根因中所述第三根因对应的权重系数。
在一种可行的实施方式中,所述更新单元具体用于:提高所述第三修复方式对应的权重系数,以及提高所述P个根因中所述第三根因对应的权重系数。
在一种可行的实施方式中,所述异常指标集合中的异常指标包括每秒事务处理数量TPS、每秒查询数量QPS、响应时间、中央处理单元使用率、内存使用率或每秒读写操作次数IOPS中的至少一个。
在一种可行的实施方式中,所述根因集合中的根因包括参数不正确、流量过大、索引不当或资源不足中的至少一个;所述修复方式集合中的修复方式包括重启数据库、执行限流操作、调用结构化查询语言SQL优化或呼叫管理员中的至少一个。
第三方面,本申请实施例提供了一种芯片系统,所述芯片系统包括至少一个处理器,存储器和接口电路,所述存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述处理器执行时,上述第一方面中任意一项所述的方法得以实现。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序指令,当所述程序指令在一个或多个处理器上运行时,上述第一方面中任意一项所述的方法得以实现。
第五方面,本申请实施例提供了一种计算机程序产品,当所述计算机程序产品在计算机设备上运行时,上述第一方面中任意一项所述的方法得以实现。
以下对本申请实施例用到的附图进行介绍。
图1是本申请实施例中一种系统架构示意图;
图2是本申请实施例中一种数据库运维方法的流程示意图;
图3是本申请实施例中一种图结构中异常指标与根因之间的映射关系示意图;
图4是本申请实施例中一种根因集合的构建过程示意图;
图5是本申请实施例中一种图结构中根因与修复方式之间的映射关系示意图;
图6是本申请实施例中一种根因与修复方式之间映射关系的示例图;
图7是本申请实施例中一种数据库运维装置的结构示意图;
图8是本申请实施例中一种计算机设备的硬件结构示意图。
下面结合本申请实施例中的附图对本申请实施例进行描述。本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
首先对本申请实施例中的相关术语进行解释:
(1)事务处理(Transaction Process,TP):传统关系型数据库中的主要应用,主要是基本的、日常的事务处理,例如银行交易。
(2)分析处理(Analysis Process,AP):数据库仓库中的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
(3)混合事物分析处理(Hybrid Transaction Analysis Process,HTAP):一种新兴的数据库应用体系结构,能同时处理AP事务和TP事务,更加符合实际业务要求。
(4)自治数据库(Autonomous Database):一种云端数据库管理解决方案,具有自动修补、升级和调优功能,能够在系统运行时自动执行所有常规数据库维护工作,整个过程不需要任何人工干预。自治数据库云具有自治驾驶、自治安全和自治修复能力,可有效减少人工数据库管理工作和人为错误。
(5)图(Graph):也可称为图结构是一种复杂的非线性结构,由顶点和连接顶点的边构成的离散结构。在计算机科学中,图是最灵活的数据结构之一。在图结构中,每个元素都可 以有零个或多个前驱,也可以有零个或多个后继,即元素之间的关系是任意的。
请参见图1,图1为本申请实施例提供的一种系统架构示意图。如图1所示,系统架构100包括客户设备110和执行设备120,执行设备120包括I/O接口121、数据采集设备122和计算模块123。
客户设备110可以包括一个或多个数据库,数据采集设备122用于对该一个或多个数据进行检测,具体地,可以通过I/O接口121采集一个或者多个数据库的状态信息。数据库的状态信息可以包括数据库的运行日志、审计日志、结构化查询语言(Structured Query Language,SQL)流水、指标特征数据(如每秒查询数量(Query Per Second,QPS)和每秒钟的事务处理数量(Traction Per Second,TPS)等。
执行设备120可以通过I/O接口121和数据采集设备122接收客户设备110输入的数据,然后利用计算模块123执行相关计算过程,以得到对应的处理结果。例如,对采集到的数据库状态信息进行分析,确定数据库产生故障的根因以及对应的修复方式,并将该修复方式通过I/O接口121发送给客户设备110,以实现故障数据库的修复。
其中,计算模块123可以是中央处理单元(Central Processing Unit,CPU)等处理单元,在硬件上为单核或多核处理器,本申请对此不限定。
执行设备120可以是任意可行的计算机设备,如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR),车载终端等,还可以是服务器或者云端等。
应当理解,图1仅是本发明实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图1中,数据采集设备122相对执行设备120是内部设备,在其它情况下,也可以将数据采集设备122置于执行设备120外部。
请参见图2,图2为本申请实施例中一种数据库运维方法的流程示意图。如图2所示,方法200包括步骤S210、步骤S220和步骤S230。
步骤S210:获取数据库的异常指标集合,所述异常指标集合中每个异常指标的值位于与所述每个异常指标对应的预设取值范围外。
具体地,周期性获取数据库状态信息,数据库状态信息包括但不限于:运行日志、审计日志、SQL流水、指标特征数据(如每秒查询数量QPS和每秒钟的事务处理数量TPS等)。
其中,获取数据库状态信息的时间周期可以根据实际场景设定,本申请对此不限定。
进一步地,在获取数据库状态信息后,对状态信息进行预处理,该预处理过程可以包括对状态信息进行数据抽取、清洗和标准化等处理。具体地:可以首先从状态信息中提取出表征数据库状态的多个指标Metric,然后删除缺少对应值的指标以及值的格式不正确的指标,并将剩余指标中的每个指标的值分别进行归一化处理,得到第一指标集合。
可选地,上述归一化处理可以指将预处理后剩余指标中每个指标的值映射到[0,1]范围内,本申请对归一化后映射到的取值区间不限定。
其中,上述多个指标可以包括:TPS、QPS、响应时间Response Time、中央处理单元使用率(Central Processing Unit Usage,CPU Usage)、内存使用率Memory Usage、每秒读写操作次数(Input/Output Operations Per Second,IOPS)。
可选地,上述第一指标集合中的每个指标的值可以为一段时间内的指标时间序列,即在不同时间节点上,一个指标对应的值可能不同。
进一步,可以采用异常检测算法和/或预设规则对上述第一指标集合中的每个指标进行异常检测。
具体地,可以通过异常检测算法判断第一指标集合中每个指标对应的时间序列上,不同时间节点上的值是否满足相同趋势。其中,关于异常检测的具体过程本申请不进行详细描述。
其中,异常检测算法可以是时序预测或统计学方法等,本申请对此不限定。进一步地,异常检测算法中的异常检测器可以是3sigma,箱型图(box plot)等异常检测器,本申请对此不限定。
可选地,上述预设规则可以包括:当检测到CPU使用率超过R1的时间达到T1,将CPU Usage识别为异常指标,T为正数;当内存使用率超过R2的时间达到T2,将内存使用率识别为异常指标;以及当IOPS超过R3的时间达到T3时,将IOPS识别为异常指标等。其中,R1、R2、R3、T1、T2和T3为正数。
本领域技术人员也可以针对其它指标设置对应的异常状态识别规则,本申请不进行一一列举。
进一步地,在异常检测后,利用第一指标集合中所有存在异常的指标生成上述异常指标集合。其中,异常指标集合中每个异常指标的值为该指标在对应时间序列上的一个异常点处的值。
在一种可行的实施方式中,上述异常指标集合中的异常指标包括每秒事务处理数量TPS、每秒查询数量QPS、响应时间、中央处理单元使用率、内存使用率或每秒读写操作次数IOPS中的至少一个。
其中,异常指标集合中的每个异常指标对应一个预设取值范围,且每个异常指标的值位于与该异常指标对应的取值范围之外。
可选地,异常指标的值不等于该异常指标对应取值范围的两个端点值中的任意一个。
综上,可以理解,异常指标集合中每个异常指标的异常情况可分为高异常和低异常两种情况:
(1)高异常
在异常指标集合中,当一个异常指标的值大于该异常指标所对应取值范围的两个端点中的较大值时,则此异常指标为高异常指标。
(2)低异常
在异常指标集合中,当一个异常指标的值小于该异常指标所对应取值区间的两个端点中的较小值时,则此异常指标为低异常指标。
步骤S220:基于图结构搜索出与所述每个异常指标具有映射关系的至少一个根因,得到根因集合,所述图结构包括异常指标与根因之间的映射关系。
其中,上述根因集合中包含的根因各不相同,且根因集合中的每个根因对应一个权重系数。权重系数用于表征与该权重系数对应的根因使得数据库产生异常指标集合所表征的异常情况的可能性。例如,当权重系数越大,与该权重系数对应的根因使得数据库产生异常指标集合所表征的可能性越大;或者权重系数越大,与该权重系数对应的根因使得数据库产生异常指标集合所表征的可能性越小。
在一种可行的实施方式中,上述基于所述每个指标的值搜索出与所述每个指标具有映射 关系的至少一个根因,得到根因集合,包括:基于所述图结构搜索出与所述每个异常指标具有映射关系的至少一个根因,得到P个根因,所述P为正整数;对所述P个根因进行去重,得到Q个根因,并基于所述Q个根因中每个根因的权重系数对所述Q个根因进行排序,得到所述根因集合;其中,所述Q为小于或等于所述P的正整数。
其中,在上述异常指标集合中,任意两个不同的异常指标可以对应部分相同的根因、或者完全相同的根因、或者完全不同的根因。
下面以异常指标集合中的第一异常指标为例来描述搜索出与第一异常指标具有映射关系的至少一个根因的过程:
具体地,首先基于第一异常指标的值和第一异常指标对应的取值范围判断第一异常指标的异常情况,即判断第一异常指标属于高异常情况还是低异常情况。然后,基于第一异常指标的异常情况从图结构中搜索出与第一异常指标具有映射关系的K个根因。该K个根因分别用于描述第一异常指标产生异常情况(即第一异常指标的值位于对应取值范围外)的K种原因。即此时第一异常指标具有K条映射关系,分别映射到该K个根因。该K个根因中的每个根因对应一个权重系数,即K条映射关系中的每条映射关系对应一个权重系数,该权重系数用于表征与该权重系数对应的根因使第一异常指标的值产生异常的可能性。其中,K为正整数,且K小于或等于P。
例如,若上述K个根因中一个根因对应的权重系数为0.5,则表明由该根因使得第一异常指标的值产生对应异常的可能性为50%。
应当理解,第一异常指标在高异常情况和低异常情况下,分别对应的根因不同。
按照搜索出与第一异常指标具有映射关系的K个根因的过程,搜索出异常指标集合中与每个异常指标具有映射关系的根因,得到P个根因。
从技术效果上看,由于根因集合是基于Q个根因的权重系数进行排序得到的,因而后续可以基于根因集合来快速确定最有可能使得上述异常指标集合中指标产生异常的根因,即尽快修复数据库故障,提升自动运维性能。
在一种可行的实施方式中,所述P个根因和所述Q个根因中的每个根因对应一个权重系数;所述Q个根因中第i个根因的权重系数等于所述第i个根因在所述P个根因中对应的所有权重系数之和,i=1,…,Q。
其中,上述该P个根因中的每个根因对应一个权重系数,即P根因分别对应P个权重系数。
可选地,该P个根因中可能包含相同的根因,且相同的根因分别对应的权重系数可能不同。
例如,当第一异常指标和第二异常指标同时与第三根因具有映射关系时,第三根因对应两个权重系数,分别为第一权重系数和第二权重系数;第一权重系数为第一异常指标和第三根因之间映射关系的权重系数,第二权重系数为第二异常指标和第三根因之间的权重系数。此时P个根因中第三根因出现两次,且分别对应第一权重系数和第二权重系数。其中,第一权重系数和第二权重系数可能不同。
上述对所述P个根因进行去重,得到Q个根因,具体包括:在对P个根因进行去重时,对于上述P个根因中相同的根因,将其分别对应的所有权重系数进行求和,然后将求和后得到的权重系数作为该根因在Q个根因中对应的权重系数。即Q个根因中第i个根因对应的权重系数,等于上述P个根因中与该第i个根因相同的所有根因分别对应的权重系数之和。
可选地,上述并基于所述Q个根因中每个根因的权重系数对所述Q个根因进行排序,得到所述根因集合,具体包括:按照权重系数从大到小的顺序,对Q个根因进行排序,得到根因集合;或者按照权重系数从小到大的顺序,对Q个根因进行排序,得到根因集合。
在一种可行的实施方式中,所述根因集合中的根因包括参数不正确、流量过大、索引不当或资源不足中的至少一个。
具体地,上述图结构或者根因集合中的根因可以包括子根因,以及不同子根因组合得到的组合根因。其中,子根因为无法继续细分的最小根因,即只包含一类根因,例如,子根因可以是参数不正确、流量过大、索引不当、资源不足或慢SQL等,本申请对此不进行一一列举。组合根因是由一个或多个子根因组合得到的根因,组合根因可以是参数不正确+流量过大、流量过大+索引不当、流量过大+索引不当+慢SQL、资源不足+慢SQL等,本申请对此不进行一一列举。
可选地,在对上述P个根因进行去重,得到Q个根因之后,还可以人工对Q个根因进行校验,以去除该Q个根因中不正确的根因,即删除Q个根因中不会导致异常指标集合所表征的异常情况的根因。
例如,在对Q个根因中包含的“索引不当”这条根因进行人工校验时,可以通过获取SQL语句的执行计划,来检测是否执行索引扫描以及索引扫描是否真的有效;当索引扫描有效时,则删除Q个根因中“索引不当”根因,当索引扫描无效时,则保留Q个根因中“索引不当”根因。
从技术效果上看,由于P个根因中可能包含相同的根因,本申请实施例通过将P个根因中相同根因分别对应的权重系数相加,得到该相同根因在Q个根因中的权重系数,通过此种方式来提升该相同根因的重要程度,从而使得后续可以通过权重系数从根因集合中选出重要程度高的根因,以对数据库进行修复,提升自动运维性能。
请参见图3,图3为本申请实施例提供的一种图结构中异常指标与根因之间的映射关系示意图。图3所示的映射关系可以为本申请实施例图结构中的一部分。如图3所示,该映射关系包括E个异常指标:异常指标1、异常指标2、…、异常指标E;以及F个根因:根因1、根因2、根因3、…、根因F。其中,E和F为正整数。
每个异常指标对应两种异常情况:即低异常和高异常。每个异常指标在不同异常情况下可以分别对应不同的根因。即上述图结构中包括:每个异常指标在低异常时与至少一个根因的映射关系以及对应的至少一个权重系数;每个异常指标在高异常时与至少一个根因的映射关系以及对应的至少一个权重系数。
如图3所示,异常指标1在高异常情况下,与根因1和根因3具有映射关系,此时根因1对应的权重系数为d1,根因3对应的权重系数为d2,且d1+d2=1。异常指标1在低异常情况下,与根因2和根因F具有映射关系,此时根因2对应的权重系数为e1,根因F对应的权重系数为e2,且e1+e2=1。异常指标2在低异常情况下,与根因1和根因3具有映射关系,此时根因1对应的权重系数为f1,根因3对应的权重系数为f2,且f1+f2=1。
为简化起见,异常指标2在高异常情况下、异常指标E在高异常情况下和低异常情况下分别具有映射关系的根因未示出。
请参见图4,图4为本申请实施例中一种根因集合的构建过程示意图。图4中异常指标和根因之间的映射关系以及根因对应的权重系数是基于图3所示的图结构搜索得到的。
如图4所示,异常指标集合中包括四个异常指标:异常指标1、异常指标2、异常指标3 和异常指标4。其中,异常指标1表现为高异常、异常指标2表现为低异常、异常指标3表现为低异常、异常指标4表现为高异常。
异常指标1在高异常情况下与根因1和根因3具有映射关系,此时根因1对应的权重系数为0.4,根因3对应的权重系数为0.6。异常指标2在低异常情况下,与根因1、根因2和根因4具有映射关系,此时根因1对应的权重系数为0.1,根因2对应的权重系数为0.3,根因,4对应的权重系数为0.6。异常指标3在低异常情况下,与根因1和根因3具有映射关系,此时根因1对应的权重系数为0.5,根因3对应的权重系数为0.5。异常指标4在高异常情况下,与根因2和根因4具有映射关系,此时根因2对应的权重系数为0.3,根因4对应的权重系数为0.7。可以看出,在异常指标集合中,与每个异常指标具有映射关系的所有根因分别对应的权重系数的和为1。
基于图结构,搜索出异常指标集合中他与每个异常指标具有映射关系的根因之后,得到9个根因,即此时P等于9。在搜索得到的9个根因中,根因1出现次数为3次、根因2出现次数为2次,根因3出现次数为2次,根因4出现次数为2次。
在得到9个根因之后,对该9个根因进行去重,得到四个根因:根因1、根因2、根因3和根因4,此时4对应前述实施例中的Q。将该9个根因中相同根因分别对应的权重系数进行求和,得到根因1、根因2、根因3和根因4的权重系数分别为1.0、0.6、1.1和1.3。基于求和后得到的权重系数大小对去该四个根因进行排序,得到图4中所示根因集合。
其中,图4中按照权重系数从大到小进行排序只是本申请给出的一个示例,本申请对此不限定。
应当理解,图4只是本申请实施例给出的一个构建根因集合的示例,图4中所给出的异常指标集合中异常指标的数量、根因集合中根因的数量、异常指标与根因间的映射关系以及对应的权重系数并不对本申请实施例构成限定。
步骤S230:基于所述图结构,搜索出与所述根因集合中第一根因具有映射关系的至少一个修复方式,并利用所述至少一个修复方式对所述数据库进行修复,直到所述异常指标集合中的异常指标全部处于正常状态,所述图结构还包括根因与修复方式之间的映射关系。
具体地,按照根因集合中根因的排序进行依次搜索,每次搜索出与一个根因在图结构中具有映射关系的至少一个修复方式,并利用与该根因具有映射关系的至少一个修复方式对数据库进行修复。在每次修复后,按照前述实施例中的步骤获取数据库的状态信息,通过状态信息判断上述异常指标集合中的所有异常指标此时是否全部处于正常状态,若是,则停止数据库的故障修复过程,说明数据库的故障已被修复;若否,则进行下一次修复。
其中,第一根因可以是上述根因集合中的任一根因。
可选地,在得到上述根因集合之后,第一次对数据库进行修复的过程中,第一根因可以为根因集合中的第一个根因,即排序在第一位的根因。
可选地,对于每个异常指标而言,上述正常状态指异常指标的值位于与异常指标对应的预设取值范围内。
例如,若第一异常指标对应的取值范围为[0.35,0.55],异常指标集合中第一异常指标的值为0.6时,此时第一异常指标处于高异常状态。在对数据库进行一次修复后,第一异常指标对应的时间序列上各时间节点上的值都位于[0.35,0.55]内部,此时第一异常指标则处于正常状态。
在一种可行的实施方式中,所述并利用所述至少一个修复方式对所述数据库进行修复,直到所述异常指标集合中的异常指标全部处于正常状态,包括:当利用所述至少一个修复方式对所述数据库进行修复后,且所述异常指标集合中的异常指标未全部处于所述正常状态时,基于所述图结构,搜索出与第二根因具有映射关系的至少一个修复方式,并利用与所述第二根因具有映射关系的至少一个修复方式对所述数据库进行修复,所述第二根因为在所述根因集合中排在所述第一根因之后的下一个根因。
其中,第一根因和第二根因为根因集合中相邻的两个根因,且第一根因排在第二根因之前。
具体地,在搜索出与第一根因具有映射关系的至少一个修复方式后,利用该至少一个修复方式依次对数据库进行修复,即该至少一个修复方式的数量与修复的次数相同。当在利用该至少一个修复方式对数据库进行修复的过程中,上述异常指标集合中的异常指标全部处于正常状态时,则停止故障修复过程,即异常指标集合所表征的数据库故障已被修复;若利用该至少一个修复方式依次对数据库进行修复后,上述异常指标集合中的异常指标未全部处于正常状态时,则搜索出与第二根因具有映射关系的至少一个修复方式,并利用该与第二根因具有映射关系的至少一个修复方式依次对数据库进行修复。
其中,上述异常指标集合中的异常指标未全部处于正常状态,指在经过一次修复后,异常指标集合中部分指标处于正常状态,部分指标未处于正常状态。
从技术效果上看,本申请实施例可以按照根因集合中各根因的顺序,依次选用与每个根因具有映射关系的修复方式进行修复,直到每个异常指标都处于正常状态。此种方式可以快速确定导致异常指标集合中指标出现异常的根因,提升故障修复的速度。
在一种可行的实施方式中,所述搜索出与所述根因集合中第一根因具有映射关系的至少一个修复方式,并利用所述至少一个修复方式对所述数据库进行修复,包括:搜索出与所述第一根因具有映射关系的至少一个修复方式,得到修复方式集合,其中,与所述第一根因具有映射关系的至少一个修复方式中的每个修复方式对应一个权重系数,且在所述修复方式集合中,排序在前的修复方式对应的权重系数大于或等于排序在后的修复方式对应的权重系数;在利用所述修复方式集合中的第一修复方式对所述数据库进行修复后,若所述异常指标集合中的异常指标全部处于正常状态时,停止所述修复过程,若所述异常指标集合中的异常指标未全部处于正常状态时,利用第二修复方式对所述数据库进行修复,所述第二修复方式为在所述修复方式集合中排在所述第一修复方式后的下一个修复方式。
其中,在图结构中,每个根因与至少一个修复方式具有映射关系,且该至少一个修复方式对应一个权重系数。每个修复方式对应的权重系数,用于表征利用该修复方式修复对应根因所造成数据库故障的可能性大小。
可选地,当修复方式对应的权重系数越大时,则表明采用与该权重系数对应的修复方式可以修复对应根因造成数据库故障的可能性越大。
具体地,上述搜索出与所述第一根因具有映射关系的至少一个修复方式,得到修复方式集合,包括:从图结构中搜索出与第一根因具有映射关系的至少一个修复方式,以及该至少一个修复方式中每个修复方式对应的一个权重系数;然后基于权重系数的大小,对该至少一个修复方式进行排序,得到上述修复方式集合。
可选地,可以按照权重系数从大到小的顺序,对与第一根因具有映射关系的至少一个修复方式进行排序,得到上述修复方式集合。
利用修复方式集合中的修复方式对数据库进行故障修复的过程具体如下:利用修复方式集合中的第一修复方式对数据库进行修复,在此次修复完成后,按照前述实施例中的步骤,获取数据库的状态信息,通过状态信息判断上述异常指标集合中的所有异常指标此时是否全部处于正常状态,若是,则停止数据库的故障修复过程,说明数据库的故障已被修复;若否,则利用排序在第一修复方式之后的第二修复方式对数据库进行下一次修复,在利用第二修复方式完成修复后,同样获取数据库的状态信息,并判断上述异常指标集合中的所有异常指标此时是否全部处于正常状态。
即按照修复方式集合中的各方式的排序,依次采用每个修复方式对数据库进行修复,并在每次修复后,判断异常指标集合中的异常指标是否全部处于正常状态;直到检测到异常指标集合中的异常指标全部处于正常状态时,停止数据库的修复过程。
其中,上述第一修复方式和第二修复方式可以为修复方式集合中任意两个相邻的修复方式,且第一修复方式的排序在第二修复方式之前。
应当注意,在利用修复方式集合进行首次修复时,上述第一修复方式为修复方式集合中排在第一位的修复方式,第二修复方式在修复方式集合中排在第二位的修复方式。
应当理解,利用根因集合中与其它根因具有映射关系的修复方式对数据库进行修复的过程,与利用第一根因对应的至少一个修复方式对数据库进行修复的过程对应相同,此处不再赘述。
从技术效果上看,本申请实施例通过修复方式对应的权重系数的大小,依次选用对应的修复方式对数据库进行故障修复,可以快速地找出正确的修复方式,提升故障修复速度。
请参见图5,图5为本申请实施例提供的一种图结构中根因与修复方式之间的映射关系示意图。如图5所示,图结构中包含M个根因:根因1、根因2、…、根因M;以及N个修复方式:修复方式1、修复方式2、修复方式3、…、修复方式N。其中,M和N为正整数。
在图5所示的图结构中,任一根因与至少一个修复方式具有映射关系,该至少一个修复方式构成该任一根因对应的修复方式集合,该至少一个修复方式中的每个修复方式对应一个权重系数,且该至少一个修复方式中每个修复方式分别对应的权重系数的和为1。
其中,根因1与修复方式1和修复方式3具有映射关系,即修复方式1和修复方式3构成了与根因1对应的修复方式集合,此时修复方式1和修复方式3对应的权重系数分别为a1和a2,且a1+a2=1。根因2与修复方式1、修复方式2,以及修复方式3具有映射关系,即修复方式1、修复方式2和修复方式3构成了与根因2对应的修复方式集合,此时修复方式1、修复方式2和修复方式3对应的权重系数分别为b1、b2和b3,且b1+b2+b3=1。根因M与修复方式2和修复方式N具有映射关系,即修复方式2和修复方式N构成了与根因M对应的修复方式集合,此时修复方式2和修复方式N对应的权重系数分别为c1和c2,且c1+c2=1。
在一种可行的实施方式中,所述修复方式集合中的修复方式包括重启数据库、执行限流操作、调用结构化查询语言SQL优化或呼叫管理员中的至少一个。
具体地,上述图结构或者修复方式集合可以包括子修复方式,以及由各子修复方式自由组合得到的组合修复方式。其中,子修复方式为无法细分的修复方式,或称为只进行一种操作的修复方式,例如,子修复方式可以是重启数据库、执行限流操作、调用SQL优化或呼叫管理员等,本申请对此不一一列举。组合修复方式则是由一个或多个字修复方式组合得到的修复方式,组合修复方式可以是重启数据库+执行限流操作、执行限流操作+调用SQL优化、重启数据库+执行限流操作+调用SQL优化等,本申请对此不一一列举。
请参见图6,图6为本申请实施例提供的一种根因与修复方式之间映射关系的示例图。如图6所示,根因集合中包括三个根因:参数不正确、资源不足,以及慢SQL+索引不当。
在图结构中,该三个根因分别与至少一个的修复方式具有映射关系。其中,参数不正确与三种修复方式具有映射关系:在与重启数据库的映射关系中,重启数据库对应的权重系数为0.3;在与调用参数优化的映射关系中,调用参数优化对应的权重系数为0.6;在与呼叫管理员的映射关系中,呼叫管理员对应的权重系数为0.1。资源不足与三种修复方式具有映射关系:在与重启数据库的映射关系中,重启数据库对应的权重系数为0.2;在与执行限流操作的映射关系中,执行限流操作对应的权重系数为0.7;在与呼叫管理员的映射关系中,呼叫管理员对应的权重系数为0.1。慢SQL+索引不当与四种修复方式具有映射关系:在与调用索引推荐的映射关系中,调用索引推荐对应的权重系数为0.2;在与调用索引推荐+调用SQL优化的映射关系中,调用索引推荐+调用SQL优化对应的权重系数为0.5;在与调用SQL优化的映射关系中,调用SQL优化对应的权重系数为0.2;在与呼叫管理员的映射关系中,呼叫管理员对应的权重系数为0.1。
应当理解,图6只是本申请实施例给出一个图结构中根因与修复方式之间的具体示例,其并不对本方案中的图结构中根因与修复方式之间的映射关系构成限定。
在一种可行的实施方式中,所述方法还包括:确定第三根因和第三修复方式,所述第三修复方式为与所述第三根因具有映射关系的至少一个修复方式中的一个,且在采用所述第三修复方式对所述数据库进行修复后,所述异常指标集合中的异常指标全部处于所述正常状态;更新所述第三修复方式对应的权重系数,以及更新所述P个根因中所述第三根因对应的权重系数。
具体地,在进行一次故障修复后,检测到异常指标集合中的指标全部处于正常状态时,将该次故障修复所使用的修复方式作为第三修复方式。将第三修复方式所属于的修复方式集合在根因集合中对应的根因作为第三根因,即此时造成数据库产生异常指标集合所表征的异常情况的原因为第三根因,采用第三修复方式可以修复第三根因造成的数据库故障。
可选地,在确定上述第三根因和第三修复方式后,可以更新第三根因所属于的修复方式集合中部分或全部修复方式分别对应的权重系数,以使得在更新第三修复方式对应的权重系数后,第三根因所属的修复方式集合中所有修复方式分别对应的权重系数的和为1。
其中,当P个根因中第三根因出现次数大于1时,需要更新每个第三根因对应的权重系数。
综上,在数据库故障修复后,可以确定当前场景下数据库产生由异常指标集合所表征的异常时的一条故障修复路径:异常指标集合—第三根因—第三修复方式。
下面以图4为例描述第三根因对应权重系数的更新过程:
假设第三根因为图4中的根因1,从图4中可以看出,异常指标1、异常指标2和异常指标4都与根因1具有映射关系。此时,根因1对应三个权重系数,根因1对应权重系数的更新可以包括三方面:(1)更新与异常指标1具有映射关系的所有根因分别对应的权重系数,即更新异常指标1与根因1的映射关系中,根因1对应的权重系数0.4,此时为保证与异常指标1具有映射关系的所有根因分别对应的权重系数的和为1,还需同步更新异常指标1与根因3的映射关系中,根因3所对应的权重系数0.6;(2)更新与异常指标2具有映射关系的所有根因分别对应的权重系数,即更新异常指标2与根因1的映射关系中,根因1对应的权重 系数0.1,并同步更新异常指标2与根因2的映射关系中,根因2对应的权重系数0.3,以及同步更新异常指标2与根因4的映射关系中,根因4对应的权重系数0.6;(3)更新与异常指标3具有映射关系的所有根因分别对应的权重系数,即更新异常指标3与根因1的映射关系中,根因1对应的权重系数0.5,并同步更新异常指标3与根因3的映射关系中,根因3对应的权重系数0.5。
在一种可行的实施方式中,上述更新所述第三修复方式对应的权重系数,以及更新所述P个根因中所述第三根因对应的权重系数,包括:提高所述第三修复方式对应的权重系数,以及提高所述P个根因中所述第三根因对应的权重系数。
可选地,上述更新第三修复方式对应的权重系数可以是增加或减小第三修复方式对应的权重系数,本申请对此不限定。上述更新P个根因中第三根因对应的权重系数也可以是增加或减小P个根因中所有第三根因对应的权重系数,本申请对此不限定。
从技术效果上看,本申请实施例基于图结构构建了异常指标与根因之间的映射关系,以及根因与修复方式之间的映射关系,因而可以直接基于图结构搜索出对异常数据库(或称为故障数据库)的修复方式,相对现有技术中AI运维方式而言,无需历史运维数据,即对历史数据的依赖性小。同时,由于无需历史运维数据,因而可以避免不适合的历史运维数据对数据库当前的修复过程的影响;且由于实际运维过程中,不同数据库的历史运维数据较难获取(保密需要),因而本申请中实施例具有较好的通用性。此外,在数据库运行场景切换后,本申请实施例也可以直接基于图结构搜索出相应的修复方式并快速实现故障修复,可以有效避免现有技术中场景切换后的冷启动问题。
请参见图7,图7为本申请实施例中提供的一种数据库运维装置的结构示意图。如图7所示,数据库运维装置700包括获取单元701、搜索单元702和修复单元703。
获取单元701,用于获取数据库的异常指标集合,所述异常指标集合中每个异常指标的值位于与所述每个异常指标对应的预设取值范围外;搜索单元702,用于基于图结构搜索出与所述每个异常指标具有映射关系的至少一个根因,得到根因集合,所述图结构包括异常指标与根因之间的映射关系;以及用于基于所述图结构,搜索出与所述根因集合中第一根因具有映射关系的至少一个修复方式;修复单元703,用于利用所述至少一个修复方式对所述数据库进行修复,直到所述异常指标集合中的异常指标全部处于正常状态,所述图结构还包括根因与修复方式之间的映射关系。
在一种可行的实施方式中,在所述基于图结构搜索出与所述每个异常指标具有映射关系的至少一个根因,得到根因集合的方面,所述搜索单元702具体用于:基于所述图结构搜索出与所述每个异常指标具有映射关系的至少一个根因,得到P个根因,所述P为正整数;对所述P个根因进行去重,得到Q个根因,并基于所述Q个根因中每个根因的权重系数对所述Q个根因进行排序,得到所述根因集合;其中,所述Q为小于或等于所述P的正整数。
在一种可行的实施方式中,所述P个根因和所述Q个根因中的每个根因对应一个权重系数;所述Q个根因中第i个根因的权重系数等于所述第i个根因在所述P个根因中对应的所有权重系数之和,i=1,…,Q。
在一种可行的实施方式中,在所述利用所述至少一个修复方式对所述数据库进行修复,直到所述异常指标集合中的异常指标全部处于正常状态的方面,所述搜索单元702具体用于:当利用所述至少一个修复方式对所述数据库进行修复后,且所述异常指标集合中的异常指标未全部处于所述正常状态时,基于所述图结构,搜索出与第二根因具有映射关系的至少一个 修复方式;所述修复单元703具体用于:利用与所述第二根因具有映射关系的至少一个修复方式对所述数据库进行修复,所述第二根因为在所述根因集合中排在所述第一根因之后的下一个根因。
在一种可行的实施方式中,在所述搜索出与所述根因集合中第一根因具有映射关系的至少一个修复方式的方面,所述搜索单元702具体用于:搜索出与所述第一根因具有映射关系的至少一个修复方式,得到修复方式集合,其中,与所述第一根因具有映射关系的至少一个修复方式中的每个修复方式对应一个权重系数,且在所述修复方式集合中,排序在前的修复方式对应的权重系数大于或等于排序在后的修复方式对应的权重系数;在所述利用所述至少一个修复方式对所述数据库进行修复的方面,所述修复单元703具体用于:在利用所述修复方式集合中的第一修复方式对所述数据库进行修复后,若所述异常指标集合中的异常指标全部处于正常状态时,停止所述修复过程,若所述异常指标集合中的异常指标未全部处于正常状态时,利用第二修复方式对所述数据库进行修复,所述第二修复方式为在所述修复方式集合中排在所述第一修复方式后的下一个修复方式。
在一种可行的实施方式中,所述正常状态指所述异常指标的值位于与所述异常指标对应的预设取值范围内。
在一种可行的实施方式中,所述装置还包括:确定单元,用于确定第三根因和第三修复方式,所述第三修复方式为与所述第三根因具有映射关系的至少一个修复方式中的一个,且在采用所述第三修复方式对所述数据库进行修复后,所述异常指标集合中的异常指标全部处于所述正常状态;更新单元,用于更新所述第三修复方式对应的权重系数,以及更新所述P个根因中所述第三根因对应的权重系数。
在一种可行的实施方式中,所述更新单元具体用于:提高所述第三修复方式对应的权重系数,以及提高所述P个根因中所述第三根因对应的权重系数。
在一种可行的实施方式中,所述异常指标集合中的异常指标包括每秒事务处理数量TPS、每秒查询数量QPS、响应时间、中央处理单元使用率、内存使用率或每秒读写操作次数IOPS中的至少一个。
在一种可行的实施方式中,所述根因集合中的根因包括参数不正确、流量过大、索引不当或资源不足中的至少一个;所述修复方式集合中的修复方式包括重启数据库、执行限流操作、调用结构化查询语言SQL优化或呼叫管理员中的至少一个。
请参见图8,图8为本申请实施例提供的一种计算机设备的硬件结构示意图。如图8所示,设备800包括处理器801、存储器802、接口电路803和总线804。其中,处理器801、存储器802和接口电路803通过总线804进行数据传输。
该计算机设备可以是任意可行的终端设备或服务器。例如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR),车载终端等,以及云端等,本申请对此不限定。
存储器802,用于存储计算机程序指令;处理器801,用于从存储器802中获取程序指令,以执行以下步骤:获取数据库的异常指标集合,所述异常指标集合中每个异常指标的值位于与所述每个异常指标对应的预设取值范围外;基于图结构搜索出与所述每个异常指标具有映射关系的至少一个根因,得到根因集合,所述图结构包括异常指标与根因之间的映射关系;基于所述图结构,搜索出与所述根因集合中第一根因具有映射关系的至少一个修复方式,并利用所述至少一个修复方式对所述数据库进行修复,直到所述异常指标集合中的异常指标全 部处于正常状态,所述图结构还包括根因与修复方式之间的映射关系。
具体地,本申请实施例中计算机设备800上处理器801和存储器802的具体运行过程可以参见前述方法实施例200中的对应过程,此处不再赘述。
本申请实施例提供了一种芯片系统,所述芯片系统包括至少一个处理器,存储器和接口电路,所述存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述处理器执行时,图2方法实施例中记载的部分或全部步骤得以实现。
本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序指令,当所述程序指令在一个或多个处理器上运行时,图2方法实施例中记载的部分或全部步骤得以实现。
本申请实施例提供了一种计算机程序产品,当所述计算机程序产品在计算机设备上运行时,上述图2方法实施例中记载的部分或全部步骤得以实现。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可能可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (23)
- 一种数据库运维方法,其特征在于,所述方法包括:获取数据库的异常指标集合,所述异常指标集合中每个异常指标的值位于与所述每个异常指标对应的预设取值范围外;基于图结构搜索出与所述每个异常指标具有映射关系的至少一个根因,得到根因集合,所述图结构包括异常指标与根因之间的映射关系;基于所述图结构,搜索出与所述根因集合中第一根因具有映射关系的至少一个修复方式,并利用所述至少一个修复方式对所述数据库进行修复,直到所述异常指标集合中的异常指标全部处于正常状态,所述图结构还包括根因与修复方式之间的映射关系。
- 根据权利要求1所述的方法,其特征在于,所述基于所述每个指标的值搜索出与所述每个指标具有映射关系的至少一个根因,得到根因集合,包括:基于所述图结构搜索出与所述每个异常指标具有映射关系的至少一个根因,得到P个根因,所述P为正整数;对所述P个根因进行去重,得到Q个根因,并基于所述Q个根因中每个根因的权重系数对所述Q个根因进行排序,得到所述根因集合;其中,所述Q为小于或等于所述P的正整数。
- 根据权利要求2所述的方法,其特征在于,所述P个根因和所述Q个根因中的每个根因对应一个权重系数;所述Q个根因中第i个根因的权重系数等于所述第i个根因在所述P个根因中对应的所有权重系数之和,i=1,…,Q。
- 根据权利要求1-3中任一项所述的方法,其特征在于,所述并利用所述至少一个修复方式对所述数据库进行修复,直到所述异常指标集合中的异常指标全部处于正常状态,包括:当利用所述至少一个修复方式对所述数据库进行修复后,且所述异常指标集合中的异常指标未全部处于所述正常状态时,基于所述图结构,搜索出与第二根因具有映射关系的至少一个修复方式,并利用与所述第二根因具有映射关系的至少一个修复方式对所述数据库进行修复,所述第二根因为在所述根因集合中排在所述第一根因之后的下一个根因。
- 根据权利要求1-4中任一项所述的方法,其特征在于,所述搜索出与所述根因集合中第一根因具有映射关系的至少一个修复方式,并利用所述至少一个修复方式对所述数据库进行修复,包括:搜索出与所述第一根因具有映射关系的至少一个修复方式,得到修复方式集合,其中,与所述第一根因具有映射关系的至少一个修复方式中的每个修复方式对应一个权重系数,且在所述修复方式集合中,排序在前的修复方式对应的权重系数大于或等于排序在后的修复方式对应的权重系数;在利用所述修复方式集合中的第一修复方式对所述数据库进行修复后,若所述异常指标集合中的异常指标全部处于正常状态时,停止所述修复过程,若所述异常指标集合中的异常指标未全部处于正常状态时,利用第二修复方式对所述数据库进行修复,所述第二修复方式 为在所述修复方式集合中排在所述第一修复方式后的下一个修复方式。
- 根据权利要求1-5中任一项所述的方法,其特征在于,所述正常状态指所述异常指标的值位于与所述异常指标对应的预设取值范围内。
- 根据权利要求1-6中任一项所述的方法,其特征在于,所述方法还包括:确定第三根因和第三修复方式,所述第三修复方式为与所述第三根因具有映射关系的至少一个修复方式中的一个,且在采用所述第三修复方式对所述数据库进行修复后,所述异常指标集合中的异常指标全部处于所述正常状态;更新所述第三修复方式对应的权重系数,以及更新所述P个根因中所述第三根因对应的权重系数。
- 根据权利要求7所述的方法,其特征在于,所述更新所述第三修复方式对应的权重系数,以及更新所述P个根因中所述第三根因对应的权重系数,包括:提高所述第三修复方式对应的权重系数,以及提高所述P个根因中所述第三根因对应的权重系数。
- 根据权利要求1-8中任一项所述的方法,其特征在于,所述异常指标集合中的异常指标包括每秒事务处理数量TPS、每秒查询数量QPS、响应时间、中央处理单元使用率、内存使用率或每秒读写操作次数IOPS中的至少一个。
- 根据权利要求1-8中任一项所述的方法,其特征在于,所述根因集合中的根因包括参数不正确、流量过大、索引不当或资源不足中的至少一个;所述修复方式集合中的修复方式包括重启数据库、执行限流操作、调用结构化查询语言SQL优化或呼叫管理员中的至少一个。
- 一种数据库运维装置,其特征在于,所述装置包括:获取单元,用于获取数据库的异常指标集合,所述异常指标集合中每个异常指标的值位于与所述每个异常指标对应的预设取值范围外;搜索单元,用于基于图结构搜索出与所述每个异常指标具有映射关系的至少一个根因,得到根因集合,所述图结构包括异常指标与根因之间的映射关系;以及用于基于所述图结构,搜索出与所述根因集合中第一根因具有映射关系的至少一个修复方式;修复单元,用于利用所述至少一个修复方式对所述数据库进行修复,直到所述异常指标集合中的异常指标全部处于正常状态,所述图结构还包括根因与修复方式之间的映射关系。
- 根据权利要求11所述的装置,其特征在于,在所述基于图结构搜索出与所述每个异常指标具有映射关系的至少一个根因,得到根因集合的方面,所述搜索单元具体用于:基于所述图结构搜索出与所述每个异常指标具有映射关系的至少一个根因,得到P个根因,所述P为正整数;对所述P个根因进行去重,得到Q个根因,并基于所述Q个根因中每个根因的权重系数对所述Q个根因进行排序,得到所述根因集合;其中,所述Q为小于或等于所述P的正整数。
- 根据权利要求12所述的装置,其特征在于,所述P个根因和所述Q个根因中的每个根因对应一个权重系数;所述Q个根因中第i个根因的权重系数等于所述第i个根因在所述P个根因中对应的所有权重系数之和,i=1,…,Q。
- 根据权利要求11-13中任一项所述的装置,其特征在于,在所述利用所述至少一个修复方式对所述数据库进行修复,直到所述异常指标集合中的异常指标全部处于正常状态的方面,所述搜索单元具体用于:当利用所述至少一个修复方式对所述数据库进行修复后,且所述异常指标集合中的异常指标未全部处于所述正常状态时,基于所述图结构,搜索出与第二根因具有映射关系的至少一个修复方式;所述修复单元具体用于:利用与所述第二根因具有映射关系的至少一个修复方式对所述数据库进行修复,所述第二根因为在所述根因集合中排在所述第一根因之后的下一个根因。
- 根据权利要求14所述的装置,其特征在于,在所述搜索出与所述根因集合中第一根因具有映射关系的至少一个修复方式的方面,所述搜索单元具体用于:搜索出与所述第一根因具有映射关系的至少一个修复方式,得到修复方式集合,其中,与所述第一根因具有映射关系的至少一个修复方式中的每个修复方式对应一个权重系数,且在所述修复方式集合中,排序在前的修复方式对应的权重系数大于或等于排序在后的修复方式对应的权重系数;在所述利用所述至少一个修复方式对所述数据库进行修复的方面,所述修复单元具体用于:在利用所述修复方式集合中的第一修复方式对所述数据库进行修复后,若所述异常指标集合中的异常指标全部处于正常状态时,停止所述修复过程,若所述异常指标集合中的异常指标未全部处于正常状态时,利用第二修复方式对所述数据库进行修复,所述第二修复方式为在所述修复方式集合中排在所述第一修复方式后的下一个修复方式。
- 根据权利要求11-15中任一项所述的装置,其特征在于,所述正常状态指所述异常指标的值位于与所述异常指标对应的预设取值范围内。
- 根据权利要求11-16中任一项所述的装置,其特征在于,所述装置还包括:确定单元,用于确定第三根因和第三修复方式,所述第三修复方式为与所述第三根因具有映射关系的至少一个修复方式中的一个,且在采用所述第三修复方式对所述数据库进行修复后,所述异常指标集合中的异常指标全部处于所述正常状态;更新单元,用于更新所述第三修复方式对应的权重系数,以及更新所述P个根因中所述第三根因对应的权重系数。
- 根据权利要求17所述的装置,其特征在于,所述更新单元具体用于:提高所述第三修复方式对应的权重系数,以及提高所述P个根因中所述第三根因对应的权重系数。
- 根据权利要求11-18中任一项所述的装置,其特征在于,所述异常指标集合中的异常指标包括每秒事务处理数量TPS、每秒查询数量QPS、响应时间、中央处理单元使用率、内存使用率或每秒读写操作次数IOPS中的至少一个。
- 根据权利要求11-19中任一项所述的装置,其特征在于,所述根因集合中的根因包括参数不正确、流量过大、索引不当或资源不足中的至少一个;所述修复方式集合中的修复方式包括重启数据库、执行限流操作、调用结构化查询语言SQL优化或呼叫管理员中的至少一个。
- 一种芯片系统,其特征在于,所述芯片系统包括至少一个处理器,存储器和接口电路,所述存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述处理器执行时,权利要求1-10中任一所述的方法得以实现。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序指令,当所述程序指令在一个或多个处理器上运行时,实现权利要求1-10中任一项所述的方法。
- 一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机设备上运行时,权利要求1-10中任一项所述的方法得以实现。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111189777.3 | 2021-10-12 | ||
CN202111189777.3A CN115964206A (zh) | 2021-10-12 | 2021-10-12 | 数据库运维方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023061227A1 true WO2023061227A1 (zh) | 2023-04-20 |
Family
ID=85898214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/122240 WO2023061227A1 (zh) | 2021-10-12 | 2022-09-28 | 数据库运维方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115964206A (zh) |
WO (1) | WO2023061227A1 (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107562034A (zh) * | 2017-07-14 | 2018-01-09 | 宝沃汽车(中国)有限公司 | 线上故障处理方法及处理系统 |
US20180312180A1 (en) * | 2017-04-26 | 2018-11-01 | General Electric Company | Determinging root cause of locomotive failure |
CN112559376A (zh) * | 2020-12-25 | 2021-03-26 | 中国建设银行股份有限公司 | 一种数据库故障的自动定位方法、装置及电子设备 |
CN112631818A (zh) * | 2020-12-24 | 2021-04-09 | 平安科技(深圳)有限公司 | 运维异常的修复处理方法、装置、计算机设备及存储介质 |
CN113342889A (zh) * | 2021-06-03 | 2021-09-03 | 中国工商银行股份有限公司 | 分布式数据库的管理方法、装置、设备和介质 |
CN113849486A (zh) * | 2021-11-30 | 2021-12-28 | 云和恩墨(北京)信息技术有限公司 | 故障处理方法、其装置、电子设备及计算机可读存储介质 |
-
2021
- 2021-10-12 CN CN202111189777.3A patent/CN115964206A/zh active Pending
-
2022
- 2022-09-28 WO PCT/CN2022/122240 patent/WO2023061227A1/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180312180A1 (en) * | 2017-04-26 | 2018-11-01 | General Electric Company | Determinging root cause of locomotive failure |
CN107562034A (zh) * | 2017-07-14 | 2018-01-09 | 宝沃汽车(中国)有限公司 | 线上故障处理方法及处理系统 |
CN112631818A (zh) * | 2020-12-24 | 2021-04-09 | 平安科技(深圳)有限公司 | 运维异常的修复处理方法、装置、计算机设备及存储介质 |
CN112559376A (zh) * | 2020-12-25 | 2021-03-26 | 中国建设银行股份有限公司 | 一种数据库故障的自动定位方法、装置及电子设备 |
CN113342889A (zh) * | 2021-06-03 | 2021-09-03 | 中国工商银行股份有限公司 | 分布式数据库的管理方法、装置、设备和介质 |
CN113849486A (zh) * | 2021-11-30 | 2021-12-28 | 云和恩墨(北京)信息技术有限公司 | 故障处理方法、其装置、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115964206A (zh) | 2023-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022068645A1 (zh) | 数据库故障发现方法、装置、电子设备及存储介质 | |
WO2019238109A1 (zh) | 一种故障根因分析的方法及装置 | |
US11775501B2 (en) | Trace and span sampling and analysis for instrumented software | |
US20220261403A1 (en) | Systems and methods for data quality monitoring | |
CN111984499A (zh) | 一种大数据集群的故障检测方法和装置 | |
CN110178121B (zh) | 一种数据库的检测方法及其终端 | |
WO2020238130A1 (zh) | 一种大数据日志监控方法及装置、存储介质和计算机设备 | |
US9489379B1 (en) | Predicting data unavailability and data loss events in large database systems | |
CN112559237B (zh) | 运维系统排障方法、装置、服务器和存储介质 | |
CN110489317B (zh) | 基于工作流的云系统任务运行故障诊断方法与系统 | |
WO2019120093A1 (en) | Cardinality estimation in databases | |
CN111459698A (zh) | 一种数据库集群故障自愈方法及装置 | |
CN114968727B (zh) | 基于人工智能运维的数据库贯穿基础设施的故障定位方法 | |
US11182386B2 (en) | Offloading statistics collection | |
CN114625554A (zh) | 故障修复方法、装置、电子设备及存储介质 | |
US11017300B1 (en) | Computer incident scoring and correlation | |
CN112068979B (zh) | 一种业务故障确定方法及装置 | |
WO2023061227A1 (zh) | 数据库运维方法和装置 | |
Zou et al. | Improving log-based fault diagnosis by log classification | |
US20230153286A1 (en) | Method and system for hybrid query based on cloud analysis scene, and storage medium | |
CN114706893A (zh) | 故障检测方法、装置、设备及存储介质 | |
CN114153646A (zh) | 一种运维故障处置方法、装置及存储介质、处理器 | |
CN115729907A (zh) | 为数据库实例的监控指标分类的方法和装置、为数据库实例分类的方法和装置 | |
Peng et al. | Research on data quality detection technology based on ubiquitous state grid internet of things platform | |
CN114422324B (zh) | 一种告警信息的处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22880166 Country of ref document: EP Kind code of ref document: A1 |