CN116932231B - 一种分布式集群的扩缩容系统 - Google Patents
一种分布式集群的扩缩容系统 Download PDFInfo
- Publication number
- CN116932231B CN116932231B CN202311196933.8A CN202311196933A CN116932231B CN 116932231 B CN116932231 B CN 116932231B CN 202311196933 A CN202311196933 A CN 202311196933A CN 116932231 B CN116932231 B CN 116932231B
- Authority
- CN
- China
- Prior art keywords
- target
- request
- model
- preset
- copy
- 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
Links
- 230000008602 contraction Effects 0.000 title claims abstract description 19
- 238000004590 computer program Methods 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 abstract description 20
- 238000000034 method Methods 0.000 abstract description 14
- 238000012360 testing method Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5038—Allocation 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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5013—Request control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5022—Workload threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/505—Clust
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及分布式系统处理技术领域,特别是涉及一种分布式集群的扩缩容系统,所述系统包括:预设模型ID集、预设模型的副本ID集、处理器和存储有计算机程序的存储器,计算机程序被处理器执行时,实现以下步骤:获取第一预设时间间隔内的任一预设模型ID对应的预设模型的总利用率,若总利用率大于对应的上限时,对该预设模型的副本数量进行扩容,若总利用率不大于上限时,获取目标请求对应的目标权重,若目标权重大于对应的上限时,对该预设模型的副本数量进行扩容,反之,对该预设模型的副本数量进行缩容。可知,本发明根据分布式集群内预设模型对应的总资源利用率和目标权重的情况,实现对分布式集群的扩容或缩容,维持集群的正常稳定运行。
Description
技术领域
本发明涉及分布式系统处理技术领域,特别是涉及一种分布式集群的扩缩容系统。
背景技术
目前,在用于数据识别、数据查询、图像识别、图像处理等领域的分布式集群中,通常设置有多个供用户调用的模型,以根据用户端发送的业务请求,提供对应的模型供用户使用并实现文本或图像的处理,但是,在实际操作过程中,还存在以下问题:
一方面,在某个模型的利用率较大时,可能会在后续经常会出现其副本数量不够调用的情况,需要进行排队等待或者出现请求失败的情况,影响业务处理的效率。
另一方面,在调用模型时,网关节点根据用户端发送的业务请求的先后顺序进行排序,实现模型的依次调用,然而在调用该模型的业务请求的数量较多时,只能按原顺序排序等待,影响重要业务的处理进程。
发明内容
针对上述技术问题,本发明采用的技术方案为:
一种分布式集群的扩缩容系统,所述系统包括:预设模型ID集A={A1,A2,……,Ai,……,Am}、A对应的预设模型的副本ID集A0={A0 1,A0 2,……,A0 i,……,A0 m}、处理器和存储有计算机程序的存储器,其中,Ai为第i种预设模型ID,A0 i为Ai对应的预设模型的副本ID集,i=1,2……m,m为预设模型ID的数量,当所述计算机程序被处理器执行时,实现以下步骤:
S100,获取第一预设时间间隔内的任一Ai对应的预设模型的总利用率R。
S200,若R>λ1,根据A0 i,将Ai对应的副本数量更新为第一目标数量δk+1,以完成对所述分布式集群的扩容;其中,λ1为第一目标阈值。
S300,若R≤λ1,获取目标请求对应的目标权重W,其中, W符合如下条件:
W=W1/W0 1×0.5+W2/W0 2×0.35+W3/W0 3×0.15,其中,W1为在当前时刻的前一分钟内目标请求的请求量,W0 1为在当前时刻的前一分钟内的总请求量,W2为在当前时刻的前十分钟内目标请求的请求量,W0 2为在当前时刻的前十分钟内的总请求量,W3为在当前时刻的前一小时内目标请求的请求量,W0 3为在当前时刻的前一小时内的总请求量。
S400,若W>λ2,根据A0 i,将Ai对应的副本数量更新为第二目标数量δ0 k+1,以完成对所述分布式集群的扩容;其中,λ2为第二目标阈值。
S500,若W≤λ2,根据A0 i,将Ai对应的副本数量更新为第三目标数量θk+1,以完成对所述分布式集群的缩容。
本发明与现有技术相比具有明显的有益效果,借由上述技术方案,本发明提供的一种分布式集群的扩缩容系统可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有以下有益效果:
本发明提供了一种分布式集群的扩缩容系统,所述系统包括:预设模型ID集、预设模型的副本ID集、处理器和存储有计算机程序的存储器,当所述计算机程序被处理器执行时,实现以下步骤:获取第一预设时间间隔内的任一预设模型ID对应的预设模型的总利用率,若总利用率大于第一目标阈值,根据预设模型的副本ID集,将该预设模型ID对应的副本数量更新为第一目标数量,以完成对所述分布式集群的扩容,若总利用率不大于第一目标阈值,获取目标请求对应的目标权重,若目标权重大于第二目标阈值,根据预设模型的副本ID集,将该预设模型ID对应的副本数量更新为第二目标数量,以完成对所述分布式集群的扩容,若目标权重不大于第二目标阈值,根据预设模型的副本ID集,将该预设模型ID对应的副本数量更新为第三目标数量以完成对所述分布式集群的缩容。本发明提供了一种新的分布式集群的扩缩容系统。一方面,能够根据任一预设模型对应的总利用率和该模型对应的目标请求的权重来自动调整该预设模型的副本数量,以提高目标请求的处理效率,同时保证分布式集群的性能和资源的合理利用;另一方面,根据目标请求的优先值,通过网关节点对若干个目标请求进行排序,以使得优先值较高的请求优先调用到目标模型,保证重要业务的优先处理。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种分布式集群的扩缩容系统执行计算机程序的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明提供了一种分布式集群的扩缩容处理系统,所述系统包括:预设模型ID集A={A1,A2,……,Ai,……,Am}、A对应的预设模型的副本ID集A0={A0 1,A0 2,……,A0 i,……,A0 m}、处理器和存储有计算机程序的存储器,其中,Ai为第i种预设模型ID,A0 i为Ai对应的预设模型的副本ID集,i=1,2……m,m为预设模型ID的数量,当所述计算机程序被处理器执行时,实现以下步骤,如图1所示:
S100,获取第一预设时间间隔内的任一Ai对应的预设模型的总利用率R。
具体的,所述预设模型ID是指预设模型的唯一身份标识,其中,所述预设模型为对图像进行处理或对目标文件进行数据识别的模型,所述目标文件为包括有字符信息的文件,例如:文本、表格。
具体的,所述副本ID是指区别于其他预设模型的副本的唯一身份标识;可以理解为:同一预设模型的任意两个副本ID相同;其中,所述预设模型的副本为该预设模型对应的备用模型的数量。
具体的,所述第一预设时间间隔为本领域技术人员根据实际需求设定的时间间隔;例如:半小时、一小时等;可以理解为:每半小时或每一小时执行一次S100以及后续步骤,以完成对所述分布式集群的扩容或缩容。
具体的,R符合如下条件:
R=σ×(R1×0.4+R2×0.3+R3×0.3),其中,R1为Ai对应的预设模型的CPU利用率,R2为Ai对应的预设模型的内存使用率,R3为Ai对应的预设模型的显存利用率,σ为根据A0获取的Ai对应的副本数量。
具体的,Ai对应的副本数量为Ai对应的备用模型的数量。
具体的,R1符合如下条件:
R1=η1×T/CL,其中,η1为CPU利用率系数,T为历史时间段内调用Ai对应的预设模型的若干个请求所对应的任务的平均完成时间,CL为CPU限制值,其中,所述历史时间段为本领域技术人员根据实际需求设定的时间段,在此不做赘述。
具体的,R2符合如下条件:
R2=η2×S/ML,其中,η2为内存利用率系数,S为Ai对应的预设模型所占内存大小,ML为内存限制值。
具体的,R3符合如下条件:
R3=η3×S×L/GL,其中,η3为显存利用率系数,L为历史时间段内Ai对应的预设模型处理的业务平均数据量,GL为显存限制值。
在一个具体的实施例中,η1、η2和η3均是通过在实际环境中测试得到的,具体如下:
η1=T1/N1/CL,其中,T1为Ai对应的预设模型在N1个型号的CPU上的总执行时间,N1为测试时采用的不同的CPU的数量。
η2=F/N2/ML,其中,F为N2个大小不同的Ai对应的预设模型占用的总内存大小,N2为测试时采用的目标模型的数量。其中,大小不同的Ai对应的预设模型可以理解为:采用不同的样本分别训练出的目标模型或根据实际需求设置的不同参数的目标模型。
η3=T2/N3/GL,其中,T2为Ai对应的预设模型在N3个型号的GPU上的总执行时间,N3为测试时采用的不同GPU型号的数量。
具体的,所述CPU限制值、内存限制值、显存限制值均为所述分布式集群所对应的硬件参数值,在此不做赘述。
上述,每隔一个第一预设时间间隔,便计算一次总利用率,能够及时获取到目标模型在分布式集群中的资源使用情况,以完成后续对分布式集群的扩缩容处理。
S200,若R>λ1,根据A0 i,将Ai对应的副本数量更新为第一目标数量δk+1,以完成对所述分布式集群的扩容;其中,λ1为第一目标阈值。
在一个具体的实施例中,在S200中,还包括如下步骤:
S201,当R>λ1时,从A0中获取Ai对应的目标模型副本ID集A0 i={A0 i1,A0 i2,……,A0 iu,……,A0 iv},其中,A0 iu为Ai对应的第u个目标模型副本ID,u=1……v,v为Ai对应的目标模型副本ID的数量。
S202,根据A0 i,获取目标模型副本的关键数量和任一A0 iu对应的目标模型副本;可以理解为:获取A0 i对应的v个目标模型副本中的任一模型副本。
具体的,所述目标模型副本的关键数量为所述目标模型副本ID的数量。
S203,根据所述目标模型副本,对Ai对应的预设模型的副本数量进行更新,以实现对所述分布式集群的扩容;可以理解为:按照目标模型副本进行复制或者添加相同的副本,以实现对Ai对应的预设模型的副本数量的更新。
具体的,δk+1符合如下条件:
δk+1=δk+1,其中,δk为Ai对应的第一当前副本数量。
具体的,所述第一当前副本数量为本次更新前获取的Ai对应的预设模型的副本数量;可以理解为:所述第一当前副本数量为上述获取的所述目标模型副本的关键数量。
具体的,所述第一目标阈值为本领域技术人员根据实际需求设定的阈值,例如:80%;可以理解为:当所述总利用率超过分布式集群总资源的80%时,增加Ai对应的预设模型的副本数量,以完成对所述分布式集群的扩容处理。
上述,在分布式集群的总利用率超过第一目标阈值,也即超过设定的上限时,说明目标模型的副本被调用的次数较多,此时增加目标模型的副本数量,以提供充足的目标模型的副本数量,供后续请求的调用。
S300,若R≤λ1,获取目标请求对应的目标权重W。
具体的,所述目标请求为从网关节点ID对应的网关节点中获取的由用户端发送的调用Ai对应的预设模型的任一请求。
具体的,所述网关节点ID是指所述网关节点的唯一身份标识,其中,所述网关节点ID存储于所述扩缩容处理系统中。
具体的,W符合如下条件:
W=W1/W0 1×0.5+W2/W0 2×0.35+W3/W0 3×0.15,其中,W1为在当前时刻的前一分钟内目标请求的请求量,W0 1为在当前时刻的前一分钟内的总请求量,W2为在当前时刻的前十分钟内目标请求的请求量,W0 2为在当前时刻的前十分钟内的总请求量,W3为在当前时刻的前一小时内目标请求的请求量,W0 3为在当前时刻的前一小时内的总请求量。
具体的,所述当前时刻为开始获取W的时刻。
具体的,所述当前时刻的前一分钟内的总请求量为当前时刻的前一分钟内,由用户端发送的调用m种预设模型中的每种预设模型的请求量的总和。
具体的,所述当前时刻的前十分钟内的总请求量、当前时刻的前一小时内的总请求量均与所述当前时刻的前一分钟内的总请求量的获取方式一致。
上述,在总利用率未达到设定的上限时,对目标请求的目标权重进行计算,以结合两者情况进行综合判断,从而实现对分布式集群的扩容或缩容。
在另一个具体的实施例中,在S300中还包括如下步骤:
S301,获取第二预设时间间隔内的Ai对应的目标请求集B={B1,B2,……,Bp,……,Bq},Bp为任一第二预设时间间隔对应的时间段内的第p个目标请求,p=1,2……q,q为任一第二预设时间间隔对应的时间段内的目标请求的数量。
具体的,所述第二预设时间间隔为本领域技术人员根据实际需求设定的时间间隔;例如:1秒钟;可以理解为:每隔一秒钟获取一次B,获取的B是前一秒钟内的总的目标请求的集合。
上述,通过设置第二预设时间间隔,能够每隔一秒钟获取到若干个目标请求,并实现后续的分别对每一秒钟内的若干个目标请求单独进行排序的方式,防止出现排序过多导致的等待时间过长的问题。
S302,获取任一Bp对应的目标优先值ζ。
具体的,ζ符合如下条件:
ζ=C1×C2+D1×D2+E1×E2,其中,C1为请求延迟权重,C2为请求延迟值,D1为每秒查询率(Query Per Second,QPS)权重,D2为QPS值,E1为请求类型权重,E2为请求类型值。
具体的,C1符合如下条件:
C1=C0×q/Cz,其中,C0为Bp对应的数据量,Cz为理论上每秒内的请求的总数据量。
具体的,所述请求延迟值为Bp在请求时的延迟值。
具体的,D1符合如下条件:
D1=R/D0,其中,D0为Bp对应的系统利用率。
具体的,D0符合如下条件:
D0=(DC+DM+DG)/R,其中,DC为Bp对应的CPU消耗值,DM为Bp对应的内存消耗值,DG为Bp对应的显存消耗值。
具体的,所述QPS值为分布式集群中设定的每秒内处理请求的数量。
具体的,E1符合如下条件:
E1=Ez/E0,其中,E0为历史运行中的预设时间段内同属于Bp对应的请求类型的请求的数量,Ez为历史运行中的预设时间段内的所有请求的数量;可以理解为:该请求类型所对应的请求的数量越少,其请求类型权重越大。
具体的,所述请求类型值为本领域技术人员根据实际业务需求所设定的值;例如:所述请求类型值对应的请求类型包括数据识别、图像处理,若优先处理数据识别,则设定数据识别对应的请求类型值为1,图像处理对应的请求类型值为2。
上述,通过根据目标请求对应的多个参数,能够获取到每个目标请求的目标优先值,以实现根据目标优先值对目标请求进行请求顺序的调整。
S303,根据q个ζ,向所述网关节点ID对应的网关节点发送调度指令,以实现对B的有序调度。
具体的,所述调度指令是指将所述网关节点根据q个ζ的大小,按照从大到小的顺序对q个目标请求进行排序的指令,以实现优先值高的目标请求优先通过所述网关节点,进而实现目标请求对应的目标模型的调用。
上述,通过根据各个目标请求的目标优先值,对q个目标请求进行排序,能够使网关节点优先发送目标优先值高的目标请求,实现对目标请求的优化处理,以使优先值高的目标请求所对应的目标模型能够被对应的用户尽早调用,实现重要业务的优先处理。
S400,若W>λ2,根据A0 i,将Ai对应的副本数量更新为第二目标数量δ0 k+1,以完成对所述分布式集群的扩容;其中,λ2为第二目标阈值。
具体的,δ0 k+1符合如下条件:
δ0 k+1=δ0 k+1,其中,δ0 k为Ai对应的第二当前副本数量。
具体的,所述第二当前副本数量为本次更新前获取的Ai对应的预设模型的副本数量。
具体的,所述第二目标阈值为本领域技术人员根据实际需求设定的阈值,例如:1.5;可以理解为:当目标权重超过1.5时,增加Ai对应的预设模型的副本数量,以完成对所述分布式集群的扩容处理。
上述,在总利用率未达到设定的上限时,若目标权重大于第二目标阈值,也即超过设定的上限时,说明该目标请求具有较高的重要性,应增加该目标请求对应的目标模型的副本数量,以满足该目标模型所对应的多个目标请求对该目标模型的调用,减少目标请求的等待时长,提高调用效率。
S500,若W≤λ2,根据A0 i,将Ai对应的副本数量更新为第三目标数量θk+1,以完成对所述分布式集群的缩容;可以理解为:在总利用率小于第一目标阈值的基础上,当目标权重小于第二目标阈值时,减少Ai对应的预设模型的副本数量,以完成对所述分布式集群的缩容处理。
具体的,θk+1符合如下条件:
θk+1=θk-1,其中,θk为Ai对应的第三当前副本数量。
具体的,所述第三当前副本数量为本次更新前获取的Ai对应的副本数量。
上述,在总利用率未达到设定的上限,且目标请求的目标权重小于第二目标阈值时,说明目标请求对目标模型的请求次数较少,目标模型的副本数量冗余较多,应减少目标模型的副本数量,以实现系统资源和系统空间的合理利用。
在另一个具体的实施例中,当所述计算机程序被处理器执行时,还实现以下步骤:
S1,当所述目标请求出现请求故障时,获取所述目标请求对应的目标请求次数H0。
具体的,所述请求故障为目标请求发生错误或者目标请求失败的情况。
具体的,H0符合如下条件:
H0=INT(Hmax×R),其中,Hmax为预设的最大重试次数,INT()为取整函数。
具体的,预设的最大重试次数为本领域技术人员预先设置的在目标请求出现请求故障后进行重新请求的最大次数。
上述,在计算目标请求次数时,采用的R为根据第一预设时间间隔,获取的最新的总利用率,通过该总利用率,能够合理地确定目标请求对应的目标请求次数,以防止目标请求按照最大重试次数继续请求。
S2,获取关键目标请求的当前重试次数H。
具体的,所述当前重试次数为关键目标请求已被发送的次数。
具体的,所述关键目标请求为在所述目标请求出现请求故障之后,向所述网关节点ID对应的网关节点发送的与所述目标请求一致的请求;可以理解为:在目标请求出现请求故障之后进行重试的次数。
上述,通过获取关键目标请求的当前重试次数,能够与目标请求次数进行比较,以确定是否对关键目标请求再次进行重试。
S3,若H<H0,获取所述关键目标请求对应的目标重试间隔G。
具体的,G符合如下条件:
G=G0+2H,其中,G0为预设的初始重试间隔。
具体的,预设的初始重试间隔为本领域技术人员预先设置的在目标请求出现故障时与第一次发送关键目标请求之间的时间间隔。
上述,在当前重试次数小于目标请求次数时,在初始重试间隔的基础上重新计算目标重试间隔,以目标重试间隔逐渐增大的方式进行下一次关键目标请求的重试,从而减少对系统资源的过多占用和对其他请求的影响。
S4,根据G,向所述网关节点ID对应的网关节点发送关键目标请求,以调用所述关键目标请求对应的目标模型;可以理解为:距离上次的目标请求或关键目标请求出现请求故障已达到G所对应的时间间隔时,再次向网关节点发送关键目标请求。
上述,通过基于目标重试间隔来发送关键目标请求,以防止持续对该目标请求进行频繁重试而影响其他请求的发送,从而保证系统的合理稳定运行。
S5,当未调用到所述关键目标请求对应的目标模型时,重新执行S2-S5,直至调用到所述关键目标请求对应的目标模型或直至H=H0时,结束循环。
上述,在获取到目标模型时,结束关键目标请求的再次发送,若未获取到目标模型,重新发送关键目标请求,直至在目标请求次数之内获取到目标模型时结束循环,若一直未获取到目标模型,在重试次数达到目标请求次数之后,结束循环,以防止该请求无限地进行下去,减少对系统资源的浪费和对系统性能的影响。
本发明提供了一种分布式集群的扩缩容系统,所述系统包括:预设模型ID集、预设模型的副本ID集、处理器和存储有计算机程序的存储器,当所述计算机程序被处理器执行时,实现以下步骤:获取第一预设时间间隔内的任一预设模型ID对应的预设模型的总利用率,若总利用率大于第一目标阈值,根据预设模型的副本ID集,将该预设模型ID对应的副本数量更新为第一目标数量,以完成对所述分布式集群的扩容,若总利用率不大于第一目标阈值,获取目标请求对应的目标权重,若目标权重大于第二目标阈值,根据预设模型的副本ID集,将该预设模型ID对应的副本数量更新为第二目标数量,以完成对所述分布式集群的扩容,若目标权重不大于第二目标阈值,根据预设模型的副本ID集,将该预设模型ID对应的副本数量更新为第三目标数量以完成对所述分布式集群的缩容。本发明提供了一种新的分布式集群的扩缩容系统。一方面,能够根据任一预设模型对应的总利用率和该模型对应的目标请求的权重来自动调整该预设模型的副本数量,以提高目标请求的处理效率,同时保证分布式集群的性能和资源的合理利用;另一方面,根据目标请求的优先值,通过网关节点对若干个目标请求进行排序,以使得优先值较高的请求优先调用到目标模型,保证重要业务的优先处理。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本发明的范围和精神。本发明开的范围由所附权利要求来限定。
Claims (8)
1.一种分布式集群的扩缩容系统,其特征在于,所述系统包括:预设模型ID集A={A1,A2,……,Ai,……,Am}、A对应的预设模型的副本ID集A0={A0 1,A0 2,……,A0 i,……,A0 m}、处理器和存储有计算机程序的存储器,其中,Ai为第i种预设模型ID,A0 i为Ai对应的预设模型的副本ID集,i=1,2……m,m为预设模型ID的数量,当所述计算机程序被处理器执行时,实现以下步骤:
S100,获取第一预设时间间隔内的任一Ai对应的预设模型的总利用率R;
S200,若R>λ1,根据A0 i,将Ai对应的副本数量更新为第一目标数量δk+1,以完成对所述分布式集群的扩容;其中,λ1为第一目标阈值;
δk+1符合如下条件:
δk+1=δk+1,其中,δk为Ai对应的第一当前副本数量;
S300,若R≤λ1,获取目标请求对应的目标权重W,其中,W符合如下条件:
W=W1/W0 1×0.5+W2/W0 2×0.35+W3/W0 3×0.15,其中,W1为在当前时刻的前一分钟内目标请求的请求量,W0 1为在当前时刻的前一分钟内的总请求量,W2为在当前时刻的前十分钟内目标请求的请求量,W0 2为在当前时刻的前十分钟内的总请求量,W3为在当前时刻的前一小时内目标请求的请求量,W0 3为在当前时刻的前一小时内的总请求量;
S400,若W>λ2,根据A0 i,将Ai对应的副本数量更新为第二目标数量δ0 k+1,以完成对所述分布式集群的扩容;其中,λ2为第二目标阈值;
S500,若W≤λ2,根据A0 i,将Ai对应的副本数量更新为第三目标数量θk+1,以完成对所述分布式集群的缩容。
2.根据权利要求1所述的分布式集群的扩缩容系统,其特征在于,在S100中,R符合如下条件:
R=σ×(R1×0.4+R2×0.3+R3×0.3),其中,R1为Ai对应的预设模型的CPU利用率,R2为Ai对应的预设模型的内存使用率,R3为Ai对应的预设模型的显存利用率,σ为根据A0获取的Ai对应的副本数量。
3.根据权利要求1所述的分布式集群的扩缩容系统,其特征在于,在S200中,还包括如下步骤:
S201,当R>λ1时,从A0 i中获取Ai对应的目标模型副本ID集A0 i={A0 i1,A0 i2,……,A0 iu,……,A0 iv},其中,A0 iu为Ai对应的第u个目标模型副本ID,u=1……v,v为Ai对应的目标模型副本ID的数量;
S202,根据A0 i,获取目标模型副本的关键数量和任一A0 iu对应的目标模型副本;所述目标模型副本的关键数量为所述目标模型副本ID的数量;
S203,根据所述目标模型副本,对Ai对应的副本数量进行更新,以实现对所述分布式集群的扩容。
4.根据权利要求1所述的分布式集群的扩缩容系统,其特征在于,在S300中还包括如下步骤:
S301,获取第二预设时间间隔内的Ai对应的目标请求集B={B1,B2,……,Bp,……,Bq},Bp为任一第二预设时间间隔对应的时间段内的第p个目标请求,p=1,2……q,q为任一第二预设时间间隔对应的时间段内的目标请求的数量;
S302,获取任一Bp对应的目标优先值ζ;
S303,根据q个ζ,向网关节点ID对应的网关节点发送调度指令,以实现对B的有序调度。
5.根据权利要求4所述的分布式集群的扩缩容系统,其特征在于,在S302中,ζ符合如下条件:
ζ=C1×C2+D1×D2+E1×E2,其中,C1为请求延迟权重,C2为请求延迟值,D1为QPS权重,D2为QPS值,E1为请求类型权重,E2为请求类型值。
6.根据权利要求4所述的分布式集群的扩缩容系统,其特征在于,所述调度指令是指将所述网关节点根据q个ζ的大小,按照从大到小的顺序对q个目标请求进行排序的指令。
7.根据权利要求1所述的分布式集群的扩缩容系统,其特征在于,在S400中,δ0 k+1与δk+1的获取方式一致。
8.根据权利要求1所述的分布式集群的扩缩容系统,其特征在于,在S500中,θk+1符合如下条件:
θk+1=θk-1,其中,θk为Ai对应的第三当前副本数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311196933.8A CN116932231B (zh) | 2023-09-18 | 2023-09-18 | 一种分布式集群的扩缩容系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311196933.8A CN116932231B (zh) | 2023-09-18 | 2023-09-18 | 一种分布式集群的扩缩容系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116932231A CN116932231A (zh) | 2023-10-24 |
CN116932231B true CN116932231B (zh) | 2023-12-22 |
Family
ID=88388217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311196933.8A Active CN116932231B (zh) | 2023-09-18 | 2023-09-18 | 一种分布式集群的扩缩容系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116932231B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463366A (zh) * | 2020-11-19 | 2021-03-09 | 上海交通大学 | 面向云原生的微服务自动扩缩容和自动熔断方法及系统 |
CN112988398A (zh) * | 2021-04-26 | 2021-06-18 | 北京邮电大学 | 一种微服务动态伸缩及迁移方法和装置 |
CN114296867A (zh) * | 2021-12-17 | 2022-04-08 | 山东海量信息技术研究院 | 一种云平台的容器运行方法、系统及相关装置 |
CN114356557A (zh) * | 2021-12-16 | 2022-04-15 | 北京穿杨科技有限公司 | 一种集群扩容方法及装置 |
JP7103705B1 (ja) * | 2021-12-21 | 2022-07-20 | 北京穿楊科技有限公司 | クラスタに基づく容量縮小処理方法及び装置 |
CN115858155A (zh) * | 2022-11-25 | 2023-03-28 | 北京邮电大学 | 一种算力网络平台的应用资源动态扩缩容方法及装置 |
-
2023
- 2023-09-18 CN CN202311196933.8A patent/CN116932231B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463366A (zh) * | 2020-11-19 | 2021-03-09 | 上海交通大学 | 面向云原生的微服务自动扩缩容和自动熔断方法及系统 |
CN112988398A (zh) * | 2021-04-26 | 2021-06-18 | 北京邮电大学 | 一种微服务动态伸缩及迁移方法和装置 |
CN114356557A (zh) * | 2021-12-16 | 2022-04-15 | 北京穿杨科技有限公司 | 一种集群扩容方法及装置 |
JP7079998B1 (ja) * | 2021-12-16 | 2022-06-03 | 北京穿楊科技有限公司 | クラスタの容量拡張方法及び装置 |
CN114296867A (zh) * | 2021-12-17 | 2022-04-08 | 山东海量信息技术研究院 | 一种云平台的容器运行方法、系统及相关装置 |
JP7103705B1 (ja) * | 2021-12-21 | 2022-07-20 | 北京穿楊科技有限公司 | クラスタに基づく容量縮小処理方法及び装置 |
CN115858155A (zh) * | 2022-11-25 | 2023-03-28 | 北京邮电大学 | 一种算力网络平台的应用资源动态扩缩容方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116932231A (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107423120B (zh) | 任务调度方法及装置 | |
CN112162865B (zh) | 服务器的调度方法、装置和服务器 | |
CN109561148B (zh) | 边缘计算网络中基于有向无环图的分布式任务调度方法 | |
CN107911478B (zh) | 基于化学反应优化算法的多用户计算卸载方法及装置 | |
CN111381950A (zh) | 一种面向边缘计算环境基于多副本的任务调度方法和系统 | |
CN112052092B (zh) | 一种风险感知的边缘计算任务分配方法 | |
CN115562877B (zh) | 分布式算力资源的编排方法、装置、设备及存储介质 | |
CN114936086B (zh) | 一种多计算中心场景下的任务调度器、调度方法及装置 | |
CN112068959A (zh) | 自适应任务调度方法、系统及包括该方法的检索方法 | |
CN111796933A (zh) | 资源调度方法、装置、存储介质和电子设备 | |
CN116932231B (zh) | 一种分布式集群的扩缩容系统 | |
CN114461384A (zh) | 任务执行方法、装置、计算机设备和存储介质 | |
CN111258729B (zh) | 基于Redis的任务分配方法、装置、计算机设备及存储介质 | |
CN116932290B (zh) | 一种获取目标模型的数据处理系统 | |
CN117221326A (zh) | 软件负载均衡调度方法、系统、电子设备和存储介质 | |
CN108900865B (zh) | 服务器、转码任务的调度方法及执行方法 | |
CN116541167A (zh) | 系统流量控制方法、装置、电子设备及计算机可读介质 | |
CN110851245A (zh) | 一种分布式异步任务调度方法及电子设备 | |
CN113590357A (zh) | 连接池的调整方法、装置、计算机设备及存储介质 | |
US20120167119A1 (en) | Low-latency communications | |
CN111901425A (zh) | 基于Pareto算法的CDN调度方法、装置、计算机设备及存储介质 | |
CN112596901A (zh) | 云平台自动化部署与运行方法、电子设备及存储介质 | |
CN112395058A (zh) | 任务调控装置、方法和系统 | |
CN117608863B (zh) | 基于智能资源分配的云计算任务跟踪处理方法及系统 | |
CN111371873B (zh) | 一种Web服务选举方法、装置和服务器 |
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 |