CN113377539A - 实现负载均衡的处理方法及装置 - Google Patents
实现负载均衡的处理方法及装置 Download PDFInfo
- Publication number
- CN113377539A CN113377539A CN202110650757.5A CN202110650757A CN113377539A CN 113377539 A CN113377539 A CN 113377539A CN 202110650757 A CN202110650757 A CN 202110650757A CN 113377539 A CN113377539 A CN 113377539A
- Authority
- CN
- China
- Prior art keywords
- service
- load
- service equipment
- service device
- equipment
- 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 18
- 238000012545 processing Methods 0.000 claims abstract description 73
- 238000011002 quantification Methods 0.000 claims abstract description 24
- 238000000034 method Methods 0.000 claims description 40
- 238000013139 quantization Methods 0.000 claims description 29
- 230000015654 memory Effects 0.000 claims description 17
- 230000003044 adaptive effect Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- 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
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开提供了一种实现负载均衡的处理方法,包括:针对业务设备集群中的任意业务设备执行以下操作:获取所述业务设备在预设统计周期内的任务配置信息;基于所述任务配置信息,确定针对所述业务设备的负载反馈周期;获取所述业务设备在所述负载反馈周期内的负载量化信息;基于所述负载量化信息,确定与所述业务设备关联的分配权重,以实现根据与各所述业务设备关联的分配权重,确定用于处理业务请求的目标业务设备。本公开还提供了一种实现负载均衡的处理装置、一种电子设备及一种计算机存储介质。
Description
技术领域
本公开涉及计算机技术领域,特别是涉及一种实现负载均衡的处理方法及装置。
背景技术
负载均衡是一种用于扩展业务处理能力的计算机技术,其能够将并发业务请求产生的负载,均衡分配给服务节点集群中的业务设备,充分发挥集群的并行处理能力,提高集群的资源利用率和业务处理效率。
在实现本公开技术方案过程中,发明人发现在目前的负载均衡技术中,通常定时周期性地获取业务设备的负载信息,基于负载信息进行业务请求的均衡分配。当业务设备的负载发生较大变化时,该种方式无法及时获知负载变化,会对负载均衡的准确性产生一定的影响。
发明内容
本公开的一个方面提供了一种实现负载均衡的处理方法,包括:针对业务设备集群中的任意业务设备执行以下操作:获取所述业务设备在预设统计周期内的任务配置信息;基于所述任务配置信息,确定针对所述业务设备的负载反馈周期;获取所述业务设备在所述负载反馈周期内的负载量化信息;基于所述负载量化信息,确定与所述业务设备关联的分配权重,以实现根据与各所述业务设备关联的分配权重,确定用于处理业务请求的目标业务设备。
可选地,所述获取所述业务设备在预设统计周期内的任务配置信息,包括:获取所述业务设备在所述统计周期内被分配的业务请求数量;所述基于所述任务配置信息,确定针对所述业务设备的负载反馈周期,包括:根据所述业务设备在所述统计周期内被分配的业务请求数量的变化量,以及根据所述变化量与所述负载反馈周期间的预设对应关系,确定针对所述业务设备的所述负载反馈周期。
可选地,所述预设对应关系包括所述变化量与所述负载反馈周期呈负相关关系。
可选地,所述获取所述业务设备在所述负载反馈周期内的负载量化信息,包括:根据针对所述业务设备的最新的负载反馈周期,在定时器到达所述负载反馈周期的情况下,请求获取所述业务设备的所述负载量化信息。
可选地,所述基于所述负载量化信息,确定与所述业务设备关联的分配权重,包括:根据所述业务设备的配置容量和所述负载量化信息,计算所述业务设备的可用容量;基于所述可用容量,将所述业务设备划分至相适应的业务设备子集中,其中,所述业务设备子集是根据所述业务设备集群中的各业务设备的可用容量进行划分得到的;将所述业务设备子集中的各业务设备的可用容量总数,与所述业务设备集群中的各业务设备的可用容量总数的对比值,作为针对所述业务设备子集的子集权重;将针对所述业务设备子集的子集权重,作为与所述业务设备关联的分配权重。
可选地,所述负载量化信息包括CPU利用率、内存利用率和网络带宽占用率中的至少之一。
本公开的另一方面提供了一种实现负载均衡的处理装置,用于对业务设备集群中的任意业务设备执行以下操作,所述装置包括:第一获取模块,用于获取所述业务设备在预设统计周期内的任务配置信息;第一处理模块,用于基于所述任务配置信息,确定针对所述业务设备的负载反馈周期;第二获取模块,用于获取所述业务设备在所述负载反馈周期内的负载量化信息;第二处理模块,用于基于所述负载量化信息,确定与所述业务设备关联的分配权重;以及第三处理模块,用于实现根据与各所述业务设备关联的分配权重,确定用于处理业务请求的目标业务设备。
可选地,所述第一获取模块包括:第一获取子模块,用于获取所述业务设备在所述统计周期内被分配的业务请求数量;所第一处理模块包括:第一处理子模块,用于根据所述业务设备在所述统计周期内被分配的业务请求数量的变化量,以及根据所述变化量与所述负载反馈周期间的预设对应关系,确定针对所述业务设备的所述负载反馈周期。
可选地,所述预设对应关系包括所述变化量与所述负载反馈周期呈负相关关系。
可选地,所述第二获取模块包括:第二获取子模块,用于根据针对所述业务设备的最新的负载反馈周期,在定时器到达所述负载反馈周期的情况下,请求获取所述业务设备的所述负载量化信息。
可选地,所述第二处理模块包括:第二处理子模块,用于根据所述业务设备的配置容量和所述负载量化信息,计算所述业务设备的可用容量;第三处理子模块,用于基于所述可用容量,将所述业务设备划分至相适应的业务设备子集中,其中,所述业务设备子集是根据所述业务设备集群中的各业务设备的可用容量进行划分得到的;第四处理子模块,用于将所述业务设备子集中的各业务设备的可用容量总数,与所述业务设备集群中的各业务设备的可用容量总数的对比值,作为针对所述业务设备子集的子集权重;第五处理子模块,用于将针对所述业务设备子集的子集权重,作为与所述业务设备关联的分配权重。
可选地,所述负载量化信息包括CPU利用率、内存利用率和网络带宽占用率中的至少之一。
本公开的另一方面提供了一种电子设备,包括一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本公开实施例的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现本公开实施例的方法。
本公开的另一方面提供了一种计算机程序产品,包括计算机可读指令,其中,所述计算机可读指令被执行时用于执行本公开实施例的实现负载均衡的处理方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中,
图1示意性示出了根据本公开实施例的实现负载均衡的处理方法及装置的系统架构;
图2示意性示出了根据本公开实施例的一种实现负载均衡的处理方法的流程图;
图3示意性示出了根据本公开实施例的另一实现负载均衡的处理方法的流程图;
图4示意性示出了根据本公开实施例的又一实现负载均衡的处理方法的流程图;
图5示意性示出了根据本公开实施例的一种实现负载均衡的处理装置的框图;
图6示意性示出了根据本公开实施例的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性地,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了特征、操作、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、操作、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程实现负载均衡的处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
本公开的实施例提供了一种实现负载均衡的处理方法以及能够应用该方法的处理装置。本方法包括针对业务设备集群中的任意业务设备执行以下操作,首先,获取业务设备在预设统计周期内的任务配置信息,以及基于任务配置信息,确定针对业务设备的负载反馈周期,然后,获取业务设备在负载反馈周期内的负载量化信息,并基于负载量化信息,确定与业务设备关联的分配权重,以实现根据与各业务设备关联的分配权重,确定用于处理业务请求的目标业务设备。
图1示意性示出了根据本公开实施例的实现负载均衡的处理方法及装置的系统架构。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,系统架构100包括负载均衡器101和业务设备集群,业务设备集群中包括多个业务设备(如业务设备102~10N)。业务设备102~10N用于处理来自用户端或计算机设备端的业务请求,业务设备102~10N具体可以是不同类型的设备,例如可以是流媒体服务器、Web服务器、FTP服务器或者其他任务服务器。负载均衡器101用于将并发业务请求产生的负载,均衡分配给业务设备集群中的业务设备102~10N,其能够支持调度不同类型和处理能力的业务设备。
具体地,在执行负载均衡操作时,负载均衡器101可以对业务设备集群中的任意业务设备执行以下操作:负载均衡器101获取业务设备(如业务设备102)在预设统计周期内的任务配置信息,以及基于任务配置信息,确定针对业务设备(业务设备102)的负载反馈周期,然后,负载均衡器101获取该业务设备(业务设备102)在负载反馈周期内的负载量化信息,并基于负载量化信息,确定与业务设备(业务设备102)关联的分配权重,以此实现确定与各业务设备(业务设备102~10N)关联的分配权重,以及根据与各业务设备关联的分配权重,确定用于处理业务请求的目标业务设备。
需要说明的是,本公开实施例的实现负载均衡的处理方法和装置可用于金融领域,也可用于除金融领域之外的任意领域。以下将结合附图和具体实施例详细阐述本公开。
图2示意性示出了根据本公开实施例的一种实现负载均衡的处理方法的流程图,方法200可由负载均衡器执行,负载均衡器可以对业务设备集群中的任意业务设备执行以下操作,如图2所示,方法200可以包括操作S210~S240。
在操作S210,获取业务设备在预设统计周期内的任务配置信息。
在本实施例中,具体地,业务设备用于处理源自用户端或计算机设备端的业务请求,源自用户端的业务请求例如可以包括登录请求、访问请求、通信连接请求、业务处理请求等,源自计算机设备端的业务请求具体可以是计算机设备中自动产生的请求,例如可以是接口调用请求等。在不同业务场景中,业务请求的类型和来源可以不同,本申请对此不进行限定。
业务设备基于被分配的业务请求,根据业务请求对应的预设处理逻辑进行业务处理。业务设备可以包括不同类型的设备,例如可以包括流媒体服务器、Web服务器、FTP服务器、应用服务器等不同任务类型的服务器,业务设备可以是实体服务器,也可以是虚拟服务器,本申请对此不做限制。其中,不同业务设备可以直接支持负载均衡器的调度与部署,也可通过设备管理器实现与负载均衡器间的信息传递。
针对业务设备集群中的任意业务设备,负载均衡器获取业务设备在预设统计周期内的任务配置信息,统计周期大小可以保持不变,示例性地,统计周期Tlinks=1s。获取各业务设备在统计周期内的任务配置信息,任务配置信息具体可以包括业务设备被分配的业务请求数量、任务优先级、任务运行状态等信息。获取任务配置信息的方式可以包括直接向业务设备请求获取、从设备管理器中获取、以访问数据库服务器方式获取、从自身的任务分配模块中获取等。
接下来,在操作S220,基于任务配置信息,确定针对业务设备的负载反馈周期。
在本实施例中,具体地,在人工预先定义完成针对业务设备的负载反馈初始化周期后,根据获取的业务设备在各个统计周期内的任务配置信息,确定是否需要更新与业务设备关联的负载反馈周期。示例性地,当任务配置信息指示业务设备在对应统计周期内被分配的业务请求数量过高或者被分配的任务请求数量的变化量较大时,通过实时更新负载反馈周期的方式改变获取业务设备负载情况的频率。
接下来,在操作S230,获取业务设备在负载反馈周期内的负载量化信息。
在本实施例中,具体地,针对业务设备集群中的任意业务设备,根据与业务设备关联的最新的负载反馈周期,在定时器到达负载反馈周期的情况下,请求获取业务设备的负载量化信息。具体地,可以直接向业务设备请求获取负载量化信息,也可以向设备管理器请求获取业务设备的负载量化信息。负载量化信息可由一个或者多个负载性能指标进行表征,负载性能指标例如可以包括CPU利用率、内存利用率、网络带宽占用率、虚拟房间数量、可接入用户数量等,负载量化信息指示业务设备的负载程度及可用资源信息。实际应用中,可以通过一个负载性能指标单独衡量业务设备的可用资源信息,也可通过多个负载性能指标综合评估业务设备的可用资源信息。
接下来,在操作S240,基于负载量化信息,确定与业务设备关联的分配权重,以实现根据与各业务设备关联的分配权重,确定用于处理业务请求的目标业务设备。
在本实施例中,具体地,负载量化信息指示业务设备的负载程度及可用资源信息,可用资源与业务设备的负载能力相对应,可用资源越多表征业务设备还可以负载更多的业务请求,因此可以基于负载量化信息,确定与业务设备关联的分配权重。由于负载量化信息是基于动态更新的负载反馈周期获取得到的,根据负载量化信息确定针对业务设备的分配权重,有利于在有突发事件造成业务设备负载过重或负载无规律时,及时根据负载情况自动调整针对业务设备的分配权重,能够很好地避免因负载情况反馈不及时,造成业务设备负载压力过大甚至宕机的情况。
通过本公开实施例,获取业务设备在预设统计周期内的任务配置信息;基于任务配置信息,确定针对业务设备的负载反馈周期;获取业务设备在负载反馈周期内的负载量化信息;基于负载量化信息,确定与业务设备关联的分配权重,以实现根据与各业务设备关联的分配权重,确定用于处理业务请求的目标业务设备。通过获取业务设备在统计周期内的任务配置信息,基于任务配置信息,动态调整针对业务设备的负载反馈周期。根据任务配置信息动态调整针对业务设备的负载反馈周期,一方面有利于提高业务设备负载情况反馈的及时性,能够有效避免业务请求分配不均造成集群负载倾斜的现象,能够有效避免负载反馈实时性差造成业务设备负载压力过大甚至宕机的情况,有利于优化负载均衡效果,提升集群资源利用率;另一方面,根据周期性获取的任务配置信息,确定是否需要调整针对业务设备的负载反馈周期,有利于在实现负载均衡的基础上,有效控制负载更新计算的次数及频率,提高负载均衡运算的有效性,改善集群负载均衡效率。
图3示意性示出了根据本公开实施例的另一实现负载均衡的处理方法的流程图,方法300可由负载均衡器执行,负载均衡器可以对业务设备集群中的任意业务设备执行以下操作,如图3所示,方法300可以包括操作S310~S320、S230及S240。
在操作S310,获取业务设备在统计周期内被分配的业务请求数量。
在本实施例中,具体地,获取业务设备在统计周期内被分配的业务请求数量,业务请求数量反映业务设备在统计周期内的负载增加量。当存在业务设备在统计周期内的负载增加过多时,需要针对该业务设备进行更加细致的负载情况度量,以避免因负载情况反馈不及时造成业务设备负载过重的情况。
接下来,在操作S320,根据业务设备在统计周期内被分配的业务请求数量的变化量,以及根据变化量与负载反馈周期间的预设对应关系,确定针对业务设备的负载反馈周期。
在本实施例中,具体地,预设对应关系包括变化量与负载反馈周期呈负相关关系,业务请求数量的变化量越大,针对业务设备的负载反馈周期越小,获取业务设备的负载量化信息的频率越高。实际应用中,获取业务设备在各个统计周期内被分配的业务请求数量,示例性地,获取Web服务器在每1s内新接入的登录请求数量。基于业务请求数量的变化量,确定是否需要更新针对业务设备的负载反馈周期,具体地,根据变化量大小所处的区间,以及根据变化量与负载反馈周期间的预设对应关系,确定与变化量大小对应的负载反馈周期间。总体来说,业务设备在统计周期内的负载变化越频繁,针对业务设备的负载信息反馈频率越高,与业务设备关联的负载反馈周期越小。因此,在有突发事件造成业务设备运行超出常规或者运行无规律时,针对业务设备的负载反馈周期间可以根据当前业务设备的负载变化情况进行自动调整。
接下来,在操作S230,获取业务设备在负载反馈周期内的负载量化信思。
在本实施例中,具体地,由于针对业务设备的负载反馈周期可能是动态更新的,因此,根据与业务设备关联的最新的负载反馈周期,在定时器到达负载反馈周期的情况下,请求获取业务设备的负载量化信息。负载量化信息指示业务设备的负载程度及可用资源信息,可用资源信息指示业务设备还能够负载的业务请求数量,可用资源越多表征业务设备还可以负载更多的业务请求,用于衡量可用资源信息的负载性能指标例如可以包括CPU利用率、内存利用率、网络带宽占用率、虚拟房间数量、可接入用户数量、用户数据流带宽特征等。
接下来,在操作S240,基于负载量化信息,确定与业务设备关联的分配权重,以实现根据与各业务设备关联的分配权重,确定用于处理业务请求的目标业务设备。
在本实施例中,具体地,基于负载量化信息,确定与业务设备关联的分配权重,包括:根据业务设备的配置容量和负载量化信息,计算业务设备的可用容量;基于可用容量,将业务设备划分至相适应的业务设备子集中,其中,业务设备子集是根据业务设备集群中的各业务设备的可用容量进行划分得到的;将业务设备子集中的各业务设备的可用容量总数,与业务设备集群中的各业务设备的可用容量总数的对比值,作为针对业务设备子集的子集权重;将针对业务设备子集的子集权重,作为与业务设备关联的分配权重。
基于动态更新的负载反馈周期,获取业务设备在负载反馈周期内的负载量化信息。根据最新获取的负载量化信息,同时结合业务设备的配置容量,计算业务设备在当前负载反馈周期内的可用容量(也即计算业务设备在当前负载反馈周期内的负载程度),然后基于可用容量确定业务设备所属的业务设备子集。其中,业务设备子集是根据预设组别划分规则划分得到的,例如将可用容量差值小于预设阈值的多个业务设备划分至同一业务设备子集。示例性地,基于预设组别划分规则,根据可用容量大小,将业务设备集群划分为大容量、中等容量、小容量共3个业务设备子集,或者根据相对于可用容量大小的负载程度大小,将业务设备集群划分为高负载、正常负载、低负载共3个业务设备子集。
在确定出业务设备所属的业务设备子集后,将业务设备子集中的各业务设备的可用容量总数,与业务设备集群中的各业务设备的可用容量总数的对比值,作为针对业务设备子集的子集权重。然后,将针对业务设备子集的子集权重,作为与业务设备关联的分配权重,即认为相同业务设备子集中的不同业务设备具有相同的分配权重。其中,业务设备子集的可用容量总数与业务设备集群的可用容量总数的对比值,可以是二者比值,也可以是二者差值,本申请在此不进行限定。子集权重的数值越大,表征业务设备子集中的可用资源越多,业务设备子集的当前负载程度越小,其在当前时间内的可负载能力越强。
针对同一业务设备,当其在不同负载反馈周期内的负载量化信息不同时,其可能会被划分至不同的业务设备子集中。同样地,针对同一业务设备子集,其被划分到的业务设备可能不断更新,业务设备子集中各业务设备的可用容量总数也随之可能不断更新。因此,针对相同业务设备子集的子集权重可能发生改变,针对同一业务设备的分配权重也随之可能不断更新。根据业务设备的分配权重将对应数量的业务请求分配给对应的业务设备子集,实现了不同业务设备子集间负载分配的均衡性,能够有效避免因业务请求分配不均造成业务设备负载超负荷,影响业务请求处理效率甚至发生宕机的可能。
图4示意性示出了根据本公开实施例的又一实现负载均衡的处理方法的流程图,如图4所示,方法400可以包括操作A1~A8、B1~B5和C1~C4,负载均衡器包括负载信息收集模块、负载反馈周期更新模块、业务设备分类模块、任务分配模块和负载迁移模块。
负载信息收集模块用于基于预设统计周期,获取业务设备在统计周期内被分配的业务请求数量,以及基于动态更新的负载反馈周期,获取业务设备在对应负载反馈周期内的负载量化信息。
负载反馈周期更新模块用于根据业务设备在统计周期内被分配的业务请求数量的变化量,动态更新负载反馈周期T及对应的定时器。
业务设备分类模块用于根据获取的负载量化信息更新业务设备所属分类,确定与业务设备相匹配的业务设备子集。
任务分配模块用于根据业务设备的分类结果,选取用于处理业务请求的目标业务设备。具体地,根据业务设备集群的子集划分结果,确定用于处理业务请求的目标业务设备子集,然后在目标业务设备子集中,基于例如轮询筛选算法、随机筛选算法、最大可用容量筛选算法等方式确定用于处理业务请求的目标业务设备。
负载迁移模块用于在存在业务设备负载超负荷的情况下,将分配给超负荷业务设备的业务请求随机转发给低负载业务设备。
具体地,在方法400中,
A1~A8:针对业务请求的处理过程
在用户端发起业务请求后(也可以是计算机设备端发起业务请求),负载均衡器获取业务请求,并将业务请求归置于全局唯一的任务请求队列中,以实现由负载均衡器依次为任务请求队列中的任务分配业务设备集群节点。在任务分配完成后,负载均衡器将业务请求转发至分配的集群节点进行处理,并在任务执行过程中保持信息交互,直至任务处理完成。
B1~B5:动态更新负载反馈周期T和业务设备所属分类的过程
负载均衡器获取各业务设备在统计周期内的任务配置信息,基于任务配置信息确定是否更新与各业务设备关联的负载反馈周期T,以实现动态修改业务设备的负载反馈周期T。
当业务设备的负载反馈周期T的定时器到期,由负载均衡器请求获取该业务设备的负载量化信息,然后根据该业务设备返回的负载量化信息,更新业务设备的所属分类,以此提高集群系统负载均衡的准确性。
C1~C4:负载迁移的过程
基于负载量化信息判断业务设备当前负载是否超负荷,若是,将该业务设备上的部分任务迁移至低负载类业务设备中。具体地,基于负载量化信息,判断业务设备的负载量化值是否超过第一预设阈值,若是则在业务设备被分配的业务请求中,随机选取待均衡处理的业务请求,并将待均衡处理的业务请求分配给负载量化值低于第二预设阈值的业务设备。
图5示意性示出了根据本公开实施例的一种实现负载均衡的处理装置的框图。
如图5所示,装置500包括第一获取模块501、第一处理模块502、第二获取模块503、第二处理模块504和第三处理模块505。针对业务设备集群中的任意业务设备,第一获取模块501用于获取业务设备在预设统计周期内的任务配置信息;第一处理模块502基于任务配置信息,确定针对业务设备的负载反馈周期;第二获取模块503获取业务设备在负载反馈周期内的负载量化信息;第二处理模块504基于负载量化信息,确定与业务设备关联的分配权重,以及第三处理模块505用于根据与各业务设备关联的分配权重,确定用于处理业务请求的目标业务设备。
通过本公开实施例,获取业务设备在预设统计周期内的任务配置信息;基于任务配置信息,确定针对业务设备的负载反馈周期;获取业务设备在负载反馈周期内的负载量化信息;基于负载量化信息,确定与业务设备关联的分配权重,以实现根据与各业务设备关联的分配权重,确定用于处理业务请求的目标业务设备。通过获取业务设备在统计周期内的任务配置信息,基于任务配置信息,动态调整针对业务设备的负载反馈周期。根据任务配置信息动态调整针对业务设备的负载反馈周期,一方面有利于提高业务设备负载情况反馈的及时性,能够有效避免业务请求分配不均造成集群负载倾斜的现象,能够有效避免负载反馈实时性差造成业务设备负载压力过大甚至宕机的情况,有利于优化负载均衡效果,提升集群资源利用率;另一方面,根据周期性获取的任务配置信息,确定是否需要调整针对业务设备的负载反馈周期,有利于在实现负载均衡的基础上,有效控制负载更新计算的次数及频率,提高负载均衡运算的有效性,改善集群负载均衡效率。
作为一种可行的实施例,第一获取模块包括:第一获取子模块,用于获取业务设备在统计周期内被分配的业务请求数量;所第一处理模块包括:第一处理子模块,用于根据业务设备在统计周期内被分配的业务请求数量的变化量,以及根据变化量与负载反馈周期间的预设对应关系,确定针对业务设备的负载反馈周期。
作为一种可行的实施例,预设对应关系包括变化量与负载反馈周期呈负相关关系。
作为一种可行的实施例,第二获取模块包括:第二获取子模块,用于根据针对业务设备的最新的负载反馈周期,在定时器到达负载反馈周期的情况下,请求获取业务设备的负载量化信息。
作为一种可行的实施例,第二处理模块包括:第二处理子模块,用于根据业务设备的配置容量和负载量化信息,计算业务设备的可用容量;第三处理子模块,用于基于可用容量,将业务设备划分至相适应的业务设备子集中,其中,业务设备子集是根据业务设备集群中的各业务设备的可用容量进行划分得到的;第四处理子模块,用于将业务设备子集中的各业务设备的可用容量总数,与业务设备集群中的各业务设备的可用容量总数的对比值,作为针对业务设备子集的子集权重;第五处理子模块,用于将针对业务设备子集的子集权重,作为与业务设备关联的分配权重。
作为一种可行的实施例,负载量化信息包括CPU利用率、内存利用率和网络带宽占用率中的至少之一。
需要说明的是,在本公开实施例中,装置部分的实施方式与方法部分的实施方式相同或类似,在此不再赘述。
根据本公开的实施例的模块中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者根据本公开实施例的模块中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一获取模块501、第一处理模块502、第二获取模块503、第二处理模块504和第三处理模块505中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一获取模块501、第一处理模块502、第二获取模块503、第二处理模块504和第三处理模块505中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。第一获取模块501、第一处理模块502、第二获取模块503、第二处理模块504和第三处理模块505中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图6示意性示出了适于实现根据本公开实施例的处理方法和处理装置的电子设备600的方框图。图6示出的电子设备600仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,根据本公开实施例的电子设备600包括处理器601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。处理器601例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器601还可以包括用于缓存用途的板载存储器。处理器601可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 603中,存储有电子设备600操作所需的各种程序和数据。处理器601、ROM602以及RAM 603通过总线604彼此相连。处理器601通过执行ROM 602和/或RAM 603中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,程序也可以存储在除ROM602和RAM 603以外的一个或多个存储器中。处理器601也可以通过执行存储在一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备600还可以包括输入/输出(I/O)接口605,输入/输出(I/O)接口605也连接至总线604。电子设备600还可以包括连接至I/O接口605的以下部件中的一项或多项:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被处理器601执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 602和/或RAM 603和/或ROM 602和RAM 603以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的用于文件上传漏洞的检测方法。
在该计算机程序被处理器601执行时,执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分609被下载和安装,和/或从可拆卸介质611被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (10)
1.一种实现负载均衡的处理方法,包括:针对业务设备集群中的任意业务设备执行以下操作:
获取所述业务设备在预设统计周期内的任务配置信息;
基于所述任务配置信息,确定针对所述业务设备的负载反馈周期;
获取所述业务设备在所述负载反馈周期内的负载量化信息;
基于所述负载量化信息,确定与所述业务设备关联的分配权重,以实现根据与各所述业务设备关联的分配权重,确定用于处理业务请求的目标业务设备。
2.根据权利要求1所述的方法,其中,
所述获取所述业务设备在预设统计周期内的任务配置信息,包括:
获取所述业务设备在所述统计周期内被分配的业务请求数量;
所述基于所述任务配置信息,确定针对所述业务设备的负载反馈周期,包括:
根据所述业务设备在所述统计周期内被分配的业务请求数量的变化量,以及根据所述变化量与所述负载反馈周期间的预设对应关系,确定针对所述业务设备的所述负载反馈周期。
3.根据权利要求2所述的方法,其中,所述预设对应关系包括所述变化量与所述负载反馈周期呈负相关关系。
4.根据权利要求1所述的方法,其中,所述获取所述业务设备在所述负载反馈周期内的负载量化信息,包括:
根据针对所述业务设备的最新的负载反馈周期,在定时器到达所述负载反馈周期的情况下,请求获取所述业务设备的所述负载量化信息。
5.根据权利要求1所述的方法,其中,所述基于所述负载量化信息,确定与所述业务设备关联的分配权重,包括:
根据所述业务设备的配置容量和所述负载量化信息,计算所述业务设备的可用容量;
基于所述可用容量,将所述业务设备划分至相适应的业务设备子集中,其中,所述业务设备子集是根据所述业务设备集群中的各业务设备的可用容量进行划分得到的;
将所述业务设备子集中的各业务设备的可用容量总数,与所述业务设备集群中的各业务设备的可用容量总数的对比值,作为针对所述业务设备子集的子集权重;以及
将针对所述业务设备子集的子集权重,作为与所述业务设备关联的分配权重。
6.根据权利要求5所述的方法,其中,所述负载量化信息包括CPU利用率、内存利用率和网络带宽占用率中的至少之一。
7.根据权利要求1至6中任一项所述的方法,还包括:
基于所述负载量化信息,判断所述业务设备的负载量化值是否超过第一预设阈值;以及
若是,在所述业务设备被分配的业务请求中,随机选取待均衡处理的业务请求;
将所述待均衡处理的业务请求分配给负载量化值低于第二预设阈值的业务设备。
8.一种实现负载均衡的处理装置,用于对业务设备集群中的任意业务设备执行以下操作,所述装置包括:
第一获取模块,用于获取所述业务设备在预设统计周期内的任务配置信息;
第一处理模块,用于基于所述任务配置信息,确定针对所述业务设备的负载反馈周期;
第二获取模块,用于获取所述业务设备在所述负载反馈周期内的负载量化信息;
第二处理模块,用于基于所述负载量化信息,确定与所述业务设备关联的分配权重;以及
第三处理模块,用于实现根据与各所述业务设备关联的分配权重,确定用于处理业务请求的目标业务设备。
9.一种电子设备,包括:
一个或多个处理器;以及
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110650757.5A CN113377539A (zh) | 2021-06-10 | 2021-06-10 | 实现负载均衡的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110650757.5A CN113377539A (zh) | 2021-06-10 | 2021-06-10 | 实现负载均衡的处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113377539A true CN113377539A (zh) | 2021-09-10 |
Family
ID=77573788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110650757.5A Pending CN113377539A (zh) | 2021-06-10 | 2021-06-10 | 实现负载均衡的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113377539A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113923166A (zh) * | 2021-10-22 | 2022-01-11 | 北京字跳网络技术有限公司 | 负载均衡方法和分布式集群系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103582015A (zh) * | 2012-07-18 | 2014-02-12 | 中国移动通信集团设计院有限公司 | 一种实现负载均衡的方法及装置 |
CN107566535A (zh) * | 2017-10-27 | 2018-01-09 | 武汉大学 | 一种Web地图服务中基于用户并发访问时序规则的自适应负载均衡策略 |
CN109936613A (zh) * | 2017-12-19 | 2019-06-25 | 北京京东尚科信息技术有限公司 | 应用于服务器的容灾方法和装置 |
CN110609747A (zh) * | 2019-08-29 | 2019-12-24 | 联想(北京)有限公司 | 信息处理方法及电子设备 |
CN112131006A (zh) * | 2020-09-27 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 业务请求分配方法、装置、计算机设备和存储介质 |
-
2021
- 2021-06-10 CN CN202110650757.5A patent/CN113377539A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103582015A (zh) * | 2012-07-18 | 2014-02-12 | 中国移动通信集团设计院有限公司 | 一种实现负载均衡的方法及装置 |
CN107566535A (zh) * | 2017-10-27 | 2018-01-09 | 武汉大学 | 一种Web地图服务中基于用户并发访问时序规则的自适应负载均衡策略 |
CN109936613A (zh) * | 2017-12-19 | 2019-06-25 | 北京京东尚科信息技术有限公司 | 应用于服务器的容灾方法和装置 |
CN110609747A (zh) * | 2019-08-29 | 2019-12-24 | 联想(北京)有限公司 | 信息处理方法及电子设备 |
CN112131006A (zh) * | 2020-09-27 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 业务请求分配方法、装置、计算机设备和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113923166A (zh) * | 2021-10-22 | 2022-01-11 | 北京字跳网络技术有限公司 | 负载均衡方法和分布式集群系统 |
CN113923166B (zh) * | 2021-10-22 | 2024-02-23 | 北京字跳网络技术有限公司 | 负载均衡方法和分布式集群系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109218355B (zh) | 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法 | |
US9575810B2 (en) | Load balancing using improved component capacity estimation | |
US10129332B2 (en) | Load balancing of distributed services | |
CN105491138B (zh) | 一种基于负载率分级触发的分布式负载调度方法 | |
US10555142B2 (en) | Adaptive multi-tenant monitoring in resource constrained environments | |
KR20170029263A (ko) | 부하 분산 장치 및 방법 | |
US8024737B2 (en) | Method and a system that enables the calculation of resource requirements for a composite application | |
KR101923706B1 (ko) | 확률적 스로틀링 | |
KR101941282B1 (ko) | 가상 데스크톱 서비스 제공 방법 및 장치 | |
CN105743962A (zh) | 端对端数据中心性能控制 | |
US10356167B1 (en) | Workload profiling | |
US9898315B1 (en) | Management of demand for virtual computing resources | |
US11496413B2 (en) | Allocating cloud computing resources in a cloud computing environment based on user predictability | |
US10069757B1 (en) | Reserved network device capacity | |
CN111131486B (zh) | 执行节点的负载调节方法、装置、服务器及存储介质 | |
US10778772B2 (en) | Cloud platform or cloud provider selection | |
CN111666131A (zh) | 负载均衡分配方法、装置、计算机设备和存储介质 | |
US8819239B2 (en) | Distributed resource management systems and methods for resource management thereof | |
US9594596B2 (en) | Dynamically tuning server placement | |
CN113377539A (zh) | 实现负载均衡的处理方法及装置 | |
CN112995307A (zh) | 日志处理方法、系统、装置、电子设备及存储介质 | |
Chen et al. | Towards resource-efficient cloud systems: Avoiding over-provisioning in demand-prediction based resource provisioning | |
CN109842665B (zh) | 用于任务分配服务器的任务处理方法和装置 | |
US11106680B2 (en) | System, method of real-time processing under resource constraint at edge | |
CN112491066A (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 |