CN106487708B - 网络访问请求控制方法和装置 - Google Patents
网络访问请求控制方法和装置 Download PDFInfo
- Publication number
- CN106487708B CN106487708B CN201510526847.8A CN201510526847A CN106487708B CN 106487708 B CN106487708 B CN 106487708B CN 201510526847 A CN201510526847 A CN 201510526847A CN 106487708 B CN106487708 B CN 106487708B
- Authority
- CN
- China
- Prior art keywords
- access request
- crawler
- service
- current limiting
- network 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
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000007717 exclusion Effects 0.000 claims description 29
- 230000008569 process Effects 0.000 claims description 16
- 230000009191 jumping Effects 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 3
- 230000015556 catabolic process Effects 0.000 claims 8
- 238000006731 degradation reaction Methods 0.000 claims 8
- 230000000593 degrading effect Effects 0.000 claims 2
- 230000001960 triggered effect Effects 0.000 claims 2
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 230000003068 static effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 241000239290 Araneae Species 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000009193 crawling Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- 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
- 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
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- 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/56—Provisioning of proxy services
- H04L67/567—Integrating service provisioning from a plurality of service providers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提出一种网络访问请求控制方法和装置,该网络访问请求控制方法包括:对网站接收的网络访问请求进行识别,获得所述网络访问请求所属的类别;根据所述网络访问请求所属的类别对所述网络访问请求进行控制。本申请可以根据网络访问请求所属的类别对网络访问请求进行控制,并可以针对分布式系统的不同层次采用不同流控方案,保障了大流量下,分布式系统的稳定性和可靠性。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种网络访问请求控制方法和装置。
背景技术
大型电商网络的架构是一个复杂的分布式网状架构,日均访问量上亿次,每次用户请求处理往往会依赖几十,甚至上百个子系统。要保证整体系统稳定,现有的做法都是尽量保证每个子系统的稳定性,不同子系统采用各自方法对自身访问入口、出口以及中间过程进行控制处理,没有一个统一的做法,流量增大后,很难保证所有子系统都是完全可靠的,并且这种方式也没有考虑到分布式链路的特点,不同子系统的保护措施甚至会引发系统之间的冲突。从控制手段上来看,对于突发流量(例如:爬虫抓取等),现在的做法一般是在入口做全局流量限制,但实际情况是,入口应用往往同时提供许多服务(最常见的情况是一个应用处理多个统一资源定位符(Uniform Resource Locator;以下简称:URL)请求),每个服务的服务能力也是不同的,这样的流量控制方法不具有针对性,存在实施方案不统一,控制粒度过粗的问题。
发明内容
本申请的目的旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的第一个目的在于提出一种网络访问请求控制方法。该方法可以根据网络访问请求所属的类别对网络访问请求进行控制,并可以针对分布式系统的不同层次采用不同流控方案,保障了大流量下,分布式系统的稳定性和可靠性。
本申请的第二个目的在于提出一种网络访问请求控制装置。
为了实现上述目的,本申请第一方面实施例的网络访问请求控制方法,包括:对网站接收的网络访问请求进行识别,获得所述网络访问请求所属的类别;根据所述网络访问请求所属的类别对所述网络访问请求进行控制。
本申请实施例的网络访问请求控制方法,对网站接收的网络访问请求进行识别,获得上述网络访问请求所属的类别,然后根据上述网络访问请求所属的类别对上述网络访问请求进行控制,从而可以根据网络访问请求所属的类别对网络访问请求进行控制,并可以针对分布式系统的不同层次采用不同流控方案,保障了大流量下,分布式系统的稳定性和可靠性。
为了实现上述目的,本申请第二方面实施例的网络访问请求控制装置,包括:识别模块,用于对网站接收的网络访问请求进行识别,获得所述网络访问请求所属的类别;控制模块,用于根据所述识别模块获得的所述网络访问请求所属的类别对所述网络访问请求进行控制。
本申请实施例的网络访问请求控制装置,识别模块对网站接收的网络访问请求进行识别,获得上述网络访问请求所属的类别,然后控制模块根据上述网络访问请求所属的类别对上述网络访问请求进行控制,从而可以根据网络访问请求所属的类别对网络访问请求进行控制,并可以针对分布式系统的不同层次采用不同流控方案,保障了大流量下,分布式系统的稳定性和可靠性。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请网络访问请求控制方法一个实施例的流程图;
图2为本申请网络访问请求控制方法另一个实施例的流程图;
图3为本申请网络访问请求控制方法再一个实施例的流程图;
图4为本申请网络访问请求控制方法再一个实施例的流程图;
图5为本申请网络访问请求控制方法再一个实施例的流程图;
图6为本申请网络访问请求控制方法的实现架构一个实施例的示意图;
图7为本申请网络访问请求控制装置一个实施例的结构示意图;
图8为本申请网络访问请求控制装置另一个实施例的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。相反,本申请的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
在开始介绍本申请提供的网络访问请求控制方法之前,首先对网络访问请求进行多维度划分以及对分布式系统进行分层。
经过分析,大型电子商务网站(以下简称:电商网站)的网络访问请求可以按来源分为一般用户访问请求、爬虫访问请求和无效访问请求。其中,用户访问请求是指正常的用户请求,用户访问请求是电商网站的命脉;爬虫访问请求是指各大搜索引擎为了获取电商网站的信息,不定时的发起的抓取网页信息的网络访问请求,其抓取情况会影响电商网站在搜索引擎中的排名;无效访问请求是指非用户和非爬虫的网络访问请求,该类网络访问请求往往是突发行为,并且对电商网站没有意义。
电商网站分布式系统按照职责不同,可以分为物理层、域名系统(Domain NameSystem;以下简称:DNS)层、网页(web)服务器层(包括开放式系统互联(Open SystemInterconnection;以下简称:OSI网络模型)、页面应用层和服务应用层。特别地,相对于其他类别的网站,大型电商网站由大量的商业逻辑和业务逻辑组成,所以提供各种功能点的内部服务应用数量众多,调用关系也交错复杂。
图1为本申请网络访问请求控制方法一个实施例的流程图,如图1所示,该网络访问请求控制方法可以包括:
步骤101,对网站接收的网络访问请求进行识别,获得上述网络访问请求所属的类别。
步骤102,根据上述网络访问请求所属的类别对上述网络访问请求进行控制。
上述网络访问请求控制方法中,对网站接收的网络访问请求进行识别,获得上述网络访问请求所属的类别,然后根据上述网络访问请求所属的类别对上述网络访问请求进行控制,从而可以根据网络访问请求所属的类别对网络访问请求进行控制,并可以针对分布式系统的不同层次采用不同流控方案,保障了大流量下,分布式系统的稳定性和可靠性。
图2为本申请网络访问请求控制方法另一个实施例的流程图,本实施例中,上述网络访问请求所属的类别可以为:用户访问请求;如图2所示,步骤102可以包括:
步骤201,对上述网站接收的用户访问请求进行域名解析,根据DNS层的限流策略返回服务集群的入口IP地址。
具体地,根据DNS层的限流策略返回服务集群的入口IP地址可以为:如果达到默认服务集群的限流阈值,则根据优先级返回除上述默认服务集群之外的其他服务集群的入口IP地址;如果未达到默认服务集群的限流阈值,则返回上述默认服务集群的入口IP地址。
其中,默认服务集群的限流阈值可以在具体实现时,根据系统性能和/或实现需求等自行设定,本实施例对上述默认服务集群的限流阈值的大小不作限定。
步骤202,将上述用户访问请求发送到上述入口IP地址对应的服务集群的web服务器层。
步骤203,判断上述用户访问请求是否触发web服务器层的限流策略。如果是,则执行步骤213;如果否,则执行步骤204。
步骤204,判断上述用户访问请求是否触发页面应用层的限流策略。如果是,则执行步骤213;如果否,则执行步骤205。
步骤205,判断上述用户访问请求的内部业务逻辑是否依赖其他服务。如果是,则执行步骤206;如果否,则执行步骤212。
步骤206,依次验证上述用户访问请求的内部业务逻辑所依赖的服务的调用是否满足降级策略。如果是,则执行步骤207;如果否,则执行步骤209。
步骤207,对满足降级策略的服务进行降级。
步骤208,当降级的服务调用实现的是优先级不高于预定阈值的业务逻辑时,直接完成上述降级的服务的调用;当上述降级的服务调用实现的是优先级高于预定阈值的业务逻辑时,对上述降级的服务的调用执行限流回退逻辑,完成上述降级的服务的调用。
其中,上述预定阈值可以在具体实现时根据系统性能和/或实现需求等自行设定,本实施例对上述预定阈值的大小不作限定。
其中,优先级高于预定阈值的业务逻辑可以为核心业务逻辑;对上述降级的服务的调用执行限流回退(fallback)逻辑可以为:发送回退通知,保障分布式事务等。
步骤209,判断上述用户访问请求的内部业务逻辑所依赖的服务的调用是否触发服务应用层的限流策略。如果是,则执行步骤210;如果否,则执行步骤211。
步骤210,执行上述限流策略,对上述用户访问请求的内部业务逻辑所依赖的服务的调用进行限制。然后返回执行步骤205。
步骤211,执行上述用户访问请求的内部业务逻辑所依赖的服务的内部逻辑。然后返回执行步骤206。
步骤212,继续执行页面业务逻辑,返回上述用户访问请求所请求的页面。结束本次流程。
步骤213,拒绝执行上述用户访问请求,并提示已对上述用户访问请求进行限流。结束本次流程。
具体地,提示已对上述用户访问请求进行限流可以为:将上述用户访问请求跳转到限流友好提示页面。
进一步地,步骤211之后,还可以等待上述用户访问请求的内部业务逻辑所依赖的服务的调用的执行,并判断是否存在上述用户访问请求的内部业务逻辑被所依赖的服务限流的情况,如果存在,则执行步骤208;如果不存在,则执行步骤212。
图3为本申请网络访问请求控制方法再一个实施例的流程图,本实施例中,上述网络访问请求所属的类别可以为:爬虫访问请求;如图3所示,步骤102可以包括:
步骤301,判断爬虫是否遵守网络爬虫排除标准(Robots Exclusion Protocol;以下简称:Robots)协议;如果是,则执行步骤302;如果否,则执行步骤307。
步骤302,接收上述爬虫发起的文件获取请求。
具体地,上述文件获取请求可以为Robots.txt文件获取请求。
步骤303,判断web服务器层是否存在需动态配置的网络爬虫排除标准协议文本(Robots.txt)文件;如果存在,则执行步骤304;如果不存在,则执行步骤305。
步骤304,向上述爬虫返回根据动态配置生成的Robots.txt文件。然后,执行步骤306。
步骤305,向上述爬虫返回默认的Robots.txt文件。然后,执行步骤306。
步骤306,接收上述爬虫根据上述Robots.txt文件发送的爬虫访问请求。然后执行步骤308。
步骤307,接收上述爬虫发送的爬虫访问请求。然后执行步骤308。
步骤308,对上述爬虫访问请求进行域名解析,根据DNS层的限流策略返回服务集群的入口IP地址。
具体地,根据DNS层的限流策略返回服务集群的入口IP地址可以为:如果达到默认服务集群的限流阈值,则根据优先级返回除上述默认服务集群之外的其他服务集群的入口IP地址;如果未达到默认服务集群的限流阈值,则返回上述默认服务集群的入口IP地址。
其中,默认服务集群的限流阈值可以在具体实现时,根据系统性能和/或实现需求等自行设定,本实施例对上述默认服务集群的限流阈值的大小不作限定。
步骤309,将上述爬虫访问请求发送到上述入口IP地址对应的服务集群的web服务器层。
步骤310,判断上述爬虫访问请求是否触发web服务器网络层的网络爬虫限流策略。如果否,则执行步骤311;如果是,则执行步骤314。
步骤311,获取上述爬虫访问请求的用户代理(user-agent)信息。
步骤312,根据上述用户代理信息判断上述爬虫访问请求是否触发web服务器应用层的限流策略;如果否,则执行步骤313;如果是,则执行步骤314。
步骤313,继续对上述爬虫访问请求执行与上述用户访问请求相同的限流策略。
具体地,继续对上述爬虫访问请求执行与上述用户访问请求相同的限流策略的过程可以参见本申请图2所示实施例中步骤204~步骤213描述的过程,在此不再赘述。
步骤314,拒绝执行上述爬虫访问请求,并提示已对上述爬虫访问请求进行限流。
具体地,提示已对上述爬虫访问请求进行限流可以为:将上述爬虫访问请求跳转到限流友好提示页面。
图4为本申请网络访问请求控制方法再一个实施例的流程图,本实施例中,上述网络访问请求所属的类别可以为:无效访问请求;如图4所示,步骤102可以为:
步骤401,对上述网站接收的访问请求进行域名解析,根据DNS层的限流策略返回服务集群的入口IP地址。
具体地,根据DNS层的限流策略返回服务集群的入口IP地址可以为:如果达到默认服务集群的限流阈值,则根据优先级返回除上述默认服务集群之外的其他服务集群的入口IP地址;如果未达到默认服务集群的限流阈值,则返回上述默认服务集群的入口IP地址。
其中,默认服务集群的限流阈值可以在具体实现时,根据系统性能和/或实现需求等自行设定,本实施例对上述默认服务集群的限流阈值的大小不作限定。
步骤402,将上述访问请求发送到上述入口IP地址对应的服务集群的web服务器层,以使上述web服务器层获取最新的无效访问请求列表。
步骤403,判断上述访问请求是否存在上述无效访问请求列表中。如果是,则执行步骤404;如果否,则执行步骤405。
步骤404,停止对上述访问请求的处理。
步骤405,在页面应用层对上述访问请求进行处理之前,识别上述访问请求所属的网络访问请求是否为无效访问请求。如果是,则执行步骤404;如果否,则执行步骤406。
步骤406,确定上述访问请求所属的网络访问请求为用户访问请求,执行与上述用户访问请求相同的限流策略。后续执行过程可以参见本申请图2所示实施例步骤204~步骤213描述的过程,在此不再赘述。
图2、图3和图4所示实施例分别从3个网络访问请求维度介绍了不同层次的静态流控体系,主要通过动态配置各层的流控配置来避免预期出现问题,但实际场景中,可能出现网络访问请求突增超出预期的问题,所以,需要制定好预案配置,出现严重超出系统稳定性阈值的情况时,动态调整限流策略。特别注意,对于大型电商网站来讲,用户访问请求优先级最高,爬虫访问请求次之。
图5为本申请网络访问请求控制方法再一个实施例的流程图,本实施例对限流策略的动态调整过程进行介绍,本实施例介绍的限流策略的动态调整过程可以在步骤102之前,如图5所示,可以包括:
步骤501,获取服务集群当前的整体访问请求。
步骤502,判断上述整体访问请求是否大于集群稳定性阈值。如果是,则执行步骤503;如果否,则执行步骤512。
其中,上述集群稳定性阈值可以在具体实现时,根据系统性能和/或实现需求等自行设定,本实施例对上述集群稳定性阈值的大小不作限定。
步骤503,判断是否可以将上述服务集群的网络访问请求跳转到除上述服务集群之外的其他服务集群;如果是,则执行步骤504;如果否,则执行步骤505。
步骤504,根据优先级将上述服务集群的网络访问请求跳转到其他服务集群。然后执行步骤501。
步骤505,判断是否可以对上述服务集群进行物理层扩容。如果是,则执行步骤506;如果否,则执行步骤507。
步骤506,对上述服务集群进行物理层扩容,并更新集群稳定性阈值。然后执行步骤501。
步骤507,判断是否可以进行爬虫访问请求限制。如果是,则执行步骤508;如果否,则执行步骤509。
步骤508,根据爬虫优先级对爬虫访问请求进行限制。然后执行步骤501。
具体地,根据爬虫优先级对爬虫访问请求进行限制可以为:根据爬虫优先级调整流控配置来限制爬虫访问请求,其中,爬虫优先级可以根据实际业务优先级动态调整。
步骤509,判断是否可以进行用户访问请求限制;如果是,则执行步骤510;如果否,则执行步骤511。
步骤510,根据业务优先级对用户访问请求进行限制。然后执行步骤501。
具体地,根据业务优先级对用户访问请求进行限制可以为:根据业务优先级调整URL流控配置来限制用户访问请求。
步骤511,进行人工干预处理。然后执行步骤512。
步骤512,完成对限流策略的调整。
从图2~图5所示实施例提供的网络访问请求控制方法可以看出,本申请提供的网络访问请求控制方法可以将网络访问请求划分为不同维度,基于业务优先级进行细粒度流控,并可以针对分布式系统划分层次,利用不同层次优势,采用不同技术方案进行限流降级。另外,本申请采用统一平台配置化管理,静态设置,动态管理,动静结合,保证了时效性和稳定性。
本申请图1~图5所示实施例提供的网络访问请求控制方法可以通过图6所示的系统架构实现,图6为本申请网络访问请求控制方法的实现架构一个实施例的示意图,如图6所示,该系统架构可以包括:配置平台、配置数据交互中心、DNS服务器、CDN服务器、web服务器和应用服务器。
其中,配置平台的主要功能包括:第一,开发人员可以在该配置平台上对分布式系统各层的网络访问请求进行查看和动态修改限流策略(其中,动态修改限流策略的流程可以参见本申请图5所示实施例的描述),然后实时与DNS服务器、web服务器和应用服务器等进行配置数据交换;第二、配置平台结合网络访问请求识别子系统,对子系统识别出来的无效访问请求来源进行记录;第三、爬虫配置功能,对网络访问请求识别子系统识别出的真正爬虫访问请求来源进行配置;第四、限流配置功能,对URL和/或服务等根据每秒查询率(Query Per Second;以下简称:QPS)和/或响应时间(Response Time;以下简称:RT)进行配置;
配置数据交互中心是配置平台对外的统一出口,用于与部署在不同服务器上的流控插件进行数据交互。
流控插件用于实现具体流控功判断功能,各服务器通过流控插件与配置数据交互中心定时交互,获取最新的限流策略。
CDN服务器用于存放静态文件,以及限流后跳转的用户友好提示页面。
图7为本申请网络访问请求控制装置一个实施例的结构示意图,本实施例中的网络访问请求控制装置可以设置在网站中,实现本申请图1所示实施例的流程,如图7所示,该网络访问请求控制装置可以包括:识别模块71和控制模块72;
其中,识别模块71,用于对网站接收的网络访问请求进行识别,获得上述网络访问请求所属的类别;在具体实现时,识别模块71可以设置在图6所示的系统架构中的配置平台上。
控制模块72,用于根据识别模块71获得的上述网络访问请求所属的类别对上述网络访问请求进行控制。在具体实现时,控制模块72可以作为图6所示的系统架构中的流控插件,设置在DNS服务器、web服务器和应用服务器上。
上述网络访问请求控制装置中,识别模块71对网站接收的网络访问请求进行识别,获得上述网络访问请求所属的类别,然后控制模块72根据上述网络访问请求所属的类别对上述网络访问请求进行控制,从而可以根据网络访问请求所属的类别对网络访问请求进行控制,并可以针对分布式系统的不同层次采用不同流控方案,保障了大流量下,分布式系统的稳定性和可靠性。
图8为本申请网络访问请求控制装置另一个实施例的结构示意图,与图7所示的网络访问请求控制装置相比,不同之处在于,本实施例的一种实现方式中,识别模块71获得的上述网络访问请求所属的类别可以为:用户访问请求;控制模块72可以包括:解析子模块721、发送子模块722和执行子模块723;
其中,解析子模块721,用于对上述网站接收的用户访问请求进行域名解析,根据DNS层的限流策略返回服务集群的入口IP地址;其中,解析子模块721,具体用于当达到默认服务集群的限流阈值时,根据优先级返回除上述默认服务集群之外的其他服务集群的入口IP地址;当未达到默认服务集群的限流阈值时,返回上述默认服务集群的入口IP地址。其中,默认服务集群的限流阈值可以在具体实现时,根据系统性能和/或实现需求等自行设定,本实施例对上述默认服务集群的限流阈值的大小不作限定。
发送子模块722,用于将上述用户访问请求发送到上述入口IP地址对应的服务集群的网页服务器层;
执行子模块723,用于当上述用户访问请求未触发网页服务器层的限流策略,并且未触发页面应用层的限流策略,并且上述用户访问请求的内部业务逻辑不依赖其他服务时,继续执行页面业务逻辑,返回上述用户访问请求所请求的页面。
进一步地,控制模块72还可以包括:
限流子模块724,用于在发送子模块722将上述用户访问请求发送到上述入口IP地址对应的服务集群的网页服务器层之后,如果上述用户访问请求触发了网页服务器层的限流策略,或者上述用户访问请求未触发网页服务器层的限流策略,但触发了页面应用层的限流策略,则拒绝执行上述用户访问请求,并提示已对上述用户访问请求进行限流。
进一步地,控制模块72还可以包括:验证子模块725、降级子模块726和调用子模块727;
验证子模块725,用于当上述用户访问请求的内部业务逻辑依赖其他服务时,依次验证上述用户访问请求的内部业务逻辑所依赖的服务的调用是否满足降级策略;
降级子模块726,用于当上述用户访问请求的内部业务逻辑所依赖的服务的调用满足降级策略时,对满足降级策略的服务进行降级;
调用子模块727,用于当降级的服务调用实现的是优先级不高于预定阈值的业务逻辑时,直接完成上述降级的服务的调用;当上述降级的服务调用实现的是优先级高于预定阈值的业务逻辑时,对上述降级的服务的调用执行限流回退逻辑,完成上述降级的服务的调用。
其中,上述预定阈值可以在具体实现时根据系统性能和/或实现需求等自行设定,本实施例对上述预定阈值的大小不作限定。
其中,优先级高于预定阈值的业务逻辑可以为核心业务逻辑;对上述降级的服务的调用执行限流回退(fallback)逻辑可以为:发送回退通知,保障分布式事务等。
进一步地,控制模块72还可以包括:判断子模块728;
判断子模块728,用于当上述用户访问请求的内部业务逻辑所依赖的服务的调用不满足降级策略时,判断上述用户访问请求的内部业务逻辑所依赖的服务的调用是否触发服务应用层的限流策略;
限流子模块724,用于当上述用户访问请求的内部业务逻辑所依赖的服务的调用触发服务应用层的限流策略时,执行上述限流策略,对上述用户访问请求的内部业务逻辑所依赖的服务的调用进行限制;
执行子模块723,用于当上述用户访问请求的内部业务逻辑所依赖的服务的调用未触发服务应用层的限流策略时,执行上述用户访问请求的内部业务逻辑所依赖的服务的内部逻辑。
本实施例的另一种实现方式中,识别模块71获得的网络访问请求所属的类别包括:爬虫访问请求;控制模块72可以包括:判断子模块728、接收子模块729、解析子模块721、发送子模块722、获取子模块7210和限流子模块724;
其中,判断子模块728,用于判断爬虫是否遵守网络爬虫排除标准协议;
接收子模块729,用于当判断子模块728确定爬虫不遵守网络爬虫排除标准协议时,接收上述爬虫发送的爬虫访问请求;
解析子模块721,还用于对上述爬虫访问请求进行域名解析,根据DNS层的限流策略返回服务集群的入口IP地址;
发送子模块722,还用于将上述爬虫访问请求发送到上述入口IP地址对应的服务集群的网页服务器层;
判断子模块728,还用于判断上述爬虫访问请求是否触发网页服务器网络层的网络爬虫限流策略;
获取子模块7210,用于当判断子模块728确定上述爬虫访问请求未触发网页服务器网络层的网络爬虫限流策略时,获取上述爬虫访问请求的用户代理信息;
判断子模块728,还用于根据获取子模块7210获取的用户代理信息判断上述爬虫访问请求是否触发网页服务器应用层的限流策略;
限流子模块724,用于当判断子模块728确定上述爬虫访问请求未触发网页服务器应用层的限流策略时,继续对上述爬虫访问请求执行与上述用户访问请求相同的限流策略。
进一步地,接收子模块729,还用于当爬虫遵守网络爬虫排除标准协议时,接收上述爬虫发起的文件获取请求;
判断子模块728,还用于判断网页服务器层是否存在需动态配置的网络爬虫排除标准协议文本文件;
发送子模块722,还用于当判断子模块728确定网页服务器层存在需动态配置的网络爬虫排除标准协议文本文件时,向上述爬虫返回根据动态配置生成的网络爬虫排除标准协议文本文件;当判断子模块728确定网页服务器层不存在需动态配置的网络爬虫排除标准协议文本文件时,向上述爬虫返回默认的网络爬虫排除标准协议文本文件;
接收子模块729,还用于接收上述爬虫根据上述网络爬虫排除标准协议文本文件发送的爬虫访问请求。
本实现方式中,限流子模块724,还用于当上述爬虫访问请求触发网页服务器网络层的网络爬虫限流策略时,拒绝执行上述爬虫访问请求,并提示已对上述爬虫访问请求进行限流。
限流子模块724,还用于当上述爬虫访问请求触发网页服务器应用层的限流策略时,拒绝执行上述爬虫访问请求,并提示已对上述爬虫访问请求进行限流。
本实施例的再一种实现方式中,识别模块71获得的网络访问请求所属的类别包括:无效访问请求;
解析子模块721,还用于对上述网站接收的访问请求进行域名解析,根据DNS层的限流策略返回服务集群的入口IP地址;
发送子模块722,还用于将上述访问请求发送到上述入口IP地址对应的服务集群的网页服务器层,以使上述网页服务器层获取最新的无效访问请求列表;
控制模块72还可以包括:判断子模块728和限流子模块724;
其中,判断子模块728,用于判断上述访问请求是否存在上述无效访问请求列表中;
限流子模块724,用于当判断子模块728确定上述访问请求存在上述无效网络访问请求列表中时,停止对上述访问请求的处理。
识别模块71,还用于当判断子模块728确定上述访问请求不存在于上述无效访问请求列表中时,在页面应用层对上述访问请求进行处理之前,识别上述访问请求所属的网络访问请求是否为无效访问请求;
限流子模块724,还用于当识别模块71识别上述访问请求所属的网络访问请求为无效访问请求时,停止对上述访问请求的处理;以及当识别模块71识别上述访问请求所属的网络访问请求不是无效访问请求时,确定上述访问请求所属的网络访问请求为用户访问请求,执行与上述用户访问请求相同的限流策略。
进一步地,上述网络访问请求控制装置还可以包括:获取模块73、判断模块74和调整模块75;在具体实现时,上述获取模块73、判断模块74和调整模块75可以设置在图6所示的系统架构中的配置平台上。
获取模块73,用于获取服务集群当前的整体访问请求;
判断模块74,用于判断获取模块73获取的整体访问请求是否大于集群稳定性阈值;其中,上述集群稳定性阈值可以在具体实现时,根据系统性能和/或实现需求等自行设定,本实施例对上述集群稳定性阈值的大小不作限定。
调整模块75,用于当获取模块73获取的整体访问请求不大于集群稳定性阈值时,完成对限流策略的调整。
进一步地,上述网络访问请求控制装置还可以包括:跳转模块76、扩容模块77和限制模块78;在具体实现时,上述跳转模块76、扩容模块77和限制模块78可以设置在图6所示的系统架构中的配置平台上。
其中,判断模块74,还用于当获取模块73获取的整体访问请求大于集群稳定性阈值时,判断是否可以将上述服务集群的网络访问请求跳转到除上述服务集群之外的其他服务集群;
跳转模块76,用于当判断模块74确定可以将上述服务集群的网络访问请求跳转到除上述服务集群之外的其他服务集群时,根据优先级将上述服务集群的网络访问请求跳转到其他服务集群。
判断模块74,还用于当确定不可以将上述服务集群的网络访问请求跳转到除上述服务集群之外的其他服务集群时,判断是否可以对上述服务集群进行物理层扩容;
扩容模块77,还用于当判断模块74确定可以对上述服务集群进行物理层扩容时,对上述服务集群进行物理层扩容,并更新集群稳定性阈值。
判断模块74,还用于当确定不可以对所述服务集群进行物理层扩容时,判断是否可以进行爬虫访问请求限制;
限制模块78,用于当判断模块74确定可以进行爬虫访问请求限制时,根据爬虫优先级对爬虫访问请求进行限制。
判断模块74,还用于当确定不可以进行爬虫访问请求限制时,判断是否可以进行用户访问请求限制;
限制模块78,还用于当判断模块74确定可以进行用户访问请求限制时,根据业务优先级对用户访问请求进行限制。
上述网络访问请求控制装置可以将网络访问请求划分为不同维度,基于业务优先级进行细粒度流控,并可以针对分布式系统划分层次,利用不同层次优势,采用不同技术方案进行限流降级。另外,上述网络访问请求控制装置采用统一平台配置化管理,静态设置,动态管理,动静结合,保证了时效性和稳定性。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(Programmable Gate Array;以下简称:PGA),现场可编程门阵列(Field ProgrammableGate Array;以下简称:FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (34)
1.一种网络访问请求控制方法,其特征在于,包括:
对网站接收的网络访问请求进行识别,获得所述网络访问请求所属的类别;其中,所述网络访问请求所属的类别包括以下至少之一:用户访问请求、爬虫访问请求、无效访问请求;
根据所述网络访问请求所属的类别对所述网络访问请求进行控制;其中,根据所述网络访问请求所属的类别对所述网络访问请求进行控制,包括:根据所述网络访问请求所属的类别,针对分布式系统的不同层次采用不同流控方案,所述分布式系统中的对应层包括以下至少之一:物理层、域名系统DNS层、网页服务器层、页面应用层和服务应用层。
2.根据权利要求1所述的方法,其特征在于,所述网络访问请求所属的类别包括:用户访问请求;所述根据所述网络访问请求所属的类别对所述网络访问请求进行控制包括:
对所述网站接收的用户访问请求进行域名解析,根据域名系统DNS层的限流策略返回服务集群的入口因特网协议IP地址;
将所述用户访问请求发送到所述入口IP地址对应的服务集群的网页服务器层;
如果所述用户访问请求未触发网页服务器层的限流策略,并且未触发页面应用层的限流策略,并且所述用户访问请求的内部业务逻辑不依赖其他服务,则继续执行页面业务逻辑,返回所述用户访问请求所请求的页面。
3.根据权利要求2所述的方法,其特征在于,所述根据域名系统DNS层的限流策略返回服务集群的入口因特网协议IP地址包括:
如果达到默认服务集群的限流阈值,则根据优先级返回除所述默认服务集群之外的其他服务集群的入口IP地址;如果未达到默认服务集群的限流阈值,则返回所述默认服务集群的入口IP地址。
4.根据权利要求2所述的方法,其特征在于,所述将所述用户访问请求发送到所述入口IP地址对应的服务集群的网页服务器层之后,还包括:
如果所述用户访问请求触发了网页服务器层的限流策略,或者所述用户访问请求未触发网页服务器层的限流策略,但触发了页面应用层的限流策略,则拒绝执行所述用户访问请求,并提示已对所述用户访问请求进行限流。
5.根据权利要求2所述的方法,其特征在于,所述将所述用户访问请求发送到所述入口IP地址对应的服务集群的网页服务器层之后,所述继续执行页面业务逻辑,返回所述用户访问请求所请求的页面之前,还包括:
如果所述用户访问请求的内部业务逻辑依赖其他服务,则依次验证所述用户访问请求的内部业务逻辑所依赖的服务的调用是否满足降级策略;
如果是,则对满足降级策略的服务进行降级,并且当降级的服务调用实现的是优先级不高于预定阈值的业务逻辑时,直接完成所述降级的服务的调用;当所述降级的服务调用实现的是优先级高于预定阈值的业务逻辑时,对所述降级的服务的调用执行限流回退逻辑,完成所述降级的服务的调用。
6.根据权利要求5所述的方法,其特征在于,所述依次验证所述用户访问请求的内部业务逻辑所依赖的服务的调用是否满足降级策略之后,还包括:
如果所述用户访问请求的内部业务逻辑所依赖的服务的调用不满足降级策略,则判断所述用户访问请求的内部业务逻辑所依赖的服务的调用是否触发服务应用层的限流策略;
如果是,则执行所述限流策略,对所述用户访问请求的内部业务逻辑所依赖的服务的调用进行限制;
如果所述用户访问请求的内部业务逻辑所依赖的服务的调用未触发服务应用层的限流策略,则执行所述用户访问请求的内部业务逻辑所依赖的服务的内部逻辑。
7.根据权利要求2-6任意一项所述的方法,其特征在于,所述网络访问请求所属的类别包括:爬虫访问请求;所述根据所述网络访问请求所属的类别对所述网络访问请求进行控制包括:
判断爬虫是否遵守网络爬虫排除标准协议;
如果否,则接收所述爬虫发送的爬虫访问请求;
对所述爬虫访问请求进行域名解析,根据DNS层的限流策略返回服务集群的入口IP地址;
将所述爬虫访问请求发送到所述入口IP地址对应的服务集群的网页服务器层;
判断所述爬虫访问请求是否触发网页服务器层的网络爬虫限流策略;
如果否,则获取所述爬虫访问请求的用户代理信息,根据所述用户代理信息判断所述爬虫访问请求是否触发页面应用层的限流策略;
如果否,则继续对所述爬虫访问请求执行与所述用户访问请求相同的限流策略。
8.根据权利要求7所述的方法,其特征在于,所述判断爬虫是否遵守网络爬虫排除标准协议之后,还包括:
如果爬虫遵守网络爬虫排除标准协议,则接收所述爬虫发起的文件获取请求;
判断网页服务器层是否存在需动态配置的网络爬虫排除标准协议文本文件;如果存在,则向所述爬虫返回根据动态配置生成的网络爬虫排除标准协议文本文件;如果不存在,则向所述爬虫返回默认的网络爬虫排除标准协议文本文件;
接收所述爬虫根据所述网络爬虫排除标准协议文本文件发送的爬虫访问请求。
9.根据权利要求7所述的方法,其特征在于,所述判断所述爬虫访问请求是否触发网页服务器层的网络爬虫限流策略之后,还包括:
如果所述爬虫访问请求触发网页服务器层的网络爬虫限流策略,则拒绝执行所述爬虫访问请求,并提示已对所述爬虫访问请求进行限流。
10.根据权利要求7所述的方法,其特征在于,所述根据所述用户代理信息判断所述爬虫访问请求是否触发页面应用层的限流策略之后,还包括:
如果所述爬虫访问请求触发页面应用层的限流策略,则拒绝执行所述爬虫访问请求,并提示已对所述爬虫访问请求进行限流。
11.根据权利要求2-6任意一项所述的方法,其特征在于,所述网络访问请求所属的类别包括:无效访问请求;所述根据所述网络访问请求所属的类别对所述网络访问请求进行控制包括:
对所述网站接收的访问请求进行域名解析,根据DNS层的限流策略返回服务集群的入口IP地址;
将所述访问请求发送到所述入口IP地址对应的服务集群的网页服务器层,以使所述网页服务器层获取最新的无效访问请求列表;
判断所述访问请求是否存在所述无效访问请求列表中;
如果是,则停止对所述访问请求的处理。
12.根据权利要求11所述的方法,其特征在于,所述判断所述访问请求是否存在所述无效访问请求列表中之后,还包括:
如果所述访问请求不存在于所述无效访问请求列表中,则在页面应用层对所述访问请求进行处理之前,识别所述访问请求所属的网络访问请求是否为无效访问请求;
如果是,则停止对所述访问请求的处理;
如果所述访问请求所属的网络访问请求不是无效访问请求,则确定所述访问请求所属的网络访问请求为用户访问请求,执行与所述用户访问请求相同的限流策略。
13.根据权利要求1所述的方法,其特征在于,所述根据所述网络访问请求所属的类别对所述网络访问请求进行控制之前,还包括:
获取服务集群当前的整体访问请求;
判断所述整体访问请求是否大于集群稳定性阈值;
如果否,则完成对限流策略的调整。
14.根据权利要求13所述的方法,其特征在于,所述判断所述整体访问请求是否大于集群稳定性阈值之后,还包括:
如果所述整体访问请求大于集群稳定性阈值,则判断是否可以将所述服务集群的网络访问请求跳转到除所述服务集群之外的其他服务集群;
如果是,则根据优先级将所述服务集群的网络访问请求跳转到其他服务集群,并再次执行所述获取服务集群当前的整体访问请求的步骤及其后续步骤。
15.根据权利要求14所述的方法,其特征在于,所述判断是否可以将所述服务集群的网络访问请求跳转到除所述服务集群之外的其他服务集群之后,还包括:
如果否,则判断是否可以对所述服务集群进行物理层扩容;
如果是,则对所述服务集群进行物理层扩容,并更新集群稳定性阈值,并再次执行所述获取服务集群当前的整体访问请求的步骤及其后续步骤。
16.根据权利要求15所述的方法,其特征在于,所述判断是否可以对所述服务集群进行物理层扩容之后,还包括:
如果否,则判断是否可以进行爬虫访问请求限制;
如果是,则根据爬虫优先级对爬虫访问请求进行限制,并再次执行所述获取服务集群当前的整体访问请求的步骤及其后续步骤。
17.根据权利要求16所述的方法,其特征在于,所述判断是否可以进行爬虫限流之后,还包括:
如果否,则判断是否可以进行用户访问请求限制;
如果是,则根据业务优先级对用户访问请求进行限制,并再次执行所述获取服务集群当前的整体访问请求的步骤及其后续步骤。
18.一种网络访问请求控制装置,其特征在于,包括:
识别模块,用于对网站接收的网络访问请求进行识别,获得所述网络访问请求所属的类别;其中,所述网络访问请求所属的类别包括以下至少之一:用户访问请求、爬虫访问请求、无效访问请求;
控制模块,用于根据所述识别模块获得的所述网络访问请求所属的类别对所述网络访问请求进行控制;其中,所述控制模块具体用于根据所述网络访问请求所属的类别对所述网络访问请求进行控制,包括:根据所述网络访问请求所属的类别,针对分布式系统的不同层次采用不同流控方案,所述分布式系统中的对应层包括以下至少之一:物理层、域名系统DNS层、网页服务器层、页面应用层和服务应用层。
19.根据权利要求18所述的装置,其特征在于,所述识别模块获得的所述网络访问请求所属的类别包括:用户访问请求;所述控制模块包括:
解析子模块,用于对所述网站接收的用户访问请求进行域名解析,根据域名系统DNS层的限流策略返回服务集群的入口因特网协议IP地址;
发送子模块,用于将所述用户访问请求发送到所述入口IP地址对应的服务集群的网页服务器层;
执行子模块,用于当所述用户访问请求未触发网页服务器层的限流策略,并且未触发页面应用层的限流策略,并且所述用户访问请求的内部业务逻辑不依赖其他服务时,继续执行页面业务逻辑,返回所述用户访问请求所请求的页面。
20.根据权利要求19所述的装置,其特征在于,
所述解析子模块,具体用于当达到默认服务集群的限流阈值时,根据优先级返回除所述默认服务集群之外的其他服务集群的入口IP地址;当未达到默认服务集群的限流阈值时,返回上述默认服务集群的入口IP地址。
21.根据权利要求19所述的装置,其特征在于,所述控制模块还包括:
限流子模块,用于在所述发送子模块将所述用户访问请求发送到所述入口IP地址对应的服务集群的网页服务器层之后,如果所述用户访问请求触发了网页服务器层的限流策略,或者所述用户访问请求未触发网页服务器层的限流策略,但触发了页面应用层的限流策略,则拒绝执行所述用户访问请求,并提示已对所述用户访问请求进行限流。
22.根据权利要求19所述的装置,其特征在于,所述控制模块还包括:
验证子模块,用于当所述用户访问请求的内部业务逻辑依赖其他服务时,依次验证所述用户访问请求的内部业务逻辑所依赖的服务的调用是否满足降级策略;
降级子模块,用于当所述用户访问请求的内部业务逻辑所依赖的服务的调用满足降级策略时,对满足降级策略的服务进行降级;
调用子模块,用于当降级的服务调用实现的是优先级不高于预定阈值的业务逻辑时,直接完成所述降级的服务的调用;当所述降级的服务调用实现的是优先级高于预定阈值的业务逻辑时,对所述降级的服务的调用执行限流回退逻辑,完成所述降级的服务的调用。
23.根据权利要求22所述的装置,其特征在于,所述控制模块还包括:
判断子模块,用于当所述用户访问请求的内部业务逻辑所依赖的服务的调用不满足降级策略时,判断所述用户访问请求的内部业务逻辑所依赖的服务的调用是否触发服务应用层的限流策略;
限流子模块,用于当所述用户访问请求的内部业务逻辑所依赖的服务的调用触发服务应用层的限流策略时,执行所述限流策略,对所述用户访问请求的内部业务逻辑所依赖的服务的调用进行限制;
执行子模块,用于当所述用户访问请求的内部业务逻辑所依赖的服务的调用未触发服务应用层的限流策略时,执行所述用户访问请求的内部业务逻辑所依赖的服务的内部逻辑。
24.根据权利要求19-23任意一项所述的装置,其特征在于,所述识别模块获得的网络访问请求所属的类别包括:爬虫访问请求;
所述控制模块包括:
判断子模块,用于判断爬虫是否遵守网络爬虫排除标准协议;
接收子模块,用于当所述判断子模块确定爬虫不遵守网络爬虫排除标准协议时,接收所述爬虫发送的爬虫访问请求;
所述解析子模块,还用于对所述爬虫访问请求进行域名解析,根据DNS层的限流策略返回服务集群的入口IP地址;
所述发送子模块,还用于将所述爬虫访问请求发送到所述入口IP地址对应的服务集群的网页服务器层;
所述判断子模块,还用于判断所述爬虫访问请求是否触发网页服务器层的网络爬虫限流策略;
获取子模块,用于当所述判断子模块确定所述爬虫访问请求未触发网页服务器层的网络爬虫限流策略时,获取所述爬虫访问请求的用户代理信息;
所述判断子模块,还用于根据所述获取子模块获取的用户代理信息判断所述爬虫访问请求是否触发页面应用层的限流策略;
限流子模块,用于当所述判断子模块确定所述爬虫访问请求未触发页面应用层的限流策略时,继续对所述爬虫访问请求执行与所述用户访问请求相同的限流策略。
25.根据权利要求24所述的装置,其特征在于,
所述接收子模块,还用于当爬虫遵守网络爬虫排除标准协议时,接收所述爬虫发起的文件获取请求;
所述判断子模块,还用于判断网页服务器层是否存在需动态配置的网络爬虫排除标准协议文本文件;
所述发送子模块,还用于当所述判断子模块确定网页服务器层存在需动态配置的网络爬虫排除标准协议文本文件时,向所述爬虫返回根据动态配置生成的网络爬虫排除标准协议文本文件;当所述判断子模块确定网页服务器层不存在需动态配置的网络爬虫排除标准协议文本文件时,向所述爬虫返回默认的网络爬虫排除标准协议文本文件;
所述接收子模块,还用于接收所述爬虫根据所述网络爬虫排除标准协议文本文件发送的爬虫访问请求。
26.根据权利要求24所述的装置,其特征在于,
所述限流子模块,还用于当所述爬虫访问请求触发网页服务器层的网络爬虫限流策略时,拒绝执行所述爬虫访问请求,并提示已对所述爬虫访问请求进行限流。
27.根据权利要求24所述的装置,其特征在于,
所述限流子模块,还用于当所述爬虫访问请求触发页面应用层的限流策略时,拒绝执行所述爬虫访问请求,并提示已对所述爬虫访问请求进行限流。
28.根据权利要求19-23任意一项所述的装置,其特征在于,所述识别模块获得的网络访问请求所属的类别包括:无效访问请求;
所述解析子模块,还用于对所述网站接收的访问请求进行域名解析,根据DNS层的限流策略返回服务集群的入口IP地址;
所述发送子模块,还用于将所述访问请求发送到所述入口IP地址对应的服务集群的网页服务器层,以使所述网页服务器层获取最新的无效访问请求列表;
所述控制模块还包括:
判断子模块,用于判断所述访问请求是否存在所述无效访问请求列表中;
限流子模块,用于当所述判断子模块确定所述访问请求存在所述无效访问请求列表中时,停止对所述访问请求的处理。
29.根据权利要求28所述的装置,其特征在于,
所述识别模块,还用于当所述判断子模块确定所述访问请求不存在于所述无效访问请求列表中时,在页面应用层对所述访问请求进行处理之前,识别所述访问请求所属的网络访问请求是否为无效访问请求;
所述限流子模块,还用于当所述识别模块识别所述访问请求所属的网络访问请求为无效访问请求时,停止对所述访问请求的处理;以及当所述识别模块识别所述访问请求所属的网络访问请求不是无效访问请求时,确定所述访问请求所属的网络访问请求为用户访问请求,执行与所述用户访问请求相同的限流策略。
30.根据权利要求18所述的装置,其特征在于,还包括:
获取模块,用于获取服务集群当前的整体访问请求;
判断模块,用于判断所述获取模块获取的整体访问请求是否大于集群稳定性阈值;
调整模块,用于当所述获取模块获取的整体访问请求不大于集群稳定性阈值时,完成对限流策略的调整。
31.根据权利要求30所述的装置,其特征在于,还包括:跳转模块;
所述判断模块,还用于当所述获取模块获取的整体访问请求大于集群稳定性阈值时,判断是否可以将所述服务集群的网络访问请求跳转到除所述服务集群之外的其他服务集群;
所述跳转模块,用于当所述判断模块确定可以将所述服务集群的网络访问请求跳转到除所述服务集群之外的其他服务集群时,根据优先级将所述服务集群的网络访问请求跳转到其他服务集群。
32.根据权利要求31所述的装置,其特征在于,还包括:扩容模块;
所述判断模块,还用于当确定不可以将所述服务集群的网络访问请求跳转到除所述服务集群之外的其他服务集群时,判断是否可以对所述服务集群进行物理层扩容;
所述扩容模块,还用于当所述判断模块确定可以对所述服务集群进行物理层扩容时,对所述服务集群进行物理层扩容,并更新集群稳定性阈值。
33.根据权利要求32所述的装置,其特征在于,还包括:限制模块;
所述判断模块,还用于当确定不可以对所述服务集群进行物理层扩容时,判断是否可以进行爬虫访问请求限制;
所述限制模块,用于当所述判断模块确定可以进行爬虫访问请求限制时,根据爬虫优先级对爬虫访问请求进行限制。
34.根据权利要求33所述的装置,其特征在于,
所述判断模块,还用于当确定不可以进行爬虫访问请求限制时,判断是否可以进行用户访问请求限制;
所述限制模块,还用于当所述判断模块确定可以进行用户访问请求限制时,根据业务优先级对用户访问请求进行限制。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510526847.8A CN106487708B (zh) | 2015-08-25 | 2015-08-25 | 网络访问请求控制方法和装置 |
TW105107050A TW201709697A (zh) | 2015-08-25 | 2016-03-08 | 網路接取請求控制方法和裝置 |
US15/242,311 US10104037B2 (en) | 2015-08-25 | 2016-08-19 | Method and system for network access request control |
PCT/US2016/048453 WO2017035261A1 (en) | 2015-08-25 | 2016-08-24 | Method and system for network access request control |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510526847.8A CN106487708B (zh) | 2015-08-25 | 2015-08-25 | 网络访问请求控制方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106487708A CN106487708A (zh) | 2017-03-08 |
CN106487708B true CN106487708B (zh) | 2020-03-13 |
Family
ID=58097054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510526847.8A Active CN106487708B (zh) | 2015-08-25 | 2015-08-25 | 网络访问请求控制方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10104037B2 (zh) |
CN (1) | CN106487708B (zh) |
TW (1) | TW201709697A (zh) |
WO (1) | WO2017035261A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107800684B (zh) * | 2017-09-20 | 2018-09-18 | 贵州白山云科技有限公司 | 一种低频爬虫识别方法及装置 |
CN107707488A (zh) * | 2017-10-25 | 2018-02-16 | 北京数码视讯支付技术有限公司 | 支付联机交易流量控制方法、限流服务端及客户端 |
CN107888570A (zh) * | 2017-10-26 | 2018-04-06 | 广州市雷军游乐设备有限公司 | 基于前后端分离的数据交互的方法、装置、存储介质和系统 |
CN108040014B (zh) * | 2017-10-30 | 2022-01-11 | 维沃移动通信有限公司 | 一种流量控制方法和装置 |
CN108111333A (zh) * | 2017-11-22 | 2018-06-01 | 链家网(北京)科技有限公司 | 一种基于web的流量限制方法及系统 |
CN109981553B (zh) * | 2017-12-28 | 2021-12-31 | 北京京东尚科信息技术有限公司 | 访问控制方法及其系统、计算机系统和可读存储介质 |
CN110071952B (zh) * | 2018-01-24 | 2023-08-08 | 北京京东尚科信息技术有限公司 | 服务调用量的控制方法和装置 |
CN109257293B (zh) * | 2018-08-01 | 2022-02-18 | 北京明朝万达科技股份有限公司 | 一种用于网络拥堵的限速方法、装置及网关服务器 |
CN109842565B (zh) * | 2018-12-15 | 2023-03-28 | 平安科技(深圳)有限公司 | 接口限流方法、装置、电子设备及存储介质 |
CN110855782B (zh) * | 2019-11-14 | 2022-12-02 | 北京顺丰同城科技有限公司 | 一种服务调用系统、方法、电子设备及可读存储介质 |
CN112995046B (zh) * | 2019-12-12 | 2023-05-26 | 上海云盾信息技术有限公司 | 一种内容分发网络流量管理方法及设备 |
CN112306659B (zh) * | 2020-11-02 | 2024-03-15 | 北京中电普华信息技术有限公司 | 一种应用的降级保护方法及业务处理系统 |
CN113179222A (zh) * | 2021-04-30 | 2021-07-27 | 康键信息技术(深圳)有限公司 | 热点数据的限流控制方法、装置、设备及存储介质 |
US12204668B1 (en) * | 2021-08-04 | 2025-01-21 | Amazon Technologies, Inc. | User-configurable request-based policies for a data storage system |
CN114363263A (zh) * | 2021-12-24 | 2022-04-15 | 深圳市紫金支点技术股份有限公司 | 一种金融业务网络的带宽控制方法及相关设备 |
CN114389882B (zh) * | 2022-01-14 | 2024-04-09 | 平安付科技服务有限公司 | 网关流量控制方法、装置、计算机设备及存储介质 |
CN115174479B (zh) * | 2022-07-19 | 2023-10-13 | 天翼云科技有限公司 | 一种流量控制方法及装置 |
CN115348209B (zh) * | 2022-10-18 | 2023-03-24 | 江西锦路科技开发有限公司 | Api接口的流量控制方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101674293A (zh) * | 2008-09-11 | 2010-03-17 | 阿里巴巴集团控股有限公司 | 一种分布式应用中处理非正常请求的方法及系统 |
WO2011063564A1 (zh) * | 2009-11-26 | 2011-06-03 | 华为技术有限公司 | 移动网络访问控制方法、装置和系统 |
CN102497632A (zh) * | 2011-11-30 | 2012-06-13 | 北京百纳威尔科技有限公司 | 基于智能手机的网页访问控制方法和系统以及智能手机 |
Family Cites Families (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6044439A (en) | 1997-10-27 | 2000-03-28 | Acceleration Software International Corporation | Heuristic method for preloading cache to enhance hit rate |
US6976258B1 (en) | 1999-11-30 | 2005-12-13 | Ensim Corporation | Providing quality of service guarantees to virtual hosts |
US7062642B1 (en) | 2000-05-20 | 2006-06-13 | Ciena Corporation | Policy based provisioning of network device resources |
US6829704B2 (en) | 2001-04-13 | 2004-12-07 | General Electric Company | Method and system to automatically activate software options upon initialization of a device |
US7047297B2 (en) | 2001-07-17 | 2006-05-16 | Mcafee, Inc. | Hierarchically organizing network data collected from full time recording machines and efficiently filtering the same |
US6968398B2 (en) | 2001-08-15 | 2005-11-22 | International Business Machines Corporation | Method of virtualizing I/O resources in a computer system |
US20050052992A1 (en) * | 2003-08-01 | 2005-03-10 | Cloonan Thomas J. | Method and system for dynamically managing cable data bandwidth based on channel congestion state and subscriber usage profile |
US7457870B1 (en) | 2004-02-27 | 2008-11-25 | Packeteer, Inc. | Methods, apparatuses and systems facilitating classification of web services network traffic |
WO2005093576A1 (en) | 2004-03-28 | 2005-10-06 | Robert Iakobashvili | Visualization of packet network performance, analysis and optimization for design |
US7590830B2 (en) | 2004-05-28 | 2009-09-15 | Sun Microsystems, Inc. | Method and structure for concurrent branch prediction in a processor |
US20060143617A1 (en) | 2004-12-29 | 2006-06-29 | Knauerhase Robert C | Method, apparatus and system for dynamic allocation of virtual platform resources |
US7617314B1 (en) | 2005-05-20 | 2009-11-10 | Network General Technology | HyperLock technique for high-speed network data monitoring |
US20060288015A1 (en) * | 2005-06-15 | 2006-12-21 | Schirripa Steven R | Electronic content classification |
US7639613B1 (en) | 2005-06-24 | 2009-12-29 | Packeteer, Inc. | Adaptive, flow-based network traffic measurement and monitoring system |
US8121043B2 (en) | 2005-08-19 | 2012-02-21 | Cisco Technology, Inc. | Approach for managing the consumption of resources using adaptive random sampling |
US7567543B2 (en) * | 2005-10-24 | 2009-07-28 | Nec Laboratories America, Inc. | Method and apparatus for cross layer resource allocation for wireless backhaul networks |
US8051249B2 (en) | 2006-05-29 | 2011-11-01 | Sandisk Il Ltd. | Method for preloading data to improve data-retrieval times |
JP4240062B2 (ja) | 2006-05-31 | 2009-03-18 | 日本電気株式会社 | 計算機システムおよび性能計測方法ならびに管理サーバ装置 |
US8782047B2 (en) | 2009-10-30 | 2014-07-15 | Hitachi Data Systems Corporation | Fixed content storage within a partitioned content platform using namespaces |
JP2008217216A (ja) | 2007-03-01 | 2008-09-18 | Hitachi Ltd | 負荷分散方法及び計算機システム |
US7752360B2 (en) | 2007-05-16 | 2010-07-06 | Nuova Systems, Inc. | Method and system to map virtual PCIe I/O devices and resources to a standard I/O bus |
US8141094B2 (en) | 2007-12-03 | 2012-03-20 | International Business Machines Corporation | Distribution of resources for I/O virtualized (IOV) adapters and management of the adapters through an IOV management partition via user selection of compatible virtual functions |
US8849971B2 (en) | 2008-05-28 | 2014-09-30 | Red Hat, Inc. | Load balancing in cloud-based networks |
US9208003B2 (en) | 2008-06-09 | 2015-12-08 | International Business Machines Corporation | Hypervisor to I/O stack conduit in virtual real memory |
US9055080B2 (en) | 2009-12-14 | 2015-06-09 | Citrix Systems, Inc. | Systems and methods for service isolation |
JP5427011B2 (ja) | 2009-12-17 | 2014-02-26 | 株式会社日立製作所 | 仮想ハードディスクの管理サーバおよび管理方法、管理プログラム |
US8452835B2 (en) * | 2009-12-23 | 2013-05-28 | Citrix Systems, Inc. | Systems and methods for object rate limiting in multi-core system |
US8627426B2 (en) | 2010-04-26 | 2014-01-07 | Vmware, Inc. | Cloud platform architecture |
US8719804B2 (en) | 2010-05-05 | 2014-05-06 | Microsoft Corporation | Managing runtime execution of applications on cloud computing systems |
US8938774B2 (en) | 2010-05-28 | 2015-01-20 | Dell Products, Lp | System and method for I/O port assignment and security policy application in a client hosted virtualization system |
AU2011308518B2 (en) | 2010-09-30 | 2014-12-04 | Commvault Systems, Inc. | Efficient data management improvements, such as docking limited-feature data management modules to a full-featured data management system |
CN108429800B (zh) | 2010-11-22 | 2020-04-24 | 杭州硕文软件有限公司 | 一种移动设备 |
US8904136B2 (en) | 2011-03-15 | 2014-12-02 | Symantec Corporation | Optimized shrinking of virtual disks |
US20120324572A1 (en) | 2011-06-16 | 2012-12-20 | Telefonaktiebolaget L M Ericsson (Publ) | Systems and methods that perform application request throttling in a distributed computing environment |
US8997171B2 (en) | 2011-08-19 | 2015-03-31 | Microsoft Technology Licensing, Llc | Policy based application suspension and termination |
US9152405B2 (en) | 2011-08-22 | 2015-10-06 | International Business Machines Corporation | Rapid provisioning of virtual machines based on multi-dimensional user request patterns in a cloud |
US20150120914A1 (en) | 2012-06-13 | 2015-04-30 | Hitachi, Ltd. | Service monitoring system and service monitoring method |
US9092341B2 (en) | 2012-07-10 | 2015-07-28 | International Business Machines Corporation | Methods of cache preloading on a partition or a context switch |
WO2014028672A1 (en) | 2012-08-14 | 2014-02-20 | Inmobly, Inc. | System and method for efficient use of network bandwidth |
US9451403B2 (en) | 2012-08-30 | 2016-09-20 | Ebay Inc. | Systems and method for configuring mobile device applications based on location |
US9307493B2 (en) | 2012-12-20 | 2016-04-05 | Seven Networks, Llc | Systems and methods for application management of mobile device radio state promotion and demotion |
US20140223427A1 (en) | 2013-02-04 | 2014-08-07 | Thomas C. Bootland | System, Method and Apparatus for Determining Virtual Machine Performance |
EA201301283A1 (ru) | 2013-11-26 | 2015-05-29 | Общество С Ограниченной Ответственностью "Параллелз" | Способ целевой виртуализации ресурсов в контейнере |
US9262192B2 (en) | 2013-12-16 | 2016-02-16 | Vmware, Inc. | Virtual machine data store queue allocation |
US20160080229A1 (en) | 2014-03-11 | 2016-03-17 | Hitachi, Ltd. | Application performance monitoring method and device |
US9690685B2 (en) | 2014-05-30 | 2017-06-27 | Apple Inc. | Performance management based on resource consumption |
EP3170335B1 (en) | 2014-07-16 | 2019-12-11 | Tensera Networks Ltd. | Efficient content delivery over wireless networks using guaranteed prefetching at selected times-of-day |
US9256467B1 (en) | 2014-11-11 | 2016-02-09 | Amazon Technologies, Inc. | System for managing and scheduling containers |
US9612758B1 (en) | 2015-03-10 | 2017-04-04 | EMC IP Holding Company LLC | Performing a pre-warm-up procedure via intelligently forecasting as to when a host computer will access certain host data |
-
2015
- 2015-08-25 CN CN201510526847.8A patent/CN106487708B/zh active Active
-
2016
- 2016-03-08 TW TW105107050A patent/TW201709697A/zh unknown
- 2016-08-19 US US15/242,311 patent/US10104037B2/en active Active
- 2016-08-24 WO PCT/US2016/048453 patent/WO2017035261A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101674293A (zh) * | 2008-09-11 | 2010-03-17 | 阿里巴巴集团控股有限公司 | 一种分布式应用中处理非正常请求的方法及系统 |
WO2011063564A1 (zh) * | 2009-11-26 | 2011-06-03 | 华为技术有限公司 | 移动网络访问控制方法、装置和系统 |
CN102497632A (zh) * | 2011-11-30 | 2012-06-13 | 北京百纳威尔科技有限公司 | 基于智能手机的网页访问控制方法和系统以及智能手机 |
Also Published As
Publication number | Publication date |
---|---|
WO2017035261A1 (en) | 2017-03-02 |
US20170063717A1 (en) | 2017-03-02 |
TW201709697A (zh) | 2017-03-01 |
CN106487708A (zh) | 2017-03-08 |
US10104037B2 (en) | 2018-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106487708B (zh) | 网络访问请求控制方法和装置 | |
US11431794B2 (en) | Service deployment method and function management platform under serverless architecture | |
US8539080B1 (en) | Application intelligent request management based on server health and client information | |
CN106815099B (zh) | 鉴权系统和方法 | |
US20200358523A1 (en) | Predictive connectivity service layers | |
US8386501B2 (en) | Dynamically splitting multi-tenant databases | |
KR101634409B1 (ko) | 데이터 센터들에 걸친 리소스 위치 확인 및 마이그레이션 기법 | |
JP5055410B2 (ja) | 装置管理システム及びそのシステムにおける装置管理命令スケジューリング方法 | |
JP4916432B2 (ja) | アップデートの配布システムにおいてソフトウェアアップデートの配布を管理するためのアプリケーションプログラミングインターフェース | |
JPWO2006046486A1 (ja) | 資源管理システム、資源情報提供方法、及び、プログラム | |
US20120102220A1 (en) | Routing traffic in an online service with high availability | |
CN106790519A (zh) | 服务调度方法及边缘节点 | |
JP2009521746A (ja) | プログラム実行サービスウィンドウ | |
US20160366062A1 (en) | Prioritizing at least one flow class for an application on a software defined networking controller | |
CN103973691A (zh) | 资源访问方法及资源访问装置 | |
EP4111667A1 (en) | Methods and systems for data management in communication network | |
JP5257016B2 (ja) | 更新関数検証プログラム,更新関数検証方法及び情報処理装置 | |
JP2015517694A (ja) | ネットワークデバイスを制御するための方法と装置 | |
US10594657B1 (en) | Methods for parameterized sub-policy evaluation for fine grain access control during a session and devices thereof | |
US11556334B2 (en) | Systems and methods for gradually updating a software object on a plurality of computer nodes | |
US8516040B2 (en) | Load reduction and response time reduction for web-based applications | |
US10243870B1 (en) | Distributed computing system node management | |
WO2018086575A1 (zh) | 媒体资源的控制方法及装置 | |
US20140149499A1 (en) | Remote request fulfillment and delivery | |
CN114884885B (zh) | 一种智能热点打散的方法、装置、存储介质及计算机设备 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211110 Address after: No. 699, Wangshang Road, Binjiang District, Hangzhou, Zhejiang Patentee after: Alibaba (China) Network Technology Co., Ltd Address before: P.O. Box 847, 4th floor, Grand Cayman capital building, British Cayman Islands Patentee before: Alibaba Group Holdings Limited |
|
TR01 | Transfer of patent right |