[发明专利]一种实现接口幂等性的方法和装置在审
申请号: | 202210766556.6 | 申请日: | 2022-07-01 |
公开(公告)号: | CN115150097A | 公开(公告)日: | 2022-10-04 |
发明(设计)人: | 邓万昌;石毅 | 申请(专利权)人: | 中国银行股份有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 谷敬丽;杨丹 |
地址: | 100818 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 接口 方法 装置 | ||
本发明提供了一种实现接口幂等性的方法和装置,涉及网络安全,该方法应用于服务端,包括:生成Token,将Token发送至客户端和Redis服务器;所述Token在Redis服务器设有过期时间;接收客户端的业务请求;所述业务请求是客户端根据Token生成;从业务请求中获取Token,向Redis服务器查询是否存在相同Token,若Redis服务器中存在该相同Token,则删除所述Token,执行业务请求;若Redis服务器中不存在该相同Token,则抛出异常,返回错误信息至客户端,以使所述客户端展示所述错误信息。本发明采用先存入Redis,后判断重复后再删除的方案,实现交易的幂等性。
技术领域
本发明涉及网络安全技术领域,尤其涉及一种实现接口幂等性的方法和装置。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
解决网络请求的幂等性,一直是互联网应用的难题和焦点。作为一个数学概念,幂等意味着任一元素多次执行,会和执行一次的结果相同。无论是幂等函数,还是幂等方法,是允许相同参数多次执行,而执行结果不变。探索该问题解决方案的重要性,保证了重复执行不会改变内存、硬盘、及操作系统的状态。
在客户端进行接口调用时,一般情况下都能正常返回信息,不会重复提交。但在内存和CPU占用率较高,资源较为紧张的情况下,重复的概率会急剧升高。
例如:接口超时重复提交:很多时候HTTP客户端工具,或者第三方的HTTP中间件(最典型的有okHttp),都默认开启超时重试的机制。特别是第三方调用接口时候,为了防止网络波动超时等造成的请求失败,都会添加重试机制,导致一个请求提交多次。该情况不仅会导致业务风险,还会极大地消耗资源,甚至引起系统雪崩。另外,前端重复提交表单:在填写一些表格时候,用户填写完成提交,很多时候会因网络波动没有及时对用户做出提交成功响应,致使用户认为没有成功提交,然后一直点提交按钮,这时就会发生重复提交表单请求。
因此,如何提供一种新的方案,其能够解决上述技术问题是本领域亟待解决的技术难题。
发明内容
本发明实施例提供一种实现接口幂等性的方法,应用于服务端,采用先存入Redis,后判断重复后再删除的方案,实现交易的幂等性,该方法包括:
生成Token,将Token发送至客户端和Redis服务器;所述Token在Redis服务器设有过期时间;
接收客户端的业务请求;所述业务请求是客户端根据Token生成;
从业务请求中获取Token,向Redis服务器查询是否存在相同Token,若Redis服务器中存在该相同Token,则删除所述Token,执行业务请求;若Redis服务器中不存在该相同Token,则抛出异常,返回错误信息至客户端,以使所述客户端展示所述错误信息。
本发明实施例还提供一种实现接口幂等性的装置,应用于服务端,包括:
Token生成模块,用于生成Token,将Token发送至客户端和Redis服务器;所述Token在Redis服务器设有过期时间;
业务请求接收模块,用于接收客户端的业务请求;所述业务请求是客户端根据Token生成;
幂等性验证模块,用于从业务请求中获取Token,向Redis服务器查询是否存在相同Token,若Redis服务器中存在该相同Token,则删除所述Token,执行业务请求;若Redis服务器中不存在该相同Token,则抛出异常,返回错误信息至客户端,以使所述客户端展示所述错误信息。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种实现接口幂等性的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国银行股份有限公司,未经中国银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210766556.6/2.html,转载请声明来源钻瓜专利网。