CN111817970B - 一种页面限流方法及终端 - Google Patents
一种页面限流方法及终端 Download PDFInfo
- Publication number
- CN111817970B CN111817970B CN202010467877.7A CN202010467877A CN111817970B CN 111817970 B CN111817970 B CN 111817970B CN 202010467877 A CN202010467877 A CN 202010467877A CN 111817970 B CN111817970 B CN 111817970B
- Authority
- CN
- China
- Prior art keywords
- access request
- function
- interface
- access
- unique identifier
- 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
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种页面限流方法及终端,接收访问请求,所述访问请求包括第一唯一标识及请求接口;根据所述访问请求中的请求接口,确定所述访问请求对应的功能;读取第一预设时间范围内所述访问请求对应的功能的活跃用户数,并判断所述活跃用户数是否超过阈值,若是,则跳转到限流提示页面,否则,在所述访问请求的第一唯一标识中加入带有有效期的准入信息;通过访问请求中的请求接口确定访问请求对应的功能,实现在功能层面进行限流操作,若判断结果为不限流,则在相应访问请求的第一唯一标识中加入带有有效期的准入信息,所述准入信息有效期内,用户访问相应功能都无需进行限流判断,在实现限流的同时保证了正在使用相应功能的用户的使用体验。
Description
技术领域
本发明涉及访问限流领域,尤其涉及一种页面限流方法及终端。
背景技术
在微服务的技术架构下,对高并发场景的流量控制提出了更高的适应要求,因微服务架构中定位故障点困难,并且一个服务出现故障可能导致整个系统的崩溃,且系统中服务的数量较大,若一个服务出现过载无法使用,容易影响整个系统,并且用户流量和行为模式都具有不可预测性,如果瞬间用户量过大,容易出现服务过载。
为了确保在高并发场景下服务的正常使用,通常会对承载流量压力较大的服务做水平扩容,但是物理资源是有限的,且在技术架构不变的情况下,水平扩容也存在上限,需要花费时间对架构进行改造之后才能继续扩容;现有还有采取通过限制接口每秒的调用次数,对超过次数的调用进行排除来完成限流,但完成一个业务操作的过程中通常需要调用多个接口,并且只有所有接口都调用成功,业务操作才执行成功,若在接口层面进行限流,会放大业务层面的执行失败概率,用户体验较差;并且通过限制接口调用次数进行限流的方法对所有调用接口的用户都是无差别的,即会影响所有使用系统的用户的使用体验。
发明内容
本发明所要解决的技术问题是:提供一种页面限流方法及系统,不影响正在使用系统功能的用户的使用体验的同时实现限流。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种页面限流方法,包括步骤:
S1、接收访问请求,所述访问请求包括第一唯一标识及请求接口;
S2、根据所述访问请求中的请求接口,确定所述访问请求对应的功能;
S3、读取第一预设时间范围内所述访问请求对应的功能的活跃用户数,并判断所述活跃用户数是否超过阈值,若是,则跳转到限流提示页面,否则,在所述访问请求的第一唯一标识中加入带有有效期的准入信息。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种页面限流终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S1、接收访问请求,所述访问请求包括第一唯一标识及请求接口;
S2、根据所述访问请求中的请求接口,确定所述访问请求对应的功能;
S3、读取第一预设时间范围内所述访问请求对应的功能的活跃用户数,并判断所述活跃用户数是否超过阈值,若是,则跳转到限流提示页面,否则,在所述访问请求的第一唯一标识中加入带有有效期的准入信息。
本发明的有益效果在于:根据用户发送的访问请求中请求接口,确定用户请求的功能,读取所述功能在第一预设时间范围内的活跃用户数,并将所述活跃用户数与阈值相比较,若超过阈值则根据访问请求中的第一唯一标识,跳转到相应限流提示页面;若未超过阈值,则在访问请求的第一唯一标识中加入带有有效期的准入信息,用户在有效期内请求使用功能时,不会再进行限流判断,即实现正在使用系统的用户在准入信息有效期内不被限流影响使用体验,只对新提交访问请求的用户进行限流,同时,根据接口确定相应的功能,也实现在功能层面限流而不是针对接口进行限流,通过面向用户行为的页面级限流方案,使得当线上用户达到阈值时,已经进入的用户可以不受影响,继续使用线上的功能;而新进入的用户,被引导到系统繁忙的提示页面,可以确保系统在达到阈值时,在实现限流的同时还能对已有的用户保证服务质量。
附图说明
图1为本发明实施例的一种页面限流方法的步骤流程图;
图2为本发明实施例的一种页面限流终端的结构示意图;
图3为本发明实施例的一种页面限流终端数据流动示意图;
图4为本发明实施例的判断是否限流的流程图;
标号说明:
1、一种页面限流终端; 2、处理器; 3、存储器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1,一种页面限流方法,其特征在于,包括步骤:
S1、接收访问请求,所述访问请求包括第一唯一标识及请求接口;
S2、根据所述访问请求中的请求接口,确定所述访问请求对应的功能;
S3、读取第一预设时间范围内所述访问请求对应的功能的活跃用户数,并判断所述活跃用户数是否超过阈值,若是,则跳转到限流提示页面,否则,在所述访问请求的第一唯一标识中加入带有有效期的准入信息。
从上述描述可知,本发明的有益效果在于:根据用户发送的访问请求中请求接口,确定用户请求的功能,读取所述功能在第一预设时间范围内的活跃用户数,并将所述活跃用户数与阈值相比较,若超过阈值则根据访问请求中的第一唯一标识,跳转到相应限流提示页面;若未超过阈值,则在访问请求的第一唯一标识中加入带有有效期的准入信息,用户在有效期内请求使用功能时,不会再进行限流判断,即实现正在使用系统的用户在准入信息有效期内不被限流影响使用体验,只对新提交访问请求的用户进行限流,同时,根据接口确定相应的功能,也实现在功能层面限流而不是针对接口进行限流,通过面向用户行为的页面级限流方案,使得当线上用户达到阈值时,已经进入的用户可以不受影响,继续使用线上的功能;而新进入的用户,被引导到系统繁忙的提示页面,可以确保系统在达到阈值时,在实现限流的同时还能对已有的用户保证服务质量。
进一步的,所述S1之前还包括:
接收针对各个功能的注册信息,所述注册信息包括所述每个功能对应的第二唯一标识及接口清单,每个功能对应的第二唯一标识和接口清单一一对应;
所述S2具体为:
根据所述注册信息中的接口清单及访问请求中的请求接口,确定所述访问请求对应的第二唯一标识;
根据所述访问请求对应的第二唯一标识及注册信息中各个功能对应的第二唯一标识,确定所述访问请求对应的功能。
由上述描述可知,每个功能提交注册信息,包括每个功能对应的第二唯一标识及接口清单,能够通过访问请求中请求接口与注册信息中接口清单的对应确定访问请求所对应的目标功能,实现后续对相应功能进行限流而不是针对接口进行限流。
进一步的,所述S3中判断所述活跃用户数未超过阈值之后还包括:
保存活跃用户未超过阈值的判断结果;
获取所述活跃用户数与所述阈值的差值;
读取第二预设时间范围内的历史活跃用户数,分析所述历史活跃用户数,生成活跃用户增长率预测值;
根据所述活跃用户增长率预测值及所述差值,确定第三预设时间范围;
在所述第三预设时间范围内直接使用所述保存的活跃用户未超过阈值的判断结果。
由上述描述可知,通过计算活跃用户增长率的预测值,获得活跃用户未超过阈值这一判断结果的有效时间即第三预设时间,在所述第三预设时间范围内直接根据所述活跃用户未超过阈值的判断结果进行后续操作,不用反复请求服务器发送第一预设时间范围内所述访问请求对应的功能的活跃用户数,减轻了服务器的压力。
进一步的,所述S3中在所述访问请求的第一唯一标识中加入带有有效期的准入信息之后还包括:
S31、判断接收的访问请求的第一唯一标识中是否带有准入信息,若是,则执行S32,否则,执行S2;
S32、判断当前时间是否在所述第一唯一标识中准入信息的有效期内,若是,则执行S33,否则,执行S2;
S33、重置所述有效期。
由上述描述可知,若提交访问请求的用户带有准入信息且提交访问请求的当前时间在所述准入信息的有效期内,则重置所述有效期,用户若一直使用相应功能,则不会被限流规则影响,能够一直正常使用相应功能,即进一步保证了限流规则不会对正在使用相应功能的用户造成影响。
进一步的,所述S1还包括:保存所述访问请求,生成接口访问日志;
所述S3中读取第一预设时间范围内所述访问请求对应的功能的活跃用户数之前包括:
读取所述第一预设时间范围内接口访问日志中的接口数据及对应的第一唯一标识;
根据所述接口数据及所述注册信息,确定接口访问日志中每一访问请求所对应的功能;
统计每一功能对应的第一预设时间范围内所有访问请求中第一唯一标识的数量,作为每一功能对应的活跃用户数。
由上述描述可知,将每一访问请求都进行保存生成接口访问日志,根据接口访问日志中第一唯一标识及访问接口数据,配合注册信息确定每一功能在第一预设时间范围内所有访问请求中第一唯一标识的数量,作为每一功能对应的活跃用户数,通过第一唯一标识而不是访问请求的条数统计活跃用户的数量,结果更加贴近实际水平,最终是否进行限流的判断结果更加贴合实际。
请参照图2,一种页面限流终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S1、接收访问请求,所述访问请求包括第一唯一标识及请求接口;
S2、根据所述访问请求中的请求接口,确定所述访问请求对应的功能;
S3、读取第一预设时间范围内所述访问请求对应的功能的活跃用户数,并判断所述活跃用户数是否超过阈值,若是,则跳转到限流提示页面,否则,在所述访问请求的第一唯一标识中加入带有有效期的准入信息。
本发明的有益效果在于:根据用户发送的访问请求中请求接口,确定用户请求的功能,读取所述功能在第一预设时间范围内的活跃用户数,并将所述活跃用户数与阈值相比较,若超过阈值则根据访问请求中的第一唯一标识,跳转到相应限流提示页面;若未超过阈值,则在访问请求的第一唯一标识中加入带有有效期的准入信息,用户在有效期内请求使用功能时,不会再进行限流判断,即实现正在使用系统的用户在准入信息有效期内不被限流影响使用体验,只对新提交访问请求的用户进行限流,同时,根据接口确定相应的功能,也实现在功能层面限流而不是针对接口进行限流,通过面向用户行为的页面级限流方案,使得当线上用户达到阈值时,已经进入的用户可以不受影响,继续使用线上的功能;而新进入的用户,被引导到系统繁忙的提示页面,可以确保系统在达到阈值时,在实现限流的同时还能对已有的用户保证服务质量。
进一步的,所述S1之前还包括:
接收针对各个功能的注册信息,所述注册信息包括所述每个功能对应的第二唯一标识及接口清单,每个功能对应的第二唯一标识和接口清单一一对应;
所述S2具体为:
根据所述注册信息中的接口清单及访问请求中的请求接口,确定所述访问请求对应的第二唯一标识;
根据所述访问请求对应的第二唯一标识及注册信息中各个功能对应的第二唯一标识,确定所述访问请求对应的功能。
由上述描述可知,每个功能提交注册信息,包括每个功能对应的第二唯一标识及接口清单,能够通过访问请求中请求接口与注册信息中接口清单的对应确定访问请求所对应的目标功能,实现后续对相应功能进行限流而不是针对接口进行限流。
进一步的,所述S3中判断所述活跃用户数未超过阈值之后还包括:
保存活跃用户未超过阈值的判断结果;
获取所述活跃用户数与所述阈值的差值;
读取第二预设时间范围内的历史活跃用户数,分析所述历史活跃用户数,生成活跃用户增长率预测值;
根据所述活跃用户增长率预测值及所述差值,确定第三预设时间范围;
在所述第三预设时间范围内直接使用所述保存的活跃用户未超过阈值的判断结果。
由上述描述可知,通过计算活跃用户增长率的预测值,获得活跃用户未超过阈值这一判断结果的有效时间即第三预设时间,在所述第三预设时间范围内直接根据所述活跃用户未超过阈值的判断结果进行后续操作,不用反复请求服务器发送第一预设时间范围内所述访问请求对应的功能的活跃用户数,减轻了服务器的压力。
进一步的,所述S3中在所述访问请求的第一唯一标识中加入带有有效期的准入信息之后还包括:
S31、判断接收的访问请求的第一唯一标识中是否带有准入信息,若是,则执行S32,否则,执行S2;
S32、判断当前时间是否在所述第一唯一标识中准入信息的有效期内,若是,则执行S33,否则,执行S2;
S33、重置所述有效期。
由上述描述可知,若提交访问请求的用户带有准入信息且提交访问请求的当前时间在所述准入信息的有效期内,则重置所述有效期,用户若一直使用相应功能,则不会被限流规则影响,能够一直正常使用相应功能,即进一步保证了限流规则不会对正在使用相应功能的用户造成影响。
进一步的,所述S1还包括:保存所述访问请求,生成接口访问日志;
所述S3中读取第一预设时间范围内所述访问请求对应的功能的活跃用户数之前包括:
读取所述第一预设时间范围内接口访问日志中的接口数据及对应的第一唯一标识;
根据所述接口数据及所述注册信息,确定接口访问日志中每一访问请求所对应的功能;
统计每一功能对应的第一预设时间范围内所有访问请求中第一唯一标识的数量,作为每一功能对应的活跃用户数。
由上述描述可知,将每一访问请求都进行保存生成接口访问日志,根据接口访问日志中第一唯一标识及访问接口数据,配合注册信息确定每一功能在第一预设时间范围内所有访问请求中第一唯一标识的数量,作为每一功能对应的活跃用户数,通过第一唯一标识而不是访问请求的条数统计活跃用户的数量,结果更加贴近实际水平,最终是否进行限流的判断结果更加贴合实际。
请参照图1,本发明的实施例一为:
一种页面限流方法,具体包括:
接收针对各个功能的注册信息,所述注册信息包括所述每个功能对应的第二唯一标识及接口清单,每个功能对应的第二唯一标识和接口清单一一对应;
在一种可选的实施方式中,所述注册信息还包括每个功能对应的页面链接,以页面中的一个主体功能对此页面进行限流;
具体的,每个功能(可能包含多个微服务),注册几个关键的接口生成其对应的接口清单;
S1、接收访问请求,所述访问请求包括第一唯一标识及请求接口,并保存所述访问请求,生成接口访问日志;
具体的,对于登录用户可以通过Token(令牌)作为第一唯一标识对用户进行标记;若为未登录用户,可以通过用户访问的浏览器类型、版本、插件名称等特征,通过一定规则生成所述浏览器的唯一标识作为第一唯一标识对所述用户进行标记,具体的,可通过开源的Web端fingerprint库(浏览器指纹库),获取浏览器指纹作为浏览器的唯一标识;
若用户通过移动端访问,可使用所述移动端设备的虚拟设备号作为第一唯一标识对所述用户进行标记,具体的,可在移动端的APP内为每个移动端设备生成一个虚拟设备号;
在每条访问请求的头部写入所述第一唯一标识;
在一种可选的实施方式中,通过统一框架拦截所有访问请求,写入所述第一唯一标识,即可做到对业务方无感;
S2、根据所述访问请求中的请求接口,确定所述访问请求对应的功能;
具体为:根据所述注册信息中的接口清单及访问请求中的请求接口,确定所述访问请求对应的第二唯一标识;
根据所述访问请求对应的第二唯一标识及注册信息中各个功能对应的第二唯一标识,确定所述访问请求对应的功能;
若用户访问了所述接口清单上的接口,则可视为用户访问了所述接口清单对应的功能,同时,因各个功能之间存在业务相关性,可能出现调用一功能的接口清单上的接口但是并未实际使用此功能的情况,故此时因排除干扰因素,如用户的访问请求触发一功能对应的接口清单上的所有接口,才认为该访问请求调用了所述一功能;
S3、读取第一预设时间范围内所述访问请求对应的功能的活跃用户数,并判断所述活跃用户数是否超过阈值,若是,则跳转到限流提示页面,否则,在所述访问请求的第一唯一标识中加入带有有效期的准入信息;
具体的,若第一预设时间范围为30分钟,则读取30分钟内访问请求对应的功能的活跃用户数;
在一种可选的实施方式中,所述活跃用户数超过阈值的判断结果也带有有效期,在所述有效期内不再进行限流判断;
若用户通过网页端访问,可根据用户请求访问的页面链接确定用户请求访问的功能,若不同功能页面对应在同一域名下,只是路径(path)不同,可通过在接口网关上用Lua脚本语言编写插件实现页面跳转,若相应功能的活跃用户数达到阈值,网关直接将返回的页面内容替换成限流提示内容,若相应功能的活跃用户数未达到阈值,则放行用户,并设置带有有效期的Cookie作为准入信息;
所述S3中读取第一预设时间范围内所述访问请求对应的功能的活跃用户数之前包括:
读取所述第一预设时间范围内接口访问日志中的接口数据及对应的第一唯一标识;
根据所述接口数据及所述注册信息,确定接口访问日志中每一访问请求所对应的功能;
统计每一功能对应的第一预设时间范围内所有访问请求中第一唯一标识的数量,作为每一功能对应的活跃用户数;
在一种可选的实施方式中,每间隔第四预设时间,统计一次每一功能对应的活跃用户数。
本发明的实施例二为:
一种页面限流方法,其与实施例一的不同之处在于,所述S3中,判断所述活跃用户数未超过阈值之后还包括:
保存活跃用户未超过阈值的判断结果;
获取所述活跃用户数与所述阈值的差值;
读取第二预设时间范围内的历史活跃用户数,分析所述历史活跃用户数,生成活跃用户增长率预测值;
根据所述活跃用户增长率预测值及所述差值,确定第三预设时间范围;
如读取当前时间开始至前十分钟的历史活跃用户数,计算出活跃用户数的每分钟增长率,以此预测第一预设时间范围内的活跃用户数超过阈值所需的时间预测值,所述第三预设时间范围小于所述时间预测值;
在所述第三预设时间范围内直接使用所述保存的活跃用户未超过阈值的判断结果;
在所述访问请求的第一唯一标识中加入带有有效期的准入信息之后还包括:
S31、判断接收的访问请求的第一唯一标识中是否带有准入信息,若是,则执行S32,否则,执行S2;
S32、判断当前时间是否在所述第一唯一标识中准入信息的有效期内,若是,则执行S33,否则,执行S2;
S33、重置所述有效期;
具体的,在一种可选的实施方式中,所述准入信息为Cookie,若第一次发放的Cookie有效期为30分钟,且在30分钟内收到带有所述30分钟有效期Cookie的访问请求,则直接执行所述访问请求,并将所述Cookie的有效期重置为30分钟。
请参照图3,本发明的实施例三为:
本实施例为上述页面限流方法的一种具体实现:
设置限流拦截器筛选所有访问请求,判断需跳转的页面,限流拦截器通过限流服务提供的数据进行判断;
具体的,若为浏览器端,可利用Spring拦截器,在页面的Controller层对所有访问请求进行拦截,判断需跳转的页面;
若为移动端,可定义类似http协议的URL路径,设置一页面跳转控制器,对页面的跳转进行统一控制,并定义页面加载的规范;接收服务端下发的涉及限流判断的功能对应的页面,若访问请求对应的功能为需要限流判断的功能,则在进行页面跳转前进行限流判断;
具体的,限流服务包括功能配置数据及功能活跃用户记数;
功能可通过限流服务注册,声明每一功能对应的页面链接及接口清单,还可配置限流提示页面及设置活跃用户数阈值(限流策略);
异步访问计数读取每一功能对应的接口清单数据,结合第一预设时间范围内接口访问日志中的接口数据及第一唯一标识,确定第一预设时间范围内每一功能对应的活跃用户数,并将所述每一功能对应的活跃用户数写入所述功能活跃用户记数;
限流拦截器根据所述功能活跃用户记数中相应功能的活跃用户数及功能配置数据中活跃用户数阈值,得到限流结果,并缓存相应结果m分钟,即所述限流结果在m分钟内有效;
具体的,若限流结果为不限流,则求出获取的相应功能的活跃用户数及功能配置数据中活跃用户数阈值的差值,并获取第二预设时间范围内的历史活跃用户数,分析生成活跃用户增长率预测值,并根据所述差值和增长率预测值,获取所述不限流的判断结果的有效时长;
若限流结果为限流,则直接设定一有效时长;
具体的,若所述限流结果为不限流,则在第一唯一标识中加入带有n分钟有效期的准入信息,若接收一访问请求时,其带有准入信息且当前时间在所述准入信息的n分钟有效期内,则直接执行所述访问请求,并将所述有效期重置为n分钟;
在一种可选的实施方式中,所述访问请求中包括URL,根据所述URL能够获得用户需访问的业务组件标识(module_name);
请参照图4,当接收到用户访问请求时,首先判断其中第一唯一标识中是否带有Cookie信息,若是,则刷新所述Cookie信息的有效期,并执行所述访问请求;
否则,判断所述URL是否在预设的需要判断是否进行限流的URL清单中,若否,则直接执行所述访问请求;
若是,则获取所述URL在URL清单中对应的业务组件标识(module_name),并根据主机标识(host标识),确定用户需访问的具体项目的项目标识(app_id),并获取module_name+app_id的限流状态,即获取用户访问请求对应的具体项目下的业务组件的限流状态;
若能够获取到module_name+app_id的限流状态,且限流状态为限流,则跳转到限流页面,若限流状态为不限流,则下发带有有效期的Cookie并执行所述访问请求,所述Cookie在到期后自动删除;
若不能获取到module_name+app_id的限流状态,则获取module_name的限流状态,即用户访问请求对应的业务组件的限流状态;
若能够获取到module_name的限流状态,且限流状态为限流,则跳转到限流页面,若限流状态为不限流,则下发带有有效期的Cookie并执行所述访问请求;
若不能获取到module_name的限流状态,则直接下发带有有效期的Cookie并执行所述访问请求。
请参照图2,本发明的实施例四为:
一种页面限流终端1,所述终端1包括处理器2、存储器3及存储在存储器3上并可在所述处理器2上运行的计算机程序,所述处理器2执行所述计算机程序时实现实施例一、实施例二或实施例三中的各个步骤。
综上所述,本发明提供了一种页面限流方法及终端,接收访问请求,其中包括第一唯一标识及请求接口,第一唯一标识用于标识发出所述访问请求的用户,根据所述请求接口及每一功能的注册信息,能够确定所述请求接口对应的功能,从而对相应功能进行限流,若限流判断结果为放行,则在相应第一唯一标识中加入带有有效期的准入标识,则所述第一唯一标识对应的用户在所述准入标识有效期内访问相应功能都不需再进行限流判断,在实现限流的同时保证了对正在使用系统的用户的正常服务,提高了用户的使用体验,并且用户在准入标识有效期内访问相应功能后,所述有效期还会重置,进一步保证了用户对所述功能的正常使用,只要用户一直使用相应功能就不会对相应用户进行限流判断;并且,限流的判断结果若为不进行限流,则会根据当前获取的相应功能的活跃用户数与阈值的差值及预测的活跃用户数的增长率,得出所述不进行限流的判断结果的有效期,在所述有效期内直接使用所述不进行限流的判断结果;若限流的判断结果为进行限流,则直接规定一时间段,在所述时间段内直接使用所述进行限流的判断结果,从而避免了频繁向服务器请求获取活跃用户数,避免挤占服务器资源。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种页面限流方法,其特征在于,包括步骤:
S1、接收访问请求,所述访问请求包括第一唯一标识及请求接口;
S2、根据所述访问请求中的请求接口,确定所述访问请求对应的功能;
S3、读取第一预设时间范围内所述访问请求对应的功能的活跃用户数,并判断所述活跃用户数是否超过阈值,若是,则跳转到限流提示页面,否则,在所述访问请求的第一唯一标识中加入带有有效期的准入信息,用户在有效期内请求使用功能时,不会再进行限流判断,只对新提交访问请求的用户进行限流。
2.根据权利要求1所述的一种页面限流方法,其特征在于,所述S1之前还包括:
接收针对各个功能的注册信息,所述注册信息包括所述每个功能对应的第二唯一标识及接口清单,每个功能对应的第二唯一标识和接口清单一一对应;
所述S2具体为:
根据所述注册信息中的接口清单及访问请求中的请求接口,确定所述访问请求对应的第二唯一标识;
根据所述访问请求对应的第二唯一标识及注册信息中各个功能对应的第二唯一标识,确定所述访问请求对应的功能。
3.根据权利要求1所述的一种页面限流方法,其特征在于,所述S3中判断所述活跃用户数未超过阈值之后还包括:
保存活跃用户未超过阈值的判断结果;
获取所述活跃用户数与所述阈值的差值;
读取第二预设时间范围内的历史活跃用户数,分析所述历史活跃用户数,生成活跃用户增长率预测值;
根据所述活跃用户增长率预测值及所述差值,确定第三预设时间范围;
在所述第三预设时间范围内直接使用所述保存的活跃用户未超过阈值的判断结果。
4.根据权利要求1所述的一种页面限流方法,其特征在于,所述S3中在所述访问请求的第一唯一标识中加入带有有效期的准入信息之后还包括:
S31、判断接收的访问请求的第一唯一标识中是否带有准入信息,若是,则执行S32,否则,执行S2;
S32、判断当前时间是否在所述第一唯一标识中准入信息的有效期内,若是,则执行S33,否则,执行S2;
S33、重置所述有效期。
5.根据权利要求2所述的一种页面限流方法,其特征在于,所述S1还包括:保存所述访问请求,生成接口访问日志;
所述S3中读取第一预设时间范围内所述访问请求对应的功能的活跃用户数之前包括:
读取所述第一预设时间范围内接口访问日志中的接口数据及对应的第一唯一标识;
根据所述接口数据及所述注册信息,确定接口访问日志中每一访问请求所对应的功能;
统计每一功能对应的第一预设时间范围内所有访问请求中第一唯一标识的数量,作为每一功能对应的活跃用户数。
6.一种页面限流终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
S1、接收访问请求,所述访问请求包括第一唯一标识及请求接口;
S2、根据所述访问请求中的请求接口,确定所述访问请求对应的功能;
S3、读取第一预设时间范围内所述访问请求对应的功能的活跃用户数,并判断所述活跃用户数是否超过阈值,若是,则跳转到限流提示页面,否则,在所述访问请求的第一唯一标识中加入带有有效期的准入信息,用户在有效期内请求使用功能时,不会再进行限流判断,只对新提交访问请求的用户进行限流。
7.根据权利要求6所述的一种页面限流终端,其特征在于,所述S1之前还包括:
接收针对各个功能的注册信息,所述注册信息包括所述每个功能对应的第二唯一标识及接口清单,每个功能对应的第二唯一标识和接口清单一一对应;
所述S2具体为:
根据所述注册信息中的接口清单及访问请求中的请求接口,确定所述访问请求对应的第二唯一标识;
根据所述访问请求对应的第二唯一标识及注册信息中各个功能对应的第二唯一标识,确定所述访问请求对应的功能。
8.根据权利要求6所述的一种页面限流终端,其特征在于,所述S3中判断所述活跃用户数未超过阈值之后还包括:
保存活跃用户未超过阈值的判断结果;
获取所述活跃用户数与所述阈值的差值;
读取第二预设时间范围内的历史活跃用户数,分析所述历史活跃用户数,生成活跃用户增长率预测值;
根据所述活跃用户增长率预测值及所述差值,确定第三预设时间范围;
在所述第三预设时间范围内直接使用所述保存的活跃用户未超过阈值的判断结果。
9.根据权利要求6所述的一种页面限流终端,其特征在于,所述S3中在所述访问请求的第一唯一标识中加入带有有效期的准入信息之后还包括:
S31、判断接收的访问请求的第一唯一标识中是否带有准入信息,若是,则执行S32,否则,执行S2;
S32、判断当前时间是否在所述第一唯一标识中准入信息的有效期内,若是,则执行S33,否则,执行S2;
S33、重置所述有效期。
10.根据权利要求7所述的一种页面限流终端,其特征在于,所述S1还包括:保存所述访问请求,生成接口访问日志;
所述S3中读取第一预设时间范围内所述访问请求对应的功能的活跃用户数之前包括:
读取所述第一预设时间范围内接口访问日志中的接口数据及对应的第一唯一标识;
根据所述接口数据及所述注册信息,确定接口访问日志中每一访问请求所对应的功能;
统计每一功能对应的第一预设时间范围内所有访问请求中第一唯一标识的数量,作为每一功能对应的活跃用户数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010467877.7A CN111817970B (zh) | 2020-05-28 | 2020-05-28 | 一种页面限流方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010467877.7A CN111817970B (zh) | 2020-05-28 | 2020-05-28 | 一种页面限流方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111817970A CN111817970A (zh) | 2020-10-23 |
CN111817970B true CN111817970B (zh) | 2022-10-21 |
Family
ID=72847758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010467877.7A Active CN111817970B (zh) | 2020-05-28 | 2020-05-28 | 一种页面限流方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111817970B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132460B (zh) * | 2021-03-10 | 2023-04-07 | 浙江学海教育科技有限公司 | 线上试卷提交方法、装置、设备及介质 |
CN113505327A (zh) * | 2021-07-20 | 2021-10-15 | 谭颖亮 | 一种网站操作权限管理方法、装置和计算机介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004057872A1 (en) * | 2002-12-17 | 2004-07-08 | Sony Pictures Entertainment Inc. | Method and apparatus for access control in an overlapping multiserver network environment |
JP2009159405A (ja) * | 2007-12-27 | 2009-07-16 | Nec Corp | 携帯端末のアクセス制御方法及びシステム、並びに該制御方法を実施するコンピュータプログラム |
CN108683604A (zh) * | 2018-04-03 | 2018-10-19 | 平安科技(深圳)有限公司 | 并发访问控制方法、终端设备及介质 |
CN110888658A (zh) * | 2019-12-02 | 2020-03-17 | 广州市百果园信息技术有限公司 | 应用程序中功能模块的动态化方法、装置及存储介质 |
CN111030936A (zh) * | 2019-11-18 | 2020-04-17 | 腾讯云计算(北京)有限责任公司 | 网络访问的限流控制方法、装置及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040268120A1 (en) * | 2003-06-26 | 2004-12-30 | Nokia, Inc. | System and method for public key infrastructure based software licensing |
-
2020
- 2020-05-28 CN CN202010467877.7A patent/CN111817970B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004057872A1 (en) * | 2002-12-17 | 2004-07-08 | Sony Pictures Entertainment Inc. | Method and apparatus for access control in an overlapping multiserver network environment |
JP2009159405A (ja) * | 2007-12-27 | 2009-07-16 | Nec Corp | 携帯端末のアクセス制御方法及びシステム、並びに該制御方法を実施するコンピュータプログラム |
CN108683604A (zh) * | 2018-04-03 | 2018-10-19 | 平安科技(深圳)有限公司 | 并发访问控制方法、终端设备及介质 |
CN111030936A (zh) * | 2019-11-18 | 2020-04-17 | 腾讯云计算(北京)有限责任公司 | 网络访问的限流控制方法、装置及计算机可读存储介质 |
CN110888658A (zh) * | 2019-12-02 | 2020-03-17 | 广州市百果园信息技术有限公司 | 应用程序中功能模块的动态化方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111817970A (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10990766B2 (en) | Methods and devices for processing template data, requesting template data, and presenting template data | |
CN111817970B (zh) | 一种页面限流方法及终端 | |
CN110213199B (zh) | 一种撞库攻击监控方法、装置、系统及计算机存储介质 | |
US9229844B2 (en) | System and method for monitoring web service | |
CN110287660A (zh) | 访问权限控制方法、装置、设备及存储介质 | |
CN108259425A (zh) | 攻击请求的确定方法、装置及服务器 | |
CN109361685B (zh) | 一种防止恶意请求的方法 | |
CN111523097B (zh) | 基于安卓系统的app刷子用户识别方法、设备及存储介质 | |
CN110324407B (zh) | 后台服务器的访问控制方法、装置及存储介质 | |
EP3468128B1 (en) | Method and device for preventing server from being attacked | |
CN110661863A (zh) | 一种请求处理方法、装置及电子设备和存储介质 | |
CN112100536A (zh) | 一种网页访问方法、装置、设备及可读存储介质 | |
CN113949579B (zh) | 网站攻击防御方法、装置、计算机设备及存储介质 | |
CN105074670B (zh) | 日志输出控制设备、方法和计算机可读记录介质 | |
CN112131535B (zh) | 一种针对多部署环境的小程序授权一体化方法 | |
CN108241616B (zh) | 消息推送方法和装置 | |
CN112671945A (zh) | 管理ip代理池的方法、装置、计算机设备及存储介质 | |
CN110233843B (zh) | 一种用户请求的处理方法及装置 | |
CN112653736A (zh) | 一种并行回源方法、装置及电子设备 | |
CN111835823A (zh) | 一种访问限流方法及终端 | |
CN111052072B (zh) | 一种免安装应用程序下载方法及装置 | |
CN116204431A (zh) | 一种标记扩散服务隔离测试方法、装置、设备及介质 | |
CN115455414A (zh) | 一种安全检测方法和装置 | |
CN114884671B (zh) | 服务器的入侵防御方法、装置、设备及介质 | |
CN114095936A (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 |