【技术实现步骤摘要】
一种基于java原子操作的单服务接口的并发限制方法
本专利技术涉及java并发限制相关
,尤其是指一种基于java原子操作的单服务接口的并发限制方法。
技术介绍
由于单一服务的性能、资源限制,在秒杀等高并发场景下,如果没有对单个服务进行请求限制,极容易出现服务消费过度导致服务异常、宕机。目前业界大部分使用第三方插件或服务进行控制,风险不太可控。
技术实现思路
本专利技术是为了克服现有技术中存在上述的不足,提供了一种能够保证正常工作的基于java原子操作的单服务接口的并发限制方法。为了实现上述目的,本专利技术采用以下技术方案:一种基于java原子操作的单服务接口的并发限制方法,包括第一定义模块、第一校验模块、第二校验模块、第一计算模块和第二计算模块,具体包括如下步骤:(1)第一定义模块用于在内存中声明一个键名称使用特殊算法的线程安全的键值对集合,发出接口请求即客户端调用服务,进行方法拦截即对客户端的调用进行拦截过滤;(2)第一校验模块用于原子取值判断当前请求是否超限,校 ...
【技术保护点】
1.一种基于java原子操作的单服务接口的并发限制方法,其特征是,包括第一定义模块、第一校验模块、第二校验模块、第一计算模块和第二计算模块,具体包括如下步骤:/n(1)第一定义模块用于在内存中声明一个键名称使用特殊算法的线程安全的键值对集合,发出接口请求即客户端调用服务,进行方法拦截即对客户端的调用进行拦截过滤;/n(2)第一校验模块用于原子取值判断当前请求是否超限,校验通过则进入到第一计算模块,校验不通过则等待执行即对客户端的调用进行阻塞等待;第二校验模块用于循环等待判断当前请求是否超时,校验通过则进入到第一计算模块,校验不通过则抛出异常即客户端本次调用完成,响应给客户端 ...
【技术特征摘要】
1.一种基于java原子操作的单服务接口的并发限制方法,其特征是,包括第一定义模块、第一校验模块、第二校验模块、第一计算模块和第二计算模块,具体包括如下步骤:
(1)第一定义模块用于在内存中声明一个键名称使用特殊算法的线程安全的键值对集合,发出接口请求即客户端调用服务,进行方法拦截即对客户端的调用进行拦截过滤;
(2)第一校验模块用于原子取值判断当前请求是否超限,校验通过则进入到第一计算模块,校验不通过则等待执行即对客户端的调用进行阻塞等待;第二校验模块用于循环等待判断当前请求是否超时,校验通过则进入到第一计算模块,校验不通过则抛出异常即客户端本次调用完成,响应给客户端一段错误提示信息;
(3)第一计算模块用于归类本次请求并进行原子加一,方法执行即真正的业务逻辑运行并进入到第二计算模块;
(4)第二计算模块用于归类本次请求并进行原子减一,请求结束即客户端本次调用完成,响应给客户端信息成功。
2.根据权利要求1所述的一种基于java原子操作的单服务接口的并发限制方法,其特征是,在步骤(1)中,针对第一定义模块具体地:使用java原子及线程安全对象进行定义,键定义为...
【专利技术属性】
技术研发人员:代存折,李妃军,朱益军,
申请(专利权)人:杭州当虹科技股份有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。