CN109344166B - 数据库的监控方法、计算机可读存储介质和终端设备 - Google Patents
数据库的监控方法、计算机可读存储介质和终端设备 Download PDFInfo
- Publication number
- CN109344166B CN109344166B CN201810924233.9A CN201810924233A CN109344166B CN 109344166 B CN109344166 B CN 109344166B CN 201810924233 A CN201810924233 A CN 201810924233A CN 109344166 B CN109344166 B CN 109344166B
- Authority
- CN
- China
- Prior art keywords
- query
- mode
- data
- information
- full
- 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
Images
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
技术领域
本发明涉及数据库技术领域,尤其涉及一种数据库的监控方法、计算机可读存储介质和终端设备。
背景技术
现有的保险种类繁多,且每类保险对应着多个保单表,大量的保单表组成数据表存储在数据库中,且数据库是对多个系统开放的,这些系统共享使用数据库中存储的数据表,当各个系统在该数据库中查询数据时,全表扫描与隐式转换这两种情况会对数据库的性能造成影响,是有风险的,同时会消耗大量的时间和资源,现有技术中无法针对全表扫描与隐式转换这两种查询方式进行监控,进而无法监控查询操作对数据库性能的影响。
发明内容
有鉴于此,本发明实施例提供了一种数据库的监控方法、计算机可读存储介质和终端设备,能够针对全表扫描与隐式转换这两种查询方式进行监控,监控查询操作对数据库性能的影响。
本发明实施例的第一方面,提供了一种数据库的监控方法,可以包括:
接收查询指令,获取所述查询指令对应的查询方式;
根据所述查询方式生成反馈信息,所述反馈信息包括风险评估信息,所述风险评估信息用于表示当通过所述查询方式查询数据库时对所述数据库造成的性能影响;
将所述反馈信息发送至发出所述查询指令的系统,所述反馈信息被所述系统显示以使所述系统的用户确定是否变更所述查询方式;
接收所述系统发送的答复信息,根据所述答复信息,判断是否禁止所述系统对数据库的查询操作。
本发明实施例的第二方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
接收查询指令,获取所述查询指令对应的查询方式;
根据所述查询方式生成反馈信息,所述反馈信息包括风险评估信息,所述风险评估信息用于表示当通过所述查询方式查询数据库时对所述数据库造成的性能影响;
将所述反馈信息发送至发出所述查询指令的系统,所述反馈信息被所述系统显示以使所述系统的用户确定是否变更所述查询方式;
接收所述系统发送的答复信息,根据所述答复信息,判断是否禁止所述系统对数据库的查询操作。
本发明实施例的第三方面,提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
接收查询指令,获取所述查询指令对应的查询方式;
根据所述查询方式生成反馈信息,所述反馈信息包括风险评估信息,所述风险评估信息用于表示当通过所述查询方式查询数据库时对所述数据库造成的性能影响;
将所述反馈信息发送至发出所述查询指令的系统,所述反馈信息被所述系统显示以使所述系统的用户确定是否变更所述查询方式;
接收所述系统发送的答复信息,根据所述答复信息,判断是否禁止所述系统对数据库的查询操作。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例首先接收查询指令,获取所述查询指令对应的查询方式,然后根据所述查询方式生成反馈信息,所述反馈信息包括风险评估信息,所述风险评估信息用于表示当通过所述查询方式查询数据库时对所述数据库造成的性能影响,能够实现对所述查询方式的监控及监控所述查询方式对所述数据库造成的性能影响,再将所述反馈信息发送至发出所述查询指令的系统,所述反馈信息被所述系统显示以使所述系统的用户确定是否变更所述查询方式,这样,可以通过所述反馈信息通知用户所述查询方式存在的风险,最后接收所述系统发送的答复信息,根据所述答复信息,判断是否禁止所述系统对数据库的查询操作,用以保证对数据库性能的影响降低。与现有技术相比,本发明实施中通过对查询方式的监控,获取所述查询方式存在的风险及接收所述系统发送的答复信息,能够实现降低所述查询方式会对数据库性能造成的影响。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种数据库的监控方法的一个实施例流程图;
图2为本发明实施例若所述查询方式为全表扫描方式,根据所述查询方式生成反馈信息的示意流程图;
图3为本发明实施例若所述查询方式为隐式转换方式,根据所述查询方式生成反馈信息的示意流程图;
图4为本发明实施例中一种数据库的监控装置的一个实施例结构图;
图5为本发明实施例中一种终端设备的示意框图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例中一种数据库的监控方法的一个实施例可以包括:
步骤S101,接收查询指令,获取所述查询指令对应的查询方式。
所述查询指令可以为SQL查询指令,所述查询指令中可以包括查询数据库中的数据信息,所述数据库中可以包括多个数据表,所述数据信息可以包括:所查询的数据表对应的数据表标识或所查询的数据及所述数据的数据类型,所述数据表中可以包括所述数据表占用的内存及数据表中的数据类型,所述查询方式可以包括全表扫描方式或隐式转换方式。在本实施例中,通过接收所述查询指令,获取所述查询指令中的数据信息,根据所述数据信息,获取所述查询指令对应的查询方式。
在本实施例中,可以将所述数据库中的数据表进行归类并标识,所述数据表可以为保单表,对所述数据表的归类可以根据可供查询数据库的系统查询的保单表对应的保险种类进行归类,其中,所述可供查询数据库的系统可以为客户端查询软件系统。具体地,根据所述保险种类将数据表分为数据表1、数据表2、…、数据表i、…、数据表N,其中,每类数据表中可以包括多个数据表,例如,数据表1中可以包括数据表11、数据表12、…、数据表1i、…、数据表1n1,n1表示数据表1中的数据表数目,数据表2中可以包括数据表21、数据表22、…、数据表2i、…、数据表2n2,n2表示数据表2中的数据表数目,…,数据表i中可以包括数据表i1、数据表i2、…、数据表ii、…、数据表2ni,ni表示数据表i中的数据表数目,…,数据表N中可以包括数据表N1、数据表N2、…、数据表Ni、…、数据表NnN,其中,i=1,2,…,N;其中,至少一类数据表对应着一个可供查询数据库的系统,例如,数据表1只可供系统1使用数据库查询,数据表2只可供系统2使用数据库查询,…,数据表i只可供系统i使用数据库查询,…,数据表N只可供系统N使用数据库查询;或是数据表1、数据表2只可供系统1使用数据库查询,…。在接收所述SQL查询指令后,根据所述SQL查询指令中的数据信息,确定要查询的数据表,获取所述查询指令对应的查询方式,若所述数据信息中要查询的数据表对应的数据表标识为数据表i,则获取查询指令中查询数据表i的查询方式。
优选地,在本实施例中,所述步骤S101中获取所述查询指令对应的查询方式,可以包括:
若所述查询指令指示的查询对象为数据表时,则获取所述数据表占用的内存,若所述数据表占用的内存大于预设阈值,则将全表扫描方式确定为所述查询指令对应的查询方式;若所述查询指令指示的查询对象为数据时,则判断所述数据的数据类型与数据表中的数据类型是否一致,若不一致,则将隐式转换方式确定为所述查询指令对应的查询方式。
根据所述查询指令中的数据信息,确定指示的查询对象,所述查询对象可以为数据表或数据,若所述数据信息中包括所查询的数据表对应的数据表标识时,则确定指示的查询对象为数据表,并根据所述数据表标识获取所述数据表占用的内存,并判断所述数据表占用的内存是否大于预设阈值,若大于,则确定所述查询方式为全表扫描方式。若所述数据信息中包括所查询的数据及所述数据对应的数据类型时,则确定指示的查询对象为数据,根据所述数据的数据类型,判断所述数据的数据类型与数据表中的数据类型是否一致,若不一致,则将隐式转换方式确定为所述查询指令对应的查询方式。其中,所述数据可以分别在多个数据表中,例如,所查询的数据是保单的绩效,则不同的保险种类都可以有对应的绩效,所述绩效可以存储在对应的保单表,即存储在数据表中,如数据表1、数据表2中都存储有所述绩效,若所查询的数据是所述绩效时,则获取存储有所述绩效的所有数据表,即数据表1和数据表2,并将所述数据的数据类型与存储有所述绩效的所有数据表的数据类型进行一一比对,若有不一致,则确定所述查询方式为隐式转换方式。
步骤S102,根据所述查询方式生成反馈信息,所述反馈信息包括风险评估信息,所述风险评估信息用于表示当通过所述查询方式查询数据库时对所述数据库造成的性能影响。
本实施例中,所述反馈信息是根据所述查询方式对数据库可能带来的风险大小生成的,例如,所述全表扫描方式是对数据表中所有的数据进行逐个扫描,在对整个数据表扫描时,若数据表占用的内存超过预设阈值时,需要耗费大量的资源和时间,所述隐式转换方式是对所查询的数据的数据类型与数据库中数据表的数据类型不一致时进行转换,如所查询的数据是字符型,数据表中的数据是浮点型,两种数据类型需要进行转换才能实现数据的查询,需要耗费大量的资源和时间,这两种情况可以根据所述查询方式耗费时间的大小对所述数据库造成的性能影响生成风险评估信息。
优选地,若所述查询方式为全表扫描方式,则步骤S102中根据所述查询方式生成反馈信息,可以包括如图2所示的步骤:
步骤S201,将查询的每个数据表占用的内存与预设阈值作差值,并获取差值之和;
步骤S202,将所述差值之和作为全表扫描方式的第一输入变量,将查询的所有数据表的个数作为全表扫描方式的第二输入变量,将扫描总时长作为全表扫描方式的输出变量,建立全表扫描方式对应的模糊控制规则表;
步骤S203,根据所述全表扫描方式对应的模糊控制规则表及所述全表扫描方式的第一输入变量和所述全表扫描方式的第二输入变量,获取所述全表扫描方式的输出变量,生成全表扫描的风险评估信息,所述全表扫描的风险评估信息包括所述扫描总时长及所述扫描总时长对数据库性能的影响信息;
步骤S204,根据所述全表扫描的风险评估信息,判断是否向用户确认所述查询方式,并获取判断的第一结果;
步骤S205,根据所述全表扫描的风险评估信息和第一结果,生成反馈信息。
具体地,本发明采用“if Aand B then C”型模糊推理方法,模糊规则是“最大—最小”规则。对于本发明所采用的双输入单输出的模糊控制器,则所有所述控制规则对应的模糊关系可表示为:Rij=Ai×Bj×Cij(i=1,...,7;j=1,...,7)。其中,Ai、Bi、Ci分别表示所选取的模糊语言变量。例如Ai表示第一输入变量的模糊语言变量,Bi表示第二输入变量的模糊语言变量,Ci表示输出变量的模糊语言变量。
由所述模糊关系可得到输出的模糊量即输出变量,通过解模糊计算,采用加权平均法得到所述模糊控制器需要的清晰值,所述加权平均法,表达式如下:
其中,z0表示得到的清晰值;zi是输出变量;uc(zi)表示模糊子集的隶属度。
选取所述差值之和的基本论域为[0,第一阈值],所述差值之和的模糊论域为{0,第一阈值/M1,第一阈值*2/M1,…,第一阈值*i/M1,…,第一阈值},所述差值之和的模糊子集为NS(非常小)、VS(很小)、S(小)、Z(中等)、B(大)、VB(很大)、NB(非常大);选取所述全表扫描方式对应的查询所有数据表的个数的基本论域为[0,第二阈值],所述全表扫描方式对应的查询所有数据表的个数的模糊论域为{0,第二阈值/M2,第二阈值*2/M2,…,第二阈值*j/M2,…,第二阈值},所述全表扫描方式对应的查询所有数据表的个数的模糊子集分别为NS(非常小)、VS(很小)、S(小)、Z(中等)、M(大)、VM(很大)、NM(非常大);选取所述扫描总时长的基本论域为[0,第三阈值],所述扫描总时长的模糊论域为{0,第三阈值/M3,第三阈值*2/M3,…,第三阈值*k/M3,…,第三阈值},扫描总时长的模糊语言变量为NS(非常小)、VS(很小)、S(小)、Z(中等)、L(长)、VL(很长)、NL(非常长),其中,选取量化因子为1。
选取全表扫描方式的第一输入变量、全表扫描方式的第二输入变量及全表扫描方式的输出变量的隶属度函数为三角形函数,根据差值之和的模糊子集、全表扫描方式对应的查询所有数据表的个数的模糊子集、扫描总时长的模糊语言变量及所述三角形函数,建立全表扫描方式对应的模糊控制规则表,其中,i,j,k均为自然数。
所述全表扫描方式的第一输入变量用Qr表示,所述全表扫描方式的第二输入变量用Qs表示,所述全表扫描方式的输出变量用T表示,则所述全表扫描方式对应的模糊控制规则表可以为:
根据所述全表扫描方式对应的模糊控制规则表可知,差值之和越大、数据表的个数越多,则扫描总时长就越长,浪费的时间和资源就越多,则对数据库的性能的影响就越大。其中,所述全表扫描的风险评估信息包括所述扫描总时长及对数据库的性能的影响分析,例如,若扫描总时长对应的规则表中为NL时,说明扫描总时长非常长,则对数据库的性能的影响非常大,其中,所述扫描总时长非常长及对数据库的性能的影响非常大作为所述全表扫描的风险评估信息,根据所述全表扫描的风险评估信息,判断是否向用户确认所述查询方式,确认所述查询方式的正确性,并获取判断的第一结果,则生成的所述反馈信息中可以包括所述全表扫描的风险评估信息及所述第一结果,其中,所述第一结果为向用户确认所述查询方式的正确性或不向用户确认所述查询方式的正确性。其中,若扫描总时长对应的规则表中为L(长)、VL(很长)、NL(非常长)中任意一个时,则生成的所述反馈信息中包括的第一结果为向用户确认所述查询方式的正确性。
优选地,若所述查询方式为隐式转换方式,则步骤S102中根据所述查询方式生成反馈信息,还可以包括如图3所示的步骤:
步骤S301,将查询的所有数据的数据类型与数据表中的数据类型之间的转换时长之和作为隐式转换方式的第一输入变量,将查询的所有数据对应的数据表的个数作为隐式转换方式的第二输入变量,将查询总时长作为隐式转换方式的输出变量,建立隐式转换方式对应的模糊控制规则表;
步骤S302,根据所述隐式转换方式对应的模糊控制规则表及所述隐式转换方式的第一输入变量和所述隐式转换方式的第二输入变量,获取所述隐式转换方式的输出变量,生成隐式转换的风险评估信息,所述隐式转换的风险评估信息包括所述查询总时长及所述查询总时长对数据库性能的影响信息;
步骤S303,根据所述隐式转换的风险评估信息,判断是否向用户确认所述查询方式,并获取判断的第二结果;
步骤S304,根据所述隐式转换的风险评估信息和第二结果,生成反馈信息。
具体地,选取所述数据类型转换时长之和的基本论域为[0,第四阈值],所述数据类型转换时长之和的模糊论域为{0,第四阈值/M4,第四阈值*2/M4,…,第四阈值*l/M4,…,第四阈值},所述数据类型转换时长之和的模糊子集为VS(很小)、S(小)、Z(中等)、L(长)、VL(很长);选取所述隐式转换方式对应的查询的所有的数据表的个数的基本论域为[0,第五阈值],所述隐式转换方式对应的查询的所有的数据表的个数的模糊论域为{0,第五阈值/M5,第五阈值*2/M5,…,第五阈值*m/M5,…,第五阈值},所述隐式转换方式对应的查询的所有的数据表的个数的模糊子集分别为VS(很小)、S(小)、Z(中等)、M(大)、VM(很大);所述查询总时长的基本论域为[0,第六阈值],查询总时长的模糊论域为{0,第六阈值/M6,第六阈值*2/M6,…,第六阈值*n/M6,…,第六阈值},所述查询总时长的模糊语言变量为VS(很小)、S(小)、Z(中等)、L(长)、VL(很长);选取所述隐式转换方式的第一输入变量、隐式转换方式的第二输入变量及隐式转换方式的输出变量的隶属度函数为所述三角形函数;根据数据类型转换时长之和的模糊子集、隐式转换方式对应的查询所有数据表的个数的模糊子集、查询总时长的模糊语言变量及所述三角形函数,建立隐式转换方式对应的模糊控制规则表;其中,l,m,n均为自然数。
所述隐式转换方式的第一输入变量用K表示,所述隐式转换方式的第二输入变量用S表示,所述隐式转换方式的输出变量用R表示,则所述隐式转换方式对应的模糊控制规则表可以为:
根据所述隐式转换方式对应的模糊控制规则表可知,数据类型转换时长之和越大、数据表的个数越多,则查询总时长就越长,浪费的时间和资源就越多,则对数据库的性能的影响就越大。其中,所述隐式转换的风险评估信息包括所述查询总时长及对数据库的性能的影响分析,例如,若查询总时长对应的规则表中为VL时,说明查询总时长很长,则对数据库的性能的影响很大,其中,所述查询总时长很长及对数据库的性能的影响很大作为所述隐式转换的风险评估信息,根据所述隐式转换的风险评估信息,判断是否向用户确认所述查询方式,确认所述查询方式的正确性,并获取判断的第二结果,则生成的所述反馈信息中可以包括所述隐式转换的风险评估信息及所述第二结果,其中,所述第二结果为向用户确认所述查询方式的正确性或不向用户确认所述查询方式的正确性。若查询总时长对应的规则表中为L(长)、VL(很长)中任意一个时,则生成的反馈信息中包括的第二结果为向用户确认所述查询方式的正确性。
优选地,在步骤S102中的将所述反馈信息发送至发出所述查询指令的所述系统之前,还可以包括:
若所述查询指令中携带有系统标识,则根据所述系统标识确定发出所述查询指令的系统;若所述查询指令中携带有用户信息,则获取与所述用户信息匹配的系统,所述用户信息包括系统注册账号信息;或者,获取所述查询指令所查询的数据表中的数据类型,确定与所述数据表中的数据类型匹配的系统。
本实施例中,所述查询指令中可以携带有系统标识或用户信息,可以根据所述系统标识或用户信息,确定发出所述查询指令的系统。若所述查询指令中携带有系统标识时,则根据所述系统标识获取在数据库中查询的系统。若所述查询指令中携带有用户信息时,则获取所述用户信息中的系统注册账号信息,获取与所述账号信息匹配的系统,例如,使用系统i的用户在登录或注册时,需要填写与所述系统i登录或注册界面对应的账号信息,则账号信息就与所述系统i形成了对应关系,即携带所述账号信息的用户使用的就是所述系统i。
还可以根据所述查询指令,获取所述数据信息中的数据表标识,根据所述数据表标识获取所查询的数据表中的数据类型,由于至少一类数据表对应着一个可供查询数据库的系统,即每类数据表都有对应的一个系统,因此,根据所查询的所述数据表中的数据类型可以确定发出所述查询指令的系统。
步骤S103,将所述反馈信息发送至发出所述查询指令的系统,所述反馈信息被所述系统显示以使所述系统的用户确定是否变更所述查询方式。
本实施例中,所述反馈信息中可以携带发出所述查询指令的系统标识,在生成所述反馈信息后,将所述反馈信息发送至所述系统标识对应的系统,并将所述反馈信息显示给使用所述系统的用户,以使所述用户根据所述反馈信息进行答复,确定是否变更所述查询方式。
步骤S104,接收所述系统发送的答复信息,根据所述答复信息,判断是否禁止所述系统对数据库的查询操作。
本实施例中,接收所述系统发送的所述答复信息,若向用户发送的反馈信息中包括向用户确认所述查询方式是否为正确的,则接收到的所述答复信息中包括确认所述查询方式是正确的或确认所述查询方式是不正确的,若所述答复信息中包括确认所述查询方式是正确的,则所述查询方式被建议暂停,以使用户执行更优的查询方式。若根据所述查询方式生成的反馈信息可以确定所述查询方式会对所述数据库性能造成影响,且所述回复信息中包括确认所述查询方式是正确的且不变更所述查询方式,则禁止发送所述查询指令的系统对数据库的查询操作。
综上所述,本发明实施例首先接收查询指令,获取所述查询指令对应的查询方式,然后根据所述查询方式生成反馈信息,所述反馈信息包括风险评估信息,所述风险评估信息用于表示当通过所述查询方式查询数据库时对所述数据库造成的性能影响,能够实现对所述查询方式的监控及监控所述查询方式对所述数据库造成的性能影响,再将所述反馈信息发送至发出所述查询指令的系统,所述反馈信息被所述系统显示以使所述系统的用户确定是否变更所述查询方式,这样,可以通过所述反馈信息通知用户所述查询方式存在的风险,最后接收所述系统发送的答复信息,根据所述答复信息,判断是否禁止所述系统对数据库的查询操作,用以保证对数据库性能的影响降低。与现有技术相比,本发明实施中通过对查询方式的监控及对发送所述查询指令的系统的确定,自动联系对应的处理人(用户)跟进,即将风险评估信息反馈给使用系统的用户,以使用户可以跟进查询,选择更优方式查询,通过对全表扫描方式和隐式转换方式这两种情况监控,获取所述查询方式存在的风险及接收所述系统发送的答复信息,使得系统在数据库中查询时,可以有效地保证对数据库性能的影响降低,节省手工人力投入及节约分析成本。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的一种数据库的监控方法,图4示出了本发明实施例提供的一种数据库的监控装置的一个实施例结构图。
本实施例中,一种数据库的监控装置可以包括:
查询方式获取模块401,用于接收查询指令,获取所述查询指令对应的查询方式;
反馈信息生成模块402,用于根据所述查询方式生成反馈信息,所述反馈信息包括风险评估信息,所述风险评估信息用于表示当通过所述查询方式查询数据库时对所述数据库造成的性能影响;
反馈信息发送模块403,用于将所述反馈信息发送至发出所述查询指令的系统,所述反馈信息被所述系统显示以使所述系统的用户确定是否变更所述查询方式;
答复信息接收模块404,用于接收所述系统发送的答复信息,根据所述答复信息,判断是否禁止所述系统对数据库的查询操作。
进一步地,所述查询方式获取模块401,具体用于:在所述查询指令指示的查询对象为数据表时,获取所述数据表占用的内存,若所述数据表占用的内存大于预设阈值,则将全表扫描方式确定为所述查询指令对应的查询方式;
在所述查询指令指示的查询对象为数据时,判断所述数据的数据类型与数据表中的数据类型是否一致,若不一致,则将隐式转换方式确定为所述查询指令对应的查询方式。
优选地,所述数据库的监控装置,还可以包括:系统确定模块,用于在所述将所述反馈信息发送至发出所述查询指令的所述系统之前,若所述查询指令中携带有系统标识,则根据所述系统标识确定发出所述查询指令的系统;
若所述查询指令中携带有用户信息,则获取与所述用户信息匹配的系统,所述用户信息包括系统注册账号信息;或者,
获取所述查询指令所查询的数据表中的数据类型,确定与所述数据表中的数据类型匹配的系统。
优选地,若所述查询方式为全表扫描方式,所述反馈信息生成模块,可以包括:
差值单元,用于将查询的每个数据表占用的内存与预设阈值作差值,并获取差值之和;
第一模糊控制规则表建立单元,用于将所述差值之和作为全表扫描方式的第一输入变量,将查询的所有数据表的个数作为全表扫描方式的第二输入变量,将扫描总时长作为全表扫描方式的输出变量,建立全表扫描方式对应的模糊控制规则表;
第一风险评估信息生成单元,用于根据所述全表扫描方式对应的模糊控制规则表及所述全表扫描方式的第一输入变量和所述全表扫描方式的第二输入变量,获取所述全表扫描方式的输出变量,生成全表扫描的风险评估信息,所述全表扫描的风险评估信息包括所述扫描总时长及所述扫描总时长对数据库性能的影响信息;
第一判断单元,用于根据所述全表扫描的风险评估信息,判断是否向用户确认所述查询方式,并获取判断的第一结果;
第一反馈信息生成单元,用于根据所述全表扫描的风险评估信息和第一结果,生成反馈信息。
若所述查询方式为隐式转换方式,则所述生成反馈信息模块,可以包括:
第二模糊控制规则表建立单元,用于将查询的所有数据的数据类型与数据表中的数据类型之间的转换时长之和作为隐式转换方式的第一输入变量,将查询的所有数据对应的数据表的个数作为隐式转换方式的第二输入变量,将查询总时长作为隐式转换方式的输出变量,建立隐式转换方式对应的模糊控制规则表;
第二风险评估信息生成单元,根据所述隐式转换方式对应的模糊控制规则表及所述隐式转换方式的第一输入变量和所述隐式转换方式的第二输入变量,获取所述隐式转换方式的输出变量,生成隐式转换的风险评估信息,所述隐式转换的风险评估信息包括所述查询总时长及所述查询总时长对数据库性能的影响信息;
第二判断单元,用于根据所述隐式转换的风险评估信息,判断是否向用户确认所述查询方式,并获取判断的第二结果;
第二反馈信息生成单元,用于根据所述隐式转换的风险评估信息和第二结果,生成反馈信息。
图5示出了本发明实施例提供的一种终端设备的示意框图,为了便于说明,仅示出了与本发明实施例相关的部分。
在本实施例中,所述终端设备5包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序52,例如执行上述的数据库的监控方法的计算机程序。所述处理器50执行所述计算机程序52时实现上述各个数据库的监控方法实施例中的步骤,例如图1所示的步骤S101至S104。或者,所述处理器50执行所述计算机程序52时实现上述各装置实施例中各模块/单元的功能,例如图4所示模块401至404的功能。
示例性的,所述计算机程序52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述处理器50执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序52在所述终端设备5中的执行过程。
所述终端设备5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是终端设备5的示例,并不构成对终端设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所述处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51可以是所述终端设备5的内部存储单元,例如终端设备5的硬盘或内存。所述存储器51也可以是所述终端设备5的外部存储设备,例如所述终端设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述终端设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (4)
1.一种数据库的监控方法,其特征在于,包括:
接收查询指令,获取所述查询指令对应的查询方式;
根据所述查询方式生成反馈信息,所述反馈信息包括风险评估信息,所述风险评估信息用于表示当通过所述查询方式查询数据库时对所述数据库造成的性能影响;
将所述反馈信息发送至发出所述查询指令的系统,所述反馈信息被所述系统显示以使所述系统的用户确定是否变更所述查询方式;
接收所述系统发送的答复信息,根据所述答复信息,判断是否禁止所述系统对数据库的查询操作;
所述获取所述查询指令对应的查询方式,包括:
若所述查询指令指示的查询对象为数据表时,则获取所述数据表占用的内存,若所述数据表占用的内存大于预设阈值,则将全表扫描方式确定为所述查询指令对应的查询方式;
若所述查询指令指示的查询对象为数据时,则判断所述数据的数据类型与数据表中的数据类型是否一致,若不一致,则将隐式转换方式确定为所述查询指令对应的查询方式;
若所述查询方式为全表扫描方式,所述根据所述查询方式生成反馈信息,包括:
将查询的每个数据表占用的内存与预设阈值作差值,并获取差值之和;
将所述差值之和作为全表扫描方式的第一输入变量,将查询的所有数据表的个数作为全表扫描方式的第二输入变量,将扫描总时长作为全表扫描方式的输出变量,建立全表扫描方式对应的模糊控制规则表;
根据所述全表扫描方式对应的模糊控制规则表及所述全表扫描方式的第一输入变量和所述全表扫描方式的第二输入变量,获取所述全表扫描方式的输出变量,生成全表扫描的风险评估信息,所述全表扫描的风险评估信息包括所述扫描总时长及所述扫描总时长对数据库性能的影响信息;
根据所述全表扫描的风险评估信息,判断是否向用户确认所述查询方式,并获取判断的第一结果;
根据所述全表扫描的风险评估信息和第一结果,生成反馈信息;
若所述查询方式为隐式转换方式,所述根据所述查询方式生成反馈信息,包括:
将查询的所有数据的数据类型与数据表中的数据类型之间的转换时长之和作为隐式转换方式的第一输入变量,将查询的所有数据对应的数据表的个数作为隐式转换方式的第二输入变量,将查询总时长作为隐式转换方式的输出变量,建立隐式转换方式对应的模糊控制规则表;
根据所述隐式转换方式对应的模糊控制规则表及所述隐式转换方式的第一输入变量和所述隐式转换方式的第二输入变量,获取所述隐式转换方式的输出变量,生成隐式转换的风险评估信息,所述隐式转换的风险评估信息包括所述查询总时长及所述查询总时长对数据库性能的影响信息;
根据所述隐式转换的风险评估信息,判断是否向用户确认所述查询方式,并获取判断的第二结果;
根据所述隐式转换的风险评估信息和第二结果,生成反馈信息。
2.根据权利要求1所述的数据库的监控方法,其特征在于,在所述将所述反馈信息发送至发出所述查询指令的所述系统之前,还包括:
若所述查询指令中携带有系统标识,则根据所述系统标识确定发出所述查询指令的系统;
若所述查询指令中携带有用户信息,则获取与所述用户信息匹配的系统,所述用户信息包括系统注册账号信息;或者,
获取所述查询指令所查询的数据表中的数据类型,确定与所述数据表中的数据类型匹配的系统。
3.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至2中任一项所述数据库的监控方法的步骤。
4.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如下步骤:
接收查询指令,获取所述查询指令对应的查询方式;
根据所述查询方式生成反馈信息,所述反馈信息包括风险评估信息,所述风险评估信息用于表示当通过所述查询方式查询数据库时对所述数据库造成的性能影响;
将所述反馈信息发送至发出所述查询指令的系统,所述反馈信息被所述系统显示以使所述系统的用户确定是否变更所述查询方式;
接收所述系统发送的答复信息,根据所述答复信息,判断是否禁止所述系统对数据库的查询操作;
所述获取所述查询指令对应的查询方式,包括:
若所述查询指令指示的查询对象为数据表时,则获取所述数据表占用的内存,若所述数据表占用的内存大于预设阈值,则将全表扫描方式确定为所述查询指令对应的查询方式;
若所述查询指令指示的查询对象为数据时,则判断所述数据的数据类型与数据表中的数据类型是否一致,若不一致,则将隐式转换方式确定为所述查询指令对应的查询方式;
若所述查询方式为全表扫描方式,所述根据所述查询方式生成反馈信息,包括:
将查询的每个数据表占用的内存与预设阈值作差值,并获取差值之和;
将所述差值之和作为全表扫描方式的第一输入变量,将查询的所有数据表的个数作为全表扫描方式的第二输入变量,将扫描总时长作为全表扫描方式的输出变量,建立全表扫描方式对应的模糊控制规则表;
根据所述全表扫描方式对应的模糊控制规则表及所述全表扫描方式的第一输入变量和所述全表扫描方式的第二输入变量,获取所述全表扫描方式的输出变量,生成全表扫描的风险评估信息,所述全表扫描的风险评估信息包括所述扫描总时长及所述扫描总时长对数据库性能的影响信息;
根据所述全表扫描的风险评估信息,判断是否向用户确认所述查询方式,并获取判断的第一结果;
根据所述全表扫描的风险评估信息和第一结果,生成反馈信息;
若所述查询方式为隐式转换方式,所述根据所述查询方式生成反馈信息,包括:
将查询的所有数据的数据类型与数据表中的数据类型之间的转换时长之和作为隐式转换方式的第一输入变量,将查询的所有数据对应的数据表的个数作为隐式转换方式的第二输入变量,将查询总时长作为隐式转换方式的输出变量,建立隐式转换方式对应的模糊控制规则表;
根据所述隐式转换方式对应的模糊控制规则表及所述隐式转换方式的第一输入变量和所述隐式转换方式的第二输入变量,获取所述隐式转换方式的输出变量,生成隐式转换的风险评估信息,所述隐式转换的风险评估信息包括所述查询总时长及所述查询总时长对数据库性能的影响信息;
根据所述隐式转换的风险评估信息,判断是否向用户确认所述查询方式,并获取判断的第二结果;
根据所述隐式转换的风险评估信息和第二结果,生成反馈信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810924233.9A CN109344166B (zh) | 2018-08-14 | 2018-08-14 | 数据库的监控方法、计算机可读存储介质和终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810924233.9A CN109344166B (zh) | 2018-08-14 | 2018-08-14 | 数据库的监控方法、计算机可读存储介质和终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109344166A CN109344166A (zh) | 2019-02-15 |
CN109344166B true CN109344166B (zh) | 2023-06-09 |
Family
ID=65296969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810924233.9A Active CN109344166B (zh) | 2018-08-14 | 2018-08-14 | 数据库的监控方法、计算机可读存储介质和终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109344166B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6665640B1 (en) * | 1999-11-12 | 2003-12-16 | Phoenix Solutions, Inc. | Interactive speech based learning/training system formulating search queries based on natural language parsing of recognized user queries |
US7912863B1 (en) * | 2004-07-30 | 2011-03-22 | Microsoft Corporation | Compositional lifting of operations over structural types |
CN102081661A (zh) * | 2011-01-19 | 2011-06-01 | 吉林大学 | 基于xml的异构关系型数据库的数据集成方法和系统 |
CN106445795A (zh) * | 2016-09-26 | 2017-02-22 | 中国工商银行股份有限公司 | 一种数据库sql效率检测方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7725307B2 (en) * | 1999-11-12 | 2010-05-25 | Phoenix Solutions, Inc. | Query engine for processing voice based queries including semantic decoding |
US9177017B2 (en) * | 2010-09-27 | 2015-11-03 | Microsoft Technology Licensing, Llc | Query constraint encoding with type-based state machine |
-
2018
- 2018-08-14 CN CN201810924233.9A patent/CN109344166B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6665640B1 (en) * | 1999-11-12 | 2003-12-16 | Phoenix Solutions, Inc. | Interactive speech based learning/training system formulating search queries based on natural language parsing of recognized user queries |
US7912863B1 (en) * | 2004-07-30 | 2011-03-22 | Microsoft Corporation | Compositional lifting of operations over structural types |
CN102081661A (zh) * | 2011-01-19 | 2011-06-01 | 吉林大学 | 基于xml的异构关系型数据库的数据集成方法和系统 |
CN106445795A (zh) * | 2016-09-26 | 2017-02-22 | 中国工商银行股份有限公司 | 一种数据库sql效率检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109344166A (zh) | 2019-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200159702A1 (en) | Method, apparatus, and computer program product for data quality analysis | |
JP6634515B2 (ja) | 自動質問応答システムにおける質問クラスタリング処理方法及び装置 | |
CN110728328B (zh) | 分类模型的训练方法和装置 | |
CN109670101B (zh) | 爬虫调度方法、装置、电子设备及存储介质 | |
CN110807002B (zh) | 一种基于工作流的报表生成方法、系统及设备和存储介质 | |
CN112783616B (zh) | 一种并发冲突处理方法、装置及计算机存储介质 | |
CN109582967B (zh) | 舆情摘要提取方法、装置、设备及计算机可读存储介质 | |
CN110888672A (zh) | 一种基于元数据架构的表达式引擎实现方法及系统 | |
CN113419719A (zh) | 一种基于业务场景的接口用例生成方法及系统 | |
CN116776030A (zh) | 灰度发布方法、装置、计算机设备、存储介质 | |
CN109344166B (zh) | 数据库的监控方法、计算机可读存储介质和终端设备 | |
CN109886299B (zh) | 一种用户画像方法、装置、可读存储介质及终端设备 | |
CN109582802B (zh) | 一种实体嵌入方法、装置、介质及设备 | |
CN112817560B (zh) | 一种基于表函数的计算任务处理方法、系统及计算机可读存储介质 | |
CN115168509A (zh) | 风控数据的处理方法及装置、存储介质、计算机设备 | |
US10726013B2 (en) | Information processing device, information processing method, and recording medium | |
CN114329128A (zh) | 标注数据的获取方法、装置、计算机设备和存储介质 | |
US20170161359A1 (en) | Pattern-driven data generator | |
US20160196619A1 (en) | Homogenizing time-based seniority signal with transition-based signal | |
CN111767060A (zh) | 多阶段灰度验证方法、装置、电子设备及介质 | |
CN109542505B (zh) | 共享货架中资源的更新方法及装置 | |
CN112667398B (zh) | 资源调度方法、装置、电子设备及存储介质 | |
CN109918615B (zh) | 一种多模态推荐方法及装置 | |
CN107871020B (zh) | 一种基于SolrCloud补全数据对象属性的方法 | |
CN116244365A (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 |