CN109871368B - 数据库检测方法、装置、计算机装置及存储介质 - Google Patents
数据库检测方法、装置、计算机装置及存储介质 Download PDFInfo
- Publication number
- CN109871368B CN109871368B CN201811537744.1A CN201811537744A CN109871368B CN 109871368 B CN109871368 B CN 109871368B CN 201811537744 A CN201811537744 A CN 201811537744A CN 109871368 B CN109871368 B CN 109871368B
- Authority
- CN
- China
- Prior art keywords
- detection
- database
- auxiliary
- value
- basic data
- 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.)
- Active
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据库检测方法,所述数据库检测方法包括:建立检测脚本与至少一待测数据库之间的连接;通过所述检测脚本从所述至少一待测数据库中获取数据库检测基础数据;基于基础数据进行逻辑运算得到检测信息,其中所述检测信息包括辅助结论和辅助信息;展示所述检测信息。本发明还提供一种计算机装置及计算机可读存储介质。所述数据库检测方法能够在数据库运维时对数据库的功能、性能进行测试,能够提供辅助结论及多种辅助信息,便于检测人员查看与分析以进行运营过程优化。
Description
技术领域
本发明涉及数据库检测技术领域,尤其涉及一种数据库检测方法、计算机装置及存储介质。
背景技术
关系型数据库管理系统,例如MySQL,将数据保存在不同的表中,而不是将所有数据放在一起,因此可以提高数据处理速度和灵活性。关系型数据库管理系统,其使用最常用的数据库管理语言--结构化查询语言(Structured Query Language,简称SQL)进行数据库管理。关系型数据库管理系统目前在各行各业得到广泛应用。数据库检测可以帮助用户了解数据库的性能。但是,目前日常以及早班对数据库的检测,基本是通过监控,或者手动查询,而且还需要对查出的数据再次分析加工,浪费时间以及精力。
发明内容
鉴于以上内容,有必要提供一种数据库检测方法、装置、计算机装置及存储介质,能够提供辅助结论及多种辅助信息,便于检测人员查看与进一步分析。
本发明提供一种数据库检测方法,所述方法包括:
当检测到一键启动操作时,建立检测脚本与至少一待测数据库之间的连接;
通过所述检测脚本从所述至少一待测数据库中获取数据库检测的基础数据;
基于所述基础数据进行逻辑运算得到检测信息,其中所述检测信息包括辅助结论和辅助信息;
展示所述检测信息。
在本发明优选实施中,其中,所述通过所述检测脚本从所述至少一待测数据库中获取所述基础数据包括:
运行所述检测脚本,从所述至少一待测数据库的日志表中读取所述基础数据。
在本发明优选实施中,其中,所述基础数据包括SQL语句的基础数据,所述SQL语句的基础数据包括预定指标的当前值和历史值;
所述基于所述基础数据进行逻辑运算得到检测信息包括:根据预设公式计算预定指标的值的变化率,其中,所述预设公式为:变化率=(预定指标的当前值-预定指标的历史值)/预定指标的历史值。
在本发明优选实施中,所述基础数据包括批处理或job的基础数据,所述批处理或job的基础数据包括预定指标的当前值和历史值;所述基于所述基础数据进行逻辑运算得到检测信息包括:根据预设公式计算预定指标的值的变化率,其中,所述预设公式为:变化率=(预定指标的当前值-预定指标的历史值)/预定指标的历史值。
在本发明优选实施中,其中所述辅助信息包括如下数据中的一个或几个:预设指标的当前值、历史值、变化率、变化趋势;所述辅助结论基于所述预设指标的值的变化率确定。
在本发明优选实施中,其中所述展示所述检测信息包括:
将所连接的至少一待测数据库的检测信息整合到一个报表中展现。
一种数据库检测装置,包括:
连接模块,用于当检测到一键启动操作时,建立检测脚本与至少一待测数据库之间的连接;
获取模块,用于通过所述检测脚本从所述至少一待测数据库中获取数据库检测的基础数据;
处理模块,用于基于所述基础数据进行逻辑运算得到检测信息,其中所述检测信息包括辅助结论和辅助信息;
展示模块,用于展示所述检测信息。
在本发明优选实施中,其中所述辅助信息包括如下数据中的一个或几个:预设指标的当前值、历史值、变化率、变化趋势;所述辅助结论基于所述预设指标的值的变化率确定。
本发明还提供一种计算机装置,所述计算机装置包括存储器及处理器,所述存储器用于存储至少一个指令,所述处理器用于执行所述至少一个指令以实现任意实施例中所述的数据库检测方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现任意实施例中所述的数据库检测方法。
由以上技术方案看出,所述数据库检测方法从数据库获取数据库检测基础数据,并基于基础数据进行逻辑运算得到检测信息,所述检测信息提供了辅助结论及多种辅助信息,便于检测人员查看与进一步分析。且所述检测方法维护性和可扩展性强,如果数据库信息发生变更,只需要在检测脚本上更新对应数据库的配置即可。如果有新增数据库需要加入监控范围,只需要在检测上添加配置即可。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是实现本发明的数据库检测方法的实施例的应用环境图。
图2是本发明实施例提供的数据库检测方法的流程图。
图3是本发明实施例提供的数据库检测装置的功能模块图。
图4是本发明实现数据库检测方法的较佳实施例的计算机装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
如图1所示,是实现本发明的数据库检测方法的较佳实施例的应用环境图。所述数据库检测方法应用于计算机装置,所述计算机装置1与至少一数据库2通信连接。所述计算设备1利用检测脚本建立与各数据库2的连接,然后从所述数据库2中获取基础数据后,逻辑处理得出检测信息,并将所述检测信息整合展现。其中所述基础数据包括sql、批处理及job三个维度的信息。
其中对于sql,所述基础数据可包括,但不限于,cup消耗、执行效率、执行时间、执行次数等。所述检测信息是基于所述基础数据进行逻辑处理后得到的,例如,基于SQL的基础数据,其检测信息可包括:cpu 消耗过大以及执行效率降低较大的sql,展示出cpu 消耗,执行时间,执行效率三个指标的当前值、历史值以及上升趋势,并可展示该SQL语句的执行计划是否改变,历史消耗图,执行计划变更历史,sql 语句这些辅助信息,并根据各指标给出一个辅助结论。在一些实施例中,预先设置有多个辅助结论和指标值变化的对应关系,根据获取的指标值确定相对应的辅助结论。
对于批处理和job,所述基础数据可包括,但不限于,批处理或job 的执行次数和执行时间等。所述检测信息是基于所述基础数据进行逻辑处理后得到的,例如,基于批处理或job 的的基础数据,其检测信息可包括:每条批处理或job 的当前和历史同期的执行次数以及执行时间,并给出变化率,按照变化率的高低排序展示,方便找出异常批处理或者job。
在一些实施例中,所述数据库2可为各种类型的数据库,例如Oracle、DB2、Sybase、MS SQL Server、Informax、MySQL等,通常数据库设有日志表,记录所有对数据库的存取操作。在本实施例中,所述数据库2为关系型数据库,可以通过SQL进行数据库管理。针对用户端的每一存取操作,数据库对应有执行计划。数据库的执行计划是数据库服务器在执行查询语句的时候,根据查询效率、时间等确定的执行方案,由若干基本操作组成,例如遍历整张表、利用索引、执行嵌套循环或Hash链接等。执行该执行计划后即可输出与所述查询语句对应的查询结果。所述日志表会记录每一查询语句及其对应的执行计划,每一执行计划的每一个基本操作都被记载在日志表中,从而通过读取日志表即可获取到数据库的基础数据。
如图2所示,为本发明实施例提供的一种数据库检测方法的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
步骤21,基于用户的一键启动操作建立检测脚本与至少一待测数据库之间的连接。
在开始检测前,可预先对检测脚本进行配置,根据数据库连接地址、测试用户名和密码对检测脚本进行设置。所述检测脚本可采用Jmeter脚本或其他类似可用于检测的脚本。数据库2可通过ODBC或JDBC或其他任意适宜的数据库连接进行访问。其中JDBC, 全称为Java DataBase Connectivity standard, 它是一个面向对象的应用程序接口(API), 通过它可访问各类数据库。ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。所述数据库连接地址可为JDBC连接地址或ODBC连接地址。对所述检测脚本的设置还包括将JDBC或ODBC等数据库连接的驱动程序复制在所述检测脚本的脚本库(例如lib库)中。从而,在启动监控时,所述检测脚本可通过所述驱动程序建立与所述数据库2的连接,并通过测试用户名和密码对数据库进行存取访问。
所述检测可基于用户的一键启动操作触发(例如提供一检测按钮,通过触发所述检测按钮启动检测流程),也可依照预定的频率自动执行。对于检测的频率,可根据需要设置,例如每天的固定时刻执行,或者每半天执行一次。为了使得定时检测自动执行,可通过持续集成工具,例如Jenkins平台执行。Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。通过该持续集成工具调用检测脚本,使所述检测脚本自动定时执行检测任务。
步骤22,通过所述检测脚本从所述至少一待测数据库中获取数据库检测基础数据。
对于多个数据库2,可采用统一的检测脚本,也可分别采用不同的检测脚本。在一些场景中,对于多个数据库的共性部分,可以采用统一的检测脚本,而对于数据库2的特性部分,也可针对性配置个性化的检测脚本。所述特性包括但不限于,数据库的不同类型所确定的不同于其他类型数据库的部分特性,例如查询的语句或关键字等。在一些场景中,检测脚本还可以根据用户自定义,例如用户关注点不同,所需要检测的范围也可能不同,不同的用户,允许自定义选择检测范围,根据检测范围决定检测脚本。
所述检测脚本可采用任意适宜的能够连接数据库2,并从数据库2读取基础数据的脚本,例如Jmeter脚本、Shell脚本、Python脚本等。
所述检测脚本可从所述数据库的日志文件中读取所述基础数据,还可以从跟踪文件(SQL_TRACE)、AWR快照文件中读取所述基础数据。SQL——TRACE trace文件主要是追踪后台进程和用户进程所做的事情,其中可获取执行计划及相关统计数据。AWR实质上是Oracle数据库的内置工具,它采集与性能相关的统计数据,并从那些统计数据中导出性能量度,以跟踪潜在的问题。AWR的快照由一个MMON的后台进程及其从进程自动地每小时采集一次。为了节省空间,在Oracle 10g中快照会保留7天,11g的快照保留8天,超过的会自动删除,快照频率和保留时间都可以由用户修改。所需要获取的基础数据类别由用户根据检测需要通过检测脚本自定义设置。
在所述检测脚本与多个数据库2分别建立连接后,所述检测脚本分别从各数据库2读取数据库基础数据。所述检测可基于用户的操作触发(例如提供一检测按钮,通过触发所述检测按钮启动检测流程),也可依照预定的频率自动执行。对于检测的频率,可根据需要设置,例如每天的固定时刻执行,或者每半天执行一次。为了使得定时检测自动执行,可通过持续集成工具,例如Jenkins平台执行。Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。通过该持续集成工具调用检测脚本,使所述检测脚本自动定时执行检测任务。
步骤23,基于所述基础数据进行逻辑运算得到检测信息,其中所述检测信息包括辅助结论和辅助信息
所述检测信息是基于所述基础数据进行逻辑运算处理后得到的,包括用于辅助分析的辅助信息及辅助结论。其中所述辅助信息可包括,但不限于,预设指标的当前值、历史值、变化率、变化趋势、及基于上述变化率确定的辅助结论等。
所述基础数据包括SQL语句的基础数据,所述SQL语句的基础数据包括预定指标的当前值和历史值。所述基于所述基础数据进行逻辑运算得到检测信息包括:根据预设公式计算预定指标的值的变化率,其中,所述预设公式为:变化率=(预定指标的当前值-预定指标的历史值)/预定指标的历史值。其中所述预定指标包括如下中的一个或几个:cup消耗、执行效率、执行时间、执行次数,所述逻辑运算包括根据公式(当前值-历史值)/历史值计算预定指标的值的变化率。依照CPU消耗的当前值进行排序,即可得到消耗排名在前边的几个SQL语句,对于消耗在前的SQL语句,获取其当前消耗值、历史消耗值、执行次数、执行时间等指标值,依照当前CPU消耗值及历史CPU消耗值,进行逻辑运算((当前CPU消耗值-历史CPU消耗值)/历史CPU消耗值)得到CPU消耗变化率及变化趋势,并绘制CPU消耗曲线图。依照该SQL语句的执行时间进行排序,可确定执行时间较长的SQL语句,获取该SQL语句的历史执行时间,通过逻辑运算((当前执行时间-历史执行时间)/历史执行时间)得到该SQL语句的执行时间的变化率及变化趋势,并绘制执行时间变化曲线图。此外,根据SQL语句的当前执行计划及历史执行计划可得到执行计划变更历史。这些检测信息(SQL语句的当前CUP消耗值、历史CUP消耗值、执行次数、执行时间、变化率、变化趋势、执行计划变更历史等)均为检测信息中的辅助信息,根据这些辅助信息及预先设置的判断规则可确定辅助结论。这些判断规则根据有多个辅助结论和指标值变化的对应关系,根据确定相对应的辅助结论。这些判断规则为分析人员根据运维经验而设置的。例如,在一实例中中,对于CPU消耗变化变化率达到预设阈值且执行之间达到预定阈值的SQL语句可确定为异常SQL,需要进行优化。针对这个辅助结论,分析人员可根据辅助信息中的SQL语句及其执行计划进行进一步分析以优化SQL语句。
所述基础数据包括批处理或job的基础数据。所述批处理或job的基础数据包括预定指标的当前值和历史值;所述基于所述基础数据进行逻辑运算得到检测信息包括:根据预设公式计算预定指标的值的变化率,其中,所述预设公式为:变化率=(预定指标的当前值-预定指标的历史值)/预定指标的历史值。批处理是将多条SQL保存在一个扩展名为.bat的文件中,执行该.bat文件即可执行该多条SQL。Job被定义为定期执行特定任务的工作,例如数据库中定时自动执行一些脚本、定时做数据库备份等等。对于批处理和job,所述基础数据可包括,但不限于,批处理或job 的执行次数和执行时间等。基于所述批处理和job的基础数据,同样可以利用逻辑运算(例如(当前指标值-历史指标值)/历史指标值所)得到变化率,依照变化率排序展示,可方便找出异常批处理或者job。同样,基于变化率也可以确定一辅助结论,从而得到包括辅助结论和辅助信息的检测信息。
步骤24中,展示检测信息
所述检测信息可通过人机界面展示在显示装置上,也可通过网络发送至与所述计算机装置1通信连接的终端进行展示。
对于检测信息,可将所连接的多个数据库的检测信息整合到一个报表中展现,从而便于检测人员分析查看。所述检测信息整合在一个报表中,还便于发送给指定开发人员,便于开发人员进行整改修复代码,以完善SQL查询语句的执行计划。所述报表可包括,但不限于数据库的识别代码(例如数据库ID, sid)、查询语句识别代码(例如查询语句ID sql_id)、违反的规则等必要的信息。所述辅助信息可定制性地将部分主要信息展现,而进一步的辅助信息可先隐藏,通过检测信息展示页面提供的展开按钮可触发以展示进一步的详细信息。开发人员可通过辅助信息及辅助结论直接获知问题所在,从而能够快速了解数据库性能及异常,并便于进行进一步的分析。
所述数据库检测方法可一键启动检测流程,从数据库获取数据库检测基础数据,并基于基础数据进行逻辑运算得到检测信息,检测信息包括用于辅助分析的辅助信息及辅助结论。其中所述辅助信息可包括,但不限于,预设指标的当前值、历史值、变化率、变化趋势、统计图表等。所述辅助结论可基于上述辅助信息产生。所述检测信息提供了辅助结论及多种辅助信息,便于检测人员查看与进一步分析。且所述检测方法维护性和可扩展性强,如果数据库信息发生变更,只需要在检测脚本上更新对应数据库的配置即可。如果有新增数据库需要加入监控范围,只需要在检测上添加配置即可。
如图3所示,为本发明实施例提供的数据库检测装置的功能模块图。所述数据库检测装置包括连接模块110、获取模块120、处理模块130及展示模块140。本发明所称的模块是指一种能够被计算机装置的处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在计算机装置的存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
所述连接模块110用于基于用户的一键启动操作建立检测脚本与数据库的连接。
在开始检测前,可预先对检测脚本进行配置,根据数据库连接地址、测试用户名和密码对检测脚本进行设置。所述检测脚本可采用Jmeter脚本或其他类似可用于检测的脚本。数据库2可通过ODBC或JDBC或其他任意适宜的数据库连接进行访问。其中JDBC, 全称为Java DataBase Connectivity standard, 它是一个面向对象的应用程序接口(API), 通过它可访问各类数据库。ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。所述数据库连接地址可为JDBC连接地址或ODBC连接地址。对所述检测脚本的设置还包括将JDBC或ODBC等数据库连接的驱动程序复制在所述检测脚本的脚本库(例如lib库)中。从而,在用户一键启动操作启动监控时,所述检测脚本可通过所述驱动程序建立与所述数据库2的连接,并通过测试用户名和密码对数据库进行存取访问。
所述获取模块120用于通过所述检测脚本从所述至少一待测数据库中获取数据库检测的基础数据。
对于多个数据库2,可采用统一的检测脚本,也可分别采用不同的检测脚本。在一些场景中,对于多个数据库的共性部分,可以采用统一的检测脚本,而对于数据库2的特性部分,也可针对性配置个性化的检测脚本。所述特性包括但不限于,数据库的不同类型所确定的不同于其他类型数据库的部分特性,例如查询的语句或关键字等。在一些场景中,检测脚本还可以根据用户自定义,例如用户关注点不同,所需要检测的范围也可能不同,不同的用户,允许自定义选择检测范围,根据检测范围决定检测脚本。
所述检测脚本可采用任意适宜的能够连接数据库2,并从数据库2读取数据库检测基础数据的脚本,例如Jmeter脚本、Shell脚本、Python脚本等。
所述检测脚本可从所述数据库的日志文件中读取所述基础数据,还可以从跟踪文件(SQL_TRACE)、AWR快照文件中读取所述基础数据。SQL——TRACE trace文件主要是追踪后台进程和用户进程所做的事情,其中可获取执行计划及相关统计数据。AWR实质上是Oracle数据库的内置工具,它采集与性能相关的统计数据,并从那些统计数据中导出性能量度,以跟踪潜在的问题。AWR的快照由一个MMON的后台进程及其从进程自动地每小时采集一次。为了节省空间,在Oracle 10g中快照会保留7天,11g的快照保留8天,超过的会自动删除,快照频率和保留时间都可以由用户修改。所需要获取的基础数据类别由用户根据检测需要通过检测脚本自定义设置。
在所述检测脚本与多个数据库2分别建立连接后,所述检测脚本分别从各数据库2读取数据库基础数据。所述检测可基于用户的一键启动操作触发(例如提供一检测按钮,通过触发所述检测按钮启动检测流程),也可依照预定的频率自动执行。对于检测的频率,可根据需要设置,例如每天的固定时刻执行,或者每半天执行一次。为了使得定时检测自动执行,可通过持续集成工具,例如Jenkins平台执行。Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。通过该持续集成工具调用检测脚本,使所述检测脚本自动定时执行检测任务。
所述处理模块130用于基于所述基础数据进行逻辑运算得到检测信息,其中所述检测信息包括辅助结论和辅助信息
所述检测信息是基于所述基础数据进行逻辑运算处理后得到的,包括用于辅助分析的辅助信息及辅助结论。其中所述辅助信息可包括,但不限于,预设指标值的当前值、历史值、变化率、变化趋势、及基于上述检测信息确定的辅助结论等。
所述基础数据包括SQL语句的基础数据,所述SQL语句的基础数据包括预定指标的当前值和历史值,其中所述预定指标包括如下中的一个或几个:cup消耗、执行效率、执行时间、执行次数,所述逻辑运算包括根据公式(当前值-历史值)/历史值计算预定指标的值的变化率。依照CPU消耗进行排序,即可得到消耗排名在前边的几个SQL语句,对于消耗在前的SQL语句,获取其当前消耗值、历史消耗值、执行次数、执行时间等指标值,依照当前CPU消耗值及历史CPU消耗值,进行逻辑运算((当前CPU消耗值-历史CPU消耗值)/历史CPU消耗值)得到CPU消耗变化率及变化趋势,并绘制CPU消耗曲线图。依照该SQL语句的执行时间进行排序,可确定执行时间较长的SQL语句,获取该SQL语句的历史执行时间,通过逻辑运算((当前执行时间-历史执行时间)/历史执行时间)得到该SQL语句的执行时间的变化率及变化趋势,并绘制执行时间变化曲线图。此外,根据SQL语句的当前执行计划及历史执行计划可得到执行计划变更历史。这些检测信息(SQL语句的当前CUP消耗值、历史CUP消耗值、执行次数、执行时间、变化率、变化趋势、执行计划变更历史等)均为检测信息中的辅助信息,根据这些辅助信息及预先设置的判断规则可确定辅助结论。这些判断规则根据有多个辅助结论和指标值变化的对应关系,根据确定相对应的辅助结论。这些判断规则为分析人员根据运维经验而设置的。例如,在一实例中,对于CPU消耗变化变化率达到预设阈值且执行之间达到预定阈值的SQL语句可确定为异常SQL,需要进行优化。针对这个辅助结论,分析人员可根据辅助信息中的SQL语句及其执行计划进行进一步分析以优化SQL语句。
所述基础数据包括批处理或job的基础数据。批处理是将多条SQL保存在一个扩展名为.bat的文件中,执行该.bat文件即可执行该多条SQL。Job被定义为定期执行特定任务的工作,例如数据库中定时自动执行一些脚本、定时做数据库备份等等。对于批处理和job,所述基础数据可包括,但不限于,批处理或job 的执行次数和执行时间等。基于所述批处理和job的基础数据,同样可以利用逻辑运算(例如(当前指标值-历史指标值)/历史指标值所)得到变化率,依照变化率排序展示,可方便找出异常批处理或者job。同样,基于变化率也可以确定一辅助结论,从而得到包括辅助结论和辅助信息的检测信息。
所述展示模块140用于展示检测信息。
对于检测信息,可将所连接的多个数据库的检测信息整合到一个报表中展现,从而便于检测人员分析查看。所述检测信息整合在一个报表中,还便于发送给指定开发人员,便于开发人员进行整改修复代码,以完善SQL查询语句的执行计划。所述报表可包括,但不限于数据库的识别代码(例如数据库ID, sid)、查询语句识别代码(例如查询语句ID,sql_id)、违反的规则等必要的信息。所述辅助信息可定制性地将部分主要信息展现,而进一步的辅助信息可先隐藏,通过检测信息展示页面提供的展开按钮可触发以展示进一步的详细信息。开发人员可通过辅助信息及辅助结论直接获知问题所在,从而能够快速了解数据库性能及异常,并便于进行进一步的分析。
所述数据库检测方法可一键启动检测流程,从数据库获取数据库检测基础数据,并基于基础数据进行逻辑运算得到检测信息,检测信息包括用于辅助分析的辅助信息及辅助结论。其中所述辅助信息可包括,但不限于,预设指标的当前值、历史值、变化率、变化趋势、统计图表等。所述辅助结论可基于上述辅助信息产生。所述检测信息提供了辅助结论及多种辅助信息,便于检测人员查看与进一步分析。且所述检测方法维护性和可扩展性强,如果数据库信息发生变更,只需要在检测脚本上更新对应数据库的配置即可。如果有新增数据库需要加入监控范围,只需要在检测上添加配置即可。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述数据库检测方法的部分步骤。
如图4所示,是本发明实现数据库检测方法的较佳实施例的计算机装置的结构示意图。所述计算机装置1包括至少一个发送装置11、至少一个存储器12、至少一个处理器13、至少一个接收装置14以及至少一个通信总线。其中,所述通信总线用于实现这些组件之间的连接通信。
所述计算机装置1是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。所述计算机装置1还可包括网络设备和/或用户设备。其中,所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量主机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
所述计算机装置1可以是,但不限于任何一种数据处理能力的电子产品,例如,桌上型计算机、笔记本电脑、服务器等。
所述计算机装置1所处的网络包括,但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
其中,所述接收装置14和所述发送装置11可以是有线发送端口,也可以为无线设备,例如包括天线装置,用于与其他设备进行数据通信。
所述存储器12用于存储程序代码。所述存储器12可以是集成电路中没有实物形式的具有存储功能的电路,如RAM(Random-Access Memory,随机存取存储器)、FIFO(First InFirst Out,)等。或者,所述存储器12也可以是具有实物形式的存储器,如内存条、TF卡(Trans-flash Card)、智能媒体卡(smart media card)、安全数字卡(secure digitalcard)、快闪存储器卡(flash card)等储存设备等等。
所述处理器13可以包括一个或者多个微处理器、数字处理器。所述处理器13可调用存储器12中存储的程序代码以执行相关的功能。例如,图4中所述的各个单元是存储在所述存储器12中的程序代码,并由所述处理器13所执行,以实现一种数据库检测方法。所述处理器13又称中央处理器(CPU,Central Processing Unit),是一块超大规模的集成电路,是运算核心(Core)和控制核心(Control Unit)。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (8)
1.一种数据库检测方法,其特征在于,所述方法包括:
当检测到一键启动操作时,建立检测脚本与至少一待测数据库之间的连接;
通过所述检测脚本从所述至少一待测数据库中获取数据库检测的基础数据;
基于所述基础数据进行逻辑运算得到检测信息,其中所述检测信息包括辅助结论和辅助信息,所述基础数据包括预定指标的当前值和历史值;所述基于所述基础数据进行逻辑运算得到检测信息包括:根据预设公式计算预定指标的值的变化率,所述预设公式为:变化率=(预定指标的当前值-预定指标的历史值)/预定指标的历史值,其中,所述辅助信息至少包括如下数据中的一个或几个:所述预定指标的当前值、历史值、变化率、变化趋势,所述辅助结论基于所述预定指标的值的变化率确定,所述预定指标包括如下中的一个或几个:CPU消耗、执行效率、执行时间、执行次数;
展示所述检测信息。
2.如权利要求1所述的方法,其特征在于,其中,所述通过所述检测脚本从所述至少一待测数据库中获取所述基础数据包括:
运行所述检测脚本,从所述至少一待测数据库的日志表中读取所述基础数据。
3.如权利要求1所述的方法,其特征在于,其中,所述基础数据包括SQL语句的基础数据。
4.如权利要求1所述的方法,其特征在于,所述基础数据包括批处理或job的基础数据。
5.如权利要求1所述的方法,其特征在于,其中所述展示所述检测信息包括:
将所连接的至少一待测数据库的检测信息整合到一个报表中展现。
6.一种数据库检测装置,其特征在于,所述数据库检测装置包括:
连接模块,用于当检测到一键启动操作时,建立检测脚本与至少一待测数据库之间的连接;
获取模块,用于通过所述检测脚本从所述至少一待测数据库中获取数据库检测的基础数据;
处理模块,用于基于所述基础数据进行逻辑运算得到检测信息,其中所述检测信息包括辅助结论和辅助信息,所述基础数据包括预定指标的当前值和历史值;所述基于所述基础数据进行逻辑运算得到检测信息包括:根据预设公式计算预定指标的值的变化率,所述预设公式为:变化率=(预定指标的当前值-预定指标的历史值)/预定指标的历史值,其中,所述辅助信息至少包括如下数据中的一个或几个:所述预定指标的当前值、历史值、变化率、变化趋势,所述辅助结论基于所述预定指标的值的变化率确定,所述预定指标包括如下中的一个或几个:CPU消耗、执行效率、执行时间、执行次数;
展示模块,用于展示所述检测信息。
7.一种计算机装置,其特征在于,所述计算机装置包括存储器及处理器,所述存储器用于存储至少一个指令,所述处理器用于执行所述至少一个指令以实现如权利要求1至5中任一项所述数据库检测方法。
8.一种计算机可读存储介质,其上存储有计算机指令,其特征在于:所述计算机指令被处理器执行时实现如权利要求1至5中任意一项所述数据库检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811537744.1A CN109871368B (zh) | 2018-12-15 | 2018-12-15 | 数据库检测方法、装置、计算机装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811537744.1A CN109871368B (zh) | 2018-12-15 | 2018-12-15 | 数据库检测方法、装置、计算机装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109871368A CN109871368A (zh) | 2019-06-11 |
CN109871368B true CN109871368B (zh) | 2023-07-18 |
Family
ID=66917105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811537744.1A Active CN109871368B (zh) | 2018-12-15 | 2018-12-15 | 数据库检测方法、装置、计算机装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109871368B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110471665A (zh) * | 2019-06-28 | 2019-11-19 | 平安科技(深圳)有限公司 | 脚本文件校验方法、装置、服务器及存储介质 |
CN110489300A (zh) * | 2019-08-20 | 2019-11-22 | 北京市燃气集团有限责任公司 | 备份数据统计方法和装置 |
CN110908668A (zh) * | 2019-11-21 | 2020-03-24 | 深圳市新威尔电子有限公司 | 用于编译电池检测系统脚本程序的编译器 |
CN113138974B (zh) * | 2021-04-23 | 2023-08-22 | 建信金融科技有限责任公司 | 数据库合规检测的方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760286A (zh) * | 2016-02-17 | 2016-07-13 | 中国工商银行股份有限公司 | 应用数据库动态性能检测方法及检测装置 |
CN108009087A (zh) * | 2017-11-29 | 2018-05-08 | 广州品唯软件有限公司 | 数据库测试方法、装置及计算机可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4652741B2 (ja) * | 2004-08-02 | 2011-03-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 異常検出装置、異常検出方法、異常検出プログラム、及び記録媒体 |
US10698963B2 (en) * | 2015-05-26 | 2020-06-30 | Lead Stories, LLC | System and method for monitoring internet activity |
-
2018
- 2018-12-15 CN CN201811537744.1A patent/CN109871368B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760286A (zh) * | 2016-02-17 | 2016-07-13 | 中国工商银行股份有限公司 | 应用数据库动态性能检测方法及检测装置 |
CN108009087A (zh) * | 2017-11-29 | 2018-05-08 | 广州品唯软件有限公司 | 数据库测试方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109871368A (zh) | 2019-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109871368B (zh) | 数据库检测方法、装置、计算机装置及存储介质 | |
US11409645B1 (en) | Intermittent failure metrics in technological processes | |
US20190220389A1 (en) | Orchestrating and providing a regression test | |
CN109558746B (zh) | 数据脱敏方法、装置、电子设备及存储介质 | |
EP3734520A1 (en) | Fault analysis and prediction using empirical architecture analytics | |
WO2014089190A1 (en) | Integrating event processing with map-reduce | |
WO2016008398A1 (zh) | 程序性能测试方法和装置 | |
CN111522728A (zh) | 自动化测试用例的生成方法、电子设备及可读存储介质 | |
EP3671468A1 (en) | Cloud-based platform instrumentation and monitoring system for maintenance of user-configured programs | |
US9706005B2 (en) | Providing automatable units for infrastructure support | |
CN110580220B (zh) | 测量代码段执行时间的方法及终端设备 | |
CN111737148A (zh) | 自动回归测试方法、装置、计算机设备及存储介质 | |
CN114185791A (zh) | 一种数据映射文件的测试方法、装置、设备及存储介质 | |
CN111026574B (zh) | 诊断Elasticsearch集群问题的方法及装置 | |
CN110543418B (zh) | 一种数据库性能测试方法、系统及存储介质 | |
CN112835779A (zh) | 测试用例确定方法、装置、计算机设备 | |
CN107273293B (zh) | 大数据系统性能测试方法、装置及电子设备 | |
CN113238901B (zh) | 多设备的自动化测试方法及装置、存储介质、计算机设备 | |
CN115437961A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN109828983B (zh) | Pg数据库处理方法、装置、电子设备及存储介质 | |
WO2019062087A1 (zh) | 考勤数据测试方法、终端、设备以及计算机可读存储介质 | |
CN114896418A (zh) | 知识图谱构建方法、装置、电子设备及存储介质 | |
CN113656318A (zh) | 软件版本测试方法、装置及计算机设备 | |
CN113079046A (zh) | 数据接入方法及装置、电子设备和介质 | |
CN109697141B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |