[发明专利]一种基于幂等性的接口实现方法在审
申请号: | 201810297166.2 | 申请日: | 2018-03-30 |
公开(公告)号: | CN108650093A | 公开(公告)日: | 2018-10-12 |
发明(设计)人: | 王有露;温正东 | 申请(专利权)人: | 深圳市富途网络科技有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/06;H04L29/08;H04L12/823 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518000 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 调用 服务器端 令牌 时间戳 接口实现 令牌生成 请求参数 失败信息 接口安全性 生成服务器 发送请求 算法生成 有效访问 重复处理 返回 预设 算法 加密 数据库 发送 保证 | ||
本发明公开了一种基于幂等性的接口实现方法,包括:步骤S1,调用端根据预设的令牌生成算法生成调用端令牌,并且向服务器端发送请求参数、时间戳和调用端令牌;步骤S2,服务器端判断时间戳是否在接口允许的有效访问时间内,若超出有效时间,则向调用端返回失败信息;步骤S3,服务器端按照与调用端相同的令牌生成算法,根据请求参数和时间戳加密生成服务器端令牌;步骤S4,服务器端判断调用端令牌与服务器端令牌是否一致,若否,则向调用端返回失败信息;步骤S5,服务器端将调用端令牌作为唯一ID记入数据库;步骤S6,服务器端执行调用端发送的请求参数。本发明能够保证一些特殊的请求不被重复处理,进而提高接口安全性和可靠性。
技术领域
本发明涉及应用程序接口实现方法,尤其涉及一种基于幂等性的接口实现方法。
背景技术
随着互联网的快速发展,越来越多的网站会对外开放自己的应用程序接口(API),如何保证API的幂等性,是一个非常重要的课题。
现有技术中,调用端自己保证不重发。在调用API前,先标记该请求正在处理,接收到API响应后将标记设置为处理完成,如中间发生异常则将本次请求标记为异常情况,后续再通过其他方式修复异常请求。这种方式对调用端要求高,而且如果调用端没做处理将直接出现重复执行同一操作的情况。服务器端API保证重复请求只被处理一次。调用端在调用时,每次除了必要的请求参数,另外再增加额外请求流水ID,服务器端API在接收到请求后第一时间将流水ID尝试保存起来,如流水ID已存在则直接返回错误信息,否则继续处理返回结果。这种方式流水ID会越来越多对流水ID的存储介质查询速度、容量都要求高。
发明内容
本发明要解决的技术问题在于,针对现有技术的不足,提供一种能够保证一些特殊的请求不被重复处理,进而提高接口安全性和可靠性的基于幂等性的接口实现方法。
为解决上述技术问题,本发明采用如下技术方案。
一种基于幂等性的接口实现方法,该方法基于调用端和服务器端实现,所述方法包括有如下步骤:步骤S1,所述调用端根据预设的令牌生成算法生成调用端令牌,并且向服务器端发送请求参数、时间戳和调用端令牌;步骤S2,所述服务器端接收请求参数,并判断时间戳是否在接口允许的有效访问时间内,若是,则执行步骤S3,若超出有效时间,则向调用端返回失败信息;步骤S3,所述服务器端按照与所述调用端相同的令牌生成算法,根据请求参数和时间戳加密生成服务器端令牌;步骤S4,所述服务器端判断调用端令牌与服务器端令牌是否一致,若是,则执行步骤S5,若否,则向调用端返回失败信息;步骤S5,所述服务器端将调用端令牌作为唯一ID记入数据库;步骤S6,所述服务器端执行调用端发送的请求参数,并将执行结果反馈回调用端。
优选地,所述步骤S1中,所述时间戳是调用端当前时间的时间戳。
优选地,所述令牌生成算法包括:将请求参数和时间戳经MD5加密后生成的字符串值作为令牌。
优选地,所述步骤S5中,若发生唯一ID冲突,则所述服务器端不再执行调用端发送的请求参数。
优选地,所述接口为HTTP接口。
本发明公开的基于幂等性的接口实现方法,其通过令牌的唯一性保证接口幂等,并通过验证令牌值而快速发现异常请求,通过时间戳判断过期请求并丢弃提高接口性能。相比现有技术而言,本发明能够保证一些特殊的请求不被重复处理,进而提高了接口安全性和可靠性。
附图说明
图1为本发明方法的流程图。
具体实施方式
下面结合附图和实施例对本发明作更加详细的描述。
本发明公开了一种基于幂等性的接口实现方法,该方法基于调用端和服务器端实现,请参照图1,所述方法包括有如下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市富途网络科技有限公司,未经深圳市富途网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810297166.2/2.html,转载请声明来源钻瓜专利网。