CN106375472B - 访问请求处理方法、装置和服务器 - Google Patents
访问请求处理方法、装置和服务器 Download PDFInfo
- Publication number
- CN106375472B CN106375472B CN201610868422.XA CN201610868422A CN106375472B CN 106375472 B CN106375472 B CN 106375472B CN 201610868422 A CN201610868422 A CN 201610868422A CN 106375472 B CN106375472 B CN 106375472B
- Authority
- CN
- China
- Prior art keywords
- current limliting
- substrategy
- target
- strategy
- access
- 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
Classifications
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Abstract
本发明提供了访问请求处理方法、装置和服务器,涉及互联网技术领域。本申请所提供的方法,采用基于访问目的信息识别的方式,其具体通过系统在接收到访问请求后,先依据访问请求中所携带的访问目的信息来从多种候选限流策略中,查找对应的限流策略,并进一步使用查找到的限流策略对该访问请求进行限流处理。由于系统依据访问目的信息进行了识别,进而对携带有不同种类访问目的信息的访问请求采用了不同的限流策略,提高了限流的针对性,限流的更为合理。
Description
技术领域
本发明涉及互联网技术领域,具体而言,涉及访问请求处理方法、装置和服务器。
背景技术
近些年,随着网络技术的革新,互联网服务得到了长足的发展,为应对于不同的需求,产生了各种各样的互联网服务。常见的互联网服务如信息传递、数据下载、数据查询等等。大部分的互联网服务,通常是由两端交互所完成的,这两端分别是用户所使用的终端和由网络服务商所使用的服务器。
互联网服务可以由服务器发起,也可以由终端发起,如果互联网服务的发起者是终端,则一般流程为如下步骤:
1,用户操作终端生成访问请求,其中,访问请求中携带有用户的身份信息和期望执行的操作信息;
2,用户操作终端将访问请求发送给服务器;
3,服务器依据身份信息进行权限验证,如果验证通过则执行步骤4,如果验证未通过则终止流程;
4,服务器依据操作信息的内容执行相应的操作(如数据查询、消息转发等);
5,服务器将步骤4中操作所产生的结果(如查询到的内容,或表示消息是否成功转发的代码)反馈给终端。
上述5个步骤描述了服务器与一个终端之间的通过数据交互来实现互联网服务的过程。实际使用中,通常一个服务器需要为大量终端提供服务。受到服务器自身属性的影响,一个服务器能够承载的最大访问量(指在单位时间内访问的总数量)是有限的,一旦服务器接收到的访问量达到极限值,服务器就有可能发生宕机,此时会导致该服务器及与该服务器关联的互联网体系瘫痪。
为了避免出现服务器宕机的问题,相关技术中的技术人员会采用限流的方式应对。具体而言,当服务器接收到的访问请求的数量接近极限值的时候,会使服务器停止接收访问请求,进而降低服务器的负载,但使用中发现,这种限流措施并不理想。
发明内容
本发明的目的在于提供服务器使用的访问请求处理方法、装置和服务器,以提高服务器对访问请求进行限流的准确度。
第一方面,本发明实施例提供了一种访问请求处理方法,包括:
获取终端所发出的目标访问请求,目标访问请求中携带有访问目的信息和操作信息;
从多种候选限流策略中,查找与访问目的信息相对应的目标限流策略;
使用目标限流策略对目标访问请求进行限流处理;
若未查找到目标限流策略,则依据操作信息进行相应操作。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,步骤从多种候选限流策略中,查找与访问目的信息相对应的目标限流策略包括:
从多种候选限流策略中,查找属性信息与访问目的信息中的访问地址信息相对应的限流策略作为目标限流策略。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,步骤从多种候选限流策略中,查找与所述访问目的信息相对应的目标限流策略包括:
查找属性信息与所述访问目的信息相对应,且,与终端的用户标识相对应的限流策略作为目标限流策略。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,若未查找到属性信息与所述访问目的信息相对应,且,与终端的用户标识相对应的限流策略,则步骤所述从多种候选限流策略中,查找与所述访问目的信息相对应的目标限流策略还包括:
查找属性信息与所述访问目的信息相对应,且,与访问请求中的业务信息相对应的限流策略作为目标限流策略。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,步骤使用目标限流策略对访问请求进行限流处理包括:
使用按时限流子策略、按频率限流子策略和白名单限流子策略中的一种或多种对访问请求进行限流处理。
第二方面,本发明实施例还提供了一种访问请求处理装置,包括:
获取模块,用于获取终端所发出的目标访问请求,目标访问请求中携带有访问目的信息和操作信息;
查找模块,用于从多种候选限流策略中,查找与访问目的信息相对应的目标限流策略;
限流模块,用于使用目标限流策略对目标访问请求进行限流处理。
第三方面,本发明实施例还提供了一种服务器,该服务器包括:处理器以及存储器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述服务器执行以下操作:
获取终端所发出的目标访问请求,所述目标访问请求中携带有访问目的信息;
从多种候选限流策略中,查找与所述访问目的信息相对应的目标限流策略;
使用所述目标限流策略对所述目标访问请求进行限流处理。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所提供的访问请求处理方法的步骤。
本发明实施例提供的访问请求处理方法,采用基于访问目的信息识别的方式,与现有技术中当服务器的负载过重的时候,不论访问请求的内容如何,对每个访问请求均拒绝处理,导致重要的访问请求也被拒绝相比,其通过系统在接收到访问请求后,先依据访问请求中所携带的访问目的信息来查找对应的限流策略,进而使用查找到限流策略,对该访问请求进行限流处理。由于系统依据访问目的信息进行了识别,进而对携带有不同种类访问目的信息的访问请求采用了不同的限流策略,提高了限流的针对性,限流的更为合理。
进一步,本发明实施例提供的访问请求处理方法,还可以先查找属性信息与访问目的信息相对应,且,与终端的用户标识相对应的限流策略作为目标限流策略,即个性化限流策略;如果没有查找到,再查找属性信息与所述访问目的信息相对应,且,与访问请求中的业务信息相对应的限流策略作为目标限流策略,即共性化限流策略;其中,每个限流策略均是存储在数据库中的,且每个限流策略对应着不同的属性信息。可见,如果预先存储有该用户标识所对应的个性化限流策略,则按照个性化限流策略进行处理,如果没有个性化限流策略再查找共性化限流策略。进而,对不同的用户区别对待,以进一步提高限流的准确度。
更进一步,本发明实施例提供的访问请求处理方法,还提供了三种不同的限流子策略,这三种子策略分别是按时限流子策略、按频率限流子策略和白名单限流子策略。使用时,这三种子策略可以存在于不同的限流策略中,如第一个限流策略中有按时限流子策略和按频率限流子策略;如第二个限流策略中有按频率限流子策略和白名单限流子策略。采用此种设置方式,能够进一步对不同的访问请求区别化对待,提高了限流的准确度。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例所提供的访问请求处理方法的基本流程图;
图2示出了本发明实施例所提供的访问请求处理方法所适用的一种网络架构的示意图;
图3示出了本发明实施例所提供的访问请求处理装置的模块化架构图;
图4示出了本发明实施例所提供的访问请求处理方法的按时限流子策略的服务时间段与非服务时间段的示意图;
图5示出了本发明实施例所提供的访问请求处理方法中,不同开关之间的关系示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,当服务器的访问量过大时,可能会导致服务器宕机,这会导致该服务器所处理业务的瘫痪。尤其在网络架构变得越来越复杂的情况下,一个服务器通常会与其他多个服务器有业务上的关联,当一个服务器宕机后,会连带其他关联的服务器无法正常工作。
进而,技术人员为了避免宕机的情况发生,会采用直接拒绝所有访问请求的限流方式来应对。很明显,这种限流方式会一定程度上保证服务器的负载不会超过极限值,但本申请发明人认为,此种方式不利于对访问请求的处理,可能会漏掉一部分主要业务。由此,本申请提供了一种访问请求处理方法,如图1所示,包括如下步骤:
S101,获取终端所发出的目标访问请求,目标访问请求中携带有访问目的信息;
S102,从多种候选限流策略中,查找与访问目的信息相对应的目标限流策略;
S103,使用目标限流策略对目标访问请求进行限流处理。
步骤S101中,发出目标访问请求的终端一般是用户操作的客户端。一般情况下,访问请求中会携带有多种表达用户目的的识别信息,如访问请求的目的地址(url地址),又如具体的操作信息(如请求下载、请求进行网络交易、请求进行数据存储/中转的信息)等等。正因为目标访问请求中携带了大量的访问目的信息(可以理解为标识用户目的的信息),可以直接依据这些访问目的信息来确定是否应当对该访问请求进行限流,以及应当如何限流,即依据访问目的信息对不同的访问请求进行有区别式的限流。
一般情况下,可以预先在服务器(执行步骤S101-103的服务器)的本地数据库中存储关于访问目的信息的数据表,该数据表中记载有访问目的信息及对应的限流策略(该数据表中至少存在有两种限流策略,以及每种限流策略所对应的访问目的信息),如果依据访问目的信息能够查找到对应的限流策略,则直接按照限流策略对目标访问请求进行处理,如果没有查找到,则一般可以认为不需要进行限流,此时,直接按照操作信息执行相应的操作(如查找、交易、下载等)即可。
为了避免用户执行系列操作的中途,由于对其访问请求进行限流(如拒绝访问),而导致其无法进行后续操作,可以对系列操作中的非首次访问请求放行(不限流)。如,在用户注册的时候,通常需要多次输入验证信息进行验证,如果前6次验证信息均验证通过,而最后一次验证时,由于访问请求被限流(访问请求被拒绝),没有验证通过,则必然会影响用户的感受度。因此,在步骤S101后,还应当判断目标访问请求是否是系列操作中的首个访问请求,如果是,则执行步骤S102;如果不是,则依据目标访问请求中的操作信息进行相应操作(即不对该访问请求进行限流)。具体判断目标访问请求是否是首个访问请求的方式有多种,本领域技术人员可以依据具体情况来选择,此处不过多说明。
下面对目标限流策略的具体使用方式,即步骤S103的具体执行过程进行介绍。为了进一步区别不同的访问目的信息,可以为不同的访问目的信息设计不同的限流方式。具体而言,可以依据访问目的信息的不同,将访问请求分为多种,比如进行交易类的访问请求、进行查找类的访问请求、进行下载类的访问请求。之后,在对不同种类的访问请求进行有差别的限流。
针对不同种类的访问请求可以使用不同的目标限流策略进行限流处理。具体而言,目标限流策略中优选为三种具体的限流子策略,分别是按时限流子策略、按频率限流子策略和白名单限流子策略。这三种限流子策略可以同时存在于一个目标限流策略中(即目标限流策略中同时存在按时限流子策略、按频率限流子策略和白名单限流子策略);也可以是这三个限流子策略中的任意两个同时存在于一个目标限流策略中(如目标限流策略中同时存在有按时限流子策略和按频率限流子策略,或者是目标限流策略中同时存在有按频率限流子策略和白名单限流子策略);还可以是目标限流策略中只有一个限流子策略。
下面以目标限流策略中只有一个限流子策略的方式来说明步骤S103的具体执行过程。一般来说,交易类的访问请求比较重要,因此,交易类访问请求的限流策略可以是采用按时限流子策略进行处理,即判断接收到访问请求的时刻是否处于服务时间段(对于该种用户而言,服务时间段可以设置为较长的时间,如服务时间段与非服务时间段的比值可以设置为100:1,即服务时间段的时长为100秒,非服务时间段的时长为1秒),如果是,则可以按照访问请求中的操作信息来执行。类似的,还可以是为交易类的访问请求使用白名单限流子策略进行处理,也就是将交易类访问请求的访问目的信息均预先写入白名单中,服务器接收到交易类的访问请求后,判断提取出的访问目的信息出现在了白名单中,则直接按照该交易类的访问请求中的操作信息来执行。
查找类的访问请求次重要,同时,查找动作可能会经常进行,但如果过于频繁的进行查找,则必然会过多的占用系统资源,因此,对于查找类的访问请求可以使用按频率限流子策略进行处理,即可以依据发出访问请求的用户的累计访问次数进行限流。也就是接收到查找类用户的访问请求后,系统可以查看发出该访问请求的用户在预定时间内(如10秒)进行查找的总次数是否超过阈值(发出查找类访问请求的次数是否超过5次),如果超过了,则拒绝该次访问请求;如果没超过,则可以按照访问请求中的操作信息来执行。
进行下载类操作的访问请求重要程度最低,并且下载会过多占用系统资源,因此,可以直接使用白名单限流策略来对下载类的访问请求进行处理,即判断发送访问请求的用户是否是高级用户,如果不是,则一律拒绝访问。
当然,以上限流子策略(按时限流子策略、按频率限流子策略和白名单限流子策略)可以组合使用,也就是先使用第一种限流子策略来判断是否应当拒绝访问请求,如果判断结果是不拒绝,则再用第二种限流子策略来判断,直至目标限流策略中存在的每种限流子策略均使用过一次,进而对访问请求放行,或者是拒绝了该访问请求为止。
至于如何依据访问目的信息的不同来对不同的访问请求进行区别,有多种方式,如,可以查看访问请求中的访问目的地址(url地址),如果用户访问地址的后缀是执行下载/检索/交易的服务器,则可以直接认定用户所要进行的是下载/检索/交易操作;又如,可以查看用户的具体业务信息(即操作信息所对应的业务类型信息,如下载、检索、交易等),这会更为直观的标识出用户的目的。
进一步,除了单纯的依据访问目的信息来确定访问请求的限流策略,还可以进一步的同时依据访问目的信息和用户标识来确定对应的限流策略。具体而言,如下表1所示,示出了不同的限流策略与两种标识信息的对应关系。
表1个性化限流表
限流策略内容 | 标识信息1 | 标识信息2 |
限流策略A | 用户A | url1,url2 |
限流策略B | 用户A | url2,url4 |
限流策略C | 用户B | url5,url9 |
限流策略D | 用户B | url6,url8 |
限流策略所在的检索表格(如表1)是预先存储在数据库中的,并且,每个限流策略均对应不同的标识信息(也可以称为属性信息)。进而,在查找目标限流策略的时候(限流策略A-D中的一种),可以按照粗略查找的方式进行,即仅查找与访问地址信息(访问请求中携带的访问地址信息,如url2)相同的标识信息所对应的限流策略。如访问地址信息“url2”,则查找到的限流策略是限流策略A和限流策略B,进而可以使用这两个限流策略中的任一种对访问请求进行限流。
还可以按照精确查找的方式来确定限流策略,即查找标识信息与用户标识(如发起访问请求的终端的用户标识)相对应,且,标识信息与访问地址信息相对应的限流策略作为目标限流策略。如,用户标识为用户B,访问地址信息为url5,此时,则应当选择限流策略C作为目标限流策略。可以想到的是,同时采用用户标识和访问目的信息来确定对应的限流策略,能够使得限流策略设置的更为灵活,针对性更强。
并且,需要说明的是,限流策略A-D中的具体内容应当是不完全同的,如限流策略A中有按时限流子策略和按频率限流子策略;限流策略B中只有按频率限流子策略;限流策略C中有按时限流子策略和白名单限流子策略,同时,限流策略A中的按时限流子策略,与限流策略C中的按时限流子策略的阈值不同。具体而言,限流策略C在使用时,终端在5秒内的访问次数超过5次就会被拒绝访问;而在限流策略A在使用时,终端在5秒内的访问次数超过8次才会被拒绝访问。
表1中所示的限流策略检索表是以用户标识为主建立的,因此,可以将其理解为是为个别用户设置的个性化限流方案。但,如果为每个用户都设置个性化限流方案,则工作量过大,因此,具体实现的时候,可以只为一小部分用户设置个性化限流方案,没有设置个性化限流方案的用户则按照共性化限流方案进行限流。
如下表2所示,还提供了与表1相对的共性化限流表。
表2共性化限流表
限流策略内容 | 标识信息1 | 标识信息2 |
限流策略A | 业务信息A | ur85,url100 |
限流策略B | 业务信息A | url31,url222 |
限流策略C | 业务信息B | url15,url56 |
限流策略D | 业务信息B | url45,url74 |
如表2中所示,提供了以业务信息(如下载业务信息、检索业务信息、交易业务信息)为主的共性化限流策略查找表,与表1相对的,该表中,业务信息是主要的识别标识。即,为了针对性的对不同的访问请求进行限流,可以针对业务类型相同(即业务信息相同)的访问请求,依据该访问请求中的访问地址信息(如ur85,url100)不同,来设置不同的限流策略。具体使用时,如果在表1中的个性化限流策略查找表中没有找到目标限流策略,则可以在表2的共性化限流策略查找表中进行查找。
一般情况下,业务信息主要是为了区分不同种类的业务(主要是区分重要性不同的业务),如交易类的访问请求最为重要,因此,业务信息显示交易类的限流策略就要设置的宽松一些(如可以尽量多的使用白名单限流子策略,并使大部分交易类的访问地址信息都写在白名单中,保证大部分访问请求都能够通过);反之,下载类的访问请求最不重要,因此,限流策略就可以设置的严格一些,尽量拒绝大部分的下载类访问请求。
如前文中的描述,步骤S103可以使用多种限流子策略对访问请求进行限流。下面对使用某一种限流子策略的具体过程进行说明。
使用按时限流子策略对访问请求进行限流处理的过程如下:
判断接收到所述目标访问请求的时刻是否处于服务时间段内;
如果接收到所述目标访问请求的时刻不处于服务时间段内,则拒绝目标访问请求(可以直接抛弃掉目标访问请求,或者将目标访问请求放入排队处理的队列中,后续再进行处理);拒绝目标访问请求具体可以包含如下步骤,暂停对目标访问请求的处理,并开始计时,当计时时间达到预定的时间后,再按照目标访问请求中的操作信息进行相应操作;或者是将目标访问请求放入排队处理的队列中,当排队到该目标访问请求时,再按照目标访问请求中的操作信息进行相应操作。
如果接收到所述目标访问请求的时刻处于服务时间段内,且目标限流策略中还存在其他限流子策略,则采用其他限流子策略(如按频率限流子策略和白名单限流子策略)对当前的访问请求进行限流。
若本地系统在预定时间阈值内,对终端的其他访问请求未进行过响应,且目标限流策略中没有其他限流子策略,则依据目标访问请求中的操作信息进行相应操作。
按时限流子策略的核心在于按照时间轴的顺序,将时间间断的分成了服务时间段和非服务时间段(服务时间段以外的时段均是非服务时间段),当接收到访问请求的时刻,处于服务时间段内,则可以依据目标访问请求中的操作信息进行相应操作,或者是使用下一个限流子策略对访问请求进行限流处理。否则,便拒绝该访问请求。如可以设置1-2秒、3-4秒和6-8秒为服务时间段,0-1秒、2-3秒和4-6秒为非服务时间段(即服务时间段与非服务时间段交错排列)。
下面提供一种设定服务时间段的方式。依据首次接收到终端的访问请求的时刻来确定服务时间段和非服务时间段。即如图4所示,首次接收到终端的访问请求时起,前n秒为非服务时间段,之后m秒为服务时间段,再之后的n秒为非服务时间段。
具体而言,采用此种设定服务时间段的方式,服务器在接收到访问请求是是按照如下方式执行的:服务器首次接收到终端发出的访问请求时,开始计时,n秒内,服务器对终端所发出的任何访问请求均拒绝(即,这n秒的时间段为非服务时间段);n秒计时结束后的m秒内,服务器对终端所发出的所有访问请求均通过(该m秒内,可以依据目标访问请求中的操作信息进行相应操作,也可以采用其他限流子策略对当前的访问请求进行限流);m秒过后,再次进入非服务时间段。
当然,也可以是服务器首次接收到终端的访问请求时起,首先设置n秒的服务时间段,再设置m秒的非服务时间段,再设置n秒的服务时间段。
优选的,可以依据服务器当前的负载来调整服务时间段的时间长度,即服务器当前负载程度与服务时间段的时长呈负相关性,也就是服务器当前负载越重,服务时间段的时长越短,则服务器拒绝访问请求的可能性越高,以此,能够控制服务器的负载。即,如果服务器的负载比较小,那么服务器可以自动减小非服务时间段的时长,同时增大服务时间段的时长,而当服务器的负载变大的时候,服务器自动调大非服务时间段的时长,同时减小服务时间段的时长,以实现参数的动态配置。
使用按频率限流子策略对目标访问请求进行限流处理的过程如下:
判断本地系统在预定时间阈值内,对终端进行响应(可以理解为本地系统对终端所发出的访问请求进行了处理)的总次数是否超过预设的数量阈值(如5次);
若本地系统在预定时间阈值内,对终端进行响应的总次数超过预设的数量阈值,则拒绝目标访问请求;
若本地系统在预定时间阈值内,对终端进行响应的总次数未超过预设的数量阈值,且目标限流策略中还存在其他限流子策略(如按时限流子策略和白名单限流子策略),则采用其他限流子策略对当前的访问请求进行限流;
若本地系统在预定时间阈值内,对终端进行响应的总次数未超过预设的数量阈值,且目标限流策略中没有其他限流子策略,则依据目标访问请求中的操作信息进行相应操作。其中,预定的数量阈值的数值,可以依据本地系统当前的负载实时调整,系统当前负载的数值与预定时间阈值的数值呈负相关性。
简单来看按频率限流子策略,用户在m至m+x秒之间发出的前n个请求(基于同一url)本地系统会提供服务,超过第n次之后的访问请求(在这个x秒周期内的其他基于这一url的请求)均被系统拒绝,x秒结束后,可以继续。
或者是,用户发出的前n个访问请求(基于同一url)会被系统提供服务,当系统接收到用户发出超过第n次的访问请求时开始计时,并在m秒的周期内,该用户其他基于这一url的请求均会被系统拒绝,直至达到预设时间后系统再次接收用户的n个访问请求。
使用白名单限流子策略对目标访问请求进行限流处理的过程如下:
判断系统当前的qps值是否超过预定的数量阈值;其中,qps是指每秒查询率,即qps描述的是对一个特定的服务器在规定时间内所处理流量的数量;
若系统当前的qps值超过预定的数量阈值,且,访问目的信息中的访问地址信息出现在白名单中,则对目标访问请求不做限流;
若当前系统的qps值超过预定的数量阈值,且,访问目的信息中的访问地址信息未出现在白名单中,则拒绝目标访问请求;
若当前系统的qps值未超过预定的数量阈值,则依据目标访问请求中的操作信息进行相应操作。
白名单限流子策略主要是针对核心业务所设计的,即系统操作员可以预先在白名单中写入核心业务所对应的url,进而保证核心业务不会被拒绝。需要说明的是,一般情况下,白名单中所记载的网络地址只受到系统操作人员的控制,系统无法自主更改。
具体的,如果一个目标限流策略中同时存在2种或3种限流子策略,可以按照如下两种方式执行步骤S103。即,步骤S103在具体执行时,可以使用按时限流子策略、按频率限流子策略和白名单限流子策略中的两种或三种对访问请求进行限流处理。
第一种方式,先判断访问请求是否满足首个限流子策略的限流要求,如果是,则直接拒绝该访问请求,且不再使用后续的限流子策略对访问请求进行限流处理;如果否,则判断该访问请求是否满足下一个限流子策略的要求…直至访问请求满足某一个限流子策略的限流要求,进而被拒绝,或者是判断该访问请求不满足最后一个限流子策略的要求,进而被放行。
第二种方式,可以预先为每个限流子策略设置优先级(如按时限流子策略、按频率限流子策略和白名单限流子策略的优先级依次降低)。具体执行的时候,只执行优先级最高的限流子策略,如目标限流策略中同时存在按时限流子策略、按频率限流子策略和白名单限流子策略,其中,按时限流子策略是三个限流子策略中优先级最高的,执行步骤S103时,只判断接收到访问请求的时刻是否处于服务时间段内,如果是,则不拒绝该访问请求;如果否,则拒绝该访问请求,可以直接将该访问请求抛弃。对于目标限流策略中的按频率限流子策略和白名单限流子策略则不再使用。
前文中说明了采用个性化限流策略、共性化限流策略来提高使用灵活性的方案,以及限流策略中,每个限流子策略的内容和使用方式。下面针对该访问请求处理方法中所设置的开关的原理和使用方式进行说明。
如图5所示,该方法中共设置了三个级别的开关,分别是限流总开关为第一级开关,用户开关为第二级开关,访问目的信息所对应的目的开关和各个限流子策略得开关为第三级开关。这三级开关在使用时,可以同时使用,也可以只使用其中的一部分,设置开关的一般性目的在于方便服务器的操作人员便捷的调控对指定访问请求的处理策略。
关于限流总开关:限流总开关为掌控整个限流方法是否实施的开关,也就是在执行步骤S102之前,首先要查找该限流总开关的开关状态,若所述限流总开关的开关状态为开启,则执行步骤S102;若限流总开关的开关状态为关闭,则不对访问请求进行限流。
关于用户开关:前文中提供了采用个性化限流策略、共性化限流策略来提高使用灵活性的方案,在加入用户开关之后,个性化限流策略、共性化限流策略可以更为灵活的进行使用。具体而言,执行步骤S102时,首先查看用户开关的开关状态,如果用户开关的状态为开启,则可以使用属性信息与所述访问目的信息相对应,且,与终端的用户标识相对应的个性化限流策略作为待使用限流策略;如果用户开关的状态为关闭,则查找属性信息与所述访问目的信息中的访问地址信息相对应,且,与访问请求中的业务信息相对应的共性化限流策略作为待使用限流策略。
通过设置用户开关,服务器可以通过识别用户开关的状态,从而直接查找个性化限流策略或者是共性化限流策略来对访问请求进行限流处理,而不需要如前文中所描述的先查找个性化限流策略,如果找不到对应的个性化限流策略再查找共性化限流策略的方式。进而,通过设置用户开关,可以避免服务器进行二次查找所造成的计算量增加的问题。并且,在具体处理时,当用户开关开启时,如果没有查找到个性化限流策略,则可以不再查找共性化限流策略,而是直接对访问请求进行放行处理(不对访问请求进行限流)。
关于各个限流子策略的开关和目的开关,各个限流子开关的作用是确定哪个限流子策略在步骤S103中使用,同时,在判断限流子策略是否在步骤S103中是否使用的同时,还要确定访问请求中访问目的信息所对应的目的开关是否打开,如果目的开关的状态为开启,则选择子策略开关的状态为开启的限流子策略作为目标限流策略;如果目的开关的状态为关闭,则不论限流子策略的开关状态如何,都不对访问请求进行限流。
通过设置上述4个开关,能够使服务器的操作者更为便捷的对访问请求的处理方式进行调节,使得整个服务器对操作者更为友好。
下面以两个具体的实例,来说明本申请所提供的一种访问请求处理方法。
实例1,如图2所示,示出了本申请所提供的方法所适用的网络架构,该网络架构包括客户端、业务系统、流控系统和策略系统,其中,每个业务系统均与多个客户端连接、流控系统与多个业务系统连接,不同业务系统负责的业务类型(如网络购票业务、订餐业务、网络地图业务等)不同。需要说明的是,该实例中所描述的流控系统、业务系统和策略系统可以位于同一个服务器中,即从硬件的角度来看,这三个系统可以是在一起的。该方法包括如下步骤:
步骤11,客户端生成访问请求,并将访问请求发送给业务系统;其中,访问请求中携带有业务信息(如请求订餐)、访问目的地址和用户标识;
步骤12,业务系统将用户标识、访问目的地址和业务系统标识(业务信息的一种,用于区别自身与其他业务系统的识别信息)发送至流控系统;
步骤13,流控系统依据业务系统标识,在策略系统中查询业务系统标识所对应的业务系统是否需要被限流;如果是,则执行步骤14;如果否,则向业务系统返回系统不进行流控的说明,并执行步骤19;
步骤14,流控系统依据用户标识和访问目的地址,在策略系统中查询访问请求是否需要被限流;如果是,则执行步骤15,如果否,则向业务系统返回该访问请求不进行流控的说明,并执行步骤19;
步骤15,流控系统依据业务系统标识和用户标识,在策略系统中查询用户标识所对应的个性化流控策略(包括需要使用的各个限流子策略的内容及参数)以及对应的限制地址列表,若查询到个性化流控策略,则执行步骤17,若未查询到个性化流控策略,则执行步骤16;其中,限制地址列表中记载了需要进行流量控制的网络地址;
步骤16,流控系统依据业务系统标识,在策略系统中查询业务系统所对应的共性化流控策略以及对应的限制地址列表;若查询到共性化流控策略,则执行步骤17,若未查询到共性化流控策略,则执行步骤19;
步骤17,判断访问目的地址是否出现在限制地址列表中;若是,则使用查找到的流控策略(可能是用户标识所对应的个性化流控策略,也可能是业务系统标识所对应的共性化流控策略)对访问请求进行限流,限流的过程具体包括171-174四个子步骤;其中,下述步骤中,171为按时限流策略的使用过程、172为按访问频率限流策略的使用过程和173-174为白名单限流策略的使用过程,具体实现时,上述三个策略的使用过程可以使用任意的一个或多个;
步骤171,判断接收到访问请求的时刻是否处于服务时间段;若是,则执行步骤172;若否,则执行步骤18;
步骤172,判断发出访问请求的客户端在20秒内发出的访问请求的总量是否已经超过5次;若是,则执行步骤18;若否,则执行步骤173;
步骤173,判断当前系统的qps值是否超过1000/s;若是,则执行步骤174;若否,则执行步骤19;
步骤174,判断访问请求中的访问目的地址是否在白名单中;若是,则执行步骤19,若否,则执行步骤18;其中,白名单中预先记载有多个重要的访问地址;
步骤18,抛弃该访问请求;
步骤19,按照访问请求中的业务信息执行相应的操作。
实例1中所提供的方法中,策略系统中会预存每个用户(用户标识)所对应的个性化流控策略,以及所有的用户所共用的共性化流控策略。服务器接收到访问请求时,优先查找个性化流控策略,如果没有个性化流控策略,再查找共性化流控策略;进而使用查找到的流控策略进行限流;如果这两种流控策略都不存在,则不限流。
其中,可以在策略系统中预存如下两张表格,以在步骤15和步骤16中进行查询使用。
表3
个性化限流策略内容 | 限制地址 | 用户标识 |
个性化流控策略1 | urlA,urlC,urlG | 用户标识1 |
个性化流控策略2 | urlB,urlD,urlE | 用户标识2 |
个性化流控策略3 | urlF,urlH,urlZ | 用户标识3 |
个性化流控策略4 | urlQ,urlW,urlY | 用户标识4 |
表4
共性化限流策略内容 | 限制地址 | 业务系统标识 |
共性化流控策略1 | urlA,urlE,urlG | 业务系统标识1 |
共性化流控策略2 | urlH,urlJ,urlI | 业务系统标识2 |
共性化流控策略3 | urlF,urlL,urlP | 业务系统标识3 |
共性化流控策略4 | urlA,urlY,urlZ | 业务系统标识4 |
表3为个性化限流表,是步骤15进行查询所使用的表格,通过该表格可以看出,每个用户标识对应着多个需要进行流量控制的网络地址(如urlA,urlC,urlG);
表4为共性化限流表,是步骤16进行查询所使用的表格,通过该表格可以看出,每个业务系统标识对应着多个需要进行流量控制的网络地址(如urlA,urlE,urlG)。
表格3和4中需要进行流量控制的网络地址可以是网络维护人员预先输入的。通过上述步骤可见,个性化限流方式的权限是高于共性化限流方式的权限。即,如果查询到访问请求可以使用个性化限流,则不再使用共性化限流方式。
实例2,如图2所示,示出了本申请所提供的方法所适用的网络架构,该网络架构包括客户端、业务系统、流控系统和策略系统,其中,每个业务系统均与多个客户端连接、流控系统与多个业务系统连接,不同业务系统负责的业务类型(如网络购票业务、订餐业务、网络地图业务等)不同。需要说明的是,该实例中所描述的流控系统、业务系统和策略系统可以位于同一个服务器中,即从硬件的角度来看,这三个系统可以是在一起的。该方法包括如下步骤:
步骤21,客户端生成访问请求,并将访问请求发送给业务系统;其中,访问请求中携带有业务信息(请求订餐)、访问目的地址(url=XXXXXX.com)和用户标识(李XX);
步骤22,业务系统依据流控系统发出的流控总开关的信息(是否进行流量控制的信息),判断是否需要对访问请求进行流控;若判断结果为是,则执行步骤23;若步骤的判断结果为否,则执行步骤31;其中,流控总开关的信息是流控系统在流控总开关的状态发生改变时,向业务系统发出的;
步骤23,业务系统将业务系统标识、用户标识和访问目的地址发送至流控系统;
步骤24,流控系统查询用户标识所对应的用户个性化开关是否处于开启状态;若是,则执行步骤25,进而查找个性化限流策略;若否,则执行步骤27,进而查找共性化限流策略;
步骤25,流控系统在策略系统的个性化限流信息表(用户标识所对应的个性化限流信息表)中查询访问目的地址所对应的url开关是否处于开启状态;若是,则执行步骤26;若否,则执行步骤31;
步骤26,流控系统在策略系统的个性化限流信息表(用户标识所对应的个性化限流信息表)中查询访问目的地址所对应的每个限流子策略的开关的状态,并将开关状态为开启的限流子策略(包括按时限流子策略、按频率限流子策略和白名单限流子策略这三个限流子策略的具体参数等信息)从目标个性化限流信息表调取出来,以作为目标限流策略,并执行步骤29;
步骤27,流控系统在策略系统的共性化限流信息表(所有用户所共同使用的限流表,即业务系统标识所对应的限流表)中查询访问目的地址所对应的url开关是否处于开启状态;若是,则执行步骤28;若否,则执行步骤31;
步骤28,流控系统在策略系统的共性化限流信息表中查询访问目的地址所对应的每个限流子策略的开关的状态,并将开关状态为开启的限流子策略(包括各个限流子策略的具体参数等信息)从共性化限流信息表调取出来,以作为目标限流策略,并执行步骤29;
步骤29,使用查找到的目标限流策略对访问请求进行限流。如目标限流策略中有白名单限流子策略和按频率限流子策略时,按照优先级的顺序(按频率限流子策略的优先级高于白名单限流子策略的优先级),只执行优先级最高的限流子策略,即只执行按频率限流子策略,进而步骤29具体执行过程如下:
判断发出访问请求的客户端在10秒内发出的访问请求的总量是否已经超过3次;若是,则执行步骤30;若否,则执行步骤31;
步骤30,抛弃该访问请求。
步骤31,按照访问请求中的业务信息执行相应的操作。
其中,可以在策略系统中预存如下两张表格,以分别在步骤25和步骤26中进行查询使用。
表5个性化限流信息表-url开关表
url开关表 | urlA,urlC,urlG | 开启 |
urlB,urlD,urlE | 关闭 |
表6个性化限流信息表-限流子策略开关表
限流子策略开关表 | 按时限流子策略 | 关闭 |
按频率限流子策略 | 开启 | |
白名单限流子策略 | 开启 |
表5中示出了个性化限流信息表中,url开关表的具体体现形式;表6中示出了个性化限流信息表中,限流子策略开关表的具体体现形式。
与实例1相比,上述实例2的步骤中,设置了多个开关,分别是流控总开关、用户个性化开关、url开关和限流子策略开关,服务器的操作人员可以通过调整每个开关的状态来便捷的调整不同用户的处理策略。
需要说明的是,一般情况下,每个用户(用户标识)均会对应一个个性化限流信息表,所有的用户会共用一个共性化限流信息表,也就是,对于同一个用户标识,可以采用专属的个性化限流信息表中的策略进行限流,也可以采用共性化限流信息表中的策略进行限流,具体采用哪个表是受到用户个性化开关的影响。进而通过调节用户个性化开关的状态,服务器的操作员能够便捷的改变针对访问请求所使用的限流策略。类似的,通过设置url开关和限流子策略开关,进一步提高了便捷程度。
进而,使用具体的个性化限流信息表中限流子策略的前提是:流控总开关打开、用户个性化开关打开、url开关打开,以及指定的限流子策略开关打开。如果流控总开关和url开关中的一个处于关闭状态,则不对访问请求进行限流。
实例2与实例1相比,在得到具体的限流子策略后的使用方式也有区别,实例1中要求访问请求不会被任意一个限流子策略限流,才会被放行,而实例2中,只使用优先级最高的一个限流子策略对访问请求进行限流处理(不再使用其他的限流子策略进行限流处理)即可。
与前文所提供的访问请求处理方法相对应的,本申请实施例还提供了一种访问请求处理装置,如图3所示,包括:
获取模块301,用于获取终端所发出的目标访问请求,目标访问请求中携带有访问目的信息和操作信息;
查找模块302,用于从多种候选限流策略中,查找与访问目的信息相对应的目标限流策略;
限流模块303,用于使用目标限流策略对目标访问请求进行限流处理。
优选的,查找模块302包括:
第一查找单元,用于查找属性信息与访问目的信息中的访问地址信息相对应的限流策略作为目标限流策略。
优选的,第一查找单元包括:
第一查找子单元,用于查找属性信息与所述访问目的信息相对应,且,与终端的用户标识相对应的限流策略作为目标限流策略。
优选的,查找单元还包括:
第二查找子单元,若第一查找子单元查找失败,则用于查找属性信息与所述访问目的信息相对应,且,与访问请求中的业务信息相对应的限流策略作为目标限流策略。
优选的,限流模块303包括:
限流单元,用于使用按时限流子策略、按频率限流子策略和白名单限流子策略中的一种或多种对所述目标访问请求进行限流处理。
优选的,限流单元包括:
第一限流子单元,用于按照如下方式使用按时限流子策略对目标访问请求进行限流处理:
判断接收到所述目标访问请求的时刻是否处于服务时间段内;
若否,则拒绝所述目标访问请求;
若是,且目标限流策略中还存在其他限流子策略,则采用其他限流子策略对当前的访问请求进行限流处理,或按照访问请求中的操作信息执行相应的操作。
优选的,限流单元还包括:
第二限流子单元,用于按照如下方式使用按频率限流子策略对目标访问请求进行限流处理:
判断在预定时间阈值内,对终端进行响应的总次数是否超过预设的数量阈值;
若是,则拒绝目标访问请求;
若否,且目标限流策略中还存在其他限流子策略,则采用其他限流子策略对当前的访问请求进行限流处理,或按照访问请求中的操作信息执行相应的操作。
优选的,限流单元还包括:
第三限流子单元,用于按照如下方式使用白名单限流子策略对目标访问请求进行限流处理:
判断当前系统的qps值是否超过预定的数量阈值;
若是,且,访问目的信息中的访问地址信息出现在白名单中,则对目标访问请求不做限流;
若是,且,访问目的信息中的访问地址信息未出现在白名单中,则拒绝目标访问请求。
优选的,该装置还包括判断模块和操作模块:
判断模块,用于判断目标访问请求是否是系列操作中的首个访问请求;
若是,则查找模块302工作;
若否,则操作模块,用于依据目标访问请求中的操作信息进行相应操作。
优选的,该装置还包括:
限流总开关查找模块,用于查找限流总开关的状态;且当所述限流总开关的开关状态为开启时,查找模块302工作。
优选的,查找模块包括:
第二查找单元,用于查找与所述访问目的信息相对应的限流策略,所述限流策略包括按时限流子策略、按频率限流子策略和白名单限流子策略;
第三查找单元,用于查找访问目的信息所对应的目的开关的状态,以及每个限流子策略开关的状态,所述限流子策略开关包括:按时限流子策略的开关、按频率限流子策略的开关和白名单限流子策略的开关;
选择单元,用于当目的开关的状态为开启,则选择限流子策略开关的状态为开启的限流子策略作为所述目标限流策略。
优选的,第二查找单元包括:
第三查找子单元,用于查找与终端的用户标识相对应的用户开关的状态;
第一确定子单元,用于当用户开关的状态为开启时,查找属性信息与所述访问目的信息相对应,且,与终端的用户标识相对应的限流策略作为目标限流策略;
第二确定子单元,用于当用户开关的状态为关闭时,查找属性信息与所述访问目的信息中的访问地址信息相对应,且,与访问请求中的业务信息相对应的限流策略作为目标限流策略。
进一步,本申请实施例还提供了一种服务器,包括:处理器以及存储器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述服务器执行以下操作:
获取终端所发出的目标访问请求,所述目标访问请求中携带有访问目的信息;
从多种候选限流策略中,查找与所述访问目的信息相对应的目标限流策略;
使用所述目标限流策略对所述目标访问请求进行限流处理。
进一步,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述访问请求处理方法的步骤。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (13)
1.一种访问请求处理方法,其特征在于,包括:
获取终端所发出的目标访问请求,所述目标访问请求中携带有访问目的信息;
从多种候选限流策略中,查找与所述访问目的信息相对应的目标限流策略;
使用所述目标限流策略对所述目标访问请求进行限流处理,所述目标限流策略包括:按时限流子策略、按频率限流子策略和白名单限流子策略;
步骤所述使用所述目标限流策略对所述目标访问请求进行限流处理包括:
在所述目标限流策略中选择第一种限流子策略,所述第一种限流子策略为所述目标限流策略中的任意一种限流子策略;
使用所述第一种限流子策略判断是否拒绝所述目标访问请求;
若判断结果是不拒绝,则使用第二种限流子策略,其中,所述第二种限流子策略为所述目标限流策略中的除所述第一种限流子策略之外的任意一种限流子策略;
使用所述第二种限流子策略判断是否拒绝所述目标访问请求;
若判断结果是不拒绝,则使用第三种限流子策略,其中,所述第三种限流子策略为所述目标限流策略中的除所述第一种限流子策略和所述第二种限流子策略之外的一种限流子策略;
使用所述第三种限流子策略判断是否拒绝所述目标访问请求;
所述从多种候选限流策略中,查找与所述访问目的信息相对应的目标限流策略包括:
查找与所述访问目的信息相对应的限流策略,所述限流策略包括按时限流子策略、按频率限流子策略和白名单限流子策略;
查找访问目的信息所对应的目的开关的状态,以及每个限流子策略开关的状态,所述限流子策略开关包括:按时限流子策略的开关、按频率限流子策略的开关和白名单限流子策略的开关;
若目的开关的状态为开启,则选择限流子策略开关的状态为开启的限流子策略作为所述目标限流策略。
2.根据权利要求1所述的方法,其特征在于,步骤所述从多种候选限流策略中,查找与所述访问目的信息相对应的目标限流策略包括:
从多种候选限流策略中,查找属性信息与所述访问目的信息中的访问地址信息相对应的限流策略作为目标限流策略。
3.根据权利要求1所述的方法,其特征在于,步骤从多种候选限流策略中,所述查找与所述访问目的信息相对应的目标限流策略包括:
查找属性信息与所述访问目的信息相对应,且,与终端的用户标识相对应的限流策略作为目标限流策略。
4.根据权利要求3所述的方法,其特征在于,若未查找到属性信息与所述访问目的信息相对应,且,与终端的用户标识相对应的限流策略,则步骤所述从多种候选限流策略中,查找与所述访问目的信息相对应的目标限流策略还包括:
查找属性信息与所述访问目的信息相对应,且,与访问请求中的业务信息相对应的限流策略作为目标限流策略。
5.根据权利要求1所述的方法,其特征在于,步骤使用按时限流子策略对所述目标访问请求进行限流处理包括:
按照如下方式使用按时限流子策略对所述目标访问请求进行限流处理:
判断接收到所述目标访问请求的时刻是否处于服务时间段内;
若否,则拒绝所述目标访问请求。
6.根据权利要求1所述的方法,其特征在于,步骤使用按频率限流子策略对所述访问请求进行限流处理包括:
按照如下方式使用按频率限流子策略对所述目标访问请求进行限流处理:
判断在预定时间阈值内,对所述终端进行响应的总次数是否超过预设的数量阈值;
若是,则拒绝所述目标访问请求。
7.根据权利要求1所述的方法,其特征在于,步骤使用白名单限流子策略对所述访问请求进行限流处理包括:
按照如下方式使用白名单限流子策略对所述目标访问请求进行限流处理:
判断当前系统的qps值是否超过预定的数量阈值;
若是,且,所述访问目的信息中的访问地址信息出现在白名单中,则对所述目标访问请求不做限流;
若是,且,所述访问目的信息中的访问地址信息未出现在白名单中,则拒绝所述目标访问请求。
8.根据权利要求1所述的方法,其特征在于,在步骤所述获取终端所发出的目标访问请求后还包括:
判断目标访问请求是否是系列操作中的首个访问请求;
若是,则执行步骤所述查找与所述访问目的信息相对应的目标限流策略;
若否,则依据所述目标访问请求中的操作信息进行相应操作。
9.根据权利要求1所述的方法,其特征在于,还包括:
查找限流总开关的状态;
若所述限流总开关的开关状态为开启,则执行步骤所述从多种候选限流策略中,查找与所述访问目的信息相对应的目标限流策略。
10.根据权利要求4所述的方法,其特征在于,步骤所述查找与所述访问目的信息相对应的目标限流策略包括:
查找与终端的用户标识相对应的用户开关的状态;
若用户开关的状态为开启,则查找属性信息与所述访问目的信息相对应,且,与终端的用户标识相对应的限流策略作为目标限流策略;
若用户开关的状态为关闭,则查找属性信息与所述访问目的信息中的访问地址信息相对应,且,与访问请求中的业务信息相对应的限流策略作为目标限流策略。
11.一种访问请求处理装置,其特征在于,包括:
获取模块,用于获取终端所发出的目标访问请求,所述目标访问请求中携带有访问目的信息和操作信息;
查找模块,用于从多种候选限流策略中,查找与所述访问目的信息相对应的目标限流策略;
限流模块,用于使用所述目标限流策略对所述目标访问请求进行限流处理,所述目标限流策略包括:按时限流子策略、按频率限流子策略和白名单限流子策略;
所述限流模块具体用于在所述目标限流策略中选择第一种限流子策略,所述第一种限流子策略为所述目标限流策略中的任意一种限流子策略;使用所述第一种限流子策略判断是否拒绝所述目标访问请求;若判断结果是不拒绝,则使用第二种限流子策略,其中,所述第二种限流子策略为所述目标限流策略中的除所述第一种限流子策略之外的任意一种限流子策略;使用所述第二种限流子策略判断是否拒绝所述目标访问请求;若判断结果是不拒绝,则使用第三种限流子策略,其中,所述第三种限流子策略为所述目标限流策略中的除所述第一种限流子策略和所述第二种限流子策略之外的一种限流子策略;使用所述第三种限流子策略判断是否拒绝所述目标访问请求;
查找模块包括:第二查找单元,用于查找与所述访问目的信息相对应的限流策略,所述限流策略包括按时限流子策略、按频率限流子策略和白名单限流子策略;
第三查找单元,用于查找访问目的信息所对应的目的开关的状态,以及每个限流子策略开关的状态,所述限流子策略开关包括:按时限流子策略的开关、按频率限流子策略的开关和白名单限流子策略的开关;
选择单元,用于当目的开关的状态为开启,则选择限流子策略开关的状态为开启的限流子策略作为所述目标限流策略。
12.一种服务器,其特征在于,包括:处理器以及存储器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述服务器执行以下操作:
获取终端所发出的目标访问请求,所述目标访问请求中携带有访问目的信息;
从多种候选限流策略中,查找与所述访问目的信息相对应的目标限流策略;
使用所述目标限流策略对所述目标访问请求进行限流处理,所述目标限流策略包括:按时限流子策略、按频率限流子策略和白名单限流子策略;
步骤所述使用所述目标限流策略对所述目标访问请求进行限流处理包括:
在所述目标限流策略中选择第一种限流子策略,所述第一种限流策略为所述目标限流策略中的任意一种限流子策略;
使用所述第一种限流子策略判断是否拒绝所述目标访问请求;
若判断结果是不拒绝,则使用第二种限流子策略,其中,所述第二种限流子策略为所述目标限流策略中的除所述第一种限流子策略之外的任意一种限流子策略;
使用所述第二种限流子策略判断是否拒绝所述目标访问请求;
若判断结果是不拒绝,则使用第三种限流子策略,其中,所述第三种限流子策略为所述目标限流策略中的除所述第一种限流子策略和所述第二种限流子策略之外的一种限流子策略;
使用所述第三种限流子策略判断是否拒绝所述目标访问请求;
所述从多种候选限流策略中,查找与所述访问目的信息相对应的目标限流策略包括:
查找与所述访问目的信息相对应的限流策略,所述限流策略包括按时限流子策略、按频率限流子策略和白名单限流子策略;
查找访问目的信息所对应的目的开关的状态,以及每个限流子策略开关的状态,所述限流子策略开关包括:按时限流子策略的开关、按频率限流子策略的开关和白名单限流子策略的开关;
若目的开关的状态为开启,则选择限流子策略开关的状态为开启的限流子策略作为所述目标限流策略。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-10任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610868422.XA CN106375472B (zh) | 2016-09-29 | 2016-09-29 | 访问请求处理方法、装置和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610868422.XA CN106375472B (zh) | 2016-09-29 | 2016-09-29 | 访问请求处理方法、装置和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106375472A CN106375472A (zh) | 2017-02-01 |
CN106375472B true CN106375472B (zh) | 2019-09-17 |
Family
ID=57898273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610868422.XA Active CN106375472B (zh) | 2016-09-29 | 2016-09-29 | 访问请求处理方法、装置和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106375472B (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2566765B (en) * | 2017-03-23 | 2022-09-14 | Pismo Labs Technology Ltd | Method and system for restricting transmission of data traffic for devices with networking capabilities |
CN108989205B (zh) * | 2017-06-01 | 2021-08-20 | 阿里巴巴集团控股有限公司 | 身份标识、路由数据生成方法、装置及服务器 |
CN107483356A (zh) * | 2017-09-22 | 2017-12-15 | 四川省艾普网络股份有限公司 | 融合cdn和p4p的数据流量控制方法及系统 |
CN107707488A (zh) * | 2017-10-25 | 2018-02-16 | 北京数码视讯支付技术有限公司 | 支付联机交易流量控制方法、限流服务端及客户端 |
CN109901923B (zh) * | 2017-12-07 | 2022-10-21 | 财付通支付科技有限公司 | 一种频率限制方法、频率限制装置及可读存储介质 |
CN110197075B (zh) * | 2018-04-11 | 2023-03-17 | 腾讯科技(深圳)有限公司 | 资源访问方法、装置、计算设备以及存储介质 |
CN109257293B (zh) * | 2018-08-01 | 2022-02-18 | 北京明朝万达科技股份有限公司 | 一种用于网络拥堵的限速方法、装置及网关服务器 |
CN109218212B (zh) * | 2018-09-03 | 2022-05-13 | 四川虹微技术有限公司 | 一种通过api网关对流量进行限制的方法 |
CN109542646A (zh) * | 2018-11-20 | 2019-03-29 | 北京京东尚科信息技术有限公司 | 用于调用应用程序编程接口的方法和装置 |
CN109784065A (zh) * | 2018-12-04 | 2019-05-21 | 北京达佳互联信息技术有限公司 | 访问控制方法、装置、服务器及存储介质 |
CN109787908B (zh) * | 2018-12-13 | 2023-04-07 | 平安普惠企业管理有限公司 | 服务器限流方法、系统、计算机设备及存储介质 |
CN111367868B (zh) * | 2018-12-26 | 2023-12-29 | 三六零科技集团有限公司 | 一种文件获取请求的处理方法和装置 |
CN109617996B (zh) * | 2019-01-04 | 2022-04-12 | 平安科技(深圳)有限公司 | 文件上传及下载方法、服务器及计算机可读存储介质 |
CN110321324A (zh) * | 2019-05-06 | 2019-10-11 | 北京百度网讯科技有限公司 | 目录访问流量控制方法、系统、服务器和计算机可读介质 |
CN110224943B (zh) * | 2019-05-29 | 2022-09-16 | 掌阅科技股份有限公司 | 基于url的流量服务限流方法、电子设备及计算机存储介质 |
CN110413416B (zh) * | 2019-07-31 | 2022-05-17 | 中国工商银行股份有限公司 | 一种分布式服务器的限流方法及装置 |
CN110401720B (zh) * | 2019-07-31 | 2022-08-30 | 中国工商银行股份有限公司 | 信息处理方法、装置、系统、应用服务器和介质 |
CN110535777B (zh) * | 2019-08-12 | 2022-07-12 | 新华三大数据技术有限公司 | 访问请求控制方法、装置、电子设备以及可读存储介质 |
CN110661717A (zh) * | 2019-10-25 | 2020-01-07 | 上海燕汐软件信息科技有限公司 | 一种限流方法、装置及电子设备 |
CN110784351A (zh) * | 2019-10-25 | 2020-02-11 | 上海燕汐软件信息科技有限公司 | 数据访问的控制方法及装置、电子设备、存储介质 |
CN111163123A (zh) * | 2019-11-25 | 2020-05-15 | 北京同邦卓益科技有限公司 | 一种服务请求的处理方法及装置 |
CN111212031A (zh) * | 2019-12-12 | 2020-05-29 | 北京淇瑀信息科技有限公司 | 一种接口访问频率的控制方法、装置、电子设备和存储介质 |
CN111179081A (zh) * | 2019-12-24 | 2020-05-19 | 中国建设银行股份有限公司 | 一种消息的处理方法和处理装置 |
CN111405024B (zh) * | 2020-03-11 | 2023-06-02 | 京东科技控股股份有限公司 | 一种业务处理方法、网关、电子设备及存储介质 |
CN111367645B (zh) * | 2020-03-18 | 2023-12-22 | 中国建设银行股份有限公司 | 一种实时任务调度控制方法、系统、设备及可读存储介质 |
US11576048B1 (en) * | 2020-04-28 | 2023-02-07 | T-Mobile Innovations Llc | Mitigating authentication-based hacking of access restricted telecommunication services |
CN111756644B (zh) * | 2020-06-30 | 2023-04-07 | 深圳壹账通智能科技有限公司 | 热点限流方法、系统、设备及存储介质 |
CN112804160B (zh) * | 2021-01-26 | 2023-06-06 | 北京嘀嘀无限科技发展有限公司 | 基于应用程序的限流方法、装置、设备、介质及产品 |
CN114039753B (zh) * | 2021-10-27 | 2024-03-12 | 中国联合网络通信集团有限公司 | 一种访问控制方法、装置、存储介质及电子设备 |
CN113986391A (zh) * | 2021-10-29 | 2022-01-28 | 杭州网易云音乐科技有限公司 | 请求处理方法、装置、介质和计算设备 |
CN114389882B (zh) * | 2022-01-14 | 2024-04-09 | 平安付科技服务有限公司 | 网关流量控制方法、装置、计算机设备及存储介质 |
CN115174479B (zh) * | 2022-07-19 | 2023-10-13 | 天翼云科技有限公司 | 一种流量控制方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040019809A1 (en) * | 2002-07-23 | 2004-01-29 | Sheinis Joseph Igor | System and method for providing entity-based security |
CN100464524C (zh) * | 2007-04-13 | 2009-02-25 | 华为技术有限公司 | 一种内容控制方法和系统 |
CN101321306B (zh) * | 2008-06-16 | 2011-07-06 | 华为技术有限公司 | 创建业务、部署业务的方法、装置 |
CN102915374B (zh) * | 2012-11-07 | 2016-04-06 | 北京搜狐新媒体信息技术有限公司 | 一种控制数据库资源访问的方法、装置及系统 |
CN103176817B (zh) * | 2012-12-21 | 2016-08-10 | 中国电力科学研究院 | 一种基于自学习的Linux安全策略配置方法 |
CN105915591B (zh) * | 2016-04-08 | 2020-03-03 | 腾讯科技(深圳)有限公司 | 访问控制方法和装置 |
CN105915510A (zh) * | 2016-04-12 | 2016-08-31 | 北京小米移动软件有限公司 | 控制业务访问量的方法和装置 |
-
2016
- 2016-09-29 CN CN201610868422.XA patent/CN106375472B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106375472A (zh) | 2017-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106375472B (zh) | 访问请求处理方法、装置和服务器 | |
CN101163336B (zh) | 一种手机终端访问权限认证的实现方法 | |
CN103368986B (zh) | 一种信息推荐方法及信息推荐装置 | |
US8024740B2 (en) | Acquisition system for distributed computing resources | |
CN100472519C (zh) | 用于动态查询优化的方法、设备和计算机程序 | |
US7668740B1 (en) | Method, system, and computer program product for interfacing with information sources | |
US8661499B2 (en) | Dynamic policy trees for matching policies | |
Qu et al. | Preference-aware query and update scheduling in web-databases | |
US8577906B2 (en) | Method for modifying a query by use of an external system for managing assignment of user and data classifications | |
Verma et al. | Policy-based management of content distribution networks | |
CN109995650A (zh) | 基于sdn网络的多维约束下路径计算方法及装置 | |
US8799986B2 (en) | System and method for controlling policy distribution with partial evaluation | |
CN105468619B (zh) | 用于数据库连接池的资源分配方法和装置 | |
DE112017007393T5 (de) | System und verfahren für netzwerkvorrichtungssicherheits- und vertrauenswertbestimmung | |
Van Herwegen et al. | Query execution optimization for clients of triple pattern fragments | |
US20020136204A1 (en) | Method and system for routing network traffic based upon application information | |
JP2006040084A (ja) | 資源情報収集配信方法およびシステム | |
CN106156061A (zh) | 一种提高数据查询效率的方法及装置 | |
JP3842319B2 (ja) | 情報検索システム | |
CN105323290B (zh) | 一种基于用户流量分布特征的内容调度方法和装置 | |
CN101686170B (zh) | 基于多出口用户路由的分级传输品质保障系统 | |
CN112084021A (zh) | 教育系统的界面配置方法、装置、设备及可读存储介质 | |
US20080005252A1 (en) | Searching users in heterogeneous instant messaging services | |
CN106940715B (zh) | 一种基于索引表的查询的方法及设备 | |
Bennajeh et al. | Web service composition based on a multi-agent system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |