流速控制方法、服务端服务器、客户端服务器和系统技术方案

技术编号:24692343 阅读:39 留言:0更新日期:2020-06-27 11:19
本公开提供一种流速控制方法及系统、服务器、服务端装置服务端服务器、客户端模块客户端服务器。该流速控制方法包括:从客户端接收令牌请求,所述令牌请求携带令牌桶标识,所述令牌桶标识对应一令牌桶;判断所述服务端是否具有对应于所述令牌桶标识的令牌桶;在所述服务端具有对应于所述令牌桶标识的令牌桶的情况下,根据所述令牌请求向所述令牌桶请求令牌;将所述令牌请求的结果发送至所述客户端,以供所述客户端判断是否将所述令牌请求对应的数据传输请求透传至业务系统。

Flow control method, server, client server and system

【技术实现步骤摘要】
流速控制方法、服务端服务器、客户端服务器和系统
本专利技术属于数据传输
,具体涉及一种流速控制方法、服务端服务器、客户端服务器和系统。
技术介绍
本部分旨在为权利要求书中陈述的本专利技术的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。实时交易系统需满足高可用的特性。具备高可用特性的交易系统能够在各种复杂场景保持系统的健壮性,保证不间断地对外提供稳定的服务。生产环境中线上实时交易系统不可避免地会面临接收到远远超出自身系统处理能力的交易冲击的场景,此类场景包括但不限于恶意黑客攻击、大型促销场景下定点秒杀、非预期的正常交易流入等。面对此类情况,交易系统需在交易入口处对交易作甄别,及时拦截超出自身或者下游系统处理能力的交易,防止压力传导至内部引起雪崩导致系统崩溃以致无法处理交易。现有的一种交易流速控制方法的具体操作流程是事先设置系统的容量阈值,当交易通过入口发来时,系统在入口记录并监控交易实时流量,当实时流量超过预定的阈值时拦截后续交易以防止超出流量耗尽下游系统资源导致系统崩溃无法处理交易。在实际的生产环境中,单个应用节点或者进程一般无法满足整个交易系统的超大并发的需求,交易系统一般会具备横向扩展的特性并进行多节点分布式部署。在该种情况下系统会存在多个交易入口,各个入口需要联动共同限制进入的流量,一方面要防止超出的流量流入后端系统,另一方面防止产生对未超出阈值的交易流量误限的情况。现有交易流速控制方法存在如下问题:1、临界区问题。当交易到来的速度不均衡时会导致某一瞬间流入交易系统的交易量非常大,可能导致交易系统崩溃。2、误限问题。各个节点/进程独立地进行流速控制,当各个入口负载不均衡时会导致个别入口误限交易。3、误降级问题。系统无法动态地协调各交易入口的控制指标,当个别的交易入口节点/进程异常退出时会导致目标对象交易被降级。4、对分布式场景支持能力较差,系统不易扩展。
技术实现思路
针对上述现有技术中存在的问题,提出了一种流速控制方法、服务端服务器、客户端服务器和系统,以至少部分解决现有技术中存在的技术问题。本专利技术提供了以下方案。第一方面,提供一种应用于服务端的流速控制方法,包括:从客户端接收令牌请求,所述令牌请求携带令牌桶标识,所述令牌桶标识对应一令牌桶;判断所述服务端是否具有对应于所述令牌桶标识的令牌桶;在所述服务端具有对应于所述令牌桶标识的令牌桶的情况下,根据所述令牌请求向所述令牌桶请求令牌;将所述令牌请求的结果发送至所述客户端,以供所述客户端判断是否将所述令牌请求对应的数据传输请求透传至业务系统。在一些实施例中,所述令牌请求还携带该令牌请求在所述客户端的本地时间,所述根据所述令牌请求向所述令牌桶请求令牌包括:根据预定的令牌产生速率、本次令牌请求的所述本地时间与针对该令牌桶的上次令牌请求的本地时间的时间差二者的乘积向所述令牌桶增加令牌;在更新后的所述令牌桶内令牌数大于或等于本次令牌请求的情况下,从所述令牌桶内减去本次令牌请求的令牌数,并将本次令牌请求的结果设为请求成功。第二方面,提供一种应用于客户端的流速控制方法,包括:接收指向业务系统的数据传输请求;从所述数据传输请求提取目标对象标识;查询所述客户端本地是否具有对应于所述目标对象标识的令牌桶映射;在所述客户端本地具有对应于所述目标对象标识的令牌桶映射的情况下,向存储有令牌桶的服务端发送令牌请求,所述令牌请求携带令牌桶标识,所述令牌桶标识对应于所述客户端的所述目标对象标识的一令牌桶映射对应的令牌桶;在所述令牌请求成功的情况下将所述数据传输请求透传至所述业务系统。在一些实施例中,在所述查询所述客户端本地是否具有对应于所述目标对象标识的令牌桶映射之后,以及在所述向服务端发送令牌请求之前,还包括:获:取本地时间;所述令牌请求还携带本次令牌请求的本地时间。在一些实施例中,所述目标对象标识对应多个令牌桶映射,在所述查询所述客户端本地是否具有所述客户端的所述目标对象标识对应的令牌桶映射之后以及在所述向服务端发送令牌请求之前还包括:按照预定策略从所述多个令牌桶映射中选择一个令牌桶映射。在一些实施例中,所述预定策略为轮训的策略。在一些实施例中,所述业务系统为交易系统,所述数据传输请求为交易请求,所述目标对象标识为对交易限流对象的标识。第三方面,提供一种流速控制方法,包括:在客户端,接收指向业务系统的数据传输请求;在所述客户端,从所述数据传输请求提取目标对象标识;在所述客户端,在所述客户端本地具有所述目标对象标识对应的令牌桶映射的情况下,向存储有令牌桶的服务端发送令牌请求,所述令牌请求携带令牌桶标识,所述令牌桶标识对应所述目标对象标识的一令牌桶映射对应的令牌桶;在所述服务端,接收所述令牌请求;在所述服务端,判断所述服务端是否具有对应于所述客户端的所述目标对象标识的令牌桶,并在判断结果为是的情况下,根据所述令牌请求向所述令牌桶请求令牌;在服务端,将所述令牌请求的结果发送至所述客户端;在所述客户端,在所述令牌请求成功的情况下将所述数据传输请求透传至所述业务系统。第四方面,提供一种服务端服务器,其特征在于,包括第一存储器和第一处理器,所述第一存储器存储指令,所述第一处理器运行所述指令以执行第一方面的流速控制方法。在一些实施例中,所述服务端服务器为远程字典服务器。第四方面,提供一种客户端服务器,包括第二存储器和第二处理器,所述第二存储器存储指令,所述第二处理器运行所述指令以执行第二方面的流速控制方法。在一些实施例中,所述客户端服务器运行所述业务系统,所述指令以组件的形式嵌入所述业务系统。第六方面,提供一种流速控制系统,包括第四方面的服务端服务器,还包括第五方面的客户端服务器。第七方面,提供一种服务端服务器,包括至少一个令牌产生单元和令牌桶集合单元,所述令牌桶集合单元存储多个令牌桶,所述令牌产生单元用于从客户端服务器接收令牌请求,所述令牌请求携带令牌桶标识,所述令牌桶标识对应一令牌桶,在所述令牌桶集合单元中具有所述令牌桶标识对应的令牌桶的情况下,根据所述令牌请求向所述令牌桶请求令牌,将所述令牌请求的结果发送至所述客户端服务器,以供所述客户端服务器判断是否将所述令牌请求对应的数据传输请求透传至业务系统。在一些实施例中,所述令牌请求还携带该令牌请求在所述客户端服务器的本地时间,所述令牌产生单元具体用于:根据预定的令牌产生速率、本次令牌请求的所述本地时间与针对该令牌桶的上次令牌请求的本地时间的时间差二者的乘积向所述令牌桶增加令牌;在更新后的所述令牌桶内令牌数大于或等于本次令牌请求的情况下,从所述令牌桶内减去本次令牌请求的令牌数,并将本次令牌请求的结果设为请求成功。第八方面,提供一种客户端服务器,包括提取单元、令牌桶管理单元、令牌桶映射存储单元和透传单元;所述提取单元用于接收指向业务系统的数据传输请求,并从所述数据传输请求提取目标对象标识;所述令牌桶映射存储单元用于映射存储服务端服务器的令牌桶;所述令牌桶管理单元用于查询所述令牌桶映射本文档来自技高网
...

【技术保护点】
1.一种应用于服务端的流速控制方法,其特征在于,包括:/n从客户端接收令牌请求,所述令牌请求携带令牌桶标识,所述令牌桶标识对应一令牌桶;/n判断所述服务端是否具有对应于所述令牌桶标识的令牌桶;/n在所述服务端具有对应于所述令牌桶标识的令牌桶的情况下,根据所述令牌请求向所述令牌桶请求令牌;/n将所述令牌请求的结果发送至所述客户端,以供所述客户端判断是否将所述令牌请求对应的数据传输请求透传至业务系统。/n

【技术特征摘要】
1.一种应用于服务端的流速控制方法,其特征在于,包括:
从客户端接收令牌请求,所述令牌请求携带令牌桶标识,所述令牌桶标识对应一令牌桶;
判断所述服务端是否具有对应于所述令牌桶标识的令牌桶;
在所述服务端具有对应于所述令牌桶标识的令牌桶的情况下,根据所述令牌请求向所述令牌桶请求令牌;
将所述令牌请求的结果发送至所述客户端,以供所述客户端判断是否将所述令牌请求对应的数据传输请求透传至业务系统。


2.根据权利要求1所述的流速控制方法,其特征在于,所述令牌请求还携带该令牌请求在所述客户端的本地时间,所述根据所述令牌请求向所述令牌桶请求令牌包括:
根据预定的令牌产生速率、本次令牌请求的所述本地时间与针对该令牌桶的上次令牌请求的本地时间的时间差二者的乘积向所述令牌桶增加令牌;
在更新后的所述令牌桶内令牌数大于或等于本次令牌请求的情况下,从所述令牌桶内减去本次令牌请求的令牌数,并将本次令牌请求的结果设为请求成功。


3.一种应用于客户端的流速控制方法,其特征在于,包括:
接收指向业务系统的数据传输请求;
从所述数据传输请求提取目标对象标识;
查询所述客户端本地是否具有对应于所述目标对象标识的令牌桶映射;
在所述客户端本地具有对应于所述目标对象标识的令牌桶映射的情况下,向存储有令牌桶的服务端发送令牌请求,所述令牌请求携带令牌桶标识,所述令牌桶标识对应于所述目标对象标识的一令牌桶映射对应的令牌桶;
在所述令牌请求成功的情况下将所述数据传输请求透传至所述业务系统。


4.根据权利要求3所述的流速控制方法,其特征在于,在所述查询所述客户端本地是否具有对应于所述目标对象标识的令牌桶映射之后,以及在所述向服务端发送令牌请求之前,还包括:获取本地时间;
所述令牌请求还携带本次令牌请求的本地时间。


5.根据权利要求3所述的流速控制方法,其特征在于,所述目标对象标识对应多个令牌桶映射,在所述查询所述客户端本地是否具有所述客户端的所述目标对象标识对应的令牌桶映射之后以及在所述向服务端发送令牌请求之前还包括:按照预定策略从所述多个令牌桶映射中选择一个令牌桶映射。


6.根据权利要求5所述的流速控制方法,其特征在于,所述预定策略为轮训的策略。


7.根据权利要求3所述的流速控制方法,其特征在于,所述业务系统为交易系统,所述数据传输请求为交易请求,所述目标对象标识为对交易限流对象的标识。


8.一种流速控制方法,其特征在于,包括:
在客户端,接收指向业务系统的数据传输请求;
在所述客户端,从所述数据传输请求提取目标对象标识;
在所述客户端,在所述客户端本地具有所述目标对象标识对应的令牌桶映射的情况下,向存储有令牌桶的服务端发送令牌请求,所述令牌请求携带令牌桶标识,所述令牌桶标识对应所述目标对象标识的一令牌桶映射对应的令牌桶;
在所述服务端,接收所述令牌请求;
在所述服务端,判断所述服务端是否具有所述令牌桶标识对应的令牌桶,并在判断结果为是的情况下,根据所述令牌请求向所述令牌桶请求令牌;
在服务端,将所述令牌请求的结果发送至所述客户端;
在所述客户端,在所述令牌请求成功的情况下将所述数据传输请求透传至所述业务系统。


9.一种服务端服务器,其特征在于,包括第一存储器和第一处理器,所述第一存储器存储指令,所述第一处理器运行所述指令以执行根据权利要求1或2所述的流速控制方法。


10.根...

【专利技术属性】
技术研发人员:李俊茅毓铭
申请(专利权)人:中国银联股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1