CN116627653A - 服务请求的处理方法和装置、存储介质及电子设备 - Google Patents
服务请求的处理方法和装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN116627653A CN116627653A CN202310627026.8A CN202310627026A CN116627653A CN 116627653 A CN116627653 A CN 116627653A CN 202310627026 A CN202310627026 A CN 202310627026A CN 116627653 A CN116627653 A CN 116627653A
- Authority
- CN
- China
- Prior art keywords
- service
- target
- instance
- service request
- service instance
- 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
Links
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 238000003672 processing method Methods 0.000 title abstract description 11
- 238000000034 method Methods 0.000 claims abstract description 45
- 238000009826 distribution Methods 0.000 abstract description 14
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000004364 calculation method Methods 0.000 description 18
- 238000004590 computer program Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- INJRKJPEYSAMPD-UHFFFAOYSA-N aluminum;silicic acid;hydrate Chemical compound O.[Al].[Al].O[Si](O)(O)O INJRKJPEYSAMPD-UHFFFAOYSA-N 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003068 static effect Effects 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
-
- 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)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种服务请求的处理方法和装置、存储介质及电子设备,涉及数据处理技术领域,该方法包括:获取目标服务请求,并依据目标服务请求确定目标服务池,其中,目标服务池中包括多个服务实例,多个服务实例用于处理服务请求;确定目标服务池的当前负载数据信息,并依据当前负载数据信息,确定每个服务实例的目标权重值;依据每个服务实例的目标权重值,确定第一目标服务实例,并将目标服务请求转发至第一目标服务实例。通过本申请,解决了相关技术中以固定的比例为多个服务实例分配待处理的服务请求,导致对服务请求分配的合理性比较差的问题。
Description
技术领域
本申请涉及数据处理技术领域,具体而言,涉及一种服务请求的处理方法和装置、存储介质及电子设备。
背景技术
随着应用访问量增加,单台服务器由于性能不足无法处理多个访问请求时,需要多台服务器来提供服务。但是在多台服务器提供服务时,需要通过服务器负载均衡(ServerLoad Balance)功能将客户端的请求,按照特定的均衡算法分配到不同的服务器上,以达到快速响应的效果。现有技术中一般根据服务器的不同处理能力,分配不同的权重。根据服务器的权重,按比例分发请求。权重大的真实服务,接收的请求多。但是以固定的比例分配任务,没有考虑服务器实时的状态信息,存在服务请求分配不合理的问题。
针对相关技术中以固定的比例为多个服务实例分配待处理的服务请求,导致对服务请求分配的合理性比较差的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种服务请求的处理方法和装置、存储介质及电子设备,以解决相关技术中以固定的比例为多个服务实例分配待处理的服务请求,导致对服务请求分配的合理性比较差的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种服务请求的处理方法。该方法包括:获取目标服务请求,并依据所述目标服务请求确定目标服务池,其中,所述目标服务池中包括多个服务实例,所述多个服务实例用于处理所述服务请求;确定所述目标服务池的当前负载数据信息,并依据所述当前负载数据信息,确定每个服务实例的目标权重值;依据每个服务实例的目标权重值,确定第一目标服务实例,并将所述目标服务请求转发至所述第一目标服务实例。
进一步地,确定所述目标服务池的当前负载数据信息包括:计算所述目标服务池在当前时刻已连接的服务请求数,得到服务请求总连接数量;计算所述目标服务池中的多个服务实例的数量,得到服务实例总数量;计算所述目标服务池中每个服务实例在当前时刻已连接的服务请求数,得到每个服务实例的第一服务请求连接数量;依据服务请求总连接数量、所述服务实例总数量和每个服务实例的第一服务请求连接数量,确定所述目标服务池的当前负载数据信息。
进一步地,依据所述当前负载数据信息,确定每个服务实例的目标权重值包括:依据所述服务请求总连接数量和每个服务实例的第一服务请求连接数量进行计算,得到每个服务实例在当前时刻的第一服务请求连接数量占比;依据所述第一服务请求连接数量占比和所述服务实例总数量进行计算,得到每个服务实例在下一时刻的第二服务请求连接数量占比;依据每个服务实例在下一时刻的第二服务请求连接数量占比,确定每个服务实例的目标权重值。
进一步地,依据每个服务实例在下一时刻的第二服务请求连接数量占比,确定每个服务实例的目标权重值包括:获取预设的每个服务实例连接服务请求数量的阈值;依据每个服务实例在下一时刻的第二服务请求连接数量占比和每个服务实例连接服务请求数量的阈值进行计算,得到每个服务实例的目标权重值。
进一步地,依据每个服务实例在下一时刻的第二服务请求连接数量占比,确定每个服务实例的目标权重值包括:获取每个服务实例在上一时刻已连接的服务请求数,得到每个服务实例的第二服务请求连接数量;依据每个服务实例在下一时刻的第二服务请求连接数量占比和每个服务实例的第二服务请求连接数量,确定每个服务实例的目标权重值。
进一步地,依据每个服务实例在下一时刻的第二服务请求连接数量占比和每个服务实例的第二服务请求连接数量,确定每个服务实例的目标权重值包括:计算每个服务实例的第二服务请求连接数量与每个服务实例的第一服务请求连接数量之间的差值,得到目标差值;依据每个服务实例在下一时刻的第二服务请求连接数量占比和所述目标差值,确定每个服务实例的目标权重值。
进一步地,在依据所述当前负载数据信息,确定每个服务实例的目标权重值之后,所述方法还包括:若存在第二目标服务实例的目标权重值小于等于预设阈值,则将所述第二目标服务实例的目标权重值设置为预设数值。
为了实现上述目的,根据本申请的另一方面,提供了一种服务请求的处理装置。该装置包括:获取单元,用于获取目标服务请求,并依据所述目标服务请求确定目标服务池,其中,所述目标服务池中包括多个服务实例,所述多个服务实例用于处理所述服务请求;第一确定单元,用于确定所述目标服务池的当前负载数据信息,并依据所述当前负载数据信息,确定每个服务实例的目标权重值;第二确定单元,用于依据每个服务实例的目标权重值,确定第一目标服务实例,并将所述目标服务请求转发至所述第一目标服务实例。
进一步地,所述第一确定单元包括:第一计算子单元,用于计算所述目标服务池在当前时刻已连接的服务请求数,得到服务请求总连接数量;第二计算子单元,用于计算所述目标服务池中的多个服务实例的数量,得到服务实例总数量;第三计算子单元,用于计算所述目标服务池中每个服务实例在当前时刻已连接的服务请求数,得到每个服务实例的第一服务请求连接数量;第一确定子单元,用于依据服务请求总连接数量、所述服务实例总数量和每个服务实例的第一服务请求连接数量,确定所述目标服务池的当前负载数据信息。
进一步地,所述第一确定单元包括:第四计算子单元,用于依据所述服务请求总连接数量和每个服务实例的第一服务请求连接数量进行计算,得到每个服务实例在当前时刻的第一服务请求连接数量占比;第五计算子单元,用于依据所述第一服务请求连接数量占比和所述服务实例总数量进行计算,得到每个服务实例在下一时刻的第二服务请求连接数量占比;第二确定子单元,用于依据每个服务实例在下一时刻的第二服务请求连接数量占比,确定每个服务实例的目标权重值。
进一步地,所述第二确定子单元包括:第一获取模块,用于获取预设的每个服务实例连接服务请求数量的阈值;第一计算模块,用于依据每个服务实例在下一时刻的第二服务请求连接数量占比和每个服务实例连接服务请求数量的阈值进行计算,得到每个服务实例的目标权重值。
进一步地,所述第二确定子单元包括:第二获取模块,用于获取每个服务实例在上一时刻已连接的服务请求数,得到每个服务实例的第二服务请求连接数量;第一确定模块,用于依据每个服务实例在下一时刻的第二服务请求连接数量占比和每个服务实例的第二服务请求连接数量,确定每个服务实例的目标权重值。
进一步地,所述第一确定模块包括:计算子模块,用于计算每个服务实例的第二服务请求连接数量与每个服务实例的第一服务请求连接数量之间的差值,得到目标差值;确定子模块,用于依据每个服务实例在下一时刻的第二服务请求连接数量占比和所述目标差值,确定每个服务实例的目标权重值。
进一步地,所述装置还包括:设置单元,用于在依据所述当前负载数据信息,确定每个服务实例的目标权重值之后,若存在第二目标服务实例的目标权重值小于等于预设阈值,则将所述第二目标服务实例的目标权重值设置为预设数值。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机可读存储介质,所述存储介质存储程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述任意一项所述的服务请求的处理方法。
为了实现上述目的,根据本申请的一个方面,提供了一种电子设备,电子设备包括一个或多个处理器和存储器,存储器用于存储一个或多个处理器实现上述任意一项所述的服务请求的处理方法。
通过本申请,采用以下步骤:获取目标服务请求,并依据目标服务请求确定目标服务池,其中,目标服务池中包括多个服务实例,多个服务实例用于处理服务请求;确定目标服务池的当前负载数据信息,并依据当前负载数据信息,确定每个服务实例的目标权重值;依据每个服务实例的目标权重值,确定第一目标服务实例,并将目标服务请求转发至第一目标服务实例,解决了相关技术中以固定的比例为多个服务实例分配待处理的服务请求,导致对服务请求分配的合理性比较差的问题。在本方案中,在接收到服务请求时,首先确定能够处理该服务请求的目标服务池,然后确定目标服务池的当前负载数据信息,利用当前负载数据信息计算目标服务池中的每一个服务实例的目标权重值,最后根据每一个服务实例的目标权重值将服务请求分配给对应的目标服务实例,避免了采用固定的比例为多个服务实例分配待处理的服务请求,通过当前负载数据信息实时计算每一个服务实例的目标权重值,实现了实时调整服务请求的分配情,进而达到了提高对服务请求分配的合理性的效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的服务请求的处理方法的流程图;
图2是根据本申请实施例提供的服务请求的处理方法的流程图一;
图3是根据本申请实施例提供的服务请求的处理装置的示意图;
图4是根据本申请实施例提供的电子设备的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:
服务器负载均衡:将客户端的请求,按照特定的均衡算法分配到不同的服务器上,以达到快速响应的效果。
服务实例:在用户组网中真实服务器上部署的服务,负责处理客户端的服务请求。
服务池(server-pool):一组提供相同服务的服务实例的集合。
虚拟服务器:不同业务的流量匹配不同的虚拟服务器。根据虚拟服务器的配置,分配客户端请求至合理的服务器,再将服务器的处理响应发回到客户端。
下面结合优选的实施步骤对本发明进行说明,图1是根据本申请实施例提供的服务请求的处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,获取目标服务请求,并依据目标服务请求确定目标服务池,其中,目标服务池中包括多个服务实例,多个服务实例用于处理服务请求。
可选地,可以通过虚拟服务器接收目标对象发起的目标服务请求,并根据目标服务请求的流量类型以及请求的业务确定对应的目标服务池,需要说明的是,目标服务池包括多个服务实例,这些服务实例均可以用来处理上述的目标服务请求。
步骤S102,确定目标服务池的当前负载数据信息,并依据当前负载数据信息,确定每个服务实例的目标权重值。
可选地,在接收到目标服务请求后,需要确定目标服务池在当前时刻的当前负载数据信息。需要说明的是,当前负载数据信息可以包括但不限于目标服务池中的多个服务实例的数量,以及目标服务池中已连接的服务请求的数量等信息。
在确定当前负载数据信息之后,利用这些当前负载数据信息去计算得到每一个服务实例的权重值,得到上述的每个服务实例的目标权重值。
步骤S103,依据每个服务实例的目标权重值,确定第一目标服务实例,并将目标服务请求转发至第一目标服务实例。
可选地,根据每个服务实例的目标权重值,从多个服务实例中确定第一目标服务实例,然后利用第一目标服务实例对目标服务请求进行处理。需要说明的是,目标权重值越大,说明对应的服务实例的处理服务请求的性能越好。
在一可选的实施例中,在通过每个服务实例的目标权重值,从多个服务实例中确定第一目标服务实例时,可以直接将目标权重值最高的服务实例确定为目标服务实例。
在一可选的实施例中,在通过每个服务实例的目标权重值,从多个服务实例中确定第一目标服务实例时,还可以设置权重阈值,通过权重阈值筛选一部分服务实例处理,然后还可以根据服务实例处理能力再次进行筛选,最终得到上述的目标服务实例。
综上所述,在接收到服务请求时,首先确定能够处理该服务请求的目标服务池,然后确定目标服务池的当前负载数据信息,利用当前负载数据信息计算目标服务池中的每一个服务实例的目标权重值,最后根据每一个服务实例的目标权重值将服务请求分配给对应的目标服务实例,避免了采用固定的比例为多个服务实例分配待处理的服务请求,通过当前负载数据信息实时计算每一个服务实例的目标权重值,实现了实时调整服务请求的分配情,进而达到了提高对服务请求分配的合理性的效果。
为了更加准确地确定目标服务池的当前负载数据信息,在本申请实施例提供的服务请求的处理方法中,确定目标服务池的当前负载数据信息包括:计算目标服务池在当前时刻已连接的服务请求数,得到服务请求总连接数量;计算目标服务池中的多个服务实例的数量,得到服务实例总数量;计算目标服务池中每个服务实例在当前时刻已连接的服务请求数,得到每个服务实例的第一服务请求连接数量;依据服务请求总连接数量、服务实例总数量和每个服务实例的第一服务请求连接数量,确定目标服务池的当前负载数据信息。
可选地,计算上述的目标服务池在当前时刻已经连接的服务请求的数量,得到服务请求总连接数量,计算目标服务池中存在的服务实例的总数量,得到上述的服务实例总数量,计算在目标服务池中的每个服务实例在当前时刻已连接的服务请求的总数量,得到上述的多个第一服务请求连接数量,最后将服务请求总连接数量、服务实例总数量以及多个第一服务请求连接数量确定为目标服务池的当前负载数据信息。
需要说明的是,可以按照固定的时间周期确定上述的目标服务池的当前负载数据信息,例如,启动1s的timer(计时器)周期性计算上述的目标服务池的当前负载数据信息。
通过上述的服务请求总连接数量、服务实例总数量以及多个第一服务请求连接数量可以准确评估目标服务池的当前负载情况。
为了更加准确地计算每个服务实例的目标权重值,在本申请实施例提供的服务请求的处理方法中,依据当前负载数据信息,确定每个服务实例的目标权重值包括:依据服务请求总连接数量和每个服务实例的第一服务请求连接数量进行计算,得到每个服务实例在当前时刻的第一服务请求连接数量占比;依据第一服务请求连接数量占比和服务实例总数量进行计算,得到每个服务实例在下一时刻的第二服务请求连接数量占比;依据每个服务实例在下一时刻的第二服务请求连接数量占比,确定每个服务实例的目标权重值。
可选地,在对服务请求进行分配时,理想的状态是每个服务实例在每个时刻的第一服务请求连接数量占比均是相同的,因此,可以根据服务请求总连接数量和每个服务实例的第一服务请求连接数量计算得到每个服务实例在当前时刻的第一服务请求连接数量占比。
然后,一般来说如果某一个服务实例在当前时刻的服务请求连接数量占比大,那么下一秒的连接数占比就应该小一些,因此,根据第一服务请求连接数量占比和服务实例总数量进行计算,得到每个服务实例在下一时刻的第二服务请求连接数量占比。
最后,利用每个服务实例在下一时刻的第二服务请求连接数量占比,以及所有服务实例的第二服务请求连接数量占比来确定每个服务实例的目标权重值。
在一可选的实施例中,采用下述步骤计算得到服务请求连接数量占比:
在实际负载均衡时,期望每个服务实例的占比都是相同的,因此,每个服务实例的占比都为1/rs_number(服务实例总数量),所以,当前连接数占比和下一秒的连接数占比之和为2/rs_number,如果当前连接数占比大,下一秒的连接数占比就应该小,那么对应的假设x为下一时刻的第二服务请求连接数量占比,那么对应的计算公式如公式(1)-公式(2)所示:
其中,sp_total_connection_number为服务请求总连接数量,rs_number为服务实例总数量,current_connection_number为一个服务实例的第一服务请求连接数量。
在计算得到上述的下一时刻的第二服务请求连接数量占比之后,可以直接将下一时刻的第二服务请求连接数量占比确定为上述的目标权重值。
需要说明的是,由于上述计算得到第二服务请求连接数量占比可能为分数,因此,为了便于后续的计算,还可以通过第二服务请求连接数量占比确定一个中间变量predictive_temp_val,即将上述公式(2)的分子作为predictive_temp_val,然后利用predictive_temp_val计算得到每个服务实例的目标权重值。predictive_temp_val的计算公式如公式(3)所示:
predictive_temp_val=2*sp_total_connection_number-rs_number*
current_connection_number(3)
需要说明的是,如果计算得到的predictive_temp_val≤0,则可以直接将predictive_temp_val设置为1。
通过公式(1)-公式(2)可以准确计算得到第二服务请求连接数量占比,通过第二服务请求连接数量占比可以准确评估当前每个服务实例的负载情况,可以准确判断服务实例是否有能力快速响应用户的服务请求。
为了更加合理的得到每个服务实例的目标权重值,在本申请实施例提供的服务请求的处理方法中,依据每个服务实例在下一时刻的第二服务请求连接数量占比,确定每个服务实例的目标权重值包括:获取预设的每个服务实例连接服务请求数量的阈值;依据每个服务实例在下一时刻的第二服务请求连接数量占比和每个服务实例连接服务请求数量的阈值进行计算,得到每个服务实例的目标权重值。
可选地,为了控制每个服务实例连接服务请求的数量,设置连接服务请求数量的阈值,例如设置为255,然后根据每个服务实例在下一时刻的第二服务请求连接数量占比和每个服务实例连接服务请求数量的阈值计算得到每个服务实例的目标权重值。
在一可选的实施例中,可以先计算得到上述的中间变量predictive_temp_val,然后利用predictive_temp_val和连接服务请求数量的阈值计算得每个服务实例的目标权重值。
在一可选的实施例中,可以采用下述公式(4)计算得到每个服务实例的目标权重值:
其中,predictive weight为上述的目标权重值,total_predictive_temp_val为所有服务实例的中间变量的和。
为了后续服务请求分配的更加合理,在计算每个服务实例的目标权重值时还可以考虑服务实例的服务请求连接数量的增长趋势,因此,在本申请实施例提供的服务请求的处理方法中,依据每个服务实例在下一时刻的第二服务请求连接数量占比,确定每个服务实例的目标权重值包括:获取每个服务实例在上一时刻已连接的服务请求数,得到每个服务实例的第二服务请求连接数量;依据每个服务实例在下一时刻的第二服务请求连接数量占比和每个服务实例的第二服务请求连接数量,确定每个服务实例的目标权重值。
依据每个服务实例在下一时刻的第二服务请求连接数量占比和每个服务实例的第二服务请求连接数量,确定每个服务实例的目标权重值包括:计算每个服务实例的第二服务请求连接数量与每个服务实例的第一服务请求连接数量之间的差值,得到目标差值;依据每个服务实例在下一时刻的第二服务请求连接数量占比和目标差值,确定每个服务实例的目标权重值。
可选地,在计算每个服务实例的目标权重值时还可以考虑服务实例的服务请求连接数量的增长趋势,预测下个时间段内性能最佳的服务实例,例如,服务请求连接数量正在上升,则predictive weight相应降低;例如服务请求连接数量没变,则predictive weight不变;例如服务请求连接数量正在下降,则predictive weight相应增加。
在一可选的实施例中,获取目标服务池中的每个服务实例在上一时刻已连接的第二服务请求连接数量,然后计算每个服务实例的第二服务请求连接数量与每个服务实例的第一服务请求连接数量之间的目标差值,通过目标差值来确定每个服务实例的服务请求连接数量的变化趋势。利用目标差值和每个服务实例在下一时刻的第二服务请求连接数量占比计算得到每个服务实例的目标权重值。
在一可选的实施例中,可以先根据目标差值和每个服务实例在下一时刻的第二服务请求连接数量占比计算得到上述的中间变量predictive_temp_val,然后利用predictive_temp_val和连接服务请求数量的阈值计算得每个服务实例的目标权重值。
在一可选的实施例中,中间变量predictive_temp_val的计算公式如公式(5)所示:
predictive_temp_val=2*sp_total_connection_number-rs_number*
(current_connection_number+deta)(5)
其中,deta为目标差值。
在计算得到中间变量predictive_temp_val之后,可以利用上述的公式(4)计算得到每个服务实例的目标权重值predictive weight。
在本申请实施例提供的服务请求的处理方法中,在依据当前负载数据信息,确定每个服务实例的目标权重值之后,该方法还包括:若存在第二目标服务实例的目标权重值小于等于预设阈值,则将第二目标服务实例的目标权重值设置为预设数值。
可选地,在依据当前负载数据信息,确定每个服务实例的目标权重值之后,如果根据中间变量predictive_temp_val计算得到的目标权重值小于等于预设阈值(例如,0),则直接将第二目标服务实例的目标权重值设置为预设数值(例如,1)。
在一可选的实施例中,采用如图2所示的流程图实现对服务请求的分配,通过虚拟服务器接收目标对象发起的目标服务请求,并根据目标服务请求的流量类型以及请求的业务确定对应的目标服务池,在接收到目标服务请求后,需要确定目标服务池在当前时刻的服务请求总连接数量、服务实例总数量和每个服务实例的第一服务请求连接数量,根据服务请求总连接数量、服务实例总数量和每个服务实例的第一服务请求连接数量计算得到每个服务实例的目标权重值,根据每个服务实例的目标权重值分配目标服务请求到目标服务实例。
本申请实施例提供的服务请求的处理方法,通过获取目标服务请求,并依据目标服务请求确定目标服务池,其中,目标服务池中包括多个服务实例,多个服务实例用于处理服务请求;确定目标服务池的当前负载数据信息,并依据当前负载数据信息,确定每个服务实例的目标权重值;依据每个服务实例的目标权重值,确定第一目标服务实例,并将目标服务请求转发至第一目标服务实例,解决了相关技术中以固定的比例为多个服务实例分配待处理的服务请求,导致对服务请求分配的合理性比较差的问题。在本方案中,在接收到服务请求时,首先确定能够处理该服务请求的目标服务池,然后确定目标服务池的当前负载数据信息,利用当前负载数据信息计算目标服务池中的每一个服务实例的目标权重值,最后根据每一个服务实例的目标权重值将服务请求分配给对应的目标服务实例,避免了采用固定的比例为多个服务实例分配待处理的服务请求,通过当前负载数据信息实时计算每一个服务实例的目标权重值,实现了实时调整服务请求的分配情,进而达到了提高对服务请求分配的合理性的效果。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种服务请求的处理装置,需要说明的是,本申请实施例的服务请求的处理装置可以用于执行本申请实施例所提供的用于服务请求的处理方法。以下对本申请实施例提供的服务请求的处理装置进行介绍。
图3是根据本申请实施例的服务请求的处理装置的示意图。如图3所示,该装置包括:获取单元301,第一确定单元302和第二确定单元303。
获取单元301,用于获取目标服务请求,并依据目标服务请求确定目标服务池,其中,目标服务池中包括多个服务实例,多个服务实例用于处理服务请求;
可选地,可以通过虚拟服务器接收目标对象发起的目标服务请求,并根据目标服务请求的流量类型以及请求的业务确定对应的目标服务池,需要说明的是,目标服务池包括多个服务实例,这些服务实例均可以用来处理上述的目标服务请求。
第一确定单元302,用于确定目标服务池的当前负载数据信息,并依据当前负载数据信息,确定每个服务实例的目标权重值;
可选地,在接收到目标服务请求后,需要确定目标服务池在当前时刻的当前负载数据信息。需要说明的是,当前负载数据信息可以包括但不限于目标服务池中的多个服务实例的数量,以及目标服务池中已连接的服务请求的数量等信息。
在确定当前负载数据信息之后,利用这些当前负载数据信息去计算得到每一个服务实例的权重值,得到上述的每个服务实例的目标权重值。
第二确定单元303,用于依据每个服务实例的目标权重值,确定第一目标服务实例,并将目标服务请求转发至第一目标服务实例。
可选地,根据每个服务实例的目标权重值,从多个服务实例中确定第一目标服务实例,然后利用第一目标服务实例对目标服务请求进行处理。需要说明的是,目标权重值越大,说明对应的服务实例的处理服务请求的性能越好。
在一可选的实施例中,在通过每个服务实例的目标权重值,从多个服务实例中确定第一目标服务实例时,可以直接将目标权重值最高的服务实例确定为目标服务实例。
在一可选的实施例中,在通过每个服务实例的目标权重值,从多个服务实例中确定第一目标服务实例时,还可以设置权重阈值,通过权重阈值筛选一部分服务实例处理,然后还可以根据服务实例处理能力再次进行筛选,最终得到上述的目标服务实例。
本申请实施例提供的服务请求的处理装置,通过获取单元301获取目标服务请求,并依据目标服务请求确定目标服务池,其中,目标服务池中包括多个服务实例,多个服务实例用于处理服务请求;第一确定单元302确定目标服务池的当前负载数据信息,并依据当前负载数据信息,确定每个服务实例的目标权重值;第二确定单元303依据每个服务实例的目标权重值,确定第一目标服务实例,并将目标服务请求转发至第一目标服务实例,解决了相关技术中以固定的比例为多个服务实例分配待处理的服务请求,导致对服务请求分配的合理性比较差的问题。在本方案中,在接收到服务请求时,首先确定能够处理该服务请求的目标服务池,然后确定目标服务池的当前负载数据信息,利用当前负载数据信息计算目标服务池中的每一个服务实例的目标权重值,最后根据每一个服务实例的目标权重值将服务请求分配给对应的目标服务实例,避免了采用固定的比例为多个服务实例分配待处理的服务请求,通过当前负载数据信息实时计算每一个服务实例的目标权重值,实现了实时调整服务请求的分配情,进而达到了提高对服务请求分配的合理性的效果。
可选地,在本申请实施例提供的服务请求的处理装置中,第一确定单元包括:第一计算子单元,用于计算目标服务池在当前时刻已连接的服务请求数,得到服务请求总连接数量;第二计算子单元,用于计算目标服务池中的多个服务实例的数量,得到服务实例总数量;第三计算子单元,用于计算目标服务池中每个服务实例在当前时刻已连接的服务请求数,得到每个服务实例的第一服务请求连接数量;第一确定子单元,用于依据服务请求总连接数量、服务实例总数量和每个服务实例的第一服务请求连接数量,确定目标服务池的当前负载数据信息。
可选地,计算上述的目标服务池在当前时刻已经连接的服务请求的数量,得到服务请求总连接数量,计算目标服务池中存在的服务实例的总数量,得到上述的服务实例总数量,计算在目标服务池中的每个服务实例在当前时刻已连接的服务请求的总数量,得到上述的多个第一服务请求连接数量,最后将服务请求总连接数量、服务实例总数量以及多个第一服务请求连接数量确定为目标服务池的当前负载数据信息。
需要说明的是,可以按照固定的时间周期确定上述的目标服务池的当前负载数据信息,例如,启动1s的timer(计时器)周期性计算上述的目标服务池的当前负载数据信息。
通过上述的服务请求总连接数量、服务实例总数量以及多个第一服务请求连接数量可以准确评估目标服务池的当前负载情况。
可选地,在本申请实施例提供的服务请求的处理装置中,第一确定单元包括:第四计算子单元,用于依据服务请求总连接数量和每个服务实例的第一服务请求连接数量进行计算,得到每个服务实例在当前时刻的第一服务请求连接数量占比;第五计算子单元,用于依据第一服务请求连接数量占比和服务实例总数量进行计算,得到每个服务实例在下一时刻的第二服务请求连接数量占比;第二确定子单元,用于依据每个服务实例在下一时刻的第二服务请求连接数量占比,确定每个服务实例的目标权重值。
可选地,在对服务请求进行分配时,理想的状态是每个服务实例在每个时刻的第一服务请求连接数量占比均是相同的,因此,可以根据服务请求总连接数量和每个服务实例的第一服务请求连接数量计算得到每个服务实例在当前时刻的第一服务请求连接数量占比。
然后,一般来说,如果某一个服务实例在当前时刻的服务请求连接数量占比大,那么下一秒的连接数占比就应该小一些,因此,根据第一服务请求连接数量占比和服务实例总数量进行计算,得到每个服务实例在下一时刻的第二服务请求连接数量占比。
最后,利用每个服务实例在下一时刻的第二服务请求连接数量占比,以及所有服务实例的第二服务请求连接数量占比来确定每个服务实例的目标权重值。
在一可选的实施例中,采用下述步骤计算得到服务请求连接数量占比:
在实际负载均衡时,期望每个服务实例的占比都是相同的,即每个服务实例的占比都为1/rs_number(服务实例总数量),所以,当前连接数占比和下一秒的连接数占比之和为2/rs_number,如果当前连接数占比大,下一秒的连接数占比就应该小,那么对应的假设x为下一时刻的第二服务请求连接数量占比,那么对应的计算公式如公式(1)-公式(2)所示:
其中,sp_total_connection_number为服务请求总连接数量,rs_number为服务实例总数量,current_connection_number为一个服务实例的第一服务请求连接数量。
需要说明的是,由于上述计算得到第二服务请求连接数量占比可能为分数,因此,为了便于后续的计算,可以通过第二服务请求连接数量占比确定一个中间变量predictive_temp_val,即将上述公式(2)的分子作为predictive_temp_val,然后利用predictive_temp_val计算得到每个服务实例的目标权重值。predictive_temp_val的计算公式如公式(3)所示:
predictive_temp_val=2*sp_total_connection_number-rs_number*
current_connection_number(3)
需要说明的是,如果计算得到的predictive_temp_val≤0,则可以直接将predictive_temp_val设置为1。
通过公式(1)-公式(2)可以准确计算得到第二服务请求连接数量占比,通过第二服务请求连接数量占比可以准确评估当前每个服务实例的负载情况,可以准确判断服务实例是否有能力快速响应用户的服务请求。
可选地,在本申请实施例提供的服务请求的处理装置中,第二确定子单元包括:第一获取模块,用于获取预设的每个服务实例连接服务请求数量的阈值;第一计算模块,用于依据每个服务实例在下一时刻的第二服务请求连接数量占比和每个服务实例连接服务请求数量的阈值进行计算,得到每个服务实例的目标权重值。
可选地,为了控制每个服务实例连接服务请求的数量,设置连接服务请求数量的阈值,例如设置为255,然后根据每个服务实例在下一时刻的第二服务请求连接数量占比和每个服务实例连接服务请求数量的阈值计算得到每个服务实例的目标权重值。
在一可选的实施例中,可以先计算得到上述的中间变量predictive_temp_val,然后利用predictive_temp_val和连接服务请求数量的阈值计算得每个服务实例的目标权重值。
在一可选的实施例中,可以采用下述公式(4)计算得到每个服务实例的目标权重值:
其中,predictive weight为上述的目标权重值,total_predictive_temp_val为所有服务实例的中间变量的和。
可选地,在本申请实施例提供的服务请求的处理装置中,第二确定子单元包括:第二获取模块,用于获取每个服务实例在上一时刻已连接的服务请求数,得到每个服务实例的第二服务请求连接数量;第一确定模块,用于依据每个服务实例在下一时刻的第二服务请求连接数量占比和每个服务实例的第二服务请求连接数量,确定每个服务实例的目标权重值。
可选地,在本申请实施例提供的服务请求的处理装置中,第一确定模块包括:计算子模块,用于计算每个服务实例的第二服务请求连接数量与每个服务实例的第一服务请求连接数量之间的差值,得到目标差值;确定子模块,用于依据每个服务实例在下一时刻的第二服务请求连接数量占比和目标差值,确定每个服务实例的目标权重值。
可选地,在计算每个服务实例的目标权重值时还可以考虑服务实例的服务请求连接数量的增长趋势,预测下个时间段内性能最佳的服务实例,例如,服务请求连接数量正在上升,则predictive weight相应降低;例如服务请求连接数量没变,则predictive weight不变;例如服务请求连接数量正在下降,则predictive weight相应增加。
在一可选的实施例中,获取目标服务池中的每个服务实例在上一时刻已连接的第二服务请求连接数量,然后计算每个服务实例的第二服务请求连接数量与每个服务实例的第一服务请求连接数量之间的目标差值,通过目标差值来确定每个服务实例的服务请求连接数量的变化趋势。利用目标差值和每个服务实例在下一时刻的第二服务请求连接数量占比计算得到每个服务实例的目标权重值。
在一可选的实施例中,可以先根据目标差值和每个服务实例在下一时刻的第二服务请求连接数量占比计算得到上述的中间变量predictive_temp_val,然后利用predictive_temp_val和连接服务请求数量的阈值计算得每个服务实例的目标权重值。
在一可选的实施例中,中间变量predictive_temp_val的计算公式如公式(5)所示:
predictive_temp_val=2*sp_total_connection_number-rs_number*
(current_connection_number+deta)(5)
其中,deta为目标差值。
在计算得到中间变量predictive_temp_val之后,可以利用上述的公式(4)计算得到每个服务实例的目标权重值predictive weight。
可选地,在本申请实施例提供的服务请求的处理装置中,该装置还包括:设置单元,用于在依据当前负载数据信息,确定每个服务实例的目标权重值之后,若存在第二目标服务实例的目标权重值小于等于预设阈值,则将第二目标服务实例的目标权重值设置为预设数值。
服务请求的处理装置包括处理器和存储器,上述的获取单元301,第一确定单元302和第二确定单元303等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现对服务请求的合理分配。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现服务请求的处理方法。
本发明实施例提供了一种处理器,处理器用于运行程序,其中,程序运行时执行服务请求的处理方法。
如图4所示,本发明实施例提供了一种电子设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:获取目标服务请求,并依据目标服务请求确定目标服务池,其中,目标服务池中包括多个服务实例,多个服务实例用于处理服务请求;确定目标服务池的当前负载数据信息,并依据当前负载数据信息,确定每个服务实例的目标权重值;依据每个服务实例的目标权重值,确定第一目标服务实例,并将目标服务请求转发至第一目标服务实例。
可选地,确定目标服务池的当前负载数据信息包括:计算目标服务池在当前时刻已连接的服务请求数,得到服务请求总连接数量;计算目标服务池中的多个服务实例的数量,得到服务实例总数量;计算目标服务池中每个服务实例在当前时刻已连接的服务请求数,得到每个服务实例的第一服务请求连接数量;依据服务请求总连接数量、服务实例总数量和每个服务实例的第一服务请求连接数量,确定目标服务池的当前负载数据信息。
可选地,依据当前负载数据信息,确定每个服务实例的目标权重值包括:依据服务请求总连接数量和每个服务实例的第一服务请求连接数量进行计算,得到每个服务实例在当前时刻的第一服务请求连接数量占比;依据第一服务请求连接数量占比和服务实例总数量进行计算,得到每个服务实例在下一时刻的第二服务请求连接数量占比;依据每个服务实例在下一时刻的第二服务请求连接数量占比,确定每个服务实例的目标权重值。
可选地,依据每个服务实例在下一时刻的第二服务请求连接数量占比,确定每个服务实例的目标权重值包括:获取预设的每个服务实例连接服务请求数量的阈值;依据每个服务实例在下一时刻的第二服务请求连接数量占比和每个服务实例连接服务请求数量的阈值进行计算,得到每个服务实例的目标权重值。
可选地,依据每个服务实例在下一时刻的第二服务请求连接数量占比,确定每个服务实例的目标权重值包括:获取每个服务实例在上一时刻已连接的服务请求数,得到每个服务实例的第二服务请求连接数量;依据每个服务实例在下一时刻的第二服务请求连接数量占比和每个服务实例的第二服务请求连接数量,确定每个服务实例的目标权重值。
可选地,依据每个服务实例在下一时刻的第二服务请求连接数量占比和每个服务实例的第二服务请求连接数量,确定每个服务实例的目标权重值包括:计算每个服务实例的第二服务请求连接数量与每个服务实例的第一服务请求连接数量之间的差值,得到目标差值;依据每个服务实例在下一时刻的第二服务请求连接数量占比和目标差值,确定每个服务实例的目标权重值。
可选地,在依据当前负载数据信息,确定每个服务实例的目标权重值之后,该方法还包括:若存在第二目标服务实例的目标权重值小于等于预设阈值,则将第二目标服务实例的目标权重值设置为预设数值。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取目标服务请求,并依据目标服务请求确定目标服务池,其中,目标服务池中包括多个服务实例,多个服务实例用于处理服务请求;确定目标服务池的当前负载数据信息,并依据当前负载数据信息,确定每个服务实例的目标权重值;依据每个服务实例的目标权重值,确定第一目标服务实例,并将目标服务请求转发至第一目标服务实例。
可选地,确定目标服务池的当前负载数据信息包括:计算目标服务池在当前时刻已连接的服务请求数,得到服务请求总连接数量;计算目标服务池中的多个服务实例的数量,得到服务实例总数量;计算目标服务池中每个服务实例在当前时刻已连接的服务请求数,得到每个服务实例的第一服务请求连接数量;依据服务请求总连接数量、服务实例总数量和每个服务实例的第一服务请求连接数量,确定目标服务池的当前负载数据信息。
可选地,依据当前负载数据信息,确定每个服务实例的目标权重值包括:依据服务请求总连接数量和每个服务实例的第一服务请求连接数量进行计算,得到每个服务实例在当前时刻的第一服务请求连接数量占比;依据第一服务请求连接数量占比和服务实例总数量进行计算,得到每个服务实例在下一时刻的第二服务请求连接数量占比;依据每个服务实例在下一时刻的第二服务请求连接数量占比,确定每个服务实例的目标权重值。
可选地,依据每个服务实例在下一时刻的第二服务请求连接数量占比,确定每个服务实例的目标权重值包括:获取预设的每个服务实例连接服务请求数量的阈值;依据每个服务实例在下一时刻的第二服务请求连接数量占比和每个服务实例连接服务请求数量的阈值进行计算,得到每个服务实例的目标权重值。
可选地,依据每个服务实例在下一时刻的第二服务请求连接数量占比,确定每个服务实例的目标权重值包括:获取每个服务实例在上一时刻已连接的服务请求数,得到每个服务实例的第二服务请求连接数量;依据每个服务实例在下一时刻的第二服务请求连接数量占比和每个服务实例的第二服务请求连接数量,确定每个服务实例的目标权重值。
可选地,依据每个服务实例在下一时刻的第二服务请求连接数量占比和每个服务实例的第二服务请求连接数量,确定每个服务实例的目标权重值包括:计算每个服务实例的第二服务请求连接数量与每个服务实例的第一服务请求连接数量之间的差值,得到目标差值;依据每个服务实例在下一时刻的第二服务请求连接数量占比和目标差值,确定每个服务实例的目标权重值。
可选地,在依据当前负载数据信息,确定每个服务实例的目标权重值之后,该方法还包括:若存在第二目标服务实例的目标权重值小于等于预设阈值,则将第二目标服务实例的目标权重值设置为预设数值。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种服务请求的处理方法,其特征在于,包括:
获取目标服务请求,并依据所述目标服务请求确定目标服务池,其中,所述目标服务池中包括多个服务实例,所述多个服务实例用于处理所述服务请求;
确定所述目标服务池的当前负载数据信息,并依据所述当前负载数据信息,确定每个服务实例的目标权重值;
依据每个服务实例的目标权重值,确定第一目标服务实例,并将所述目标服务请求转发至所述第一目标服务实例。
2.根据权利要求1所述的方法,其特征在于,确定所述目标服务池的当前负载数据信息包括:
计算所述目标服务池在当前时刻已连接的服务请求数,得到服务请求总连接数量;
计算所述目标服务池中的多个服务实例的数量,得到服务实例总数量;
计算所述目标服务池中每个服务实例在当前时刻已连接的服务请求数,得到每个服务实例的第一服务请求连接数量;
依据服务请求总连接数量、所述服务实例总数量和每个服务实例的第一服务请求连接数量,确定所述目标服务池的当前负载数据信息。
3.根据权利要求2所述的方法,其特征在于,依据所述当前负载数据信息,确定每个服务实例的目标权重值包括:
依据所述服务请求总连接数量和每个服务实例的第一服务请求连接数量进行计算,得到每个服务实例在当前时刻的第一服务请求连接数量占比;
依据所述第一服务请求连接数量占比和所述服务实例总数量进行计算,得到每个服务实例在下一时刻的第二服务请求连接数量占比;
依据每个服务实例在下一时刻的第二服务请求连接数量占比,确定每个服务实例的目标权重值。
4.根据权利要求3所述的方法,其特征在于,依据每个服务实例在下一时刻的第二服务请求连接数量占比,确定每个服务实例的目标权重值包括:
获取预设的每个服务实例连接服务请求数量的阈值;
依据每个服务实例在下一时刻的第二服务请求连接数量占比和每个服务实例连接服务请求数量的阈值进行计算,得到每个服务实例的目标权重值。
5.根据权利要求3所述的方法,其特征在于,依据每个服务实例在下一时刻的第二服务请求连接数量占比,确定每个服务实例的目标权重值包括:
获取每个服务实例在上一时刻已连接的服务请求数,得到每个服务实例的第二服务请求连接数量;
依据每个服务实例在下一时刻的第二服务请求连接数量占比和每个服务实例的第二服务请求连接数量,确定每个服务实例的目标权重值。
6.根据权利要求4所述的方法,其特征在于,依据每个服务实例在下一时刻的第二服务请求连接数量占比和每个服务实例的第二服务请求连接数量,确定每个服务实例的目标权重值包括:
计算每个服务实例的第二服务请求连接数量与每个服务实例的第一服务请求连接数量之间的差值,得到目标差值;
依据每个服务实例在下一时刻的第二服务请求连接数量占比和所述目标差值,确定每个服务实例的目标权重值。
7.根据权利要求1所述的方法,其特征在于,在依据所述当前负载数据信息,确定每个服务实例的目标权重值之后,所述方法还包括:
若存在第二目标服务实例的目标权重值小于等于预设阈值,则将所述第二目标服务实例的目标权重值设置为预设数值。
8.一种服务请求的处理装置,其特征在于,包括:
获取单元,用于获取目标服务请求,并依据所述目标服务请求确定目标服务池,其中,所述目标服务池中包括多个服务实例,所述多个服务实例用于处理所述服务请求;
第一确定单元,用于确定所述目标服务池的当前负载数据信息,并依据所述当前负载数据信息,确定每个服务实例的目标权重值;
第二确定单元,用于依据每个服务实例的目标权重值,确定第一目标服务实例,并将所述目标服务请求转发至所述第一目标服务实例。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储程序,其中,所述程序执行权利要求1至7中任意一项所述的服务请求的处理方法。
10.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任意一项所述的服务请求的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310627026.8A CN116627653A (zh) | 2023-05-30 | 2023-05-30 | 服务请求的处理方法和装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310627026.8A CN116627653A (zh) | 2023-05-30 | 2023-05-30 | 服务请求的处理方法和装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116627653A true CN116627653A (zh) | 2023-08-22 |
Family
ID=87602320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310627026.8A Pending CN116627653A (zh) | 2023-05-30 | 2023-05-30 | 服务请求的处理方法和装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116627653A (zh) |
-
2023
- 2023-05-30 CN CN202310627026.8A patent/CN116627653A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110858161B (zh) | 资源分配方法、装置、系统、设备和介质 | |
US10616370B2 (en) | Adjusting cloud-based execution environment by neural network | |
US10069757B1 (en) | Reserved network device capacity | |
CN112714029B (zh) | 一种内容分发网络带宽调度的方法、装置及设备 | |
US20150199219A1 (en) | Method and apparatus for server cluster management | |
CN108279974B (zh) | 一种云资源分配方法及装置 | |
CN112929408A (zh) | 动态负载均衡方法及装置 | |
CN111666131A (zh) | 负载均衡分配方法、装置、计算机设备和存储介质 | |
CN106936867B (zh) | 一种业务请求的响应方法及装置 | |
CN111131486A (zh) | 执行节点的负载调节方法、装置、服务器及存储介质 | |
CN115190078B (zh) | 一种访问流量控制方法、装置、设备以及存储介质 | |
Eswaran et al. | Multiservice load balancing with hybrid particle swarm optimization in cloud-based multimedia storage system with QoS provision | |
CN108124021B (zh) | 网际协议ip地址获取、网站访问的方法、装置及系统 | |
CN111338803B (zh) | 一种线程处理方法和装置 | |
CN116820729A (zh) | 离线任务调度方法、装置及电子设备 | |
CN116627653A (zh) | 服务请求的处理方法和装置、存储介质及电子设备 | |
CN108243225B (zh) | 一种分布式系统、管理方法及访问方法 | |
CN116489103A (zh) | 业务限流方法、装置及业务处理系统 | |
CN110719306B (zh) | 一种网络请求限制方法、计算机设备、存储介质 | |
CN114489463A (zh) | 动态调整存储卷qos的方法、装置及计算设备 | |
CN117675935A (zh) | 数据请求的处理方法、装置、存储介质及电子设备 | |
CN114760327B (zh) | 云盘资源配置的调整方法及装置 | |
CN116489156A (zh) | 流量的分配方法、装置、存储介质以及电子设备 | |
Saikrishna et al. | Performance guarantees via pole placement for a webserver hosted on a private cloud | |
CN117649238A (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 |