本申请公开了一种负载分担方法及装置,其中方法包括:获取设定时间内接收到报文中TCP或UDP分片报文的数量值;根据所述数量值和预设的算法确定规则确定相应的负载分担算法。本申请通过获取设定时间内接收到报文中TCP或UDP分片报文的数量值,从而可以得知当前接收到的报文中是否存在会影响报文顺序的分片报文,并且当设定时间内报文中TCP或UDP分片报文的数量达到会影响报文顺序时,改变负载分担算法,从而可以实现对特殊报文流量的保序。
【技术实现步骤摘要】
【专利摘要】本申请公开了一种负载分担方法及装置,其中方法包括:获取设定时间内接收到报文中TCP或UDP分片报文的数量值;根据所述数量值和预设的算法确定规则确定相应的负载分担算法。本申请通过获取设定时间内接收到报文中TCP或UDP分片报文的数量值,从而可以得知当前接收到的报文中是否存在会影响报文顺序的分片报文,并且当设定时间内报文中TCP或UDP分片报文的数量达到会影响报文顺序时,改变负载分担算法,从而可以实现对特殊报文流量的保序。【专利说明】一种负载分担方法及装置
本专利技术属于通讯领域,尤其涉及一种负载分担方法及装置。
技术介绍
负载分担,又称为负载均衡,是一种将负载进行平衡后分摊到多个操作单元的技术,通过实时地分析数据包,掌握网络中的数据流量状况,把任务合理均衡地分配到多个操作单元,其目的为通过多个操作单元的共同协作,来提高业务处理能力。负载分担建立在现有网络结构之上,具有廉价和透明的特性,可以有效地扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载分担中应用比较广泛的方式包括逐流负载分担,逐流负载分担是指根据报文的MAC地址或IP地址等字段区别数据流,使属于同一数据流的报文从同一链路上通过。数据流的区分主要是基于报文元素的不同,具体的,IP报文主要可以包括IP二元组和IP五元组两种;其中,IP 二元组主要针对非UDP报文和非TCP报文,该类IP报文通过源IP (SIP)和目的IP (DIP)来进行数据流的区分;IP五元组主要针对UDP报文和TCP报文,该类IP报文通过源IP (SIP)、目的IP(DIP)、协议号(Protocol)、源端口号(SPort)和目的端口号(DPort)来进行数据流的区分。现有的逐流负载分担方法中,一般都采用固定的负载分担算法进行负载分担运算,专利技术人经过研究发现,现有技术中的技术方案,在对包括了分片的UDP或TCP报文和不分片的UDP或TCP报文的混合数据流进行负载分担时,会可能出现报文的乱序,从而影响了负载分担的处理效能。
技术实现思路
有鉴于此,本申请提供了负载分担方法和装置,以实现提高负载分担的处理效能的目的。本申请是这样实现的:一方面,一种负载分担方法,包括:获取设定时间内接收到数据流中TCP或UDP分片报文的数量值;根据所述数量值和预设的算法确定规则确定相应的负载分担算法。在第一方面的第一种可能的实现方式中,所述根据所述数量值和预设的算法确定规则确定相应的负载分担算法,包括:根据所述数量值生成对应的算法选择参数值,根据所述算法选择参数值确定相应的负载分担算法。在第一方面的第二种可能的实现方式中,所述算法选择参数值存储于路由转发表项中。在第一方面的第三种可能的实现方式中,所述根据所述数量值和预设的算法确定规则确定相应的负载分担算法,包括:当所述数量值达到预设值时生成算法选择参数,当所述数量值为零时删除已有的算法选择参数;或,当所述数量值达为零时生成算法选择参数,当所述数量值为预设值时删除已有的算法选择参数;根据所述算法选择参数的有无确定相应的负载分担算法。在第一方面的第四种可能的实现方式中,所述算法选择参数存储于路由转发表项中。在第一方面的第五种可能的实现方式中,结合第一方面的第一至第四种可能的实现方式中的任意一种,所述负载分担算法包括:IP五元组HASH算法和IP 二元组HASH算法。在第一方面的第六种可能的实现方式中,所述算法确定规则包括:所述数量值超过预定值时,确定负载分担算法为IP 二元组HASH算法。在第一方面的第七种可能的实现方式中,所述算法确定规则包括:所述数量值为零时,确定负载分担算法为IP五元组HASH算法。第二方面,本专利技术实施例还提供了一种负载分担装置,包括:分片报文统计单元,用于获取设定时间内接收到数据流中TCP或UDP分片报文的数量值;算法确定单元,用于根据所述数量值和预设的算法确定规则确定相应的负载分担算法。在第二方面的第一种可能的实现方式中,所述算法确定单元包括:参数生成模块,用于根据所述数量值生成对应的算法选择参数值;算法对应模块,用于根据所述算法选择参数值确定相应的负载分担算法。在第二方面的第二种可能的实现方式中,所述算法选择参数值存储于路由转发表项中。在第二方面的第三种可能的实现方式中,所述算法确定单元包括:选择参数控制模块,当所述数量值达到预设值时生成算法选择参数,当所述数量值为零时删除已有的算法选择参数;或,当所述数量值达为零时生成算法选择参数,当所述数量值为预设值时删除已有的算法选择参数;算法对应模块,用于根据所述算法选择参数的有无确定相应的负载分担算法。在第二方面的第四种可能的实现方式中,所述算法选择参数存储于路由转发表项中。在第二方面的第五种可能的实现方式中,结合第二方面的第一至第四种可能的实现方式中的任意一种,所述负载分担算法包括:IP五元组HASH算法和IP 二元组HASH算法。在第二方面的第六种可能的实现方式中,所述算法确定规则包括:所述数量值超过预定值时,确定负载分担算法为IP 二元组HASH算法。在第二方面的第七种可能的实现方式中,所述算法确定规则包括:所述数量值为零时,确定负载分担算法为IP五元组HASH算法。从上述的技术方案可以看出,本申请通过获取设定时间内接收到数据流的报文中TCP或UDP分片报文的数量值,从而可以得知当前接收到的数据流中是否存在会影响报文顺序的分片报文,并且当设定时间内数据流中TCP或UDP分片报文的数量达到会影响报文顺序时,确定适用的负载分担算法,从而可以实现对包括了混合报文的数据流的保序,进而提高了负载分担的处理效能。【专利附图】【附图说明】为了更清楚地说明本专利技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为现有技术中负载分担方法的原理示意图;图2为本申请中所述负载分担方法实施例的流程示意图;图3为本申请中所述负载分担方法实施例的原理示意图;图4为本申请中所述负载分担装置实施例的结构示意图;图5是本申请中所述负载分担装置实施例的硬件构成示意图。【具体实施方式】下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。现有技术中的负载分担方法,在对包括了分片的UDP或TCP报文和不分片的UDP或TCP报文的混合报文数据流进行负载分担时,会可能产生报文乱序;专利技术人通过研究发现,该缺陷产生的原因在于,如图1所示,现有技术中的负载分担方法针对于不分片的UDP报文和TCP报文会使用IP五元组HASH算法,但对分片的UDP报文则会使用二元组HASH算法,此时分片报文和不分片的报文会通过不同的路径;具体的,以被确定为混合数据流的数据流中的报文依次分别包括了报文1、报文2、报文3为例;其中报文I和报文3为不分片报文,报文2为分片报文,经分片后包括报文2本文档来自技高网...
【技术保护点】
一种负载分担方法,其特征在于,包括:获取设定时间内接收到数据流中传输控制协议TCP或用户数据报协议UDP分片报文的数量值;根据所述数量值和预设的算法确定规则确定相应的负载分担算法。
【技术特征摘要】
【专利技术属性】
技术研发人员:周冲,王素彬,唐湜,甘立国,徐芳瑞,杜小健,
申请(专利权)人:北京华为数字技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。