[发明专利]数据库实例的巡检方法、装置及计算机存储介质有效
申请号: | 201911370335.1 | 申请日: | 2019-12-26 |
公开(公告)号: | CN111104290B | 公开(公告)日: | 2022-11-25 |
发明(设计)人: | 程铖 | 申请(专利权)人: | 紫光云(南京)数字技术有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F9/48 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210000 江苏省南京市浦口区江浦街*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 实例 巡检 方法 装置 计算机 存储 介质 | ||
一种数据库实例的巡检方法和装置。其中所述方法包括:当哨兵进程启动后,获取当前处于启动状态的哨兵进程总数和对应的哨兵进程启动顺序;对数据库实例进行分组,其中每一个组包括M个实例,M是正整数;哨兵进程根据其启动顺序对相邻的N组实例进行巡检,其中相邻的两个哨兵进程巡检的实例至少有一组是相同的,N是大于1的正整数。本发明方案实现了多个哨兵同时进行巡检任务,提高了巡检的效率;并且保证每个数据库实例都被可以被巡检到,避免了数据库实例被漏检。
技术领域
本发明属于计算机领域,具体涉及数据库实例的巡检方法、装置及计算机可读存储介质。
背景技术
现在各大云服务平台的上会提供MySQL数据库实例,那么如何自动监控MySQL数据库实例的运行状态、多个哨兵进程如何分配自己要巡检范围是需要解决的问题。
现有的技术方案有下面几种:一种是只启动一个哨兵进程,或者启动多个哨兵进程,但是只让一个哨兵进程进行巡检工作,所有的巡检任务都是由这一个哨兵完成。一种是启动多个哨兵进程,按照哈希算法给每一个哨兵进程分配要巡检的数据库实例。
上面的第一种方案无法保证系统的高可用特性,巡检周期长;如果启动多个哨兵,只有一个哨兵正真工作,其他哨兵进程空转,浪费系统资源。
上面的第二种方案存在当哨兵进行异常时,对应的数据库实例不会被巡检。此外,数据库实例的数量是动态变化的,按照哈希算法,分配要巡检的数据库实例,就可能有一些数据库实例被遗漏掉,错过几轮巡检。
发明内容
针对于上述现有技术的不足,本发明的目的之一是解决数据库实例被漏检的问题,同时提高哨兵进程巡检的效率。
本发明实施例公开了一种数据库实例的巡检方法,包括:当哨兵进程启动后,获取当前处于启动状态的哨兵进程总数和对应的哨兵进程启动顺序;对数据库实例进行分组,其中每一个组包括M个实例,M是正整数;哨兵进程根据其启动顺序对相邻的N组实例进行巡检,其中相邻的两个哨兵进程巡检的实例至少有一组是相同的,N是大于1的正整数。
在一个可能的实施例中,所述N是2。
在一个可能的实施例中,最后一个哨兵进程巡检最后一组数据库实例和第一组数据库实例。
在一个可能的实施例中,所述M是数据库实例总数与所述哨兵进程总数的商。
本发明实施例还公开一种数据库实例的巡检装置,包括:获取模块,用于当哨兵进程启动后,获取当前处于启动状态的哨兵进程总数和对应的哨兵进程启动顺序;分组模块,用于对数据库实例进行分组,其中每一个组包括M个实例,M是正整数;巡检模块,用于哨兵进程根据其启动顺序对相邻的N组实例进行巡检,其中相邻的两个哨兵进程巡检的实例至少有一组是相同的,N是大于1的正整数。
在一个可能的实施例中,所述N是2。
在一个可能的实施例中,巡检模块还用于最后一个哨兵进程巡检最后一组数据库实例和第一组数据库实例。
在一个可能的实施例中,所述M是数据库实例总数与所述哨兵进程总数的商。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述任意一项数据库实例的巡检方法。
本发明的有益效果:本发明方案实现了多个哨兵同时进行巡检任务,提高了巡检的效率;并且保证每个数据库实例都被可以被巡检到,避免了数据库实例被漏检。
附图说明
图1为本发明实施例的一种方法流程图;
图2为本发明实施例的一种装置结构示意图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于紫光云(南京)数字技术有限公司,未经紫光云(南京)数字技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911370335.1/2.html,转载请声明来源钻瓜专利网。