流量限制处理的方法、装置、电子设备及介质与流程

未命名 09-11 阅读:72 评论:0


1.本公开涉及互联网技术领域,尤其涉及一种流量限制处理的方法、装置、电子设备及介质。


背景技术:

2.在互联网领域,随着各种应用的流量数据对于业务的支撑和分析越来越重要,非法流量或恶意流量的辨识也变得越来越关键。例如,经常会有一些基于恶意爬虫程序来进行流量刷取或者参与各种电商平台的优惠活动的行为,服务端如何在高并发场景下确保服务的稳定性、避免大量流量导致的宕机行为、同时能够辨识出正常访问流量和非法访问流量并有效阻拦或限制非法流量,是非常关键且具有挑战性的问题。
3.在实现本公开构思的过程中,发明人发现相关技术中存在以下技术问题:相关技术中,有的是采用ip(互联网协议)地址限流策略,由于伪造ip地址和真实ip地址进行访问的访问次数差异性较难区分,因此有的情况下在流量限制过程中误伤了很多正常流量,或者有的情况下对非法流量的限流效果较差;有的是通过配置系统整体流量阈值来进行限流,这种方式虽然可以阻拦一些非法流量的访问,提升服务系统的稳定性,但是在很大程度上会误伤一些正常流量或者新人流量,对实际业务有较大影响。因此,亟需解决相关技术中存在的以下技术问题:在高并发场景下,如何高效地辨识非法流量并尽可能减少对正常流量的误伤,并提升应用系统运行的稳定性。


技术实现要素:

4.为了解决上述技术问题或者至少部分地解决上述技术问题,本公开的实施例提供了一种流量限制处理的方法、装置、电子设备及介质。
5.第一方面,本公开的实施例提供了一种流量限制处理的方法。上述方法包括:获取分析周期内目标访问请求对应的流量因子信息;上述流量因子信息涵盖至少两个不同分析维度的流量因子;确定与上述目标访问请求匹配的因子打分配置信息;上述因子打分配置信息包含:多维度因子打分算法和多维度因子访问限制条件;基于上述多维度因子打分算法对上述流量因子信息进行打分计算,得到多维度综合评分;确定上述多维度综合评分是否命中上述多维度因子访问限制条件;在命中上述多维度因子访问限制条件的情况下,对上述目标访问请求进行限流处理。
6.根据本公开的实施例,上述多维度因子打分算法包括:单一因子的访问次数与打分之间的转换算法,多个维度下进行综合评分的目标因子和对应的评分算法。基于上述多维度因子打分算法对上述流量因子信息进行打分计算,得到多维度综合评分,包括:在上述流量因子信息中确定目标因子对应的目标访问次数;基于上述转换算法对上述目标访问次数进行处理,得到上述目标因子的打分;基于上述评分算法对上述目标因子的打分进行处理,得到上述多维度综合评分。
7.根据本公开的实施例,确定上述多维度综合评分是否命中上述多维度因子访问限
制条件,包括:确定上述多维度综合评分是否大于多维度评分限制阈值;在上述多维度综合评分大于上述多维度评分限制阈值的情况下,视为上述多维度综合评分命中上述多维度因子访问限制条件。
8.根据本公开的实施例,上述因子打分配置信息还包含:单一因子访问限制条件。上述方法还包括:根据上述流量因子信息进行分析,确定上述目标访问请求是否命中上述单一因子访问限制条件;其中,在未命中上述单一因子访问限制条件的情况下,执行以下步骤:基于上述多维度因子打分算法对上述流量因子信息进行打分计算,得到多维度综合评分;在命中上述单一因子访问限制条件的情况下,对上述目标访问请求进行限流处理。
9.根据本公开的实施例,上述单一因子访问限制条件包括以下至少一种:针对第一因子的访问次数限制条件;针对第二因子的黑名单限制条件。
10.根据本公开的实施例,上述流量因子信息包括以下信息中的至少两种:请求ip地址信息、请求头信息、浏览器用户代理信息、请求设备号、请求设备类型、请求资源定位标识、用户身份标识信息。
11.根据本公开的实施例,上述方法应用于流量分析服务端,上述流量分析服务端作为服务端的前置处理端,上述服务端用于为终端设备提供访问请求处理服务。上述获取分析周期内目标访问请求对应的流量因子信息,包括:在上述分析周期内,接收终端设备发送的访问请求的流量因子组装信息;对上述流量因子组装信息进行解析,得到流量因子信息和模块标识;上述模块标识用于表示访问请求对应的访问接口类型;基于上述访问接口类型,对上述分析周期内的流量因子信息进行筛选,得到上述目标访问请求对应的流量因子信息。
12.根据本公开的实施例,上述分析周期是将流量分析时段划分时间粒度后对应的单位时段;上述流量分析时段对应于上述终端设备的流量分析功能的开启时段,上述流量分析功能由用户进行功能开启或关闭的设置。
13.根据本公开的实施例,对上述目标访问请求进行限流处理,包括:向上述终端设备返回预设静态访问错误页面。上述方法还包括:在未命中上述多维度因子访问限制条件的情况下,将上述目标访问请求转发给上述服务端。
14.根据本公开的实施例,确定与上述目标访问请求匹配的因子打分配置信息,包括:根据上述目标访问请求的请求类型,在因子打分配置策略库中进行筛选,得到与上述请求类型匹配的因子打分配置信息;其中,上述因子打分配置策略库是根据用户在可视化界面配置的因子打分配置信息生成的。
15.第二方面,本公开的实施例提供了一种流量限制处理的装置。上述装置包括:信息获取模块、打分配置策略确定模块、计算模块、限流确定模块和限流处理模块。上述信息获取模块用于获取分析周期内目标访问请求对应的流量因子信息;上述流量因子信息涵盖至少两个不同分析维度的流量因子。上述打分配置策略确定模块用于确定与上述目标访问请求匹配的因子打分配置信息;上述因子打分配置信息包含:多维度因子打分算法和多维度因子访问限制条件。上述计算模块用于基于上述多维度因子打分算法对上述流量因子信息进行打分计算,得到多维度综合评分。上述限流确定模块用于确定上述多维度综合评分是否命中上述多维度因子访问限制条件。上述限流处理模块用于在命中上述多维度因子访问限制条件的情况下,对上述目标访问请求进行限流处理。
16.第三方面,本公开的实施例提供了一种电子设备。上述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现如上所述的流量限制处理的方法。
17.第四方面,本公开的实施例提供了一种计算机可读存储介质。上述计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现如上所述的流量限制处理的方法。
18.本公开实施例提供的上述技术方案至少具有如下优点的部分或全部:
19.由于流量因子信息涵盖至少两个不同分析维度的流量因子,多个维度的流量因子能够相对客观地呈现出正常流量和异常流量之间的差异性;在确定了目标访问请求所匹配的因子打分配置信息的情况下,能够基于上述因子打分配置信息中的多维度打分算法对上述流量因子信息进行打分计算,得到多维度综合评分,这一多维度综合评分是涵盖多个分析维度得到的综合评价结果,基于多维度综合评分是否命中多维度因子访问限制条件来触发限流处理的操作,能够相对准确地识别出非法访问流量并尽可能降低对正常流量的误伤,而且由于恶意流量伪造多维度因子的成本较高,防御策略不太容易被识破,能够维持较长时间的限流防刷效果;同时考虑到不同访问场景下对应的非法流量的产生形式或者侧重点具有差异而且非法流量的攻击形式很多样且不断演化,本公开的实施例支持个性化定制因子打分配置策略,能够适配于不同的访问请求而具有对应的因子打分配置信息,能有效提升对各个访问场景下非法访问的精准识别;而且可以通过动态更新因子打分配置策略,增加非法流量或恶意流量对整个限流方式攻破的难度和伪造成本,有利于提升网络安全以及系统服务的稳定性。
附图说明
20.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
21.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
22.图1a示意性地示出了适用于本公开实施例的流量限制处理的方法的系统架构和流量分析功能开启状态下的交互过程示意图;
23.图1b示意性地示出了适用于本公开实施例的流量限制处理的方法的系统架构和流量分析功能关闭状态下的交互过程示意图;
24.图2示意性地示出了根据本公开一实施例的流量限制处理的方法的流程图;
25.图3示意性地示出了根据本公开一实施例的步骤s230的详细实施流程图;
26.图4示意性地示出了根据本公开另一实施例的流量限制处理的方法的流程图;
27.图5示意性地示出了根据本公开又一实施例的流量限制处理的方法的流程图;
28.图6示意性地示出了根据本公开一实施例的终端设备与流量分析服务端之间的交互过程示意图;
29.图7示意性地示出了根据本公开一实施例的流量限制处理的装置的结构框图;以

30.图8示意性地示出了本公开实施例提供的电子设备的结构框图。
具体实施方式
31.相关技术中,例如在电子商务类应用中,经常会有很多基于恶意爬虫程序来进行优惠活动的刷取,导致对正常流量用户的名额抢占;或者在一些短视频类应用、新闻资讯类应用中,有些用户基于恶意爬虫程序进行流量刷取,导致对系统服务端的流量压力很大,单纯通过扩容服务集群或服务资源的方式来承接大量流量的方式导致运营和维护成本很高,而且在诸如促销、优惠活动等高并发常见下可能导致服务器的宕机。因此服务端如何在高并发场景下确保服务的稳定性、避免大量流量导致的宕机行为、同时能够辨识出正常访问流量和非法访问流量并有效阻拦或限制非法流量,是非常关键且具有挑战性的问题。
32.为了防范恶意爬虫程序导致的非法访问问题,相关技术中,大多是基于ip(互联网协议)地址限流策略或者通过配置系统整体流量阈值的方式进行流量限制;也有的是对一些黑名单或者可疑账号进行限流处理。
33.然而ip地址限流策略中,由于伪造ip地址和真实ip地址进行访问的访问次数差异性较难区分,因此有的情况下在流量限制过程中误伤了很多正常流量,或者有的情况下对非法流量的限流效果较差。通过配置系统整体流量阈值的方式虽然可以阻拦一些非法流量的访问,提升服务系统的稳定性,但是在很大程度上会误伤一些正常流量或者新人流量,对实际业务有较大影响。账号维度的限流一般属于补救措施,被恶意用户攻破后才甄别到并限制其继续访问,在用户更换攻击账号后,可以继续作恶,并没有将隐患消除。
34.有鉴于此,本公开的实施例提供了一种流量限制处理的方法、装置、电子设备及介质,上述方法包括:获取分析周期内目标访问请求对应的流量因子信息;上述流量因子信息涵盖至少两个不同分析维度的流量因子;确定与上述目标访问请求匹配的因子打分配置信息;上述因子打分配置信息包含:多维度因子打分算法和多维度因子访问限制条件;基于上述多维度因子打分算法对上述流量因子信息进行打分计算,得到多维度综合评分;确定上述多维度综合评分是否命中上述多维度因子访问限制条件;在命中上述多维度因子访问限制条件的情况下,对上述目标访问请求进行限流处理。
35.由于多个维度的流量因子能够相对客观地呈现出正常流量和异常流量之间的差异性;基于上述因子打分配置信息中的多维度打分算法对上述流量因子信息进行打分计算,得到多维度综合评分,这一多维度综合评分是涵盖多个分析维度得到的综合评价结果,基于多维度综合评分是否命中多维度因子访问限制条件来触发限流处理的操作,能够相对准确地识别出非法访问流量并尽可能降低对正常流量的误伤,而且由于恶意流量伪造多维度因子的成本较高,防御策略不太容易被识破,能够维持较长时间的限流防刷效果;同时支持个性化定制因子打分配置策略,能够适配于不同的访问请求而具有对应的因子打分配置信息,能有效提升对各个访问场景下非法访问的精准识别;而且可以通过动态更新因子打分配置策略,增加非法流量或恶意流量对整个限流方式攻破的难度和伪造成本,有利于提升网络安全以及系统服务的稳定性。
36.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本公开的一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
37.图1a示意性地示出了适用于本公开实施例的流量限制处理的方法的系统架构和流量分析功能开启状态下的交互过程示意图;图1b示意性地示出了适用于本公开实施例的流量限制处理的方法的系统架构和流量分析功能关闭状态下的交互过程示意图。
38.参照图1a和图1b所示,适用于本公开实施例的流量限制处理的方法的系统架构100包括:终端设备110、流量分析服务端120和服务端130。
39.上述终端设备110是具有显示屏的电子设备,可以安装有各种客户端应用,例如图1a中示例了应用a和应用b,诸如购物类应用、网页浏览器应用、搜索类应用、短视频类应用、视频播放类应用、图像编辑类应用、即时通信工具、邮箱客户端、社交平台软件等;此外,该终端设备110上还可以具有流量分析功能,例如可以按照流量分析功能类应用、功能插件或工具的形式呈现,该流量分析功能可以用于终端设备上的一个或多个应用的流量分析。上述终端设备可以包括但不限于是:智能手机、平板电脑、笔记本电脑、台式计算机、智能手表、智能手环、智能机器人、智能汽车车载端等等。
40.上述流量分析服务端120用于为上述流量分析功能提供服务支持,流量分析服务端120与终端设备110之间通过网络进行数据交互。流量分析服务端可以是应用服务器、云服务器或者为服务集群等。
41.上述服务端130用于为终端设备110上安装的一个或多个应用提供服务支持,例如上述服务端130用于为终端设备110提供访问请求处理服务。服务端130与终端设备110之间、服务端130与流量分析服务端120之间通过网络进行数据交互。例如服务端130为应用b(例如为购物类应用)提供数据处理服务。服务端可以是应用服务器、云服务器或者为服务集群等。
42.在一些实施例中,流量限制处理的方法可以由该系统架构100中的流量分析服务端120来执行。
43.本公开的实施例中,流量分析功能可以根据用户的控制而进行开启或关闭。
44.在图1a示意了流量分析功能处于开启状态的交互过程。作为场景示例,用户通过在终端设备110上操作应用b来进行购物网站的访问,用户在应用b上点击某个物品(例如为某个热销商品),视为发起对该物品的物品详情页的访问请求r1(作为目标访问请求的一种示例);由于流量分析功能已经开启,各个终端设备上关于应用b的流量监控也处于开启状态,位于终端设备上的流量分析功能类应用、功能插件或工具等会监控应用b关于物品详情页的访问请求r1的请求数据(诸如请求次数、请求ip地址信息、请求头信息、浏览器用户代理信息、请求设备号、请求设备类型、请求资源定位标识、用户身份标识信息、模块标识(例如具体为推荐模块、搜索模块、商品展示模块等)等)。上述流量分析功能类应用、功能插件或工具等基于上述请求数据构建得到流量因子组装信息(例如包含流量因子信息和模块标识,该模块标识用于表示访问请求对应的访问接口类型),并将流量因子组装信息发送给流量分析服务端120。参照图1a中单箭头所示,用户发起的访问请求r1不是直接发送给服务端130,而是先发送至流量分析服务端120这一前置处理端。
45.由该流量分析服务端120执行本公开实施例提供的流量限制处理的方法,得到是否进行流量限制处理的结果。例如,在图1a中采用单箭头示意了进行限流处理的一种示例:
流量分析服务端120向终端设备110返回预设静态访问错误页面。在图1a中采用双箭头示意了不进行限流处理的一种示例:流量分析服务端120将访问请求r1转发给服务端130;由服务端130对上述访问请求r1进行处理后,将请求响应结果反馈给终端设备130。
46.由于海量用户(例如成百上千万甚至到达亿的水平)在较短时间内(例如以分钟、几十秒计数)内针对同一个物品先后发起上述访问请求r1,直接将上述访问请求r1打到服务端130进行处理而不进行流量分析,很可能由于非法流量的大量访问而对服务端130造成访问压力并影响正常流量的访问,对业务造成不利影响;本公开的实施例中,通过基于流量分析服务端120的前置处理,并根据多维度流量因子对非法流量进行相对精准的识别和限流处理,这部分流量不再指向服务端130,能够有效消除识别出来的非法流量对服务端130的访问压力,同时由于该方法对正常流量的误伤较小,也不影响正常流量的常规访问,流量分析功能对于应用(例如为网购类业务)功能的兼容性较好。此外,由于对非法或恶意流量提升了识别精准度以及减少了对正常流量的误伤,能够有效节约高并发场景大规模扩容的成本,仅需要针对真实流量场景适当对服务端扩容即可承受大流量压力。
47.在图1b示意了流量分析功能处于关闭状态的交互过程。在这种情况下,在用户基于终端设备110发起了访问请求r1之后,终端设备110会将该访问请求r1发送给服务端130。服务端130对访问请求r1进行处理后,将请求响应结果反馈给终端设备130。
48.应该理解,图1a和图1b中的终端设备、流量分析服务端和服务端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、流量分析服务端和服务端。
49.本公开的第一个示例性实施例提供了一种流量限制处理的方法。本公开实施例提供的流量限制处理的方法应用于上述系统架构100中的流量分析服务端120,上述流量分析服务端120作为服务端130的前置处理端,上述服务端130用于为终端设备110提供访问请求处理服务。
50.图2示意性地示出了根据本公开一实施例的流量限制处理的方法的流程图。
51.参照图2所示,本公开实施例提供的流量限制处理的方法,包括以下步骤:s210、s220、s230、s240和s251。
52.在步骤s210,获取分析周期内目标访问请求对应的流量因子信息;上述流量因子信息涵盖至少两个不同分析维度的流量因子。
53.多个维度的流量因子能够相对客观地呈现出正常流量和异常流量之间的差异性。
54.在一些实施例中,上述流量因子信息包括以下信息中的至少两种:请求ip地址信息、请求头信息、浏览器用户代理(user agent)信息、请求设备号(例如为uuid)、请求设备类型、请求资源定位标识(例如为url)、用户身份标识信息(例如为用户账号、用户手机号、用户pin码等)。其中,请求头信息包含当前请求页面的来源页面的地址,即表示当前页面是通过此来源页面里的链接进入的。
55.在分析周期内,随着多个目标访问请求(例如为前述示例的访问请求r1)的先后发起,对各目标访问请求各自对应的流量因子信息可以进行访问次数的统计。这里的目标访问请求是指某个待分析应用的某个功能模块下的访问请求,可以涵盖相同用户发起的多次访问请求的场景,也可以涵盖不同用户发起的多次访问请求的场景。
56.根据本公开的实施例,上述分析周期是将流量分析时段划分时间粒度后对应的单位时段;上述流量分析时段对应于上述终端设备的流量分析功能的开启时段,上述流量分
析功能由用户进行功能开启或关闭的设置。
57.例如,流量分析时段为从某个时刻(例如为2023年6月14日上午8点)起算到第二天的相同时刻(例如为2023年6月15日上午8点)之间的时段;划分的时间粒度可以是以时、分、秒等进行计算,例如将1分钟作为分析周期,每1分钟内的访问数据需要进行统计和分析并对这1分钟内的访问请求依序进行处理,确定是否需要进行限流处理。
58.可以理解的是,在实际应用过程中,分析时段内的时间是在逐渐发生和流逝的,相应的,分析周期也随着时间的流逝而动态变化,例如当前分析周期是在2023年6月14日上午8:00~8:01,在8:01之后,下一个分析周期为2023年6月14日8:01~8:02。相应的,对于目标访问请求对应的流量因子信息的统计结果也在同步进行动态更新。
59.在步骤s220,确定与上述目标访问请求匹配的因子打分配置信息;上述因子打分配置信息包含:多维度因子打分算法和多维度因子访问限制条件。
60.在一些实施例中,流量分析服务端120可以访问因子打分配置策略库,这一策略库中存储有至少一种请求类型所对应的打分配置信息。不同请求类型用于标识不同的业务场景、应用模块或者功能单元等,不同请求类型对应的打分配置信息具有差异。
61.在一些实施例中,流量分析功能支持个性化定制因子打分配置策略。例如,用户(例如可以是流量分析类应用的管理人员、要进行流量分析的应用的业务人员等)可以针对不同访问场景进行因子打分配置信息的个性化设置。设置打分配置信息的过程可以是通过和可视化界面交互来实现,例如参照图1a所示的系统架构100所示,上述用户可以在终端设备110的流量分析功能中进行因子打分策略的配置,得到不同请求类型(例如为内容搜索请求类型、短视频请求类型、购物网页请求类型等)所对应的因子打分配置信息。上述因子打分配置信息存储至因子打分配置策略库中。
62.本公开的实施例支持个性化定制因子打分配置策略,能够适配于不同的访问请求而具有对应的因子打分配置信息,能有效提升对各个访问场景下非法访问的精准识别;而且可以通过动态更新因子打分配置策略,增加非法流量或恶意流量对整个限流方式攻破的难度和伪造成本,有利于提升网络安全以及系统服务的稳定性。
63.根据本公开的实施例,上述步骤s220中,确定与上述目标访问请求匹配的因子打分配置信息,包括:根据上述目标访问请求的请求类型,在因子打分配置策略库中进行筛选,得到与上述请求类型匹配的因子打分配置信息;其中,上述因子打分配置策略库是根据用户在可视化界面配置的因子打分配置信息生成的。
64.在步骤s230,基于上述多维度因子打分算法对上述流量因子信息进行打分计算,得到多维度综合评分。
65.根据本公开的实施例,上述多维度因子打分算法包括:单一因子的访问次数与打分之间的转换算法,多个维度下进行综合评分的目标因子和对应的评分算法。上述目标因子是指要参与综合评分的因子。
66.在上述转换算法中,可以为每个因子配置一个基础访问次数预设值,然后根据实际访问次数与基础访问次数预设值之间的差值确定具体分值区间。不同因子的基础访问次数预设值可以具有差异,也可以相同。
67.作为示例,针对上述应用b的访问请求r1对应的访问类型,ip地址、浏览器用户代理(user agent)信息、请求设备号uuid、用户身份标识信息pin等因子的基础访问值次数的
预设值例如为100(表示分析周期内的基础访问次数为100次)。在一实施例中,每个因子的分数共分为10等份1-10,每份的访问次数规则为:2n,2为底数,n(1-10)为幂数,分数规则可以定制化设置,10等份分值假设为10、20、30、40、50、60、70、80、90、100。
68.单一因子的访问次数与打分之间的转换算法中,以访问次数作为因子的示例,访问次数与基础访问次数预设值的差值与2的n次幂进行比较,得到的n的取值作为打分取值的依据。作为示例,访问次数为250次(表示分析周期内的访问总次数为250次),基础访问次数预设值为100(表示分析周期内的基础访问次数为100次),则打分的计算过程为:2^7(表示2的7次幂)<(250-100)<2^8,则访问次数250次对应的打分为70分。
69.不同场景下,多维度因子打分算法可以依据接入的模块(可以通过模块标识进行区分)不同而变化。
70.图3示意性地示出了根据本公开一实施例的步骤s230的详细实施流程图。
71.在一些实施例中,参照图3所示,上述步骤s230中,基于上述多维度因子打分算法对上述流量因子信息进行打分计算,得到多维度综合评分,包括以下步骤:s310、s320和s330。
72.在步骤s310,在上述流量因子信息中确定目标因子对应的目标访问次数。
73.例如,假设目标因子中,ip访问次数为250次,浏览器用户代理(user agent)信息的访问次数为200次,设备号uuid的访问次数为150次,用户账号pin的访问次数为50次。
74.在步骤s320,基于上述转换算法对上述目标访问次数进行处理,得到上述目标因子的打分。
75.例如,按照上面示例的关于250次的换算过程,可以对应得到ip访问次数对应的打分为70,ua的访问次数对应的打分为60,设备号uuid的访问次数对应的打分为50,用户账号pin的访问次数对应的打分为0。
76.在步骤s330,基于上述评分算法对上述目标因子的打分进行处理,得到上述多维度综合评分。
77.在一些实施例中,上述评分算法可以是对目标因子的打分进行加权和计算的方式,各个目标因子的权重可以由用户进行预先设置或者根据流量限制效果进行动态调整。
78.例如,作为示例,这里的评分算法采用将各个目标因子的打分加和的形式,可以得到多维度综合评分为180分。
79.在包含步骤s310~s330的实施例中,在分析周期内,可以统计得到目标访问请求所对应的各个分析维度下的因子的访问次数,通过上述转换算法能够将各个因子的访问次数换算为打分;在多个维度下进行综合评分时,可以对指定的目标因子基于上述评分算法进行综合评分计算,得到多维度综合评分。
80.这一多维度综合评分是涵盖多个分析维度得到的综合评价结果,基于多维度综合评分是否命中多维度因子访问限制条件来触发限流处理的操作,能够相对准确地识别出非法访问流量并尽可能降低对正常流量的误伤,而且由于恶意流量伪造多维度因子的成本较高,防御策略不太容易被识破,能够维持较长时间的限流防刷效果。
81.在步骤s240,确定上述多维度综合评分是否命中上述多维度因子访问限制条件。
82.根据本公开的实施例,确定上述多维度综合评分是否命中上述多维度因子访问限制条件,包括:确定上述多维度综合评分是否大于多维度评分限制阈值;在上述多维度综合
评分大于上述多维度评分限制阈值的情况下,视为上述多维度综合评分命中上述多维度因子访问限制条件。
83.例如,多维度评分限制阈值为150,由于多维度综合评分180>150,则确定命中多维度因子访问限制条件。
84.可以理解的是,上述实施例仅作为命中多维度因子访问限制条件的一种情况,多维度因子访问限制条件可以包含多套限制条件,只要其中一套限制条件被命中,就视为命中。
85.在其他实施例中,在一套限制条件中可以包含多个限制条件,例如不仅包含上述多维度评分限制阈值,还包含对个别一个或多个维度因子的限制条件。
86.在步骤s251,在命中上述多维度因子访问限制条件的情况下,对上述目标访问请求进行限流处理。
87.根据本公开的实施例,参照图1a中单箭头所示,对上述目标访问请求进行限流处理,包括:向上述终端设备110返回预设静态访问错误页面,例如为图6示例的返回cdn(内容分发网络)静态访问错误页面。
88.在包含上述步骤s210~s251的实施例中,由于流量因子信息涵盖至少两个不同分析维度的流量因子,多个维度的流量因子能够相对客观地呈现出正常流量和异常流量之间的差异性;在确定了目标访问请求所匹配的因子打分配置信息的情况下,能够基于上述因子打分配置信息中的多维度打分算法对上述流量因子信息进行打分计算,得到多维度综合评分,这一多维度综合评分是涵盖多个分析维度得到的综合评价结果,基于多维度综合评分是否命中多维度因子访问限制条件来触发限流处理的操作,能够相对准确地识别出非法访问流量并尽可能降低对正常流量的误伤,而且由于恶意流量伪造多维度因子的成本较高,防御策略不太容易被识破,能够维持较长时间的限流防刷效果;同时考虑到不同访问场景下对应的非法流量的产生形式或者侧重点具有差异而且非法流量的攻击形式很多样且不断演化,本公开的实施例支持个性化定制因子打分配置策略,能够适配于不同的访问请求而具有对应的因子打分配置信息,能有效提升对各个访问场景下非法访问的精准识别;而且可以通过动态更新因子打分配置策略,增加非法流量或恶意流量对整个限流方式攻破的难度和伪造成本,有利于提升网络安全以及系统服务的稳定性。
89.图4示意性地示出了根据本公开另一实施例的流量限制处理的方法的流程图。
90.参照图1b和图4所示,在另一些实施例中,针对同一个访问请求,上述流量限制处理的方法包括上述步骤s210、s220、s230和s240之外,还包括步骤s252;或者,在包含多个访问请求的情况下,上述流量限制处理的方法中可能同时存在两个分支对应的步骤s251和s252。
91.在步骤s252:在未命中上述多维度因子访问限制条件的情况下,将上述目标访问请求转发给上述服务端130。
92.图5示意性地示出了根据本公开又一实施例的流量限制处理的方法的流程图。
93.参照图5所示,根据本公开的实施例,上述步骤s220具体的实施步骤为s220a,确定的因子打分配置信息除了包含多维度因子打分算法和多维度因子访问限制条件之外,还包含:单一因子访问限制条件。
94.上述流量限制处理的方法包括上述步骤s210、s220a、s510、s230、s240和s251;或
者可以包括上述s210、s220a、s510、s230、s240、s251和s252。
95.在步骤s510,根据上述流量因子信息进行分析,确定上述目标访问请求是否命中上述单一因子访问限制条件。
96.其中,在未命中上述单一因子访问限制条件的情况下,执行上述步骤s230:基于上述多维度因子打分算法对上述流量因子信息进行打分计算,得到多维度综合评分。
97.参照图5中虚线箭头所示,在步骤s520,在命中上述单一因子访问限制条件的情况下,对上述目标访问请求进行限流处理。
98.根据本公开的实施例,上述单一因子访问限制条件包括以下至少一种:针对第一因子的访问次数限制条件;针对第二因子的黑名单限制条件。
99.例如,第一因子为ip地址,本公开的实施例中,第一因子的访问次数限制条件相较于单一因子ip限流策略中的访问次数限制门槛更高,这样有助于降低对正常流量的误伤,同时也能够高效率识别出非法流量并针对性进行流量限制。例如第二因子为请求资源定位标识(url)。
100.本实施例提供的基于多维度流量因子进行综合评分来进行限流的策略和已有的一些策略进行结合处理,例如针对历史已经辨识过的黑名单账号或者黑名单url等,可以直接利用这一信息进行非法流量识别;也可以结合ip限流处理策略,与传统采用ip限流处理策略而言,本公开实施例提供的结合方案,可以将ip地址的访问阈值设置的相对更高一些(相较于单一因子的ip访问阈值而言更高),只有在命中高访问阈值的情况下,才会视为非法流量;在低于高访问阈值的情况下,可以采用多流量因子分析的方式进行非法流量的辨识,这一结合的策略有助于降低对正常流量的误伤。
101.图6示意性地示出了根据本公开一实施例的终端设备与流量分析服务端之间的交互过程示意图。
102.参照图6所示,步骤s210~s251、s252由流量分析服务端执行。
103.上述步骤s210中,获取分析周期内目标访问请求对应的流量因子信息,包括以下步骤:s610、s620和s630。
104.在步骤s610,在上述分析周期内,接收终端设备发送的访问请求的流量因子组装信息。
105.在步骤s620,对上述流量因子组装信息进行解析,得到流量因子信息和模块标识。上述模块标识用于表示访问请求对应的访问接口类型。
106.例如流量分析功能是一个sdk(软件开发工具)组件包,作为一个单独组件或插件,可以接入至所需要流量分析的各个业务模块中,获取所要分析的业务模块的流量数据,并转发到流量分析服务端进行各个流量因子的分析和打分。
107.在一些场景中,比如日常非大促情况下,异常流量不太活跃,不会对正常的业务造成困扰,此时可以关闭开关,正常执行业务逻辑;针对一些促销场景或者需要对非法流量限制的场景,可以通过打开流量分析功能的开关来实现对应的限流处理逻辑。在打开开关后,终端设备将监听到的流量因子信息和模块标识进行组装,并可以通过udp(用户数据报协议)形式,发送给流量分析服务端。
108.在一些实施例中,模块标识是标记对应的流量因子信息与哪个业务模块(可以与访问接口类型具有映射关系)相关联,那么比如某个流量因子(例如为用户账号pin)在分析
周期内的访问次数统计值为50,该数值50如果不加模块标识,对应统计的次数可能涵盖多个业务模块,例如搜索模块和购物模块,通过模块标识能够将目标业务模块(例如为购物模块)对应的访问次数统计更加精准,进而提升精准限流的效果。
109.在步骤s630,基于上述访问接口类型,对上述分析周期内的流量因子信息进行筛选,得到上述目标访问请求对应的流量因子信息。
110.在一些细化处理场景中,流量分析服务端可以将解析得到的数据按照多维度因子分别放到对应的存储池里。处理进程x可以负责将池子中的各因子数据依据fifo(先进先出)原则,使得样本数据维持在最近1分钟的维度,并汇总各维度的样本数据,按照访问次数从大到小排序后放到指定的数据队列。之后在全部存储至数据队列的情况下,可以清空存储池的池子数据,该数据池对应的存储空间重新用于接收新的分析周期下的原始因子数据。处理进程y获取上述数据队列中的有序样本数据进行分析。分析过程可以采用上述步骤s220~s251、s252对应的逻辑。
111.本公开的第二个示例性实施例提供了一种流量限制处理的装置。
112.图7示意性地示出了根据本公开一实施例的流量限制处理的装置的结构框图。
113.参照图7所示,本公开实施例提供的流量限制处理的装置700包括:信息获取模块701、打分配置策略确定模块702、计算模块703、限流确定模块704和限流处理模块705。
114.上述信息获取模块701用于获取分析周期内目标访问请求对应的流量因子信息;上述流量因子信息涵盖至少两个不同分析维度的流量因子。
115.上述打分配置策略确定模块702用于确定与上述目标访问请求匹配的因子打分配置信息;上述因子打分配置信息包含:多维度因子打分算法和多维度因子访问限制条件。
116.上述计算模块703用于基于上述多维度因子打分算法对上述流量因子信息进行打分计算,得到多维度综合评分。
117.上述限流确定模块704用于确定上述多维度综合评分是否命中上述多维度因子访问限制条件。
118.上述限流处理模块705用于在命中上述多维度因子访问限制条件的情况下,对上述目标访问请求进行限流处理。
119.根据本公开的实施例,上述多维度因子打分算法包括:单一因子的访问次数与打分之间的转换算法,多个维度下进行综合评分的目标因子和对应的评分算法。基于上述多维度因子打分算法对上述流量因子信息进行打分计算,得到多维度综合评分,包括:在上述流量因子信息中确定目标因子对应的目标访问次数;基于上述转换算法对上述目标访问次数进行处理,得到上述目标因子的打分;基于上述评分算法对上述目标因子的打分进行处理,得到上述多维度综合评分。
120.根据本公开的实施例,确定上述多维度综合评分是否命中上述多维度因子访问限制条件,包括:确定上述多维度综合评分是否大于多维度评分限制阈值;在上述多维度综合评分大于上述多维度评分限制阈值的情况下,视为上述多维度综合评分命中上述多维度因子访问限制条件。
121.根据本公开的实施例,上述因子打分配置信息还包含:单一因子访问限制条件。上述装置700还包括:单一因子限制确定模块。
122.上述单一因子限制确定模块用于根据上述流量因子信息进行分析,确定上述目标
访问请求是否命中上述单一因子访问限制条件。
123.其中,在未命中上述单一因子访问限制条件的情况下,执行以下步骤:基于上述多维度因子打分算法对上述流量因子信息进行打分计算,得到多维度综合评分;在命中上述单一因子访问限制条件的情况下,对上述目标访问请求进行限流处理。
124.根据本公开的实施例,上述单一因子访问限制条件包括以下至少一种:针对第一因子的访问次数限制条件;针对第二因子的黑名单限制条件。
125.根据本公开的实施例,上述流量因子信息包括以下信息中的至少两种:请求ip地址信息、请求头信息、浏览器用户代理信息、请求设备号、请求设备类型、请求资源定位标识、用户身份标识信息。
126.根据本公开的实施例,上述装置为流量分析服务端,上述流量分析服务端作为服务端的前置处理端,上述服务端用于为终端设备提供访问请求处理服务。上述获取分析周期内目标访问请求对应的流量因子信息,包括:在上述分析周期内,接收终端设备发送的访问请求的流量因子组装信息;对上述流量因子组装信息进行解析,得到流量因子信息和模块标识;上述模块标识用于表示访问请求对应的访问接口类型;基于上述访问接口类型,对上述分析周期内的流量因子信息进行筛选,得到上述目标访问请求对应的流量因子信息。
127.根据本公开的实施例,上述分析周期是将流量分析时段划分时间粒度后对应的单位时段;上述流量分析时段对应于上述终端设备的流量分析功能的开启时段,上述流量分析功能由用户进行功能开启或关闭的设置。
128.根据本公开的实施例,对上述目标访问请求进行限流处理,包括:向上述终端设备返回预设静态访问错误页面。上述装置还包括:请求转发模块。
129.上述请求转发模块用于在未命中上述多维度因子访问限制条件的情况下,将上述目标访问请求转发给上述服务端。
130.根据本公开的实施例,确定与上述目标访问请求匹配的因子打分配置信息,包括:根据上述目标访问请求的请求类型,在因子打分配置策略库中进行筛选,得到与上述请求类型匹配的因子打分配置信息;其中,上述因子打分配置策略库是根据用户在可视化界面配置的因子打分配置信息生成的。
131.本实施例的更多细节可以参照第一个实施例的详细描述,这里不再赘述。
132.上述装置700所包含的功能模块中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。装置700所包含的功能模块中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,装置700所包含的功能模块中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
133.本公开的第三个示例性实施例提供了一种电子设备。
134.图8示意性示出了本公开实施例提供的电子设备的结构框图。
135.参照图8所示,本公开实施例提供的电子设备800包括处理器801、通信接口802、存
储器803和通信总线804,其中,处理器801、通信接口802和存储器803通过通信总线804完成相互间的通信;存储器803,用于存放计算机程序;处理器801,用于执行存储器上所存放的程序时,实现如上所述的流量限制处理的方法。
136.本公开的第四个示例性实施例还提供了一种计算机可读存储介质。上述计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现如上所述的流量限制处理的方法。
137.该计算机可读存储介质可以是上述实施例中描述的设备/装置中所包含的;也可以是单独存在,而未装配入该设备/装置中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
138.根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
139.需要说明的是,本公开实施例提供的技术方案中,所涉及的用户个人信息的采集、收集、更新、分析、处理、使用、传输、存储等方面,均符合相关法律法规的规定,被用于合法的用途,且不违背公序良俗。对用户个人信息采取必要措施,防止对用户个人信息数据的非法访问,维护用户个人信息安全、网络安全和国家安全。
140.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
141.以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

技术特征:
1.一种流量限制处理的方法,其特征在于,所述方法包括:获取分析周期内目标访问请求对应的流量因子信息;所述流量因子信息涵盖至少两个不同分析维度的流量因子;确定与所述目标访问请求匹配的因子打分配置信息;所述因子打分配置信息包含:多维度因子打分算法和多维度因子访问限制条件;基于所述多维度因子打分算法对所述流量因子信息进行打分计算,得到多维度综合评分;确定所述多维度综合评分是否命中所述多维度因子访问限制条件;在命中所述多维度因子访问限制条件的情况下,对所述目标访问请求进行限流处理。2.根据权利要求1所述的方法,其特征在于,所述多维度因子打分算法包括:单一因子的访问次数与打分之间的转换算法,多个维度下进行综合评分的目标因子和对应的评分算法;基于所述多维度因子打分算法对所述流量因子信息进行打分计算,得到多维度综合评分,包括:在所述流量因子信息中确定目标因子对应的目标访问次数;基于所述转换算法对所述目标访问次数进行处理,得到所述目标因子的打分;基于所述评分算法对所述目标因子的打分进行处理,得到所述多维度综合评分。3.根据权利要求2所述的方法,其特征在于,确定所述多维度综合评分是否命中所述多维度因子访问限制条件,包括:确定所述多维度综合评分是否大于多维度评分限制阈值;在所述多维度综合评分大于所述多维度评分限制阈值的情况下,视为所述多维度综合评分命中所述多维度因子访问限制条件。4.根据权利要求1所述的方法,其特征在于,所述因子打分配置信息还包含:单一因子访问限制条件;所述方法还包括:根据所述流量因子信息进行分析,确定所述目标访问请求是否命中所述单一因子访问限制条件;其中,在未命中所述单一因子访问限制条件的情况下,执行以下步骤:基于所述多维度因子打分算法对所述流量因子信息进行打分计算,得到多维度综合评分;在命中所述单一因子访问限制条件的情况下,对所述目标访问请求进行限流处理。5.根据权利要求4所述的方法,其特征在于,所述单一因子访问限制条件包括以下至少一种:针对第一因子的访问次数限制条件;针对第二因子的黑名单限制条件。6.根据权利要求1所述的方法,其特征在于,所述流量因子信息包括以下信息中的至少两种:请求ip地址信息、请求头信息、浏览器用户代理信息、请求设备号、请求设备类型、请求资源定位标识、用户身份标识信息。7.根据权利要求1-6中任一项所述的方法,其特征在于,所述方法应用于流量分析服务端,所述流量分析服务端作为服务端的前置处理端,所述服务端用于为终端设备提供访问
请求处理服务;所述获取分析周期内目标访问请求对应的流量因子信息,包括:在所述分析周期内,接收终端设备发送的访问请求的流量因子组装信息;对所述流量因子组装信息进行解析,得到流量因子信息和模块标识;所述模块标识用于表示访问请求对应的访问接口类型;基于所述访问接口类型,对所述分析周期内的流量因子信息进行筛选,得到所述目标访问请求对应的流量因子信息。8.根据权利要求7所述的方法,其特征在于,所述分析周期是将流量分析时段划分时间粒度后对应的单位时段;所述流量分析时段对应于所述终端设备的流量分析功能的开启时段,所述流量分析功能由用户进行功能开启或关闭的设置。9.根据权利要求7所述的方法,其特征在于,对所述目标访问请求进行限流处理,包括:向所述终端设备返回预设静态访问错误页面;所述方法还包括:在未命中所述多维度因子访问限制条件的情况下,将所述目标访问请求转发给所述服务端。10.根据权利要求1所述的方法,其特征在于,确定与所述目标访问请求匹配的因子打分配置信息,包括:根据所述目标访问请求的请求类型,在因子打分配置策略库中进行筛选,得到与所述请求类型匹配的因子打分配置信息;其中,所述因子打分配置策略库是根据用户在可视化界面配置的因子打分配置信息生成的。11.一种流量限制处理的装置,其特征在于,包括:信息获取模块,用于获取分析周期内目标访问请求对应的流量因子信息;所述流量因子信息涵盖至少两个不同分析维度的流量因子;打分配置策略确定模块,用于确定与所述目标访问请求匹配的因子打分配置信息;所述因子打分配置信息包含:多维度因子打分算法和多维度因子访问限制条件;计算模块,用于基于所述多维度因子打分算法对所述流量因子信息进行打分计算,得到多维度综合评分;限流确定模块,用于确定所述多维度综合评分是否命中所述多维度因子访问限制条件;限流处理模块,用于在命中所述多维度因子访问限制条件的情况下,对所述目标访问请求进行限流处理。12.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现权利要求1-10中任一项所述的方法。13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-10中任一项所述的方法。

技术总结
本公开涉及一种流量限制处理的方法、装置、电子设备及介质,上述方法包括:获取分析周期内目标访问请求对应的流量因子信息;上述流量因子信息涵盖至少两个不同分析维度的流量因子;确定与上述目标访问请求匹配的因子打分配置信息;上述因子打分配置信息包含:多维度因子打分算法和多维度因子访问限制条件;基于上述多维度因子打分算法对上述流量因子信息进行打分计算,得到多维度综合评分;确定上述多维度综合评分是否命中上述多维度因子访问限制条件;在命中上述多维度因子访问限制条件的情况下,对上述目标访问请求进行限流处理。该方法能够高效地辨识非法流量并尽可能减少对正常流量的误伤,并提升应用系统运行的稳定性。性。性。


技术研发人员:汪军胜
受保护的技术使用者:京东科技信息技术有限公司
技术研发日:2023.07.26
技术公布日:2023/9/9
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐