[发明专利]一种减少网络API重复请求并发的方法及系统在审
申请号: | 202210033262.2 | 申请日: | 2022-01-12 |
公开(公告)号: | CN114461308A | 公开(公告)日: | 2022-05-10 |
发明(设计)人: | 黄立根;张增政;刘保胜 | 申请(专利权)人: | 广东泓胜科技股份有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448;G06F9/54;G06Q10/02;H04L47/215 |
代理公司: | 佛山市禾才知识产权代理有限公司 44379 | 代理人: | 梁永健;朱培祺 |
地址: | 528299 广东省佛山市南海区桂*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 减少 网络 api 重复 请求 并发 方法 系统 | ||
本发明公开了一种减少网络API重复请求并发的方法及系统,所述方法包括如下步骤:利用车辆ID信息生成预约请求,所述预约请求从携带IP地址;判断是否存在相同的车辆ID信息进行预约请求或处于预约过程:若是,则预约请求无效并提示信息;若否,则判断当前队列是否存在令牌:若当前队列中没有令牌,则预约请求无效并提示信息;若当前队列存在令牌,则消耗队列中的一个令牌以写入预约请求所携带的IP地址,判断该IP地址是否在预设时间内的请求次数超出最大请求数量:若是,则预约请求无效并提示信息;若否,则受理预约请求。有效解决后台接收到大量的预约请求而导致网络卡顿、数据延迟甚至接口出错导致程序崩溃的技术问题。
技术领域
本发明涉及机动车业务预约技术领域,尤其涉及一种减少网络API重复请求并发的方法及系统。
背景技术
现有车驾管微信小程序的预约业务中,有部分用户使用一人多手机或第三方工具等方法来进行预约,来创建同一车牌,车架号等车辆数据进入到预约业务界面进行预约抢号,导致后台短期内接收过高峰值网络API请求,导致网络卡顿,数据延迟,甚至接口出错导致程序崩溃。
发明内容
本发明的目的在于提出一种减少网络API重复请求并发的方法及系统,以解决后台短期内接收过高峰值网络API请求,导致网络卡顿,数据延迟,甚至接口出错导致程序崩溃的技术问题。
为达此目的,本发明采用以下技术方案:一种并发处理API请求的方法,所述方法包括如下步骤:
每规定时间内产生规定数量的令牌加入队列,若队列中令牌数量超出预设值,则放弃多余的令牌;
利用车辆ID信息生成预约请求,所述预约请求从携带IP地址;
判断是否存在相同的车辆ID信息进行预约请求或处于预约过程:
若是,则预约请求无效并提示信息;
若否,则判断当前队列是否存在令牌:
若当前队列中没有令牌,则预约请求无效并提示信息;
若当前队列存在令牌,则消耗队列中的一个令牌以写入预约请求所携带的IP地址,判断该IP地址是否在预设时间内的请求次数超出最大请求数量:若是,则预约请求无效并提示信息;若否,则受理预约请求。
一种可选的实施例,基于socket.io技术判断是否存在相同的车辆ID信息进行预约请求或处于预约过程。
一种可选的实施例,所述令牌为redis令牌。
一种可选的实施例,所述令牌的产生速度为每秒产生100~200个。
一种可选的实施例,所述预设值为100~200。
一种可选的实施例,所述预设时间为1~2分钟,所述最大请求数量为5~10。
本发明第二方面公开了一种并发处理API请求的系统,应用在本发明第一方面公开的一种并发处理API请求的方法,所述系统包括请求预约客户端、Node.js定时器和Node.js后台,所述请求预约客户端安装有weapp.socket.io,Node.js后台安装有socket.io,Node.js后台接收请求预约客户端的socket请求长连接;
Node.js定时器用于每规定时间内产生规定数量的令牌加入队列,若队列中令牌数量超出预设值,则放弃多余的令牌;
请求预约客户端用于获取车辆ID信息,以车辆ID信息生成预约请求,并将预约请求发送至Node.js后台;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东泓胜科技股份有限公司,未经广东泓胜科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210033262.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于环保的畜牧业废弃物炭化处理装置
- 下一篇:一种用于动态称重的测试装置