CN113377544A - 一种基于负荷数据动态更新率的web集群负载均衡方法 - Google Patents

一种基于负荷数据动态更新率的web集群负载均衡方法 Download PDF

Info

Publication number
CN113377544A
CN113377544A CN202110758934.1A CN202110758934A CN113377544A CN 113377544 A CN113377544 A CN 113377544A CN 202110758934 A CN202110758934 A CN 202110758934A CN 113377544 A CN113377544 A CN 113377544A
Authority
CN
China
Prior art keywords
server
weight
load
time
load data
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
Application number
CN202110758934.1A
Other languages
English (en)
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.)
Harbin University of Science and Technology
Original Assignee
Harbin University of Science and Technology
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 Harbin University of Science and Technology filed Critical Harbin University of Science and Technology
Priority to CN202110758934.1A priority Critical patent/CN113377544A/zh
Publication of CN113377544A publication Critical patent/CN113377544A/zh
Pending legal-status Critical Current

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/5083Techniques for rebalancing the load in a distributed system
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种基于负荷数据动态更新率的web集群负载均衡方法,属于web集群负载均衡方法的领域。现有的整个web集群系统各个节点的平均响应能力低的问题。一种基于负荷数据动态更新率的web集群负载均衡方法,采集服务器主机的性能指标,即负荷数据,计算出初始服务器的权值;再通过权值更新的时间和大小两个方面来计算权值;通过自适应AR算法计算负载预测值,根据预测结果做出调整服务器权值;利用大顶堆算法将权值最大的服务器放置堆顶,找到最合适的服务器主机。本发明是通过对各个部分算法的改进与创新,提升负载均衡效果,更加有效地利用系统资源。

Description

一种基于负荷数据动态更新率的web集群负载均衡方法
技术领域
本发明涉及一种基于负荷数据动态更新率的web集群负载均衡方法。
背景技术
随着信息时代的来临,中国的互联网呈现井喷式地发展,用户的激增和需求的多样性给互联网公司带来了巨大的挑战。例如大型的电商与视频直播网站,每天要接受上千万的客户访问,面对如此巨大的访问量,服务器很容易出现因过载而宕机的现象。若不能及时处理这些请求将影响用户体验,降低服务质量。
日益增长的信息和服务依赖于一个能够抵抗戏剧性压力的互联网基础结构,一个能提供大量Web请求的Web服务器系统。因此,考虑到系统的可扩展性和成本效益,出现了分布式设计的Web服务器系统(Web集群)来代替一台像大型机这样具有高性能的Web服务器,这些最受欢迎的网站采用分布式/并行架构以减轻单一服务器的负载。
互联网用户和Web应用的爆发式增长,对服务端提出了更高要求,这需要服务器保持可靠运行且能迅速响应,可同时为大量并发客户端提供优质服务。这种高可用性和高可扩展性,对集群网络和处理能力都提出了挑战。于是,高效而廉价的服务器集群成为首选方案,在现有设备下提高整个集群性能变得更加迫切。负载调度算法决定着整个集群性能是否可以完全释放,作用重大。
现有负载均衡算法主要分成动态负载均衡技术和静态负载均衡技术两大类。静态负载均衡技术指在负载过程中根据预先设置好的策略进行任务分配,不会根据服务器实时情况进行调整,运用起来常常不如动态负载均衡效果好,但静态负载均衡算法比动态负载均衡算法更加节约服务器资源。
当前,我国大部分服务器都主要是利用LVS负载均衡法来对用户访问进行处理的,LVS方法是一种具备高性能的负载均衡调度方法,它是由我国的技术专家章文嵩先生提出的。随着科学技术水平的不断发展,服务器接收到的用户访问请求数量也日益增长,这就会使服务器端产生许多大小不一的负载量。而仅仅依靠服务器技术对用户访问请求进行响应是难以为继的。而通过在服务器的Ubuntu系统中搭建一个虚拟服务器,并在虚拟服务器中建立LVS负载均衡集群,能够使其通过虚拟服务器来对不同类型的各种用户进行任务均衡,从而极大提高了服务器对数据的检索效率,并有效减少了服务器对用户访问请求的响应时间与调度时间,进而建立了能对数据进行高效检索的虚拟服务器集群系统。在服务器端中,其权值的高低代表着这种服务器端对任务的处理能力水平,通常情况下,权值的定义公式为权值=服务器端性能/系统任务数。
在LVS均衡调度方法中,服务器依靠其自身的任务处理能力来对所分配的任务数进行处理,但如果遇到瞬间大并发量进行访问时,便会导致服务器中的负载均衡器负荷过大,进而造成服务器系统的运行受到影响,甚至还会导致服务器崩溃。此外,LVS算法只能对服务器中的当前连接任务数量进行处理,并且只能以服务器的当前连接任务数量作为系统负载进行反映,从而降低了服务器负载情况的准确性与真实性。因此,为了能够使服务器更好的对瞬间大并发量访问进行高效处理,并且能够对服务器的真实负载情况进行准确反映,有必要对服务器的负载均衡调度方法进行必要的优化。
目前国内外已经提出了各种负载均衡算法。其中有静态负载均衡算法,如轮询调度算法、加权轮询调度算法、目标地址散列调度算法等,这类算法易于实现,但不考虑各个服务器节点的负载状态,容易导致负载不均衡;有动态负载均衡算法,如最小连接数算法、一致性哈希算法、动态反馈算法等,这类算法没有考虑服务器间的性能差异和任务请求的大小,不能准确地判断服务器真实的负载状态。
动态负载均衡算法注重于服务器负载状态的计算和反馈,一种基于排队论综合指标评估的动态负载均衡算法,采用服务器M/M/1排队模型,以任务的平均排队时长和平均等待时长来计算负载,但其计算需花费较多时间,具有一定的延后性。一种改进的流媒体集群动态负载均衡调度算法,通过集群节点任务数变化量动态修改服务器负载的反馈周期,并按服务器负载状况进行分类,但当反馈周期过小时,服务器将频繁计算负载,增加服务器压力。在异构网络应用中,一种基于模糊控制的负载均衡决策机制,用于避免异构网络中频繁切换。一种基于接入选择和业务转移的异构网络动态负载均衡机制,同时提高系统利用率和负载均衡性。还有注重任务调度的遗传算法、模拟退火算法、粒子群算法等,这类算法实现较为复杂,且容易陷入局部最优解。一种基于遗传算法的负载均衡机制引入了投资组合Mean-Variance模型来设置服务集群中节点利用率的权重,以最小化任务完成时间为条件来获得最优的权值向量,即为每个服务器的资源利用率分配权值从而得到更有效的组合适应度函数,但其计算效率一般,对服务器的响应时间有一定的影响。
现代应用程序的开发主要分为C/S和B/S两种架构。随着网络技术的发展以及普及,B/S架构变得越来越流行,从而出现了越来越多的Web应用服务。对于提供Web服务系统的Web服务器,通过若干台机器组合搭建的Web服务器集群从根本上不能对大访问量用户提供较快的响应,整个Web服务器集群系统也不能有效地提高系统的吞吐量。整个Web服务器集群是一个整体来对客户端用户提供应用服务,集群内部需要通过负载均衡技术来合理的分配请求任务给各台应用服务器,根据服务器的处理能力来分配合理的请求任务,从而提高整个集群系统的性能。
为了提高整个集群系统各个节点的平均响应能力,本发明进行了如下设计。
发明内容
本发明的目的是为了解决现有的整个web集群系统各个节点的平均响应能力低的问题,而提出一种基于负荷数据动态更新率的web集群负载均衡方法。
本发明的技术方案:
一种基于负荷数据动态更新率的web集群负载均衡方法,所述方法通过以下步骤实现:
(1)计算、更新服务器权值的步骤,包括:
采集服务器主机的性能指标,即负荷数据,计算出初始服务器的权值;再通过权值更新的时间和大小两个方面来计算权值;
(2)预测服务器的权值的步骤,包括:
通过自适应AR算法计算负载预测值,根据预测结果做出调整服务器权值;
(3)利用大顶堆算法将权值最大的服务器放置堆顶,找到最合适的服务器主机,利用哈希函数让IP地址与大顶堆的数组下标一一对应的方式进行调度。
根据本发明一优选的实施例,所述的通过权值更新的时间与大小两个方面来计算权值的方法是,根据负荷数据更新率来决定服务器的权值的更新时间。
根据本发明一优选的实施例,所述的采集服务器主机的性能指标,即负荷数据,计算出初始服务器的权值的步骤,具体为:
采用CPU的利用率和内存的利用率两个参数来描述真实服务器的负载情况,初始权值计算如下:设S={S0,S1,...,Sn-1}是服务器的集合,里面的每一个变量表示一个服务器,CPU(Si),Memory(Si),F(Si)分别表示服务器的CPU利用率,内存利用率,和对应的权值;计算公式如式1所示:
Figure BDA0003148910670000031
式中K1+K2=1,这两个值会影响最终权值的取值;在服务器主机的性能指标方面,设置K1=0.6,K2=0.4,将式2做为初始的服务器权值;
Figure BDA0003148910670000032
以上是初始权值的计算方法,采用负荷数据动态更新率来决定每个服务器更新权值的时间,通过负荷数据动态更新率来判断更新时间如下所示:
Figure BDA0003148910670000033
Figure BDA0003148910670000041
式3和式4分别表示CPU利用率和内存利用率的动态更新率,式中的CPU(Sit)表示CPU利用率的动态更新率,Memory(Sit)表示内存利用率的动态更新率,用当前时刻两个函数导数的绝对值表示:
R(Si)=0.8CPU(Si)'+0.2Memory(Si)' (5)
两个权重分别设为0.8和0.2,该值越大就证明CPU利用率和内存利用率波动越大:
Figure BDA0003148910670000042
式中,T(s)代表服务器下一次更新的时间间隔,R(Si)大的证明服务器CPU利用率和内存利用率波动越大,一定是正在处理某些任务或者已经处理完某些任务,所以更新该服务器权值的时间就要越快,更新权值的时间设置为0s,5s,10s,15s。
根据本发明一优选的实施例,所述的通过自适应AR算法计算负载预测值,根据预测结果做出调整服务器权值的步骤包括:
首先,设服务器负载预测的模型表示为:
Figure BDA0003148910670000043
式中:lt代表t时刻的负载预测值,lt可由t时刻前的p个实际负载值计算得出,p为模型阶数,
Figure BDA0003148910670000044
是AR模型的自回归系数,通过某一种参数估计的方式得出,lt-i是t时刻之前的实际负载数据,εt为残差;对负载数据的时间序列采用AIC准则确定模型的阶数p,AIC准则表达式如下:
AIC(p)=lnσ2+2p/N (8)
AIC准则函数由两项组成,第一项为残差方差的函数,σ2的值随着p的增加会减少,因此σ2会随着p的增加单调下降,而第二项则随着p的增加而单调增加,由此确定某一阶数p,若p能够使AIC函数取得最小值,则此阶数p为最佳阶数;
其次,确定模型阶数p之后,通过YULE-WALKER方程对自回归系数进行计算,YULE-WALKER的数学表达式如下:
Figure BDA0003148910670000051
式中:ρk为样本的自相关系数;通过以上公式建立负载预测的AR(P)模型。
根据本发明一优选的实施例,所述的利用大顶堆算法将权值最大的服务器放置堆顶,找到最合适的服务器主机,利用哈希函数让IP地址与大顶堆的数组下标一一对应的方式进行调度的步骤,具体是:
大顶堆中的关键值就是服务器IP地址与它的权值,数组的下标与服务器的IP地址一一对应,并且堆中的权值是基于所述的负载预测算法计算出的权值,则选择大顶堆的堆顶即是最佳的调度方法。
本发明的有益效果为:
目前关于web集群负载均衡的研究方法多数是等到客户端请求来的时候再计算服务器的权值,这样的方法会延长平均响应时间,而且计算权值的时候只考虑到一方面的因素,每个服务器都采用固定的时间更新自己的权值,可能会导致低性能的服务器经常被调度并且频繁更新权值,高性能的服务器调度次数少并且权值更新慢,因此本发明在研究分析现有算法的基础上,设计一种基于负荷数据动态更新率的负载均衡调度算法,本发明的优点:
(1)本发明采用了负荷数据的动态更新率来更改服务器的权值,不仅沿用了准确的计算权值大小的方法,而且将时间也动态的改变,因为该服务器容易被调度,负荷数据的更新率高的服务器更新的时间短;因为不容易被调度,负荷数据的更新率低的服务器更新时间长。
(2)本发明采用了负载权值预测与大顶堆结合的方式提高平均响应时间,当前时刻就可以得到下一时刻的权值,并且权值最高的在大顶堆的堆顶,即用即取,提高了整个服务器集群的平均响应时间。
综上,本发明是通过对各个部分算法的改进与创新,提升负载均衡效果,更加有效地利用系统资源。
附图说明
图1为本发明的方法流程图;
图2为本发明涉及的利用大顶堆算法找到最合适的服务器主机的算法处理流程图。
具体实施方式
具体实施方式一:
本实施方式的一种基于负荷数据动态更新率的web集群负载均衡方法,如图1所示,所述方法通过以下步骤实现:
(1)计算、更新服务器权值的步骤,包括:
采集服务器主机的性能指标,即负荷数据,计算出初始服务器的权值;由于单一的条件无法更准确的动态更新服务器的权值,所以再通过权值更新的时间和大小两个方面来计算权值;
(2)预测服务器的权值的步骤,包括:
通过一种基于负载预测的自适应权值负载均衡算法。通过自适应AR算法计算负载预测值,根据预测结果做出调整服务器权值,进一步提升负载均衡效果,更加有效地利用系统资源。
(3)利用大顶堆算法将权值最大的服务器放置堆顶,找到最合适的服务器主机,提升了整体平均调度时间。
利用哈希函数让IP地址与大顶堆的数组下标一一对应的方式进行调度,本发明的大顶堆的算法,可以节省平均调度时间,提高效率。
其中,使用IPVS作为负载均衡调度器,安装Ubuntu。
具体实施方式二:
与具体实施方式一不同的是,本实施方式的一种基于负荷数据动态更新率的web集群负载均衡方法,所述的通过权值更新的时间与大小两个方面来计算权值的方法是,根据负荷数据更新率来决定服务器的权值的更新时间,保证准确率的情况下让效率更高。
具体实施方式三:
与具体实施方式二不同的是,本实施方式的一种基于负荷数据动态更新率的web集群负载均衡方法,所述的采集服务器主机的性能指标,即负荷数据,计算出初始服务器的权值的步骤,具体为:
服务器指标主要有CPU的使用率,I/O设备,内存的使用率,磁盘容量等。由于存储设备的发展,磁盘容量的扩展已经很容易实现,而I/O设备和网络带宽受到网络环境的影响较大;另外,在信息采集和参数处理的过程中难免引入一定的计算量,相应的计算化会产生额外系统开销。如果对集群系统性能的改进不能优于改进过程所引入的额外系统开销,那么负载均衡器本身就成为集群系统的瓶颈。基于以上两个原因,在设计算法的过程中,尽可能的不要引入过多的参数,以减轻集群系统的计算量。本发明采用CPU的利用率和内存的利用率两个参数来描述真实服务器的负载情况,这两个参数也最能代表服务器的实际处理能力;
为了计算各个真实服务器的实时负载,负载均衡器每过一定的时间间隔,就会向各个真实服务器发送获取新权值的网络请求。本发明采取了一种新的方式来不定时地获取新权值,即负荷数据动态更新率高的服务器更新的时间快,负荷数据动态更新率低的服务器更新时间慢,因为负荷数据动态更新率高的服务器一定是处理完任务或者刚刚处理任务。
初始权值计算如下:设S={S0,S1,...,Sn-1}是服务器的集合,里面的每一个变量表示一个服务器,CPU(Si),Memory(Si),F(Si)分别表示服务器的CPU利用率,内存利用率,和对应的权值;计算公式如式1所示:
Figure BDA0003148910670000071
式中K1+K2=1,这两个值会影响最终权值的取值;在服务器主机的性能指标方面,CPU(Si)较Memory(Si)更好的体现服务器主机的性能,所以设置K1=0.6,K2=0.4,将式2做为初始的服务器权值;
Figure BDA0003148910670000072
以上是初始权值的计算方法,采用负荷数据动态更新率来决定每个服务器更新权值的时间,通过负荷数据动态更新率来判断更新时间如下所示:
Figure BDA0003148910670000073
Figure BDA0003148910670000074
式3和式4分别表示CPU利用率和内存利用率的动态更新率,式中的CPU(Sit)表示CPU利用率的动态更新率,Memory(Sit)表示内存利用率的动态更新率,用当前时刻两个函数导数的绝对值表示:
R(Si)=0.8CPU(Si)'+0.2Memory(Si)' (5)
上式就是负荷数据的动态更新率,每一秒计算一下该值,因为CPU利用率的变化率比内存利用率的变化率波动大,所以两个权重分别设为0.8和0.2,该值越大就证明CPU利用率和内存利用率波动越大:
Figure BDA0003148910670000075
式中,T(s)代表服务器下一次更新的时间间隔,R(Si)大的证明服务器CPU利用率和内存利用率波动越大,一定是正在处理某些任务或者已经处理完某些任务,所以更新该服务器权值的时间就要越快,更新权值的时间设置为0s,5s,10s,15s,通过这种方式的改进,可以更好地动态调整负载的权值,减少平均响应时间。
具体实施方式四:
与具体实施方式一、二或三不同的是,本实施方式的一种基于负荷数据动态更新率的web集群负载均衡方法,所述的通过自适应AR算法计算负载预测值,根据预测结果做出调整服务器权值的步骤包括:
首先,服务器进入工作状态后,按照所述的更新时间进行采样并转化为综合负载信息,生成负载数据的时间序列。利用采集到的服务器历史负载数据,本文采用一种自适应AR算法对负载预测值进行计算。设服务器负载预测的模型表示为:
Figure BDA0003148910670000081
式中:lt代表t时刻的负载预测值,lt可由t时刻前的p个实际负载值计算得出,p为模型阶数,
Figure BDA0003148910670000082
是AR模型的自回归系数,通过某一种参数估计的方式得出,lt-i是t时刻之前的实际负载数据,εt为残差;对负载数据的时间序列采用AIC准则确定模型的阶数p,AIC准则表达式如下:
AIC(p)=lnσ2+2p/N (8)
AIC准则函数由两项组成,第一项为残差方差的函数,σ2的值随着p的增加会减少,因此σ2会随着p的增加单调下降,而第二项则随着p的增加而单调增加,由此确定某一阶数p,若p能够使AIC函数取得最小值,则此阶数p为最佳阶数;
其次,确定模型阶数p之后,通过YULE-WALKER方程对自回归系数进行计算,YULE-WALKER的数学表达式如下:
Figure BDA0003148910670000083
式中:ρk为样本的自相关系数。通过以上公式建立负载预测的AR(P)模型。
具体实施方式五:
与具体实施方式四不同的是,本实施方式的一种基于负荷数据动态更新率的web集群负载均衡方法,所述的利用大顶堆算法将权值最大的服务器放置堆顶,找到最合适的服务器主机,利用哈希函数让IP地址与大顶堆的数组下标一一对应的方式进行调度的步骤,具体是:
本文采用大顶堆的调度方式,大顶堆是堆的两种形式之一。根结点(亦称为堆顶)的关键字是堆里所有结点关键字中最大值,称为大根堆,又称最大堆(大顶堆)。大根堆要求根节点的关键字既大于或等于左子树的关键字值,又大于或等于右子树的关键字值,本发明利用数组来模仿大根堆,这样服务器更新权值时利用哈希表可以在o(1)的时间内找到在堆中位置,哈希表随大根堆实时更新。
大顶堆中的关键值就是服务器IP地址与它的权值,数组的下标与服务器的IP地址一一对应,并且堆中的权值是基于所述的负载预测算法计算出的权值,两种方法的结合理论上可以在选择服务器时降低时间的消耗,则选择大顶堆的堆顶即是最佳的调度方法。
利用大顶堆算法找到最合适的服务器主机的算法处理流程如图2所示。
以上仅为本发明的优选实施方式而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种基于负荷数据动态更新率的web集群负载均衡方法,其特征在于:所述方法通过以下步骤实现:
(1)计算、更新服务器权值的步骤,包括:
采集服务器主机的性能指标,即负荷数据,计算出初始服务器的权值;再通过权值更新的时间和大小两个方面来计算权值;
(2)预测服务器的权值的步骤,包括:
通过自适应AR算法计算负载预测值,根据预测结果做出调整服务器权值;
(3)利用大顶堆算法将权值最大的服务器放置堆顶,找到最合适的服务器主机,利用哈希函数让IP地址与大顶堆的数组下标一一对应的方式进行调度。
2.根据权利要求1所述的一种基于负荷数据动态更新率的web集群负载均衡方法,其特征在于:所述的通过权值更新的时间与大小两个方面来计算权值的方法是,根据负荷数据更新率来决定服务器的权值的更新时间。
3.根据权利要求2所述的一种基于负荷数据动态更新率的web集群负载均衡方法,其特征在于:所述的采集服务器主机的性能指标,即负荷数据,计算出初始服务器的权值的步骤,具体为:
采用CPU的利用率和内存的利用率两个参数来描述真实服务器的负载情况,初始权值计算如下:设S={S0,S1,...,Sn-1}是服务器的集合,里面的每一个变量表示一个服务器,CPU(Si),Memory(Si),F(Si)分别表示服务器的CPU利用率,内存利用率,和对应的权值;计算公式如式1所示:
Figure FDA0003148910660000011
式中K1+K2=1,这两个值会影响最终权值的取值;在服务器主机的性能指标方面,设置K1=0.6,K2=0.4,将式2做为初始的服务器权值;
Figure FDA0003148910660000012
以上是初始权值的计算方法,采用负荷数据动态更新率来决定每个服务器更新权值的时间,通过负荷数据动态更新率来判断更新时间如下所示:
Figure FDA0003148910660000013
Figure FDA0003148910660000014
式3和式4分别表示CPU利用率和内存利用率的动态更新率,式中的CPU(Sit)表示CPU利用率的动态更新率,Memory(Sit)表示内存利用率的动态更新率,用当前时刻两个函数导数的绝对值表示:
R(Si)=0.8CPU(Si)'+0.2Memory(Si)' (5)
两个权重分别设为0.8和0.2,该值越大就证明CPU利用率和内存利用率波动越大:
Figure FDA0003148910660000021
式中,T(s)代表服务器下一次更新的时间间隔,R(Si)大的证明服务器CPU利用率和内存利用率波动越大,一定是正在处理某些任务或者已经处理完某些任务,所以更新该服务器权值的时间就要越快,更新权值的时间设置为0s,5s,10s,15s。
4.根据权利要求1、2或3所述一种基于负荷数据动态更新率的web集群负载均衡方法,其特征在于:所述的通过自适应AR算法计算负载预测值,根据预测结果做出调整服务器权值的步骤包括:
首先,设服务器负载预测的模型表示为:
Figure FDA0003148910660000022
式中:lt代表t时刻的负载预测值,lt可由t时刻前的p个实际负载值计算得出,p为模型阶数,
Figure FDA0003148910660000023
是AR模型的自回归系数,通过某一种参数估计的方式得出,lt-i是t时刻之前的实际负载数据,εt为残差;对负载数据的时间序列采用AIC准则确定模型的阶数p,AIC准则表达式如下:
AIC(p)=lnσ2+2p/N (8)
AIC准则函数由两项组成,第一项为残差方差的函数,σ2的值随着p的增加会减少,因此σ2会随着p的增加单调下降,而第二项则随着p的增加而单调增加,由此确定某一阶数p,若p能够使AIC函数取得最小值,则此阶数p为最佳阶数;
其次,确定模型阶数p之后,通过YULE-WALKER方程对自回归系数进行计算,YULE-WALKER的数学表达式如下:
Figure FDA0003148910660000031
式中:ρk为样本的自相关系数;通过以上公式建立负载预测的AR(P)模型。
5.根据权利要求4所述一种基于负荷数据动态更新率的web集群负载均衡方法,其特征在于:所述的利用大顶堆算法将权值最大的服务器放置堆顶,找到最合适的服务器主机,利用哈希函数让IP地址与大顶堆的数组下标一一对应的方式进行调度的步骤,具体是:
大顶堆中的关键值就是服务器IP地址与它的权值,数组的下标与服务器的IP地址一一对应,并且堆中的权值是基于所述的负载预测算法计算出的权值,则选择大顶堆的堆顶即是最佳的调度方法。
CN202110758934.1A 2021-07-06 2021-07-06 一种基于负荷数据动态更新率的web集群负载均衡方法 Pending CN113377544A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110758934.1A CN113377544A (zh) 2021-07-06 2021-07-06 一种基于负荷数据动态更新率的web集群负载均衡方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110758934.1A CN113377544A (zh) 2021-07-06 2021-07-06 一种基于负荷数据动态更新率的web集群负载均衡方法

Publications (1)

Publication Number Publication Date
CN113377544A true CN113377544A (zh) 2021-09-10

Family

ID=77580970

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110758934.1A Pending CN113377544A (zh) 2021-07-06 2021-07-06 一种基于负荷数据动态更新率的web集群负载均衡方法

Country Status (1)

Country Link
CN (1) CN113377544A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242797A (zh) * 2022-06-17 2022-10-25 西北大学 一种面向微服务架构的客户端负载均衡方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242797A (zh) * 2022-06-17 2022-10-25 西北大学 一种面向微服务架构的客户端负载均衡方法及系统
CN115242797B (zh) * 2022-06-17 2023-10-27 西北大学 一种面向微服务架构的客户端负载均衡方法及系统

Similar Documents

Publication Publication Date Title
CN113110933B (zh) 一种具有Nginx负载均衡技术的系统
He et al. QoE-driven content-centric caching with deep reinforcement learning in edge-enabled IoT
CN108416465B (zh) 一种移动云环境下的工作流优化方法
CN109308221B (zh) 一种基于WebSocket长连接的Nginx动态负载均衡方法
CN110933139A (zh) 一种解决Web服务器高并发的系统及方法
CN110830562B (zh) 一种基于虚拟节点的有限负载一致性哈希负载均衡策略
CN113778683B (zh) 一种基于神经网络的Handle标识体系解析负载均衡方法
CN107566535B (zh) 基于Web地图服务并发访问时序规则的自适应负载均衡方法
CN108416054B (zh) 基于文件访问热度的动态hdfs副本个数计算方法
CN115718644A (zh) 一种面向云数据中心的计算任务跨区迁移方法及系统
CN115103404A (zh) 一种算力网络中节点任务调度方法
Li et al. A Load-balancing method for network GISs in a heterogeneous cluster-based system using access density
CN113382074A (zh) 一种基于动态反馈的微服务负载均衡优化方法
CN112835698A (zh) 一种基于异构集群的请求分类处理的动态负载均衡方法
Sharifian et al. An approximation-based load-balancing algorithm with admission control for cluster web servers with dynamic workloads
CN117155942A (zh) 一种微服务动态自适应客户端负载均衡方法及系统
CN113377544A (zh) 一种基于负荷数据动态更新率的web集群负载均衡方法
CN112954012B (zh) 基于负载的改进模拟退火算法的云任务调度方法
CN113067863B (zh) 基于软件定义网络的动态负载均衡方法
CN107948330A (zh) 一种云环境下基于动态优先级的负载均衡策略
You et al. Performance evaluation of dynamic load balancing algorithms
CN116302404B (zh) 面向资源解耦合数据中心的服务器无感知计算调度方法
Ramana et al. AWSQ: an approximated web server queuing algorithm for heterogeneous web server cluster
Zhu et al. Load balancing algorithm for web server based on weighted minimal connections
CN113672372A (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