CN114466019B - 分布式计算系统、负载均衡方法、设备及存储介质 - Google Patents

分布式计算系统、负载均衡方法、设备及存储介质 Download PDF

Info

Publication number
CN114466019B
CN114466019B CN202210372217.XA CN202210372217A CN114466019B CN 114466019 B CN114466019 B CN 114466019B CN 202210372217 A CN202210372217 A CN 202210372217A CN 114466019 B CN114466019 B CN 114466019B
Authority
CN
China
Prior art keywords
load
working
balancing
cluster
node
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.)
Active
Application number
CN202210372217.XA
Other languages
English (en)
Other versions
CN114466019A (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.)
Alibaba China Co Ltd
Original Assignee
Alibaba China 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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202210372217.XA priority Critical patent/CN114466019B/zh
Publication of CN114466019A publication Critical patent/CN114466019A/zh
Application granted granted Critical
Publication of CN114466019B publication Critical patent/CN114466019B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour

Abstract

本申请实施例提供一种分布式计算系统、负载均衡方法、设备及存储介质。在本申请实施例中,针对多种维度的负载均衡策略,通过使用各负载均衡策略进行模拟负载均衡,预测负载均衡策略实施后的工作集群的负载拓扑关系;根据预测出的工作集群的负载拓扑关系,选择合适的负载均衡策略进行执行,由于预期了工作集群的负载情况,因此,有助于使实际执行的负载均衡策略的负载均衡的有效性得到保障,有助于提高负载均衡效果,进而提高分布式计算系统的性能。

Description

分布式计算系统、负载均衡方法、设备及存储介质
技术领域
本申请涉及云计算技术领域,尤其涉及一种分布式计算系统、负载均衡方法、设备及存储介质。
背景技术
随着计算技术的发展,有些应用需要非常巨大的计算能力才能完成,如果采用集中式计算,需要耗费相当长的时间来完成。分布式计算将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,提高计算效率。
对于分布式计算系统,任务调度是一个基本且具有挑战性的问题。其中,任务调度问题是指:给定一组任务和若干可并行执行这些任务的计算节点,寻找一个能够将这组任务有效调度到各计算节点进行计算的方法,以获得更好的任务完成时间和资源利用率等。而负载均衡(Load Balance,LB)是任务调度时需要考虑的关键因素,也是优化分布式计算系统性能的关键。
发明内容
本申请的多个方面提供一种分布式计算系统、负载均衡方法、设备及存储介质,用以提高负载均衡的处理效果,提高分布式计算系统性能。
本申请实施例提供一种分布式计算系统,包括:管控节点和第一工作集群;所述第一工作集群包括:多个工作节点;每个工作节点对应至少一个分区,用于执行对应分区接收到的请求;
所述管控节点,用于获取所述第一工作集群的第一负载拓扑关系;根据所述第一负载拓扑关系,预测使用预设的多种均衡策略对所述第一工作集群进行模拟负载均衡后的第二工作集群的第二负载拓扑关系;根据所述第二负载拓扑关系,从所述多种均衡策略中选择目标均衡策略;根据所述目标均衡策略对所述分布式计算系统进行负载均衡。
本申请实施例还提供一种负载均衡方法,包括:
获取分布式计算系统的第一工作集群的第一负载拓扑关系;
根据所述第一负载拓扑关系,预测使用预设的多种均衡策略对所述第一工作集群进行负载均衡后的第二工作集群的第二负载拓扑关系;
根据所述第二负载拓扑关系,从所述多种均衡策略中选择目标均衡策略;
根据所述目标均衡策略对所述分布式计算系统进行负载均衡。
本申请实施例还提供一种计算设备,包括:存储器和处理器;其中,所述存储器,用于存储计算机程序;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行上述负载均衡方法中的步骤。
本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述负载均衡方法中的步骤。
在本申请实施例中,针对多种维度的负载均衡策略,通过使用各负载均衡策略进行模拟负载均衡,预测负载均衡策略实施后的工作集群的负载拓扑关系;根据预测出的工作集群的负载拓扑关系,选择合适的负载均衡策略进行执行,由于预期了工作集群的负载情况,因此,有助于使实际执行的负载均衡策略的负载均衡的有效性得到保障,有助于提高负载均衡效果,进而提高分布式计算系统的性能。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的分布式计算系统的结构示意图;
图2为本申请实施例提供的分区区间示意图;
图3和图4为本申请实施例提供的分布式计算系统的资源调度过程示意图;
图5为本申请实施例提供的单机热点示意图;
图6为本申请实施例提供的分布式计算系统扩容示意图;
图7a和图7b为本申请实施例提供的分布式计算系统的负载均衡过程示意图;
图8为本申请实施例提供的设置工作节点的属性的负载均衡方式示意图;
图9为本申请实施例提供的工作节点扩容的负载均衡方式示意图;
图10为本申请实施例提供的工作节点缩容的负载均衡方式示意图;
图11为本申请实施例提供的热点分区迁移策略的负载均衡方式示意图;
图12为本申请实施例提供的热点分区分裂策略的负载均衡方式示意图;
图13为本申请实施例提供的冷点分区合并策略的负载均衡方式示意图;
图14为本申请实施例提供的热点分区的热点用户迁移策略的负载均衡方式示意图;
图15为本申请实施例提供的热点分区的热点用户分裂策略的负载均衡方式示意图;
图16为本申请实施例提供的冷点用户合并策略的负载均衡方式示意图;
图17为本申请实施例提供的热点分区分裂策略中热点分区的分裂点确定方式示意图;
图18为本申请实施例提供的负载均衡方法的流程示意图;
图19为本申请实施例提供的计算设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例中,为了提高分布式计算系统的负载均衡效果,针对多种维度的负载均衡策略,通过使用各负载均衡策略进行模拟负载均衡,预测负载均衡策略实施后的工作集群的负载拓扑关系;根据预测出的工作集群的负载拓扑关系,选择合适的负载均衡策略进行执行,由于预期了工作集群的负载情况,因此,有助于使实际执行的负载均衡策略的负载均衡的有效性得到保障,有助于提高负载均衡效果,进而提高分布式计算系统的性能。
以下结合附图,详细说明本申请各实施例提供的技术方案。
应注意到:相同的标号在下面的附图以及实施例中表示同一物体,因此,一旦某一物体在一个附图或实施例中被定义,则在随后的附图和实施例中不需要对其进行进一步讨论。
图1-图3为本申请实施例提供的分布式计算系统的结构示意图。结合图1-图3所示,分布式计算系统包括:管控节点10和工作集群20。其中,工作集群20是指由多个工作节点(workers)201组成的计算集群。
在本实施例中,管控节点10是指可以进行工作节点管理,可响应用户端30的服务请求,通过调度工作节点201为用户提供计算服务的计算机设备,一般具备承担服务并保障服务的能力。管控节点10可以为单一服务器设备,也可以云化的服务器阵列,或者为云化的服务器阵列中运行的虚拟机(Virtual Machine,VM)、容器等。另外,服务端设备也可以指具备相应服务能力的其他计算设备,例如电脑等终端设备(运行服务程序)等。在本实施例中,管控节点10可部署于云端,例如边缘云系统的中心云中。
工作节点201是指提供计算资源的计算机设备。关于工作节点201的具体实现形态,可参见管控节点10的实现形态,在此不再赘述。在本实施例中,工作节点201除了提供计算资源之外,还可提供其他硬件资源和软件资源。其中,硬件资源可包括:处理器等计算资源,内存、磁盘等存储资源。其中,处理器可以为 CPU、GPU、FPGA 等等。软件资源可包括:带宽、网段、网卡配置等网络资源以及操作系统等。
在本实施例中,工作节点201可部署于中心云中,也可实现为边缘云网络中的边缘云节点。一个边缘节点可为一个机房、一个数据中心(Data Center,DC)或者互联网数据中心(Internet Data Center,IDC)等。对于边缘云网络来说,一个工作节点201 可包括一个或多个边缘节点。多个是指 2 个或 2 个以上。每个边缘节点可包括一系列的边缘基础设施,这些边缘基础设施包括但不限于:分布式数据中心(DC)、无线机房或集群,运营商的通信网络、核心网设备、基站、边缘网关、家庭网关、计算设备或存储设备等边缘设备及对应的网络环境等等。在此说明,不同边缘节点的位置、能力以及包含的基础设施可以相同,也可以不相同。
其中,管控节点10和工作节点201之间可以是无线或有线连接。可选地,管控节点10和工作节点201可以通过移动网络通信连接,相应地,移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、CDMA2000、UTMS)、4G(LTE)、4G+(LTE+)、5G、WiMax等中的任意一种。可选地,管控节点10和工作节点201也可以通过蓝牙、WiFi、红外线等方式通信连接。不同的工作节点201之间还可通过内网通信连接等等。
在本申请实施例中,对于工作节点201上部署的应用或服务,在逻辑上分配移动数量的分区(Partition)。在本实施例中,分区可理解为将应用或服务分成的多个逻辑节点,用于完成该分区对应的应用或服务。每个工作节点201负责一个或多个分区,用于为负责的分区提供资源,完成该分区提供的应用或服务。
在本申请实施例中,一个分区对应一个工作节点;而一个工作节点可负责1个或多个分区。一个应用或服务对应的分区可由一个或多个工作节点负责。在本申请实施例中,多个是指2个或2个以上。分区可通过管控节点10调度到工作节点201上,加载该分区对应的应用或服务,并对外提供服务。例如,如图3所示,分区A可通过管控节点10调度到编号为1的工作节点201上,加载该分区对应的应用1,对外提供应用1相关的服务。
在本申请实施例中,如图2所示,每个分区可由地址区间组成,地址区间可表示为[beginKey,endKey)。可选地,每个分区的起始键(beginKey)至终止键(endKey)中的每个键可为16个字节,即128bit。分区的区间的划分是根据分区的数量,确定对[00000000000000000000000000000000 , 100000000000000000000000000000000) (16 进制) 的划分步长的,每个分区对应地址区间的步长相同。
在本申请实施例中,对于工作集群20中工作节点、分区及应用之间的对应关系可存储于存储节点40中。其中,存储节点40可以键值对(KV)形式存储工作节点、分区及应用之间的对应关系。例如,工作节点、分区及应用之间的对应关系存储于ETCD数据库中。
基于上述工作节点、分区及应用之间的对应关系,管控节点10针对用户端30发起的服务请求,可调度到对应的分区,由分区加载应用服务对用户端30提供服务。具体地,如图3所示,用户端30可向管控节点10提供服务请求(对应步骤1)。该服务请求包含待访问应用标识。管控节点10可从服务请求中,获取待访问应用的标识,并查询存储节点40获取待访问应用对应的分区信息(对应步骤2);之后,根据待访问应用对应的分区信息,确定该分区对应的工作节点(对应步骤3)。进一步,管控节点10可调度确定出的工作节点(对应步骤4;图3中仅以工作节点为编号为1的工作节点进行图示)。编号为1的工作节点201可将应用加载至对应分区,由分区完成服务请求的计算服务(对应步骤5)。
在一些实施例中,对于服务请求,管控节点10可通过该请求关联的账号标识做哈希(hash)或类哈希计算,得到该请求对应的分区。例如,图4中对请求关联的账号标识进行哈希计算,得到请求对应的分区为分区D,则将该服务请求调度至分区D进行处理。
由于账号标识是唯一的,因此,使用hash算法进行调度,得到每个账号对应于的分区是固定的。而且,分区对应的工作节点是存储在存储节点40的,即分区由哪个工作节点负责是固定好的。因此,如果某个账号的请求量过大,会导致负责这个账号对应分区的工作节点负载增大。例如,如图5所述,对用户A的账号标识进行哈希处理,将哈希处理结果映射到分区,得到用户A对应的分区,如图5中的分区B。在用户A对应的账号的请求量增大,导致负责分区B的工作节点1的负载增大,导致工作节点1超负载,使得工作节点1处理请求的延迟较高,影响分布式计算系统的性能和稳定性。其中,请求量以QPS进行表征。
对于分布式计算系统,工作集群20的分区数量是固定的。分区与工作节点是多对一的关系,即n个分区最多只能由n个工作节点承载访问流量,即使工作集群20中有再多的工作节点也只能处于闲置状态,无法负责分区。例如,图6中某应用对应的分区数量为3个,则最多扩展3个工作节点(编号1-3的工作节点)负载该应用对应的3个分区。当每个应用或服务对应的分区数量固定时,最多可以横向扩展分区数量个工作节点;当横向扩展的工作节点的数量到达极限(达到应用对应的分区数量)后,如果工作集群负载继续增大,则只能通过纵向扩展的方式来扩容(如图6所示)。其中,横向扩展扩容是指增大工作集群中工作节点的数量。纵向扩容是指增强工作集群中工作节点的配置。例如,图6中将工作集群中从2C4G的工作节点替换为4C8G的工作节点。其中,2C4G是指2核的CPU,4G内存;2C4G是指4核的CPU,8G内存。如果遇到工作集群已经横向扩展到分区数量个工作节点,并且当前集群中无更高配置的机器可供纵向扩展,那么工作集群的可承接流量就无法继续提高。
综上所述,随着访问流量的大幅增长,分布式计算系统很容易出现单机热点,导致该机器上的流量请求受到影响,需要耗费大量的人力来人工运维保障服务。因此,如何对分布式计算系统进行负载均衡是优化分布式计算系统性能的关键。
目前,常有的负载均衡方式一般是针对访问流量进行分发。常用的流量分发方式主要包括以下几种:
(1)轮询式负载均衡:每个请求按时间顺序逐一分配到不同的后端服务器。如果后端服务器故障,可自动剔除故障服务器。
(2)按照权重进行负载均衡:权重用于指定轮询几率,后端服务器的权重和访问比率成正比,用于后端服务器性能不均的情况。后端服务器的权重越高,被访问的概率越大。
(3)ip_hash:ip_hash是指对每个请求的源IP地址进行hash计算,每个请求按源IP地址的hash结果分配至后端服务器,这样每个访问用户的请求固定访问一个后端服务器。
(4)fair方式:按照后端服务器的响应时间来分配请求,响应时间短的优先分配。
(5)url_hash方式:对请求访问的url进行hash计算,按访问url的hash结果来分配请求,每个相同的url定向分配到同一个后端服务器。
上述几种负载均衡方式并不适合分布式有状态组件。其中,分布式有状态组件是指工作节点负责管理一些资源,在分布式计算系统中,这些资源逻辑上是属于某些访问用户的,即工作节点是属于某些用户的,不能处理其它访问用户的请求。因此,上述几种负载均衡方式并不适合分布式有状态组件的主要原因如下:
(1)由于有状态组件是指每个工作节点上负责管理一些资源,这些资源逻辑上是属于某些用户的,所以对于同一个用户的请求是分配在某些工作节点上。但是,上述的轮询、权重负载均衡、fair 方式负载均衡只适用于无状态的场景。因为轮询、权重负载均衡、fair 方式负载均衡分配的工作节点,可能并不属于请求对应的用户。
(2)分布式计算场景下,分布式计算系统负载载体是分区,分区通过管控节点调度到 工作节点上加载并对外提供服务,所以资源本质上是属于某个分区的,上述的 ip_hash、url_hash 负载均衡方案只能映射到机器维度。而且,ip_hash、url_hash 负载均衡只是对接收到的请求进行负载均衡,并未考虑分配到的工作节点的负载情况,容易导致工作节点出现超负载,出现单机热点问题。
在本申请实施例中,为了提高负载均衡的处理效果,降低单机热点出现的概率,提出多维度负载均衡方式。下面结合具体实施例对本申请实施例提供的负载均衡方式进行示例性说明。
图7a和图7b为本申请实施例提供的分布式计算系统进行负载均衡的流程示意图。如图7a所示,管控节点10可获取工作集群20的负载拓扑关系。在本申请实施例中,负载拓扑关系是指工作集群20中各对象之间的对应关系及各对象的负载情况。其中,工作集群20中的对象包括:工作节点、分区及访问用户(图7a和图7b中未示出)。对象之间的对应关系包括:工作节点、分区及访问用户之间的对应关系。工作集群20中对象的负载情况可以对象的负载性能参数和请求性能参数进行表征。相应地,负载拓扑关系还包括:工作集群20中工作节点、分区及访问用户的负载性能参数和请求性能参数。
其中,负载性能参数是指可反映负载性能的参数值,如资源利用率等。资源利用率可包括:CPU利用率、网络利用率等。请求性能参数是指可反映对象对请求的处理性能的参数值,可包括:访问流量、响应延迟时间、请求错误率等。其中,访问流量可采用QPS进行度量;响应延迟时间是指对象接收到请求至返回请求对应结果之间的时长。请求错误率可以对象未成功处理的请求占对象接收到的请求的比例。
在本申请实施例中,对于工作节点的负载性能参数可实际测量得到,如CPU利用率、网络利用率等。对于分区和访问用户的负载性能参数可根据分区或访问用户的访问流量,估算得到。具体地,对于分区,可根据分区的访问流量及预设的访问流量与负载性能参数之间的函数关系,确定该分区的负载性能参数。其中,访问流量与负载性能参数之间的函数关系可预先对分布式计算系统进行压测分析得到。同理,根据访问用户的访问流量及预设的访问流量与负载性能参数之间的函数关系,也可确定该访问用户的负载性能参数。
在本申请实施例中,对于工作集群20中的工作节点201可设置数据收集模块,用于收集工作集群20中各维度对象的负载性能参数和请求性能参数(对应图7a中步骤1和图7b中的数据收集),并将各维度对象的负载性能参数和请求性能参数提供给管控节点10(对应图7a中步骤2和3)。在本申请实施例中,工作节点201可将获取的工作集群20中各维度对象的负载性能参数和请求性能参数存储于存储节点40(即图7a步骤2中负载汇报和图7b中的数据上报);进一步,管控节点10可从存储节点40中获取工作集群20中各维度对象的负载性能参数和请求性能参数(即图7a步骤3中负载收集和图7b中的监测工作集群的状态)。
管控节点10还可从存储节点40获取工作集群20的对象拓扑关系。其中,工作集群20的对象拓扑关系包括:工作集群20中工作节点、分区及访问用户之间的对应关系。进一步,管控节点10可根据对象拓扑关系及工作集群20中各维度对象的负载性能参数和请求性能参数,确定工作集群20的负载拓扑关系。在图7a中,可由管控节点10中的数据分析模块确定工作集群20的负载拓扑关系。
在本申请实施例中,管控节点10可预置多种均衡策略。多种是指2种或2种以上。每种均衡策略均是用于对工作集群20进行负载均衡的。多种均衡策略包括:多个维度的负载均衡策略,包括但不局限于:工作节点维度、分区维度及访问用户维度。在本申请实施例中,不限定均衡策略的具体实施方式,下面示例性给出几种均衡策略。
一、工作节点维度的负载均衡方式
方式1.1:工作节点对应分区不增加。
针对响应延迟时间增大、请求错误率高于设定的错误率上限阈值的工作节点,设置该工作节点不可调度新的分区。即该工作节点对应的分区只能减少,不能再增加。例如,图8中,假设某一时刻工作集群20中编号为1的工作节点201响应延迟时间增大、请求错误率高于设定的错误率上限阈值,管控节点10可设置编号为1的工作节点不可调度新的分区。例如,管控节点10可设置编号为1的工作节点的属性为工作节点对应分区不增加。在本申请实施例中,不限定设置工作节点的属性为工作节点对应分区不增加的具体实施方式。在一些实施例中,管控节点10可通过设置表征属性为工作节点对应分区对应的标签等等。
方式1.2:工作节点扩容。
工作集群20的负载水位高于设定的水位上限值。工作集群20中的任一工作节点的负载性能参数都较高(如高于设定的负载阈值),这样无论负载如何调度都会引起工作集群20中任意一个工作节点负载过高。因此,可通过扩容一个新的工作节点接入工作集群20中,后续有新的请求时可分配至新的工作节点,实现负载均衡。例如,在图9中,工作集群20存在编号1-4的4个工作节点201,编号为1的工作节点负载增大,且工作集群20的负载水位高于设定的水位阈值,则可扩容一个新工作节点(编号5的工作节点),将编号5的工作节点接入工作集群20中。
其中,工作集群的负载水位可根据工作集群20中工作节点的负载性能参数确定。例如,可计算工作集群的负载性能参数的总值与工作集群20的负载最大容量之间的比值,作为工作集群20的负载水位。
方式1.3:工作节点缩容。
工作集群20的负载水位低于设定的水位下限值,且工作集群20存在无对应分区的工作节点,可回收无对应分区的工作节点。其中,水位下限值小于上述水位上限值。例如,图10中,工作集群存在编号1-3的3个工作节点,编号1的工作节点对应分区A和B;编号2的工作节点对应分区C和D;编号3的工作节点无对应分区。假设每个工作节点的负载水位都低于设定的水位下限值,且配置工作集群的最低数量小于3,则可回收无对应分区的编号3的工作节点,实现工作节点缩容。
二、分区维度的负载均衡方式
方式2.1 热点分区迁移策略。
工作集群中存在负载性能参数超过设定的负载上限阈值的热点分区,热点分区导致所在工作节点的负载过高,在工作集群中存在其它负载较低的工作节点的情况下,将热点分区从原工作节点迁移至其它工作节点,热点分区迁移后不会导致其它工作节点负载过高。例如,在图11中,假设某一时刻工作集群中存在2个工作节点和6个分区,编号1的工作节点负责分区A、B和C,编号2的工作节点负责分区D、E和F。其中,分区A和B 的负载过载高,即热点分区为分区A和B,导致编号1的工作节点负载超出阈值,而编号2的工作节点负载较低。此时,可将编号1的工作记得上的热点分区B迁移至编号2的工作节点上。
方式2.2:热点分区分裂策略。
工作集群中存在负载性能参数超过设定的负载上限阈值的热点分区,热点分区导致所在工作节点的负载过高,在工作集群中存在其它负载较低的工作节点的情况下,但热点分区从原工作节点迁移至其它工作节点,会导致其它工作节点负载过高,则可将热点分区划分为多个子分区;并将子分区迁移至其它工作节点,且子分区迁移后不会导致其它工作节负载过高。例如,在图12中,假设某一时刻工作集群中存在2个工作节点、4个分区,编号1的工作节点负责分区A和B,编号2的工作节点负责分区C和D。其中,分区A的负载过高引起了编号1的工作节点的负载超出负载阈值,若将热点分区A迁移至编号2的工作节点,会引起编号12工作节点的负载超出阈值。此时,可以将热点分区A拆成两个子分区A-1和分区A-2 ,并将分区A-2 迁移至编号2的工作节点上。
方式2.3:冷点分区合并策略。
工作集群中存在负载性能参数低于设定的负载下限值的多个冷点分区,且冷点分区所在工作节点的负载不高,多个冷点分区的分区区间连续,可将多个冷点分区合并为一个分区;并将合并后的分区迁移至同一工作节点上,且不会引起该工作节点负载过高。例如,在图13中,假设某一时刻工作集群中存在2个工作节点和4个分区,编号1的工作节点负责分区A和B,编号2的工作节点负责分区C和D。其中,分区B和C的负载较低,且分区B和C的分区区间 [beginKey, endKey) 是相邻的。编号1的工作节点的负载不高,可将 分区B和C合并为一个分区,并迁移到编号1的工作节点上,且迁移后不会引起编号1的工作节点的负载过高。
三、用户维度的负载均衡方式
方式3.1 热点分区的热点用户迁移策略。
工作集群中存在负载性能参数超过设定的负载上限阈值的工作节点,即热点工作节点。根据工作集群20的负载拓扑关系,确定热点工作节点负载过高是由于热点工作节点的分区负载过高,即出现热点分区;并确定热点分区负载过高是由于热点用户的负载过高导致的。根据工作集群20的负载拓扑关系,确定工作集群20存在其它负载较低的工作节点,且热点用户迁移至负载较低的工作节点,不会导致该工作节点负载过高,则可将热点用户迁移至负载较低的工作节点。
例如,在图14中,假设某一时刻工作集群中存在 2 个工作节点和4 个Partition。编号1的工作节点负责分区A和B;编号2的工作节点负责Worker1 负责分区C和D,分区A 上有三个访问用户分别是用户 X、Y和Z。其中,编号1的工作节点的负载超出阈值,检测发现编号1的工作节点对应分区A负载较高,分区A 上的用户X和用户Y负载较高。编号2的工作节点负载较低,且将热点用户Y迁移至编号2的工作节点不会导致编号2的工作节点负载过高,且迁移后编号1的工作节点的负载不再大于设定的负载上限,则可将热点分区 A上的热点用户Y 迁移至编号2的工作节点上的分区C中。
方式3.2 热点分区的热点用户分裂策略。
工作集群中存在负载性能参数超过设定的负载上限阈值的工作节点,即热点工作节点。根据工作集群20的负载拓扑关系,确定热点工作节点负载过高是由于热点工作节点的分区负载过高,即出现热点分区;并确定热点分区负载过高是由于热点用户的负载过高导致的。根据工作集群20的负载拓扑关系,确定工作集群20存在其它负载较低的工作节点,但热点用户迁移至负载较低的工作节点,会导致该工作节点负载过高,则可将热点用户分裂为多个子用户;并将多个子用户的请求分散至其它负载较低的工作节点。
在图15中,假设某一时刻工作集群中存在4个工作节点,8个分区。编号1的工作节点负责分区A和B,编号2的工作节点负责分区C和D,编号3的工作节点负责分区E和F,编号4的工作节点负责分区G和H,分区A 上有2个访问用户X和Y。其中,编号1的工作节点的负载超出负载阈值,检测发现分区A上的用户X负载较高;编号2的工作节点的负载在中间水位。此时,可以将热点分区A上的热点用户X 的请求分散到分区 A(编号1的工作节点)、分区 E(编号3的工作节点)、分区G(编号4的工作节点)上,不将访问用户X的请求分散到编号2的工作节点上是因为编号2的工作节点的负载不属于低水位。
方式3.3:冷点分区的冷点用户合并策略。
工作集群中存在负载性能参数低于设定的负载下限值的多个冷点用户,且冷点用户位于的访问请求分散在不同的工作节点,工作节点的负载也较低,可将多个冷点用户合并至一个分区。这样,所在工作节点的负载不高,多个冷点分区的分区区间连续,可将多个冷点用户的请求合并至一个分区。这样,可防止由于用户请求分散较为稀疏,导致单个分区的负载过低,导致多个冷点用户所在的多个分区导致分布式计算系统频繁冷启动负载均衡。
在图16中,假设某一时刻工作集群中存在2个工作节点,4个分区。编号1的工作节点负责分区A和B,编号2的工作节点负责分区C和D,分区A 上有2个访问用户X-1和Y,分区C上有1个访问用户X-2。其中,编号1和2的工作节点的负载低于负载下限,检测发现分区A上的用户X-1和分区C上的用户X-2的负载低于负载下限;因此,可将用户X-1和X-2的请求合并为用户X的请求;并将该用户X的请求分配至分区A。这样,可防止分区A和C导致分布式计算系统频繁冷启动负载均衡。
上述实施例示出的负载均衡策略仅为示例性说明,但不构成限定。在本申请实施例中,不限定分布式计算系统进行负载均衡的触发条件。在一些实施例中,管控节点10可预设负载均衡周期,并启动一定时器或计数器对负载均衡周期进行计时,并在每次负载均衡周期到达时,触发分布式计算系统的负载均衡。
在另一些实施例中,管控节点10可响应于分布式计算系统的负载均衡请求,触发分布式计算系统的负载均衡。例如,访问用户可在分布式计算系统的响应延迟时间较大时,向管控节点10发起负载均衡请求。对于管控节点10可监测针对分布式计算系统的负载均衡请求,并在监测到负载均衡请求的情况下,确定分布式计算系统触发负载均衡;并启动分布式计算系统的负载均衡。
在又一些实施例中,管控节点10可自动触发分布式计算系统进行负载均衡。具体地,管控节点10可根据工作集群20的负载拓扑关系,判断分布式计算系统是否触发负载均衡。可选地,管控节点10在判断分布式计算系统是否触发负载均衡时,可用于执行以下至少一种判断操作:
判断操作1:从工作集群20的负载拓扑关系中,获取工作集群20中多个工作节点201的负载性能参数;并判断多个工作节点201的负载性能参数是否大于设定的负载上限阈值(定义为第一负载上限阈值)。在该判断操作中,多个工作节点201中存在负载性能参数大于设定的负载上限阈值的工作节点,即可认为多个工作节点201的负载性能参数大于设定的第一负载上限阈值。并且,在多个工作节点201中存在负载性能参数大于设定的第一负载上限阈值的工作节点的情况下,确定分布式计算系统触发负载均衡。
判断操作2:从工作集群20的负载拓扑关系中,获取工作集群20中多个工作节点201的负载性能参数;并判断多个工作节点201的负载性能参数是否小于设定的负载下限阈值(定义为第一负载下限阈值)。在该判断操作中,多个工作节点201中存在负载性能参数的第一负载阈值下限的工作节点,即可认为多个工作节点201的负载性能参数小于设定的第一负载下限阈值。并且,在多个工作节点201中存在负载性能参数小于设定的第一负载下限阈值的工作节点的情况下,确定分布式计算系统触发负载均衡。
判断操作3:从工作集群20的负载拓扑关系中,获取工作集群20中多个工作节点201的负载性能参数;根据多个工作节点201的负载性能参数,确定工作集群20的负载不均衡度。可选地,管控节点10可根据多个工作节点201的负载性能参数,计算多个工作节点201的负载性能参数的均方差,作为工作集群20的负载不均衡度。其中,多个工作节点201的负载性能参数的均方差越大,工作集群20的负载不均衡度越大。在确定出工作集群的负载不均衡度之后,可判断工作集群的负载不均衡度是否大于设定的不均衡度阈值,并在工作集群的负载不均衡度大于设定的不均衡度阈值的情况下,确定分布式计算系统触发负载均衡。
判断方式4:从工作集群20的负载拓扑关系中,获取工作集群20中多个工作节点201的请求性能参数;并判断多个工作节点201的请求性能参数是否大于设定的请求性能阈值。在该判断操作中,多个工作节点201中存在请求性能参数的请求性能阈值的工作节点,即可认为多个工作节点201的负载性能参数大于设定的请求性能阈值。并且,在多个工作节点201中存在请求性能参数大于设定的请求性能阈值的工作节点的情况下,确定分布式计算系统触发负载均衡。
上述判断操作1-4仅为示例性说明,并不构成限定。上述判断操作1-4可择一实施,也可多种判断操作结合进行实施。在多种判断操作结合进行实施时,上述至少一种判断操作存在判断结果为是的情况,即可确定分布式计算系统触发负载均衡。
上述实施例通过多种触发时机方式实现了针对分布式计算系统的多维度监测体系,使得分布式计算系统具备实时监测能力,有助于提高发现分布式计算系统的冷点或热点的及时性,进而有助于触发负载均衡的实时性。
值得说明的是,在本申请实施例中,在预测使用多种均衡策略进行负载均衡的均衡效果和影响范围时,为了提高均衡效率,可根据上述判断操作1-4存在判断操作为是的情况下,根据判断结果为是的判断操作,确定负载均衡触发类型。其中,负载均衡触发类型包括:热点触发类型和冷点触发类型。之后,可根据工作集群的负载拓扑关系,预测使用负载触发类型对应的均衡策略对工作集群进行负载均衡后的负载拓扑关系。例如,若判断操作2的判断结果为是,则确定负载均衡触发类型为冷点触发类型,可使用冷点触发类型对应的均衡策略预测(如上述方式2.3和方式3.3等)进行均衡效果和影响范围预测。又例如,若判断操作为1和/或3的判断结果为是,则确定负载均衡触发类型为热点触发类型,可使用热点触发类型对应的均衡策略预测(如上述方式2.1、方式2.2、方式3.1及方式3.2等)进行均衡效果和影响范围预测。
在本申请实施例中,为了有更好地负载均衡效果,管控节点10在负载均衡时,可根据工作集群20的负载拓扑关系,预测使用预设的多种均衡策略分别对工作集群20进行负载均衡后的工作集群的负载拓扑关系。该过程可理解为假设或模拟使用某种均衡策略对工作集群20进行负载均衡,并未真正使用该均衡策略对工作集群20进行负载均衡。
在本申请实施例中,为了便于描述和区分,将模拟负载均衡前的工作集群20,定义为第一工作集群;第一工作集群的负载拓扑关系定义为第一负载拓扑关系;相应地,模拟负载均衡后的工作集群,定义为第二工作集群;第二工作集群的负载拓扑关系定义为第二负载拓扑关系。其中,第一工作集群和第二工作集群的对象之间的拓扑关系可能相同,也可能不同。
在本申请实施例中,管控节点10在预测使用预设的多种均衡策略分别对工作集群20进行负载均衡后的负载拓扑关系时,管控节点10可根据第一工作集群的第一负载拓扑关系,确定需要均衡负载的待均衡对象。在本申请实施例中,不限定待均衡对象的具体实现形态。可选地,待均衡对象可为第一工作集群中的工作节点、分区或访问用户。其中,均衡策略的维度不同,待均衡对象的实现形态不同。对于工作节点级别的负载均衡策略,待均衡对象可为第一工作集群中的工作节点;对于分区级别的负载均衡策略,待均衡对象可为第一工作集群中的分区;对于访问用户级别的负载均衡策略,待均衡对象可为第一工作集群中的访问用户。
下面以几种均衡策略为例,对确定待均衡对象的实施方式进行示例性说明。
对于上述方式2.1示出的热点分区均衡策略,可从第一工作集群的第一负载拓扑关系中,获取第一工作集群中分区的负载性能参数;并从第一工作集群中,确定负载性能参数大于设定的负载上限阈值(定义为第二负载上限阈值)的热点分区,作为待均衡对象。其中,第二负载上限阈值是指用于衡量分区是否为热点分区的负载性能参数值,该第二负载上限阈值可小于上述第一负载上限阈值。
对于上述方式2.2示出的热点分区分裂策略,可从第一工作集群的第一负载拓扑关系中,获取第一工作集群中分区的负载性能参数;并从第一工作集群中,确定负载性能参数大于设定的第二负载上限阈值的热点分区,作为待均衡对象。
对于上述方式2.3示出的冷点分区合并策略,可从第一工作集群的第一负载拓扑关系中,获取第一工作集群中分区的负载性能参数;并从第一工作集群中,确定负载性能参数小于设定的第二负载下限阈值的多个冷点分区;并在多个冷点分区的区间连续的情况下,确定多个冷点分区为待均衡对象。其中,第二负载下限阈值是指用于衡量分区是否为冷点分区的负载性能参数值。
对于上述方式3.1示出的热点分区的热点用户迁移策略,管控节点10可从第一工作集群的第一负载拓扑关系中,获取第一工作集群中分区的负载性能参数和访问用户的负载性能参数;并从第一工作集群中,确定负载性能参数大于设定的第二负载上限阈值的热点分区;之后,从热点分区对应访问用户中,确定负载性能参数大于设定的第三负载上限阈值的热点用户,作为待均衡对象。其中,第三负载上限阈值是指用于衡量访问用户是否为热点分区的负载性能参数值,该第三负载上限阈值可小于上述第二负载上限阈值。
对于上述方式3.2示出的热点分区的热点用户分裂策略,管控节点10可可从第一工作集群的第一负载拓扑关系中,获取第一工作集群中分区的负载性能参数和访问用户的负载性能参数;并从第一工作集群中,确定负载性能参数大于设定的第二负载上限阈值的热点分区;之后,从热点分区对应访问用户中,确定负载性能参数大于设定的第三负载上限阈值的热点用户,作为待均衡对象。
对于上述方式3.3示出的冷点用户合并策略,从第一负载拓扑关系中,获取第一工作集群中工作节点的负载性能参数和访问用户的负载性能参数;从第一工作集群中,确定负载性能参数小于设定的第一负载下限阈值的冷点工作节点;从冷点工作节点对应访问用户中,确定负载性能参数小于设定的第三负载下限阈值的冷点用户,作为待均衡对象。其中,其中,第三负载下限阈值是指用于衡量分区是否为冷点用户的负载性能参数值。第三负载下限阈值可小于上述第一负载下限阈值等。
在确定出待均衡对象之后,管控节点10可根据第一负载拓扑关系,使用多种均衡策略对待均衡对象进行模拟均衡负载;并预测模拟均衡负载后的第二工作集群中工作节点、分区及访问用户的负载性能参数和请求性能参数,以得到第二工作集群的第二负载拓扑关系。
具体地,针对任一均衡策略(定义为第一均衡策略),在使用第一均衡策略对待均衡对象进行模拟均衡负载时,管控节点10可根据第一负载拓扑关系,从第一工作集群中选择负载性能参数满足设定要求的工作节点;并使用第一均衡策略,对待均衡对象的负载在待均衡对象对应的原工作节点和确定出的满足设定要求的工作节点之间进行模拟均衡负载,得到第二工作集群。为了便于描述和区分,将选择出的满足设定要求的工作节点,定义为第一工作节点;将待均衡对象对应的原工作节点,定义为第二工作节点。
具体地,管控节点10在从第一工作集群中选择负载性能满足设定要求的工作节点时,可从第一负载拓扑关系中,获取第一工作集群中工作节点的访问流量和待均衡对象的访问流量;根据待均衡对象的访问流量和第一工作集群中工作节点的访问流量,预测使用第一均衡策略对待均衡对象在第二工作节点和第一工作集群中工作节点之间进行模拟均衡负载后,得到的第一工作集群中工作节点的负载性能参数。在本申请实施例中,为了便于描述和区分,将从第一负载拓扑关系中获取的第一工作集群的负载性能参数,定义为第一负载性能参数;将使用第一均衡策略对待均衡对象在第二工作节点和第一工作集群中工作节点之间进行模拟均衡负载后,预测出的第一工作集群中工作节点的负载性能参数,定义为第二负载性能参数。
可选地,管控节点10在预测使用第一均衡策略对待均衡对象在第二工作节点和第一工作集群中工作节点之间进行模拟均衡负载后,第一工作集群中工作节点的第二负载性能参数时,可根据待均衡对象的访问流量和第一工作集群中工作节点的访问流量L1,预测使用第一均衡策略对待均衡对象在第二工作节点和第一工作集群中工作节点之间进行模拟负载均衡后,第一工作集群中工作节点的访问流量L2;之后,可根据模拟负载均衡后第一工作集群中工作节点的访问流量L2,以及,预设的访问流量与负载性能参数之间的函数关系,确定使用第一均衡策略模拟均衡后第一工作集群中工作节点的第二负载性能参数。
之后,可根据第二工作集群中工作节点的第二负载性能参数,从第一工作集群中选择负载性能参数满足设定要求的第一工作节点。例如,可根据第二工作集群中工作节点的第二负载性能参数,从第一工作集群中选择负载性能参数最小的工作节点,作为第一工作节点;或者,根据第二工作集群中工作节点的第二负载性能参数,按照负载性能参数从小到大的顺序,从第一工作集群中依次选择M个工作节点,作为第一工作节点。M为正整数,其取值可根据实际负载均衡需求进行选择。
进一步,使用第一均衡策略,对待均衡对象的负载在待均衡对象对应的原工作节点和确定出的满足设定要求的工作节点之间进行模拟均衡负载,得到第二工作集群;并可预测模拟均衡负载后的第二工作集群中工作节点、分区及访问用户的负载性能参数和请求性能参数,以得到第二工作集群的第二负载拓扑关系。
具体地,管控节点10在预测模拟均衡负载后的第二工作集群中工作节点、分区及访问用户的负载性能参数和请求性能参数时,可从第一负载拓扑关系中,获取待均衡对象和第一工作节点的负载性能参数和请求性能参数;根据待均衡对象和第一工作节点的负载性能参数和请求性能参数,预测使用第一均衡策略模拟均衡负载后第一工作节点及第二工作节点的负载性能参数和请求性能参数,作为第二负载拓扑关系中第一工作节点及第二工作节点的负载性能参数和请求性能参数;并基于第一负载拓扑关系,确定第二负载拓扑关系中其它对象的负载性能参数和请求性能参数,以得到第二负载拓扑关系;其中,其它对象包括:除第一工作节点及第二工作节点之外的其它工作节点、分区及访问用户。例如,对于图11所示的热点分区迁移策略示意图,待均衡对象为热点分区B,第一工作节点可为工作节点2,第二工作节点可为工作节点1,其它对象则为除工作节点1和2之外的分区A-F及分区A-F对应的访问用户。
对于第二工作集群中工作节点的负载性能参数,可从第一负载拓扑关系中,获取待均衡对象的访问流量L00、第一工作节点的访问流量L10和待均衡对象对应的第二工作节点的访问流量L20,预测使用第一均衡策略在第一工作节点和待均衡对象对应第二工作节点模拟负载均衡后第一工作节点的访问流量L11及第二工作节点的访问流量L21;之后,可根据模拟负载均衡后第一工作节点的访问流量L11、第二工作节点的访问流量L21,以及,预设的访问流量与负载性能参数之间的函数关系,确定模拟负载均衡后第一工作节点和第二工作节点的负载性能参数。对于第二工作集群中除参与模拟负载均衡的第一工作节点和第二工作节点之外的其它对象的负载性能参数保持不变。
对于第二工作集群中工作节点的请求性能参数,可从第一负载拓扑关系中,获取待均衡对象的请求性能参数Q00、第一工作节点的请求性能参数Q10和待均衡对象对应的第二工作节点的请求性能参数Q20,预测使用第一均衡策略在第一工作节点和待均衡对象对应第二工作节点模拟负载均衡后第一工作节点的请求性能参数Q11和待均衡对象对应的第二工作节点的请求性能参数Q21。例如,对于访问流量可采用QPS进行表征,相应地,可根据待均衡对象的QPS、第一工作节点的QPS及第二工作节点的QPS,预测使用第一均衡策略在第一工作节点和待均衡对象对应第二工作节点模拟负载均衡后第一工作节点的QPS和待均衡对象对应的第二工作节点的QPS。例如,图11所示的热点分区迁移策略示意图,待均衡对象为热点分区B,第一工作节点可为工作节点2,第二工作节点可为工作节点1,则使用热点分区迁移策略将热点分区B从工作节点1模拟迁移至工作节点2之后,工作节点1的QPS为工作节点1的QPS减去热点分区B的QPS;工作节点2的QPS为工作节点1的QPS加上热点分区B的QPS等。
又例如,对于响应时间延迟,可根据待均衡对象的响应时间延迟、第一工作节点的响应时间延迟及第二工作节点的响应时间延迟,预测使用第一均衡策略在第一工作节点和待均衡对象对应第二工作节点模拟负载均衡后,第一工作节点的响应时间延迟和待均衡对象对应的第二工作节点的响应时间延迟。例如,图11所示的热点分区迁移策略示意图,待均衡对象为热点分区B,第一工作节点可为工作节点2,第二工作节点可为工作节点1,则使用热点分区迁移策略将热点分区B从工作节点1模拟迁移至工作节点2之后,工作节点1的响应时间延迟可根据工作节点1迁出热点分区B之后其它分区(如图11中的分区A和C)的平均响应延迟时间确定。工作节点2的响应时间延迟可根据分区B-F的平均响应延迟时间确定等等。
又例如,对于请求错误率,可根据待均衡对象的请求错误率、第一工作节点的请求错误率及第二工作节点的请求错误率,预测使用第一均衡策略在第一工作节点和待均衡对象对应第二工作节点模拟负载均衡后,第一工作节点的请求错误率和待均衡对象对应的第二工作节点的请求错误率。例如,可根据待均衡对象的请求错误率、第一工作节点和第二工作节点的请求错误率,预测使用第一均衡策略在第一工作节点和待均衡对象对应第二工作节点模拟负载均衡后,第一工作节点和第二工作节点的平均请求错误率,作为第一工作节点及第二工作节点的请求错误率。
对于第二工作集群中除参与模拟负载均衡的第一工作节点和第二工作节点之外的其它对象的请求性能参数保持不变。
在得到第二工作集群中各对象的负载性能参数和请求性能参数之后,可根据第二工作集群中各对象的负载性能参数和请求性能参数,确定第二工作集群的第二负载拓扑关系。
为了便于理解上述使用第一均衡策略模拟均衡负载,得到模拟均衡负载后的第二工作集群的第二负载拓扑关系的具体实施方式。下面结合几种负载均衡策略进行示例性说明。
实施方式1:针对上述方式2.1示出的热点分区迁移策略,对于确定出的热点分区,可从第一工作集群的第一负载拓扑关系中,获取热点分区的访问流量L00和第一工作集群中工作节点的访问流量L11;根据热点分区的访问流量L00和第一工作集群中的工作节点的访问流量L11,预测将热点分区模拟迁移至第一工作集群中除热点分区所在的第二工作节点之外的其它工作节点后,第一工作集群中工作节点的访问流量L21;之后,可根据模拟迁移后的第一工作集群中工作节点的访问流量L21,以及,预设的访问流量与负载性能参数之间的函数关系,确定模拟迁移后第一工作集群中工作节点的第二负载性能参数。之后,可根据模拟迁移后第一工作集群中工作节点的第二负载性能参数,从第一工作集群的工作节点中选择第二负载性能参数小于设定的负载上限的工作节点;并从第二负载性能参数小于设定的负载上限的工作节点中,确定负载性能参数最小的工作节点作为第一工作节点。
进一步,可将热点分区从所在的第二工作节点模拟迁移至第一工作节点。在热点分区从第二工作节点模拟迁移至第一工作节点之后,可根据模拟迁移前的热点分区的访问流量、第一工作节点的访问流量及第二工作节点的访问流量,预测模拟迁移后第一工作节点的访问流量和第二工作节点的访问流量;并根据模拟迁移后第一工作节点的访问流量和第二工作节点的访问流量,以及,预设的访问流量与负载性能参数之间的函数关系,确定模拟迁移后第一工作节点和第二工作节点的负载性能参数。模拟迁移后其他对象的负载性能参数保持不变。
对于第二工作集群中对象的请求性能参数的确定可参见上述实施例的相关内容,在此不再赘述。
根据第二工作集群中各对象的负载性能参数和请求性能参数,即可得到第二工作集群的负载拓扑关系。
实施方式2:对于上述方式2.2示出的热点分区分裂策略,在确定出热点分区之后,管控节点10可将热点分区划分为多个子分区。在本申请实施例中,不限定划分子分区的具体实施方式。
可选地,管控节点10可从第一工作集群的第一负载拓扑关系中,获取热点分区的负载分布情况。热点分区的负载分布情况包括:热点分区的负载随热点分区的分区键之间的变化。例如,如图17所示的热点分区A的负载分布情况,在图17中,横轴表示热点分区A的分区键,从[beginKey,endKey);纵轴表示热点分区在各分区键对应的负载情况。热点分区的负载包括:热点分区的负载性能参数和请求性能参数等。
进一步,管控节点10可以子分区负载均衡为目的,根据热点分区的负载分布情况,将热点分区划分为多个子分区。在本申请实施例中,不限定子分区的数量。在一些实施例中,可设定子分区的数量上限N,N≥3,且为整数。例如,N=5等。管控节点10可以子分区负载均衡为目的,根据热点分区的负载分布情况,将热点分区依次划分为2到N个子分区。
例如,管控节点10可根据热点分区各分区键对应的访问流量和待划分的子分区数量X,确定热点分区的分裂点。X=2,…,N。可选地,管控节点10可以热点分区各分区键对应的访问流量在X个子分区的数量差异小于或等于设定的差异阈值为目的,确定热点分区的(X-1)个分裂点;并根据分裂点将热点分区划分为X个子分区。
在划分出X个子分区之后,可根据第一工作集群的第一负载拓扑关系和多个子分区的数量X,从第一工作集群的工作节点中选择负载性能参数满足设定要求的第二目标工作节点,作为第一工作节点;其中,第二目标工作节点的数量小于或等于多个子分区的数量X。一般地,第二目标工作节点的数量等于(X-1)。
可选地,管控节点10可从第一负载拓扑关系中,获取第一工作集群中工作节点的访问流量;并根据X个子分区的访问流量及第一工作集群中工作节点的访问流量,预测将X个子分区模拟迁移至第一工作集群中工作节点后,第一工作集群中工作节点的第二负载性能参数;之后,按照X个子分区模拟迁移至第一工作集群中工作节点后,第一工作集群中工作节点的第二负载性能参数从小到大的顺序,从第一工作集群中的工作节点中选择(X-1)个第二目标工作节点。
之后,管控节点10可将(X-1)个子分区模拟迁移至(X-1)个第二目标工作节点;并根据(X-1)个子分区的负载性能参数和请求性能参数,以及,(X-1)个第二目标工作节点的负载性能参数和请求性能参数,预测(X-1)个子分区模拟迁移后(X-1)个第二目标工作节点的负载性能参数和请求性能参数,以及,热点分区所在原工作节点的负载性能参数和请求性能参数。关于模拟迁移后得到的第二工作集群中其它对象的载性能参数和请求性能参数的确定方式,可参见上述其它实施例的相关内容,在此不再赘述。
在得到第二工作集群的第二负载拓扑关系之后,可根据将热点分区分别划分为2到N个子分区对应的第二负载拓扑关系,预测将热点分区分别划分为2到N个子分区模拟迁移后的均衡效果和影响范围;之后,管控节点10可根据将热点分区分别划分为2到N个子分区分别对应的模拟迁移后的均衡效果和影响范围,选择目标热点分区分裂策略。其中,选择出的目标热点分区分裂策略包括:热点分区的分裂参数,例如可包括:热点分区、分裂点、子分区数量及第二目标工作节点的标识等等。
其中,关于预测热点分区分裂策略的均衡效果和影响范围的具体实施方式,将在下文实施例中进行详述,在此暂不赘述。
上述实施例仅以热点分区迁移和热点分区分裂策略为例,对预测使用均衡策略模拟均衡负载后第一工作节点及所述第二工作节点的负载性能参数和请求性能参数进行示例性说明。关于预测其它均衡策略预测使用均衡策略模拟均衡负载后第一工作节点及所述第二工作节点的负载性能参数和请求性能参数的具体实施方式,可参考上述热点分区迁移和热点分区分裂策略的相关内容,在此不再赘述。
上述实施例提供的模拟负载均衡预测负载拓扑关系的实施方式仅为示例性说明,并不构成限定。
在预测出使用预设的多种均衡策略对第一工作集群进行模拟负载均衡后,得到的第二工作集群的第二负载拓扑关系之后,由于模拟负载均衡后得到的第二负载拓扑关系,可反映模拟负载均衡后得到的第二工作集群中各对象的负载情况。第二工作集群中各对象的负载情况,在一定程度上反映工作集群的负载均衡度。因此,管控节点10可根据第二工作集群的第二负载拓扑关系,从多种均衡策略中选择目标均衡策略。在本申请实施例中,不限定根据第二负载拓扑关系,从多种均衡策略中选择目标均衡策略的具体实施方式。下面结合几种可选实施方式进行示例性说明。
实施方式A:管控节点10可根据第二负载拓扑关系,预测使用多种均衡策略进行模拟负载均衡的均衡效果和影响范围;并根据预测出的使用多种均衡策略进行模拟负载均衡的均衡效果和影响范围,从多种均衡策略中选择目标均衡策略。
可选地,管控节点10可从第二负载拓扑关系,第二工作集群中工作节点和分区的负载性能参数和请求性能参数;根据第二工作集群中工作节点和分区的负载性能参数和请求性能参数,判断使用第一均衡策略进行负载均衡后是否会再次触发负载均衡;若判断结果为是,则确定使用第一均衡策略进行负载均衡的均衡效果为负载均衡不达标。其中,关于是否触发负载均衡的具体实施方式,可参见上述判断操作1-4,在此不再赘述。
和/或,管控节点10可根据第二工作集群中工作节点的负载性能参数,确定第二工作集群的负载不均衡度;并判断第二工作集群的负载不均衡度是否大于设定的不均衡度阈值;若判断结果为是,则确定使用第一均衡策略进行负载均衡的均衡效果为负载均衡不达标。关于工作集群的负载不均衡度的计算方式,可参见上述实施例的相关内容,在此不再赘述。
对于上述两种判断操作结合进行实施的实施例,只要存在判断结果为是的情况,则可确定使用第一均衡策略进行负载均衡的均衡效果为负载均衡不达标。相应地,对于上述两种判断操作结合进行实施的实施例,在两种判断操作的结果均为是时,使用第一均衡策略进行负载均衡的均衡效果为负载均衡达标。
对于使用多种均衡策略进行模拟负载均衡的影响范围,管控节点10可从第二负载拓扑关系中,获取第一工作节点在使用所述第一均衡策略模拟均衡负载后的负载性能参数;从第一负载拓扑关系中,获取第一工作节点在使用第一均衡策略模拟均衡负载前的负载性能参数;根据第一工作节点在使用第一均衡策略模拟均衡负载前后的负载性能参数,确定使用第一均衡策略进行负载均衡对第一工作节点的负载影响度。例如,管控节点10可计算第一工作节点在使用第一均衡策略模拟均衡负载前后的负载性能参数的方差或标准差,作为使用第一均衡策略进行负载均衡对第一工作节点的负载影响度。或者,管控节点10可计算第一工作节点在使用第一均衡策略模拟均衡负载前后的负载性能参数的变化率,作为使用第一均衡策略进行负载均衡对第一工作节点的负载影响度等等。
在另一些实施例中,管控节点10还可从第一负载拓扑关系中,获取第一工作节点在使用第一均衡策略负载均衡前的访问用户数量,作为使用所述第一均衡策略进行负载均衡影响的用户数量。其中,使用所述第一均衡策略进行负载均衡影响的用户数量最少,使用均衡策略进行模拟负载均衡的影响范围越小。
进一步,管控节点10可根据负载影响度,和/或,使用所述第一均衡策略进行负载均衡影响的用户数量,确定使用第一均衡策略进行负载均衡的预测影响范围。可选地,管控节点10可对负载影响度和使用第一均衡策略进行负载均衡影响的用户数量进行加权求和,得到使用第一均衡策略进行负载均衡的预测影响范围等等。
在预测出使用预设的均衡策略进行模拟负载均衡的均衡效果和影响范围之后,管控节点10可根据使用预设的均衡策略进行模拟负载均衡的均衡效果和影响范围,从多种均衡策略中选择目标均衡策略(对应图7a中步骤4生成调度)。其中,目标均衡策略包括:均衡策略的标识、待均衡对象的标识、参与目标均衡策略的第一工作节点的标识及对待均衡对象的操作参数等等。例如,对于热点分区迁移策略,可包括:热点分区迁移策略的标识、热点分区的标识、热点分区待迁移至的第一工作节点的标识等。
可选地,管控节点10可从所述多种均衡策略中选择均衡效果为负载均衡达标的候选均衡策略;并从候选均衡策略中,选择影响范围满足设定要求的目标均衡策略。例如,管控节点10可从候选均衡策略中,选择影响范围最小的目标均衡策略等等。
实施方式B:针对每种均衡策略,在使用该均衡策略模拟均衡负载时,每种均衡策略具体实施时,会产生多种具体的实施方式,并预测多种具体实施方式模拟负载均衡后的均衡效果和影响范围,选择该均衡策略下的最终具体实施方式。例如,对于上述方式2.2示出的热点分区分裂策略,可将热点分区依次划分为2到N个子分区;并将热点分区分别划分为2到N个子分区模拟迁移后的均衡效果和影响范围;之后,管控节点10可根据将热点分区分别划分为2到N个子分区分别对应的模拟迁移后的均衡效果和影响范围,选择目标热点分区分裂策略等等。由于每种均衡策略下的具体实施方式的;当然,对于均衡策略不存在模拟负载均衡后的均衡效果和影响范围满足要求的具体实施方式的情况,预测出使用该均衡策略对第一工作集群进行模拟负载均衡后,不输出第二负载拓扑关系。
在本申请实施例中,可设置多种均衡策略的使用优先级。在预测出使用预设的多种均衡策略对第一工作集群进行模拟负载均衡后,得到的第二工作集群的第二负载拓扑关系之后,可根据第二负载拓扑关系,确定每个第二负载拓扑关系对应的均衡策略,即该第二负载拓扑关系是使用哪种均衡策略模拟负载均衡得到的。进一步,可根据每个第二负载拓扑关系对应的均衡策略的使用优先级,从每个第二负载拓扑关系对应的均衡策略中选择使用优先级最高的均衡策略,作为目标均衡策略。
实施方式C:工作集群的负载拓扑关系可反映工作集群中各对象的负载情况,工作集群中各对象的负载情况,在一定程度上反映工作集群的负载均衡度。因此,在根据第二负载拓扑关系,从多种均衡策略中选择目标均衡策略时,管控节点10可从第二负载拓扑关系中,获取第二工作集群中各工作节点的负载性能参数;并根据第二工作集群中各工作节点的负载性能参数,计算第二工作集群的负载均衡度;之后,可根据第二工作集群的负载均衡度,从多种均衡策略中选择对应的第二工作集群的负载均衡度达标的均衡策略,作为目标均衡策略等等。
上述从多种均衡策略中选择目标均衡策略的实施方式仅为示例性说明,并不构成限定。
在确定出目标均衡策略之后,管控节点10可根据目标均衡策略对分布式计算系统进行负载均衡(对应图7a中步骤5下发调度)。具体地,管控节点10可根据目标均衡策略,生成负载均衡计划(对应图7b中策略执行计划)。其中,负载均衡计划包括:目标均衡策略的标识、待均衡对象的标识、参与目标均衡策略的第一工作节点的标识及对待均衡对象的操作参数等等。进一步,管控节点10可按照负载均衡计算,对分布式计算系统进行负载均衡。
上述预测均衡效果和影响范围的多种均衡策略可包括上述分区级别的负均衡策略和用户级别均衡策略,若上述分区级别均衡策略和用户级别均衡策略预测出的均衡效果均为负载均衡不达标,则可采用工作节点级别(如上述方式3.1-方式3.3示出的均衡策略)的负载均衡策略。具体实施方式,可参见上述方式3.1-方式3.3,在此不再赘述。
在本申请实施例中,针对多种维度的负载均衡策略,通过使用各负载均衡策略进行模拟负载均衡,预测负载均衡策略实施后的工作集群的负载拓扑关系;根据预测出的工作集群的负载拓扑关系,选择合适的负载均衡策略进行执行,由于预期了工作集群的负载情况,因此,有助于使实际执行的负载均衡策略的负载均衡的有效性得到保障,有助于提高负载均衡效果,进而提高分布式计算系统的性能。
在使用目标均衡策略对分布式计算系统进行负载均衡之后,对于第二工作集群的对象拓扑关系相较于第一工作集群的对象拓扑关系发生变化的实施例,管控节点10还可修改存储节点40中存储的工作集群的对象拓扑关系(对应图7a中的步骤6)等。
除了上述分布式计算系统之外,本申请实施例还提供负载均衡方法,下面对本申请实施例提供的负载均衡方法进行示例性说明。
图18为本申请实施例提供的负载均衡方法的流程示意图。如图18所示,该负载均衡方法包括:
801、获取分布式计算系统的第一工作集群的第一负载拓扑关系。
802、根据第一负载拓扑关系,预测使用预设的多种均衡策略对第一工作集群进行负载均衡后的第二工作集群的第二负载拓扑关系。
803、根据第二负载拓扑关系从多种均衡策略中选择目标均衡策略。
804、根据目标均衡策略对分布式计算系统进行负载均衡。
关于分布式计算系统的结构和实现形态的描述可参见上述系统实施例的相关内容,在此不再赘述。在本申请实施例中,
为了提高负载均衡的处理效果,降低单机热点出现的概率,提出多维度负载均衡方式。下面结合具体实施例对本申请实施例提供的负载均衡方式进行示例性说明。
具体地,在步骤801中,可获取分布式计算系统的工作集群的负载拓扑关系。在本申请实施例中,负载拓扑关系是指工作集群中各对象之间的对应关系及各对象的负载情况。其中,工作集群中的对象包括:工作节点、分区及访问用户。对象之间的对应关系包括:工作节点、分区及访问用户之间的对应关系。工作集群中对象的负载情况可以对象的负载性能参数和请求性能参数进行表征。相应地,负载拓扑关系还包括:工作集群中工作节点、分区及访问用户的负载性能参数和请求性能参数。关于负载性能参数和请求性能参数的描述,可参见上述实施例的相关内容,在此不再赘述。
在本申请实施例中,可预置多种均衡策略。多种是指2种或2种以上。每种均衡策略均是用于对工作集群进行负载均衡的。多种均衡策略包括:多个维度的负载均衡策略,包括但不局限于:工作节点维度、分区维度及访问用户维度。关于均衡策略的具体实施方式可参见上述方式1.1-方式3.3,在此不再赘述。
在本申请实施例中,不限定分布式计算系统进行负载均衡的触发条件。在一些实施例中,可预设负载均衡周期,并启动一定时器或计数器对负载均衡周期进行计时,并在每次负载均衡周期到达时,触发分布式计算系统的负载均衡。
在另一些实施例中,可响应于分布式计算系统的负载均衡请求,触发分布式计算系统的负载均衡。例如,访问用户可在分布式计算系统的响应延迟时间较大时,向管控节点发起负载均衡请求。对于管控节点,可监测针对分布式计算系统的负载均衡请求,并在监测到负载均衡请求的情况下,确定分布式计算系统触发负载均衡;并启动分布式计算系统的负载均衡。
在又一些实施例中,可自动触发分布式计算系统进行负载均衡。具体地,可根据工作集群的负载拓扑关系,判断分布式计算系统是否触发负载均衡。可选地,在判断分布式计算系统是否触发负载均衡时,可执行以下至少一种判断操作:
判断操作1:从工作集群的负载拓扑关系中,获取工作集群中多个工作节点的负载性能参数;并判断多个工作节点的负载性能参数是否大于设定的负载上限阈值(定义为第一负载上限阈值)。在该判断操作中,多个工作节点中存在负载性能参数大于设定的第一负载上限阈值的工作节点,即可认为多个工作节点的负载性能参数大于设定的第一负载上限阈值。并且,在多个工作节点中存在负载性能参数大于设定的第一负载上限阈值的工作节点的情况下,确定分布式计算系统触发负载均衡。
判断操作2:从工作集群的负载拓扑关系中,获取工作集群中多个工作节点的负载性能参数;并判断多个工作节点的负载性能参数是否小于设定的负载下限阈值(定义为第一负载下限阈值)。在该判断操作中,多个工作节点中存在负载性能参数的第一负载阈值下限的工作节点,即可认为多个工作节点的负载性能参数小于设定的第一负载下限阈值。并且,在多个工作节点中存在负载性能参数小于设定的第一负载下限阈值的工作节点的情况下,确定分布式计算系统触发负载均衡。
判断操作3:从工作集群的负载拓扑关系中,获取工作集群中多个工作节点的负载性能参数;根据多个工作节点的负载性能参数,确定工作集群的负载不均衡度。可选地,管控节点可根据多个工作节点的负载性能参数,计算多个工作节点的负载性能参数的均方差,作为工作集群的负载不均衡度。其中,多个工作节点的负载性能参数的均方差越大,工作集群的负载不均衡度越大。在确定出工作集群的负载不均衡度之后,可判断工作集群的负载不均衡度是否大于设定的不均衡度阈值,并在工作集群的负载不均衡度大于设定的不均衡度阈值的情况下,确定分布式计算系统触发负载均衡。
判断方式4:从工作集群的负载拓扑关系中,获取工作集群中多个工作节点的请求性能参数;并判断多个工作节点的请求性能参数是否大于设定的请求性能阈值。在该判断操作中,多个工作节点中存在请求性能参数的请求性能阈值的工作节点,即可认为多个工作节点的负载性能参数大于设定的请求性能阈值。并且,在多个工作节点中存在请求性能参数大于设定的请求性能阈值的工作节点的情况下,确定分布式计算系统触发负载均衡。
上述判断操作1-4仅为示例性说明,并不构成限定。上述判断操作1-4可择一实施,也可多种判断操作结合进行实施。在多种判断操作结合进行实施时,上述至少一种判断操作存在判断结果为是的情况,即可确定分布式计算系统触发负载均衡。
上述实施例通过多种触发时机方式实现了针对分布式计算系统的多维度监测体系,使得分布式计算系统具备实时监测能力,有助于提高发现分布式计算系统的冷点或热点的及时性,进而有助于触发负载均衡的实时性。
值得说明的是,在本申请实施例中,在预测使用多种均衡策略进行负载均衡的均衡效果和影响范围时,为了提高均衡效率,可根据上述判断操作1-4存在判断操作为是的情况下,根据判断结果为是的判断操作,确定负载均衡触发类型。其中,负载均衡触发类型包括:热点触发类型和冷点触发类型。之后,可根据工作集群的负载拓扑关系,预测使用负载触发类型对应的均衡策略对工作集群进行负载均衡后的负载拓扑关系。例如,若判断操作2的判断结果为是,则确定负载均衡触发类型为冷点触发类型,可使用冷点触发类型对应的均衡策略预测(如上述方式2.3和方式3.3等)进行均衡效果和影响范围预测。又例如,若判断操作为1和/或3的判断结果为是,则确定负载均衡触发类型为热点触发类型,可使用热点触发类型对应的均衡策略预测(如上述方式2.1、方式2.2、方式3.1及方式3.2等)进行均衡效果和影响范围预测。
在本申请实施例中,为了有更好地负载均衡效果,可预测每种均衡策略的均衡效果和影响范围;并根据每种均衡策略的均衡效果和影响范围,择优选择目标均衡策略。具体地,在步骤802中,可根据工作集群的负载拓扑关系,预测使用预设的多种均衡策略分别对工作集群进行负载均衡后的工作集群的负载拓扑关系。该过程可理解为假设或模拟使用某种均衡策略对工作集群进行负载均衡,并未真正使用该均衡策略对工作集群进行负载均衡。
在本申请实施例中,为了便于描述和区分,将模拟负载均衡前的工作集群,定义为第一工作集群;第一工作集群的负载拓扑关系定义为第一负载拓扑关系;相应地,模拟负载均衡后的工作集群,定义为第二工作集群;第二工作集群的负载拓扑关系定义为第二负载拓扑关系。其中,第一工作集群和第二工作集群的对象之间的拓扑关系可能相同,也可能不同。
在本申请实施例中,在预测使用预设的多种均衡策略分别对工作集群进行负载均衡后的负载拓扑关系时,可根据第一工作集群的第一负载拓扑关系,确定需要均衡负载的待均衡对象。在本申请实施例中,不限定待均衡对象的具体实现形态。可选地,待均衡对象可为第一工作集群中的工作节点、分区或访问用户。其中,均衡策略的维度不同,待均衡对象的实现形态不同。对于工作节点级别的负载均衡策略,待均衡对象可为第一工作集群中的工作节点;对于分区级别的负载均衡策略,待均衡对象可为第一工作集群中的分区;对于访问用户级别的负载均衡策略,待均衡对象可为第一工作集群中的访问用户。关于待均衡对象的确定方式,可参见上述系统实施例的相关内容,在此不再赘述。
在确定出待均衡对象之后,可根据第一负载拓扑关系,使用多种均衡策略对待均衡对象进行模拟均衡负载;并预测模拟均衡负载后的第二工作集群中工作节点、分区及访问用户的负载性能参数和请求性能参数,以得到第二工作集群的第二负载拓扑关系。
具体地,针对任一均衡策略(定义为第一均衡策略),在使用第一均衡策略对待均衡对象进行模拟均衡负载时,可根据第一负载拓扑关系,从第一工作集群中选择负载性能参数满足设定要求的工作节点;并使用第一均衡策略,对待均衡对象的负载在待均衡对象对应的原工作节点和确定出的满足设定要求的工作节点之间进行模拟均衡负载,得到第二工作集群。为了便于描述和区分,将选择出的满足设定要求的工作节点,定义为第一工作节点;将待均衡对象对应的原工作节点,定义为第二工作节点。
具体地,在从第一工作集群中选择负载性能满足设定要求的工作节点时,可从第一负载拓扑关系中,获取第一工作集群中工作节点的访问流量和待均衡对象的访问流量;根据待均衡对象的访问流量和第一工作集群中工作节点的访问流量,预测使用第一均衡策略对待均衡对象在第二工作节点和第一工作集群中工作节点之间进行模拟均衡负载后,得到的第一工作集群中工作节点的负载性能参数。在本申请实施例中,为了便于描述和区分,将从第一负载拓扑关系中获取的第一工作集群的负载性能参数,定义为第一负载性能参数;将使用第一均衡策略对待均衡对象在第二工作节点和第一工作集群中工作节点之间进行模拟均衡负载后,预测出的第一工作集群中工作节点的负载性能参数,定义为第二负载性能参数。
可选地,在预测使用第一均衡策略对待均衡对象在第二工作节点和第一工作集群中工作节点之间进行模拟均衡负载后,第一工作集群中工作节点的第二负载性能参数时,可根据待均衡对象的访问流量和第一工作集群中工作节点的访问流量L1,预测使用第一均衡策略对待均衡对象在第二工作节点和第一工作集群中工作节点之间进行模拟负载均衡后,第一工作集群中工作节点的访问流量L2;之后,可根据模拟负载均衡后第一工作集群中工作节点的访问流量L2,以及,预设的访问流量与负载性能参数之间的函数关系,确定使用第一均衡策略模拟均衡后第一工作集群中工作节点的第二负载性能参数。
之后,可根据第二工作集群中工作节点的第二负载性能参数,从第一工作集群中选择负载性能参数满足设定要求的第一工作节点。例如,可根据第二工作集群中工作节点的第二负载性能参数,从第一工作集群中选择负载性能参数最小的工作节点,作为第一工作节点;或者,根据第二工作集群中工作节点的第二负载性能参数,按照负载性能参数从小到大的顺序,从第一工作集群中依次选择M个工作节点,作为第一工作节点。M为正整数,其取值可根据实际负载均衡需求进行选择。
进一步,使用第一均衡策略,对待均衡对象的负载在待均衡对象对应的原工作节点和确定出的满足设定要求的工作节点之间进行模拟均衡负载,得到第二工作集群;并可预测模拟均衡负载后的第二工作集群中工作节点、分区及访问用户的负载性能参数和请求性能参数,以得到第二工作集群的第二负载拓扑关系。
具体地,在预测模拟均衡负载后的第二工作集群中工作节点、分区及访问用户的负载性能参数和请求性能参数时,可从第一负载拓扑关系中,获取待均衡对象和第一工作节点的负载性能参数和请求性能参数;根据待均衡对象和第一工作节点的负载性能参数和请求性能参数,预测使用第一均衡策略模拟均衡负载后第一工作节点及第二工作节点的负载性能参数和请求性能参数,作为第二负载拓扑关系中第一工作节点及第二工作节点的负载性能参数和请求性能参数;并基于第一负载拓扑关系,确定第二负载拓扑关系中其它对象的负载性能参数和请求性能参数,以得到第二负载拓扑关系;其中,其它对象包括:除第一工作节点及第二工作节点之外的其它工作节点、分区及访问用户。
对于第二工作集群中除参与模拟负载均衡的第一工作节点和第二工作节点之外的其它对象的请求性能参数保持不变。
在得到第二工作集群中各对象的负载性能参数和请求性能参数之后,可根据第二工作集群中各对象的负载性能参数和请求性能参数,确定第二工作集群的第二负载拓扑关系。
在预测出使用预设的多种均衡策略对第一工作集群进行模拟负载均衡后,得到的第二工作集群的第二负载拓扑关系之后,由于模拟负载均衡后得到的第二负载拓扑关系,可反映模拟负载均衡后得到的第二工作集群中各对象的负载情况。第二工作集群中各对象的负载情况,在一定程度上反映工作集群的负载均衡度。因此,在步骤803中,可根据第二负载拓扑关系,从多种均衡策略中选择目标均衡策略。在本申请实施例中,不限定根据第二负载拓扑关系,从多种均衡策略中选择目标均衡策略的具体实施方式。下面结合几种可选实施方式进行示例性说明。
实施方式A:可根据第二负载拓扑关系,预测使用多种均衡策略进行模拟负载均衡的均衡效果和影响范围;并根据预测出的使用多种均衡策略进行模拟负载均衡的均衡效果和影响范围,从多种均衡策略中选择目标均衡策略。
可选地,可从第二负载拓扑关系,第二工作集群中工作节点和分区的负载性能参数和请求性能参数;根据第二工作集群中工作节点和分区的负载性能参数和请求性能参数,判断使用第一均衡策略进行负载均衡后是否会再次触发负载均衡;若判断结果为是,则确定使用第一均衡策略进行负载均衡的均衡效果为负载均衡不达标。其中,关于是否触发负载均衡的具体实施方式,可参见上述判断操作1-4,在此不再赘述。
和/或,可根据第二工作集群中工作节点的负载性能参数,确定第二工作集群的负载不均衡度;并判断第二工作集群的负载不均衡度是否大于设定的不均衡度阈值;若判断结果为是,则确定使用第一均衡策略进行负载均衡的均衡效果为负载均衡不达标。关于工作集群的负载不均衡度的计算方式,可参见上述实施例的相关内容,在此不再赘述。
对于上述两种判断操作结合进行实施的实施例,只要存在判断结果为是的情况,则可确定使用第一均衡策略进行负载均衡的均衡效果为负载均衡不达标。相应地,对于上述两种判断操作结合进行实施的实施例,在两种判断操作的结果均为是时,使用第一均衡策略进行负载均衡的均衡效果为负载均衡达标。
对于使用多种均衡策略进行模拟负载均衡的影响范围,可从第二负载拓扑关系中,获取第一工作节点在使用所述第一均衡策略模拟均衡负载后的负载性能参数;从第一负载拓扑关系中,获取第一工作节点在使用第一均衡策略模拟均衡负载前的负载性能参数;根据第一工作节点在使用第一均衡策略模拟均衡负载前后的负载性能参数,确定使用第一均衡策略进行负载均衡对第一工作节点的负载影响度。
在另一些实施例中,还可从第一负载拓扑关系中,获取第一工作节点在使用第一均衡策略负载均衡前的访问用户数量,作为使用所述第一均衡策略进行负载均衡影响的用户数量。其中,使用所述第一均衡策略进行负载均衡影响的用户数量最少,使用均衡策略进行模拟负载均衡的影响范围越小。
进一步,可根据负载影响度,和/或,使用所述第一均衡策略进行负载均衡影响的用户数量,确定使用第一均衡策略进行负载均衡的预测影响范围。可选地,可对负载影响度和使用第一均衡策略进行负载均衡影响的用户数量进行加权求和,得到使用第一均衡策略进行负载均衡的预测影响范围等等。
在预测出使用预设的均衡策略进行模拟负载均衡的均衡效果和影响范围之后,可根据使用预设的均衡策略进行模拟负载均衡的均衡效果和影响范围,从多种均衡策略中选择目标均衡策略。其中,目标均衡策略包括:均衡策略的标识、待均衡对象的标识、参与目标均衡策略的第一工作节点的标识及对待均衡对象的操作参数等等。例如,对于热点分区迁移策略,可包括:热点分区迁移策略的标识、热点分区的标识、热点分区待迁移至的第一工作节点的标识等。
可选地,可从多种均衡策略中选择均衡效果为负载均衡达标的候选均衡策略;并从候选均衡策略中,选择影响范围满足设定要求的目标均衡策略。例如,可从候选均衡策略中,选择影响范围最小的目标均衡策略等等。
当然,还可采用其它实施方式,从多种均衡策略中选择目标均衡策略,具体可参见上述实施方式B和C。
在确定出目标均衡策略之后,在步骤804中,可根据目标均衡策略对分布式计算系统进行负载均衡。具体地,可根据目标均衡策略,生成负载均衡计划。其中,负载均衡计划包括:目标均衡策略的标识、待均衡对象的标识、参与目标均衡策略的第一工作节点的标识及对待均衡对象的操作参数等等。进一步,可按照负载均衡计算,对分布式计算系统进行负载均衡。
上述预测均衡效果和影响范围的多种均衡策略可包括上述分区级别的负均衡策略和用户级别均衡策略,若上述分区级别均衡策略和用户级别均衡策略预测出的均衡效果均为负载均衡不达标,则可采用工作节点级别(如上述方式3.1-方式3.3示出的均衡策略)的负载均衡策略。具体实施方式,可参见上述方式3.1-方式3.3,在此不再赘述。
在本申请实施例中,针对多种维度的负载均衡策略,通过使用各负载均衡策略进行模拟负载均衡,预测负载均衡策略实施后的均衡效果和影响范围;根据预测出的均衡效果和影响范围,选择合适的负载均衡策略进行执行,由于预期了实施后的均衡效果和影响范围,因此,有助于使实际执行的负载均衡策略的负载均衡的有效性得到保障,有助于提高负载均衡效果,进而提高分布式计算系统的性能。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤801和802的执行主体可以为设备A;又比如,步骤801的执行主体可以为设备A,步骤802的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如801、802等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
相应地,本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行上述负载均衡方法中的步骤。
图19为本申请实施例提供的计算系统的结构示意图。如图19所示,该计算系统包括:存储器90a和处理器90b。其中,存储器,用于存储计算机程序。
处理器90b耦合至存储器90a,用于执行计算机程序以用于:获取分布式计算系统的第一工作集群的第一负载拓扑关系;根据第一负载拓扑关系,预测使用预设的多种均衡策略对第一工作集群进行负载均衡后的第二工作集群的第二负载拓扑关系;根据第二负载拓扑关系,从多种均衡策略中选择目标均衡策略;以及,根据目标均衡策略对分布式计算系统进行负载均衡。
可选地,处理器90b在预测使用预设的多种均衡策略对第一工作集群进行模拟负载均衡后的第二工作集群的第二负载拓扑关系时,具体用于:根据第一负载拓扑关系,确定需要负载均衡的待均衡对象;待均衡对象为第一工作集群中的工作节点、分区或访问用户;根据第一负载拓扑关系,使用多种均衡策略对待均衡对象进行模拟均衡负载;预测模拟均衡负载后的第二工作集群中工作节点、分区及访问用户的负载性能参数和请求性能参数,以得到第二负载拓扑关系。
进一步,处理器90b在使用多种均衡策略对待均衡对象进行模拟均衡负载时,具体用于:针对第一均衡策略,根据第一负载拓扑关系,从第一工作集群中选择负载性能参数满足设定要求的第一工作节点;使用第一均衡策略,对待均衡对象的负载在待均衡对象对应的第二工作节点和第一工作节点之间进行模拟均衡负载。
可选地,处理器90b在从第一工作集群中选择负载性能参数满足设定要求的第一工作节点时,具体用于:从第一负载拓扑关系中,获取第一工作集群中工作节点的访问流量和待均衡对象的访问流量;根据待均衡对象的访问流量和第一工作集群中工作节点的访问流量,预测使用第一均衡策略对待均衡对象在第二工作节点和第一工作集群中工作节点之间进行模拟均衡负载后,第一工作集群中工作节点的第二负载性能参数;以及,根据第一工作集群中工作节点的第二负载性能参数,从第一工作集群中选择负载性能参数满足设定要求的第一工作节点。
可选地,处理器90b在预测对待均衡对象在第二工作节点和第一工作集群中工作节点之间进行模拟均衡负载后,第一工作集群中工作节点的第二负载性能参数时,具体用于:根据待均衡对象的访问流量和第一工作集群中工作节点的第一访问流量,预测使用第一均衡策略对待均衡对象在第二工作节点和第一工作集群中工作节点之间进行模拟均衡负载后,第一工作集群中工作节点的第二访问流量;以及,根据第一工作集群中工作节点的第二访问流量及预设的访问流量与负载性能参数之间的函数关系,确定使用第一均衡策略模拟均衡后第一工作集群中工作节点的第二负载性能参数。
在另一些实施例中,处理器90b在预测模拟均衡负载后的第二工作集群中工作节点、分区及访问用户的负载性能参数和请求性能参数时,具体用于:从第一负载拓扑关系中,获取待均衡对象和第一工作节点的负载性能参数和请求性能参数;根据待均衡对象和第一工作节点的负载性能参数和请求性能参数,预测使用第一均衡策略模拟均衡负载后第一工作节点及第二工作节点的负载性能参数和请求性能参数,作为第二负载拓扑关系中第一工作节点及第二工作节点的负载性能参数和请求性能参数;基于第一负载拓扑关系,确定第二负载拓扑关系中其它对象的负载性能参数和请求性能参数,以得到第二负载拓扑关系;其中,其它对象包括:除第一工作节点及第二工作节点之外的其它工作节点、分区及用户。
可选地,处理器90b在从多种均衡策略中选择目标均衡策略时,具体用于:根据第二负载拓扑关系,预测使用预设的多种均衡策略进行模拟负载均衡的均衡效果和影响范围;根据预测出的均衡效果和影响范围从多种均衡策略中选择目标均衡策略。
进一步,处理器90b在预测使用预设的多种均衡策略进行模拟负载均衡的均衡效果时,具体用于执行以下执行一种判断操作:
从第二负载拓扑关系中,第二工作集群中工作节点和分区的负载性能参数和请求性能参数;根据第二工作集群中工作节点和分区的负载性能参数和请求性能参数,判断使用第一均衡策略进行负载均衡后是否会再次触发负载均衡;
根据第二工作集群中工作节点的负载性能参数,确定第二工作集群的负载不均衡度;判断第二工作集群的负载不均衡度是否大于设定的不均衡度阈值;
若至少一种判断操作存在判断结果为是的情况,确定使用第一均衡策略进行负载均衡的预测效果为负载均衡不达标。相应地,若至少一种判断操作的判断结果均为是,确定使用第一均衡策略进行负载均衡的预测效果为负载均衡达标。
可选地,处理器90b在预测使用预设的多种均衡策略进行模拟负载均衡的影响范围时,具体用于:
从第二负载拓扑关系中,获取第一工作节点在使用第一均衡策略模拟均衡负载后的负载性能参数;从第一负载拓扑关系中,获取第一工作节点在使用第一均衡策略模拟均衡负载前的负载性能参数;根据第一工作节点在使用第一均衡策略模拟均衡负载前后的负载性能参数,确定使用第一均衡策略进行负载均衡对第一工作节点的负载影响度;
和/或,
从第一负载拓扑关系中,获取第一工作节点在使用第一均衡策略负载均衡前的访问用户数量,作为使用第一均衡策略进行负载均衡影响的用户数量;
根据负载影响度,和/或,使用第一均衡策略进行负载均衡影响的用户数量,确定使用第一均衡策略进行负载均衡的影响范围。
在又一些实施例中,处理器90b在从多种均衡策略中选择目标均衡策略时,具体用于:从多种均衡策略中选择均衡效果为负载均衡达标的候选均衡策略;从候选均衡策略中,选择影响范围满足设定要求的目标均衡策略。
可选地,处理器90b还用于:根据第一负载拓扑关系,判断分布式计算系统是否触发负载均衡;和/或,监测针对分布式计算系统的负载均衡请求;并在监测到负载均衡请求的情况下,确定分布式计算系统触发负载均衡。
可选地,处理器90b判断分布式计算系统是否触发负载均衡时,具体用于执行以下至少一种判断操作:
判断第一工作集群中的工作节点的负载性能参数是否大于设定的负载上限阈值;
判断第一工作集群中的工作节点的负载性能参数是否小于或等于设定的负载下限阈值;负载上限阈值大于负载下限阈值;
判断第一工作集群中的工作节点对应的分区的请求性能参数是否大于设定的请求性能阈值;
根据第一工作集群中的工作节点的负载性能参数,确定第一工作集群的负载不均衡度;判断负载不均衡度是否大于设定的不均衡度阈值;
若至少一种判断操作存在结果为是的情况,确定分布式计算系统触发负载均衡。
在一些可选实施方式中,如图19所示,该计算设备还可以包括:通信组件90c、电源组件90d等可选组件。图19中仅示意性给出部分组件,并不意味着计算设备必须包含图19所示全部组件,也不意味着计算设备只能包括图19所示组件。
本实施例提供的计算设备,针对多种维度的负载均衡策略,通过使用各负载均衡策略进行模拟负载均衡,预测负载均衡策略实施后的工作集群的负载拓扑关系;根据预测出的工作集群的负载拓扑关系,选择合适的负载均衡策略进行执行,由于预期了工作集群的负载情况,因此,有助于使实际执行的负载均衡策略的负载均衡的有效性得到保障,有助于提高负载均衡效果,进而提高分布式计算系统的性能。
在本申请实施例中,存储器用于存储计算机程序,并可被配置为存储其它各种数据以支持在其所在设备上的操作。其中,处理器可执行存储器中存储的计算机程序,以实现相应控制逻辑。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
在本申请实施例中,处理器可以为任意可执行上述方法逻辑的硬件处理设备。可选地,处理器可以为中央处理器(Central Processing Unit,CPU)、图形处理器(GraphicsProcessing Unit,GPU)或微控制单元(Microcontroller Unit,MCU);也可以为现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程阵列逻辑器件(ProgrammableArray Logic,PAL)、通用阵列逻辑器件(General Array Logic,GAL)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)等可编程器件;或者为先进精简指令集(RISC)处理器(Advanced RISC Machines,ARM)或系统芯片(System on Chip,SOC)等等,但不限于此。
在本申请实施例中,通信组件被配置为便于其所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,4G,5G或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还可基于近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术或其他技术来实现。
在本申请实施例中,电源组件被配置为其所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机的存储介质为可读存储介质,也可称为可读介质。可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器 (CD-ROM)、数字多功能光盘(DVD) 或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (14)

1.一种分布式计算系统,其特征在于,包括:管控节点和第一工作集群;所述第一工作集群包括:多个工作节点;每个工作节点对应至少一个分区,用于执行对应分区接收到的请求;所述分区为将应用或服务分成的逻辑节点;
所述管控节点,用于获取所述第一工作集群的第一负载拓扑关系;所述第一负载拓扑关系是指第一工作集群中各对象之间的对应关系及各对象的负载情况;根据所述第一负载拓扑关系,预测使用预设的多种均衡策略对所述第一工作集群进行模拟负载均衡后的第二工作集群的第二负载拓扑关系;所述第二负载拓扑关系是指第二工作集群中各对象之间的对应关系及各对象的负载情况;其中,第一工作集群和第二工作集群中的对象包括:工作节点、分区及访问用户;所述多种均衡策略包括:工作节点维度、分区维度及访问用户维度的负载均衡策略;根据所述第二负载拓扑关系,从所述多种均衡策略中选择目标均衡策略;根据所述目标均衡策略对所述分布式计算系统进行负载均衡。
2.一种负载均衡方法,其特征在于,包括:
获取分布式计算系统的第一工作集群的第一负载拓扑关系;所述第一负载拓扑关系是指第一工作集群中各对象之间的对应关系及各对象的负载情况;
根据所述第一负载拓扑关系,预测使用预设的多种均衡策略对所述第一工作集群进行负载均衡后的第二工作集群的第二负载拓扑关系;所述第二负载拓扑关系是指第二工作集群中各对象之间的对应关系及各对象的负载情况;其中,第一工作集群和第二工作集群中的对象包括:工作节点、分区及访问用户;所述多种均衡策略包括:工作节点维度、分区维度及访问用户维度的负载均衡策略;所述分区为将应用或服务分成的逻辑节点;
根据所述第二负载拓扑关系,从所述多种均衡策略中选择目标均衡策略;
根据所述目标均衡策略对所述分布式计算系统进行负载均衡。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一负载拓扑关系,预测使用预设的多种均衡策略对所述第一工作集群进行模拟负载均衡后的第二工作集群的第二负载拓扑关系,包括:
根据所述第一负载拓扑关系,确定需要负载均衡的待均衡对象;所述待均衡对象为所述第一工作集群中的工作节点、分区或访问用户;
根据所述第一负载拓扑关系,使用所述多种均衡策略对所述待均衡对象进行模拟均衡负载;
预测模拟均衡负载后的第二工作集群中工作节点、分区及访问用户的负载性能参数和请求性能参数,以得到所述第二负载拓扑关系。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一负载拓扑关系,使用所述多种均衡策略对所述待均衡对象进行模拟均衡负载,包括:
针对第一均衡策略,根据所述第一负载拓扑关系,从所述第一工作集群中选择负载性能参数满足设定要求的第一工作节点;
使用所述第一均衡策略,对所述待均衡对象的负载在所述待均衡对象对应的第二工作节点和所述第一工作节点之间进行模拟均衡负载。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一负载拓扑关系,从所述第一工作集群中选择负载性能参数满足设定要求的第一工作节点,包括:
从所述第一负载拓扑关系中,获取所述第一工作集群中工作节点的访问流量和所述待均衡对象的访问流量;
根据所述待均衡对象的访问流量和所述第一工作集群中工作节点的访问流量,预测使用所述第一均衡策略对所述待均衡对象在所述第二工作节点和所述第一工作集群中工作节点之间进行模拟均衡负载后,所述第一工作集群中工作节点的第二负载性能参数;
根据所述第一工作集群中工作节点的第二负载性能参数,从所述第一工作集群中选择负载性能参数满足设定要求的第一工作节点。
6.根据权利要求5所述的方法,其特征在于,所述根据所述待均衡对象的访问流量和所述第一工作集群中工作节点的访问流量,预测对所述待均衡对象在所述第二工作节点和所述第一工作集群中工作节点之间进行模拟均衡负载后,所述第一工作集群中工作节点的第二负载性能参数,包括:
根据所述待均衡对象的访问流量和所述第一工作集群中工作节点的第一访问流量,预测使用所述第一均衡策略对所述待均衡对象在所述第二工作节点和所述第一工作集群中工作节点之间进行模拟均衡负载后,所述第一工作集群中工作节点的第二访问流量;
根据所述第一工作集群中工作节点的第二访问流量及预设的访问流量与负载性能参数之间的函数关系,确定使用所述第一均衡策略模拟均衡后所述第一工作集群中工作节点的第二负载性能参数。
7.根据权利要求4所述的方法,其特征在于,所述预测模拟均衡负载后的第二工作集群中工作节点、分区及访问用户的负载性能参数和请求性能参数,以得到所述第二负载拓扑关系,包括:
从所述第一负载拓扑关系中,获取所述待均衡对象和所述第一工作节点的负载性能参数和请求性能参数;
根据所述待均衡对象和所述第一工作节点的负载性能参数和请求性能参数,预测使用第一均衡策略模拟均衡负载后所述第一工作节点及所述第二工作节点的负载性能参数和请求性能参数,作为所述第二负载拓扑关系中所述第一工作节点及所述第二工作节点的负载性能参数和请求性能参数;
基于所述第一负载拓扑关系,确定所述第二负载拓扑关系中其它对象的负载性能参数和请求性能参数,以得到所述第二负载拓扑关系;
其中,所述其它对象包括:除所述第一工作节点及所述第二工作节点之外的其它工作节点、分区及用户。
8.根据权利要求4-7任一项所述的方法,其特征在于,所述根据所述第二负载拓扑关系,从所述多种均衡策略中选择目标均衡策略,包括:
根据所述第二负载拓扑关系,预测使用预设的多种均衡策略进行模拟负载均衡的均衡效果和影响范围;
根据预测出的均衡效果和影响范围从所述多种均衡策略中选择目标均衡策略。
9.根据权利要求8所述的方法,其特征在于,所述根据所述第二负载拓扑关系,预测使用预设的多种均衡策略进行模拟负载均衡的均衡效果,包括执行以下至少一种判断操作:
从所述第二负载拓扑关系中,所述第二工作集群中工作节点和分区的负载性能参数和请求性能参数;根据所述第二工作集群中工作节点和分区的负载性能参数和请求性能参数,判断使用所述第一均衡策略进行负载均衡后是否会再次触发负载均衡;
根据所述第二工作集群中工作节点的负载性能参数,确定所述第二工作集群的负载不均衡度;判断所述第二工作集群的负载不均衡度是否大于设定的不均衡度阈值;
若所述至少一种判断操作存在判断结果为是的情况,确定使用所述第一均衡策略进行负载均衡的预测效果为负载均衡不达标。
10.根据权利要求8所述的方法,其特征在于,所述根据所述第二负载拓扑关系,预测使用预设的多种均衡策略进行模拟负载均衡的影响范围,包括:
从所述第二负载拓扑关系中,获取所述第一工作节点在使用所述第一均衡策略模拟均衡负载后的负载性能参数;从所述第一负载拓扑关系中,获取所述第一工作节点在使用所述第一均衡策略模拟均衡负载前的负载性能参数;根据所述第一工作节点在使用所述第一均衡策略模拟均衡负载前后的负载性能参数,确定使用第一均衡策略进行负载均衡对所述第一工作节点的负载影响度;
和/或,
从所述第一负载拓扑关系中,获取所述第一工作节点在使用所述第一均衡策略负载均衡前的访问用户数量,作为使用所述第一均衡策略进行负载均衡影响的用户数量;
根据所述负载影响度,和/或,所述使用所述第一均衡策略进行负载均衡影响的用户数量,确定所述使用第一均衡策略进行负载均衡的影响范围。
11.根据权利要求2-7任一项所述的方法,其特征在于,还包括:
根据所述第一负载拓扑关系,判断所述分布式计算系统是否触发负载均衡;
和/或;
监测针对所述分布式计算系统的负载均衡请求;并在监测到所述负载均衡请求的情况下,确定所述分布式计算系统触发负载均衡。
12.根据权利要求11所述的方法,其特征在于,所述判断所述分布式计算系统是否触发负载均衡,包括执行以下至少一种判断操作:
判断所述第一工作集群中的工作节点的负载性能参数是否大于设定的负载上限阈值;
判断所述第一工作集群中的工作节点的负载性能参数是否小于或等于设定的负载下限阈值;所述负载上限阈值大于所述负载下限阈值;
判断所述第一工作集群中的工作节点对应的分区的请求性能参数是否大于设定的请求性能阈值;
根据所述第一工作集群中的工作节点的负载性能参数,确定所述第一工作集群的负载不均衡度;判断所述负载不均衡度是否大于设定的不均衡度阈值;
若所述至少一种判断操作存在结果为是的情况,确定所述分布式计算系统触发负载均衡。
13.一种计算设备,其特征在于,包括:存储器和处理器;其中,所述存储器,用于存储计算机程序;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行权利要求2-12任一项所述方法中的步骤。
14.一种存储有计算机指令的计算机可读存储介质,其特征在于,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行权利要求2-12任一项所述方法中的步骤。
CN202210372217.XA 2022-04-11 2022-04-11 分布式计算系统、负载均衡方法、设备及存储介质 Active CN114466019B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210372217.XA CN114466019B (zh) 2022-04-11 2022-04-11 分布式计算系统、负载均衡方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210372217.XA CN114466019B (zh) 2022-04-11 2022-04-11 分布式计算系统、负载均衡方法、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114466019A CN114466019A (zh) 2022-05-10
CN114466019B true CN114466019B (zh) 2022-09-16

Family

ID=81418398

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210372217.XA Active CN114466019B (zh) 2022-04-11 2022-04-11 分布式计算系统、负载均衡方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114466019B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104184813A (zh) * 2014-08-20 2014-12-03 杭州华为数字技术有限公司 虚拟机的负载均衡方法和相关设备及集群系统
CN108965381A (zh) * 2018-05-31 2018-12-07 康键信息技术(深圳)有限公司 基于Nginx的负载均衡实现方法、装置、计算机设备和介质
CN110011928A (zh) * 2019-04-19 2019-07-12 平安科技(深圳)有限公司 流量均衡负载方法、装置、计算机设备和存储介质
CN111966453A (zh) * 2020-07-29 2020-11-20 苏州浪潮智能科技有限公司 一种负载均衡方法、系统、设备及存储介质
CN112433858A (zh) * 2020-12-17 2021-03-02 济南浪潮数据技术有限公司 一种负载分配方法、装置、设备及可读存储介质
CN112506643A (zh) * 2020-10-12 2021-03-16 苏州浪潮智能科技有限公司 一种分布式系统的负载均衡方法、装置及电子设备
CN112506669A (zh) * 2021-01-29 2021-03-16 浙江大华技术股份有限公司 任务分配方法和装置、存储介质及电子设备
CN112532743A (zh) * 2020-12-18 2021-03-19 上海安畅网络科技股份有限公司 一种智能负载均衡方法、装置及存储介质
CN112685170A (zh) * 2019-10-18 2021-04-20 伊姆西Ip控股有限责任公司 备份策略的动态优化
CN113032102A (zh) * 2021-04-07 2021-06-25 广州虎牙科技有限公司 资源重调度方法、装置、设备和介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10051047B2 (en) * 2015-10-16 2018-08-14 Atos Digital Health Solutions, Inc. Load-balancing server for data transformation modules
CN109218355B (zh) * 2017-06-30 2021-06-15 华为技术有限公司 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法
JP7014130B2 (ja) * 2018-11-02 2022-02-01 日本電信電話株式会社 負荷平準化装置、負荷平準化方法および負荷平準化プログラム
CN111245924A (zh) * 2020-01-08 2020-06-05 北京松果电子有限公司 负载均衡方法及装置、计算机存储介质
CN112532542B (zh) * 2020-11-20 2022-08-16 锐捷网络股份有限公司 一种负载均衡模式的选择方法及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104184813A (zh) * 2014-08-20 2014-12-03 杭州华为数字技术有限公司 虚拟机的负载均衡方法和相关设备及集群系统
CN108965381A (zh) * 2018-05-31 2018-12-07 康键信息技术(深圳)有限公司 基于Nginx的负载均衡实现方法、装置、计算机设备和介质
CN110011928A (zh) * 2019-04-19 2019-07-12 平安科技(深圳)有限公司 流量均衡负载方法、装置、计算机设备和存储介质
CN112685170A (zh) * 2019-10-18 2021-04-20 伊姆西Ip控股有限责任公司 备份策略的动态优化
CN111966453A (zh) * 2020-07-29 2020-11-20 苏州浪潮智能科技有限公司 一种负载均衡方法、系统、设备及存储介质
CN112506643A (zh) * 2020-10-12 2021-03-16 苏州浪潮智能科技有限公司 一种分布式系统的负载均衡方法、装置及电子设备
CN112433858A (zh) * 2020-12-17 2021-03-02 济南浪潮数据技术有限公司 一种负载分配方法、装置、设备及可读存储介质
CN112532743A (zh) * 2020-12-18 2021-03-19 上海安畅网络科技股份有限公司 一种智能负载均衡方法、装置及存储介质
CN112506669A (zh) * 2021-01-29 2021-03-16 浙江大华技术股份有限公司 任务分配方法和装置、存储介质及电子设备
CN113032102A (zh) * 2021-04-07 2021-06-25 广州虎牙科技有限公司 资源重调度方法、装置、设备和介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于软件定义网络的负载均衡策略研究";李春;《重庆邮电大学硕士学位论文》;20180415;全文 *

Also Published As

Publication number Publication date
CN114466019A (zh) 2022-05-10

Similar Documents

Publication Publication Date Title
CN108009016B (zh) 一种资源负载均衡控制方法及集群调度器
CN112153700B (zh) 一种网络切片资源管理方法及设备
CN1956457B (zh) 用于安排网格计算系统中的网格作业的方法和设备
Marotta et al. A simulated annealing based approach for power efficient virtual machines consolidation
Fu et al. Layered virtual machine migration algorithm for network resource balancing in cloud computing
CN106534318B (zh) 一种基于流量亲和性的OpenStack云平台资源动态调度系统和方法
CN105049268A (zh) 分布式计算资源分配系统和任务处理方法
CN105432040A (zh) 分布式云中的工作负载迁移下的基于属性的sla保证
US8572621B2 (en) Selection of server for relocation of application program based on largest number of algorithms with identical output using selected server resource criteria
US10944645B2 (en) Node of a network and a method of operating the same for resource distribution
CN107220108B (zh) 一种实现云数据中心负载均衡的方法和系统
Kanniga Devi et al. Load monitoring and system-traffic-aware live VM migration-based load balancing in cloud data center using graph theoretic solutions
Shalu et al. Artificial neural network-based virtual machine allocation in cloud computing
Devi et al. An efficient clustering and load balancing of distributed cloud data centers using graph theory
CN114466019B (zh) 分布式计算系统、负载均衡方法、设备及存储介质
CN111291009B (zh) 文件分块存储方法及装置
Lovén et al. Weathering the reallocation storm: Large-scale analysis of edge server workload
KR101671119B1 (ko) 클라우드 컴퓨팅 시스템의 자원 관리 방법
Dai et al. Research on dynamic resource allocation with cooperation strategy in cloud computing
Davydov et al. Development of the methods for resource reallocation in cloud computing systems
Midya et al. An adaptive resource placement policy by optimizing live VM migration for ITS applications in vehicular cloud network
Singh et al. Challenges and opportunities of resource allocation in cloud computing: A survey
Berrima et al. Resource consumption trade-off for reducing hotspot migration in modern data centres
Gao et al. K-TAHP: A Kubernetes Load Balancing Strategy Base on TOPSIS+ AHP
Tran-Dang et al. Fog Resource Aware Framework for Task Offloading in IoT Systems

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
GR01 Patent grant
GR01 Patent grant