CN107948087A - 一种负载均衡的方法及设备 - Google Patents
一种负载均衡的方法及设备 Download PDFInfo
- Publication number
- CN107948087A CN107948087A CN201711287522.4A CN201711287522A CN107948087A CN 107948087 A CN107948087 A CN 107948087A CN 201711287522 A CN201711287522 A CN 201711287522A CN 107948087 A CN107948087 A CN 107948087A
- Authority
- CN
- China
- Prior art keywords
- interchanger
- message
- server
- path
- group service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/252—Store and forward routing
Abstract
本发明公开了一种负载均衡的方法及设备,所述方法包括交换机接收待归类的报文,其中,所述待归类的报文携带的目的互联网协议IP地址是集群中的服务器的地址;所述交换机根据所述待归类的报文携带的传输信息将所述待归类的报文归入与所述传输信息对应类别的集群业务流;所述交换机根据预先建立的集群业务流的类别与转发路径之间的映射关系,确定所述集群业务流的转发路径;所述交换机根据确定的转发路径转发所述待归类的报文。
Description
技术领域
本发明涉及交换机技术领域,尤其涉及一种负载均衡的方法及设备。
背景技术
现有技术中,在业务数据流在进入交换机之后,交换机以业务流的目的IP查找路由表找到集群VIP转发出口对应的ECMP组,交换机根据业务流的特征计算出的Hash值选出业务流将要输出的出口对应的ECMP Entry之后,索引NHOP信息获取数据流的输出接口及封装信息,进而将业务数据流送达相应的集群服务器。
然后,上使用交换机做为负载均衡设备会遇到的问题是,当与交换机连接的服务器数量发生变化时如某一台服务器宕机或扩容,由于特定流的Hash不变,而集群中可转发路径数Path_Number就会发生变化,那么,交换机就会重新计算个各数据流的转发路径Forward Path,最终得到的各数据流的转发路径可能就会发生变化,例如原先均衡到A出口服务器X的数据流,此时会重均衡到B出口服务器Y,由于大部分的IP服务是TCP协议,此时A流对应的源终端设备需要与服务器B重新立TCP连接,重新建立TCP连接的过程会导致整个业务流出现短暂的中断,而这个过程影响所有的业务数据流的转发,进而出现所有业务数据流的短时中断问题。
所以,现有技术中,在业务流数据转发时容易出现短暂中断的技术问题。
发明内容
本发明实施例提供一种负载均衡的方法及设备,用于解决现有技术中,在业务流数据转发时容易出现短暂中断的技术问题。
为此,本发明实施例提供的具体技术方案如下:
一种负载均衡的方法,包括:
交换机接收待归类的报文,其中,所述待归类的报文携带的目的互联网协议IP地址是集群中的服务器的地址;
所述交换机根据所述待归类的报文携带的传输信息将所述待归类的报文归入与所述传输信息对应类别的集群业务流;
所述交换机根据预先建立的集群业务流的类别与转发路径之间的映射关系,确定所述集群业务流的转发路径;
所述交换机根据确定的转发路径转发所述待归类的报文。
可选的,在所述交换机根据预先建立的集群业务流的类别与转发路径之间的映射关系,确定所述集群业务流的转发路径之前,还包括:
所述交换机接收测试报文,所述测试报文用于根据其携带的测试传输信息标识各集群业务流的类别;
所述交换机使用所述测试报文进行均衡算法运算,分别获取各类集群业务流的转发路径;
所述交换机建立各类集群业务流与其转发路径之间的映射关系。
可选的,所述交换机建立各类集群业务流与其转发路径之间的映射关系,包括:
所述交换机为各类集群业务流分别建立与其对应的唯一标识的流表Flow ID;
根据所述流表Flow ID以及获取的所述各类集群业务流的转发路径建立表示各类集群业务流与其转发路径之间的映射关系的转发表项。
可选的,在所述交换机根据确定的转发路径转发所述待归类的报文之前,包括:
当所述交换机确定所述集群中的第一服务器处于活跃状态;
所述交换机将处于活跃状态的第一服务器的下一跳标识更新为可转发,其中,所述交换机将转发路径中的转发出口为所述第一服务器的报文转发到所述第一服务器中。
可选的,在所述交换机根据确定的转发路径转发所述待归类的报文之前,包括:
当所述交换机确定所述集群中的第一服务器处于非活跃状态且第二服务器处于活跃状态;
所述交换机使用所述第二服务器的转发信息填充所述集群中处于非活跃状态的第一服务器的下一跳标识,其中,所述交换机将转发路径中的转发出口为所述第一服务器的报文转发到所述第二服务器。
可选的,所述交换机根据确定的转发路径转发所述待归类的报文之后,包括:
若所述交换机在预设时长内未再次接收到各类集群业务流中任一类集群业务流的待归类的报文时,则所述交换机删除所述任一类集群业务流。
可选的,所述传输信息包括如下的至少一项:报文的源地址、目的IP地址、目的端口号以及IP协议类型。
另一方面,本发明实施例还提供了一种交换机设备,包括:
收发模块,用于接收待归类的报文,其中,所述待归类的报文携带的目的互联网协议IP地址是集群中的服务器的地址;
流分类Flow Classify模块,用于根据所述待归类的报文携带的传输信息将所述待归类的报文归入与所述传输信息对应类别的集群业务流;
报文域处理Field Process模块,用于根据预先建立的集群业务流的类别与转发路径之间的映射关系,确定所述集群业务流的转发路径;
下一跳信息NHOP模块,用于根据确定的转发路径转发所述待归类的报文。
可选的,所述Flow Classify模块用于:
接收测试报文,所述测试报文用于根据其携带的测试传输信息标识各集群业务流的类别;
使用所述测试报文进行均衡算法运算,分别获取各类集群业务流的转发路径;
建立各类集群业务流与其转发路径之间的映射关系。
可选的,所述Field Process模块,用于:
所述交换机为各类集群业务流分别建立与其对应的唯一标识的流表Flow ID;
根据所述流表Flow ID以及获取的所述各类集群业务流的转发路径建立表示各类集群业务流与其转发路径之间的映射关系的转发表项。
可选的,所述集成管理模块用于:
当确定所述集群中的第一服务器处于活跃状态;
将处于活跃状态的第一服务器的下一跳标识更新为可转发,其中,所述交换机将转发路径中的转发出口为所述第一服务器的报文转发到所述第一服务器中。
可选的,所述集成管理模块用于:
当确定所述集群中的第一服务器处于非活跃状态且第二服务器处于活跃状态;
使用所述第二服务器的转发信息填充所述集群中处于非活跃状态的第一服务器的下一跳标识,其中,所述交换机将转发路径中的转发出口为所述第一服务器的报文转发到所述第二服务器。
可选的,所述集成管理模块用于:
若所述收发模块在预设时长内未再次接收到各类集群业务流中任一类集群业务流的待归类的报文传时,则删除所述任一类集群业务流。
另一方面,本发明实施例还提供了一种计算机可读存储介质:
所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求1-7中任一项所述的方法。
本发明实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
由于本发明实施例中的技术方案,在交换机接收到集群业务流时,可以根据集群业务流中报文携带的报文的源地址、目的互联网协议IP地址、目的端口号以及IP协议类型将报文进行归类,同时交换机预先建立了每一类集群业务流的类别与转发路径之间的映射关系,使得交换机可以根据该映射关系直接确定出每一类集群业务流的转发路径也即软件选路,不需要对每次接收到的集群业务流进行均衡运算确定转发路径,所以,就不会出现因为集群中转发出口数变化时(如宕机或扩容),导致重新进行均衡运算确定出转发路径与原转发路径不同,交换需要重新建立TCP会话的过程会导致集群中所有业务出现短的中断,影响所有的集群业务流中的报文转发情况。所以,有效的解决现有技术中,在业务流数据转发时容易出现短暂中断的技术问题,具有能够减少业务流数据转发时出现短暂中断的情况的有益效果。
同时,由于本发明实施例中交换机可以根据预先建立了每一类集群业务流的类别与转发路径之间的映射关系,直接确定出每一类集群业务流的转发路径,相比现有技术中每接收一次报文都需要计算其转发路径,具有更高的转发效率。
另外,由于本发明实施例中,在集群中的某一服务器不可用时,使用集群中处于活跃状态的服务器的转发信息填充处于不活动的状态的服务器,进而使得转发路径为不活跃的服务器的报文能够转发到活跃的服务器中,进而不影响转发到不活跃服务器的报文的转发,所以,进一步提高的报文的转发效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1为本发明实施例提供的一种负载均衡的流程图;
图2为本发明实施例中还可以执行一些步骤的具体实现方式流程图;
图3为本发明实施例中步骤S204的具体实现方式流程图步骤
图4为本发明实施例中还可以执行另一些步骤的具体实现方式流程图;
图5为本发明实施例中还可以执行再一些步骤的具体实现方式流程图;
图6为本发明实施例提供的一种交换机设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明技术方案的一部分实施例,而不是全部的实施例。基于本发明文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明技术方案保护的范围。
请参考图1,为本发明实施例提供的一种负载均衡的方法,包括:
步骤S101:交换机接收待归类的报文,其中,所述待归类的报文携带的目的互联网协议IP地址是集群中的服务器的地址;
步骤S102:所述交换机根据所述待归类的报文携带的传输信息将所述待归类的报文归入与所述传输信息对应类别的集群业务流;
步骤S103:所述交换机根据预先建立的集群业务流的类别与转发路径之间的映射关系,确定所述集群业务流的转发路径;
步骤S104:所述交换机根据确定的转发路径转发所述待归类的报文。
本发明实施例中提供的上述负载均衡方法主要应用在交换机中,在具体实践过程中,本发明实施例中的上述负载均衡方法首先执行步骤S101:交换机接收待归类的报文,其中,所述待归类的报文携带的目的互联网协议IP地址是集群中的服务器的地址,然后再执行步骤S102:所述交换机根据所述待归类的报文携带的传输信息将所述待归类的报文归入与所述传输信息对应类别的集群业务流,
在实际应用中,交换机中包括流分类Flow Classify模块、报文域处理FieldProcess模块以及下一跳信息NHOP模块,当客服端设备向交换机发送包括一个或多个报文的业务流时,交换机就能够接收到该业务流。在本发明实施例中,交换机中的FlowClassify模块简称FC模块还可以先根据业务流中报文的目的IP地址,筛选出业务流中的集群业务流,也即业务流中目的IP地址为集群中服务器的VIP的报文就属于集群业务流,然后,交换机中的FC模块再根据集群业务流中报文携带的传输信息如报文的源地址、目的端口号以及IP协议类型将该集群业务流中的报文进行归类,因此,上述交换机接收到的业务流中目的IP地址为集群中服务器的VIP的报文又可称为待归类的报文。
在实际应用中,在交换机进行报文转发之前,可以事先由管理员在交换机上配置与交换机连接的集群中的服务器的信息,配置的信息包括集群中服务器的VIP地址信息、集群中每一台服务器的物理IP地址以及服务器服务的协议信息,其中,服务的协议信息包括:IP协议类型及目的端口号,然后,交换机中的FC模块就可以根据事先配置上述集群服务器的信息,制定出用于根据接收到的集群业务流中的报文携带的传输信息进行分类的规则。
这里假设,FC模块中的规则组表Flow Group配置了Flow X与Flow Y的两个规则,其中,Flow X规则用于识别集群业务流中目的IP为VIP1的Web(TCP协议目的端口80)的报文,并根据识别出目的IP为VIP1的报文所携带的报文的源地址、目的端口号以及IP协议类型将报文进行归类;Flow Y规则用于识别集群业务流中目的IP为VIP2的FPT(TCP协议目的端口21)的报文,并根据识别出的目的IP为VIP2的报文所携带的报文的源地址、目的端口号以及IP协议类型将报文进行归类。
这里假设,交换机接收到的集群业务流中的报文包括源地址为A即SIP=A、目的IP地址为VIP1即DIP=VIP1、IP协议类型为TCP、目的端口号为80也即DPORT=80、源端口号SPROT=1025的第一报文(这里的第一报文可以表示符合源地址为A即SIP=A、目的IP地址为VIP1即DIP=VIP1、IP协议类型为TCP、目的端口号为80也即DPORT=80、源端口号SPROT=1025一个或多个待归类的报文)。
交换机接收到的集群业务流中的报文还包括SIP=B、DIP=VIP1、IP协议类型为TCP、DPORT=80、SPROT=1025的第二报文(同样的,这里的第二报文可以表示符合SIP=B、DIP=VIP1、IP协议类型为TCP、DPORT=80、SPROT=1025的一个或多个待归类的报文),以及包括SIP=C、DIP=VIP2、IP协议类型为TCP、DPORT=21、SPROT=1025的第三报文(同样的,这里的第三报文可以为表示符合SIP=C、DIP=VIP2、IP协议类型为TCP、DPORT=21、SPROT=1025的一个或多个待归类的报文)。
那么,交换机FC模块根据Flow Group配置的Flow X规则识别出目的IP地址为VIP1的第一报文和第二报文之后,就可以根据第一报文携带的源地址A、目的端口号80以及IP协议类型TCP将第一报文归类第一类集群业务流,根据第二报文携带的源地址B、目的端口号80以及IP协议类型TCP将第二报文归类第二类集群业务流;交换机FC模块根据Flow Group配置的Flow Y规则识别出目的IP地址为VIP2的第三报文之后,就可以根据第三报文携带的源地址C、目的端口号21以及IP协议类型TCP将第三报文归类第三类集群业务流。
本发明实施例中的方法在执行完上述步骤S102之后,就会执行步骤S103,也即所述交换机根据预先建立的集群业务流的类别与转发路径之间的映射关系,确定所述集群业务流的转发路径。
也即,在交换机FC模块将第一报文归类第一类集群业务流、将第二报文归类第二类集群业务流以及将第三报文归类第三类集群业务流之后,交换机就可以根据预设的集群业务流的类别与转发路径之间的映射关系,分别确定出第一类集群业务流的转发路径、确定出第二类集群业务流的转发路径以及第三类集群业务流的转发路径。
请参考图2,在实际应用中,交换机可以在执行上述步骤S103之前,通过执行以下步骤,预先建立集群业务流的类别与转发路径之间的映射关系:
步骤S201:所述交换机接收测试报文,所述测试报文用于根据其携带的测试传输信息标识各集群业务流的类别;
步骤S202:所述交换机使用所述测试报文进行均衡算法运算,分别获取各类集群业务流的转发路径;
步骤S203:所述交换机建立各类集群业务流与其转发路径之间的映射关系。
也即交换机接在接收到符合归入第一类集群业务流的测试报文时,交换机FC模块中的Flow Action可以将符合归入第一类集群业务流的测试报传输到交换机中的集成管理模块中,该集成管理模块包括CPU处理器,集成管理模块可以将该测试报文作为均衡算法的输入因子进行衡算法运算,进而获得第一类集群业务流的转发路径,为叙述方便,将获得的第一类集群业务流的转发路径称为第一转发路径,并假设第一转发路径的转发出口为集群中的第一服务器。
同样的,交换机接在接收到符合归入所述第二类集群业务流的测试报文时,交换机FC模块中的Flow Action将符合归入所述第二类集群业务流的测试报文传输到交换机中的集成管理模块中,集成管理模块将该测试报文作为均衡算法的输入因子进行衡算法运算,进而获得所述第二类集群业务流的转发路径,为叙述方便,将获得的第二类集群业务流的转发路径称为第二转发路径,并假设第二转发路径的转发端口为集群中的第二服务器;
交换机在接收到符合归入所述第三类集群业务流的测试报文时,交换机FC模块中的Flow Action将符合归入所述第三类集群业务流的测试报文传输到交换机中的集成管理模块中,集成管理模块将该测试报文作为均衡算法的输入因子进行衡算法运算,进而获得所述第三类集群业务流的转发路径,为叙述方便,将获得的第三类集群业务流的转发路径称为第三转发路径,并假设第三转发路径的转发端口为集群中的第三服务器。
然后,交换机FC模块就可以根据获得的每一类集群业务流的转发路径,建立每一类集群业务流的转发路径与其自身之间的映射关系,请参考图3,在实际应用中,上述步骤S204还可以按照以下方式具体实现:
步骤S301:所述交换机为各类集群业务流分别建立与其对应的唯一标识的流表Flow ID;
步骤S302:根据所述流表Flow ID以及获取的所述各类集群业务流的转发路径建立表示各类集群业务流与其转发路径之间的映射关系的转发表项。
在实际应用中,交换机FC模块可以分别为第一类集群业务流、第二类集群业务流以及第三类集群业务流建立唯一标识流表Flow ID,这里,假设为第一类集群业务流建立的唯一标识流表为Flow X-1,为第二类集群业务流建立的唯一标识流表为Flow X-2,为第三类集群业务流建立的唯一标识流表为Flow Y-1,那么,交换机集群管理模块就可以建立包括第一类集群业务流的唯一标识流表Flow X-1与第一转发路径之间相互映射、第二类集群业务流的唯一标识流表Flow X-2与第二转发路径之间相互映射、以及第三类集群业务流的唯一标识流表Flow Y-1与第三转发路径之间相互映射的FP转发表项,FP转发表项就包括了集群业务流的类别与转发路径之间的映射关系也即包括步骤S103中所述的预先建立的集群业务流的类别与转发路径之间的映射关系。
在实际应用中,交换机集群管理模块在建立FP转发表项之后,会将该FP转发表项传输给交换机中的Field Process模块简称FP模块,以便FP模块可以通过匹配每一类集群业务流的流表Flow ID,确定出每一类集群业务流对应的转发路径,具体的,在交换机FC模块将上述第一报文归类第一类集群业务流、将第二报文归类第二类集群业务流以及将第三报文归类第三类集群业务流之后,交换机Field Process模块就可以根据该FP转发表项中的每一类集群业务流的流表Flow ID与转发路径的映射关系,分别确定出与Flow X-1对应的第一转发路径,该第一转发路径就为第一类集群业务流的转发路径;确定出与Flow X-2对应的第二转发路径,该第二转发路径就为第二类集群业务流的转发路径;以及确定出与Flow Y-1对应的第三转发路径,该第三转发路径就为第三类集群业务流的转发路径,然后,交换机就可以执行步骤S104,也即所述交换机根据确定的转发路径转发所述待归类的报文。
请参考图4,在实际应用中,交换机在执行上述步骤S104之前,还可以执行以下步骤:
步骤S401:当所述交换机确定所述集群中的第一服务器处于活跃状态;
步骤S402:所述交换机将处于活跃状态的第一服务器的下一跳标识更新为可转发,其中,所述交换机将转发路径中的转发出口为所述第一服务器的报文转发到所述第一服务器中。
也即在交换机根据第一转发路径转发第一类集群业务流的转发路径、根据第二转发路径转发路第二类集群业务流、以及根据第三转发路径转发第三类集群业务流之前,交换机可以通过主动ARP协议主动向集群中的各个服务器发送ARP请求来确定集群中各个服务器的活跃状态,集群中各个服务器在接收到交换机发送的ARP请求之后,就会向交换机反馈各自的活跃状态。
这里假设,集群中的第一服务器、第二服务器以及第三服务器均处于活跃状态,这时,交换机就会将交换机NHOP模块中表征第一服务器的活跃状态的下一跳NHOP标识更新为可转发Fowarding、将交换机NHOP模块中表征第二服务器的活跃状态的下一跳NHOP标识更新为可转发Fowarding、以及将交换机NHOP模块中表征第三服务器的活跃状态的下一跳NHOP标识更新为可转发Fowarding。
然后,交换机可以在NHOP模块中的第一服务器对应的NHOP表项中输入第一转发路径中的转发出口也即第一服务器、以及第一服务器的MAC地址,进而使得交换机能够根据第一转发路径将归入第一类集群业务流中的报文转发到第一服务器中;同样的,交换机可以在NHOP模块中的第二服务器对应的NHOP表项中输入第二转发路径中的转发出口也即第二服务器、以及第二服务器的MAC地址,进而使得交换机能够根据第二转发路径将归入第二类集群业务流中的第二报文转发到第二服务器中;同样的,交换机可以在NHOP模块中的第三服务器对应的NHOP表项中输入第三转发路径中的转发出口也即第三服务器、以及第三服务器的MAC地址,进而将归入第三类集群业务流的第三报文转发到第三服务器中。
请参考图5,在实际应用中,也会存在集群中有一台或多台服务器处于不活跃的状态的情况,这时,交换机还可以执行以下步骤:
步骤S403:当所述交换机确定所述集群中的第一服务器处于非活跃状态且第二服务器处于活跃状态;
步骤S404:所述交换机使用所述第二服务器的信息填充所述集群中处于非活跃状态的第一服务器的下一跳标识,其中,所述交换机将转发路径中的转发出口为所述第一服务器的报文转发到所述第二服务器。
这里假设,集群中的第二台服务器处于非活跃状态,第一服务器和第三服务器均处于活跃状态,那么,交换机就能够第一服务器的反馈,确定出第一服务器处于活跃状态,根据第二服务器的反馈,确定出第二服务器处于非活跃状态,根据第三服务器的反馈确定出第三服务器处于活跃状态。
这时,交换机就会将交换机NHOP模块中表征第一服务器的活跃状态的下一跳NHOP标识更新为可转发Fowarding,然后,交换机可以在NHOP模块中的第一服务器对应的NHOP表项中输入第一转发路径中的转发出口也即第一服务器、以及第一服务器的MAC地址,进而使得交换机能够根据第一转发路径将归入第一类集群业务流中的报文转发到第一服务器中。
同样的,交换机就会将交换机NHOP模块中表征第三服务器的活跃状态的下一跳NHOP标识更新为可转发Fowarding,然后,交换机可以在NHOP模块中的第三服务器对应的NHOP表项中输入第三转发路径中的转发出口也即第三服务器、以及第三服务器的MAC地址,进而使得交换机能够根据第三转发路径将归入第三类集群业务流的报文转发到第三服务器中。
由于,第二服务器处于不活跃状态,这时交换机会将交换机NHOP模块中表征第二服务器的活跃状态的下一跳NHOP标识用集群中处于活跃状态的服务器的转发信息进行填充,这里,假设选择处于活跃状态的第一服务器,那么,交换机就会NHOP模块中表征第二服务器的活跃状态的下一跳NHOP标识中填写第一服务器的可转发Fowarding信息,该可转发Fowarding信息包括第一服务器与交换机的连接端口以及第一服务器的MAC地址,然后,交换机可以在NHOP模块中的第二服务器对应的NHOP表项中输入第一转发路径中的转发出口也即第一服务器,进而使得交换机能够根据第二转发路径将归入第二类集群业务流中的报文转发到处于活跃状态的第一服务器中。
在实际应用,本发明实施例在执行完上述步骤S104之后,还可以执行以下步骤:
若所述交换机在预设时长内未再次接收到各类集群业务流中任一类集群业务流的待归类的时,则所述交换机删除所述任一类集群业务流。
也即,在实际应用中,可以设置一预设时长如1分钟,30秒、10分钟等,当交换机在预设时长内没有再次接收到符合归入第一类集群业务流的报文传时,表明此时符合归入所述第一类集群业务流的报文处理业务已结束,就可以将用于标识第一类集群业务流的FlowX-1,以及转发表项中第一类集群业务流与Flow X-1的对应关系删除,以节约交换机中的容量的目的。
同样的,当交换机在预设时长内没有再次接收到符合归入第二类集群业务流的报文传时,表明此时符合归入所述第二类集群业务流的报文处理业务已结束,就可以将用于标识第二类集群业务流的Flow X-2,以及转发表项中第二类集群业务流与Flow X-2的对应关系删除,以节约交换机中的容量的目的。
当交换机在预设时长内没有再次接收到符合归入第三类集群业务流的报文传时,表明此时符合归入所述第三类集群业务流的报文处理业务已结束,就可以将用于标识第三类集群业务流的Flow Y-1,以及转发表项中第三类集群业务流与Flow Y-1的对应关系删除,以节约交换机中的容量的目的。
所以,本发明实施例提供的上述负载均衡的方法,在交换机接收到集群业务流时,可以根据集群业务流中报文携带的报文的源地址、目的互联网协议IP地址、目的端口号以及IP协议类型将报文进行归类,同时交换机预先建立了每一类集群业务流的类别与转发路径之间的映射关系,使得交换机可以根据该映射关系直接确定出每一类集群业务流的转发路径也即软件选路,不需要对每次接收到的集群业务流进行均衡运算确定转发路径,所以,就不会出现因为集群中转发出口数变化时(如宕机或扩容),导致重新进行均衡运算确定出转发路径与原转发路径不同,交换需要重新建立TCP会话的过程会导致集群中所有业务出现短的中断,影响所有的集群业务流中的报文转发情况。所以,有效的解决现有技术中,在业务流数据转发时容易出现短暂中断的技术问题,具有能够减少业务流数据转发时出现短暂中断的情况的有益效果。
同时,由于本发明实施例中交换机可以根据预先建立了每一类集群业务流的类别与转发路径之间的映射关系,直接确定出每一类集群业务流的转发路径,相比现有技术中每接收依次报文都需要计算其转发路径,具有更高的转发效率。
另外,由于本发明实施例中,在集群中的某一服务器不可用时,使用集群中处于活跃状态的服务器的转发信息填充处于不活动的状态的服务器,进而使得转发路径为不活跃的服务器的报文能够转发到活跃的服务器中,进而不影响转发到不活跃服务器的报文的转发,所以,进一步提高的报文的转发效率。
基于同一发明构思,本发明实施例中提供了一种交换机设备,该设备的负载均衡的方法的具体实施可参见上述方法实施例部分的描述,重复之处不再赘述,请参考图6,该设备包括:
收发模块10,用于接收待归类的报文,其中,所述待归类的报文携带的目的互联网协议IP地址是集群中的服务器的地址;
流分类Flow Classify模块11,用于根据所述待归类的报文携带的传输信息将所述待归类的报文归入与所述传输信息对应类别的集群业务流;
报文域处理Field Process模块12,用于根据预先建立的集群业务流的类别与转发路径之间的映射关系,确定所述集群业务流的转发路径;
下一跳信息NHOP模块13,用于根据确定的转发路径转发所述待归类的报文。
可选的,所述Flow Classify模块用于:
接收测试报文,所述测试报文用于根据其携带的测试传输信息标识各集群业务流的类别;
使用所述测试报文进行均衡算法运算,分别获取各类集群业务流的转发路径;
建立各类集群业务流与其转发路径之间的映射关系。
可选的,所述Field Process模块,用于:
所述交换机为各类集群业务流分别建立与其对应的唯一标识的流表Flow ID;
根据所述流表Flow ID以及获取的所述各类集群业务流的转发路径建立表示各类集群业务流与其转发路径之间的映射关系的转发表项。
可选的,所述集成管理模块用于:
当确定所述集群中的第一服务器处于活跃状态;
将处于活跃状态的第一服务器的下一跳标识更新为可转发,其中,所述交换机将转发路径中的转发出口为所述第一服务器的报文转发到所述第一服务器中。
可选的,所述集成管理模块用于:
当确定所述集群中的第一服务器处于非活跃状态且第二服务器处于活跃状态;
使用所述第二服务器的转发信息填充所述集群中处于非活跃状态的第一服务器的下一跳标识,其中,所述交换机将转发路径中的转发出口为所述第一服务器的报文转发到所述第二服务器。
可选的,所述集成管理模块用于:
若所述收发模块在预设时长内未再次接收到各类集群业务流中任一类集群业务流的待归类的时,则删除所述任一类集群业务流。
可选的,所述传输信息包括如下的至少一项:报文的源地址、目的IP地址、目的端口号以及IP协议类型。
基于同一发明构思,本发明实施例中提供了一种计算机可读存储介质:
所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如上所述的一种负载均衡的方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (15)
1.一种负载均衡的方法,其特征在于,包括:
交换机接收待归类的报文,其中,所述待归类的报文携带的目的互联网协议IP地址是集群中的服务器的地址;
所述交换机根据所述待归类的报文携带的传输信息将所述待归类的报文归入与所述传输信息对应类别的集群业务流;
所述交换机根据预先建立的集群业务流的类别与转发路径之间的映射关系,确定所述集群业务流的转发路径;
所述交换机根据确定的转发路径转发所述待归类的报文。
2.如权利要求1所述的方法,其特征在于,在所述交换机根据预先建立的集群业务流的类别与转发路径之间的映射关系,确定所述集群业务流的转发路径之前,还包括:
所述交换机接收测试报文,所述测试报文用于根据其携带的测试传输信息标识各集群业务流的类别;
所述交换机使用所述测试报文进行均衡算法运算,分别获取各类集群业务流的转发路径;
所述交换机建立各类集群业务流与其转发路径之间的映射关系。
3.如权利要求2所述的方法,其特征在于,所述交换机建立各类集群业务流与其转发路径之间的映射关系,包括:
所述交换机为各类集群业务流分别建立与其对应的唯一标识的流表Flow ID;
根据所述流表Flow ID以及获取的所述各类集群业务流的转发路径建立表示各类集群业务流与其转发路径之间的映射关系的转发表项。
4.如权利要求1-4中任一项所述的方法,其特征在于,在所述交换机根据确定的转发路径转发所述待归类的报文之前,包括:
当所述交换机确定所述集群中的第一服务器处于活跃状态;
所述交换机将处于活跃状态的第一服务器的下一跳标识更新为可转发,其中,所述交换机将转发路径中的转发出口为所述第一服务器的报文转发到所述第一服务器中。
5.如权利要求1-4中任一项所述的方法,其特征在于,在所述交换机根据确定的转发路径转发所述待归类的报文之前,包括:
当所述交换机确定所述集群中的第一服务器处于非活跃状态且第二服务器处于活跃状态;
所述交换机使用所述第二服务器的转发信息填充所述集群中处于非活跃状态的第一服务器的下一跳标识,其中,所述交换机将转发路径中的转发出口为所述第一服务器的报文转发到所述第二服务器。
6.如权利要求1-4中任一项所述的方法,其特征在于,所述交换机根据确定的转发路径转发所述待归类的报文之后,包括:
若所述交换机在预设时长内未再次接收到各类集群业务流中任一类集群业务流的待归类的报文时,则所述交换机删除所述任一类集群业务流。
7.如权利要求1-4中任一项所述的方法,其特征在于,所述传输信息包括如下的至少一项:报文的源地址、目的IP地址、目的端口号以及IP协议类型。
8.一种交换机设备,其特征在于,包括:
收发模块,用于接收待归类的报文,其中,所述待归类的报文携带的目的互联网协议IP地址是集群中的服务器的地址;
流分类Flow Classify模块,用于根据所述待归类的报文携带的传输信息将所述待归类的报文归入与所述传输信息对应类别的集群业务流;
报文域处理Field Process模块,用于根据预先建立的集群业务流的类别与转发路径之间的映射关系,确定所述集群业务流的转发路径;
下一跳信息NHOP模块,用于根据确定的转发路径转发所述待归类的报文。
9.如权利要求7所述的设备,其特征在于,所述Flow Classify模块用于:
接收测试报文,所述测试报文用于根据其携带的测试传输信息标识各集群业务流的类别;
使用所述测试报文进行均衡算法运算,分别获取各类集群业务流的转发路径;
建立各类集群业务流与其转发路径之间的映射关系。
10.如权利要求8所述的设备,其特征在于,所述Field Process模块,用于:
所述交换机为各类集群业务流分别建立与其对应的唯一标识的流表Flow ID;
根据所述流表Flow ID以及获取的所述各类集群业务流的转发路径建立表示各类集群业务流与其转发路径之间的映射关系的转发表项。
11.如权利要求8-10中任一项所述的设备,其特征在于,所述集成管理模块用于:
当确定所述集群中的第一服务器处于活跃状态;
将处于活跃状态的第一服务器的下一跳标识更新为可转发,其中,所述交换机将转发路径中的转发出口为所述第一服务器的报文转发到所述第一服务器中。
12.如权利要求8-10中任一项所述的设备,其特征在于,所述集成管理模块用于:
当确定所述集群中的第一服务器处于非活跃状态且第二服务器处于活跃状态;
使用所述第二服务器的转发信息填充所述集群中处于非活跃状态的第一服务器的下一跳标识,其中,所述交换机将转发路径中的转发出口为所述第一服务器的报文转发到所述第二服务器。
13.如权利要求8-10中任一项所述的设备,其特征在于,所述集成管理模块用于:
若所述收发模块在预设时长内未再次接收到各类集群业务流中任一类集群业务流的待归类的报文传时,则删除所述任一类集群业务流。
14.如权利要求8-10中任一项所述的设备,其特征在于,所述传输信息包括如下的至少一项:报文的源地址、目的IP地址、目的端口号以及IP协议类型。
15.一种计算机可读存储介质,其特征在于:
所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711287522.4A CN107948087A (zh) | 2017-12-07 | 2017-12-07 | 一种负载均衡的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711287522.4A CN107948087A (zh) | 2017-12-07 | 2017-12-07 | 一种负载均衡的方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107948087A true CN107948087A (zh) | 2018-04-20 |
Family
ID=61946181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711287522.4A Pending CN107948087A (zh) | 2017-12-07 | 2017-12-07 | 一种负载均衡的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107948087A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108768878A (zh) * | 2018-06-06 | 2018-11-06 | 北京奇艺世纪科技有限公司 | 一种负载均衡***、方法、装置及负载均衡设备 |
CN109587062A (zh) * | 2018-12-07 | 2019-04-05 | 北京金山云网络技术有限公司 | 负载均衡信息同步的方法、装置和处理设备 |
CN111884950A (zh) * | 2020-07-27 | 2020-11-03 | 深圳市信锐网科技术有限公司 | 数据传输方法、目标交换机、指定交换机及交换机*** |
US10904719B2 (en) | 2019-05-06 | 2021-01-26 | Advanced New Technologies Co., Ltd. | Message shunting method, device and system based on user mode protocol stack |
CN113452691A (zh) * | 2021-06-24 | 2021-09-28 | 未鲲(上海)科技服务有限公司 | 业务流量检测方法及装置、服务器、存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101404619A (zh) * | 2008-11-17 | 2009-04-08 | 杭州华三通信技术有限公司 | 一种实现服务器负载均衡的方法和一种三层交换机 |
CN101820391A (zh) * | 2010-03-17 | 2010-09-01 | 中兴通讯股份有限公司 | 用于ip网络的路由转发方法及网络设备 |
CN101827039A (zh) * | 2010-06-04 | 2010-09-08 | 杭州华三通信技术有限公司 | 一种负载分担的方法和设备 |
CN103078804A (zh) * | 2012-12-28 | 2013-05-01 | 福建星网锐捷网络有限公司 | 等价多路径表处理方法、装置及网络设备 |
CN103650436A (zh) * | 2013-07-25 | 2014-03-19 | 华为技术有限公司 | 业务路径分配方法、路由器和业务执行实体 |
CN105471770A (zh) * | 2015-11-20 | 2016-04-06 | 福建星网锐捷网络有限公司 | 一种基于多核处理器的报文处理方法及装置 |
CN106549875A (zh) * | 2015-09-18 | 2017-03-29 | ***通信集团浙江有限公司 | 一种会话管理方法、装置及负载均衡器 |
CN107294863A (zh) * | 2017-06-22 | 2017-10-24 | 深圳市泰信通信息技术有限公司 | 网络数据流转发方法、装置、***及可读存储介质 |
-
2017
- 2017-12-07 CN CN201711287522.4A patent/CN107948087A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101404619A (zh) * | 2008-11-17 | 2009-04-08 | 杭州华三通信技术有限公司 | 一种实现服务器负载均衡的方法和一种三层交换机 |
CN101820391A (zh) * | 2010-03-17 | 2010-09-01 | 中兴通讯股份有限公司 | 用于ip网络的路由转发方法及网络设备 |
CN101827039A (zh) * | 2010-06-04 | 2010-09-08 | 杭州华三通信技术有限公司 | 一种负载分担的方法和设备 |
CN103078804A (zh) * | 2012-12-28 | 2013-05-01 | 福建星网锐捷网络有限公司 | 等价多路径表处理方法、装置及网络设备 |
CN103650436A (zh) * | 2013-07-25 | 2014-03-19 | 华为技术有限公司 | 业务路径分配方法、路由器和业务执行实体 |
CN106549875A (zh) * | 2015-09-18 | 2017-03-29 | ***通信集团浙江有限公司 | 一种会话管理方法、装置及负载均衡器 |
CN105471770A (zh) * | 2015-11-20 | 2016-04-06 | 福建星网锐捷网络有限公司 | 一种基于多核处理器的报文处理方法及装置 |
CN107294863A (zh) * | 2017-06-22 | 2017-10-24 | 深圳市泰信通信息技术有限公司 | 网络数据流转发方法、装置、***及可读存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108768878A (zh) * | 2018-06-06 | 2018-11-06 | 北京奇艺世纪科技有限公司 | 一种负载均衡***、方法、装置及负载均衡设备 |
CN109587062A (zh) * | 2018-12-07 | 2019-04-05 | 北京金山云网络技术有限公司 | 负载均衡信息同步的方法、装置和处理设备 |
CN109587062B (zh) * | 2018-12-07 | 2021-05-25 | 北京金山云网络技术有限公司 | 负载均衡信息同步的方法、装置和处理设备 |
US10904719B2 (en) | 2019-05-06 | 2021-01-26 | Advanced New Technologies Co., Ltd. | Message shunting method, device and system based on user mode protocol stack |
CN111884950A (zh) * | 2020-07-27 | 2020-11-03 | 深圳市信锐网科技术有限公司 | 数据传输方法、目标交换机、指定交换机及交换机*** |
CN113452691A (zh) * | 2021-06-24 | 2021-09-28 | 未鲲(上海)科技服务有限公司 | 业务流量检测方法及装置、服务器、存储介质 |
CN113452691B (zh) * | 2021-06-24 | 2022-09-16 | 未鲲(上海)科技服务有限公司 | 业务流量检测方法及装置、服务器、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107948087A (zh) | 一种负载均衡的方法及设备 | |
US9736278B1 (en) | Method and apparatus for connecting a gateway router to a set of scalable virtual IP network appliances in overlay networks | |
US11463511B2 (en) | Model-based load balancing for network data plane | |
US8677011B2 (en) | Load distribution system, load distribution method, apparatuses constituting load distribution system, and program | |
US8705551B2 (en) | Method and system for management of flood traffic over multiple 0:N link aggregation groups | |
CN106664261A (zh) | 一种配置流表项的方法、装置和*** | |
CN104468358A (zh) | 分布式虚拟交换机***的报文转发方法及设备 | |
CN107317879A (zh) | 一种用户请求的分发方法及*** | |
CN104022953A (zh) | 基于开放流Openflow的报文转发方法和装置 | |
CN107959625A (zh) | 具有动态流卸载能力的虚拟路由器 | |
CN104202351B (zh) | 分布式虚拟安全装置以及使用虚拟机的基于流的转发*** | |
CN102075438A (zh) | 单播数据帧传输方法及装置 | |
CN106878193A (zh) | 一种负载分担方法及装置 | |
CN101789949B (zh) | 一种实现负荷分担的方法和路由设备 | |
CN105337819A (zh) | 宽带接入网关的数据处理方法、宽带接入网关及网络*** | |
Xie et al. | Supporting seamless virtual machine migration via named data networking in cloud data center | |
CN106921572A (zh) | 一种传播QoS策略的方法、装置及*** | |
CN107846365A (zh) | 一种基于sdn的负载均衡实现***及方法 | |
CN111193756B (zh) | 一种vxlan隧道负载均衡方法及相关设备 | |
CN107579925A (zh) | 报文转发方法及装置 | |
KR101841026B1 (ko) | 최적 경로 설정을 위한 서비스 기능 체이닝 네트워크 시스템 | |
CN105379210A (zh) | 一种数据流处理方法及装置 | |
CN104486226B (zh) | 一种报文处理方法及装置 | |
CN104618157A (zh) | 网络管理方法、设备及*** | |
CN106487709A (zh) | 一种报文发送方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180420 |
|
RJ01 | Rejection of invention patent application after publication |