CN112272110A - 存储集群控制器节点的连接抖动处理方法、系统及装置 - Google Patents

存储集群控制器节点的连接抖动处理方法、系统及装置 Download PDF

Info

Publication number
CN112272110A
CN112272110A CN202011109349.0A CN202011109349A CN112272110A CN 112272110 A CN112272110 A CN 112272110A CN 202011109349 A CN202011109349 A CN 202011109349A CN 112272110 A CN112272110 A CN 112272110A
Authority
CN
China
Prior art keywords
controller node
controller
node
link
cluster
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
CN202011109349.0A
Other languages
English (en)
Other versions
CN112272110B (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202011109349.0A priority Critical patent/CN112272110B/zh
Publication of CN112272110A publication Critical patent/CN112272110A/zh
Application granted granted Critical
Publication of CN112272110B publication Critical patent/CN112272110B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/087Jitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种存储集群控制器节点的连接抖动处理方法、系统及装置,获取各控制器节点之间的链路连接状态并生成集群拓扑视图;在两控制器节点之间发生断连后,基于最新的集群拓扑视图通知对应的节点应用模块执行相应措施,并除去两控制器节点的收发事件权利;在两控制器节点之间发生重连后,判断两控制器节点之间的链路是否已稳定连接;若是,则重新授予两控制器节点的收发事件权利,并广播给其它控制器节点,以使其它控制器节点在接收到广播消息后才基于最新的集群拓扑视图通知对应的节点应用模块执行相应措施。可见,本申请避免了在链路连接状态抖动情况下集群拓扑视图发生多次变化所带来的不必要的资源浪费,提高了集群运行的稳定性。

Description

存储集群控制器节点的连接抖动处理方法、系统及装置
技术领域
本发明涉及存储集群领域,特别是涉及一种存储集群控制器节点的连接抖动处理方法、系统及装置。
背景技术
存储集群系统是一种小型分布式的控制节点集群系统,系统中各控制器节点之间一般通过FC(Fibre Channel,光纤信道)链路的方式连接。各控制器节点上均设有链路管理模块和集群处理单元,链路管理模块用于获取本控制器节点及其连接的其它控制器节点之间的链路连接状态,并将链路连接状态上报给各控制器节点的集群处理单元;集群处理单元用于根据各控制器节点之间的链路连接状态生成集群拓扑视图,因此各控制器节点之间的链路连接状态直接影响到集群拓扑视图。
目前,各控制器节点上的集群处理单元在生成新的集群拓扑视图时,会通知给节点应用模块,以使节点应用模块基于新的集群拓扑视图执行相应措施。虽然FC链路非常稳定,但依然无法避免偶发性的发生链路连接状态抖动的情况,即FC链路由于硬件或其它原因偶发性的多次由连接状态变为断连状态,又在极短的时间内变为连接状态,这种链路连接状态抖动情况会直接影响到集群拓扑视图的变更,导致节点应用模块的业务变化频繁,不仅造成资源浪费,而且导致集群运行不稳定。
因此,如何提供一种解决上述技术问题的方案是本领域的技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种存储集群控制器节点的连接抖动处理方法、系统及装置,只有在节点重连后链路稳定情况下才通知节点应用模块的业务变化,从而避免了在链路连接状态抖动情况下集群拓扑视图发生多次变化所带来的不必要的资源浪费,提高了集群运行的稳定性。
为解决上述技术问题,本发明提供了一种存储集群控制器节点的连接抖动处理方法,应用于存储集群中的主控制器节点,包括:
获取所述存储集群中各控制器节点之间的链路连接状态,并根据所述链路连接状态生成集群拓扑视图;
在第一控制器节点与第二控制器节点之间发生断连后,基于最新的集群拓扑视图通知对应的节点应用模块执行相应措施,并除去所述第一控制器节点和所述第二控制器节点的收发事件权利;
在所述第一控制器节点与所述第二控制器节点之间发生重连后,根据预设链路稳定连接判定策略判断所述第一控制器节点与所述第二控制器节点之间的链路是否已稳定连接;
若是,则重新授予所述第一控制器节点与所述第二控制器节点的收发事件权利,并广播给其它控制器节点,以使其它控制器节点在接收到广播消息后才基于最新的集群拓扑视图通知对应的节点应用模块执行相应措施。
优选地,根据预设链路稳定连接判定策略判断所述第一控制器节点与所述第二控制器节点之间的链路是否已稳定连接的过程,包括:
从所述第一控制器节点与所述第二控制器节点之间发生重连时开始,每隔预设检测周期均检测所述第一控制器节点与所述第二控制器节点之间的链路连接状态,直至持续检测时间到达预设检测时间;
判断在所述预设检测时间内,所述第一控制器节点与所述第二控制器节点之间的链路是否一直处于连接状态;
若是,则确定所述第一控制器节点与所述第二控制器节点之间的链路已稳定连接。
优选地,根据预设链路稳定连接判定策略判断所述第一控制器节点与所述第二控制器节点之间的链路是否已稳定连接的过程,包括:
从所述第一控制器节点与所述第二控制器节点之间发生重连时开始,每隔预设检测周期均检测所述第一控制器节点与所述第二控制器节点之间的链路连接状态,直至持续检测时间到达预设检测时间;
判断在所述预设检测时间内,所述第一控制器节点与所述第二控制器节点之间发生断连的总次数是否小于预设次数阈值;
若是,则确定所述第一控制器节点与所述第二控制器节点之间的链路已稳定连接。
优选地,所述连接抖动处理方法还包括:
若判断出所述第一控制器节点与所述第二控制器节点之间的链路未稳定连接,则热重启所述第一控制器节点和所述第二控制器节点,以恢复所述第一控制器节点和所述第二控制器节点的稳定连接情况。
优选地,所述连接抖动处理方法还包括:
每隔预设统计时间,均统计在本次统计时间内所述存储集群中各控制器节点的断连次数;
根据各控制器节点的断连次数大小,确定在本次统计时间内断连次数最小的目标控制器节点;
判断所述目标控制器节点是否为当前的主控制器节点;
若是,则保持当前的主控制器节点的主控制权利;
若否,则将当前的主控制器节点的主控制权利转交给所述目标控制器节点。
优选地,所述连接抖动处理方法还包括:
根据在本次统计时间内所述存储集群中各控制器节点的断连次数,确定各控制器节点当前的维护优先级,以为集群维护提供依据;其中,断连次数较多的控制器节点的维护优先级较高。
为解决上述技术问题,本发明还提供了一种存储集群控制器节点的连接抖动处理系统,应用于存储集群中的主控制器节点,包括:
拓扑生成模块,用于获取所述存储集群中各控制器节点之间的链路连接状态,并根据所述链路连接状态生成集群拓扑视图;
断连处理模块,用于在第一控制器节点与第二控制器节点之间发生断连后,基于最新的集群拓扑视图通知对应的节点应用模块执行相应措施,并除去所述第一控制器节点和所述第二控制器节点的收发事件权利;
重连处理模块,用于在所述第一控制器节点与所述第二控制器节点之间发生重连后,根据预设链路稳定连接判定策略判断所述第一控制器节点与所述第二控制器节点之间的链路是否已稳定连接;若是,则重新授予所述第一控制器节点与所述第二控制器节点的收发事件权利,并广播给其它控制器节点,以使其它控制器节点在接收到广播消息后才基于最新的集群拓扑视图通知对应的节点应用模块执行相应措施。
优选地,根据预设链路稳定连接判定策略判断所述第一控制器节点与所述第二控制器节点之间的链路是否已稳定连接的过程,包括:
从所述第一控制器节点与所述第二控制器节点之间发生重连时开始,每隔预设检测周期均检测所述第一控制器节点与所述第二控制器节点之间的链路连接状态,直至持续检测时间到达预设检测时间;
判断在所述预设检测时间内,所述第一控制器节点与所述第二控制器节点之间的链路是否一直处于连接状态;
若是,则确定所述第一控制器节点与所述第二控制器节点之间的链路已稳定连接。
优选地,所述连接抖动处理系统还包括:
断连统计模块,用于每隔预设统计时间,均统计在本次统计时间内所述存储集群中各控制器节点的断连次数;
节点选择模块,用于根据各控制器节点的断连次数大小,确定在本次统计时间内断连次数最小的目标控制器节点;判断所述目标控制器节点是否为当前的主控制器节点;若是,则保持当前的主控制器节点的主控制权利;若否,则将当前的主控制器节点的主控制权利转交给所述目标控制器节点。
为解决上述技术问题,本发明还提供了一种存储集群控制器节点的连接抖动处理装置,包括:
存储器,用于存储计算机程序;
处理器,用于在执行所述计算机程序时实现上述任一种存储集群控制器节点的连接抖动处理方法的步骤。
本发明提供了一种存储集群控制器节点的连接抖动处理方法,应用于存储集群中的主控制器节点,包括:获取存储集群中各控制器节点之间的链路连接状态,并根据链路连接状态生成集群拓扑视图;在两控制器节点之间发生断连后,基于最新的集群拓扑视图通知对应的节点应用模块执行相应措施,并除去两控制器节点的收发事件权利;在两控制器节点之间发生重连后,根据预设链路稳定连接判定策略判断两控制器节点之间的链路是否已稳定连接;若是,则重新授予两控制器节点的收发事件权利,并广播给其它控制器节点,以使其它控制器节点在接收到广播消息后才基于最新的集群拓扑视图通知对应的节点应用模块执行相应措施。可见,本申请只有在节点重连后链路稳定情况下才通知节点应用模块的业务变化,从而避免了在链路连接状态抖动情况下集群拓扑视图发生多次变化所带来的不必要的资源浪费,提高了集群运行的稳定性。
本发明还提供了一种存储集群控制器节点的连接抖动处理系统及装置,与上述连接抖动处理方法具有相同的有益效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种存储集群控制器节点的连接抖动处理方法的流程图;
图2为本发明实施例提供的一种存储集群控制器节点的连接抖动处理系统的结构示意图。
具体实施方式
本发明的核心是提供一种存储集群控制器节点的连接抖动处理方法、系统及装置,只有在节点重连后链路稳定情况下才通知节点应用模块的业务变化,从而避免了在链路连接状态抖动情况下集群拓扑视图发生多次变化所带来的不必要的资源浪费,提高了集群运行的稳定性。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本发明实施例提供的一种存储集群控制器节点的连接抖动处理方法的流程图。
该存储集群控制器节点的连接抖动处理方法应用于存储集群中的主控制器节点,包括:
步骤S1:获取存储集群中各控制器节点之间的链路连接状态,并根据链路连接状态生成集群拓扑视图。
具体地,存储集群中的各控制器节点(主控制器节点+从控制器节点)上均设有链路管理模块和集群处理单元,链路管理模块用于获取本控制器节点及其连接的其它控制器节点之间的链路连接状态,并将链路连接状态上报给存储集群中各控制器节点的集群处理单元;集群处理单元用于根据各控制器节点之间的链路连接状态,生成表征各控制器节点之间的链路连接状态的集群拓扑视图,以为后续基于集群拓扑视图通知对应的节点应用模块执行相应措施。
比如,存储集群包含控制器节点A、控制器节点B、控制器节点C,正常情况下,控制器节点A连接控制器节点B,控制器节点B连接控制器节点C,则正常情况下对应的集群拓扑为:A-B-C;若控制器节点A与控制器节点B发生断连,控制器节点B仍连接控制器节点C,则此情况下对应的集群拓扑为:B-C。
步骤S2:在第一控制器节点与第二控制器节点之间发生断连后,基于最新的集群拓扑视图通知对应的节点应用模块执行相应措施,并除去第一控制器节点和第二控制器节点的收发事件权利。
具体地,在存储集群中任两个连接的控制器节点(称为第一控制器节点和第二控制器节点)之间发生断连后,各控制器节点的链路管理模块均获取本控制器节点及其连接的其它控制器节点之间最新的链路连接状态,并将最新的链路连接状态上报给各控制器节点的集群处理单元;各控制器节点的集群处理单元均根据各控制器节点之间最新的链路连接状态生成最新的集群拓扑视图,然后基于最新的集群拓扑视图通知对应的节点应用模块执行相应措施(如一个控制器节点的链路状态发生了断连,则各节点应用模块停止或撤销向这个控制器节点发送业务数据、中止等待应由这个控制器节点返回的数据)。对于主控制器节点而言,主控制器节点的集群处理单元还除去第一控制器节点和第二控制器节点的收发事件权利,以使第一控制器节点和第二控制器节点暂时退出存储集群。
步骤S3:在第一控制器节点与第二控制器节点之间发生重连后,根据预设链路稳定连接判定策略判断第一控制器节点与第二控制器节点之间的链路是否已稳定连接;若是,则执行步骤S4。
需要说明的是,本申请的预设是提前设置好的,只需要设置一次,除非根据实际情况需要修改,否则不需要重新设置。
具体地,在第一控制器节点与第二控制器节点之间发生重连后,各控制器节点的链路管理模块均获取本控制器节点及其连接的其它控制器节点之间最新的链路连接状态,并将最新的链路连接状态上报给各控制器节点的集群处理单元;各控制器节点的集群处理单元均根据各控制器节点之间最新的链路连接状态生成最新的集群拓扑视图。考虑到存储集群中任两个连接的控制器节点之间发生断连后再重连,可能是因链路连接状态抖动导致的,所以各控制器节点的集群处理单元在生成最新的集群拓扑视图之后,先不基于最新的集群拓扑视图通知对应的节点应用模块执行相应措施,等待主控制器节点下发指令。
基于此,主控制器节点的集群处理单元在第一控制器节点与第二控制器节点之间发生重连后,根据预设链路稳定连接判定策略判断第一控制器节点与第二控制器节点之间的链路是否已稳定连接,目的是在二者稳定连接后才允许各控制器节点基于最新的集群拓扑视图通知对应的节点应用模块执行相应措施,从而避免了在链路连接状态抖动情况下集群拓扑视图发生多次变化所带来的不必要的资源浪费,提高了集群运行的稳定性。
步骤S4:重新授予第一控制器节点与第二控制器节点的收发事件权利,并广播给其它控制器节点,以使其它控制器节点在接收到广播消息后才基于最新的集群拓扑视图通知对应的节点应用模块执行相应措施。
具体地,主控制器节点的集群处理单元在判断出第一控制器节点与第二控制器节点之间的链路已稳定连接后,重新授予第一控制器节点与第二控制器节点的收发事件权利,以使第一控制器节点和第二控制器节点重新回归存储集群,并将两控制器节点的回归消息广播给其它控制器节点,以告知其它控制器节点第一控制器节点与第二控制器节点已回归存储集群,可以正常收发集群事件和业务数据,则其它控制器节点在接收到广播消息后均基于最新的集群拓扑视图通知对应的节点应用模块执行相应措施,同时主控制器节点也基于最新的集群拓扑视图通知对应的节点应用模块执行相应措施。
本发明提供了一种存储集群控制器节点的连接抖动处理方法,应用于存储集群中的主控制器节点,包括:获取存储集群中各控制器节点之间的链路连接状态,并根据链路连接状态生成集群拓扑视图;在两控制器节点之间发生断连后,基于最新的集群拓扑视图通知对应的节点应用模块执行相应措施,并除去两控制器节点的收发事件权利;在两控制器节点之间发生重连后,根据预设链路稳定连接判定策略判断两控制器节点之间的链路是否已稳定连接;若是,则重新授予两控制器节点的收发事件权利,并广播给其它控制器节点,以使其它控制器节点在接收到广播消息后才基于最新的集群拓扑视图通知对应的节点应用模块执行相应措施。可见,本申请只有在节点重连后链路稳定情况下才通知节点应用模块的业务变化,从而避免了在链路连接状态抖动情况下集群拓扑视图发生多次变化所带来的不必要的资源浪费,提高了集群运行的稳定性。
在上述实施例的基础上:
作为一种可选的实施例,根据预设链路稳定连接判定策略判断第一控制器节点与第二控制器节点之间的链路是否已稳定连接的过程,包括:
从第一控制器节点与第二控制器节点之间发生重连时开始,每隔预设检测周期均检测第一控制器节点与第二控制器节点之间的链路连接状态,直至持续检测时间到达预设检测时间;
判断在预设检测时间内,第一控制器节点与第二控制器节点之间的链路是否一直处于连接状态;
若是,则确定第一控制器节点与第二控制器节点之间的链路已稳定连接。
具体地,主控制器节点的集群处理单元对于两控制器节点链路稳定连接的第一种判定策略为:从第一控制器节点与第二控制器节点之间发生重连时开始启动一个定时机制,每隔预设检测周期(如一秒钟)均检测第一控制器节点与第二控制器节点之间的链路连接状态,直至持续检测时间到达预设检测时间(如一直检测到下一个租约期),才结束第一控制器节点与第二控制器节点在本次发生断连又重连的链路稳定连接检测。基于此,主控制器节点的集群处理单元判断在预设检测时间内,第一控制器节点与第二控制器节点之间的链路是否一直处于连接状态,只有第一控制器节点与第二控制器节点之间的链路一直处于连接状态,才认为第一控制器节点与第二控制器节点之间的链路已稳定连接;否则,认为第一控制器节点与第二控制器节点之间的链路未稳定连接。
作为一种可选的实施例,根据预设链路稳定连接判定策略判断第一控制器节点与第二控制器节点之间的链路是否已稳定连接的过程,包括:
从第一控制器节点与第二控制器节点之间发生重连时开始,每隔预设检测周期均检测第一控制器节点与第二控制器节点之间的链路连接状态,直至持续检测时间到达预设检测时间;
判断在预设检测时间内,第一控制器节点与第二控制器节点之间发生断连的总次数是否小于预设次数阈值;
若是,则确定第一控制器节点与第二控制器节点之间的链路已稳定连接。
具体地,主控制器节点的集群处理单元对于两控制器节点链路稳定连接的第二种判定策略为:从第一控制器节点与第二控制器节点之间发生重连时开始启动一个定时机制,每隔预设检测周期均检测第一控制器节点与第二控制器节点之间的链路连接状态,直至持续检测时间到达预设检测时间,才结束第一控制器节点与第二控制器节点在本次发生断连又重连的链路稳定连接检测。基于此,主控制器节点的集群处理单元判断在预设检测时间内,第一控制器节点与第二控制器节点之间发生断连的总次数是否小于预设次数阈值,只有第一控制器节点与第二控制器节点之间发生断连的总次数小于预设次数阈值,才认为第一控制器节点与第二控制器节点之间的链路已稳定连接;否则,认为第一控制器节点与第二控制器节点之间的链路未稳定连接。
此外,主控制器节点的集群处理单元对于两控制器节点链路稳定连接的第三种判定策略为:从第一控制器节点与第二控制器节点之间发生重连时开始启动一个定时机制,每隔预设检测周期均检测第一控制器节点与第二控制器节点之间的链路连接状态,直至持续检测时间到达预设检测时间,才结束第一控制器节点与第二控制器节点在本次发生断连又重连的链路稳定连接检测。基于此,主控制器节点的集群处理单元判断在链路稳定连接检测结束前第一控制器节点与第二控制器节点之间的链路最终是否处于连接状态,若是,则确定第一控制器节点与第二控制器节点之间的链路已稳定连接;若否,则确定第一控制器节点与第二控制器节点之间的链路未稳定连接。
需要说明的是,上述实施例提供的三种链路稳定连接判定策略,本申请可选择任一种使用,本申请在此不做特别地限定。
作为一种可选的实施例,连接抖动处理方法还包括:
若判断出第一控制器节点与第二控制器节点之间的链路未稳定连接,则热重启第一控制器节点和第二控制器节点,以恢复第一控制器节点和第二控制器节点的稳定连接情况。
进一步地,主控制器节点的集群处理单元在判断出第一控制器节点与第二控制器节点之间的链路未稳定连接后,可热重启第一控制器节点和第二控制器节点,目的是恢复第一控制器节点和第二控制器节点的稳定连接情况,以恢复第一控制器节点和第二控制器节点的正常收发集群事件和业务数据的能力。
作为一种可选的实施例,连接抖动处理方法还包括:
每隔预设统计时间,均统计在本次统计时间内存储集群中各控制器节点的断连次数;
根据各控制器节点的断连次数大小,确定在本次统计时间内断连次数最小的目标控制器节点;
判断目标控制器节点是否为当前的主控制器节点;
若是,则保持当前的主控制器节点的主控制权利;
若否,则将当前的主控制器节点的主控制权利转交给目标控制器节点。
进一步地,考虑到存储集群中的主控制器节点持有主控制权利,即主控制器节点可根据各控制器节点之间的链路连接情况控制各控制节点对应的节点应用模块的措施执行情况,但主控制器节点也可能存在链路连接状态抖动情况,所以主控制器节点的集群处理单元每隔预设统计时间,均统计在本次统计时间内存储集群中各控制器节点的断连次数,可以理解的是,断连次数最小的控制器节点最适合作为存储集群中的主控制器节点,则主控制器节点的集群处理单元根据各控制器节点的断连次数大小,确定在本次统计时间内断连次数最小的控制器节点(称为目标控制器节点),如有多个断连次数最小的控制器节点,则从中任选一个控制器节点作为目标控制器节点,然后判断目标控制器节点是否为当前的主控制器节点,若为当前的主控制器节点,说明当前的主控制器节点没必要更换,则保持当前的主控制器节点的主控制权利;若不为当前的主控制器节点,说明当前的主控制器节点需要更换,则将当前的主控制器节点的主控制权利转交给目标控制器节点。
作为一种可选的实施例,连接抖动处理方法还包括:
根据在本次统计时间内存储集群中各控制器节点的断连次数,确定各控制器节点当前的维护优先级,以为集群维护提供依据;其中,断连次数较多的控制器节点的维护优先级较高。
进一步地,考虑到断连次数越多的控制器节点越需要维护,即维护优先级越高,所以主控制器节点的集群处理单元根据在本次统计时间内存储集群中各控制器节点的断连次数,确定各控制器节点当前的维护优先级,从而为存储集群的维护提供参考依据。
请参照图2,图2为本发明实施例提供的一种存储集群控制器节点的连接抖动处理系统的结构示意图。
该存储集群控制器节点的连接抖动处理系统应用于存储集群中的主控制器节点,包括:
拓扑生成模块1,用于获取存储集群中各控制器节点之间的链路连接状态,并根据链路连接状态生成集群拓扑视图;
断连处理模块2,用于在第一控制器节点与第二控制器节点之间发生断连后,基于最新的集群拓扑视图通知对应的节点应用模块执行相应措施,并除去第一控制器节点和第二控制器节点的收发事件权利;
重连处理模块3,用于在第一控制器节点与第二控制器节点之间发生重连后,根据预设链路稳定连接判定策略判断第一控制器节点与第二控制器节点之间的链路是否已稳定连接;若是,则重新授予第一控制器节点与第二控制器节点的收发事件权利,并广播给其它控制器节点,以使其它控制器节点在接收到广播消息后才基于最新的集群拓扑视图通知对应的节点应用模块执行相应措施。
作为一种可选的实施例,根据预设链路稳定连接判定策略判断第一控制器节点与第二控制器节点之间的链路是否已稳定连接的过程,包括:
从第一控制器节点与第二控制器节点之间发生重连时开始,每隔预设检测周期均检测第一控制器节点与第二控制器节点之间的链路连接状态,直至持续检测时间到达预设检测时间;
判断在预设检测时间内,第一控制器节点与第二控制器节点之间的链路是否一直处于连接状态;
若是,则确定第一控制器节点与第二控制器节点之间的链路已稳定连接。
作为一种可选的实施例,连接抖动处理系统还包括:
断连统计模块,用于每隔预设统计时间,均统计在本次统计时间内存储集群中各控制器节点的断连次数;
节点选择模块,用于根据各控制器节点的断连次数大小,确定在本次统计时间内断连次数最小的目标控制器节点;判断目标控制器节点是否为当前的主控制器节点;若是,则保持当前的主控制器节点的主控制权利;若否,则将当前的主控制器节点的主控制权利转交给目标控制器节点。
本申请提供的连接抖动处理系统的介绍请参考上述连接抖动处理方法的实施例,本申请在此不再赘述。
本申请还提供了一种存储集群控制器节点的连接抖动处理装置,包括:
存储器,用于存储计算机程序;
处理器,用于在执行计算机程序时实现上述任一种存储集群控制器节点的连接抖动处理方法的步骤。
本申请提供的连接抖动处理装置的介绍请参考上述连接抖动处理方法的实施例,本申请在此不再赘述。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种存储集群控制器节点的连接抖动处理方法,其特征在于,应用于存储集群中的主控制器节点,包括:
获取所述存储集群中各控制器节点之间的链路连接状态,并根据所述链路连接状态生成集群拓扑视图;
在第一控制器节点与第二控制器节点之间发生断连后,基于最新的集群拓扑视图通知对应的节点应用模块执行相应措施,并除去所述第一控制器节点和所述第二控制器节点的收发事件权利;
在所述第一控制器节点与所述第二控制器节点之间发生重连后,根据预设链路稳定连接判定策略判断所述第一控制器节点与所述第二控制器节点之间的链路是否已稳定连接;
若是,则重新授予所述第一控制器节点与所述第二控制器节点的收发事件权利,并广播给其它控制器节点,以使其它控制器节点在接收到广播消息后才基于最新的集群拓扑视图通知对应的节点应用模块执行相应措施。
2.如权利要求1所述的存储集群控制器节点的连接抖动处理方法,其特征在于,根据预设链路稳定连接判定策略判断所述第一控制器节点与所述第二控制器节点之间的链路是否已稳定连接的过程,包括:
从所述第一控制器节点与所述第二控制器节点之间发生重连时开始,每隔预设检测周期均检测所述第一控制器节点与所述第二控制器节点之间的链路连接状态,直至持续检测时间到达预设检测时间;
判断在所述预设检测时间内,所述第一控制器节点与所述第二控制器节点之间的链路是否一直处于连接状态;
若是,则确定所述第一控制器节点与所述第二控制器节点之间的链路已稳定连接。
3.如权利要求1所述的存储集群控制器节点的连接抖动处理方法,其特征在于,根据预设链路稳定连接判定策略判断所述第一控制器节点与所述第二控制器节点之间的链路是否已稳定连接的过程,包括:
从所述第一控制器节点与所述第二控制器节点之间发生重连时开始,每隔预设检测周期均检测所述第一控制器节点与所述第二控制器节点之间的链路连接状态,直至持续检测时间到达预设检测时间;
判断在所述预设检测时间内,所述第一控制器节点与所述第二控制器节点之间发生断连的总次数是否小于预设次数阈值;
若是,则确定所述第一控制器节点与所述第二控制器节点之间的链路已稳定连接。
4.如权利要求1所述的存储集群控制器节点的连接抖动处理方法,其特征在于,所述连接抖动处理方法还包括:
若判断出所述第一控制器节点与所述第二控制器节点之间的链路未稳定连接,则热重启所述第一控制器节点和所述第二控制器节点,以恢复所述第一控制器节点和所述第二控制器节点的稳定连接情况。
5.如权利要求1-4任一项所述的存储集群控制器节点的连接抖动处理方法,其特征在于,所述连接抖动处理方法还包括:
每隔预设统计时间,均统计在本次统计时间内所述存储集群中各控制器节点的断连次数;
根据各控制器节点的断连次数大小,确定在本次统计时间内断连次数最小的目标控制器节点;
判断所述目标控制器节点是否为当前的主控制器节点;
若是,则保持当前的主控制器节点的主控制权利;
若否,则将当前的主控制器节点的主控制权利转交给所述目标控制器节点。
6.如权利要求5所述的存储集群控制器节点的连接抖动处理方法,其特征在于,所述连接抖动处理方法还包括:
根据在本次统计时间内所述存储集群中各控制器节点的断连次数,确定各控制器节点当前的维护优先级,以为集群维护提供依据;其中,断连次数较多的控制器节点的维护优先级较高。
7.一种存储集群控制器节点的连接抖动处理系统,其特征在于,应用于存储集群中的主控制器节点,包括:
拓扑生成模块,用于获取所述存储集群中各控制器节点之间的链路连接状态,并根据所述链路连接状态生成集群拓扑视图;
断连处理模块,用于在第一控制器节点与第二控制器节点之间发生断连后,基于最新的集群拓扑视图通知对应的节点应用模块执行相应措施,并除去所述第一控制器节点和所述第二控制器节点的收发事件权利;
重连处理模块,用于在所述第一控制器节点与所述第二控制器节点之间发生重连后,根据预设链路稳定连接判定策略判断所述第一控制器节点与所述第二控制器节点之间的链路是否已稳定连接;若是,则重新授予所述第一控制器节点与所述第二控制器节点的收发事件权利,并广播给其它控制器节点,以使其它控制器节点在接收到广播消息后才基于最新的集群拓扑视图通知对应的节点应用模块执行相应措施。
8.如权利要求7所述的存储集群控制器节点的连接抖动处理系统,其特征在于,根据预设链路稳定连接判定策略判断所述第一控制器节点与所述第二控制器节点之间的链路是否已稳定连接的过程,包括:
从所述第一控制器节点与所述第二控制器节点之间发生重连时开始,每隔预设检测周期均检测所述第一控制器节点与所述第二控制器节点之间的链路连接状态,直至持续检测时间到达预设检测时间;
判断在所述预设检测时间内,所述第一控制器节点与所述第二控制器节点之间的链路是否一直处于连接状态;
若是,则确定所述第一控制器节点与所述第二控制器节点之间的链路已稳定连接。
9.如权利要求7-8任一项所述的存储集群控制器节点的连接抖动处理系统,其特征在于,所述连接抖动处理系统还包括:
断连统计模块,用于每隔预设统计时间,均统计在本次统计时间内所述存储集群中各控制器节点的断连次数;
节点选择模块,用于根据各控制器节点的断连次数大小,确定在本次统计时间内断连次数最小的目标控制器节点;判断所述目标控制器节点是否为当前的主控制器节点;若是,则保持当前的主控制器节点的主控制权利;若否,则将当前的主控制器节点的主控制权利转交给所述目标控制器节点。
10.一种存储集群控制器节点的连接抖动处理装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于在执行所述计算机程序时实现如权利要求1-6任一项所述的存储集群控制器节点的连接抖动处理方法的步骤。
CN202011109349.0A 2020-10-16 2020-10-16 存储集群控制器节点的连接抖动处理方法、系统及装置 Active CN112272110B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011109349.0A CN112272110B (zh) 2020-10-16 2020-10-16 存储集群控制器节点的连接抖动处理方法、系统及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011109349.0A CN112272110B (zh) 2020-10-16 2020-10-16 存储集群控制器节点的连接抖动处理方法、系统及装置

Publications (2)

Publication Number Publication Date
CN112272110A true CN112272110A (zh) 2021-01-26
CN112272110B CN112272110B (zh) 2022-11-18

Family

ID=74338616

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011109349.0A Active CN112272110B (zh) 2020-10-16 2020-10-16 存储集群控制器节点的连接抖动处理方法、系统及装置

Country Status (1)

Country Link
CN (1) CN112272110B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105515912A (zh) * 2015-12-22 2016-04-20 河北远东通信系统工程有限公司 一种多节点之间链路有效性检测和处理方法
CN107665158A (zh) * 2017-09-22 2018-02-06 郑州云海信息技术有限公司 一种存储集群恢复方法及设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105515912A (zh) * 2015-12-22 2016-04-20 河北远东通信系统工程有限公司 一种多节点之间链路有效性检测和处理方法
CN107665158A (zh) * 2017-09-22 2018-02-06 郑州云海信息技术有限公司 一种存储集群恢复方法及设备

Also Published As

Publication number Publication date
CN112272110B (zh) 2022-11-18

Similar Documents

Publication Publication Date Title
CN111901422B (zh) 一种集群中节点的管理方法、系统及装置
US6574197B1 (en) Network monitoring device
US8665700B2 (en) Fault detection and mitigation for in-vehicle LAN network management
CN107995127B (zh) 一种过载保护方法及装置
CN106533805B (zh) 一种微服务请求处理方法、微服务控制器及微服务架构
TWI701916B (zh) 用於在分布式系統中使管理能力自恢復的方法和裝置
US20160036654A1 (en) Cluster system
CN100373341C (zh) 一种业务进程的分布式分优先级监控方法
CN106557371B (zh) 一种基于边追踪的分布式系统死锁检测方法
CN106789445A (zh) 一种广电网络中网络设备的状态轮询方法和系统
CN114168071B (zh) 一种分布式集群扩容方法、分布式集群扩容装置及介质
JP6007988B2 (ja) 予備系装置、運用系装置、冗長構成システム、及び負荷分散方法
CN112272110B (zh) 存储集群控制器节点的连接抖动处理方法、系统及装置
JP5421942B2 (ja) 蓄電管理装置
CN108563530A (zh) 看门狗及其实现方法
CN103207596A (zh) 用于在冗余的自动化系统中同步地执行程序的方法
JP2007028118A (ja) ノード装置の故障判断方法
WO2014040470A1 (zh) 告警消息的处理方法及装置
CN109218464B (zh) 模块并联的地址冲突上报方法、系统、设备及存储介质
CN111934909A (zh) 主备机ip资源切换方法、装置、计算机设备和存储介质
CN111464357A (zh) 资源配置方法及装置
CN110601972A (zh) 一种报文传输方法、装置及智能弹性架构系统
KR20180081204A (ko) 분산 sdn 제어기 구조에서 제어기 장애 복구 시스템 및 방법
JP2002116920A (ja) クラスタシステム、クラスタシステムにおける監視方法およびコンピュータプログラム
Ravindran et al. On best-effort real-time assurances for recovering from distributable thread failures in distributed real-time systems

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