CN117614958A - 基于sdn控制器的负载均衡处理方法、装置及设备 - Google Patents
基于sdn控制器的负载均衡处理方法、装置及设备 Download PDFInfo
- Publication number
- CN117614958A CN117614958A CN202311553911.2A CN202311553911A CN117614958A CN 117614958 A CN117614958 A CN 117614958A CN 202311553911 A CN202311553911 A CN 202311553911A CN 117614958 A CN117614958 A CN 117614958A
- Authority
- CN
- China
- Prior art keywords
- controller
- regional
- controllers
- load
- standby
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 101
- 238000000034 method Methods 0.000 claims abstract description 52
- 238000004891 communication Methods 0.000 claims abstract description 19
- 238000004590 computer program Methods 0.000 claims description 19
- 238000005457 optimization Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 13
- 230000008685 targeting Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及SDN控制器技术领域,特别涉及一种基于SDN控制器的负载均衡处理方法、装置及设备。该方法包括:获取备用控制器和各第一区域控制器的处理能力和待处理负载,第一区域控制器为多个区域控制器中的任意一个;基于备用控制器和各第一区域控制器的处理能力、待处理负载、预设时长以及预设额度分配模型,同时确定各第一区域控制器的目标分配额度;向第一区域控制器发送目标分配额度;接收来自第一区域控制器的目标请求;确定目标请求的处理结果;将处理结果发送至第一区域控制器。本申请提供的技术方案,通过部署备用控制器,将备用控制器与区域控制器直接进行通信连接,实现不同区域控制器的负载均衡,提高不同区域的网络服务质量。
Description
技术领域
本申请涉及SDN控制器技术领域,特别涉及一种基于SDN控制器的负载均衡处理方法、装置及设备。
背景技术
随着信息化的发展,电子政务网络系统通常采用软件定义网络(software-defined networking,SDN)对网络流量进行动态调整和灵活配置,得到更优质的网络服务质量。控制器是SDN的核心资源,用于实现网络的集中控制和管理。通过控制网络设备的流量转发,实现网络的灵活性和可编程性,从而满足不同应用场景的需求。
但是,由于网络流量的动态性、突发性以及政务事件的特殊性,SDN控制器容易出现过载现象,制约了电子政务网络的性能。目前针对控制器过载现象常用的解决方法是将交换机从负载重的控制器上迁移到负载轻的控制器上。这种解决方法对于政务系统来说,存在行政区域和归属地的问题,无法在不同地市的控制器之间迁移交换机,从而导致不同行政区域网络服务质量无法改善。
因此,SDN控制器如何实现不同行政区域控制器负载均衡,提高不同行政区域网络服务质量成为了亟待解决的问题。
发明内容
本申请提供了一种基于SDN控制器的负载均衡处理方法、装置及设备,提高不同行政区域网络服务质量。
第一方面,本申请实施例提供了一种基于SDN控制器的负载均衡处理方法,应用于备用控制器,所述备用控制器与多个区域控制器通信连接,所述方法包括:获取所述备用控制器和各第一区域控制器的处理能力和待处理负载,所述第一区域控制器为所述多个区域控制器中的任意一个;基于所述备用控制器和各第一区域控制器的处理能力、待处理负载、预设时长以及预设额度分配模型,确定第一区域控制器的目标分配额度;向所述第一区域控制器发送负载重定向指令,所述负载重定向指令携带所述第一区域控制器的目标分配额度;接收来自所述第一区域控制器的协助请求消息,所述协助请求消息携带有目标请求;基于所述协助请求消息,确定所述目标请求的处理结果;将所述处理结果发送至所述第一区域控制器。
在一种可能的实现方式中,所述基于所述备用控制器和各第一区域控制器的处理能力、待处理负载、预设时长以及预设额度分配模型,确定第一区域控制器的目标分配额度,包括:基于所述备用控制器的处理能力、待处理负载及预设时长,确定分配总额度;基于所述分配总额度、各第一区域控制器的处理能力、待处理负载和预设额度分配模型确定所述第一区域控制器的目标分配额度。
在一种可能的实现方式中,所述预设额度分配模型为以最小化控制器请求处理时间为目标函数的优化模型。
在一种可能的实现方式中,所述优化模型包括第一成本代价,第二成本代价和第三成本代价;所述第一成本代价用于表示所述多个区域控制器在本地处理完自身负载所需的成本代价,所述第二成本代价用于表示所述备用控制器处理完成自身负载和多个区域控制器上传的请求所需的成本代价,所述第三成本代价用于表示所述多个区域控制器与所述备用控制器之间的通信成本代价。
在一种可能的实现方式中,所述向所述第一区域控制器发送负载重定向指令,包括:当所述第一区域控制器的目标分配额度大于0时,向所述第一区域控制器发送负载重定向指令。
第二方面,本申请实施例提供了一种基于SDN控制器的负载均衡处理方法,应用于第一区域控制器,所述方法包括:接收来自备用控制器的负载重定向指令,所述负载重定向指令携带所述第一区域控制器的目标分配额度;基于所述目标分配额度,确定目标请求;向所述备用控制器发送协助请求消息,所述协助请求消息携带有所述目标请求;接收来自所述备用控制器的处理结果。
第三方面,本申请实施例提供了一种基于SDN控制器的负载均衡处理装置,应用于备用控制器,所述备用控制器与多个区域控制器通信连接,所述装置包括:获取模块,用于获取所述备用控制器和各第一区域控制器的处理能力和待处理负载,所述第一区域控制器为所述多个区域控制器中的任意一个;确定模块,用于基于所述备用控制器和各第一区域控制器的处理能力、所述待处理负载、预设时长以及预设额度分配模型,确定第一区域控制器的目标分配额度;发送模块,用于向所述第一区域控制器发送负载重定向指令,所述负载重定向指令携带所述第一区域控制器的目标分配额度;接收模块,用于接收来自所述第一区域控制器的协助请求消息,所述协助请求消息携带有目标请求;所述确定模块,还用于基于所述协助请求消息,确定所述目标请求的处理结果;所述发送模块,还用于将所述处理结果发送至所述第一区域控制器。
第四方面,本申请实施例提供了一种基于SDN控制器的负载均衡处理装置,应用于第一区域控制器,所述方法包括:接收模块,用于接收来自备用控制器的负载重定向指令,所述负载重定向指令携带所述第一区域控制器的目标分配额度;确定模块,用于基于所述目标分配额度,确定目标请求;发送模块,用于向所述备用控制器发送协助请求消息,所述协助请求消息携带有所述目标请求;所述接收模块,还用于接收来自所述备用控制器的处理结果。
第四方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面或第二方面或其中任意一种实现方式所述的方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第二方面或其中任意一种实现方式所述的方法。
第六方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面或其中任意一种实现方式所述的方法。
本申请实施例与现有技术相比存在的有益效果是:获取备用控制器和各第一区域控制器的处理能力和待处理负载,第一区域控制器为多个区域控制器中的任意一个,基于备用控制器和各第一区域控制器的处理能力、待处理负载、预设时长以及预设额度分配模型,确定第一区域控制器的目标分配额度,向第一区域控制器发送负载重定向指令,负载重定向指令携带第一区域控制器的目标分配额度;第一区域控制器接收来自备用控制器的负载重定向指令,负载重定向指令携带所述第一区域控制器的目标分配额度,基于目标分配额度,确定目标请求,向备用控制器发送协助请求消息;备用控制器接收来自第一区域控制器的协助请求消息,协助请求消息携带有目标请求,基于协助请求消息,确定目标请求的处理结果,将处理结果发送至第一区域控制器;第一区域控制器接收来自备用控制器的处理结果。相比于现有技术,针对控制器过载现象是将交换机从负载重的控制器上迁移到负载轻的控制器上,交换机之间的交换增量了交换机与控制器之间的通信成本,而且这种方法对于政务网络来说,无法在不同地市的控制器之间迁移交换机。本方案则是基于SDN网络新增备用控制器,备用控制器与所有区域控制器通信连接,向区域控制器发送可处理数据额度,协助区域控制器处理数据,提高了不同行政区域网络服务质量。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的一种基于SDN控制器的负载均衡处理方法的流程示意图;
图2为本申请一实施例提供的另一种基于SDN控制器的负载均衡处理方法的流程示意图;
图3为本申请一实施例提供的一种面向政务网络多域控制管理的SDN控制器负载均衡的系统架构示意图;
图4为本申请一实施例提供的一种基于SDN控制器的负载均衡处理装置结构框图;
图5为本申请一实施例提供的另一种基于SDN控制器的负载均衡处理装置结构框图;
图6为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
随着信息化的发展,电子政务网络系统通常采用SDN网络对网络流量进行动态调整和灵活配置,从而得到更优质的网络服务质量。由于电子政务网络节点数量众多,采取单一控制器容易导致控制器过载,造成网络性能下降,同时由于行政区域划分、建设属地化以及行政管理需要等因素,电子政务网络通常采用多域控制器管理架构,按行政区域建设,并分区域进行运行维护管理。从省级行政区域范围来看,可以分为省级政务网络和地市政务网络;省级政务网络为核心区域,各地市政务网络连接到省级政务网络,形成全省贯通的电子政务网络。在每个区域中,均设置一个控制器,负责实现本区域内交换节点的管理功能。
控制器是SDN网络的核心资源,关系到网络的整体性能。由于网络流量的动态性、突发性以及政务事务的特殊性,控制器容易出现过载现象,制约了电子政务网络的性能。由于电子政务网络的行政管理需求,导致部分传统控制器负载均衡技术无法直接应用到电子政务网络中。例如,一种常用的控制器负载均衡做法是将交换机从负载重的控制器上迁移到负载低的控制器上。但是,由于行政区域和归属地的问题,无法在不同地市的控制器之间迁移交换机。又如,传统的控制器负载均衡技术通常考虑控制器的放置优化问题,通过合理放置来降低各交换机与控制器之间的通信成本。但是,在电子政务网络中,每个行政区域内设置一个控制器,这种规定限制了控制器放置的优化空间。
为解决上述问题,本申请提出一种基于SDN控制器的负载均衡处理方法,该方法包括:获取备用控制器和各第一区域控制器的处理能力和待处理负载,第一区域控制器为多个区域控制器中的任意一个;基于备用控制器和各第一区域控制器的处理能力、待处理负载、预设时长以及预设额度分配模型,确定第一区域控制器的目标分配额度;向第一区域控制器发送目标分配额度;接收来自第一区域控制器的目标请求;确定目标请求的处理结果;将处理结果发送至第一区域控制器。本申请提供的技术方案,通过部署备用控制器,将备用控制器与区域控制器直接进行通信连接,实现不同区域控制器的负载均衡,提高不同区域的网络服务质量。
为了便于理解,下面将结合附图对本申请的技术方案进行详细介绍。
图1为本申请一实施例提供的一种基于SDN控制器的负载均衡处理方法的流程示意图,该方法应用于备用控制器,包括:
S110,获取备用控制器和各第一区域控制器的处理能力和待处理负载,第一区域控制器为多个区域控制器中的任意一个。
在一种可能的实现方式中,电子政务网络根据省级和地市级行政区域的分布关系可分为省级网络和地市级区域网络,每个地市级区域网络至少部署一个控制器,省级网络至少部署两个控制器,一个是省级控制器用于处理该省内日常政务事件;另一个是备用控制器,用于协助各个地市级区域控制器完成本区域日常政务事件。
作为一种示例,各个地市级区域控制器相互间不直接通信连接,区域控制器可通过交换机与省级控制器通信连接;备用控制器与省级控制器具有相同的功能并且备用控制器可以获得全局网络视图,包括全局网络拓扑信息、各控制器的负载数量信息、控制器处理能力等,同时备用控制器与各个区域控制器直接进行通信连接。
在一种可能的实现方式中,备用控制器进行协助工作时,先获取备用控制器和各第一区域控制器的处理能力和待处理负载,其中控制器处理能力为控制器最大处理能力,待处理负载为当前控制器需要处理的数据,示例性的可以是Packet_in消息数据。
S120,基于备用控制器和各第一区域控制器的处理能力、待处理负载、预设时长以及预设额度分配模型,确定第一区域控制器的目标分配额度。
在一种可能的实现方式中,基于备用控制器的处理能力、待处理负载及预设时长,确定分配总额度;基于分配总额度、各第一区域控制器的处理能力、待处理负载和预设额度分配模型确定第一区域控制器的目标分配额度。
具体地,预设时长可为备用控制器一个协助周期的时间长度;分配总额度为备用控制器在一个协助周期内为多个区域控制器提供Packet_in消息处理的总额度,第一区域控制器处理能力和待处理负载为多个区域控制器中各个区域控制器处理能力和待处理负载。
作为一种示例,备用控制器可提供Packet_in消息处理的分配总额度等于周期时长乘以备用控制器处理能力的积再减去当前备用控制器待处理负载。
在一种可能的实现方式中,预设额度分配模型为以最小化控制器请求处理时间为目标函数的优化模型。基于分配总额度和预设额度分配模型确定第一区域控制器的目标分配额度包括:基于备用控制器当前周期内可提供Packet_in消息分配总额度与以最小化控制器请求处理时间为目标函数的优化模型确定各市级控制器可被分配的Packet_in请求协助消息。
具体地,优化模型包括第一成本代价,第二成本代价和第三成本代价;第一成本代价用于表示多个区域控制器在本地处理完自身负载所需的成本代价,第二成本代价用于表示备用控制器处理完成自身负载和多个区域控制器上传的请求所需的成本代价,第三成本代价用于表示多个区域控制器与备用控制器之间的通信成本代价。
作为一种示例,为了求备用控制器分配给市级控制器的Packet_in消息协助额度,可建立的以最小化控制器请求处理时间为目标函数的优化模型,优化模型中各符号的含义如表1所示:
表1
符号 | 含义 |
C | C={C0,C1,…,Cm}控制器组 |
D(i,j) | 表示控制器Ci和Cj之间的延迟 |
h | h={h0,h1,…,hm}控制器处理速度 |
Q(t) | Q(t)={Q0(t),Q1(t),…,Qm(t)}控制器的等待队列长度 |
x(t) | x(t)={x1(t),x2(t),…,xm(t)}重定向决策空间 |
示例性的,电子政务系统由(1+m)个控制器组成的省级和市级政务网络,可表示为C={C0,C1,…,Cm},其中C0为省级网络部署的备用控制器,C1,…,Cm为m个市级部署的区域控制器。使用D(i,j)表示控制器Ci和Cj之间的通信延迟。
在优化模型中,考虑市级控制器向省级备用控制器打包发送packet_in消息,以及省级备用控制器向市级控制器返回路由结果的通信成本。控制器的处理速度表示为h={h0,h1,…,hm},其中h0为省级备用控制器的处理速度,h1,…,hm为各市级控制器的处理速度。假设控制器按照先进先出的排队策略处理packet_in消息请求。使用Q(t)={Q0(t),Q1(t),…,Qm(t)}来表示在决策时刻t,所有控制器上的消息队列长度,其中Q0(t)表示备用控制器中的当前消息队列长度。
示例性的,对于某个市级控制器i,将该控制在本地处理完所有请求,需要等待处理的请求总数为每个请求的处理时间为/>故市级控制器在本地处理完成所有负载请求所需的成本代价表示为:/>
示例性的,在省级备用控制器上,除了原有省级备用控制器剩余的负载,还有各市级控制器上传的负载请求,处理完成这些负载所需的成本代价表示为:
示例性的,市级控制器和省级备用控制器的通信成本为:
根据市级多个区域控制器在处理完自身负载所需的成本代价、省级备用控制器处理完成负载所需的成本代价和通信成本代价,将优化函数模型表示如下:
其中,x(t)={x1(t),x2(t),…,xm(t)},xi(t)表示在决策时间t时刻,市级控制器Ci分配得到的可重定向给省级备用控制器C0的负载数量。式(1)中,T代表决策周期的时间窗口长度。
约束条件(1)保证了省级备用控制器的富余处理能力大于等于分配给各市级控制器的额度的总和。约束条件(2)保证了分配的额度必须大于等于0,即不支持市级向省级的反向负载协助处理。
示例性的,根据优化模型得出,在决策时间t时刻,市级控制器Ci分配得到的可重定向给省级备用控制器C0的负载数量为xi(t),基于可被分配负载数量xi(t),向市级Ci控制器发送Packet_in消息协助指令,其中xi(t)大于等于0。
作为另一种示例,若根据优化模型计算得出任意市级控制器Ci分配得到的负载数量大于0时,向市级Ci控制器发送Packet_in消息协助指令;若计算得出任意市级控制器Ci分配得到的负载数量等于0,则不再向市级Ci控制器发送Packet_in消息协助指令。
示例性的,根据优化模型得出求解出所有市级控制器分配得到的Packet_in消息协助数量的和小于等于备用控制器Packet_in消息协助分配总额度。
S130,向第一区域控制器发送负载重定向指令,负载重定向指令携带第一区域控制器的目标分配额度。
作为一种示例,省级备用控制器根据分配总额度和预设额度分配模型确定市级Ci控制器的目标分配额度xi(t)后,向市级Ci控制器发送负载重定向指令。
S140,接收来自第一区域控制器的协助请求消息,协助请求消息携带有目标请求。
作为一种示例,省级备用控制器接收来自市级区域控制器的Packet_in协助请求消息。
S150,基于协助请求消息,确定目标请求的处理结果。
作为一种示例,省级备用控制器接收来自市级区域控制器Packet_in协助请求消息后,按接收消息的先后顺序放置到控制器缓存列队中,对列队中的Packet_in消息逐个处理。
S160,将处理结果发送至第一区域控制器。
作为一种示例,省级备用控制根据处理后的Packet_in消息,将处理结果反馈给该Packet_in消息所对应的区域控制器。
具体地,省级备用控制器根据全局拓扑信息和路由算法,为各Packet_in请求计算一条路径,并将该处理结果返回给对应的区域控制器。
图2为本申请一实施例提供的另一种基于SDN控制器的负载均衡处理方法的流程示意图,该方法应用于第一区域控制器,包括:
S210,接收来自备用控制器的负载重定向指令,负载重定向指令携带第一区域控制器的目标分配额度。
S220,基于目标分配额度,确定目标请求。
作为一种示例,基于备用控制器发送的目标分配额度,确定目标请求,目标请求可以为Packet_in消息。区域控制器按照预设规则确定对应数量的Packet_in消息,其中预设规则可以直接从区域控制器Packet_in消息待处理列队尾部直接截取对应的数量。
S230,向备用控制器发送协助请求消息,协助请求消息携带有目标请求。
示例性的,区域控制器将需协助处理的Packet_in消息打包发送给备用控制器。
S240,接收来自备用控制器的处理结果。
示例性的,区域控制器接收来自备用控制器的处理结果,并根据处理结果生成相应的流表项信息,下发给交换机。
在一种可能的实现方式中,当交换机收到对应的流表项信息时,本次协助结束,备用控制器进入下一个协助周期。
本申请提供的技术方案,利用省级备用控制器闲置资源,将负载较重控制器中的请求重定向到省级备用控制器上,缓解单个控制器上缓存负载过大的问题,实现负载均衡。其具体方案为:获取备用控制器和各第一区域控制器的处理能力和待处理负载,基于备用控制器和各第一区域控制器的处理能力、待处理负载、预设时长以及预设额度分配模型,确定第一区域控制器的目标分配额度,向第一区域控制器发送负载重定向指令;第一区域控制器接收来自备用控制器的负载重定向指令,负载重定向指令携带第一区域控制器的目标分配额度,基于目标分配额度,确定目标请求,向备用控制器发送协助请求消息,协助请求消息携带目标请求;备用控制器接收来自第一区域控制器的协助请求消息,基于协助请求消息确定目标请求的处理结果并将处理结果发送至第一区域控制器;第一区域控制器根据处理结果为对应的交换机下发相应的流表配置信息。该方案具有以下有益效果:通过备用服务器,可以为所有区域控制器提供负载均衡服务,避免在市级网络单独部署负载均衡基础设施,通过共享方式,实现了资源的最大化利用;本方案在区域控制器与备用控制器之间重定向Packet_in请求,而不是通过交换机的迁移方式实现负载均衡,实现全网范围控制器资源更细粒度的负载均衡,而且本方案可以维持交换机与区域控制器之间的隶属关系,避免因为交换机迁移而带来的安全问题和权责边界问题;备用控制器实施集中式的负载均衡决策,通过优化求解的方式确定各协助对象的额度,无须市级控制器参与决策。
图3为本申请一实施例提供的一种面向政务网络多域控制管理的SDN控制器负载均衡的系统架构图。如图3所示,该系统架构300包括一个省级网络和对应的四个市级网络,其中每个省级网络包括一个省级控制器310和一个省级备用控制器330,每个市级网络包括一个市级控制器320,省级网络和市级网络中包含N个交换机340,其中N为正整数。
作为一种示例,市级控制器320服务于该省对应区域的市级政务网络,且各个市级控制器320相互不通信连接。市级控制器320通过各自所对应的交换机340与省级政务网络的交换机340通信连接,再通过省级政务网络的交换机340与省级控制器310和省级备用控制器330通信连接。省级备用控制器330可与各个市级控制器320直接通信连接,用于协助处理各个市级控制器320的Packet_in消息。
示例性的,省级备用控制器330根据当前周期内可提供的数据处理量通过优化求解的方式计算得到可分配给各个市级控制器320的协助额度;省级备用控制器330根据所计算得到的协助额度向各个市级控制器320发送负载重定向协助指令。若计算得到的协助额度大于0,则发送协助指令;市级控制器320根据收到的负载重定向协助指令,以某种规则(例如:从请求列队尾端直接截取的规则)从各个市级控制器320选取对应数量的Packet_in请求消息,打包发送给备用控制器;省级备用控制器330收到各个市级控制器320发送的协助请求后对请求消息进行逐个处理,备用控制器根据全局拓扑信息和路由算法,为各Packet_in请求计算一条路径,并将该处理结果返回给对应属地的市级控制器320;对应属地的市级控制器320接收到省级备用控制器330的反馈结果,生成相应的流表项信息,下发给对应的交换机340。
可以理解的是,图3所示的系统架构仅是本申请提供的面向政务网络多域控制管理的SDN控制器负载均衡系统的一种示例,在本申请另一些实施例中,该系统300可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置,例如该系统一个省级网络可包括多个省级控制器和多个省级备用控制器,一个省级网络可对应多个市级网络,一个市级网络可以包括多个市级控制器。图示的部件可以以硬件、软件或软件和硬件的组合实现,本申请不作限定。
图4为本实施例提供的一种基于SDN控制器的负载均衡处理装置的结构框图,应用于备用控制器,为了便于说明,仅示出了与本申请实施例相关的部分。参照图4,基于SDN控制器的负载均衡处理装置400可以包括获取模块401、确定模块402、发送模块403、接收模块404。
在一种实现方式中,装置400可以用于实现上述图1所示的方法。例如,获取模块401用于实现S110,确定模块402用于实现S120至S150,发送模块403用于实现S130和S160,接收模块用于实现S140。
图5为本实施例提供的另一种基于SDN控制器的负载均衡处理装置的结构框图,应用于第一区域控制器,为了便于说明,仅示出了与本申请实施例相关的部分。参照图5,基于SDN控制器的负载均衡处理装置500可以包括接收模块501、确定模块502、发送模块503。
在一种实现方式中,装置500可以用于实现上述图2所示的方法。例如,接收模块501用于实现S210和S240,确定模块502用于实现S220,发送模块503用于实现S230。
本申请提供的技术方案,获取备用控制器和各第一区域控制器的处理能力和待处理负载;基于备用控制器和各第一区域控制器的处理能力、待处理负载、预设时长以及预设额度分配模型,确定第一区域控制器的目标分配额度;向第一区域控制器发送目标分配额度;接收来自第一区域控制器的目标请求;确定目标请求的处理结果;将处理结果发送至第一区域控制器。本申请提供的技术方案,通过部署备用控制器,将备用控制器与区域控制器直接进行通信连接,实现不同区域控制器的负载均衡,提高不同区域的网络服务质量。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图6为本实施例提供的电子设备的结构示意图。如图6所示,该实施例的电子设备6包括:至少一个处理器60(图6中仅示出一个)处理器、存储器61以及存储在所述存储器61中并可在所述至少一个处理器60上运行的计算机程序62,所述处理器60执行所述计算机程序62时实现上述任意方法实施例中的步骤。
所述电子设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该电子设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是电子设备6的举例,并不构成对电子设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),该处理器60还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61在一些实施例中可以是所述电子设备6的内部存储单元,例如电子设备6的硬盘或内存。所述存储器61在另一些实施例中也可以是所述电子设备6的外部存储设备,例如所述电子设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述电子设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种网络设备,该网络设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/电子设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于SDN控制器的负载均衡处理方法,其特征在于,应用于备用控制器,所述备用控制器与多个区域控制器通信连接,所述方法包括:
获取所述备用控制器和各第一区域控制器的处理能力和待处理负载,所述第一区域控制器为所述多个区域控制器中的任意一个;
基于所述备用控制器和各第一区域控制器的处理能力、待处理负载、预设时长以及预设额度分配模型,确定第一区域控制器的目标分配额度;
向所述第一区域控制器发送负载重定向指令,所述负载重定向指令携带所述第一区域控制器的目标分配额度;
接收来自所述第一区域控制器的协助请求消息,所述协助请求消息携带有目标请求;
基于所述协助请求消息,确定所述目标请求的处理结果;
将所述处理结果发送至所述第一区域控制器。
2.根据权利要求1所述的方法,其特征在于,所述基于所述备用控制器和各第一区域控制器的处理能力、待处理负载、预设时长以及预设额度分配模型,确定第一区域控制器的目标分配额度,包括:
基于所述备用控制器的处理能力、待处理负载及预设时长,确定分配总额度;
基于所述分配总额度、各第一区域控制器的处理能力、待处理负载和预设额度分配模型确定所述第一区域控制器的目标分配额度。
3.根据权利要求2所述的方法,其特征在于,所述预设额度分配模型为以最小化控制器请求处理时间为目标函数的优化模型。
4.根据权利要求3所述的方法,其特征在于,所述优化模型包括第一成本代价,第二成本代价和第三成本代价;所述第一成本代价用于表示所述多个区域控制器在本地处理完自身负载所需的成本代价,所述第二成本代价用于表示所述备用控制器处理完成自身负载和所述多个区域控制器上传的请求所需的成本代价,所述第三成本代价用于表示所述多个区域控制器与所述备用控制器之间的通信成本代价。
5.根据权利要求1所述的方法,其特征在于,所述向所述第一区域控制器发送负载重定向指令,包括:
当所述第一区域控制器的目标分配额度大于0时,向所述第一区域控制器发送负载重定向指令。
6.一种基于SDN控制器的负载均衡处理方法,其特征在于,应用于第一区域控制器,所述方法包括:
接收来自备用控制器的负载重定向指令,所述负载重定向指令携带所述第一区域控制器的目标分配额度;
基于所述目标分配额度,确定目标请求;
向所述备用控制器发送协助请求消息,所述协助请求消息携带有所述目标请求;
接收来自所述备用控制器的处理结果。
7.一种基于SDN控制器的负载均衡处理装置,其特征在于,应用于备用控制器,所述备用控制器与多个区域控制器通信连接,所述装置包括:
获取模块,用于获取所述备用控制器和各第一区域控制器的处理能力和待处理负载,所述第一区域控制器为所述多个区域控制器中的任意一个;
确定模块,用于基于所述备用控制器和各第一区域控制器的处理能力、待处理负载、预设时长以及预设额度分配模型,确定第一区域控制器的目标分配额度;
发送模块,用于向所述第一区域控制器发送负载重定向指令,所述负载重定向指令携带所述第一区域控制器的目标分配额度;
接收模块,用于接收来自所述第一区域控制器的协助请求消息,所述协助请求消息携带有目标请求;
所述确定模块,还用于基于所述协助请求消息,确定所述目标请求的处理结果;
所述发送模块,还用于将所述处理结果发送至所述第一区域控制器。
8.一种基于SDN控制器的负载均衡处理装置,其特征在于,应用于第一区域控制器,所述方法包括:
接收模块,用于接收来自备用控制器的负载重定向指令,所述负载重定向指令携带所述第一区域控制器的目标分配额度;
确定模块,用于基于所述目标分配额度,确定目标请求;
发送模块,用于向所述备用控制器发送协助请求消息,所述协助请求消息携带有所述目标请求;
所述接收模块,还用于接收来自所述备用控制器的处理结果。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5或权利要求6任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5或权利要求6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311553911.2A CN117614958A (zh) | 2023-11-20 | 2023-11-20 | 基于sdn控制器的负载均衡处理方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311553911.2A CN117614958A (zh) | 2023-11-20 | 2023-11-20 | 基于sdn控制器的负载均衡处理方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117614958A true CN117614958A (zh) | 2024-02-27 |
Family
ID=89957182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311553911.2A Pending CN117614958A (zh) | 2023-11-20 | 2023-11-20 | 基于sdn控制器的负载均衡处理方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117614958A (zh) |
-
2023
- 2023-11-20 CN CN202311553911.2A patent/CN117614958A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102111337B (zh) | 任务调度方法和系统 | |
CN108667777B (zh) | 一种服务链生成方法及网络功能编排器nfvo | |
CN108173698B (zh) | 网络服务管理方法、装置、服务器及存储介质 | |
CN103986766A (zh) | 自适应负载均衡作业任务调度方法及装置 | |
CN108540568B (zh) | 计算能力共享方法及智能设备 | |
CN101616083A (zh) | 一种报文转发方法和装置 | |
CN111181873B (zh) | 数据发送方法、装置、存储介质和电子设备 | |
CN108924203B (zh) | 数据副本自适应分布方法、分布式计算系统及相关设备 | |
GB2610719A (en) | Sharing geographically concentrated workload among neighboring MEC hosts of multiple carriers | |
CN103248622B (zh) | 一种自动伸缩的在线视频服务质量保障方法及系统 | |
CN112600761A (zh) | 一种资源分配的方法、装置及存储介质 | |
CN103744735A (zh) | 一种多核资源的调度方法及装置 | |
CN112882827A (zh) | 用于负载均衡的方法、电子设备和计算机程序产品 | |
CN110677301B (zh) | 一种5g网络中多交换机单控制器软件定义传输控制方法 | |
CN110113269B (zh) | 一种基于中间件的流量控制的方法及相关装置 | |
CN117614958A (zh) | 基于sdn控制器的负载均衡处理方法、装置及设备 | |
CN113835905B (zh) | 一种消息队列负载均衡方法、装置、电子设备及介质 | |
CN113395183B (zh) | 网络仿真平台vlan互联的虚拟节点调度方法与系统 | |
CN113890847B (zh) | 一种流量转发方法和装置 | |
CN115794396A (zh) | 资源分配的方法、系统和电子设备 | |
CN111858019B (zh) | 任务调度方法、装置及计算机可读存储介质 | |
CN117676901B (zh) | 基于fpga的5g信号处理方法及系统 | |
CN111756652A (zh) | 消息传输及消息队列管理方法、装置及系统 | |
CN113098914B (zh) | 消息总线系统及消息传输方法、装置、电子设备 | |
CN116055565B (zh) | 一种数据传输方法、系统、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |