CN114461389A - 服务器集群的负载均衡方法、装置及电子设备 - Google Patents

服务器集群的负载均衡方法、装置及电子设备 Download PDF

Info

Publication number
CN114461389A
CN114461389A CN202210037398.0A CN202210037398A CN114461389A CN 114461389 A CN114461389 A CN 114461389A CN 202210037398 A CN202210037398 A CN 202210037398A CN 114461389 A CN114461389 A CN 114461389A
Authority
CN
China
Prior art keywords
server
load
job
determining
time
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
CN202210037398.0A
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 CN202210037398.0A priority Critical patent/CN114461389A/zh
Publication of CN114461389A publication Critical patent/CN114461389A/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种服务器集群的负载均衡方法、装置及电子设备。涉及金融科技领域,该方法包括:先接收作业请求,从服务器集群中选择处理作业请求的第一服务器,然后在第一服务器的负载率大于预设负载率时,获取服务器集群中至少一个服务器的负载率,最后根据至少一个服务器的负载率从服务器集群中确定目标服务器。其中,至少一个服务器中每个服务器的负载率是基于运行在该服务器中的作业的第一运行时长所确定的,第一运行时长基于线性回归模型预测得到,目标服务器用于执行作业请求对应的待处理作业。本发明解决了由于现有技术中的负载率判断不准确造成的负载均衡效果差的技术问题。

Description

服务器集群的负载均衡方法、装置及电子设备
技术领域
本发明涉及金融科技领域,具体而言,涉及一种服务器集群的负载均衡方法、装置及电子设备。
背景技术
服务器集群由多个服务器组成,这些服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。服务器集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了都不影响整个系统的正常运行。服务器集群中的服务器需要时刻接收作业请求以完成相关作业,然而,当服务器请求增加到一定量时,服务器可能会发生负载饱和而影响自身的计算效率,因此,对服务器集群进行一定的负载均衡就显得十分必要。
目前,虽然已有相关的均衡算法对服务器集群进行负载均衡,但其在计算过程中,由于仅基于时间因素对服务器的负载率进行判断,因此,判断结果并不十分准确,从而会影响负载均衡效果。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种服务器集群的负载均衡方法、装置及电子设备,以至少解决由于现有技术中的负载率判断不准确造成的负载均衡效果差的技术问题。
根据本发明实施例的一个方面,提供了一种服务器集群的负载均衡方法,包括:接收作业请求,从服务器集群中选择处理作业请求的第一服务器;在第一服务器的负载率大于预设负载率时,获取服务器集群中至少一个服务器的负载率,其中,至少一个服务器中每个服务器的负载率是基于运行在该服务器中的作业的第一运行时长所确定的,第一运行时长基于线性回归模型预测得到;根据至少一个服务器的负载率从服务器集群中确定目标服务器,其中,目标服务器用于执行作业请求对应的待处理作业。
可选的,服务器集群的负载均衡方法还包括:在获取服务器集群中至少一个服务器的负载率之前,针对服务器集群中的每个服务器,根据运行在该服务器中的作业的第一运行时长确定该服务器的当前负载;依据当前负载和该服务器的固有负载确定该服务器的负载率,其中,固有负载表征该服务器在饱和状态下的负载,饱和状态表征该服务器的可用资源为零;对该服务器的负载率进行存储。
可选的,服务器集群的负载均衡方法还包括:确定至少一个服务器的历史作业的第二运行时长;基于第一运行时长和第二运行时长确定该服务器当前运行的所有作业的时间权重值;基于时间权重值确定该服务器当前运行的所有作业的时间量化结果;基于时间量化结果确定该服务器的当前负载。
可选的,服务器集群的负载均衡方法还包括:确定该服务器的加持因子,其中,加持因子表征该服务器进入临界状态后承受负载的能力,临界状态表征该服务器的作业请求的请求量达到预设数量;依据当前负载、固有负载和加持因子确定该服务器的负载率。
可选的,服务器集群的负载均衡方法还包括:依据该服务器的响应时间确定该服务器的工作状态,其中,工作状态包括临界状态和正常负载状态;当该服务器的工作状态为正常负载状态时,确定加持因子为零,其中,正常负载状态表征该服务器处于临界状态和饱和状态之外的状态;当该服务器的工作状态为临界状态时,计算加持因子。
可选的,服务器集群的负载均衡方法还包括:基于固有负载和临界负载确定该服务器的作业量化总和之差,其中,临界负载表示该服务器在进入临界状态时的负载;基于作业量化总和之差确定该服务器的作业权重值;基于作业权重值、该服务器的临界响应时间和饱和响应时间确定该服务器的加持因子,其中,临界响应时间表征该服务器进入临界状态时的响应时间,饱和响应时间表征该服务器进入饱和状态时的响应时间。
可选的,服务器集群的负载均衡方法还包括:在获取服务器集群中至少一个服务器的负载率之前,获取运行在每个服务器中的作业在预设时间范围内的目标历史运行时长;将目标历史运行时长划分为多个目标时间单元,计算多个目标时间单元的目标算数平均值;基于线性回归模型对目标算数平均值进行处理,得到该服务器中的作业的第一运行时长。
可选的,服务器集群的负载均衡方法还包括:在获取服务器集群中至少一个服务器的负载率之前,获取至少一个作业的实际运行时长以及在预设时间范围内的历史运行时长;将历史运行时长划分为多个时间单元,计算多个时间单元的算术平均值;依据实际运行时长和算术平均值,构建线性回归模型。
根据本发明实施例的另一方面,还提供了一种服务器集群的负载均衡装置,包括:收模块,用于接收作业请求,从服务器集群中选择处理作业请求的第一服务器;获取模块,用于在第一服务器的负载率大于预设负载率时,获取服务器集群中至少一个服务器的负载率,其中,至少一个服务器中每个服务器的负载率是基于运行在该服务器中的作业的第一运行时长所确定的,第一运行时长基于线性回归模型预测得到;处理模块,用于根据至少一个服务器的负载率从服务器集群中确定目标服务器,其中,目标服务器用于执行作业请求对应的待处理作业。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的服务器集群的负载均衡方法。
根据本发明实施例的另一方面,还提供了一种电子设备,电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的服务器集群的负载均衡方法。
根据本发明实施例的另一方面,还提供了一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现上述的务器集群的负载均衡方法。
在本发明实施例中,采用基于线性回归模型计算至少一个服务器的负载率以确定目标服务器的方式,通过先接收作业请求,从服务器集群中选择处理作业请求的第一服务器,然后在第一服务器的负载率大于预设负载率时,获取服务器集群中至少一个服务器的负载率,最后根据至少一个服务器的负载率从服务器集群中确定目标服务器。其中,至少一个服务器中每个服务器的负载率是基于运行在该服务器中的作业的第一运行时长所确定的,第一运行时长基于线性回归模型预测得到,目标服务器用于作业请求对应的待处理作业。
在上述过程中,通过基于线性回归模型预测运行在每个服务器的作业的第一运行时长,能够实现对各作业第一运行时长更客观、准确的预测,从而使得对负载率的计算更加准确,进而保证了负载均衡器在分配时能够更准确的找到目标服务器,提高负载均衡效果。此外,在本申请中,通过根据至少一个服务器的负载率从服务器集群中确定目标服务器,即带有目的性的去选择目标服务器,可以使得服务器集群中各服务器的负载率总能保持相对均衡,从而进一步地提高负载均衡效果。
由此可见,本申请所提供的方案达到了基于线性回归模型计算至少一个服务器的负载率以确定目标服务器的目的,从而实现了提高负载均衡效果的技术效果,进而解决了由于现有技术中的负载率判断不准确造成的负载均衡效果差的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的服务器集群的负载均衡方法的示意图;
图2是根据本发明实施例的一种可选的哈希算法的示意图;
图3是根据本发明实施例的一种可选的服务器集群的负载均衡方法的流程示意图;
图4是根据本发明实施例的一种可选的服务器集群的负载均衡方法的简化的流程示意图;
图5是根据本发明实施例的一种可选的线性回归模型的预测值和实际值的对比图;
图6是根据本发明实施例的一种可选的服务器性能的检测图;
图7是根据本发明实施例的一种可选的服务器集群的负载均衡方法的性能测试图;
图8是根据本发明实施例的一种可选的服务器集群的负载均衡方法的另一性能测试图;
图9是根据本发明实施例的一种可选的服务器集群的负载均衡装置的结构框图;
图10是根据本发明实施例的一种可选的电子设备的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
实施例1
根据本发明实施例,提供了一种服务器集群的负载均衡方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的服务器集群的负载均衡方法,如图1所示,该方法包括如下步骤:
步骤S101,接收作业请求,从服务器集群中选择处理作业请求的第一服务器。
在步骤S101中,可以通过负载均衡器、第三方服务器、应用系统等设备接收作业请求,可选的,在本实施例中,通过负载均衡器接收作业请求。当一个作业请求到来时,负载均衡器可以通过哈希算法计算出该作业请求所要分配的服务器。
另外,在步骤S101中,第一服务器为ETL调度服务器集群中的服务器,ETL调度服务器用于导入数据至数据湖中。
可选的,当一个任务请求到来时,负载均衡器首先通过Murmur哈希算法计算出执行该任务的服务器节点。其中,Murmur哈希算法为一种高运算性能、低碰撞率的算法。
具体地,图2是根据本发明实施例的一种可选的哈希算法的示意图,如图2所示,负载均衡器通过一致性哈希环计算所要分配的服务器。在应用过程中,负载均衡器将服务器的ip和端口号进行哈希计算,并基于计算结果将服务器映射成环上的一个节点,在图2中,服务器节点旁的字段(例如:“11.1.121.1:8080”)即表示服务器ip和端口号。当作业请求到来时,负载均衡器根据指定的hash key将作业请求同样映射到环上,并顺时针选取最近的一个服务器节点进行作业请求。其中,hash key为与作业相关的标识,在本实施例中,hashkey为作业运行时的进程号(如图2中的useid)。需要说明的是,在实际应用中,数据湖ETL调度服务器数量多达数十台乃至上百台,因此在本申请中采用Murmur哈希算法并不会产生大量作业请求落到同一个服务器节点的问题。
需要说明的是,通过先从服务器集群中选择处理作业请求的第一服务器,并在后续对第一服务器的负载率进行简单判断,而不是采用先对服务器集群中的所有服务器的负载率进行计算再选择第一服务器的方式,可以有效减少负载均衡器的计算量,提高分配效率。
步骤S102,在第一服务器的负载率大于预设负载率时,获取服务器集群中至少一个服务器的负载率,其中,至少一个服务器中每个服务器的负载率是基于运行在该服务器中的作业的第一运行时长所确定的,第一运行时长基于线性回归模型预测得到。
在步骤S102中,负载均衡器先判断第一服务器与预设负载率的关系。其中,预设负载率可以是某个固定的数值,也可以与服务器集群的平均负载率呈线性相关,还可以与服务器集群中的其它类型的负载率(如最小负载率、最大负载率)呈对应关系。其中,在本实施例中,预设负载率为服务器集群的平均负载率。当负载均衡器判断第一服务器的负载率超过服务器集群的平均负载率时,负载均衡器获取至少一个服务器的负载率。其中,线性回归模型为多元线性回归模型。
可选的,服务器集群的平均负载率和至少一个服务器的负载率均由负载均衡器依据预设的时间间隔进行更新,并储存在负载均衡器或其它存储设备中,以供负载均衡器在上述判断第一服务器与预设负载率的关系的相关过程中可直接获取。具体地,负载均衡器可先基于运行在服务器集群中每个服务器中的作业的第一运行时长确定每台服务器负载率,之后,依据每台服务器的负载率,计算服务器集群的平均负载率。其中,可采用下式计算服务器集群的平均负载率:
Figure BDA0003468998720000061
在上式中,LoadFactor(i)表示每台服务器i的负载率,n表示服务器集群中服务器的数量,AveraLoadFactor表示服务器集群的平均负载率。
需要说明的是,基于线性回归模型预测得到第一运行时长,能够实现对各作业运行时长更客观、准确的预测,从而使得负载均衡器依据第一运行时长确定的每台服务器的负载率更加准确,进而便于后续负载均衡器在分配时能够更准确的找到目标服务器。
步骤S103,根据至少一个服务器的负载率从服务器集群中确定目标服务器,其中,目标服务器用于执行作业请求对应的待处理作业。
在步骤S103中,负载均衡器可以选择服务器集群中负载率最小的服务器,也可以从服务器集群中低于预设负载率的集群中任选一个,还可以依据其它条件选择服务器。优选的,在本实施例中,负载均衡器从服务器集群中选择负载率最小的服务器确定为目标服务器。当确定目标服务器后,负载均衡器将作业请求发送至目标服务器以使得目标服务器执行作业请求对应的待处理作业。
进一步地,当请求返回后,负载均衡器对目标服务器的负载率以及服务器集群的平均负载率进行更新,并将更新后的数据储存在负载均衡器或其它存储设备中,以保证负载均衡器在下一次分配作业请求时,所读取的各服务器的负载率以及服务器集群的平均负载率均为实际数值,从而提高负载均衡效果。
需要说明的是,通过根据至少一个服务器的负载率从服务器集群中确定目标服务器,可以保证负载均衡器总能使得各服务器的负载率相对平衡,进而有效防止一部分服务器空闲,而另一部分服务器可用资源为零的情况发生,进而保证了本申请的负载均衡效果。
基于上述步骤S101至步骤S103所限定的方案,可以获知,在本发明实施例中,采用基于线性回归模型计算至少一个服务器的负载率以确定目标服务器的方式,通过先接收作业请求,从服务器集群中选择处理作业请求的第一服务器,然后在第一服务器的负载率大于预设负载率时,获取服务器集群中至少一个服务器的负载率,最后根据至少一个服务器的负载率从服务器集群中确定目标服务器。其中,至少一个服务器中每个服务器的负载率是基于运行在该服务器中的作业的第一运行时长所确定的,第一运行时长基于线性回归模型预测得到,目标服务器用于作业请求对应的待处理作业。
容易注意到的是,在上述过程中,通过基于线性回归模型预测运行在每个服务器的作业的第一运行时长,能够实现对各作业第一运行时长更客观、准确的预测,从而使得对负载率的计算更加准确,进而保证了负载均衡器在分配时能够更准确的找到目标服务器,提高负载均衡效果。此外,在本申请中,通过根据至少一个服务器的负载率从服务器集群中确定目标服务器,即带有目的性的去选择目标服务器,可以使得服务器集群中各服务器的负载率总能保持相对均衡,从而进一步地提高负载均衡效果。
由此可见,本申请所提供的方案达到了基于线性回归模型计算至少一个服务器的负载率以确定目标服务器的目的,从而实现了提高负载均衡效果的技术效果,进而解决了由于现有技术中的负载率判断不准确造成的负载均衡效果差技术问题。
在一种可选的实施例中,在本申请中,采用基于时间因素和多元线性回归模型的负载均衡调度算法(ime-Predicting based Load Balancing Scheduling Algorithm,TPLBSA)对服务器集群进行负载均衡,其中,该TPLBSA算法在现有的TLBSA算法的基础上,结合多元线性回归模型,以更好地实现负载均衡。
图3是根据本发明实施例的一种可选的服务器集群的负载均衡方法的流程示意图,图4是根据本发明实施例的一种可选的服务器集群的负载均衡方法的简化的流程示意图,如图3、图4所示,该流程包括:在作业请求到来时,负载均衡器接收ETL调度作业请求,然后负载均衡器通过哈希算法选择服务器节点S1,判断服务器节点S1负载是否大于平均负载率。若判断服务器节点S1负载不大于平均负载率,则将作业请求发送至服务器节点S1,令服务器节点S1处理作业请求,当请求返回时,更新ETL调度知识库。之后,根据ETL调度知识库,每隔一段时间更新每个作业I的时间量化值TimeSlots(i)以及所有服务器当前负载。若判断服务器节点S1负载大于平均负载率,则基于TPLBSA算法,将作业请求分配至当前最小负载服务器节点,以使得当前最小负载服务器节点执行作业请求。
在一种可选的实施例中,在获取至少一个服务器的负载率之前,负载均衡器可获取至少一个作业的实际运行时长以及在预设时间范围内的历史运行时长,再将历史运行时长划分为多个时间单元,计算多个时间单元的算术平均值,最后依据实际运行时长和算术平均值来构建线性回归模型。其中,预设时间范围可以是一个月、一个星期或依据作业的实际运行规律进行确定,多个时间单元可以依据预设时间范围进行划分,每个时间单元可以对应的一个星期、10天或其它时间范围。
可选的,在本实施例中,预设时间范围为一个月,时间单元为10天。负载均衡器收集50个数据湖加载作业的实际运行时长以及与该实际运行时长对应的最近一个月的历史运行时长,并依据上述数据建立合理的线性回归模型。其中,对建立线性回归模型过程中的变量及假设设置如下:
首先设定变量y、x1、x2、x3,未知参数β0、β1、β2和β3以及随机误差ε。其中,y表示加载作业的实际运行时长;x1表示该加载作业在最近一个月内第1个10的天作业历史运行时长算数平均值;x2表示该加载作业在最近一个月内第2个10天的作业历史运行时长算数平均值;x3表示该加载作业在最近一个月内第3个10天的作业历史运行时长算数平均值。β0为回归常数,β1、β2以及β3为回归系数。
然后依据上述数据建立线性回归模型,建立所得的回归模型如下:
y=β01x12x23x3
其中,对于随机误差ε,假设E(ε)=0,Var(ε)=σ2
由50个数据湖加载作业的历史运行时长可获得50组数据,则模型可表示为:
Figure BDA0003468998720000081
Figure BDA0003468998720000082
则上述模型可以化为矩阵模式y=Xβ+ε。
且上述模型满足下列条件:
(1)、自变量x1,x2,x3…x50是确定性变量,且rank(X)=3+1<50,即X为一个列满秩矩阵。
(2)、满足高斯马尔科夫条件(G-M条件),即
Figure BDA0003468998720000091
(3)、正态分布的假设条件为
Figure BDA0003468998720000092
其中,条件(1)说明上述模型为自变量确定性的回归问题。条件(2)说明随机误差的平均值为零,且没有系统误差。随机误差项εi的协方差为零,表明随机误差项在不同的样本点之间是不相关的,即不存在序列相关。条件(3)说明误差项是正态分布,在实践中是合理的。
在满足条件(1)和条件(2)的前提下,上述线性回归模型的矩阵式可表示成:
Figure BDA0003468998720000093
若同时满足条件(1)-(3),上述线性回归模型的矩阵式可简化为:
Figure BDA0003468998720000094
考虑上述模型的检验,假设如下:
H0:Hβ=c
rank(X)=p+1,rank(H)=q≤p+1
Figure BDA0003468998720000095
分别为β0,β1,β2,β3的最小二乘估计。
经整理,
Figure BDA0003468998720000096
满足如下方程组:
Figure BDA0003468998720000101
Figure BDA0003468998720000102
经计算得到结果为:
β=82,β1=L825,β2=0·056,β3=4·208
即构建好的线性回归模型可以表示为:
y=82+1.825xi+0.056x2+4.208x3
通过得到的线性回归模型对50个数据湖加载作业在最近一次的实际运行时长进行预测,最终的预测结果与实际运行时长对比如图5所示,在图5中,横坐标表示作业标识,即从左至右表示第一个作业到第五十个作业,纵坐标表示每个作业的运行时长,实验结果表明预测值与实际值贴合度很高。
需要说明的是,上述历史运行时长可以通过作业历史信息表etl_job_log(ETL作业脚本运行信息)获取,作业历史信息表etl_job_log(ETL作业脚本运行信息)存储在ETL调度知识库中。作业历史信息表etl_job_log如下所示:
字段名 字段类型 是否为空 字段描述 值含义
ETL_System char N 系统名称
ETL_Job VARchar N 作业名
Batch_No INTEGER N 当前批次号
Batch_Sum INTEGER N 总批次数
JobSessionID INTEGER N Job Session ID
ScriptFile VARchar N 运行脚本名
TXDate DATE N 数据日期
StartTime char Y 开始运行时间
EndTime char Y 结束运行时间
ReturnCode INTEGER Y 运行返回值
Seconds INTEGER Y Null
根据作业历史信息表etl_job_log中的“starttime”字段和“endtime字段”所对应的时间可以计算得到上述作业的实际运行时长以及历史运行时长。
需要说明的是,通过获取至少一个作业的实际运行时长以及在预设时间范围内的历史运行时长,并进行计算获得算数平均值以构建线性回归模型,可以实现后续对作业的运行时长更准确的预测,进而提高负载率计算的准确度。
在本发明一种可选的实施例中,针对服务器集群中的每个服务器,负载均衡器可先根据运行在该服务器中的作业的第一运行时长确定该服务器的当前负载,再依据当前负载和该服务器的固有负载确定该服务器的负载率,并对该服务器的负载率进行存储。负载率的计算公式如下所示:
Figure BDA0003468998720000111
其中,MaxLoad(i)表示第i个服务器的固有负载,也即固有资源数;CurrentLoad(i)表示第i个服务器的当前负载;LoadFactor(i)表示第i个服务器的负载率,也即第i个服务器资源的利用率。负载均衡器可以在计算得到第i个服务器的负载率时,便及时对其负载率进行存储,也可以在计算完服务器集群中所有服务器的负载率之后,再对各服务器的负载率进行存储。具体地,负载均衡器可以将各服务器的负载率存储在任意一个具有存储功能的装置中,各服务器的负载率可以存储在相同装置,也可以存储不同装置中。
可选的,在确定服务器的当前负载之前,负载均衡器可以获取运行在每个服务器中的作业在预设时间范围内的目标历史运行时长,将目标历史运行时长划分为多个目标时间单元,计算多个目标时间单元的目标算数平均值,并基于线性回归模型对目标算数平均值进行处理,从而得到该服务器中的作业的第一运行时长。
其中,在本实施例中,目标时间单元为10天,即将目标历史运行时长划分为第一子目标历史运行时长、第二子目标历史运行时长以及第三子目标历史运行时长,并分别对第一子目标历史运行时长、第二子目标历史运行时长以及第三子目标历史运行时长求算数平均值。其中,第一子目标历史运行时长表征作业在最近一个月内第1个10的天作业历史运行时长,第二子目标历史运行时长表征作业在最近一个月内第2个10天的作业历史运行时长,第三子目标历史运行时长表征作业在最近一个月内第3个10天的作业历史运行时长。
具体地,负载均衡器将运行在第i个服务器中的某一作业所对应的第一子目标历史运行时长的算数平均值、第二子目标历史运行时长的算数平均值以及第三子目标历史运行时长的算数平均值作为前述的x1、x2、x3变量输入至前述构建好的线性回归模型,并将构建好的线性回归模型输出的y值确定为第一运行时长,由此实现对第一运行时长的获取。
需要说明的是,通过基于线性回归模型对目标历史运行时长进行处理,实现了对第一运行时长的客观且准确的预测,从而使得基于第一运行时长计算得到的负载率更加准确。
可选的,在确定服务器的当前负载的过程中,针对服务器集群中的每个服务器,负载均衡器可以先确定服务器集群中所有服务器的历史作业的第二运行时长,然后基于第一运行时长和第二运行时长确定该服务器当前运行的所有作业的时间权重值,接着基于时间权重值确定该服务器当前运行的所有作业的时间量化结果,最后基于时间量化结果确定该服务器的当前负载。其中,历史作业表示已经服务器集群中已经运行完的作业。
具体地,在本实施例中,负载均衡器通过ETL调度知识库中的作业历史信息表etl_job_log确定服务器集群中的所有历史作业以及历史作业的第二运行时长,从而以便于实现对后续每个作业的时间权重值的客观计算,进而实现对当前负载的准确确定。
进一步地,在确定服务器集群中的所有历史作业的第二运行时长后,通过如下公式计算出服务器当前运行的每个作业的时间权重值(即归一化处理):
Figure BDA0003468998720000121
其中,Vi表示当前运行的作业i的预计运行时长(即第一运行时长),Vmax表示服务器集群中所有历史作业中的最长运行时长,Vmin表示服务器集群中所有历史作业中的最短运行时长。由此实现对所有作业预计运行时间(即第一运行时长)的归一化计算,即获得每个作业的时间权重值。
之后,将每个作业的时间权重值乘以在同一个服务器中当前运行的作业总数,可以得到每个作业i的时间量化结果,对时间量化结果计算的公式如下:
TimeSlots(i)=v*N
其中,V表示作业i的时间权重值,N表示在服务器i中当前运行的作业总数,TimeSlots(i)表示作业i的最终时间量化结果。
最后,将每个作业i的时间量化结果相加,其总和即为服务器i的当前负载,计算服务器i的当前负载的公式如下所示:
Figure BDA0003468998720000122
其中,TimeSlots(i)表示服务器i当前运行的作业i的时间量化结果,CurrentLoad(i)表示服务器i的当前负载。
可选的,可通过第三方服务器对各服务器的固有负载能力进行测定,以至少确定服务器的饱和状态、临界状态以及临界响应时间和饱和响应时间。在本实施例中,图6是根据本发明实施例的一种可选的服务器性能的检测图,如图6所示,设定线程数1000个,时间间隔7S,并让这1000个线程的连续循环9轮来模拟9K次请求,测定结果如图6所示。在图6中,横坐标表示发送作业请求的个数,纵坐标“实线”表示服务器对作业请求的响应时间。从图6中可以看出,当作业请求达到8000个左右时,服务器请求成功率会突然降低,并且持续一段时间,这是系统软件为防止死机而采取的一种措施,也称“假死”现象,“假死”会对服务器的性能产生严重影响,因此必须避免这种现象发生。当出现假死时,确定服务器已经处于饱和状态,从图6中可以看出这台服务器“假死”时其响应时间为4980ms,记个时间为T(max),当服务器的响应时间超过T(max),则服务器的可用资源为零;从图6中可以看出服务器的最小响应时间为17ms,记这个时间为T(bas),就是系统维持运转的基本负载;从图6中还可以明显看出当请求达到一定量(图中的3250次)时服务器的响应时间会出现“抖动”现象,出抖动的临界时间为1900ms,记这个时间为T(crt),此时表示服务器进入临界状态。其中,T(max)(也即下述的Tmax)即为饱和响应时间,饱和响应时间表征该服务器进入饱和状态时的响应时间,T(crt)(也即下述的Tcrt)即为临界响应时间,临界响应时间表征该服务器进入临界状态时的响应时间。
可选的,在本实施例中,可依据测定结果,通过构建模拟场景,向服务器不断发送作业请求,以测定服务器在刚达到饱和状态(即此时响应时间为Tmax)时该服务器上所有正在运行的作业的时间量化结果的总和,即服务器的固有负载。其中,固有负载的计算公式如下所示:
Figure BDA0003468998720000131
其中,TimeSlots(i)表示服务器刚好到达饱和响应时间Tmax时(即刚达到饱和状态时)正在运行的作业i的时间量化结果,MaxLoad(i)表示服务器i的固有负载。
可选的,在本发明的另一实施例中,还可依据ETL调度知识库中的作业历史信息表etl_job_log中的记录,确定服务器在刚达到饱和状态(即此时响应时间为Tmax)时该服务器上所有正在运行的作业的时间量化结果的总和,即服务器的固有负载。
需要说明的是,由于当前负载为基于线性回归模型预测的第一运行时长的得到的,因此,通过依据当前负载和该服务器的固有负载确定该服务器的负载率,可以得到更准确的数值,进而为确定作业请求的分配对象(第一服务器或目标服务器)提供了更准确的判断标准。
在本发明一种可选的实施例中,还可依据当前负载、该服务器的固有负载和加持因子确定该服务器的负载率。负载率的计算公式如下所示:
Figure BDA0003468998720000141
其中,LoadFactor(i)表示第i个服务器的负载率,也即第i个服务器资源的利用率;MaxLoad(i)表示第i个服务器的固有负载,也即固有资源数;CurrentLoad(i)表示第i个服务器的当前负载;BlessingFactor(i)表示第i个服务器的加持因子。其中,加持因子表征该服务器进入临界状态后承受负载的能力。
需要说明的是,当服务器的响应时间进入临界区间[Tcrt,Tmax]时,为避免服务器“假死”,此时根据该服务器i自身剩余资源适当地加大i的当前负载率可以起到有效保护服务器。
可选的,依据该服务器的响应时间确定该服务器的工作状态,其中,工作状态包括临界状态和正常负载状态;该服务器的工作状态为正常负载状态时,确定加持因子为零,其中,正常负载状态表征该服务器处于临界状态和饱和状态之外的状态;当该服务器的工作状态为临界状态时,负载均衡器计算加持因子。
需要说明的是,当仅在该服务器的工作状态为临界状态时,计算加持因子,可以使得本申请对负载率的判断更贴合实际应用需求,从而具有适用性。
进一步地,可通过先基于固有负载和临界负载确定该服务器的作业量化总和之差,再基于作业量化总和之差确定该服务器的作业权重值,最后基于作业权重值、该服务器的临界响应时间和饱和响应时间计算该服务器的加持因子。其中,临界负载表示该服务器在进入临界状态时的负载。
具体地,可通过如下公式确定该服务器的加持因子:
Figure BDA0003468998720000142
其中,t表示服务器i的响应时间,
Figure BDA0003468998720000143
表示服务器i的临界深度,Tcrt表示服务器i的临界响应时间,Tmax表示服务器i的饱和响应时间,λ表示上述的作业权重值。
其中,作业权重值为将所有作业的对应作业量化总和之差进行归一化操作所得到的,关于作业权重值的计算公式如下所示:
Figure BDA0003468998720000151
其中,λi表示服务器i的临界区间[Tcrt,Tmax]对应的作业量化总和之差,λmax表示服务器集群中的服务器的临界区间[Tcrt,Tmax]对应的最大作业量化总和之差;λmin表示服务器集群中的服务器的临界区间[Tcrt,Tmax]对应的最小作业量化总和之差。其中,服务器i的临界区间[Tcrt,Tmax]对应的作业量化总和之差可表示为MaxLoad(i)-CRTLoad(i),CRTLoad(i)表示服务器i刚好达到临界时间点Tcrt时的所有作业量化总和,即上述的临界负载。
可选的,在本实施例中,可依据测定结果,通过构建模拟场景,向服务器不断发送作业请求,以测定服务器在刚好达到临界时间点Tcrt时的所有作业量化总和,即服务器的临界负载。其中,临界负载的计算公式如下所示:
Figure BDA0003468998720000152
其中,TimeSlots(i)表示服务器i刚好达到临界响应时间Tcrt时(即服务器i刚进入临界状态时)正在运行的作业i的时间量化结果,CRTLoad(i)表示服务器i的临界负载。
可选的,在本发明的另一实施例中,还可依据ETL调度知识库中的作业历史信息表etl_job_log中的记录,确定服务器i刚好达到临界响应时间Tcrt时(即服务器i刚进入临界状态时)时该服务器上所有正在运行的作业的时间量化结果的总和,即服务器的临界负载。
需要说明的是,如果服务器i的MaxLoad(i)-CRTLoad(i)越大,表示服务器i进入临界区间[Tcrt,Tmax]后承受负载能力越强,
Figure BDA0003468998720000153
就越小,加持因子BlessingFactor(i)就越小,该服务器负载率LoadFactor(i)就越小,从而服务器i的剩余资源越大;
Figure BDA0003468998720000154
表示服务器i的临界深度。
需要说明的是,通过在对服务器的负载率的计算过程中,加入对加持因子的计算提高已经进入到临界状态的服务器的负载率,可以更好地保护已经进入到临界状态的服务器,防止其进入到假死状态,从而提高本申请的负载均衡效果。
在本发明一种可选的实施例中,对本申请和现有技术中的负载均衡算法的请求平均响应时间和请求成功率。其中,测试环境为3台负载均衡器、后端7台服务器,均为内存4g,硬盘500g的Ubuntu18系统。测试环境的网络为高速局域网,采用随机选取法(RSM)、用加权轮询算法(WRR)、一种基于时间因素的ETL服务器集群负载均衡算法(SLBT)与本申请所实现的TPLBSA算法性能进行比较。测试请求作业是hadoop导入IMP作业。测试结果如图7、图8所示,图7是根据本发明实施例的一种可选的服务器集群的负载均衡方法的性能(请求平均响应时间)测试图,在图7中,横坐标表示发送作业请求的个数(单位为5K次),纵坐标表示作业请求的平均响应时间;图8是根据本发明实施例的一种可选的服务器集群的负载均衡方法的另一性能(请求成功率)测试图,在图8中,横坐标表示发送作业请求的个数(单位为5K次),纵坐标表示作业请求的成功次数,通过成功次数可以请求成功率。
图7和图8的柱状图从左至右均依次按照随机选取法(RSM)、用加权轮询算法(WRR)、一种基于时间因素的ETL服务器集群负载均衡算法(SLBT)、TPLBSA算法(本申请)排列;从图7可以看出当并发请求为5*5K=25000个时,本申请平均响应时间要小于2s,并且随着并发请求个数的增加本申请相对其他优势比较明显。从图8可以看出当并发个数不断增加时本申请的请求成功率明显要比RSM算法、WRR算法高,并优于SLBT算法,其中,RSM算法成功率最低。测试结果表明本文算法不管是在请求成功率还是平均响应时间上相对于现有技术中的算法均有明显提升。
需要说明的是,本申请适用于金融科技技术领域,即可以应用于与金融科技相关的服务器当中并处理金融科技的相关业务。
由上述内容可知,本申请提出的TPLBSA算法确保所有作业请求被均匀地分配到每台服务器;通过作业时间量化算法实现动态请求负载分配算法,利用内存计算所有作业时间量化结果以及服务器负荷,大大提升计算效率,避免在负载均衡器分配时候才对该服务器的负载状况进行分析再进行调度,同时主动防止服务器进入“假死”状态。通过测试表明本申请在负载均衡性能上有明显的提高,在数据湖加载的ETL调度服务器集群系统中具有非常广泛的应用前景。
由此可见,本申请所提供的方案达到了基于线性回归模型计算至少一个服务器的负载率以确定目标服务器的目的,从而实现了提高负载均衡效果的技术效果,进而解决了由于现有技术中的负载率判断不准确造成的负载均衡效果差技术问题。
实施例2
根据本发明实施例,提供了一种服务器集群的负载均衡装置的的实施例,其中,图9是根据本发明实施例的一种可选的服务器集群的负载均衡装置的结构框图,如图9所示,该装置包括:
接收模块901,用于接收作业请求,从服务器集群中选择处理作业请求的第一服务器;
获取模块902,用于在第一服务器的负载率大于预设负载率时,获取服务器集群中至少一个服务器的负载率,其中,至少一个服务器中每个服务器的负载率是基于运行在该服务器中的作业的第一运行时长所确定的,第一运行时长基于线性回归模型预测得到;
处理模块903,用于根据至少一个服务器的负载率从服务器集群中确定目标服务器,其中,目标服务器用于执行作业请求对应的待处理作业。
需要说明的是,上述接收模块901、获取模块902以及处理模块903对应于上述实施例中的步骤S101至步骤S103,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
可选的,服务器集群的负载均衡装置还包括:第一确定模块,用于针对服务器集群中的每个服务器,根据运行在该服务器中的作业的第一运行时长确定该服务器的当前负载;第二确定模块,用于依据当前负载和该服务器的固有负载确定该服务器的负载率,其中,固有负载表征该服务器在饱和状态下的负载,饱和状态表征该服务器的可用资源为零;存储模块,用于对该服务器的负载率进行存储。
可选的,第一确定模块还包括:第一子确定模块,用于确定至少一个服务器的历史作业的第二运行时长;第二子确定模块,用于基于第一运行时长和第二运行时长确定该服务器当前运行的所有作业的时间权重值;第三子确定模块,用于基于时间权重值确定该服务器当前运行的所有作业的时间量化结果;第四子确定模块,用于基于时间量化结果确定该服务器的当前负载。
可选的,第二确定模块还包括:第五子确定模块,用于确定该服务器的加持因子,其中,加持因子表征该服务器进入临界状态后承受负载的能力,临界状态表征该服务器的作业请求的请求量达到预设数量;第六子确定模块,用于依据当前负载、固有负载和加持因子确定该服务器的负载率。
可选的,第五子确定模块还包括:第一判断模块,用于依据该服务器的响应时间确定该服务器的工作状态,其中,工作状态包括临界状态和正常负载状态;第二判断模块,用于当该服务器的工作状态为正常负载状态时,确定加持因子为零,其中,正常负载状态表征该服务器处于临界状态和饱和状态之外的状态;第三判断模块,用于当该服务器的工作状态为临界状态时,计算加持因子。
可选的,第三判断模块还包括:第二计算模块,用于基于固有负载和临界负载确定该服务器的作业量化总和之差,其中,临界负载表示该服务器在进入临界状态时的负载;第三计算模块,用于基于作业量化总和之差确定该服务器的作业权重值;第四计算模块,用于基于作业权重值、该服务器的临界响应时间和饱和响应时间确定该服务器的加持因子,其中,临界响应时间表征该服务器进入临界状态时的响应时间,饱和响应时间表征该服务器进入饱和状态时的响应时间。
可选的,服务器集群的负载均衡装置还包括:第二获取模块,获取运行在每个服务器中的作业在预设时间范围内的目标历史运行时长;第一计算模块,用于将目标历史运行时长划分为多个目标时间单元,计算多个目标时间单元的目标算数平均值;第二处理模块,用于基于线性回归模型对目标算数平均值进行处理,得到该服务器中的作业的第一运行时长。
可选的,服务器集群的负载均衡装置还包括:第三获取模块,用于获取至少一个作业的实际运行时长以及在预设时间范围内的历史运行时长;第二计算模块,用于将历史运行时长划分为多个时间单元,计算多个时间单元的算术平均值;构建模块,用于依据实际运行时长和算术平均值,构建线性回归模型。
实施例3
根据本发明实施例的另一方面,还提供了计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的服务器集群的负载均衡方法。
实施例4
根据本发明实施例的另一方面,还提供了一种电子设备,其中,图10是根据本发明的电子设备示意图,如图10所示,电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的服务器集群的负载均衡方法。
实施例5
根据本发明实施例的另一方面,还提供了一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现上述的服务器集群的负载均衡方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种服务器集群的负载均衡方法,其特征在于,包括:
接收作业请求,从服务器集群中选择处理所述作业请求的第一服务器;
在所述第一服务器的负载率大于预设负载率时,获取所述服务器集群中至少一个服务器的负载率,其中,所述至少一个服务器中每个服务器的负载率是基于运行在该服务器中的作业的第一运行时长所确定的,所述第一运行时长基于线性回归模型预测得到;
根据所述至少一个服务器的负载率从所述服务器集群中确定目标服务器,其中,所述目标服务器用于执行所述作业请求对应的待处理作业。
2.根据权利要求1所述的服务器集群的负载均衡方法,其特征在于,在获取所述服务器集群中至少一个服务器的负载率之前,所述方法还包括:
针对所述服务器集群中的每个服务器,根据运行在该服务器中的作业的第一运行时长确定该服务器的当前负载;
依据所述当前负载和该服务器的固有负载确定该服务器的负载率,其中,所述固有负载表征该服务器在饱和状态下的负载,所述饱和状态表征该服务器的可用资源为零;
对该服务器的负载率进行存储。
3.根据权利要求2所述的服务器集群的负载均衡方法,其特征在于,针对所述服务器集群中的每个服务器,根据运行在该服务器中的作业的第一运行时长确定该服务器的当前负载,包括:
确定所述至少一个服务器的历史作业的第二运行时长;
基于所述第一运行时长和所述第二运行时长确定该服务器当前运行的所有作业的时间权重值;
基于所述时间权重值确定该服务器当前运行的所有作业的时间量化结果;
基于所述时间量化结果确定该服务器的当前负载。
4.根据权利要求2所述的服务器集群的负载均衡方法,其特征在于,依据所述当前负载和该服务器的固有负载确定该服务器的负载率,包括:
确定该服务器的加持因子,其中,所述加持因子表征该服务器进入临界状态后承受负载的能力,所述临界状态表征该服务器的作业请求的请求量达到预设数量;
依据所述当前负载、所述固有负载和所述加持因子确定该服务器的负载率。
5.根据权利要求4所述的服务器集群的负载均衡方法,其特征在于,确定该服务器的加持因子,包括:
依据该服务器的响应时间确定该服务器的工作状态,其中,所述工作状态包括所述临界状态和正常负载状态;
当该服务器的工作状态为所述正常负载状态时,确定所述加持因子为零,其中,所述正常负载状态表征该服务器处于所述临界状态和所述饱和状态之外的状态;
当该服务器的工作状态为所述临界状态时,计算所述加持因子。
6.根据权利要求5所述的服务器集群的负载均衡方法,其特征在于,当该服务器的工作状态为所述临界状态时,计算所述加持因子,包括:
基于所述固有负载和临界负载确定该服务器的作业量化总和之差,其中,所述临界负载表示该服务器在进入所述临界状态时的负载;
基于所述作业量化总和之差确定该服务器的作业权重值;
基于所述作业权重值、该服务器的临界响应时间和饱和响应时间确定该服务器的加持因子,其中,所述临界响应时间表征该服务器进入所述临界状态时的响应时间,所述饱和响应时间表征该服务器进入所述饱和状态时的响应时间。
7.根据权利要求1所述的服务器集群的负载均衡方法,其特征在于,在获取所述服务器集群中至少一个服务器的负载率之前,所述方法还包括:
获取运行在每个服务器中的作业在预设时间范围内的目标历史运行时长;
将所述目标历史运行时长划分为多个目标时间单元,计算所述多个目标时间单元的目标算数平均值;
基于所述线性回归模型对所述目标算数平均值进行处理,得到该服务器中的作业的第一运行时长。
8.根据权利要求1所述的服务器集群的负载均衡方法,其特征在于,在获取所述服务器集群中至少一个服务器的负载率之前,所述方法还包括:
获取至少一个作业的实际运行时长以及在预设时间范围内的历史运行时长;
将所述历史运行时长划分为多个时间单元,计算所述多个时间单元的算术平均值;
依据所述实际运行时长和所述算术平均值,构建所述线性回归模型。
9.一种服务器集群的负载均衡装置,其特征在于,包括:
接收模块,用于接收作业请求,从服务器集群中选择处理所述作业请求的第一服务器;
获取模块,用于在所述第一服务器的负载率大于预设负载率时,获取所述服务器集群中至少一个服务器的负载率,其中,所述至少一个服务器中每个服务器的负载率是基于运行在该服务器中的作业的第一运行时长所确定的,所述第一运行时长基于线性回归模型预测得到;
处理模块,用于根据所述至少一个服务器的负载率从所述服务器集群中确定目标服务器,其中,所述目标服务器用于执行所述作业请求对应的待处理作业。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至8任一项中所述的服务器集群的负载均衡方法。
11.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现用于运行程序,其中,所述程序被设置为运行时执行所述权利要求1至8任一项中所述的服务器集群的负载均衡方法。
12.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1至8中任一项所述的服务器集群的负载均衡方法。
CN202210037398.0A 2022-01-13 2022-01-13 服务器集群的负载均衡方法、装置及电子设备 Pending CN114461389A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210037398.0A CN114461389A (zh) 2022-01-13 2022-01-13 服务器集群的负载均衡方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210037398.0A CN114461389A (zh) 2022-01-13 2022-01-13 服务器集群的负载均衡方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN114461389A true CN114461389A (zh) 2022-05-10

Family

ID=81410079

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210037398.0A Pending CN114461389A (zh) 2022-01-13 2022-01-13 服务器集群的负载均衡方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN114461389A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116382892A (zh) * 2023-02-08 2023-07-04 深圳市融聚汇信息科技有限公司 一种基于多云融合以及云服务的负载均衡方法及装置
CN116755889A (zh) * 2023-08-16 2023-09-15 北京国电通网络技术有限公司 应用于服务器集群数据交互的数据加速方法、装置与设备
CN117608831A (zh) * 2023-11-22 2024-02-27 杭州玖青数字科技有限公司 分布式数据交换系统的作业管理方法、装置及服务器

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116382892A (zh) * 2023-02-08 2023-07-04 深圳市融聚汇信息科技有限公司 一种基于多云融合以及云服务的负载均衡方法及装置
CN116382892B (zh) * 2023-02-08 2023-10-27 深圳市融聚汇信息科技有限公司 一种基于多云融合以及云服务的负载均衡方法及装置
CN116755889A (zh) * 2023-08-16 2023-09-15 北京国电通网络技术有限公司 应用于服务器集群数据交互的数据加速方法、装置与设备
CN116755889B (zh) * 2023-08-16 2023-10-27 北京国电通网络技术有限公司 应用于服务器集群数据交互的数据加速方法、装置与设备
CN117608831A (zh) * 2023-11-22 2024-02-27 杭州玖青数字科技有限公司 分布式数据交换系统的作业管理方法、装置及服务器

Similar Documents

Publication Publication Date Title
CN114461389A (zh) 服务器集群的负载均衡方法、装置及电子设备
KR101600129B1 (ko) 애플리케이션 효율 엔진
CN108845874B (zh) 资源的动态分配方法及服务器
US7467291B1 (en) System and method for calibrating headroom margin
CN107124472A (zh) 负载均衡方法及装置、计算机可读存储介质
CN112685170B (zh) 备份策略的动态优化
CN111694663A (zh) 服务器集群的负载均衡方法、装置及系统
CN108205469A (zh) 一种基于MapReduce的资源分配方法及服务器
CN110764898A (zh) 一种任务分配方法、装置、可读存储介质及终端设备
CN111176843A (zh) 基于多维度的负载均衡方法、装置及相关设备
CN110691118A (zh) 一种微服务集群中的服务选择方法及装置
US8973000B2 (en) Determining multiprogramming levels
CN111752706A (zh) 资源配置方法、装置及存储介质
CN110390563A (zh) 用户价值的量化方法、装置、计算机设备和存储介质
CN112487612A (zh) 基于分配因子和信息熵的母线负荷组合预测方法及系统
CN113158435B (zh) 基于集成学习的复杂系统仿真运行时间预测方法与设备
Fourati et al. Epma: Elastic platform for microservices-based applications: Towards optimal resource elasticity
EP3032417A1 (en) Cloud orchestration and placement using historical data
CN111598390B (zh) 服务器高可用性评估方法、装置、设备和可读存储介质
Bartalos et al. Green web services: Models for energy-aware web services and applications
CN112003900B (zh) 实现分布式系统中高负载场景下服务高可用的方法、系统
CN110457280B (zh) 一种hdfs副本再复制改进方法
CN110543496B (zh) 用于时序数据库集群的数据处理方法和装置
CN112669091A (zh) 数据处理方法、装置及存储介质
CN107562534B (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