本发明涉及流量控制领域,具体而言,涉及一种流量控制方法、装置、电子设备和存储介质。
背景技术:
1、随着it信息化业务发展,各种应用系统和服务器都存在着接入外部渠道请求的诉求,其中会存在接口复用或者提供一个通用接口去承接不同的业务请求。这样带来一个问题就是,如果是按照接口限流,当某个合作方大量请求进入系统,当想完成对某个合作方进行限流时,就会影响其他合作方。
2、现有的流量控制方法大多基于sentinel流量控制限流框架实现,其限流能力完善,但是只能针对接口限流,不能实现对接口的报文内容实现灵活限流;而其他现有的流量控制方法也都存在与sentinel流量控制限流框架相同问题,这些方法可以实现限流或者集群限流,但是都是定义在接口级别,不能针对泛型接口或统一接口进行灵活限流策略。
3、本领域需要提供一种流量控制方法、装置、电子设备和存储介质,其能够克服现有技术的缺陷。
技术实现思路
1、本发明提供了一种流量控制方法、装置、电子设备和存储介质,能够通过同一个域名为用户提供互联网服务,但后端多个应用服务器独立部署,对不同业务用户进行隔离,分流到不同的应用服务器。其能够解决现有技术存在的问题。本发明的目的通过以下技术方案得以实现。
2、第一方面,本发明的一个实施方式提供了一种流量控制方法,其包括多个步骤:
3、步骤1:获取请求服务信息和请求报文;
4、步骤2:根据请求服务信息和请求报文拼装资源名称;
5、步骤3:根据资源名称获取对应的限流策略;
6、步骤4:根据限流策略判断请求报文对应的资源名称是否触发限流,若“是”,执行步骤5;以及
7、步骤5:组装并返回限流报文。
8、根据本发明的上述一个实施方式提供的流量控制方法,其中步骤3:根据资源名称获取对应的限流策略,根据限流策略判断是否触发限流,若“否”,执行步骤6;
9、步骤6:根据请求服务信息和请求报文执行对应处理。
10、根据本发明的上述一个实施方式提供的流量控制方法,其中限流策略中定义了限流规则和统计规则,限流规则用于定义系统为每个资源名称对分配的流量和每个资源名称对应的限流触发规则;统计规则用于对各个资源名称的流量使用情况和限流情况进行统计。
11、根据本发明的上述一个实施方式提供的流量控制方法,其中步骤4:根据限流策略判断是否触发限流包括下列步骤:
12、步骤41:根据限流规则判断资源名称是否触发限流,若“是”,执行步骤42;以及
13、步骤42:根据限流规则记录限流信息,根据统计规则记录流量使用信息,生成日志,然后执行步骤5。
14、根据本发明的上述一个实施方式提供的流量控制方法,其中步骤41:根据限流规则判断资源名称是否触发限流,若“否”,执行步骤43;
15、步骤43:根据统计规则记录流量使用信息,生成日志,然后执行步骤6。
16、根据本发明的上述一个实施方式提供的流量控制方法,其中请求报文为json格式的字符串。
17、根据本发明的上述一个实施方式提供的流量控制方法,其中限流策略通过配置文件进行设置和更改。
18、第二方面,本发明的一个实施方式提供了一种流量控制装置,包括:
19、报文单元,被配置成获取请求服务信息和请求报文;
20、拼装单元,被配置成根据请求服务信息和请求报文拼装资源名称;
21、策略获取单元,被配置成根据资源名称获取对应的限流策略;
22、限流触发单元,被配置成根据限流策略判断请求报文对应的资源名称是否触发限流;
23、限流单元:被配置成组装并返回限流报文。
24、第三方面,本发明的一个实施方式提供了一种电子设备,其包括:
25、一个或多个处理器;
26、存储装置,其上存储有一个或多个程序,
27、当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前述的流量控制方法。
28、第四方面,本发明的一个实施方式提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被一个或多个处理器执行时实现如前述的流量控制方法。
29、根据本发明实施方式的流量控制方法、装置、电子设备和存储介质的优点在于:过提供解析请求报文区分发出请求的资源后,根据限流策略针对资源进行限流,使系统能够按照资源的分配流量;针对资源而非接口进行限流,改善了对系统负载和安全性的保护机制,能够更好地防止异常请求以及黑客饱和攻击;实时性好,能够根据系统状态和用户需求实施调整限流策略。
1.一种流量控制方法,其特征在于,其包括多个步骤:
2.根据权利要求1所述的流量控制方法,其特征在于,步骤3:根据资源名称获取对应的限流策略,根据限流策略判断是否触发限流,若“否”,执行步骤6;
3.根据权利要求2所述的流量控制方法,其特征在于,限流策略中定义了限流规则和统计规则,限流规则用于定义系统为每个资源名称对分配的流量和每个资源名称对应的限流触发规则;统计规则用于对各个资源名称的流量使用情况和限流情况进行统计。
4.根据权利要求3所述的流量控制方法,其特征在于,步骤4:根据限流策略判断是否触发限流包括下列步骤:
5.根据权利要求4所述的流量控制方法,其特征在于,步骤41:根据限流规则判断资源名称是否触发限流,若“否”,执行步骤43;
6.根据权利要求5所述的流量控制方法,其特征在于,请求报文为json格式的字符串。
7.根据权利要求5所述的流量控制方法,其特征在于,限流策略通过配置文件进行设置和更改。
8.一种流量控制装置,其特征在于,其包括:
9.一种电子设备,其特征在于,其包括:
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被一个或多个处理器执行时实现如权利要求1-7中任一所述的方法。