CN113489726A - 流量限制方法及设备 - Google Patents
流量限制方法及设备 Download PDFInfo
- Publication number
- CN113489726A CN113489726A CN202110762119.2A CN202110762119A CN113489726A CN 113489726 A CN113489726 A CN 113489726A CN 202110762119 A CN202110762119 A CN 202110762119A CN 113489726 A CN113489726 A CN 113489726A
- Authority
- CN
- China
- Prior art keywords
- access
- user side
- service
- restriction
- address
- 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.)
- Granted
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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
-
- 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
- H04L63/108—Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供一种流量限制方法及设备,所述方法包括:在接收到用户端发送的访问请求时,获取所述访问请求中的访问地址,并获取动态限制列表,其中所述动态限制列表是根据运行日志生成的;若确定所述访问地址在所述动态限制列表中,则发送访问失败信息至所述用户端;若确定所述访问地址未在所述动态限制列表中,则基于预设服务限制规则确定是否对所述用户端进行访问限制;若对所述用户端进行访问限制,则发送访问失败信息至所述用户端,实现流量逐层限制,从而实现流量的精准限制,进而可以保证系统的正常运行。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种流量限制方法及设备。
背景技术
随着技术的发展,业务系统(例如,电子商务系统)的数量越来越多,相应的,使用业务系统的用户的数量也越来越多。
在业务系统运行的过程中,经常需要进行流量限制,即当接收到的访问请求的数量较大时,需要对访问请求进行拦截,以保证业务系统的正常运行,避免由于访问量过大,导致业务系统崩溃。因此,亟需一种流量限制方法以实现访问流量的限制。
发明内容
本发明实施例提供一种流量限制方法及设备,以实现流量的限制。
第一方面,本发明实施例提供一种流量限制方法,所述方法包括:
在接收到用户端发送的访问请求时,获取所述访问请求中的访问地址,并获取动态限制列表,其中所述动态限制列表是根据运行日志生成的;
若确定所述访问地址在所述动态限制列表中,则发送访问失败信息至所述用户端;
若确定所述访问地址未在所述动态限制列表中,则基于预设服务限制规则确定是否对所述用户端进行访问限制;
若对所述用户端进行访问限制,则发送访问失败信息至所述用户端。
在一种可能的设计中,所述基于预设服务限制规则确定是否对所述用户端进行访问限制,包括:
获取所述访问地址在预设时间内的访问次数;
若所述访问地址在预设时间内的访问次数大于预设次数,则确定对所述用户端进行访问限制;
若所述访问地址在预设时间内的访问次数小于或等于预设次数,则确定不对所述用户端进行访问限制。
在一种可能的设计中,所述若对所述用户端进行访问限制,则发送访问失败信息至所述用户端,包括:
若对所述用户端进行访问限制,则对所述用户端进行安全校验,并生成用户校验结果;
若所述用户校验结果为校验失败,则发送访问失败信息至所述用户端。
在一种可能的设计中,所述基于预设服务限制规则确定是否对所述用户端进行访问限制,包括:
获取当前访问量,并获取当前服务节点数目及其对应的最大访问量;
若所述当前访问量大于或等于最大访问量,且所述服务节点数目为预设上限节点数目,则确定对所述用户端进行访问限制。
在一种可能的设计中,所述方法还包括:
获取待处理的运行日志,并对所述待处理的运行日志进行日志分析,以确定异常访问请求;
获取所述异常访问请求中的异常访问地址,并将其添加至所述动态限制列表。
在一种可能的设计中,所述方法还包括:
获取所述访问请求对应的目标访问业务,并获取所述目标访问业务对应的业务访问量;
若所述业务访问量大于预设访问量,则对所述访问请求进行延迟处理。
第二方面,本发明实施例提供一种流量限制设备,所述设备包括:
收发模块,用于在接收到用户端发送的访问请求时,获取所述访问请求中的访问地址,并获取动态限制列表,其中所述动态限制列表是根据运行日志生成的;
处理模块,用于若确定所述访问地址在所述动态限制列表中,则发送访问失败信息至所述用户端;
所述处理模块,还用于若确定所述访问地址未在所述动态限制列表中,则基于预设服务限制规则确定是否对所述用户端进行访问限制;
所述收发模块,还用于若对所述用户端进行访问限制,则发送访问失败信息至所述用户端。
在一种可能的设计中,所述处理模块还用于:
获取所述访问地址在预设时间内的访问次数;
若所述访问地址在预设时间内的访问次数大于预设次数,则确定对所述用户端进行访问限制;
若所述访问地址在预设时间内的访问次数小于或等于预设次数,则确定不对所述用户端进行访问限制。
在一种可能的设计中,所述处理模块还用于:
若对所述用户端进行访问限制,则对所述用户端进行安全校验,并生成用户校验结果;
若所述用户校验结果为校验失败,则发送访问失败信息至所述用户端。
在一种可能的设计中,所述处理模块还用于:
获取当前访问量,并获取当前服务节点数目及其对应的最大访问量;
若所述当前访问量大于或等于最大访问量,且所述服务节点数目为预设上限节点数目,则确定对所述用户端进行访问限制。
在一种可能的设计中,所述处理模块还用于:
获取待处理的运行日志,并对所述待处理的运行日志进行日志分析,以确定异常访问请求;
获取所述异常访问请求中的异常访问地址,并将其添加至所述动态限制列表。
在一种可能的设计中,所述处理模块还用于:
获取所述访问请求对应的目标访问业务,并获取所述目标访问业务对应的业务访问量;
若所述业务访问量大于预设访问量,则对所述访问请求进行延迟处理。
第三方面,本发明实施例提供一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的流量限制方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的流量限制方法。
第五方面,本发明实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上第一方面以及第一方面各种可能的设计所述的流量限制方法。
本发明提供一种流量限制方法及设备,通过在接收到用户端发送的访问请求时,表明确定是否需要拦截该访问请求,则获取根据运行日志生成的动态限制列表,以判断该访问请求中的访问地址是否在该动态限制列表中,即判断该访问地址是否为异常网络地址,在确定该访问地址在该动态限制列表中时,表明该访问地址为异常网络地址,即该用户端可能会存在攻击行为,该访问请求为异常的访问请求,则拦截该访问请求,即发送访问失败信息至所述用户端,以实现对异常访问流量的限制,即在实现流量限制的基础上,保证系统的正常运行。在确定该访问地址未在该动态限制列表中时,进一步判断是否需要拦截该访问请求,则基于预设服务限制规则确定是否对该用户端进行访问限制,在确定对该用户端进行访问限制时,表明需要拦截该访问请求,则发送访问失败信息至所述用户端,以实现流量的进一步限制,即实现流量逐层限制,从而实现流量的精准限制,进而可以保证系统的正常运行。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的流量限制方法的场景示意图;
图2为本发明实施例提供的流量限制方法的流程示意图一;
图3为本发明实施例提供的流量限制方法的流程示意图二;
图4为本发明实施例提供的流量限制过程的示意图;
图5为本发明实施例提供的流量限制设备的结构示意图;
图6为本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
电子商务在线业务由于直接面对互联网的用户,因此,需要将系统直接接入互联网中,从而需要考虑如何解决互联网中的常见问题,即当访问量,即调用量剧增时,如何处理这些访问量,即如何进行流量限制的问题。
现有技术中,在进行流量限制时,一般采用预制限流方式进行限制或者是采用静态限制列表限制方式进行限制。在采用阈值限流方式进行流量限制时,当业务系统对应的当前访问量大于预设阈值时,直接拦截接收到的访问请求,以实现访问流量的限制。在采用静态限制列表限制方式进行限制时,判断发送访问请求的用户端的网络地址是否在该静态限制列表中,若在,则进行限制,即拦截该访问请求。
但在采用阈值限流方式进行流量限制时,当业务系统对应的当前访问量大于预设阈值时,所有用户,包括正常用户,即不存在攻击行为的用户端无法访问业务系统,即无法访问相应的业务,导致业务访问失败,无法实现流量的精准限制。而在采用静态限制列表限制方式进行流量限制时,由于预设限制列表中的限制网络地址是固定的,识别发送访问请求的用户端的网络地址是否为限制网络地址的成功率较低,即识别该用户端是否为存在攻击行为的用户端的成功率较低,也无法实现流量的精准限制,从而造成流量限制的精准度较低。
因此,针对上述问题,本发明的技术构思是通过分层逐步限流,先在负载均衡层校验用户端是否为存在攻击行为的用户端,即利用静态限制列表和动态限制列表结合限流,即限制存在攻击行为的用户端的进行访问,实现流量的高效准确限制,实现流量的精准限制。在通过负载均衡层校验后,继续在服务层进行校验,以进一步确定是否需要拦截访问请求,实现流量的多维度,多策略的全方位限制,提高流量限制的精准度,进而保证业务系统的正常运行。
下面以具体地示例对本公开的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的示例可以相互结合,对于相同或相似的概念或过程可能在某些示例中不再赘述。下面将结合附图,对本公开的示例进行描述。
图1为本发明实施例提供的流量限制方法的场景示意图,如图1所示,当用户使用用户端101访问业务时,用户端101发送相应的访问请求至电子设备102,电子设备102判断是否拦截该访问请求,在确定拦截该访问请求时,发送访问失败信息至该用户端,以告知该用户其不能访问该业务。
其中,用户端101包括移动终端(例如,手机、平板电脑),计算机等。具体的,用户端可以为业务系统对应的客户端。
其中,电子设备102包括服务器、计算机等设备,具体的,电子设备可以为业务系统对应的服务端。
图2为本发明实施例提供的流量限制方法的流程示意图一,本实施例的执行主体可以为图1所示的电子设备。如图2所示,该方法包括:
S201、在接收到用户端发送的访问请求时,获取访问请求中的访问地址,并获取动态限制列表,其中动态限制列表是根据运行日志生成的。
在本实施例中,当用户端需要使用,即访问业务系统的某个业务(例如,充值业务)时,生成相应的访问请求,并将其发送至业务系统,即电子设备。
其中,访问请求包括访问地址,该访问地址表示用户端的网络地址,即互联网协议(Internet Protocol,IP)地址。
可选的,访问请求还包括目标访问业务的标识(例如,名称、编号等),该目标访问业务为用户端对应的用户所要访问,即使用的业务。
在本实施例中,电子设备在接收到用户端发送的访问请求后,表明需要确定是否进行限流,即是否拦截该访问请求,则获取根据运行日志生成的动态限制列表,以供利用该动态限制列表确定是否拦截该访问请求,即在负载均衡层判断是否拦截该访问请求。
其中,动态限制列表包括多个限制网络地址,即第一限制网络地址。该第一限制网络地址表示异常的网络地址,即需要拦截的网络地址。
S202、若确定访问地址在动态限制列表中,则发送访问失败信息至用户端。
在本实施例中,判断访问请求中的访问地址是否在动态限制列表中,即判断动态限制列表中是否存在与该访问地址相同的第一限制网络地址。在确定该访问地址在动态限制列表中时,表明动态限制列表中存在与该访问地址相同的第一限制网络地址,即该访问地址为第一限制网络地址,则拦截该访问请求,即该用户端无法成功使用该访问请求对应的目标访问业务,并发送访问失败信息至用户端,以使用户端对应的用户获知访问失败。
S203、若确定访问地址未在动态限制列表中,则基于预设服务限制规则确定是否对用户端进行访问限制。
在本实施例中,在确定访问地址未在动态限制列表中时,表明动态限制列表中不存在与该访问地址相同的第一限制网络地址,即该访问地址为第一限制网络地址,需进一步判断是否拦截该访问请求,即需在服务层上判断是否进行拦截,则基于预设服务限制规则确定是否对用户端进行访问限制。
S204、若对用户端进行访问限制,则发送访问失败信息至用户端。
在本实施例中,在确定对该用户端进行访问限制时,则拦截该访问请求,即该用户端无法成功使用该访问请求对应的目标访问业务,并发送访问失败信息至用户端,以使用户端对应的用户获知访问失败。
可选的,在确定不对用户端进行访问限制时,表明该用户端可以正常访问目标访问业务,则进入业务,即正常处理该访问请求,例如,为用户办理相应的业务。
在本实施例中,在接收到用户端发送的访问请求时,首先在负载均衡层利用动态限制列表判断是否拦截访问请求,当无需进行拦截时,继续在服务层判断是否拦截访问请求,实现流量的逐层限制,从而实现多维度,多策略,全方位方式控制流量,即实现精准限流。
从上述描述可知,在接收到用户端发送的访问请求时,表明确定是否需要拦截该访问请求,则获取根据运行日志生成的动态限制列表,以判断该访问请求中的访问地址是否在该动态限制列表中,即判断该访问地址是否为异常网络地址,在确定该访问地址在该动态限制列表中时,表明该访问地址为异常网络地址,即该用户端可能会存在攻击行为,该访问请求为异常的访问请求,则拦截该访问请求,即发送访问失败信息至所述用户端,以实现对异常访问流量的限制,即在实现流量限制的基础上,保证系统的正常运行。在确定该访问地址未在该动态限制列表中时,进一步判断是否需要拦截该访问请求,则基于预设服务限制规则确定是否对该用户端进行访问限制,在确定对该用户端进行访问限制时,表明需要拦截该访问请求,则发送访问失败信息至所述用户端,以实现流量的进一步限制,即实现流量逐层限制,从而实现流量的精准限制,进而可以保证系统的正常运行。
图3为本发明实施例提供的流量限制方法的流程示意图二,本实施例图2实施例的基础上,在业务系统运行的过程中,可以不断利用生成的系统日志,即运行日志对动态限制列表进行更新,以不断更新动态限制列表中的限制网络地址,下面将结合一个具体实施例对此过程进行描述。如图3所示,该方法包括:
S301、获取待处理的运行日志,并对待处理的运行日志进行日志分析,以确定异常访问请求。
在本实施例中,获取业务系统在运行过程产生的日志,即运行日志,并将其确定为待处理的运行日志。
其中,待处理的运行日志包括业务日志,即用户在访问业务的过程中所产生的日志。
其中,待处理的运行日志也可以在指定时间段内的运行日志。
在本实施例中,在得到待处理的运行日志后,对该待处理的运行日志进行日志分析,以识别出异常访问请求,即异常访问日志,即异常调用。
可选的,待处理的运行日志包括访问用户端的网络地址、访问用户端对应的账号(例如,号码)、密码(例如,登录密码)、时间(例如,访问时间和/或日志生成时间)等信息。
可选的,异常调用包括通过号段,固定密码等暴力破解登录接口。相应的,在对待处理的运行日志进行日志分析时,确定运行日志集合,其中运行日志集合所包括的待处理的运行日志的访问用户端的网络地址相同、登录密码相同、且访问用户端对应的账号不同。获取运行日志集合所包括的待处理的运行日志的数目,当该数目大于预设数目时,表明访问用户通过固定密码进行破解登录,该该运行日志集合中待处理的运行日志为异常访问日志,即待处理的运行日志对应的访问请求为异常访问请求。
另外,可选的,当确定多个待处理的运行日志中的访问用户端的网络地址相同,且访问用户端的号码属于同一个号段,表明是按照号段调用的,该访问用户端是按照号段访问的,其可以能存在攻击行为,则确定该待处理的运行日志为异常访问日志,即待处理的运行日志对应的访问请求为异常访问请求。
S302、获取异常访问请求中的异常访问地址,并将其添加至动态限制列表。
在本实施例中,在确定异常访问请求,即异常访问日志时,将该异常访问日志中的访问用户端的网络地址作为异常访问地址,即将其作为第一限制网络地址,并将其作为动态限制列表中,以对动态限制列表进行更新。
S303、在接收到用户端发送的访问请求时,获取访问请求中的访问地址,并获取动态限制列表。
在本实施例中,在接收用户端发送的访问请求时,还可以先通过静态限制列表进行判断拦截,即判断访问地址是否在静态限制列表中,即判断静态限制列表中是否存在与该访问地址相同的第二限制网络地址,若存在,表明访问地址在静态限制列表中,即该访问地址为第二限制网络地址,则拦截该访问请求,即该用户端无法成功使用该访问请求对应的目标访问业务,并发送访问失败信息至用户端,以使用户端对应的用户获知访问失败。
在确定静态限制列表中不存在与该访问地址相同的第二限制网络地址时,表明访问地址未在静态限制列表中,即该访问地址吧为第二限制网络地址,则利用动态限制列表进行判断。
其中,静态限制列表包括多个限制网络地址,即第二限制网络地址。该第二限制网络地址表示异常的网络地址,即需要拦截的网络地址。
其中,静态限制列表通过后台配置数据功能存储在数据库,然后同步到zookeeper中,提供给Openresty限流使用。
在本实施例中,通过静态限制列表判断访问请求是否需要进行拦截限制,实现简单直接的限流。
在本实施例中,负载均衡层是最外层,通过Openresty及本地内存,Lua脚本,Redis缓存,zookeeper实现第一层限流功能,利用静态限制列表、动态限制列表可以直接拦截异常的访问情急,防止异常流量进入服务层,即进入服务,实现流量的高效精准拦截。
S304、若确定访问地址在动态限制列表中,则发送访问失败信息至用户端。
S305、若确定访问地址未在动态限制列表中,则基于预设服务限制规则确定是否对用户端进行访问限制。
在本实施例中,当在负载均衡层中判断访问请求不是异常访问请求,即访问地址不是第一限制网络地址,也不是第二限制网络地址时,继续在服务层判断是否需要进行限制(如图4所示)。
可选的,基于预设服务限制规则确定是否对用户端进行访问限制,包括:
获取访问地址在预设时间内的访问次数。
若访问地址在预设时间内的访问次数大于预设次数,则确定对用户端进行访问限制。
若访问地址在预设时间内的访问次数小于或等于预设次数,则确定不对用户端进行访问限制。
具体的,获取访问地址在预设时间内的访问次数,其表示用户端在预设时间内的访问次数,当该访问次数大于预设次数时,表明该用户端在预设时间内访问次数过多,可能为异常访问,则确定对该用户端进行访问限制。
其中,当用户访问业务系统时,进行记录,即更新该用户对应的访问次数。
进一步的,可选的,在确定对该用户端进行访问限制时,可以进一步判断访问请求是否为异常访问,即若对用户端进行访问限制,则对用户端进行安全校验,并生成用户校验结果。若用户校验结果为校验失败,则发送访问失败信息至用户端。
其中,安全校验包括验证码校验。当用户输入正确的验证码时,确定用户校验结果为校验成功,否则,确定用户校验结果为校验失败。
另外,可选的,还可以在用户校验结果为校验失败时,将访问地址作为第一限制网络地址,并将其添加至动态限制列表中。
另外,可选的,当访问请求中的密码在单位时间内使用量剧增,即该密码对应的使用次数大于预设值,则确定对用户端进行访问限制。当然,也可以进行安全校验,以确定是否需要对访问请求进行拦截,其过程与上述安全校验过程类似,在此,不对其进行赘述。
可选的,基于预设服务限制规则确定是否对用户端进行访问限制,包括:
获取当前访问量,并获取当前服务节点数目及其对应的最大访问量。
若当前访问量大于或等于最大访问量,且服务节点数目为预设上限节点数目,则确定对用户端进行访问限制。
在本实施例中,根据整体资源状态,分析系统能承受的调用量,即访问量,然后对限制访问量进行调整,即获取当前访问量,并获取与该当前访问量对应的服务节点数目,以将服务节点的数目增加至该服务节点数目,例如,当前访问量为5千万,即当前访问业务系统的用户端的数目为5千万,则获取与5千万对应的服务节点数目,即7个,则将服务节点的数目调整为7个,即存在7个服务节点可以提供服务,并将限制访问量调整为7个服务节点对应的最大访问量。
其中,服务节点为服务集群,即服务器集群中的一个服务器。
在本实施例中,当接收到用户端发送的访问请求时,获取当前服务节点数目,即当前提供服务的服务器的数目,并获取当前访问量,即当前访问业务系统的数量,当该当前服务节点数目为预设上限节点数目,表明服务节点的数目已经为上限,无法增加服务节点以对限制访问量进行调整,当该当前访问量大于该当前服务节点数目对应的最大访问量,即大于限制访问量时,表明业务系统的访问量过大,为了保证业务系统,即业务的正常运行,需要进行拦截,则确定对用户端进行访问限制,即对渠道调用进行自动拦截,实现超限自动拦截,防止系统雪崩,保证业务的正常运行。
另外,可选的,在服务层,对于接口调用,还可以增加安全性基础校验,例如,数字签名安全校验,通过公钥签名,私钥解密的方式,保证不被篡改,以拦截非法调用请求。例如,在进行业务请求时,请求方根据开放平台的签名规则,对请求参数,即访问请求中的指定参数进行数字签名,即利用公钥对请求参数加密,得到加密数据。开放平台在接收到请求方发送的访问请求后,根据签名规则进行验签,即利用私钥对加密数据进行解密。若验签不通过,表明解密失败,直接拒绝该访问请求。
其中,指定参数可以根据实际需求进行设定,在此,不对其进行限制。
另外,可选的,还可以在本地缓存记录服务间调用成功率,即记录业务对应的访问成功率,以供利用该成功率进行服务降低和熔断。例如,获取与访问请求对应的目标访问业务对应的访问成功率,当该访问成功率小于预设成功率时,熔断该目标访问业务,即服务,即用户端无法访问该目标访问业务,发送访问失败信息至所述用户端。
另外,可选的,在服务层还可以进行静态配置限制,即对于特定的业务,设置一定的规则,进行访问量的限制。例如赠费接口,即增肥业务设置每天最多300万元的赠费额度,流量兑换每天每个号码最多5次兑换。
在任意实施例中,可选的,还可以获取访问请求对应的目标访问业务,并获取目标访问业务对应的业务访问量。若业务访问量大于预设访问量,则对访问请求进行延迟处理。
具体的,获取目标访问业务对应的业务访问量,即访问量,其表示访问该目标访问业务的用户的数量。当该业务访问量大于预设访问量时,可以对该目标访问业务对应的访问请求进行缓存积压,并将流量平滑至全天,即对访问请求进行延迟处理。
其中,目标访问业务可以为非实时业务。
其中,在对访问请求进行延迟处理时,可以在当前时间之后的时间段内处理该访问请求。
具体的,通过Redis缓存,记录业务整体的调用请求,即访问量,全局的控制业务调用量情况,可以将波动的调用量平滑到全天,进行流量资源的合理管控。例如流量兑换业务,具有突出的波动性,在确定调用量剧增时,即业务访问量过大时,限制单位时间的接口调用量,以防止接口超载,又因兑换业务非实时到账业务,可以通过异步的队列的方式,将调用量缓存积压,再将流量平滑到全天,实现即保护接口,又不影响业务成功率。
S304、若对用户端进行访问限制,则发送访问失败信息至用户端。
可以理解,本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
在本实施例中,在通过负载均衡层的校验后,在服务层继续判断是否需要拦截接收到的访问请求,即在服务层继续对流量进行管控,针对性地进行流控分析与流量控制,实现流量的逐层管控,从而实现流量精准且灵活地限制,进而可以保证业务的正常运行。
图5为本发明实施例提供的流量限制设备的结构示意图,如图5所示,该流量限制设备500包括:收发模块501和处理模块502。
其中,收发模块501,用于在接收到用户端发送的访问请求时,获取访问请求中的访问地址,并获取动态限制列表,其中动态限制列表是根据运行日志生成的。
处理模块502,用于若确定访问地址在动态限制列表中,则发送访问失败信息至用户端。
处理模块502,还用于若确定访问地址未在动态限制列表中,则基于预设服务限制规则确定是否对用户端进行访问限制。
收发模块501,还用于若对用户端进行访问限制,则发送访问失败信息至用户端。
在一种可能的设计中,处理模块502还用于:
获取访问地址在预设时间内的访问次数。
若访问地址在预设时间内的访问次数大于预设次数,则确定对用户端进行访问限制。
若访问地址在预设时间内的访问次数小于或等于预设次数,则确定不对用户端进行访问限制。
在一种可能的设计中,处理模块502还用于:
若对用户端进行访问限制,则对用户端进行安全校验,并生成用户校验结果。
若用户校验结果为校验失败,则发送访问失败信息至用户端。
在一种可能的设计中,处理模块502还用于:
获取当前访问量,并获取当前服务节点数目及其对应的最大访问量。
若当前访问量大于或等于最大访问量,且服务节点数目为预设上限节点数目,则确定对用户端进行访问限制。
在一种可能的设计中,处理模块502还用于:
获取待处理的运行日志,并对待处理的运行日志进行日志分析,以确定异常访问请求。
获取异常访问请求中的异常访问地址,并将其添加至动态限制列表。
在一种可能的设计中,处理模块502还用于:
获取访问请求对应的目标访问业务,并获取目标访问业务对应的业务访问量。
若业务访问量大于预设访问量,则对访问请求进行延迟处理。
本发明实施例提供的流量限制设备,可以实现上述实施例的流量限制方法,其实现原理和技术效果类似,此处不再赘述。
图6为本发明实施例提供的电子设备的硬件结构示意图。如图6所示,本实施例的电子设备600包括:处理器601以及存储器602;
其中,存储器602,用于存储计算机执行指令;
处理器601,用于执行存储器存储的计算机执行指令,以实现上述实施例中接收设备所执行的各个步骤。具体可以参见前述方法实施例中的相关描述。
可选地,存储器602既可以是独立的,也可以跟处理器601集成在一起。
当存储器602独立设置时,该电子设备还包括总线603,用于连接所述存储器602和处理器601。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的流量限制方法。
本发明实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上所述的流量限制方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种流量限制方法,其特征在于,包括:
在接收到用户端发送的访问请求时,获取所述访问请求中的访问地址,并获取动态限制列表,其中所述动态限制列表是根据运行日志生成的;
若确定所述访问地址在所述动态限制列表中,则发送访问失败信息至所述用户端;
若确定所述访问地址未在所述动态限制列表中,则基于预设服务限制规则确定是否对所述用户端进行访问限制;
若对所述用户端进行访问限制,则发送访问失败信息至所述用户端。
2.根据权利要求1所述的方法,其特征在于,所述基于预设服务限制规则确定是否对所述用户端进行访问限制,包括:
获取所述访问地址在预设时间内的访问次数;
若所述访问地址在预设时间内的访问次数大于预设次数,则确定对所述用户端进行访问限制;
若所述访问地址在预设时间内的访问次数小于或等于预设次数,则确定不对所述用户端进行访问限制。
3.根据权利要求2所述的方法,其特征在于,所述若对所述用户端进行访问限制,则发送访问失败信息至所述用户端,包括:
若对所述用户端进行访问限制,则对所述用户端进行安全校验,并生成用户校验结果;
若所述用户校验结果为校验失败,则发送访问失败信息至所述用户端。
4.根据权利要求1所述的方法,其特征在于,所述基于预设服务限制规则确定是否对所述用户端进行访问限制,包括:
获取当前访问量,并获取当前服务节点数目及其对应的最大访问量;
若所述当前访问量大于或等于最大访问量,且所述服务节点数目为预设上限节点数目,则确定对所述用户端进行访问限制。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取待处理的运行日志,并对所述待处理的运行日志进行日志分析,以确定异常访问请求;
获取所述异常访问请求中的异常访问地址,并将其添加至所述动态限制列表。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
获取所述访问请求对应的目标访问业务,并获取所述目标访问业务对应的业务访问量;
若所述业务访问量大于预设访问量,则对所述访问请求进行延迟处理。
7.一种流量限制设备,其特征在于,包括:
收发模块,用于在接收到用户端发送的访问请求时,获取所述访问请求中的访问地址,并获取动态限制列表,其中所述动态限制列表是根据运行日志生成的;
处理模块,用于若确定所述访问地址在所述动态限制列表中,则发送访问失败信息至所述用户端;
所述处理模块,还用于若确定所述访问地址未在所述动态限制列表中,则基于预设服务限制规则确定是否对所述用户端进行访问限制;
所述收发模块,还用于若对所述用户端进行访问限制,则发送访问失败信息至所述用户端。
8.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至6任一项所述的流量限制方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至6任一项所述的流量限制方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述的流量限制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110762119.2A CN113489726B (zh) | 2021-07-06 | 2021-07-06 | 流量限制方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110762119.2A CN113489726B (zh) | 2021-07-06 | 2021-07-06 | 流量限制方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113489726A true CN113489726A (zh) | 2021-10-08 |
CN113489726B CN113489726B (zh) | 2023-05-12 |
Family
ID=77941308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110762119.2A Active CN113489726B (zh) | 2021-07-06 | 2021-07-06 | 流量限制方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113489726B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7536548B1 (en) * | 2002-06-04 | 2009-05-19 | Rockwell Automation Technologies, Inc. | System and methodology providing multi-tier-security for network data exchange with industrial control components |
CN104065657A (zh) * | 2014-06-26 | 2014-09-24 | 北京思特奇信息技术股份有限公司 | 一种基于ip访问的动态控制用户行为的方法及系统 |
CN107347052A (zh) * | 2016-05-05 | 2017-11-14 | 阿里巴巴集团控股有限公司 | 检测撞库攻击的方法及装置 |
CN107800724A (zh) * | 2017-12-08 | 2018-03-13 | 北京百度网讯科技有限公司 | 云主机防破解方法、系统及处理设备 |
CN110944007A (zh) * | 2019-12-10 | 2020-03-31 | 北京北龙云海网络数据科技有限责任公司 | 一种网络访问管理方法、系统、装置及存储介质 |
CN111585914A (zh) * | 2019-02-15 | 2020-08-25 | 阿里巴巴集团控股有限公司 | 一种服务限流方法、装置、及电子设备 |
CN111641658A (zh) * | 2020-06-09 | 2020-09-08 | 杭州安恒信息技术股份有限公司 | 一种请求拦截方法、装置、设备及可读存储介质 |
CN111756644A (zh) * | 2020-06-30 | 2020-10-09 | 深圳壹账通智能科技有限公司 | 热点限流方法、系统、设备及存储介质 |
CN111800432A (zh) * | 2020-07-20 | 2020-10-20 | 博为科技有限公司 | 一种基于日志分析的防暴力破解方法及装置 |
CN112583734A (zh) * | 2020-12-03 | 2021-03-30 | 中国移动通信集团内蒙古有限公司 | 一种突发流量控制方法、装置、电子设备及存储介质 |
CN112637171A (zh) * | 2020-12-15 | 2021-04-09 | 微医云(杭州)控股有限公司 | 数据流量处理方法、装置、设备、系统和存储介质 |
CN112861119A (zh) * | 2019-11-27 | 2021-05-28 | 郭东林 | 一种防御黑客对数据库慢速撞库或爆破攻击的方法及系统 |
CN112953945A (zh) * | 2021-02-24 | 2021-06-11 | 中国工商银行股份有限公司 | 访问请求处理方法和系统 |
-
2021
- 2021-07-06 CN CN202110762119.2A patent/CN113489726B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7536548B1 (en) * | 2002-06-04 | 2009-05-19 | Rockwell Automation Technologies, Inc. | System and methodology providing multi-tier-security for network data exchange with industrial control components |
CN104065657A (zh) * | 2014-06-26 | 2014-09-24 | 北京思特奇信息技术股份有限公司 | 一种基于ip访问的动态控制用户行为的方法及系统 |
CN107347052A (zh) * | 2016-05-05 | 2017-11-14 | 阿里巴巴集团控股有限公司 | 检测撞库攻击的方法及装置 |
CN107800724A (zh) * | 2017-12-08 | 2018-03-13 | 北京百度网讯科技有限公司 | 云主机防破解方法、系统及处理设备 |
CN111585914A (zh) * | 2019-02-15 | 2020-08-25 | 阿里巴巴集团控股有限公司 | 一种服务限流方法、装置、及电子设备 |
CN112861119A (zh) * | 2019-11-27 | 2021-05-28 | 郭东林 | 一种防御黑客对数据库慢速撞库或爆破攻击的方法及系统 |
CN110944007A (zh) * | 2019-12-10 | 2020-03-31 | 北京北龙云海网络数据科技有限责任公司 | 一种网络访问管理方法、系统、装置及存储介质 |
CN111641658A (zh) * | 2020-06-09 | 2020-09-08 | 杭州安恒信息技术股份有限公司 | 一种请求拦截方法、装置、设备及可读存储介质 |
CN111756644A (zh) * | 2020-06-30 | 2020-10-09 | 深圳壹账通智能科技有限公司 | 热点限流方法、系统、设备及存储介质 |
CN111800432A (zh) * | 2020-07-20 | 2020-10-20 | 博为科技有限公司 | 一种基于日志分析的防暴力破解方法及装置 |
CN112583734A (zh) * | 2020-12-03 | 2021-03-30 | 中国移动通信集团内蒙古有限公司 | 一种突发流量控制方法、装置、电子设备及存储介质 |
CN112637171A (zh) * | 2020-12-15 | 2021-04-09 | 微医云(杭州)控股有限公司 | 数据流量处理方法、装置、设备、系统和存储介质 |
CN112953945A (zh) * | 2021-02-24 | 2021-06-11 | 中国工商银行股份有限公司 | 访问请求处理方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113489726B (zh) | 2023-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11558388B2 (en) | Provisional computing resource policy evaluation | |
EP3921991A1 (en) | System and method for hardening security between web services using protected forwarded access tokens | |
US10574697B1 (en) | Providing a honeypot environment in response to incorrect credentials | |
US9912682B2 (en) | Aggregation of network traffic source behavior data across network-based endpoints | |
US11356485B2 (en) | Pre-signed URLs with custom policies for data access in an object storage system | |
CN111478910A (zh) | 用户身份验证方法和装置、电子设备以及存储介质 | |
US11443037B2 (en) | Identification of invalid requests | |
CN110839087A (zh) | 接口调用方法及装置、电子设备和计算机可读存储介质 | |
CN114268957A (zh) | 异常业务数据处理方法、装置、服务器及存储介质 | |
CN112149108A (zh) | 访问控制方法、装置、电子设备及存储介质 | |
WO2021034379A1 (en) | Permitted authentication types for account access | |
CN117216798A (zh) | 访问方法、装置、设备及存储介质 | |
CN113489726B (zh) | 流量限制方法及设备 | |
CN113225348B (zh) | 请求防重放校验方法和装置 | |
CN109815687A (zh) | 账户管理方法及装置 | |
CN114745185A (zh) | 集群访问方法及装置 | |
CN109948362B (zh) | 数据访问处理方法及系统 | |
CN108306859B (zh) | 限制服务器访问量的方法、设备及计算机可读存储介质 | |
US10785291B2 (en) | Executing ad-hoc commands on-demand in a public cloud environment absent use of a command line interface | |
CN108134785B (zh) | 一种服务器的切换方法、装置、终端设备及存储介质 | |
CN112165381A (zh) | 密钥管理系统和方法 | |
CN115168872B (zh) | 基于去中心化信任的公有云下tee状态连续性保护方法 | |
CN112511565B (zh) | 请求响应方法、装置、计算机可读存储介质及电子设备 | |
CN111865829B (zh) | 业务数据的加密解密方法及设备 | |
CN112887410B (zh) | 一种web服务程序的运行方法、装置、设备及存储介质 |
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 |