CN113568781A - 一种数据库错误处理方法、装置及数据库集群访问系统 - Google Patents
一种数据库错误处理方法、装置及数据库集群访问系统 Download PDFInfo
- Publication number
- CN113568781A CN113568781A CN202110845697.2A CN202110845697A CN113568781A CN 113568781 A CN113568781 A CN 113568781A CN 202110845697 A CN202110845697 A CN 202110845697A CN 113568781 A CN113568781 A CN 113568781A
- Authority
- CN
- China
- Prior art keywords
- error
- database
- access
- cluster
- database cluster
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
Abstract
一种数据库错误处理方法、装置及数据库集群访问系统,根据对所有数据访问节点检测的访问错误的统计结果来确定是否进行集群切换,避免各数据访问节点单独记录自身访问错误造成对数据库集群访问错误统计不准确,进而造成对集群切换的误判,提高数据库集群访问错误统计及集群切换的准确性。另外,当需要进行集群切换时,控制数据库配置中心统一推送更新配置信息到所有数据访问节点,所有数据访问节点同时完成数据库集群的切换,避免主备数据库集群同时存在数据访问节点访问,保证数据一致性。同时,由于整个切换过程由系统自动完成,避免人工切换数据库集群的延时,提高数据库集群切换的及时性,保证数据库集群访问的可用性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据库错误处理方法、装置及数据库集群访问系统。
背景技术
随着分布式存储系统的大规模应用,为提高分布式存储系统的数据可靠性和稳定性,设置分别包含多个存储节点的主备集群,主备集群之间保持数据一致性。当主集群因为磁盘、网络、或者其他业务突发流量影响,导致某些存储节点甚至整个主集群不可用的时候,就可以通过备集群继续提供服务。
现有技术中,主备集群的切换需要数据访问节点通过更新集群地址来完成,但是,若所有数据访问节点不能同时完成主备集群切换,将会出现主备集群同时被数据访问节点访问,影响主备集群读写数据的一致性以及分布式存储系统的可用性,导致分布式存储系统主备集群数据不一致,进而导致布式存储系统不能使用。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种数据库错误处理方法、装置及数据库集群访问系统。
一方面,本申请提供了一种数据库错误处理方法,所述方法包括:
获取错误统计信息,所述错误统计信息基于访问第一数据库集群的多个数据访问节点在检测到访问错误满足上报条件时上报的访问错误信息统计得到;
当确定所述错误统计信息满足集群切换条件时,根据集群切换指令于控制所述第一数据库集群的所有数据访问节点,将当前访问的数据库集群地址从第一数据库集群地址修改为第二数据库集群地址。
可选的,所述获取错误统计信息,包括:
接收访问所述第一数据库集群中的多个数据访问节点在检测到访问错误满足上报条件时上报的访问错误信息;
根据所述访问错误信息对所述第一数据库集群进行错误统计,得到错误统计信息。
可选的,所述根据所述访问错误信息对所述第一数据库集群进行错误统计,得到错误统计信息,包括:
确定所述访问错误信息对应的访问错误类型;
当所述访问错误类型为数据库节点错误时,根据所述访问错误信息进行错误计数,得到错误统计信息;
其中,所述错误统计信息包括以下至少一项:当前时间点对应的访问错误累计值、当前时间点之前预设时间窗口内的访问错误数量、所述第一数据库集群中发生访问错误的数据库节点数量、所述第一数据库集群中各数据库节点的访问错误数量。
可选的,所述错误统计信息满足集群切换条件包括以下至少一项:
所述访问错误累计值大于或等于第一阈值;
所述访问错误数量大于或等于第二阈值;
所述第一数据库集群中发生访问错误的数据库节点数量大于或等于预设数量,或所述第一数据库集群中发生访问错误的数据库节点数量大于或等于第一数据库集群中所有数据库节点数量的预设百分比;
所述第一数据库集群中一个或预设数量的数据库节点的访问错误数量大于或等于第三阈值。
可选的,所述根据集群切换指令于控制所述第一数据库集群的所有数据访问节点,将当前访问的数据库集群地址从第一数据库集群地址修改为第二数据库集群地址,包括:
根据所述集群切换指令生成更新配置信息;
将所述更新配置信息推送到访问所述第一数据库集群的所有数据访问节点,控制所述第一数据库集群的所有数据访问节点根据所述更新配置信息将当前访问的数据库集群地址从第一数据库集群地址修改为所述更新配置信息对应的第二数据库集群地址。
另一方面,本申请提供了一种数据库错误处理装置,包括:
获取模块,用于获取错误统计信息,所述错误统计信息基于访问第一数据库集群的多个数据访问节点在检测到访问错误满足上报条件时上报的访问错误信息统计得到;
控制模块,用于当确定所述错误统计信息满足集群切换条件时,根据集群切换指令控制所述第一数据库集群的所有数据访问节点,将当前访问的数据库集群地址从第一数据库集群地址修改为第二数据库集群地址。
另一方面,本申请提供了一种数据库集群访问系统,所述系统包括:
数据访问节点,用于在访问第一数据库集群中的数据库节点时,进行访问错误检测;当检测到访问错误满足上报条件时,将访问错误信息上报到错误记录中心;
所述错误记录中心,用于根据所述访问错误信息进行错误统计,得到错误统计信息;
错误处理装置,用于从所述错误记录中心获取所述错误统计信息,当确定所述错误统计信息满足集群切换条件时,发送集群切换指令到数据库配置中心;
所述数据库配置中心,用于根据所述集群切换指令生成更新配置信息,并将所述更新配置信息推送到访问所述第一数据库集群的所有数据访问节点;
所有所述数据访问节点,用于根据所述更新配置信息将当前访问的数据库集群地址从第一数据库集群地址修改为所述更新配置信息对应的第二数据库集群地址。
可选的,所述数据访问节点,用于根据所述访问错误信息确定访问错误类型;当所述访问错误类型为数据库节点错误时,将所述访问错误信息上报到所述错误记录中心;或者,所述错误记录中心,用于确定所述访问错误信息对应的访问错误类型;当所述访问错误类型为数据库节点错误时,根据所述访问错误信息进行错误计数,得到错误统计信息;其中,所述错误统计信息包括以下至少一项:当前时间点对应的访问错误累计值、当前时间点之前预设时间窗口内的访问错误数量、所述第一数据库集群中发生访问错误的数据库节点数量、所述第一数据库集群中各数据库节点的访问错误数量。
另一方面,本申请提供了一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述计算机程序时,实现上述的方法步骤。
另一方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现上述的方法步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本申请实施例,根据对所有数据访问节点检测的访问错误的统计结果来确定是否进行集群切换,避免各数据访问节点单独记录自身访问错误造成对数据库集群访问错误统计不准确,进而造成对集群切换的误判,提高数据库集群访问错误统计及集群切换的准确性。另外,当需要进行集群切换时,控制数据库配置中心统一推送更新配置信息到所有数据访问节点,所有数据访问节点同时完成数据库集群的切换,避免主备数据库集群同时存在数据访问节点访问,保证数据一致性。同时,由于整个切换过程由系统自动完成,避免人工切换数据库集群的延时,提高数据库集群切换的及时性,保证数据库集群访问的可用性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据库集群访问系统的框图;
图2为本申请实施例提供的一种数据库错误处理方法的流程图;
图3为本申请另一实施例提供的一种数据库错误处理方法的流程图;
图4为本申请另一实施例提供的一种数据库错误处理方法的流程图;
图5为本申请实施例提供的一种数据库错误处理装置的框图;
图6为本申请实施例提供的一种数据访问节点的框图;
图7为本申请实施例提供的一种错误记录中心的框图;
图8为本申请另一实施例提供的一种数据库集群访问系统的框图;
图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例,可以适用于多种具有主备集群的分布式数据库集群,如HBase(Hadoop Database)存储系统等。各数据库集群中包括多个数据存储节点,提供数据读写服务。主备数据库集群之间,通过Replication机制实现异步数据复制。当一个数据存储节点发生故障时,数据库集群需要一定的故障恢复时间,在这段时间内,该故障数据存储节点是不能提供服务的,对于访问该故障数据存储节点的数据访问节点来说,将不断出现访问异常,进行报错,此时,为了保证数据访问的可用性,需要将所有数据访问节点的访问同时切换到备用数据库集群。
因此,本申请实施例中,需要对所有数据访问节点检测到的访问错误进行汇总,根据汇总结果确定是否需要进行数据库集群切换,若需要切换,则同时更新所有数据访问节点的数据库集群地址为备用数据库集群地址。
图1为本申请实施例提供的一种数据库集群访问系统的框图。本申请实施例的技术方案,应用于数据库集群访问系统。如图1所示,该系统包括至少两个数据库集群,第一数据库集群11和第二数据库集群12。其中,第一数据库集群11为数据访问节点20a、20b、20c……当前访问的主集群,第二数据库集群12作为备集群。
所有当前访问第一数据库集群11的数据访问节点20a、20b、20c……均可以进行访问错误检测,当检测到访问错误满足上报条件时,访问错误信息上报到错误记录中心30。
错误记录中心30根据访问错误信息进行错误统计,得到错误统计信息。
错误处理装置40从错误记录中心30获取错误统计信息,当确定错误统计信息满足集群切换条件时,发送集群切换指令到数据库配置中心50。
数据库配置中心50根据集群切换指令生成更新配置信息,并将更新配置信息推送到访问第一数据库集群的所有数据访问节点20。其中,更新配置信息中包括第二数据库集群地址。
所有数据访问节点20a、20b、20c……根据更新配置信息将当前访问的数据库集群地址从第一数据库集群地址修改为更新配置信息对应的第二数据库集群地址,后续则开始访问第二数据库集群。
通过上述系统,实现所有数据访问节点同时完成主备集群的切换,保证主备集群读写数据的一致性以及分布式存储系统的可用性。
可选的,数据访问节点,用于根据访问错误信息确定访问错误类型;当访问错误类型为数据库节点错误时,将访问错误信息上报到错误记录中心。
可选的,错误记录中心,用于确定访问错误信息对应的访问错误类型;当访问错误类型为数据库节点错误时,根据访问错误信息进行错误计数,得到错误统计信息。
其中,错误统计信息包括以下至少一项:当前时间点对应的访问错误累计值、当前时间点之前预设时间窗口内的访问错误数量、第一数据库集群中发生访问错误的数据库节点数量、第一数据库集群中各数据库节点的访问错误数量。
可选的,错误处理装置40可以为一单独装置,也可以为从所有数据访问节点中选择的一个数据访问节点、错误记录中心或数据库配置中心等。
可选的,错误记录中心30可以通过远程字典服务(Redis,Remote DictionaryServer)或开源分布式应用程序协调服务(Zookeeper)等实现。
在上述数据库集群访问系统中,错误记录中心30、错误处理装置40及数据库配置中心50的功能可以由同一服务器来实现;或者,错误记录中心30和数据库配置中心50的功能由同一服务器实现,错误处理装置40的功能由任一数据访问节点来实现。
图2为本申请实施例提供的一种数据库错误处理方法的流程图。如图2所示,该方法应用于数据库错误处理装置,包括以下步骤:
步骤S11,获取错误统计信息,错误统计信息基于访问第一数据库集群的多个数据访问节点在检测到访问错误满足上报条件时上报的访问错误信息统计得到;
步骤S12,当确定所述错误统计信息满足集群切换条件时,根据集群切换指令控制第一数据库集群的所有数据访问节点,将当前访问的数据库集群地址从第一数据库集群地址修改为第二数据库集群地址。
本实施例中,根据对所有数据访问节点检测的访问错误的统计结果来确定是否进行集群切换,避免各数据访问节点单独记录自身访问错误造成对数据库集群访问错误统计不准确,进而造成对集群切换的误判,提高数据库集群访问错误统计及集群切换的准确性。另外,当需要进行集群切换时,由数据库错误处理装置控制数据库配置中心统一推送更新配置信息到所有数据访问节点,所有数据访问节点同时完成数据库集群的切换,避免主备数据库集群同时存在数据访问节点访问,保证数据一致性。同时,由于整个切换过程由系统自动完成,提高数据库集群切换的及时性,保证数据库集群访问的可用性。
在可选实施例中,上述步骤S11中的满足上报条件包括以下至少一项:
满足预设的时间周期,即距离上一次上报错误信息到达预设时间间隔;
检测到访问错误的数量达到预设上限;
基于检测到的访问错误确定第一数据库集群中发生访问错误的数据库节点数量到达预设数量,或基于检测到的访问错误确定第一数据库集群中发生访问错误的数据库节点数量达到第一数据库集群中所有数据库节点数量的预设比例;
基于检测到的访问错误确定第一数据库集群中一个或预设数量的数据库节点的访问错误数量大于或等于预设上限。在可选实施例中,错误统计信息可以由错误记录中心根据各个数据访问节点上报的访问错误信息进行错误统计得到。或者,数据库错误处理装置具有错误记录中心的功能,即由数据库错误处理装置根据各个数据访问节点上报的访问错误信息进行错误统计,得到错误统计信息。上述步骤S11包括:
步骤A1,接收访问所述第一数据库集群中的多个数据访问节点在检测到访问错误满足上报条件时上报的访问错误信息;
步骤A2,根据所述访问错误信息对所述第一数据库集群进行错误统计,得到错误统计信息。
这样,由数据库错误处理装置来对各数据访问节点在检测到访问错误满足上报条件时上报的访问错误信息进行统计,得到错误统计信息,即由数据库错误处理装置执行上述错误记录中心的功能。
在另一可选实施例中,为提高对访问错误检测的准确度,数据库错误处理装置进一步对检测到的访问错误进行筛选。上述步骤A2包括:确定所述访问错误信息对应的访问错误类型;当所述访问错误类型为数据库节点错误时,根据所述访问错误信息进行错误计数,得到错误统计信息;其中,所述错误统计信息包括以下至少一项:当前时间点对应的访问错误累计值、当前时间点之前预设时间窗口内的访问错误数量、所述第一数据库集群中发生访问错误的数据库节点数量、所述第一数据库集群中各数据库节点的访问错误数量。
可选的,访问错误类型可以包括:数据库节点错误、网络错误等等。数据库错误处理装置根据访问错误类型,筛选出数据库节点错误的访问错误信息。这样,可提高对数据库节点错误检测的准确性,进一步提高错误计数的准确性,避免对数据库集群切换的误判。
访问错误信息中可以包含发生访问错误时数据库节点反馈的错误信息,例如,“400Bad Request”,表示错误请求,如请求中有语法问题,或不能满足请求;“404NotFound”表示找不到,如找不到所要访问的资源,或文件不存在;等等。基于数据库节点反馈的错误信息可以识别错误访问信息对应的访问错误类型。例如,若访问错误信息中包含“404Not Found”,则可以确定该访问错误信息对应的访问错误类型为数据库节点错误。
可选的,访问错误信息中可以包含用于指示访问错误类型的标识,例如,数据库节点错误对应标识为“01”,网络错误对应标识为“02”,等等。基于访问错误类型标识可以识别错误访问信息对应的访问错误类型。
在可选实施例中,数据访问节点上报的访问错误信息可以包括访问数据库集群的集群标识及访问数据库集群中数据库节点的节点标识,或者数据访问节点上报的访问错误信息可以包括访问数据库集群中数据库节点的节点标识。这样,数据库错误处理装置根据集群标识、节点标识确定访问错误发生的数据库节点,进而统计发生访问错误的数据库节点数量,以及每个数据库节点的访问错误数量等等。
在可选实施例中,错误统计信息包括但不限于以下至少一项:
(1)当前时间点对应的访问错误累计值,即错误记录中心对所有数据访问节点上报的访问错误信息进行累计计数;
(2)当前时间点之前预设时间窗口内的访问错误数量,即错误记录中心对当前时间点之前一定时间段内所有数据访问节点上报的访问错误信息进行累计计数;
(3)第一数据库集群中发生访问错误的数据库节点数量,即错误记录中心对发生访问错误的数据库节点进行计数;
(4)第一数据库集群中数据库节点的访问错误数量,即错误记录中心对有数据访问节点上报的同一数据库节点的访问错误信息进行累计计数。
数据库错误处理装置从错误记录中心获取错误统计信息后,判断错误统计信息满足集群切换条件,包括但不限于以下至少一种情况:
(1)访问错误累计值大于或等于第一阈值;
(2)预设时段的访问错误数量大于或等于第二阈值;
(3)第一数据库集群中发生访问错误的数据库节点数量大于或等于预设数量,或第一数据库集群中发生访问错误的数据库节点数量大于或等于第一数据库集群中所有数据库节点数量的预设百分比;
(4)第一数据库集群中一个或预设数量的数据库节点的访问错误数量大于或等于第三阈值,等等。
在可选实施例中,数据库错误处理装置为控制各个数据访问节点进行数据库切换,可以在确定错误统计信息满足集群切换条件后,向数据库配置中心发送集群切换指令,数据库配置中心根据集群切换指令生成更新配置信息,并将更新配置信息推送到访问第一数据库集群的所有数据访问节点,以使访问第一数据库集群的所有数据访问节点根据更新配置信息同时进行数据库集群的切换。或者,数据库错误处理装置也可具备数据库配置中心的功能,即上述步骤S12包括步骤B1和B2。
步骤B1,根据所述集群切换指令生成更新配置信息。
步骤B2,将所述更新配置信息推送到访问所述第一数据库集群的所有数据访问节点,控制所述第一数据库集群的所有数据访问节点根据所述更新配置信息将当前访问的数据库集群地址从第一数据库集群地址修改为所述更新配置信息对应的第二数据库集群地址。
图3为本申请另一实施例提供的一种数据库错误处理方法的流程图。
如图3所示,该方法应用于数据访问节点,该方法包括以下步骤:
步骤S21,在访问第一数据库集群中的数据库节点时,进行访问错误检测;
步骤S22,当检测到访问错误时,将访问错误信息上报到错误记录中心,由错误记录中心根据访问错误信息进行错误统计。
本实施例中,访问第一数据库集群的数据访问节点,对访问错误进行检测并上报至错误记录中心,由错误记录中心集中对所有数据访问节点上报的访问错误进行统计,得到错误统计信息,避免各数据访问节点单独记录自身访问错误造成对数据库集群访问错误统计不准确,进而造成后续数据库错误处理装置对集群切换的误判,提高数据库集群访问错误统计及集群切换的准确性。
可选实施例中,为提高对访问错误检测的准确度,数据访问节点还进一步对检测到的访问错误进行筛选。上述步骤S22中,将访问错误信息上报到错误记录中心,包括:
步骤a1,根据访问错误信息确定访问错误类型;
步骤a2,当访问错误类型为数据库节点错误时,将访问错误信息上报到错误记录中心。
访问错误类型可以包括:数据库节点错误、网络错误等等。数据访问节点根据访问错误类型,筛选出数据库节点错误的访问错误信息上并上报至错误记录中心。这样,可提高对数据库节点错误检测的准确性,进一步提高错误记录中心错误计数的准确性,避免对数据库集群切换的误判。
可选实施例中,数据访问节点监听数据库配置中心下发的更新配置信息,已及时完成集群切换。该方法还包括:当接收到来自于数据库配置中心的更新配置信息时,根据更新配置信息将当前访问的数据库集群地址从第一数据库集群地址修改为更新配置信息对应的第二数据库集群地址。各数据访问节点通过修改当前访问的数据库集群地址,来完成数据库集群切换。
在可选实施例中,可以从访问数据库集群的所有数据访问节点中,选择一个数据访问节点作为上述数据库错误处理装置,根据错误统计信息判断是否进行集群切换。该方法还包括:
步骤b1,从错误记录中心获取错误统计信息;步骤b2,当确定错误统计信息满足集群切换条件时,发送集群切换指令到数据库配置中心。
本实施例中,执行上述步骤b1和b2的数据访问节点,可以为预先选择固定的数据访问节点,也可以根据需要,周期性随机选择一数据访问节点完成上述步骤的操作。可选的,数据访问节点的选择,可以由系统中的协调服务中间件(Zookeeper)执行。
图4为本申请另一实施例提供的一种数据库错误处理方法的流程图。
如图4所示,该方法应用于错误记录中心,该方法包括以下步骤:
步骤S31,接收访问第一数据库集群中的数据访问节点在检测到访问错误满足上报条件时上报的访问错误信息;
步骤S32,根据访问错误信息对第一数据库集群进行错误统计,得到错误统计信息。
本实施例中,由错误记录中心根据所有数据访问节点上报的访问错误信息进行错误统计,得到错误统计信息,避免各数据访问节点单独记录自身访问错误造成对数据库集群访问错误统计不准确,进而造成对集群切换的误判,提高数据库集群访问错误统计及集群切换的准确性。
在可选实施例中,为提高对访问错误检测的准确度,可由错误记录中心对接收到的访问错误信息进行筛选。上述步骤S31包括:
步骤c1,根据访问错误信息确定访问错误类型;
步骤c2,当访问错误类型为数据库节点错误时,根据访问错误信息进行错误计数,得到错误统计信息;
其中,错误统计信息包括以下至少一项:当前时间点对应的访问错误累计值、当前时间点之前预设时间窗口内的访问错误数量、所述第一数据库集群中发生访问错误的数据库节点数量、所述第一数据库集群中各数据库节点的访问错误数量。
访问错误类型可以包括:数据库节点错误、网络错误等等。错误记录中心根据访问错误类型,筛选出数据库节点错误的访问错误信息上并上报至错误记录中心。这样,提高错误记录中心错误计数的准确性,避免对数据库集群切换的误判。
在可选实施例中,错误记录中心还接收数据库配置中心推送的更新配置信息,在接收到更新配置信息后,将当前记录第一数据库集群的访问错误统计信息清除,重新开始对第二数据库集群的访问错误进行统计计数。
在可选实施例中,也可由错误记录中心作为上述数据库错误处理装置,根据错误统计信息判断是否进行集群切换,在确定进行集群切换时,发送集群切换指令到数据库配置中心。
下述为本申请装置实施例,可以用于执行本申请方法实施例。
图5为本申请实施例提供的一种数据库错误处理装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。
如图5所示,该数据库错误处理装置包括:
获取模块51,用于获取错误统计信息,错误统计信息基于访问第一数据库集群的多个数据访问节点在检测到访问错误满足上报条件时上报的访问错误信息统计得到;
发送模块52,用于当确定错误统计信息满足集群切换条件时,根据集群切换指令控制所述第一数据库集群的所有数据访问节点,将当前访问的数据库集群地址从第一数据库集群地址修改为第二数据库集群地址。
图6为本申请实施例提供的一种数据访问节点的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图6所示,该数据访问节点包括:
检测模块61,用于在访问第一数据库集群中的数据库节点时,进行访问错误检测;
上报模块62,用于当检测到访问错误满足上报条件时,将访问错误信息上报到错误记录中心,由错误记录中心根据访问错误信息进行错误统计。
可选的,上报模块62,用于根据访问错误信息确定访问错误类型;当访问错误类型为数据库节点错误时,将访问错误信息上报到错误记录中心。
可选的,数据访问节点还包括:切换模块,用于当接收到来自于数据库配置中心的更新配置信息时,根据更新配置信息将当前访问的数据库集群地址从第一数据库集群地址修改为更新配置信息对应的第二数据库集群地址。
可选的,数据访问节点还包括:获取模块,用于从错误记录中心获取错误统计信息;其中,错误统计信息包括以下至少一项:访问错误累计值、预设时段的访问错误数量、第一数据库集群中发生访问错误的数据库节点数量、第一数据库集群中各数据库节点的访问错误数量;发送模块,用于当确定错误统计信息满足集群切换条件时,发送集群切换指令到数据库配置中心。
图7为本申请实施例提供的一种错误记录中心的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图7所示,该错误记录中心包括:
接收模块71,用于接收访问第一数据库集群中的数据访问节点在检测到访问错误满足上报条件时上报的访问错误信息;
统计模块72,用于根据访问错误信息对第一数据库集群进行错误计数,得到错误统计信息。
可选的,统计模块72,用于根据访问错误信息确定访问错误类型;当访问错误类型为数据库节点错误时,根据访问错误信息进行错误计数,得到错误统计信息。其中,错误统计信息包括以下至少一项:访问错误累计值、预设时段的访问错误数量、第一数据库集群中发生访问错误的数据库节点数量、第一数据库集群中各数据库节点的访问错误数量。
下面以一个具体实例对数据库集群切换的流程进行详细说明。
如图8所示,HBase存储系统包括第一数据库集群11和第二数据库集群12。
数据访问节点20a、20b、20c……,即客户端20a、20b、20c……,当前访问第一数据库集群11。其中,客户端为Zookeeper选择的用于根据错误统计信息判断是否进行集群切换的节点。
客户端20a、20b、20c……在访问第一数据库集群11的过程中,进行访问错误检测,周期性将其中属于数据库节点错误的访问错误信息上报至错误记录中心30,如每隔1小时上报一次。
错误记录中心30对1小时内接收到所有访问第一数据库集群11的访问错误信息进行计数。
客户端20b每隔10分钟从错误记录中信息30获取计数结果,当发现1小时内的计数结果超过2000时,确定第一数据库集群11出现故障,需要切换到第二数据库集群12。客户端20b发送集群切换指令到数据库配置中心50。
数据库配置中心50在接收到集群切换指令后,生成并广播更新配置信息,并将更新配置信息推送到所有客户端20a、20b、20c……
各个客户端在接收到更新配置信息后,同时将当前访问的数据库集群地址修改为第二数据库集群12的地址。
在上述实施例中,由选定客户端根据错误记录中心对所有数据访问节点检测的访问错误的统计结果来确定是否进行集群切换,避免各客户端单独记录自身访问错误造成对数据库集群访问错误统计不准确,进而造成对集群切换的误判,提高数据库集群访问错误统计及集群切换的准确性。另外,当需要进行集群切换时,由选定客户端控制数据库配置中心统一推送更新配置信息到所有客户端,所有客户端同时完成数据库集群的切换,避免主备数据库集群同时存在客户端访问,保证数据一致性。同时,由于整个切换过程由系统自动完成,提高数据库集群切换的及时性,保证数据库集群访问的可用性。
本申请实施例还提供一种电子设备,如图9所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的计算机程序时,实现以下上述方法实施例的步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,P C I)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下上述方法实施例的步骤。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据库错误处理方法,其特征在于,所述方法包括:
获取错误统计信息,所述错误统计信息基于访问第一数据库集群的多个数据访问节点在检测到访问错误满足上报条件时上报的访问错误信息统计得到;
当确定所述错误统计信息满足集群切换条件时,根据集群切换指令控制所述第一数据库集群的所有数据访问节点,将当前访问的数据库集群地址从第一数据库集群地址修改为第二数据库集群地址。
2.根据权利要求1所述的方法,其特征在于,所述获取错误统计信息,包括:
接收访问所述第一数据库集群中的多个数据访问节点在检测到访问错误满足上报条件时上报的访问错误信息;
根据所述访问错误信息对所述第一数据库集群进行错误统计,得到错误统计信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述访问错误信息对所述第一数据库集群进行错误统计,得到错误统计信息,包括:
确定所述访问错误信息对应的访问错误类型;
当所述访问错误类型为数据库节点错误时,根据所述访问错误信息进行错误计数,得到错误统计信息;
其中,所述错误统计信息包括以下至少一项:当前时间点对应的访问错误累计值、当前时间点之前预设时间窗口内的访问错误数量、所述第一数据库集群中发生访问错误的数据库节点数量、所述第一数据库集群中各数据库节点的访问错误数量。
4.根据权利要求3所述的方法,其特征在于,所述错误统计信息满足集群切换条件包括以下至少一项:
所述访问错误累计值大于或等于第一阈值;
所述访问错误数量大于或等于第二阈值;
所述第一数据库集群中发生访问错误的数据库节点数量大于或等于预设数量,或所述第一数据库集群中发生访问错误的数据库节点数量大于或等于第一数据库集群中所有数据库节点数量的预设百分比;
所述第一数据库集群中一个或预设数量的数据库节点的访问错误数量大于或等于第三阈值。
5.根据权利要求1所述的方法,其特征在于,所述根据集群切换指令于控制所述第一数据库集群的所有数据访问节点,将当前访问的数据库集群地址从第一数据库集群地址修改为第二数据库集群地址,包括:
根据所述集群切换指令生成更新配置信息;
将所述更新配置信息推送到访问所述第一数据库集群的所有数据访问节点,控制所述第一数据库集群的所有数据访问节点根据所述更新配置信息将当前访问的数据库集群地址从第一数据库集群地址修改为所述更新配置信息对应的第二数据库集群地址。
6.一种数据库错误处理装置,其特征在于,包括:
获取模块,用于获取错误统计信息,所述错误统计信息基于访问第一数据库集群的多个数据访问节点在检测到访问错误满足上报条件时上报的访问错误信息统计得到;
控制模块,用于当确定所述错误统计信息满足集群切换条件时,根据集群切换指令控制所述第一数据库集群的所有数据访问节点,将当前访问的数据库集群地址从第一数据库集群地址修改为第二数据库集群地址。
7.一种数据库集群访问系统,其特征在于,所述系统包括:
数据访问节点,用于在访问第一数据库集群中的数据库节点时,进行访问错误检测;当检测到访问错误满足上报条件时,将访问错误信息上报到错误记录中心;
所述错误记录中心,用于根据所述访问错误信息进行错误统计,得到错误统计信息;
错误处理装置,用于从所述错误记录中心获取所述错误统计信息,当确定所述错误统计信息满足集群切换条件时,发送集群切换指令到数据库配置中心;
所述数据库配置中心,用于根据所述集群切换指令生成更新配置信息,并将所述更新配置信息推送到访问所述第一数据库集群的所有数据访问节点;
所述数据访问节点,用于根据所述更新配置信息将当前访问的数据库集群地址从第一数据库集群地址修改为所述更新配置信息对应的第二数据库集群地址。
8.根据权利要求7所述的系统,其特征在于,所述数据访问节点,用于根据所述访问错误信息确定访问错误类型;当所述访问错误类型为数据库节点错误时,将所述访问错误信息上报到所述错误记录中心;
或者,所述错误记录中心,用于确定所述访问错误信息对应的访问错误类型;当所述访问错误类型为数据库节点错误时,根据所述访问错误信息进行错误计数,得到错误统计信息;
其中,所述错误统计信息包括以下至少一项:当前时间点对应的访问错误累计值、当前时间点之前预设时间窗口内的访问错误数量、所述第一数据库集群中发生访问错误的数据库节点数量、所述第一数据库集群中各数据库节点的访问错误数量。
9.一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述计算机程序时,实现权利要求1-5任一项所述的方法步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-5任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110845697.2A CN113568781B (zh) | 2021-07-26 | 2021-07-26 | 一种数据库错误处理方法、装置及数据库集群访问系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110845697.2A CN113568781B (zh) | 2021-07-26 | 2021-07-26 | 一种数据库错误处理方法、装置及数据库集群访问系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113568781A true CN113568781A (zh) | 2021-10-29 |
CN113568781B CN113568781B (zh) | 2023-07-21 |
Family
ID=78167553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110845697.2A Active CN113568781B (zh) | 2021-07-26 | 2021-07-26 | 一种数据库错误处理方法、装置及数据库集群访问系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113568781B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827080A (zh) * | 2022-06-06 | 2022-07-29 | 武汉四通信息服务有限公司 | Ip切换方法、系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003152721A (ja) * | 2001-11-13 | 2003-05-23 | Hitachi Ltd | ネットワークシステム障害分析支援方法およびその方式 |
EP2546746A1 (en) * | 2011-07-14 | 2013-01-16 | Alcatel-Lucent Polska Sp. z.o.o. | Fault detection system and method of processing request in the fault detection system |
US8856583B1 (en) * | 2012-01-20 | 2014-10-07 | Google Inc. | Failover operation on a replicated distributed database system while maintaining access invariance |
CN105262633A (zh) * | 2015-11-27 | 2016-01-20 | 中国建设银行股份有限公司 | 一种应用级容灾方法及应用级容灾系统 |
US20170220431A1 (en) * | 2016-02-01 | 2017-08-03 | International Business Machines Corporation | Failover of a database in a high-availability cluster |
CN111061588A (zh) * | 2019-12-13 | 2020-04-24 | 北京奇艺世纪科技有限公司 | 一种定位数据库异常来源的方法及装置 |
-
2021
- 2021-07-26 CN CN202110845697.2A patent/CN113568781B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003152721A (ja) * | 2001-11-13 | 2003-05-23 | Hitachi Ltd | ネットワークシステム障害分析支援方法およびその方式 |
EP2546746A1 (en) * | 2011-07-14 | 2013-01-16 | Alcatel-Lucent Polska Sp. z.o.o. | Fault detection system and method of processing request in the fault detection system |
US8856583B1 (en) * | 2012-01-20 | 2014-10-07 | Google Inc. | Failover operation on a replicated distributed database system while maintaining access invariance |
CN105262633A (zh) * | 2015-11-27 | 2016-01-20 | 中国建设银行股份有限公司 | 一种应用级容灾方法及应用级容灾系统 |
US20170220431A1 (en) * | 2016-02-01 | 2017-08-03 | International Business Machines Corporation | Failover of a database in a high-availability cluster |
CN111061588A (zh) * | 2019-12-13 | 2020-04-24 | 北京奇艺世纪科技有限公司 | 一种定位数据库异常来源的方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827080A (zh) * | 2022-06-06 | 2022-07-29 | 武汉四通信息服务有限公司 | Ip切换方法、系统 |
CN114827080B (zh) * | 2022-06-06 | 2022-09-23 | 武汉四通信息服务有限公司 | Ip切换方法、系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113568781B (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110213068B (zh) | 一种消息中间件的监控方法及相关设备 | |
CN108737132B (zh) | 一种告警信息处理方法及装置 | |
CN113472607B (zh) | 应用程序网络环境检测方法、装置、设备及存储介质 | |
CN110888889A (zh) | 一种数据信息更新方法、装置及设备 | |
CN111104239A (zh) | 一种分布式存储集群的硬盘故障处理方法、系统及装置 | |
CN111049928A (zh) | 数据同步方法、系统、电子设备及计算机可读存储介质 | |
CN113141412A (zh) | 域名切换方法、系统、装置、设备及存储介质 | |
CN113568781B (zh) | 一种数据库错误处理方法、装置及数据库集群访问系统 | |
CN108256311B (zh) | 一种授权认证方法、装置及电子设备 | |
CN111600774B (zh) | 消费延迟确定方法、系统、装置、设备及可读存储介质 | |
CN117290557A (zh) | 一种数据加载方法、相关装置、设备以及可读存储介质 | |
CN111614701B (zh) | 一种分布式集群、以及容器状态切换方法、装置 | |
CN108156061B (zh) | esb监控服务平台 | |
CN111385157B (zh) | 一种服务器异常检测方法及装置 | |
CN108173711B (zh) | 企业内部系统数据交换监控方法 | |
CN110968475A (zh) | 监控网页的方法、装置、电子设备及可读存储介质 | |
CN112751722A (zh) | 数据传输质量监控方法和系统 | |
CN113596195B (zh) | 公共ip地址管理方法、装置、主节点及存储介质 | |
CN108156203B (zh) | 一种存储系统及存储节点管理方法 | |
CN112671590B (zh) | 数据传输方法、装置、电子设备及计算机存储介质 | |
CN110113187B (zh) | 一种配置更新方法、装置、配置服务器及配置系统 | |
CN113409876A (zh) | 一种故障硬盘的定位方法及系统 | |
CN114090293A (zh) | 一种服务提供方法及电子设备 | |
CN110928945B (zh) | 一种针对数据库的数据处理方法及装置,数据处理系统 | |
CN112817987A (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 |