一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于可编程ASIC芯片的负载均衡的流量卸载方法及装置与流程

2021-10-24 08:45:00 来源:中国专利 TAG:可编程 卸载 装置 芯片 流量

一种基于可编程asic芯片的负载均衡的流量卸载方法及装置
技术领域
1.本发明涉及数据中心的网络技术领域,尤其涉及一种基于可编程asic芯片的负载均衡的流量卸载方法及装置。


背景技术:

2.目前业内所谓四层负载均衡(load balance),指的是通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。以常见的tcp(transmission control protocol,传输控制协议)的环境为例,负载均衡设备在接收到第一个来自客户端的syn(synchronize sequence numbers,同步序列编号)请求时,即通过上述方式选择一个最佳的服务器,并对报文中目标ip(internet protocol,网际互连协议)地址进行修改(改为所选择的服务器ip),之后直接转发给该服务器。tcp的连接建立,即三次握手是客户端和服务器直接建立的,负载均衡设备只是起到一个类似路由器的转发动作。总的来说,负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
3.目前主要采用的软件负载均衡的优点是,基于特定环境、配置简单、使用灵活、成本低廉。但随着数据中心的发展,越来越多的场景需要采用硬件负载均衡来应对大量数据并发处理。但这其中,专用负载均衡由专门的设备完成专门的任务,硬件成本比较高。尤其是目前四层负载均衡器的卸载方案,面临的硬件资源sram(static random

access memory,静态随机存取存储器)不够的问题,但若额外增加硬件设备来扩充资源,则有存在成本飙升的问题。


技术实现要素:

4.本发明的实施例提供一种基于可编程asic芯片的负载均衡的流量卸载方法及装置,能够在保证网络的高带宽处理性能的同时,不对现有的业务产生影响,并节约实现成本。
5.为达到上述目的,本发明的实施例采用如下技术方案:
6.第一方面,本发明的实施例提供的基于可编程asic芯片的负载均衡的流量卸载方法,包括:
7.s1、服务器接收到客户端发送的建链报文后,运行调度算法并选择服务器建立链接,其中,在leaf层的网络设备上,运行四层负载均衡的流量卸载。
8.s2、建链成功后,对数据流量进行分类得到老鼠流和大象流。
9.s3、将分类得到的老鼠流和大象流,分别选择相应的流表并进行选路转发。
10.第二方面,本发明的实施例提供的基于可编程asic芯片的负载均衡的流量卸载装置,包括:
11.在所述可编程asic芯片上运行有业务识别模块、鼠象流识别模块、内部转发模块、
封装模块和外部转发模块。
12.所述业务识别模块,用于接收到客户端发送的建链报文后,运行调度算法并选择服务器建立链接,其中,在leaf层的网络设备上,运行四层负载均衡的流量卸载。
13.所述鼠象流识别模块,用于在所述业务识别模块建链成功后,对数据流量进行分类得到老鼠流和大象流。
14.所述内部转发模块,用于将分类得到的大象流,选择相应的流表并进行选路转发。
15.所述外部转发模块,用于将分类得到的老鼠流,分别选择相应的流表并进行选路转发。
16.所述封装模块,用于在所述内部转发模块和所述外部转发模块进行报文转发前,修改报文最终发往服务器的实际ip。
17.本发明实施例提供的基于可编程asic芯片的负载均衡的流量卸载方法及装置,可以在不额外增加硬件成本的基础上,在现有的网络设备上可以实现负载均衡的卸载。相比于原先的软件实现有更高的吞吐量和处理性能,相比于专用硬件负载均衡器又可以节省网络成本。用户可以根据当前网络设备的处理能力以及网络流量进行分析,选择合适的门限值,进行流表的分类的处理,尽最大的能力保证网络的高带宽处理性能,又能不对现有的业务产生影响。
附图说明
18.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
19.图1为本发明实施例提供的系统架构示意图;
20.图2为本发明实施例提供的一种可能的系统运作方式的示意图;
21.图3为本发明实施例提供的方法的大致流程的示意图;
22.图4为本发明实施例提供的方法的具体流程的示意图;
具体实施方式
23.为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。下文中将详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。本技术领域
技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
24.目前主要采用的软件负载均衡的优点是,基于特定环境、配置简单、使用灵活、成本低廉。但随着数据中心的发展,越来越多的场景需要采用硬件负载均衡来应对大量数据并发处理。这其中,专用负载均衡由专门的设备完成专门的任务,硬件成本比较高。目前四层负载均衡器的卸载,面临的主要是当前硬件资源sram(static random

access memory,静态随机存取存储器)不够的问题,但若额外增加硬件设备来扩充资源,则有存在成本飙升的问题。本实施例的主要设计目的,在于优化技术方案并缓减上述问题。
25.本发明实施例提供一种基于可编程asic芯片的负载均衡的流量卸载方法,如图3所示,包括:
26.s1、服务器接收到客户端发送的建链报文后,运行调度算法并选择服务器建立链接。
27.其中,如图2所示的,在leaf层的网络设备上,运行四层负载均衡的流量卸载。leaf层的网络设备主要是指接入层,网络分层主要是根据在这个网络中的功能来分的,例如接入层,核心层等。片内是指芯片上的比较小的高速内部存储空间,片外是指芯片外的存储空间,一般比较大,但是访问速度慢。
28.s2、建链成功后,对数据流量进行分类得到老鼠流和大象流。
29.其中,本实施例中所述的大象流,为通过网络链路进行大量的,持续的传递数据的过程。老鼠流,为通过网络链路进行少量的,短时间的数据传递过程。
30.s3、将分类得到的老鼠流和大象流,分别选择相应的流表并进行选路转发。
31.本实施例中,具体如图4所示的,步骤s3包括:
32.s31、对大象流选择片内的流表进行选路转发。
33.s32、针对老鼠流,将片内的流表转移至外部存储空间,并通过片外的流表进行选路转发。
34.本实施例中设计的老鼠流表转移机制,通过老鼠流的识别,将该种流量的流表进行转移,并且在转移结束后,释放对应的内部表项的存储空间。实际应用中,实现了设备上只有大约20%的表项存于内部存储空间。大大弥补了当前内部存储空间不足的问题。
35.本实施例中,步骤s1中包括:服务器接收到客户端发送的建链报文后,根据五元组进行流表的建立。通过预设的调度算法为所需建立的链接选择目标服务器组。
36.其中,建链报文的类型包括tcp syn报文或者rdma cm request报文,所述目标服务器组记载的内容包括至少一台目标服务器的ip。具体的,本实施例采用首包建流机制,对于与服务器建立链接的首个报文,不管是tcp syn报文或者rdma cm request报文,都可以根据五元组进行流表的建立。通过一定的调度算法,为每个链接选择一个合适的目标服务器。
37.进一步的,本实施例中,步骤s32包括:将老鼠流的流表从内部存储空间转移至外部存储空间。所述老鼠流中的报文选路到所述外部存储空间,并进行流表查找得到资源最优的服务器。在封装报文时,在报文中写入查找得到的服务器的ip。
38.其中,选路指的是选择往外部存储空间还是内部存储空间查表的选择。本实施例中的流表查找的方式可以采用现有手段,具体视实际的应用场景而定,本实施例中并不限定。最优资源一般是指能快速准确处理客户请求的,也可以采用目前已有的资源算法实现,具体视实际的应用场景而定,本实施例中并不限定。
39.本实施例中,步骤s2包括:检测在预设的时间段内,报文个数是否超过第一门限值。和/或,检测在预设的时间段内,字节数是否超过第二门限值。若至少一项的检测结果为超过,则判定为大象流。
40.具体的,本实施例中通过设置一定的门限值,计算某段时间内的报文个数和字节数。该门限值可灵活调整。因此对于网络上的特定应用场景,可以通过调整门限值,也就可以调整对应的数据流位于片内和片外的比例。
41.本实施例还提供一种基于可编程asic芯片的负载均衡的流量卸载装置,如图1所示的,该流量卸载装置可以运行在所述可编程asic芯片上,所述可编程asic芯片中可以烧录具体的执行程序,这些执行程序按照功能可以划分为以下功能模块,运行有业务识别模块、鼠象流识别模块、内部转发模块、封装模块和外部转发模块。
42.所述业务识别模块,用于接收到客户端发送的建链报文后,运行调度算法并选择服务器建立链接。其中,在leaf层的网络设备上,运行四层负载均衡的流量卸载。
43.所述鼠象流识别模块,用于在所述业务识别模块建链成功后,对数据流量进行分类得到老鼠流和大象流。
44.所述内部转发模块,用于将分类得到的大象流,选择相应的流表并进行选路转发。
45.所述外部转发模块,用于将分类得到的老鼠流,分别选择相应的流表并进行选路转发。
46.所述封装模块,用于在所述内部转发模块和所述外部转发模块进行报文转发前,修改报文最终发往服务器的实际ip。
47.本实施例中,所述内部转发模块,具体用于对大象流选择片内的流表进行选路转发。所述外部转发模块,具体用于针对老鼠流,将片内的流表转移至外部存储空间,并通过片外的流表进行选路转发。
48.本实施例中所述业务识别模块,具体用于接收到客户端发送的建链报文后,根据五元组进行流表的建立。并通过预设的调度算法为所需建立的链接选择目标服务器组,其中,建链报文的类型包括tcp syn报文或者rdma cm request报文,所述目标服务器组记载的内容包括至少一台目标服务器的ip。
49.进一步的,本实施例中还包括:老鼠流流表空间转移模块,用于将老鼠流的流表从内部存储空间转移至外部存储空间。其中,所述老鼠流中的报文选路到所述外部存储空间,并进行流表查找得到资源最优的服务器。所述封装模块,还用于在封装报文时,在报文中写入查找得到的服务器的ip。
50.所述鼠象流识别模块,具体用于检测在预设的时间段内,报文个数是否超过第一门限值。和/或,检测在预设的时间段内,字节数是否超过第二门限值。若至少一项的检测结果为超过,则判定为大象流。
51.实际应用中,本实施例中采用硬件平台进行处理,主要涉及6个功能模块,即业务识别模块、鼠象流识别模块、内部转发模块、封装模块、老鼠流流表空间转移模块、外部转发
模块。6个功能模块全部运行在可编程asic芯片上。
52.具体来说,作为交换机设备,除了对接服务器业务需求,还有其他的转发业务需求。因此业务识别模块主要用于区分四层负载均衡业务。
53.鼠象流识别模块主要用于实现老鼠大象流量的区分。包括但不局限于基于计数器的流量识别:通过设置一定的门限值,计算某段时间内的报文个数和字节数。该门限值可灵活调整。因此对于网络上的特定应用场景,可以通过调整门限值,也就可以调整对应的数据流位于片内和片外的比例。
54.内部转发模块主要用于当前的大带宽的数据流表存储,因此对于在鼠象流识别模块识别出来的大象流,会进入该模块进行流表查找,寻找最优资源的服务器。
55.封装模块主要是报文最终发往服务器需要修改对应的服务器的实际ip。
56.对于在鼠象流识别模块识别出来的老鼠流,会选择该路径触发进行流表的空间转移,该处理模块将对应的流表从内部存储空间搬移到外部存储空间。
57.对于通过老鼠流表进行过空间转移的模块,后续的报文直接选路到外部存储空间,进行流表查找后,寻找最优资源的服务器。
58.本实施例中所采用的可编程asic芯片,为转发设备上的转发芯片,主要做流量的转发处理。一般来讲,流量的转发可以通过cpu软转,也可以通过硬件芯片转发,本实施例的方案属于后者。对于应用层数据,我们一般从客户端发往服务器,那么中间会经过交换机做数据转发,这里就是通过将这个四层负载均衡功能卸载到交换机上底层的硬件转发平面。本实施例中的调度算法并不限定,客户端选择最优服务器的处理算法,可以采用目前已有的算法工具。
59.目前四层负载均衡器的卸载,面临的主要是当前硬件资源sram(static random

access memory,静态随机存取存储器)不够的问题。目前大部分厂商只能提供50mb

100mb的内部存储空间。数据中心的流量按照传输时间和数据量大小可以分为两种类型的流量:大象流和老鼠流。大象流具有传输时间长、占用带宽大的特点,而老鼠流则正好相反。同时按照二八原则,当前网络上的大约20%的大象流占据了大约80%的带宽,而80%的老鼠流却只占据了约20%的带宽。
60.本实施例的设计思路在于改进传统的软件实现负载均衡的方式,通过tor交换机来实现负载均衡的卸载,即不需要额外增加硬件成本,又可以缓解当前软件负载均衡性能低下的问题。通过将四层负载均衡的实现卸载到硬件转发平面。同时通过大象流和老鼠流的区分,将大带宽的大象流卸载到内部存储空间,而将数据量小的老鼠流卸载到外部存储空间。其中,基于鼠象流的区分实现,能够基于当前网络的实际情况进行设备的内部和外部存储空间的合理利用。
61.本实施例中,将四层负载均衡技术卸载到tor交换机转发平面,同时引入了鼠象流识别模块,通过对流量进行识别和区分,将部分流量引流到外部存储空间,而将大带宽的只占20%的大象流表项继续保留在内部存储空间。既不会造成网络流量处理拥塞,也没有增加额外的硬件成本。其中的主要改进之处在于:在leaf层的网络设备上,运行四层负载均衡的流量卸载;向servers发送请求的建链报文,经转发层面的识别与处理建立链接服务器的流表。通过一定的调度算法,选择最优的服务器建立链接。建链成功后,对于大量的数据流量,进行流量的简单分类,按照老鼠流和大象流进行区分,这其中:对于高吞吐量的大象流,
选择片内的流表进行选路转发;对于流量比较小的老鼠流,通过将片内的流表搬移到外部存储空间,选择片外的流表进行选路转发。从而实现了:将四层负载均衡技术卸载到现有网络芯片。以及通过鼠象流识别将部分表项搬移至外部存储空间的设计。
62.本实施例的优点在于,不额外增加硬件成本的基础上,在现有的网络设备上可以实现负载均衡的卸载。它相比于原先的软件实现有更高的吞吐量和处理性能,相比于专用硬件负载均衡器又可以节省网络成本。用户可以根据当前网络设备的处理能力以及网络流量进行分析,选择合适的门限值,进行流表的分类的处理,尽最大的能力保证网络的高带宽处理性能,又能不对现有的业务产生影响。
63.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜