集群存储网络并行负载的控制方法及系统与流程

文档序号:11868135阅读:243来源:国知局
集群存储网络并行负载的控制方法及系统与流程
本发明涉及到集群存储领域,特别涉及到一种集群存储网络并行负载的控制方法及系统。

背景技术:
集群存储网络一般构架于标准的高速低延时的TCP/IP以太网之上,并且为了获取较高的数据存储可靠性、可扩展性以及存储性能,集群存储网络通常情况下将数据块分条(称作striping)存放在多个存储节点上,因而会在客户端请求读取一个数据块的时候,集群存储网络中保存有当前请求读取的数据块的各个数据片段的所有存储节点将同步响应,这种通信模式也被称为多对一(M:1)通信方式。在(M:1)的通信方式下,由于交换机缓存或者是客户端到交换机的数据传输链路的带宽有限,当多存储节点在同步响应客户端的数据请求的时候,参与竞争网络瓶颈资源的所有传输流均将以自己最大限度的负载速率像客户端发送当前请求的数据,因此在极短的时间之内,交换机的缓冲buffer、交换队列以及交换机到客户端的有限的链路带宽等网络瓶颈资源就会消耗殆尽。以至于在资源竞争中处于失利地位的存储节点不能及时的将客户端的本次请求数据发送出去,客户端由于同步机制的存在,当收不到本次请求的全部数据时,需要不停的对那些处于资源竞争失利地位的存储节点发送重复的TCP回复数据包,要求其重传丢失的数据包。因而,最后导致本次数据请求的最终完成时间不断延长,降低了客户端的实际吞吐率。

技术实现要素:
本发明的主要目的为提供一种集群存储网络并行负载的控制方法,旨在实现控制各个确定的存储节点按照分配的对应带宽传送数据给客户端,提高客户端的实际吞吐率。本发明还提出一种集群存储网络并行负载的控制系统,旨在实现控制各个确定的存储节点按照分配的对应带宽传送数据给客户端,提高客户端的实际吞吐率。一种集群存储网络并行负载的控制方法,该方法包括:当侦测到客户端的数据请求时,确定存放所述数据请求对应的数据块的集群存储网络的存储节点;获取集群存储网络的最大链路传输带宽,根据获取的最大链路传输带宽及确定的存储节点的数量,为各个确定的存储节点分配对应的带宽;控制各个确定的存储节点按照分配的带宽,将存储的所述数据请求对应的数据块的数据片段传送给所述客户端,以生成完整的数据块。优选地,在所述控制各个确定的存储节点按照分配的带宽,将存储的所述数据请求对应的数据块的数据片段传送给所述客户端,以生成完整的数据块的步骤之后,该方法还包括:将所述确定的存储节点的数量及为各个确定的存储节点分配的带宽保存。优选地,在所述确定存放所述数据请求对应的数据块的集群存储系统的存储节点的步骤之后,该方法还包括:判断所述确定的存储节点的数量与保存的存储节点的数量是否一致;若所述确定的存储节点的数量与保存的存储节点的数量不一致,则获取集群存储网络的最大链路传输带宽,根据获取的最大链路传输带宽及确定的存储节点数,给所述数据请求对应的数据的存储节点分配对应的带宽。优选地,在所述判断所述确定的存储节点的数量与保存的存储节点的数量是否一致的步骤之后,该方法还包括:若所述确定的存储节点的数量与保存的存储节点的数量一致,则控制各个确定的存储节点按照保存的带宽,将存储的所述数据请求对应的数据块的数据片段传送给所述客户端,以生成完整的数据块。优选地,所述控制各个确定的存储节点按照分配的带宽,将存储的所述数据请求对应的数据块的数据片段传送给所述客户端,以生成完整的数据块的步骤包括:侦测各个确定的存储节点进行数据传送的带宽,并判断各个存储节点进行数据传送的带宽是否超过分配的的带宽或保存的带宽;若各个确定的存储节点进行数据传送的带宽超过分配的带宽或保存的带宽,控制各个确定的存储节点按照小于等于所述分配的带宽或所述保存的带宽,将存储的所述数据请求对应的数据块的数据片段传送给所述客户端,以生成完整的数据块。一种集群存储网络并行负载的控制系统,该系统包括:分析模块,用于当侦测到客户端的数据请求时,确定存放所述数据请求对应的数据块的集群存储网络的存储节点;数据处理模块,用于获取集群存储网络的最大链路传输带宽,根据获取的最大链路传输带宽及确定的存储节点的数量,为各个确定的存储节点分配对应的带宽;控制模块,用于控制各个确定的存储节点按照分配的带宽,将存储的所述数据请求对应的数据块的数据片段传送给所述客户端,以生成完整的数据块。优选地,该系统还包括:存储模块,用于将所述确定的存储节点的数量及为各个确定的存储节点分配的带宽保存。优选地,所述分析模块,还用于判断所述确定的存储节点的数量与保存的存储节点的数量是否一致;所述数据处理模块,还用于若所述确定的存储节点的数量与保存的存储节点的数量不一致,则获取集群存储网络的最大链路传输带宽,根据获取的最大链路传输带宽及确定的存储节点数,给所述数据请求对应的数据的存储节点分配对应的带宽。优选地,所述控制模块,还用于若所述确定的存储节点的数量与保存的存储节点的数量一致,则控制各个确定的存储节点按照保存的带宽,将存储的所述数据请求对应的数据块的数据片段传送给所述客户端,以生成完整的数据块。优选地,该系统还包括侦测模块,所述侦测模块,用于侦测各个确定的存储节点进行数据传送的带宽;所述分析模块,还用于判断各个存储节点进行数据传送的带宽是否超过分配的带宽或保存的带宽;所述控制模块,还用于若各个确定的存储节点进行数据传送的带宽超过分配的带宽或保存的带宽,控制各个确定的存储节点按照小于等于所述分配的带宽或所述保存的带宽,将存储的所述数据请求对应的数据块的数据片段传送给所述客户端,以生成完整的数据块。相对现有技术,本发明通过控制各个确定的存储节点按照分配的带宽将数据传送给客户端,使得各个存储节点在资源竞争中处于均衡的状态,及时的将客户端的请求数据发送出去,加快数据请求的完成时间,进而提高客户端的实际吞吐率。附图说明图1为本发明集群存储网络并行负载的控制方法的第一实施例的具体流程图;图2为本发明集群存储网络并行负载的控制方法的第二实施例的具体流程图;图3为本发明集群存储网络并行负载的控制方法的第三实施例的具体流程图;图4为本发明集群存储网络并行负载的控制方法的第四实施例的具体流程图;图5为本发明集群存储网络并行负载的控制系统的第一实施例的具体架构图;图6为本发明集群存储网络并行负载的控制系统的第二实施例的具体架构图;图7为本发明集群存储网络并行负载的控制系统的第三实施例的具体架构图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。如图1所示,为本发明集群存储网络并行负载的控制方法的第一实施例的具体流程图。需要强调的是:图1所示流程图仅为一个较佳实施例,本领域的技术人员当知,任何围绕本发明思想构建的实施例都不应脱离于如下技术方案涵盖的范围:当侦测到客户端的数据请求时,确定存放所述数据请求对应的数据块的集群存储网络的存储节点;获取集群存储网络的最大链路传输带宽,根据获取的最大链路传输带宽及确定的存储节点的数量,为各个确定的存储节点分配对应的带宽;控制各个确定的存储节点按照分配的带宽,将存储的所述数据请求对应的数据块的数据片段传送给所述客户端,以生成完整的数据块。以下是本实施例逐步实现对集群存储网络并行负载进行控制的具体步骤:步骤S11,当侦测到客户端的数据请求时,确定存放所述数据请求对应的数据块的集群存储网络的存储节点。具体的,集群存储网络通常情况下将数据块分条平均存放在多个存储节点上,当侦测到客户端的数据请求时,确定存放所述数据请求对应的数据块的集群存储网络的存储节点,得到与数据请求对应的数据块在存储网络中的存储节点的数量。步骤S12,获取集群存储网络的最大链路传输带宽,根据获取的最大链路传输带宽及确定的存储节点的数量,为各个确定的存储节点分配对应的带宽。具体的,集群存储网络中的链路带宽是有限的,获取集群存储网络中的最大链路传输带宽,即获取集群存储网络中客户端到交换机的最大链路带宽。例如,获取的最大链路传输带宽是M,确定的存储节点数是N,为各个确定的存储节点分配对应的带宽S为:S=M/N所述为各个确定的存储节点分配对应的带宽为平均分配原则。步骤S13,控制各个确定的存储节点按照分配的带宽,将存储的所述数据请求对应的数据块的数据片段传送给所述客户端,以生成完整的数据块。在本实施例,通过控制各个确定的存储节点按照分配的带宽将数据传送给客户端,使得各个存储节点在资源竞争中处于均衡的状态,及时的将客户端的请求数据发送出去,加快数据请求的完成时间,进而提高客户端的实际吞吐率。如图2所示,为本发明集群存储网络并行负载的控制方法的第二实施例的具体流程图。基于上述第一实施例,在步骤S13之后,还包括:步骤S14,将所述确定的存储节点的数量及为各个确定的存储节点分配的带宽保存。通过将确定的存储节点的数量及为各个确定的存储节点分配的带宽保存,使得接收到的客户端的下一个数据请求对应的数据确定的存储节点的数量与保存的一致时,控制确定的存储节点按照保存的存储节点的数量对应的各个存储节点的带宽进行数据的传送,节省流程,提高数据传送的效率。如图3所示,为本发明集群存储网络并行负载的控制方法的第三实施例的具体流程图。基于上述第二实施例,在步骤S12之后,包括:步骤S15,判断所述确定的存储节点的数量与保存的存储节点的数量是否一致。若所述确定的存储节点的数量与保存的存储节点的数量不一致,则执行步骤S11,获取集群存储网络的最大链路传输带宽,根据获取的最大链路传输带宽及确定的存储节点数,给所述数据请求对应的数据的存储节点分配对应的带宽。若所述确定的存储节点的数量与保存的存储节点的数量一致,则执行下述步骤S16。步骤S16,控制各个确定的存储节点按照保存的带宽,将存储的所述数据请求对应的数据块的数据片段传送给所述客户端,以生成完整的数据块。通过将确定的存储节点的数量与保存的存储节点的数量进行分析,以确定两者是否一致,当确定的存储节点的数量与保存的一致时,直接按照保存的存储节点的数量对应的各个存储节点的带宽进行数据的传送,节省流程,提高数据传送的效率。如图4所示,为本发明集群存储网络并行负载的控制方法的第四实施例的具体流程图。基于上述第三实施例,在步骤S14之后,还包括:步骤S17,侦测各个确定的存储节点进行数据传送的带宽。实时或者定时侦测当前数据传输的各个存储节点进行数据传送的带宽。步骤S18,判断各个存储节点进行数据传送的带宽是否超过分配的带宽或保存的带宽。若各个确定的存储节点进行数据传送的带宽未超过分配的带宽或保存的带宽,则控制确定的存储节点按照目前的带宽进行数据传送,若各个确定的存储节点进行数据传送的带宽超过分配的带宽或保存的带宽,则执行下述步骤S19。步骤S19,控制各个确定的存储节点按照小于等于所述分配的带宽或所述保存的带宽,将存储的所述数据请求对应的数据块的数据片段传送给所述客户端,以生成完整的数据块。通过在各个确定的存储节点进行数据传送的带宽超过分配的带宽或保存的带宽,控制各个确定的存储节点按照小于等于所述分配的带宽或所述保存的带宽,保证了数据传送过程中瓶颈资源竞争的公平性,确保各个存储节点在响应客户端的数据请求时不会过多的占用网络瓶颈资源,从而改善了数据传送过程中的拥塞情况,有效避免了超时造成的客户端实际吞吐率的下降。如图5所示,为本发明集群存储网络并行负载的控制系统的第一实施例的具体架构图。该集群存储网络并行负载的控制系统包括分析模块10,数据处理模块20及控制模块30。分析模块10,用于当侦测到客户端的数据请求时,确定存放所述数据请求对应的数据块的集群存储网络的存储节点。具体的,集群存储网络通常情况下将数据块分条平均存放在多个存储节点上,当侦测到客户端的数据请求时,分析模块10确定存放所述数据请求对应的数据块的集群存储网络的存储节点,得到与数据请求对应的数据块在存储网络中的存储节点的数量。数据处理模块20,用于获取集群存储网络的最大链路传输带宽,根据获取的最大链路传输带宽及确定的存储节点的数量,为各个确定的存储节点分配对应的带宽。具体的,集群存储网络中的链路带宽是有限的,数据处理模块20获取集群存储网络中的最大链路传输带宽,即获取集群存储网络中客户端到交换机的最大链路带宽。例如,获取的最大链路传输带宽是M,确定的存储节点数是N,为各个确定的存储节点分配对应的带宽S为:S=M/N所述数据处理模块20为各个确定的存储节点分配对应的带宽为平均分配原则。控制模块30,用于控制各个确定的存储节点按照分配的带宽,将存储的所述数据请求对应的数据块的数据片段传送给所述客户端,以生成完整的数据块。在本实施例,通过控制模块30控制各个确定的存储节点按照分配的带宽将数据传送给客户端,使得各个存储节点在资源竞争中处于均衡的状态,及时的将客户端的请求数据发送出去,加快数据请求的完成时间,进而提高客户端的实际吞吐率。如图6所示,为本发明集群存储网络并行负载的控制系统的第二实施例的具体架构图。该集群存储网络并行负载的控制系统还包括存储模块40。所述存储模块40,用于将所述确定的存储节点的数量及为各个确定的存储节点分配的带宽保存。所述分析模块10,还用于判断所述确定的存储节点的数量与保存的存储节点的数量是否一致。所述数据处理模块20,还用于若所述确定的存储节点的数量与保存的存储节点的数量不一致,则获取集群存储网络的最大链路传输带宽,根据获取的最大链路传输带宽及确定的存储节点数,给所述数据请求对应的数据的存储节点分配对应的带宽。所述控制模块30,还用于若所述确定的存储节点的数量与保存的存储节点的数量一致,控制各个确定的存储节点按照保存的带宽,将存储的所述数据请求对应的数据块的数据片段传送给所述客户端,以生成完整的数据块。通过存储模块40将确定的存储节点的数量及为各个确定的存储节点分配的带宽保存,使得接收到的客户端的下一个数据请求对应的数据确定的存储节点的数量与保存的一致时,控制模块30控制确定的存储节点按照保存的存储节点的数量对应的各个存储节点的带宽进行数据的传送,节省流程,提高数据传送的效率。如图7所示,为本发明集群存储网络并行负载的控制系统的第三实施例的具体架构图。该集群存储网络并行负载的控制系统还包括侦测模块50。所述侦测模块50,用于侦测各个确定的存储节点进行数据传送的带宽。侦测模块50实时或者定时侦测当前数据传输的各个存储节点进行数据传送的带宽。所述分析模块10,还用于判断各个存储节点进行数据传送的带宽是否超过分配的带宽或保存的带宽。所述控制模块30,还用于若各个确定的存储节点进行数据传送的带宽超过分配的带宽或保存的带宽,控制各个确定的存储节点按照小于等于所述分配的带宽或所述保存的带宽,将存储的所述数据请求对应的数据块的数据片段传送给所述客户端,以生成完整的数据块。具体的,若各个确定的存储节点进行数据传送的带宽未超过分配的带宽或保存的带宽,则控制模块30控制确定的存储节点按照目前的带宽进行数据传送,若各个确定的存储节点进行数据传送的带宽超过分配的带宽或保存的带宽,则控制模块30控制各个确定的存储节点按照小于等于所述分配的带宽或所述保存的带宽,将存储的所述数据请求对应的数据块的数据片段传送给所述客户端,以生成完整的数据块。通过在各个确定的存储节点进行数据传送的带宽超过分配的带宽或保存的带宽,控制模块30控制各个确定的存储节点按照小于等于所述分配的带宽或所述保存的带宽,保证了数据传送过程中瓶颈资源竞争的公平性,确保各个存储节点在响应客户端的数据请求时不会过多的占用网络瓶颈资源,从而改善了数据传送过程中的拥塞情况,有效避免了超时造成的客户端实际吞吐率的下降。以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1