本发明涉及金融科技(fintech)技术领域,尤其涉及负载均衡方法、装置、系统与计算机可读存储介质。
背景技术:
近年来,随着金融科技(fintech),尤其是互联网金融的不断发展,负载均衡技术被引入银行等金融机构的日常服务中。由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法应对银行等金融机构的日常服务,因此,如何扩展现有网络设备和服务器的处理能力和计算能力,是银行等金融机构亟待解决的技术问题。
除了硬件升级,现有技术一般采用负载均衡的方式来扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性,其原理一般是采集机器的历史响应时间作为数据样本,然后根据数据样本计算每台机器的相响应时间,从而为每台机器进行权重分配,再根据权重,为每台机器分配处理任务。
然而,现有的负载均衡方式,常常会因为数据样本中存在一些异常原因导致的离群值,导致计算结果存在偏差,且依赖大量长期数据,对于短期样本数据无法做到准确预测,使得最终的权重分配不合理。
技术实现要素:
本发明的主要目的在于提出一种负载均衡方法、装置、系统与计算机可读存储介质,旨在提高负载均衡过程中权重分配的合理性。
为实现上述目的,本发明提供一种负载均衡方法,所述负载均衡方法包括如下步骤:
采集目标机器的请求响应集合,并对所述请求响应集合进行对数变换处理,以得到所述目标机器的平均响应系数序列;
基于所述平均响应系数序列,确定所述目标机器的拟合函数,并基于所述拟合函数,预测所述目标机器的目标平均响应系数;
基于所述目标平均响应系数,确定所述目标机器的权重值。
优选地,所述采集目标机器的请求响应集合,并对所述请求响应集合进行对数变换处理,以得到所述目标机器的平均响应系数序列的步骤包括:
采集目标机器的请求响应集合,并依次对所述请求响应集合中的响应时间进行对数变换处理,以得到所述目标机器的响应系数序列;
基于所述响应系数序列,计算所述目标机器的平均响应系数;
确定所述目标机器的采集频率,并基于所述采集频率和所述平均响应系数,确定所述目标机器的平均响应系数序列。
优选地,所述基于所述目标平均响应系数,确定所述目标机器的权重值的步骤之后,所述负载均衡方法还包括:
基于所述目标平均响应系数,确定所述目标机器的目标采集频率,并基于所述目标采集频率,更新所述采集频率。
优选地,所述基于所述平均响应系数序列,确定所述目标机器的拟合函数,并基于所述拟合函数,预测所述目标机器的目标平均响应系数的步骤包括:
对所述平均响应系数序列进行累加处理,以得到所述目标机器的准指数平稳序列;
基于所述目标机器的自回归模型和所述准指数平稳序列,确定所述自回归模型的阶系数;
基于所述自回归模型和所述阶系数,确定所述目标机器的拟合函数;
基于所述拟合函数和所述准指数平稳序列,预测所述目标机器的目标平均响应系数。
优选地,所述基于所述拟合函数和所述准指数平稳序列,预测所述目标机器的目标平均响应系数的步骤包括:
基于所述拟合函数,确定所述准指数平稳序列中的目标值;
基于所述目标值和所述拟合函数,预测所述目标机器的目标平均响应系数。
优选地,所述基于所述目标值和所述拟合函数,预测所述目标机器的目标平均响应系数的步骤包括:
基于所述目标值和所述拟合函数,计算所述准指数平稳序列对应的预测值;
基于所述预测值,预测所述目标机器的目标平均响应系数。
优选地,所述基于所述目标平均响应系数,确定所述目标机器的权重值的步骤包括:
基于所述目标平均响应系数,确定所述目标机器所处的负载状态区间,并确定所述负载状态区间对应的权重计算公式;
基于所述目标平均响应系数和所述权重计算公式,确定所述目标机器的权重值。
此外,为实现上述目的,本发明还提供一种负载均衡装置,所述负载均衡装置包括:
采集模块,用于采集目标机器的请求响应集合,并对所述请求响应集合进行对数变换处理,以得到所述目标机器的平均响应系数序列;
预测模块,用于基于所述平均响应系数序列,确定所述目标机器的拟合函数,并基于所述拟合函数,预测所述目标机器的目标平均响应系数;
确定模块,用于基于所述目标平均响应系数,确定所述目标机器的权重值。
优选地,所述采集模块还用于:
采集目标机器的请求响应集合,并依次对所述请求响应集合中的响应时间进行对数变换处理,以得到所述目标机器的响应系数序列;
基于所述响应系数序列,计算所述目标机器的平均响应系数;
确定所述目标机器的采集频率,并基于所述采集频率和所述平均响应系数,确定所述目标机器的平均响应系数序列。
优选地,所述负载均衡装置还包括更新模块,所述更新模块用于:
基于所述目标平均响应系数,确定所述目标机器的目标采集频率,并基于所述目标采集频率,更新所述采集频率。
优选地,所述预测模块还用于:
对所述平均响应系数序列进行累加处理,以得到所述目标机器的准指数平稳序列;
基于所述目标机器的自回归模型和所述准指数平稳序列,确定所述自回归模型的阶系数;
基于所述自回归模型和所述阶系数,确定所述目标机器的拟合函数;
基于所述拟合函数和所述准指数平稳序列,预测所述目标机器的目标平均响应系数。
优选地,所述预测模块还用于:
基于所述拟合函数,确定所述准指数平稳序列中的目标值;
基于所述目标值和所述拟合函数,预测所述目标机器的目标平均响应系数。
优选地,所述预测模块还用于:
基于所述目标值和所述拟合函数,计算所述准指数平稳序列对应的预测值;
基于所述预测值,预测所述目标机器的目标平均响应系数。
优选地,所述确定模块还用于:
基于所述目标平均响应系数,确定所述目标机器所处的负载状态区间,并确定所述负载状态区间对应的权重计算公式;
基于所述目标平均响应系数和所述权重计算公式,确定所述目标机器的权重值。
此外,为实现上述目的,本发明还提供一种负载均衡系统,所述负载均衡系统包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的负载均衡程序,所述负载均衡程序被所述处理器执行时实现如上所述的负载均衡方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有负载均衡程序,所述负载均衡程序被处理器执行时实现如上所述的负载均衡方法的步骤。
本发明提出的负载均衡方法,采集目标机器的请求响应集合,并对所述请求响应集合进行对数变换处理,以得到所述目标机器的平均响应系数序列;基于所述平均响应系数序列,确定所述目标机器的拟合函数,并基于所述拟合函数,预测所述目标机器的目标平均响应系数;基于所述目标平均响应系数,确定所述目标机器的权重值。本发明在采集样本数据的时候,对样本数据进行对数变换处理,减少离群值的干扰,然后根据样本数据构建拟合函数,准确预测目标机器的目标平均响应系数,再根据目标平均响应系数确定目标机器的权重值,提高负载均衡过程中权重分配的合理性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的系统结构示意图;
图2为本发明负载均衡方法第一实施例的流程示意图;
图3为本发明负载均衡方法第一实施例中,未对样本数据进行对数变换的曲线示意图;
图4为本发明负载均衡方法第一实施例中,对样本数据进行对数变换之后的曲线示意图;
图5为本发明负载均衡方法第一实施例中,对样本数据进行一阶累加之后的趋势示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的系统结构示意图。
本发明实施例系统包括移动终端或服务器设备。
如图1所示,该系统可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的系统结构并不构成对系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及负载均衡程序。
其中,操作系统是管理和控制负载均衡系统与软件资源的程序,支持网络通信模块、用户接口模块、负载均衡程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1002;用户接口模块用于管理和控制用户接口1003。
在图1所示的负载均衡系统中,所述负载均衡系统通过处理器1001调用存储器1005中存储的负载均衡程序,并执行下述负载均衡方法各个实施例中的操作。
基于上述硬件结构,提出本发明负载均衡方法实施例。
参照图2,图2为本发明负载均衡方法第一实施例的流程示意图,所述方法包括:
步骤s10,采集目标机器的请求响应集合,并对所述请求响应集合进行对数变换处理,以得到所述目标机器的平均响应系数序列;
步骤s20,基于所述平均响应系数序列,确定所述目标机器的拟合函数,并基于所述拟合函数,预测所述目标机器的目标平均响应系数;
步骤s30,基于所述目标平均响应系数,确定所述目标机器的权重值。
本实施例负载均衡方法运用于理财机构或者银行等金融机构的负载均衡系统中,负载均衡系统包括多个终端、机器人或者pc设备等,为描述方便,负载均衡系统以系统简称,终端、机器人或者pc设备等以机器简称。在本实施例中,系统对接多个机器,并在接收到业务请求时,根据各个机器的权重值,将业务请求分配至各个机器中,以实现系统的负载均衡。
本实施例为获得各个机器的权重值,需先采集各个机器的请求响应集合,同时,为减少离群值的干扰,在采集各个机器的请求响应集合后,对请求响应集合进行对数变换处理,从而得到样本数据更为适用的平均响应系数序列,再根据平均响应系数序列,预测各个机器的目标平均响应系数,最后通过目标平均响应系数,反推各个机器的权重值,使得各个机器的权重值的分配更为准确,后续在接收到业务请求时,即可根据各个机器的权重值进行分配,在确保业务请求得到最优解的同时,也能避免各个机器的资源浪费,实现负载均衡。
以下将对各个步骤进行详细说明:
步骤s10,采集目标机器的请求响应集合,并对所述请求响应集合进行对数变换处理,以得到所述目标机器的平均响应系数序列。
在本实施例中,系统先采集目标机器的请求响应集合,具体的,采集目标机器响应每个业务请求的响应时间,在本实施例中,将每个业务请求的响应时间表示t,系统收集完毕产生一个数据集合{t1,t2,t3......tn},即为目标机器的请求响应集合,式中n为请求样本量,n的具体数值可根据实际情况进行设置。
可知的,在采集的请求响应集合中,很可能存在一些异常原因导致的离群值,如某个业务请求的响应时间由于机器异常原因,导致当前业务请求的响应时间较其他业务请求的正常响应时间长,显然此时的响应时间不能代表机器的正常请求响应时间,为避免对后续机器的权重值的评估造成较大的误差,一般做法是将离群值剔除,从而得到数值较为正常的样本数据,然而,此种做法会使得样本数据不连贯,不利于后续对机器的权重值进行评估。
因此,本实施例在采集到目标机器的请求响应集合后,会对请求响应集合进行对数变换处理,使得样本数据更为集中,更具代表性。
具体的,在一实施例中,步骤s10包括:
步骤a1,采集目标机器的请求响应集合,并依次对所述请求响应集合中的响应时间进行对数变换处理,以得到所述目标机器的响应系数序列;
在一实施例中,系统采集目标机器的请求响应集合,然后,依次对请求响应集合中的响应时间进行对数变换处理,具体的,依次对请求响应集合中的每一个响应时间取自然对数,得到每一个响应时间对应的响应系数,如当前业务请求的响应时间为1203(单位ms),则取当前响应时间的自然对数,得到对应的响应系数为7.092574。
在对请求响应集合中的响应时间取自然对数之后,得到的所有响应系数即构成一个响应系数序列,如目标机器的请求响应集合为{t1,t2,t3......tn},则当前得到的目标机器的响应系数序列可表示为{ln(t1),ln(t2),ln(t3)......ln(tn)}。
如当前请求响应集合中有10个请求响应时间,分别是{1203,902,1102,2301,3001,522,5049,1500,1200,1010},则在进行对数变换之后,得到对应的响应系数分别为{7.092574,6.804615,7.004882,7.741099,8.006701,6.257668,8.526945,7.31322,7.090077,6.917706},此时,{7.092574,6.804615,7.004882,7.741099,8.006701,6.257668,8.526945,7.31322,7.090077,6.917706}即构成一个响应系数系列。
基于上述例子中的数据,参照图3和图4,可得到不同请求在目标机器的实际请求响应时间的方差为1288.502775,也即图3的方差为1288.502775,而在对响应时间进行数据降噪处理,也即对数变换之后,得到的响应系数的方差为0.620144,也即图4的方差为0.620144,可见,对数变换处理会让样本数据体现得更集中,能够大大减少离群值对样本数据的干扰。
步骤a2,基于所述响应系数序列,计算所述目标机器的平均响应系数;
接着,根据得到的响应系数序列,计算目标机器的平均响应系数,具体的,可根据公式:
计算出当前时间目标机器的平均响应系数f,如上述例子中的数据,将其代入上述公式,得到当前时间目标机器的平均响应系数f=7.2755。
步骤a3,确定所述目标机器的采集频率,并基于所述采集频率和所述平均响应系数,确定所述目标机器的平均响应系数序列。
然后,确定目标机器的采集频率,再按照采集频率,采集目标机器多个平均响应系数,从而得到目标机器的平均响应系数序列,其中,采集频率在首次执行时,可采用默认初始化值,如2min,也即,每2min采集一次目标机器的请求响应集合,并基于请求响应集合计算目标机器当前的平均响应系数,从而得到目标机器的平均响应系数序列{f1,f2,f3......fm},其中,m的数值可根据实际情况进行设置,如10等。
需要说明的是,采集频率除了在首次执行采集时采用初始化值,在后续会随着目标机器的负载状态进行动态调整,具体参见第三实施例说明。
在一实施例中,m的数值不超过基于初始采集频率确定,如初始采集频率为2min时,m的数值不超过15,这是由于初始数据采集频率为2min一次,15个平均响应系数则需要30min,因此,m值若过大,则会导致初始时期负载均衡策略生效时间过长,也即,步骤a3包括:
确定所述目标机器的采集频率,以及所述目标机器的负载均衡策略生效时间;
基于所述采集频率和所述负载均衡策略生效时间,确定所述目标机器的样本数;
按照所述采集频率,采集所述目标机器所述样本数对应数量的平均响应系数,从而得到目标机器的平均响应系数序列。
其中,负载均衡策略生效时间可根据实际情况进行设置,如30min,因此,可根据采集频率和负载均衡策略生效时间确定具体的样本数,也即m的值,然后采集目标机器m个平均响应系数,从而得到目标机器的平均响应系数系列{f1,f2,f3......fm}。
步骤s20基于所述平均响应系数序列,确定所述目标机器的拟合函数,并基于所述拟合函数,预测所述目标机器的目标平均响应系数。
在本实施例中,在得到目标机器的平均响应系数序列之后,根据平均响应系数序列,对目标机器的下一平均响应系数进行预测,也即,以目标机器自身的样本数据来预测目标机器的下一平均响应系数。
具体的,在一实施例中,步骤s20包括:
步骤b1,对所述平均响应系数序列进行累加处理,以得到所述目标机器的准指数平稳序列;
在一实施例中,系统先对平均响应系数序列进行累加处理,具体的,做一阶累加,以得到目标机器的准指数平稳序列,这是为了提高短期数据预测的准确度,因此,对平均响应系数序列的规律性进行增强,具体对平均响应系数序列做一阶累加计算,获得准指数平稳序列,使得样本数据由随着x轴波动增减,变为随着x轴单调递增,增强样本数据的规律性。
具体的,一阶累加公式为:
其中:
fk为平均响应系数序列,也即f序列中的第k个值。
以f序列={6.875548,6.929921,7.129012,7.275543,7.598712,7.401293,7.820943,8.149275,8.120958,8.291274}为例,将各个平均响应系数代入上述公式,得到目标机器的准指数平稳序列g={6.8755,13.8054,20.9344,28.2100,35.8087,43.2100,51.0309,59.1802,67.3012,75.5924}。
此时的样本数据如图5所示,不再随x轴波动增减,而是随着x轴单调递增,增强了样本数据的规律性。
步骤b2,基于所述目标机器的自回归模型和所述准指数平稳序列,确定所述自回归模型的阶系数;
在一实施例中,在得到目标机器的准指数平稳序列之后,根据目标机器的自回归模型和确定的准指数平稳序列,确定自回归模型的阶系数,其中,自回归模型的表达式为:
其中,p为阶数,
在具体实施时,p可根据实际情况进行设置,如定义为3,以上述例子中的数据为例,将g={6.8755,13.8054,20.9344,28.2100,35.8087,43.2100,51.0309,59.1802,67.3012,75.5924}中的值依次作为x变量,输入模型中,计算得到一阶系数
在实际应用中,理论上最少样本数应该大于p+1,也即准指数平稳序列中的值的数量大于p+1,其中,p>2。其中p的取值,是在避免计算量过大的情况下,让随机误差项εt的方差尽可能的小,因此,在一实施例中,可采集多组目标机器的历史数据,也即历史响应时间的请求响应集合,作为样本数据,代入上述公式,并求得使εt的方差最小的p值。在具体实施时,p优选取3,所以最少样本数至少为5,也即准指数平稳序列中至少要有5个值,也即至少采集5个请求响应集合。
步骤b3,基于所述自回归模型和所述阶系数,确定所述目标机器的拟合函数;
在一实施例中,根据自回归模型和自回归模型的阶系数,最后可得到目标机器的拟合函数,如上例子,最终的拟合函数为:
xt=1.5175777966424207*xt-1+0.004977726443854635*xt-2+(-0.5244185399151391)*xt-3
步骤b4,基于所述拟合函数和所述准指数平稳序列,预测所述目标机器的目标平均响应系数。
在一实施例中,根据拟合函数和准指数平稳序列,将准指数平稳序列中的值代入拟合函数中,从而预测目标机器的目标平均响应系数。
具体的,在一实施例中,步骤b4包括:
步骤b41,基于所述拟合函数,确定所述准指数平稳序列中的目标值;
在一实施例中,在将准指数平稳序列中的值代入拟合函数的过程中,需先确定准指数平稳序列中的目标值,也即,并不需要将准指数平稳序列中的值全部代入,而只需将其中的目标值代入即可。
在一实施例中,准指数平稳序列中的目标值,与拟合函数的阶数相关,也即,拟合函数的阶数是多少,则将准指数平稳序列中最后几个值作为目标值,如上述例子,由于p为3,则最终得到的拟合函数的阶数为3,因此,将准指数平稳序列中最后三个值作为目标值等。
当然,虽然最后计算预测值的时候只取目标值,但是样本数量大小会对拟合函数的各阶系数计算有影响,样本数据量越多,拟合函数的拟合度越高,各阶系数的取值更精确,但也不是越大越好,样本数据越大计算量越大,效果提升也呈现边际效应,会造成计算资源的浪费。在实际应用中,根据最小随机误差项εt的方差和负载均衡策略生效时间,确定适宜样本数为10。
步骤b42,基于所述目标值和所述拟合函数,预测所述目标机器的目标平均响应系数。
最后,只需将目标值代入拟合函数,即可预测目标机器的目标平均响应系数。
在一实施例中,步骤b42包括:
基于所述目标值和所述拟合函数,计算所述准指数平稳序列对应的预测值;
基于所述预测值,预测所述目标机器的目标平均响应系数。
也即,将准指数平稳序列中的目标值代入拟合函数后,先直接得到准指数平稳序列对应的预测值,该预测值指的是准指数平稳序列的下一个预测值,也即准指数平稳序列中最后一个值之后的未来值,如上所示拟合函数,由于p定义为3,因此,只需将准指数平稳序列中的最后三个值{59.1802,67.3012,75.5924}依次作为xt-3,xt-2,xt-1,代入拟合函数,计算出xt值为84.0171等。
最后,用准指数平稳序列的预测值减去其前值,即可得到目标机器的下一周期预测的平均响应系数,也即目标平均响应系数。
具体公式为:
ft=xt-xt-1
如上所示例子,将75.5924和84.0171代入公式,即可得到目标机器的目标平均响应系数为8.4247。
步骤s30,基于所述目标平均响应系数,确定所述目标机器的权重值。
在本实施例中,在确定目标机器的目标平均响应系数,也即确定目标机器在下一次处理业务请求的平均响应系数之后,即可确定目标机器的权重值。
在一实施例中,事先建立平均响应系数与权重值的映射表,在确定了目标机器的目标平均响应系数之后,即可根据映射表,确定目标机器的权重值,后续在检测到业务请求时,根据目标机器的权重值进行业务请求的分配,如权重值高,则会分配更多的业务请求,权重值低,则分配较少业务请求等。
本实施例采集目标机器的请求响应集合,并对所述请求响应集合进行对数变换处理,以得到所述目标机器的平均响应系数序列;基于所述平均响应系数序列,确定所述目标机器的拟合函数,并基于所述拟合函数,预测所述目标机器的目标平均响应系数;基于所述目标平均响应系数,确定所述目标机器的权重值。本发明在采集样本数据的时候,对样本数据进行对数变换处理,减少离群值的干扰,然后根据样本数据构建拟合函数,准确预测目标机器的目标平均响应系数,再根据目标平均响应系数确定目标机器的权重值,提高负载均衡过程中权重分配的合理性。
进一步地,基于本发明负载均衡方法第一实施例,提出本发明负载均衡方法第二实施例。
负载均衡方法的第二实施例与负载均衡方法的第一实施例的区别在于,步骤s30包括:
步骤c1,基于所述目标平均响应系数,确定所述目标机器所处的负载状态区间,并确定所述负载状态区间对应的权重计算公式;
步骤c2,基于所述目标平均响应系数和所述权重计算公式,确定所述目标机器的权重值。
本实施例在根据目标机器的目标平均响应系数确定目标机器的权重值的过程中,提出一种更加科学的计算方式,使得最终确定的目标机器的权重值更具有参考价值。
以下将对各个步骤进行详细说明:
步骤c1,基于所述目标平均响应系数,确定所述目标机器所处的负载状态区间,并确定所述负载状态区间对应的权重计算公式。
在本实施例中,系统先根据确定目标平均响应系数,确定目标机器所处的负载状态区间,在具体实施时,事先设置四个负载状态区间:
0<f<=ll:低负载状态;
ll<f<=lh:正常负载状态;
lh<f<=lx:高负载状态;
lx<f:饱和负载状态。
其中,f为目标平均响应系数,ll取值7.3000,lh取值8.4000,lx取值8.9000。
如当前有3台机器,甲、乙和丙,初始权重值都为5,在经过预测之后,甲机器的下一个周期预测平均响应系数结果为f甲=8.4247,乙机器的下一个周期预测平均响应系数结果为f乙=7.0132,丙机器的下一个周期预测平均响应系数结果为f丙=8.0210。
通过比较可知,甲处于高负载状态,乙处于低负载状态,丙处于正常负载状态。
然后,根据负载状态区间,确定权重计算公式,具体的:
低负载状态对应的权重计算公式为:w=w初始值+a(ll-f)
正常负载状态对应的权重计算公式为:w=w初始值
高负载状态对应的权重计算公式为:w=w初始值-b(f-lh)
饱和负载状态对应的权重计算公式为:w=0
其中,a和b为可调的差异敏感参数,可根据实际情况进行设置,在本实施例中,优选a设置为10,b设置为10。
步骤c2,基于所述目标平均响应系数和所述权重计算公式,确定所述目标机器的权重值。
在本实施例中,在确定了目标机器的目标平均响应系数和对应的权重计算公式之后,即可计算目标机器的权重值。
如上述例子,甲机器的权重值为w甲=5-10(8.4247-8.4000)=4.753;乙机器的权重值为w乙=5+10(7.3000-7.0132)=7.868;丙的权重值为w丙=5。
后续系统在检测到业务请求时,由于乙机器的权重值最高,则会分配更多的业务请求,处理更多的业务;甲机器因为权重值最低,则会分配少量的业务请求,处理少量的业务。
本实施例在确定目标机器的权重值时,先确定目标机器所处的负载状态区间,根据负载状态区间确定对应的权重计算公式,再根据权重计算公式和之前确定的目标平均响应系数,确定目标机器的权重值,使得目标机器的权重值分配更为合理。
进一步地,基于本发明负载均衡方法第一、第二实施例,提出本发明负载均衡方法第三实施例。
负载均衡方法的第三实施例与负载均衡方法的第一、第二实施例的区别在于,步骤s30之后,负载均衡方法还包括:
步骤d,基于所述目标平均响应系数,确定所述目标机器的目标采集频率,并基于所述目标采集频率,更新所述采集频率。
本实施例的采集频率除了在首次执行采集时采用初始化值,在后续会随着目标机器的负载状态进行动态调整,具体根据机器的目标平均响应系数进行动态调整。
以下将对各个步骤进行详细说明:
步骤d,基于所述目标平均响应系数,确定所述目标机器的目标采集频率,并基于所述目标采集频率,更新所述采集频率。
在本实施例中,系统根据目标平均响应系数确定目标机器的目标采集频率,也即下一采集是什么时候,具体的,先确定目标平均响应系数所处的频率区间,在具体实施时,预设0<f<=lh时:收集频率值设置为第一采集频率,如10min等;lh<f时:收集频率值设置为第二采集频率,如3min等。
因此,可根据目标机器的目标平均响应系数,确定目标机器的目标采集频率具体是第一采集频率还是第二采集频率,然后更新目标机器的采集频率。
如目标机器的初始采集频率为2min,基于上述实施例的例子,甲机器f甲=8.4247,乙机器f乙=7.0132,丙机器f丙=8.0210,又因为lh取值8.4000,因此,甲机器的采集频率为第二采集频率,3min,乙机器的采集频率为第一采集频率,10min,丙机器的采集频率为第一采集频率,10min。
也即,负载高的机器样本数据收集频率也高,可以达到更灵敏的调节效果,而负载低的机器样本数据收集频率也低,可以避免计算资源的浪费,从而达到最优化资源使用、最大化吞吐率、最小化响应时间、避免机器过载的负载均衡效果。
本实施例的采集频率为一个动态调整的数值,可根据机器的负载情况灵活调整,从而实现负载均衡。
本发明还提供一种负载均衡装置。本发明负载均衡装置包括:
采集模块,用于采集目标机器的请求响应集合,并对所述请求响应集合进行对数变换处理,以得到所述目标机器的平均响应系数序列;
预测模块,用于基于所述平均响应系数序列,确定所述目标机器的拟合函数,并基于所述拟合函数,预测所述目标机器的目标平均响应系数;
确定模块,用于基于所述目标平均响应系数,确定所述目标机器的权重值。
优选地,所述采集模块还用于:
采集目标机器的请求响应集合,并依次对所述请求响应集合中的响应时间进行对数变换处理,以得到所述目标机器的响应系数序列;
基于所述响应系数序列,计算所述目标机器的平均响应系数;
确定所述目标机器的采集频率,并基于所述采集频率和所述平均响应系数,确定所述目标机器的平均响应系数序列。
优选地,所述负载均衡装置还包括更新模块,所述更新模块用于:
基于所述目标平均响应系数,确定所述目标机器的目标采集频率,并基于所述目标采集频率,更新所述采集频率。
优选地,所述预测模块还用于:
对所述平均响应系数序列进行累加处理,以得到所述目标机器的准指数平稳序列;
基于所述目标机器的自回归模型和所述准指数平稳序列,确定所述自回归模型的阶系数;
基于所述自回归模型和所述阶系数,确定所述目标机器的拟合函数;
基于所述拟合函数和所述准指数平稳序列,预测所述目标机器的目标平均响应系数。
优选地,所述预测模块还用于:
基于所述拟合函数,确定所述准指数平稳序列中的目标值;
基于所述目标值和所述拟合函数,预测所述目标机器的目标平均响应系数。
优选地,所述预测模块还用于:
基于所述目标值和所述拟合函数,计算所述准指数平稳序列对应的预测值;
基于所述预测值,预测所述目标机器的目标平均响应系数。
优选地,所述确定模块还用于:
基于所述目标平均响应系数,确定所述目标机器所处的负载状态区间,并确定所述负载状态区间对应的权重计算公式;
基于所述目标平均响应系数和所述权重计算公式,确定所述目标机器的权重值。
本发明还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有负载均衡程序,所述负载均衡程序被处理器执行时实现如上所述的负载均衡方法的步骤。
其中,在所述处理器上运行的负载均衡程序被执行时所实现的方法可参照本发明负载均衡方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书与附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。