【技术实现步骤摘要】
一种针对多处理器核的业务隔离限速方法和装置
[0001]本专利技术涉及业务隔离限速领域,尤其涉及一种针对多处理器核的业务隔离限速方法和装置。
技术介绍
[0002]当前的负载均衡应用最广泛的是DPVS,是一个多核的高性能四层负载均衡转发系统,但实际应用中,存在大量的业务,如果有的业务被攻击,则会耗尽系统资源,而影响其他业务服务,所以需要对业务进行资源隔离;而DPVS的限速模块是一个独立的模块TC,该模块和业务没有任何联系,需要单独配置分流器和调度器。分流器即报文匹配规则集合、调度器即根据限速参数进行调度。需要根据配置的分流规则,按顺序来匹配业务。DPVS的TC模块对负载进行限速的原理如下:在一个报文调度的队列下,报文通过分流器会一条一条规则进行顺序比较,直到完全匹配到规则,然后用匹配到的规则里设置的调度器对报文进行限速操作。同时分流器进行8次比较还没完全匹配上的话,就直接丢弃这个包。
[0003]在实现本专利技术过程中,申请人发现现有技术中至少存在如下问题:
[0004]在大量业务下,DPVS的TC模块限速由于分流器匹配规则条目非常多,匹配效率低下,同时存在匹配次数限制;不能满足大量业务分别单独限速的需求。
技术实现思路
[0005]本专利技术实施例提供一种针对多处理器核的业务隔离限速方法和装置,解决了现有技术中无法满足大量业务按业务类型进行分别限速的问题。
[0006]为达上述目的,一方面,本专利技术实施例提供一种针对多处理器核的业务隔离限速方法,包括:
[0007] ...
【技术保护点】
【技术特征摘要】
1.一种针对多处理器核的业务隔离限速方法,其特征在于,包括:针对每个处理器核,根据所述处理器核收到的业务报文的报文信息确定所述业务报文的业务类型;检查所述业务类型对应的全局令牌桶是否有效;若所述业务类型对应的全局令牌桶无效,则在与所述业务类型相对应的全局令牌桶进行下次更新之前,丢弃所述业务类型的业务报文;若所述业务类型对应的全局令牌桶有效,则进一步检查所述处理器核对应的用于所述业务类型的本地令牌缓存中的本地令牌有效性和本地令牌数量;如果检查出所述本地令牌有效性为有效且所述本地令牌数量大于或等于所述业务报文的需求令牌数量,则消耗所述处理器核对应的用于所述业务类型的本地令牌缓存中与所述需求令牌数量一致的令牌,并且放行所述业务报文;否则,从与所述业务类型相对应的全局令牌桶中获取令牌,并将实际获取到的令牌更新到所述处理器核对应的用于所述业务类型的本地令牌缓存中,得到所述处理器核对应的用于所述业务类型的本地令牌缓存的更新后令牌数量,并基于所述更新后令牌数量处理所述业务报文;其中,全局令牌桶为预先设置的由多处理器核共享、且与业务类型相对应的令牌桶;每个全局令牌桶在单位时间内的令牌总数量按所述全局令牌桶对应的业务类型预设的限速需求分别设置,所述全局令牌桶中的令牌以所述单位时间为周期进行更新。2.如权利要求1所述的针对多处理器核的业务隔离限速方法,其特征在于,所述检查所述业务类型对应的全局令牌桶是否有效,包括:检查所述业务类型对应的全局令牌桶的有效性标识是否为有效;所述有效性标识在每次更新所述业务类型对应的全局令牌桶时被设置为有效;所述基于所述更新后令牌数量处理所述业务报文,具体包括:如果所述更新后令牌数量大于预设的临界令牌数量阈值,则消耗所述处理器核对应的用于所述业务类型的本地令牌缓存中的令牌,并放行所述业务报文;所述临界令牌数量阈值小于所述业务报文的需求令牌数量;如果所述更新后令牌数量小于或等于所述临界令牌数量阈值,则丢弃所述业务报文,并将与所述业务类型相对应的全局令牌桶的有效性标识更新为无效。3.如权利要求1所述的针对多处理器核的业务隔离限速方法,其特征在于,所述从与所述业务类型相对应的全局令牌桶中获取令牌,并将实际获取到的令牌更新到所述处理器核对应的用于所述业务类型的本地令牌缓存中,包括:如果所述本地令牌有效性为无效,则清空所述处理器核对应的用于所述业务类型的本地令牌缓存;进一步,根据所述处理器核对应的用于所述业务类型的本地令牌缓存的预期获取令牌数量从与所述业务类型相对应的全局令牌桶中获取令牌,并将实际获取到的令牌添加到所述处理器核对应的用于所述业务类型的本地令牌缓存中;如果所述本地令牌有效性为有效且所述本地令牌数量小于所述业务报文的需求令牌数量,则根据所述处理器核对应的用于所述业务类型的本地令牌缓存的预期获取令牌数量从与所述业务类型相对应的全局令牌桶中获取令牌,并将实际获取到的令牌添加到所述处理器核对应的用于所述业务类型的本地令牌缓存中。
4.如权利要求3所述的针对多处理器核的业务隔离限速方法,其特征在于,所述根据所述处理器核对应的用于所述业务类型的本地令牌缓存的预期获取令牌数量从与所述业务类型相对应的全局令牌桶中获取令牌,包括:如果与所述业务类型相对应的全局令牌桶中当前的令牌数量满足所述预期获取令牌数量,则获取所述业务类型相对应的全局令牌桶中的与预期获取令牌数量一致的令牌;如果与所述业务类型相对应的全局令牌桶中当前的令牌数量不满足所述预期获取令牌数量,则获取所述业务类型相对应的全局令牌桶中的全部令牌。5.如权利要求2所述的针对多处理器核的业务隔离限速方法,其特征在于,所述如果所述更新后令牌数量大于预设的临界令牌数量阈值,则消耗所述处理器核对应的用于所述业务类型的本地令牌缓存中的令牌,并放行所述业务报文,包括:如果所述更新后令牌数量大于或等于所述业务报文的需求令牌数量,则消耗所述处理器核对应的用于所述业务类型的本地令牌缓存中的与所述需求令牌数量一致的令牌,并放行所述业务报文;如果所述更新后令牌数量小于所述业务报文的需求令牌数量且大于所述临界令牌数量阈值,则消耗所述处理器核对应的用于所述业务类型的本地令牌缓存...
【专利技术属性】
技术研发人员:杨峰明,徐永健,肖立美,黄保华,张哲瑜,
申请(专利权)人:新浪网技术中国有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。