CN115438244A - 一种数据库健康度评估方法及装置 - Google Patents
一种数据库健康度评估方法及装置 Download PDFInfo
- Publication number
- CN115438244A CN115438244A CN202210965860.3A CN202210965860A CN115438244A CN 115438244 A CN115438244 A CN 115438244A CN 202210965860 A CN202210965860 A CN 202210965860A CN 115438244 A CN115438244 A CN 115438244A
- Authority
- CN
- China
- Prior art keywords
- evaluation
- database
- elements
- category
- evaluated
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种数据库健康度评估方法及装置,涉及运维技术领域,该方法包括:基于待评估数据库的类型,选择相应的数据采集插件,以满足不同类型数据库在健康度评估中的个性化数据收集和处理,适用性较为广泛。通过数据采集插件,采集待评估数据库在多个评估要素对应的要素数据。然后基于获得的要素数据,对多个评估要素进行分类,获得多个评估要素类别;以及分别对多个评估要素类别中的评估要素进行判别,获得多个评估要素类别的评估结果,再综合多个评估要素类别的评估结果,确定待评估数据库的目标健康度。实现数据库健康度评估的标准化、自动化、周期化和自助化,相较于人工评估来说,可以有效提高数据库健康度评估的准确性和效率。
Description
技术领域
本申请实施例涉及运维技术领域,尤其涉及一种数据库健康度评估方法及装置。
背景技术
随着计算机技术的快速发展,数据库得到了广泛应用。为了使数据库能够稳定的提供服务,在运维场景中,需要定期对数据库进行健康状态检测或者进行健康度评估,数据库健康状态检测和健康度评估侧重点不同,满足的使用场景也不同。
相关技术中,通过数据库管理员手动采集数据库的相关指标,然后结合自身经验对数据库健康度进行评估,最终给出数据库健康度的评估报告。然而,上述方案受限于数据库管理员的经验,容易导致评估结果出错,而且,人工对于数据库健康度进行评估的方式的效率较低,且成本较高。
发明内容
本申请实施例提供了一种数据库健康度评估方法及装置,用于提高数据库健康度评估的准确性和效率。
一方面,本申请实施例提供了一种数据库健康度评估方法,该方法包括:
基于待评估数据库的类型,选择相应的数据采集插件;
通过所述数据采集插件,采集所述待评估数据库在多个评估要素对应的要素数据;
基于获得的要素数据,对所述多个评估要素进行分类,获得多个评估要素类别;以及分别对所述多个评估要素类别中的评估要素进行判别,获得所述多个评估要素类别的评估结果;
综合所述多个评估要素类别的评估结果,确定所述待评估数据库的目标健康度。
可选地,所述分别对所述多个评估要素类别中的评估要素进行判别,获得所述多个评估要素类别的评估结果,包括:
针对所述多个评估要素类别,分别执行以下步骤:
将一个评估要素类别中的每个评估要素的要素数据,与相应的判决阈值进行比较,获得每个评估要素对应的判决结果;
基于所述一个评估要素类别中的多个评估要素的判决结果,确定所述一个评估要素类别的评估结果。
可选地,所述综合所述多个评估要素类别的评估结果,确定所述待评估数据库的目标健康度,包括:
基于所述多个评估要素类别的评估结果,以及所述多个评估要素类别的权重,确定所述待评估数据库的目标健康度。
可选地,所述基于待评估数据库的类型,选择相应的数据采集插件之前,还包括:
针对所述多个评估要素类别中的至少一个评估要素类别,分别执行以下步骤:
基于一个评估要素类别中的多个原始要素的历史要素数据,从所述多个原始要素中筛选出周期性异常要素,并从所述多个原始要素中去除所述周期性异常要素,获得所述一个评估要素类别中的评估要素。
可选地,所述基于一个评估要素类别中的多个原始要素的历史要素数据,从所述多个原始要素中筛选出周期性异常要素,包括:
通过机器学习模型和软投票分类方式,基于所述多个原始要素的历史要素数据,从所述多个原始要素中筛选出至少一个异常要素;
针对所述至少一个异常要素,分别执行以下步骤:
若一个异常要素的历史要素数据对应的环比参数和同比参数满足预设条件,则确定所述一个异常要素为周期性异常要素。
可选地,所述至少一个评估要素类别包括监控指标类别和告警要素类别。
可选地,所述综合所述多个评估要素类别的评估结果,确定所述待评估数据库的目标健康度之后,还包括:
基于所述待评估数据库的目标健康度和所述待评估数据库的历史健康度,生成所述待评估数据库的数据库健康度报告。
可选地,所述基于所述待评估数据库的目标健康度和所述待评估数据库的历史健康度,生成所述待评估数据库的数据库健康度报告,包括:
基于所述目标健康度、所述历史健康度以及数据库优化方案,生成所述待评估数据库的数据库健康度报告。
可选地,所述多个评估要素类别包括监控指标类别、告警要素类别、数据库缺陷类别、规范性检查类别、运行数据统计类别、安全要素类别。
一方面,本申请实施例提供了一种数据库健康度评估装置,该装置包括:
选择模块,用于基于待评估数据库的类型,选择相应的数据采集插件;
采集模块,用于通过所述数据采集插件,采集所述待评估数据库在多个评估要素对应的要素数据;
处理模块,用于基于获得的要素数据,对所述多个评估要素进行分类,获得多个评估要素类别;以及分别对所述多个评估要素类别中的评估要素进行判别,获得所述多个评估要素类别的评估结果;
评估模块,用于综合所述多个评估要素类别的评估结果,确定所述待评估数据库的目标健康度。
可选地,所述处理模块具体用于:
针对所述多个评估要素类别,分别执行以下步骤:
将一个评估要素类别中的每个评估要素的要素数据,与相应的判决阈值进行比较,获得每个评估要素对应的判决结果;
基于所述一个评估要素类别中的多个评估要素的判决结果,确定所述一个评估要素类别的评估结果。
可选地,所述评估模块具体用于:
基于所述多个评估要素类别的评估结果,以及所述多个评估要素类别的权重,确定所述待评估数据库的目标健康度。
可选地,所述处理模块还用于:
所述基于待评估数据库的类型,选择相应的数据采集插件之前,针对所述多个评估要素类别中的至少一个评估要素类别,分别执行以下步骤:
基于一个评估要素类别中的多个原始要素的历史要素数据,从所述多个原始要素中筛选出周期性异常要素,并从所述多个原始要素中去除所述周期性异常要素,获得所述一个评估要素类别中的评估要素。
可选地,所述处理模块具体用于:
通过机器学习模型和软投票分类方式,基于所述多个原始要素的历史要素数据,从所述多个原始要素中筛选出至少一个异常要素;
针对所述至少一个异常要素,分别执行以下步骤:
若一个异常要素的历史要素数据对应的环比参数和同比参数满足预设条件,则确定所述一个异常要素为周期性异常要素。
可选地,所述至少一个评估要素类别包括监控指标类别和告警要素类别。
可选地,所述评估模块还用于:
综合所述多个评估要素类别的评估结果,确定所述待评估数据库的目标健康度之后,基于所述待评估数据库的目标健康度和所述待评估数据库的历史健康度,生成所述待评估数据库的数据库健康度报告。
可选地,所述评估模块具体用于:
基于所述目标健康度、所述历史健康度以及数据库优化方案,生成所述待评估数据库的数据库健康度报告。
可选地,所述多个评估要素类别包括监控指标类别、告警要素类别、数据库缺陷类别、规范性检查类别、运行数据统计类别、安全要素类别。
一方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述图像处理方法的步骤。
一方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行上述图像处理方法的步骤。
本申请实施例中,针对于不同类型的数据库,采用不同的数据采集插件采集要素数据,以满足不同类型数据库在健康度评估中的个性化数据收集和处理,并且支持后期在线增加新类型数据库的数据收集,适用性较为广泛。其次,将多个评估要素进行分类获得多个评估要素类别,然后分别对每个评估要素类别中的评估要素进行判决,获得相应的评估结果。之后再综合所有评估要素类别的评估结果,得到数据库的健康度评分,实现数据库健康度评估的标准化、自动化、周期化和自助化,相较于人工评估来说,可以有效提高数据库健康度评估的准确性和效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种系统架构的结构示意图;
图2为本申请实施例提供了一种数据库健康度评估方法的流程示意图;
图3为本申请实施例提供的一种评估设备的结构示意图;
图4为本申请实施例提供的一种评估配置调整方法的流程示意图;
图5为本申请实施例提供的一种数据采集方法的流程示意图;
图6为本申请实施例提供的一种数据处理方法的流程示意图;
图7为本申请实施例提供的一种计算数据库健康度的方法的流程示意图;
图8为本申请实施例提供的一种生成数据库健康度报告的方法的流程示意图;
图9为本申请实施例提供的一种数据库健康度评估装置的结构示意图;
图10为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了方便理解,下面对本发明实施例中涉及的名词进行解释。
数据库:若干个数据库实例、数据库代理以及其它高可用组件等组成的统一对外提供数据库服务的整体。
软投票分类方式:Soft Voting,一种机器学习技术中决策方法,将所有模型预测样本为某一类别的概率的平均值作为标准,概率最高的对应的类型为最终的预测结果。
数据库管理员:Database Administrator,简称DBA,数据库管理员负责全面管理和控制数据库系统,包括数据库的安装、监控、备份、恢复等基本工作。
参考图1,其为本申请实施例适用的一种系统架构图,该系统架构至少包括评估设备101和数据库102,评估设备101的数量可以是一个或多个,数据库102的数量也可以是一个或多个,本申请对评估设备101和数据库102的数量不做具体限定。
评估设备101可以是终端设备,也可以是服务器,其中,终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能家电、智能语音交互设备、智能车载设备等,但并不局限于此。
服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
在本申请中,数据库102指若干个数据库实例、数据库代理以及其它高可用组件等组成的统一对外提供数据库服务的整体。在数据库的语境中,数据库代理是位于应用程序和数据库的中间层。每个数据库实例和数据库代理都是在服务器上部署的一个独立资源体,有独立的IP地址、中央处理器(Central Processing Unit,简称CPU)和内存,以及独立的文件系统作为表空间和日志空间。根据部署的不同,这个独立的资源体可以是物理服务器、虚拟服务器、容器等。
在部署数据库时,为了防止发生了宕机或者意外中断等故障,通常会构建主备、主备从、MHA(Master HA)集群和MGR(MySQL Group Replication)集群等高可用架构,以便故障发生时尽快恢复数据库的可用性,尽可能的减少停机时间,保证业务不会因为数据库的故障而中断。
评估设备101和数据库102可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
基于图1所示的系统架构图,本申请实施例提供了一种数据库健康度评估方法的流程,如图2所示,该方法的流程由计算机设备执行,该计算机设备可以是图1所示的评估设备101,包括以下步骤:
步骤S201,基于待评估数据库的类型,选择相应的数据采集插件。
具体地,数据库健康度评估任务可以由人工触发和配置模块触发,其中,在人工触发评估任务之后,在评估任务中记录发起人、发起时间以及评估对象。管理员通过配置模块定义发起周期,然后由配置模块周期性触发评估任务,并在评估任务中记录发起人、发起时间以及评估对象,发起人统一配置为管理员。
在一些实施例中,为了满足实际应用中对数据库评估周期和范围的调整需求,上述配置模块在评估设备初始化阶段启动,在评估设备的正式运行阶段可以根据实际需要修改配置模块的配置信息,在修改之后评估设备重新加载配置信息,具体可以实现评估开关调整、评估周期调整和评估范围调整。
在一些实施例中,待评估数据库的类型包括MySQL、REDIS、DB2和ORACLE等。针对不同类型的数据库,对应的评估要素数据的存储位置以及数据格式都是不相同的。鉴于此,在本申请实施例中,针对不同类型的数据库,配置相应的数据采集插件用于数据采集。另外,支持后期在线增加新类型的数据库对应的新数据采集插件,从而满足不同类型的数据库的健康度评估,适用性较好。
步骤S202,通过数据采集插件,采集待评估数据库在多个评估要素对应的要素数据。
具体地,通过数据采集插件,从监控平台收集数据库的监控数据,从告警平台收集数据库的历史告警信息,从流程平台收集数据库缺陷信息,从数据库内部收集各数据库对象属性和运行数据统计信息,从数据库内部收集数据库用户权限、角色权限等安全要素信息。对上述收集的数据经过规范化处理,获得统一格式的要素数据。
步骤S203,基于获得的要素数据,对多个评估要素进行分类,获得多个评估要素类别;以及分别对多个评估要素类别中的评估要素进行判别,获得多个评估要素类别的评估结果。
具体地,多个评估要素类别包括监控指标类别、告警要素类别、数据库缺陷类别、规范性检查类别、运行数据统计类别、安全要素类别。
监控指标类别中的评估要素包括:CPU、内存、日志空间、表空间、连接数、网络流量、网络连通性等数据库运行中使用的计算、存储和网络资源监控数据;也包括数据库每秒查询数(Queries-per-second,简称QPS)、打开表格数量、备库延迟秒数、数据库当前连接数、数据库活动连接数、数据库最大连接数、缓存池使用情况、bufferpool使用情况、运行状态、线程状态、物理读和逻辑读情况等数据库监控数据。
告警要素类别中的评估要素包括:数据库日志空间使用率告警、数据空间使用率告警、CPU使用率冲高告警、数据库主备切换告警、内存使用率冲高告警、数据库连接池使用率告警、运行状态异常告警、备库延迟秒数告警等影响数据库稳定运行的告警。
数据库缺陷类别指:获取当前使用的数据库实例、数据库代理以及其它数据库组件版本存在的缺陷严重级别,可以分为崩溃、严重、一般和次要等级别,缺陷严重级别对数据库的稳定运行影响不同,需要修复的紧急度也不同。
规范性检查指对数据库对象的属性进行规范性检查。规范性检查类别中的评估要素包括:表格字段浮点类型检查、表格外键检查、表格字段非空属性检查、预编译prepare命令执行次数比例检查、表格全表扫描检查、未提交事务检查、SQL全表扫描检查、表格冗余索引检查、表格有无主键检查、表格索引个数检查、索引字段个数检查、表格行数据平均长度检查、索引过滤因子检查、表格容量检查、表格大对象字段类型检查、表格数据行数检查等规范性检查。
针对不同的数据库类型,采集的运行数据也是不相同的,因此,运行数据统计的对象也是不相同。以MySQL数据库举例来说,运行数据统计类别中的评估要素包括:SQL语句平均执行时间统计、SQL最大执行时间统计、SQL总执行时间统计、表格总等待时间统计、表格平均锁等待时间统计、SQL执行次数统计、事件信息统计、SQL排序次数、索引读写次数统计、预编译SQL语句执行次数统计、数据库中死锁信息统计、数据库阻塞的会话统计等数据库在运行过程中的统计结果。
安全要素类别的评估要素包括:用户权限范围、角色权限范围、密码管理情况、关键系统权限授权情况等对数据库稳定运行中安全相关要素。
本申请实施例中,全面收集可能影响数据库稳定运行的要素数据,其中既包括监控指标类别、告警要素类别、运行数据统计类别中各评估要素的要素数据,同时还深入数据库内部获取规范性检查类别、安全要素类别、数据库缺陷类别中各评估要素的关键数据,相比较人工评估或者其它评估方案,能发现数据库中存在的深层面隐患,从而提升数据库健康度评估的准确性。
可选地,在运维场景中,数据库存在一些周期性和规律性的异常指标,这些异常指标是因为实际业务需要才存在,并不是因为数据库出现异常。因此,为了避免这些异常指标作为评估要素时,影响后续数据库健康度的评估,需要对周期性和规律性的异常指标进行过滤。具体地,基于待评估数据库的类型,选择相应的数据采集插件之前,先针对多个评估要素类别中的至少一个评估要素类别,分别执行以下步骤:
基于一个评估要素类别中的多个原始要素的历史要素数据,从多个原始要素中筛选出周期性异常要素,并从多个原始要素中去除周期性异常要素,获得该评估要素类别中的评估要素。
具体实施中,通过机器学习模型和软投票分类方式,基于多个原始要素的历史要素数据,从多个原始要素中筛选出至少一个异常要素。然后针对至少一个异常要素,分别执行以下步骤:若一个异常要素的历史要素数据对应的环比参数和同比参数满足预设条件,则确定该异常要素为周期性异常要素。
上述至少一个评估要素类别包括监控指标类别和告警要素类别。在实际应用中,针对监控指标类别的多个原始监控指标,通过机器学习模型和软投票分类方式,基于多个原始监控指标的历史要素数据,从多个原始监控指标中筛选出异常监控指标。针对每个异常监控指标,基于该异常监控指标的历史要素数据确定相应的环比参数和同比参数。基于环比参数和同比参数,判断该异常监控指标是否为周期性异常指标,如果是,则过滤该周期性异常指标。在过滤所有的周期性异常指标之后,将保留的原始监控指标作为数据库健康度评估的评估要素。
针对告警要素类别的多个原始告警要素,通过机器学习模型和软投票分类方式,基于多个原始告警要素的历史要素数据,从多个原始告警要素中筛选出异常告警要素。针对每个异常告警要素,基于该异常告警要素的历史要素数据确定相应的环比参数和同比参数。基于环比参数和同比参数,判断该异常告警要素是否为周期性异常要素。如果是,则过滤该周期性异常要素。在过滤所有的周期性异常要素之后,将保留的原始告警要素作为数据库健康度评估的评估要素。
需要说明的是,本申请也可以在数据库健康度评估的过程中过滤掉周期性和规律性的异常指标,对此,本申请不做具体限定。
本申请实施例中,通过过滤掉周期性和规律性的异常指标,获得影响数据库稳定运行的关键指标(关键异常监控点和关键告警)作为评估要素,来进行数据库健康度评估,从而提高数据库健康度评估的效果。
在一些实施例中,在获得多个评估要素对应的要素数据之后,对要素数据进行有效性检查和完整性检查。在检查通过之后,基于获得的要素数据依次对多个评估要素进行分类,获得多个评估要素类别,并标识每个评估要素的类别。
在一些实施例中,针对多个评估要素类别,分别执行以下步骤:将一个评估要素类别中的每个评估要素的要素数据,与相应的判决阈值进行比较,获得每个评估要素对应的判决结果。然后基于该评估要素类别中的多个评估要素的判决结果,确定该评估要素类别的评估结果。
具体地,预先根据数据库相关开发、使用和运维规范以及数据库专家经验,针对评估过程中每一个评估要素制定相应的判决阈值。比如,在某些数据库规范中,因为较大的表格对后续维护和修改不够友好,因此表格中记录的数据行数不建议超过100万,相应地,针对表格数据行数检查这一评估要素,可以将相应的判决阈值设置为100万。
在进行数据库健康度评估时,将每个评估要素的要素数据,与相应的判决阈值进行比较,获得每个评估要素对应的判决结果,其中,判决结果包括健康状态和不健康状态。针对每个评估要素类别,基于该评估要素类别中处于健康状态的评估要素数量,以及评估要素总数量,确定该评估要素类别的评估得分,具体满足以下公式(1):
评估要素类别的评估得分=处于健康状态的评估要素数量/评估要素总数量*100………………(1)
举例来说,设定规范性检查类别中包括29个评估要素,针对每个评估要素,将该评估要素的要素数据与相应的判决阈值进行比较。如果没有超过判决阈值,则确定该评估要素的判决结果为1,表示该评估要素处于健康状态。如果超过判决阈值,则确定该评估要素的判决结果为0,表示该判决要素处于不健康状态。在对所有的评估要素进行判决之后,确定29个评估要素中存在8个评估要素处于不健康状态,21个评估要素处于健康状态,则基于上述公式(1)可以获知规范性检查类别的评估得分为72.4分。
步骤S204,综合多个评估要素类别的评估结果,确定待评估数据库的目标健康度。
本申请实施例中,针对于不同类型的数据库,采用不同的数据采集插件采集要素数据,以满足不同类型数据库在健康度评估中的个性化数据收集和处理,并且支持后期在线增加新类型数据库的数据收集,适用性较为广泛。其次,将多个评估要素进行分类获得多个评估要素类别,然后分别对每个评估要素类别中的评估要素进行判决,获得相应的评估结果。之后再综合所有评估要素类别的评估结果,得到数据库的健康度评分,实现数据库健康度评估的标准化、自动化、周期化和自助化,相较于人工评估来说,可以有效提高数据库健康度评估的准确性和效率。
在一些实施例中,基于多个评估要素类别的评估结果,以及多个评估要素类别的权重,确定待评估数据库的目标健康度。
具体地,预先针对多个评估要素类别的重要程度以及对于数据库稳定影响的程度,为每个评估要素类别设置不同的权重。权重是指某评估要素类别在数据库健康度评估中的相对重要程度,权重越高,则该评估要素类别越重要。本申请中使用专家经验采用主观赋权法,对每个评估要素类别的权重进行赋权。需要说明的是,评估要素类别的权重可以根据实际运行情况或需求进行调整。另外,上述基于多个评估要素类别的评估结果,以及多个评估要素类别的权重,确定待评估数据库的目标健康度满足以下公式(2):
其中,T表示待评估数据库的目标健康度,X(i)表示评估要素类别i的评估得分,W(i)表示评估要素类别i对应的权重,N表示评估要素类别的总数量。
举例来说,设定将监控指标类别的权重设置为0.2,告警要素类别的权重设置为0.2,数据库缺陷类别的权重设置为0.1,规范性检查类别的权重设置为0.3,运行数据统计类别的权重设置为0.1,安全要素类别的权重设置为0.1。
监控指标类别的评估得分为92.4分,告警要素类别的评估得分为80分,数据库缺陷类别的评估得分为90分,规范性检查类别的评估得分为72.4分,运行数据统计类别的评估得分为95.5分,安全要素类别的评估得分为98分。
采用上述公式(2)可以获知,待评估数据库的目标健康度为84.55分。
本申请实施例中,通过为不同的评估要素类别分配不同的权重,然后基于分配的权重对各个评估要素类别的评估得分进行加权计算,获得数据库的健康度评分,实现对数据库健康度评估结果量化,方便数据库管理员以及相关人员持续跟踪数据库的健康情况,也降低了后期跟踪成本。
在一些实施例中,综合多个评估要素类别的评估结果,确定待评估数据库的目标健康度之后,基于待评估数据库的目标健康度和待评估数据库的历史健康度,生成待评估数据库的数据库健康度报告。
具体地,可以采用报告生成模板,基于待评估数据库的目标健康度和待评估数据库的历史健康度,自动生成待评估数据库的数据库健康度报告。
另外,如果在数据库健康度评估过程中发现数据库中存在的隐患,则引入专家经验对数据库存在的隐患给出修改和优化方案。例如,某个表格上没有主键,则会建议为这个表格添加主键,并且提供不添加主键可能引发的问题。相应地,在生成数据库健康度报告,可以基于目标健康度、历史健康度以及数据库优化方案,生成待评估数据库的数据库健康度报告。数据库健康度报告以PDF文件格式展示,内容包括报告首页、概述、分析结论、数据库基本信息、软件版本、资源使用情况、告警分析以及优化建议等。
在生成数据库健康度报告之后,触发通知用户及时获取数据库健康度报告。比如,获取用户注册时提供的邮箱、手机号等信息,然后通过邮件或者短信息等方式通知用户数据库健康度报告成功生成的消息,并提醒用户及时获取数据库健康度报告。
本申请实施例中,综合多个评估要素类别的评估结果,确定待评估数据库的目标健康度之后,自动生成数据库健康度报告,实现评估结果可视化,便于用户从整体上了解数据库健康状况、优化建议或者问题修复方法。其次,通过数据库健康度报告,应用开发、数据库设计、运维人员以及其它相关人员都可以得到数据库中隐患详情的第一手资料,减少中间沟通环节,降低沟通成本。
为了更好地解释本申请实施例,下面结合具体实施场景介绍本申请实施例提供的一种数据库健康度评估方法,该方法的流程可以由图1所示的评估设备执行,其中,评估设备的结构如图3所示,包括配置模块301、任务启动模块302、数据采集模块303、数据处理模块304、评分模块305、信息储存模块306、评分查询模块307、报告生成模块308以及用户通知模块309。
任务启动模块302用于启动数据库健康度评估任务,任务启动模块可以通过两种方式触发,方式1是由用户手动触发,方式2是由配置模块301定时触发,其中,管理员预先在配置模块301中定义发起周期。
数据采集模块303用于采集数据库在多个评估要素对应的要素数据。
数据处理模块304用于基于采集的要素数据,对多个评估要素进行分类,获得多个评估要素类别,然后对每个评估要素类别中的评估要素进行判决,获得相应的评估要素类别的评估结果。
评分模块305用于基于多个评估要素类别的评估结果,获得数据库的目标健康度。
信息储存模块306用于存储数据库的目标健康度以及相关信息,其中,相关信息包括数据库名称、评分时间和评分发起人等。
评分查询模块307用于接收其它模块的查询请求,并返回数据库的目标健康度和历史健康度以及相关信息。
报告生成模块308用于基于数据库的目标健康度、历史健康度、优化建议、监控信息和告警信息,生成数据库健康度报告。
用户通知模块309用于执行报告生成后的用户通知。
具体实施中,上述配置模块301可以实现评估开关调整、评估周期调整和评估范围调整,具体流程如图4所示,包括以下步骤:
步骤401,开始。
步骤402,响应管理员操作,调整评估开关。
步骤403,判断是否调整成功,若是,则执行步骤404,否则执行步骤408。
步骤404,响应管理员操作,调整评估周期。
步骤405,判断是否调整成功,若是,则执行步骤406,否则执行步骤408。
步骤406,响应管理员操作,调整评估范围。
步骤407,判断是否调整成功,若是,则执行步骤409,否则执行步骤408。
步骤408,异常处理。
步骤409,结束。
上述数据采集模块303采集数据库在多个评估要素对应的要素数据的过程如图5所示,包括以下步骤:
步骤501,开始。
步骤502,基于数据库的类型,选取相应的数据采集插件。
步骤503,通过数据采集插件,从监控平台采集数据库监控数据。
步骤504,判断采集是否成功,若是,则执行步骤505,否则执行步骤517。
步骤505,通过数据采集插件,从告警平台采集历史告警信息。
步骤506,判断采集是否成功,若是,则执行步骤507,否则执行步骤517。
步骤507,通过数据采集插件,从流程平台采集数据库缺陷信息。
步骤508,判断采集是否成功,若是,则执行步骤509,否则执行步骤517。
步骤509,通过数据采集插件,从数据库内部采集各对象的属性信息。
步骤510,判断采集是否成功,若是,则执行步骤511,否则执行步骤517。
步骤511,通过数据采集插件,从数据库内部采集运行数据统计信息。
步骤512,判断采集是否成功,若是,则执行步骤513,否则执行步骤517。
步骤513,通过数据采集插件,从数据库内部采集安全要素信息。
步骤514,判断采集是否成功,若是,则执行步骤515,否则执行步骤517。
步骤515,数据规范化处理。
对收集的数据进行规范化处理,得到统一的格式,然后输入数据处理模块304。
步骤516,判断规范化是否成功,若是,则执行步骤518,否则执行步骤517。
步骤517,异常处理。
步骤518,结束。
上述数据处理模块304获得评估要素类别的评估结果的过程如图6所示,包括以下步骤:
步骤601,开始。
步骤602,数据有效性和完整性检查。
步骤603,判断是否遍历完所有评估要素,若是,则执行步骤609,否则执行步骤604。
步骤604,对当前评估要素进行分类和标识。
具体地,基于当前评估要素的要素数据,确定当前评估要素对应的评估要素类别,并标识相应的类别信息。
步骤605,判断标识是否成功,若是,则执行步骤606,否则执行步骤611。
步骤606,对当前评估要素进行判决。
将当前评估要素的要素数据与相应的判决阈值进行比较,若小于等于判决阈值,则确定当前评估要素的判决得分为1,表示当前评估要素处于健康状态。若大于判决阈值,则确定当前评估要素的判决得分为0,表示当前判决要素处于不健康状态。
步骤607,判断是否判决成功,若是,则执行步骤608,否则执行步骤611。
步骤608,遍历下一个评估要素,执行步骤603。
步骤609,对获得的每个评估要素类别进行评估,获得相应的评估得分。
基于评估要素类别中各个评估要素的判决得分,确定评估要素类别的评估得分。
步骤610,判断是否评估成功,若是,则执行步骤612,否则执行步骤611。
步骤611,异常处理。
步骤612,结束。
上述评分模块305基于多个评估要素类别的评估结果,获得数据库的目标健康度的过程如图7所示,包括以下步骤:
步骤701,开始。
步骤702,数据有效性和完整性检查。
步骤703,判断是否检查通过,若是,则执行步骤704,否则执行步骤708。
步骤704,综合多个评估要素类别的评估得分,获得数据库的目标健康度。
步骤705,判断是否评估成功,若是,则执行步骤706,否则执行步骤708。
步骤706,存储目标健康度和任务相关信息。
步骤707,判断是否存储成功,若是,则执行步骤709,否则执行步骤708。
步骤708,异常处理。
步骤709,结束。
上述报告生成模块308生成数据库健康度报告的过程如图8所示,包括以下步骤:
步骤801,开始。
步骤802,数据有效性和完整性检查。
步骤803,调用评分查询模块307,获得历史健康度。
步骤804,调用数据处理模块304,获得优化建议。
步骤805,调用数据采集模块303,获得监控信息和告警信息。
步骤806,生成数据库健康度报告。
具体地,基于数据库的目标健康度、历史健康度、优化建议、监控信息和告警信息,生成数据库健康度报告。
步骤807,判断是否生成成功,若是,则执行步骤808,否则执行步骤809。
步骤808,输出数据库健康度报告。
步骤809,异常处理。
步骤810,结束。
本申请实施例中,针对于不同类型的数据库,采用不同的数据采集插件采集要素数据,以满足不同类型数据库在健康度评估中的个性化数据收集和处理,并且支持后期在线增加新类型数据库的数据收集,适用性较为广泛。其次,将多个评估要素进行分类获得多个评估要素类别,然后分别对每个评估要素类别中的评估要素进行判决,获得相应的评估结果。之后再综合所有评估要素类别的评估结果,得到数据库的健康度评分,实现数据库健康度评估的标准化、自动化、周期化和自助化,相较于人工评估来说,可以有效提高数据库健康度评估的准确性和效率。
基于相同的技术构思,本申请实施例提供了一种数据库健康度评估装置的结构示意图,如图9所示,该装置900包括:
选择模块901,用于基于待评估数据库的类型,选择相应的数据采集插件;
采集模块902,用于通过所述数据采集插件,采集所述待评估数据库在多个评估要素对应的要素数据;
处理模块903,用于基于获得的要素数据,对所述多个评估要素进行分类,获得多个评估要素类别;以及分别对所述多个评估要素类别中的评估要素进行判别,获得所述多个评估要素类别的评估结果;
评估模块904,用于综合所述多个评估要素类别的评估结果,确定所述待评估数据库的目标健康度。
可选地,所述处理模块903具体用于:
针对所述多个评估要素类别,分别执行以下步骤:
将一个评估要素类别中的每个评估要素的要素数据,与相应的判决阈值进行比较,获得每个评估要素对应的判决结果;
基于所述一个评估要素类别中的多个评估要素的判决结果,确定所述一个评估要素类别的评估结果。
可选地,所述评估模块904具体用于:
基于所述多个评估要素类别的评估结果,以及所述多个评估要素类别的权重,确定所述待评估数据库的目标健康度。
可选地,所述处理模块903还用于:
所述基于待评估数据库的类型,选择相应的数据采集插件之前,针对所述多个评估要素类别中的至少一个评估要素类别,分别执行以下步骤:
基于一个评估要素类别中的多个原始要素的历史要素数据,从所述多个原始要素中筛选出周期性异常要素,并从所述多个原始要素中去除所述周期性异常要素,获得所述一个评估要素类别中的评估要素。
可选地,所述处理模块903具体用于:
通过机器学习模型和软投票分类方式,基于所述多个原始要素的历史要素数据,从所述多个原始要素中筛选出至少一个异常要素;
针对所述至少一个异常要素,分别执行以下步骤:
若一个异常要素的历史要素数据对应的环比参数和同比参数满足预设条件,则确定所述一个异常要素为周期性异常要素。
可选地,所述至少一个评估要素类别包括监控指标类别和告警要素类别。
可选地,所述评估模块904还用于:
综合所述多个评估要素类别的评估结果,确定所述待评估数据库的目标健康度之后,基于所述待评估数据库的目标健康度和所述待评估数据库的历史健康度,生成所述待评估数据库的数据库健康度报告。
可选地,所述评估模块904具体用于:
基于所述目标健康度、所述历史健康度以及数据库优化方案,生成所述待评估数据库的数据库健康度报告。
可选地,所述多个评估要素类别包括监控指标类别、告警要素类别、数据库缺陷类别、规范性检查类别、运行数据统计类别、安全要素类别。
本申请实施例中,针对于不同类型的数据库,采用不同的数据采集插件采集要素数据,以满足不同类型数据库在健康度评估中的个性化数据收集和处理,并且支持后期在线增加新类型数据库的数据收集,适用性较为广泛。其次,将多个评估要素进行分类获得多个评估要素类别,然后分别对每个评估要素类别中的评估要素进行判决,获得相应的评估结果。之后再综合所有评估要素类别的评估结果,得到数据库的健康度评分,实现数据库健康度评估的标准化、自动化、周期化和自助化,相较于人工评估来说,可以有效提高数据库健康度评估的准确性和效率。
基于相同的技术构思,本申请实施例提供了一种计算机设备,该计算机设备可以是图1所示的评估设备,如图10所示,包括至少一个处理器1001,以及与至少一个处理器连接的存储器1002,本申请实施例中不限定处理器1001与存储器1002之间的具体连接介质,图10中处理器1001和存储器1002之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本申请实施例中,存储器1002存储有可被至少一个处理器1001执行的指令,至少一个处理器1001通过执行存储器1002存储的指令,可以执行上述数据库健康度评估方法的步骤。
其中,处理器1001是计算机设备的控制中心,可以利用各种接口和线路连接计算机设备的各个部分,通过运行或执行存储在存储器1002内的指令以及调用存储在存储器1002内的数据,从而实现数据库健康度评估。可选的,处理器1001可包括一个或多个处理单元,处理器1001可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1001中。在一些实施例中,处理器1001和存储器1002可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器1001可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器1002作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器1002可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器1002是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机设备存取的任何其他介质,但不限于此。本申请实施例中的存储器1002还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当程序在计算机设备上运行时,使得计算机设备执行上述数据库健康度评估方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机设备或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机设备或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机设备或其他可编程数据处理设备上,使得在计算机设备或其他可编程设备上执行一系列操作步骤以产生计算机设备实现的处理,从而在计算机设备或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种数据库健康度评估方法,其特征在于,包括:
基于待评估数据库的类型,选择相应的数据采集插件;
通过所述数据采集插件,采集所述待评估数据库在多个评估要素对应的要素数据;
基于获得的要素数据,对所述多个评估要素进行分类,获得多个评估要素类别;以及分别对所述多个评估要素类别中的评估要素进行判别,获得所述多个评估要素类别的评估结果;
综合所述多个评估要素类别的评估结果,确定所述待评估数据库的目标健康度。
2.如权利要求1所述的方法,其特征在于,所述分别对所述多个评估要素类别中的评估要素进行判别,获得所述多个评估要素类别的评估结果,包括:
针对所述多个评估要素类别,分别执行以下步骤:
将一个评估要素类别中的每个评估要素的要素数据,与相应的判决阈值进行比较,获得每个评估要素对应的判决结果;
基于所述一个评估要素类别中的多个评估要素的判决结果,确定所述一个评估要素类别的评估结果。
3.如权利要求1所述的方法,其特征在于,所述综合所述多个评估要素类别的评估结果,确定所述待评估数据库的目标健康度,包括:
基于所述多个评估要素类别的评估结果,以及所述多个评估要素类别的权重,确定所述待评估数据库的目标健康度。
4.如权利要求1所述的方法,其特征在于,所述基于待评估数据库的类型,选择相应的数据采集插件之前,还包括:
针对所述多个评估要素类别中的至少一个评估要素类别,分别执行以下步骤:
基于一个评估要素类别中的多个原始要素的历史要素数据,从所述多个原始要素中筛选出周期性异常要素,并从所述多个原始要素中去除所述周期性异常要素,获得所述一个评估要素类别中的评估要素。
5.如权利要求4所述的方法,其特征在于,所述基于一个评估要素类别中的多个原始要素的历史要素数据,从所述多个原始要素中筛选出周期性异常要素,包括:
通过机器学习模型和软投票分类方式,基于所述多个原始要素的历史要素数据,从所述多个原始要素中筛选出至少一个异常要素;
针对所述至少一个异常要素,分别执行以下步骤:
若一个异常要素的历史要素数据对应的环比参数和同比参数满足预设条件,则确定所述一个异常要素为周期性异常要素。
6.如权利要求3所述的方法,其特征在于,所述至少一个评估要素类别包括监控指标类别和告警要素类别。
7.如权利要求1所述的方法,其特征在于,所述综合所述多个评估要素类别的评估结果,确定所述待评估数据库的目标健康度之后,还包括:
基于所述待评估数据库的目标健康度和所述待评估数据库的历史健康度,生成所述待评估数据库的数据库健康度报告。
8.如权利要求7所述的方法,其特征在于,所述基于所述待评估数据库的目标健康度和所述待评估数据库的历史健康度,生成所述待评估数据库的数据库健康度报告,包括:
基于所述目标健康度、所述历史健康度以及数据库优化方案,生成所述待评估数据库的数据库健康度报告。
9.如权利要求1至8任一所述的方法,其特征在于,所述多个评估要素类别包括监控指标类别、告警要素类别、数据库缺陷类别、规范性检查类别、运行数据统计类别、安全要素类别。
10.一种数据库健康度评估装置,其特征在于,包括:
选择模块,用于基于待评估数据库的类型,选择相应的数据采集插件;
采集模块,用于通过所述数据采集插件,采集所述待评估数据库在多个评估要素对应的要素数据;
处理模块,用于基于获得的要素数据,对所述多个评估要素进行分类,获得多个评估要素类别;以及分别对所述多个评估要素类别中的评估要素进行判别,获得所述多个评估要素类别的评估结果;
评估模块,用于综合所述多个评估要素类别的评估结果,确定所述待评估数据库的目标健康度。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~9任一所述方法的步骤。
12.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行权利要求1~9任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210965860.3A CN115438244A (zh) | 2022-08-12 | 2022-08-12 | 一种数据库健康度评估方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210965860.3A CN115438244A (zh) | 2022-08-12 | 2022-08-12 | 一种数据库健康度评估方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115438244A true CN115438244A (zh) | 2022-12-06 |
Family
ID=84242330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210965860.3A Pending CN115438244A (zh) | 2022-08-12 | 2022-08-12 | 一种数据库健康度评估方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115438244A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116127149A (zh) * | 2023-04-14 | 2023-05-16 | 杭州悦数科技有限公司 | 图数据库集群健康度的量化方法和系统 |
-
2022
- 2022-08-12 CN CN202210965860.3A patent/CN115438244A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116127149A (zh) * | 2023-04-14 | 2023-05-16 | 杭州悦数科技有限公司 | 图数据库集群健康度的量化方法和系统 |
CN116127149B (zh) * | 2023-04-14 | 2023-07-04 | 杭州悦数科技有限公司 | 图数据库集群健康度的量化方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113556258B (zh) | 一种异常检测方法及装置 | |
CN109491850A (zh) | 一种磁盘故障预测方法及装置 | |
US20110078106A1 (en) | Method and system for it resources performance analysis | |
CN107633030B (zh) | 基于数据模型的信用评估方法及装置 | |
CN107168995B (zh) | 一种数据处理方法及服务器 | |
CN112308126A (zh) | 故障识别模型训练方法、故障识别方法、装置及电子设备 | |
CN110471945B (zh) | 活跃数据的处理方法、系统、计算机设备和存储介质 | |
CN112989332B (zh) | 一种异常用户行为检测方法和装置 | |
CN113537337A (zh) | 训练方法、异常检测方法、装置、设备和存储介质 | |
CN116414815A (zh) | 数据质量检测方法、装置、计算机设备和存储介质 | |
CN112669188A (zh) | 危机事件预警模型构建、危机事件预警方法和电子设备 | |
CN115438244A (zh) | 一种数据库健康度评估方法及装置 | |
CN113239006A (zh) | 日志检测模型的生成方法和装置、日志检测方法和装置 | |
CN115879017A (zh) | 一种电力敏感数据自动化分类分级方法、装置及存储介质 | |
CN116126843A (zh) | 一种数据质量评估方法、装置、电子设备和存储介质 | |
CN108960220B (zh) | 基于状态机模型的信号系统通信数据可靠性分析方法 | |
CN114662772A (zh) | 交通噪音预警方法、模型训练方法、装置、设备及介质 | |
CN105825130A (zh) | 一种信息安全预警方法及装置 | |
CN117151726A (zh) | 故障的修复方法、修复装置、电子设备以及存储介质 | |
CN110991241A (zh) | 异常识别方法、设备及计算机可读介质 | |
US20230034061A1 (en) | Method for managing proper operation of base station and system applying the method | |
CN116185797A (zh) | 预测服务器资源饱和度的方法、装置及存储介质 | |
CN116228312A (zh) | 大额积分兑换行为的处理方法和装置 | |
RU128741U1 (ru) | Система формирования решения проблем функционирования компьютерных систем | |
CN112395167A (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 |