CN113992689A - 服务请求分发方法、装置、设备及计算机可读存储介质 - Google Patents
服务请求分发方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113992689A CN113992689A CN202111237622.2A CN202111237622A CN113992689A CN 113992689 A CN113992689 A CN 113992689A CN 202111237622 A CN202111237622 A CN 202111237622A CN 113992689 A CN113992689 A CN 113992689A
- Authority
- CN
- China
- Prior art keywords
- host
- service request
- determining
- load rate
- response 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000004044 response Effects 0.000 claims abstract description 105
- 230000036541 health Effects 0.000 claims abstract description 40
- 230000015654 memory Effects 0.000 claims description 83
- 238000012545 processing Methods 0.000 claims description 12
- 238000005516 engineering process Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 241000720945 Hosta Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及金融科技领域,并公开了一种服务请求分发方法、装置、设备及计算机可读存储介质,该方法包括以下步骤:在接收到到服务请求时,获取各主机的系统资源参数和响应时间参数;根据所述系统资源参数确定系统资剩余资源负载率,以及根据所述响应时间参数确定响应时间负载率;根据所述系统资剩余资源负载率和响应时间负载率确定各主机的健康分值;根据所述健康分值为所述主机分发所述服务请求。实现了根据主机的性能指标以及服务体验指标(响应时间)综合评估主机的健康分值,进而根据健康分值为主机分发请求,能够提升服务请求的分配调度的合理性和可靠性。
Description
技术领域
本发明涉及金融科技(Fintech)领域,尤其涉及一种服务请求分发方法、装置、设备及计算机可读存储介质。
背景技术
随着计算机技术的发展,越来越多的技术(大数据、分布式、区块链Blockchain、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对服务请求分发技术提出了更高的要求。
LVS(Linux Virtual Server,Linux虚拟服务器),其作为负载均衡早已应用在各大互联网公司,是一个比较成熟的开源产品。其原理为,用户的Web请求发送至LVS,LVS根据预设负载均衡算法再将该请求发送于后端集群中的真实服务器,由于后端真实服务器集群提供的是相同的服务,那么用户无论请求到任何一台真实服务器,最终的返回结果都是一致的,所以整个集群对用户而言属于透明。
但是,现有的负载均衡算法一般为机械式的轮询、人为指定服务器、根据请求连接的数量调度服务器等方式,其并未考虑真实服务器的性能指标,也未考虑到影响服务器提供的服务体验的指标,导致请求的分配调度不合理,可靠性较低。
发明内容
本发明的主要目的在于提供一种服务请求分发方法、装置、设备及计算机可读存储介质,旨在解决现有技术中服务请求的分配调度不合理的技术问题。
为实现上述目的,本发明提供一种服务请求分发方法,所述服务请求分发方法包括以下步骤:
在接收到到服务请求时,获取各主机的系统资源参数和响应时间参数;
根据所述系统资源参数确定系统资剩余资源负载率,以及根据所述响应时间参数确定响应时间负载率;
根据所述系统资剩余资源负载率和响应时间负载率确定各主机的健康分值;
根据所述健康分值为所述主机分发所述服务请求。
可选地,所述响应时间参数包括各预设时间段内处理各历史服务请求的响应时间;
所述根据所述响应时间参数确定响应时间负载率的步骤包括:
根据各预设时间段内处理各历史服务请求的响应时间,确定各所述预设时间段内响应时间的平均值;
根据所述响应时间的平均值计算各所述预设时间段内响应时间的标准差,根据所述标准差确定标准差均值;
将当前时间所处的预设时间段内响应时间的标准差与所述标准差均值的差值,确定为响应时间负载率。
可选地,所述系统资源参数包括最大内存和内存使用率;
所述根据所述系统资源参数确定系统资剩余资源负载率的步骤包括:
根据各主机的最大内存确定集群内存基线;
根据预设第一公式、所述集群内存基线、所述最大内存以及所述内存使用率,确定各主机的剩余内存负载率,所述预设第一公式为,
Sm=Tm(1-Pm)/Bm,
其中,Sm为主机的剩余内存负载率;
Tm为主机的最大内存;
Pm为主机的内存使用率;
Bm为集群内存基线。
可选地,所述系统资源参数包括最大网络带宽和网络带宽使用率;
所述根据所述系统资源参数确定系统资剩余资源负载率的步骤包括:
根据各主机的最大网络带宽确定集群网络带宽基线;
根据预设第二公式、所述集群网络带宽基线、所述最大网络带宽以及所述网络带宽使用率,确定各主机的剩余网络带宽负载率,所述预设第二公式为,
Sn=Tn(1-Pn)/Bn,
其中,Sn为主机的剩余网络带宽负载率;
Tn为主机的最大网络带宽;
Pn为主机的网络带宽使用率;
Bn为集群网络带宽基线。
可选地,所述系统资源参数包括最大磁盘容量和磁盘使用率;
所述根据所述系统资源参数确定系统资剩余资源负载率的步骤包括:
根据各主机的最大磁盘容量确定集群磁盘容量基线;
根据所述集群磁盘容量基线、所述最大磁盘容量以及所述磁盘使用率,确定各主机的剩余磁盘容量负载率。
可选地,所述系统资源参数包括CPU时间片和对应的CPU空闲时间;
所述根据所述系统资源参数确定系统资剩余资源负载率的步骤包括:
根据所述CPU空闲时间和所述CPU时间片确定空闲CPU负载率。
可选地,所述根据所述健康分值为所述主机分发所述服务请求的步骤包括:
计算各所述主机的健康分值的和,确定各所述主机的健康分值与所述和的比值;
按照所述比值为所述主机分发所述服务请求。
进一步地,为实现上述目的,本发明还提供一种服务请求分发装置,所述服务请求分发装置包括:
进一步地,为实现上述目的,本发明还提供一种服务请求分发设备,所述服务请求分发设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的服务请求分发程序,所述服务请求分发程序被所述处理器执行时实现如上述所述的服务请求分发方法的步骤。
进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有服务请求分发程序,所述服务请求分发程序被处理器执行时实现如上所述的服务请求分发方法的步骤。
本发明通过在接收到到服务请求时,获取各主机的系统资源参数和响应时间参数;根据所述系统资源参数确定系统资剩余资源负载率,以及根据所述响应时间参数确定响应时间负载率;根据所述系统资剩余资源负载率和响应时间负载率确定各主机的健康分值;根据所述健康分值为所述主机分发所述服务请求。实现了根据主机的性能指标以及服务体验指标(响应时间)综合评估主机的健康分值,进而根据健康分值为主机分发请求,能够提升服务请求的分配调度的合理性和可靠性。
附图说明
图1为本发明服务请求分发设备实施例方案涉及的设备硬件运行环境的结构示意图;
图2为本发明服务请求分发方法第一实施例的流程示意图;
图3为本发明服务请求分发装置较佳实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,LVS(Linux Virtual Server,Linux虚拟服务器),其作为负载均衡早已应用在各大互联网公司,是一个比较成熟的开源产品。其原理为,用户的Web请求发送至LVS,LVS根据预设负载均衡算法再将该请求发送于后端集群中的真实服务器,由于后端真实服务器集群提供的是相同的服务,那么用户无论请求到任何一台真实服务器,最终的返回结果都是一致的,所以整个集群对用户而言属于透明。但是,现有的负载均衡算法一般为机械式的轮询、人为指定服务器、根据请求连接的数量调度服务器等方式,其并未考虑真实服务器的性能指标,也未考虑到影响服务器提供的服务体验的指标,导致请求的分配调度不合理。
基于上述缺陷,本发明提供一种服务请求分发设备,参照图1,图1为本发明服务请求分发设备实施例方案涉及的设备硬件运行环境的结构示意图。
如图1所示,该服务请求分发设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
本领域技术人员可以理解,图1中示出的服务请求分发设备的硬件结构并不构成对服务请求分发设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种服务请求分发方法。
在对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
常用负载均衡算法举例说明:
1.轮询算法:所有真实主机轮流均衡分配请求,未考虑真实主机的性能或服务情况;
2.加权算法:人为根据主机负载情况设置权重值,若当权重较大的机器如果故障或导致大部分服务请求失败;
3.源地址或目标地址算法:根据源或目标地址的IP请求固定到相应真实主机,无法更改后端真实主机异常的引流情况;
4.连接数算法:此方法可根据请求连接数来判断较为活跃的服务器,从而对请求较少的加大分发量,但是可能相对不活跃的服务器连接数较少是因为性能问题导致。
参照图2,图2为本发明服务请求分发方法第一实施例的流程示意图。
本发明实施例提供了服务请求分发方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在服务请求分发方法的各个实施例中,以服务请求分发设备为执行主体阐述各个实施例。服务请求分发方法包括:
步骤S10,在接收到到服务请求时,获取各主机的系统资源参数和响应时间参数;
LVS(Linux Virtual Server,Linux虚拟服务器),其作为负载均衡早已应用在各大互联网公司,是一个比较成熟的开源产品。其原理为,用户的Web请求发送至LVS,LVS根据预设负载均衡算法再将该请求发送于后端集群中的真实服务器,由于后端真实服务器集群提供的是相同的服务,那么用户无论请求到任何一台真实服务器,最终的返回结果都是一致的,所以整个集群对用户而言属于透明。但是,现有的负载均衡算法一般为机械式的轮询、人为指定服务器、根据请求连接的数量调度服务器等方式,其并未考虑真实服务器的性能指标,也未考虑到影响服务器提供的服务体验的指标,导致请求的分配调度不合理。
随着互联网技术的发展,金融机构(银行、保险、证券机构)对服务请求分发技术的要求越来越高,而现有技术中的这种服务请求分发方式,严重影响了银行等金融机构的工作效率和稳定性。
为解决现有技术中服务请求分发方案的可靠性较低的技术问题,本实施例提供了一种服务请求分发方案。
在本实施例中,在服务请求分发设备接收到服务请求时,服务请求分发设备需要获取各个主机的系统资源参数和响应时间参数。其中,系统资源参数,指的是反映主机硬件性能强弱的参数,该系统资源参数与CPU使用情况、内存容量、磁盘容量、网络带宽等性能指标中的至少一种有关;响应时间参数,指的是主机以往处理历史服务请求的响应时间。
步骤S20,根据所述系统资源参数确定系统资剩余资源负载率,以及根据所述响应时间参数确定响应时间负载率;
本实施例中,在获取到系统资源参数后,根据系统资源参数确定系统资剩余资源负载率,系统资剩余资源负载率包括剩余内存负载率Sm、剩余网络带宽负载率Sn、剩余磁盘容量负载率Sd、空闲CPU负载率Sc中的至少一种;
在获取到响应时间参数后,根据所述响应时间参数确定响应时间负载率。
在一实施场景中,所述响应时间参数包括各预设时间段内处理各历史服务请求的响应时间;
上述步骤S20中,所述根据所述响应时间参数确定响应时间负载率的步骤包括:
步骤A1,根据各预设时间段内处理各历史服务请求的响应时间,确定各所述预设时间段内响应时间的平均值;
步骤A2,根据所述响应时间的平均值计算各所述预设时间段内响应时间的标准差,根据所述标准差确定标准差均值;
步骤A3,将当前时间所处的预设时间段内响应时间的标准差与所述标准差均值的差值,确定为响应时间负载率。
由于响应时间指标不同于系统资源指标,各应用接口功能不同或处理的计算量有较大的差异,均会导致响应时间存在差异,响应时间的长短处于动态变化中,无法根据均值或单一数据评判其指标优劣。本实施例根据响应时间数据的离散度判断主机响应时间的稳定性,创新的使用分段采样并计算标准差的方式来评估各主机的响应时间。
在本实施场景中,服务请求分发设备是以预设时间段为单位,获取起始处理时刻(或者结束处理时刻)位于各预设时间段内的历史服务请求对应的响应时间的,响应时间参数为各预设时间段内处理各历史服务请求的响应时间。
在获取到各预设时间段内处理各历史服务请求的响应时间后,即可计算每个预设时间段内的历史服务请求的响应时间的平均值,即,
其中,AVG(T)为一预设时间段内的历史服务请求的响应时间的平均值;
Ti为该预设时间段内第i个历史服务请求的响应时间;
n为该预设时间段内的历史服务请求的数量。
继而,可按照标准差公式计算各预设时间段内响应时间的标准差,标准差公式为,
其中,F(T)为该预设时间段内的历史服务请求的响应时间标准差;
Ti为该预设时间段内第i个历史服务请求的响应时间;
AVG(T)为该预设时间段内的历史服务请求的响应时间的平均值;
n为该预设时间段内的历史服务请求的数量。
按照上述方式可以计算出各个预设时间段对应的标准差,再根据各个预设时间段对应的标准差计算标准差均值AVG(F),将当前时间所处的预设时间段内响应时间的标准差与该标准差均值的差值,作为响应时间负载率。
可以理解的是,预设时间段的个数可以是自主机开机起的所有分段时间段的个数;也可以是按照当前时间倒推的最近N个预设时间段,如此,能够降低运算量。
例如,若每个时间段的时长为5分钟,预设时间段的个数为按照当前时间倒推的最近3个预设时间段,主机开机时间为15:00,当前时间为15:23,则预设时间段依次为①15:00~15:05、②15:05~15:10、③15:10~15:15、④15:15~15:20、⑤15:20~15:23,则需按照上述方式计算预设时间段③、④、⑤对应的标准差F(T3)、F(T4)、F(T5),进而计算这3个预设时间段的标准差均值AVG(F)=(F(T3)+F(T4)+F(T5))/3,当前时间所处的预设时间段内响应时间的标准差为F(T5),则响应时间负载率Q=F(T5)-AVG(F)。
在一实施场景中,所述系统资源参数包括最大内存和内存使用率;
上述步骤S20中,所述根据所述系统资源参数确定系统资剩余资源负载率的步骤包括:
步骤B1,根据各主机的最大内存确定集群内存基线;
步骤B2,根据预设第一公式、所述集群内存基线、所述最大内存以及所述内存使用率,确定各主机的剩余内存负载率,所述预设第一公式为,
Sm=Tm(1-Pm)/Bm,
其中,Sm为主机的剩余内存负载率;
Tm为主机的最大内存;
Pm为主机的内存使用率;
Bm为集群内存基线。
在本实施例中,系统资源参数包括主机最大内存和内存使用率,其中,主机最大内存Tm指的是主机的内存最大容量,内存使用率Pm指的是主机当前已用内存占主机最大内存的比例。
在获取到各主机的最大内存之后,计算所有主机的最大内存的平均值,即为集群内存基线Bm。具体公式为,
其中,Bm为集群内存基线;
Tmi为第i个主机的最大内存;
n为主机的总数。
在确定集群内存基线后,即可根据集群内存基线、最大内存、内存使用率以及预设第一公式,确定各主机的剩余内存负载率。预设第一公式为,
Sm=Tm(1-Pm)/Bm,
其中,Sm为主机的剩余内存负载率;
Tm为主机的最大内存;
Pm为主机的内存使用率;
Bm为集群内存基线。
在一实施场景中,所述系统资源参数包括最大网络带宽和网络带宽使用率;
上述步骤S20中,所述根据所述系统资源参数确定系统资剩余资源负载率的步骤包括:
步骤C1,根据各主机的最大网络带宽确定集群网络带宽基线;
步骤C2,根据预设第二公式、所述集群网络带宽基线、所述最大网络带宽以及所述网络带宽使用率,确定各主机的剩余网络带宽负载率,所述预设第二公式为,
Sn=Tn(1-Pn)/Bn,
其中,Sn为主机的剩余网络带宽负载率;
Tn为主机的最大网络带宽;
Pn为主机的网络带宽使用率;
Bn为集群网络带宽基线。
在本实施例中,系统资源参数包括主机的最大网络带宽和网络带宽使用率,其中,最大网络带宽Tn指的是主机的网络带宽在单位时间内能传输的最大数据量,网络带宽使用率Pn指的是主机当前单位时间内传输的数据量占最大网络带宽的比例。
在获取到各主机的最大网络带宽之后,计算所有主机的最大网络带宽的平均值,即为集群网络带宽基线Bn。具体公式为,
其中,Bn为集群网络带宽基线;
Tni为第i个主机的最大网络带宽;
n为主机的总数。
在确定集群网络带宽基线后,即可根据集群网络带宽基线、最大网络带宽以及网络带宽使用率,以及预设第二公式,确定各主机的剩余网络带宽负载率。预设第二公式为,
Sn=Tn(1-Pn)/Bn,
其中,Sn为主机的剩余网络带宽负载率;
Tn为主机的最大网络带宽;
Pn为主机的网络带宽使用率;
Bn为集群网络带宽基线。
在一实施场景中,所述系统资源参数包括最大磁盘容量和磁盘使用率;
上述步骤S20中,所述根据所述系统资源参数确定系统资剩余资源负载率的步骤包括:
步骤D1,根据各主机的最大磁盘容量确定集群磁盘容量基线;
步骤D2,根据所述集群磁盘容量基线、所述最大磁盘容量以及所述磁盘使用率,确定各主机的剩余磁盘容量负载率。
在本实施例中,系统资源参数包括主机的最大磁盘容量和磁盘使用率,其中,磁盘使用率Pd指的是主机当前使用的磁盘容量占最大磁盘容量的比例。
在获取到各主机的最大磁盘容量之后,计算所有主机的最大磁盘容量的平均值,即为集群磁盘容量基线Bd。具体公式为,
其中,Bd为集群磁盘容量基线;
Tdi为第i个主机的最大磁盘容量;
n为主机的总数。
在确定集群磁盘容量基线后,即可根据集群磁盘容量基线、最大磁盘容量以及磁盘使用率,以及预设第三公式,确定各主机的剩余磁盘容量负载率。
第三公式为,
Sd=Td(1-Pd)/Bd,
其中,Sd为主机的剩余磁盘容量负载率;
Td为主机的最大磁盘容量;
Pd为主机的磁盘使用率;
Bd为集群磁盘容量基线。
在一实施场景中,所述系统资源参数包括CPU时间片和对应的CPU空闲时间;
上述步骤S20中,所述根据所述系统资源参数确定系统资剩余资源负载率的步骤包括:
步骤E1,根据所述CPU空闲时间和所述CPU时间片确定空闲CPU负载率。
在本实施例中,由于CPU空闲率是较为特殊的指标,CPU的繁忙程度可能在短时间内有很大的波动,因此CPU空闲率计算需在尽可能短时间内进行采样指标。故而,系统资源参数包括CPU时间片和对应的CPU空闲时间。其中,CPU时间片和对应的CPU空闲时间的获取方式,可以是通过CPU性能查看工具直接获取到的,也可以是通过与不同操作系统对应的命令获取到的,对于Linux系统,可以通过TOP命令直观地输出系统中各个进程的资源占用情况的快照,即CPU快照,再根据CPU快照确定CPU时间片和对应的CPU空闲时间。
具体地,通过TOP命令采集两个足够短的时间间隔的CPU快照,分别记作C1和C2,C1、C2的结构均为(user、nice、system、idle、iowait、irq、softirq、stealstolen、guest)的9元组;然后计算C1的9元组数据之和,得到S1,计算C2的9元组数据之和,得到S2,前述CPU时间片Ct即为两个9元组数组之和的差,即Ct=S2-S1;CPU空闲时间△idle为两个9元组数据中的idle项之差,即△idle=idle2-idle1;进而根据CPU空闲时间、CPU时间片以及第四公式确定空闲CPU负载率Sc,第四公式为,
其中,user,为从系统启动开始累计到当前时刻,处于用户态的运行时间,不包含nice值为负进程;nice,为从系统启动开始累计到当前时刻,nice值为负的进程所占用的CPU时间;system,为从系统启动开始累计到当前时刻,处于核心态的运行时间;idle,为从系统启动开始累计到当前时刻,除IO等待时间以外的其它等待时间;iowait,为从系统启动开始累计到当前时刻的IO等待时间;irq,为从系统启动开始累计到当前时刻的硬中断时间;softirq,为系统启动开始累计到当前时刻的软中断时间;stealstolen,为从系统启动开始累积到当前时刻,在虚拟环境运行时花费在其他操作系统的时间;guest,为从系统启动开始累积到当前时刻,在Linux内核控制下的操作系统虚拟CPU花费的时间。
步骤S30,根据所述系统资剩余资源负载率和响应时间负载率确定各主机的健康分值;
剩余内存负载率Sm、剩余网络带宽负载率Sn、剩余磁盘容量负载率Sd、空闲CPU负载率Sc、响应时间负载率R,
在本实施例中,服务请求分发设备的管理方预先根据对主机进行选择时的参数侧重点的不同,为各系统资源参数和响应时间参数设置了相应的权重系数,主机的健康分值为系统资源参数与对应的权重系数之积,以及响应时间参数与对应的权重系数之积的和。
其中,剩余内存负载率Sm的权重系数为Wm、剩余网络带宽负载率Sn的权重系数为Wn、剩余磁盘容量负载率Sd的权重系数为Wd、空闲CPU负载率Sc的权重系数为Wc、响应时间负载率Q的权重系数为Wq。若系统资源参数包括Sm、Sn、Sd和Sc,则主机的健康分值G=Sm*Wm+Sn*Wn+Sn*Wn+Sd*Wd+Sc*Wc+Q*Wq。
可选地,考虑到不同参数之间因为计量单位的差异,可能导致对应计算出来的负载率的数值存在较大的数量级差异,为此,可根据需要在上述公式中为对应项加入放大或缩小系数。
步骤S40,根据所述健康分值为所述主机分发所述服务请求。
在本实施例中,在确定各主机的健康分值之后,即可按照主机健康分值的大小分发服务请求,其分配原则为,健康分值越高,给该主机分发的服务请求的数量越多,健康分值越低,给该主机分发的服务请求的数量越少
本实施例通过在接收到到服务请求时,获取各主机的系统资源参数和响应时间参数;根据所述系统资源参数确定系统资剩余资源负载率,以及根据所述响应时间参数确定响应时间负载率;根据所述系统资剩余资源负载率和响应时间负载率确定各主机的健康分值;根据所述健康分值为所述主机分发所述服务请求。实现了根据主机的性能指标以及服务体验指标(响应时间)综合评估主机的健康分值,进而根据健康分值为主机分发请求,能够提升服务请求的分配调度的合理性和可靠性。
进一步地,提出本发明服务请求分发方法第二实施例,上述步骤S40包括:
步骤F1,计算各所述主机的健康分值的和,确定各所述主机的健康分值与所述和的比值;
步骤F2,按照所述比值为所述主机分发所述服务请求。
在本实施例中,提供了一种按照各主机的健康分值与所有主机的健康分值的和的比例分发服务请求的方式。
具体为,确定待分发的服务请求的总数量,根据比值与总数量确定分配给响应主机的服务请求的数量,再按照该数量为对应的主机分发对应数量的服务请求。例如,若主机A、B、C计算得到的比值分别为0.23、0.35、0.42,待分发的服务请求的总数量为1000,则分发给主机A、B、C的请求数量依次为230、350、420。
本发明还提供一种服务请求分发装置。
参照图3,图3为本发明服务请求分发装置第一实施例的功能模块示意图。所述服务请求分发装置包括:
获取模块10,用于在接收到到服务请求时,获取各主机的系统资源参数和响应时间参数;
负载率确定模块20,用于根据所述系统资源参数确定系统资剩余资源负载率,以及根据所述响应时间参数确定响应时间负载率;
分值确定模块30,用于根据所述系统资剩余资源负载率和响应时间负载率确定各主机的健康分值;
请求分发模块40,用于根据所述健康分值为所述主机分发所述服务请求。
进一步地,所述响应时间参数包括各预设时间段内处理各历史服务请求的响应时间;
所述负载率确定模块,还用于:
根据各预设时间段内处理各历史服务请求的响应时间,确定各所述预设时间段内响应时间的平均值;
根据所述响应时间的平均值计算各所述预设时间段内响应时间的标准差,根据所述标准差确定标准差均值;
将当前时间所处的预设时间段内响应时间的标准差与所述标准差均值的差值,确定为响应时间负载率。
进一步地,所述系统资源参数包括最大内存和内存使用率;
所述负载率确定模块,还用于:
根据各主机的最大内存确定集群内存基线;
根据预设第一公式、所述集群内存基线、所述最大内存以及所述内存使用率,确定各主机的剩余内存负载率,所述预设第一公式为,
Sm=Tm(1-Pm)/Bm,
其中,Sm为主机的剩余内存负载率;
Tm为主机的最大内存;
Pm为主机的内存使用率;
Bm为集群内存基线。
进一步地,所述系统资源参数包括最大网络带宽和网络带宽使用率;
所述负载率确定模块,还用于:
根据各主机的最大网络带宽确定集群网络带宽基线;
根据预设第二公式、所述集群网络带宽基线、所述最大网络带宽以及所述网络带宽使用率,确定各主机的剩余网络带宽负载率,所述预设第二公式为,
Sn=Tn(1-Pn)/Bn,
其中,Sn为主机的剩余网络带宽负载率;
Tn为主机的最大网络带宽;
Pn为主机的网络带宽使用率;
Bn为集群网络带宽基线。
进一步地,所述系统资源参数包括最大磁盘容量和磁盘使用率;
所述负载率确定模块,还用于:
根据各主机的最大磁盘容量确定集群磁盘容量基线;
根据所述集群磁盘容量基线、所述最大磁盘容量以及所述磁盘使用率,确定各主机的剩余磁盘容量负载率。
进一步地,所述系统资源参数包括CPU时间片和对应的CPU空闲时间;
所述负载率确定模块,还用于:
根据所述CPU空闲时间和所述CPU时间片确定空闲CPU负载率。
进一步地,所述请求分发模块,还用于:
计算各所述主机的健康分值的和,确定各所述主机的健康分值与所述和的比值;
按照所述比值为所述主机分发所述服务请求。
本发明服务请求分发装置具体实施方式与上述服务请求分发方法各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质。
计算机可读存储介质上存储有服务请求分发程序,服务请求分发程序被处理器执行时实现如上所述的服务请求分发方法的步骤。
本发明计算机可读存储介质具体实施方式与上述服务请求分发方法各实施例基本相同,在此不再赘述。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本发明的保护之内。
Claims (10)
1.一种服务请求分发方法,其特征在于,所述服务请求分发方法包括以下步骤:
在接收到到服务请求时,获取各主机的系统资源参数和响应时间参数;
根据所述系统资源参数确定系统资剩余资源负载率,以及根据所述响应时间参数确定响应时间负载率;
根据所述系统资剩余资源负载率和响应时间负载率确定各主机的健康分值;
根据所述健康分值为所述主机分发所述服务请求。
2.如权利要求1所述的服务请求分发方法,其特征在于,所述响应时间参数包括各预设时间段内处理各历史服务请求的响应时间;
所述根据所述响应时间参数确定响应时间负载率的步骤包括:
根据各预设时间段内处理各历史服务请求的响应时间,确定各所述预设时间段内响应时间的平均值;
根据所述响应时间的平均值计算各所述预设时间段内响应时间的标准差,根据所述标准差确定标准差均值;
将当前时间所处的预设时间段内响应时间的标准差与所述标准差均值的差值,确定为响应时间负载率。
3.如权利要求2所述的服务请求分发方法,其特征在于,所述系统资源参数包括最大内存和内存使用率;
所述根据所述系统资源参数确定系统资剩余资源负载率的步骤包括:
根据各主机的最大内存确定集群内存基线;
根据预设第一公式、所述集群内存基线、所述最大内存以及所述内存使用率,确定各主机的剩余内存负载率,所述预设第一公式为,
Sm=Tm(1-Pm)/Bm,
其中,Sm为主机的剩余内存负载率;
Tm为主机的最大内存;
Pm为主机的内存使用率;
Bm为集群内存基线。
4.如权利要求2所述的服务请求分发方法,其特征在于,所述系统资源参数包括最大网络带宽和网络带宽使用率;
所述根据所述系统资源参数确定系统资剩余资源负载率的步骤包括:
根据各主机的最大网络带宽确定集群网络带宽基线;
根据预设第二公式、所述集群网络带宽基线、所述最大网络带宽以及所述网络带宽使用率,确定各主机的剩余网络带宽负载率,所述预设第二公式为,
Sn=Tn(1-Pn)/Bn,
其中,Sn为主机的剩余网络带宽负载率;
Tn为主机的最大网络带宽;
Pn为主机的网络带宽使用率;
Bn为集群网络带宽基线。
5.如权利要求2所述的服务请求分发方法,其特征在于,所述系统资源参数包括最大磁盘容量和磁盘使用率;
所述根据所述系统资源参数确定系统资剩余资源负载率的步骤包括:
根据各主机的最大磁盘容量确定集群磁盘容量基线;
根据所述集群磁盘容量基线、所述最大磁盘容量以及所述磁盘使用率,确定各主机的剩余磁盘容量负载率。
6.如权利要求2所述的服务请求分发方法,其特征在于,所述系统资源参数包括CPU时间片和对应的CPU空闲时间;
所述根据所述系统资源参数确定系统资剩余资源负载率的步骤包括:
根据所述CPU空闲时间和所述CPU时间片确定空闲CPU负载率。
7.如权利要求1所述的服务请求分发方法,其特征在于,所述根据所述健康分值为所述主机分发所述服务请求的步骤包括:
计算各所述主机的健康分值的和,确定各所述主机的健康分值与所述和的比值;
按照所述比值为所述主机分发所述服务请求。
8.一种服务请求分发装置,其特征在于,所述服务请求分发装置包括:
获取模块,用于在接收到到服务请求时,获取各主机的系统资源参数和响应时间参数;
负载率确定模块,用于根据所述系统资源参数确定系统资剩余资源负载率,以及根据所述响应时间参数确定响应时间负载率;
分值确定模块,用于根据所述系统资剩余资源负载率和响应时间负载率确定各主机的健康分值;
请求分发模块,用于根据所述健康分值为所述主机分发所述服务请求。
9.一种服务请求分发设备,其特征在于,所述服务请求分发设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的服务请求分发程序,所述服务请求分发程序被所述处理器执行时实现如权利要求1-7中任一项所述的服务请求分发方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有服务请求分发程序,所述服务请求分发程序被处理器执行时实现如权利要求1-7中任一项所述的服务请求分发方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111237622.2A CN113992689A (zh) | 2021-10-22 | 2021-10-22 | 服务请求分发方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111237622.2A CN113992689A (zh) | 2021-10-22 | 2021-10-22 | 服务请求分发方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113992689A true CN113992689A (zh) | 2022-01-28 |
Family
ID=79740737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111237622.2A Pending CN113992689A (zh) | 2021-10-22 | 2021-10-22 | 服务请求分发方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113992689A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117082083A (zh) * | 2023-08-30 | 2023-11-17 | 杭州浩联智能科技有限公司 | 一种基于分布式物联网架构的数据存储方法、装置及介质 |
-
2021
- 2021-10-22 CN CN202111237622.2A patent/CN113992689A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117082083A (zh) * | 2023-08-30 | 2023-11-17 | 杭州浩联智能科技有限公司 | 一种基于分布式物联网架构的数据存储方法、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106790726B (zh) | 一种基于Docker云平台的优先级队列动态反馈负载均衡资源调度方法 | |
US20170177221A1 (en) | Dynamic core allocation for consistent performance in a non-preemptive scheduling environment | |
US9396026B2 (en) | Allocating a task to a computer based on determined resources | |
US10250684B2 (en) | Methods and systems for determining performance capacity of a resource of a networked storage environment | |
CN106452818B (zh) | 一种资源调度的方法和系统 | |
WO2017167025A1 (zh) | 一种实现任务调度的方法、装置及计算机存储介质 | |
US8789050B2 (en) | Systems and methods for transparently optimizing workloads | |
US7793297B2 (en) | Intelligent resource provisioning based on on-demand weight calculation | |
US20080007765A1 (en) | Load distribution control system and method | |
US20150095485A1 (en) | Reactive throttling of heterogeneous migration sessions in a virtualized cloud environment | |
US10469582B2 (en) | Methods and systems for managing provisioning requests in a networked storage environment | |
US20170024144A1 (en) | Methods and systems using observation based techniques for determining performance capacity of a resource of a networked storage environment | |
JP2012118987A (ja) | メモリ使用量照会ガバナのためのコンピュータ実装方法、コンピュータ・プログラム、およびシステム(メモリ使用量照会ガバナ) | |
US10419305B2 (en) | Visualization of workload distribution on server resources | |
CN113342477B (zh) | 一种容器组部署方法、装置、设备及存储介质 | |
US20120233313A1 (en) | Shared scaling server system | |
US10210023B2 (en) | Methods and systems for managing service level objectives in a networked storage environment | |
KR20100138885A (ko) | 라우팅 워크로드들 및 그 계산방법 | |
CN112835698A (zh) | 一种基于异构集群的请求分类处理的动态负载均衡方法 | |
US20220407817A1 (en) | Resource allocation using distributed segment processing credits | |
US10511511B2 (en) | Methods and systems for determining performance capacity of a resource of a networked storage environment | |
US10754368B1 (en) | Method and system for load balancing backup resources | |
CN113992689A (zh) | 服务请求分发方法、装置、设备及计算机可读存储介质 | |
CN115102913A (zh) | 基于用户行为的云桌面资源配置方法、系统及存储介质 | |
US20150215234A1 (en) | Application service level objective aware demand estimation |
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 |