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

负载均衡的方法、设备和介质与流程

2021-11-03 12:44:00 来源:中国专利 TAG:


1.本发明涉及计算机网络技术领域,特别涉及负载均衡的方法、设备和介质。


背景技术:

2.当前随着高性能网络软件技术的发展越来越多的负载均衡软件通过高性能软件进行实现(比如dpdk),利用cpu实现100g网络的高速转发,软件实现的负载均衡能带来更大的灵活性,易用性。数据平面开发套件(dpdk)可以极大提高数据处理性能和吞吐量,为数据平面应用程序提供更多时间。dpdk可以将数据包处理性能最多提高十倍。在单个英特尔至强处理器上获得超过80mbps的吞吐量,在双处理器配置中则可将该其提高一倍。
3.网络中,流是在一段时间内经过同一个网络的一系列具有相同属性(例如,五元组相同)的顺序发送的报文(或数据包)集合。其中,五元组通常是指源ip地址、源端口、目的ip地址、目的端口和传输层协议。而持续时间长的、大流量的流被称为大象流,其余的流被称为老鼠流。随着高速网络的发展,负载均衡设备通常用于外网接入,网络状况复杂。常常引入单一的大象流访问或者攻击。虽然dpdk能带来高速的转发能力,但是它依赖于将不同的报文流分发到不同的cpu核上处理。但是单一的核心转发能力有着瓶颈,然而单一的大象流会占据单一cpu的所有资源,导致该cpu包处理丢包。


技术实现要素:

4.本发明的目的在于提供负载均衡的方法、设备和介质,解决现有技术中负载均衡设备在转发大象流时遇到的单核瓶颈的技术问题。
5.本发明的实施方式公开了一种负载均衡的方法,用于负载均衡设备,包括:
6.接收可编程交换机转发的来自外侧网络的数据包流;
7.在数据包流被判断为大象流的情况下,将
8.该数据包流的转发规则转发给可编程交换机。
9.可选地,接收到的数据包流的数据包量达到预定阈值时,判定该数据包流为大象流。
10.本发明的实施方式公开了一种负载均衡的方法,用于可编程交换机,包括:
11.接收来自外侧网络的数据包;
12.在接收到来自负载均衡设备的转发规则的情况下,判断接收到的该数据包是否与转发规则对应;
13.判断为是则根据转发规则转发该数据包,判断为否则将该数据包转发给负载均衡设备。
14.可选地,接收到来自负载均衡设备的转发规则的情况包括:该数据包所属的数据包流被负载均衡设备判断为大象流。
15.可选地,判断接收到的该数据包是否与转发规则对应包括:
16.根据该数据包的五元组,判断接收到的该数据包是否与转发规则对应。
17.可选地,方法还包括:
18.预定时长没有接收到该数据包所属数据包流的数据包的情况下,删除转发规则。
19.本发明的实施方式公开了一种负载均衡的设备,该设备包括存储有计算机可执行指令的存储器和处理器,当该指令被该处理器执行时,使得该设备实施上述的任一种负载均衡的方法。
20.本发明的实施方式公开了一种计算机存储介质,在该计算机存储介质上存储有指令,当该指令在计算机上运行时,使得该计算机执行上述的任一种负载均衡的方法。
21.本发明实施方式与现有技术相比,主要区别及其效果在于:
22.在本发明中,负载均衡的方法用于负载均衡设备,接收可编程交换机转发的来自外侧网络的数据包流;在数据包流被判断为大象流的情况下,将该数据包流的转发规则转发给可编程交换机。高性能软件转发设备(负载均衡设备)与可编程交换机的结合,高性能软件转发设备实现灵活的高性能转发的同时,遇到大象流,软件转发设备将大象流的转发规则发送给可编程交换机,以便可编程交换机在前部卸载该大象流,避免单一大象流带来的单核瓶颈问题。同时,可由软件转发设备(负载均衡设备)发现大象流和决定转发规则,根据软件转发设备和可编程交换机的功能特性,巧妙分配二者处理的任务,合理使用性能,减少性能浪费。
23.在本发明中,接收到的数据包流的数据包量达到预定阈值时,判定该数据包流为大象流。根据流量判断是否是大象流,阈值可以灵活配置。
24.在本发明中,负载均衡的方法用于可编程交换机,接收来自外侧网络的数据包;在接收到来自负载均衡设备的转发规则的情况下,判断接收到的该数据包是否与转发规则对应;判断为是则根据转发规则转发该数据包,判断为否则将该数据包转发给负载均衡设备。在软件转发设备(负载均衡设备)前部去卸载大象流,利用可编程交换机的硬件转发能转发大象流,避免单一大象流给软件转发设备带来的单核瓶颈问题。保证性能转发的能力的同时,兼顾软件功能的灵活性。
25.在本发明中,根据该数据包的五元组,判断接收到的该数据包是否与转发规则对应。由软件转发设备(负载均衡设备)判断大象流,后续前部的可编程交换机只需根据五元组就可确定数据包流是否是大象流,根据软件转发设备和可编程交换机的功能特性,巧妙分配二者处理的任务,合理使用性能,减少性能浪费。
26.在本发明中,预定时长没有接收到该数据包所属数据包流的数据包的情况下,删除转发规则。实时监控管理大象流,节省性能和存储资源。
附图说明
27.图1示出根据本发明的实施例的负载均衡设备和可编程交换机的示意图。
28.图2示出根据本发明的用于负载均衡设备的负载均衡的方法的流程图。
29.图3示出根据本发明的用于可编程交换机的负载均衡的方法的流程图。
具体实施方式
30.下面结合具体实施例和附图对本技术做进一步说明。可以理解的是,此处描述的具体实施例仅仅是为了解释本技术,而非对本技术的限定。此外,为了便于描述,附图中仅
示出了与本技术相关的部分而非全部的结构或过程。应注意的是,在本说明书中,相似的标号和字母在下面的附图中表示类似项。
31.应当理解的是,虽然在本文中可能使用了术语“第一”、“第二”等等来描述各个特征,但是这些特征不应当受这些术语限制。使用这些术语仅仅是为了进行区分,而不能理解为指示或暗示相对重要性。举例来说,在不背离示例性实施例的范围的情况下,第一特征可以被称为第二特征,并且类似地第二特征可以被称为第一特征。
32.在本技术的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本实施例中的具体含义。
33.本技术的说明性实施例包括但不限于负载均衡的方法、设备和介质。
34.将使用本领域技术人员通常采用的术语来描述说明性实施例的各个方面,以将他们工作的实质传达给本领域其他技术人员。然而,对于本领域技术人员来说,使用部分所描述的特征来施行一些替代性实施例是显而易见的。出于解释的目的,阐述了具体的数字和配置,以便对说明性实施例进行更加透彻的理解。然而,对于本领域技术人员来说显而易见的是,可以在没有具体细节的情况下实施替代实施例。在一些其他情况下,本文省略或简化了一些众所周知的特征,以避免使本技术的说明性实施例模糊不清。
35.此外,各种操作将以最有助于理解说明性实施例的方式被描述为多个彼此分离的操作;然而,描述的顺序不应被解释为暗示这些操作必须依赖描述的顺序,其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序也可以被重新安排。当所描述的操作完成时,所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
36.说明书中对“一个实施例”、“实施例”、“说明性实施例”等的引用表示所描述的实施例可以包括特定特征、结构或性质,但是每个实施例也可能或不是必需包括特定的特征、结构或性质。而且,这些短语不一定是针对同一实施例。此外,当结合具体实施例描述特定特征,本领域技术人员的知识能够影响到这些特征与其他实施例的结合,无论这些实施例是否被明确描述。
37.除非上下文另有规定,否则术语“包含”、“具有”和“包括”是同义词。短语“a和/或b”表示“(a)、(b)或(a和b)”。
38.如本文所使用的,术语“模块”可以指代,作为其中的一部分,或者包括:用于运行一个或多个软件或固件程序的存储器(共享、专用或组)、专用集成电路(asic)、电子电路和/或处理器(共享、专用或组)、组合逻辑电路、和/或提供所述功能的其他合适组件。
39.在附图中,可能以特定布置和/或顺序示出了一些结构或方法特征。然而,应当理解的是,这样的特定布置和/或排序不是必需的。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来进行说明。另外,特定附图中所包含得结构或方法特征并不意味着所有实施例都需要包含这样的特征,在一些实施例中,可以不包含这些特征或者可以与将这些特征与其他特征进行组合。
40.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术的实施
方式作进一步地详细描述。
41.图1示出根据本发明的实施例的负载均衡设备和可编程交换机的示意图。图中示出了负载均衡设备102和可编程交换机104。
42.图2示出根据本发明的用于负载均衡设备的负载均衡的方法的流程图。
43.方法200用于负载均衡设备,包括:
44.步骤202,接收可编程交换机转发的来自外侧网络的数据包流;
45.步骤204,判断该数据包流是否是大象流;
46.如果是,则在步骤206,将该数据包流的转发规则转发给可编程交换机;
47.如果否,则在步骤208,转发该数据包流。
48.例如,结合图1,可编程交换机104接收到来自外侧网络的数据包流,然后可编程交换机104通过对内入向接口将该数据包流的数据包(例如,报文)传递给负载均衡设备102(例如,负载均衡服务器),该数据包在负载均衡设备102内部被软件高速转发。当负载均衡设备102发现该数据包流是大象流后,将负载均衡设备102所决定(例如,通过设备内的负载均衡软件)的该数据包流的转发规则发送给可编程交换机104(可选地,同时告知可编程交换机104该数据包流被判定(或标记)为大象流)。后续该大象流的数据包都直接由前部可编程交换机104硬件转发。
49.在本发明中,高性能软件转发设备(负载均衡设备)与可编程交换机的结合,高性能软件转发设备实现灵活的高性能转发的同时,遇到大象流,软件转发设备将大象流的转发规则发送给可编程交换机,以便可编程交换机在前部卸载该大象流,避免单一大象流带来的单核瓶颈问题。同时,可由软件转发设备(负载均衡设备)发现大象流和决定转发规则,根据软件转发设备和可编程交换机的功能特性,巧妙分配二者处理的任务,合理使用性能,减少性能浪费。
50.根据本技术的一些实施例,方法还包括:接收到的数据包流的数据包量达到预定阈值时,判定该数据包流为大象流。
51.例如,管理员设定大象流判定阈值(例如,30个),负载均衡设备发现从可编程交换机传递来的某个数据包流的数据包量达到30个时,判定该数据包流为大象流。
52.另外,判定大象流的条件也可以是数据流量(例如,阈值为15kb)、数据累积时长(例如,阈值为50ms)等,在此不作限定。
53.在本发明中,接收到的数据包流的数据包量达到预定阈值时,判定该数据包流为大象流。根据流量判断是否是大象流,阈值可以灵活配置。
54.根据本技术的一些实施例,数据包流为具有相同五元组的数据包的集合。
55.图3示出根据本发明的用于可编程交换机的负载均衡的方法的流程图。
56.方法300用于可编程交换机,包括:
57.步骤302,接收来自外侧网络的数据包;
58.步骤304,判断是否接收到来自转负载均衡设备的转发规则;
59.如果是,在步骤306,判断该数据包是否与转发规则对应,
60.如果是,则在步骤308,根据转发规则转发该数据包,
61.如果否,则在步骤310,将该数据包转发给转负载均衡设备;
62.如果否,则在步骤310,将该数据包转发给转负载均衡设备。
63.例如,结合图1,可编程交换机104接收到来自外侧网络的数据包,然后可编程交换机104判断该数据包是否与可编程交换机104内存有的任一的转发规则对应,或者,查找可编程交换机104内是否有与该数据包所属的数据包流对应的转发规则(其中,转发规则接收自负载均衡设备102,一个转发规则对应一个数据包流),如果有,则直接根据对应的转发规则转发该数据包,如果有没有则将该数据包传递给负载均衡设备102。
64.在本发明中,在软件转发设备(负载均衡设备)前部去卸载大象流,利用可编程交换机的硬件转发能转发大象流,避免单一大象流给软件转发设备带来的单核瓶颈问题。保证性能转发的能力的同时,兼顾软件功能的灵活性。
65.根据本技术的一些实施例,接收到来自负载均衡设备的转发规则的情况包括:该数据包所属的数据包流被负载均衡设备判断为大象流。
66.例如,结合图1,负载均衡设备102判定具有某个五元组的数据包流为大象流,然后负载均衡设备102将该数据包流的转发规则发送给可编程交换机104,可编程交换机104接收到来自外侧网络的数据包后,如果发现该数据包具有该五元组,即按照该转发规则转发该数据包流。
67.根据本技术的一些实施例,判断接收到的该数据包是否与转发规则对应包括:
68.根据数据包的五元组,判断接收到的该数据包是否与转发规则对应。
69.例如,结合图1,可编程交换机104从负载均衡设备102接收的每一个转发规则都与一个五元组对应,即,每个转发规则用于转发具有某个特定五元组的数据包。可编程交换机104接收到来自外侧网络的数据包后,查找可编程交换机104是否存有对应该数据包的五元组的转发规则。
70.在本发明中,由软件转发设备(负载均衡设备)判断大象流,后续前部的可编程交换机只需根据五元组就可确定数据包流是否是大象流,根据软件转发设备和可编程交换机的功能特性,巧妙分配二者处理的任务,合理使用性能,减少性能浪费。
71.根据本技术的一些实施例,方法还包括:预定时长没有接收到数据包所属数据包流的数据包的情况下,删除转发规则。
72.例如,结合图1,管理员设定时长阈值,可编程交换机104经过该时长阈值的一段时间内没有接收到具有某个五元组的数据包,则删除可编程交换机104内存储的该五元组对应的数据包流的转发规则。
73.在本发明中,实时监控管理大象流,节省性能和存储资源。
74.根据本技术的一些实施例,上述任一用于负载均衡设备的负载均衡的方法都可与上述任一用于可编程交换机的负载均衡的方法结合实施。
75.可由软件转发设备(负载均衡设备)发现大象流和决定转发规则,后续该大象流的数据包都由前部的可编程交换机的硬件转发能转发,卸载软件转发设备上的大象流。根据软件转发设备和可编程交换机的功能特性,巧妙分配二者处理的任务,实现灵活的高性能转发的同时,避免单一大象流带来的软件转发设备的单核瓶颈问题。
76.根据本技术的一些实施例,公开了一种负载均衡的设备,该设备包括存储有计算机可执行指令的存储器和处理器,当该指令被该处理器执行时,使得该设备实施上述的任一种负载均衡的方法。
77.第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施
方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
78.根据本技术的一些实施例,公开了一种计算机存储介质,在该计算机存储介质上存储有指令,当该指令在计算机上运行时,使得该计算机执行上述的任一种负载均衡的方法。
79.第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
80.在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合形式来实现。所公开的实施例还可以以承载或储存在一个或多个瞬态或非瞬态的机器可读(例如,计算机可读)存储介质上的指令或程序形式实现,其可以由一个或多个处理器等读取和执行。当指令或程序被机器运行时,机器可以执行前述的各种方法。例如,指令可以通过网络或其他计算机可读介质分发。因此,机器可读介质可以包括但不限于,用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,例如,软盘,光盘,光盘只读存储器(cd

roms),磁光盘,只读存储器(rom),随机存取存储器(ram),可擦除可编程只读存储器(eprom),电子式可清除程序化只读存储器(eeprom),磁卡或光卡,或者用于通过电、光、声或其他形式信号(例如,载波、红外信号、数字信号等)传输网络信息的闪存或有形的机器可读存储器。因此,机器可读介质包括任何形式的适合于存储或传输电子指令或机器(例如,计算机)可读信息的机器可读介质。
81.上面结合附图对本技术的实施例做了详细说明,但本技术技术方案的使用不仅仅局限于本专利实施例中提及的各种应用,各种结构和变型都可以参考本技术技术方案轻易地实施,以达到本文中提及的各种有益效果。在本领域普通技术人员所具备的知识范围内,在不脱离本技术宗旨的前提下做出的各种变化,均应归属于本技术专利涵盖范围。
再多了解一些

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

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

相关文献