用于处理数据传输拥塞的方法、电子设备和计算机程序产品技术

技术编号:24130020 阅读:17 留言:0更新日期:2020-05-13 05:58
本公开的实施例提供了用于处理数据传输拥塞的方法、电子设备和计算机程序产品。该方法包括确定交换机的第一端口处是否存在由多个存储节点引起的拥塞,第一端口连接到第一存储节点,多个存储节点经由交换机的第一端口向第一存储节点传输数据。该方法还包括响应于确定第一端口处存在拥塞,从多个存储节点中至少选择第二存储节点。该方法进一步包括更新第二存储节点的数据传输路径的配置,以使第二存储节点旁路第一端口而向第一存储节点传输数据。利用本公开的实施例,存储节点间的数据传输效率得以提高,从而有助于提高存储系统的整体性能。

Methods, electronic devices and computer program products for handling data transmission congestion

【技术实现步骤摘要】
用于处理数据传输拥塞的方法、电子设备和计算机程序产品
本公开的实施例涉及数据存储领域,并且更具体地,涉及用于处理数据传输拥塞的方法、电子设备和计算机程序产品。
技术介绍
分布式存储系统越来越多地在各种数据中心使用。在分布式存储系统中,各个存储节点通过基于诸如传输控制协议(TCP)的网络传输数据。当终端用户读取数据时,存在多个数据节点同时向客户端节点发回数据的情形。这种多对一的通信量模式又被称为聚播(incast),其在各种数据中心应用中是常见的。聚播的存在常常引起网络拥塞,这降低了分布式存储系统的性能。
技术实现思路
本公开的实施例提供了一种用于处理数据传输拥塞的方案。在本公开的第一方面中,提供了一种处理数据传输拥塞的方法。该方法包括:确定交换机的第一端口处是否存在由多个存储节点引起的拥塞,第一端口连接到第一存储节点,多个存储节点经由交换机的第一端口向第一存储节点传输数据。该方法还包括响应于确定第一端口处存在拥塞,从多个存储节点中至少选择第二存储节点。该方法还包括更新第二存储节点的数据传输路径的配置,以使第二存储节点旁路第一端口而向第一存储节点传输数据。在本公开的第二方面中,提供了一种电子设备。该电子设备包括处理器以及与处理器耦合的存储器,存储器具有存储于其中的指令,指令在被处理器执行时使设备执行动作。动作包括确定交换机的第一端口处是否存在由多个存储节点引起的拥塞,第一端口连接到第一存储节点,多个存储节点经由交换机的第一端口向第一存储节点传输数据。动作还包括响应于确定第一端口处存在拥塞,从多个存储节点中至少选择第二存储节点。动作还包括更新第二存储节点的数据传输路径的配置,以使第二存储节点旁路第一端口而向第一存储节点传输数据。在本公开的第三方面中,提供了一种计算机程序产品,计算机程序产品被有形地存储在计算机可读介质上并且包括机器可执行指令,机器可执行指令在被执行时使机器执行根据第一方面的方法。提供
技术实现思路
部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。
技术实现思路
部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。附图说明通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。在附图中:图1示出了本公开的实施例可以在其中被实现的示例环境的示意图;图2示出了根据本公开的实施例的处理数据传输拥塞的过程的流程图;图3示出了根据本公开的一些实施例的获取传输控制信息的示意图;图4示出了根据本公开的一些实施例的确定拥塞的过程的流程图;图5示出了根据本公开的一些实施例的旁路第一端口来传输数据的示意图;图6示出了根据本专利技术的一些实施例的环形传输路径的示意图;图7示出了根据本专利技术的另一些实施例的环形传输路径的示意图;以及图8示出了可以用来实施本公开的实施例的示例设备的框图。具体实施方式下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的优选实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。如上文所提及的,在分布式存储系统中存在其中多个发送方节点向一个接收方节点传输数据的聚播(通常又被称为TCP聚播)。当TCP聚播发生并导致网络拥塞(以下简称为拥塞)时,发送方节点与接收方节点之间的交换机常常出现分组丢失。TCP聚播实际上比想象中更为糟糕。即使在针对低延时的切断转发模式的情况下,大多数交换机也无法很好地处理TCP聚播。表1示出了存在TCP聚播情况下交换机的测试数据,其中“输入分组丢失”表示每秒丢失的分组数目。可以看出,在交换机的输出网络接口控制器(NIC)仍然具有一半的可用带宽时,交换机的输入NIC侧上的分组也开始严重丢失。表1在TCP聚播情况下交换机的测试数据每个交换机都有不同的处理TCP聚播的能力,并且在没有TCP聚播的情况下它们都表现很好。作为对比,表2示出了没有TCP聚播情况下交换机的测试数据。从表2中可以看出,发送和接收的网络吞吐量远高于表1中所示的TCP聚播情况,而没有任何分组丢失。表2没有TCP聚播情况下交换机的测试数据TCP本身通过TCP拥塞控制协议来控制吞吐量,而发送方和接收方并不知道彼此状态,直到从对端获得具有窗口更新或零窗口的确认。数据流量的速度还受到许多其他因素的影响,例如接收应用的速度、对发送方的确认速度和发送方拥塞窗口估计等。当性能下降时,工程师很难弄清楚为什么流量变慢。在常规实现中,当问题发生时,通常使用以下方法来弄清楚存储系统中的问题:(1)检查应用服务器的日志。如果确实存在网络错误,有时日志会给出一些提示,但可能不会继续提供更多信息,诸如出现了聚播。(2)使用ss/netstat/iftop等命令来粗略检查网络情况。(3)使用tcpdump来捕获用于网络封包分析软件的数据包以进行分析。然而,快速缩小问题并不容易。这些工具不如预期的那么准确并且需要经验来做出最终判断。(4)登录到交换机以检查计数器,如丢包计数器。然而,专利技术人认识到这种实现中存在若干问题。上述方式均未利用TCP内部逻辑,特别是所有的故障排除步骤都是手动完成的而且很耗时。因此,使用常规的故障排除方法,很难知晓网络路径和软件堆栈上出现的真正问题,并且难以进行综合分析。TCP聚播引起的拥塞使得当负载较大时网络成为分布式存储系统的性能瓶颈。本公开提供了一种处理数据传输拥塞的方案,以至少消除以上缺陷中的一个或多个。通过实时监测分布式存储系统中交换机和多个存储节点的状态,可以确定交换机的端口是否存在网络拥塞。当确定某一端口发生拥塞时,从经由该端口来传输数据的存储节点中选择至少一个存储节点。然后可以通过更新所选择的存储节点的数据传输路径的配置,来使所选择的存储节点旁路发生拥塞的端口来传输数据。在本公开的实施例中,可以准确地确定存储系统中发生拥塞的部分,并动态地控制数据传输的路径。以这样的方式,实现了更智能的资源分配,提高了存储节点间的数据传输效率,从而有助于存储系统整体性能的提高。以下将参考附图来详细描述本公开的实施例。图1示出了本公开的实施例可以在其中被实现的示例环境100的示意图。在图1所示的示例环境100中,分布式存储系统包括存储节点110、120、130和140以及交换机150。当接收到用户的数据请求时,存储节点110、120、130和本文档来自技高网
...

【技术保护点】
1.一种处理数据传输拥塞的方法,包括:/n确定交换机的第一端口处是否存在由多个存储节点引起的拥塞,所述第一端口连接到第一存储节点,所述多个存储节点经由所述交换机的所述第一端口向所述第一存储节点传输数据;/n响应于确定所述第一端口处存在所述拥塞,从所述多个存储节点中至少选择第二存储节点;以及/n更新所述第二存储节点的数据传输路径的配置,以使所述第二存储节点旁路所述第一端口而向所述第一存储节点传输数据。/n

【技术特征摘要】
1.一种处理数据传输拥塞的方法,包括:
确定交换机的第一端口处是否存在由多个存储节点引起的拥塞,所述第一端口连接到第一存储节点,所述多个存储节点经由所述交换机的所述第一端口向所述第一存储节点传输数据;
响应于确定所述第一端口处存在所述拥塞,从所述多个存储节点中至少选择第二存储节点;以及
更新所述第二存储节点的数据传输路径的配置,以使所述第二存储节点旁路所述第一端口而向所述第一存储节点传输数据。


2.根据权利要求1所述的方法,其中确定所述第一端口处是否存在所述拥塞包括:
基于所述第一端口的操作参数确定所述第一端口处是否存在分组丢失;
响应于确定存在所述分组丢失,获取与所述多个存储节点的传输控制有关的信息;以及
响应于所述信息指示所述多个存储节点中的至少一个存储节点发生数据传输的延迟,确定所述第一端口处存在所述拥塞。


3.根据权利要求2所述的方法,其中所述信息包括拥塞窗口,并且其中确定所述第一端口处存在所述拥塞包括:
响应于所述至少一个存储节点的所述拥塞窗口减小,确定所述第一端口处存在所述拥塞。


4.根据权利要求1所述的方法,其中从所述多个存储节点中选择所述第二存储节点包括:
确定从所述多个存储节点中的每个存储节点发送的数据流量;以及
从所述多个存储节点中选择所述数据流量最大的存储节点作为所述第二存储节点。


5.根据权利要求1所述的方法,其中更新所述配置包括:
基于所述交换机的多个端口的资源使用率,从所述多个端口中选择第二端口,所述第二端口连接到所述第一存储节点但不同于所述第一端口;
解激活所述第二存储节点到所述第一端口的连接;以及
激活所述第二存储节点到所述第二端口的连接,以使所述第二存储节点经由所述第二端口而向所述第一存储节点传输数据。


6.根据权利要求1所述的方法,其中更新所述配置包括:
响应于所述第一存储节点与所述第二存储节点之间具有直接连接,
解激活所述第二存储节点与所述交换机的连接;以及
激活所述第二存储节点与所述第一存储节点的所述直接连接,以使所述第二存储节点直接向所述第一存储节点传输数据。


7.根据权利要求1所述的方法,其中更新所述配置包括:
响应于所述第一存储节点与第三存储节点之间具有第一直接连接、并且所述第二存储节点与所述第三存储节点之间具有第二直接连接,
解激活所述第二存储节点与所述交换机的连接;以及
激活所述第一直接连接和所述第二直接连接,以使所述第三存储节点将来自所述第二存储节点的数据中继给所述第一存储节点。


8.一种电子设备,包括:
处理器;以及
与所述处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被处理器执行时使所述设备执行动作,所...

【专利技术属性】
技术研发人员:高伟张康吴佳磊孙骜
申请(专利权)人:伊姆西IP控股有限责任公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1