CN104125202A - 权重调整方法、装置和终端设备 - Google Patents
权重调整方法、装置和终端设备 Download PDFInfo
- Publication number
- CN104125202A CN104125202A CN201310150298.XA CN201310150298A CN104125202A CN 104125202 A CN104125202 A CN 104125202A CN 201310150298 A CN201310150298 A CN 201310150298A CN 104125202 A CN104125202 A CN 104125202A
- Authority
- CN
- China
- Prior art keywords
- server
- average
- consumption
- weight
- time consumption
- 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.)
- Granted
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种权重调整方法、装置和终端设备,属于网络技术领域。所述方法包括:确定所述每个服务器的平均时耗,计算所述服务器***的总平均时耗,计算所述每个服务器的平均时耗调整率,根据所述每个服务器的平均时耗调整率和所述每个服务器的当前权重,对所述服务器***中服务器的当前权重进行调整。本发明通过对服务器***中服务器的当前权重进行调整,能够剔除网络波动、非持续网络延时异常或服务异常等情况的影响,还可以在发生业务错误而处理请求的时耗没有增加时,准确识别出现业务错误的处理请求,提高了权重调整的准确性和可靠性,进一步地,节省客户端设备请求的处理时间,提高了客户端设备请求的处理效率。
Description
技术领域
本发明涉及网络技术领域,特别涉及一种权重调整方法、装置和终端设备。
背景技术
随着互联网技术的发展,基于IP(Internet Protocol,网间协议)的服务器***可以为客户端设备提供多个服务器进行服务,每个服务器均对应一个IP地址,当客户端设备需要服务器来处理业务时,调用该服务器的IP地址向该服务器发送业务请求,使得服务器能够对业务请求进行处理。
由于服务器***中各个服务器的网络状态、服务异常情况不同,处理请求的能力也不同,因此在客户端设备调用服务器的IP地址之前,可以根据各个服务器的权重确定处理本次业务的服务器,提高业务处理效率。
其中,服务器的权重可以根据处理业务请求的时耗进行调整,当处理请求的时耗增加时,降低服务器的权重,当时耗降低时,增加服务器的权重。通过调整权重,可以有效管理服务器,高效地处理客户端设备的业务请求。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
现有的服务器权重调整过程仅根据处理业务请求的时耗进行,当发生短暂的网络波动等现象时,对服务器处理业务请求的时耗有所影响,因此需要降低服务器的权重,然而,此时的时耗仅是由于网络原因造成的,并不能够用于衡量服务器的处理能力,因此,对服务器的权重调整的准确性降低,根据时耗调整服务器的权重的可靠性差。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种权重调整方法、装置和终端设备。所述技术方案如下:
第一方面,提供了一种权重调整方法,所述方法包括:
根据服务器***的最大允许时耗和每个服务器的处理请求的时耗,确定所述每个服务器的平均时耗;
根据所述每个服务器的平均时耗和所述服务器***的总业务请求数量,计算所述服务器***的总平均时耗;
根据所述每个服务器的平均时耗、所述服务器***的总平均时耗、所述最大允许时耗和最小允许时耗,计算所述每个服务器的平均时耗调整率;
根据所述每个服务器的平均时耗调整率和所述每个服务器的当前权重,对所述服务器***中服务器的当前权重进行调整。
第二方面,提供了一种权重调整装置,所述装置包括:
平均时耗确定模块,用于根据服务器***的最大允许时耗和每个服务器的处理请求的时耗,确定所述每个服务器的平均时耗;
总平均时耗计算模块,用于根据所述每个服务器的平均时耗和所述服务器***的总业务请求数量,计算所述服务器***的总平均时耗;
平均时耗调整率计算模块,用于根据所述每个服务器的平均时耗、所述服务器***的总平均时耗、所述最大允许时耗和最小允许时耗,计算所述每个服务器的平均时耗调整率;
权重调整模块,用于根据所述每个服务器的平均时耗调整率和所述每个服务器的当前权重,对所述服务器***中服务器的当前权重进行调整。
第三方面,提供了一种终端设备,所述终端设备包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
根据服务器***的最大允许时耗和每个服务器的处理请求的时耗,确定所述每个服务器的平均时耗;
根据所述每个服务器的平均时耗和所述服务器***的总业务请求数量,计算所述服务器***的总平均时耗;
根据所述每个服务器的平均时耗、所述服务器***的总平均时耗、所述最大允许时耗和最小允许时耗,计算所述每个服务器的平均时耗调整率;
根据所述每个服务器的平均时耗调整率和所述每个服务器的当前权重,对所述服务器***中服务器的当前权重进行调整。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例提供的方法、装置和终端设备,通过根据服务器***的最大允许时耗和每个服务器的处理请求的时耗,确定该每个服务器的平均时耗;根据该每个服务器的平均时耗和该服务器***的总业务请求数量,计算该服务器***的总平均时耗;根据该每个服务器的平均时耗、该服务器***的总平均时耗、该最大允许时耗和最小允许时耗,计算该每个服务器的平均时耗调整率;根据该每个服务器的平均时耗调整率和该每个服务器的当前权重,对该服务器***中服务器的当前权重进行调整。采用本发明实施例的技术方案,通过根据该每个服务器的平均时耗、该服务器***的总平均时耗、该最大允许时耗、该最小允许时耗和该每个服务器的当前权重,对该服务器***中服务器的当前权重进行调整,剔除了网络波动、非持续网络延时异常或服务异常等情况的影响,提高了权重调整的准确性和可靠性,进一步地,提高了客户端设备的请求的处理效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种权重调整方法的流程图;
图1b是本发明实施例所涉及的实施环境的结构示意图;
图2是本发明实施例提供的一种权重调整方法的流程图;
图3是本发明实施例提供的一种权重调整装置结构示意图;
图4是本发明实施例提供的一种终端设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1a是本发明实施例提供的一种权重调整方法的流程图,参见图1a,所述方法包括:
101:根据服务器***的最大允许时耗和每个服务器的处理请求的时耗,确定该每个服务器的平均时耗;
具体地,在该服务器***中,任一服务器的请求处理结束后,可以获取该服务器此次请求的时耗,根据该服务器对每一个请求的处理时耗和该服务器的处理请求数量,确定该服务器的平均时耗。
其中,该最大允许时耗为该服务器***允许的处理请求时耗的最大值,该最大允许时耗可以由技术人员预先设定,本发明实施例对此不做限定。
需要说明的是,由于该服务器***中可能会出现短暂的网络波动、非持续网络延时异常或服务异常等情况,使得服务器的某一处理请求的时耗突然增加,因此,可以认为当处理请求时耗超过该最大允许时耗时,发生上述异常情况, 此时,为了剔除异常情况的影响,可以在确定该服务器的平均时耗时不计入此次处理请求的时耗或将此次处理请求的时耗修改为最大允许时耗,本发明实施例对此不做限定。其中,网络波动包括但不限于线路不稳定或线路时断时通等。
通过对超过该最大允许时耗的处理请求时耗进行修改,可以剔除网络波动、非持续网络延时异常或服务异常等对服务器的处理请求时耗的影响,以便于提高权重调整的准确性。
需要说明的是,该步骤101的过程可以为实时统计该服务器***中的单个服务器的平均时耗,还可以为周期性地统计该服务器***中的所有服务器的平均时耗。其中,对该服务器***中的单个服务器进行实时统计,即一旦服务器接收到处理请求并处理结束时,获取服务器此次处理请求的时耗,并根据该服务器对每一个请求的处理时耗和该服务器的处理请求数量,确定该服务器的平均时耗;周期性地统计该服务器***中的所有服务器的平均时耗,即为在服务器接收到处理请求并处理结束时,获取服务器此次请求的时耗,当到达统计时间时,对于从上次统计结束到本次统计开始的时间段内处理过请求的服务器,根据获取的每次处理请求的时耗,计算该服务器的平均时耗,而对于从上次统计结束到本次统计开始的时间段内未处理过请求的服务器,该服务器的平均时耗不变,无需再次统计。本发明实施例对确定该每个服务器的平均时耗的具体过程不做限定。
102:根据该每个服务器的平均时耗和该服务器***的总业务请求数量,计算该服务器***的总平均时耗;
本发明实施例中,在确定每个服务器的平均时耗后,根据该服务器***中每个服务器的平均时耗和该服务器***的总业务请求数量,计算该服务器***的总平均时耗。
需要说明的是,由于该步骤101可以为实时统计该服务器***中的单个服务器的平均时耗,还可以为周期性地统计该服务器***中的所有服务器的平均时耗,相应地,该步骤102可以在确定每个服务器的平均时耗之后立刻进行, 还可以按照预设时长周期性进行。具体地,一旦确定该服务器***中的某一个服务器的平均时耗后,即根据当前每个服务器的平均时耗和该服务器***的总业务请求数量,计算该服务器***的总平均时耗;或者,当到达统计时间时,确定该服务器***中每个服务器的平均时耗,并根据每个服务器的平均时耗和该服务器***的总业务请求数量,计算该服务器***的总平均时耗。本发明实施例对该计算该服务器***的总平均时耗的具体过程不做限定。
103:根据该每个服务器的平均时耗、该服务器***的总平均时耗、该最大允许时耗和最小允许时耗,计算该每个服务器的平均时耗调整率;
其中,该最小允许时耗为该服务器***允许的处理请求时耗的最小值,该最小允许时耗可以由技术人员预先设定,本发明实施例对此不做限定。
104:根据该每个服务器的平均时耗调整率和该每个服务器的当前权重,对该服务器***中服务器的当前权重进行调整。
本发明实施例中,根据该每个服务器的平均时耗、该服务器***的总平均时耗、该最大允许时耗和最小允许时耗,计算该每个服务器的平均时耗调整率,根据该每个服务器的平均时耗调整率和该每个服务器的当前权重,可以对该服务器***中每个服务器的当前权重进行调整。其中,该计算每个服务器的平均时耗调整率的过程可以周期性进行,本发明实施例对此不做限定。
通过计算该每个服务器的平均时耗调整率,并对该服务器***中每个服务器的当前权重进行调整,准确地衡量该服务器***中的每个服务器的处理能力,有效管理多个服务器,使得在客户端设备需要向该服务器***发送处理请求时,可以按照每个服务器调整后的权重确定本次处理请求的服务器,节省客户端设备的请求的处理时间,提高处理请求的效率。
本发明实施例提供的方法,通过根据服务器***的最大允许时耗和每个服务器的处理请求的时耗,确定该每个服务器的平均时耗;根据该每个服务器的平均时耗和该服务器***的总业务请求数量,计算该服务器***的总平均时耗;根据该每个服务器的平均时耗、该服务器***的总平均时耗、该最大允许时耗 和最小允许时耗,计算该每个服务器的平均时耗调整率;根据该每个服务器的平均时耗调整率和该每个服务器的当前权重,对该服务器***中服务器的当前权重进行调整。采用本发明实施例的技术方案,通过根据该每个服务器的平均时耗、该服务器***的总平均时耗、该最大允许时耗、该最小允许时耗和该每个服务器的当前权重,对该服务器***中服务器的当前权重进行调整,剔除了网络波动、非持续网络延时异常或服务异常等情况的影响,提高了权重调整的准确性和可靠性,进一步地,提高了客户端设备的请求的处理效率。
可选地,根据服务器***的最大允许时耗和每个服务器的处理请求的时耗,确定该每个服务器的平均时耗,包括:
当该每个服务器的第一处理请求数量与总业务请求数量的比例小于预设阈值时,将该每个服务器的第一处理请求的时耗修改为该最大允许时耗,第一处理请求是指时耗大于该最大允许时耗的处理请求;
根据该第一处理请求修改后的时耗、第二处理请求的时耗和该每个服务器的处理请求数量,确定该每个服务器的平均时耗。
可选地,根据该每个服务器的平均时耗调整率和该每个服务器的当前权重,对该服务器***中服务器的当前权重进行调整之前,该方法还包括:
获取该每个服务器的平均错误程度;
根据该每个服务器的平均错误程度和该总业务请求数量,计算总平均错误程度;
根据该每个服务器的平均错误程度、该服务器***的总平均错误程度和允许最严重错误程度,计算该每个服务器的平均错误程度调整率;
相应地,根据该每个服务器的平均时耗调整率和该每个服务器的当前权重,对该服务器***中服务器的当前权重进行调整,包括:
根据该每个服务器的平均时耗调整率、该每个服务器的平均错误程度调整率和该每个服务器的当前权重,对该服务器***中服务器的当前权重进行调整。
可选地,根据该每个服务器的平均错误程度、该服务器***的总平均错误 程度和允许最严重错误程度,计算该每个服务器的平均错误程度调整率包括:
根据该每个服务器的平均错误程度、该服务器***的总平均错误程度和允许最严重错误程度,应用以下公式计算该每个服务器的平均错误程度调整率:
其中,ret_ratio为服务器的平均错误程度调整率,node.ret_weight_average为服务器的平均错误程度,area.ret_weight_average为所述服务器***的总平均错误程度,area.ret_weight_max为允许最严重错误程度。
可选地,获取该每个服务器的平均错误程度,包括:
当该每个服务器的第三处理请求数量与总业务请求数量的比例小于预设阈值时,将该每个服务器的第四处理请求的平均错误程度获取为该每个服务器的平均错误程度,该第三处理请求为错误程度不属于允许错误程度范围的处理请求,该第四处理请求为错误程度属于允许错误程度范围的处理请求。
可选地,根据该每个服务器的平均时耗调整率、该每个服务器的平均错误程度调整率和该每个服务器的当前权重,对该服务器***中服务器的当前权重进行调整,包括:
根据该每个服务器的平均时耗调整率、该每个服务器的平均错误程度调整率和该每个服务器的当前权重,应用以下公式对该服务器***中服务器的当前权重进行调整:
node.currency_weight=
node.current_weight*(1+0.3)*(1+(ret_ratio2+cost_ratio2-ret_ratio*cost_ratio));
其中,node.currency_weight为所述服务器***中服务器的调整后的权重,node.current_weight为所述服务器***中服务器的当前权重,ret_ratio为服务器的平均错误程度调整率,cost_ratio为服务器的平均时耗调整率。
可选地,根据该每个服务器的平均时耗、该服务器***的总平均时耗、该最大允许时耗和最小允许时耗,计算该每个服务器的平均时耗调整率包括:
根据该每个服务器的平均时耗、该服务器***的总平均时耗、该最大允许时耗和最小允许时耗,应用以下公式计算该每个服务器的平均时耗调整率:
其中,cost_ratio为服务器的平均时耗调整率,node.cost_average为服务器的平均时耗,area.cost_average为所述服务器***的总平均时耗,area.cost_line为所述最小允许时耗,area.cost_max为所述最大允许时耗。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
图1b是本发明实施例所涉及的实施环境的结构示意图。参见图1b,该实施环境包括客户端设备C、服务器***S,服务器***S至少包括服务器S1和服务器S2。
客户端设备C通过无线或者有线网络分别和服务器S1和S2连接,客户端设备C可以为电脑,智能手机、平板电脑或者其他电子设备。
服务器***S是指任一运营商提供的服务器集群,服务器S1和S2可以为该服务器集群中的服务器。
图2是本发明实施例提供的一种权重调整方法的流程图,参见图2,所述方法包括:
200:判断服务器的第一处理请求数量与该服务器的处理请求数量的比例是否小于预设阈值,第一处理请求是指时耗大于该最大允许时耗的处理请求;
如果是,执行步骤201;
如果否,执行步骤203;
对该第一处理请求的数量进行统计具体为当该服务器的任一处理请求的时耗超过该最大允许时耗时,将该处理请求确定为第一处理请求,此时,将该服务器的第一处理请求数量加1。在统计该第一处理请求数量和该服务器的处理请 求数量之后,计算该第一处理请求数量和该服务器的处理请求数量的比例,判断该比例是否小于预设阈值。
其中,该预设阈值可以由技术人员预先设定,也可以在使用过程中进行修改,本发明实施例对此不做限定。
需要说明的是,该服务器在处理请求结束时实时统计该服务器的第一处理请求数量和服务器的处理请求数量,该步骤202可以在统计该服务器的第一处理请求数量和服务器的处理请求数量之后实时进行,即在统计该服务器的第一处理请求数量和服务器的处理请求数量之后判断服务器的第一处理请求数量与服务器的处理请求数量的比例是否小于预设阈值;也可以按照预设时长周期性进行,即该预设时长表示本次统计开始时,根据统计的该服务器的第一处理请求数量和服务器的处理请求数量,判断该服务器的第一处理请求数量和服务器的处理请求数量的比例是否小于该预设阈值。本发明实施例以周期性判断为例进行说明,实时判断的过程与周期性判断过程类似,在此不再赘述。
201:将该服务器的第一处理请求的时耗修改为该最大允许时耗,执行步骤202;
由于在该服务器***为客户端设备处理请求时,可能会存在网络波动、非持续网络延时异常或服务异常等情况,而了准确衡量服务器的处理能力,当服务器的第一处理请求数量与服务器的处理请求数量的比例小于预设阈值时,认为上述网络波动、非持续网络延时异常或服务异常等情况可以剔除掉,此时,将该每个服务器的第一处理请求的时耗修改为该最大允许时耗。
202:根据该第一处理请求修改后的时耗、第二处理请求的时耗和该服务器的处理请求数量,确定该服务器的平均时耗,执行步骤204;
其中,该第二处理请求为该服务器的所有处理请求中除该第一处理请求之外的处理请求。
具体地,根据该第一处理请求修改后的时耗、第二处理请求的时耗和该服务器的处理请求数量,确定该服务器的平均时耗。将该服务器实际上超过该最 大允许时耗的处理请求时耗修改为该最大允许时耗,剔除掉由于网络波动、非持续网络延时异常或服务异常等导致的时耗增加,能够准确衡量该服务器的处理能力,进一步地,提高权重调整的准确性和可靠性。
假设服务器S1的最大允许时耗为3ms,且服务器S1的处理请求一至五的时耗分别为0.1ms、0.4ms、1ms、0.7ms和3.5ms,其中,处理请求五的时耗3.5ms超过该最大允许时耗3ms,则将处理请求五确定为第一处理请求,处理请求一至四确定为该第二处理请求,第一处理请求数量与总业务请求数量的比例小于预设阈值,则将处理请求五的时耗3.5ms修改为该最大允许时耗3ms,根据时耗0.1ms、0.4ms、1ms、0.7ms和3ms,计算得出服务器S1的平均时耗为1.04ms。
203:根据该服务器的每个处理请求的时耗,确定该服务器的平均时耗,执行步骤204;
当服务器的第一处理请求数量与服务器的处理请求数量的比例大于等于预设阈值时,认为上述网络波动、非持续网络延时异常或服务异常等情况已经影响到该服务器的处理能力,不可以剔除掉,此时,根据该服务器的每个处理请求的实际时耗,确定该服务器的平均时耗。
204:根据该每个服务器的平均时耗和该服务器***的总业务请求数量,计算该服务器***的总平均时耗;
其中,该总业务请求数量即为该服务器***中每个服务器的处理请求数量之和,该总平均时耗为该每个服务器的平均时耗之和对该总业务请求数量的平均值。
本发明实施例中,步骤200-203均是针对该服务器***中的单个服务器而言的,而以周期性统计平均时耗为例,当统计开始时,对该服务器***中的每个服务器执行步骤200-203,确定该每个服务器的平均时耗,根据该每个服务器的平均时耗和该服务器***的总业务请求数量,计算该服务器***的总平均时耗。
205:根据该每个服务器的平均时耗、该服务器***的总平均时耗、该最大允许时耗和最小允许时耗,计算该每个服务器的平均时耗调整率;
对于该服务器***中的单个服务器而言,优选地,根据该服务器的平均时耗、该服务器***的总平均时耗、该最大允许时耗和最小允许时耗,应用以下公式计算该每个服务器的平均时耗调整率:
其中,cost_ratio为服务器的平均时耗调整率,node.cost_average为服务器的平均时耗,area.cost_average为所述服务器***的总平均时耗,area.cost_line为所述最小允许时耗,area.cost_max为所述最大允许时耗。
需要说明的是,对该服务器***中的每个服务器均进行上述计算过程,计算每个服务器的平均时耗调整率,以便于在后续过程中根据该平均时耗调整率对该每个服务器进行权重调整。
步骤200-205根据该每个服务器的处理请求的时耗,计算该每个服务器的平均时耗调整率,便于在后续过程中对该每个服务器进行权重调整,剔除了网络波动、非持续网络延时异常等情况的影响,提高了权重调整的准确性和可靠性。
206:获取服务器本次处理请求的错误程度;
由于在该服务器***中的服务器在为客户端设备处理请求时,可能会出现业务错误但处理请求的时耗没有增加的情况,此时,可以获取该处理请求的错误程度,根据错误程度可以识别出业务错误,以便于在后续过程中衡量该服务器的处理能力。
具体地,在该服务器处理请求结束之后,可以获取该处理请求的返回码,该返回码用于表示该处理请求的错误程度,根据该返回码对应获取该处理请求的错误程度。
一般情况下,该错误程度为一个数值,如在处理请求成功时,返回码为0,对应的错误程度为1。
207:判断该服务器本次处理请求的错误程度是否属于允许错误程度范围,当该服务器本次处理请求的错误程度不属于允许错误程度时,将本次处理请求 确定为第三处理请求,当该服务器本次处理请求的错误程度属于允许错误程度时,将本次处理请求确定为第四处理请求,统计该服务器的第三处理请求数量和第四处理请求数量;
具体地,判断该服务器本次处理请求的错误程度是否落入该允许错误程度的范围内,当该服务器本次处理请求的错误程度落入该允许错误程度的范围外时,该服务器本次处理请求的错误程度不属于允许错误程度范围,则将本次处理请求确定为第三处理请求;当该服务器本次处理请求的错误程度落入该允许错误程度的范围内时,该服务器本次处理请求的错误程度属于允许错误程度时,则将本次处理请求确定为第四处理请求。在判断的过程中,统计该服务器的第三处理请求数量和第四处理请求数量。
208:判断该服务器的第三处理请求数量与该服务器的处理请求数量的比例是否小于预设阈值,如果是,执行步骤209;如果否,执行步骤210;
209:根据该服务器的每个第四处理请求的错误程度和该服务器的处理请求数量,计算该服务器的第四处理请求的平均错误程度,并将该服务器的第四处理请求的平均错误程度获取为该服务器的平均错误程度,执行步骤211;
当该服务器的第三处理请求数量与该服务器的处理请求数量的比例小于预设阈值时,在保证不影响衡量该服务器的处理能力的前提下,认为出现的业务错误等情况可以剔除掉,此时根据该服务器的每个第四处理请求的错误程度和该服务器的处理请求数量,计算该服务器的第四处理请求的平均错误程度,并将该平均错误程度确定为该服务器的平均错误程度。
210:根据该服务器的每个处理请求的错误程度和该服务器的处理请求数量计算该服务器的平均错误程度,执行步骤211;
当该服务器的第三处理请求数量与该服务器的处理请求数量的比例大于等于预设阈值时,认为出现的业务错误等异常情况不可以剔除掉,此时根据该服务器的每个处理请求的错误程度和该服务器的处理请求数量计算该服务器的平均错误程度,便于衡量该服务器的处理能力,并在后续过程中调整该服务器的 权重。
211:根据该每个服务器的平均错误程度和该总业务请求数量,计算总平均错误程度;
本发明实施例中,在确定每个服务器的平均错误程度后,根据该服务器***中每个服务器的平均错误程度和该服务器***的总业务请求数量,计算该每个服务器的平均错误程度之和,计算该每个服务器的平均错误程度之和对该服务器***的总业务请求数量的平均值,即为该服务器***的总平均错误程度。该计算总平均错误程度的过程可以在获取该每个服务器的平均错误程度之后立刻进行,还可以按照预设时长周期性进行,本发明实施例对此不做限定。
步骤206-210是针对该服务器***中的单个服务器而言的,而以周期性统计平均错误程度为例,当统计开始时,对该服务器***中的每个服务器执行步骤206-210,确定该每个服务器的平均错误程度,根据该每个服务器的平均错误程度和该服务器***的总业务请求数量,计算该服务器***的总平均错误程度。
212:根据该每个服务器的平均错误程度、该服务器***的总平均错误程度和允许最严重错误程度,计算该每个服务器的平均错误程度调整率,执行步骤213;
其中,该允许最严重错误程度为该服务器***允许的最严重的错误程度,可选地,该允许最严重错误程度为99,该允许最严重错误程度可以由技术人员预先设定,本发明实施例对此不做限定。
对于该服务器***中的单个服务器而言,优选地,根据该服务器的平均错误程度、该服务器***的总平均错误程度和允许最严重错误程度,应用以下公式计算该服务器的平均错误程度调整率:
其中,ret_ratio为服务器的平均错误程度调整率,node.ret_weight_average为服务器的平均错误程度,area.ret_weight_average为所述服务器***的总平均错误程 度,area.ret_weight_max为允许最严重错误程度。
需要说明的是,对该服务器***中的每个服务器均进行上述计算过程,计算每个服务器的平均错误程度调整率,以便于在后续过程中对该每个服务器进行权重调整。
步骤206-212根据该每个服务器的处理请求的错误程度,计算该每个服务器的平均错误程度调整率,以便于在后续过程中根据该平均错误程度调整率对该每个服务器进行权重调整,识别出业务错误而处理请求的时耗没有增加的情况,提高了权重调整的准确性和可靠性。
需要说明的是,该步骤206-212与步骤200-205均为可选步骤。步骤200-205剔除了网络波动、非持续网络延时异常等情况的影响,提高了权重调整的准确性和可靠性。而步骤206-212识别出业务错误而处理请求的时耗没有增加的情况,提高了权重调整的准确性和可靠性。
该步骤206-212与步骤200-205可以组合执行,计算该每个服务器的平均时耗调整率和该每个服务器的平均错误程度调整率时,不仅剔除了网络波动、非持续网络延时异常等情况的影响,还可以在发生业务错误而处理请求的时耗没有增加时,准确识别该业务错误,进一步地提高权重调整的准确性和可靠性,提高客户端设备的请求的处理效率。
需要说明的是,上述两种计算过程没有必然的时序关系,可以同时进行,也可以一前一后进行,本发明实施例以步骤206在步骤205之后执行为例进行说明。
213:根据该每个服务器的平均时耗调整率、该每个服务器的平均错误程度调整率和该每个服务器的当前权重,对该服务器***中服务器的当前权重进行调整。
对于该服务器***中的单个服务器而言,优选地,根据该服务器的平均时耗调整率、该服务器的平均错误程度调整率和该服务器的当前权重,应用以下公式对该服务器***中服务器的当前权重进行调整:
node.currency_weight=
node.current_weight*(1+0.3)*(1+(ret_ratio2+cost_ratio2-ret_ratio*cost_ratio))
其中,node.currency_weight为所述服务器***中服务器的调整后的权重,node.current_weight为所述服务器***中服务器的当前权重,ret_ratio为服务器的平均错误程度调整率,cost_ratio为服务器的平均时耗调整率。
需要说明的是,对该服务器***中的每个服务器均进行上述计算过程,对该每个服务器进行权重调整。
进一步地,在对该服务器***中服务器的当前权重进行调整之后,该方法还包括:按照该每个服务器调整后的权重确定响应处理请求的服务器。在本发明实施例中,根据调整后的权重可以准确衡量该服务器***中每个服务器的处理能力,并有效管理该服务器***中的多个服务器,使得在客户端设备需要向该服务器***发送处理请求时,使得能够按照该每个服务器调整后的权重确定响应处理请求的服务器,节省客户端设备请求的处理时间,提高处理效率。
需要说明的是,该权重调整方法的执行主体可以为客户端设备,还可以为服务器***的前端设备。当执行主体为客户端设备时,客户端设备获取该服务器***的每个服务器的处理请求时耗的错误程度,并计算出每个服务器的平均时耗调整率和平均错误程度调整率,在对该每个服务器的权重进行调整之后,根据该每个服务器调整后的权重确定响应处理请求的服务器。而当执行主体为该服务器***的前端设备时,该前端设备获取该服务器***的每个服务器的处理请求时耗的错误程度,并计算出每个服务器的平均时耗调整率和平均错误程度调整率,在对该每个服务器的权重进行调整之后,将该每个服务器调整后的权重发送给该客户端设备,由客户端设备确定响应处理请求的服务器。
本发明实施例提供的方法,通过计算该每个服务器的平均时耗调整率和该每个服务器的平均错误程度调整率,并根据该每个服务器的平均时耗调整率、该每个服务器的平均错误程度调整率和该每个服务器的当前权重,对该服务器***中服务器的当前权重进行调整,能够剔除网络波动、非持续网络延时异常 或服务异常等情况的影响,还可以在发生业务错误而处理请求的时耗没有增加时,准确识别出现业务错误的处理请求,提高了权重调整的准确性和可靠性,进一步地,节省客户端设备请求的处理时间,提高了客户端设备请求的处理效率。
图3是本发明实施例提供的一种权重调整装置结构示意图,参见图3,所述装置包括:
平均时耗确定模块31,用于根据服务器***的最大允许时耗和每个服务器的处理请求的时耗,确定所述每个服务器的平均时耗;
总平均时耗计算模块32,用于根据所述每个服务器的平均时耗和所述服务器***的总业务请求数量,计算所述服务器***的总平均时耗;
平均时耗调整率计算模块33,用于根据所述每个服务器的平均时耗、所述服务器***的总平均时耗、所述最大允许时耗和最小允许时耗,计算所述每个服务器的平均时耗调整率;
权重调整模块34,用于根据所述每个服务器的平均时耗调整率和所述每个服务器的当前权重,对所述服务器***中服务器的当前权重进行调整。
可选地,所述平均时耗确定模块31包括:
时耗修改单元,用于当所述每个服务器的第一处理请求数量与所述每个服务器的处理请求数量的比例小于预设阈值时,将所述每个服务器的第一处理请求的时耗修改为所述最大允许时耗,第一处理请求是指时耗大于所述最大允许时耗的处理请求;
平均时耗确定单元,用于根据所述第一处理请求修改后的时耗、第二处理请求的时耗和所述每个服务器的处理请求数量,确定所述每个服务器的平均时耗。
可选地,所述装置还包括:
平均错误程度获取模块,用于获取所述每个服务器的平均错误程度;
总平均错误程度计算模块,用于根据所述每个服务器的平均错误程度和所述总业务请求数量,计算总平均错误程度;
错误程度调整率计算模块,用于根据所述每个服务器的平均错误程度、所述服务器***的总平均错误程度和允许最严重错误程度,计算所述每个服务器的平均错误程度调整率;
相应地,所述权重调整模块34包括:
权重调整单元,用于根据所述每个服务器的平均时耗调整率、所述每个服务器的平均错误程度调整率和所述每个服务器的当前权重,对所述服务器***中服务器的当前权重进行调整。
可选地,所述错误程度调整率计算模块包括:
错误程度调整率计算单元,用于根据所述每个服务器的平均错误程度、所述服务器***的总平均错误程度和允许最严重错误程度,应用以下公式计算所述每个服务器的平均错误程度调整率:
其中,ret_ratio为服务器的平均错误程度调整率,node.ret_weight_average为服务器的平均错误程度,area.ret_weight_average为所述服务器***的总平均错误程度,area.ret_weight_max为允许最严重错误程度。
可选地,所述平均错误程度获取模块包括:
平均错误程度获取单元,用于当所述每个服务器的第三处理请求数量与所述每个服务器的处理请求数量的比例小于预设阈值时,将所述每个服务器的第四处理请求的平均错误程度获取为所述每个服务器的平均错误程度,所述第三处理请求为错误程度不属于允许错误程度范围的处理请求,所述第四处理请求为错误程度属于允许错误程度范围的处理请求。
可选地,所述权重调整单元包括:
权重调整子单元,用于根据所述每个服务器的平均时耗调整率、所述每个 服务器的平均错误程度调整率和所述每个服务器的当前权重,应用以下公式对所述服务器***中服务器的当前权重进行调整:
node.currency_weight=
node.current_weight*(1+0.3)*(1+(ret_ratio2+cost_ratio2-ret_ratio*cost_ratio));
其中,node.currency_weight为所述服务器***中服务器的调整后的权重,node.current_weight为所述服务器***中服务器的当前权重,ret_ratio为服务器的平均错误程度调整率,cost_ratio为服务器的平均时耗调整率。
可选地,所述平均时耗调整率计算模块33包括:
平均时耗调整率计算单元,用于根据所述每个服务器的平均时耗、所述服务器***的总平均时耗、所述最大允许时耗和最小允许时耗,应用以下公式计算所述每个服务器的平均时耗调整率:
其中,cost_ratio为服务器的平均时耗调整率,node.cost_average为服务器的平均时耗,area.cost_average为所述服务器***的总平均时耗,area.cost_line为所述最小允许时耗,area.cost_max为所述最大允许时耗。
本发明实施例提供的装置,通过计算该每个服务器的平均时耗调整率和该每个服务器的平均错误程度调整率,并根据该每个服务器的平均时耗调整率、该每个服务器的平均错误程度调整率和该每个服务器的当前权重,对该服务器***中服务器的当前权重进行调整,能够剔除网络波动、非持续网络延时异常或服务异常等情况的影响,还可以在发生业务错误而处理请求的时耗没有增加时,准确识别出现业务错误的处理请求,提高了权重调整的准确性和可靠性,进一步地,节省客户端设备请求的处理时间,提高了客户端设备请求的处理效率。
需要说明的是:上述实施例提供的权重调整的装置在调整权重时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能 分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的权重调整的装置与权重调整的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图4是本发明实施例提供的一种终端设备结构示意图。参见图4,该终端设备可以用于实施上述实施例中提供的权重调整方法。具体来讲:
终端设备400可以包括通信单元110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、无线通信单元170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图4中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
通信单元110可用于收发信息或通话过程中,信号的接收和发送,该通信单元110可以为RF(Radio Frequency,射频)电路、路由器、调制解调器等网络通信设备。特别地,当通信单元110为RF电路时,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,作为通信单元的RF电路包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,通信单元110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯***)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。存储器120可用于存储软件程序 以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端设备400的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端设备400的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode, 有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图4中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
终端设备400还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端设备400移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端设备400还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端设备400之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端设备,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端设备400的通信。
为了实现无线通信,该终端设备上可以配置有无线通信单元170,该无线通信单元170可以为WiFi模块。WiFi属于短距离无线传输技术,终端设备400通过无线通信单元170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图4示出了无线通信单元170,但 是可以理解的是,其并不属于终端设备400的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端设备400的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端设备400的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端设备400还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理***与处理器180逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端设备400还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端设备的显示单元是触摸屏显示器,终端设备还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
根据服务器***的最大允许时耗和每个服务器的处理请求的时耗,确定所述每个服务器的平均时耗;
根据所述每个服务器的平均时耗和所述服务器***的总业务请求数量,计算所述服务器***的总平均时耗;
根据所述每个服务器的平均时耗、所述服务器***的总平均时耗、所述最大允许时耗和最小允许时耗,计算所述每个服务器的平均时耗调整率;
根据所述每个服务器的平均时耗调整率和所述每个服务器的当前权重,对 所述服务器***中服务器的当前权重进行调整。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,该终端设备的存储器中,还包含用于执行以下操作的指令:
当所述每个服务器的第一处理请求数量与所述每个服务器的处理请求数量的比例小于预设阈值时,将所述每个服务器的第一处理请求的时耗修改为所述最大允许时耗,第一处理请求是指时耗大于所述最大允许时耗的处理请求;
根据所述第一处理请求修改后的时耗、第二处理请求的时耗和所述每个服务器的处理请求数量,确定所述每个服务器的平均时耗。
在第一种可能的实施方式作为基础而提供的第三种可能的实施方式中,该终端设备的存储器中,还包含用于执行以下操作的指令:
获取所述每个服务器的平均错误程度;
根据所述每个服务器的平均错误程度和所述总业务请求数量,计算总平均错误程度;
根据所述每个服务器的平均错误程度、所述服务器***的总平均错误程度和允许最严重错误程度,计算所述每个服务器的平均错误程度调整率;
相应地,根据所述每个服务器的平均时耗调整率和所述每个服务器的当前权重,对所述服务器***中服务器的当前权重进行调整,包括:
根据所述每个服务器的平均时耗调整率、所述每个服务器的平均错误程度调整率和所述每个服务器的当前权重,对所述服务器***中服务器的当前权重进行调整。
在第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,该终端设备的存储器中,还包含用于执行以下操作的指令:
根据所述每个服务器的平均错误程度、所述服务器***的总平均错误程度和允许最严重错误程度,应用以下公式计算所述每个服务器的平均错误程度调整率:
其中,ret_ratio为服务器的平均错误程度调整率,node.ret_weight_average为服务器的平均错误程度,area.ret_weight_average为所述服务器***的总平均错误程度,area.ret_weight_max 为允许最严重错误程度。
在第三种可能的实施方式作为基础而提供的第五种可能的实施方式中,该终端设备的存储器中,还包含用于执行以下操作的指令:
当所述每个服务器的第三处理请求数量与所述每个服务器的处理请求数量的比例小于预设阈值时,将所述每个服务器的第四处理请求的平均错误程度获取为所述每个服务器的平均错误程度,所述第三处理请求为错误程度不属于允许错误程度范围的处理请求,所述第四处理请求为错误程度属于允许错误程度范围的处理请求。
在第三种可能的实施方式作为基础而提供的第六种可能的实施方式中,该终端设备的存储器中,还包含用于执行以下操作的指令:
根据所述每个服务器的平均时耗调整率、所述每个服务器的平均错误程度调整率和所述每个服务器的当前权重,应用以下公式对所述服务器***中服务器的当前权重进行调整:
node.currency_weight=
node.current_weight*(1+0.3)*(1+(ret_ratio2+cost_ratio2-ret_ratio*cost_ratio));
其中,node.currency_weight为所述服务器***中服务器的调整后的权重,node.current_weight为所述服务器***中服务器的当前权重,ret_ratio为服务器的平均错误程度调整率,cost_ratio为服务器的平均时耗调整率。
在上述任一可能的实施方式作为基础而提供的第七种可能的实施方式中,该终端设备的存储器中,还包含用于执行以下操作的指令:
根据所述每个服务器的平均时耗、所述服务器***的总平均时耗、所述最大允许时耗和最小允许时耗,应用以下公式计算所述每个服务器的平均时耗调 整率:
其中,cost_ratio为服务器的平均时耗调整率,node.cost_average为服务器的平均时耗,area.cost_average为所述服务器***的总平均时耗,area.cost_line为所述最小允许时耗,area.cost_max为所述最大允许时耗。
作为另一方面,本发明再一实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序被一个或者一个以上的处理器用来执行一个权重调整方法,所述方法包括:
根据服务器***的最大允许时耗和每个服务器的处理请求的时耗,确定所述每个服务器的平均时耗;
根据所述每个服务器的平均时耗和所述服务器***的总业务请求数量,计算所述服务器***的总平均时耗;
根据所述每个服务器的平均时耗、所述服务器***的总平均时耗、所述最大允许时耗和最小允许时耗,计算所述每个服务器的平均时耗调整率;
根据所述每个服务器的平均时耗调整率和所述每个服务器的当前权重,对所述服务器***中服务器的当前权重进行调整。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,根据服务器***的最大允许时耗和每个服务器的处理请求的时耗,确定所述每个服务器的平均时耗,包括:
当所述每个服务器的第一处理请求数量与所述每个服务器的处理请求数量的比例小于预设阈值时,将所述每个服务器的第一处理请求的时耗修改为所述最大允许时耗,第一处理请求是指时耗大于所述最大允许时耗的处理请求;
根据所述第一处理请求修改后的时耗、第二处理请求的时耗和所述每个服 务器的处理请求数量,确定所述每个服务器的平均时耗。
在第一种可能的实施方式作为基础而提供的第三种可能的实施方式中,根据所述每个服务器的平均时耗调整率和所述每个服务器的当前权重,对所述服务器***中服务器的当前权重进行调整之前,所述方法还包括:
获取所述每个服务器的平均错误程度;
根据所述每个服务器的平均错误程度和所述总业务请求数量,计算总平均错误程度;
根据所述每个服务器的平均错误程度、所述服务器***的总平均错误程度和允许最严重错误程度,计算所述每个服务器的平均错误程度调整率;
相应地,根据所述每个服务器的平均时耗调整率和所述每个服务器的当前权重,对所述服务器***中服务器的当前权重进行调整,包括:
根据所述每个服务器的平均时耗调整率、所述每个服务器的平均错误程度调整率和所述每个服务器的当前权重,对所述服务器***中服务器的当前权重进行调整。
在第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,根据所述每个服务器的平均错误程度、所述服务器***的总平均错误程度和允许最严重错误程度,计算所述每个服务器的平均错误程度调整率包括:
根据所述每个服务器的平均错误程度、所述服务器***的总平均错误程度和允许最严重错误程度,应用以下公式计算所述每个服务器的平均错误程度调整率:
其中,ret_ratio为服务器的平均错误程度调整率,node.ret_weight_average为服务器的平均错误程度,area.ret_weight_average为所述服务器***的总平均错误程度,area.ret_weight_max为允许最严重错误程度。
在第三种可能的实施方式作为基础而提供的第五种可能的实施方式中,获 取所述每个服务器的平均错误程度,包括:
当所述每个服务器的第三处理请求数量与所述每个服务器的处理请求数量的比例小于预设阈值时,将所述每个服务器的第四处理请求的平均错误程度获取为所述每个服务器的平均错误程度,所述第三处理请求为错误程度不属于允许错误程度范围的处理请求,所述第四处理请求为错误程度属于允许错误程度范围的处理请求。
在第三种可能的实施方式作为基础而提供的第六种可能的实施方式中,根据所述每个服务器的平均时耗调整率、所述每个服务器的平均错误程度调整率和所述每个服务器的当前权重,对所述服务器***中服务器的当前权重进行调整,包括:
根据所述每个服务器的平均时耗调整率、所述每个服务器的平均错误程度调整率和所述每个服务器的当前权重,应用以下公式对所述服务器***中服务器的当前权重进行调整:
node.currency_weight=
node.current_weight*(1+0.3)*(1+(ret_ratio2+cost_ratio2-ret_ratio*cost_ratio));
其中,node.currency_weight为所述服务器***中服务器的调整后的权重,node.current_weight为所述服务器***中服务器的当前权重,ret_ratio为服务器的平均错误程度调整率,cost_ratio为服务器的平均时耗调整率。
在上述任一种可能的实施方式作为基础而提供的第七种可能的实施方式中,根据所述每个服务器的平均时耗、所述服务器***的总平均时耗、所述最大允许时耗和最小允许时耗,计算所述每个服务器的平均时耗调整率包括:
根据所述每个服务器的平均时耗、所述服务器***的总平均时耗、所述最大允许时耗和最小允许时耗,应用以下公式计算所述每个服务器的平均时耗调整率:
其中,cost_ratio为服务器的平均时耗调整率,node.cost_average为服务器的平均时耗,area.cost_average为所述服务器***的总平均时耗,area.cost_line为所述最小允许时耗,area.cost_max为所述最大允许时耗。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种权重调整方法,其特征在于,服务器***中包括至少两个服务器,所述方法包括:
根据服务器***的最大允许时耗和每个服务器的处理请求的时耗,确定所述每个服务器的平均时耗;
根据所述每个服务器的平均时耗和所述服务器***的总业务请求数量,计算所述服务器***的总平均时耗;
根据所述每个服务器的平均时耗、所述服务器***的总平均时耗、所述最大允许时耗和最小允许时耗,计算所述每个服务器的平均时耗调整率;
根据所述每个服务器的平均时耗调整率和所述每个服务器的当前权重,对所述服务器***中服务器的当前权重进行调整。
2.根据权利要求1所述的方法,其特征在于,根据服务器***的最大允许时耗和每个服务器的处理请求的时耗,确定所述每个服务器的平均时耗,包括:
当所述每个服务器的第一处理请求数量与所述每个服务器的处理请求数量的比例小于预设阈值时,将所述每个服务器的第一处理请求的时耗修改为所述最大允许时耗,第一处理请求是指时耗大于所述最大允许时耗的处理请求;
根据所述第一处理请求修改后的时耗、第二处理请求的时耗和所述每个服务器的处理请求数量,确定所述每个服务器的平均时耗。
3.根据权利要求1所述的方法,其特征在于,根据所述每个服务器的平均时耗调整率和所述每个服务器的当前权重,对所述服务器***中服务器的当前权重进行调整之前,所述方法还包括:
获取所述每个服务器的平均错误程度;
根据所述每个服务器的平均错误程度和所述总业务请求数量,计算总平均错误程度;
根据所述每个服务器的平均错误程度、所述服务器***的总平均错误程度和允许最严重错误程度,计算所述每个服务器的平均错误程度调整率;
相应地,根据所述每个服务器的平均时耗调整率和所述每个服务器的当前权重,对所述服务器***中服务器的当前权重进行调整,包括:
根据所述每个服务器的平均时耗调整率、所述每个服务器的平均错误程度调整率和所述每个服务器的当前权重,对所述服务器***中服务器的当前权重进行调整。
4.根据权利要求3所述的方法,其特征在于,根据所述每个服务器的平均错误程度、所述服务器***的总平均错误程度和允许最严重错误程度,计算所述每个服务器的平均错误程度调整率包括:
根据所述每个服务器的平均错误程度、所述服务器***的总平均错误程度和允许最严重错误程度,应用以下公式计算所述每个服务器的平均错误程度调整率:
其中,ret_ratio为服务器的平均错误程度调整率,node.ret_weight_average为服务器的平均错误程度,area.ret_weight_average为所述服务器***的总平均错误程度,area.ret_weight_max为允许最严重错误程度。
5.根据权利要求3所述的方法,其特征在于,获取所述每个服务器的平均错误程度,包括:
当所述每个服务器的第三处理请求数量与所述每个服务器的处理请求数量的比例小于预设阈值时,将所述每个服务器的第四处理请求的平均错误程度获取为所述每个服务器的平均错误程度,所述第三处理请求为错误程度不属于允许错误程度范围的处理请求,所述第四处理请求为错误程度属于允许错误程度范围的处理请求。
6.根据权利要求3所述的方法,其特征在于,根据所述每个服务器的平均时耗调整率、所述每个服务器的平均错误程度调整率和所述每个服务器的当前权重,对所述服务器***中服务器的当前权重进行调整,包括:
根据所述每个服务器的平均时耗调整率、所述每个服务器的平均错误程度调整率和所述每个服务器的当前权重,应用以下公式对所述服务器***中服务器的当前权重进行调整:
node.currency_weight=
node.current_weight*(1+0.3)*(1+(ret_ratio2+cost_ratio2-ret_ratio*cost_ratio));
其中,node.currency_weight为所述服务器***中服务器的调整后的权重,node.current_weight为所述服务器***中服务器的当前权重,ret_ratio为服务器的平均错误程度调整率,cost_ratio为服务器的平均时耗调整率。
7.根据权利要求1-6任一项所述的方法,其特征在于,根据所述每个服务器的平均时耗、所述服务器***的总平均时耗、所述最大允许时耗和最小允许时耗,计算所述每个服务器的平均时耗调整率包括:
根据所述每个服务器的平均时耗、所述服务器***的总平均时耗、所述最大允许时耗和最小允许时耗,应用以下公式计算所述每个服务器的平均时耗调整率:
其中,cost_ratio为服务器的平均时耗调整率,node.cost_average为服务器的平均时耗,area.cost_average为所述服务器***的总平均时耗,area.cost_line为所述最小允许时耗,area.cost_max为所述最大允许时耗。
8.一种权重调整装置,其特征在于,服务器***中包括至少两个服务器,所述装置包括:
平均时耗确定模块,用于根据服务器***的最大允许时耗和每个服务器的处理请求的时耗,确定所述每个服务器的平均时耗;
总平均时耗计算模块,用于根据所述每个服务器的平均时耗和所述服务器***的总业务请求数量,计算所述服务器***的总平均时耗;
平均时耗调整率计算模块,用于根据所述每个服务器的平均时耗、所述服务器***的总平均时耗、所述最大允许时耗和最小允许时耗,计算所述每个服务器的平均时耗调整率;
权重调整模块,用于根据所述每个服务器的平均时耗调整率和所述每个服务器的当前权重,对所述服务器***中服务器的当前权重进行调整。
9.根据权利要求8所述的装置,其特征在于,所述平均时耗确定模块包括:
时耗修改单元,用于当所述每个服务器的第一处理请求数量与所述每个服务器的处理请求数量的比例小于预设阈值时,将所述每个服务器的第一处理请求的时耗修改为所述最大允许时耗,第一处理请求是指时耗大于所述最大允许时耗的处理请求;
平均时耗确定单元,用于根据所述第一处理请求修改后的时耗、第二处理请求的时耗和所述每个服务器的处理请求数量,确定所述每个服务器的平均时耗。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
平均错误程度获取模块,用于获取所述每个服务器的平均错误程度;
总平均错误程度计算模块,用于根据所述每个服务器的平均错误程度和所述总业务请求数量,计算总平均错误程度;
错误程度调整率计算模块,用于根据所述每个服务器的平均错误程度、所述服务器***的总平均错误程度和允许最严重错误程度,计算所述每个服务器的平均错误程度调整率;
相应地,所述权重调整模块包括:
权重调整单元,用于根据所述每个服务器的平均时耗调整率、所述每个服务器的平均错误程度调整率和所述每个服务器的当前权重,对所述服务器***中服务器的当前权重进行调整。
11.根据权利要求10所述的装置,其特征在于,所述错误程度调整率计算模块包括:
错误程度调整率计算单元,用于根据所述每个服务器的平均错误程度、所述服务器***的总平均错误程度和允许最严重错误程度,应用以下公式计算所述每个服务器的平均错误程度调整率:
其中,ret_ratio为服务器的平均错误程度调整率,node.ret_weight_average为服务器的平均错误程度,area.ret_weight_average为所述服务器***的总平均错误程度,area.ret_weight_max为允许最严重错误程度。
12.根据权利要求10所述的装置,其特征在于,所述平均错误程度获取模块包括:
平均错误程度获取单元,用于当所述每个服务器的第三处理请求数量与所述每个服务器的处理请求数量的比例小于预设阈值时,将所述每个服务器的第四处理请求的平均错误程度获取为所述每个服务器的平均错误程度,所述第三处理请求为错误程度不属于允许错误程度范围的处理请求,所述第四处理请求为错误程度属于允许错误程度范围的处理请求。
13.根据权利要求10所述的装置,其特征在于,所述权重调整单元包括:
权重调整子单元,用于根据所述每个服务器的平均时耗调整率、所述每个服务器的平均错误程度调整率和所述每个服务器的当前权重,应用以下公式对所述服务器***中服务器的当前权重进行调整:
node.currency_weight=
node.current_weight*(1+0.3)*(1+(ret_ratio2+cost_ratio2-ret_ratio*cost_ratio));
其中,node.currency_weight为所述服务器***中服务器的调整后的权重,node.current_weight为所述服务器***中服务器的当前权重,ret_ratio为服务器的平均错误程度调整率,cost_ratio为服务器的平均时耗调整率。
14.根据权利要求8-13任一项所述的装置,其特征在于,所述平均时耗调整率计算模块包括:
平均时耗调整率计算单元,用于根据所述每个服务器的平均时耗、所述服务器***的总平均时耗、所述最大允许时耗和最小允许时耗,应用以下公式计算所述每个服务器的平均时耗调整率:
其中,cost_ratio为服务器的平均时耗调整率,node.cost_average为服务器的平均时耗,area.cost_average为所述服务器***的总平均时耗,area.cost_line为所述最小允许时耗,area.cost_max为所述最大允许时耗。
15.一种终端设备,其特征在于,所述终端设备包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
根据服务器***的最大允许时耗和每个服务器的处理请求的时耗,确定所述每个服务器的平均时耗;
根据所述每个服务器的平均时耗和所述服务器***的总业务请求数量,计算所述服务器***的总平均时耗;
根据所述每个服务器的平均时耗、所述服务器***的总平均时耗、所述最大允许时耗和最小允许时耗,计算所述每个服务器的平均时耗调整率;
根据所述每个服务器的平均时耗调整率和所述每个服务器的当前权重,对所述服务器***中服务器的当前权重进行调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310150298.XA CN104125202B (zh) | 2013-04-26 | 2013-04-26 | 权重调整方法、装置和终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310150298.XA CN104125202B (zh) | 2013-04-26 | 2013-04-26 | 权重调整方法、装置和终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104125202A true CN104125202A (zh) | 2014-10-29 |
CN104125202B CN104125202B (zh) | 2019-03-05 |
Family
ID=51770468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310150298.XA Active CN104125202B (zh) | 2013-04-26 | 2013-04-26 | 权重调整方法、装置和终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104125202B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110233860A (zh) * | 2018-03-05 | 2019-09-13 | 杭州萤石软件有限公司 | 一种负载均衡方法、装置和*** |
CN111182011A (zh) * | 2018-11-09 | 2020-05-19 | 中移(杭州)信息技术有限公司 | 一种服务集分配方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080195755A1 (en) * | 2007-02-12 | 2008-08-14 | Ying Lu | Method and apparatus for load balancing with server state change awareness |
CN102611735A (zh) * | 2011-12-21 | 2012-07-25 | 奇智软件(北京)有限公司 | 一种应用服务的负载均衡方法及*** |
CN102724105A (zh) * | 2011-03-30 | 2012-10-10 | 腾讯科技(深圳)有限公司 | 一种负载均衡方法和装置 |
-
2013
- 2013-04-26 CN CN201310150298.XA patent/CN104125202B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080195755A1 (en) * | 2007-02-12 | 2008-08-14 | Ying Lu | Method and apparatus for load balancing with server state change awareness |
CN102724105A (zh) * | 2011-03-30 | 2012-10-10 | 腾讯科技(深圳)有限公司 | 一种负载均衡方法和装置 |
CN102611735A (zh) * | 2011-12-21 | 2012-07-25 | 奇智软件(北京)有限公司 | 一种应用服务的负载均衡方法及*** |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110233860A (zh) * | 2018-03-05 | 2019-09-13 | 杭州萤石软件有限公司 | 一种负载均衡方法、装置和*** |
CN111182011A (zh) * | 2018-11-09 | 2020-05-19 | 中移(杭州)信息技术有限公司 | 一种服务集分配方法及装置 |
CN111182011B (zh) * | 2018-11-09 | 2022-06-10 | 中移(杭州)信息技术有限公司 | 一种服务集分配方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104125202B (zh) | 2019-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104142862B (zh) | 服务器的过载保护方法及装置 | |
CN103500002A (zh) | 应用程序管理的方法、装置及终端设备 | |
CN105005909A (zh) | 预测流失用户的方法及装置 | |
CN103716331B (zh) | 一种数值转移的方法、终端、服务器及*** | |
CN104123120B (zh) | 一种浏览器页面数据过滤方法、装置和*** | |
CN105119806A (zh) | 消息更新方法及装置 | |
CN106708554B (zh) | 程序运行方法及装置 | |
CN104834529A (zh) | 一种应用的性能优化的方法及装置 | |
CN103942113A (zh) | ***重启原因的检测方法、装置及终端设备 | |
CN103442330A (zh) | 一种位置通知的方法及装置 | |
CN104142868A (zh) | 建立连接的方法及装置 | |
CN104618222A (zh) | 一种匹配表情图像的方法及装置 | |
CN105471931A (zh) | 一种查询业务数据的方法、装置和*** | |
CN104618217A (zh) | 分享资源的方法、终端、服务器及*** | |
CN104065693A (zh) | 一种网页应用中网络数据的访问方法、装置和*** | |
CN104135502B (zh) | 一种实现应用消息提醒的方法、相关设备及*** | |
CN104133757A (zh) | 一种获取内存信息的方法及终端 | |
CN104980455A (zh) | 一种基于云存储的多终端数据同步方法、装置和*** | |
CN103177217B (zh) | 一种文件扫描方法、***及客户端和服务器 | |
CN104618223A (zh) | 一种信息推荐的管理方法、装置和*** | |
CN104123276A (zh) | 一种浏览器中弹窗的拦截方法、装置和*** | |
CN104954159A (zh) | 一种网络信息统计的方法和装置 | |
CN104253870A (zh) | 控制数据访问周期的方法和装置 | |
CN105227598A (zh) | 一种基于云存储的资源分享方法、装置和*** | |
CN104092657A (zh) | 信息传输的方法、设备及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |