【技术实现步骤摘要】
数据库心跳检测方法以及装置
本申请涉及数据库领域,具体涉及一种数据库心跳检测方法。本申请同时提供一种数据库心跳检测装置,此外,本申请还提供另外两种数据库心跳检测方法以及装置。
技术介绍
随着企业信息系统的广泛应用和深入发展,对于一些关键的信息系统,比如应用系统、数据库和存储网络等,维持高可用性是非常重要的,对于这些信息系统的需求,主要体现在确保关键数据的高可用性,为了保护关键数据免受计划内以及计划外停机的影响,基于高可用架构的集群日益被接受并广泛使用,作为高可用集群的基础组件,心跳(Heartbeat)监测确保了高可用集群的数据的可靠性。Heartbeat是Linux-HA工程的一个组成部分,它实现了一个高可用集群系统,心跳监测技术和集群通信是高可用集群的两个关键组件,在Heartbeat项目里,由heartbeat模块实现了这两个功能,heartbeat包括两个核心部分:心跳监测部分和资源接管部分,心跳监测可以通过网络链路和串口进行,而且支持冗余链路,相互之间通过发送报文通知对方自身当前的状态,如果在指定的时间内未收到对方发送的报文,认为对方失效,启动资源接管模块来接管运行在对方主机上的资源或者服务。现有的数据库心跳检测方法,在主库创建一个数据表,该数据表汇总包含一个用于存储时间戳的心跳字段;心跳检测时,首先连接到主库,将当前时间戳更新到创建的数据表的心跳字段,若更新成功,则表示心跳成功;若更新失败,或者在一定时间段内数据库没有返回响应,则表示心跳失败,多次心跳尝试失败后,进入Failover(失效转移)流程;进入Failover(失效转移)流程后,根据 ...
【技术保护点】
一种数据库心跳检测方法,其特征在于,包括:创建待检测数据库的工作进程;所述工作进程用于按照预设的时间间隔,分别向所述待检测数据库的主库和备库的重做日志文件中写入日志记录;读取所述主库的重做日志文件中写入时间最晚的日志记录的第一时间信息;比较所述第一时间信息和预先获取的时间信息,若二者的时间差大于预设的时间阈值,则执行下述步骤:读取所述备库的重做日志文件中写入时间最晚的日志记录的第二时间信息;判断所述第一时间信息与所述第二时间信息的时间差是否小于预设的时间差阈值;若是,则执行所述主库和所述备库的切换。
【技术特征摘要】
1.一种数据库心跳检测方法,其特征在于,包括:创建待检测数据库的工作进程;所述工作进程用于按照预设的时间间隔,分别向所述待检测数据库的主库和备库的重做日志文件中写入日志记录;读取所述主库的重做日志文件中写入时间最晚的日志记录的第一时间信息;比较所述第一时间信息和预先获取的时间信息,若二者的时间差大于预设的时间阈值,则执行下述步骤:读取所述备库的重做日志文件中写入时间最晚的日志记录的第二时间信息;判断所述第一时间信息与所述第二时间信息的时间差是否小于预设的时间差阈值;若是,则执行所述主库和所述备库的切换。2.根据权利要求1所述的数据库心跳检测方法,其特征在于,所述日志记录中包含该日志记录写入所述重做日志文件时的时间信息。3.根据权利要求2所述的数据库心跳检测方法,其特征在于,所述读取所述主库的重做日志文件中写入时间最晚的日志记录的第一时间信息步骤执行前,执行下述步骤:实时获取当前的时间信息。4.根据权利要求3所述的数据库心跳检测方法,其特征在于,所述比较所述第一时间信息和预先获取的时间信息步骤,若二者的时间差小于或者等于所述时间阈值,执行下述步骤:按照预先设置的心跳检测时间间隔执行延时,延时执行完成后,执行所述实时获取当前的时间信息步骤。5.根据权利要求3所述的数据库心跳检测方法,其特征在于,所述判断所述第一时间信息与所述第二时间信息的时间差是否小于预设的时间差阈值步骤中,若判断结果为否,执行下述步骤:发出所述主库心跳异常的告警消息,并执行所述实时获取当前的时间信息步骤。6.根据权利要求1所述的数据库心跳检测方法,其特征在于,所述工作进程,是基于fork()函数创建的。7.根据权利要求1所述的数据库心跳检测方法,其特征在于,所述创建数据库进程步骤执行后,所述读取所述主库的重做日志文件中写入时间最晚的日志记录的第一时间信息步骤执行前,执行下述步骤:读取所述时间间隔的配置参数;按照所述时间间隔,分别向所述主库和所述备库的重做日志文件中写入各自对应的日志记录。8.一种数据库心跳检测装置,其特征在于,包括:工作进程创建单元,用于创建待检测数据库的工作进程;所述工作进程用于按照预设的时间间隔,分别向所述待检测数据库的主库和备库的重做日志文件中写入日志记录;第一时间信息读取单元,用于读取所述主库的重做日志文件中写入时间最晚的日志记录的第一时间信息;第一时间信息比较单元,用于比较所述第一时间信息和预先获取的时间信息,若二者的时间差大于预设的时间阈值,则执行下述步骤:第二时间信息读取单元,用于读取所述备库的重做日志文件中写入时间最晚的日志记录的第二时间信息;时间信息判断单元,用于判断所述第一时间信息与所述第二时间信息的时间差是否小于预设的时间差阈值;若是,则进入主备切换执行单元;所述主备切换执行单元,用于执行所述主库和所述备库的切换。9.根据权利要求8所述的数据库心跳检测装置,其特征在于,包括:当前时间获取单元,用于实时获取当前的时间信息。10.根据权利要求9所述的数据库心跳检测装置,其特征在于,包括:延时单元,用于按照预先设置的心跳检测时间间隔执行延时。11.根据权利要求9所述的数据库心跳检测装置,其特征在于,包括:告警消息发出单元,用于发出所述主库心跳异常的告警消息。12.根据权利要求8所述的数据库心跳检测装置,其特征在于,包括:配置参数读取单元,用于读取所述时间间隔的配置参数;日志记录写入单元,用于按照所述时间间隔,分别向所述主库和所述备库的重做日志文件中写入各自对应的日志记录。13.一种数据库心跳检测方法,其特征在于,包括:创建待检测数据库的工作进程;所述工作进程用于按照预设的时间间隔,分别向所述待检测数据库的主库和备库的重做日志文件中写入日志记录;读取所述主库的重做日志文件中写入时间最晚的日志记录的第一时间信息,以及该日志记录在所述主库的重做日志文件中的第一位置信息;比较所述第一时间信息和预先获取的时间信息,若二者的时间差大于预设的时间阈值,则执行下述步骤:读取所述备库的重做日志文件中写入时间最晚的日志记录、在所述备库的重做日志文件中的第二位置信息;判断所述第一位置信息与所述第二位置信息的位置差是否小于预设的位置差阈值;若是,则执行所述主库和所述备库的切换。14.根据权利要求13所述的数据库心跳检测方法,其特征在于,所述读取所述主库的重做日志文件中写入时间最晚的日志记录的第一时间信息,以及该日志记录在所述主库的重做日志文件中的第一位置信息步骤执行前,执行下述步骤:实时获取当前的时间信息。15.根据权利要求14所述的数据库心跳检测方法,其特征在于,所述判断所述第一位置信息与所述第二位置信息的位置差是否小于预设的位置差阈值步骤中,若判断结果为否,执行下述步骤:发出所述主库心跳异常的告警消息,并执行所述实时获取当前的时间信息步骤。16.一种数据库心跳检测装置,其特征在于,包括:工作进程创建单元...
【专利技术属性】
技术研发人员:周正中,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。