网络流量的处理方法、装置及电子设备与流程

allin2025-12-02  23


本技术涉及分布式,具体而言,涉及一种网络流量的处理方法、装置及电子设备。


背景技术:

1、负载均衡设备将多个真实服务器(real server)的ip地址映射为一个虚拟服务器(virtual server)的ip地址。当客户端的访问到达负载均衡设备后,virtual server将会根据配置选择服务池(server pool),server pool根据均衡算法调度real server,转发用户的访问请求至适合的真实服务器上。负载均衡设备的重要功能之一是会话保持,可根据源ip、目的ip(internet protocol,互联网协议)、统一资源定位器(uniform resourcelocator,以下简称为url)、小型文本文件(cookie)等不同的保持算法,将客户端请求转发至后端相同的服务器进行处理。

2、为实现会话保持功能,需要在负载均衡设备上保存会话保持表项。对于集中式设备,会话保持表项集中在同一个cpu上创建和查询,而分布式设备的流量被分散到不同的cpu处理,会话保持表项的创建和查询也被分散在不同的cpu。若同一客户端的流量先后被分配到不同的cpu处理,会导致后发起的流量在cpu本地查询时无法查到之前在其他cpu创建的会话保持表项,使得会话保持失败,导致客户端和服务器之间会话中断的问题。

3、针对相关技术中客户端与服务器通信过程中,由于分布式负载均衡设备中业务处理器可能将同一客户端的流量转发至不同服务器,导致会话中断的问题,目前尚未提出有效的解决方案。


技术实现思路

1、本技术的主要目的在于提供一种网络流量的处理方法、装置及电子设备。

2、为了实现上述目的,根据本技术的一个方面,提供了一种网络流量的处理方法,应用于分布式设备,所述分布式设备具有多个业务处理器,且所述分布式设备配置有多个虚拟服务器,该方法包括:依据虚拟服务器的配置信息和预先构建的映射关系表确定分流表,其中,在所述映射关系表中,属于同一个虚拟服务器组的虚拟服务器映射到同一个业务处理器;在接收到客户端发送的访问第一虚拟服务器的第一网络流量的情况下,根据所述分流表将所述第一网络流量分配至目标业务处理器,以供所述目标业务处理器将所述第一网络流量与第二网络流量进行会话保持;其中,所述第一虚拟服务器所属的虚拟服务器组与所述目标业务处理器具有映射关系;所述第二网络流量为所述客户端发送的访问所述第一虚拟服务器的网络流量;或者,所述第二网络流量为所述客户端发送的访问第二虚拟服务器的网络流量,且所述第一虚拟服务器和所述第二虚拟服务器属于同一个虚拟服务器组。

3、进一步地,依据虚拟服务器的配置信息和预先构建的映射关系表确定分流表,包括:依据多个虚拟服务器的配置信息对所述多个虚拟服务器进行分组,得到n组虚拟服务器,其中,n是正整数;在所述n组虚拟服务器中每组虚拟服务器和业务处理器之间构建映射关系表;依据所述虚拟服务器的配置信息和所述映射关系表,生成所述分流表。

4、进一步地,所述配置信息包括:所述虚拟服务器和服务池之间的关联关系、所述虚拟服务器的ip信息、所述虚拟服务器的端口信息和所述虚拟服务器的虚拟系统信息,依据多个虚拟服务器的配置信息对所述多个虚拟服务器进行分组,得到n组虚拟服务器,包括:依据所述虚拟服务器和服务池之间的关联关系对所述虚拟服务器进行分组,得到多个第一分组;依据所述虚拟服务器的虚拟系统信息、所述虚拟服务器的ip信息和所述虚拟服务器的端口信息对所述虚拟服务器进行分组,得到多个第二分组;对所述多个第一分组和所述多个第二分组中存在交集的分组进行合并,得到所述n组虚拟服务器。

5、进一步地,依据所述虚拟服务器和服务池之间的关联关系对所述虚拟服务器进行分组,得到多个第一分组,包括:依据所述关联关系确定所述虚拟服务器和所述服务池之间的调度关系;依据所述调度关系确定与多个所述虚拟服务器存在调度关系的第一服务池;针对每个所述第一服务池,将与所述第一服务池存在调度关系的虚拟服务器分为一组,将当前未分组的虚拟服务器各自分为一组,得到所述多个第一分组。

6、进一步地,依据所述虚拟服务器的虚拟系统信息、所述虚拟服务器的ip信息和所述虚拟服务器的端口信息对所述虚拟服务器进行分组,得到多个第二分组,包括:针对每个所述虚拟服务器,确定所述虚拟服务器的虚拟系统信息、所述虚拟服务器的ip信息和所述虚拟服务器的端口信息;将所述系统信息、所述ip信息和所述端口信息相同的虚拟服务器分为一组,将当前未分组的虚拟服务器各自分为一组,得到所述多个第二分组。

7、进一步地,在所述n组虚拟服务器中每组虚拟服务器和业务处理器之间构建映射关系,包括:遍历所述n组虚拟服务器中每组虚拟服务器;在每组虚拟服务器与当前负载最少数量的虚拟服务器的业务处理器之间构建映射关系表。

8、进一步地,在依据所述虚拟服务器的配置信息和所述映射关系表,生成所述分流表之后,所述方法还包括:在所述映射关系表发生更新的情况下,更新所述分流表,并对映射关系发生变化的业务处理器中的会话保持表项进行迁移;其中,触发所述映射关系发生更新的条件包括以下至少之一:任一所述虚拟服务器的配置信息发生更新时产生所述虚拟服务器的重新分组;任一所述业务处理器的状态发生变更,其中,所述业务处理器的状态包括在线状态和离线状态。

9、进一步地,对映射关系发生变化的业务处理器中的会话保持表项进行迁移,包括:针对任一个虚拟服务器,在与所述虚拟服务器具有映射关系的业务处理器由第一业务处理器变更为第二业务处理器的情况下,将所述第一业务处理器中的会话保持表项迁移到第二业务处理器中。

10、为了实现上述目的,根据本技术的另一方面,提供了一种网络流量的处理装置,应用于分布式设备,所述分布式设备具有多个业务处理器,且所述分布式设备配置有多个虚拟服务器,该装置包括:确定单元,用于依据虚拟服务器的配置信息和预先构建的映射关系表确定分流表,其中,在所述映射关系表中,属于同一个虚拟服务器组的虚拟服务器映射到同一个业务处理器;分配单元,用于在接收到客户端发送的访问第一虚拟服务器的第一网络流量的情况下,根据所述分流表将所述第一网络流量分配至目标业务处理器,以供所述目标业务处理器将所述第一网络流量与第二网络流量进行会话保持;其中,所述第一虚拟服务器所属的虚拟服务器组与所述目标业务处理器具有映射关系;所述第二网络流量为所述客户端发送的访问所述第一虚拟服务器的网络流量;或者,所述第二网络流量为所述客户端发送的访问第二虚拟服务器的网络流量,且所述第一虚拟服务器和所述第二虚拟服务器属于同一个虚拟服务器组。

11、进一步地,所述确定单元包括:分组子单元,用于依据多个虚拟服务器的配置信息对所述多个虚拟服务器进行分组,得到n组虚拟服务器,其中,n是正整数;构建子单元,用于在所述n组虚拟服务器中每组虚拟服务器和业务处理器之间构建映射关系表;生成子单元,用于依据所述虚拟服务器的配置信息和所述映射关系表,生成所述分流表。

12、进一步地,所述配置信息包括:所述虚拟服务器和服务池之间的关联关系、所述虚拟服务器的ip信息、所述虚拟服务器的端口信息和所述虚拟服务器的虚拟系统信息,所述分组子单元包括:第一分组模块,用于依据所述虚拟服务器和服务池之间的关联关系对所述虚拟服务器进行分组,得到多个第一分组;第二分组模块,用于依据所述虚拟服务器的虚拟系统信息、所述虚拟服务器的ip信息和所述虚拟服务器的端口信息对所述虚拟服务器进行分组,得到多个第二分组;合并模块,用于对所述多个第一分组和所述多个第二分组中存在交集的分组进行合并,得到所述n组虚拟服务器。

13、进一步地,所述第一分组模块包括:第一确定子模块,用于依据所述关联关系确定所述虚拟服务器和所述服务池之间的调度关系;第二确定子模块,用于依据所述调度关系确定与多个所述虚拟服务器存在调度关系的第一服务池;第一分组子模块,用于针对每个所述第一服务池,将与所述第一服务池存在调度关系的虚拟服务器分为一组,将当前未分组的虚拟服务器各自分为一组,得到所述多个第一分组。

14、进一步地,所述第二分组模块包括:第三确定子模块,用于针对每个所述虚拟服务器,确定所述虚拟服务器的虚拟系统信息、所述虚拟服务器的ip信息和所述虚拟服务器的端口信息;第二分组子模块,用于将所述系统信息、所述ip信息和所述端口信息相同的虚拟服务器分为一组,将当前未分组的虚拟服务器各自分为一组,得到所述多个第二分组。

15、进一步地,所述构建子单元包括:遍历模块,用于遍历所述n组虚拟服务器中每组虚拟服务器;构建模块,用于在每组虚拟服务器与当前负载最少数量的虚拟服务器的业务处理器之间构建映射关系表。

16、进一步地,所述确定单元还包括:更新子单元,用于在依据所述虚拟服务器的配置信息和所述映射关系表,生成所述分流表之后,在所述映射关系表发生更新的情况下,更新所述分流表,并对映射关系发生变化的业务处理器中的会话保持表项进行迁移;其中,触发所述映射关系发生更新的条件包括以下至少之一:任一所述虚拟服务器的配置信息发生更新时产生所述虚拟服务器的重新分组;任一所述业务处理器的状态发生变更,其中,所述业务处理器的状态包括在线状态和离线状态。

17、进一步地,所述更新子单元包括:迁移模块,用于针对任一个虚拟服务器,在与所述虚拟服务器具有映射关系的业务处理器由第一业务处理器变更为第二业务处理器的情况下,将所述第一业务处理器中的会话保持表项迁移到第二业务处理器中。

18、为了实现上述目的,根据本技术的一个方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述网络流量的处理方法,所述计算机程序被处理器执行时实现本技术各个实施例中所述网络流量的处理方法的步骤。

19、为了实现上述目的,根据本技术的一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机指令,其中,在所述计算机指令被处理器执行时实现上述任意一项所述网络流量的处理方法。

20、为了实现上述目的,根据本技术的一个方面,提供了一种电子设备,包括一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述任意一项所述网络流量的处理方法。

21、通过本技术,采用以下步骤:依据虚拟服务器的配置信息和预先构建的映射关系表确定分流表,其中,在所述映射关系表中,属于同一个虚拟服务器组的虚拟服务器映射到同一个业务处理器;在接收到客户端发送的访问第一虚拟服务器的第一网络流量的情况下,根据所述分流表将所述第一网络流量分配至目标业务处理器,以供所述目标业务处理器将所述第一网络流量与第二网络流量进行会话保持;其中,所述第一虚拟服务器所属的虚拟服务器组与所述目标业务处理器具有映射关系;所述第二网络流量为所述客户端发送的访问所述第一虚拟服务器的网络流量;或者,所述第二网络流量为所述客户端发送的访问第二虚拟服务器的网络流量,且所述第一虚拟服务器和所述第二虚拟服务器属于同一个虚拟服务器组。通过对当前工作的虚拟服务器分组,能够在分组后的虚拟服务器与不同的业务处理器之间建立映射关系,从而能够在接收到网络流量时能够根据映射关系将同一客户端发起的网络流量转发至对应的业务处理器中,进而实现了在客户端和服务器之间进行会话保持的效果,有利于提高服务器处理网络流量的效率和准确率。


技术特征:

1.一种网络流量的处理方法,其特征在于,应用于分布式设备,所述分布式设备具有多个业务处理器,且所述分布式设备配置有多个虚拟服务器,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,依据虚拟服务器的配置信息和预先构建的映射关系表确定分流表,包括:

3.根据权利要求2所述的方法,其特征在于,所述配置信息包括:所述虚拟服务器和服务池之间的关联关系、所述虚拟服务器的ip信息、所述虚拟服务器的端口信息和所述虚拟服务器的虚拟系统信息,依据多个虚拟服务器的配置信息对所述多个虚拟服务器进行分组,得到n组虚拟服务器,包括:

4.根据权利要求3所述的方法,其特征在于,依据所述虚拟服务器和服务池之间的关联关系对所述虚拟服务器进行分组,得到多个第一分组,包括:

5.根据权利要求3所述的方法,其特征在于,依据所述虚拟服务器的虚拟系统信息、所述虚拟服务器的ip信息和所述虚拟服务器的端口信息对所述虚拟服务器进行分组,得到多个第二分组,包括:

6.根据权利要求2所述的方法,其特征在于,在所述n组虚拟服务器中每组虚拟服务器和业务处理器之间构建映射关系,包括:

7.根据权利要求1至6任一项所述的方法,其特征在于,在依据所述虚拟服务器的配置信息和所述映射关系表,生成所述分流表之后,所述方法还包括:

8.根据权利要求7所述的方法,其特征在于,对映射关系发生变化的业务处理器中的会话保持表项进行迁移,包括:

9.一种网络流量的处理装置,其特征在于,包括:

10.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至8中任意一项所述的网络流量的处理方法。


技术总结
本申请公开了一种网络流量的处理方法、装置及电子设备,该方法应用于分布式技术领域,该方法包括:依据虚拟服务器的配置信息和预先构建的映射关系表确定分流表;在接收到客户端发送的访问第一虚拟服务器的第一网络流量的情况下,根据分流表将第一网络流量分配至目标业务处理器,以供目标业务处理器将第一网络流量与第二网络流量进行会话保持。通过本申请,解决了相关技术中客户端与服务器通信过程中,由于分布式负载均衡设备中业务处理器可能将同一客户端的流量转发至不同服务器,导致会话中断的问题。

技术研发人员:范程,江雪峰,张作涛,赵健
受保护的技术使用者:山石网科通信技术股份有限公司
技术研发日:
技术公布日:2024/10/31
转载请注明原文地址: https://www.8miu.com/read-25037.html

最新回复(0)