CN106603429A - 一种基于令牌桶的acs系统过载保护方法 - Google Patents
一种基于令牌桶的acs系统过载保护方法 Download PDFInfo
- Publication number
- CN106603429A CN106603429A CN201611169756.4A CN201611169756A CN106603429A CN 106603429 A CN106603429 A CN 106603429A CN 201611169756 A CN201611169756 A CN 201611169756A CN 106603429 A CN106603429 A CN 106603429A
- Authority
- CN
- China
- Prior art keywords
- token
- bucket
- acs
- token bucket
- availability
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于令牌桶的ACS系统过载保护方法,能够有效的分配ACS系统资源,减轻ACS系统服务压力,包括以下步骤:在ACS系统中建立两个令牌桶:全速令牌桶和半速令牌桶,全速令牌桶中注入一级令牌,半速令牌桶中注入二级令牌;针对CPE设备向ACS系统发出的访问请求,尝试从全速令牌桶中获取一级令牌,获取一级令牌成功,则执行全速TR069请求,按标准流程处理TR069业务;获取一级令牌失败,则再尝试从半速令牌桶获取二级令牌,获取二级令牌成功,则执行半速TR069请求,处理Inform信息;获取二级令牌失败,ACS系统输出HTTP 403应答,表示ACS系统禁止请求。
Description
技术领域
本发明涉及ACS系统技术领域,具体为一种基于令牌桶的ACS系统过载保护方法。
背景技术
CWMP(CPE WAN Management Protocol,CPE 广域网管理协议)是由 DSL(DigitalSubscriber's Line,数字用户线路)论坛发起开发的技术规范之一,编号为 TR-069, 所以又被称为 TR-069 协议。它提供了对下一代网络中家庭网络设备进行管理配置 的通用框架、消息规范、管理方法和数据模型。
CWMP 主要应用于 DSL 接入网络环境。在 DSL 接入网络中,由于用户设备数量繁多、部署分散,通常位于用户侧,不易进行设备的管理和维护,CWMP 提出通过 ACS(Auto-Configuration Server,自动配置服务器)对 CPE(Customer Premises Equipment,用户侧设备)进行远程集中管理,解决 CPE 设备的管理困难,节约维 护成本,提高问题解决效率。
现有ACS系统一般采用架设反向代理等方式在系统过载时进行限流,适用于一般网站的HTTP限流。TR069虽然基于HTTP,但TR069与一般意义上的基于HTTP网站应用存在较大差异。
1,TR069协议是基于状态机的:按常见方法限流,很容易出现数据传输一半,突然中断的情况。
2,TR069协议的重连机制:在CPE设备连接失败后,设备会立即尝试重新连接,这更增加了系统的过载。所以,这个时候,需要尽可能的给CPE一个响应,防止重连接的发生。
发明内容
针对上述问题,本发明提供了一种基于令牌桶的ACS系统过载保护方法,能够有效的分配ACS系统资源,减轻ACS系统服务压力。
其技术方案是这样的:一种基于令牌桶的ACS系统过载保护方法,其特征在于,包括以下步骤:
在ACS系统中建立两个令牌桶:全速令牌桶和半速令牌桶,全速令牌桶中注入一级令牌,半速令牌桶中注入二级令牌;
针对CPE设备向ACS系统发出的CPE请求,尝试从全速令牌桶中获取一级令牌,获取一级令牌成功,则执行全速TR069请求,按标准流程处理TR069业务;
获取一级令牌失败,则再尝试从半速令牌桶获取二级令牌,获取二级令牌成功,则执行半速TR069请求,处理Inform信息;
获取二级令牌失败,ACS系统输出HTTP 403应答,表示ACS系统禁止请求。
进一步的,包括以下步骤:
步骤1:在ACS系统中建立两个令牌桶:全速令牌桶和半速令牌桶,全速令牌桶中注入一级令牌,半速令牌桶中注入二级令牌;
步骤2:根据ACS系统的硬件使用率,分别确定全速令牌桶和半速令牌桶的桶深度和注入的令牌数;
步骤3:CPE设备访问ACS系统发出CPE请求,ACS系统尝试取得CPE请求的cookie中存储的令牌,若获取成功,则执行步骤7,否则执行步骤4;
步骤4:尝试从全速令牌桶获取一级令牌,判断全速令牌桶中存在的一级令牌数是否足够发送接收CPE请求,如果一级令牌数量足够则获取成功,执行步骤8,否则执行步骤5;
步骤5:尝试从半速令牌桶桶获取二级令牌,判断半速令牌桶中存在的二级令牌数是否足够发送接收CPE请求,如果二级令牌数量足够则获取成功,则执行步骤9,否则执行步骤6;
步骤6:生成系统繁忙令牌,执行步骤10;
步骤7:判断当前CPE请求中的cookie中存储的令牌是否是一级令牌,是则执行步骤11,否则执行步骤12;
步骤8: 将一级令牌写入CPE请求中的cookie中,继续执行步骤11;
步骤9: 将二级令牌写入CPE请求中的cookie中,继续执行步骤13;
步骤10: 将系统繁忙令牌写入CPE请求中的cookie中,执行步骤14;
步骤11: ACS系统执行全速TR069请求,处理lnfor信息,检查配置,升级,性能参数读取等标志位,下发相关业务;
步骤12: 判断当前CPE请求中的cookie中存储的令牌是否是二级令牌,是则执行步骤13,否则执行步骤14;
步骤13: ACS系统执行半速TR069请求,处理lnfor信息,禁止下发相关业务;
步骤14: ACS系统输出HTTP 403应答,表示ACS系统禁止请求。
进一步的,步骤2具体包括以下步骤:
步骤201:根据ACS系统的硬件使用率,生成合乎当前ACS系统的令牌桶的桶深度以及可注入的令牌数,执行步骤202;
步骤202:向令牌桶中注入令牌;如果发现令牌桶中令牌数超出桶深度,设置当前令牌数为桶深度,执行步骤203;
步骤203:判定令牌桶的当前状态,如果正常,继续执行步骤204,否则,执行步骤205;
步骤204:开启延时定时器,如果定时器时间到,执行步骤201;
步骤205:关闭令牌桶。
进一步的,在步骤201中ACS系统的硬件使用率包括CPU使用率、内存使用率、硬盘使用率和网络带宽使用率。
进一步的,在步骤201中,根据ACS系统的硬件使用率计算得到系统压力值,根据系统压力值计算得到注入令牌桶的令牌数。
进一步的,系统压力值通过以下压力检测评估函数公式计算:
c=(X1*X1r+X2*X2r...+Xn*Xnr)*nr + OldRat * or
其中,X1为硬件X1的使用率,X1r为硬件X1的使用因子,其中X2为硬件X2的使用率,X2r为硬件X2的使用因子,其中XN为硬件XN的使用率,XNr为硬件XN的使用因子,nr为评估因子,OldRat为上一次评估结果,or为评估因子 ,满足X1r+X2r+...+Xnr=1,nr+or = 1;
进一步的,计算注入令牌桶的令牌数通过以下公式计算:
(1 - c) * (MAX-MIN) + MIN
其中,c为系统压力值,MAX为最大注入令牌数,MIN为最小注入令牌数。
进一步的,根据单项评估函数分别ACS系统中各个硬件的单项评估可用率,分别得到ACS系统中各个硬件的评估可用率,根据多个单项评估可用率得到系统可用度,根据木桶理论由最低的单项评估可用率确定系统可用度,根据系统可用度,计算得到桶深度。
进一步的,单项评估可用率通过单项评估函数以下公式计算:
(min(max(x, xMIN), xMAX) - xMIN) / (xMAX - xMIN)
其中为x为x指标实测空闲率,范围为0-1,表示实际的系统硬件的空闲率,xU为x指标的评估可用率,表示根据该检测指标计算出的实际可用率,xU范围为0-1 ,xMIN为x指标的最小实测空闲率,xMIN范围为0-1,xMAX为x指标的最大实测空闲率,xMAX范围为0-1, min是最小值函数,max是最大值函数,min(max(x, xMIN), xMAX)计算x取值范围只能在xMIN-xMAX之间;
系统可用度通过以下公式计算:
yU = MIN([x1U, x2U..........xnU])
其中,yU 为系统最终可用度,范围为0-1,MIN为返回数组最小值计算函数,x1U为根据单指标评估函数计算出的实际x1空闲率,x2U 为根据单指标评估函数计算出的实际x2空闲率,xnU为根据单指标评估函数计算出的实际xn空闲率。
进一步的,桶深度通过以下公式计算:
tU = (1-tr) * (yU * (tMAX - tMIN) + tMIN) + tr * tUx
其中,tU为最终桶深度,yU为系统可用度,tMAX为桶最大深度,tMIN 为桶最小深度,tr为惯性因子(0-1),tUx为前一次计算的桶深度。
本发明的基于令牌桶的ACS系统过载保护方法,根据TR069协议的特点,针对CPE设备访问ACS系统发出的CPE请求,采用两个速度控制令牌桶,建立全速令牌桶和半速令牌桶,全速令牌桶中注入一级令牌,半速令牌桶中注入二级令牌,其中获取一级令牌的CPE请求,则执行全速TR069请求,按标准流程处理TR069业务,这个时候,CPE完成各种协议规定的最耗时任务;获取一级令牌失败的CPE请求,尝试获取二级令牌,执行半速TR069请求,处理Inform信息,这个时候,只执行TR069规定的必须处理Inform信息的流程,Inform信息处理很快,可以有效防止CPE设备的重复链接,避免ACS系统过载,CPE设备不会出现上报接口的异常告警;对以上两种令牌都获取失败的,设定直接认定为系统严重超载,这个时候直接返回HTTP 403应答,表示ACS系统禁止请求;同时,本发明的令牌桶可以根据ACS系统中硬件的使用率,调节令牌桶的深度和注入令牌桶的令牌数,在系统硬件使用率较高时减小令牌桶深度和注入令牌桶的令牌数,在系统硬件使用率较低时增加令牌桶深度和注入令牌桶的令牌数,在不更换ACS系统硬件的情况下,提升了ACS系统的硬件的处理能力,其方法实现简单,可靠,可以有效的应对在系统过载的处理,增强ACS系统的稳定性。
附图说明
图1为本发明的基于令牌桶的ACS系统过载保护方法的流程图;
图2为本发明的调节令牌桶的深度和注入令牌桶的令牌数的过程的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
具体实施例1:
见图1、图2,本发明的一种基于令牌桶的ACS系统过载保护方法,包括以下步骤:
步骤1:在ACS系统中建立两个令牌桶:全速令牌桶和半速令牌桶,全速令牌桶中注入一级令牌,半速令牌桶中注入二级令牌;
步骤2:根据ACS系统的硬件使用率,分别确定全速令牌桶和半速令牌桶的桶深度和注入的令牌数。
步骤3:CPE设备访问ACS系统发出CPE请求,ACS系统尝试取得CPE请求的cookie中存储的令牌,若获取成功,则执行步骤7,否则执行步骤4;
步骤4:尝试从全速令牌桶获取一级令牌,判断全速令牌桶中存在的一级令牌数是否足够发送接收CPE请求,如果一级令牌数量足够则获取成功,执行步骤8,否则执行步骤5;
步骤5:尝试从半速令牌桶桶获取二级令牌,判断半速令牌桶中存在的二级令牌数是否足够发送接收CPE请求,如果二级令牌数量足够则获取成功,则执行步骤9,否则执行步骤6;
步骤6:生成系统繁忙令牌,执行步骤10;
步骤7:判断当前CPE请求中的cookie中存储的令牌是否是一级令牌,是则执行步骤11,否则执行步骤12;
步骤8: 将一级令牌写入CPE请求中的cookie中,继续执行步骤11;
步骤9: 将二级令牌写入CPE请求中的cookie中,继续执行步骤13;
步骤10: 将系统繁忙令牌写入CPE请求中的cookie中,执行步骤14;
步骤11: ACS系统执行全速TR069请求,处理lnfor信息,检查配置,升级,性能参数读取等标志位,下发相关业务;
步骤12: 判断当前CPE请求中的cookie中存储的令牌是否是二级令牌,是则执行步骤13,否则执行步骤14;
步骤13: ACS系统执行半速TR069请求,处理lnfor信息,禁止下发相关业务;
步骤14: ACS系统输出HTTP 403应答,表示ACS系统禁止请求。
其中,步骤2具体包括以下步骤:
步骤201:根据ACS系统的硬件使用率,生成合乎当前ACS系统的令牌桶的桶深度以及可注入的令牌数,执行步骤202;
步骤202:向令牌桶中注入令牌;如果发现令牌桶中令牌数超出桶深度,设置当前令牌数为桶深度,执行步骤203;
步骤203:判定令牌桶的当前状态,如果正常,继续执行步骤204,否则,执行
步骤204:开启延时定时器,如果定时器时间到,执行步骤201;
步骤205:关闭令牌桶。
在步骤201中,ACS系统的硬件使用率包括CPU使用率和内存使用率;根据系统的硬件使用率计算得到系统压力值,根据系统压力值计算得到注入令牌桶的令牌数,系统压力值通过以下压力检测评估函数公式计算:
系统压力值通过以下压力检测评估函数公式计算:
c=(X1*X1r+X2*X2r)*nr + OldRat * or
其中X1为CPU的使用率,X1r为CPU的使用因子,其中X2为内存的使用率,X2r为内存的使用因子,nr为评估因子,OldRat为上一次评估结果,or为评估因子 ,满足X1r+X2r=1,nr+or= 1;
算注入令牌桶的令牌数通过以下公式计算:
(1 - c) * (MAX-MIN) + MIN
其中,c为系统压力值,MAX为最大注入令牌数,MIN为最小注入令牌数。
根据单项评估函数分别计算系统中硬件的单项评估可用率,分别得到CPU和内存的评估可用率,单项评估可用率通过单项评估函数以下公式计算:
(min(max(x, xMIN), xMAX) - xMIN) / (xMAX - xMIN)
其中为x为x指标实测空闲率,范围为0-1,表示实际的cpu或内存等的空闲率,xU为x指标的评估可用率,表示根据该检测指标计算出的实际可用率,xU范围为0-1 ,xMIN为x指标的最小实测空闲率,xMIN范围为0-1,xMAX为x指标的最大实测空闲率,xMAX范围为0-1, min是最小值函数,max是最大值函数,min(max(x, xMIN), xMAX)计算x取值范围只能在xMIN-xMAX之间;
根据多个单项评估可用率得到系统可用度,根据木桶理论由最低的单项评估可用率确定系统可用度,系统可用度通过以下公式计算:
yU = MIN([x1U, x2U])
其中,yU 为系统最终可用度,范围为0-1,MIN为返回数组最小值计算函数,x1U为根据单指标评估函数计算出的实际CPU空闲率,x2U 为根据单指标评估函数计算出的实际内存空闲率;
根据系统可用度,计算得到桶深度,桶深度通过以下公式计算:
tU = (1-tr) * (yU * (tMAX - tMIN) + tMIN) + tr * tUx
其中,tU为最终桶深度,yU为系统可用度,tMAX为桶最大深度,tMIN 为桶最小深度,tr为惯性因子,范围为0-1,该指标越小,每次生成的桶深度越平滑,tUx为前一次计算的桶深度。
具体实施例2:
见图1、图2,本发明的一种基于令牌桶的ACS系统过载保护方法,包括以下步骤:
步骤1:在ACS系统中建立两个令牌桶:全速令牌桶和半速令牌桶,全速令牌桶中注入一级令牌,半速令牌桶中注入二级令牌;
步骤2:根据ACS系统的硬件使用率,分别确定全速令牌桶和半速令牌桶的桶深度和注入的令牌数。
步骤3:CPE设备访问ACS系统发出CPE请求,ACS系统尝试取得CPE请求的cookie中存储的令牌,若获取成功,则执行步骤7,否则执行步骤4;
步骤4:尝试从全速令牌桶获取一级令牌,判断全速令牌桶中存在的一级令牌数是否足够发送接收CPE请求,如果一级令牌数量足够则获取成功,执行步骤8,否则执行步骤5;
步骤5:尝试从半速令牌桶桶获取二级令牌,判断半速令牌桶中存在的二级令牌数是否足够发送接收CPE请求,如果二级令牌数量足够则获取成功,则执行步骤9,否则执行步骤6;
步骤6:生成系统繁忙令牌,执行步骤10;
步骤7:判断当前CPE请求中的cookie中存储的令牌是否是一级令牌,是则执行步骤11,否则执行步骤12;
步骤8: 将一级令牌写入CPE请求中的cookie中,继续执行步骤11;
步骤9: 将二级令牌写入CPE请求中的cookie中,继续执行步骤13;
步骤10: 将系统繁忙令牌写入CPE请求中的cookie中,执行步骤14;
步骤11: ACS系统执行全速TR069请求,处理lnfor信息,检查配置,升级,性能参数读取等标志位,下发相关业务;
步骤12: 判断当前CPE请求中的cookie中存储的令牌是否是二级令牌,是则执行步骤13,否则执行步骤14;
步骤13: ACS系统执行半速TR069请求,处理lnfor信息,禁止下发相关业务;
步骤14: ACS系统输出HTTP 403应答,表示ACS系统禁止请求。
其中,步骤2具体包括以下步骤:
步骤201:根据ACS系统的硬件使用率,生成合乎当前ACS系统的令牌桶的桶深度以及可注入的令牌数,执行步骤202;
步骤202:向令牌桶中注入令牌;如果发现令牌桶中令牌数超出桶深度,设置当前令牌数为桶深度,执行步骤203;
步骤203:判定令牌桶的当前状态,如果正常,继续执行步骤204,否则,执行
步骤204:开启延时定时器,如果定时器时间到,执行步骤201;
步骤205:关闭令牌桶。
在步骤201中,系统的硬件使用率包括CPU使用率、内存使用率、硬盘使用率和网络带宽使用率,根据系统的硬件使用率得到系统压力值,根据系统压力值计算得到注入令牌桶的令牌数,系统压力值通过以下压力检测评估函数公式计算:
系统压力值通过以下压力检测评估函数公式计算:
c=(X1*X1r+X2*X2r+ X3*X3r+ X4*X4r)*nr + OldRat * or
其中X1为CPU的使用率,X1r为CPU的使用因子,其中X2为内存的使用率,X2r为内存的使用因子, X3为硬盘的使用率,X3r为硬盘的使用因子,其X4为网络带宽的使用率,X4r为网络带宽的使用因子,nr为评估因子,OldRat为上一次评估结果,or为评估因子 ,满足X1r+X2r+X3r+ X4r =1,nr+or = 1;
计算注入令牌桶的令牌数通过以下公式计算:
(1 - c) * (MAX-MIN) + MIN
其中,c为系统压力值,MAX为最大注入令牌数,MIN为最小注入令牌数。
根据单项评估函数分别计算系统中硬件的单项评估可用率,分别得到CPU和内存、硬盘和网络带宽的评估可用率,单项评估可用率通过单项评估函数以下公式计算:
(min(max(x, xMIN), xMAX) - xMIN) / (xMAX - xMIN)
其中为x为x指标实测空闲率,范围为0-1,表示实际的cpu、内存、硬盘或网络带宽的空闲率,xU为x指标的评估可用率,表示根据该检测指标计算出的实际可用率,xU范围为0-1 ,xMIN为x指标的最小实测空闲率,xMIN范围为0-1,xMAX为x指标的最大实测空闲率,xMAX范围为0-1, min是最小值函数,max是最大值函数,min(max(x, xMIN), xMAX)计算x取值范围只能在xMIN-xMAX之间;
根据多个单项评估可用率得到系统可用度,根据木桶理论由最低的单项评估可用率确定系统可用度,系统可用度通过以下公式计算:
yU = MIN([x1U, x2U,x3U, x4U])
其中,yU 为系统最终可用度,范围为0-1,MIN为返回数组最小值计算函数,x1U为根据单指标评估函数计算出的实际CPU空闲率,x2U 为根据单指标评估函数计算出的实际内存空闲率,x3U为根据单指标评估函数计算出的实际硬盘空闲率,x4U为根据单指标评估函数计算出的实际网络带宽空闲率;
根据系统可用度,计算得到桶深度,桶深度通过以下公式计算:
tU = (1-tr) * (yU * (tMAX - tMIN) + tMIN) + tr * tUx
其中,tU为最终桶深度,yU为系统可用度,tMAX为桶最大深度,tMIN 为桶最小深度,tr为惯性因子,范围为0-1,该指标越小,每次生成的桶深度越平滑,tUx为前一次计算的桶深度。
在步骤2的具体过程,本发明的令牌桶可以根据ACS系统中硬件的使用率,调节令牌桶的深度和注入令牌桶的令牌数,在系统硬件使用率较高时减小令牌桶深度和注入令牌桶的令牌数,在系统硬件使用率较低时增加令牌桶深度和注入令牌桶的令牌数,在不更换ACS系统硬件的情况下,提升了ACS系统的硬件的处理能力,其方法实现简单,可靠,可以有效的应对在系统过载的处理,增强ACS系统的稳定性,采用多指标评估,综合考虑了包括CPU使用率、内存使用率、硬盘使用率、网络带宽使用率,可以准确的评估系统负载状况,提高系统稳定水平,其方法实现简单,可靠,可以有效的应对在系统过载的处理,增强系统的稳定性。
本发明的基于令牌桶的ACS系统过载保护方法,根据TR069协议的特点,针对CPE设备访问ACS系统发出的CPE请求,采用两个速度控制令牌桶,建立全速令牌桶和半速令牌桶,全速令牌桶中注入一级令牌,半速令牌桶中注入二级令牌,其中获取一级令牌的CPE请求,则执行全速TR069请求,按标准流程处理TR069业务,这个时候,CPE完成各种协议规定的最耗时任务;获取一级令牌失败的CPE请求,尝试获取二级令牌,执行半速TR069请求,处理Inform信息,这个时候,只执行TR069规定的必须处理Inform信息的流程, Inform信息处理很快,可以有效防止CPE设备的重复链接,避免ACS系统过载,CPE设备不会出现上报接口的异常告警;对以上两种令牌都获取失败的,设定直接认定为系统严重超载,这个时候直接返回HTTP 403应答,表示ACS系统禁止请求。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于令牌桶的ACS系统过载保护方法,其特征在于,包括以下步骤:
在ACS系统中建立两个令牌桶:全速令牌桶和半速令牌桶,全速令牌桶中注入一级令牌,半速令牌桶中注入二级令牌;
针对CPE设备向ACS系统发出的CPE请求,尝试从全速令牌桶中获取一级令牌,获取一级令牌成功,则执行全速TR069请求,按标准流程处理TR069业务;
获取一级令牌失败,则再尝试从半速令牌桶获取二级令牌,获取二级令牌成功,则执行半速TR069请求,处理Inform信息;
获取二级令牌失败,ACS系统输出HTTP 403应答,表示ACS系统禁止请求。
2.根据权利要求1所述的一种基于令牌桶的ACS系统过载保护方法,其特征在于:包括以下步骤:
步骤1:在ACS系统中建立两个令牌桶:全速令牌桶和半速令牌桶,全速令牌桶中注入一级令牌,半速令牌桶中注入二级令牌;
步骤2:根据ACS系统的硬件使用率,分别确定全速令牌桶和半速令牌桶的桶深度和注入的令牌数;
步骤3:CPE设备访问ACS系统发出CPE请求,ACS系统尝试取得CPE请求的cookie中存储的令牌,若获取成功,则执行步骤7,否则执行步骤4;
步骤4:尝试从全速令牌桶获取一级令牌,判断全速令牌桶中存在的一级令牌数是否足够发送接收CPE请求,如果一级令牌数量足够则获取成功,执行步骤8,否则执行步骤5;
步骤5:尝试从半速令牌桶桶获取二级令牌,判断半速令牌桶中存在的二级令牌数是否足够发送接收CPE请求,如果二级令牌数量足够则获取成功,则执行步骤9,否则执行步骤6;
步骤6:生成系统繁忙令牌,执行步骤10;
步骤7:判断当前CPE请求中的cookie中存储的令牌是否是一级令牌,是则执行步骤11,否则执行步骤12;
步骤8: 将一级令牌写入CPE请求中的cookie中,继续执行步骤11;
步骤9: 将二级令牌写入CPE请求中的cookie中,继续执行步骤13;
步骤10: 将系统繁忙令牌写入CPE请求中的cookie中,执行步骤14;
步骤11: ACS系统执行全速TR069请求,处理lnfor信息,检查配置,升级,性能参数读取等标志位,下发相关业务;
步骤12: 判断当前CPE请求中的cookie中存储的令牌是否是二级令牌,是则执行步骤13,否则执行步骤14;
步骤13: ACS系统执行半速TR069请求,处理lnfor信息,禁止下发相关业务;
步骤14: ACS系统输出HTTP 403应答,表示ACS系统禁止请求。
3.根据权利要求2所述的一种基于令牌桶的ACS系统过载保护方法,其特征在于:步骤2具体包括以下步骤:
步骤201:根据ACS系统的硬件使用率,生成合乎当前ACS系统的令牌桶的桶深度以及可注入的令牌数,执行步骤202;
步骤202:向令牌桶中注入令牌;如果发现令牌桶中令牌数超出桶深度,设置当前令牌数为桶深度,执行步骤203;
步骤203:判定令牌桶的当前状态,如果正常,继续执行步骤204,否则,执行步骤205;
步骤204:开启延时定时器,如果定时器时间到,执行步骤201;
步骤205:关闭令牌桶。
4.根据权利要求3所述的一种基于令牌桶的ACS系统过载保护方法,其特征在于:在步骤201中ACS系统的硬件使用率包括CPU使用率、内存使用率、硬盘使用率和网络带宽使用率。
5.根据权利要求4所述的一种基于令牌桶的ACS系统过载保护方法,其特征在于:在步骤201中,根据ACS系统的硬件使用率计算得到系统压力值,根据系统压力值计算得到注入令牌桶的令牌数。
6.根据权利要求5所述的一种基于令牌桶的ACS系统过载保护方法,其特征在于:系统压力值通过以下压力检测评估函数公式计算:
c=(X1*X1r+X2*X2r...+Xn*Xnr)*nr + OldRat * or
其中,X1为硬件X1的使用率,X1r为硬件X1的使用因子,其中X2为硬件X2的使用率,X2r为硬件X2的使用因子,其中XN为硬件XN的使用率,XNr为硬件XN的使用因子,nr为评估因子,OldRat为上一次评估结果,or为评估因子 ,满足X1r+X2r+...+Xnr=1,nr+or = 1。
7.根据权利要求6所述的一种基于令牌桶的ACS系统过载保护方法,其特征在于:计算注入令牌桶的令牌数通过以下公式计算:
(1 - c) * (MAX-MIN) + MIN
其中,c为系统压力值,MAX为最大注入令牌数,MIN为最小注入令牌数。
8.根据权利要求4所述的一种基于令牌桶的ACS系统过载保护方法,其特征在于:根据单项评估函数分别ACS系统中各个硬件的单项评估可用率,分别得到ACS系统中各个硬件的评估可用率,根据多个单项评估可用率得到系统可用度,根据木桶理论由最低的单项评估可用率确定系统可用度,根据系统可用度,计算得到桶深度。
9.根据权利要求8所述的一种基于令牌桶的ACS系统过载保护方法,其特征在于:单项评估可用率通过单项评估函数以下公式计算:
(min(max(x, xMIN), xMAX) - xMIN) / (xMAX - xMIN)
其中为x为x指标实测空闲率,范围为0-1,表示实际的系统硬件的空闲率,xU为x指标的评估可用率,表示根据该检测指标计算出的实际可用率,xU范围为0-1 ,xMIN为x指标的最小实测空闲率,xMIN范围为0-1,xMAX为x指标的最大实测空闲率,xMAX范围为0-1, min是最小值函数,max是最大值函数,min(max(x, xMIN), xMAX)计算x取值范围只能在xMIN-xMAX之间;
系统可用度通过以下公式计算:
yU = MIN([x1U, x2U..........xnU])
其中,yU 为系统最终可用度,范围为0-1,MIN为返回数组最小值计算函数,x1U为根据单指标评估函数计算出的实际x1空闲率,x2U 为根据单指标评估函数计算出的实际x2空闲率,xnU 为根据单指标评估函数计算出的实际xn空闲率。
10.根据权利要求9所述的一种基于令牌桶的ACS系统过载保护方法,其特征在于:桶深度通过以下公式计算:
tU = (1-tr) * (yU * (tMAX - tMIN) + tMIN) + tr * tUx
其中,tU为最终桶深度,yU为系统可用度,tMAX为桶最大深度,tMIN 为桶最小深度,tr为惯性因子(0-1),tUx为前一次计算的桶深度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611169756.4A CN106603429B (zh) | 2016-12-16 | 2016-12-16 | 一种基于令牌桶的acs系统过载保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611169756.4A CN106603429B (zh) | 2016-12-16 | 2016-12-16 | 一种基于令牌桶的acs系统过载保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106603429A true CN106603429A (zh) | 2017-04-26 |
CN106603429B CN106603429B (zh) | 2019-12-03 |
Family
ID=58600919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611169756.4A Active CN106603429B (zh) | 2016-12-16 | 2016-12-16 | 一种基于令牌桶的acs系统过载保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106603429B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107786460A (zh) * | 2017-09-08 | 2018-03-09 | 北京科东电力控制系统有限责任公司 | 一种基于令牌桶算法的电力交易系统请求管理与限流方法 |
CN109379302A (zh) * | 2017-08-08 | 2019-02-22 | 深圳市中兴微电子技术有限公司 | 一种实现令牌处理的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040221032A1 (en) * | 2003-05-01 | 2004-11-04 | Cisco Technology, Inc. | Methods and devices for regulating traffic on a network |
CN101159675A (zh) * | 2007-11-06 | 2008-04-09 | 中兴通讯股份有限公司 | 在ip多媒体子系统中实现提高用户服务质量的方法 |
CN101217495A (zh) * | 2008-01-11 | 2008-07-09 | 北京邮电大学 | 用于t-mpls网络环境下的流量监控方法和装置 |
CN101557348A (zh) * | 2009-05-25 | 2009-10-14 | 杭州华三通信技术有限公司 | 一种基于令牌桶的报文转发方法及装置 |
CN103259743A (zh) * | 2012-02-15 | 2013-08-21 | 中兴通讯股份有限公司 | 基于令牌桶的输出流量控制的方法及装置 |
-
2016
- 2016-12-16 CN CN201611169756.4A patent/CN106603429B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040221032A1 (en) * | 2003-05-01 | 2004-11-04 | Cisco Technology, Inc. | Methods and devices for regulating traffic on a network |
CN101159675A (zh) * | 2007-11-06 | 2008-04-09 | 中兴通讯股份有限公司 | 在ip多媒体子系统中实现提高用户服务质量的方法 |
CN101217495A (zh) * | 2008-01-11 | 2008-07-09 | 北京邮电大学 | 用于t-mpls网络环境下的流量监控方法和装置 |
CN101557348A (zh) * | 2009-05-25 | 2009-10-14 | 杭州华三通信技术有限公司 | 一种基于令牌桶的报文转发方法及装置 |
CN103259743A (zh) * | 2012-02-15 | 2013-08-21 | 中兴通讯股份有限公司 | 基于令牌桶的输出流量控制的方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109379302A (zh) * | 2017-08-08 | 2019-02-22 | 深圳市中兴微电子技术有限公司 | 一种实现令牌处理的方法及装置 |
CN107786460A (zh) * | 2017-09-08 | 2018-03-09 | 北京科东电力控制系统有限责任公司 | 一种基于令牌桶算法的电力交易系统请求管理与限流方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106603429B (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11050819B2 (en) | Latency-based routing and load balancing in a network | |
CN110276182B (zh) | Api分布式限流的实现方法 | |
CN108712464A (zh) | 一种面向集群微服务高可用的实现方法 | |
CN100407153C (zh) | 需要时节点和服务器实例分配和解除分配 | |
US20050055446A1 (en) | Incremental run-time session balancing in a multi-node system | |
CN106713484B (zh) | 一种性能压测实现方法、系统及服务器 | |
US8305911B2 (en) | System and method for identifying and managing service disruptions using network and systems data | |
Han et al. | Analysing virtual machine usage in cloud computing | |
CN112866132B (zh) | 面向海量标识的动态负载均衡器及方法 | |
CN108737573A (zh) | 一种分布式存储集群及其服务响应控制方法、装置和设备 | |
CN111858458B (zh) | 一种互联通道的调整方法、装置、系统、设备和介质 | |
CN110855741A (zh) | 业务的自适应接入方法和装置、存储介质、电子装置 | |
CN106603429A (zh) | 一种基于令牌桶的acs系统过载保护方法 | |
CN108540551A (zh) | 一种服务器节点信息的获取方法和获取系统 | |
US20150277892A1 (en) | Multi-phase software delivery | |
CN101212302B (zh) | 一种在P2P流媒体系统中防御DDoS攻击的方法 | |
CN112165495B (zh) | 一种基于超融合架构防DDoS攻击方法、装置及超融合集群 | |
CN104270466B (zh) | 数据上报方法及相关设备 | |
US8171521B2 (en) | System and method for managing network by value-based estimation | |
CN107770296A (zh) | 分配地址的方法及装置 | |
CN106789720A (zh) | 一种基于系统硬件使用率的动态令牌桶生成方法 | |
CN113377866A (zh) | 一种虚拟化数据库代理服务的负载均衡方法及装置 | |
CN100578486C (zh) | 用于委派对计算系统中的状况的响应的方法和装置 | |
Lin et al. | A new algorithm for virtual networks reconfiguration with adaptive interval | |
CN110008097B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |