CN111371772A - 基于redis的智能网关限流方法、系统和计算机设备 - Google Patents
基于redis的智能网关限流方法、系统和计算机设备 Download PDFInfo
- Publication number
- CN111371772A CN111371772A CN202010128410.XA CN202010128410A CN111371772A CN 111371772 A CN111371772 A CN 111371772A CN 202010128410 A CN202010128410 A CN 202010128410A CN 111371772 A CN111371772 A CN 111371772A
- Authority
- CN
- China
- Prior art keywords
- access
- user
- user terminal
- redis
- access request
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供了一种基于redis的智能网关限流方法,所述方法包括:监测来自用户终端的访问请求,访问请求用于访问目标服务系统,访问请求中携带有token信息;根据token信息获取用户终端所关联的关联用户的历史访问量;根据历史访问量确定用户终端当前用户等级,其中,每个用户等级对应一个预先配置的访问阈值;根据当前用户等级和访问阈值,判断用户终端是否具有访问目标服务系统的访问权限;若用户终端具有访问权限,则放行访问请求,并将访问请求记录到redis数据库中;若用户终端不具有访问权限,则拒绝访问请求,并将生成的拒绝信息发送到用户终端。本发明实施例解决了因单个子系统访问量过大而影响整个业务线的访问速度的问题,提高了数据传输效率。
Description
技术领域
本发明实施例涉及数据传输领域,尤其涉及一种基于redis的智能网关限流方法、系统、计算机设备及计算机可读存储介质。
背景技术
网关作为服务器的入口,不仅用于接收客户端的请求信息,根据所述请求信息向服务器请求客户端所需的内容,还用于为服务器提供安全校验等服务功能,这些服务功能或数据传输都需要相当的访问量。随着网关的关联系统(例如子设备)的不断增加,每个业务条线需要对接多个关联系统的子设备,服务器的访问压力大大增加。这样容易因为单个子系统访问量过大,导致整个业务线的访问问题。
因此,如何避免因单个子系统访问量过大而影响整个业务线的访问速度,从而进一步提高数据传输效率,成为了当前要解决的技术问题之一。
发明内容
有鉴于此,有必要提供一种基于redis的智能网关限流方法、系统、计算机设备及计算机可读存储介质,以解决在当前因单个子系统访问量过大,而导致整个业务线的访问速度降低等技术问题。
为实现上述目的,本发明实施例提供了一种基于redis的智能网关限流方法,所述方法步骤包括:
监测来自用户终端的访问请求,所述访问请求用于访问目标服务系统,所述访问请求中携带有token信息;
根据所述token信息获取所述用户终端所关联的关联用户的历史访问量;
根据所述历史访问量确定所述用户终端当前用户等级,其中,每个用户等级对应一个预先配置的访问阈值;
根据所述当前用户等级和所述访问阈值,判断所述用户终端是否具有访问所述目标服务系统的访问权限;
若所述用户终端具有访问权限,则放行所述访问请求,并将所述访问请求记录到redis数据库中;
若所述用户终端不具有访问权限,则拒绝所述访问请求,并将生成的拒绝信息发送到所述用户终端。
示例性的,监测来自用户终端的访问请求,所述访问请求用于访问目标服务系统,所述访问请求中携带有token信息的步骤,包括:
所述token信息为网关系统预先分配给所述用户终端所关联的关联用户的标识信息,用于标识所述关联用户的身份信息。
示例性的,根据所述历史访问量确定所述用户终端当前用户等级,其中,每个用户等级对应一个预先配置的访问阈值的步骤,包括:
所述历史访问量包括平均每秒访问并发量、平均每月访问量和总计访问量。
示例性的,所述访问阈值的配置,包括:
获取多个用户终端所关联的关联用户对应的多个历史访问数据;
对所述多个历史访问数据进行用户分级,以得到有个用户等级;
为每个用户等级配置一个访问阈值,其中,所述访问阈值包括每秒访问并发量阈值、每月访问量阈值和总计访问量阈值。
示例性的,若所述用户终端具有访问权限,则放行所述访问请求,并将所述访问请求记录到redis数据库中的步骤,包括:
根据记录到redis数据库中的访问请求次数以及所述访问阈值,判断所述用户终端剩余访问量,所述剩余访问量包括剩余每月访问量和剩余总计访问量;
将所述剩余访问量发送到所述用户终端。
为实现上述目的,本发明实施例还提供了一种基于redis的智能网关限流系统,包括:
监测模块,用于监测来自用户终端的访问请求,所述访问请求用于访问目标服务系统,所述访问请求中携带有token信息;
获取模块,用于根据所述token信息获取所述用户终端所关联的关联用户的历史访问量;
确定模块,用于根据所述历史访问量确定所述用户终端当前用户等级,其中,每个用户等级对应一个预先配置的访问阈值;
判断模块,用于根据所述当前用户等级和所述访问阈值,判断所述用户终端是否具有访问所述目标服务系统的访问权限;
放行模块,用于若所述用户终端具有访问权限,则放行所述访问请求,并将所述访问请求记录到redis数据库中;
拒绝模块,用于若所述用户终端不具有访问权限,则拒绝所述访问请求,并将生成的拒绝信息发送到所述用户终端。
示例性的,所述监测模块还用于:
所述token信息为网关系统预先分配给所述用户终端所关联的关联用户的标识信息,用于标识所述关联用户的身份信息。
示例性的,所述确定模块还用于:
所述历史访问量包括平均每秒访问并发量、平均每月访问量和总计访问量。
为实现上述目的,本发明实施例还提供了一种计算机可读存储介质所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上述的基于redis的智能网关限流方法的步骤。
本发明实施例提供的基于redis的智能网关限流方法、系统、计算机设备及计算机可读存储介质,为数据传输提供了有效的网关限流方法,解决了因单个子系统访问量过大而影响整个业务线的访问速度的问题,提高了数据传输效率。
附图说明
图1为本发明实施例基于redis的智能网关限流方法的流程示意图。
图2为本发明基于redis的智能网关限流系统实施例二的程序模块示意图。
图3为本发明计算机设备实施例三的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
以下实施例中,将以计算机设备2为执行主体进行示例性描述。
实施例一
参阅图1,示出了本发明实施例之基于redis的智能网关限流方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备2为执行主体进行示例性描述。具体如下。
步骤S100,监测来自用户终端的访问请求,所述访问请求用于访问目标服务系统,所述访问请求中携带有token信息。
通过网关系统检测自用户终端用于访问目标服务系统的访问请求,所述用户终端可以是通过网络访问目标服务系统的终端,例如:智能手机、平板电脑、计算机等终端设备;所述目标服务系统可以是用户终端通过互联网访问的服务器从而提供的网络服务的服务系统,例如:大型游戏系统,可提供数据下载的数据库系统等。
示例性的,所述步骤S100可以进一步包括:所述token信息为网关系统预先分配给所述用户终端所关联的关联用户的标识信息,用于标识所述关联用户的身份信息。
所述网关系统可以根据所述用户终端所关联的关联用户在所述网关系统中注册的信息,为所述用户终端分配一个对应于所述关联用户的唯一token(令牌)信息;其中,所述token信息用于标识所述关联用户的身份。例如,所述关联用户可以通过所述用户终端可以向目标服务系统发送访问请求,所述访问请求可以是向所述目标服务系统发送的申请数据下载服务请求,在所述目标服务系统接收到所述申请数据下载服务请求用户终端之前,所述网关系统会对所述用户终端所关联的关联用户进行身份验证;其中,所述网关系统可以根据所述关联用户的token信息,对所述关联用户进行用户身份验证;在所述网关系统对所述用户终端所关联的关联用户身份验证通过后,再将所述关联用户通过所述用户终端的发送的申请数据下载服务请求转发到目标服务系统中。所述token在计算机领域中可以代表执行某些操作权利的对象。所述token标识可以包括用于访问网关系统的访问令牌、用于加密的密保令牌或用于在交互会话中表示唯一身份标识的会话令牌。
步骤S102,根据所述token信息获取所述用户终端所关联的关联用户的历史访问量。
所述网关系统还会根据访问请求确定携带的所述token信息,确定所述用户终端所关联的关联用户,提取所述关联用户通过用户终端对目标服务系统的历史访问量。
步骤S104,根据所述历史访问量确定所述用户终端当前用户等级,其中,每个用户等级对应一个预先配置的访问阈值。
在一些实施例中,所述网关系统可以对所述关联用户设置对应于所述关联用户的用户等级的访问限制,不同的用户等级的用户拥有不同的访问限制,可以理解为,用户等级越高的用户对应拥有的访问限制越小。例如,在用户1、用户2、用户3、用户4以及用户5中,所述用户1的等级最高则,则在这五个用户中所述用户1的访问限制最小。其中,每个用户等级可以配置一个对应的访问阈值,所述网关系统可以通过所述访问阈值对所述用户终端所关联的关联用户进行访问限制。在本实施中,所述用户终端当前用户等级可以根据所述历史访问量来确定。
示例性的,所述步骤S104可以进一步包括:所述历史访问量包括平均每秒访问并发量、平均每月访问量和总计访问量。
从所述关联用户的历史数据中,可以得到所述关联用户对所述目标服务系统所访问的次数和每次访问时的每秒访问并发量;不难理解,通过对所述目标服务系统所访问的次数和每次访问时的每秒访问并发量的进行简单的统计,可以得到所述关联用户对所述目标服务系统平均每秒访问并发量、平均每月访问量和总计访问量。根据所述平均每秒访问并发量、平均每月访问量和总计访问量确定所述用户终端所关联的关联用户的当前用户等级,根据所述当前用户等级可以确定一个与所述当前用户等级对应的。访问阈值可以针对访问需求不同的用户配置不同访问限制,以防止某个用户突然增大访问量,而导致数据库宕机或服务端服务异常等问题,从而影响整个系统条线的正常运转。
示例性的,所述步骤S104可以进一步包括:
步骤S104a,获取多个用户终端所关联的关联用户对应的多个历史访问数据;步骤S104b,对所述多个历史访问数据进行用户分级,以得到有个用户等级;步骤S104c,为每个用户等级配置一个访问阈值,其中,所述访问阈值包括每秒访问并发量阈值、每月访问量阈值和总计访问量阈值。
步骤S106,根据所述当前用户等级和所述访问阈值,判断所述用户终端是否具有访问所述目标服务系统的访问权限。
在一些实施例中,根据所述当前用户等级对应的实际访问量与所述访问阈值,可以得到所述关联用户的剩余访问量,所述剩余访问量包括每秒访问最大并发量的值、每月剩余访问量以及总剩余访问量;其中,所述用户终端所访问的所述目标服务系统时的目标访问量,所述目标访问量包括目标访问并发量、目标每月访问量和目标总的访问量,所述目标每月访问量等于所述目标总的访问量,通过比较所述剩余访问量和目标访问量的大小,可以判断出所述用户终端所关联的关联用户是否具有访问所述目标服务系统的访问权限。
步骤S108,若所述用户终端具有访问权限,则放行所述访问请求,并将所述访问请求记录到redis数据库中。
在一些实施例中,判断所述用户终端是否具有访问权限,可以通过比较所述关联用户的所述剩余访问量和目标访问量的大小来判断,当所述剩余访问量大于目标访问量时,则所述用户终端所关联的关联用户具有访问所述目标服务系统的访问权限。当所述网关系统确认所述用户终端所关联的关联用户具有访问所述目标服务系统的访问权限后,会将所述访问请求放行。例如,用户1的所述剩余访问量的每秒访问并发量为2、每月剩余访问量为30,则表示该用户1每秒访问量的最大量为2、每月访问量的最大量为30,若所述用户1的目标访问量低于这两项数数据,则表示所述用户终端所关联的用户1具有访问所述目标服务系统的访问权限。用户2所述剩余访问量的每秒访问并发量为5、每月访问量为50、总计访问量为1000,代表用户2每秒访问量的最大量为5、每月访问量的最大量为50、最高总计访问量为1000,若所述用户2的所述目标访问量低于这三项数数据,则表示所述用户终端所关联的用户2具有访问所述目标服务系统的访问权限。
示例性的,不同的用户等级对应不同的访问优先级,用户等级越高则访问优先级越高。在一些实施例中,在多个客户终端同时访问所述目标服务系统的情况下,若是优先级不同,则优先级高的优先访问。优先级相同情况下,网关系统不对用户终端进行终端优先级区分,例如可以设定优先到达的请求优先处理,稍后到达的请求稍后处理。但是,当到达每月最高访问量和/或最高总计访问量的用户终端都不可以再度访问网关系统。
示例性的,所述步骤S106可以进一步包括:
步骤S108a,根据记录到redis数据库中的访问请求次数以及所述访问阈值,判断所述用户终端剩余访问量,所述剩余访问量包括剩余每月访问量和剩余总计访问量。
例如,通过redis(Remote Dictionary Server远程字典服务)数据库在某一时段内记录用户1、用户2、用户3、用户4、用户5.....的数据用量;通过redis数据库在某月份记录用户1、用户2、用户3、用户4、用户5.....的数据用量;通过redis数据库在某月份记录用户1、用户2、用户3、用户4、用户5.....的访问次数。
步骤S108b,将所述剩余访问量发送到所述用户终端。
在一些实施例中,当用户在进行高速电子竞技游戏前,网关系统会根据高速电子竞技游戏所需的每秒访问量及用户终端的优先级对应的每秒访问量的比较值发出提示信息。例如,高速电子竞技游戏所需的每秒访问量为5,用户终端的每秒访问量为4,比较值5/4≧1,用户终端的显示屏发出的提示信息表示“当前用户的每秒访问量无法进行高速电子竞技游戏,请选择其他游戏”。相反的,低速电子竞技游戏所需的每秒访问量为2,用户终端的每秒访问量为4,比较值2/4<1,可以直接进入游戏画面。
当用户在进行第一影音数据下载前,网关系统会根据第一影音数据所需的总访问量及用户终端的优先级对应的每月最高访问量的比较值发出提示信息。例如,第一影音数据下载所需的访问量为30,每月最高访问量25,比较值30/25≧1,用户终端的显示屏发出的提示信息表示“当前用户的每月最高访问量无法进行第一影音数据下载,请选择其他影音数据下载”。相反的,第二影音数据所需的访问量为5,用户终端的每月最高访问量25,比较值5/25<1,可以直接进入第二影音数据下载。
步骤S110,若所述用户终端不具有访问权限,则拒绝所述访问请求,并将生成的拒绝信息发送到所述用户终端。
例如,用户3的剩余访问量的每秒访问并发量为0、每月访问量为0,则表示所述用户终端所关联的用户3不具有访问所述目标服务系统的访问权限。用户4的剩余访问量的每秒访问并发量为3、每月访问量为40,则表示用户4每秒访问量的最大量为3、每月访问量的最大量为40,若所述用户4的目标访问量高于这两项数数据,则表示所述用户终端所关联的用户4不具有访问所述目标服务系统的访问权限。用户5的剩余访问量的每秒访问并发量为4、每月访问量为60、总计访问量为2000,代表用户5每秒访问量的最大量为4、每月访问量的最大量为60、最高总计访问量为2000,若所述5的目标访问量高于这三项数数据,则表示所述用户终端所关联的用户5不具有访问所述目标服务系统的访问权限。
实施例二
图2为本发明基于redis的智能网关限流系统实施例二的程序模块示意图。基于redis的智能网关限流系统20可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述基于redis的智能网关限流方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述基于redis的智能网关限流系统20在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
监测模块200,用于监测模块,用于监测来自用户终端的访问请求,所述访问请求用于访问目标服务系统,所述访问请求中携带有token信息。
所述监测模块200还用于:所述token信息为网关系统预先分配给所述用户终端所关联的关联用户的标识信息,用于标识所述关联用户的身份信息
获取模块202,用于根据所述token信息获取所述用户终端所关联的关联用户的历史访问量。
确定模块204,用于根据所述历史访问量确定所述用户终端当前用户等级,其中,每个用户等级对应一个预先配置的访问阈值。
所述确定模块204还用于:所述历史访问量包括平均每秒访问并发量、平均每月访问量和总计访问量。
所述确定模块204还用于:获取多个用户终端所关联的关联用户对应的多个历史访问数据;对所述多个历史访问数据进行用户分级,以得到有个用户等级;为每个用户等级配置一个访问阈值,其中,所述访问阈值包括每秒访问并发量阈值、每月访问量阈值和总计访问量阈值。
判断模块206,用于根据所述当前用户等级和所述访问阈值,判断所述用户终端是否具有访问所述目标服务系统的访问权限。
放行模块208,用于若所述用户终端具有访问权限,则放行所述访问请求,并将所述访问请求记录到redis数据库中。
所述放行模块208还用于:根据记录到redis数据库中的访问请求次数以及所述访问阈值,判断所述用户终端剩余访问量,所述剩余访问量包括剩余每月访问量和剩余总计访问量;将所述剩余访问量发送到所述用户终端。
拒绝模块210,用于若所述用户终端不具有访问权限,则拒绝所述访问请求,并将生成的拒绝信息发送到所述用户终端。
实施例三
参阅图3,是本发明实施例三之计算机设备的硬件架构示意图。本实施例中,所述计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。该计算机设备2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图所示,所述计算机设备2至少包括,但不限于,可通过系统总线相互通信连接存储器21、处理器22、网络接口23、以及基于redis的智能网关限流系统20。
本实施例中,存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如实施例二的基于redis的智能网关限流系统20的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备2的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行基于redis的智能网关限流系统20,以实现实施例一的基于redis的智能网关限流方法。
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述计算机设备2与其他电子装置之间建立通信连接。例如,所述网络接口23用于通过网络将所述计算机设备2与外部终端相连,在所述计算机设备2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(WidebandCode Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图3仅示出了具有部件20-23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器21中的基于redis的智能网关限流系统20还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。
例如,图2示出了本发明实施例二之所述实现基于redis的智能网关限流系统20的程序模块示意图,该实施例中,所述基于redis的智能网关限流系统20可以被划分为监测模块200、获取模块202、确定模块204、判断模块206、放行模块208和拒绝模块110。其中,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述基于redis的智能网关限流系统20在所述计算机设备2中的执行过程。所述程序模块200-210的具体功能在实施例二中已有详细描述,在此不再赘述。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于基于redis的智能网关限流系统20,被处理器执行时实现实施例一的基于redis的智能网关限流方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于redis的智能网关限流方法,其特征在于,所述方法包括:
监测来自用户终端的访问请求,所述访问请求用于访问目标服务系统,所述访问请求中携带有token信息;
根据所述token信息获取所述用户终端所关联的关联用户的历史访问量;
根据所述历史访问量确定所述用户终端当前用户等级,其中,每个用户等级对应一个预先配置的访问阈值;
根据所述当前用户等级和所述访问阈值,判断所述用户终端是否具有访问所述目标服务系统的访问权限;
若所述用户终端具有访问权限,则放行所述访问请求,并将所述访问请求记录到redis数据库中;
若所述用户终端不具有访问权限,则拒绝所述访问请求,并将生成的拒绝信息发送到所述用户终端。
2.如权利要求1所述的基于redis的智能网关限流方法,其特征在于,监测来自用户终端的访问请求,所述访问请求用于访问目标服务系统,所述访问请求中携带有token信息的步骤,包括:
所述token信息为网关系统预先分配给所述用户终端所关联的关联用户的标识信息,用于标识所述关联用户的身份信息。
3.如权利要求2所述的基于redis的智能网关限流方法,其特征在于,根据所述历史访问量确定所述用户终端当前用户等级,其中,每个用户等级对应一个预先配置的访问阈值的步骤,包括:
所述历史访问量包括平均每秒访问并发量、平均每月访问量和总计访问量。
4.如权利要求3所述的基于redis的智能网关限流方法,其特征在于,所述访问阈值的配置,包括:
获取多个用户终端所关联的关联用户对应的多个历史访问数据;
对所述多个历史访问数据进行用户分级,以得到有个用户等级;
为每个用户等级配置一个访问阈值,其中,所述访问阈值包括每秒访问并发量阈值、每月访问量阈值和总计访问量阈值。
5.如权利要求4所述的基于redis的智能网关限流方法,其特征在于,若所述用户终端具有访问权限,则放行所述访问请求,并将所述访问请求记录到redis数据库中的步骤,包括:
根据记录到redis数据库中的访问请求次数以及所述访问阈值,判断所述用户终端剩余访问量,所述剩余访问量包括剩余每月访问量和剩余总计访问量;
将所述剩余访问量发送到所述用户终端。
6.一种基于redis的智能网关限流系统,其特征在于,包括:
监测模块,用于监测来自用户终端的访问请求,所述访问请求用于访问目标服务系统,所述访问请求中携带有token信息;
获取模块,用于根据所述token信息获取所述用户终端所关联的关联用户的历史访问量;
确定模块,用于根据所述历史访问量确定所述用户终端当前用户等级,其中,每个用户等级对应一个预先配置的访问阈值;
判断模块,用于根据所述当前用户等级和所述访问阈值,判断所述用户终端是否具有访问所述目标服务系统的访问权限;
放行模块,用于若所述用户终端具有访问权限,则放行所述访问请求,并将所述访问请求记录到redis数据库中;
拒绝模块,用于若所述用户终端不具有访问权限,则拒绝所述访问请求,并将生成的拒绝信息发送到所述用户终端。
7.如权利要求6所述的基于redis的智能网关限流系统,其特征在于,所述监测模块还用于:
所述token信息为网关系统预先分配给所述用户终端所关联的关联用户的标识信息,用于标识所述关联用户的身份信息。
8.如权利要求5所述的基于redis的智能网关限流系统,其特征在于,所述确定模块还用于:
所述历史访问量包括平均每秒访问并发量、平均每月访问量和总计访问量。
9.一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的基于redis的智能网关限流方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1至5中任一项所述的基于redis的智能网关限流方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010128410.XA CN111371772A (zh) | 2020-02-28 | 2020-02-28 | 基于redis的智能网关限流方法、系统和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010128410.XA CN111371772A (zh) | 2020-02-28 | 2020-02-28 | 基于redis的智能网关限流方法、系统和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111371772A true CN111371772A (zh) | 2020-07-03 |
Family
ID=71206567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010128410.XA Pending CN111371772A (zh) | 2020-02-28 | 2020-02-28 | 基于redis的智能网关限流方法、系统和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111371772A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112231106A (zh) * | 2020-10-26 | 2021-01-15 | 中国工商银行股份有限公司 | Redis集群的访问数据处理方法及装置 |
CN112764937A (zh) * | 2021-01-29 | 2021-05-07 | 中国平安人寿保险股份有限公司 | 访问量控制方法、装置、计算机设备及存储介质 |
CN113765969A (zh) * | 2020-09-28 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种流量控制方法和装置 |
CN114389882A (zh) * | 2022-01-14 | 2022-04-22 | 平安付科技服务有限公司 | 网关流量控制方法、装置、计算机设备及存储介质 |
CN114553791A (zh) * | 2022-01-19 | 2022-05-27 | 浙江百应科技有限公司 | 一种外部接口限流方法、装置、电子设备以及存储介质 |
CN117596080A (zh) * | 2024-01-18 | 2024-02-23 | 北京安博通科技股份有限公司 | 一种终端用户流量的访问控制方法、设备、终端及系统 |
CN113765969B (zh) * | 2020-09-28 | 2024-10-25 | 北京沃东天骏信息技术有限公司 | 一种流量控制方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130054433A1 (en) * | 2011-08-25 | 2013-02-28 | T-Mobile Usa, Inc. | Multi-Factor Identity Fingerprinting with User Behavior |
CN103428100A (zh) * | 2013-08-20 | 2013-12-04 | 北京京东尚科信息技术有限公司 | 一种基于数据分类的动态流量控制方法及装置 |
CN105338094A (zh) * | 2015-11-17 | 2016-02-17 | 中国建设银行股份有限公司 | 一种数据处理方法和系统 |
CN106127368A (zh) * | 2016-06-14 | 2016-11-16 | 成都镜杰科技有限责任公司 | 用于企业资源管理系统的数据存储方法 |
CN108073465A (zh) * | 2017-12-29 | 2018-05-25 | 中国平安人寿保险股份有限公司 | 动态限流方法、Nginx服务器、存储介质及装置 |
CN109842565A (zh) * | 2018-12-15 | 2019-06-04 | 平安科技(深圳)有限公司 | 接口限流方法、装置、电子设备及存储介质 |
CN109962855A (zh) * | 2017-12-14 | 2019-07-02 | 深圳市融汇通金科技有限公司 | 一种web服务器的限流方法、限流装置及终端设备 |
-
2020
- 2020-02-28 CN CN202010128410.XA patent/CN111371772A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130054433A1 (en) * | 2011-08-25 | 2013-02-28 | T-Mobile Usa, Inc. | Multi-Factor Identity Fingerprinting with User Behavior |
CN103428100A (zh) * | 2013-08-20 | 2013-12-04 | 北京京东尚科信息技术有限公司 | 一种基于数据分类的动态流量控制方法及装置 |
CN105338094A (zh) * | 2015-11-17 | 2016-02-17 | 中国建设银行股份有限公司 | 一种数据处理方法和系统 |
CN106127368A (zh) * | 2016-06-14 | 2016-11-16 | 成都镜杰科技有限责任公司 | 用于企业资源管理系统的数据存储方法 |
CN109962855A (zh) * | 2017-12-14 | 2019-07-02 | 深圳市融汇通金科技有限公司 | 一种web服务器的限流方法、限流装置及终端设备 |
CN108073465A (zh) * | 2017-12-29 | 2018-05-25 | 中国平安人寿保险股份有限公司 | 动态限流方法、Nginx服务器、存储介质及装置 |
CN109842565A (zh) * | 2018-12-15 | 2019-06-04 | 平安科技(深圳)有限公司 | 接口限流方法、装置、电子设备及存储介质 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113765969A (zh) * | 2020-09-28 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种流量控制方法和装置 |
CN113765969B (zh) * | 2020-09-28 | 2024-10-25 | 北京沃东天骏信息技术有限公司 | 一种流量控制方法和装置 |
CN112231106A (zh) * | 2020-10-26 | 2021-01-15 | 中国工商银行股份有限公司 | Redis集群的访问数据处理方法及装置 |
CN112231106B (zh) * | 2020-10-26 | 2024-02-06 | 中国工商银行股份有限公司 | Redis集群的访问数据处理方法及装置 |
CN112764937A (zh) * | 2021-01-29 | 2021-05-07 | 中国平安人寿保险股份有限公司 | 访问量控制方法、装置、计算机设备及存储介质 |
CN112764937B (zh) * | 2021-01-29 | 2022-04-15 | 中国平安人寿保险股份有限公司 | 访问量控制方法、装置、计算机设备及存储介质 |
CN114389882A (zh) * | 2022-01-14 | 2022-04-22 | 平安付科技服务有限公司 | 网关流量控制方法、装置、计算机设备及存储介质 |
CN114389882B (zh) * | 2022-01-14 | 2024-04-09 | 平安付科技服务有限公司 | 网关流量控制方法、装置、计算机设备及存储介质 |
CN114553791A (zh) * | 2022-01-19 | 2022-05-27 | 浙江百应科技有限公司 | 一种外部接口限流方法、装置、电子设备以及存储介质 |
CN117596080A (zh) * | 2024-01-18 | 2024-02-23 | 北京安博通科技股份有限公司 | 一种终端用户流量的访问控制方法、设备、终端及系统 |
CN117596080B (zh) * | 2024-01-18 | 2024-04-23 | 北京安博通科技股份有限公司 | 一种终端用户流量的访问控制方法、设备、终端及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111371772A (zh) | 基于redis的智能网关限流方法、系统和计算机设备 | |
CN108683604B (zh) | 并发访问控制方法、终端设备及介质 | |
CN109831504B (zh) | 微服务请求处理方法、装置及设备 | |
US9313604B1 (en) | Network service request throttling system | |
CN111756644B (zh) | 热点限流方法、系统、设备及存储介质 | |
CN110232010A (zh) | 一种告警方法、告警服务器及监控服务器 | |
CN111131221B (zh) | 接口校验的装置、方法及存储介质 | |
CN106095641A (zh) | 一种监控方法、装置和系统 | |
CN114268957B (zh) | 异常业务数据处理方法、装置、服务器及存储介质 | |
CN111125017A (zh) | 基于树形结构的数据存储方法、装置及计算机设备 | |
CN111371889B (zh) | 消息处理方法、装置、物联网系统和存储介质 | |
CN107872446B (zh) | 一种通信帐号的管理方法、装置及服务器 | |
CN109657485B (zh) | 权限处理方法、装置、终端设备和存储介质 | |
CN111949421B (zh) | Sdk调用方法、装置、电子设备和计算机可读存储介质 | |
CN112685778A (zh) | 一种数据存储方法及装置 | |
CN106934708B (zh) | 事件记录方法和装置 | |
CN109905407B (zh) | 基于vpn服务器访问内网的管理方法、系统、设备及介质 | |
CN110730063B (zh) | 安全验证方法、系统、物联网平台、终端和可读存储介质 | |
CN115037693B (zh) | 一种基于令牌桶的分布式限流方法和分布式限流装置 | |
CN115242872B (zh) | 数据处理方法、装置、计算机设备及可读存储介质 | |
CN113596600A (zh) | 直播嵌入程序的安全管理方法、装置、设备及存储介质 | |
CN111913923A (zh) | 日志记录方法、装置、设备以及存储介质 | |
CN117768150B (zh) | 基于身份认证的业务系统接入方法及业务系统接入平台 | |
CN113489726B (zh) | 流量限制方法及设备 | |
CN117294578B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200703 |
|
RJ01 | Rejection of invention patent application after publication |