CN117827587A - 数据库异常节点确定方法、装置、设备、介质和程序产品 - Google Patents

数据库异常节点确定方法、装置、设备、介质和程序产品 Download PDF

Info

Publication number
CN117827587A
CN117827587A CN202311825396.9A CN202311825396A CN117827587A CN 117827587 A CN117827587 A CN 117827587A CN 202311825396 A CN202311825396 A CN 202311825396A CN 117827587 A CN117827587 A CN 117827587A
Authority
CN
China
Prior art keywords
connection number
node
database
data
database node
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
Application number
CN202311825396.9A
Other languages
English (en)
Inventor
陈婧宇
宋建缤
戴忠琦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202311825396.9A priority Critical patent/CN117827587A/zh
Publication of CN117827587A publication Critical patent/CN117827587A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供了一种数据库异常节点确定方法,可以应用于大数据领域及金融技术领域。该方法包括:对多个数据库节点的连接数进行监控;在各数据库节点的连接数的变化量大于第一预设阈值的情况下,确定目标数据库节点;获取目标数据库节点的当前连接数数据和历史连接数数据;根据当前连接数数据和历史连接数数据,对目标数据库节点进行异常判断;以及在当前连接数数据与历史连接数数据的差值大于第二预设阈值的情况下,确定目标数据库节点为异常节点。本公开还提供了一种数据库异常节点确定装置、设备、存储介质和程序产品。

Description

数据库异常节点确定方法、装置、设备、介质和程序产品
技术领域
本公开涉及大数据领域及金融领域,具体地涉及一种数据库异常节点确定方法、装置、设备、介质和程序产品。
背景技术
数据中心开放平台Oracle RAC数据库主机通常存在至少两个数据库节点,不同应用的连接固定分散在相应的数据库节点,常规时间段数据库各节点的连接数随业务量波动,呈相对平稳趋势。如果Oracle RAC数据库某节点出现故障,应用层业务连接将受到影响,数据库某节点的连接数也将会发生陡降。此时,Oracle RAC启用高可用架构,业务连接会迅速切换至另一个节点,因此Oracle RAC数据库另一个节点的连接数将呈陡增趋势。
在此背景下,数据库管理员通常需要通过人工命令行逐台查询每个数据库节点的连接数来判断当前数据库各节点的状态是否异常。传统人工执行命令行的连接数查询方法无法迅速并直观的观察数据库连接状态,没有历史连接数数据的对比也无法迅速判断数据库是否已经恢复到初始连接状态。若Oracle RAC两个节点均接入应用连接可能导致gc类异常等待事件并影响数据库性能。因此,当前亟需自动化界面满足高效、迅速发现故障节点的需求,以达到快速发现隐患,迅速定位问题的目的。
发明内容
鉴于上述问题,本公开提供了提高数据库异常节点定位效率的数据库异常节点确定方法、装置、设备、介质和程序产品,用于至少部分解决以上技术问题。
根据本公开的第一个方面,提供了一种数据库异常节点确定方法,包括:对多个数据库节点的连接数进行监控;在各数据库节点的连接数的变化量大于第一预设阈值的情况下,确定目标数据库节点;获取目标数据库节点的当前连接数数据和历史连接数数据;根据当前连接数数据和历史连接数数据,对目标数据库节点进行异常判断;以及在当前连接数数据与历史连接数数据的差值大于第二预设阈值的情况下,确定目标数据库节点为异常节点。
根据本公开的实施例,数据库节点的数量为两个,在各数据库节点的连接数的变化量大于第一预设阈值的情况下,确定目标数据库节点包括:在当前数据库节点的连接数的降低量大于第一预设阈值的情况下,确定当前数据库节点为目标数据库节点;在当前数据库节点的连接数的增加量大于第一预设阈值的情况下,确定剩余数据库节点为目标数据库节点。
根据本公开的实施例,数据库节点的数量大于等于三个,在各数据库节点的连接数的变化量大于第一预设阈值的情况下,确定目标数据库节点包括:确定一个或多个连接数降低的第一数据库节点,以及一个或多个连接数增加的第二数据库节点;按连接数对第二数据库节点进行排序,确定连接数增加量最大的第三数据库节点;对比第一数据库节点的第一历史连接数数据和第三数据库节点的第二历史连接数数据;在第一历史连接数数据与第二历史连接数数据的重合度大于第三预设阈值的情况下,确定一个或多个第一数据库节点为目标数据库节点。
根据本公开的实施例,在各数据库节点的连接数的变化量大于第一预设阈值的情况下,确定目标数据库节点还包括:确定第三数据库节点为备用数据库节点;其中,在数据库节点出现异常时,优先选用备用数据库节点承接被转移的应用连接。
根据本公开的实施例,根据当前连接数数据和历史连接数数据,对目标数据库节点进行异常判断包括:建立历史数据分析模型;采用历史数据分析模型对当前连接数数据与历史连接数数据进行对比,得到历史数据变化趋势;以及根据历史数据变化趋势,对目标数据库节点进行异常判断。
根据本公开的实施例,建立历史数据分析模型包括:采用模型编写语言编写历史数据分析模型;其中,模型编写语言包括PLSQL、JAVA、HTML和javascript。
根据本公开的实施例,根据当前连接数数据和历史连接数数据,对目标数据库节点进行异常判断还包括:对历史数据变化趋势进行实时展示。
根据本公开的实施例,数据库异常节点确定方法还包括:对目标数据库节点进行修复,并获取修复后的连接数数据;对比修复后的连接数数据与历史连接数数据;以及在修复后的连接数数据与历史连接数数据的差值小于第四预设阈值的情况下,确定目标数据库节点修复正常。
本公开的第二方面提供了一种数据库异常节点确定装置,包括:监控模块,用于对多个数据库节点的连接数进行监控;第一确定模块,用于在各数据库节点的连接数的变化量大于第一预设阈值的情况下,确定目标数据库节点;获取模块,用于获取目标数据库节点的当前连接数数据和历史连接数数据;判断模块,用于根据当前连接数数据和历史连接数数据,对目标数据库节点进行异常判断;以及第二确定模块,用于在当前连接数数据与历史连接数数据的差值大于第二预设阈值的情况下,确定目标数据库节点为异常节点。
本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例的方法。
本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述任一实施例的方法。
本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一实施例的方法。
与现有技术相比,本公开提供的数据库异常节点确定方法、装置、电子设备、存储介质和程序产品,至少具有以下有益效果:
(1)本公开的数据库异常节点确定方法,先通过对各数据库节点的连接数进行监控,筛选出潜在的异常节点。然后,针对该潜在的异常节点进行历史连接数的趋势分析,以及根据历史连接数的趋势来迅速发现异常节点。本公开的方法自动化程度高,大大提高了数据库异常节点的定位效率。
(2)本公开的数据库异常节点确定方法,适用于常见的双节点数据库系统,无论当前数据库节点的连接数是降低还是增加,均可以一次筛选出潜在异常节点,提高了数据库异常节点的定位效率。
(3)本公开的数据库异常节点确定方法,还适用于具有多个数据库节点的系统,在多个连接数增加的节点中,找到连接数增加量最大的节点,并对比该节点与各连接数降低的节点的连接数的重合度,即判断该节点增加的连接数的来源,可以准确定位到连接数下降的潜在异常节点,提高了数据库异常节点的定位准确性及效率。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1A示意性示出了根据本公开实施例的数据库异常节点确定方法、装置、设备、介质和程序产品的应用场景图;图1B示意性示出了根据本公开另一实施例的数据库异常节点确定方法、装置、设备、介质和程序产品的应用场景图;
图2示意性示出了根据本公开实施例的数据库异常节点确定方法的流程图;
图3示意性示出了根据本公开实施例的确定目标数据库节点的方法流程图;
图4示意性示出了根据本公开另一实施例的确定目标数据库节点的方法流程图;
图5示意性示出了根据本公开又一实施例的确定目标数据库节点的方法流程图;
图6示意性示出了根据本公开实施例的对目标数据库节点进行异常判断的方法流程图;
图7示意性示出了根据本公开实施例的建立历史数据分析模型的方法流程图;
图8示意性示出了根据本公开另一实施例的对目标数据库节点进行异常判断的方法流程图;
图9示意性示出了根据本公开另一实施例的数据库异常节点确定方法的流程图;
图10示意性示出了根据本公开实施例的数据库异常节点确定装置的结构框图;以及
图11示意性示出了根据本公开实施例的适于实现数据库异常节点确定方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
本公开实施例提供一种数据库异常节点确定方法、装置、设备、介质和程序产品,可用于金融领域或其他领域。需要说明的是,本公开的数据库异常节点确定方法、装置、设备、介质和程序产品可用于金融领域,也可用于除金融领域之外的任意领域,本公开的数据库异常节点确定方法、装置、设备、介质和程序产品的应用领域不做限定。
在本发明的技术方案中,所涉及的用户信息(包括但不限于用户个人信息、用户图像信息、用户设备信息,例如位置信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、存储、使用、加工、传输、提供、公开和应用等处理,均遵守相关国家和地区的相关法律法规和标准,采取了必要保密措施,不违背公序良俗,并提供有相应的操作入口,供用户选择授权或者拒绝。
本公开的实施例提供了一种数据库异常节点确定方法,包括:对多个数据库节点的连接数进行监控;在各数据库节点的连接数的变化量大于第一预设阈值的情况下,确定目标数据库节点;获取目标数据库节点的当前连接数数据和历史连接数数据;根据当前连接数数据和历史连接数数据,对目标数据库节点进行异常判断;以及在当前连接数数据与历史连接数数据的差值大于第二预设阈值的情况下,确定目标数据库节点为异常节点。本公开的方法自动化程度高,大大提高了数据库异常节点的定位效率。
图1A示意性示出了根据本公开实施例的数据库异常节点确定方法、装置、设备、介质和程序产品的应用场景图。图1B示意性示出了根据本公开另一实施例的数据库异常节点确定方法、装置、设备、介质和程序产品的应用场景图。
如图1A所示,根据该实施例的应用场景100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。特别地,服务器105可以为具有多个节点的数据库服务器,通过各节点为终端设备101、102、103提供数据存储服务。
如图1B所示,终端设备101例如还可以具有监控显示界面,可以对服务器1 05(例如还可以是监控服务器)的监控数据进行显示。其中,服务器105还可以用于对生产数据库106的各个节点的连接数进行实时监控。
需要说明的是,本公开实施例所提供的数据库异常节点确定方法一般可以由服务器105执行。相应地,本公开实施例所提供的数据库异常节点确定装置一般可以设置于服务器105中。本公开实施例所提供的数据库异常节点确定方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的数据库异常节点确定装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
首先,对本公开实施例的相关名词术语作如下解释:
数据库节点:指数据库中的每一个物理服务器或虚拟服务器,是数据库实例和实例上的一个或多个数据库进程之间的连接点。在Oracle数据库中,节点是一个重要的概念。在常规的数据库管理工作中,数据节点管理是指对每个节点进行管理、检查和优化。
GC类异常等待事件:在数据库系统中发生的垃圾回收(Garbage Collection,GC)相关的异常或等待事件。这主要出现在Java的数据库连接(JDBC)和数据库交互中。在Java的数据库交互中,每次当一个数据库连接被创建时,都会在服务器端为该连接分配一些资源,比如内存。这些资源在连接被关闭时会被释放,以供其他连接使用。在这个过程中,如果服务器端的资源不足,就可能会出现GC类异常等待事件。具体来说,如果服务器端的内存被大量占用,垃圾回收器可能会无法获取足够的内存来进行垃圾回收。这就可能导致GC等待事件,从而引起应用程序的延迟或停顿。如果这个等待事件持续时间过长,就可能被视为异常,从而引发异常报告。
以下将基于图1描述的场景,通过图2~图9对公开实施例的数据库异常节点确定方法进行详细描述。
图2示意性示出了根据本公开实施例的数据库异常节点确定方法的流程图。
如图2所示,该实施例的数据库异常节点确定方法例如包括操作S210~操作S250,该数据库异常节点确定方法可以由计算机程序在相应计算机硬件上执行。
在操作S210,对多个数据库节点的连接数进行监控。
在操作S220,在各数据库节点的连接数的变化量大于第一预设阈值的情况下,确定目标数据库节点。
在操作S230,获取目标数据库节点的当前连接数数据和历史连接数数据。
在操作S240,根据当前连接数数据和历史连接数数据,对目标数据库节点进行异常判断。
在操作S250,在当前连接数数据与历史连接数数据的差值大于第二预设阈值的情况下,确定目标数据库节点为异常节点。
在一些实施例中,监控数据库节点的连接数:例如可以使用数据库管理工具(如Oracle Enterprise Manager)或编写自定义的监控脚本,定期检查每个数据库节点的连接数。连接数可以是一个整数,表示当前与数据库建立的会话数。
确定目标数据库节点:例如当某个数据库节点的连接数的变化量(例如,相对于前一分钟或前一小时的连接数)大于一个预设阈值(例如,Oracle RAC数据库单节点当前连接数较20分钟前降低至少50%)时,该数据库节点被确定为目标数据库节点。这个预设阈值可以根据实际情况进行调整。
获取目标数据库节点的当前连接数数据和历史连接数数据:例如可以从数据库管理工具或自定义监控脚本中获取这些数据。当前连接数数据表示目标数据库节点当前的连接数,历史连接数数据表示目标数据库节点之前的连接数(例如,前一分钟或前一小时或上周此时的连接数)。
对目标数据库节点进行异常判断,确定目标数据库节点为异常节点:根据当前连接数数据和历史连接数数据,可以判断目标数据库节点是否异常。例如,如果当前连接数数据与历史连接数数据的差值大于一个预设阈值(例如,Oracle RAC数据库单节点当前连接数陡降为0且数据库单节点连接数上周同时间段连接数不为0且大于10),则可以认为目标数据库节点存在异常。这个第二预设阈值也可以根据实际情况进行调整。
需要说明的是,以上实施例仅供参考,实际应用中可能需要根据具体情况进行调整和优化。本公开的方法例如适用于对Oracle RAC数据库单节点故障风险进行趋势分析,但也适用于其他类型的数据库的节点故障分析,包括但不限于关系型数据库:如MySQL、PostgreSQL、SQL Server、Oracle等。这些数据库系统通常都支持SQL标准,并且提供了丰富的工具和接口来进行数据收集、分析和查询。
NoSQL数据库:如MongoDB、Cassandra、Redis等。这些数据库系统通常用于处理非结构化的、半结构化的或文档类型的数据。它们也提供了各自的工具和接口来进行数据操作和查询。
分布式数据库:如HBase、CouchDB、Cassandra等。这些数据库系统通常用于处理大规模的数据,并提供了分布式存储和查询的功能。
时序数据库:如InfluxDB、OpenTSDB等。这些数据库系统专门用于存储和管理时间序列数据,如传感器数据、日志数据等。
需要说明的是,不同的数据库系统具有不同的特点和功能,因此在选择使用哪种数据库时,需要根据具体的应用场景和需求来进行评估和选择。同时,上述方法中的一些步骤和技术也需要进行适当的调整或修改,以适应不同数据库系统的特点和要求。
在操作S230,获取目标数据库节点的当前连接数数据和历史连接数数据,涉及获取用户信息。
在本公开的实施例中,在获取用户的信息之前,可以获得用户的同意或授权。例如,在操作S230之前,可以向用户发出获取用户信息的请求。在用户同意或授权可以获取用户信息的情况下,执行所述操作S230。
图3示意性示出了根据本公开实施例的确定目标数据库节点的方法流程图。
根据本公开的实施例,数据库节点的数量例如为两个,如图3所示,例如通过操作S321~操作S322来确定目标数据库节点。
在操作S321,在当前数据库节点的连接数的降低量大于第一预设阈值的情况下,确定当前数据库节点为目标数据库节点。
在操作S322,在当前数据库节点的连接数的增加量大于第一预设阈值的情况下,确定剩余数据库节点为目标数据库节点。
在一些实施例中,监控数据库节点的连接数:例如与上述实施例相同,使用数据库管理工具或编写自定义的监控脚本来监控每个数据库节点的连接数。
确定目标数据库节点:当某个数据库节点的连接数的变化量大于第一预设阈值时,根据连接数的变化方向来确定目标数据库节点。例如,还可以通过对比Oracle RAC数据库两节点的连接数趋势,来确定目标数据库节点。其中,预警故障节点的连接数趋于陡降趋势,RAC另一个节点的连接数趋于陡增趋势。
在当前数据库节点的连接数的降低量大于第一预设阈值的情况下,确定当前数据库节点为目标数据库节点:例如,有两个数据库节点A和B,它们的连接数分别是100和50。如果连接数A在短时间内下降了80(即变为20),对应连接数B上升了相应数量(例如变为130),那么可以认为连接数A的变化量大于第一预设阈值,因此将数据库节点A确定为目标数据库节点。
在当前数据库节点的连接数的增加量大于第一预设阈值的情况下,确定剩余数据库节点为目标数据库节点:例如,有两个数据库节点A和B,它们的连接数分别是100和50。如果连接数A在短时间内增加了30(即变为130),对应连接数B降低了相应数量(例如变为20),那么可以认为连接数A的变化量大于第一预设阈值,因此将数据库节点B确定为目标数据库节点。
获取目标数据库节点的当前连接数数据和历史连接数数据:例如与上述实施例相同,从数据库管理工具或自定义监控脚本中获取这些数据。
对目标数据库节点进行异常判断,确定目标数据库节点为异常节点:根据当前连接数数据和历史连接数数据,对目标数据库节点进行异常判断。如果目标数据库节点的连接数的变化量大于第一预设阈值,并且当前连接数数据与历史连接数数据的差值也大于第二预设阈值,则确定目标数据库节点为异常节点。在这种情况下,可以根据需要采取相应的措施,例如重新启动该数据库节点、增加其资源分配等。
需要说明的是,以上实施例仅提供了一种实现方式,实际应用中需要根据具体情况进行调整和优化。同时,第一预设阈值和第二预设阈值的设定也需要根据实际情况进行合理设置。
图4示意性示出了根据本公开另一实施例的确定目标数据库节点的方法流程图。
根据本公开的实施例,数据库节点的数量例如大于等于三个,如图4所示,例如通过操作S421~操作S424来确定目标数据库节点。
在操作S421,确定一个或多个连接数降低的第一数据库节点,以及一个或多个连接数增加的第二数据库节点。
在操作S422,按连接数对第二数据库节点进行排序,确定连接数增加量最大的第三数据库节点。
在操作S423,对比第一数据库节点的第一历史连接数数据和第三数据库节点的第二历史连接数数据。
在操作S424,在第一历史连接数数据与第二历史连接数数据的重合度大于第三预设阈值的情况下,确定一个或多个第一数据库节点为目标数据库节点。
在一些实施例中,确定目标数据库节点:例如当某个数据库节点的连接数的变化量大于第一预设阈值时,确定目标数据库节点。
确定一个或多个连接数降低的第一数据库节点和连接数增加的第二数据库节点:例如通过比较各数据库节点的连接数变化量,确定哪些数据库节点的连接数正在降低(即变化量小于0),并将其称为第一数据库节点。同时,确定哪些数据库节点的连接数正在增加(即变化量大于0),并将其称为第二数据库节点。
按连接数对第二数据库节点进行排序,确定连接数增加量最大的第三数据库节点:例如将第二数据库节点按照连接数的增加量进行排序,并确定连接数增加量最大的数据库节点,将其称为第三数据库节点。
对比第一数据库节点的第一历史连接数数据和第三数据库节点的第二历史连接数数据:例如获取第一数据库节点的第一历史连接数数据和第三数据库节点的第二历史连接数数据,并进行比较。
在第一历史连接数数据与第二历史连接数数据的重合度大于第三预设阈值的情况下,确定一个或多个第一数据库节点为目标数据库节点:例如,如果第一历史连接数数据与第二历史连接数数据的重合度大于第三预设阈值(例如,两个数据集中相同的连接数占比大于70%),则认为第一数据库节点与第三数据库节点的连接数是相关联的。在这种情况下,可以将一个或多个第一数据库节点确定为目标数据库节点。
对目标数据库节点进行异常判断,确定目标数据库节点为异常节点:例如,根据当前连接数数据和历史连接数数据,对目标数据库节点进行异常判断。如果目标数据库节点的连接数的变化量大于第一预设阈值,并且当前连接数数据与历史连接数数据的差值也大于第二预设阈值,则确定目标数据库节点为异常节点。在这种情况下,可以根据需要采取相应的措施,例如重新启动该数据库节点、增加其资源分配等。
需要说明的是,以上实施例仅提供了一种实现方式,实际应用中需要根据具体情况进行调整和优化。同时,第一预设阈值、第二预设阈值和第三预设阈值的设定也需要根据实际情况进行合理设置。
图5示意性示出了根据本公开又一实施例的确定目标数据库节点的方法流程图。
根据本公开的实施例,数据库节点的数量例如大于等于三个,如图5所示,例如还可以通过操作S521来补充确定目标数据库节点。
在操作S521,确定第三数据库节点为备用数据库节点。其中,在数据库节点出现异常时,优先选用备用数据库节点承接被转移的应用连接。
在一些实施例中,如果目标数据库节点的连接数的变化量大于第一预设阈值,并且当前连接数数据与历史连接数数据的差值也大于第二预设阈值,则确定目标数据库节点为异常节点。
在这种情况下,例如可以优先选用备用数据库节点承接被转移的应用连接。可以使用自动或手动的方式将被转移的应用连接转移到备用数据库节点上。例如,可以通过修改应用配置文件中的数据库连接信息,将原本连接到目标数据库节点的应用连接转移到备用数据库节点上。通过采用备用数据库节点,可以使得与异常节点相连接的应用连接,定向地转移到相关备用节点,便于对异常节点进行溯源。在数据库系统存在多个节点的情况下,特别是有多个节点的连接数都增加的情况下,大大加快了异常节点的定位效率。
需要说明的是,在转移应用连接之后,还可以持续监控各数据库节点的运行状态和连接数变化情况。如果目标数据库节点的异常情况得到缓解或恢复正常,可以将其从异常节点中移除,并将原本连接到备用数据库节点的应用连接重新转移到目标数据库节点上。如果备用数据库节点的连接数过高或出现异常情况,需要及时调整策略,例如重新选择一个健康的备用数据库节点或使用其他可用的正常数据库节点来承接应用连接。
图6示意性示出了根据本公开实施例的对目标数据库节点进行异常判断的方法流程图。
根据本公开的实施例,如图6所示,例如可以通过操作S641~S643来对目标数据库节点进行异常判断。
在操作S641,建立历史数据分析模型。
在操作S642,采用历史数据分析模型对当前连接数数据与历史连接数数据进行对比,得到历史数据变化趋势。以及
在操作S643,根据历史数据变化趋势,对目标数据库节点进行异常判断。
在一些实施例中,建立历史数据分析模型:例如,首先需要收集目标数据库节点的历史连接数数据,并建立历史数据分析模型。这个模型可以是一个时间序列模型,例如ARIMA模型或者指数平滑模型,用于分析连接数的历史变化趋势。
收集当前连接数数据:在每个监控周期内,收集目标数据库节点的当前连接数数据。
采用历史数据分析模型对当前连接数数据与历史连接数数据进行对比:将收集到的当前连接数数据与历史连接数数据进行对比,可以使用历史数据分析模型计算出历史数据变化趋势。例如,如果历史数据分析模型是一个ARIMA模型,可以使用该模型对历史数据进行拟合,并计算出残差。然后将残差与一个预设的阈值进行比较,以判断是否存在异常情况。
根据历史数据变化趋势,对目标数据库节点进行异常判断:如果残差超过预设的阈值,可以认为目标数据库节点存在异常情况。这意味着目标数据库节点的性能下降或出现其他问题。在这种情况下,可以采取相应的措施,例如重新启动该数据库节点或增加其资源分配等。本公开的数据库异常节点确定方法,改进了传统手工登录数据库节点查询数据库节点连接数的故障检查方式,通过建立连接数趋势监控分析模型,可以一键对比查询Oracle RAC数据库两节点连接数历史趋势,进而有效提高Oracle RAC数据库单节点故障问题的排查效率。
在判断目标数据库节点是否存在异常情况之后,例如还可以持续监控其运行状态和连接数变化情况。如果目标数据库节点的异常情况得到缓解或恢复正常,可以将其从异常节点中移除。如果异常情况持续存在或变得更加严重,需要及时调整策略,例如重新选择一个健康的数据库节点或使用其他可用的正常数据库节点来承接应用连接。
需要说明的是,以上实施例仅提供了一种实现方式,实际应用中需要根据具体情况进行调整和优化。同时,ARIMA模型的参数选择和阈值的设定也需要根据实际情况进行合理设置。
图7示意性示出了根据本公开实施例的建立历史数据分析模型的方法流程图。
根据本公开的实施例,如图7所示,例如可以通过操作S7411来建立历史数据分析模型。
在操作S7411,采用模型编写语言编写历史数据分析模型。其中,模型编写语言例如包括PLSQL、JAVA、HTML和javascript。
在一些实施例中,选择模型编写语言:例如,首先选择一种适合的模型编写语言来编写历史数据分析模型。根据上述实施例提到的,可以选择PLSQL、JAVA、HTML和javascript中的一种或多种语言组合使用。本公开的数据库异常节点确定方法,可以采用多种模型语言来编写历史数据分析模型,提高了方法的适用性。
收集历史连接数数据:在选择好模型编写语言后,需要收集目标数据库节点的历史连接数数据。这些数据可以是从数据库管理工具中导出的历史数据,或者是通过自定义的监控脚本收集的数据。
编写历史数据分析模型:使用选择的模型编写语言,可以编写历史数据分析模型。对于连接数数据的分析,可以编写一个时间序列模型,例如ARIMA模型或指数平滑模型。具体的模型编写方法和步骤可以参考相关的统计学和数据挖掘书籍或教程。
例如,以下是一个示例模型的编写过程,用于对目标数据库节点的连接数进行异常判断:
收集数据:首先,需要收集目标数据库节点的历史连接数数据。可以使用数据库管理工具导出历史数据,或者通过自定义的监控脚本收集数据。在本例中,假设使用Python编写一个自定义的监控脚本来收集连接数数据。
数据预处理:对收集到的数据进行预处理,以去除异常值和噪声数据。在本例中,可以使用Python中的pandas库来进行数据清洗和处理。具体而言,可以使用以下步骤:
读取历史连接数数据,并检查是否存在缺失值或异常值。
对缺失值进行填充或删除,例如使用平均值、中位数或插值方法来填充缺失值。
对数据进行平滑处理,以去除噪声和波动。可以使用移动平均方法或指数平滑方法来平滑数据。
建立模型:在本例中,可以使用ARIMA模型来分析连接数的历史变化趋势。ARIMA是AutoRegressive Integrated Moving Average的缩写,它是一种时间序列分析模型,包括自回归、差分和移动平均三个组成部分。可以使用Python中的statsmodels库来实现ARIMA模型。具体而言,可以按照以下步骤建立模型:
导入所需的库和模块,包括pandas和statsmodels库。
使用pandas库中的数据来创建时间序列对象。
使用ARIMA模型来拟合时间序列数据,并使用参数估计方法(例如最大似然估计)来估计模型的参数。
使用模型的残差图或其他诊断工具来检查模型的拟合效果和诊断问题。
模型应用:在建立好模型之后,可以将其应用到目标数据库节点的连接数监控中。具体而言,可以按照以下步骤应用模型:
在每个监控周期内,使用Python脚本收集目标数据库节点的当前连接数数据。
将当前连接数数据导入到ARIMA模型中,使用已训练好的模型参数进行预测。
将预测结果与实际数据进行对比和分析,以判断目标数据库节点是否存在异常情况。如果预测结果与实际数据的差距超过预设的阈值,则可以认为目标数据库节点存在异常情况。
持续监控与调整:在应用模型进行目标数据库节点的异常判断后,需要持续监控其运行状态和连接数变化情况。如果目标数据库节点的异常情况得到缓解或恢复正常,可以将其从异常节点中移除。如果异常情况持续存在或变得更加严重,需要及时调整策略,例如重新选择一个健康的数据库节点或使用其他可用的正常数据库节点来承接应用连接。同时,还需要对模型进行持续监控和调整,以确保其能够准确地预测连接数的变化趋势。可以定期检查模型的拟合效果和预测性能,并使用交叉验证等方法来评估模型的性能。如果发现模型存在过度拟合或预测性能下降等问题,可以及时调整模型的参数或重新训练模型。
需要说明的是,以上是一个示例模型的编写过程,用于对目标数据库节点的连接数进行异常判断。具体的编写方法和步骤可以根据实际情况进行调整和优化。同时,选择何种模型编写语言和具体的模型参数设置也需要根据实际情况进行合理选择和设置。
训练历史数据分析模型:使用收集的历史连接数数据对模型进行训练,以拟合历史数据的变化趋势。具体的训练方法可以参考相关的统计学和机器学习书籍或教程。
例如,以下是一个示例模型的训练过程,用于对目标数据库节点的连接数进行异常判断:
在建立好模型之后,需要使用历史连接数数据对模型进行训练,以拟合历史数据的变化趋势。具体的训练步骤如下:
将预处理后的历史连接数数据导入到ARIMA模型中。
使用已设定的参数估计方法(例如最大似然估计)来估计模型的参数。
使用训练好的模型参数进行预测,并将预测结果与实际数据进行对比和分析。
根据预测结果和实际数据的差距进行模型调整和优化,例如调整模型的参数或选择其他适合的模型。
模型评估:在训练好模型之后,需要对模型进行评估,以判断其是否能够准确地预测连接数的变化趋势。可以使用以下方法对模型进行评估:
使用交叉验证方法将历史数据分为训练集和测试集,并使用训练集训练模型,然后使用测试集测试模型的预测性能。
将训练好的模型应用到实际连接数数据的监控中,并持续收集实际数据与预测结果的差距信息。
根据实际数据与预测结果的差距信息计算模型的误差指标,例如均方误差(MSE)、均方根误差(RMSE)或平均绝对误差(MAE)等。
根据误差指标对模型进行调整和优化,以提高模型的预测性能和准确性。
需要说明的是,以上是一个示例模型的训练及验证过程,用于对目标数据库节点的连接数进行异常判断。具体的训练步骤可以根据实际情况进行调整和优化。同时,选择何种模型编写语言和具体的模型参数设置也需要根据实际情况进行合理选择和设置。
验证历史数据分析模型:在训练好模型之后,需要对模型进行验证,以确保其能够准确地预测连接数的变化趋势。可以使用一部分未参与训练的历史数据作为测试集,对模型进行验证。如果模型的预测结果与实际数据的趋势相符,则可以认为模型是有效的。
应用历史数据分析模型:在验证通过后,可以将历史数据分析模型应用到目标数据库节点的连接数监控中。在每个监控周期内,可以使用该模型对当前连接数数据与历史连接数数据进行对比和分析,以判断目标数据库节点是否存在异常情况。
需要说明的是,以上实施例仅提供了一种实现方法,实际应用中需要根据具体情况进行调整和优化。同时,选择何种模型编写语言和具体的模型参数设置也需要根据实际情况进行合理选择和设置。
图8示意性示出了根据本公开另一实施例的对目标数据库节点进行异常判断的方法流程图。
根据本公开的实施例,如图8所示,例如还可以通过操作S841来对目标数据库节点进行异常判断。
在操作S841,对历史数据变化趋势进行实时展示。
在一些实施例中,以下是对目标数据库节点进行异常判断的示例过程,结合了根据当前连接数数据和历史连接数数据进行实时展示的方法:
数据收集与预处理:收集目标数据库节点的当前连接数数据。这可以通过与数据库管理系统或自定义监控脚本进行交互来实现。收集目标数据库节点的历史连接数数据。这些数据可以是存储在数据库中的时间序列数据,或者通过另一个监控系统获得。对当前连接数数据进行预处理,例如数据清洗和格式转换,以确保其与历史连接数数据兼容。
模型建立与训练:使用上述实施例的模型编写方法和步骤,例如ARIMA模型,建立一个时间序列分析模型。使用历史连接数数据对模型进行训练,估计模型的参数。根据需要,可以调整模型的结构或参数,以优化模型的预测性能。
实时展示历史数据变化趋势:将历史连接数数据导入到可视化工具中,例如图表库或数据可视化工具箱。在图表中展示历史连接数数据的变化趋势,以便能够直观地查看数据随时间的变化情况。可以使用不同颜色或标记来表示正常和异常的数据点,以帮助识别异常情况。
当前连接数数据的异常判断:将当前连接数数据导入到已训练的模型中。使用模型对当前数据进行预测,并将预测结果与实际当前连接数数据进行对比。如果预测结果与实际数据的差距超过预设的阈值,则可以认为目标数据库节点存在异常情况。可以根据实际情况调整阈值,以适应不同的异常判断标准。
异常处理与监控:对于识别出的异常情况,可以采取适当的措施进行处理,例如触发警报、转移负载或重新启动服务。持续监控目标数据库节点的连接数数据,以确保其正常运行。本公开的数据库异常节点确定方法,可以监控并显示连接数异常的数据库信息。依靠界面展示功能,数据库管理员可以及时发现异常节点,及时配合应用层面做出应急响应,避免出现严重的业务影响。
需要说明的是,以上是对目标数据库节点进行异常判断的示例过程,结合了实时展示历史连接数数据变化趋势的方法。通过该过程,可以有效地监控目标数据库节点的连接数数据,并及时发现异常情况,采取相应的处理措施。
图9示意性示出了根据本公开另一实施例的数据库异常节点确定方法的流程图。
如图9所示,该实施例的数据库异常节点确定方法例如还包括操作S910~操作S930。
在操作S910,对目标数据库节点进行修复,并获取修复后的连接数数据。
在操作S920,对比修复后的连接数数据与历史连接数数据。以及
在操作S930,在修复后的连接数数据与历史连接数数据的差值小于第四预设阈值的情况下,确定目标数据库节点修复正常。
在一些实施例中,例如有一个大型数据库系统,其中包含多个数据库节点。这些节点负责处理各种应用请求和数据存储。由于各种原因(如硬件故障、软件bug、网络问题等),某些数据库节点会出现异常,导致连接数异常增加或减少。为了确保数据库系统的稳定性和可靠性,需要及时发现这些异常节点,并进行修复和验证。
数据收集与监控:首先,使用自定义的监控脚本或第三方监控工具来收集每个数据库节点的连接数数据。这些数据可以包括实时连接数、连接请求速率、活跃连接时长等。同时,还可以定期保存这些历史连接数数据,以便后续分析和比较。
异常检测:利用上述实施例提到的ARIMA模型或其他时间序列分析模型,对每个数据库节点的连接数数据进行异常检测。如果某个节点的连接数数据与模型的预测结果存在显著差异(超过预设的阈值),则将该节点标记为“疑似异常节点”。
异常节点修复:当确定某个数据库节点为疑似异常节点时,触发自动修复机制或手动介入进行修复。修复措施例如包括重启节点、更新配置、修复软件bug、更换硬件等。在修复过程中,还会持续监控该节点的连接数数据,观察其变化情况。
修复验证:在节点修复完成后,需要验证修复是否有效。具体步骤例如如下:
获取修复后的连接数数据:收集修复后一段时间内的连接数数据,确保数据量足够用于分析。
对比修复后的连接数数据与历史连接数数据:使用统计方法(如t检验或Mann-Whitney U检验)比较修复后的连接数数据与历史正常时期的连接数数据。这可以帮助判断修复后的节点是否恢复正常。
差值计算与判断:计算修复后的连接数数据与历史连接数数据的差值(可以是绝对差值或相对差值)。如果这个差值小于第四预设阈值(这个阈值需要根据实际情况和经验来设定),可以认为目标数据库节点的修复是有效的,节点已经恢复正常。否则,可能需要进一步调查或采取其他修复措施。
后续监控与预防:即使某个异常节点已经被成功修复并验证,仍然需要将其纳入重点监控名单,持续观察其连接数数据的变化情况。同时,根据异常发生的原因和修复经验,可以更新数据库系统的维护手册、优化配置参数、加强硬件维护等,以预防类似异常的再次发生。
通过以上方法,可以有效地确定数据库系统中的异常节点,并及时进行修复和验证。这不仅可以提高数据库系统的稳定性和可靠性,还可以减少潜在的业务损失和风险。在实际操作中,各种阈值和参数的设定需要根据具体情况进行调整和优化,以达到最佳的效果。
基于上述数据库异常节点确定方法,本公开还提供了一种数据库异常节点确定装置。以下将结合图10对该数据库异常节点确定装置进行详细描述。
图10示意性示出了根据本公开实施例的数据库异常节点确定装置的结构框图。
如图10所示,该实施例的数据库异常节点确定装置1000例如包括:监控模块1010、第一确定模块1020、获取模块1030、判断模块1040和第二确定模块1050。
监控模块1010用于对多个数据库节点的连接数进行监控。在一实施例中,监控模块1010可以用于执行前文描述的操作S210,在此不再赘述。
第一确定模块1020用于在各数据库节点的连接数的变化量大于第一预设阈值的情况下,确定目标数据库节点。在一实施例中,第一确定模块1020可以用于执行前文描述的操作S220,在此不再赘述。
获取模块1030用于获取目标数据库节点的当前连接数数据和历史连接数数据。在一实施例中,获取模块1030可以用于执行前文描述的操作S230,在此不再赘述。
判断模块1040用于根据当前连接数数据和历史连接数数据,对目标数据库节点进行异常判断。在一实施例中,判断模块1040可以用于执行前文描述的操作S240,在此不再赘述。
第二确定模块1050用于在当前连接数数据与历史连接数数据的差值大于第二预设阈值的情况下,确定目标数据库节点为异常节点。在一实施例中,第二确定模块1050可以用于执行前文描述的操作S250,在此不再赘述。
根据本公开的实施例,监控模块1010、第一确定模块1020、获取模块1030、判断模块1040和第二确定模块1050中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,监控模块1010、第一确定模块1020、获取模块1030、判断模块1040和第二确定模块1050中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,监控模块1010、第一确定模块1020、获取模块1030、判断模块1040和第二确定模块1050中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图11示意性示出了根据本公开实施例的适于实现数据库异常节点确定方法的电子设备的方框图。
如图11所示,根据本公开实施例的电子设备1100包括处理器1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序而执行各种适当的动作和处理。处理器1101例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器1101还可以包括用于缓存用途的板载存储器。处理器1101可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1103中,存储有电子设备1100操作所需的各种程序和数据。处理器1101、ROM 1102以及RAM 1103通过总线1104彼此相连。处理器1101通过执行ROM 1102和/或RAM1103中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1102和RAM 1103以外的一个或多个存储器中。处理器1101也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1100还可以包括输入/输出(I/O)接口1105,输入/输出(I/O)接口1105也连接至总线1104。电子设备1100还可以包括连接至I/O接口1105的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的数据库异常节点确定方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1102和/或RAM 1103和/或ROM 1102和RAM 1103以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的数据库异常节点确定方法。
在该计算机程序被处理器1101执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1109被下载和安装,和/或从可拆卸介质1111被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被处理器1101执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (12)

1.一种数据库异常节点确定方法,其特征在于,包括:
对多个数据库节点的连接数进行监控;
在各所述数据库节点的连接数的变化量大于第一预设阈值的情况下,确定目标数据库节点;
获取所述目标数据库节点的当前连接数数据和历史连接数数据;
根据所述当前连接数数据和所述历史连接数数据,对所述目标数据库节点进行异常判断;以及
在所述当前连接数数据与所述历史连接数数据的差值大于第二预设阈值的情况下,确定所述目标数据库节点为异常节点。
2.根据权利要求1所述的方法,其特征在于,所述数据库节点的数量为两个,所述在各所述数据库节点的连接数的变化量大于第一预设阈值的情况下,确定目标数据库节点包括:
在当前数据库节点的连接数的降低量大于所述第一预设阈值的情况下,确定所述当前数据库节点为所述目标数据库节点;
在当前数据库节点的连接数的增加量大于所述第一预设阈值的情况下,确定剩余数据库节点为所述目标数据库节点。
3.根据权利要求1所述的方法,其特征在于,所述数据库节点的数量大于等于三个,所述在各所述数据库节点的连接数的变化量大于第一预设阈值的情况下,确定目标数据库节点包括:
确定一个或多个连接数降低的第一数据库节点,以及一个或多个连接数增加的第二数据库节点;
按连接数对所述第二数据库节点进行排序,确定连接数增加量最大的第三数据库节点;
对比所述第一数据库节点的第一历史连接数数据和所述第三数据库节点的第二历史连接数数据;
在所述第一历史连接数数据与所述第二历史连接数数据的重合度大于第三预设阈值的情况下,确定一个或多个所述第一数据库节点为所述目标数据库节点。
4.根据权利要求3所述的方法,其特征在于,所述在各所述数据库节点的连接数的变化量大于第一预设阈值的情况下,确定目标数据库节点还包括:
确定所述第三数据库节点为备用数据库节点;
其中,在数据库节点出现异常时,优先选用所述备用数据库节点承接被转移的应用连接。
5.根据权利要求1所述的方法,其特征在于,所述根据所述当前连接数数据和所述历史连接数数据,对所述目标数据库节点进行异常判断包括:
建立历史数据分析模型;
采用所述历史数据分析模型对所述当前连接数数据与所述历史连接数数据进行对比,得到历史数据变化趋势;以及
根据所述历史数据变化趋势,对所述目标数据库节点进行异常判断。
6.根据权利要求5所述的方法,其特征在于,所述建立历史数据分析模型包括:
采用模型编写语言编写所述历史数据分析模型;
其中,所述模型编写语言包括PLSQL、JAVA、HTML和javascript。
7.根据权利要求5所述的方法,其特征在于,所述根据所述当前连接数数据和所述历史连接数数据,对所述目标数据库节点进行异常判断还包括:
对所述历史数据变化趋势进行实时展示。
8.根据权利要求1所述的方法,其特征在于,还包括:
对所述目标数据库节点进行修复,并获取修复后的连接数数据;
对比所述修复后的连接数数据与所述历史连接数数据;以及
在所述修复后的连接数数据与所述历史连接数数据的差值小于第四预设阈值的情况下,确定所述目标数据库节点修复正常。
9.一种数据库异常节点确定装置,其特征在于,包括:
监控模块,用于对多个数据库节点的连接数进行监控;
第一确定模块,用于在各所述数据库节点的连接数的变化量大于第一预设阈值的情况下,确定目标数据库节点;
获取模块,用于获取所述目标数据库节点的当前连接数数据和历史连接数数据;
判断模块,用于根据所述当前连接数数据和所述历史连接数数据,对所述目标数据库节点进行异常判断;以及
第二确定模块,用于在所述当前连接数数据与所述历史连接数数据的差值大于第二预设阈值的情况下,确定所述目标数据库节点为异常节点。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~8中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~8中任一项所述的方法。
12.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~8中任一项所述的方法。
CN202311825396.9A 2023-12-27 2023-12-27 数据库异常节点确定方法、装置、设备、介质和程序产品 Pending CN117827587A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311825396.9A CN117827587A (zh) 2023-12-27 2023-12-27 数据库异常节点确定方法、装置、设备、介质和程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311825396.9A CN117827587A (zh) 2023-12-27 2023-12-27 数据库异常节点确定方法、装置、设备、介质和程序产品

Publications (1)

Publication Number Publication Date
CN117827587A true CN117827587A (zh) 2024-04-05

Family

ID=90514842

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311825396.9A Pending CN117827587A (zh) 2023-12-27 2023-12-27 数据库异常节点确定方法、装置、设备、介质和程序产品

Country Status (1)

Country Link
CN (1) CN117827587A (zh)

Similar Documents

Publication Publication Date Title
US11042458B2 (en) Robotic optimization for robotic process automation platforms
US9038030B2 (en) Methods for predicting one or more defects in a computer program and devices thereof
US20180253728A1 (en) Optimizing fraud analytics selection
CN113837596B (zh) 一种故障确定方法、装置、电子设备及存储介质
CN115174353B (zh) 故障根因确定方法、装置、设备及介质
US20180246778A1 (en) Utilizing an error prediction and avoidance component for a transaction processing system
CN115034596A (zh) 一种风险传导预测方法、装置、设备和介质
US20210390010A1 (en) Software Application Diagnostic Aid
US11966884B2 (en) Using distributed databases for network regression analysis
CN116450461A (zh) 存储集群的硬盘故障处理方法、装置、设备和介质
CN116149824A (zh) 任务重跑的处理方法、装置、设备及存储介质
CN117827587A (zh) 数据库异常节点确定方法、装置、设备、介质和程序产品
CN114095394A (zh) 网络节点故障检测方法、装置、电子设备及存储介质
CN112579402A (zh) 一种应用系统故障定位的方法和装置
CN115190008B (zh) 故障处理方法、故障处理装置、电子设备及存储介质
US10567548B2 (en) System and method for determining service prioritization in virtual desktop infrastructure
CN114996119B (zh) 故障诊断方法、装置、电子设备及存储介质
CN114201377A (zh) 系统服务性能确定方法及装置、电子设备和可读存储介质
US20200389382A1 (en) Data rate monitoring to determine channel failure
CN115269356A (zh) 数据处理方法及装置、电子设备和计算机可读存储介质
CN116701123A (zh) 任务预警方法、装置、设备、介质及程序产品
CN117785992A (zh) 非侵入式业务流程的可视化查询方法、装置、设备及介质
CN114881792A (zh) 交易处理方法、装置、设备、介质和程序产品
CN115622866A (zh) 故障处理方法、装置、设备及存储介质
CN117234772A (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