一种基于聚合链路实现的数据通信方法及装置与流程

文档序号:14721364发布日期:2018-06-17 15:38阅读:189来源:国知局

本发明涉及服务器、存储系统技术领域,更具体地说,涉及一种基于聚合链路实现的数据通信方法及装置。



背景技术:

随着PCI-E(PerpheralComponentInterconnectExpress,外设组件互联标准扩展)技术的发展,使用PCI-E协议将多个服务器等设备进行板间互联并传输数据已是大势所趋,而此项技术的一个关键点就是PCI-E交换机。

PCI-E交换机是具有多个端口的遵循PCI-E协议的交换机,能够实现各端口间的并发数据传输。其常应用于高并发、高可用的服务器、存储系统数据交换场景,因此其链路的性能和可靠性就成为了衡量交换机质量的一个重要指标,链路故障造成的损失往往较为严重。现有技术中的PCI-E交换系统中往往采用单条链路连接主机与PCI-E交换机,因此,当链路出现异常时,主机与PCI-E交换机无法进行通信,因此,现有技术中PCI-E交换机与主机之间的链路可靠性较低。

综上所述,现有技术中PCI-E交换机与主机之间的链路存在可靠性较低的问题。



技术实现要素:

本发明的目的是提供一种基于聚合链路实现的数据通信方法及装置,以解决现有技术中PCI-E交换机与主机之间的链路存在的可靠性较低的问题。

为了实现上述目的,本发明提供如下技术方案:

一种基于聚合链路实现的数据通信方法,包括:

当主机与交换机之间用于数据通信的聚合链路中出现故障链路时,对所述聚合链路进行拆分,并将所述故障链路由所述聚合链路中剔除;其中,所述聚合链路为由多条物理链路聚合生成的;

将所述聚合链路中除所述故障链路之外的其他物理链路聚合形成新的聚合链路,以通过该新的聚合链路实现所述主机与所述交换机之间的数据通信。

优选的,还包括:

确定所述主机与所述交换机之间进行数据通信时所述聚合链路的流量负载情况,并依据所述流量负载情况对所述聚合链路中包含的物理链路的数量进行相应的改变。

优选的,还包括:

当所述主机与所述交换机之间用于数据通信的聚合链路中出现故障链路时,标记所述聚合链路的工作状态为降级运行状态至预先设置的配置空间中。

优选的,还包括:

实时对所述故障链路进行监控,并在所述故障链路恢复正常后,将恢复正常后的所述故障链路加入所述聚合链路中。

优选的,还包括:

获取外界输入的设置信息,并依据所述设置信息对所述聚合链路中包含的物理链路的数量进行相应的改变。

一种基于聚合链路实现的数据通信装置,包括:

拆分模块,用于当主机与交换机之间用于数据通信的聚合链路中出现故障链路时,对所述聚合链路进行拆分,并将所述故障链路由所述聚合链路中剔除;其中,所述聚合链路为由多条物理链路聚合生成的;

聚合模块,用于将所述聚合链路中除所述故障链路之外的其他物理链路聚合形成新的聚合链路,以通过该新的聚合链路实现所述主机与所述交换机之间的数据通信。

优选的,还包括:

第一设置模块,用于确定所述主机与所述交换机之间进行数据通信时所述聚合链路的流量负载情况,并依据所述流量负载情况对所述聚合链路中包含的物理链路的数量进行相应的改变。

优选的,还包括:

标记模块,用于当所述主机与所述交换机之间用于数据通信的聚合链路中出现故障链路时,标记所述聚合链路的工作状态为降级运行状态至预先设置的配置空间中。

优选的,还包括:

监控模块,用于实时对所述故障链路进行监控,并在所述故障链路恢复正常后,将恢复正常后的所述故障链路加入所述聚合链路中。

优选的,还包括:

第二设置模块,用于获取外界输入的设置信息,并依据所述设置信息对所述聚合链路中包含的物理链路的数量进行相应的改变。

本发明实施例提供的一种基于聚合链路实现的数据通信方法及装置中,该方法包括:当主机与交换机之间用于数据通信的聚合链路中出现故障链路时,对所述聚合链路进行拆分,并将所述故障链路由所述聚合链路中剔除;其中,所述聚合链路为由多条物理链路聚合生成的;将所述聚合链路中除所述故障链路之外的其他物理链路聚合形成新的聚合链路,以通过该新的聚合链路实现所述主机与所述交换机之间的数据通信。本申请公开的上述技术方案中,主机与交换机之间通过由多条链路组成的聚合链路进行数据通信,当聚合链路中出现故障链路时,通过将故障链路进行剔除,以及将除故障链路之外的其他链路聚合成新的聚合链路,供主机与交换机之间进行正常的数据通信,从而保证了主机与交换机之间链路的可靠性,避免了由于故障链路的出现造成主机与交换机之间链路不同的问题。

附图说明

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

图1为本发明实施例提供的一种基于聚合链路实现的数据通信方法的流程图;

图2为本发明实施例提供的一种基于聚合链路实现的数据通信装置的结构示意图;

图3为本发明实施例提供的一种基于聚合链路实现的数据通信方法及装置中交换系统拓扑图;

图4为本发明实施例提供的一种基于聚合链路实现的数据通信方法及装置中链路聚合示意图;

图5为本发明实施例提供的一种基于聚合链路实现的数据通信方法及装置中retimer卡驱动层次示意图。

具体实施方式

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

请参阅图1,其示出了本发明实施例提供的一种基于聚合链路实现的数据通信方法的流程图,可以包括以下步骤:

S11:当主机与交换机之间用于数据通信的聚合链路中出现故障链路时,对聚合链路进行拆分,并将故障链路由聚合链路中剔除;其中,聚合链路为由多条物理链路聚合生成的。

其中,交换机可以为背景技术中涉及的PCI-E交换机,而物理链路可以为PCI-E物理链路,故障链路即为存在异常而无法正常进行数据通信的链路。聚合链路即为由多条物理链路聚合成的逻辑链路,其出现的故障链路可能为一条,也可能为多条,本申请中故障链路的数量小于聚合链路中包含的物理链路的总数量。

当出现故障链路时,对聚合链路进行拆分,也即将不同的物理链路之间进行区分开来,以对故障链路进行剔除。

S12:将聚合链路中除故障链路之外的其他物理链路聚合形成新的聚合链路,以通过该新的聚合链路实现主机与交换机之间的数据通信。

将聚合链路中的除故障链路之外的其他物理链路聚合成新的聚合链路,以通过该新的聚合链路实现主机和交换机之间的数据通信,保证了主机与交换机之间链路的可靠性,进一步保证了主机与交换机之间正常的数据通信,从而使得交换机能够提供高速高可用的数据交换能力。

本申请公开的上述技术方案中,主机与交换机之间通过由多条链路组成的聚合链路进行数据通信,当聚合链路中出现故障链路时,通过将故障链路进行剔除,以及将除故障链路之外的其他链路聚合成新的聚合链路,供主机与交换机之间进行正常的数据通信,从而保证了主机与交换机之间链路的可靠性,避免了由于故障链路的出现造成主机与交换机之间链路不同的问题。

另外,将多条物理链路聚合成一条聚合链路,实现主机与交换机之间的数据通信,由于聚合链路的传输带宽大于每条物理链路的传输带宽,因此,在具有上述优点的前提下,本发明提供的上述方案,还能够保证交换机与主机之间的高速率数据传输,且无需或者需要较小的成本即可实现。

本发明实施例提供的一种基于聚合链路实现的数据通信方法中,还可以包括:

确定主机与交换机之间进行数据通信时聚合链路的流量负载情况,并依据流量负载情况对聚合链路中包含的物理链路的数量进行相应的改变。

需要说明的是,根据流量负载情况对聚合链路包含的物理链路的数量进行改变实际为使得聚合链路包含的物理链路的总传输带宽与流量负载相匹配,从而避免了传输带宽的浪费,也避免了传输带宽不足以支撑流量负载的情况发生。如,传输带宽大于流量负载时,需要对聚合链路进行拆分后,选取其中与流量负载匹配的条数的物理链路聚合成新的聚合链路,或者传输带宽小于流量负载时,需要对聚合链路进行拆分后,加入与流量负载匹配的条数的物理链路与拆分后的物理链路共同聚合成新的聚合链路。总之,通过上述步骤,在不浪费传输带宽的前提下,保证了主机与交换机之间正常的数据通信。

本发明实施例提供的一种基于聚合链路实现的数据通信方法中,还可以包括:

当主机与交换机之间用于数据通信的聚合链路中出现故障链路时,标记聚合链路的工作状态为降级运行状态至预先设置的配置空间中。

降级运行即代表将故障链路剔除出聚合链路后,聚合链路中的物理链路条数减少的状态。通过将聚合链路的工作状态进行明确标记,能够方便工作人员对其进行查询及利用。

本发明实施例提供的一种基于聚合链路实现的数据通信方法中,还可以包括:

实时对故障链路进行监控,并在故障链路恢复正常后,将恢复正常后的故障链路加入聚合链路中。

对故障链路进行实时监控,以在其恢复正常,能够供主机与交换机之间进行数据通信后,将其加入聚合链路。具体来说,将恢复正常的故障链路加入聚合链路可以为将聚合链路进行拆分后,将恢复正常的故障链路加入拆分后得到的物理链路,进而将全部物理链路,包括恢复正常的故障链路聚合成一条新的聚合链路,供交换机与主机进行数据通信。从而保证了后续出现故障链路时,聚合链路中能够包含有正常的物理链路供交换机与主机进行数据通信,进一步保证了主机与交换机之间链路的可靠性。

本发明实施例提供的一种基于聚合链路实现的数据通信方法中,还可以包括:

获取外界输入的设置信息,并依据设置信息对聚合链路中包含的物理链路的数量进行相应的改变。

当工作人员需要根据实际需要对聚合链路中包含的物理链路的数量进行改变时,即需要根据实际需要对聚合链路的带宽进行改变时,可以输入设置信息,以使得根据设置信息对物理链路的数量进行相应的改变。具体来说,设置信息可以为需设置的物理链路的数量,如果聚合链路包含的物理链路的数量大于需设置的数量,则将聚合链路进行拆分,并将多出的物理链路剔除后,将剩余的需设置的数量个物理链路聚合成新的聚合链路,供主机与交换机进行数据通信,如果聚合链路包含的物理链路的数量小于需设置的数量,则将聚合链路进行拆分后,加入其它物理链路,已得到需设置的数量个物理链路并对其进行聚合,得到新的聚合链路,供主机与交换机进行数据通信。由此,能够保证聚合链路的健壮性。

与上述方法实施例相对应,本发明实施例还提供了一种基于聚合链路实现的数据通信装置,如图2所示,可以包括:

拆分模块11,用于当主机与交换机之间用于数据通信的聚合链路中出现故障链路时,对聚合链路进行拆分,并将故障链路由聚合链路中剔除;其中,聚合链路为由多条物理链路聚合生成的;

聚合模块12,用于将聚合链路中除故障链路之外的其他物理链路聚合形成新的聚合链路,以通过该新的聚合链路实现主机与交换机之间的数据通信。

需要说明的是,上述模块可以是软件,也可以是硬件,具体来说,上述装置为设置于交换系统中的,交换系统可以包括主机和交换机,其中,主机具体可以包括:retimer卡模块,置于主机的服务器端,用于提供一个或多个物理链路,以聚合成聚合链路;主机控制模块,用于运行retimer卡模块中的retimer卡驱动。交换机具体可以包括:端口配置模块,用于配置交换机端口;核心交换模块,用于实现交换机的核心数据交换功能。而本发明实施例提供的上述装置可以设置于主机内。

下面以交换机为PCI-E交换机对上述系统进行具体说明,如图3所示,主机可插入多个retimer卡,每个retimer卡又可以有多个端口,且retimer卡的每个端口通过线缆(即物理链路)与PCI-E交换机的端口相连。假设主机的主板上有两个PCI-E插槽,宽度为x8,则所插入的retimer卡可支持两个x4宽度的端口。如果PCI-E交换机的端口宽度也是x4,则主机与PCI-E交换机间最多具有4条x4宽度的物理链路。

如图4所示,在一实施例中,PCI-E交换机10具有8个x4端口,分别为101、102…108,主机111和主机112的主板上各有两个x8的PCI-E插槽,每个PCI-E插槽上插入一块retimer卡。retimer121和retimer122即为属于主机111的retimer卡,retimer卡123和retimer卡124即为属于主机112的retimer卡。每个retimer卡上有两个x4端口,分别于PCI-E交换机的端口相连。端口131和端口132属于retimer卡121,端口133和端口134属于retimer卡122,端口135和端口136属于retimer卡123,端口137和端口138属于retimer卡124。retimer卡端口131~138依次和PCI-E交换机端口101~108连接,构成了8条x4宽度的物理链路。通过链路聚合,主机111和112可分别具有一条虚拟x16宽度的聚合链路。

如图5所示,在一种实施例中,链路聚合功能可通过主机的retimer卡驱动实现,不需对硬件做额外的改造,此时,retimer卡模块对应于本发明实施例提供的上述装置。retimer卡驱动分为三层:PCI-E设备驱动层,实现基本的PCI-E设备使能、配置管理等功能;链路聚合逻辑层,将下层的多个链路宽度较小的PCI-E设备抽象虚拟成为链路宽度较大的虚拟PCI-E设备,同时提供数据收发的拆分合并功能;接口层,封装PCI-E设备数据传输接口和功能配置管理接口,向上层驱动提供相应的服务。具体来说,当链路聚合功能由retimer卡驱动实现时,聚合链路的拆分同样由retimer卡驱动进行,聚合链路在出现故障链路时,retimer卡驱动通过聚合链路的PCI-E设备寄存器检测到其异常,此时retimer卡驱动从聚合链路中剔除掉故障链路,并用剩余正常的物理链路重新生成新的聚合链路。待故障恢复正常后,retimer卡驱动检测到其正常,再次将其加入到聚合链路中。

在另一种实施例中,链路聚合功能可通过主机的retimer卡硬件配合交换芯片配置来实现,不需对retimer卡驱动进行变动,此时,主机的retimer卡硬件配合交换芯片对应于本发明实施例提供的上述装置。连接到PCI-E交换机多个端口的retimer卡将连接的各个端口提供的链路宽度较小的PCI-E设备,抽象成为一个链路宽度较大的PCI-E设备,通过插入主机的主板上的PCI-E插槽,提供给主机;主机的retimer卡驱动只能够识别到retimer卡虚拟后的聚合链路宽度较大的PCI-E设备。当链路聚合功能由retimer卡硬件配合交换芯片配置实现时,聚合链路的拆分同样由retimer卡硬件与交换芯片配合实现。当出现故障链路时,交换芯片自行剔除掉故障链路,将剩余正常链路重新聚合为新的聚合链路,同时在retimer卡提供的虚拟PCI-E设备配置空间中,即预先设置的配置空间中,标记该聚合链路的工作状态为降级运行状态,即本发明实施例提供的一种基于聚合链路实现的数据通信装置,还可以包括:标记模块,用于当主机与交换机之间用于数据通信的聚合链路中出现故障链路时,标记聚合链路的工作状态为降级运行状态至预先设置的配置空间中。待故障链路恢复正常后,交换芯片重新将其加入到聚合链路中。

本发明实施例提供的一种基于聚合链路实现的数据通信装置中,还可以包括:

第一设置模块,用于确定主机与交换机之间进行数据通信时聚合链路的流量负载情况,并依据流量负载情况对聚合链路中包含的物理链路的数量进行相应的改变。

本发明实施例提供的一种基于聚合链路实现的数据通信装置中,还可以包括:

监控模块,用于实时对故障链路进行监控,并在故障链路恢复正常后,将恢复正常后的故障链路加入聚合链路中。

本发明实施例提供的一种基于聚合链路实现的数据通信装置中,还可以包括:

第二设置模块,用于获取外界输入的设置信息,并依据设置信息对聚合链路中包含的物理链路的数量进行相应的改变。

需要说明的是,本发明实施例提供的一种基于聚合链路实现的数据通信装置中上述模块均可以根据实际需要集成到对应的硬件到软件中,均在本发明的保护范围之内。

另外,本发明实施例提供的一种基于聚合链路实现的数据通信装置中相关部分的说明请参见本发明实施例提供的一种基于聚合链路实现的数据通信方法中对应部分的详细说明,在此不再赘述。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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