一种网络容错的方法和装置的制作方法

文档序号:7754548阅读:359来源:国知局
专利名称:一种网络容错的方法和装置的制作方法
技术领域
本发明涉及计算机网络领域,特别涉及一种网络容错的方法和装置。
背景技术
计算机网络可以为用户提供各式各样的服务。参见图1所示的网络服务架构,其包括用户、前台服务器和若干后台服务器三个组成部分。用户可以通过前台服务器访问各个后台服务器,各个后台服务器可以通过前台服务器为用户提供各种服务。根据各个后台服务器的处理能力,预先在前台服务器设定访问策,该访问策略通常静态的规定了各个服务器每个时间片处理的访问数目等信息。当前台服务器接收到用户提交的访问请求,前台服务器按照预先设定的策略,将访问请求分发给各个后台服务器。然而,计算机网络可能会出现网络波动、机器死机等突发状况,一旦后台服务器或其链路出现故障,仍然按照预设的访问策略分发访问请求,则会造成前台服务受损。因此, 如何提供一种有效的容错机制保证前台服务质量是现有技术急待解决的一个问题。

发明内容
为了在部分服务器或链路出现故障的情况下,仍然能够保证前台服务质量,使用户可以有效、快捷的访问到后台服务器,本发明实施例提供了一种网络容错的方法和装置。 所述技术方案如下一种网络容错的方法,所述方法包括获取各个路由当前时间片的访问错误率和访问时延;根据所述各个路由当前时间片的访问错误率和访问时延,计算每个路由的优先权权重;建立各个路由的优先权权重与访问数目之间乘积的恒等式;根据所述每个路由的优先权权重、所述恒等式以及用户的访问数目总量,计算每个路由下一时间片的访问数目;下发所述每个路由下一时间片的访问数目给前台服务器,使所述前台服务器根据所述每个路由下一时间片的访问数目分发用户的访问请求给后台服务器进行处理。 进一步的,所述获取各个路由当前时间片的访问错误率和访问时延之后还包括(A)判断所述各个路由当前时间片的访问错误率是否小于预设的最大访问错误率;(B)若所述各个路由当前时间片的访问错误率小于预设的最大访问错误率,根据所述各个路由当前时间片的访问错误率和访问时延,计算每个路由的优先权权重;(C)若所述各个路由中第一路由当前时间片的访问错误率大于等于预设的最大访问错误率,设置所述第一路由下一时间片的访问数目为0,设置所述第一路由再下一时间片的访问数目为第一乘积与第二乘积之和,所述第一乘积为第一路由当前时间片的访问数目与第一路由当前时间片的访问成功率的乘积,所述第二乘积为第一路由当前时间片的访问数目、第一路由当前时间片的访问失败率和预设的最大访问错误率的乘积;(D)若所述各个路由中第二路由当前时间片的访问错误率大于等于预设的最大访问错误率,记录所述第二路由当前时间片的访问数目,用于控制所述第二路由后续时间片的访问数目不大于所述第二路由当前时间片的访问数目;(E)若所述各个路由当前时间片的访问错误率大于预设的最大访问错误率,并且与预设的最大访问错误率的差值大于预设差值,所述各个路由后续时间片的访问数目按照预设比率衰减,直至所述各个路由后续时间片的访问数目小于等于预设的最低访问数目时,对所述各个路由后续时间片的访问错误率进行累加并平均得到有损平均值;将所述预设的最大访问错误率与所述有损平均值之和,作为新的最大访问错误率;所述根据所述各个路由当前时间片的访问错误率和访问时延,计算每个路由的优先权权重包括如果所述各个路由当前时间片的访问错误率小于所述新的最大访问错误率,根据所述各个路由当前时间片的访问错误率和访问时延,计算每个路由的优先权权重。其中,所述根据所述各个路由当前时间片的访问错误率和访问时延,计算每个路由的优先权权重包括根据所述每个路由当前时间片的访问错误率,计算所述每个路由当前时间片的访问成功率;根据所述各个路由当前时间片的访问成功率,计算所述每个路由当前时间片的访问成功率权重;根据所述各个路由当前时间片的访问时延,计算所述每个路由当前时间片的访问时延权重;根据每个路由当前时间片的所述访问成功率权重和所述访问时延权重,计算每个路由当前时间片的优先权权重。其中,所述根据所述各个路由当前时间片的访问成功率,计算所述每个路由当前时间片的访问成功率权重包括将当前时间片访问成功率最高的路由对应的访问成功率权重设置为1 ;将除所述访问成功率最高的路由之外的其他路由对应的访问成功率权重设置为其他路由的访问成功率与所述最高的访问成功率的比值。其中,所述根据所述各个路由当前时间片的访问时延,计算所述每个路由当前时间片的访问时延权重包括将当前时间片访问时延最短的路由对应的访问时延权重设置为1 ;将除所述访问时延最短的路由之外的其他路由对应的访问时延权重设置为其他路由的访问时延与所述最短的访问时延的比值。其中,所述根据每个路由当前时间片的所述访问成功率权重和所述访问时延权重,计算每个路由当前时间片的优先权权重包括将所述访问成功率权重与预设的访问成功率系数的乘积与所述访问时延权重与预设的访问时延系数的乘积相乘,得到所述优先权权重。其中,所述根据所述每个路由的优先权权重、所述恒等式以及用户的访问数目总量,计算每个路由下一时间片的访问数目包括
根据所述每个路由的优先权权重和所述恒等式,确定各个路由的访问数目的比值;根据所述各个路由的访问数目的比值和所述访问数目总量,确定每个路由下一时间片的访问数目。一种网络容错的装置,所述装置包括获取模块,用于获取各个路由当前时间片的访问错误率和访问时延;权重计算模块,用于根据所述各个路由当前时间片的访问错误率和访问时延,计算每个路由的优先权权重;建立模块,用于建立各个路由的优先权权重与访问数目之间乘积的恒等式;访问量计算模块,用于根据所述每个路由的优先权权重、所述恒等式以及用户的访问数目总量,计算每个路由下一时间片的访问数目;下发模块,用于下发所述每个路由下一时间片的访问数目给前台服务器,使所述前台服务器根据所述每个路由下一时间片的访问数目分发用户的访问请求给后台服务器进行处理。其中,所述权重计算模块包括成功率计算单元,用于根据所述每个路由当前时间片的访问错误率,计算所述每个路由当前时间片的访问成功率;成功率权重计算单元,用于根据所述各个路由当前时间片的访问成功率,计算所述每个路由当前时间片的访问成功率权重;时延权重计算单元,用于根据所述各个路由当前时间片的访问时延,计算所述每个路由当前时间片的访问时延权重;优先权权重计算单元,用于根据每个路由当前时间片的所述访问成功率权重和所述访问时延权重,计算每个路由当前时间片的优先权权重。其中,所述成功率权重计算单元,具体用于将当前时间片访问成功率最高的路由对应的访问成功率权重设置为1 ;将除所述访问成功率最高的路由之外的其他路由对应的访问成功率权重设置为其他路由的访问成功率与所述最高的访问成功率的比值。其中,所述时延权重计算单元,具体用于将当前时间片访问时延最短的路由对应的访问时延权重设置为1 ;将除所述访问时延最短的路由之外的其他路由对应的访问时延权重设置为其他路由的访问时延与所述最短的访问时延的比值。其中,所述优先权权重计算单元,具体用于将所述访问成功率权重与预设的访问成功率系数的乘积与所述访问时延权重与预设的访问时延系数的乘积相乘,得到所述优先权权重。其中,所述访问量计算模块,具体用于根据所述每个路由的优先权权重和所述恒等式,确定各个路由的访问数目的比值;根据所述各个路由的访问数目的比值和所述访问数目总量,确定每个路由下一时间片的访问数目。
其中,所述装置还包括判断模块,用于判断所述各个路由当前时间片的访问错误率是否小于预设的最大访问错误率;若所述各个路由当前时间片的访问错误率小于预设的最大访问错误率,执行权重计算模块的功能;若所述各个路由中第一路由当前时间片的访问错误率大于等于预设的最大访问错误率,执行过载保护模块或记录模块的功能;若所述各个路由当前时间片的访问错误率大于预设的最大访问错误率,并且与预设的最大访问错误率的差值大于预设差值,执行有损服务模块的功能;所述过载保护模块,用于设置所述第一路由下一时间片的访问数目为0,设置所述第一路由再下一时间片的访问数目为第一乘积与第二乘积之和,所述第一乘积为第一路由当前时间片的访问数目与第一路由当前时间片的访问成功率的乘积,所述第二乘积为第一路由当前时间片的访问数目、第一路由当前时间片的访问失败率和预设的最大访问错误率的乘积;所述记录模块,用于记录所述第二路由当前时间片的访问数目,以控制所述第二路由后续时间片的访问数目不大于所述第二路由当前时间片的访问数目;所述有损服务模块,用于所述各个路由后续时间片的访问数目按照预设比率衰减,直至所述各个路由后续时间片的访问数目小于等于预设的最低访问数目时,对所述各个路由后续时间片的访问错误率进行累加并平均得到有损平均值;将所述预设的最大访问错误率与所述有损平均值之和,作为新的最大访问错误率;所述权重计算模块,还用于如果所述各个路由当前时间片的访问错误率小于所述新的最大访问错误率,根据所述各个路由当前时间片的访问错误率和访问时延,计算每个路由的优先权权重。本发明实施例提供的技术方案带来的有益效果是通过获取并根据各个路由当前时间片的访问错误率和访问时延得到每个路由的优先权权重,结合优先权权重与访问数目之间乘积的恒等式以及用户的访问数目总量得到并下发每个路由下一时间片的访问数目,使前台服务器据此分发用户的访问请求给后台服务器进行处理,从而实现了一种基于后台服务延时和错误率的用于负载均衡的网络容错技术,保障了前台服务质量,使用户可以有效、快捷的访问后台服务器。


图1是现有技术提供的网络服务架构示意图;图2是本发明实施例1中提供的网络容错的方法流程图;图3是本发明实施例1中提供的网络容错的服务架构示意图;图4是本发明实施例1中提供的网络容错的方法另一流程图;图5是本发明实施例2中提供的网络容错的装置结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。实施例1参见图2,本发明提供了一种网络容错的方法,包括101 获取各个路由当前时间片的访问错误率和访问时延;102:根据各个路由当前时间片的访问错误率和访问时延,计算每个路由的优先权权重;103 建立各个路由的优先权权重与访问数目之间乘积的恒等式;104:根据每个路由的优先权权重、恒等式以及用户的访问数目总量,计算每个路由下一时间片的访问数目;105:下发每个路由下一时间片的访问数目给前台服务器,使前台服务器根据每个路由下一时间片的访问数目分发用户的访问请求给后台服务器进行处理。 本实施例提供的方法,通过获取并根据各个路由当前时间片的访问错误率和访问时延得到每个路由的优先权权重,结合优先权权重与访问数目之间乘积的恒等式以及用户的访问数目总量得到并下发每个路由下一时间片的访问数目,使前台服务器据此分发用户的访问请求给后台服务器进行处理,从而实现了一种基于后台服务延时和错误率的用于负载均衡的网络容错技术,保障了前台服务质量,使用户可以有效、快捷的访问后台服务器。图3所示为网络容错的服务架构示意图,包括用户、前台服务器、若干后台服务器和网络容错的装置四个组成部分。参见图4,基于上述服务架构,网络容错的方法包括201 网络容错的装置从前台服务器获取前台服务器与后台服务器之间各个路由当前时间片的访问错误率和访问时延;202:可选的,判断各个路由当前时间片的访问错误率是否小于预设的最大访问错误率,最大访问错误率大于0小于1 ;具体的,a)若各个路由当前时间片的访问错误率小于预设的最大访问错误率,执行步骤 203。b)若各个路由中某一路由(设为第一路由)当前时间片的访问错误率大于等于预设的最大访问错误率,设置第一路由下一时间片(即当前时间片的下一时间片)的访问数目为0,设置第一路由再下一时间片(即下一时间片的下一时间片)的访问数目为第一乘积与第二乘积之和,第一乘积为第一路由当前时间片的访问数目与第一路由当前时间片的访问成功率的乘积,第二乘积为第一路由当前时间片的访问数目、第一路由当前时间片的访问失败率和预设的最大访问错误率的乘积。本步骤能够提供过载保护。例如,当前时间片N访问数目为1200,且其错误率是(成功率为1-对%),并设最大访问错误率为20%,则下一时间片N+1访问数目为0 ;再下一时间片N+2的访问数目为1200X (1-24% )+1200X24% X20%c)若各个路由中某一路由(设为第二路由)当前时间片的访问错误率大于等于预设的最大访问错误率,记录第二路由当前时间片的访问数目,用于控制第二路由后续时间片的访问数目不大于第二路由当前时间片的访问数目。本步骤能够识别各路由最高处理能力。
d)若各个路由当前时间片的访问错误率远远大于预设的最大访问错误率,也即各个路由当前时间片的访问错误率大于预设的最大访问错误率,并且与预设的最大访问错误率的差值大于预设差值,各个路由后续时间片的访问数目按照预设比率衰减,直至各个路由后续时间片的访问数目小于等于预设的最低访问数目时,对各个路由后续时间片的访问错误率进行累加并平均得到有损平均值;将预设的最大访问错误率与有损平均值之和,作为新的最大访问错误率;相应的,如果各个路由当前时间片的访问错误率小于新的最大访问错误率,再执行步骤205。本步骤在非压力故障下能够向用户提供有损服务,例如,当出现网络波动、配置文件错误、数据库损坏提供的数据本身不完全不真实时,还能够向用户提供服务。进一步的,也可以不执行步骤202,直接执行步骤203。203:网络容错的装置根据各个路由当前时间片的访问错误率和访问时延,计算每个路由的优先权权重;具体的,a)根据每个路由当前时间片的访问错误率,计算每个路由当前时间片的访问成功率;具体的,每个路由当前时间片的访问成功率等于100%减去该路由当前时间片的访问错误率。b)根据各个路由当前时间片的访问成功率,计算每个路由当前时间片的访问成功
率权重;具体的,将当前时间片访问成功率最高的路由对应的访问成功率权重设置为1 ; 将除访问成功率最高的路由之外的其他路由对应的访问成功率权重设置为其他路由的访问成功率与最高的访问成功率的比值。c)根据各个路由当前时间片的访问时延,计算每个路由当前时间片的访问时延权重;具体的,将当前时间片访问时延最短的路由对应的访问时延权重设置为1 ;将除访问时延最短的路由之外的其他路由对应的访问时延权重设置为其他路由的访问时延与最短的访问时延的比值。d)根据每个路由当前时间片的访问成功率权重和访问时延权重,计算每个路由当前时间片的优先权权重;具体的,将访问成功率权重与预设的访问成功率系数的乘积与访问时延权重与预设的访问时延系数的乘积相乘,得到优先权权重。例如,两条路由Al、A2,Al访问失败率为20 %,则访问成功率为80 %,A 2访问失败率为0%,则访问成功率为100% ;Al访问时延是15,A2访问时延是20 ;则Al访问成功率权重为100% /80%, A2访问成功率权重为1,Al访问时延权重为1,A2访问时延权重为 20/15,则Al 的优先权权重 priAl = (100% /80% ) X 1 = 1. 25A2 的优先权权重 priA2 = 1 X (20/15) = 1. 33204 网络容错的装置建立各个路由的优先权权重与访问数目之间乘积的恒等式; 公式可以表示为alXpril = a2Xpri2 = a3Xpri3 =........ = an Xprin
其中,al为路由Al的访问数目,a2为路由A2的访问数目,an为路由An的访问数目,pril为路由Al的优先权权重,pri2为路由A2的优先权权重,prin为路由An的优先权权重。由恒等式可知,优先权权重越低的路由,分配的访问数目越多,实现了一种基于优先权权重的负载均衡技术,也即网络容错技术。205:网络容错的装置根据每个路由的优先权权重、恒等式以及用户的访问数目总量,计算每个路由下一时间片的访问数目;具体的,根据每个路由的优先权权重和恒等式,确定各个路由的访问数目的比值; 根据各个路由的访问数目的比值和访问数目总量,确定每个路由下一时间片的访问数目。以路由Al、A2 为例,设 pril = 1. 2,pri2 = 1. 5,根据恒等式 al Xpril = a2Xpri2,确定al/a2 = 5/4,设用户的访问数目总量为9,则下一时间片路由Al的访问数目为5,路由A2的访问数目为4。另外,如果计算的访问数目不是整数,则对该访问数目进行四舍五入运算。206 网络容错的装置下发每个路由下一时间片的访问数目给前台服务器;207:前台服务器根据每个路由下一时间片的访问数目分发用户的访问请求给后台服务器进行处理。本实施例提供的方法,通过获取并根据各个路由当前时间片的访问错误率和访问时延得到每个路由的优先权权重,结合优先权权重与访问数目之间乘积的恒等式以及用户的访问数目总量得到并下发每个路由下一时间片的访问数目,使前台服务器据此分发用户的访问请求给后台服务器进行处理,从而实现了一种基于后台服务延时和错误率的用于负载均衡的网络容错技术,保障了前台服务质量,使用户可以有效、快捷的访问后台服务器, 提升了用户体验。另外,还提供了基于过载保护、最高处理能力识别、有损服务等网络容错技术,也有利于保障前台服务质量,使用户可以有效、快捷的访问后台服务器。实施例2参见图5,本实施例提供了一种网络容错的装置,包括获取模块301,用于获取各个路由当前时间片的访问错误率和访问时延;权重计算模块302,用于根据各个路由当前时间片的访问错误率和访问时延,计算每个路由的优先权权重
建立模块303,用于建立各个路由的优先权权重与访问数目之间乘积的恒等式;访问量计算模块304,用于根据每个路由的优先权权重、恒等式以及用户的访问数目总量,计算每个路由下一时间片的访问数目;下发模块305,用于下发每个路由下一时间片的访问数目给前台服务器,使前台服务器根据每个路由下一时间片的访问数目分发用户的访问请求给后台服务器进行处理。其中,权重计算模块302包括成功率计算单元,用于根据每个路由当前时间片的访问错误率,计算每个路由当前时间片的访问成功率;成功率权重计算单元,用于根据各个路由当前时间片的访问成功率,计算每个路由当前时间片的访问成功率权重;时延权重计算单元,用于根据各个路由当前时间片的访问时延,计算每个路由当
11前时间片的访问时延权重;优先权权重计算单元,用于根据每个路由当前时间片的访问成功率权重和访问时延权重,计算每个路由当前时间片的优先权权重。其中,成功率权重计算单元,具体用于将当前时间片访问成功率最高的路由对应的访问成功率权重设置为1 ;将除访问成功率最高的路由之外的其他路由对应的访问成功率权重设置为其他路由的访问成功率与最高的访问成功率的比值。其中,时延权重计算单元,具体用于将当前时间片访问时延最短的路由对应的访问时延权重设置为1 ;将除访问时延最短的路由之外的其他路由对应的访问时延权重设置为其他路由的访问时延与最短的访问时延的比值。其中,优先权权重计算单元,具体用于将访问成功率权重与预设的访问成功率系数的乘积与访问时延权重与预设的访问时延系数的乘积相乘,得到优先权权重。其中,访问量计算模块304,具体用于根据每个路由的优先权权重和恒等式,确定各个路由的访问数目的比值;根据各个路由的访问数目的比值和访问数目总量,确定每个路由下一时间片的访问数目。进一步的,该装置还包括判断模块,用于判断各个路由当前时间片的访问错误率是否小于预设的最大访问错误率;若各个路由当前时间片的访问错误率小于预设的最大访问错误率,执行权重计算模块的功能;若各个路由中第一路由当前时间片的访问错误率大于等于预设的最大访问错误率,执行过载保护模块或记录模块的功能;若各个路由当前时间片的访问错误率大于预设的最大访问错误率,并且与预设的最大访问错误率的差值大于预设差值,执行有损服务模块的功能;过载保护模块,用于设置第一路由下一时间片的访问数目为0,设置第一路由再下一时间片的访问数目为第一乘积与第二乘积之和,第一乘积为第一路由当前时间片的访问数目与第一路由当前时间片的访问成功率的乘积,第二乘积为第一路由当前时间片的访问数目、第一路由当前时间片的访问失败率和预设的最大访问错误率的乘积;记录模块,用于记录第二路由当前时间片的访问数目,以控制第二路由后续时间片的访问数目不大于第二路由当前时间片的访问数目;有损服务模块,用于各个路由后续时间片的访问数目按照预设比率衰减,直至各个路由后续时间片的访问数目小于等于预设的最低访问数目时,对各个路由后续时间片的访问错误率进行累加并平均得到有损平均值;将预设的最大访问错误率与有损平均值之和,作为新的最大访问错误率;相应的,权重计算模块302,还用于如果各个路由当前时间片的访问错误率小于新的最大访问错误率,根据各个路由当前时间片的访问错误率和访问时延,计算每个路由的优先权权重。本实施例提供的装置,与方法实施例中的网络容错的装置属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。本实施例提供的装置,通过获取并根据各个路由当前时间片的访问错误率和访问时延得到每个路由的优先权权重,结合优先权权重与访问数目之间乘积的恒等式以及用户的访问数目总量得到并下发每个路由下一时间片的访问数目,使前台服务器据此分发用户的访问请求给后台服务器进行处理,从而实现了一种基于后台服务延时和错误率的用于负载均衡的网络容错技术,保障了前台服务质量,使用户可以有效、快捷的访问后台服务器, 提升了用户体验。另外,还提供了基于过载保护、最高处理能力识别、有损服务等网络容错技术,也有利于保障前台服务质量,使用户可以有效、快捷的访问后台服务器。以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如计算机中的硬盘、光盘或软盘。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种网络容错的方法,其特征在于,所述方法包括获取各个路由当前时间片的访问错误率和访问时延;根据所述各个路由当前时间片的访问错误率和访问时延,计算每个路由的优先权权重;建立各个路由的优先权权重与访问数目之间乘积的恒等式;根据所述每个路由的优先权权重、所述恒等式以及用户的访问数目总量,计算每个路由下一时间片的访问数目;下发所述每个路由下一时间片的访问数目给前台服务器,使所述前台服务器根据所述每个路由下一时间片的访问数目分发用户的访问请求给后台服务器进行处理。
2.如权利要求1所述的方法,其特征在于,所述获取各个路由当前时间片的访问错误率和访问时延之后还包括(A)判断所述各个路由当前时间片的访问错误率是否小于预设的最大访问错误率;(B)若所述各个路由当前时间片的访问错误率小于预设的最大访问错误率,根据所述各个路由当前时间片的访问错误率和访问时延,计算每个路由的优先权权重;(C)若所述各个路由中第一路由当前时间片的访问错误率大于等于预设的最大访问错误率,设置所述第一路由下一时间片的访问数目为0,设置所述第一路由再下一时间片的访问数目为第一乘积与第二乘积之和,所述第一乘积为第一路由当前时间片的访问数目与第一路由当前时间片的访问成功率的乘积,所述第二乘积为第一路由当前时间片的访问数目、第一路由当前时间片的访问失败率和预设的最大访问错误率的乘积;(D)若所述各个路由中第二路由当前时间片的访问错误率大于等于预设的最大访问错误率,记录所述第二路由当前时间片的访问数目,用于控制所述第二路由后续时间片的访问数目不大于所述第二路由当前时间片的访问数目;(E)若所述各个路由当前时间片的访问错误率大于预设的最大访问错误率,并且与预设的最大访问错误率的差值大于预设差值,所述各个路由后续时间片的访问数目按照预设比率衰减,直至所述各个路由后续时间片的访问数目小于等于预设的最低访问数目时,对所述各个路由后续时间片的访问错误率进行累加并平均得到有损平均值;将所述预设的最大访问错误率与所述有损平均值之和,作为新的最大访问错误率;所述根据所述各个路由当前时间片的访问错误率和访问时延,计算每个路由的优先权权重包括如果所述各个路由当前时间片的访问错误率小于所述新的最大访问错误率,根据所述各个路由当前时间片的访问错误率和访问时延,计算每个路由的优先权权重。
3.如权利要求1或2所述的方法,其特征在于,所述根据所述各个路由当前时间片的访问错误率和访问时延,计算每个路由的优先权权重包括根据所述每个路由当前时间片的访问错误率,计算所述每个路由当前时间片的访问成功率;根据所述各个路由当前时间片的访问成功率,计算所述每个路由当前时间片的访问成功率权重;根据所述各个路由当前时间片的访问时延,计算所述每个路由当前时间片的访问时延权重;根据每个路由当前时间片的所述访问成功率权重和所述访问时延权重,计算每个路由当前时间片的优先权权重。
4.如权利要求3所述的方法,其特征在于,所述根据所述各个路由当前时间片的访问成功率,计算所述每个路由当前时间片的访问成功率权重包括将当前时间片访问成功率最高的路由对应的访问成功率权重设置为1 ; 将除所述访问成功率最高的路由之外的其他路由对应的访问成功率权重设置为其他路由的访问成功率与所述最高的访问成功率的比值。
5.如权利要求3所述的方法,其特征在于,所述根据所述各个路由当前时间片的访问时延,计算所述每个路由当前时间片的访问时延权重包括将当前时间片访问时延最短的路由对应的访问时延权重设置为1 ; 将除所述访问时延最短的路由之外的其他路由对应的访问时延权重设置为其他路由的访问时延与所述最短的访问时延的比值。
6.如权利要求3所述的方法,其特征在于,所述根据每个路由当前时间片的所述访问成功率权重和所述访问时延权重,计算每个路由当前时间片的优先权权重包括将所述访问成功率权重与预设的访问成功率系数的乘积与所述访问时延权重与预设的访问时延系数的乘积相乘,得到所述优先权权重。
7.如权利要求1所述的方法,其特征在于,所述根据所述每个路由的优先权权重、所述恒等式以及用户的访问数目总量,计算每个路由下一时间片的访问数目包括根据所述每个路由的优先权权重和所述恒等式,确定各个路由的访问数目的比值; 根据所述各个路由的访问数目的比值和所述访问数目总量,确定每个路由下一时间片的访问数目。
8.—种网络容错的装置,其特征在于,所述装置包括获取模块,用于获取各个路由当前时间片的访问错误率和访问时延; 权重计算模块,用于根据所述各个路由当前时间片的访问错误率和访问时延,计算每个路由的优先权权重;建立模块,用于建立各个路由的优先权权重与访问数目之间乘积的恒等式; 访问量计算模块,用于根据所述每个路由的优先权权重、所述恒等式以及用户的访问数目总量,计算每个路由下一时间片的访问数目;下发模块,用于下发所述每个路由下一时间片的访问数目给前台服务器,使所述前台服务器根据所述每个路由下一时间片的访问数目分发用户的访问请求给后台服务器进行处理。
9.如权利要求8所述的装置,其特征在于,所述权重计算模块包括成功率计算单元,用于根据所述每个路由当前时间片的访问错误率,计算所述每个路由当前时间片的访问成功率;成功率权重计算单元,用于根据所述各个路由当前时间片的访问成功率,计算所述每个路由当前时间片的访问成功率权重;时延权重计算单元,用于根据所述各个路由当前时间片的访问时延,计算所述每个路由当前时间片的访问时延权重;优先权权重计算单元,用于根据每个路由当前时间片的所述访问成功率权重和所述访问时延权重,计算每个路由当前时间片的优先权权重。
10.如权利要求9所述的装置,其特征在于,所述成功率权重计算单元,具体用于将当前时间片访问成功率最高的路由对应的访问成功率权重设置为1 ;将除所述访问成功率最高的路由之外的其他路由对应的访问成功率权重设置为其他路由的访问成功率与所述最高的访问成功率的比值。
11.如权利要求9所述的装置,其特征在于,所述时延权重计算单元,具体用于将当前时间片访问时延最短的路由对应的访问时延权重设置为1 ;将除所述访问时延最短的路由之外的其他路由对应的访问时延权重设置为其他路由的访问时延与所述最短的访问时延的比值。
12.如权利要求9所述的装置,其特征在于,所述优先权权重计算单元,具体用于将所述访问成功率权重与预设的访问成功率系数的乘积与所述访问时延权重与预设的访问时延系数的乘积相乘,得到所述优先权权重。
13.如权利要求8所述的装置,其特征在于,所述访问量计算模块,具体用于根据所述每个路由的优先权权重和所述恒等式,确定各个路由的访问数目的比值; 根据所述各个路由的访问数目的比值和所述访问数目总量,确定每个路由下一时间片的访问数目。
14.如权利要求8所述的装置,其特征在于,所述装置还包括判断模块,用于判断所述各个路由当前时间片的访问错误率是否小于预设的最大访问错误率;若所述各个路由当前时间片的访问错误率小于预设的最大访问错误率,执行权重计算模块的功能;若所述各个路由中第一路由当前时间片的访问错误率大于等于预设的最大访问错误率,执行过载保护模块或记录模块的功能;若所述各个路由当前时间片的访问错误率大于预设的最大访问错误率,并且与预设的最大访问错误率的差值大于预设差值,执行有损服务模块的功能;所述过载保护模块,用于设置所述第一路由下一时间片的访问数目为0,设置所述第一路由再下一时间片的访问数目为第一乘积与第二乘积之和,所述第一乘积为第一路由当前时间片的访问数目与第一路由当前时间片的访问成功率的乘积,所述第二乘积为第一路由当前时间片的访问数目、第一路由当前时间片的访问失败率和预设的最大访问错误率的乘积;所述记录模块,用于记录所述第二路由当前时间片的访问数目,以控制所述第二路由后续时间片的访问数目不大于所述第二路由当前时间片的访问数目;所述有损服务模块,用于所述各个路由后续时间片的访问数目按照预设比率衰减,直至所述各个路由后续时间片的访问数目小于等于预设的最低访问数目时,对所述各个路由后续时间片的访问错误率进行累加并平均得到有损平均值;将所述预设的最大访问错误率与所述有损平均值之和,作为新的最大访问错误率;所述权重计算模块,还用于如果所述各个路由当前时间片的访问错误率小于所述新的最大访问错误率,根据所述各个路由当前时间片的访问错误率和访问时延,计算每个路由的优先权权重。
全文摘要
本发明公开了一种网络容错的方法和装置,属于计算机网络领域。所述方法包括获取并根据各个路由当前时间片的访问错误率和访问时延,计算每个路由的优先权权重;结合优先权权重与访问数目之间乘积的恒等式以及用户的访问数目总量得到并下发每个路由下一时间片的访问数目,使前台服务器据此分发用户的访问请求给后台服务器进行处理。所述装置包括获取模块、权重计算模块、建立模块、访问量计算模块和下发模块。本发明通过上述方案,实现了一种基于后台服务延时和错误率的用于负载均衡的网络容错技术,保障了前台服务质量,使用户可以有效、快捷的访问后台服务器,提升了用户体验。
文档编号H04L12/56GK102340437SQ20101023088
公开日2012年2月1日 申请日期2010年7月15日 优先权日2010年7月15日
发明者孙亮, 曾砺锋, 李鑫, 梁定安, 沙开波 申请人:腾讯数码(天津)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1