计算;推算;计数设备的制造及其应用技术1.本技术涉及数据库技术领域,尤其涉及一种数据库监控方法、系统及存储介质。背景技术:2.相关技术中,数据库,作为存放数据的仓库,具有存储量大的特点,可以存放百万条、千万条、上亿条数据,因此,数据库广泛应用于商业领域的存储服务,特别是数据量巨大的企业,例如电商、券商、银行等。然而,虽然数据库能够存储大量数据,但是如果对数据库管理不当,就容易造成数据库瘫痪,因此,在数据库运行过程中,需要对数据库进行监控,并进行防止数据库瘫痪的相关处理。目前,是通过监控系统对数据库进行监控的,在监控时,需要和数据库建立连接,并通过该连接长期对数据库进行监控,此方法长期占用了数据库的会话资源,造成了会话资源浪费。因此,如何对数据库进行监控,并减少会话资源的浪费,成为了亟待解决的技术问题。技术实现要素:3.本技术旨在至少解决现有技术中存在的技术问题之一。为此,本技术提出一种数据库监控方法、系统及存储介质,能够减少访问时占用的会话资源,减少资源的浪费。4.根据本技术的第一方面实施例的数据库监控方法,应用于数据库监控系统,所述数据库监控方法包括:与目标数据库建立连接并发送第一查询请求;当获取所述第一查询请求对应的查询结果的查询时间超过设定的第一时间阀值,判定所述第一查询请求连接失败,并断开与所述目标数据库的连接;根据设定的查询规则以及所述第一查询请求连接失败的次数,确定第一间隔时间;将所述第一间隔时间作为下一次根据所述第一查询请求进行查询时的第一时间阀值。5.根据本技术实施例的数据库监控方法,具有如下有益效果:首先,与目标数据库建立连接并发送第一查询请求;其次,当获取第一查询请求对应的查询结果的查询时间超过设定的第一时间阀值,判定第一查询请求连接失败,并断开与目标数据库的连接;之后,根据设定的查询规则以及第一查询请求连接失败的次数,确定第一间隔时间;最后,将第一间隔时间作为下一次根据第一查询请求进行查询时的第一时间阀值。本技术的数据库监控方法,一方面,在建立与目标数据库的连接以查询当前目标数据库的连接个数时,当目标数据库的响应时间超过第一时间阀值,就会主动断开与目标数据库的连接,在相同时间内减少了对数据库会话资源的占用;另一方面,主动断开后,根据设定的第一间隔时间再次建立连接并访问数据库,以创建相应会话,第一间隔时间能够根据查询规则进行调整,灵活方便。因此,本技术的数据库监控方法,通过调整访问时间间隔,使得每一次查询请求的成功率能够大幅提升,从而减少访问时占用的会话资源,进而减少资源的浪费。6.根据本技术的一些实施例,所述与目标数据库建立连接,包括:根据采集频率,计算得到第二间隔时间,其中,所述第一间隔时间大于或等于所述第二间隔时间;以所述第二间隔时间为周期,建立与所述目标数据库的连接;对所述连接打上标签,以使所述数据库监控系统根据所述标签,获取所述数据库监控系统在所述目标数据库创建的会话。7.根据本技术的一些实施例,所述对所述连接打上标签,包括:获取与所述目标数据库建立连接的参数;将所述参数设定为所述数据库监控系统的专有名词,以使所述专有名词作为所述标签。8.根据本技术的一些实施例,所述根据设定的查询规则以及所述第一查询请求连接失败的次数,确定第一间隔时间,包括:当当前的判定次数为第一预设值时,将设定的第三间隔时间作为所述第一间隔时间;当当前的所述判定次数大于所述第一预设值时,对所述第三间隔时间进行指数增长处理得到第四间隔时间,并根据所述第四间隔时间,确定所述第一间隔时间。9.根据本技术的一些实施例,所述根据所述第四间隔时间,确定所述第一间隔时间,包括:当所述第四间隔时间的大小达到设定的第二时间阀值,将所述第四间隔时间保持不变;将保持不变的所述第四间隔时间作为所述第一间隔时间。10.根据本技术的一些实施例,所述数据库监控方法还包括:当根据所述第一查询请求之后的任意一个第二查询请求获取得到连接个数,则判定所述目标数据库已响应;将所述第二间隔时间作为第一时间间隔。11.根据本技术的一些实施例,所述与目标数据库建立连接并发送第一查询请求,包括:判断是否成功获取当前所有连接个数;当成功获取当前所有连接个数,判断当前所述与所述目标数据库连接的所有连接个数是否达到设定的连接数阀值;当当前所述与所述目标数据库连接的所有连接个数未达到所述连接数阀值,与目标数据库建立连接并发送所述第一查询请求。12.根据本技术的第二方面实施例的数据库监控系统,包括:连接建立模块,用于与目标数据库建立连接并发送第一查询请求;响应判定模块,用于当获取所述第一查询请求对应的查询结果的查询时间超过设定的第一时间阀值,判定所述第一查询请求连接失败,并断开与所述目标数据库的连接;时间设定模块,用于根据设定的查询规则以及所述第一查询请求连接失败的次数,确定第一间隔时间;再次连接模块,用于将所述第一间隔时间作为下一次根据所述第一查询请求进行查询时的第一时间阀值。13.根据本技术的第三方面实施例的数据库监控系统,包括:至少一个存储器;至少一个处理器;至少一个程序;所述程序被存储在所述存储器中,所述处理器执行至少一个所述程序以实现如第一方面实施例所述的数据库监控方法。14.根据本技术的第四方面实施例的计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面实施例所述的数据库监控方法。15.本技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。附图说明16.下面结合附图和实施例对本技术做进一步的说明,其中:图1为本技术一个实施例所提供的数据库监控方法的流程示意图;图2为图1中一个实施例所提供的数据库监控方法的连接个数查询过程示意图;图3为图1中另一实施例所提供的数据库监控方法的连接个数查询过程示意图;图4为本技术实施例所提供的数据库监控系统的连接示意图;图5为本技术实施例所提供的数据库监控系统的结构示意图。17.附图标记:连接建立模块100、响应判定模块110、时间设定模块120、再次连接模块130、存储器200、处理器300。具体实施方式18.下面详细描述本技术的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能理解为对本技术的限制。19.需要说明的是,虽然在系统示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于系统中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。20.在本技术的描述中,若干的含义是一个以上,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。21.本技术的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本技术中的具体含义。22.本技术的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。23.下面对本技术的部分名词进行解释。24.数据库连接:对于用户端,称之为数据库连接,用户端设置有数据库监控系统;对于数据库,称之为会话(session);因此,在本技术中,会话和连接指代同一内容。25.数据库监控指标:用来衡量数据库性能状况的监控数据。例如:oracle数据库的活动会话数、表空间使用率、dg 同步延迟等等。26.数据库监控:指对数据库各种监控指标进行全方位实时监控,从而能够提前发现和识别数据库异常以及潜在的性能问题,并及时将数据库异常报告给管理员,通过针对各项运行指标的统计分析报表,帮助管理员、运维人员、决策者多视角了解数据库的运行状态,从而更好的应对数据库的需求及规划。27.数据库监控系统:能够对数据库提供监控功能的系统。28.数据库监控指标采集:通过连接目标数据库执行sql语句查询或读取数据库的日志文件等方式获取监控指标的过程就称为采集。在本技术中,是通过执行sql来查询目标数据库的指标数据的。29.目标数据库:被监控的数据库。30.目标数据库hang:指客户端查询sql后长时间都无法收到目标数据库的执行结果的情况,hang住的原因有:目标数据库无法新建会话、目标数据库过于繁忙、查询的sql需要的执行时间过长等。31.相关技术中,用户端连接池无法有效控制目标数据库建立的连接数。32.相关技术中,采用的控制目标数据库最大连接个数的通用方法为采用数据库连接池,在使用连接池时,在hang住的情况下为了保持连接的活跃性(可用性)只能采取断开hang住的连接并建立新的连接的方式。然而,连接池位于用户端,每次主动与目标数据库断开连接后,并不能保证在目标数据库上与该连接对应的会话被有效释放,更不能保证与该次会话关联的sql进程也立刻结束,所以,连接池实际上是无法完全做到控制在目标数据库产生的会话个数的。33.当采集hang发生后,通常有两种采集方式,第一种是不主动断开连接,无限期等待目标数据库的响应,收到响应后继续之后的采集;第二种是主动断开连接并建立新的连接恢复采集。34.这两种方式都有各自的缺点,第一种方式偏保守,优先保证目标数据库的安全,但容易出现指标采集中断的情况,损失监控数据的实时性和完整性。第二种方式偏激进,最大限度地保证指标的连续,但可能给目标数据库带来巨大的性能压力,损害被监控对象。35.基于此,本技术提供了一种数据库监控方法、系统及存储介质,能够减少访问时占用的会话资源,减少资源的浪费。36.下面,根据图1描述本技术实施例的数据库监控方法。37.可以理解的是,如图1所示,提供了一种数据库监控方法,应用于数据库监控系统,数据库监控方法包括:建立与目标数据库的连接并发送第一查询请求,以获取目标数据库查询的当前所有连接个数;步骤s100,与目标数据库建立连接并发送第一查询请求;步骤s110,当获取第一查询请求对应的查询结果的查询时间超过设定的第一时间阀值,判定第一查询请求连接失败,并断开与目标数据库的连接;步骤s120,根据设定的查询规则以及第一查询请求连接失败的次数,确定第一间隔时间;步骤s130,将第一间隔时间作为下一次根据第一查询请求进行查询时的第一时间阀值。38.根据本技术实施例的数据库监控方法,具有如下有益效果:首先,与目标数据库建立连接并发送第一查询请求;其次,当获取第一查询请求对应的查询结果的查询时间超过设定的第一时间阀值,判定第一查询请求连接失败,并断开与目标数据库的连接;之后,根据设定的查询规则以及第一查询请求连接失败的次数,确定第一间隔时间;最后,将第一间隔时间作为下一次根据第一查询请求进行查询时的第一时间阀值。本技术的数据库监控方法,一方面,在建立与目标数据库的连接以查询当前目标数据库的连接个数时,当目标数据库的响应时间超过第一时间阀值,就会主动断开与目标数据库的连接,在相同时间内减少了对数据库会话资源的占用;另一方面,主动断开后,根据设定的第一间隔时间再次建立连接并访问数据库,以创建相应会话,第一间隔时间能够根据查询规则进行调整,灵活方便。因此,本技术的数据库监控方法,通过调整访问时间间隔,使得每一次查询请求的成功率能够大幅提升,从而减少访问时占用的会话资源,进而减少资源的浪费。39.需要说明的是,如图2所示,第一时间阀值为60s。40.可以理解的是,与目标数据库建立连接,包括:根据采集频率,计算得到第二间隔时间,其中,第一间隔时间大于或等于第二间隔时间;以第二间隔时间为周期,建立与目标数据库的连接;对连接打上标签,以使数据库监控系统根据标签,获取数据库监控系统在目标数据库创建的会话。41.需要说明的是,除了为普通的指标监控建立对应的连接外,会单独创建一个连接用来专门查询目标数据库上实时的会话个数,采集会话个数的频率默认10秒一次,也就是说第二间隔时间为10秒,每次采集到会话个数后及时刷新到内存里记录下来。查询方式为高频、实时的查询方式。42.可以理解的是,对连接打上标签,包括:获取与目标数据库建立连接的参数;将参数设定为数据库监控系统的专有名词,以使专有名词作为标签。43.需要说明的是,数据库监控系统与目标数据库建立的连接需要打上特定的标签,例如,在与目标数据库建立连接时设置“用户端应用程序”这个参数的值为数据库监控系统的专有名词,有了这个标签后,当数据库监控系统到目标数据库查询实时的会话个数时,就能准确过滤出属于监控系统创建的会话。具体地,以oracle为例,建立连接时需要设置好v$session.program参数的值为“oracle_exporter”,然后数据库监控系统就能通过sql:select count(*) from v$session t where t.program=ꢀ‘oracle_exporter’; 查询到属于自己这个客户端建立的会话个数了。44.可以理解的是,根据设定的查询规则以及第一查询请求连接失败的次数,确定第一间隔时间,包括:当当前的判定次数为第一预设值时,将设定的第三间隔时间作为第一间隔时间;当当前的判定次数大于第一预设值时,对第三间隔时间进行指数增长处理得到第四间隔时间,并根据第四间隔时间,确定第一间隔时间。45.需要说明的是,第一预设值为1分钟。46.可以理解的是,根据第四间隔时间,确定第一间隔时间,包括:当第四间隔时间的大小达到设定的第二时间阀值,将第四间隔时间保持不变;将保持不变的第四间隔时间作为第一间隔时间。47.可以理解的是,数据库监控方法还包括:当根据第一查询请求之后的任意一个第二查询请求获取得到连接个数,则判定目标数据库已响应;将第二间隔时间作为第一时间间隔。48.需要说明的是,在一些实施例中,下一次根据第一查询请求进行查询可以理解为第二查询请求,因此,第二查询请求和第一查询请求可以理解为,不同时刻的具有相同内容的请求。49.需要说明的是,第三间隔时间为2分钟;第四间隔时间为4分钟、8分钟、16分钟、32分钟或64分钟。50.需要说明的是,如图2所示,指数增长处理也就是通过指数增长算法进行处理。查询实时会话个数的sql默认超时时间设置为60秒,60秒如果无法收到目标数据库的响应,即判定为目标数据库hang,并主动断开连接,下一次查询时需要新建连接。如果是第一次hang,则下一次的查询间隔从10秒推迟到2分钟之后,往后,如果继续hang,则时间间隔为:4分、8分、16分、32分、64分、64分;当间隔时间增长到64分钟之后保持稳定不变。如果hang发生后的任何一次查询不再hang了,即在60秒内查询成功了,则结束指数增长的间隔时长控制,恢复到默认的10秒一次的正常查询频率,也就是将第二间隔时间作为第一时间间隔。51.需要说明的是,本发明采用一种高频、实时的查询方式来获取到目标数据库上实际被监控系统建立的连接个数,并作为控制连接个数的依据,由于这种查询方式同样依靠连接目标数据库去执行sql查询,也可能存在hang的情况。为了避免连接个数的查询占用目标数据库过多的会话资源,本技术采用了一种指数增长算法来动态控制其查询频率。52.需要说明的是,本技术目的还在于提供了一种控制连接个数控制方法来保证被监控对象(目标数据库)的安全,当采集hang发生时,不会占用目标数据库过多的会话资源,同时也尽可能兼顾了数据库监控系统的指标的实时性。53.可以理解的是,如图3所示,与目标数据库建立连接并发送第一查询请求,包括:判断是否成功获取当前所有连接个数;当成功获取当前所有连接个数,判断当前与目标数据库连接的所有连接个数是否达到设定的连接数阀值;当当前与目标数据库连接的所有连接个数未达到连接数阀值,与目标数据库的建立连接并发送第一查询请求。54.需要说明的是,如图3所示,当监控系统普通的指标采集发生hang时,主动断开连接,下一次采集任务发起时,发现连接已经被断开,则先去判断实时的会话个数查询是否成功。如果不成功则跳过当次采集,如果成功,继续判断最近一次记录的会话个数是否达到了数据库监控系统预设的连接数阀值,如果没有达到则新建连接继续采集。如果达到了则跳过当次采集任务,从而实现了对连接个数的控制,使连接个数不超过预设的阈值,直到之后的某次采集任务判断到实时的连接个数已经降到了阈值以内才会恢复采集。55.下面参照图4描述根据本技术实施例的数据库监控系统。56.可以理解的是,如图4所示,提供了一种数据库监控系统,包括:连接建立模块100,用于与目标数据库建立连接并发送第一查询请求;响应判定模块110,用于当获取第一查询请求对应的查询结果的查询时间超过设定的第一时间阀值,判定第一查询请求连接失败,并断开与目标数据库的连接;时间设定模块120,用于根据设定的查询规则以及第一查询请求连接失败的次数,确定第一间隔时间;再次连接模块130,用于将第一间隔时间作为下一次根据第一查询请求进行查询时的第一时间阀值。57.下面参照图5描述根据本技术实施例的数据库监控系统。58.可以理解的是,如图5所示,数据库监控系统,包括:至少一个存储器200;至少一个处理器300;至少一个程序;程序被存储在存储器200中,处理器300执行至少一个程序以实现上述的数据库监控方法。图5以一个处理器300为例。59.处理器300和存储器200可以通过总线或其他方式连接,图5以通过总线连接为例。60.存储器200作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态性计算机可执行程序以及信号,如本技术实施例中的数据库监控系统对应的程序指令/信号。处理器300通过运行存储在存储器200中的非暂态软件程序、指令以及信号,从而执行各种功能应用以及数据处理,即实现上述方法实施例的数据库监控方法。61.存储器200可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储上述数据库监控方法的相关数据等。此外,存储器200可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器200可选包括相对于处理器300远程设置的存储器,这些远程存储器可以通过网络连接至数据库监控系统。上述网络的实例包括但不限于物联网、软件定义网络、传感器网络、互联网、企业内部网、局域网、移动通信网及其组合。62.一个或者多个信号存储在存储器200中,当被一个或者多个处理器300执行时,执行上述任意方法实施例中的数据库监控方法。例如,执行以上描述的图1中的方法。63.下面参照图5描述根据本技术实施例的计算机可读存储介质。64.如图5所示,计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器300执行,例如,被图5中的一个处理器300执行,可使得上述一个或多个处理器300执行上述方法实施例中的数据库监控方法。例如,执行以上描述的图1中的方法。65.以上所描述的系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。66.通过以上的实施方式的描述,本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质和通信介质。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读信号、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。67.上面结合附图对本技术实施例作了详细说明,但是本技术不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本技术宗旨的前提下作出各种变化。此外,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
数据库监控方法、系统及存储介质与流程 专利技术说明
作者:admin
2022-11-30 09:25:01
626
关键词:
计算;推算;计数设备的制造及其应用技术
专利技术