一种广告媒体API调用限流方法及系统与流程
- 国知局
- 2024-08-02 14:17:39
本申请涉及信息传输领域,具体而言,涉及一种广告媒体api调用限流方法及系统。
背景技术:
1、近年来,随着流媒体的兴趣以及互联网技术的发展,针对于信息内容的访问技术也要求越来越高,特别是针对于媒体而言,应用程序接口(application programinterface,api)一组定义、程序及协议的集合,大部分的媒体都是通过api接口实现计算机软件之间的相互通信,而由于访问端进行访问时api接口的每秒查询率(qps)有限,因此在访问端的访问请求的查询率超过api接口的qps的情况下,会导致导致数据获取不全以及丧失接口获取的能力,因此针对于数据访问,限流技术则十分必要。
2、现有的限流方法,一般是通过直接在对应的接收端中采用对应的令牌桶算法进行相应的流量限制,具体是系统会以一个恒定的速度往桶里放入令牌,而如果请求需要被处理,则需要先从桶里获取一个令牌,当桶里没有令牌可取时,则拒绝服务。而上述的技术方案中仅仅能针对于多个访问服务器进行限流操作,对于单个访问服务器而言,可能存在多个访问节点,而当多个访问节点同时访问时,可能会超过api的qps,而上述的方案中,无法针对于单个访问服务器的多个节点进行限流,从而导致了对应的实用性较低。
3、鉴于上述技术,寻找一种实用性更强的广告媒体api调用限流方法是本领域技术人员亟待解决的问题。
技术实现思路
1、本申请的目的在于提供一种广告媒体api调用限流方法及系统,其能够解决现有的限流技术方案实用性较低的问题。
2、本申请是这样实现的:
3、第一方面,本申请提供一种广告媒体api调用限流方法,包括以下步骤:
4、建立本地服务器与广告媒体服务器的连接,并解析得到所述广告媒体服务器的api的qps;
5、采用令牌桶算法在所述本地服务器中生成令牌,并基于所述api的qps得到生成所述令牌的频次;
6、统计所述本地服务器中的本地网络节点,并依据所述生成令牌的频次以及所述本地网络节点的属性制定各所述本地网络节点的令牌分配方案;
7、依据所述令牌分配方案将所述令牌分配给所述本地网络节点所搭载的令牌桶中;
8、检测各所述本地网络节点的令牌桶中的令牌是否达到预设数量;
9、若是,则将对应的所述本地网络节点接入所述api进行数据通信;
10、若否,则回到所述依据所述令牌分配方案将所述令牌分配给所述本地网络节点所搭载的令牌桶中的步骤。
11、基于第一方面,所述采用令牌桶算法在所述本地服务器中生成令牌,并基于所述api的qps得到生成所述令牌的频次包括:
12、在所述本地服务器中启动所述令牌桶主线程,并通过各所述api生成令牌桶子线程;
13、基于所述令牌桶子线程以预设频次向所述令牌桶中放入令牌,所述预设频次等于所述api的qps-10%。
14、基于第一方面,在所述依据所述令牌分配方案将所述令牌分配给所述本地网络节点所搭载的令牌桶中之后,还包括:
15、获取新加入的本地网络节点,并停止对第一网络节点的令牌分配,所述第一网络节点为未分配得到所述令牌的所述本地网络节点;
16、依据未各所述第一网络节点重新制定对应的令牌分配方案,并依据更新后的令牌分配方案对各所述第一网络节点进行令牌分配。
17、基于第一方面,在检测所述本地网络节点的令牌桶中的令牌未达到预设数量时,还包括:
18、将对应的各所述本地网络节点的请求指令上传至缓冲区。
19、基于第一方面,在所述将对应的所述本地网络节点接入所述api进行数据通信之后,还包括:
20、删除对应的所述本地网络节点的令牌桶中预设数量的令牌,并在通信建立完成之后接收传输数据进入所述传输数据的转化处理流程,所述转化处理流程包括:关联外部数据、字段增删、数据清洗、数据加工、类型转换、创建映射以及自定义处理节点。
21、基于第一方面,所述解析得到所述广告媒体服务器的api的qps包括:
22、获取所述广告媒体服务器的请求处理日志,并筛选出所述本地服务器对应的所述api;
23、调用日志中的数据内容,计算得到所述api对应的qps。
24、第二方面,本申请还提供一种广告媒体api调用限流系统,包括:
25、建立模块,用于建立本地服务器与广告媒体服务器的连接,并解析得到所述广告媒体服务器的api的qps;
26、生成模块,用于采用令牌桶算法在所述本地服务器中生成令牌,并基于所述api的qps得到生成所述令牌的频次;
27、统计模块,用于统计所述本地服务器中的本地网络节点,并依据所述生成令牌的频次以及所述本地网络节点的属性制定各所述本地网络节点的令牌分配方案;
28、分配模块,用于依据所述令牌分配方案将所述令牌分配给所述本地网络节点所搭载的令牌桶中;
29、检测模块,用于检测各所述本地网络节点的令牌桶中的令牌是否达到预设数量,若是,则进入通信模块,若否,则回到分配模块;
30、通信模块,用于将对应的所述本地网络节点接入所述api进行数据通信。
31、第三方面,本申请提供一种电子设备,其包括存储器,用于存储一个或多个程序;处理器;当上述一个或多个程序被上述处理器执行时,实现如上述第一方面中任一项上述的方法。
32、第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面中任一项上述的方法。
33、相对于现有技术,本申请至少具有如下优点或有益效果:
34、本申请提出了一种广告媒体api调用限流方法,通过与广告媒体服务器的api建立连接,采用令牌桶算法在本地服务器中生成令牌,基于api的qps得到生成所述令牌的频次,并依据生成令牌的频次以及本地网络节点的属性制定各本地网络节点的令牌分配方案,依据令牌分配方案将令牌分配给本地网络节点所搭载的令牌桶中,当本地网络节点的令牌桶中的令牌达到预设数量则将对应的本地网络节点接入api进行数据通信。与以往方案不同的是,本方案中通过在本地服务器中采用令牌桶的方式,在对应的广告媒体服务器对于本地服务器的qps固定的情况下,通过令牌分配的方式,限定了本地的网络节点访问,从而防止由于本地网络节点访问过多导致撞频的情况,进一步提高了实用性。
35、本申请还提供一种广告媒体api调用限流系统,电子设备以及计算机可读存储介质,由于上述的一种广告媒体api调用限流系统,电子设备以及计算机可读存储介质与上述的广告媒体api调用限流方法对应,因此有益效果同上。
技术特征:1.一种广告媒体api调用限流方法,其特征在于,包括以下步骤:
2.如权利要求1所述的一种广告媒体api调用限流方法,其特征在于,所述采用令牌桶算法在所述本地服务器中生成令牌,并基于所述api的qps得到生成所述令牌的频次包括:
3.如权利要求1所述的一种广告媒体api调用限流方法,其特征在于,在所述依据所述令牌分配方案将所述令牌分配给所述本地网络节点所搭载的令牌桶中之后,还包括:
4.如权利要求1所述的一种广告媒体api调用限流方法,其特征在于,在检测所述本地网络节点的令牌桶中的令牌未达到预设数量时,还包括:
5.如权利要求1所述的一种广告媒体api调用限流方法,其特征在于,在所述将对应的所述本地网络节点接入所述api进行数据通信之后,还包括:
6.如权利要求1至5任意一项所述的一种广告媒体api调用限流方法,其特征在于,所述解析得到所述广告媒体服务器的api的qps包括:
7.一种广告媒体api调用限流系统,其特征在于,包括:
8.一种电子设备,其特征在于,包括:
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
技术总结本申请提出了一种广告媒体API调用限流方法及系统,涉及信息传输领域。本申请提出的方法通过与广告媒体服务器的API建立连接,采用令牌桶算法在本地服务器中生成令牌,基于API的QPS得到生成所述令牌的频次,并依据生成令牌的频次以及本地网络节点的属性制定各本地网络节点的令牌分配方案,依据令牌分配方案将令牌分配给本地网络节点所搭载的令牌桶中,当本地网络节点的令牌桶中的令牌达到预设数量则将对应的本地网络节点接入API进行数据通信。本方案中通过在本地服务器中采用令牌桶的方式,限定了本地的网络节点访问,从而防止由于本地网络节点访问过多导致撞频的情况,进一步提高了实用性。技术研发人员:刘汉卿受保护的技术使用者:成都睿晟天和传媒科技有限公司技术研发日:技术公布日:2024/7/23本文地址:https://www.jishuxx.com/zhuanli/20240801/242300.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。