1.一种网络访问请求控制方法,其特征在于,包括:
对网站接收的网络访问请求进行识别,获得所述网络访问请求所属的类别;
根据所述网络访问请求所属的类别对所述网络访问请求进行控制。
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.一种网络访问请求控制装置,其特征在于,包括:
识别模块,用于对网站接收的网络访问请求进行识别,获得所述网络访问请求所属的类别;
控制模块,用于根据所述识别模块获得的所述网络访问请求所属的类别对所述网络访问请求进行控制。
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所述的装置,其特征在于,
所述判断模块,还用于当确定不可以进行爬虫访问请求限制时,判断是否可以进行用户访问请求限制;
所述限制模块,还用于当所述判断模块确定可以进行用户访问请求限制时,根据业务优先级对用户访问请求进行限制。