负载分担方法及装置、交换机及计算机可读存储介质与流程

文档序号:16630409发布日期:2019-01-16 06:31阅读:159来源:国知局
负载分担方法及装置、交换机及计算机可读存储介质与流程

本发明涉及数据通信领域,尤其涉及一种负载分担方法及装置、交换机及计算机可读存储介质。



背景技术:

随着计算机及网络技术的高速发展和各种网络应用的不断涌现,基础数据通信网络的稳定性越来越重要。为了增加带宽,实现链路传输弹性和冗余等功能,交换机之间的连线一般是聚合链路,用以实现出、入流量在个成员口中的负载分担。

通常的,交换机通过哈希映射实现负载分担,即根据业务流中的某些信息和哈希算法,计算出一个哈希值,然后根据该哈希值以及链路聚合组各成员端口配置的用于转发业务流的哈希值区间,挑选出一个成员端口进行转发,从而根据不同业务流的哈希值,将网络上的业务流分担至各个成员端口进行转发。然而,在现有技术中,当交换机检测到其中一个成员端口的链路发生故障时,就停止在此端口上转发业务流,并根据负载分担策略在剩余的链路中重新计算业务流发送的成员端口,并在故障的成员端口恢复后再次重新计算业务流发送的成员端口。这样就导致成员端口发生故障后,无法做到原链路上的业务流继续通过原链路,可能原链路上的业务流走了另外一条链路,不能满足业务流向的需求,同时,重新计算的过程中也容易导致业务流丢包。



技术实现要素:

本发明的主要目的在于提供一种负载分担方法及装置、交换机及计算机可读存储介质,旨在提高交换机业务流量转发的稳定性。

为实现上述目的,本发明提供一种负载分担方法,该负载分担方法包括:

检测链路聚合组各成员端口是否发生故障;

在有成员端口发生故障时,根据未发生故障的成员端口的个数,将故障成员端口已配置的哈希值区间划分为多个子哈希值区间;

将各子哈希值区间分别配置至未发生故障的成员端口。

进一步地,本发明还提供一种负载分担装置,该负载分担装置包括:

端口状态检测模块,用于检测链路聚合组各成员端口是否发生故障;

故障处理模块,用于在有成员端口发生故障时,根据未发生故障的成员端口的个数,将故障成员端口已配置的哈希值区间划分为多个子哈希值区间;还用于将各子哈希值区间分别配置至未发生故障的成员端口。

进一步地,本发明还提供一种交换机,该交换机包括:

存储有负载分担程序的存储器;

处理器,与所述存储器通信且配置为执行所述负载分担程序以实现以下步骤:

检测链路聚合组各成员端口是否发生故障;

在有成员端口发生故障时,根据未发生故障的成员端口的个数,将故障成员端口已配置的哈希值区间划分为多个子哈希值区间;

将各子哈希值区间分别配置至未发生故障的成员端口。

进一步地,本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有负载分担程序,所述负载分担程序被处理器执行时实现以下步骤:

检测链路聚合组各成员端口是否发生故障;

在有成员端口发生故障时,根据未发生故障的成员端口的个数,将故障成员端口已配置的哈希值区间划分为多个子哈希值区间;

将各子哈希值区间分别配置至未发生故障的成员端口。

本发明方案通过交换机对链路聚合组各成员端口进行故障检测,在检测到发生故障的成员端口时,将故障成员端口已配置的哈希值区间划分为多个子哈希值区间,并将划分得到的各子哈希值区间分别配置至未发生故障的成员端口,从而使得除故障成员端口上的业务流会重新选择转发的成员端口外,其他业务流维持在原成员端口转发,不受故障端口的影响,满足了业务流转发的稳定性要求。

附图说明

图1为本发明交换机一个可选的硬件结构示意图;

图2为本发明负载分担方法第一实施例的流程示意图;

图3为本发明负载分担方法第一实施例中链路聚合组成员端口的示意图;

图4为本发明负载分担方法第一实施例中链路聚合组成员端口发生故障的示意图;

图5为本发明负载分担装置第一实施例的模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的主要解决方案是:通过交换机对链路聚合组各成员端口进行故障检测,在检测到发生故障的成员端口时,将故障成员端口已配置的哈希值区间划分为多个子哈希值区间,并将划分得到的各子哈希值区间分别配置至未发生故障的成员端口,从而使得除故障成员端口上的业务流会重新选择转发的成员端口外,其他业务流维持在原成员端口转发,不受故障端口的影响,满足了业务流转发的稳定性要求。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的交换机的结构示意图。

如图1所示,该交换机可以包括:处理器1001,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口等。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的交换机的结构并不构成对交换机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,在本发明交换机的一实施例中,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及负载分担程序。

在图1所示的交换机中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的负载分担程序,并执行以下操作:

检测链路聚合组各成员端口是否发生故障;

在有成员端口发生故障时,根据未发生故障的成员端口的个数,将故障成员端口已配置的哈希值区间划分为多个子哈希值区间;

将各子哈希值区间分别配置至未发生故障的成员端口。

进一步地,处理器1001可以用于调用存储器1005中存储的负载分担程序,还执行以下操作:

将故障成员端口已配置的哈希值区间划分为等长的多个子哈希值区间。

进一步地,处理器1001可以用于调用存储器1005中存储的负载分担程序,还执行以下操作:

获取各未发生故障的成员端口的带宽空闲率,并根据各带宽空闲率的比例关系,将故障成员端口已配置的哈希值区间划分为等比例的多个子哈希值区间。

进一步地,处理器1001可以用于调用存储器1005中存储的负载分担程序,还执行以下操作:

在侦测到故障成员端口的故障排除时,恢复故障成员端口之前配置的哈希值区间,并撤销配置至未发生故障的成员端口的各子哈希值区间。

进一步地,处理器1001可以用于调用存储器1005中存储的负载分担程序,还执行以下操作:

在接收到业务流时,采用哈希算法根据接收业务流中的报文信息进行计算,得到接收到业务流的哈希值;

若计算得到的哈希值落在任一所述子哈希值区间之内,则通过计算的哈希值所在子哈希值区间的成员端口转发前述业务流。

进一步地,前述报文信息包括源mac地址、目的mac地址和虚拟局域网标识。

进一步地,本发明还提供一种负载分担方法,应用于图1所示的交换机,参照图2,在本发明负载分担方法的第一实施例中,该负载分担方法包括:

步骤s10,检测链路聚合组各成员端口是否发生故障;

步骤s20,在有成员端口发生故障时,根据未发生故障的成员端口的个数,将故障成员端口已配置的哈希值区间划分为多个子哈希值区间;

步骤s30,将各子哈希值区间分别配置至未发生故障的成员端口。

现考虑一实际用户需求:要求二层业务流量支持lacp(linkaggregationcontrolprotocol,链路汇聚控制协议,具体可参照ieee802.3ad标准)的链路弹性hash,减少链路的丢包率。换言之,需求描述为:聚合的一条链路失效时,其它链路流量不会重新hash;当失效的聚合链路恢复时,之前受影响流量会回到该聚合链路上,其它链路流量hash结果不变。有鉴于此,本发明方案提供一种应用于交换机的负载分担方法。

在本发明实施例中,需要预先为链路聚合组中各成员端口配置哈希值区间,用以实现负载分担,其中,对于各成员端口哈希值区间的具体配置方式,本发明实施例不做具体限制,可由本领域技术人员根据实际需要进行配置。例如,链路聚合组包括三个成员端口,配置第一个成员端口的哈希值区间为[0,85],配置第二个成员端口的哈希值区间为[86,170],配置第三个成员端口的哈希值区间为[171,255]。此外,本发明实施例中使用聚合组成员列表来保存链路聚合组中各成员端口的端口信息,具体保存未发生故障的成员端口的端口信息。在具体实施时,初始默认链路聚合组中各成员端口均未发生故障,即链路聚合组成员列表初始保存有链路聚合组中各成员端口的端口信息。

交换机在启动后,通过定时器实时对各成员端口进行状态检测,以确定各成员端口是否发生故障。其中,成员端口发生故障可以理解为成员端口不再具备正常转发业务流量的能量,在实际应用中可由多种原因导致,此处不一一列举。

若检测到有成员端口发生故障,则交换机首先将该故障成员端口的端口信息从聚合组成员列表中移除,使得聚合组成员列表中始终保存未发生故障的成员端口的端口信息。

在移除故障成员端口的端口信息之后,交换机根据聚合组成员列表中保存的端口信息个数确定未发生故障的成员端口的个数。

例如,聚合组成员列表中储存有两个端口信息,则确定未发生故障的成员端口为两个。

在确定未发生故障的成员端口的个数之后,交换机获取到故障端口已配置的哈希值区间,将该哈希值区间划分为未发生故障的成员端口相同个数的子哈希区间。具体的,将故障成员端口已配置的哈希值区间划分为多个子哈希值区间的步骤包括:

将故障成员端口已配置的哈希值区间划分为等长的多个子哈希值区间;

或者,

获取各未发生故障的成员端口的带宽空闲率,并根据各带宽空闲率的比例关系,将故障成员端口已配置的哈希值区间划分为等比例的多个子哈希值区间。

例如,故障成员端口已配置的哈希值区间为[171,255],未发生故障的成员端口个数为2,则将哈希值区间[171,255]划分为两个子哈希值区间,分别为子哈希值区间[171,213]和子哈希值区间[214,255]。

又例如,故障成员端口已配置的哈希值区间为[0,85],两个未发生故障的成员端口的带宽空闲率均为30%,则将哈希值区间[0,85]划分为两个比例为1:1的子哈希值区间,分别为子哈希值区间[0,42]和子哈希值区间[43,85]。

需要说明的是,在具体实施时,本领域技术人员还可以根据实际需要进行子哈希值区间的划分,本实施例不做具体限制,例如,故障成员端口已配置的哈希值区间为[86,170],未发生故障的成员端口个数为2,可根据实际需要将哈希值区间[86,170]划分为子哈希值区间[86,125]和子哈希值区间[126,170]。

在完成子哈希值区间的划分之后,即可将划分好的各子哈希值区间分别配置到未发生故障的成员端口。其中,需要根据子哈希值区间划分方式的不同,采用对应的分配方式,将划分好的各子哈希值区间分别配置到未发生故障的成员端口。具体的,若采用均分哈希值区间的方式划分子哈希值区间,则在确保未发生故障的成员端口均配置到子哈希值区间的前提下,可随机分配各子哈希值区间到各未发生故障的成员端口;若采用带宽空闲率比例关系的方式划分子哈希值区间,则需要将各子哈希值区间分别配置至对应带宽空闲率的未发生故障成员端口。

进一步地,在本发明实施例中,步骤s30之后,还包括:

在接收到业务流时,采用哈希算法根据接收业务流中的报文信息进行计算,得到接收到业务流的哈希值;

若计算得到的哈希值落在任一划分的子哈希值区间之内,则通过计算的哈希值所在子哈希值区间的成员端口转发前述业务流。

需要说明的是,本发明重新分配故障成员端口的哈希值区间的目的在于将故障成员端口的业务流分担至未发生故障的成员端口,且不对未发生故障成员端口的原业务流造成影响。

因此,在本实施例中,在重新分配故障成员端口的哈希值区间之后,若接收到业务流,则采用哈希算法根据接收业务流中的报文信息进行计算,得到接收到业务流的哈希值;若计算得到的哈希值落在故障成员端口的哈希值区间所划分得到的子哈希值区间之内,则通过计算的哈希值所在子哈希值区间的成员端口转发前述业务流。其中,用于计算业务流哈希值的报文信息包括业务流的源mac地址、目的mac地址和虚拟局域网标识。

以下结合具体示例对本发明方案进行说明。

如图3所示,现假设链路聚合组共包括3个成员端口,第一个成员端口的哈希值区间被配置为[0,85],第二个成员端口的哈希值区间被配置为[86,170],第三个成员端口的哈希值区间被配置为[171,255],初始3各成员端口均正常转发业务流。

如图4所示,某时刻交换机检测到第三个成员端口发生故障,将第三个成员端口的端口信息从聚合组成员列表中移除,并采用均分哈希值区间的方式将哈希值区间[171,255]划分为两个子哈希值区间,分别为子哈希值区间[171,213]和子哈希值区间[214,255]。

随机将子哈希值区间[171,213]配置给第一个成员端口,则第一个成员端口的哈希值区间变为[0,85]和[171,213],相应的,哈希值落在[0,85]和[171,213]之内的业务流均由第一个成员端口转发;将子哈希值区间[214,255]配置给第二个成员端口,则第二个成员端口的哈希值区间变为[86,170]和[214,255],相应的,哈希值落在[86,170]和[214,255]之内的业务流均由第二成员端口转发。

如此,便使得发生故障的第三个成员端口的业务流量均分到第一和第二个成员端口进行转发,且第一个成员端口的原业务流量继续在第一个成员端口转发,第二个成员端口的原业务流量继续在第二个成员端口转发。

本发明提出的负载分担方法,通过交换机对链路聚合组各成员端口进行故障检测,在检测到发生故障的成员端口时,将故障成员端口已配置的哈希值区间划分为多个子哈希值区间,并将划分得到的各子哈希值区间分别配置至未发生故障的成员端口,从而使得除故障成员端口上的业务流会重新选择转发的成员端口外,其他业务流维持在原成员端口转发,不受故障端口的影响,满足了业务流转发的稳定性要求。

进一步地,基于第一实施例,提出本发明负载分担方法的第二实施例,在本实施例中,步骤s30之后,还包括:

在侦测到故障成员端口的故障排除时,恢复故障成员端口之前配置的哈希值区间,并撤销配置至未发生故障的成员端口的各子哈希值区间。

需要说明的是,本实施例在前述第一实施例的基础上,增加了故障成员端口的故障排除后的处理操作,以下仅对此进行说明,其他可参照前述第一实施例,此处不再赘述。

具体的,在本发明实施例中,交换机在侦测到故障成员端口的故障排除之后,即可恢复故障成员端口之前配置的哈希值区间,即将故障前配置给故障成员端口的哈希值区间重新配置给排除故障后的“故障”成员端口,同时,撤销配置至未发生故障的成员端口的,由前述哈希值区间划分得到的各子哈希值区间。如此,便可使得分担至未发生故障成员端口的业务流量恢复至故障排除后的故障成员端口进行转发。

进一步地,本发明还提供一种负载分担装置,应用于图1所示的交换机,对应于前述负载分担方法的第一实施例,参照图5,在本发明负载分担装置的第一实施例中,该负载分担装置包括:

端口状态检测模块10,用于检测链路聚合组各成员端口是否发生故障;

故障处理模块20,用于在有成员端口发生故障时,根据未发生故障的成员端口的个数,将故障成员端口已配置的哈希值区间划分为多个子哈希值区间;还用于将各子哈希值区间分别配置至未发生故障的成员端口。

现考虑一实际用户需求:要求二层业务流量支持lacp(linkaggregationcontrolprotocol,链路汇聚控制协议,具体可参照ieee802.3ad标准)的链路弹性hash,减少链路的丢包率。换言之,需求描述为:聚合的一条链路失效时,其它链路流量不会重新hash;当失效的聚合链路恢复时,之前受影响流量会回到该聚合链路上,其它链路流量hash结果不变。有鉴于此,本发明方案提供一种应用于交换机的负载分担装置。

在本发明实施例中,需要预先为链路聚合组中各成员端口配置哈希值区间,用以实现负载分担,其中,对于各成员端口哈希值区间的具体配置方式,本发明实施例不做具体限制,可由本领域技术人员根据实际需要进行配置。例如,链路聚合组包括三个成员端口,配置第一个成员端口的哈希值区间为[0,85],配置第二个成员端口的哈希值区间为[86,170],配置第三个成员端口的哈希值区间为[171,255]。此外,本发明实施例中使用聚合组成员列表来保存链路聚合组中各成员端口的端口信息,具体保存未发生故障的成员端口的端口信息。在具体实施时,初始默认链路聚合组中各成员端口均未发生故障,即链路聚合组成员列表初始保存有链路聚合组中各成员端口的端口信息。

端口状态检测模块10在交换机启动后,通过定时器实时对各成员端口进行状态检测,以确定各成员端口是否发生故障。其中,成员端口发生故障可以理解为成员端口不再具备正常转发业务流量的能量,在实际应用中可由多种原因导致,此处不一一列举。

若检测到有成员端口发生故障,则端口状态检测模块10首先将该故障成员端口的端口信息从聚合组成员列表中移除,使得聚合组成员列表中始终保存未发生故障的成员端口的端口信息。

在端口状态检测模块10移除故障成员端口的端口信息之后,故障处理模块20根据聚合组成员列表中保存的端口信息个数确定未发生故障的成员端口的个数。

例如,聚合组成员列表中储存有两个端口信息,则确定未发生故障的成员端口为两个。

在确定未发生故障的成员端口的个数之后,故障处理模块20获取到故障端口已配置的哈希值区间,将该哈希值区间划分为未发生故障的成员端口相同个数的子哈希区间。具体的,故障处理模块20还用于将故障成员端口已配置的哈希值区间划分为等长的多个子哈希值区间;

或者,获取各未发生故障的成员端口的带宽空闲率,并根据各带宽空闲率的比例关系,将故障成员端口已配置的哈希值区间划分为等比例的多个子哈希值区间。

例如,故障成员端口已配置的哈希值区间为[171,255],未发生故障的成员端口个数为2,则故障处理模块20将哈希值区间[171,255]划分为两个子哈希值区间,分别为子哈希值区间[171,213]和子哈希值区间[214,255]。

又例如,故障成员端口已配置的哈希值区间为[0,85],两个未发生故障的成员端口的带宽空闲率均为30%,则故障处理模块20将哈希值区间[0,85]划分为两个比例为1:1的子哈希值区间,分别为子哈希值区间[0,42]和子哈希值区间[43,85]。

需要说明的是,在具体实施时,本领域技术人员还可以根据实际需要进行子哈希值区间的划分,本实施例不做具体限制,例如,故障成员端口已配置的哈希值区间为[86,170],未发生故障的成员端口个数为2,可根据实际需要将哈希值区间[86,170]划分为子哈希值区间[86,125]和子哈希值区间[126,170]。

在完成子哈希值区间的划分之后,故障处理模块20即可将划分好的各子哈希值区间分别配置到未发生故障的成员端口。其中,需要根据子哈希值区间划分方式的不同,采用对应的分配方式,将划分好的各子哈希值区间分别配置到未发生故障的成员端口。具体的,若采用均分哈希值区间的方式划分子哈希值区间,则在确保未发生故障的成员端口均配置到子哈希值区间的前提下,故障处理模块20可随机分配各子哈希值区间到各未发生故障的成员端口;若采用带宽空闲率比例关系的方式划分子哈希值区间,则故障处理模块20需要将各子哈希值区间分别配置至对应带宽空闲率的未发生故障成员端口。

进一步地,在本发明实施例中,负载分担装置还包括流量转发模块(图5未示出),用于在接收到业务流时,采用哈希算法根据接收业务流中的报文信息进行计算,得到接收到业务流的哈希值;若计算得到的哈希值落在任一划分的子哈希值区间之内,则通过计算的哈希值所在子哈希值区间的成员端口转发前述业务流。

需要说明的是,本发明重新分配故障成员端口的哈希值区间的目的在于将故障成员端口的业务流分担至未发生故障的成员端口,且不对未发生故障成员端口的原业务流造成影响。

因此,在本实施例中,在重新分配故障成员端口的哈希值区间之后,若接收到业务流,则流量转发模块采用哈希算法根据接收业务流中的报文信息进行计算,得到接收到业务流的哈希值;若计算得到的哈希值落在故障成员端口的哈希值区间所划分得到的子哈希值区间之内,则流量转发模块通过计算的哈希值所在子哈希值区间的成员端口转发前述业务流。其中,用于计算业务流哈希值的报文信息包括业务流的源mac地址、目的mac地址和虚拟局域网标识。

以下结合具体示例对本发明方案进行说明。

如图3所示,现假设链路聚合组共包括3个成员端口,第一个成员端口的哈希值区间被配置为[0,85],第二个成员端口的哈希值区间被配置为[86,170],第三个成员端口的哈希值区间被配置为[171,255],初始3各成员端口均正常转发业务流。以下描述中交换机基于负载分担装置实现功能。

如图4所示,某时刻交换机检测到第三个成员端口发生故障,将第三个成员端口的端口信息从聚合组成员列表中移除,并采用均分哈希值区间的方式将哈希值区间[171,255]划分为两个子哈希值区间,分别为子哈希值区间[171,213]和子哈希值区间[214,255]。

随机将子哈希值区间[171,213]配置给第一个成员端口,则第一个成员端口的哈希值区间变为[0,85]和[171,213],相应的,哈希值落在[0,85]和[171,213]之内的业务流均由第一个成员端口转发;将子哈希值区间[214,255]配置给第二个成员端口,则第二个成员端口的哈希值区间变为[86,170]和[214,255],相应的,哈希值落在[86,170]和[214,255]之内的业务流均由第二成员端口转发。

如此,便使得发生故障的第三个成员端口的业务流量均分到第一和第二个成员端口进行转发,且第一个成员端口的原业务流量继续在第一个成员端口转发,第二个成员端口的原业务流量继续在第二个成员端口转发。

本发明提出的负载分担装置,应用于交换机,通过对链路聚合组各成员端口进行故障检测,在检测到发生故障的成员端口时,将故障成员端口已配置的哈希值区间划分为多个子哈希值区间,并将划分得到的各子哈希值区间分别配置至未发生故障的成员端口,从而使得除故障成员端口上的业务流会重新选择转发的成员端口外,其他业务流维持在原成员端口转发,不受故障端口的影响,满足了业务流转发的稳定性要求。

进一步地,基于第一实施例,提出本发明负载分担装置的第二实施例,对应于前述负载分担方法的第二实施例,在本实施例中,故障处理模块20在用于侦测到故障成员端口的故障排除时,恢复故障成员端口之前配置的哈希值区间,并撤销配置至未发生故障的成员端口的各子哈希值区间。

需要说明的是,本实施例在前述第一实施例的基础上,增加了故障成员端口的故障排除后的处理操作,以下仅对此进行说明,其他可参照前述第一实施例,此处不再赘述。

具体的,在本发明实施例中,故障处理模块20在侦测到故障成员端口的故障排除之后,即可恢复故障成员端口之前配置的哈希值区间,即将故障前配置给故障成员端口的哈希值区间重新配置给排除故障后的“故障”成员端口,同时,撤销配置至未发生故障的成员端口的,由前述哈希值区间划分得到的各子哈希值区间。如此,便可使得分担至未发生故障成员端口的业务流量恢复至故障排除后的故障成员端口进行转发。

进一步地,本发明还提供一种计算机可读存储介质,在一实施例中,该计算机可读存储介质上存储有负载分担程序,该负载分担程序被处理器1001执行时实现如下操作:

检测链路聚合组各成员端口是否发生故障;

在有成员端口发生故障时,根据未发生故障的成员端口的个数,将故障成员端口已配置的哈希值区间划分为多个子哈希值区间;

将各子哈希值区间分别配置至未发生故障的成员端口。

进一步地,前述负载分担程序被处理器1001执行时,还实现如下操作:

将故障成员端口已配置的哈希值区间划分为等长的多个子哈希值区间。

进一步地,前述负载分担程序被处理器1001执行时,还实现如下操作:

获取各未发生故障的成员端口的带宽空闲率,并根据各带宽空闲率的比例关系,将故障成员端口已配置的哈希值区间划分为等比例的多个子哈希值区间。

进一步地,前述负载分担程序被处理器1001执行时,还实现如下操作:

在侦测到故障成员端口的故障排除时,恢复故障成员端口之前配置的哈希值区间,并撤销配置至未发生故障的成员端口的各子哈希值区间。

进一步地,前述负载分担程序被处理器1001执行时,还实现如下操作:

在接收到业务流时,采用哈希算法根据接收业务流中的报文信息进行计算,得到接收到业务流的哈希值;

若计算得到的哈希值落在任一所述子哈希值区间之内,则通过计算的哈希值所在子哈希值区间的成员端口转发前述业务流。

进一步地,前述报文信息包括源mac地址、目的mac地址和虚拟局域网标识。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台交换机执行本发明对应实施例所述的方法。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

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