云数据库的异常处理方法、装置及计算设备集群制造方法及图纸

技术编号:37290223 阅读:17 留言:0更新日期:2023-04-21 01:40
本申请公开了一种云数据库的异常处理方法、装置及计算设备集群,属于计算机技术领域。该方法包括:在云数据库系统的运行过程中,将执行的SQL语句及用于描述SQL语句的执行过程的执行描述信息,存储至云数据库系统的目标内存中;若检测到该云数据库系统中发生异常,基于异常分析规则和目标内存中存储的SQL语句的执行描述信息,生成能够指示导致异常的目标SQL语句的异常分析信息。本申请采用目标内存存储的SQL语句及其执行描述信息,信息无需落盘,对数据库系统的性能影响很小;还能够基于预设的异常分析规则生成异常分析信息,减少了相关人员的工作量,降低了异常处理耗时,提升了异常分析和问题定位的效率。了异常分析和问题定位的效率。了异常分析和问题定位的效率。

【技术实现步骤摘要】
云数据库的异常处理方法、装置及计算设备集群


[0001]本申请涉及计算机
,特别涉及一种云数据库的异常处理方法、装置及计算设备集群。

技术介绍

[0002]云数据库相较于传统数据库,具有低成本、轻松部署、高可靠等优点,能够提供更可靠的数据库服务和更舒适的使用体验。云数据库的运行过程中出现的异常,例如,程序崩溃(crash)和内存溢出(out of memory,OOM)等原因导致云数据库的进程中止,会直接导致云数据库的服务不可用,因此,对云数据库进行异常处理是提升云数据库可用性的关键。
[0003]目前,通常由运维人员根据云数据库的全量日志(general log)来定位异常根因,从而给出异常处理方案。其中,全量日志是关系型数据库管理系统MySQL提供的一种日志记录功能,其用于将MySQL服务接收到的结构化查询语言(structured query language,SQL)语句存储到硬盘中。在数据库发生异常后,运维人员可以查看全量日志,通过分析所存储的SQL语句,找到异常发生的原因。
[0004]然而,数据库系统若开启全量日志,则在数据库运行过程中,需要消耗接近30%的性能来保证日志数据的有效落盘,从而严重影响了云数据库的性能。并且,由于全量日志所存储的仅仅是SQL语句,运维人员无法通过全量日志直接判断出哪条SQL语句导致了异常,分析异常原因的准确性依赖运维人员的经验和能力,导致异常处理耗时较长。因此,采用上述技术方案对云数据库进行异常处理的效率很低。

技术实现思路

[0005]本申请实施例提供了一种云数据库的异常处理方法、装置及计算设备集群,能够提升对云数据库进行异常处理的效率。该技术方案如下:
[0006]第一方面,提供了一种云数据库的异常处理方法,应用于云数据库系统中,该方法包括:
[0007]在该云数据库系统的运行过程中,将针对该云数据库系统的结构化查询语言SQL语句和该SQL语句的执行描述信息,存储至该云数据库系统的目标内存中,该目标内存用于为该云数据库系统中运行的至少一个进程提供共享的数据读写空间,该执行描述信息用于描述SQL语句的执行过程;
[0008]响应于检测到该云数据库系统中发生异常,基于异常分析规则和该目标内存中存储的至少一条SQL语句的执行描述信息,生成异常分析信息,该异常分析规则指示导致异常的SQL语句执行过程符合的特征,该异常分析信息指示该至少一条SQL语句中导致异常的目标SQL语句。
[0009]本申请采用目标内存存储的SQL语句及其执行描述信息,信息无需落盘,对数据库系统的性能影响很小;还能够基于预设的异常分析规则生成异常分析信息,减少了相关人员的工作量,降低了异常处理耗时,提升了异常分析和问题定位的效率。
[0010]在一种可能实施方式中,该目标内存用于存储目标数量条SQL语句和该目标数量条SQL语句的执行描述信息;该在该云数据库系统的运行过程中,将针对该云数据库系统的SQL语句和该SQL语句的执行描述信息,存储至该云数据库系统的目标内存中,包括:
[0011]响应于接收到任一条针对该云数据库系统的SQL语句,若该目标内存中已存储该目标数量条SQL语句和该目标数量条SQL语句的执行描述信息,删除执行时间最早的第一SQL语句和该第一SQL语句的执行描述信息;
[0012]将针对该云数据库系统的SQL语句和该SQL语句的执行描述信息,存储至该云数据库系统的目标内存中。
[0013]通过上述过程,可以保证目标内存中仅保留最近执行的目标数量条SQL语句及其执行描述信息,从而在不影响系统性能的情况下,保证对一定时长内异常语句的追溯能力。
[0014]在一种可能实施方式中,该将针对该云数据库系统的SQL语句和该SQL语句的执行描述信息,存储至该云数据库系统的目标内存中,包括:
[0015]对于任一条该SQL语句,根据执行该SQL语句的第一进程,确定该目标内存中该SQL语句对应的子内存空间,该子内存空间用于存储该第一进程所执行的SQL语句的执行描述信息;
[0016]在该子内存空间中,存储该SQL语句和该SQL语句的执行描述信息。
[0017]在一些实施例中,目标内存被划分为多个子内存空间(slot),每个子内存空间被分配给对应的进程进行数据读写。
[0018]通过上述技术方案来存储SQL语句及其执行描述信息,利用共享内存的灵活存储特点,避免了落盘过程对数据库系统性能的影响,并且,通过划分多个子内存区域,使得多进程读写过程无需通过加锁来保证数据一致性,大大提升了数据存取的效率。
[0019]在一种可能实施方式中,该执行描述信息包括资源使用信息、语句状态信息和环境状态信息中至少一项;
[0020]该资源使用信息指示SQL语句的执行过程中占用的运算资源;该语句状态信息指示SQL语句的执行状态;该环境状态信息指示执行SQL语句时该云数据库系统的运行状态。
[0021]通过上述过程收集到的执行描述信息,可以从运行内存和执行时长等维度,描述了SQL语句的执行过程中占用的运算资源,从而能够了解SQL语句对运算资源的使用情况;还可以描述语句执行时云数据库的运行状态,从而能够了解到云上执行环境的情况;还可以描述语句在多种层次的执行状态,从而能够从多种粒度了解到语句的执行情况。基于此,从多个角度综合性地描述该SQL语句的执行过程,能够异常问题的定位提供参考。
[0022]在一种可能实施方式中,该基于异常分析规则和该目标内存中存储的至少一条SQL语句的执行描述信息,生成异常分析信息,包括:
[0023]若该至少一条SQL语句中目标SQL语句的执行描述信息所描述的执行过程符合该异常分析规则指示的目标特征,生成该目标SQL语句的异常分析信息,该目标SQL语句的异常分析信息包括该目标特征对应的问题类型,该问题类型用于指示该目标SQL语句造成异常的原因。
[0024]通过上述过程,能够综合多维度的执行描述信息,分析每条SQL语句可能存在的风险,生成对应的异常分析信息,基于预设的异常分析规则,使得异常分析信息的生成流程自动化,通过自动分析问题类型,减少了相关人员在异常处理流程中的工作量,降低了分析异
常的耗时,大大提高了问题分析定位的效率。
[0025]在一种可能实施方式中,该异常包括进程主动结束和进程被动结束。
[0026]本申请提供的技术方案能够覆盖多种异常场景,从而在多种异常场景下进行异常处理,提升异常处理方法的全面性和实用性。
[0027]在一种可能实施方式中,该基于异常分析规则和该目标内存中存储的至少一条SQL语句的执行描述信息,生成异常分析信息之前,该方法还包括:
[0028]将该目标内存中存储的至少一条SQL语句和该至少一条SQL语句的执行描述信息存储至目标存储节点中,释放该目标内存;
[0029]该基于异常分析规则和该目标内存中存储的至少一条SQL语句的执行描述信息,生成异常分析信息,包括:
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种云数据库的异常处理方法,其特征在于,应用于云数据库系统中,所述方法包括:在所述云数据库系统的运行过程中,将针对所述云数据库系统的结构化查询语言SQL语句和所述SQL语句的执行描述信息,存储至所述云数据库系统的目标内存中,所述目标内存用于为所述云数据库系统中运行的至少一个进程提供共享的数据读写空间,所述执行描述信息用于描述SQL语句的执行过程;响应于检测到所述云数据库系统中发生异常,基于异常分析规则和所述目标内存中存储的至少一条SQL语句的执行描述信息,生成异常分析信息,所述异常分析规则指示导致异常的SQL语句执行过程符合的特征,所述异常分析信息指示所述至少一条SQL语句中导致异常的目标SQL语句。2.根据权利要求1所述的方法,其特征在于,所述目标内存用于存储目标数量条SQL语句和所述目标数量条SQL语句的执行描述信息;所述在所述云数据库系统的运行过程中,将针对所述云数据库系统的SQL语句和所述SQL语句的执行描述信息,存储至所述云数据库系统的目标内存中,包括:响应于接收到任一条针对所述云数据库系统的SQL语句,若所述目标内存中已存储所述目标数量条SQL语句和所述目标数量条SQL语句的执行描述信息,删除执行时间最早的第一SQL语句和所述第一SQL语句的执行描述信息;将针对所述云数据库系统的SQL语句和所述SQL语句的执行描述信息,存储至所述云数据库系统的目标内存中。3.根据权利要求1或2所述的方法,其特征在于,所述将针对所述云数据库系统的SQL语句和所述SQL语句的执行描述信息,存储至所述云数据库系统的目标内存中,包括:对于任一条所述SQL语句,根据执行所述SQL语句的第一进程,确定所述目标内存中所述SQL语句对应的子内存空间,所述子内存空间用于存储所述第一进程所执行的SQL语句的执行描述信息;在所述子内存空间中,存储所述SQL语句和所述SQL语句的执行描述信息。4.根据权利要求1至3任一项所述的方法,其特征在于,所述执行描述信息包括资源使用信息、语句状态信息和环境状态信息中至少一项;所述资源使用信息指示SQL语句的执行过程中占用的运算资源;所述语句状态信息指示SQL语句的执行状态;所述环境状态信息指示执行SQL语句时所述云数据库系统的运行状态。5.根据权利要求1至4任一项所述的方法,其特征在于,所述基于异常分析规则和所述目标内存中存储的至少一条SQL语句的执行描述信息,生成异常分析信息,包括:若所述至少一条SQL语句中目标SQL语句的执行描述信息所描述的执行过程符合所述异常分析规则指示的目标特征,生成所述目标SQL语句的异常分析信息,所述目标SQL语句的异常分析信息包括所述目标特征对应的问题类型,所述问题类型用于指示所述目标SQL语句造成异常的原因。6.根据权利要求1至5任一项所述的方法,其特征在于,所述基于异常分析规则和所述目标内存中存储的至少一条SQL语句的执行描述信息,生成异常分析信息之前,所述方法还包括:
将所述目标内存中存储的至少一条SQL语句和所述至少一条SQL语句的执行描述信息存储至目标存储节点中,释放所述目标内存;所述基于异常分析规则和所述目标内存中存储的至少一条SQL语句的执行描述信息,生成异常分析信息,包括:基于异常分析规则和从所述目标存储节点中获取的所述至少一条SQL语句和所述至少一条SQL语句的执行描述信息,生成所述异常分析信息。7.一种云数据库的异常处理装置,其特征在于,配置于云数据库系统中,所述装置包括:存储模块,用于在所述云数...

【专利技术属性】
技术研发人员:许友松周佳瑜
申请(专利权)人:深圳华为云计算技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1