一种用于防止监控集群脑裂的系统、电子设备技术方案

技术编号:37175910 阅读:16 留言:0更新日期:2023-04-20 22:44
本发明专利技术提出了一种用于防止监控集群脑裂的系统、电子设备,系统包括:至少一个数据库节点;代理监控程序节点,每一个数据库节点的同一节点上对应配置有代理监控程序节点;主监控程序节点,响应于用户对客户端工具的操作指令,主监控程序基于操作指令对监控集群生成对应的控制指令,其中,代理监控程序中设置有ping点,并将ping点的信息发送到代理监控程序;当监控集群中一数据库节点断联时,利用ping点,确定数据库节点的状态。本发明专利技术通过该轻量级高可用框架,在断网等情况下,可以充分利用ping点、TCP/IP和虚拟IP处理策略,防止集群脑裂的发生。群脑裂的发生。群脑裂的发生。

【技术实现步骤摘要】
一种用于防止监控集群脑裂的系统、电子设备


[0001]本专利技术涉及数据库集群
,尤其涉及一种用于防止监控集群脑裂的系统、电子设备。

技术介绍

[0002]在数据库集群的生产场景中,通常会遭遇各种异常(主备数据库节点断网、断电、人为损坏、机器故障等),导致集群无法正常对外服务。为了实现集群快速恢复,防止业务被中断,高可用管理产品是不可或缺的。
[0003]目前的高可用产品在实际生产中存在着一些风险,如脑裂问题,即集群同时存在两个对外服务的主节点,同步备库失效导致主库被挂起,不能同时提供主备虚拟IP或者虚拟IP漂移失效等问题。其次,从高可用框架角度出发,没有对数据监控程序的监控程序,很难确保单一的监控程序不出现故障。除此之外,其它一些高可用框架对于数据库集群节点个数也提出了要求,以此杜绝集群故障的出现。因此,从故障恢复性能角度和部署方式看,现有的高可用产品很难满足用户不间断业务的需求。
[0004]进一步地,现有的高可用框架严重依赖第三方组件,实际部署比较复杂,而且对用户使用者来讲提出了更高的技术要求。对于至关重要的虚拟IP功能并没有提供,或者也严重依赖于第三方插件,所以无法做到整体一致的高可用功能。在断网断电等情况下,存在脑裂的风险,不能提供有效的解决方案。再就是,对于数据库集群节点个数做了限制,无法做到灵活部署和应对数据库集群各种部署方式。从整体架构上来讲,现有高可用框架仅仅在数据库节点启动一个监控程序,没有其他监控程序监控它。如果此监控程序故障,很容易引起脑裂。

技术实现思路

>[0005]本专利技术要解决的技术问题是,如何不依赖第三方组件,在不中断业务的前提下,防止监控集群出现脑裂;有鉴于此,本专利技术提供一种用于防止监控集群脑裂的系统、电子设备。
[0006]本专利技术采用的技术方案是,一种用于防止监控集群脑裂的系统,包括:
[0007]至少一个数据库节点;
[0008]代理监控程序节点,每一个所述数据库节点的同一节点上对应配置有代理监控程序节点;
[0009]主监控程序节点,响应于用户对客户端工具的操作指令,主监控程序基于所述操作指令对监控集群生成对应的控制指令,其中,所述代理监控程序中设置有ping点,并将所述ping点的信息发送到所述代理监控程序;当所述监控集群中一所述数据库节点断联时,利用所述ping点,确定所述数据库节点的状态。
[0010]在一个实施方式中,所述主监控程序节点被进一步配置为:
[0011]所述监控集群中一所述数据库节点断联时,向所述ping点发送第一检测信息;
[0012]当所述ping点能够响应所述第一检测信息时,所述数据库节点被确定为失联节点,并将所述失联节点从所述监控集群中剔除,并停止向所述失联节点对应的所述代理监控程序节点发送心跳检测。
[0013]在一个实施方式中,所述数据库节点包括数据库主节点以及至少一个数据库备节点。
[0014]在一个实施方式中,所述主监控程序节点被进一步配置为:
[0015]解绑所述失联节点的虚拟IP,并将解绑的虚拟IP飘移到其它数据库节点中。
[0016]在一个实施方式中,所述代理监控程序节点被配置为:
[0017]当所述代理监控程序节点停止接收所述心跳检测的时间大于预设的时间阈值时,向所述ping点发送第二检测信息。
[0018]在一个实施方式中,所述代理监控程序节点被进一步配置为:
[0019]当所述ping点不能响应所述第二检测信息,并且基于所述ping点的IP和配置固定端口的TCP/IP连接也没有返回拒绝连接或者连接超时的错误码时,所述代理监控程序节点解绑对应所述失联节点虚拟IP,用于即刻对外停止所述失联节点的数据库服务。
[0020]在一个实施方式中,所述主监控程序节点被进一步配置为:
[0021]利用心跳检测确定所述失联节点是否恢复正常连接;
[0022]当所述失联节点能够响应所述心跳检测时,将所述失联节点确定为数据库备节点。
[0023]在一个实施方式中,所述主监控程序节点被进一步配置为:
[0024]当所述失联节点为所述数据库主节点时,将所述数据库备节点中LSN的最大值所对应的数据库备节点确定为数据库主节点。
[0025]本专利技术的另一方面还提供了一种电子设备,所述电子设备包括如上任一项所述的用于防止监控集群脑裂的系统。
[0026]采用上述技术方案,本专利技术至少具有下列优点:
[0027]本专利技术通过该轻量级高可用框架,简化了部署,降低了使用门槛;在断网等情况下,可以充分利用ping点、TCP/IP和虚拟IP处理策略,防止集群脑裂的发生;
[0028]并且,本专利技术在高可用内部对监控程序做了两级监控,即主监控程序监控代理监控程序,备监控程序监控主监控程序,结构简单,成本较低,且能够较高程度的保证了数据库服务的高可用性。
附图说明
[0029]图1为根据本专利技术实施例的用于防止监控集群脑裂的系统结构图;
[0030]图2为根据本专利技术实施例的用于防止监控集群脑裂的逻辑流程示意图;
[0031]图3为根据本专利技术实施例的另一个用于防止监控集群脑裂的逻辑流程示意图;
[0032]图4为根据本专利技术实施例的电子设备示意图。
具体实施方式
[0033]为更进一步阐述本专利技术为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本专利技术进行详细说明如后。
[0034]在附图中,为了便于说明,已稍微夸大了物体的厚度、尺寸和形状。附图仅为示例而并非严格按比例绘制。
[0035]还应理解的是,用语“包括”、“包括有”、“具有”、“包含”和/或“包含有”,当在本说明书中使用时表示存在所陈述的特征、整体、步骤、操作、元件和/或部件,但不排除存在或附加有一个或多个其它特征、整体、步骤、操作、元件、部件和/或它们的组合。此外,当诸如“...中的至少一个”的表述出现在所列特征的列表之后时,修饰整个所列特征,而不是修饰列表中的单独元件。此外,当描述本申请的实施方式时,使用“可以”表示“本申请的一个或多个实施方式”。并且,用语“示例性的”旨在指代示例或举例说明。
[0036]如在本文中使用的,用语“基本上”、“大约”以及类似的用语用作表近似的用语,而不用作表程度的用语,并且旨在说明将由本领域普通技术人员认识到的、测量值或计算值中的固有偏差。
[0037]除非另外限定,否则本文中使用的所有用语(包括技术用语和科学用语)均具有与本申请所属领域普通技术人员的通常理解相同的含义。还应理解的是,用语(例如在常用词典中定义的用语)应被解释为具有与它们在相关技术的上下文中的含义一致的含义,并且将不被以理想化或过度正式意义解释,除非本文中明确如此限定。
[0038]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0039]本专利技术中说明书本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种用于防止监控集群脑裂的系统,其特征在于,包括:至少一个数据库节点;代理监控程序节点,每一个所述数据库节点的同一节点上对应配置有代理监控程序节点;主监控程序节点,响应于用户对客户端工具的操作指令,主监控程序基于所述操作指令对监控集群生成对应的控制指令,其中,所述代理监控程序中设置有ping点,并将所述ping点的信息发送到所述代理监控程序;当所述监控集群中一所述数据库节点断联时,利用所述ping点,确定所述数据库节点的状态。2.根据权利要求1所述的用于防止监控集群脑裂的系统,其特征在于,所述主监控程序节点被进一步配置为:所述监控集群中一所述数据库节点断联时,向所述ping点发送第一检测信息;当所述ping点能够响应所述第一检测信息时,所述数据库节点被确定为失联节点,并将所述失联节点从所述监控集群中剔除,并停止向所述失联节点对应的所述代理监控程序节点发送心跳检测。3.根据权利要求1所述的用于防止监控集群脑裂的系统,其特征在于,所述数据库节点包括数据库主节点以及至少一个数据库备节点。4.根据权利要求2所述的用于防止监控集群脑裂的系统,其特征在于,所述主监控程序节点被进一步配置为:解绑所述失联节点的虚拟IP,并将解绑的虚拟IP飘移到其它数据库节点中。5....

【专利技术属性】
技术研发人员:杜中国高雪玉郑晓军
申请(专利权)人:瀚高基础软件股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1