CN109787915B - 网络访问的流量控制方法、装置、电子设备及存储介质 - Google Patents
网络访问的流量控制方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN109787915B CN109787915B CN201811534870.1A CN201811534870A CN109787915B CN 109787915 B CN109787915 B CN 109787915B CN 201811534870 A CN201811534870 A CN 201811534870A CN 109787915 B CN109787915 B CN 109787915B
- Authority
- CN
- China
- Prior art keywords
- user
- network access
- token
- access token
- shared
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种网络访问的流量控制方法,属于计算机技术领域,用于解决由于逐层、频繁的流量借用导致的服务端访问效率降低的问题。本申请实施例公开的网络访问的流量控制方法包括:根据第一用户的网络访问请求,获取所述第一用户自身的网络访问令牌;在获取所述第一用户自身的网络访问令牌失败且所述第一用户自身的网络访问令牌的自用数量达到预设数量阈值的情况下,通过建立的共享令牌用户集合,获取第二用户共享的网络访问令牌;控制所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问。通过将用户令牌实现扁平化管理,用户之间直接共享网络访问流量,在频繁借用网络流量时,不需要逐层借用令牌,有助于提升服务端的访问效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种网络访问的流量控制方法、装置、电子设备及存储介质。
背景技术
RPC(Remote Procedure Call Protocol,远程过程调用)服务端以提供稳定的服务、高效处理用户的访问请求作为基本要求。因此,如何应对用户的流量洪峰,提高服务的可用性是RPC服务端必须考虑的问题。现有技术中,RPC服务端对网络访问流量进行控制时,大多采用分层令牌桶算法(HTB,Hierarchical Token Bucket)。通过分层令牌桶算法对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,在获取所述第一用户自身的网络访问令牌失败且所述第一用户自身的网络访问令牌的自用数量达到预设数量阈值的情况下,通过建立的共享令牌用户集合,获取第二用户共享的网络访问令牌。
本申请具体实施时,会根据每个用户的网络访问令牌使用情况,即网络访问频率使用情况确定用户是否可以共享网络访问令牌,如果可以,则将该用户加入到共享令牌用户集合。例如,当某一用户为空闲状态或者其令牌使用比例不足一定比例时,则将该用户的用户标识加入到共享令牌用户集合。具体实施时,如果共享令牌用户集合中的用户自身的网络访问令牌处于不足状态,需要向其他用户借用网络访问令牌时,则将该用户的标识从共享令牌用户集合中移除。
在获取所述第一用户自身的网络访问令牌失败的情况下,所述第一用户可以从其他用户借用网络访问令牌,以通过竞争令牌的方式通过借用其他用户的网络访问流量访问所述RPC服务端。例如,随机选择所述共享令牌用户集合中一个用户标识,然后,获取该用户标识对应的网络访问令牌。
步骤130,控制所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问。
进一步的,在借用到所述共享令牌用户集合中某个用户标识的用户对应的网络访问令牌之后,控制所述第一用户通过借用到的网络访问令牌访问所述RPC服务端。
本申请实施例公开的网络访问的流量控制方法,通过根据第一用户的网络访问请求,获取所述第一用户自身的网络访问令牌;在获取所述第一用户自身的网络访问令牌失败且所述第一用户自身的网络访问令牌的自用数量达到预设数量阈值的情况下,通过建立的共享令牌用户集合,获取第二用户共享的网络访问令牌;控制所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问,解决了由于逐层、频繁的流量借用导致的服务端访问效率降低的问题。本申请实施例公开的网络访问的流量控制方法,通过将用户令牌实现扁平化管理,用户之间直接共享网络访问流量,在频繁借用网络流量时,不需要逐层借用令牌,有助于提升服务端的访问效率。
实施例二
本实施例公开的一种网络访问的流量控制方法,如图2所示,该方法包括:步骤210至步骤260。
步骤210,根据获取的服务端运行状态数据、用户的用户历史行为数据,以及所述用户的当前用户状态数据,确定所述用户匹配的网络访问频率阈值。
本申请具体实施时,首先需要定期根据指定服务端的相关数据和访问该服务端的用户的相关数据,确定每个用户的网络访问频率阈值。即所述方法需要定期根据获取的服务端运行状态数据、用户的用户历史行为数据,以及所述用户的当前用户状态数据,确定所述用户匹配的网络访问频率阈值。其中,所述用户包括第一用户和第二用户。所述的第一用户代表当前请求网络流量的用户,第二用户代表登录了所述服务端的除第一用户以外的用户。
在本申请的一些实施例中,所述根据获取的服务端运行状态数据、用户的用户历史行为数据,以及所述用户的当前用户状态数据,确定所述用户匹配的网络访问频率阈值,包括:根据获取的服务端运行状态数据、用户的用户历史行为数据,以及所述用户的当前用户状态数据,通过预先确定的网络访问频率预测模型确定所述用户匹配的网络访问频率阈值;其中,所述网络访问频率预测模型为通过对预设周期内的服务端运行状态数据、所述用户的用户历史行为数据,以及所述用户的当前用户状态数据进行分析所确定的。
在本申请的一些实施例中,也可以首先根据具体业务需求,确定所述用户匹配的网络访问频率阈值;然后,在系统运行过程中,不断收集的服务端运行状态数据、用户的用户历史行为数据,以及所述用户的当前用户状态数据,并基于收集的数据通过预设公式或预先训练的网络访问频率预测模型确定所述用户匹配的网络访问频率阈值。
进一步的,根据获取的服务端运行状态数据、用户的用户历史行为数据,以及所述用户的当前用户状态数据,通过预先确定的网络访问频率预测模型确定所述用户匹配的网络访问频率阈值之前,还包括:将预设周期内的服务端运行状态数据、用户的用户历史行为数据、用户的当前用户状态数据,作为数据集;通过怀卡托智能分析环境对所述数据集进行分析,确定网络访问频率预测模型;其中,所述服务端运行状态数据选自于包括:负载、内存、服务响应时长中的任意一项或多项;所述用户历史行为数据选自于包括:访问次数、访问频率、访问失败率、拒绝访问次数中的任意一项或多项;所述当前用户状态数据选自于包括:当前分配的网络访问频率、产品数、订单数中的任意一项或多项。
WEKA(Waikato Environment for Knowledge Analysis,怀卡托智能分析环境)作为一个公开的数据挖掘工作平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则。WEKA所处理的数据集是一个二维的表格,表格里的一个横行称作一个实例,相当于统计学中的一个样本,或者数据库中的一条记录。竖行称作一个属性,相当于统计学中的一个变量,或者数据库中的一个字段。这样一个表格,或者叫数据集,在WEKA看来,数据集呈现了属性之间的一种关系。
具体实施时,我们希望根据一个样本(WEKA中称作实例)的一组特征(输入变量),对目标进行预测。为了实现这一目的,本申请实施例中根据一定历史时间内(如6个月)服务端运行状态数据、用户的用户历史行为数据,以及所述用户的当前用户状态数据构建了一个训练数据集,这个数据集中每个实例的输入和输出都是已知的,例如:服务端的负载、内存、服务响应时长、用户的访问次数、访问频率、访问失败率、拒绝访问次数、当前分配的网络访问频率、产品数、订单数等。WEKA通过对以上数据进行分析,可以得到网络访问频率预测模型。
然后,在系统运行过程中,通过不断获取最新的服务端相关数据和用户相关数据,通过以上预测模型,可以预测每个用户的网络访问频率阈值,并定期更新存储的所述预置。例如,系统每天根据获取的服务端运行状态数据、用户的用户历史行为数据,以及所述用户的当前用户状态数据,通过预先确定的网络访问频率预测模型确定所述用户匹配的网络访问频率阈值,并更新系统数据库中存储的相应用户匹配的网络访问频率阈值,以适应当前应用场景。
通过定期更新所述用户匹配的网络访问频率阈值,使得系统可以根据实际使用情况动态分配网络使用频率,以提高网络利用效率。例如,现有技术中当遇到节假日或用户状态发生变化,如用户上线产品数激增时,需要手动调整用户的网络访问频率阈值,如果不随着实际使用情况调整网络访问频率阈值,将会导致产品数激增的用户在访问服务端时总是向其他用户借用网络访问令牌,从而使对服务端的访问受限制,影响用户的正常业务。而本申请实施例中,通过定期动态更新所述用户匹配的网络访问频率阈值,对于网络访问需求量小的用户,适当降低其网络访问频率值,对于网络访问需求量大的用户,适当提升其网络访问频率值,使得为用户分配的网络访问频率阈值真正能够与用户的实时网络访问需求匹配,充分提升了服务端的网络利用率。并且,避免投入人力手动频繁地调整网络访问频率阈值。
步骤220,建立的共享令牌用户集合。
本申请具体实施时,通常将网络访问令牌自身使用频率较低的用户加入到共享令牌用户集合中。例如,系统为用户A设置了每秒分配10个网络访问令牌的网络访问频率阈值,但是,在当前预设监控时间段内(如1分钟),用户A对系统每秒分配给他的10个网络访问令牌的使用频率仅为20%,则可以将用户A加入至共享令牌用户集合。
具体实施时,所述通过建立的共享令牌用户集合,获取第二用户共享的网络访问令牌之前,首先需要建立的共享令牌用户集合。在本申请的一些实施例中,建立的共享令牌用户集合还包括:获取用户的网络访问令牌使用信息,其中,所述用户包括所述第一用户和/或所述第二用户;当根据所述用户的所述网络访问令牌使用信息确定所述用户满足共享网络访问令牌条件时,将所述用户加入所述共享令牌用户集合。其中,所述共享网络访问令牌条件可以为所述用户的网络访问令牌自用率低于预设频率阈值(如20%)。
具体实施时,用户的网络访问令牌使用信息可以为用户的网络访问令牌使用比例。通常,服务端会根据业务需求或历史数据人工为每个用户分配网络访问频率阈值,或者,通过预先训练的网络访问频率预测模型自动为每个用户分配网络访问频率阈值。用户的网络访问频率阈值例如可以表示为每秒为用户分配的网络访问令牌数量。然后,通过统计用户在一段时间内对分配的网络访问令牌的使用比例,确定所述用户是否满足共享网络访问令牌条件。例如,预先设定网络访问令牌使用比例阈值,并确定当1分钟内某一用户对分配给自身的网络访问令牌的使用比例低于所述预先设定网络访问令牌使用比例阈值时,该用户满足共享网络访问令牌条件。然后,将该用户的用户标识加入到共享令牌用户集合。
步骤230,根据第一用户的网络访问请求,获取所述第一用户自身的网络访问令牌。
当某一用户请求网络流量时,将该用户作为第一用户。本申请具体实施时,会预先或定期为每个用户设置网络访问频率阈值,即为设置每秒钟为每个用户发放的网络访问令牌的数量。在具体应用过程中,当接收到第一用户的网络访问请求之后,所述根据第一用户的网络访问请求,获取所述第一用户自身的网络访问令牌,包括:当所述第一用户没有空闲网络访问令牌时,确定获取所述第一用户自身的网络访问令牌失败,否则,确定获取所述第一用户自身的网络访问令牌。
首先,判断当前时间系统为所述第一用户发放的网络访问令牌是否还存在空闲网络访问令牌。如果所述第一用户没有空闲网络访问令牌,则确定获取所述第一用户自身的网络访问令牌失败,否则,确定获取所述第一用户自身的网络访问令牌,并返回一个未使用令牌。
具体实施时,系统为第一用户发放的网络访问令牌可能被第一用户自身使用或者被其他用户借用。一旦网络访问令牌被第一用户自身使用或者被其他用户借用,该网络访问令牌将不再是空闲状态。因此,当获取所述第一用户自身的网络访问令牌失败时,可能存在两种情况:第一种情况,所述第一用户使用的系统为其发放的网络访问令牌已经达到预先设定的网络访问频率阈值;第二种情况,所述第一用户使用的系统为其发放的网络访问令牌未达到预先设定的网络访问频率阈值,但系统为其发放的网络访问令牌已经全部被自身和其他用户使用。
在本申请的一些实施例中,所述根据第一用户的网络访问请求,获取所述第一用户自身的网络访问令牌的之后,还包括:在获取所述第一用户自身的网络访问令牌失败且所述第一用户包含在所述共享令牌用户集合中的情况下,将所述第一用户移出所述共享令牌用户集合。具体实施时,网络访问令牌采用优先自用的管理方式。如图3所示,第一用户首使用系统为其分配的网络访问令牌,再借用其他用户的网络访问令牌。当第一用户没有获取到自身的网络访问令牌时,如果原因是有部分网络访问令牌被其他用户借用,则第一用户将不再共享网络访问令牌,将所述第一用户从共享令牌用户集合中移除。这样,所述第一用户将至少可以独享系统为其分配的网络访问令牌频率阈值,以应对第一用户网络访问请求增加的情况。具体实施时,系统为每个用户配置限流器,以确定每个用户的网络访问令牌使用情况。
步骤240,在获取所述第一用户自身的网络访问令牌失败且所述第一用户自身的网络访问令牌的自用数量达到预设数量阈值的情况下,通过建立的共享令牌用户集合,获取第二用户共享的网络访问令牌。
对于用户已经将系统为其分配的全部网络访问令牌使用完所导致的获取所述第一用户自身的网络访问令牌失败的情况,系统可以控制所述第一用户从其他用户借用网络访问令牌,以通过竞争令牌的方式,通过借用其他用户的网络访问令牌访问所述服务端。如图4所示,用户的网络访问令牌实行扁平式管理。用户1、用户2和用户N为共享网络访问令牌的用户,其他用户可以直接借用共享网络访问令牌的用户的网络访问令牌。假设,系统为第一用户(如用户1)分配了每秒10个网络访问令牌,在1秒钟之内第一用户已经使用了这10个网络访问令牌访问服务端,则系统可以随机选择所述共享令牌用户集合中一个用户标识(如用户2的用户标识),并将该用户标识对应的用户可借用的网络访问令牌借用给所述第一用户,以使得所述第一用户成功获取该用户标识对应的网络访问令牌。
具体实施时,如果随机选择的某一用户标识的用户(如用户2)不存在可借用的网络访问令牌,还可以重复进行随机选择其他用户借用网络访问令牌,直至借用到网络访问令牌,或者重复预设次数后获取网络访问令牌失败。
步骤250,控制所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问。
进一步的,在借用到所述共享令牌用户集合中某个用户标识的用户对应的网络访问令牌之后,控制所述第一用户通过借用到的网络访问令牌访问服务端,例如上传用户产品信息。
步骤260,对所述第一用户进行网络访问令牌借用管理。
在本申请的一些实施例中,所述控制所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问之后,还包括:在控制所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问的频次达到预设频次阈值的情况下,在预设时间段内禁止所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问。例如,在每次控制所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问之后,对所述第一用户借用网络访问令牌的频次进行自增计数,当一段时间内所述第一用户借用网络访问令牌的频次达到了预设频次阈值,则通过在预设时间段内(如之后的5分钟之内)禁止所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问。
通过对所述第一用户进行网络访问令牌借用管理,也可以有效避免用户恶意抢占网络流量,充分提高网络流量利用率。
本申请实施例公开的网络访问的流量控制方法,通过定期根据获取的服务端运行状态数据、用户的用户历史行为数据,以及所述用户的当前用户状态数据,确定所述用户匹配的网络访问频率阈值,并根据用户的网络使用情况建立并更新共享令牌用户集合,使得在获取所述第一用户自身的网络访问令牌失败且所述第一用户自身的网络访问令牌的自用数量达到预设数量阈值的情况下,通过建立的共享令牌用户集合,获取第二用户共享的网络访问令牌;控制所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问,解决了由于逐层、频繁的流量借用导致的服务端访问效率降低的问题。本申请实施例公开的网络访问的流量控制方法,通过动态设置用户的网络访问频率阈值,可以降低用户频繁借用网络访问令牌的概率,有助于进一步提升服务端的访问效率。
实施例三
本实施例公开的一种网络访问的流量控制装置,如图5所示,所述装置包括:
自身网络访问令牌获取模块510,用于根据第一用户的网络访问请求,获取所述第一用户自身的网络访问令牌;
网络访问令牌借用模块520,在获取所述第一用户自身的网络访问令牌失败且所述第一用户自身的网络访问令牌的自用数量达到预设数量阈值的情况下,通过建立的共享令牌用户集合,获取第二用户共享的网络访问令牌;
网络访问控制模块530,用于控制所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问。
在本申请的一些实施例中,如图6所示,所述装置还包括:
共享令牌用户集合构建模块540,用于获取用户的网络访问令牌使用信息,其中,所述用户包括所述第一用户和/或所述第二用户;以及,
当根据所述用户的所述网络访问令牌使用信息确定所述用户满足共享网络访问令牌条件时,将所述用户加入所述共享令牌用户集合。
在本申请的一些实施例中,如图6所示,所述装置还包括:
共享令牌用户集合更新模块550,用于在获取所述第一用户自身的网络访问令牌失败且所述第一用户包含在所述共享令牌用户集合中的情况下,将所述第一用户移出所述共享令牌用户集合。
在本申请的一些实施例中,如图6所示,所述装置还包括:
网络访问令牌借用管理模块560,用于在控制所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问的频次达到预设频次阈值的情况下,在预设时间段内禁止所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问。
在本申请的一些实施例中,所述自身网络访问令牌获取模块510进一步用于:
当所述第一用户没有空闲网络访问令牌时,确定获取所述第一用户自身的网络访问令牌失败,否则,确定获取所述第一用户自身的网络访问令牌。
在本申请的一些实施例中,如图6所示,所述装置还包括:
网络访问频率阈值确定模块570,用于根据获取的服务端运行状态数据、用户的用户历史行为数据,以及所述用户的当前用户状态数据,确定所述用户匹配的网络访问频率阈值,其中,所述用户包括第一用户和第二用户。
本申请具体实施时,首先需要定期根据指定服务端的相关数据和访问该服务端的用户的相关数据,确定每个用户的网络访问频率阈值。即所述方法需要定期根据获取的服务端运行状态数据、用户的用户历史行为数据,以及所述用户的当前用户状态数据,确定所述用户匹配的网络访问频率阈值。其中,所述用户包括第一用户和第二用户。所述的第一用户代表当前请求网络流量的用户,第二用户代表登录了所述服务端的除第一用户以外的用户。
在本申请的一些实施例中,所述根据获取的服务端运行状态数据、用户的用户历史行为数据,以及所述用户的当前用户状态数据,确定所述用户匹配的网络访问频率阈值,包括:根据获取的服务端运行状态数据、用户的用户历史行为数据,以及所述用户的当前用户状态数据,通过预先确定的网络访问频率预测模型确定所述用户匹配的网络访问频率阈值;其中,所述网络访问频率预测模型为通过对预设周期内的服务端运行状态数据、所述用户的用户历史行为数据,以及所述用户的当前用户状态数据进行分析所确定的。
在本申请的一些实施例中,也可以首先根据具体业务需求,确定所述用户匹配的网络访问频率阈值;然后,在系统运行过程中,不断收集的服务端运行状态数据、用户的用户历史行为数据,以及所述用户的当前用户状态数据,并基于收集的数据通过预设公式或预先训练的网络访问频率预测模型确定所述用户匹配的网络访问频率阈值。
进一步的,根据获取的服务端运行状态数据、用户的用户历史行为数据,以及所述用户的当前用户状态数据,通过预先确定的网络访问频率预测模型确定所述用户匹配的网络访问频率阈值之前,还包括:将预设周期内的服务端运行状态数据、用户的用户历史行为数据、用户的当前用户状态数据,作为数据集;通过怀卡托智能分析环境对所述数据集进行分析,确定网络访问频率预测模型;其中,所述服务端运行状态数据选自于包括:负载、内存、服务响应时长中的任意一项或多项;所述用户历史行为数据选自于包括:访问次数、访问频率、访问失败率、拒绝访问次数中的任意一项或多项;所述当前用户状态数据选自于包括:当前分配的网络访问频率、产品数、订单数中的任意一项或多项。
本申请实施例公开的网络访问的流量控制装置,通过根据第一用户的网络访问请求,获取所述第一用户自身的网络访问令牌;在获取所述第一用户自身的网络访问令牌失败且所述第一用户自身的网络访问令牌的自用数量达到预设数量阈值的情况下,通过建立的共享令牌用户集合,获取第二用户共享的网络访问令牌;控制所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问,解决了由于逐层、频繁的流量借用导致的服务端访问效率降低的问题。本申请实施例公开的网络访问的流量控制装置,通过将用户令牌实现扁平化管理,用户之间直接共享网络访问流量,在频繁借用网络流量时,不需要逐层借用令牌,有助于提升服务端的访问效率。
进一步的,通过定期根据获取的服务端运行状态数据、用户的用户历史行为数据,以及所述用户的当前用户状态数据,确定所述用户匹配的网络访问频率阈值,并根据用户的网络使用情况建立并更新共享令牌用户集合,使得在获取所述第一用户自身的网络访问令牌失败且所述第一用户自身的网络访问令牌的自用数量达到预设数量阈值的情况下,通过建立的共享令牌用户集合,获取第二用户共享的网络访问令牌,可以降低用户频繁借用网络访问令牌的概率,有助于进一步提升服务端的访问效率。
本申请实施例公开的网络访问的流量控制装置,用于实现本申请实施例一和实施例二中所述的网络访问的流量控制方法的各步骤,装置的各模块的具体实施方式参见相应步骤,此处不再赘述。
相应的,本申请还公开了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例一和实施例二所述的网络访问的流量控制方法。所述电子设备可以为PC机、移动终端、个人数字助理、平板电脑等。
本申请还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例一和实施例二所述的网络访问的流量控制方法的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本申请提供的一种网络访问的流量控制方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
Claims (10)
1.一种网络访问的流量控制方法,其特征在于,包括:
根据第一用户的网络访问请求,获取所述第一用户自身的网络访问令牌;
在获取所述第一用户自身的网络访问令牌失败且所述第一用户自身的网络访问令牌的自用数量达到预设数量阈值的情况下,通过建立的共享令牌用户集合,获取第二用户共享的网络访问令牌;所述共享令牌集合为将用户令牌扁平化管理得到的,其中,所述共享令牌用户集合中包括的用户标识对应的用户为对分配的所述网络访问令牌自用率低于预设频率阈值的用户,所述分配的所述网络访问令牌是根据定期更新的网络访问频率阈值确定的;
控制所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问;
其中,在所述第一用户包含在所述共享令牌用户集合中时,若获取所述第一用户自身的网络访问令牌失败的原因为部分网络访问令牌被其他用户借用,则将第一用户从共享令牌用户集合中移除。
2.根据权利要求1所述的方法,其特征在于,所述通过建立的共享令牌用户集合,获取第二用户共享的网络访问令牌的步骤之前,还包括:
获取用户的网络访问令牌使用信息,其中,所述用户包括所述第一用户和/或所述第二用户;
当根据所述用户的所述网络访问令牌使用信息确定所述用户满足共享网络访问令牌条件时,将所述用户加入所述共享令牌用户集合。
3.根据权利要求2所述的方法,其特征在于,所述根据第一用户的网络访问请求,获取所述第一用户自身的网络访问令牌的步骤之后,还包括:
在获取所述第一用户自身的网络访问令牌失败且所述第一用户包含在所述共享令牌用户集合中的情况下,将所述第一用户移出所述共享令牌用户集合。
4.根据权利要求1所述的方法,其特征在于,所述控制所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问的步骤之后,还包括:
在控制所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问的频次达到预设频次阈值的情况下,在预设时间段内禁止所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问。
5.根据权利要求1所述的方法,其特征在于,所述根据第一用户的网络访问请求,获取所述第一用户自身的网络访问令牌的步骤,包括:
当所述第一用户没有空闲网络访问令牌时,确定获取所述第一用户自身的网络访问令牌失败,否则,确定获取所述第一用户自身的网络访问令牌。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
根据获取的服务端运行状态数据、用户的用户历史行为数据,以及所述用户的当前用户状态数据,确定所述用户匹配的网络访问频率阈值,其中,所述用户包括第一用户和第二用户。
7.一种网络访问的流量控制装置,其特征在于,包括:
自身网络访问令牌获取模块,用于根据第一用户的网络访问请求,获取所述第一用户自身的网络访问令牌;
网络访问令牌借用模块,在获取所述第一用户自身的网络访问令牌失败且所述第一用户自身的网络访问令牌的自用数量达到预设数量阈值的情况下,通过建立的共享令牌用户集合,获取第二用户共享的网络访问令牌;所述共享令牌集合为将用户令牌扁平化管理得到的,其中,所述共享令牌用户集合中包括的用户标识对应的用户为对分配的所述网络访问令牌自用率低于预设频率阈值的用户,所述分配的所述网络访问令牌是根据定期更新的网络访问频率阈值确定的;
网络访问控制模块,用于控制所述第一用户通过所述第二用户共享的网络访问令牌进行网络访问;
其中,在所述第一用户包含在所述共享令牌用户集合中时,若获取所述第一用户自身的网络访问令牌失败的原因为部分网络访问令牌被其他用户借用,则将第一用户从共享令牌用户集合中移除。
8.根据权利要求7所述的装置,其特征在于,还包括:
网络访问频率阈值确定模块,用于根据获取的服务端运行状态数据、用户的用户历史行为数据,以及所述用户的当前用户状态数据,确定所述用户匹配的网络访问频率阈值,其中,所述用户包括第一用户和第二用户。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任意一项所述的网络访问的流量控制方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至6任意一项所述的网络访问的流量控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811534870.1A CN109787915B (zh) | 2018-12-14 | 2018-12-14 | 网络访问的流量控制方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811534870.1A CN109787915B (zh) | 2018-12-14 | 2018-12-14 | 网络访问的流量控制方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109787915A CN109787915A (zh) | 2019-05-21 |
CN109787915B true CN109787915B (zh) | 2022-09-20 |
Family
ID=66496980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811534870.1A Active CN109787915B (zh) | 2018-12-14 | 2018-12-14 | 网络访问的流量控制方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109787915B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110968745A (zh) * | 2019-11-13 | 2020-04-07 | 泰康保险集团股份有限公司 | 数据处理方法、装置、电子设备和计算机可读介质 |
CN112104567B (zh) * | 2020-09-03 | 2022-11-18 | 中国银联股份有限公司 | 流量控制方法、装置、设备及介质 |
CN113472674B (zh) * | 2021-07-12 | 2024-05-24 | 多点生活(成都)科技有限公司 | 一种流量控制方法、装置、存储介质及电子设备 |
CN113839888B (zh) * | 2021-09-22 | 2024-02-27 | 唯品会(广州)软件有限公司 | 一种限流方法、装置、设备及可读存储介质 |
CN115242722B (zh) * | 2022-06-14 | 2024-04-16 | 中盈优创资讯科技有限公司 | 一种基于api网关的高级流控实现方法 |
CN116743833B (zh) * | 2023-08-16 | 2023-11-03 | 雄安国创中心科技有限公司 | 增强终端与服务通讯能力和网络控制能力的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075971A (zh) * | 2007-07-16 | 2007-11-21 | 中兴通讯股份有限公司 | 一种层次化QoS的实现方法 |
CN101834786A (zh) * | 2010-04-15 | 2010-09-15 | 华为技术有限公司 | 队列调度的方法和装置 |
US8190593B1 (en) * | 2010-04-14 | 2012-05-29 | A9.Com, Inc. | Dynamic request throttling |
CN104125006A (zh) * | 2014-07-28 | 2014-10-29 | 大连大学 | 卫星通信网络带宽分配方法 |
CN108667744A (zh) * | 2018-02-26 | 2018-10-16 | 华为技术有限公司 | 流量控制方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108494703B (zh) * | 2018-03-08 | 2022-05-06 | 腾讯科技(深圳)有限公司 | 一种访问频率控制方法、装置及存储介质 |
-
2018
- 2018-12-14 CN CN201811534870.1A patent/CN109787915B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075971A (zh) * | 2007-07-16 | 2007-11-21 | 中兴通讯股份有限公司 | 一种层次化QoS的实现方法 |
US8190593B1 (en) * | 2010-04-14 | 2012-05-29 | A9.Com, Inc. | Dynamic request throttling |
CN101834786A (zh) * | 2010-04-15 | 2010-09-15 | 华为技术有限公司 | 队列调度的方法和装置 |
CN104125006A (zh) * | 2014-07-28 | 2014-10-29 | 大连大学 | 卫星通信网络带宽分配方法 |
CN108667744A (zh) * | 2018-02-26 | 2018-10-16 | 华为技术有限公司 | 流量控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109787915A (zh) | 2019-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109787915B (zh) | 网络访问的流量控制方法、装置、电子设备及存储介质 | |
US8832063B1 (en) | Dynamic request throttling | |
US11106560B2 (en) | Adaptive thresholds for containers | |
CN106959894B (zh) | 资源分配方法和装置 | |
US11777949B2 (en) | Dynamic user access control management | |
KR20190140985A (ko) | 공유 컴퓨팅 자원들에 대한 동적 용량 최적화 | |
CN107656807A (zh) | 一种虚拟资源的自动弹性伸缩方法及装置 | |
US11381635B2 (en) | Method of operating a server apparatus for delivering website content, server apparatus and device in communication with server apparatus | |
DE112021005586T5 (de) | Automatisches skalieren einer abfrage-steuerungsroutine für arbeitslasten im bereich big data auf unternehmensebene | |
CN111752706A (zh) | 资源配置方法、装置及存储介质 | |
CN111985851B (zh) | 银行网点资源调度方法及装置 | |
CN115543577A (zh) | 基于协变量的Kubernetes资源调度优化方法、存储介质及设备 | |
CN116467082A (zh) | 一种基于大数据的资源分配方法及系统 | |
CN112925634A (zh) | 异构资源调度方法和系统 | |
CN112494935B (zh) | 一种云游戏平台池化方法、电子设备及存储介质 | |
CN117527721A (zh) | 内容分发网络带宽控制方法、装置、设备和存储介质 | |
CN112416590A (zh) | 服务器系统资源调整方法、装置、计算机设备及存储介质 | |
CN117135130A (zh) | 服务器控制方法、装置、电子设备及存储介质 | |
CN116126415A (zh) | 一种基于场景的上云组件配置推荐方法及系统 | |
CN116149848A (zh) | 负载预测方法、装置、电子设备及存储介质 | |
DE112022000406T5 (de) | Überwachen eines allgemeinzustands eines grossen cloud-computing-systems | |
CN114443293A (zh) | 一种大数据平台的部署系统及方法 | |
CN113596146A (zh) | 一种基于大数据的资源调度的方法及装置 | |
CN112714037A (zh) | 一种线上服务质量的保障性能评估方法、装置及设备 | |
CN112416888A (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 |