CN116264541A - 一种基于多维度的数据库容灾方法及装置 - Google Patents
一种基于多维度的数据库容灾方法及装置 Download PDFInfo
- Publication number
- CN116264541A CN116264541A CN202211384747.2A CN202211384747A CN116264541A CN 116264541 A CN116264541 A CN 116264541A CN 202211384747 A CN202211384747 A CN 202211384747A CN 116264541 A CN116264541 A CN 116264541A
- Authority
- CN
- China
- Prior art keywords
- database
- node
- data
- log
- operating system
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000011084 recovery Methods 0.000 title claims abstract description 24
- 238000012423 maintenance Methods 0.000 claims abstract description 24
- 230000009471 action Effects 0.000 claims abstract description 23
- 230000001960 triggered effect Effects 0.000 claims abstract description 14
- 239000000523 sample Substances 0.000 claims description 69
- 238000001514 detection method Methods 0.000 claims description 24
- 230000002457 bidirectional effect Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 15
- 238000001914 filtration Methods 0.000 claims description 13
- 238000007635 classification algorithm Methods 0.000 claims description 5
- 230000002159 abnormal effect Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 12
- 239000000284 extract Substances 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请实施例公开了一种基于多维度的数据库容灾方法及装置,采集数据库中各个节点的网络连通性数据、数据库日志、操作系统内核日志以及数据库事件;其中,各个节点包括主节点和备节点;根据各个节点的网络连通性数据,判断是否符合预设主备切换条件;若符合预设主备切换条件,则触发主备切换动作;根据各个节点的数据库日志、操作系统内核日志以及数据库事件,预测数据库在未来时段内的故障率;若故障率超过预设阈值,则执行数据库维护任务;本申请通过业务网卡、管理网卡多链路探测主备节点可达性,避免主备简单互ping的异常切换,持续监控并预测主备节点故障发生概率,自动触发主动性维护。
Description
技术领域
本申请实施例涉及数据处理技术领域,具体涉及一种基于多维度的数据库容灾方法及装置。
背景技术
随着开源结构化查询语言(Structured Query Language,SQL)数据库的发展,例如PostGreSQL(也称为PG数据库)等开源数据库,随着互联网应用的高并发、海量数据使得数据库的负载越来越重,作为整个应用系统中的唯一“单点”,数据库能否可靠地为应用提供服务就变得越发重要。
PG数据库在高可用的场景中,有单点方式、主从方式和一主多从等应对方式;其中,以主从方式为首选部署方案;主从方式解决方案有两种:分别是通过插件绑定核心账户(VIP)方式和哨兵(redis进程)选举方式。
然而,插件绑定VIP方式在网络波动场景下,会导致VIP的连续漂移进入双主脑裂状态,数据库变为只读,应用系统可用性存在风险;哨兵选举方式中,哨兵集群最少需要多台服务器来完成选举动作,加上主从数据库节点,整个数据库集群至少要5台服务器才能完成高可用场景的构建,在资源紧张的场景下造成了资源浪费。另外,以上两类主从方式解决方案也都是主备间链路出现故障时,被动处理,没有对数据库宕机做预测来触发主动性维护动作。
发明内容
鉴于上述问题,本申请提出了一种基于多维度的数据库容灾方法、装置、计算设备及计算机存储介质,用于解决以下问题:现有的高可用方案都是出现故障时被动处理,没有对数据库宕机做预测来触发主动性维护动作的问题。
根据本申请实施例的一个方面,提供了一种基于多维度的数据库容灾方法,包括:
采集数据库中各个节点的网络连通性数据、数据库日志、操作系统内核日志以及数据库事件;其中,所述各个节点包括主节点和备节点;
根据各个节点的所述网络连通性数据,判断是否符合预设主备切换条件;若符合所述预设主备切换条件,则触发主备切换动作;
根据各个节点的所述数据库日志、所述操作系统内核日志以及所述数据库事件,预测所述数据库在未来时段内的故障率;
若所述故障率超过预设阈值,则执行数据库维护任务。
根据本申请实施例的另一方面,提供了一种基于多维度的数据库容灾装置,包括:
采集模块,用于采集数据库中各个节点的网络连通性数据、数据库日志、操作系统内核日志以及数据库事件;其中,所述各个节点包括主节点和备节点;
判断模块,用于根据各个节点的所述网络连通性数据,判断是否符合预设主备切换条件;
触发模块,用于若符合所述预设主备切换条件,则触发主备切换动作;
预测模块,用于根据各个节点的所述数据库日志、所述操作系统内核日志以及所述数据库事件,预测所述数据库在未来时段内的故障率;
处理模块,用于若所述故障率超过预设阈值,则执行数据库维护任务。
根据本申请实施例的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,可执行指令使处理器执行上述基于多维度的数据库容灾方法对应的操作。
根据本申请实施例的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述基于多维度的数据库容灾方法对应的操作。
根据本申请实施例提供的一种基于多维度的数据库容灾方法及装置,采集数据库中各个节点的网络连通性数据、数据库日志、操作系统内核日志以及数据库事件;其中,各个节点包括主节点和备节点;根据各个节点的网络连通性数据,判断是否符合预设主备切换条件;若符合预设主备切换条件,则触发主备切换动作;根据各个节点的数据库日志、操作系统内核日志以及数据库事件,预测数据库在未来时段内的故障率;若故障率超过预设阈值,则执行数据库维护任务;本发明通过业务网卡、管理网卡多链路探测主备节点可达性,避免主备简单互ping的异常切换,持续监控并预测主备节点故障发生概率,自动触发主动性维护。
上述说明仅是本申请实施例技术方案的概述,为了能够更清楚了解本申请实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本申请实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请实施例的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请实施例的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本申请一个实施例的基于多维度的数据库容灾方法的流程示意图;
图2示出了根据本申请实施例的基于多维度的数据库容灾方法的架构示意图;
图3a示出了根据本申请实施例探针发起双向业务网卡探测操作示意图;
图3b示出了根据本申请实施例的探针采集容器和样本库容器交互示意图;
图3c示出了根据本申请实施例的样本库容器和数据库宕机预测容器的交互示意图;
图4示出了根据本申请一个实施例的基于多维度的数据库容灾装置的结构框图;
图5示出了根据本申请一个实施例的一种计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明首先从应用视角进行多个维度的连通性检测,当检测判定失败时,触发主节点和备节点切换动作,并记录切换时间点及切换原因,同时采集多维度性能数据样本,进行朴素贝叶斯分类算法统计,预测未来数据库是否会发生故障并触发主动性维护。
图1示出了根据本申请一个实施例的基于多维度的数据库容灾方法的流程示意图,如图1所示,该方法包括如下步骤:
步骤S110:采集数据库中各个节点的网络连通性数据、数据库日志、操作系统内核日志以及数据库事件。
其中,各个节点包括主节点(PG master)和备节点(PG standby);在一种可选的方式中,步骤S110进一步包括:通过探针直连各个节点,向各个节点发送指令,以使各个节点执行双向业务网卡探测操作和双向管理网卡探测操作;采集各个节点通过执行双向业务网卡探测操作和双向管理网卡探测操作生成的网络连通性数据。
本实施例以PG数据库为例,图2示出了根据本申请实施例的基于多维度的数据库容灾方法的架构示意图,如图2所示,通过探针采集容器的探针直连主节点和备节点,采集PG数据库主节点和备节点多块网卡的网络连通性数据、数据库日志、操作系统内核日志(Kernel日志)以及数据库事件,将采集到的特征数据写入样本库容器中;其中,样本库容器由时序型数据库(例如TSDB数据库)构成,负责存储探针采集容器采集到的数据。
进一步地,图2中数据库宕机预测容器用于根据贝叶斯分类算法对样本库进行样本特征分类统计,计算各个数据库事件导致数据库宕机的概率;仲裁容器通过两方面仲裁,一方面根据实时多维度网络连通性数据判定当前数据库是否可连通;若多链路判断都不能连通再进行主节点和备节点切换动作;另一方面根据数据库宕机预测容器计算得出的宕机概率,预测未来一段时间(例如一天)内数据库发生故障的概率,并进行主动维护。
基于数据库日志、操作系统内核日志、数据库事件的报错信息可以定期主动预测主节点和备节点故障概率并触发主动性维护动作,提升数据库集群可用性,具体地,操作系统内核日志的报错信息基于运维人员经验总结产生,依据操作系统内核日志的报错信息形成规则库,使用规则库匹配出对于故障预测有价值的关键错误信息,再对数据预处理,得到分类器需要的输入数据格式,分类器基于模型及积累的样板数据预测主节点和备节点的故障概率;仲裁模块基于概率判定是否要执行主动性切换规避故障,集群故障监控记录模块定期监控集群状态并将每个周期采集的样本数据、预测结果、实际是否产生故障等数据持续更新到分类器的样本库,持续丰富的样本库将使得分类器的预测概率不断提升,从而提升集群可用性。
具体地说,图3a示出了根据本申请实施例探针发起双向业务网卡探测操作示意图,如图3a所示,PG数据库主节点和备节点生成公/私钥文件下发给探针采集容器的探针节点,探针采集容器的探针节点连接主节点和备节点采集网络连通性数据、数据库日志、操作系统内核日志以及数据库事件写入时间序列数据库(Time Series Database,TSDB),其中,为了保证数据的准确性和实时性,网络连通性数据可以按照预设时间粒度(例如15秒)探测一次,数据库日志、操作系统内核日志以及数据库事件可以实时收取。
在一种可选的方式中,网络连通性数据包括:业务网卡双节点间互连数据、管理网卡双节点间互连数据以及探针连接数据库探测数据。具体地,探针通过应用视角使用数据库连接(Java Database connect,JDBC)直连主备节点采集网络连通性数据;探针通过向主节点和备节点发送指令,通过虚拟网卡(例如veth)调用主节点和备节点的psql客户端发起双向业务网卡探测操作得到业务网卡双节点间互连数据,分别执行选择指令(select 1)简单查询以及创建临时表文件(即tmp_文件)时间戳。
类似的,探针通过向PG主节点和PG备节点发送指令,使用PG数据库主备节点的前端(psql客户端)发起双向管理网卡探测操作得到管理网卡双节点间互连数据,分别执行select 1简单查询以及创建临时表tmp_时间戳。
需要说明的是,数据库事件是分别从主节点和备节点的Kernel日志、数据库日志等日志中获得的,具体地,数据库事件通过发送用户数据报协议(User DatagramProtocol,UDP)向数据收集引擎(例如Logstash)发送事件收集指令,得到数据库事件后,通过过滤插件根据多个过滤规则抽取数据库事件日志关键词,输出过滤后的数据库事件写入时序数据库。具体地说,过滤插件针对数据库日志级别根据过滤规则进行第一次过滤,例如,预设过滤规则为抽取预警级别日志,如ERROR、FATAL、PANIC等级别的日志;例如,ERROR日志根据关键字“sever process was terminated by signal信号量”抽取32种信号量入样本库,FATAL级别日志、PANIC级别日志也可通过类似方式匹配关键词,将预警级别日志作为数据库事件导入时序数据库的样本库;Kernel内核日志可以直接发送预警级别日志,如warning、error、crit、alert、emerg等级别日志,过滤插件根据上述预警级别抽取预警日志作为数据库事件导入时序数据库的样本库。
步骤S120:根据各个节点的网络连通性数据,判断是否符合预设主备切换条件;若符合预设主备切换条件,则执行步骤S130;若不符合预设主备切换条件,返回执行步骤S110。
步骤S130:触发主备切换动作。
具体地说,根据各个节点的网络连通性数据判断主节点和备节点的网络连通性,若业务网卡双节点间互连数据、管理网卡双节点间互连数据以及探针连接数据库探测数据任一连通,则任务结束,若业务网卡双节点间互连数据、管理网卡双节点间互连数据以及探针连接数据库探测数据均不连通,则判定其符合主备切换条件,触发主备切换动作。
步骤S140:根据各个节点的数据库日志、操作系统内核日志以及数据库事件,预测数据库在未来时段内的故障率。
在一种可选的方式中,步骤S140进一步包括下述步骤1-3:
步骤1:对各个节点的数据库日志、操作系统内核日志以及数据库事件进行处理,得到各个节点的特征数据,并将各个节点的特征数据写入至时序数据库中。
在一种可选的方式中,步骤1进一步包括:利用预设过滤规则,对各个节点的数据库日志、操作系统内核日志以及数据库事件进行过滤,而后将数据库日志、操作系统内核日志以及数据库事件与关键词进行匹配,得到处理后的数据库日志、处理后的操作系统内核日志以及处理后的数据库事件;针对各个节点中的每个节点,将该节点的处理后的数据库日志、处理后的操作系统内核日志以及处理后的数据库事件作为该节点的特征数据。
步骤2:从时序数据库中提取当前时段内的各个节点的特征数据。
步骤3:根据当前时段内的各个节点的特征数据,预测数据库在未来时段内的故障率。
在一种可选的方式中,步骤3进一步包括:对当前时段内的各个节点的特征数据进行处理,得到各个节点的样本数据,并将各个节点的样本数据写入至样本库中;根据贝叶斯分类算法,对样本库中的各个节点的样本数据进行分类统计,计算数据库在未来时段内的故障率。
图3b示出了根据本申请实施例的探针采集容器和样本库容器交互示意图,如图3b所示,具体地说,数据库故障预测容器从样本库容器中分别抽取主节点和备节点的样本数据计算数据库在未来时段内的故障率,两份样本数据独立运算,输出插件通过与预设的数据库关键字指标匹配,写入时序数据库;样本库容器从TSDB中抽取当天关键字指标,如果与关键字指标匹配上了则结果集=1,未匹配上=0,生成集合[否,是,否,是,否,是.....否]写入样本库容器的样本库,其中是=1,否=0;随着样本库的不断更新,可以让预测结果更加准确。
图3c示出了根据本申请实施例的样本库容器和数据库宕机预测容器的交互示意图,如图3c所示,根据探针采集到的各个节点的网络连通性数据以及以往发生的数据库宕机或切换的特征数据,使用贝叶斯公式如下式(1)计算当日数据库宕机的概率:
其中,其中P(A|B)是在B发生的情况下A发生的可能性;P(A)是A的先验概率或边缘概率;P(B|A)是已知A发生后B的条件概率,P(B)是B的先验概率或边缘概率。
以探针采集到354种样本数据举例,如:在过去的一周,有三天出现了数据库故障,假设出现故障为1,未出现故障为0,将结果设为变量Y=[0,0,1,0,1,0,1],表1示出了过去一周内采集到的预警日志样本数据,如表1所示,预警级别1-4可以分别对应ERROR、FATAL、PANIC、alert、emerg等不同级别日志。
预警级别1 | 预警级别2 | 预警级别3 | 预警级别4 | |
周一 | 否 | 否 | 是 | 否 |
周二 | 否 | 否 | 是 | 否 |
周三 | 是 | 是 | 否 | 否 |
周四 | 否 | 否 | 否 | 否 |
周五 | 是 | 否 | 否 | 是 |
周六 | 否 | 否 | 否 | 是 |
周日 | 是 | 否 | 否 | 否 |
预测今日故障率 | 是 | 否 | 否 | 是 |
表1过去一周内采集到的预警日志样本数据
根据引入伯努利贝叶斯分类器库计算得出今天数据库故障结果为[[0.167318090.83268191]];数据库在未来时段(例如一天内)内将要发生故障的概率为:0.83268191;数据库在未来时段内不会发生故障的概率为:0.16731809;即预测得到数据库在未来时段内的故障率为:0.83268191。
步骤S150:若故障率超过预设阈值,则执行数据库维护任务。
在一种可选的方式中,步骤S150进一步包括:检测主备切换是否已完成,若主备切换已完成,则进行VIP切换操作,更新原有的主节点的配置信息,并检测主备关系,向数据库管理员发送主备切换通知。
具体地说,仲裁模块用于仲裁容器通过两方面仲裁,一方面根据实时多维度网络连通性数据判定当前数据库是否可连通;若多链路判断都不能连通再进行主节点和备节点切换动作;另一方面根据数据库宕机预测容器计算得出的宕机概率,预测未来一段时间(例如一天)内数据库发生故障的概率,并进行主动维护。
综上,仲裁模块执行主备切换动作包括以下步骤1-8:
步骤1:拉取当前主备节点网络连通性指标。
步骤2:拉取当天数据库预测故障率。
具体地,仲裁容器从TSDB中拉取当前主备节点网络连通性指标以及当日数据库发生故障概率。仲裁容器从TSDB中拉取当前主节点和备节点网络连通性数据以及当日数据库发生故障的故障率;需要说明的是,步骤1和2可以同时执行,也可根据任意执行顺序先后执行,无确定先后执行顺序。
步骤3:同时判断三个连通性,若三者中任一连通,则任务结束;若三个都不连通时执行步骤5。
同时根据网络连通性数据(业务网卡双节点间互连数据、管理网卡双节点间互连数据以及探针连接数据库探测数据)的连通性判定是否触发主节点和备节点切换动作,若三个网络连通性数据都不通时,触发主备切换动作。
步骤4:判断预测故障率是否大于预设阈值,若是,执行步骤5;若否,任务结束。
具体地说,故障率预设阈值可以预先设置,例如设置为0.8等。其中,本实施例中不限定步骤3和步骤4执行顺序,步骤3和步骤4可以同时执行,也可以先后执行。
步骤5:仲裁容器执行主备切换动作。
具体地,冲裁模块通过向备节点发送切换指令(promoteSQL指令)切换至备节点。
步骤6:检测切换完成后,进行VIP切换操作。
具体地说,仲裁模块检测新的主节点是否已成功切换,成功后将VIP切换。
步骤7:更新原有的主节点的配置信息。
具体地,将原主库作为备库身份同步,将原主库修复(recovery)配置作为备库进行身份更改,根据PG_WAL指令更新原有的主节点的配置信息。
步骤8:检测主备关系,向数据库管理员发送主备切换通知。
具体地说,重新检测主备关系,并向数据库管理员(DBA)发送通知告知已触发主备切换动作。
采用本实施例的方法,通过业务网卡、管理网卡多链路探测主备节点可达性,避免主备简单互ping的异常切换,持续监控并预测主备节点故障发生概率,自动触发主动性维护,既能解决资源池网络不稳定造成VIP连续切换进而造成脑裂的问题,又能根据以往数据库事件的样本,根据机器学习预测结果,进行故障发生概率的提前预测,主动对数据库进行切换维护动作,避免PG数据库故障发生,改进了对PG数据库主备节点仲裁机制,降低了网络波动状态下瞬时业务网卡访问延迟、丢包对主备节点异常切换的风险。
图4示出了根据本申请一个实施例的基于多维度的数据库容灾装置的结构框图,如图4所示,该装置包括:采集模块410、判断模块420、触发模块430、预测模块440和处理模块450。
采集模块410,用于采集数据库中各个节点的网络连通性数据、数据库日志、操作系统内核日志以及数据库事件;其中,各个节点包括主节点和备节点。
在一种可选的方式中,采集模块410进一步用于:通过探针直连各个节点,向各个节点发送指令,以使各个节点执行双向业务网卡探测操作和双向管理网卡探测操作;采集各个节点通过执行双向业务网卡探测操作和双向管理网卡探测操作生成的网络连通性数据。
在一种可选的方式中,网络连通性数据包括:业务网卡双节点间互连数据、管理网卡双节点间互连数据以及探针连接数据库探测数据。
判断模块420,用于根据各个节点的网络连通性数据,判断是否符合预设主备切换条件。
触发模块430,用于若符合预设主备切换条件,则触发主备切换动作。
预测模块440,用于根据各个节点的数据库日志、操作系统内核日志以及数据库事件,预测数据库在未来时段内的故障率。
在一种可选的方式中,预测模块440进一步用于:对各个节点的数据库日志、操作系统内核日志以及数据库事件进行处理,得到各个节点的特征数据,并将各个节点的特征数据写入至时序数据库中;从时序数据库中提取当前时段内的各个节点的特征数据;根据当前时段内的各个节点的特征数据,预测数据库在未来时段内的故障率。
在一种可选的方式中,预测模块440进一步用于:利用预设过滤规则,对各个节点的数据库日志、操作系统内核日志以及数据库事件进行过滤,而后将数据库日志、操作系统内核日志以及数据库事件与关键词进行匹配,得到处理后的数据库日志、处理后的操作系统内核日志以及处理后的数据库事件;针对各个节点中的每个节点,将该节点的处理后的数据库日志、处理后的操作系统内核日志以及处理后的数据库事件作为该节点的特征数据。
在一种可选的方式中,预测模块440进一步用于:对当前时段内的各个节点的特征数据进行处理,得到各个节点的样本数据,并将各个节点的样本数据写入至样本库中;根据贝叶斯分类算法,对样本库中的各个节点的样本数据进行分类统计,计算数据库在未来时段内的故障率。
处理模块450,用于若故障率超过预设阈值,则执行数据库维护任务。
在一种可选的方式中,处理模块450进一步用于:检测主备切换是否已完成,若主备切换已完成,则进行VIP切换操作,更新原有的主节点的配置信息,并检测主备关系,向数据库管理员发送主备切换通知。
以上各模块的描述参照方法实施例中对应的描述,在此不再赘述。
根据本申请实施例提供的基于多维度的数据库容灾装置,通过采集数据库中各个节点的网络连通性数据、数据库日志、操作系统内核日志以及数据库事件;其中,各个节点包括主节点和备节点;根据各个节点的网络连通性数据,判断是否符合预设主备切换条件;若符合预设主备切换条件,则触发主备切换动作;根据各个节点的数据库日志、操作系统内核日志以及数据库事件,预测数据库在未来时段内的故障率;若故障率超过预设阈值,则执行数据库维护任务;本发明通过业务网卡、管理网卡多链路探测主备节点可达性,避免主备简单互ping的异常切换,持续监控并预测主备节点故障发生概率,自动触发主动性维护。
本发明实施例提供了一种非易失性计算机存储介质,计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的一种基于多维度的数据库容灾方法。
可执行指令具体可以用于使得处理器执行以下操作:
采集数据库中各个节点的网络连通性数据、数据库日志、操作系统内核日志以及数据库事件;其中,各个节点包括主节点和备节点;
根据各个节点的网络连通性数据,判断是否符合预设主备切换条件;若符合预设主备切换条件,则触发主备切换动作;
根据各个节点的数据库日志、操作系统内核日志以及数据库事件,预测数据库在未来时段内的故障率;
若故障率超过预设阈值,则执行数据库维护任务。
图5示出了本发明计算设备实施例的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图5所示,该计算设备可以包括:
处理器(processor)、通信接口(Communications Interface)、存储器(memory)、以及通信总线。
其中:处理器、通信接口、以及存储器通过通信总线完成相互间的通信。通信接口,用于与其它设备比如客户端或其它服务器等的网元通信。处理器,用于执行程序,具体可以执行上述一种基于多维度的数据库容灾方法实施例中的相关步骤。
具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。
处理器可能是中央处理器CPU,或者是特定集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。服务器包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器,用于存放程序。存储器可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序具体可以用于使得处理器执行以下操作:
采集数据库中各个节点的网络连通性数据、数据库日志、操作系统内核日志以及数据库事件;其中,各个节点包括主节点和备节点;
根据各个节点的网络连通性数据,判断是否符合预设主备切换条件;若符合预设主备切换条件,则触发主备切换动作;
根据各个节点的数据库日志、操作系统内核日志以及数据库事件,预测数据库在未来时段内的故障率;
若故障率超过预设阈值,则执行数据库维护任务。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
Claims (10)
1.一种基于多维度的数据库容灾方法,其特征在于,包括:
采集数据库中各个节点的网络连通性数据、数据库日志、操作系统内核日志以及数据库事件;其中,所述各个节点包括主节点和备节点;
根据各个节点的所述网络连通性数据,判断是否符合预设主备切换条件;若符合所述预设主备切换条件,则触发主备切换动作;
根据各个节点的所述数据库日志、所述操作系统内核日志以及所述数据库事件,预测所述数据库在未来时段内的故障率;
若所述故障率超过预设阈值,则执行数据库维护任务。
2.根据权利要求1所述的方法,其特征在于,所述采集数据库中各个节点的网络连通性数据进一步包括:
通过探针直连各个节点,向各个节点发送指令,以使各个节点执行双向业务网卡探测操作和双向管理网卡探测操作;
采集各个节点通过执行双向业务网卡探测操作和双向管理网卡探测操作生成的网络连通性数据。
3.根据权利要求1所述的方法,其特征在于,所述网络连通性数据包括:业务网卡双节点间互连数据、管理网卡双节点间互连数据以及探针连接数据库探测数据。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据各个节点的所述数据库日志、所述操作系统内核日志以及所述数据库事件,预测所述数据库在未来时段内的故障率进一步包括:
对各个节点的所述数据库日志、所述操作系统内核日志以及所述数据库事件进行处理,得到各个节点的特征数据,并将各个节点的特征数据写入至时序数据库中;
从所述时序数据库中提取当前时段内的各个节点的特征数据;
根据所述当前时段内的各个节点的特征数据,预测所述数据库在未来时段内的故障率。
5.根据权利要求4所述的方法,其特征在于,所述对各个节点的所述数据库日志、所述操作系统内核日志以及所述数据库事件进行处理,得到各个节点的特征数据进一步包括:
利用预设过滤规则,对各个节点的所述数据库日志、所述操作系统内核日志以及所述数据库事件进行过滤,而后将所述数据库日志、所述操作系统内核日志以及所述数据库事件与关键词进行匹配,得到处理后的数据库日志、处理后的操作系统内核日志以及处理后的数据库事件;
针对各个节点中的每个节点,将该节点的处理后的数据库日志、处理后的操作系统内核日志以及处理后的数据库事件作为该节点的特征数据。
6.根据权利要求4或5所述的方法,其特征在于,所述根据所述当前时段内的各个节点的特征数据,预测所述数据库在未来时段内的故障率进一步包括:
对所述当前时段内的各个节点的特征数据进行处理,得到各个节点的样本数据,并将各个节点的样本数据写入至样本库中;
根据贝叶斯分类算法,对所述样本库中的各个节点的样本数据进行分类统计,计算所述数据库在未来时段内的故障率。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述执行数据库维护任务进一步包括:
检测主备切换是否已完成,若主备切换已完成,则进行VIP切换操作,更新原有的主节点的配置信息,并检测主备关系,向数据库管理员发送主备切换通知。
8.一种基于多维度的数据库容灾装置,其特征在于,包括:
采集模块,用于采集数据库中各个节点的网络连通性数据、数据库日志、操作系统内核日志以及数据库事件;其中,所述各个节点包括主节点和备节点;
判断模块,用于根据各个节点的所述网络连通性数据,判断是否符合预设主备切换条件;
触发模块,用于若符合所述预设主备切换条件,则触发主备切换动作;
预测模块,用于根据各个节点的所述数据库日志、所述操作系统内核日志以及所述数据库事件,预测所述数据库在未来时段内的故障率;
处理模块,用于若所述故障率超过预设阈值,则执行数据库维护任务。
9.一种计算设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7中任一项所述的一种基于多维度的数据库容灾方法对应的操作。
10.一种计算机存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-7中任一项所述的一种基于多维度的数据库容灾方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211384747.2A CN116264541A (zh) | 2022-11-07 | 2022-11-07 | 一种基于多维度的数据库容灾方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211384747.2A CN116264541A (zh) | 2022-11-07 | 2022-11-07 | 一种基于多维度的数据库容灾方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116264541A true CN116264541A (zh) | 2023-06-16 |
Family
ID=86723741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211384747.2A Pending CN116264541A (zh) | 2022-11-07 | 2022-11-07 | 一种基于多维度的数据库容灾方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116264541A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116827761A (zh) * | 2023-08-30 | 2023-09-29 | 深圳鼎信通达股份有限公司 | 双机热备的切换方法、系统、设备及介质 |
-
2022
- 2022-11-07 CN CN202211384747.2A patent/CN116264541A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116827761A (zh) * | 2023-08-30 | 2023-09-29 | 深圳鼎信通达股份有限公司 | 双机热备的切换方法、系统、设备及介质 |
CN116827761B (zh) * | 2023-08-30 | 2023-11-10 | 深圳鼎信通达股份有限公司 | 双机热备的切换方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9672085B2 (en) | Adaptive fault diagnosis | |
JP2022160405A (ja) | アラームログ圧縮方法、装置、およびシステム、並びに記憶媒体 | |
Gainaru et al. | Fault prediction under the microscope: A closer look into HPC systems | |
US8938421B2 (en) | Method and a system for synchronizing data | |
EP1405187B1 (en) | Method and system for correlating and determining root causes of system and enterprise events | |
WO2019182671A1 (en) | System and method for process state processing | |
CN106209405B (zh) | 故障诊断方法及装置 | |
CN106789306B (zh) | 通信设备软件故障检测收集恢复方法和系统 | |
US20160055044A1 (en) | Fault analysis method, fault analysis system, and storage medium | |
CN112506702B (zh) | 数据中心容灾方法、装置、设备及存储介质 | |
US20110314138A1 (en) | Method and apparatus for cause analysis configuration change | |
WO2016188100A1 (zh) | 信息系统故障场景信息收集方法及系统 | |
US9037905B2 (en) | Data processing failure recovery method, system and program | |
CN109669844A (zh) | 设备故障处理方法、装置、设备和存储介质 | |
WO2024148857A1 (zh) | 服务器故障根因的过滤方法和装置、非易失性可读存储介质及电子装置 | |
CN108390782A (zh) | 一种集中式应用系统性能问题综合分析方法 | |
CN116264541A (zh) | 一种基于多维度的数据库容灾方法及装置 | |
CN108804239A (zh) | 平台整合的方法、装置、计算机设备和存储介质 | |
He et al. | Tscope: Automatic timeout bug identification for server systems | |
US11822578B2 (en) | Matching machine generated data entries to pattern clusters | |
CN112579552A (zh) | 日志存储及调用方法、装置及系统 | |
CN116260703A (zh) | 分布式消息服务节点cpu性能故障自恢复方法及装置 | |
Sahoo et al. | Providing persistent and consistent resources through event log analysis and predictions for large-scale computing systems | |
AU2014200806B1 (en) | Adaptive fault diagnosis | |
CN113824601A (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 |