CN115604278A - 动态负载均衡方法和系统 - Google Patents

动态负载均衡方法和系统 Download PDF

Info

Publication number
CN115604278A
CN115604278A CN202211216835.1A CN202211216835A CN115604278A CN 115604278 A CN115604278 A CN 115604278A CN 202211216835 A CN202211216835 A CN 202211216835A CN 115604278 A CN115604278 A CN 115604278A
Authority
CN
China
Prior art keywords
server
dynamic
load
load balancing
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.)
Pending
Application number
CN202211216835.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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202211216835.1A priority Critical patent/CN115604278A/zh
Publication of CN115604278A publication Critical patent/CN115604278A/zh
Pending legal-status Critical Current

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/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • 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
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例提供一种动态负载均衡方法和系统,可用于金融领域或者其他领域。该方法包括:以预设的时间间隔接收服务器集群中每个服务器的负载数据以及动态处理能力,其中,所述动态处理能力根据所述负载数据估算;基于所述服务器集群中每个服务器的负载数据和所述动态处理能力,确定所述动态负载均衡装置的负载调度方式。由此,通过收集服务器集群中每个服务器的负载数据和动态处理能力,能够确定负载均衡装置负载调度方式,解决了系统性能瓶颈的问题,同时还增强了系统的健壮性与稳定性。

Description

动态负载均衡方法和系统
技术领域
本申请涉及金融领域,特别涉及一种动态负载均衡方法和系统。
背景技术
目前,随着网络规模和用户数量持续不断的增长,用户以及使用者对于系统的反应时间的快速、高效、稳定、高可用的要求越来越高,越来越强烈,访问网站(website站点)的时候不希望出现类似诸如超时(“request time out”)或者太忙(“too busy”)等系统级的故障,单台服务器已经不能很好的应对实际的应用需求,需要将过去的单一式的服务器结构扩充调整部署为集群式的服务器结构,也可以称为服务器集群。
为了使系统性能在集群式的服务器环境中得到最大的提升,需要解决集群式的服务器结构的共性问题,即,负载均衡。现有技术中,负载均衡技术分为动态负载均衡技术和静态负载均衡技术,其中,静态负载均衡技术会先根据已经设定好的算法或方案对接收到的用户请求进行调节分配;动态负载均衡技术指的是负载均衡系统利用系统运行时各个节点实时的状态或信息,实时地做出相应的调配与调度决策;研究与实验发现,动态负载均衡技术相较于静态负载均衡技术有接近30%-40%的性能提升。
随着网络节点数不断地增加以及新应用(如VoD、VoIP等)不断涌现,网络流量特征化也随之变得更加困难,不同的网络应用具有不同的流量特征。网络流量在一定的时间周期内呈波浪型发生,并且在WAN和LAN上网络流量存在渐近自相似(Asymptotic Self-Similarity)的特征,在WEB访问流上也是存在渐近自相似性。因此,这就需要一个动态的反馈机制,来应对访问流的自相似性。
发明内容
发明人发现当系统中用户请求大量增加的情况时,集群式的服务器的结构中各服务器的负载超载、网络延迟与堵塞、以及响应时间变长等问题都会导致系统性能的下降并且给用户的体验与使用带来了一定程度的影响。
为了解决上述问题中的至少一个,本申请实施例提供一种动态负载均衡方法和系统。由此,通过收集服务器集群中每个服务器的负载数据和动态处理能力,能够确定负载均衡装置负载调度方式,解决了系统性能瓶颈的问题,同时还增强了系统的健壮性与稳定性。
根据本申请实施例的一方面,提供了一种动态负载均衡方法,应用于动态负载均衡装置,所述方法包括:
以预设的时间间隔接收服务器集群中每个服务器的负载数据以及动态处理能力,其中,所述动态处理能力根据所述负载数据估算;
基于所述服务器集群中每个服务器的负载数据和所述动态处理能力,确定所述动态负载均衡装置的负载调度方式。
在一些实施方式中,其中,所述方法还包括:周期性的向所述服务器发送负载状态检测请求;在第一预设时间间隔内收到所述服务器返回的负载状态检测反馈的情况下,基于所述服务器集群中每个服务器的负载数据和所述动态处理能力,确定所述动态负载均衡装置的负载调度方式;在所述第一预设时间间隔内没有收到所述服务器返回的负载状态检测反馈的情况下,进行应急处理,将所述服务器设置为不可用状态。
在一些实施方式中,其中,根据所述负载数据估算所述服务器的动态处理能力,包括:获取所述服务器的当前时刻的处理器使用率、内存使用率、磁盘输入输出使用率、响应时间所占比率分配的权重系数;根据所述服务器的处理器使用率、内存使用率、磁盘输入输出使用率、响应时间所占比率,以及所述处理器使用率的权重系数、所述内存使用率的权重系数、所述磁盘输入输出使用率的权重系数、所述响应时间所占比率的权重系数,通过乘积平均值法得到所述动态处理能力的估算值。
在一些实施方式中,其中,获取所述服务器当前时刻的处理器使用率、内存使用率、磁盘输入输出使用率、响应时间所占比率的权重系数包括:响应于所述服务器提供的服务与应用的不同,对所述服务器的处理器使用率、内存使用率、磁盘输入输出使用率、响应时间所占比率分配权重系数进行调整;其中,所述处理器使用率的权重系数、所述内存使用率的权重系数、所述磁盘输入输出使用率的权重系数、所述响应时间所占比率的权重系数被动态调整且之和为1。
在一些实施方式中,其中,确定动态负载均衡器的负载调度方式,包括:获取所述服务器当前连接数、所述服务器的权值、所述服务器集群中所有服务器当前连接数的总和;其中,所述服务器的权值表示所述服务器的性能;根据所述服务器当前连接数、所述服务器的权值、服务器集群中所有服务器当前连接数的总和,通过动态反馈加权最小连接调度算法确定动态负载均衡器的负载调度方式。
在一些实施方式中,其中,通过动态反馈加权最小连接调度算法确定动态负载均衡器的负载调度方式包括:根据所述服务器当前连接数、所述服务器的权值、服务器集群中所有服务器当前连接数的总和确定最小值,为所述最小值对应的所述服务器分配新连接请求。
在一些实施方式中,其中,接收用户端发送的所述新连接请求,根据确定的所述动态负载均衡装置的负载调度方式确定所述服务器,并将所述新连接请求发送给所述服务器。
根据本申请实施例的另一方面,提供一种动态负载均衡系统,所述负载均衡系统包括:包含至少一个服务器的服务器集群和动态负载均衡装置,
其中,所述服务器包括:
估算模块,其根据负载数据估算所述服务器的动态处理能力;
第一接口通信模块,其将所述服务器的负载数据和所述动态处理能力发送给所述动态负载均衡装置;
其中,所述动态负载均衡装置包括:
第二接口通信模块,其以预设的时间间隔接收服务器集群中每个服务器的负载数据以及动态处理能力;
负载调度模块,其基于所述服务器集群中每个服务器的负载数据和所述动态处理能力,确定所述动态负载均衡装置的负载调度方式。
根据本申请实施例的另一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述动态负载均衡方法。
根据本申请实施例的一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行前述动态负载均衡方法。
根据本申请实施例的一方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现前述动态负载均衡方法。
本申请实施例的有益效果之一在于:通过收集服务器集群中每个服务器的负载数据和动态处理能力,能够确定负载均衡装置负载调度方式,解决了系统性能瓶颈的问题,同时还增强了系统的健壮性与稳定性。
参照后文的说明和附图,详细公开了本申请的特定实施方式,指明了本申请的原理可以被采用的方式。应该理解,本申请的实施方式在范围上并不因而受到限制。在所附权利要求的精神和条款的范围内,本申请的实施方式包括许多改变、修改和等同。
针对一种实施方式描述以及示出的特征信息可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征信息相组合,或替代其它实施方式中的特征信息。
应该强调,术语“包括/包含”在本文使用时指特征信息、整件、步骤或组件的存在,但并不排除一个或更多个其它特征信息、整件、步骤或组件的存在或附加。
附图说明
参照以下的附图可以更好地理解本申请的很多方面。附图中的部件不是成比例绘制的,而只是为了示出本申请的原理。为了便于示出和描述本申请的一些部分,附图中对应部分可能被放大或缩小。在本申请的一个附图或一种实施方式中描述的元素和特征信息可以与一个或更多个其它附图或实施方式中示出的元素和特征信息相结合。此外,在附图中,类似的标号表示几个附图中对应的部件,并可用于指示多于一种实施方式中使用的对应部件。
在附图中:
图1是本申请实施例的动态负载均衡系统的一构成图;
图2是本申请实施例进行动态负载均衡的信令交互的一示意图;
图3A是本申请实施例的测试环境;
图3B是本申请实施例的服务器集群吞吐量测试结果;
图4是本申请实施例的动态负载均衡方法的一示意图;
图5为本申请实施例中计算机设备的示意图。
具体实施方式
需要说明的是,本申请公开的动态负载均衡方法和系统,也可用于除金融技术领域之外的任意领域,本申请公开的客户信息挖掘方法及装置的应用领域不做限定。
参照附图,通过下面的说明书,本申请的前述以及其它特征将变得明显。在说明书和附图中,具体公开了本申请的特定实施方式,其表明了其中可以采用本申请的原则的部分实施方式,应了解的是,本申请不限于所描述的实施方式,相反,本申请包括落入所附权利要求的范围内的全部修改、变型以及等同物。
在本申请实施例中,术语“第一”、“第二”等用于对不同元素从称谓上进行区分,但并不表示这些元素的空间排列或时间顺序等,这些元素不应被这些术语所限制。术语“和/或”包括相关联列出的术语的一种或多个中的任何一个和所有组合。术语“包含”、“包括”、“具有”等是指所陈述的特征、元素、组件或组件的存在,但并不排除存在或添加一个或多个其他特征、元素、组件或组件。
在本申请实施例中,单数形式“一”、“该”等包括复数形式,应广义地理解为“一种”或“一类”而并不是限定为“一个”的含义;此外术语“所述”应理解为既包括单数形式也包括复数形式,除非上下文另外明确指出。此外术语“根据”应理解为“至少部分根据……”,术语“基于”应理解为“至少部分基于……”,除非上下文另外明确指出。
针对上述问题,下面结合附图对本申请实施例的各种实施方式进行说明。这些实施方式只是示例性的,不是对本申请的限制。
为使本申请实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本申请实施例做进一步详细说明。在此,本申请的示意性实施例及其说明用于解释本申请,但并不作为对本申请的限定。
本申请实施例提供一种动态负载均衡系统。
图1是本申请实施例的动态负载均衡系统的一构成图。如图1所示,动态负载均衡系统10包括:
包含至少一个服务器101的服务器集群100和动态负载均衡装置200,
其中,服务器101包括:
估算模块1011,根据负载数据估算服务器的动态处理能力;
第一接口通信模块1012,其将服务器101的负载数据和动态处理能力发送给动态负载均衡装置200;
其中,动态负载均衡装置200包括:
第二接口通信模块201,其以预设的时间间隔接收服务器集群100中每个服务器101的负载数据以及动态处理能力;
负载调度模块202,其基于服务器集群100中每个服务器101的负载数据和动态处理能力,确定动态负载均衡装置200的负载调度方式。
本申请通过收集服务器集群中每个服务器的负载数据和动态处理能力,能够确定负载均衡装置负载调度方式,解决了系统性能瓶颈的问题,同时还增强了系统的健壮性与稳定性。
本申请中技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。本申请实施例中的用户信息均通过合法合规途径获得,并且对用户信息的获取、存储、使用、处理等经过客户授权同意。
例如,第一接口通信模块1012将每个服务器的负载数据和估算的服务器的动态处理能力发送给第二接口通信模块201,第二接口通信模块201将每个服务器的负载数据和估算的服务器的动态处理能力发送给负载调度模块202以确定动态负载均衡装置200的负载调度方式。
在一些实施方式中,服务器还包括收集模块1013,其收集服务器自身的负载数据给估算模块1011;估算模块1011根据负载数据估算服务器的动态处理能力。
以下对于以预设的时间间隔接收服务器集群中每个服务器的负载数据进行说明:
服务器集群100中每个服务器101会以预定的时间间隔内按照一定频率周期性地把负载数据汇报给动态负载均衡装置200,由此,能够在系统开销以及及时保持信息交互中达到均衡。
在一些实施方式中,第一接口通信模1011还能够实时地将每个服务器的负载数据发送给动态负载均衡装置200,由此,动态负载均衡装置200能够及时掌握各服务器的负载情况,但是会导致系统通信开销的增加以及负载均衡操作的时间的延迟;在一些实施方式中,动态负载均衡装置200与服务器101之间还能够采用状态保持的信息交互方式,即,当一台服务器的负载状态发生了变化,会把这个变化的信息发送给动态负载均衡装置200,由此动态负载均衡装置200能够在掌握服务器的负载情况的前提下,减少负载均衡操作的时间的延迟,但是,可能会导系统需要维护一个服务器集群100总控的状态信息表,从而带来更大的通信系统通信开销。
动态负载均衡系统中,所有要转发到服务器进行处理的服务和请求,都需要经过动态负载均衡装置进行转发处理,因此整个系统的瓶颈取决于动态负载均衡装置的性能。为了降低动态负载均衡装置上的负担,动态负载均衡装置阶段性地收集服务器集群中每个服务器的负载数据,也就是说,动态负载均衡装置200和服务器101之间执行定时的汇报机制,以及如果在规定的时间周期内动态负载均衡装置200没有收到服务器101发出的负载数据,那么动态负载均衡装置200可以判定这个服务器是一个不可达的状态。
例如,负载数据可以包括如下信息的至少一种:服务器的处理器(CPU)使用率、内存使用率、磁盘输入输出(I/O)使用率、响应时间所占比率。
以下对于根据负载数据实时地估算服务器的动态处理能力进行说明:
在一些实施方式中,根据所述负载数据估算所述服务器的动态处理能力,包括:
获取所述服务器的当前时刻的处理器使用率、内存使用率、磁盘输入输出使用率、响应时间所占比率分配的权重系数;根据所述服务器的处理器使用率、内存使用率、磁盘输入输出使用率、响应时间所占比率,以及所述处理器使用率的权重系数、所述内存使用率的权重系数、所述磁盘输入输出使用率的权重系数、所述响应时间所占比率的权重系数,通过乘积平均值法得到所述动态处理能力的估算值;在一些实施方式中,获取所述服务器当前时刻的处理器使用率、内存使用率、磁盘输入输出使用率、响应时间所占比率的权重系数包括:响应于所述服务器提供的服务与应用的不同,对所述服务器的处理器使用率、内存使用率、磁盘输入输出使用率、响应时间所占比率分配权重系数进行调整;其中,所述处理器使用率的权重系数、所述内存使用率的权重系数、所述磁盘输入输出使用率的权重系数、所述响应时间所占比率的权重系数被动态调整且之和为1。
例如,动态负载均衡系统中,每台服务器处理和响应的能力和速度不仅仅和服务器的性能有关,还会随着负载量的变化而动态变化。
在不同的服务和应用的情况下,服务器的负载状况受到处理器使用率、内存使用率、磁盘输入输出使用率、响应时间所占比率这些指标的影响也是不同的。例如,因为每台服务器性能不同会导致服务器针对不同场景的处理能力会有不同的表现。通过各项实验数据可以表明,在实际的使用中,当系统中任一项资源的使用率超过90%的时候,系统将不会再有能力接入新的服务请求。因此,通过根据负载数据实时地估算服务器的动态处理能力,能够准确的估计服务器状态,从而进一步提高系统的性能。
在一些实施方式中,对各服务器,采用乘积平均值法对每个服务器的动态处理能力进行估算:
例如,假设为特定一台服务器Tj分配的权重系数为w(Tj);当前的CPU使用率为P(Tj),当前内存使用率为M(Tj),磁盘l/O使用率为D(Tj),当前响应时间占所有同类服务器响应时间的百分比为R(Tj),为这四项指标分配的权重系数依次为βp、βm、βd、βr,其中,βp、βm、βd、βr随着服务与应用的不同动态调整,且βp+βm+βd+βr=1。
例如,服务器Tj的动态处理能力W(Tj)通过如下公式(1)得到:
W(Tj)=(1-βp×P(Tj))×(1-βm×M(Tj))×(1-βd×D(Tj))×(1-βr×R(Tj))×w(Tj)(1)
其中,w(Tj)表示服务器的动态处理能力,数值越大,表示服务器的动态处理能力越高;βp、βm、βd、βr表示各项负载指标对负载状态的影响程度,系数越大,则影响越大。
公式(1)能够较全面地反映了各服务器的动态处理能力,W(Tj)越大,该服务器的动态处理能力也越强。
由此,能够准确地估算出各服务器的动态处理能力。
以下对于基于服务器集群中每个服务器的负载数据和动态处理能力,确定动态负载均衡装置的负载调度方式进行说明:
在一些实施方式中,确定动态负载均衡器的负载调度方式,包括:获取所述服务器当前连接数、所述服务器的权值、所述服务器集群中所有服务器当前连接数的总和;其中,所述服务器的权值表示所述服务器的性能;根据所述服务器当前连接数、所述服务器的权值、服务器集群中所有服务器当前连接数的总和,通过动态反馈加权最小连接调度算法确定动态负载均衡器的负载调度方式。在一些实施方式中通过动态反馈加权最小连接调度算法确定动态负载均衡器的负载调度方式包括:根据所述服务器当前连接数、所述服务器的权值、服务器集群中所有服务器当前连接数的总和确定最小值,为所述最小值对应的所述服务器分配新连接请求。
例如,根据动态反馈加权最小连接调度算法确定动态负载均衡器200的负载调度方式能够对新连接请求进行处理和分配,由此,对各个服务器的负载均衡进行控制。
例如,动态反馈负载均衡机制根据服务器的动态反馈,将反馈回来的负载信息用来调整服务器的权值,结合加权连接调度算法不断地调整服务器之间处理请求的比例,来避免有些服务器在超载的时候依然收到大量请求的情况,从而提高整个系统的吞吐率。
例如,根据动态反馈加权最小连接调度算法确定动态负载均衡器的负载调度方式是将动态反馈负载均衡与加权最小连接调度相结合,当动态负载均衡器处理分配连接请求时,不仅考虑每台服务器上当前的连接数,还要考虑每台服务器的当前性能。例如,服务器的缺省权值为1,表示服务器当前性能,后续根据服务器动态处理能力计算公式得出的值不断更新。
动态反馈加权最小连接调度算法的具体描述如下:
例如,服务器集群T={T0,T1,…,Tm-1},L(Tj)表示服务器Tj当前的连接数,W(Tj)表示服务器Tj的权值,Lsum表示所有服务器上当前连接数总和。
当且仅当服务器Tn满足公式(2)-(3)限定的以下条件,当前的新连接请求会被发送给服务器Tn:
(L(Tn)/Lsum)/W(Tn)=min{(L(Tj)/Lsum)/W(Tj)},其中,(j=0,1,…,m-1),W(Tj)不为零 (2)
Lsum=∑L(Tj)(j=0,1,…,m-1) (3)
因为Lsum在每轮查找中是个常数,所以判断条件可以简化为:L(Tn)/W(Tn)=min{L(Tj)/W(Tj)}(j=0,1,…,m-1)其中W(Tj)不为零;由于除法所需的CPU周期比乘法多,服务器的权值都大于零,所以判断条件L(Tn)/W(Tn)>L(Tj)/W(Tj)可以进一步优化为:L(Tn)*W(Tj)>L(Tj)*W(Tn)。
也就是说,根据服务器当前连接数、服务器的权值、服务器集群中所有服务器当前连接数的总和确定最小值,为该最小值对应的所述服务器分配新连接请求。
其中,权值变量W不仅用于表示当前服务器的性能,也是为了能够在服务器发生故障或者系统维护的时候及时将服务器切出服务,当服务器的权值为零时,表示该服务器是不可用的状态,此时不能被负载均衡器调度。
由此,能够基于服务器集群中每个服务器的负载数据和动态处理能力,确定动态负载均衡装置的负载调度方式。
在一些实施方式中,动态负载均衡装置200还包括监控模块203,其通过后台运行进程监控服务器集群中每个服务器的服务状态。
在一些实施方式中,监控模块203周期性的向所述服务器发送负载状态检测请求;在小于或者等于第一预设时间间隔内收到所述服务器返回的负载状态检测反馈的情况下,基于所述服务器集群中每个服务器的负载数据和所述动态处理能力,确定所述动态负载均衡装置的负载调度方式;在所述第一预设时间间隔内未收到所述服务器返回的负载状态检测反馈的情况下,进行应急处理,将所述服务器设置为不可用状态。
例如,本申请动态负载均衡装置200能够把动态负载均衡系统10中的负载相对均衡地分配给各个服务器101去进行处理,以提高服务器集群的整体性能。因此,当整个系统在运行的时候,如果一台服务器101或动态负载均衡装置200与服务器101之间的网络出现了故障或阻塞,就会出现如下情况:(1)动态负载均衡装置200仍将部分服务的流量分配给当前服务器101,这样会造成服务请求被丢失,达不到不间断可用性的要求;(2)不能较好地根据系统的承载能力和实际负载量来进行决策,导致负载平衡在实际应用上的失真。
由此,监控模块203通过后台运行的进程对服务器的服务状态进行监控,能够准确并且及时发现故障。
例如,监控模块203通过后台运行的进程可以周期性地向服务器101发送负载状态检测请求(询问信息),如果在小于或者等于第一预设时间间隔内收到服务器101发送的负载状态检测反馈(确认信息),则表明这台服务器的状况是良好的以及动态负载均衡装置200与服务器101之间的网络连接目前是正常的;如果在第一预设时间间隔内未收到服务器101发送的负载状态检测反馈(确认信息),则判定为超时,并再次向服务器101发送负载状态检测请求(询问信息);在经过多次询问后,例如N次,动态负载均衡装置200仍没收到服务器101发送的确认信息,则监控模块203判断该服务器或者网络连接出现故障;该第一预设间隔例如为5分钟,本申请对此不进行限制。
在一些实施方式中,当基于上述方法确定服务器或者网络连接出现故障时,监控模块203确定进行相应的应急处理,例如,将该服务器的权值设置为零,以防止后续的流量和数据继续被送到这个已经停止服务的服务器上。
例如,当该服务器恢复正常后,对该服务器的权值重新进行赋值,以及同步在log日志文件中做出服务器状态的变化的相应的记录。
在一些实施方式中,第二接口通信模块201还接收用户端发送的新连接请求,根据确定的动态负载均衡装置的负载调度方式确定服务器101,并将新连接请求发送给服务器101。
由此,能够基于用户特定的负载均衡调度请求进行负载均衡的调度。
以下对于本申请动态负载均衡装置200、服务器101以及用户之间的信令流程进行说明。
图2是本申请实施例进行动态负载均衡的信令交互的一示意图。如图2所示,
步骤201:动态负载均衡装置200进行初始化操作;
步骤202:服务器101的收集模块1013按照一定的周期与频率对服务器上的各项负载数据进行收集;估算模块1011根据各项负载数据对服务器的动态处理能力进行估算;
步骤203:第一接口通信模块1012把各服务器的各项负载数据和动态处理能力的估算结果发送至动态负载均衡装置200的第二接口通信模块201;以及,以设定的时间周期循环执行步骤201-202;
步骤204:动态负载均衡装置200的监控模块203按照预定周期向服务器101发送负载状态检测请求,根据是否收到服务器发送的负载状态检测反馈,确定是否进行应急处理;
步骤205:动态负载均衡装置200的第二接口通信模块201还接收用户发送的负载均衡调度请求;
步骤206:动态负载均衡装置200的第二接口通信模块202还接收用户端发送的新连接请求,根据确定的动态负载均衡装置的负载调度方式确定服务器101,并将新连接请求发送给服务器101;
步骤207:服务器101对接收到的新连接请求进行处理之后,将处理完的结果返回给动态负载均衡装置200;
步骤208:动态负载均衡装置200将结果返回给用户。
本申请通过收集服务器集群中每个服务器的负载数据和动态处理能力,能够确定负载均衡装置负载调度方式,解决了系统性能瓶颈的问题,同时还增强了系统的健壮性与稳定性。
以下对于基于本申请的动态负载均衡系统和现有的负载均衡系统的测试结果进行说明:
在一些实施方式中,负载均衡系统的性能是受到很多因素共同影响的,诸如硬件、操作系统、网络流量以及其自身规则的多少等等。以下对比了在单台服务器与两台服务器两种情况下服务请求与响应时间以及吞吐量的对比情况。
图3A是本申请实施例的测试环境;图3B是本申请实施例的服务器集群吞吐量测试结果。
如图3A所示,例如,表1、表2是基于HTTP(超文本传输协议,Hyper Text TransferProtocol)的单台服务器、多台服务器响应时间测试数据;表3、表4是基于FTP(文件传输协议,File Transfer Protocol)的单台服务器、多台服务器响应时间测试数据;例如,根据表1、表2、表3和表4中的数据可以看出,在用户请求数比较少的情况下,单台服务器与由两台服务器组成的集群响应时间相差不大,但随着用户请求数目的增多,集群的响应时间已明显缩短。
如图3B所示,从整个服务器集群吞吐量的测试结果可以看出,服务器集群总体性能表现是相对稳定的,和只有一台实际服务器相比较之下,由2台实际服务器构成的服务器集群的吞吐量提高了50%。
由此,从性能分析和模拟结果可以看出,本申请动态负载均衡系统能够有效地缩短用户请求的响应时间,提高了集群系统的吞吐量,具有良好的有效性和实用性。
需要说明的是,以上示例中的硬件结构还可以包括图中未示出的器件,具体可以参考现有技术,本申请实施例并不以此作为限制,或者,该硬件结构也不并不是必须要包括图中所示的所有部件,此处不再一一示例。
为了简单起见,图中仅示例性示出了各个部件或模块之间的连接关系或信号走向,但是本领域技术人员应该清楚的是,该连接可以采用电连接等各种相关技术。本申请实施例并不对此进行限制。
以上各个实施例仅对本申请实施例进行了示例性说明,但本申请不限于此,还可以在以上各个实施例的基础上进行适当的变型。例如,可以单独使用上述各个实施例,也可以将以上各个实施例中的一种或多种结合起来。
本申请通过收集服务器集群中每个服务器的负载数据和动态处理能力,能够确定负载均衡装置负载调度方式,解决了系统性能瓶颈的问题,同时还增强了系统的健壮性与稳定性。
本申请实施例还提供一种动态负载均衡方法。
该方法对应于前述实施例的动态负载均衡系统。该方法的实施例可以参照前述实施例中的记载,重复的内容不再具体说明。
图4是本申请实施例的动态负载均衡方法的一示意图;如图4所示,该方法包括:
步骤401:以预设的时间间隔接收服务器集群中每个服务器的负载数据以及动态处理能力,其中,该动态处理能力是根据该负载数据估算的;
步骤402:基于该服务器集群中每个服务器的负载数据和该动态处理能力,确定动态负载均衡装置的负载调度方式。
上述各个步骤的执行及其具体内容可以参考前述实施例中对于各个相关部件的功能及其结构的描述,此处不再重复说明。
本申请通过收集服务器集群中每个服务器的负载数据和动态处理能力,能够确定负载均衡装置负载调度方式,解决了系统性能瓶颈的问题,同时还增强了系统的健壮性与稳定性。
本申请的实施例还提供一种计算机设备,图5为本申请实施例中计算机设备500的示意图,计算机设备500能够实现上述实施例中的动态负载均衡方法中全部步骤,计算机设备500具体包括如下内容:
处理器(processor)501、存储器(memory)502、通信接口(CommunicationsInterface)503和通信总线504;
其中,所述处理器501、存储器502、通信接口503通过所述通信总线504完成相互间的通信;所述通信接口503用于实现服务器端设备、检测设备以及用户端设备等相关设备之间的信息传输;
所述处理器501用于调用所述存储器502中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的动态负载均衡方法中的全部步骤。
本申请的实施例还提供一种计算机可读存储介质,能够实现上述实施例中的动态负载均衡方法中全部步骤,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的动态负载均衡方法的全部步骤。
本申请的实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述实施例中的动态负载均衡方法。
需要说明的是,本申请中技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。本申请实施例中的用户信息均是通过合法合规途径获得,并且对用户信息的获取、存储、使用、处理等经过用户授权同意的。
虽然本发明提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上结合具体的实施方式对本申请进行了描述,但本领域技术人员应该清楚,这些描述都是示例性的,并不是对本申请保护范围的限制。本领域技术人员可以根据本申请的精神和原理对本申请做出各种变型和修改,这些变型和修改也在本申请的范围内。

Claims (10)

1.一种动态负载均衡方法,应用于动态负载均衡装置,其特征在于,所述方法包括:
以预设的时间间隔接收服务器集群中每个服务器的负载数据以及动态处理能力,其中,所述动态处理能力根据所述负载数据估算;
基于所述服务器集群中每个服务器的负载数据和所述动态处理能力,确定所述动态负载均衡装置的负载调度方式。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
周期性的向所述服务器发送负载状态检测请求;
在第一预设时间间隔内收到所述服务器返回的负载状态检测反馈的情况下,基于所述服务器集群中每个服务器的负载数据和所述动态处理能力,确定所述动态负载均衡装置的负载调度方式;
在所述第一预设时间间隔内没有收到所述服务器返回的负载状态检测反馈的情况下,进行应急处理,将所述服务器设置为不可用状态。
3.根据权利要求1所述的方法,其特征在于,根据所述负载数据估算所述服务器的动态处理能力,包括:
获取所述服务器的当前时刻的处理器使用率、内存使用率、磁盘输入输出使用率、响应时间所占比率分配的权重系数;
根据所述服务器的处理器使用率、内存使用率、磁盘输入输出使用率、响应时间所占比率,以及所述处理器使用率的权重系数、所述内存使用率的权重系数、所述磁盘输入输出使用率的权重系数、所述响应时间所占比率的权重系数,通过乘积平均值法得到所述动态处理能力的估算值。
4.根据权利要求3所述的方法,其特征在于,获取所述服务器当前时刻的处理器使用率、内存使用率、磁盘输入输出使用率、响应时间所占比率的权重系数包括:
响应于所述服务器提供的服务与应用的不同,对所述服务器的处理器使用率、内存使用率、磁盘输入输出使用率、响应时间所占比率分配权重系数进行调整;
其中,所述处理器使用率的权重系数、所述内存使用率的权重系数、所述磁盘输入输出使用率的权重系数、所述响应时间所占比率的权重系数被动态调整且之和为1。
5.根据权利要求1所述的方法,其特征在于,确定动态负载均衡器的负载调度方式,包括:
获取所述服务器当前连接数、所述服务器的权值、所述服务器集群中所有服务器当前连接数的总和;其中,所述服务器的权值表示所述服务器的性能;
根据所述服务器当前连接数、所述服务器的权值、服务器集群中所有服务器当前连接数的总和,通过动态反馈加权最小连接调度算法确定动态负载均衡器的负载调度方式。
6.根据权利要求5所述的方法,其特征在于,通过动态反馈加权最小连接调度算法确定动态负载均衡器的负载调度方式包括:
根据所述服务器当前连接数、所述服务器的权值、服务器集群中所有服务器当前连接数的总和确定最小值,为所述最小值对应的所述服务器分配新连接请求。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括
接收用户端发送的所述新连接请求,根据确定的所述动态负载均衡装置的负载调度方式确定所述服务器,并将所述新连接请求发送给所述服务器。
8.一种动态负载均衡系统,其特征在于,所述负载均衡系统包括:包含至少一个服务器的服务器集群和动态负载均衡装置,
其中,所述服务器包括:
估算模块,其根据负载数据估算所述服务器的动态处理能力;
第一接口通信模块,其将所述服务器的负载数据和所述动态处理能力发送给所述动态负载均衡装置;
其中,所述动态负载均衡装置包括:
第二接口通信模块,其以预设的时间间隔接收服务器集群中每个服务器的负载数据以及动态处理能力;
负载调度模块,其基于所述服务器集群中每个服务器的负载数据和所述动态处理能力,确定所述动态负载均衡装置的负载调度方式。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任意一项所述方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至7任意一项所述方法的计算机程序。
CN202211216835.1A 2022-09-30 2022-09-30 动态负载均衡方法和系统 Pending CN115604278A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211216835.1A CN115604278A (zh) 2022-09-30 2022-09-30 动态负载均衡方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211216835.1A CN115604278A (zh) 2022-09-30 2022-09-30 动态负载均衡方法和系统

Publications (1)

Publication Number Publication Date
CN115604278A true CN115604278A (zh) 2023-01-13

Family

ID=84844981

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211216835.1A Pending CN115604278A (zh) 2022-09-30 2022-09-30 动态负载均衡方法和系统

Country Status (1)

Country Link
CN (1) CN115604278A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116192858A (zh) * 2023-02-17 2023-05-30 通明智云(北京)科技有限公司 一种基于加权流量的负载均衡方法及装置
CN116418749A (zh) * 2023-02-17 2023-07-11 通明智云(北京)科技有限公司 一种动态调整权重的负载均衡方法及装置
CN117319406A (zh) * 2023-11-23 2023-12-29 北京华耀科技有限公司 负载均衡方法、装置、设备及存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116192858A (zh) * 2023-02-17 2023-05-30 通明智云(北京)科技有限公司 一种基于加权流量的负载均衡方法及装置
CN116418749A (zh) * 2023-02-17 2023-07-11 通明智云(北京)科技有限公司 一种动态调整权重的负载均衡方法及装置
CN116418749B (zh) * 2023-02-17 2023-11-17 通明智云(北京)科技有限公司 一种动态调整权重的负载均衡方法及装置
CN116192858B (zh) * 2023-02-17 2024-01-09 通明智云(北京)科技有限公司 一种基于加权流量的负载均衡方法及装置
CN117319406A (zh) * 2023-11-23 2023-12-29 北京华耀科技有限公司 负载均衡方法、装置、设备及存储介质
CN117319406B (zh) * 2023-11-23 2024-03-12 北京华耀科技有限公司 负载均衡方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN115604278A (zh) 动态负载均衡方法和系统
US8302100B2 (en) System for balance distribution of requests across multiple servers using dynamic metrics
US7890620B2 (en) Monitoring system and monitoring method
CN103401947A (zh) 多个服务器的任务分配方法和装置
US9071540B2 (en) Proxy server, hierarchical network system, and distributed workload management method
CN112148484B (zh) 一种基于耦合度的微服务在线分配方法与系统
EP3039560A1 (en) Maintain a service on a cloud network based on a scale rule
CN108632384A (zh) 基于视频请求数预测的负载均衡方法
CN112261120B (zh) 一种配电物联网云边协同任务卸载方法及装置
Choi et al. An improvement on the weighted least-connection scheduling algorithm for load balancing in web cluster systems
KR20130060350A (ko) Atca-기반 장비에서 통신 트래픽을 스케줄링하기 위한 방법 및 장치
KR20070032441A (ko) 퍼지 그룹핑 기반의 로드 밸런싱 시스템 및 그 로드 밸런싱방법
Zhu et al. Load balancing algorithm for web server based on weighted minimal connections
Qiao et al. Load balancing in peer-to-peer systems using a diffusive approach
Gao et al. An Improved Dynamic Smooth Weighted Round-robin Load-balancing Algorithm
Nakai et al. Improving the QoS of web services via client-based load distribution
Lee et al. Development of an optimal load balancing algorithm based on ANFIS modeling for the clustering web-server
Li et al. A dynamic load balancing algorithm based on consistent hash
CN106533730A (zh) Hadoop集群组件指标的采集方法及装置
JP2009237748A (ja) クライアントサーバシステム
CN112948104A (zh) 负载均衡的数据采集方法及装置
Min et al. The design and implementation of load balancing system for server cluster
CN116192858B (zh) 一种基于加权流量的负载均衡方法及装置
CN114726860B (zh) 一种面向流媒体传输的负载均衡系统及负载均衡方法
Enesi et al. Performance evaluation of statefull load balancing in predicted time intervals and CPU load

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