CN105337887B - 负载分担的方法和装置 - Google Patents

负载分担的方法和装置 Download PDF

Info

Publication number
CN105337887B
CN105337887B CN201410276982.7A CN201410276982A CN105337887B CN 105337887 B CN105337887 B CN 105337887B CN 201410276982 A CN201410276982 A CN 201410276982A CN 105337887 B CN105337887 B CN 105337887B
Authority
CN
China
Prior art keywords
port
stream
load balancing
balancing device
load
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.)
Active
Application number
CN201410276982.7A
Other languages
English (en)
Other versions
CN105337887A (zh
Inventor
韩冰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changzhou Hengtang Technology Industry Co ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201410276982.7A priority Critical patent/CN105337887B/zh
Publication of CN105337887A publication Critical patent/CN105337887A/zh
Application granted granted Critical
Publication of CN105337887B publication Critical patent/CN105337887B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供一种负载分担的方法和装置,该方法包括:负载分担装置确定多个目的端口的数量n;负载分担装置确定S大于第一预设阈值,其中,Xi表示根据第一负载分担算法n个端口中第i个端口需要承载的多个流中的流的数量,表示多个流的数量与n的商;负载分担装置确定m,S′小于第二预设阈值,第二预设阈值小于第一预设阈值,其中,Xj′表示根据第二负载分担算法m个端口中第j个端口需要承载的多个流中的流的数量,表示多个流的数量与m的商,m大于n;负载分担装置根据m确定承载多个流中的每个流的端口,其中,多个流中每个流将被多个目的端口中的一个端口承载;负载分担装置通过承载多个流中的每个流的端口发送对应的流。

Description

负载分担的方法和装置
技术领域
本发明实施例涉及网络通信领域,尤其涉及一种负载分担的方法和装置。
背景技术
随着高速网络技术的发展,对网络设备和服务器的网络数据处理能力提出了越来越高的需求。负载分担技术能够增加吞吐量,加强网络的数据处理能力。负载分担技术分为逐包负载分担技术和逐流负载分担技术。
在现有的逐流负载分担技术中,可采用不同的哈希算法实现。例如,循环冗余校验(Cyclic Redundancy Check,简称CRC)、折半异或或者素数运算。然而,现有的负载分担技术中,多个端口中不同端口承载的流的数量的差距较大。
发明内容
本发明实施例提供一种负载分担的方法和装置,有助于缩小多个端口中不同端口承载的流的数量的差距,提高负载分担的均匀度。
第一方面,本发明实施例提供一种负载分担方法,包括:
负载分担装置确定多个目的端口的数量n,所述多个目的端口是所述负载分担装置的物理端口;
所述负载分担装置确定S大于第一预设阈值,其中,Xi表示根据第一负载分担算法n个端口中第i个端口需要承载的多个流中的流的数量,表示所述多个流的数量与n的商;
所述负载分担装置确定m,S′小于第二预设阈值,所述第二预设阈值小于所述第一预设阈值,其中,Xj′表示根据第二负载分担算法m个端口中第j个端口需要承载的所述多个流中的流的数量,表示所述多个流的数量与m的商,m大于n;
所述负载分担装置根据m确定承载所述多个流中的每个流的端口,其中,所述多个流中每个流将被所述多个目的端口中的一个端口承载;
所述负载分担装置通过承载所述多个流中的每个流的端口发送对应的流。
上述技术方案中,S可以用于标识根据第一负载分担算法n个端口承载多个流中的流的数量的均匀度。S′可以用于标识根据第二负载分担算法m个端口承载多个流中的流的数量的均匀度。S′小于S则表明根据第二负载分担算法m个端口承载的流的数量的均匀度优于根据第一负载分担算法n个端口承载的流的数量的均匀度。因此,根据m确定承载所述多个流中的每个流的端口有助于提高承载多个流中的流的数量的均匀度。
结合第一方面,在第一方面的第一种可能的实施方式中,所述负载分担装置确定S大于第一预设阈值具体包括:
所述负载分担装置通过以n为查找关键字在表中查找与n匹配的表项获得S,所述与n匹配的表项中包含S,S是所述负载分担装置根据所述第一负载分担算法以及确定的,其中,所述第一负载分担算法被所述负载分担装置用于确定所述n个端口中承载所述多个流中的每个流的一个端口,其中,所述多个流中第t个流将被所述n个端口中端口号码为P的端口承载,P={f(ht)}%n,ht等于所述第t个流的特征信息,f(ht)是ht的哈希函数;
所述负载分担装置确定m具体包括:
所述负载分担装置通过以S′为查找关键字在所述表中查找与S′匹配的表项获得m,所述与S′匹配的表项中包含m,S′是所述负载分担装置根据所述第二负载分担算法以及确定的,其中,所述第二负载分担算法被所述负载分担装置用于确定所述m个端口中承载所述多个流中的每个流的一个端口,其中,所述多个流中所述第t个流将被所述m个端口中端口号码为Q的端口承载,Q={f(ht)}%m,ht等于所述第t个流的特征信息,f(ht)是ht的哈希函数。
结合第一方面的第一种实施方式,在第一方面的第二种实施方式中,所述负载分担装置根据m确定承载所述多个流中的每个流的端口具体包括:
所述负载分担装置根据第三负载分担算法确定承载所述多个流中的每个流的端口,其中,所述多个流中每个流将被所述多个目的端口中端口号码为R的端口承载,在{f(ht)}%m小于n的场景中,R等于{f(ht)}%m,在{f(ht)}%m大于或者等于n的场景中,R等于{f(ht)}%n。
结合第一方面或第一方面的第一种实施方式或第一方面的第二种实施方式,在第一方面的第三种实施方式中,S′包括k个数值,分别为S1′至Sk′,S1′至Sk′根据分别对应m1至mk,所述负载分担装置确认m具体包括:
m等于m1至mk中最小的值。
结合第一方面的第一种实施方式或第一方面的第二种实施方式,在第一方面的第四种实施方式中,所述第t个流的特征信息包括所述第t个流的源网际协议IP地址和目的IP地址。
第二方面,本发明实施例提供一种负载分担的装置,包括:
第一确定单元,用于确定多个目的端口的数量n,所述多个目的端口是所述负载分担装置的物理端口;
第二确定单元,用于确定S大于第一预设阈值,其中,Xi表示根据第一负载分担算法n个端口中第i个端口需要承载的多个流中的流的数量,表示所述多个流的数量与n的商;
第三确定单元,用于确定m,S′小于第二预设阈值,所述第二预设阈值小于所述第一预设阈值,其中,Xj′表示根据第二负载分担算法m个端口中第j个端口需要承载的所述多个流中的流的数量,表示所述多个流的数量与m的商,m大于n;
第四确定单元,用于根据m确定承载所述多个流中的每个流的端口,其中,所述多个流中每个流将被所述多个目的端口中的一个端口承载;
发送单元,用于通过所述第四确定单元确定的承载所述多个流中的每个流的端口发送对应的流。
结合第二方面,在第二方面的第一种可能实施方式中,所述第二确定单元具体用于:通过以n为查找关键字在表中查找与n匹配的表项获得S,所述与n匹配的表项中包含S,S是所述负载分担装置根据所述第一负载分担算法以及确定的,其中,所述第一负载分担算法被所述负载分担装置用于确定所述n个端口中承载所述多个流中的每个流的一个端口,其中,所述多个流中第t个流将被所述n个端口中端口号码为P的端口承载,P={f(ht)}%n,ht等于所述第t个流的特征信息,f(ht)是ht的哈希函数;
所述第三确定单元具体用于:通过以S′为查找关键字在所述表中查找与S′匹配的表项获得m,所述与S′匹配的表项中包含m,S′是所述负载分担装置根据所述第二负载分担算法以及确定的,其中,所述第二负载分担算法被所述负载分担装置用于确定所述m个端口中承载所述多个流中的每个流的一个端口,其中,所述多个流中所述第t个流将被所述m个端口中端口号码为Q的端口承载,Q={f(ht)}%m,ht等于所述第t个流的特征信息,f(ht)是ht的哈希函数。
结合第二方面的第一种实施方式,在第二方面的第二种实施方式中,所述第四确定单元具体用于:
根据第三负载分担算法确定承载所述多个流中的每个流的端口,其中,所述多个流中每个流将被所述多个目的端口中端口号码为R的端口承载,在{f(ht)}%m小于n的场景中,R等于{f(ht)}%m,在{f(ht)}%m大于或者等于n的场景中,R等于{f(ht)}%n。
结合第二方面或第二方面的第一种实施方式或第二方面的第二种实施方式,在第二方面的第三种实施方式中,S′包括k个数值,分别为S1′至Sk′,S1′至Sk′根据分别对应m1至mk,所述第三确定单元具体用于确定m等于m1至mk中最小的值。
结合第二方面的第一种实施方式或第二方面的第二种实施方式,在第二方面的第四种实施方式中,所述第t个流的特征信息包括所述第t个流的源网际协议IP地址和目的IP地址。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明负载分担的方法实施例一的流程图;
图2为本发明负载分担的装置实施例一的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明负载分担的方法实施例一的流程图,如图1所示,本实施例的执行主体为负载分担装置,具体可通过硬件或软硬件相结合的方式实现。则该方法包括:
S101,负载分担装置确定多个目的端口的数量n。
所述多个目的端口是所述负载分担装置的物理端口。
本实施例中,所述负载分担装置可以为路由器,也可为交换机或者防火墙,本实施例不作限定。
在对多个流进行负载分担前,确定进行负载分担的所述多个目的端口的数量n。所述多个目的端口的号码可以分别为0,1,2,......,n-1。举例来说,所述负载分担装置确定的所述多个目的端口的数量n=27,27个端口号码分别为0,1,2,……,26。
S102,所述负载分担装置确定S大于第一预设阈值。
Xi表示根据第一负载分担算法n个端口中第i个端口需要承载的所述多个流中的流的数量。表示所述多个流的数量与n的商。
本实施例中,在所述负载分担装置确定S大于第一预设阈值前,需要存储进行负载分担的物理端口的数量N与之间的对应关系表。该表如表1所示,表1中存储了物理端口的数量最多为32个的情况下,物理端口的数量N与之间的对应关系。其中,N=2,3,4,......32,
表1:物理端口的数量N与之间的对应关系表
从表1中可以看出在进行负载分担时,无论采用哪种哈希函数,针对不同的物理端口数量N,都不能保证在每种物理端口数量的情况下都很小。所以在所述负载分担装置进行负载分担前,首先设定进行负载分担的哈希函数,所述哈希函数可以为表1中所列举出的多种哈希函数中的一种。如设定的哈希函数为CRC1哈希函数。CRC1哈希函数表示16位的CRC运算的函数。
具体地,所述负载分担装置根据存储的进行负载分担的物理端口的数量N与之间的对应关系表来确定S是否大于第一预设阈值。其中,n为N中的一个值,S为与n相匹配的中的一个值。举例来说,n=27,S为中与n=27相匹配的值,
本实施例中,所述第一预设阈值可根据将表1中的的取值范围进行设定。当所述负载分担装置将该对应的负载分担效果的等级设定为优。当所述负载分担装置将该对应的负载分担效果的等级设定为良。当所述负载分担装置将该对应的负载分担效果的等级设定为可。当所述负载分担装置将该下对应的负载分担效果的等级设定为为劣。在负载分担效果的等级为可或劣的情况下,需要进行的调整。那么所述第一预设阈值设定为负载分担效果的等级为可的情况下所对应的数值范围的下限。如在上述举例中,将第一预设阈值设定为10%。本实施例中对设定负载分担效果的等级的的数值范围不作限定,所以设定的第一预设阈值大小也不作限定。
当多个目的端口的数量n相匹配的S大于所述第一预设阈值时,表明针对数量为n的目的端口进行负载分担的效果等级为可或劣,需要提高所述数量为n的多个目的端口对应的负载分担的承载多个流中的流的数量的均匀度。
举例说明为:所述负载分担装置确定的多个目的端口的数量n=27,第一预设阈值为10%,那么确定出的与数量n=27相匹配的S=23.24%,S大于10%。
S103,所述负载分担装置确定m。
S′小于第二预设阈值。第二预设阈值小于第一预设阈值。Xj′表示根据第二负载分担算法m个端口中第j个端口需要承载的多个流中的流的数量。表示多个流的数量与m的商。m大于n。
本实施例中,所述负载分担装置根据表1中的小于第二预设阈值的S′来确定m。其中,S′为中的一个值。m为与S′相匹配的N中的一个值。由于数量为n的多个目的端口对应的负载分担等级为可或劣,所以需要提高与数量为n的目的端口相匹配的承载多个流中的流的数量的均匀度。所以所述负载分担装置设定的第二预设阈值小于第一预设阈值。为了使所述多个目的端口承载的流的压力减小,所述负载分担装置确定的m大于n。
具体地,所述第二预设阈值设定为负载分担效果的等级为优的情况下所对应的数值范围的下限。如在上述举例中,所述负载分担装置将第二预设阈值设定为5%。本实施例中对所述负载分担装置设定的负载分担效果的等级对应的的数值范围不作限定,所以对所述负载分担装置设定的第二预设阈值大小也不作限定。
举例说明为:第二预设阈值设定为5%,从表1中确定小于第二阈值的S′=3.21%,与S′=3.21%相匹配的m=32,且m大于n。
S104,所述负载分担装置根据m确定承载多个流中的每个流的端口。
多个流中每个流将被多个目的端口中的一个端口承载。
本实施例中,所述负载分担装置根据m确定承载多个流中的每个流的端口时,承载每个流的端口号码为小于n的非负整数。
S105,所述负载分担装置通过承载所述多个流中的每个流的端口发送对应的流。
本实施例提供的负载分担的方法,通过负载分担装置确定多个目的端口的数量n。所述负载分担装置确定S大于第一预设阈值。所述负载分担装置确定m。所述负载分担装置根据m确定承载多个流中的每个流的端口。所述负载分担装置通过承载多个流中的每个流的端口发送对应的流。S可以用于标识根据第一负载分担算法n个端口承载多个流中的流的数量的均匀度。S′可以用于标识根据第二负载分担算法m个端口承载多个流中的流的数量的均匀度。S′小于S则表明根据第二负载分担算法m个端口承载的流的数量的均匀度优于根据第一负载分担算法n个端口承载的流的数量的均匀度。因此,根据m确定承载所述多个流中的每个流的端口有助于提高承载多个流中的流的数量的均匀度。
上述技术方案中,S101至S104的执行主体可以是处理器。所述处理器可以是所述负载分担装置的控制平面的部件。所述处理器可以是中央处理器(英文:centralprocessing unit,简称:CPU)。S105的执行主体可以是发送器。所述发送器可以是所述负载分担装置的转发平面的部件。所述发送器可以是光调制解调器。
进一步地,在S102中,负载分担装置确定S的具体方法为:
所述负载分担装置通过以n为查找关键字在表1中查找与n匹配的表项获得S,所述与n匹配的表项中包含S。S是所述负载分担装置根据所述第一负载分担算法以及确定的。
其中,所述第一负载分担算法被所述负载分担装置用于确定所述n个端口中承载所述多个流中的每个流的一个端口。其中,所述多个流中第t个流将被所述n个端口中端口号码为P的端口承载。P={f(ht)}%n。ht等于第t个流的特征信息。f(ht)表示ht的哈希函数。“%”表示求模运算。P为小于n的非负整数。
进一步地,第t个流的特征信息包括第t个流的源网际协议IP地址和目的IP地址。
进一步地,在S103中,负载分担装置确定m的具体方法为:
所述负载分担装置通过以S′为查找关键字在所述表1中查找与S′匹配的表项获得m。所述与S′匹配的表项中包含m。S′是所述负载分担装置根据第所述二负载分担算法以及确定的。其中,所述第二负载分担算法被所述负载分担装置用于确定所述m个端口中承载所述多个流中的每个流的一个端口。其中,所述多个流中所述第t个流将被所述m个端口中端口号码为Q的端口承载。Q={f(ht)}%m。ht等于所述第t个流的特征信息。f(ht)表示ht的哈希函数。“%”表示求模运算。Q为小于m的非负整数。
进一步地,S′包括k个数值,分别为S1′至Sk′,S1′至Sk′根据分别对应m1至mk,所述负载分担装置确定m等于m1至mk中最小的值。
进一步地,在步骤103中,所述负载分担装置根据m确定承载所述多个流中的每个流的端口具体方法为:
所述负载分担装置根据第三负载分担算法确定承载所述多个流中的每个流的端口。其中,所述多个流中每个流将被所述多个目的端口中端口号码为R的端口承载。在{f(ht)}%m小于n的场景中,R等于{f(ht)}%m。在{f(ht)}%m大于或者等于n的场景中,R等于{f(ht)}%n。“%”表示求模运算。R为小于n的非负整数。
举例说明为:所述负载分担装置确定所述多个目的端口的数量为n=27。确定m=32。负载分担装置根据m确定承载多个流中的第1个流的端口时,确定的{f(h1)}%32的值为26<n,则第1个流将被多个目的端口中端口号码为R={f(h1)}%32=26的端口承载。所述负载分担装置根据m确定承载多个流中的第6个流的端口时,确定的{f(h6)}%32的值为28>n,则第6个流将被多个目的端口中端口号码为R={f(h6)}%27=6的端口承载。
本实施例中,所述负载分担装置根据第三负载分担算法确定承载多个流中的每个流的端口。通过承载多个流中的每个流的端口发送对应的流,那么通过本负载分担方法确定的与数量为n的多个目的端口相匹配的S″=S′*(n/m)+S*((m-n)/m)。
其中,n/m表示根据第三负载分担算法确定n个端口中承载多个流中的每个流的一个端口对应的端口号码R={f(ht)}%m的流的个数占多个流的个数的比重。(m-n)/m表示根据第三负载分担算法确定n个端口中承载多个流中的每个流的一个端口对应的端口号码R={f(hashkeyt)}%n的流的个数占多个流的个数的比重。S″大于S′而小于S。
以所述负载分担装置确定的所述多个目的端口数量n=27,确定的m=32为例进行说明。与数量为n=27相匹配的S=23.24%,与m=32相匹配的S′=3.21%,那么通过本负载分担方法确定的与数量为n的多个目的端口相匹配的S″=3.21%*27/32+23.24%*5/32=6.33%。
图2为本发明负载分担的装置实施例一的结构示意图,本实施例中的负载分担装置可以实现本发明图1所示实施例一的技术方案,如图2所示,该负载分担装置可以包括:第一确定单元201、第二确定单元202、第三确定单元203、第四确定单元204和发送单元205。
第一确定单元201、第二确定单元202、第三确定单元203和第四确定单元204可以通过处理器实现。所述处理器可以是所述负载分担装置的控制平面的部件。所述处理器可以是CPU。发送单元205可以通过发送器实现。所述发送器可以是所述负载分担装置的转发平面的部件。所述发送器可以是光调制解调器。
其中,第一确定单元201,用于确定多个目的端口的数量n。所述多个目的端口是负载分担装置的物理端口。
第二确定单元202,用于确定S大于第一预设阈值。其中,Xi表示根据第一负载分担算法n个端口中第i个端口需要承载的多个流中的流的数量。表示所述多个流的数量与n的商。
第三确定单元203,用于确定m。S′小于第二预设阈值。所述第二预设阈值小于所述第一预设阈值。其中,Xj′表示根据第二负载分担算法m个端口中第j个端口需要承载的所述多个流中的流的数量。表示所述多个流的数量与m的商。m大于n。
第四确定单元204,用于根据m确定承载所述多个流中的每个流的端口。其中,所述多个流中每个流将被所述多个目的端口中的一个端口承载。
发送单元205,用于通过所述第四确定单元确定的承载所述多个流中的每个流的端口发送对应的流。
本实施例的设备,可以用于执行图1所示方法实施例一的技术方案,其实现原理和技术效果类似,此处不再赘述。
进一步地,所述第二确定单元202具体用于:通过以n为查找关键字在表中查找与n匹配的表项获得S。所述与n匹配的表项中包含S。S是所述负载分担装置根据所述第一负载分担算法以及确定的。其中,所述第一负载分担算法被所述负载分担装置用于确定所述n个端口中承载所述多个流中的每个流的一个端口。其中,所述多个流中第t个流将被所述n个端口中端口号码为P的端口承载。P={f(ht)}%n。ht等于所述第t个流的特征信息。f(ht)是ht的哈希函数。
进一步地,所述第三确定模块203,具体用于:通过以S′为查找关键字在所述表中查找与S′匹配的表项获得m。所述与S′匹配的表项中包含m。S′是所述负载分担装置根据所述第二负载分担算法以及确定的。其中,所述第二负载分担算法被所述负载分担装置用于确定所述m个端口中承载所述多个流中的每个流的一个端口。其中,所述多个流中所述第t个流将被所述m个端口中端口号码为Q的端口承载。Q={f(ht)}%m。ht等于所述第t个流的特征信息。f(ht)是ht的哈希函数。
进一步地,所述第四确定模块具体用于:根据第三负载分担算法确定承载所述多个流中的每个流的端口。其中,所述多个流中每个流将被所述多个目的端口中端口号码为R的端口承载。在{f(ht)}%m小于n的场景中,R等于{f(ht)}%m。在{f(ht)}%m大于或者等于n的场景中,R等于{f(ht)}%n。
进一步地,S′包括k个数值,分别为S1′至Sk′,S1′至Sk′根据分别对应m1至mk,所述第三确定单元203具体用于确定m等于m1至mk中最小的值。
进一步地,第t个流的特征信息包括第t个流的源网际协议IP地址和目的IP地址。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (6)

1.一种负载分担的方法,其特征在于,包括:
负载分担装置确定多个目的端口的数量n,所述多个目的端口是所述负载分担装置的物理端口;
所述负载分担装置确定S大于第一预设阈值,其中,Xi表示根据第一负载分担算法n个端口中第i个端口需要承载的多个流中的流的数量,表示所述多个流的数量与n的商;
所述负载分担装置确定m,S′小于第二预设阈值,所述第二预设阈值小于所述第一预设阈值,其中,Xj′表示根据第二负载分担算法m个端口中第j个端口需要承载的所述多个流中的流的数量,表示所述多个流的数量与m的商,m大于n;
所述负载分担装置根据m确定承载所述多个流中的每个流的端口,其中,所述多个流中每个流将被所述多个目的端口中的一个端口承载;
所述负载分担装置通过承载所述多个流中的每个流的端口发送对应的流;
其中,所述负载分担装置确定S大于第一预设阈值具体包括:
所述负载分担装置通过以n为查找关键字在表中查找与n匹配的表项获得S,所述与n匹配的表项中包含S,S是所述负载分担装置根据所述第一负载分担算法以及确定的,其中,所述第一负载分担算法被所述负载分担装置用于确定所述n个端口中承载所述多个流中的每个流的一个端口,其中,所述多个流中第t个流将被所述n个端口中端口号码为P的端口承载,P={f(ht)}%n,ht等于所述第t个流的特征信息,f(ht)是ht的哈希函数;
所述负载分担装置确定m具体包括:
所述负载分担装置通过以S′为查找关键字在所述表中查找与S′匹配的表项获得m,所述与S′匹配的表项中包含m,S′是所述负载分担装置根据所述第二负载分担算法以及确定的,其中,所述第二负载分担算法被所述负载分担装置用于确定所述m个端口中承载所述多个流中的每个流的一个端口,其中,所述多个流中所述第t个流将被所述m个端口中端口号码为Q的端口承载,Q={f(ht)}%m,ht等于所述第t个流的特征信息,f(ht)是ht的哈希函数;
所述负载分担装置根据m确定承载所述多个流中的每个流的端口具体包括:
所述负载分担装置根据第三负载分担算法确定承载所述多个流中的每个流的端口,其中,所述多个流中每个流将被所述多个目的端口中端口号码为R的端口承载,在{f(ht)}%m小于n的场景中,R等于{f(ht)}%m,在{f(ht)}%m大于或者等于n的场景中,R等于{f(ht)}%n。
2.根据权利要求1所述的方法,其特征在于,包括:S′包括k个数值,分别为S1′至Sk′,S1′至Sk′根据分别对应m1至mk,所述负载分担装置确定m具体包括:
m等于m1至mk中最小的值。
3.根据权利要求1或2所述的方法,其特征在于,
所述第t个流的特征信息包括所述第t个流的源网际协议IP地址和目的IP地址。
4.一种负载分担的装置,其特征在于,包括:
第一确定单元,用于确定多个目的端口的数量n,所述多个目的端口是所述负载分担装置的物理端口;
第二确定单元,用于确定S大于第一预设阈值,其中,Xi表示根据第一负载分担算法n个端口中第i个端口需要承载的多个流中的流的数量,表示所述多个流的数量与n的商;
第三确定单元,用于确定m,S′小于第二预设阈值,所述第二预设阈值小于所述第一预设阈值,其中,Xj′表示根据第二负载分担算法m个端口中第j个端口需要承载的所述多个流中的流的数量,表示所述多个流的数量与m的商,m大于n;
第四确定单元,用于根据m确定承载所述多个流中的每个流的端口,其中,所述多个流中每个流将被所述多个目的端口中的一个端口承载;
发送单元,用于通过所述第四确定单元确定的承载所述多个流中的每个流的端口发送对应的流;
其中,所述第二确定单元具体用于:通过以n为查找关键字在表中查找与n匹配的表项获得S,所述与n匹配的表项中包含S,S是所述负载分担装置根据所述第一负载分担算法以及确定的,其中,所述第一负载分担算法被所述负载分担装置用于确定所述n个端口中承载所述多个流中的每个流的一个端口,其中,所述多个流中第t个流将被所述n个端口中端口号码为P的端口承载,P={f(ht)}%n,ht等于所述第t个流的特征信息,f(ht)是ht的哈希函数;
所述第三确定单元具体用于:通过以S′为查找关键字在所述表中查找与S′匹配的表项获得m,所述与S′匹配的表项中包含m,S′是所述负载分担装置根据所述第二负载分担算法以及确定的,其中,所述第二负载分担算法被所述负载分担装置用于确定所述m个端口中承载所述多个流中的每个流的一个端口,其中,所述多个流中所述第t个流将被所述m个端口中端口号码为Q的端口承载,Q={f(ht)}%m,ht等于所述第t个流的特征信息,f(ht)是ht的哈希函数;
所述第四确定单元具体用于:根据第三负载分担算法确定承载所述多个流中的每个流的端口,其中,所述多个流中每个流将被所述多个目的端口中端口号码为R的端口承载,在{f(ht)}%m小于n的场景中,R等于{f(ht)}%m,在{f(ht)}%m大于或者等于n的场景中,R等于{f(ht)}%n。
5.根据权利要求4所述的装置,其特征在于,S′包括k个数值,分别为S1′至Sk′,S1′至Sk′根据分别对应m1至mk,所述第三确定单元具体用于确定m等于m1至mk中最小的值。
6.根据权利要求4或5所述的装置,其特征在于,
所述第t个流的特征信息包括所述第t个流的源网际协议IP地址和目的IP地址。
CN201410276982.7A 2014-06-19 2014-06-19 负载分担的方法和装置 Active CN105337887B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410276982.7A CN105337887B (zh) 2014-06-19 2014-06-19 负载分担的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410276982.7A CN105337887B (zh) 2014-06-19 2014-06-19 负载分担的方法和装置

Publications (2)

Publication Number Publication Date
CN105337887A CN105337887A (zh) 2016-02-17
CN105337887B true CN105337887B (zh) 2018-09-21

Family

ID=55288187

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410276982.7A Active CN105337887B (zh) 2014-06-19 2014-06-19 负载分担的方法和装置

Country Status (1)

Country Link
CN (1) CN105337887B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102447619A (zh) * 2011-11-10 2012-05-09 华为技术有限公司 选择负载分担方式的方法、装置和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7583588B2 (en) * 2004-11-30 2009-09-01 Broadcom Corporation System and method for maintaining a layer 2 modification buffer

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102447619A (zh) * 2011-11-10 2012-05-09 华为技术有限公司 选择负载分担方式的方法、装置和系统

Also Published As

Publication number Publication date
CN105337887A (zh) 2016-02-17

Similar Documents

Publication Publication Date Title
KR102284972B1 (ko) 데이터 처리 방법 및 디바이스
CN104348740B (zh) 数据包处理方法和系统
CN104954271B (zh) Sdn网络中的数据包处理方法和装置
CN108769111A (zh) 一种服务器连接方法、计算机可读存储介质及终端设备
CN106209506A (zh) 一种虚拟化深度包检测流量分析方法及系统
CN105264509A (zh) 融合网络中的自适应中断联合
US9977671B2 (en) Methods for multi-source configuration of mobile applications
CN104580202B (zh) 报文的匹配方法和装置
CN110046036A (zh) 一种操作请求分配方法、装置及设备
CN107547391A (zh) 一种报文传输方法和装置
US8953600B2 (en) Telemetry data routing
CN107229747A (zh) 一种基于流式处理框架的大规模数据处理装置及方法
US9270605B2 (en) Method and system of setting network traffic flow quality of service by modifying port numbers
CN102333039A (zh) 一种转发报文的方法、生成表项的方法及装置
CN106557704A (zh) 内容中心网络中的信息和数据框架
CN108460030A (zh) 一种基于改进的布隆过滤器的集合元素判断方法
CN104219159B (zh) 基于虚拟局域网的虚拟接口进行链路聚合方法和装置
CN105337887B (zh) 负载分担的方法和装置
CN106302374A (zh) 一种用于提高表项访问带宽和原子性操作的装置及方法
CN101854366A (zh) 一种对等网络流量识别的方法及装置
CN103955445B (zh) 一种数据处理方法、处理器及数据处理设备
Xiao et al. A proposal of survivable virtual network embedding algorithm
CN106502775B (zh) 一种分时调度dsp算法的方法和系统
CN109714273A (zh) 一种多核网络设备的报文处理方法及装置
CN104901947B (zh) 一种基于tcam连续数值匹配方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201103

Address after: 625, room 269, Connaught platinum Plaza, No. 518101, Qianjin Road, Xin'an street, Shenzhen, Guangdong, Baoan District

Patentee after: SHENZHEN SHANGGE INTELLECTUAL PROPERTY SERVICE Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right

Effective date of registration: 20201202

Address after: 213000 No. 11 Qingyang North Road, Tianning District, Changzhou, Jiangsu

Patentee after: Changzhou Hong quantity Electronic Technology Co.,Ltd.

Address before: 625, room 269, Connaught platinum Plaza, No. 518101, Qianjin Road, Xin'an street, Shenzhen, Guangdong, Baoan District

Patentee before: SHENZHEN SHANGGE INTELLECTUAL PROPERTY SERVICE Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220824

Address after: Tianning District Hehai road 213000 Jiangsu city of Changzhou province No. 9

Patentee after: Changzhou Tianning Communication Technology Industrial Park Co.,Ltd.

Address before: 213000 No. 11 Qingyang North Road, Tianning District, Changzhou City, Jiangsu Province

Patentee before: Changzhou Hong quantity Electronic Technology Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230106

Address after: Tianning District Hehai road 213000 Jiangsu city of Changzhou province No. 9

Patentee after: Changzhou Hengtang Technology Industry Co.,Ltd.

Address before: Tianning District Hehai road 213000 Jiangsu city of Changzhou province No. 9

Patentee before: Changzhou Tianning Communication Technology Industrial Park Co.,Ltd.

TR01 Transfer of patent right