CN111124681A - 一种集群负载分配方法及装置 - Google Patents

一种集群负载分配方法及装置 Download PDF

Info

Publication number
CN111124681A
CN111124681A CN201911350681.3A CN201911350681A CN111124681A CN 111124681 A CN111124681 A CN 111124681A CN 201911350681 A CN201911350681 A CN 201911350681A CN 111124681 A CN111124681 A CN 111124681A
Authority
CN
China
Prior art keywords
cluster
sub
cpu
memory
utilization rate
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.)
Granted
Application number
CN201911350681.3A
Other languages
English (en)
Other versions
CN111124681B (zh
Inventor
黄焱
王鹏
谢高辉
梁志伟
张帆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Wu Zhou Information Technology Co ltd
Original Assignee
Guangzhou Wu Zhou Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Wu Zhou Information Technology Co ltd filed Critical Guangzhou Wu Zhou Information Technology Co ltd
Priority to CN201911350681.3A priority Critical patent/CN111124681B/zh
Publication of CN111124681A publication Critical patent/CN111124681A/zh
Application granted granted Critical
Publication of CN111124681B publication Critical patent/CN111124681B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multi Processors (AREA)

Abstract

本发明公开了一种集群负载分配方法及装置,所述方法首先计算集群中每个子集群的子集群CPU使用率、子集群内存使用率以及子集群综合负载值,以及集群总体的集群CPU使用率、集群内存使用率,然后根据上述数据对各个子集群进行分类,紧接着对待分配负载进行分类,并根据待分配负载的类别选取与其类别互补的子集群中综合负载值最小的子集群,作为目标子集群,然后将目标子集群中各个节点进行分类;再次根据互补原则选取出目标节点,最后将待分配接入到目标节点,实现了待分配负载的分配;通过实施本发明实施例能够解决现有技术负载分配不均衡的问题。

Description

一种集群负载分配方法及装置
技术领域
本发明涉及集群负载分配技术领域,尤其涉及一种集群负载分配方法及装置。
背景技术
现有大规模数据中心面临集群规模大、负载类型多、负载分配难的问题。通常采用时间片轮转分配法或者最小节点分配法进行负载分配。时间片轮转属于随机分配分配方式,该方式会产生节点负载分配不均、节点资源浪费的问题;最小节点分配法每次将负载分配到负载最小的节点,会导致节点状态呈“扇形”的分布,同时也会产生负载分配不均衡的问题。
发明内容
本发明实施例提供一种集群负载分配方法及装置能解决现有技术集群负载分配不均的问题。
本发明一实施例提供一种集群负载分配方法,包括:
根据集群中每一子集群内所有节点的CPU使用率以及内存使用率,计算每一所述子集群的子集群CPU使用率、子集群内存使用率以及子集群综合负载值;其中,所述集群包括若干子集群,每一所述子集群包括若干节点;
根据所有所述子集群的子集群CPU使用率和子集群内存使用率,计算所述集群的集群CPU使用率和集群内存使用率;
逐一将每一所述子集群的子集群CPU使用率和子集群内存使用率,与所述集群CUP使用率和集群内存使用率进行比对,并根据比对结果将各所述子集群进行分类;
计算所述集群中负载的CPU请求量均值和内存请求量均值,继而将待分配负载的CPU请求量和内存请求量,与所述CPU请求量均值和内存请求量均值进行比对,并根据比对结果对所述待分配负载进行分类;
将与所述待分配负载所属类型互补且综合负载值最低的子集群作为目标子集群,继而将所述目标子集群中的各个节点进行分类;
根据所述待分配负载的类型以及所述目标子集群中各节点的类型,确定目标节点,继而将所述待分配负载分配至所述目标节点中。
进一步的,所述根据同一子集群内所有节点的CPU使用率以及内存使用率,计算每一所述子集群的子集群CPU使用率、子集群内存使用率以及子集群综合负载值,具体包括:
通过以下公式计算每一所述子集群的子集群CPU使用率:
Figure BDA0002334583920000021
通过以下公式计算每一所述子集群的子集群内存使用率:
Figure BDA0002334583920000022
通过以下公式计算每一所述子集群的子集群综合负载值:
Figure BDA0002334583920000023
其中,Ci为子集群CPU使用率、Mi为子集群内存使用率、Loadi为子集群综合负载值、Nn为子集群内的节点数量、cij表示节点的CPU使用率、mij表示节点的内存使用率、1≤j≤Nn、1≤i≤n、n为所述子集群的数量。
进一步的,所述根据所有所述子集群的子集群CPU使用率和子集群内存使用率,计算所述集群的集群CPU使用率和集群内存使用率,具体包括:
通过以下公式计算所述集群的集群CPU使用率:
Figure BDA0002334583920000024
通过以下公式计算所述集群的集群内存使用率:
Figure BDA0002334583920000031
其中,C为所述集群CPU使用率,M为所述集群内存使用率。
进一步的,所述逐一将每一所述子集群的子集群CPU使用率和子集群内存使用率,与所述集群CUP使用率和集群内存使用率进行比对,并根据比对结果将各所述子集群进行分类,具体包括:
若,所述子集群的CPU使用率大于所述集群CPU使用率,且所述子集群内存使用率大于所述集群内存使用率,则将所述子集群分为高CPU高内存子集群;
若,所述子集群的CPU使用率大于所述集群CPU使用率,且所述子集群内存使用率小于所述集群内存使用率,则将所述子集群分为高CPU低内存子集群;
若,所述子集群的CPU使用率小于所述集群CPU使用率,且所述子集群内存使用率大于所述集群内存使用率,则将所述子集群分为低CPU高内存子集群;
若,所述子集群的CPU使用率小于所述集群CPU使用率,且所述子集群内存使用率小于所述集群内存使用率,则将所述子集群分为低CPU低内存子集群。
进一步的,所述将待分配负载的CPU和内存,与所述CPU请求量均值和内存请求量均值进行比对,并根据比对结果对所述待分配负载进行分类,具体包括:
若,所述待分配负载的CPU请求量大于所述CPU请求量均值,且所述待分配负载的内存请求量大于所述内存请求量均值,则将所述待分配负载分为高CPU高内存负载;
若,所述待分配负载的CPU请求量大于所述CPU请求量均值,且所述待分配负载的内存请求量小于所述内存请求量均值,则将所述待分配负载分为高CPU低内存负载;
若,所述待分配负载的CPU请求量小于所述CPU请求量均值,且所述待分配负载的内存请求量大于所述内存请求量均值,则将所述待分配负载分为低CPU高内存负载;
若,所述待分配负载的CPU请求量小于所述CPU请求量均值,且所述待分配负载的内存请求量小于所述内存请求量均值,则将所述待分配负载分为低CPU低内存负载。
进一步的,所述将与所述待分配负载所属类型互补且综合负载值最低的子集群作为目标子集群,具体包括:
若,所述待分配负载为高CPU高内存负载,则将类型为低CPU低内存子集群的所有子集群中综合负载值最低的子集群作为目标子集群;
若,所述待分配负载为高CPU低内存负载,则将类型为低CPU高内存子集群的所有子集群中综合负载值最低的子集群作为目标子集群;
若,所述待分配负载为低CPU高内存负载,则将类型为高CPU低内存子集群的所有子集群中综合负载值最低的子集群作为目标子集群;
若,所述待分配负载为低CPU低内存负载,则将类型为高CPU低高存子集群的所有子集群中综合负载值最低的子集群作为目标子集群。
进一步的,所述将所述目标子集群中的各个节点进行分类,具体包括:
将所述目标子集群中的各节点作为比对节点;并逐一将每一比对节点的CPU使用率以及内存使用率,与所述目标子集群的子集群CPU使用率以及子集群内存使用率进行比对;
若所述比对节点的CPU使用率大于所述目标子集群的子集群CPU使用率,且所述比对节点的内存使用率大于所述目标子集群的子集群内存使用率,则将所述对比节点分为高CPU高内存节点;
若所述比对节点的CPU使用率大于所述目标子集群的子集群CPU使用率,且所述比对节点的内存使用率小于所述目标子集群的子集群内存使用率,则将所述对比节点分为高CPU低内存节点;
若所述比对节点的CPU使用率小于所述目标子集群的子集群CPU使用率,且所述比对节点的内存使用率大于所述目标子集群的子集群内存使用率,则将所述对比节点分为低CPU高内存节点;
若所述比对节点的CPU使用率小于所述目标子集群的子集群CPU使用率,且所述比对节点的内存使用率小于所述目标子集群的子集群内存使用率,则将所述对比节点分为低CPU低内存节点。
进一步的,所述根据所述待分配负载的类型以及所述目标子集群中各节点的类型,确定目标节点,具体包括:
若所述待分配负载为高CPU高内存负载,则在类型为低CPU低内存节点的所有比对节点中,提取满足预设条件的比对节点,作为所述目标节点;
若所述待分配负载为高CPU低内存负载,则在类型为低CPU高内存节点的所有比对节点中,提取满足预设条件的比对节点,作为所述目标节点;
若所述待分配负载为低CPU高内存负载,则在类型为高CPU低内存节点的所有比对节点中,提取满足预设条件的比对节点,作为所述目标节点;
若所述待分配负载为低CPU低内存负载,则在类型为高CPU高内存节点的所有比对节点中,提取满足预设条件的比对节点,作为所述目标节点;其中,所述满足预设条件的比对节点为,符合以下公式的比对节点:
Figure BDA0002334583920000051
在上述方法项实施例的基础上,本发明对应提供了装置项实施例;
本发明另一实施例提供了一种集群负载分配装置,包括子集群数据计算模块、集群数据计算模块、子集群分类模块、待分配负载分类模块、目标子集群提取及节点分类模块和负载分配模块;
所述子集群数据计算模块,用于根据集群中每一子集群内所有节点的CPU使用率以及内存使用率,计算每一所述子集群的子集群CPU使用率、子集群内存使用率以及子集群综合负载值;其中,所述集群包括若干子集群,每一所述子集群包括若干节点;
所述集群数据计算模块,用于根据所有所述子集群的子集群CPU使用率和子集群内存使用率,计算所述集群的集群CPU使用率和集群内存使用率;
所述子集群分类模块,用于逐一将每一所述子集群的子集群CPU使用率和子集群内存使用率,与所述集群CUP使用率和集群内存使用率进行比对,并根据比对结果将各所述子集群进行分类;
所述待分配负载分类模块,用于计算所述集群中负载的CPU请求量均值和内存请求量均值,继而将待分配负载的CPU请求量和内存请求量,与所述CPU请求量均值和内存请求量均值进行比对,并根据比对结果对所述待分配负载进行分类;
所述目标子集群提取及节点分类模块,用于将与所述待分配负载所属类型互补且综合负载值最低的子集群作为目标子集群,继而将所述目标子集群中的各个节点进行分类;
所述负载分配模块,用于根据所述待分配负载的类型以及所述目标子集群中各节点的类型,确定目标节点,以使用户将所述待分配负载分配至所述目标节点。
通过实施本发明实施例具有如下有益效果:
本发明实施例提供了一种集群负载分配方法及装置,所述方法首先计算集群中每个子集群的子集群CPU使用率、子集群内存使用率以及子集群综合负载值,以及集群总体的集群CPU使用率、集群内存使用率,然后根据上述数据对各个子集群进行分类,紧接着对待分配负载进行分类,并根据待分配负载的类别选取与其类别互补的子集群中综合负载值最小的子集群,作为目标子集群,然后将目标子集群中各个节点进行分类;再次根据互补原则选取出目标节点,最后将待分配到目标节点进行运行计算,实现了待分配负载的分配;本发明实施例以CPU使用率,内存使用率以及综合负载值三个维度为基础,按互补原则进行分配,从而达到了负载均衡的效果,解决现有技术负载分配不均衡的问题。
附图说明
图1是本发明一实施例提供的一种集群负载分配方法的流程示意图。
图2是本发明一实施例提供的一种集群负载分配装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先本发明所提及的“负载”指代由计算机运行计算的负载任务(或者说计算任务)
如图1所示,本发明一实施例提供了一种集群负载分配方法,包括:
步骤S101:根据集群中每一子集群内所有节点的CPU使用率以及内存使用率,计算每一所述子集群的子集群CPU使用率、子集群内存使用率以及子集群综合负载值;其中,所述集群包括若干子集群,每一所述子集群包括若干节点;
步骤S102:根据所有所述子集群的子集群CPU使用率和子集群内存使用率,计算所述集群的集群CPU使用率和集群内存使用率;
步骤S103:逐一将每一所述子集群的子集群CPU使用率和子集群内存使用率,与所述集群CUP使用率和集群内存使用率进行比对,并根据比对结果将各所述子集群进行分类;
步骤S104:计算所述集群中负载的CPU请求量均值和内存请求量均值,继而将待分配负载的CPU请求量和内存请求量,与所述CPU请求量均值和内存请求量均值进行比对,并根据比对结果对所述待分配负载进行分类;
步骤S105:将与所述待分配负载所属类型互补且综合负载值最低的子集群作为目标子集群,继而将所述目标子集群中的各个节点进行分类;
步骤S106:根据所述待分配负载的类型以及所述目标子集群中各节点的类型,确定目标节点,以使用户将所述待分配负载分配至所述目标节点。
对于步骤S101:将大规模数据中心按照网络结构划分为n个子集群B1,B1,…,Bn,每个子集群的节点数分别为N1,N1,…,Nn,这样集群中每一个节点Nodeij,1≤i≤n,1≤j≤Nn均隶属于一个子集群。每个子集群设定一个管理节点,管理节点除了完成管理功能,也可以兼做计算节点。
将节点Nodeij的CPU和内存使用率分别记为cij和mij;通过以下方式计算每一子集群的子集群CPU使用率、子集群内存使用率以及子集群综合负载值;
通过以下公式计算每一所述子集群的子集群CPU使用率:
Figure BDA0002334583920000081
通过以下公式计算每一所述子集群的子集群内存使用率:
Figure BDA0002334583920000082
通过以下公式计算每一所述子集群的子集群综合负载值:
Figure BDA0002334583920000083
其中,Ci为子集群CPU使用率、Mi为子集群内存使用率、Loadi为子集群综合负载值、Nn为子集群内的节点数量、cij表示节点的CPU使用率、mij表示节点的内存使用率、1≤j≤Nn、1≤i≤n、n为所述子集群的数量。
对于步骤S102:在一个优选的实施例中,通过以下公式计算所述集群的集群CPU使用率:
Figure BDA0002334583920000091
通过以下公式计算所述集群的集群内存使用率:
Figure BDA0002334583920000092
其中,C为所述集群CPU使用率,M为所述集群内存使用率。
从而得到集群总体状态;
对于步骤S103:在一个优选的实施例中,通过以下方式对各个子集群进行分类,具体包括:
若,所述子集群的CPU使用率大于所述集群CPU使用率,且所述子集群内存使用率大于所述集群内存使用率,则将所述子集群分为高CPU高内存子集群;
若,所述子集群的CPU使用率大于所述集群CPU使用率,且所述子集群内存使用率小于所述集群内存使用率,则将所述子集群分为高CPU低内存子集群;
若,所述子集群的CPU使用率小于所述集群CPU使用率,且所述子集群内存使用率大于所述集群内存使用率,则将所述子集群分为低CPU高内存子集群;
若,所述子集群的CPU使用率小于所述集群CPU使用率,且所述子集群内存使用率小于所述集群内存使用率,则将所述子集群分为低CPU低内存子集群。
将各子集群与集群总体状态进行比较,将子集群分别归入以下四种分类:高CPU高内存子集群(Ci≥C&&Mi≥M,简称SC1)、高CPU低内存子集群(Ci≥C&&Mi<M,简称SC2)、低CPU高内存子集群(Ci<C&&Mi≥M,简称SC3)、低CPU低内存子集群(Ci<C&&Mi<M,简称SC4)。建立4个递增链表分别存储对应类型的子集群。将节点按照综合负载Loadi存入对应的递增链表中。
对于步骤S104:在一个优选的实施例中包括:
若,所述待分配负载的CPU请求量大于所述CPU请求量均值,且所述待分配复杂的内存请求量大于所述内存请求量均值,则将所述待分配负载分为高CPU高内存负载;
若,所述待分配负载的CPU请求量大于所述CPU请求量均值,且所述待分配负载的内存请求量小于所述内存请求量均值,则将所述待分配负载分为高CPU低内存负载;
若,所述待分配负载的CPU请求量小于所述CPU请求量均值,且所述待分配负载的内存请求量大于所述内存请求量均值,则将所述待分配负载分为低CPU高内存负载;
若,所述待分配负载的CPU请求量小于所述CPU请求量均值,且所述待分配负载的内存请求量小于所述内存请求量均值,则将所述待分配负载分为低CPU低内存负载。
具体的,计算集群中每个节点内运行负载任务(或者说计算任务)状态的平均状态
Figure BDA0002334583920000101
其中
Figure BDA0002334583920000102
表示集群负载的CPU请求量均值、
Figure BDA0002334583920000103
表示集群负载的内存请求量均值,即统计整个集群中所有运行中的负载任务(或者说计算任务)的CPU请求量和内存请求量,然后除以节点数目。将待分配负载(a,b)与集群负载均值
Figure BDA0002334583920000104
进行比较,获取待分配负载的类别,具体类别包括四种分类:高CPU高内存负载(L1)、高CPU低内存负载(L2)、低CPU高内存负载(L3)、低CPU低内存负载(L4);
对于步骤S105:在获取待分配负载的类型和各子集群的类别后,需要根据类别互补的原则,匹配与待分配负载对应的子集群类别;类别互补原则指的是:
高CPU高内存负载与低CPU低内存子集群互补;高CPU低内存负载与低CPU高内存子集群互补;低CPU高内存负载与高CPU低内存子集群互补;低CPU低内存负载与高CPU高内存子集群互补;具体的,若,所述待分配负载为高CPU高内存负载,则将类型为低CPU低内存子集群的所有子集群中综合负载值最低的子集群作为目标子集群;
若,所述待分配负载为高CPU低内存负载,则将类型为低CPU高内存子集群的所有子集群中综合负载值最低的子集群作为目标子集群;
若,所述待分配负载为低CPU高内存负载,则将类型为高CPU低内存子集群的所有子集群中综合负载值最低的子集群作为目标子集群;
若,所述待分配负载为低CPU低内存负载,则将类型为高CPU低高存子集群的所有子集群中综合负载值最低的子集群作为目标子集群。
具体到实例中,即根据待分配负载的类型,将待分配节点分配互补类型的子集群的子集群递增链表中数值最小的集群。
紧接着对目标子集群中的各个节点进行分类,具体的:
将所述目标子集群中的各节点作为比对节点;并逐一将每一比对节点的CPU使用率以及内存使用率,与所述目标子集群的子集群CPU使用率以及子集群内存使用率进行比对;
若所述比对节点的CPU使用率大于所述目标子集群的子集群CPU使用率,且所述比对节点的内存使用率大于所述目标子集群的子集群内存使用率,则将所述对比节点分为高CPU高内存节点;
若所述比对节点的CPU使用率大于所述目标子集群的子集群CPU使用率,且所述比对节点的内存使用率小于所述目标子集群的子集群内存使用率,则将所述对比节点分为高CPU低内存节点;
若所述比对节点的CPU使用率小于所述目标子集群的子集群CPU使用率,且所述比对节点的内存使用率大于所述目标子集群的子集群内存使用率,则将所述对比节点分为低CPU高内存节点;
若所述比对节点的CPU使用率小于所述目标子集群的子集群CPU使用率,且所述比对节点的内存使用率小于所述目标子集群的子集群内存使用率,则将所述对比节点分为低CPU低内存节点。
对于步骤S106:最后根据互补原则以及预设条件,选取出目标节点,具体包括:若所述待分配负载为高CPU高内存负载,则在类型为低CPU低内存节点的所有比对节点中,提取满足预设条件的比对节点,作为所述目标节点;
若所述待分配负载为高CPU低内存负载,则在类型为低CPU高内存节点的所有比对节点中,提取满足预设条件的比对节点,作为所述目标节点;
若所述待分配负载为低CPU高内存负载,则在类型为高CPU低内存节点的所有比对节点中,提取满足预设条件的比对节点,作为所述目标节点;
若所述待分配负载为低CPU低内存负载,则在类型为高CPU高内存节点的所有比对节点中,提取满足预设条件的比对节点,作为所述目标节点;其中,所述满足预设条件的比对节点为,符合以下公式的比对节点:
Figure BDA0002334583920000121
公式中a为待分配负载的CPU请求量,b为待分配负载的内存请求量,Ci、为目标子集群的子集群CPU使用率,Mi为目标子集群的子集群内存使用率,Co为比对节点的CPU使用率,为比对节点的内存使用率
即先找到与待分配负载类型互补的对比节点,然后按公式
Figure BDA0002334583920000122
计算各个对比节点的值,将值最小的对比节点,作为目标节点,然后将待分配负载任务分配到目标节点中。
在上述方法项实施例的基础上,对应提供了装置项实施例;
如图2所示:本发明实施例提供的一种集群负载分配,包括:包括子集群数据计算模块、集群数据计算模块、子集群分类模块、待分配负载分类模块、目标子集群提取及节点分类模块和负载分配模块;
所述子集群数据计算模块,用于根据集群中每一子集群内所有节点的CPU使用率以及内存使用率,计算每一所述子集群的子集群CPU使用率、子集群内存使用率以及子集群综合负载值;其中,所述集群包括若干子集群,每一所述子集群包括若干节点;
所述集群数据计算模块,用于根据所有所述子集群的子集群CPU使用率和子集群内存使用率,计算所述集群的集群CPU使用率和集群内存使用率;
所述子集群分类模块,用于逐一将每一所述子集群的子集群CPU使用率和子集群内存使用率,与所述集群CUP使用率和集群内存使用率进行比对,并根据比对结果将各所述子集群进行分类;
所述待分配负载分类模块,用于计算所述集群中负载的CPU请求量均值和内存请求量均值,继而将待分配负载的CPU请求量和内存请求量,与所述CPU请求量均值和内存请求量均值进行比对,并根据比对结果对所述待分配负载进行分类;
所述目标子集群提取及节点分类模块,用于将与所述待分配负载所属类型互补且综合负载值最低的子集群作为目标子集群,继而将所述目标子集群中的各个节点进行分类;
所述负载分配模块,用于根据所述待分配负载的类型以及所述目标子集群中各节点的类型,确定目标节点,以使用户将所述待分配负载分配至所述目标节点。
可以理解的是,上述装置项实施例是与本发明方法项实施例相对应的,其可以实现本发明上述任意一项方法项实施例提供的集群负载分配方法。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。所述示意图仅仅是集群负载分配装置的示例,并不构成对集群负载分配装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
通过实施本发明实施例,本发明实施例以CPU使用率,内存使用率以及综合负载值三个维度为基础,按互补原则进行分配,从而达到了负载均衡的效果,解决现有技术负载分配不均衡的问题。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (9)

1.一种集群负载分配方法,其特征在于,包括:
根据集群中每一子集群内所有节点的CPU使用率以及内存使用率,计算每一所述子集群的子集群CPU使用率、子集群内存使用率以及子集群综合负载值;其中,所述集群包括若干子集群,每一所述子集群包括若干节点;
根据所有所述子集群的子集群CPU使用率和子集群内存使用率,计算所述集群的集群CPU使用率和集群内存使用率;
逐一将每一所述子集群的子集群CPU使用率和子集群内存使用率,与所述集群CPU使用率和集群内存使用率进行比对,并根据比对结果将各所述子集群进行分类;
计算所述集群中负载的CPU请求量均值和内存请求量均值,继而将待分配负载的CPU请求量和内存请求量,与所述CPU请求量均值和内存请求量均值进行比对,并根据比对结果对所述待分配负载进行分类;
将与所述待分配负载所属类型互补且综合负载值最低的子集群作为目标子集群,继而将所述目标子集群中的各个节点进行分类;
根据所述待分配负载的类型以及所述目标子集群中各节点的类型,确定目标节点,继而将所述待分配负载分配至所述目标节点中。
2.如权利要求1所述集群负载分配方法,其特征在于,所述根据集群中每一子集群内所有节点的CPU使用率以及内存使用率,计算每一所述子集群的子集群CPU使用率、子集群内存使用率以及子集群综合负载值,具体包括:
通过以下公式计算每一所述子集群的子集群CPU使用率:
Figure FDA0002334583910000021
通过以下公式计算每一所述子集群的子集群内存使用率:
Figure FDA0002334583910000022
通过以下公式计算每一所述子集群的子集群综合负载值:
Figure FDA0002334583910000023
其中,Ci为子集群CPU使用率、Mi为子集群内存使用率、Loadi为子集群综合负载值、Nn为子集群内的节点数量、cij表示节点的CPU使用率、mij表示节点的内存使用率、1≤j≤Nn、1≤i≤n、n为所述子集群的数量。
3.如权利要求2所述的所述集群负载分配方法,其特征在于,所述根据所有所述子集群的子集群CPU使用率和子集群内存使用率,计算所述集群的集群CPU使用率和集群内存使用率,具体包括:
通过以下公式计算所述集群的集群CPU使用率:
Figure FDA0002334583910000024
通过以下公式计算所述集群的集群内存使用率:
Figure FDA0002334583910000025
其中,C为所述集群CPU使用率,M为所述集群内存使用率。
4.如权利要求3所述的所述集群负载分配方法,其特征在于,所述逐一将每一所述子集群的子集群CPU使用率和子集群内存使用率,与所述集群CUP使用率和集群内存使用率进行比对,并根据比对结果将各所述子集群进行分类,具体包括:
若,所述子集群的CPU使用率大于所述集群CPU使用率,且所述子集群内存使用率大于所述集群内存使用率,则将所述子集群分为高CPU高内存子集群;
若,所述子集群的CPU使用率大于所述集群CPU使用率,且所述子集群内存使用率小于所述集群内存使用率,则将所述子集群分为高CPU低内存子集群;
若,所述子集群的CPU使用率小于所述集群CPU使用率,且所述子集群内存使用率大于所述集群内存使用率,则将所述子集群分为低CPU高内存子集群;
若,所述子集群的CPU使用率小于所述集群CPU使用率,且所述子集群内存使用率小于所述集群内存使用率,则将所述子集群分为低CPU低内存子集群。
5.如权利要求4所述的所述集群负载分配方法,其特征在于,所述将待分配负载的CPU请求量和内存请求量,与所述CPU请求量均值和内存请求量均值进行比对,并根据比对结果对所述待分配负载进行分类,具体包括:
若,所述待分配负载的CPU请求量大于所述CPU请求量均值,且所述待分配负载的内存请求量大于所述内存请求量均值,则将所述待分配负载分为高CPU高内存负载;
若,所述待分配负载的CPU请求量大于所述CPU请求量均值,且所述待分配负载的内存请求量小于所述内存请求量均值,则将所述待分配负载分为高CPU低内存负载;
若,所述待分配负载的CPU请求量小于所述CPU请求量均值,且所述待分配负载的内存请求量大于所述内存请求量均值,则将所述待分配负载分为低CPU高内存负载;
若,所述待分配负载的CPU请求量小于所述CPU请求量均值,且所述待分配负载的内存请求量小于所述内存请求量均值,则将所述待分配负载分为低CPU低内存负载。
6.如权利要求5所述的所述集群负载分配方法,其特征在于,所述将所述待分配负载所属类型互补且综合负载值最低的子集群作为目标子集群,具体包括:
若,所述待分配负载为高CPU高内存负载,则将类型为低CPU低内存子集群的所有子集群中综合负载值最低的子集群作为目标子集群;
若,所述待分配负载为高CPU低内存负载,则将类型为低CPU高内存子集群的所有子集群中综合负载值最低的子集群作为目标子集群;
若,所述待分配负载为低CPU高内存负载,则将类型为高CPU低内存子集群的所有子集群中综合负载值最低的子集群作为目标子集群;
若,所述待分配负载为低CPU低内存负载,则将类型为高CPU低高存子集群的所有子集群中综合负载值最低的子集群作为目标子集群。
7.如权利要求6所述的所述集群负载分配方法,其特征在于,所述将所述目标子集群中的各个节点进行分类,具体包括:
将所述目标子集群中的各节点作为比对节点;并逐一将每一比对节点的CPU使用率以及内存使用率,与所述目标子集群的子集群CPU使用率以及子集群内存使用率进行比对;
若所述比对节点的CPU使用率大于所述目标子集群的子集群CPU使用率,且所述比对节点的内存使用率大于所述目标子集群的子集群内存使用率,则将所述对比节点分为高CPU高内存节点;
若所述比对节点的CPU使用率大于所述目标子集群的子集群CPU使用率,且所述比对节点的内存使用率小于所述目标子集群的子集群内存使用率,则将所述对比节点分为高CPU低内存节点;
若所述比对节点的CPU使用率小于所述目标子集群的子集群CPU使用率,且所述比对节点的内存使用率大于所述目标子集群的子集群内存使用率,则将所述对比节点分为低CPU高内存节点;
若所述比对节点的CPU使用率小于所述目标子集群的子集群CPU使用率,且所述比对节点的内存使用率小于所述目标子集群的子集群内存使用率,则将所述对比节点分为低CPU低内存节点。
8.如权利要求7所述的所述集群负载分配方法,其特征在于,所述根据所述待分配负载的类型以及所述目标子集群中各节点的类型,确定目标节点,具体包括:
若所述待分配负载为高CPU高内存负载,则在类型为低CPU低内存节点的所有比对节点中,提取满足预设条件的比对节点,作为所述目标节点;
若所述待分配负载为高CPU低内存负载,则在类型为低CPU高内存节点的所有比对节点中,提取满足预设条件的比对节点,作为所述目标节点;
若所述待分配负载为低CPU高内存负载,则在类型为高CPU低内存节点的所有比对节点中,提取满足预设条件的比对节点,作为所述目标节点;
若所述待分配负载为低CPU低内存负载,则在类型为高CPU高内存节点的所有比对节点中,提取满足预设条件的比对节点,作为所述目标节点;其中,所述满足预设条件的比对节点为,符合以下公式的比对节点:
Figure FDA0002334583910000051
9.一种集群负载分配装置,其特征在于,包括子集群数据计算模块、集群数据计算模块、子集群分类模块、待分配负载分类模块、目标子集群提取及节点分类模块和负载分配模块;
所述子集群数据计算模块,用于根据集群中每一子集群内所有节点的CPU使用率以及内存使用率,计算每一所述子集群的子集群CPU使用率、子集群内存使用率以及子集群综合负载值;其中,所述集群包括若干子集群,每一所述子集群包括若干节点;
所述集群数据计算模块,用于根据所有所述子集群的子集群CPU使用率和子集群内存使用率,计算所述集群的集群CPU使用率和集群内存使用率;
所述子集群分类模块,用于逐一将每一所述子集群的子集群CPU使用率和子集群内存使用率,与所述集群CUP使用率和集群内存使用率进行比对,并根据比对结果将各所述子集群进行分类;
所述待分配负载分类模块,用于计算所述集群中负载的CPU请求量均值和内存请求量均值,继而将待分配负载的CPU请求量和内存请求量,与所述CPU请求量均值和内存请求量均值进行比对,并根据比对结果对所述待分配负载进行分类;
所述目标子集群提取及节点分类模块,用于将与所述待分配负载所属类型互补且综合负载值最低的子集群作为目标子集群,继而将所述目标子集群中的各个节点进行分类;
所述负载分配模块,用于根据所述待分配负载的类型以及所述目标子集群中各节点的类型,确定目标节点,继而将所述待分配负载分配至所述目标节点中。
CN201911350681.3A 2019-12-24 2019-12-24 一种集群负载分配方法及装置 Active CN111124681B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911350681.3A CN111124681B (zh) 2019-12-24 2019-12-24 一种集群负载分配方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911350681.3A CN111124681B (zh) 2019-12-24 2019-12-24 一种集群负载分配方法及装置

Publications (2)

Publication Number Publication Date
CN111124681A true CN111124681A (zh) 2020-05-08
CN111124681B CN111124681B (zh) 2023-04-11

Family

ID=70502063

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911350681.3A Active CN111124681B (zh) 2019-12-24 2019-12-24 一种集群负载分配方法及装置

Country Status (1)

Country Link
CN (1) CN111124681B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023226743A1 (zh) * 2022-05-27 2023-11-30 北京火山引擎科技有限公司 一种云服务部署方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103327072A (zh) * 2013-05-22 2013-09-25 中国科学院微电子研究所 一种集群负载均衡的方法及其系统
US20150186228A1 (en) * 2013-12-27 2015-07-02 Dinesh Kumar Managing nodes in a distributed computing environment
CN107172193A (zh) * 2017-06-20 2017-09-15 郑州云海信息技术有限公司 一种基于集群的负载均衡方法及其装置
CN110545326A (zh) * 2019-09-10 2019-12-06 杭州数梦工场科技有限公司 集群负载调度方法、装置、电子设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103327072A (zh) * 2013-05-22 2013-09-25 中国科学院微电子研究所 一种集群负载均衡的方法及其系统
US20150186228A1 (en) * 2013-12-27 2015-07-02 Dinesh Kumar Managing nodes in a distributed computing environment
CN107172193A (zh) * 2017-06-20 2017-09-15 郑州云海信息技术有限公司 一种基于集群的负载均衡方法及其装置
CN110545326A (zh) * 2019-09-10 2019-12-06 杭州数梦工场科技有限公司 集群负载调度方法、装置、电子设备和存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023226743A1 (zh) * 2022-05-27 2023-11-30 北京火山引擎科技有限公司 一种云服务部署方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN111124681B (zh) 2023-04-11

Similar Documents

Publication Publication Date Title
CN107124472A (zh) 负载均衡方法及装置、计算机可读存储介质
CN104102543B (zh) 一种云计算环境中负载调整的方法和装置
CN104902001B (zh) 基于操作系统虚拟化的Web请求负载均衡方法
CN109032801A (zh) 一种请求调度方法、系统及电子设备和存储介质
US11496413B2 (en) Allocating cloud computing resources in a cloud computing environment based on user predictability
CN102694868A (zh) 一种集群系统实现及任务动态分配方法
CN104881322B (zh) 一种基于装箱模型的集群资源调度方法及装置
CN109032800A (zh) 一种负载均衡调度方法、负载均衡器、服务器及系统
CN111045808A (zh) 一种分布式网络任务调度方法及装置
CN114185675A (zh) 资源管理方法、装置、电子设备及存储介质
CN109189578A (zh) 存储服务器分配方法、装置、管理服务器以及存储系统
CN114816738A (zh) 算力节点的确定方法、装置、设备及计算机可读存储介质
US20220229701A1 (en) Dynamic allocation of computing resources
CN111124681B (zh) 一种集群负载分配方法及装置
CN103997515A (zh) 一种分布式云中计算中心选择方法及其应用
CN111158904A (zh) 一种任务调度方法、装置、服务器及介质
CN116012067A (zh) 资源分配方法、装置、计算机、可读存储介质及程序产品
CN114064260A (zh) 数据去倾斜方法、装置、电子设备及存储介质
CN116089367A (zh) 动态分桶方法、装置、电子设备和介质
CN115981843A (zh) 云边协同电力系统中任务调度方法、装置和计算机设备
CN114675973A (zh) 资源管理方法、设备、存储介质及程序产品
CN112596903A (zh) 基于大数据的信息智能处理方法及装置
CN111796934B (zh) 任务下发方法、装置、存储介质和电子设备
CN108595367B (zh) 一种基于局域网内计算机集群的服务器系统
CN113806089A (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
CB02 Change of applicant information

Address after: 510000 Room 401, building C2, No. 11, Kaiyuan Avenue, Huangpu District, Guangzhou, Guangdong Province

Applicant after: Guangzhou Radio and television Wuzhou Technology Co.,Ltd.

Address before: 7th Floor, Building B1, No. 11, Kaiyuan Avenue, Science City, High-tech Industrial Development Zone, Guangzhou, Guangdong Province, 510663

Applicant before: GUANGZHOU WU ZHOU INFORMATION TECHNOLOGY CO.,LTD.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A cluster load distribution method and device

Effective date of registration: 20230712

Granted publication date: 20230411

Pledgee: CITIC Bank Co.,Ltd. Guangzhou Branch

Pledgor: Guangzhou Radio and television Wuzhou Technology Co.,Ltd.

Registration number: Y2023980048153

PE01 Entry into force of the registration of the contract for pledge of patent right