CN109308242A - 一种动态监控方法、装置、设备和存储介质 - Google Patents

一种动态监控方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN109308242A
CN109308242A CN201811037751.5A CN201811037751A CN109308242A CN 109308242 A CN109308242 A CN 109308242A CN 201811037751 A CN201811037751 A CN 201811037751A CN 109308242 A CN109308242 A CN 109308242A
Authority
CN
China
Prior art keywords
database
host
standby host
consuming
journal
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
Application number
CN201811037751.5A
Other languages
English (en)
Other versions
CN109308242B (zh
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.)
Shanghai Dameng Database Co Ltd
Original Assignee
Shanghai Dameng Database Co Ltd
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 Shanghai Dameng Database Co Ltd filed Critical Shanghai Dameng Database Co Ltd
Priority to CN201811037751.5A priority Critical patent/CN109308242B/zh
Publication of CN109308242A publication Critical patent/CN109308242A/zh
Application granted granted Critical
Publication of CN109308242B publication Critical patent/CN109308242B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种动态监控方法、装置、设备和存储介质。其中,该方法包括:获取当前周期的数据库日志,并将数据库日志发送给数据库备机;当前周期监控参数的至少一项大于监控阈值,则将数据库备机的状态切换为无效状态,该当前周期监控参数包括数据库日志的平均传输耗时和平均重演耗时;将历史数据库日志发送给数据库备机;历史周期监控参数小于或等于监控阈值,则将数据库备机的状态切换为有效状态,该历史周期监控参数包括历史数据库日志的平均传输耗时和平均重演耗时。本发明实施例提供的技术方案,实现了数据库主机与数据库备机之间的网络传输异常或数据库备机异常的动态监控,提高了数据库主机的响应速度,优化了数据库主机性能。

Description

一种动态监控方法、装置、设备和存储介质
技术领域
本发明实施例涉及数据库处理领域,尤其涉及一种动态监控方法、装置、设备和存储介质。
背景技术
在数据库技术高速发展的当下,针对数据库高可用性的实现需求也越来越大。而数据库主备系统是当前比较常见的针对数据库高可用性的解决方案,通常由一个主机、一个或若干个备机构成。其中,主机对外提供正常的数据库服务,备机通过一些方式实时或异步地保持与主机的数据一致,以能够在主机出现故障时切换成主机对外继续提供服务。
目前较为常见的保证备机与主机数据一致的方法是主机将自身的重做日志(Redolog)发送给备机,备机通过重演主机的Redo日志,保持与主机的数据同步。当备机需要与主机保持实时同步时,主机应在Redo日志写入磁盘之前,通过网络向备机发送Redo日志,并在收到备机日志重演完成的响应消息后,再将Redo日志写入磁盘。
而当主机与备机之间的网络出现故障、网络连接正常但速度异常降低;或者备机出现异常,备机数据库实例正常活动,但Redo日志重演速度异常降低等情况时,由于主机需要等待备机日志重演完成的响应消息才将Redo日志写入磁盘,因此主机性能会受到网络传输异常或备机异常的影响,此时主机上事务提交等涉及到Redo日志刷盘的数据库请求对应的响应速度会变慢,进而影响主机的响应速度,造成业务系统响应变慢。
发明内容
本发明实施例提供了一种动态监控方法、装置、设备和存储介质,以实现数据库主机与数据库备机之间的网络传输异常或数据库备机异常的监控,提高数据库主机的响应速度,优化数据库主机性能。
第一方面,本发明实施例提供了一种动态监控方法,该方法包括:
获取当前周期的数据库日志,并将所述数据库日志发送给数据库备机;
当前周期监控参数的至少一项大于监控阈值,则将所述数据库备机的状态切换为无效状态,所述当前周期监控参数包括所述数据库日志的平均传输耗时和所述数据库备机重演所述数据库日志的平均重演耗时;
将历史数据库日志发送给所述数据库备机;
历史周期监控参数小于或等于监控阈值,则将所述数据库备机的状态切换为有效状态,所述历史周期监控参数包括所述历史数据库日志的平均传输耗时和所述数据库备机重演所述历史数据库日志的平均重演耗时。
第二方面,本发明实施例提供了一种动态监控装置,该装置包括:
当前日志获取模块,用于获取当前周期的数据库日志,并将所述数据库日志发送给数据库备机;
备机无效模块,用于当前周期监控参数的至少一项大于监控阈值,则将所述数据库备机的状态切换为无效状态,所述当前周期监控参数包括所述数据库日志的平均传输耗时和所述数据库备机重演所述数据库日志的平均重演耗时;
历史日志发送模块,用于将历史数据库日志发送给所述数据库备机;
备机恢复模块,用于历史周期监控参数小于或等于监控阈值,则将所述数据库备机的状态切换为有效状态,所述历史周期监控参数包括所述历史数据库日志的平均传输耗时和所述数据库备机重演所述历史数据库日志的平均重演耗时。
第三方面,本发明实施例提供了一种设备,该设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所述的动态监控方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述的动态监控方法。
本发明实施例提供了一种动态监控方法、装置、设备和存储介质,通过对数据库主机和数据库备机之间数据库日志的平均传输耗时和数据库备机重演数据库日志的平均重演耗时进行监控,从而动态切换数据库备机的当前状态,实现了数据库主机与数据库备机之间的网络传输异常或数据库备机异常的动态监控,将异常数据库备机的状态切换为无效状态,在网络传输恢复正常或异常数据库备机恢复正常后再将备机切换为有效状态,提高了数据库主机的响应速度,优化了数据库主机性能。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明实施例一提供的一种动态监控方法的流程图;
图2为本发明实施例二提供的一种动态监控方法的流程图;
图3A为本发明实施例三提供的对数据库备机的异常检测过程的流程图;
图3B为本发明实施例三提供的对异常数据库备机的动态恢复过程的流程图;
图4为本发明实施例四提供的一种动态监控装置的结构示意图;
图5为本发明实施例五提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种动态监控方法的流程图,本实施例可适用于任一种由一个数据库主机以及至少一个数据库备机构成的可以实现数据库高可用性的数据库主备系统中。本实施例提供的一种动态监控方法可以由本发明实施例提供的动态监控装置来执行,该装置可以通过软件和/或硬件的方式来实现,并集成在执行本方法的设备中,在本实施例中执行本方法的设备可以是平板电脑、台式机和笔记本等任意一种具备数据库主机功能的智能终端。具体的,参考图1,该方法可以包括如下步骤:
S110,获取当前周期的数据库日志,并将数据库日志发送给数据库备机。
具体的,数据库主备系统中的数据库主机对外提供正常的数据库服务,而数据库备机会实时或异步地保持与数据库主机的数据一致,以在数据库主机出现故障时,可以将该数据库备机切换为数据库主机继续对外提供数据库服务。其中,数据库日志是数据库主机对外提供正常的数据库服务,执行相应操作时生成的日志数据;同时,数据库备机通过重演数据库主机生成的数据库日志,来保证与数据库主机的数据保持一致。
本实施例中的数据库日志主要为重做日志(Redo log),用于实现数据库的恢复。其中,重做日志主要分为联机重做日志和归档日志。联机重做日志主要用于数据库主机或数据库备机突然断电、突然重启或者执行中断等命令的情况下,通过联机重做日志可以把数据库恢复到主备机掉电前的那一个时刻,从而使得数据库能够正常启动;每个数据库实例至少有两个联机重做日志文件,联机重做日志文件是循环使用的。归档日志主要用于硬件级别的错误,例如磁盘的坏道导致无法读写、写入失败、磁盘受损导致数据库数据丢失等,通过归档日志可以把数据库恢复到归档日志所在的时间点上,然后再通过联机重做日志文件把数据库恢复到当前的时间点上;归档日志可以理解为联机重做日志的备份,即当数据库日志从内存写入联机重做日志文件之后,会再保留一份到归档日志文件中。
数据库主机在对外提供数据库服务后,会将对应生成的数据库日志发送给数据库备机,使数据库备机重演本次数据库服务过程中的数据库日志,从而实现数据库主备机间的数据一致。本实施例中的动态监控时,需要对数据库主备机之间的网络传输异常或数据库备机重演异常的情况进行分析,因此需要确定数据库主机在当前周期内向数据库备机发送的数据库日志的平均传输耗时和数据库备机重演当前周期内的数据库日志的平均重演耗时,此时数据库主机首先需要获取当前周期的数据库日志,并确定当前周期的数据库日志已经发送给数据库备机。具体的,数据库主机可以在当前周期内对外提供数据库服务后,实时将当前周期生成的数据库日志发送给数据库备机,从而进行数据库日志的重演。
S120,当前周期监控参数的至少一项大于监控阈值,则将数据库备机的状态切换为无效状态。
其中,当前周期监控参数包括数据库日志的平均传输耗时和数据库备机重演数据库日志的平均重演耗时。具体的,本实施例中数据库主机和数据库备机上分别部署一个守护进程,该守护进程用于监控所在服务器的数据库主机或数据库备机中的数据库实例的运行情况,其中,数据库实例可以是数据库主机或数据库备机的内存中处于运行状态的数据库程序,相当于数据库服务进程。此外,监控阈值是检测数据库日志的平均传输耗时和数据库备机重演数据库日志的平均重演耗时在数据库主备系统的网络传输时或者数据库备机重演时能够达到的上限值,用于判断数据库主备系统的网络传输是否异常或者数据库备机重演是否异常。由于本实施例中当前周期监控参数包括平均传输耗时和平均重演耗时,因此监控阈值可以包括数据库主机发送数据库日志到数据库备机的传输耗时阈值和数据库备机重演数据库日志的重演耗时阈值。
此外,本实施例中包含传输耗时阈值和重演耗时阈值的监控阈值可以由用户根据监控需求自行设定,并同时保存在数据库主机和数据库备机的守护进程上,以监控数据库主备系统的网络异常或数据库备机的重演异常。同时,在数据库备机的守护进程上存储该监控阈值,还可以用于在数据库主机出现故障,需要数据库备机切换为主机继续对外提供数据库服务时,使数据库备机在此时也能够作为主机根据该监控阈值继续监控数据库主备系统的网络异常或数据库备机的重演异常。而本实施例中主要说明数据库主备系统间的网络异常和数据库备机的重演异常的问题,并不关注数据库主机的故障问题,因此本实施例中并不对数据库备机的守护进程上的监控阈值作出详细说明。
需要说明的是,本实施例中数据库日志的平均传输耗时可以通过本机,也就是数据库主机的守护进程获取,数据库日志的平均重演耗时可以通过数据库备机上的守护进程获取。具体的,数据库主机定时将当前周期内最近N次数据库日志发送给数据库备机的传输耗时发送给主机守护进程(N为预设值,由用户自行设定),数据库主机上的主机守护进程定时计算最近N次数据库日志的平均传输耗时;同时数据库备机定时将重演最近N次数据库日志的重演耗时发送给备机守护进程,数据库备机上的备机守护进程定时计算最近N次数据库日志的平均重演耗时,并将其发送给数据库主机上的主机守护进程,由数据库主机上的主机守护进程根据监控阈值中的传输耗时阈值和重演耗时阈值分别判断是否出现网络异常或数据库备机重演异常。其中,主机守护进程计算数据库主机最近N次数据库日志发送至数据库备机的平均传输耗时的方法为:AVG_SEND=最近N次累计数据库日志传输耗时/次数N,其中AVG_SEND为平均传输耗时;备机守护进程计算数据库备机重演最近N次数据库日志的平均重演耗时的方法为:AVG_APPLY=最近N次累计数据库日志重演耗时/次数N,其中AVG_APPLY为平均重演耗时。
进一步的,数据库主机上的主机守护进程在数据库主备系统正常工作(OPEN)状态下,定时检测数据库主备系统中是否存在网络异常或重演异常。数据库主机通过主机守护进程获取最近N次数据库日志的平均传输耗时和数据库备机重演最近N次数据库日志的平均重演耗时,确定当前周期监控参数,若当前周期监控参数中的至少一项大于监控阈值,也就是平均传输耗时大于传输耗时阈值,或者平均重演耗时大于重演耗时阈值,则确认此时的数据库备机出现异常,同时主机守护进程切换到异常检测(CHECK)状态,通过主机守护进程通知数据库主机上的数据库实例,将异常的数据库备机在数据库主备系统中的状态切换为无效状态,以主动将该异常的数据库备机剔除出数据库主备系统,使得数据库主机在进行数据库日志的刷盘,也就是向日志文件写入数据库日志之前,不再向该异常的数据库备机发送数据库日志,从而提高数据库主机的响应效率。
S130,将历史数据库日志发送给数据库备机。
其中,历史数据库日志是数据库主机保存在归档日志中的通过对外提供的历史数据库服务对应生成的历史日志数据。本实施例中在将数据库备机的状态切换为无效状态时,说明数据库主备系统中存在异常的数据库备机,而为了判断该异常的数据库备机后续是否恢复正常,本实施例中可以通过主机守护进程根据用户预先设定的恢复间隔值,定时尝试恢复异常的数据库备机。
具体的,数据库主机的守护进程在检测达到异常数据库备机的恢复间隔值时,主机守护进程从正常工作(OPEN)状态切换为恢复(RECOVERY)状态,从而通知数据库主机上的数据库实例可以在归档日志中获取预设数量的历史数据库日志,并将该预设数量的历史数据库日志发送给该异常的数据库备机,以确定当前时刻将该历史数据库日志发送给异常数据库备机的平均传输耗时和异常数据库备机重演该历史数据库日志的平均重演耗时,从而判断该异常数据库备机是否恢复正常。
此外,本实施例中的历史数据库日志可以根据数据库备机状态切换为无效状态前最后重演的数据库日志确定。由于在将异常数据库备机的状态切换为无效状态时,异常数据库备机已经收不到数据库主机在备机恢复阶段通过对外提供数据库服务生成的数据库日志,而在异常数据库备机恢复正常,可以重新加入数据库主备系统时,需要该数据库备机保持与数据库主机的数据一致,也就是还需要接收数据库主机在备机恢复阶段生成的数据库日志进行重演,从而达到数据库主备机的同步。因此本实施例中数据库主机可以将异常数据库备机未重演的数据库日志,也就是在数据库备机的状态切换为无效状态之后数据库主机中新生成的数据库日志作为历史数据库日志,并将异常数据库备机未重演的数据库日志发送给该异常数据库备机,进行恢复判断。本实施例中可以为各数据库日志根据生成顺序设置一个递增的日志序列号,通过查看异常数据库备机上已经重演的最后一个数据库日志的日志序列号,确定异常数据库备机未重演的数据库日志。
具体的,数据库主机将异常数据库备机未重演的数据库日志作为历史数据库日志时,首先会通过数据库主机上的数据库实例向该异常数据库备机发送一个携带有获取日志序列号指令的消息,异常数据库备机根据该获取指令获取自身已经重演的最后一个数据库日志的日志序列号,返回给数据库主机。若数据库主机未接收到异常数据库备机反馈的日志序列号,则确认该异常数据库备机还是处于异常状态,此时可以中断数据库主机对该异常数据库备机的恢复过程,主机守护进程切换回正常工作状态,直到达到下一次的恢复间隔值;若数据库主机接收到异常数据库备机反馈的日志序列号,则以该日志序列号为起点,扫描数据库主机上保存有数据库日志的归档文件,将该日志序列号之后生成的数据库日志作为历史数据库日志,发送给该异常数据库备机,从而确定该异常数据库备机在此时接收到历史数据库日志的平均传输耗时和平均重演耗时,从而判断该异常数据库备机是否恢复正常。
S140,历史周期监控参数小于或等于监控阈值,则将数据库备机的状态切换为有效状态。
具体的,历史周期监控参数包括历史数据库日志的平均传输耗时和数据库备机重演历史数据库日志的平均重演耗时。
可选的,数据库主机将历史数据库日志发送给异常数据库备机时,数据库主机可以通过主机守护进程获取全部的历史数据库日志中最近N次历史数据库日志的平均传输耗时和全部的历史数据库日志中数据库备机重演最近N次历史数据库日志的平均重演耗时,从而确定历史周期监控参数,若历史周期监控参数中的至少一项大于监控阈值,则确认该异常数据库备机仍然处于异常状态,此时可以中断数据库主机对该异常数据库备机的恢复过程,主机守护进程切换回正常工作状态;若历史周期监控参数中的平均传输耗时小于或等于监控阈值中的传输耗时阈值,且平均重演耗时小于或等于监控阈值中的重演耗时阈值,则确认该异常数据库备机已经恢复正常,通过主机守护进程通知数据库主机上的数据库实例,将该异常数据库备机在数据库主备系统中的状态切换为有效状态,以重新将该数据库备机加入数据库主备系统中,实现数据库的高可用性。
此外,本实施例中从确定历史周期监控参数小于或等于监控阈值起,直到将数据库备机的状态切换为有效状态,数据库主机还需要将该数据库备机未重演的数据库日志全部发送给数据库备机进行重演,以实现数据库主备系统中数据库主机与数据库备机之间的数据一致。若历史数据库日志中已经包括一部分未重演的数据库日志,则此时仅需要将其他未重演的数据库日志发送给数据库备机,降低数据库备机中的同步数据量。
本实施例提供的技术方案,通过对数据库主机和数据库备机之间数据库日志的平均传输耗时和数据库备机重演数据库日志的平均重演耗时进行监控,从而动态切换数据库备机的当前状态,实现了数据库主机与数据库备机之间的网络传输异常或数据库备机异常的动态监控,将异常数据库备机的状态切换为无效状态,在网络传输恢复正常或异常数据库备机恢复正常后再将备机切换为有效状态,提高了数据库主机的响应速度,优化了数据库主机性能。
实施例二
图2为本发明实施例二提供的一种动态监控方法的流程图。本实施例是在上述实施例的基础上进行优化。具体的,参照图2,本实施例可以包括如下步骤:
S210,获取当前周期的数据库日志,并将数据库日志发送给数据库备机。
S220,当前周期监控参数的至少一项大于监控阈值,则将数据库备机的状态切换为无效状态,该当前周期监控参数包括数据库日志的平均传输耗时和数据库备机重演数据库日志的平均重演耗时。
S230,将历史数据库日志组装成日志消息发送给数据库备机,该日志消息包括至少一条历史数据库日志。
其中,日志消息是一种普通的通信消息,遵循数据库主机与数据库备机之间共同约定的数据传输协议。由于历史数据库日志的数据量可能较大,在发送给数据库备机时,传输效率可能较低。此时为了提高历史数据库日志的传输效率,数据库主机可以根据定义的通信消息格式将历史数据库日志分别组装成多条对应的日志消息发送给数据库备机。同时,每一条日志消息中包含的历史数据库日志的数量可以由定义的消息长度和每条历史数据库日志的长度大小来共同决定,本实施例中的日志消息可以包括至少一条历史数据库日志。
S240,历史周期监控参数小于或等于监控阈值起,控制本机停止向日志文件中写入数据库日志。
具体的,在历史周期监控参数小于或等于监控阈值时,数据库主机可以确认数据库备机已经恢复正常,而为了保证数据库主机与数据库备机之间的数据一致,数据库主机需要将数据库备机未重演的数据库日志全部发送给数据库备机进行重演,为了防止数据库主机在数据库备机的状态切换为有效状态前进行数据库日志的重演阶段,可能生成新的数据库日志,此时主机守护进程通知数据库主机上的数据库实例切换到挂起(SUSPEND)状态,在挂起状态下会限制数据库主机的数据库日志刷盘动作,避免数据库主机上再产生新的日志,也就是数据库主机控制本机停止向日志文件中写入新的数据库日志,此时主机守护进程再次通知数据库主机上的主机数据库实例向数据库备机发送未重演的数据库日志,确保数据库主机被挂起之前产生的数据库日志已全部发送到数据库备机进行重演,从而保证数据库主机与数据库备机之间的数据一致。
S250,将数据库备机的状态切换为有效状态。
S260,控制本机继续向日志文件中写入数据库日志。
具体的,数据库主机将数据库备机的状态切换为有效状态,也就是将数据库备机重新加入到数据库主备机系统后,数据库主机上的主机守护进程再次通知数据库主机上的数据库实例由挂起(SUSPEND)状态切换到正常工作(OPEN)状态,控制本机继续向日志文件中写入数据库日志,使数据库备机与数据库主机重新进入实时同步状态。
本实施例提供的技术方案,通过对数据库主机和数据库备机之间数据库日志的平均传输耗时和数据库备机重演数据库日志的平均重演耗时进行监控,从而动态切换数据库备机的当前状态,实现了数据库主机与数据库备机之间的网络传输异常或数据库备机异常的动态监控,将异常数据库备机的状态切换为无效状态,在网络传输恢复正常或异常数据库备机恢复正常后再将备机切换为有效状态,提高了数据库主机的响应速度,优化了数据库主机性能。
实施例三
由于数据库主备系统的动态监控过程主要分为数据库备机的异常检测和对于数据库主备系统中异常数据库备机的动态恢复两个阶段。图3A为本发明实施例三提供的对数据库备机的异常检测过程的流程图,图3B为本发明实施例三提供的对异常数据库备机的动态恢复过程的流程图。本实施例中分别对数据库主备系统的动态监控过程中两个阶段进行具体的解释说明。
可选的,如图3A所示,本实施例中对数据库备机的异常检测过程,具体可以包括如下步骤:
S301,主机守护进程处于OPEN状态。
S302,根据当前周期监控参数判断数据库备机是否异常,若是,执行S303;若否,返回执行S301。
S303,主机守护进程切换到CHECK状态。
S304,主机守护进程通知数据库主机上的数据库实例将数据库备机的状态切换为无效状态。
S305,主机守护进程切换回OPEN状态。
可选的,如图3B所示,本实施例中对异常数据库备机的动态恢复过程,具体可以包括如下步骤:
S311,主机守护进程处于OPEN状态。
S312,检测是否达到数据库备机的恢复间隔值,若是,执行S313;若否,返回执行S311。
S313,主机守护进程切换到RECOVERY状态。
S314,主机守护进程通知数据库主机上的数据库实例准备同步历史数据库日志到数据库备机。
S315,数据库主机上的数据库实例向数据库备机获取最后一次重演的数据库日志的日志序列号。
S316,判断是否收到数据库备机的反馈,若是,执行S318;若否,执行S317。
S317,主机守护进程中断异常恢复过程,并切换回OPEN状态,返回执行S311。
S318,数据库主机上的数据库实例以该日志序列号为起点,扫描数据库主机上保存有数据库日志的归档文件,将该日志序列号之后生成的数据库日志作为历史数据库日志。
S319,数据库主机通过数据库实例向数据库备机发送历史数据库日志。
S320,判断历史数据库日志的平均传输耗时和平均重演耗时是否均小于或等于监控阈值,若是,执行S321;若否,返回执行S317。
S321,数据库主机上的数据库实例切换到挂起状态,并将数据库备机未重演的数据库日志全部发送给数据库备机。
S322,数据库备机完成数据库日志重演后,数据库主机上的数据库实例将数据库备机的状态切换为有效状态。
S323,数据库主机上的主机守护进程和数据库实例均切换回OPEN状态。
本实施例提供的技术方案,通过对数据库主机和数据库备机之间数据库日志的平均传输耗时和数据库备机重演数据库日志的平均重演耗时进行监控,从而动态切换数据库备机的当前状态,实现了数据库主机与数据库备机之间的网络传输异常或数据库备机异常的动态监控,将异常数据库备机的状态切换为无效状态,在网络传输恢复正常或异常数据库备机恢复正常后再将备机切换为有效状态,提高了数据库主机的响应速度,优化了数据库主机性能。
实施例四
图4为本发明实施例四提供的一种动态监控装置的结构示意图,如图4所示,该装置可以包括:
当前日志获取模块410,用于获取当前周期的数据库日志,并将数据库日志发送给数据库备机;
备机无效模块420,用于当前周期监控参数的至少一项大于监控阈值,则将数据库备机的状态切换为无效状态,该当前周期监控参数包括数据库日志的平均传输耗时和数据库备机重演数据库日志的平均重演耗时;
历史日志发送模块430,用于将历史数据库日志发送给数据库备机;
备机恢复模块440,用于历史周期监控参数小于或等于监控阈值,则将数据库备机的状态切换为有效状态,该历史周期监控参数包括历史数据库日志的平均传输耗时和数据库备机重演历史数据库日志的平均重演耗时。
本实施例提供的技术方案,通过对数据库主机和数据库备机之间数据库日志的平均传输耗时和数据库备机重演数据库日志的平均重演耗时进行监控,从而动态切换数据库备机的当前状态,实现了数据库主机与数据库备机之间的网络传输异常或数据库备机异常的动态监控,将异常数据库备机的状态切换为无效状态,在网络传输恢复正常或异常数据库备机恢复正常后再将备机切换为有效状态,提高了数据库主机的响应速度,优化了数据库主机性能。
进一步的,上述数据库日志的平均传输耗时可以通过本机的守护进程获取,上述数据库日志的平均重演耗时可以通过数据库备机上的守护进程获取。
进一步的,上述历史数据库日志可以根据数据库备机状态切换为无效状态前最后重演的数据库日志确定。
进一步的,历史周期监控参数小于或等于监控阈值起,直至将数据库备机的状态切换为有效状态,本机应停止向日志文件中写入数据库日志。
进一步的,上述备机恢复模块440,还可以用于将数据库备机的状态切换为有效状态之后,控制本机继续向日志文件中写入数据库日志。
进一步的,上述历史日志发送模块430,可以具体用于将历史数据库日志组装成日志消息发送给数据库备机,该日志消息包括至少一条历史数据库日志。
本实施例提供的动态监控装置可适用于上述任意实施例提供的动态监控方法,具备相应的功能和有益效果。
实施例五
图5为本发明实施例五提供的一种设备的结构示意图。如图5所示,该设备包括处理器50、存储装置51和通信装置52;设备中处理器50的数量可以是一个或多个,图5中以一个处理器50为例;设备的处理器50、存储装置51和通信装置52可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储装置51作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的动态监控方法对应的模块(例如,用于动态监控装置中的当前日志获取模块410、备机无效模块420、历史日志发送模块430和备机恢复模块440)。处理器50通过运行存储在存储装置51中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的动态监控方法。
存储装置51可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置51可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置51可进一步包括相对于处理器50远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
通信装置52可用于实现网络连接或者移动数据连接。
本实施例提供的一种设备可用于执行上述任意实施例提供的动态监控方法,具备相应的功能和有益效果。
实施例六
本发明实施例六还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可实现上述任意实施例中的动态监控方法。该方法具体可以包括:
获取当前周期的数据库日志,并将数据库日志发送给数据库备机;
当前周期监控参数的至少一项大于监控阈值,则将数据库备机的状态切换为无效状态,该当前周期监控参数包括数据库日志的平均传输耗时和数据库备机重演数据库日志的平均重演耗时;
将历史数据库日志发送给数据库备机;
历史周期监控参数小于或等于监控阈值,则将数据库备机的状态切换为有效状态,该历史周期监控参数包括历史数据库日志的平均传输耗时和数据库备机重演历史数据库日志的平均重演耗时。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的动态监控方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述动态监控装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种动态监控方法,其特征在于,包括:
获取当前周期的数据库日志,并将所述数据库日志发送给数据库备机;
当前周期监控参数的至少一项大于监控阈值,则将所述数据库备机的状态切换为无效状态,所述当前周期监控参数包括所述数据库日志的平均传输耗时和所述数据库备机重演所述数据库日志的平均重演耗时;
将历史数据库日志发送给所述数据库备机;
历史周期监控参数小于或等于监控阈值,则将所述数据库备机的状态切换为有效状态,所述历史周期监控参数包括所述历史数据库日志的平均传输耗时和所述数据库备机重演所述历史数据库日志的平均重演耗时。
2.根据权利要求1所述的方法,其特征在于,所述数据库日志的平均传输耗时通过本机的守护进程获取,所述数据库日志的平均重演耗时通过所述数据库备机上的守护进程获取。
3.根据权利要求1所述的方法,其特征在于,所述历史数据库日志根据所述数据库备机状态切换为无效状态前最后重演的数据库日志确定。
4.根据权利要求1所述的方法,其特征在于,所述历史周期监控参数小于或等于监控阈值起,直至将所述数据库备机的状态切换为有效状态,本机停止向日志文件中写入数据库日志。
5.根据权利要求4所述的方法,其特征在于,将所述数据库备机的状态切换为有效状态之后,还包括:
控制本机继续向日志文件中写入数据库日志。
6.根据权利要求1所述的方法,其特征在于,将历史数据库日志发送给所述数据库备机,包括:
将所述历史数据库日志组装成日志消息发送给所述数据库备机,所述日志消息包括至少一条历史数据库日志。
7.一种动态监控装置,其特征在于,包括:
当前日志获取模块,用于获取当前周期的数据库日志,并将所述数据库日志发送给数据库备机;
备机无效模块,用于当前周期监控参数的至少一项大于监控阈值,则将所述数据库备机的状态切换为无效状态,所述当前周期监控参数包括所述数据库日志的平均传输耗时和所述数据库备机重演所述数据库日志的平均重演耗时;
历史日志发送模块,用于将历史数据库日志发送给所述数据库备机;
备机恢复模块,用于历史周期监控参数小于或等于监控阈值,则将所述数据库备机的状态切换为有效状态,所述历史周期监控参数包括所述历史数据库日志的平均传输耗时和所述数据库备机重演所述历史数据库日志的平均重演耗时。
8.根据权利要求7所述的装置,其特征在于,所述数据库日志的平均传输耗时通过本机的守护进程获取,所述数据库日志的平均重演耗时通过所述数据库备机上的守护进程获取。
9.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的动态监控方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的动态监控方法。
CN201811037751.5A 2018-09-06 2018-09-06 一种动态监控方法、装置、设备和存储介质 Active CN109308242B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811037751.5A CN109308242B (zh) 2018-09-06 2018-09-06 一种动态监控方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811037751.5A CN109308242B (zh) 2018-09-06 2018-09-06 一种动态监控方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN109308242A true CN109308242A (zh) 2019-02-05
CN109308242B CN109308242B (zh) 2021-11-19

Family

ID=65224652

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811037751.5A Active CN109308242B (zh) 2018-09-06 2018-09-06 一种动态监控方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN109308242B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110457349A (zh) * 2019-07-02 2019-11-15 北京人人云图信息技术有限公司 信息流出的监控方法及监控装置
CN110543386A (zh) * 2019-09-16 2019-12-06 上海达梦数据库有限公司 一种数据存储方法、装置、设备和存储介质
CN111143157A (zh) * 2019-11-28 2020-05-12 华为技术有限公司 故障日志处理方法和装置
CN111736579A (zh) * 2020-08-26 2020-10-02 北京安帝科技有限公司 基于日志问询留存的工业控制设备安全检测方法
CN112991056A (zh) * 2021-02-05 2021-06-18 深圳华锐金融技术股份有限公司 风控平台参数优化方法、装置、计算机设备和存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020167944A1 (en) * 2001-04-09 2002-11-14 Ronald Edward Hinchley System and method for high-speed switching
CN101212341A (zh) * 2006-12-25 2008-07-02 中兴通讯股份有限公司 一种数据库系统切换方法
CN102855163A (zh) * 2011-06-27 2013-01-02 华为软件技术有限公司 一种内存数据库双机热备方法及主机
CN103020242A (zh) * 2012-12-19 2013-04-03 中国人民解放军第二炮兵装备研究院第四研究所 基于oracle数据库的数据同步方法
CN103226502A (zh) * 2013-05-21 2013-07-31 中国工商银行股份有限公司 一种数据灾备控制系统及数据恢复方法
CN104778102A (zh) * 2015-03-27 2015-07-15 深圳市创梦天地科技有限公司 一种主备切换方法及系统
US20170270016A1 (en) * 2016-03-16 2017-09-21 International Business Machines Corporation Optimizing standby database memory for post failover operation
CN107291787A (zh) * 2016-04-13 2017-10-24 中兴通讯股份有限公司 主备数据库切换方法和装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020167944A1 (en) * 2001-04-09 2002-11-14 Ronald Edward Hinchley System and method for high-speed switching
CN101212341A (zh) * 2006-12-25 2008-07-02 中兴通讯股份有限公司 一种数据库系统切换方法
CN102855163A (zh) * 2011-06-27 2013-01-02 华为软件技术有限公司 一种内存数据库双机热备方法及主机
CN103020242A (zh) * 2012-12-19 2013-04-03 中国人民解放军第二炮兵装备研究院第四研究所 基于oracle数据库的数据同步方法
CN103226502A (zh) * 2013-05-21 2013-07-31 中国工商银行股份有限公司 一种数据灾备控制系统及数据恢复方法
CN104778102A (zh) * 2015-03-27 2015-07-15 深圳市创梦天地科技有限公司 一种主备切换方法及系统
US20170270016A1 (en) * 2016-03-16 2017-09-21 International Business Machines Corporation Optimizing standby database memory for post failover operation
CN107291787A (zh) * 2016-04-13 2017-10-24 中兴通讯股份有限公司 主备数据库切换方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张勇: "一种面向电子政务系统的数据灾难备份系统研究与设计", 《中国优秀硕士学位论文全文数据库(电子期刊)》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110457349A (zh) * 2019-07-02 2019-11-15 北京人人云图信息技术有限公司 信息流出的监控方法及监控装置
CN110457349B (zh) * 2019-07-02 2022-04-05 北京人人云图信息技术有限公司 信息流出的监控方法及监控装置
CN110543386A (zh) * 2019-09-16 2019-12-06 上海达梦数据库有限公司 一种数据存储方法、装置、设备和存储介质
CN111143157A (zh) * 2019-11-28 2020-05-12 华为技术有限公司 故障日志处理方法和装置
CN111736579A (zh) * 2020-08-26 2020-10-02 北京安帝科技有限公司 基于日志问询留存的工业控制设备安全检测方法
CN112991056A (zh) * 2021-02-05 2021-06-18 深圳华锐金融技术股份有限公司 风控平台参数优化方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN109308242B (zh) 2021-11-19

Similar Documents

Publication Publication Date Title
CN109308242A (zh) 一种动态监控方法、装置、设备和存储介质
CN110807064B (zh) Rac分布式数据库集群系统中的数据恢复装置
CN103201724B (zh) 在高可用性虚拟机环境中提供高可用性应用程序
CN114637475A (zh) 一种分布式存储系统控制方法、装置及可读存储介质
CN107315656A (zh) 多内核的嵌入式plc软件恢复方法和plc
CN103500130A (zh) 一种对双机热备数据进行实时备份的方法
CN103823708B (zh) 虚拟机读写请求处理的方法和装置
CN109194514A (zh) 一种双机监测方法、装置、服务器及存储介质
CN111104254A (zh) 存储系统数据刷写方法、装置、设备及可读存储介质
US10922175B2 (en) Method, apparatus and computer program product for failure recovery of storage system
CN102833281A (zh) 一种分布式自增计数的实现方法、装置及系统
CN114116280A (zh) 交互式bmc自恢复方法、系统、终端及存储介质
CN108958965A (zh) 一种bmc监控可恢复ecc错误的方法、装置及设备
CN111880636B (zh) 一种存储阵列的断电保护方法及相关装置
CN103297264A (zh) 一种云平台故障恢复方法和系统
CN111756826A (zh) 一种dlm的锁信息传输方法以及相关装置
CN114500327B (zh) 一种服务器集群的检测方法、检测装置及计算设备
CN111628924A (zh) 电子邮件的发送方法、系统、存储介质以及电子设备
CN113900855B (zh) 一种交换机异常状态的主动热启动方法、系统及装置
CN113542001B (zh) Osd故障心跳检测方法、装置、设备及存储介质
CN106326042B (zh) 一种运行状态确定方法及装置
CN111400100B (zh) 一种分布式软件备份的管理方法及其系统
CN114189429A (zh) 一种服务器集群故障的监测系统、方法、装置及介质
CN116204502B (zh) 一种高可用性的nas存储服务方法及系统
CN110647435A (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