[发明专利]流量控制方法及设备在审
申请号: | 201610843856.4 | 申请日: | 2016-09-22 |
公开(公告)号: | CN107872395A | 公开(公告)日: | 2018-04-03 |
发明(设计)人: | 付鑫;卢毅军;陶云峰 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | H04L12/801 | 分类号: | H04L12/801;H04L12/851 |
代理公司: | 上海百一领御专利代理事务所(普通合伙)31243 | 代理人: | 陈贞健,邵栋 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 流量 控制 方法 设备 | ||
技术领域
本申请涉及信息技术领域,尤其涉及一种流量控制方法及设备。
背景技术
目前在大规模分布式系统中,通常存在一种分布式一致性系统,用于保障大量的数据及计算节点对共享资源的访问或协调各节点之间的行为。在业界主流的分布式一致性系统中,无论是采用Paxos算法还是RAFT算法,其在服务端的实现均为管道(Pipeline)形式,图1为分布式一致性系统中请求处理的示意图。
服务端(Server)接收来自客户端(Client)的请求(Request)后进入Pipeline流程由各个逻辑处理模块(Processor)进行处理,该逻辑处理模块是指完成Pipeline流程中某一项处理功能的逻辑模块,其具体实现包括但不限于:用于完成相应处理功能的进程、线程、函数或者系统等。Processor之间由通过类似队列(Queue)的数据结构进行数据交互。如图1中,Request接收后由第一个Processor(PrerequestProcessor)先预处理(包括判断数据格式是否正确、操作类型是否合法等)后,放入指定Queue,然后由后续的Processor(ProcessorA、ProcessorB、ProcessorC等等)依次取出并处理Queue中的Request,处理后放入下一个Queue。依次传递直至最后一个Processor(FinalRequestProcessor)进行处理后,向客户端返回应答(Response)。
上述架构是处理一致性逻辑的最优逻辑,但在高并发高流量的情况下,若不对请求进行限制,容易出现某些Queue中的Request大量阻塞(Pending)、响应时间变长甚至服务端内存不足(OutOfMemory)等情况。
目前常规的对流量进行限制的方式为:在请求数量达到一定程度时,拒绝处理后续的请求。上述流量控制方案仅能根据请求的数量进行粗略的限制,且无法针对各个请求的来源进行单独的限制,并且可能会同时拒绝一些对维持系统正常运行必要的请求,例如心跳请求等。
发明内容
本申请的一个目的是提供一种流量控制方法及设备,用以解决现有技术中的流量控制较为粗略,无法针对不同来源的请求进行单独限制的问题。
为实现上述目的,本申请提供了一种流量控制方法,所述方法包括以下步骤:
在获取携带标识信息的业务请求时,查询所述标识信息对应的可用流量值;
根据所述标识信息对应的可用流量值,对所述业务请求进行流量控制。
进一步地,根据所述标识信息对应的可用流量值,对所述业务请求进行流量控制,包括:
在所述可用流量值小于等于零时,拒绝所述业务请求。
进一步地,所述方法还包括:
若所述业务请求为第一请求,则在所述可用流量值大于零,且确定所述可用流量值大于等于所述第一请求的消耗流量值时,处理所述第一请求,其中,所述第一请求为消耗流量值在进行处理之前确定的业务请求。
进一步地,所述方法还包括:
若所述业务请求为第一请求,则在所述可用流量值大于零,且确定所述可用流量值小于所述第一请求的消耗流量值时,拒绝所述第一请求,其中,所述第一请求为消耗流量值在进行处理之前确定的业务请求。
进一步地,所述方法还包括:
若所述业务请求为第二请求,则在所述可用流量值大于零时,处理所述第二请求,其中,所述第二请求为消耗流量值在完成处理时确定的业务请求。
进一步地,查询所述标识信息对应的可用流量值,包括:
基于所述标识信息查询对应的流量控制信息,其中,所述流量控制信息包括最大流量值、流量恢复周期、周期恢复值;
根据所述流量控制信息计算所述标识信息对应的可用流量值。
进一步地,所述方法还包括:
在获取系统相关请求时,处理所述系统相关请求。
基于本申请的另一方面,还提供了一种流量控制设备,所述设备包括:
预处理装置,用于在获取携带标识信息的业务请求时,查询所述标识信息对应的可用流量值;
控制装置,用于根据所述标识信息对应的可用流量值,对所述业务请求进行流量控制。
进一步地,所述控制装置,用于在所述可用流量值小于等于零时,拒绝所述业务请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610843856.4/2.html,转载请声明来源钻瓜专利网。