网络访问的流量控制方法、装置、电子设备及存储介质制造方法及图纸

技术编号:21166890 阅读:25 留言:0更新日期:2019-05-22 09:36
本申请公开了一种网络访问的流量控制方法,属于计算机技术领域,用于解决由于逐层、频繁的流量借用导致的服务端访问效率降低的问题。本申请实施例公开的网络访问的流量控制方法包括:根据第一用户的网络访问请求,获取所述第一用户自身的网络访问令牌;在获取所述第一用户自身的网络访问令牌失败且所述第一用户自身的网络访问令牌的自用数量达到预设数量阈值的情况下,通过建立的共享令牌用户集合,获取第二用户共享的网络访问令牌;控制所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问。通过将用户令牌实现扁平化管理,用户之间直接共享网络访问流量,在频繁借用网络流量时,不需要逐层借用令牌,有助于提升服务端的访问效率。

Traffic control methods, devices, electronic devices and storage media for network access

This application discloses a traffic control method for network access, which belongs to the field of computer technology, and is used to solve the problem of low efficiency of server access caused by layer-by-layer and frequent traffic borrowing. The traffic control method for network access disclosed in the embodiment of this application includes: acquiring the first user's own network access token according to the first user's network access request; sharing by establishing when acquiring the first user's own network access token fails and the number of users'own network access token reaches the preset number threshold. The set of token users acquires the network access token shared by the second user, and controls the first user to access the network through the network access token shared by the second user. By flat management of user tokens, users can share network access traffic directly. When frequently borrowing network traffic, they do not need to borrow tokens layer by layer, which is helpful to improve the access efficiency of the server.

【技术实现步骤摘要】
网络访问的流量控制方法、装置、电子设备及存储介质
本申请涉及计算机
,特别是涉及一种网络访问的流量控制方法、装置、电子设备及存储介质。
技术介绍
RPC(RemoteProcedureCallProtocol,远程过程调用)服务端以提供稳定的服务、高效处理用户的访问请求作为基本要求。因此,如何应对用户的流量洪峰,提高服务的可用性是RPC服务端必须考虑的问题。现有技术中,RPC服务端对网络访问流量进行控制时,大多采用分层令牌桶算法(HTB,HierarchicalTokenBucket)。通过分层令牌桶算法对RPC服务端的资源进行管理,树形分层结构的各个节点从上到下依次为根节点、中间节点以及叶子节点,分别可对应于RPC服务端节点、API接口节点、用户节点。每节点均设置最小带宽值(Rate)及最大带宽值(Ceil)。某个时刻每一节点可以处于三种状态中的一种:CAN_SEND(令牌充足)、MAY_BORROW(没有令牌,但可借用)、CANT_SEND(没有令牌不可借用)。节点间令牌互借的工作机制如下:当叶子节点访问频次低于自身的最小带宽值时,节点处于CAN_SEND状态,访问能够正常通过;叶子节点请求带宽大于最小带宽值、小于最大带宽值时,此时叶子节点处于MAY_BORROW状态,会向父节点借用令牌;当子节点向其父节点借用令牌时,不论父节点是否已经超过了自身的最小带宽值,都会向上一级节点请求借用令牌,直到借到令牌,或者达到了根节点为止;当叶子节点收到的请求带宽大于最大带宽值时,节点处于CANT_SEND状态,不可借用父节点的令牌。虽然,当某个节点的流量不足时,可以向其他节点借用令牌,以借用其他节点的流量,但是,由于预先限制了节点的流量限额,如果某个用户在某一时段需要大量网络流量,则会发生多次、逐层的令牌借用,在一定程度上会导致RPC服务的效率降低。
技术实现思路
本申请提供一种网络访问的流量控制方法,有助于改善由于逐层、频繁的流量借用导致的RPC服务效率降低的问题。为了解决上述问题,第一方面,本申请实施例提供了一种网络访问的流量控制方法,包括:根据第一用户的网络访问请求,获取所述第一用户自身的网络访问令牌;在获取所述第一用户自身的网络访问令牌失败且所述第一用户自身的网络访问令牌的自用数量达到预设数量阈值的情况下,通过建立的共享令牌用户集合,获取第二用户共享的网络访问令牌;控制所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问。第二方面,本申请实施例提供了一种网络访问的流量控制装置,包括:自身网络访问令牌获取模块,用于根据第一用户的网络访问请求,获取所述第一用户自身的网络访问令牌;网络访问令牌借用模块,在获取所述第一用户自身的网络访问令牌失败且所述第一用户自身的网络访问令牌的自用数量达到预设数量阈值的情况下,通过建立的共享令牌用户集合,获取第二用户共享的网络访问令牌;网络访问控制模块,用于控制所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问。第三方面,本申请实施例还公开了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例所述的网络访问的流量控制方法。第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时本申请实施例公开的网络访问的流量控制方法的步骤。本申请实施例公开的网络访问的流量控制方法,通过根据第一用户的网络访问请求,获取所述第一用户自身的网络访问令牌;在获取所述第一用户自身的网络访问令牌失败且所述第一用户自身的网络访问令牌的自用数量达到预设数量阈值的情况下,通过建立的共享令牌用户集合,获取第二用户共享的网络访问令牌;控制所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问,解决了由于逐层、频繁的流量借用导致的服务端访问效率降低的问题。本申请实施例公开的网络访问的流量控制方法,通过将用户令牌实现扁平化管理,用户之间直接共享网络访问流量,在频繁借用网络流量时,不需要逐层借用令牌,有助于提升服务端的访问效率。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本申请实施例一的网络访问的流量控制方法流程图;图2是本申请实施例二的网络访问的流量控制方法流程图;图3是本申请实施例二的网络访问的流量控制方法中令牌共享示意图;图4是本申请实施例二的网络访问的流量控制方法中令牌管理示意图;图5是本申请实施例三的网络访问的流量控制装置的结构示意图之一;图6是本申请实施例三的网络访问的流量控制装置的结构示意图之二。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。实施例一本实施例公开的一种网络访问的流量控制方法,如图1所示,该方法包括:步骤110至步骤130。步骤110,根据第一用户的网络访问请求,获取所述第一用户自身的网络访问令牌。本申请实施例公开的网络访问的流量控制方法适用于多个用户访问同一台RPC服务端时,控制RPC服务端对各用户等网络访问的流量控制的应用场景;还适用于多个用户访问RPC服务集群时,整个RPC服务集群对各用户的网络访问的流量控制的应用场景。为了便于读者理解本方案,本申请实施例中以多个用户访问同一台RPC服务端时,控制RPC服务端对各用户的网络访问流量的应用场景举例,说明本申请公开的网络访问的流量控制方法的具体技术方案。通常RPC服务端会提多个接口给用户,每个用户又可以访问多个接口,多个用户也可以同时访问一个接口。不同用户访问的所有接口的网络流量总和等于RPC服务端的网络访问流量。本申请具体实施中所述的第一用户代表当前请求网络流量的用户,第二用户代表存在对所述RPC服务端的访问需求的除第一用户以外的用户。具体实施时,首先通过对在设定时间内用户的历史行为数据、当前用户状态数据,以及所述用户访问的服务端的服务端运行状态数据进行分析,确定网络访问频率预测模型。然后,根据网络流量预测模型预测与每个所述用户匹配的网络访问频率阈值,并根据所述网络访问频率阈值设定每秒为用户发放的网络访问令牌。之后,通过为每个用户发放的网络访问令牌控制该用户通过自身的网络访问令牌访问所述RPC服务端,还是通过抢占其他用户共享的网络访问令牌访问所述RPC服务端。当某一用户请求网络流量时,例如该用户向所述RPC服务端发送上传产品数据的请求时,将该用户作为第一用户,首先判断该第一用户使用的网络访问频率是否已经达到预先设定的网络访问频率阈值。如果已经达到为该所述第一用户预先设定的网络访问频率阈值,则获取所述第一用户自身的网络访问令牌失败,否则,所述第一用户可以成功获取到自身的网络访问令牌。步骤120,在获取所述第一用户自身的网络访问令牌失败且所述第一用户自身的网络访问令牌本文档来自技高网
...

【技术保护点】
1.一种网络访问的流量控制方法,其特征在于,包括:根据第一用户的网络访问请求,获取所述第一用户自身的网络访问令牌;在获取所述第一用户自身的网络访问令牌失败且所述第一用户自身的网络访问令牌的自用数量达到预设数量阈值的情况下,通过建立的共享令牌用户集合,获取第二用户共享的网络访问令牌;控制所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问。

【技术特征摘要】
1.一种网络访问的流量控制方法,其特征在于,包括:根据第一用户的网络访问请求,获取所述第一用户自身的网络访问令牌;在获取所述第一用户自身的网络访问令牌失败且所述第一用户自身的网络访问令牌的自用数量达到预设数量阈值的情况下,通过建立的共享令牌用户集合,获取第二用户共享的网络访问令牌;控制所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问。2.根据权利要求1所述的方法,其特征在于,所述通过建立的共享令牌用户集合,获取第二用户共享的网络访问令牌的步骤之前,还包括:获取用户的网络访问令牌使用信息,其中,所述用户包括所述第一用户和/或所述第二用户;当根据所述用户的所述网络访问令牌使用信息确定所述用户满足共享网络访问令牌条件时,将所述用户加入所述共享令牌用户集合。3.根据权利要求2所述的方法,其特征在于,所述根据第一用户的网络访问请求,获取所述第一用户自身的网络访问令牌的步骤之后,还包括:在获取所述第一用户自身的网络访问令牌失败且所述第一用户包含在所述共享令牌用户集合中的情况下,将所述第一用户移出所述共享令牌用户集合。4.根据权利要求1所述的方法,其特征在于,所述控制所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问的步骤之后,还包括:在控制所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问的频次达到预设频次阈值的情况下,在预设时间段内禁止所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问。5.根据权利要求1所述的方法,其特征在于,所述根据第一用户的网络访问请求,获取所述第一用户自身的网络访问令牌的步骤,包括...

【专利技术属性】
技术研发人员:纪辉焦承斌
申请(专利权)人:北京三快在线科技有限公司
类型:发明
国别省市:北京,11

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

1