SMB客户端重连集群的方法、系统及SMB客户端与流程

文档序号:12753139阅读:661来源:国知局
SMB客户端重连集群的方法、系统及SMB客户端与流程

本发明涉及计算机技术领域,特别涉及一种SMB客户端重连集群的方法、系统、SMB客户端及集群服务器。



背景技术:

一般情况下当集群节点由于某些原因变为不可用时,SMB客户端在等待一定的超时时间后会提示出连接断开的错误,例如使用基于TCP的SMB连接超时(超时时间约40~45秒)机制来进行节点是否不可用的判断,然后再给出连接断开的错误提示势必会影响客户端用户的操作感知,客户端只有等待集群实现故障转移完成后才能重新进行读写操作,从而降低了集群的连续可用性。

因此,如何提高SMB客户端重连集群的速度,降低等待时间,使客户端用户几乎无感知,从而提高集群的连续可用性,是本领域技术人员需要解决的技术问题。



技术实现要素:

本发明的目的是提供一种SMB客户端重连集群的方法、系统、SMB客户端及集群服务器,提高SMB客户端重连集群的速度,降低等待时间,使客户端用户几乎无感知,从而提高集群的连续可用性。

为解决上述技术问题,本发明提供一种SMB客户端重连集群的方法,包括:

当连接到SMB文件服务集群中第一节点后,向所述第一节点发送返回所述SMB文件服务集群中所有运行RPC服务的集群节点的IP地址列表的请求;

从所述第一节点返回的IP地址列表中选择一个集群节点作为第二节点,并向所述第二节点中的RPC服务发送建立连接请求及注册通知请求;

当所述第一节点为不可用时,接收所述第二节点发送一个RPC回复通知所述第一节点不可用;

从所述IP地址列表中选择一个集群节点作为第三节点,并向所述第三节点发送建立连接请求,实现SMB客户端重连集群。

其中,所述第一节点为不可用的检查方法,包括:

所述第二节点通过集群仲裁协议检查所述第一节点是否为不可用。

本发明还提供一种SMB客户端,所述SMB客户端中部署有RPC客户端,包括:

第一节点模块,用于当连接到SMB文件服务集群中第一节点后,向所述第一节点发送返回所述SMB文件服务集群中所有运行RPC服务的集群节点的IP地址列表的请求;

第二节点模块,用于从所述第一节点返回的IP地址列表中选择一个集群节点作为第二节点,并向所述第二节点中的RPC服务发送建立连接请求及注册通知请求;

RPC回复模块,用于当所述第一节点为不可用时,接收所述第二节点发送一个RPC回复通知所述第一节点不可用;

第三节点模块,用于从所述IP地址列表中选择一个集群节点作为第三节点,并向所述第三节点发送建立连接请求,实现SMB客户端重连集群。

本发明还提供一种SMB客户端重连集群的方法,包括:

接收SMB客户端发送的连接SMB文件服务集群请求,使所述SMB客户端与第一节点建立连接;

接收所述SMB客户端向所述第一节点发送返回所述SMB文件服务集群中所有运行RPC服务的集群节点的IP地址列表的请求,并向所述SMB客户端返回的IP地址列表;

接收所述SMB客户端向所述IP地址列表中选择的第二节点中的RPC服务发送建立连接请求及注册通知请求,并执行对应操作;

当检查到所述第一节点为不可用时,向所述SMB客户端发送一个RPC回复通知所述第一节点不可用;

接收所述SMB客户端向所述IP地址列表中选择的所述第三节点发送建立连接请求,并建立连接,实现SMB客户端重连集群。

其中,检查到所述第一节点为不可用,包括:

通过集群仲裁协议检查到所述第一节点为不可用。

其中,所述IP地址支持IPV4和IPV6。

本发明还提供一种集群服务器,所述集群服务器中部署有RPC服务端,包括:

第一节点,用于接收SMB客户端发送的连接SMB文件服务集群请求,并与所述SMB客户端建立连接;接收所述SMB客户端发送返回所述SMB文件服务集群中所有运行RPC服务的集群节点的IP地址列表的请求,并向所述SMB客户端返回的IP地址列表;

第二节点,用于接收所述SMB客户端发送建立连接请求及注册通知请求,并执行对应操作;当检查到所述第一节点为不可用时,向所述SMB客户端发送一个RPC回复通知所述第一节点不可用;

第三节点,用于接收所述SMB客户端发送建立连接请求,并与所述SMB客户端建立连接,实现SMB客户端重连集群。

本发明还提供一种SMB客户端重连集群的系统,包括:

根据上述所述的SMB客户端及根据上述所述的集群服务器。

本发明所提供的SMB客户端重连集群的方法,包括:当连接到SMB文件服务集群中第一节点后,向所述第一节点发送返回所述SMB文件服务集群中所有运行RPC服务的集群节点的IP地址列表的请求;从所述第一节点返回的IP地址列表中选择一个集群节点作为第二节点,并向所述第二节点中的RPC服务发送建立连接请求及注册通知请求;当所述第一节点为不可用时,接收所述第二节点发送一个RPC回复通知所述第一节点不可用;从所述IP地址列表中选择一个集群节点作为第三节点,并向所述第三节点发送建立连接请求,实现SMB客户端重连集群;

可见,该方法提高SMB客户端重连集群的速度,降低等待时间,当文件服务节点由于某些原因变为不可用时加快重连集群其他节点的速度,从而使客户端应用程序在操作过程中不会出现任何失败和错误,使客户端用户几乎无感知,从而提高集群的连续可用性;本发明还提供了SMB客户端重连集群的系统、SMB客户端及集群服务器,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例所提供的SMB客户端重连集群的方法的流程图;

图2为本发明实施例所提供的SMB客户端重连集群的方法中信息交互的示意图;

图3为本发明实施例所提供的SMB客户端的结构框图;

图4为本发明实施例所提供的集群服务器的结构框图;

图5为本发明实施例所提供的SMB客户端重连集群的系统的结构框图。

具体实施方式

本发明的核心是提供一种SMB客户端重连集群的方法、系统、SMB客户端及集群服务器,提高SMB客户端重连集群的速度,降低等待时间,使客户端用户几乎无感知,从而提高集群的连续可用性。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本实施例在服务化和微服务化渐渐成为中大型分布式系统架构的主流方式,而RPC在其中扮演着关键的作用,RPC的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性,RPC调用分为同步调用和异步调用,即可以通过一个客户端向服务端注册一个信息,当集群中的节点发生故障时,异步地向客户端发出通知,从而提高集群节点故障的响应速度,而节点故障的检测集群本身就可以实现。这样可以打破SMB连接超时机制的等待时间较长的弊端,通过部署在SMB客户端的RPC客户端和部署在每个集群节点上的RPC服务端来加快节点故障的通知,后文中可以将该RPC客户端命名为MonitorClient,服务端命名为MonitorServer。具体实施过程如下:

请参考图1,图1为本发明实施例所提供的SMB客户端重连集群的方法的流程图;该方法的执行主体可以是SMB客户端,该方法可以包括:

S100、当连接到SMB文件服务集群中第一节点后,向所述第一节点发送返回所述SMB文件服务集群中所有运行RPC服务的集群节点的IP地址列表的请求;

具体的,当SMB客户端即SMB client连接SMB文件服务集群后,RPC客户端即MonitorClient请求已经连接的节点,假设为A节点(NodeA即上述第一节点),要求其返回所有运行RPC服务即MonitorServer的集群节点的IP地址列表。节点返回所有运行RPC服务的集群节点的IP地址列表。IP可以支持IPV4和IPV6。

S110、从所述第一节点返回的IP地址列表中选择一个集群节点作为第二节点,并向所述第二节点中的RPC服务发送建立连接请求及注册通知请求;

S120、当所述第一节点为不可用时,接收所述第二节点发送一个RPC回复通知所述第一节点不可用;

具体的,RPC客户端收到信息之后,向已连接的第一节点之外的其他某一节点上的RPC服务建立连接请求并注册一个通知,此时该节点即是集群当前MonitorServer服务节点,假设为B节点(NodeB即上述第二节点)。由于集群中运行着一个集群仲裁协议,当文件服务节点变为不可用时,集群其他节点会注意到。现在假设节点A因为某些原因变为不可用,这些原因可以是电源故障、网络故障、系统崩溃等,节点B此时通过运行在集群中的集群仲裁协议检查到节点A不可用。节点B向客户端发送一个RPC回复通知客户端节点A不可用。

其中,SMB(Server Message Block)是协议名,它能被用于Wap连接和客户端与服务器之间的信息沟通。RPC(Remote Procedure Call Protocol)远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。

S130、从所述IP地址列表中选择一个集群节点作为第三节点,并向所述第三节点发送建立连接请求,实现SMB客户端重连集群。

具体的,SMB客户端然后向剩余节点中的任何一个节点重新执行SMB Session Setup、Tree Connect等命令,从而提高重连速度。

上述过程的具体信息交互过程请参考图2,其中,客户端上部署MonitorClient,每个节点上均部署MonitorServer。该过程有效缩短SMB客户端重连集群节点的时间大约10秒;在集群节点发生故障的情况下,客户端仅会有很短的IO时延,用户操作不会出现任何错误性的提示,提高了集群的连续可用性。

其中,第一节点、第二节点及第三节点的选取方式,本实施例并不进行限定,只要三个节点均运行有RPC服务即节点上安装有RPC服务端即可。

基于上述技术方案,本发明实施例提供的SMB客户端重连集群的方法,通过集群节点上服务的通知,SMB客户端的操作仅会有很短的时延,SMB客户端用户在读写过程中对节点故障几乎无感知,无需重新发起读写操作,提高集群的连续可用性。

下面对本发明实施例提供的SMB客户端重连集群的系统、SMB客户端及集群服务器进行介绍,下文描述的SMB客户端重连集群的系统、SMB客户端及集群服务器与上文描述的SMB客户端重连集群的方法可相互对应参照。

请参考图3,图3为本发明实施例所提供的SMB客户端的结构框图,包括:

第一节点模块101,用于当连接到SMB文件服务集群中第一节点后,向所述第一节点发送返回所述SMB文件服务集群中所有运行RPC服务的集群节点的IP地址列表的请求;

第二节点模块102,用于从所述第一节点返回的IP地址列表中选择一个集群节点作为第二节点,并向所述第二节点中的RPC服务发送建立连接请求及注册通知请求;

RPC回复模块103,用于当所述第一节点为不可用时,接收所述第二节点发送一个RPC回复通知所述第一节点不可用;

第三节点模块104,用于从所述IP地址列表中选择一个集群节点作为第三节点,并向所述第三节点发送建立连接请求,实现SMB客户端重连集群。

本发明提供一种SMB客户端重连集群的方法,该方法的执行主体是集群服务器,该方法可以包括:

接收SMB客户端发送的连接SMB文件服务集群请求,使所述SMB客户端与第一节点建立连接;

接收所述SMB客户端向所述第一节点发送返回所述SMB文件服务集群中所有运行RPC服务的集群节点的IP地址列表的请求,并向所述SMB客户端返回的IP地址列表;

接收所述SMB客户端向所述IP地址列表中选择的第二节点中的RPC服务发送建立连接请求及注册通知请求,并执行对应操作;

当检查到所述第一节点为不可用时,向所述SMB客户端发送一个RPC回复通知所述第一节点不可用;

接收所述SMB客户端向所述IP地址列表中选择的所述第三节点发送建立连接请求,并建立连接,实现SMB客户端重连集群。

基于上述实施例,检查到所述第一节点为不可用,包括:

通过集群仲裁协议检查到所述第一节点为不可用。

其中,所述IP地址支持IPV4和IPV6。

请参考图4,图4为本发明实施例所提供的集群服务器的结构框图,可以包括:

第一节点201,用于接收SMB客户端发送的连接SMB文件服务集群请求,并与所述SMB客户端建立连接;接收所述SMB客户端发送返回所述SMB文件服务集群中所有运行RPC服务的集群节点的IP地址列表的请求,并向所述SMB客户端返回的IP地址列表;

第二节点202,用于接收所述SMB客户端发送建立连接请求及注册通知请求,并执行对应操作;当检查到所述第一节点为不可用时,向所述SMB客户端发送一个RPC回复通知所述第一节点不可用;

第三节点203,用于接收所述SMB客户端发送建立连接请求,并与所述SMB客户端建立连接,实现SMB客户端重连集群。

请参考图5,图5为本发明实施例所提供的SMB客户端重连集群的系统的结构框图;可以包括:

上述实施例中所述的SMB客户端100及上述实施例中所述的集群服务器200。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的SMB客户端重连集群的方法、系统、SMB客户端及集群服务器进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1