一种在存储集群中进行设备发现的方法及装置与流程

文档序号:16063467发布日期:2018-11-24 12:25阅读:130来源:国知局

本申请涉及存储技术领域,特别涉及一种在存储集群中进行设备发现的方法、装置及计算机可读存储介质;本申请还特别涉及一种存储集群。

背景技术

网络环境下的设备发现是一种比较常见的应用。设备发现就是由机器自动查看并记录下局域网中都有哪些设备存在。一些大型存储集群中配备有大量的存储设备,而设备发现是实现高效的、统一的存储设备管理的前提。

现有技术中,存储集群中的设备发现一般是由服务器发起的。服务器中配备有服务端发现程序;相应地,客户端即集群网络中的各存储设备上配备有客户端响应程序。当服务器调用服务端发现程序而发起设备发现时,各个存储设备便对服务器进行响应,以便服务器根据响应信息获悉并记录各个存储设备的存在。但是,服务器的使用无疑增加了存储集群的配置成本,并提高了存储集群的使用和管理门槛,在一些无法提供服务器的应用场景中,服务器的缺失将影响到整个存储集群的正常运转。

可见,采用何种存储集群中的设备发现技术,以便有效地降低存储集群的配置成本和使用门槛,是本领域技术人员所亟待解决的技术问题。



技术实现要素:

本申请的目的在于提供一种存储集群,以及一种方便易实现的、在存储集群中进行设备发现的方法、装置和计算机可读存储介质,并同时有效降低存储集群的配置成本。

为解决上述技术问题,本申请提供一种在存储集群中进行设备发现的方法,包括:

所述存储集群中的第一存储节点向所述存储集群的通信网络中发送进行设备发现的请求报文;

当所述通信网络中的其他各个存储节点接收并识别所述请求报文、并将获取到的本存储节点的设备信息作为响应报文发送至所述通信网络之后,所述第一存储节点分别接收并识别其他各个所述存储节点发送的所述响应报文,并存储所述设备信息;所述设备信息包括所述本存储节点的设备id。

可选地,所述存储集群中的第一存储节点向所述存储集群的通信网络中发送进行设备发现的请求报文包括:

所述存储集群中的所述第一存储节点向所述存储集群的通信网络中发送进行设备发现的第一请求报文;

所述通信网络中的其他各个存储节点接收并识别所述请求报文,并将获取到的本存储节点的设备信息作为响应报文发送至所述通信网络包括:

所述通信网络中的其他各个所述存储节点接收并识别所述第一请求报文,并将获取到的本存储节点的设备基本信息和所述设备id作为第一响应报文发送至所述通信网络。

可选地,所述设备基本信息包括以下任意一种或者任意组合:

设备名称、设备型号、设备端口位置、设备当前是否准备就绪。

可选地,所述存储集群中的第一存储节点向所述存储集群的通信网络中发送进行设备发现的请求报文包括:

所述存储集群中的所述第一存储节点向所述存储集群的通信网络中发送进行设备发现的第二请求报文;

所述通信网络中的其他各个存储节点接收并识别所述请求报文,并将获取到的本存储节点的设备信息作为响应报文发送至所述通信网络包括:

所述通信网络中的其他各个所述存储节点接收并识别所述第二请求报文,并将获取到的本存储节点的设备运行状态信息和所述设备id作为第二响应报文发送至所述通信网络。

可选地,所述设备运行状态信息包括以下任意一种或者任意组合:

设备运行时长、设备当前是否繁忙、设备当前是否故障。

可选地,还包括:

其他各个所述存储节点在检测到所述第一存储节点故障后,依据预设规则确定出非故障的更新后的第一存储节点,以便由所述更新后的第一存储节点执行所述向所述存储集群的通信网络中发送进行设备发现的请求报文的步骤。

可选地,

所述请求报文的报头携带有第一预设关键字,以便其他各个所述存储节点进行识别;

所述响应报文的报头携带有第二预设关键字,以便所述第一存储节点进行识别。

本申请还提供了一种在存储集群中进行设备发现的装置,应用于所述存储集群中的第一存储节点,包括:

请求模块:用于向所述存储集群的通信网络中发送进行设备发现的请求报文;

处理模块:用于当所述通信网络中的其他各个存储节点接收并识别所述请求报文、并将获取到的本存储节点的设备信息作为响应报文发送至所述通信网络之后,分别接收并识别其他各个所述存储节点发送的所述响应报文,并存储所述设备信息;所述设备信息包括所述本存储节点的设备id。

本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如上所述的任一种在存储集群中进行设备发现的方法的步骤。

本申请还提供了一种存储集群,包括:

第一存储节点:用于向所述存储集群的通信网络中发送进行设备发现的请求报文;在分别接收并识别到所述通信网络中的其他各个存储节点发送的响应报文后,存储所述响应报文中的设备信息;

其他各个所述存储节点:用于在接收并识别到所述请求报文后,将获取到的本存储节点的所述设备信息作为所述响应报文发送至所述通信网络;所述设备信息包括所述本存储节点的设备id。

本申请所提供的在存储集群中进行设备发现的方法包括:所述存储集群中的第一存储节点向所述存储集群的通信网络中发送进行设备发现的请求报文;当所述通信网络中的其他各个存储节点接收并识别所述请求报文、并将获取到的本存储节点的设备信息作为响应报文发送至所述通信网络之后,所述第一存储节点分别接收并识别其他各个所述存储节点发送的所述响应报文,并存储所述设备信息;所述设备信息包括所述本存储节点的设备id。

可见,相比于现有技术,本申请所提供的在存储集群中进行设备发现的方法中,具体是由存储集群中的第一存储节点来发起设备发现,进而根据其他存储节点的响应而获取到整个存储集群中的设备情况的。由于无需为存储集群额外设置服务器,因此本方法不仅操作门槛低、便于实现,而且还有效地降低了存储集群的配置成本。本申请所提供的存储集群、以及在存储集群中进行设备发现的装置和计算机可读存储介质可以实现上述在存储集群中进行设备发现的方法,同样具有上述有益效果。

附图说明

为了更清楚地说明现有技术和本申请实施例中的技术方案,下面将对现有技术和本申请实施例描述中需要使用的附图作简要的介绍。当然,下面有关本申请实施例的附图描述的仅仅是本申请中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本申请的保护范围。

图1为本申请所提供的一种在存储集群中进行设备发现的方法的流程图;

图2为本申请所提供的一种在存储集群中进行设备发现的装置的结构框图。

具体实施方式

本申请的核心在于提供一种存储集群,以及一种方便易实现的、在存储集群中进行设备发现的方法、装置和计算机可读存储介质,并同时有效降低存储集群的配置成本。

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

请参考图1,图1为本申请所提供的一种在存储集群中进行设备发现的方法的流程图,主要包括以下步骤:

步骤1:存储集群中的第一存储节点向存储集群的通信网络中发送进行设备发现的请求报文。

具体地,本申请所提供的设备发现的方法中,是由存储集群中的某一个存储节点即第一存储节点来发起的,而非像现有技术中那样必须设置一个用来发起设备发现的服务器。这里所说的第一存储节点具体可以为存储集群中的任意一个存储节点,由本领域技术人员预先进行设置。当然具体如何设置可由本领域技术人员自行选择。

此外,第一存储节点在通过发送相关的请求报文来发起设备发现时,具体的发送方式也可由本领域技术人员自行设置,包括有线或者无线。例如,可采用该存储集群所专用的通信线路网,若集群尚未搭建完全,也可以采用广播等方式,本申请对此并不进行限定。

步骤2:当通信网络中的其他各个存储节点接收并识别请求报文、并将获取到的本存储节点的设备信息作为响应报文发送至通信网络之后,第一存储节点分别接收并识别其他各个存储节点发送的响应报文,并存储设备信息;设备信息包括本存储节点的设备id。

具体地,当第一存储节点向存储集群的通信网络发送了设备发现的请求报文后,位于该存储集群中的其他各个存储节点都将接收到该用于设备发现的请求报文。由于集群通信内容复杂多样,所以一般还需要一定的手段来识别不同功能用途的请求报文,识别方式可由本领域技术人员可自行选择并设置。其他存储节点识别到设备发现的请求报文之后,便进行响应,即将本存储节点的设备信息按照通信协议格式进行打包封装,并同样发送至通信网络作为响应报文。

类似地,响应报文也同样可以设置一定的识别标志。当第一存储节点识别到其他存储节点针对于设备发现的请求报文回复了响应报文之后,便可读取该响应报文中的设备信息并进行存储,以此可记录下当前时刻该存储集群中所有存在的设备。

为了便于第一存储节点有效区分各个存储节点,每个存储节点的响应报文中的设备信息都可以包括该存储节点的设备id。设备id是可唯一识别某一存储节点设备的标识码。

需要补充说明的是,如前所述,第一存储节点具体可以为存储集群中的任一个存储节点,并且可以进行更换。而当原先的第一存储节点不再作为发起设备发现的节点之后,其也应当具有针对更新后的第一存储节点发送的请求报文进行响应的能力。

可见,本申请所提供的在存储集群中进行设备发现的方法中,具体是由存储集群中的第一存储节点来发起设备发现,进而根据其他存储节点的响应而获取到整个存储集群中的设备情况的。由于无需为存储集群额外设置服务器,因此本方法不仅操作门槛低、便于实现,而且还有效地降低了存储集群的配置成本。

本申请所提供的在存储集群中进行设备发现的方法,在上述实施例的基础上:

作为一种优选实施例,存储集群中的第一存储节点向存储集群的通信网络中发送进行设备发现的请求报文包括:

存储集群中的第一存储节点向存储集群的通信网络中发送进行设备发现的第一请求报文;

通信网络中的其他各个存储节点接收并识别请求报文,并将获取到的本存储节点的设备信息作为响应报文发送至通信网络包括:

通信网络中的其他各个存储节点接收并识别第一请求报文,并将获取到的本存储节点的设备基本信息和设备id作为第一响应报文发送至通信网络。

具体地,还可以进一步对不同目的的设备发现进行区分。其中,在集群搭建之前,可以通过设备发现来了解位于该存储集群中都有哪些存储节点设备,以便集群的顺利搭建。出于此目的的设备发现的第一请求报文可通过特定的识别技术来识别,进行响应的其他存储节点则便可将本存储节点的设备基本信息和设备id回复给第一存储节点。其中,作为一种优选实施例,设备基本信息包括以下任意一种或者任意组合:设备名称、设备型号、设备端口位置、设备当前是否准备就绪。当然,本领域技术人员也可以自行选择其他类型的设备基本信息,本申请对此并不进行限定。

作为一种优选实施例,存储集群中的第一存储节点向存储集群的通信网络中发送进行设备发现的请求报文包括:

存储集群中的第一存储节点向存储集群的通信网络中发送进行设备发现的第二请求报文;

通信网络中的其他各个存储节点接收并识别请求报文,并将获取到的本存储节点的设备信息作为响应报文发送至通信网络包括:

通信网络中的其他各个存储节点接收并识别第二请求报文,并将获取到的本存储节点的设备运行状态信息和设备id作为第二响应报文发送至通信网络。

具体地,当集群搭建完成之后,还可以通过设备发现来获取集群中各个存储节点的设备运行状态。此类型的请求报文即为所说的第二请求报文,接收到第二请求报文的其他存储节点相应地回复第二响应报文,即包含了设备运行状态信息和设备id的响应报文。其中,作为一种优选实施例,设备运行状态信息包括以下任意一种或者任意组合:设备运行时长、设备当前是否繁忙、设备当前是否故障。当然,本领域技术人员也可以自行选择其他类型的设备运行状态信息,本申请对此并不进行限定。

作为一种优选实施例,还包括:

其他各个存储节点在检测到第一存储节点故障后,依据预设规则确定出非故障的更新后的第一存储节点,以便由更新后的第一存储节点执行向存储集群的通信网络中发送进行设备发现的请求报文的步骤。

具体地,为了提高进行设备发现的容灾性,当原本的第一存储节点故障无法工作之后,存储集群中的其他存储节点可以重新确定出更新好的第一存储节点,并由更新后的第一存储节点重新进行设备发现。当然,具体如何从诸多存储节点中确定出更新后的第一存储节点,可由本领域技术人员自行选择设置。例如,可选择当前负载最小性能最高的存储节点作为更新后的第一存储节点。

事实上,为了进一步提高存储集群中各存储节点的设备信息的容灾性,可以依次由各个存储节点作为第一存储节点发起一次设备发现,以便将集群的设备情况在各个存储节点中都存储一次,进行多处数据备份,以极大提高集群的数据可恢复性。

作为一种优选实施例,

请求报文的报头携带有第一预设关键字,以便其他各个存储节点进行识别;

响应报文的报头携带有第二预设关键字,以便第一存储节点进行识别。

具体地,可以通过在报头添加特定关键字的方式来对请求报文、响应报文进行区分,以便第一存储节点和其他存储节点进行识别。当然,本领域技术人员也可采用其他的区分方式,本申请对此并不进行限定。

下面对本申请实施例所提供的在存储集群中进行设备发现的装置进行介绍。

请参阅图2,图2为本申请所提供的一种在存储集群中进行设备发现的装置的结构框图;包括请求模块1和处理模块2;应用于存储集群中的第一存储节点,

请求模块1用于向存储集群的通信网络中发送进行设备发现的请求报文;

处理模块2用于当通信网络中的其他各个存储节点接收并识别请求报文、并将获取到的本存储节点的设备信息作为响应报文发送至通信网络之后,分别接收并识别其他各个存储节点发送的响应报文,并存储设备信息;设备信息包括本存储节点的设备id。

可见,本申请所提供的在存储集群中进行设备发现的装置,通过由存储集群中的第一存储节点来发起设备发现,进而根据其他存储节点的响应而获取到整个存储集群中的设备情况的。由于无需为存储集群额外设置服务器,因此本方法不仅操作门槛低、便于实现,而且还有效地降低了存储集群的配置成本。

本申请还提供了一种存储集群,包括:

第一存储节点:用于向存储集群的通信网络中发送进行设备发现的请求报文;在分别接收并识别到通信网络中的其他各个存储节点发送的响应报文后,存储响应报文中的设备信息;

其他各个存储节点:用于在接收并识别到请求报文后,将获取到的本存储节点的设备信息作为响应报文发送至通信网络;设备信息包括本存储节点的设备id。

本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如上所述的任一种在存储集群中进行设备发现的方法的步骤。

本申请所提供的存储集群、以及在存储集群中进行设备发现的装置和计算机可读存储介质的具体实施方式与上文所描述的在存储集群中进行设备发现的方法可相互对应参照,这里就不再赘述。

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

还需说明的是,在本申请文件中,诸如“第一”和“第二”之类的关系术语,仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。此外,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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

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