首页 / 专利库 / 电信 / 节点 / 连接方法、网关装置和用于客户端的连接装置

连接方法、网关装置和用于客户端的连接装置

阅读:232发布:2020-05-11

专利汇可以提供连接方法、网关装置和用于客户端的连接装置专利检索,专利查询,专利分析的服务。并且本公开提供了一种通过网关装置实现的连接方法,应用于客户端与基于NVMe over Fabrics协议的存储系统中的存储 节点 之间的 访问 连接,其中,存储系统包括多个存储节点,网关装置能够实现NVMe over Fabrics协议的重定向功能,该方法包括:接收来自客户端发送的连接 请求 ,其中,连接请求用于请求连接存储系统中的存储节点;判断网关装置所在的节点是否为目标存储节点;以及在网关装置所在的节点不是目标存储节点的情况下,向客户端发送重定向报文,以便客户端根据重定向报文与目标存储节点连接,其中,重定向报文包括目标存储节点的连接信息。本公开还提供了一种用于客户端的连接方法、一种网关装置和一种用于客户端的连接装置。,下面是连接方法、网关装置和用于客户端的连接装置专利的具体信息内容。

1.一种通过网关装置实现的连接方法,应用于客户端与基于NVMe over Fabrics协议的存储系统中的存储节点之间的访问连接,其中,所述存储系统包括多个存储节点,所述网关装置能够实现所述NVMe over Fabrics协议的重定向功能,所述方法包括:
接收来自所述客户端发送的连接请求,其中,所述连接请求用于请求连接所述存储系统中的存储节点;
判断所述网关装置所在的节点是否为目标存储节点;以及
在所述网关装置所在的节点不是所述目标存储节点的情况下,向所述客户端发送重定向报文,以便所述客户端根据所述重定向报文与所述目标存储节点连接,其中,所述重定向报文包括所述目标存储节点的连接信息。
2.根据权利要求1所述的方法,还包括:
在所述网关装置所在的节点是所述目标存储节点的情况下,与所述客户端建立连接,以便所述客户端对所述目标存储节点进行访问。
3.根据权利要求1所述的方法,其中,
接收来自所述客户端发送的连接请求包括:在与所述客户端连接的存储节点出现故障的情况下,接收来自所述客户端发送的恢复连接请求。
4.根据权利要求3所述的方法,还包括:
在向所述客户端发送重定向报文之前,对所述存储系统中的存储节点进行故障检测;
以及
确定发生故障的存储节点,以避免向所述客户端发送的重定向报文中包括所述发生故障的存储节点的连接信息。
5.根据权利要求1所述的方法,其中,所述目标存储节点的连接信息包括用于实现所述目标存储节点和所述客户端连接的目标传输协议类型,其中,所述客户端根据所述重定向报文与所述目标存储节点连接包括:
对所述重定向报文中的连接信息进行解析,得到用于实现所述目标存储节点和所述客户端连接的目标传输协议类型;
确定所述目标传输协议类型与原传输协议类型是否相同,其中,所述原传输协议类型为实现所述客户端与所述网关装置连接的协议类型;以及
在不同的情况下,基于所述目标传输协议与所述目标存储节点连接。
6.根据权利要求1所述的方法,其中,所述网关装置设置在所述多个存储节点中的一个或多个存储节点内,或者,所述网关装置设置在独立于所述存储节点的主机节点内。
7.一种用于客户端的连接方法,应用于所述客户端与基于NVMe over Fabrics协议的存储系统中的存储节点之间的访问连接,其中,所述存储系统包括多个存储节点和网关装置,所述网关装置能够实现所述NVMe over Fabrics协议的重定向功能,所述方法包括:
向所述网关装置发送连接请求,其中,所述连接请求用于请求连接所述存储系统中的存储节点;
接收由所述网关装置发送的重定向报文,其中,所述重定向报文是在判断得到所述网关装置所在的节点不是目标存储节点的情况下发送的;以及
根据所述重定向报文与所述目标存储节点连接,其中,所述重定向报文包括所述目标存储节点的连接信息。
8.根据权利要求7所述的方法,其中,所述目标存储节点的连接信息包括用于实现所述目标存储节点和所述客户端连接的目标传输协议类型,其中,根据所述重定向报文与所述目标存储节点连接包括:
对所述重定向报文中的连接信息进行解析,得到用于实现所述目标存储节点和所述客户端连接的目标传输协议类型;
确定所述目标传输协议类型与原传输协议类型是否相同,其中,所述原传输协议类型为实现所述客户端与所述网关装置连接的协议类型;以及
在不同的情况下,基于所述目标传输协议与所述目标存储节点连接。
9.一种网关装置,应用于实现客户端与基于NVMe over Fabrics协议的存储系统中的存储节点之间的访问连接,其中,所述存储系统包括多个存储节点,所述网关装置能够实现所述NVMe over Fabrics协议的重定向功能,所述装置包括:
第一接收模,用于接收来自所述客户端发送的连接请求,其中,所述连接请求用于请求连接所述存储系统中的存储节点;
判断模块,用于判断所述网关装置所在的节点是否为目标存储节点;以及第一发送模块,用于在所述网关装置所在的节点不是所述目标存储节点的情况下,向所述客户端发送重定向报文,以便所述客户端根据所述重定向报文重新与所述目标存储节点连接,其中,所述重定向报文包括所述目标存储节点的连接信息。
10.一种用于客户端的连接装置,应用于所述客户端与基于NVMe over Fabrics协议的存储系统中的存储节点之间的访问连接,其中,所述存储系统包括多个存储节点和网关装置,所述网关装置能够实现所述NVMe over Fabrics协议的重定向功能,所述装置包括:
第二发送模块,用于向所述网关装置发送连接请求,其中,所述连接请求用于请求连接所述存储系统中的存储节点;
第二接收模块,用于接收由所述网关装置发送的重定向报文,其中,所述重定向报文是在判断得到所述网关装置所在的节点不是目标存储节点的情况下发送的;以及连接模块,用于根据所述重定向报文与所述目标存储节点连接,其中,所述重定向报文包括所述目标存储节点的连接信息。

说明书全文

连接方法、网关装置和用于客户端的连接装置

技术领域

[0001] 本公开涉及一种通过网关装置实现的连接方法、一种用于客户端的连接方法、一种网关装置和一种用于客户端的连接装置。

背景技术

[0002] 在高可用存储系统中,为了满足高可用要求(即一个节点发生故障,其他节点可以接管业务),通常是将卷(划定的存储空间)导出成为iSCSI,iSER或者NVMe over Fabrics的方式,提供给应用服务器使用,但是由于存储系统中的卷控制器具有不确定性,比如控制器所在的节点发生故障导致控制器迁移到其他机器,需要将失效连接关系重新连接。在标准协议中,iSCSI和iSER提供了重定向机制,从而使客户端可以从故障节点的TCP连接重定向到新控制器所在节点,从而自动恢复业务。
[0003] 现有NVMe over Fabrics中没有重定向的定义。在现有的NVMe over Fabrics存储系统中,需要保留多个虚拟的IP地址,每个卷或者每个控制器对应一个虚拟的IP地址,当卷所在节点发生故障后,需要将卷迁移到其他节点上时,对应的虚拟的IP地址也需要发生切换,从而实现连接恢复。该方案的问题是需要多个虚拟的IP地址实现多个NVMe-oF target的跨节点切换操作,当节点和NVMe-oF target数量很多时,虚拟的IP地址会受限于IP地址池数量,回收和管理都会带来更大的复杂度。发明内容
[0004] 本公开的一个方面提供了通过网关装置实现的连接方法,应用于客户端与基于NVMe over Fabrics协议的存储系统中的存储节点之间的访问连接,其中,上述存储系统包括多个存储节点,上述网关装置能够实现上述NVMe over Fabrics协议的重定向功能,上述方法包括:接收来自上述客户端发送的连接请求,其中,上述连接请求用于请求连接上述存储系统中的存储节点;判断上述网关装置所在的节点是否为目标存储节点;以及在上述网关装置所在的节点不是上述目标存储节点的情况下,向上述客户端发送重定向报文,以便上述客户端根据上述重定向报文与上述目标存储节点连接,其中,上述重定向报文包括上述目标存储节点的连接信息。
[0005] 可选地,在上述网关装置所在的节点是上述目标存储节点的情况下,与上述客户端建立连接,以便上述客户端对上述目标存储节点进行访问。
[0006] 可选地,接收来自上述客户端发送的连接请求包括:在与上述客户端连接的存储节点出现故障的情况下,接收来自上述客户端发送的恢复连接请求。
[0007] 可选地,上述的方法还包括:在向上述客户端发送重定向报文之前,对上述存储系统中的存储节点进行故障检测;以及确定发生故障的存储节点,以避免向上述客户端发送的重定向报文中包括上述发生故障的存储节点的连接信息。
[0008] 可选地,上述目标存储节点的连接信息包括用于实现上述目标存储节点和上述客户端连接的目标传输协议类型,其中,上述客户端根据上述重定向报文与上述目标存储节点连接包括:对上述重定向报文中的连接信息进行解析,得到用于实现上述目标存储节点和上述客户端连接的目标传输协议类型;确定上述目标传输协议类型与原传输协议类型是否相同,其中,上述原传输协议类型为实现上述客户端与上述网关装置连接的协议类型;以及在不同的情况下,基于上述目标传输协议与上述目标存储节点连接。
[0009] 可选地,上述网关装置设置在上述多个存储节点中的一个或多个存储节点内,或者,上述网关装置设置在独立于上述存储节点的主机节点内。
[0010] 本公开的另一个方面提供了一种用于客户端的连接方法,应用于上述客户端与基于NVMe over Fabrics协议的存储系统中的存储节点之间的访问连接,其中,上述存储系统包括多个存储节点和网关装置,上述网关装置能够实现上述NVMe over Fabrics协议的重定向功能,上述方法包括:向上述网关装置发送连接请求,其中,上述连接请求用于请求连接上述存储系统中的存储节点;接收由上述网关装置发送的重定向报文,其中,上述重定向报文是在判断得到上述网关装置所在的节点不是目标存储节点的情况下发送的;以及根据上述重定向报文与上述目标存储节点连接,其中,上述重定向报文包括上述目标存储节点的连接信息。
[0011] 可选地,上述目标存储节点的连接信息包括用于实现上述目标存储节点和上述客户端连接的目标传输协议类型,其中,根据上述重定向报文与上述目标存储节点连接包括:对上述重定向报文中的连接信息进行解析,得到用于实现上述目标存储节点和上述客户端连接的目标传输协议类型;确定上述目标传输协议类型与原传输协议类型是否相同,其中,上述原传输协议类型为实现上述客户端与上述网关装置连接的协议类型;以及在不同的情况下,基于上述目标传输协议与上述目标存储节点连接。
[0012] 本公开的另一个方面提供了一种网关装置,应用于实现客户端与基于NVMe over Fabrics协议的存储系统中的存储节点之间的访问连接,其中,上述存储系统包括多个存储节点,上述网关装置能够实现上述NVMe over Fabrics协议的重定向功能,上述装置包括:第一接收模,用于接收来自上述客户端发送的连接请求,其中,上述连接请求用于请求连接上述存储系统中的存储节点;判断模块,用于判断上述网关装置所在的节点是否为目标存储节点;以及第一发送模块,用于在上述网关装置所在的节点不是上述目标存储节点的情况下,向上述客户端发送重定向报文,以便上述客户端根据上述重定向报文重新与上述目标存储节点连接,其中,上述重定向报文包括上述目标存储节点的连接信息。
[0013] 本公开的另一个方面提供了一种用于客户端的连接装置,应用于上述客户端与基于NVMe over Fabrics协议的存储系统中的存储节点之间的访问连接,其中,上述存储系统包括多个存储节点和网关装置,上述网关装置能够实现上述NVMe over Fabrics协议的重定向功能,上述装置包括:第二发送模块,用于向上述网关装置发送连接请求,其中,上述连接请求用于请求连接上述存储系统中的存储节点;第二接收模块,用于接收由上述网关装置发送的重定向报文,其中,上述重定向报文是在判断得到上述网关装置所在的节点不是目标存储节点的情况下发送的;以及连接模块,用于根据上述重定向报文与上述目标存储节点连接,其中,上述重定向报文包括上述目标存储节点的连接信息。
[0014] 本公开的另一个方面提供了一种计算机系统,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
[0015] 本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
[0016] 本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
[0017] 根据本公开的实施例,网关装置能够实现NVMe over Fabrics协议的重定向功能,基于网关装置实现了客户端与基于NVMe over Fabrics协议的存储节点之间的访问连接,解决了基于NVMe over Fabrics协议的存储系统的连接恢复问题。通过本公开的实施例,可以实现不用虚拟的IP地址或者只用一个虚拟的IP地址即可完成重定向操作,数量上不受IP地址的限制。附图说明
[0018] 为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
[0019] 图1示意性示出了根据本公开实施例的包括应用服务器和存储系统的系统架构的示意图;
[0020] 图2示意性示出了根据本公开实施例的通过网关装置实现的连接方法的流程图
[0021] 图3示意性示出了根据本公开实施例的配置网关装置的示意图;
[0022] 图4示意性示出了根据本公开另一实施例的连接方法的流程图;
[0023] 图5示意性示出了根据本公开另一实施例的客户端根据重定向报文与目标存储节点连接的流程图;
[0024] 图6示意性示出了根据本公开实施例的网关装置的框图
[0025] 图7示意性示出了根据本公开实施例的用于客户端的连接装置的框图;以及[0026] 图8示意性示出了根据本公开实施例的适于实现本公开连接方法的计算机系统的方框图。

具体实施方式

[0027] 以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
[0028] 在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
[0029] 在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
[0030] 在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
[0031] 附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
[0032] 本公开的实施例提供了一种通过网关装置实现的连接方法,应用于客户端与基于NVMe over Fabrics协议的存储系统中的存储节点之间的访问连接,其中,存储系统包括多个存储节点,网关装置能够实现NVMe over Fabrics协议的重定向功能。该方法包括:接收来自客户端发送的连接请求,其中,连接请求用于请求连接存储系统中的存储节点;判断网关装置所在的节点是否为目标存储节点;以及在网关装置所在的节点不是目标存储节点的情况下,向客户端发送重定向报文,以便客户端根据重定向报文与目标存储节点连接,其中,重定向报文包括目标存储节点的连接信息。
[0033] 图1示意性示出了根据本公开实施例的包括应用服务器和存储系统的系统架构的示意图。需要注意的是,图1所示仅为可以应用本公开实施例的架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以包括其他设备或系统。
[0034] 如图1所示,该系统架构100包括应用服务器110和存储系统120。其中,应用服务器110可以作为客户端节点。存储系统120至少可以包括存储节点121~123,应用服务器110和存储系统120中的存储节点可以支持NVMe over Fabrics协议。
[0035] 根据本公开的实施例,网关装置可以设置在现有存储系统120中被选中的存储节点,也可以是额外的主机,或者是一个独立的服务或者组件,网关装置可以是一个或多个。例如,网关装置可以设置在存储节点121中,或者,可以设置在存储节点122中,或者还可以设置在存储节点121和122中。网关装置可以应用于客户端与基于NVMe overFabrics协议的存储节点之间的访问连接。
[0036] NVMe over Fabrics协议定义了使用各种通用的传输层协议来实现NVMe功能。依据具体的传输层不同,又有不同的传输层绑定协议可以具体规范每一种互联网络所具体需要实现的传输转换层实现。
[0037] 由于NVMe over Fabrics协议构造在其他的传输层协议基础之上,因此,可以使用原来的传输层协议配合NVMe over Fabrics协议实现高性能、低延迟和低协议负担的优势。基于NVMe over Fabrics协议的主机可以通过互连结构访问到任何一个存储系统中的存储节点。这种访问具有高性能、低延迟和低协议负担的优势。
[0038] 通过本公开的实施例,网关装置能够实现NVMe over Fabrics协议的重定向功能,基于网关装置实现了客户端与基于NVMe over Fabrics协议的存储节点之间的访问连接,解决了基于NVMe over Fabrics协议的存储系统的连接恢复问题。
[0039] 通过本公开的实施例,可以实现不用虚拟的IP地址或者只用一个虚拟的IP地址即可完成多个NVMe-oF target(目标器)的重定向操作,数量上不受IP地址的限制。由于每个存储节点都可以提供discovery services(发现服务),因此不使用虚拟的IP地址,通过网关节点就可以完成任意数量的基于NVMe over Fabrics协议的卷的切换操作,对于用户来说更易于配置和使用。
[0040] 图2示意性示出了根据本公开实施例的通过网关装置实现的连接方法的流程图。
[0041] 根据本公开的实施例,通过网关装置实现的连接方法应用于客户端与基于NVMe over Fabrics协议的存储系统中的存储节点之间的访问连接,其中,存储系统包括多个存储节点,网关装置能够实现NVMe over Fabrics协议的重定向功能。网关装置也能够实现NVMe over Fabrics协议的的发现服务。
[0042] 如图2所示,该方法包括操作S210~S230。
[0043] 在操作S210,接收来自客户端发送的连接请求,其中,连接请求用于请求连接存储系统中的存储节点。
[0044] 在操作S220,判断网关装置所在的节点是否为目标存储节点。
[0045] 根据本公开的实施例,本公开所提供的网关装置实现方式可以根据实际情况进行设置。例如,网关装置可以设置在独立于存储节点的主机节点内。或者,网关装置也可以设置在多个存储节点中的一个或多个存储节点内,例如作为一种服务或者组件配置在存储节点内。通过将网关装置以独立于存储节点的方式设置,可以避免网关装置受到存储系统故障的影响,便于维护网关装置;通过将网关装置作为一种服务或者组件配置在存储节点内,更易于配置和使用,硬件成本低。
[0046] 图3示意性示出了根据本公开实施例的配置网关装置的示意图。
[0047] 如图3所示,网关装置设置在存储系统320中的存储节点321内,其中,存储系统320可以包括存储节点321~323。
[0048] 客户端310可以包括第三方应用服务器,客户端310可以向网关装置发送连接请求,用于请求连接存储系统320中的存储节点。客户端310访问存储系统320时,需要指定网关地址,网关地址包括不限于IP地址、IB地址。客户端310可以内置NVMe over Fabrics客户端软件或硬件。客户端310通过NVMe over Fabrics客户端组件向网关装置发送发现请求。
[0049] 根据本公开的实施例,在接收来自客户端发送的连接请求之前,网关装置可以接收来自客户端的发现请求,网关装置可以在discovery log page(发现页面)中将自身地址提供给客户端,如果是多个网关,还可以包括其他的网关地址。
[0050] 客户端根据网关装置返回的地址进行连接,连接方式可以是TCP连接,也可以是RDMA和光纤连接。
[0051] 根据本公开的实施例,在接收到连接请求之后,网关装置可以判断网关装置所在的节点是不是目标存储节点。
[0052] 在操作S230,在网关装置所在的节点不是目标存储节点的情况下,向客户端发送重定向报文,以便客户端根据重定向报文与目标存储节点连接,其中,重定向报文包括目标存储节点的连接信息。
[0053] 根据本公开的实施例,在网关装置所在的节点不是目标存储节点的情况下,可以查询所要连接的目标器所在的存储节点,然后将该存储节点的信息以重定向报文的形式发送给客户端。
[0054] 重定向报文可以是一段二进制数据,其中包括目标存储节点的连接信息,还可以包括标识符,表明该报文是一个重定向报文。连接信息包括但不限于:TCP/IP协议,RDMA,Fibre Channel,PCI连接信息。
[0055] 根据本公开的实施例,客户端可以根据网关装置返回的重定向报文,重新发起连接到重定向报文包含的节点,新的存储节点接受连接,客户端连接过程完成,例如,如图3所示,客户端310与存储节点322连接。
[0056] 根据本公开的实施例,在网关装置所在的节点是目标存储节点的情况下,则无需发送重定向报文给客户端,网关装置所在的节点直接与客户端建立连接,以便客户端对目标存储节点进行访问。
[0057] 通过本公开的实施例,网关装置能够实现NVMe over Fabrics协议的重定向功能,基于网关装置实现了客户端与基于NVMe over Fabrics协议的存储节点之间的访问连接,解决了基于NVMe over Fabrics协议的存储系统的连接恢复问题。
[0058] 可以实现不用虚拟的IP地址或者只用一个虚拟的IP地址即可完成多个NVMe-oF target(目标器)的重定向操作,数量上不受IP地址的限制。由于每个存储节点都可以提供discovery services(发现服务),因此不使用虚拟的IP地址,通过网关节点就可以完成任意数量的基于NVMe over Fabrics协议的卷的切换操作,对于用户来说更易于配置和使用。
[0059] 下面参考图4~图5,结合具体实施例对图2所示的方法做进一步说明。
[0060] 图4示意性示出了根据本公开另一实施例的连接方法的流程图。
[0061] 在与客户端连接的存储节点出现故障的情况下,网关装置可以接收来自客户端发送的恢复连接请求。如图4所示,该方法包括操作S410~S420。
[0062] 在操作S410,在向客户端发送重定向报文之前,对存储系统中的存储节点进行故障检测。
[0063] 在操作S420,确定发生故障的存储节点,以避免向客户端发送的重定向报文中包括发生故障的存储节点的连接信息。
[0064] 根据本公开的实施例,存储系统中可以提供故障检测功能,在检测到与客户端连接的存储节点出现故障之后,已不能正常提供服务,通过确定发生故障的存储节点,可以将相应业务迁移到新的节点。
[0065] 通过本公开的实施例,由于出现故障的存储节点已经不能正常提供服务,通过确定出发生故障的存储节点,使得网关装置在向客户端发送重定向报文时,不会分配发生故障的存储节点给客户端,避免了重定向报文中包括发生故障的存储节点的连接信息,可以保证客户端与新的存储节点连接成功。
[0066] 根据本公开的实施例,网关装置发送重定向报文给客户端,该重定向报文包含新的节点信息,新的节点是能够正常提供服务的存储节点。在客户端收到重定向报文之后,将连接转移到新的节点,新的节点接受连接,恢复过程完成。
[0067] 图5示意性示出了根据本公开另一实施例的客户端根据重定向报文与目标存储节点连接的流程图。
[0068] 根据本公开的实施例,目标存储节点的连接信息包括用于实现目标存储节点和客户端连接的目标传输协议类型。
[0069] 如图5所示,根据重定向报文与目标存储节点连接包括操作S510~S530。
[0070] 在操作S510,对重定向报文中的连接信息进行解析,得到用于实现目标存储节点和客户端连接的目标传输协议类型。
[0071] 根据本公开的实施例,客户端和网关装置都能够支持NVMe over Fabrics,NVMe over Fabrics协议定义了使用各种通用的传输层协议来实现NVMe功能。根据本公开的实施例,存储节点和客户端之间的连接方式包括但不限于TCP/IP连接,RDMA连接,Fibre Channel连接,PCI连接等等。不同的连接方式适用不同的传输协议。
[0072] 在操作S520,确定目标传输协议类型与原传输协议类型是否相同,其中,原传输协议类型为实现客户端与网关装置连接的协议类型。
[0073] 根据本公开的实施例,例如,客户端与网关装置之间的连接方式为RDMA连接,目标存储节点和客户端之间的连接方式为TCP/IP连接,则原传输协议为RDMA协议,目标传输协议为TCP/IP协议。TCP/IP协议与RDMA协议不同。
[0074] 在操作S530,在不同的情况下,基于目标传输协议与目标存储节点连接。
[0075] 通过本公开的实施例,由于可以实现客户端、网关装置和存储节点之间连接方式的切换,支持多种协议连接。即使客户端、网关装置和存储节点之间的连接方式不同,也可以保证客户端、网关装置和存储节点之间连接成功。
[0076] 根据本公开的实施例,在目标传输协议类型与原传输协议类型相同的情况下,则客户端可以根据原传输协议与目标存储节点连接,即客户端可以按照客户端与网关装置连接的协议,与目标存储节点连接。例如,客户端与网关装置之间的连接方式为TCP/IP连接,即原传输协议为TCP/IP协议,目标存储节点和客户端之间的连接方式也为TCP/IP连接,即目标传输协议也为TCP/IP协议。则客户端无需切换连接方式,直接按照原传输协议与目标存储节点连接。
[0077] 图6示意性示出了根据本公开实施例的网关装置的框图。
[0078] 如图6所示,网关装置600包括第一接收模块610、判断模块620和第一发送模块630。
[0079] 第一接收模块610用于接收来自客户端发送的连接请求,其中,连接请求用于请求连接存储系统中的存储节点。
[0080] 判断模块620用于判断网关装置所在的节点是否为目标存储节点。
[0081] 第一发送模块630用于在网关装置所在的节点不是目标存储节点的情况下,向客户端发送重定向报文,以便客户端根据重定向报文重新与目标存储节点连接,其中,重定向报文包括目标存储节点的连接信息。
[0082] 根据本公开的实施例,在上述网关装置所在的节点是上述目标存储节点的情况下,与上述客户端建立连接,以便上述客户端对上述目标存储节点进行访问。
[0083] 根据本公开的实施例,接收来自上述客户端发送的连接请求包括:在与上述客户端连接的存储节点出现故障的情况下,接收来自上述客户端发送的恢复连接请求。
[0084] 根据本公开的实施例,在向上述客户端发送重定向报文之前,对上述存储系统中的存储节点进行故障检测;以及确定发生故障的存储节点,以避免向上述客户端发送的重定向报文中包括上述发生故障的存储节点的连接信息。
[0085] 通过本公开的实施例,网关装置能够实现NVMe over Fabrics协议的重定向功能,基于网关装置实现了客户端与基于NVMe over Fabrics协议的存储节点之间的访问连接,解决了基于NVMe over Fabrics协议的存储系统的连接恢复问题。
[0086] 图7示意性示出了根据本公开实施例的用于客户端的连接装置的框图。
[0087] 如图7所示,用于客户端的连接装置700包括第二发送模块710、第二接收模块720和连接模块730。
[0088] 第二发送模块710用于向网关装置发送连接请求,其中,连接请求用于请求连接存储系统中的存储节点。
[0089] 第二接收模块720用于接收由网关装置发送的重定向报文,其中,重定向报文是在判断得到网关装置所在的节点不是目标存储节点的情况下发送的。
[0090] 连接模块730用于根据重定向报文与目标存储节点连接,其中,重定向报文包括目标存储节点的连接信息。
[0091] 通过本公开的实施例,连接装置700通过与网关装置通信,可以实现客户端与存储系统中的存储节点连接,由于网关装置能够实现NVMe over Fabrics协议的重定向功能,使得客户端可以与基于NVMe over Fabrics协议的存储节点之间的访问连接,解决了基于NVMe over Fabrics协议的存储系统的连接恢复问题。
[0092] 根据本公开的实施例,上述目标存储节点的连接信息包括用于实现上述目标存储节点和上述客户端连接的目标传输协议类型,其中,根据上述重定向报文与上述目标存储节点连接包括:对上述重定向报文中的连接信息进行解析,得到用于实现上述目标存储节点和上述客户端连接的目标传输协议类型;确定上述目标传输协议类型与原传输协议类型是否相同,其中,上述原传输协议类型为实现上述客户端与上述网关装置连接的协议类型;以及在不同的情况下,基于上述目标传输协议与上述目标存储节点连接。
[0093] 根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
[0094] 例如,第一接收模块610、判断模块620和第一发送模块630中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一接收模块610、判断模块620和第一发送模块630中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一接收模块610、判断模块620和第一发送模块630中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
[0095] 图8示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的方框图。图8示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0096] 如图8所示,计算机系统800包括处理器810和计算机可读存储介质820。该计算机系统800可以执行根据本公开实施例的方法。
[0097] 具体地,处理器810例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器810还可以包括用于缓存用途的板载存储器。处理器810可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
[0098] 计算机可读存储介质820,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;等等。
[0099] 计算机可读存储介质820可以包括计算机程序821,该计算机程序821可以包括代码/计算机可执行指令,其在由处理器810执行时使得处理器810执行根据本公开实施例的方法或其任何变形
[0100] 计算机程序821可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序821中的代码可以包括一个或多个程序模块,例如包括821A、模块821B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器810执行时,使得处理器810可以执行根据本公开实施例的方法或其任何变形。
[0101] 根据本发明的实施例,第一接收模块610、判断模块620和第一发送模块630中的至少一个可以实现为参考图8描述的计算机程序模块,其在被处理器810执行时,可以实现上面描述的相应操作。
[0102] 本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
[0103] 根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0104] 附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0105] 本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
[0106] 尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈