一种报文发送方法及装置制造方法及图纸

技术编号:21438270 阅读:17 留言:0更新日期:2019-06-22 13:52
本申请实施例提供了一种报文发送方法及装置,应用于LB设备,包括:确定服务器集群中各个服务器的权重;按照各个服务器的权重,为各个服务器分配缓冲队列,各个服务器对应的缓冲队列的长度的比值,与各个服务器的权重的比值相同;基于各个服务器的权重,分别从各个服务器对应的缓冲队列中获取相应数量个报文,并发送给各个服务器。应用本申请实施例提供的技术方案,减少了丢失的报文,提高了服务器集群的承载能力。

【技术实现步骤摘要】
一种报文发送方法及装置
本申请涉及计算机
,特别是涉及一种报文发送方法及装置。
技术介绍
随着互联网技术的迅速发展,访问互联网的用户的数量以及用户单次访问流量急剧增加。为适应访问用户数量的增加以及用户单次访问流量的增加,服务器负载均衡技术应运而生。服务器负载均衡技术中,由多台具有同等服务功能的服务器组成服务器集群,通过负载均衡(LoadBalance,LB)设备对外提供相同的服务,从而提高服务承载能力。基于服务器负载均衡技术发送报文时,LB设备接收目的地址为服务器集群的虚地址的报文,根据预设的调度算法,从服务器集群中选择一台服务器,将报文的目的地址转换为所选择的服务器的地址,将转换地址后的报文发送给所选择的服务器。采用上述方式实现服务器负载均衡时,调度算法均是预先设置的。这很可能导致服务器集群中多台服务器间的实际负载不均衡,出现由于服务器负载过重,导致报文丢失的问题,无法使服务器集群的承载能力发挥到最优。
技术实现思路
本申请实施例的目的在于提供一种报文发送方法及装置,以减少丢失的报文,提高服务器集群的承载能力。具体技术方案如下:在第一方面,本申请实施例提供了一种报文发送方法,应用于LB设备,所述方法包括:确定服务器集群中各个服务器的权重;按照各个服务器的权重,为各个服务器分配缓冲队列,各个服务器对应的缓冲队列的长度的比值,与各个服务器的权重的比值相同;基于各个服务器的权重,分别从各个服务器对应的缓冲队列中获取相应数量个报文,并发送给各个服务器。在第二方面,本申请实施例提供了一种报文发送装置,应用于LB设备,所述装置包括:确定单元,用于确定服务器集群中各个服务器的权重;分配单元,用于按照各个服务器的权重,为各个服务器分配缓冲队列,各个服务器对应的缓冲队列的长度的比值,与各个服务器的权重的比值相同;发送单元,用于基于各个服务器的权重,分别从各个服务器对应的缓冲队列中获取相应数量个报文,并发送给各个服务器。在第三方面,本申请实施例提供了一种LB设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述报文发送方法的任一步骤。在第四方面,本申请实施例提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现上述报文发送方法的任一步骤。本申请实施例提供的技术方案中,LB设备按照各个服务器的权重,为服务器集群中各个服务器分配缓冲队列。由缓冲队列缓存向该缓冲队列对应的服务器发送的报文,这在一定程度上缓解了服务器集群中服务器的压力,减少了由于服务器负载过重所丢失的报文,提高了服务器集群的承载能力。当然,实施本申请的任一产品或方法必不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的网络架构的一种示意图;图2为本申请实施例提供的报文发送方法的第一种流程示意图;图3为本申请实施例提供的报文发送方法的第二种流程示意图;图4为本申请实施例提供的报文发送方法的第三种流程示意图;图5为本申请实施例提供的报文发送装置的一种结构示意图;图6为本申请实施例提供的LB设备的一种结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。为便于理解,下面对本申请实施例中出现的词语进行解释。服务器集群:包括提供相同服务的多台服务器。加权轮询算法:按照服务器集群中各个服务器的权重,向各个服务器发送报文。例如,服务器集群包括服务器a、b和c。服务器a的权重为1,服务器b的权重为2,服务器c的权重为3。LB设备向服务器集群发送的报文时,每发送6个报文中,1个报文发送给服务器a,2个报文发送给服务器b,3个报文发送给服务器c。目前,如图1所示的网络架构,包括用户设备100,LB设备101,服务器102-104。服务器102-104构成服务器集群,该服务器集群对应的虚网络协议(InternetProtocol,IP)地址为VIP1。LB设备为实现负载均衡的电子设备。LB设备可以位于一台独立的物理机上,也可以集成在服务器集群中的一台服务器上,本申请实施例对LB设备的形式不进行限定。基于图1所示的网络架构,LB设备101接收用户设备100发送的报文1。若报文1的目的IP地址为VIP1,则LB设备101根据预设的调度算法,从服务器集群中选择一台服务器,如选择了服务器102,将报文1的目的IP地址VIP1转换为服务器102的IP地址,将转换地址后的报文1发送给服务器102。服务器的负载受报文数量,单次访问流量等很多因素的影响。采用上述方式实现服务器负载均衡时,调度算法均是预先设置的。这很可能导致服务器集群中多台服务器间的实际负载不均衡,出现由于服务器负载过重,导致报文丢失的问题,无法使服务器集群的承载能力发挥到最优。为了减少丢失的报文,提高服务器集群的承载能力,本申请实施例提供了一种应用于LB设备的报文发送方法。该方法中,LB设备按照各个服务器的权重,为服务器集群中各个服务器分配缓冲队列。由缓冲队列缓存向该缓冲队列对应的服务器发送的报文,这在一定程度上缓解了服务器集群中服务器的压力,减少了由于服务器负载过重所丢失的报文,提高了服务器集群的承载能力。下面通过具体实施例,对本申请进行详细说明。参考图2,图2为本申请实施例提供的报文发送方法的第一种流程示意图。该方法应用于LB设备,如图1所示的LB设备101。该报文发送方法包括如下步骤。步骤201,确定服务器集群中各个服务器的权重。一个实施例中,LB设备中预先存储了为服务器集群中各个服务器的权重。LB设备可定时获取预先存储的各个服务器的权重。另一个实施例中,LB设备可以基于预设的规则(如,周期性的)获取到服务器集群中各服务器的负载率。LB设备可按照服务器集群中各个服务器的负载率,动态调整各个服务器的权重,保证负载率大的服务器,服务器的权重减小,负载率小的服务器,服务器的权重增大。这样,在后续,LB设备依据各个服务器的权重,按照加权轮询算法,将用户设备发送的报文发送给各个服务器时,获取各个服务器调整后的权重。基于调整后的权重将用户设备发送的报文发送给各个服务器,可保证了负载重的服务器,处理的报文减少,负载轻的服务器,处理的报文增多,实现服务器集群中各个服务器负载的动态平衡,减少由于服务器负载过重所丢失的报文,提高服务器集群的承载能力。步骤202,按照各个服务器的权重,为各个服务器分配缓冲队列,各个服务器对应的缓冲队列的长度的比值,与各个服务器的权重的比值相同。其中,缓冲队列用于缓冲向对应的服务器发送的报文。缓冲队列的长度可以为:缓冲队列中可缓存的报文的个数。例如,服务器集群本文档来自技高网...

【技术保护点】
1.一种报文发送方法,其特征在于,应用于负载均衡LB设备,所述方法包括:确定服务器集群中各个服务器的权重;按照各个服务器的权重,为各个服务器分配缓冲队列,各个服务器对应的缓冲队列的长度的比值,与各个服务器的权重的比值相同;基于各个服务器的权重,分别从各个服务器对应的缓冲队列中获取相应数量个报文,并发送给各个服务器。

【技术特征摘要】
1.一种报文发送方法,其特征在于,应用于负载均衡LB设备,所述方法包括:确定服务器集群中各个服务器的权重;按照各个服务器的权重,为各个服务器分配缓冲队列,各个服务器对应的缓冲队列的长度的比值,与各个服务器的权重的比值相同;基于各个服务器的权重,分别从各个服务器对应的缓冲队列中获取相应数量个报文,并发送给各个服务器。2.根据权利要求1所述的方法,其特征在于,所述确定服务器集群中各个服务器的权重的步骤,包括:获取服务器集群中各个服务器的资源利用率;根据各个服务器的资源利用率,确定各个服务器的负载率;检测所述服务器集群中是否存在目标服务器,所述目标服务器为所述服务器集群中负载率超过第一负载率阈值的持续时长达到第一时长的服务器,或所述目标服务器为所述服务器集群中负载率低于所述第二负载率阈值的持续时长达到第二时长的服务器;若存在,则根据各个服务器的负载率,调整各个服务器的权重。3.根据权利要求2所述的方法,其特征在于,所述根据各个服务器的负载率,调整各个服务器的权重的步骤,包括:计算所述服务器集群中服务器的负载率的均值;利用以下公式,调整各个服务器的权重:Wi'=Wi*(Ave_F/Fi);其中,i表示所述服务器集群中的第i个服务器,Wi'表示所述第i个服务器调整后的权重,Wi表示所述第i个服务器调整前的权重,Ave_F表示所述服务器集群中服务器的负载率的均值,Fi表示所述第i个服务器的负载率。4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:判断所述服务器集群中服务器的负载率的均值是否大于或等于第一预设均值阈值,并判断所述服务器集群中服务器的负载率的均值是否小于第二预设均值阈值;所述第一预设均值阈值大于等于所述第二预设均值阈值;如果大于或等于所述第一预设均值阈值,则将所述服务器集群中所有服务器对应的缓冲队列的总长度扩大预设倍数;如果小于所述第二预设均值阈值,则将所述服务器集群中所有服务器对应的缓冲队列的总长度缩小预设比例值;基于当前所述服务器集群中所有服务器对应的缓冲队列的总长度,以及各个服务器的权重,为各个服务器分配缓冲队列。5.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:若确定所述服务器集群中服务器的负载率的均值大于或等于第一预设均值阈值,则按照第一速率向各个服务器发送报文;若确定所述服务器集群中服务器的负载率的均值小于第二预设均值阈值,则按照第二速率向各个服务器发送报文;其中,所述第一预设均值阈值大于等于所述第二预设均值阈值,所述第一速率小于所述第二速率。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:当接收到用户设备发送的报文时,计算各个服务器对应的缓冲队列中空闲单元数与缓冲队列的长度的比值,得到各个服务器对应的缓冲队列的空置比;将接收...

【专利技术属性】
技术研发人员:岳炳词
申请(专利权)人:新华三信息安全技术有限公司
类型:发明
国别省市:安徽,34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1