[发明专利]一种设置开放时间和限制请求次数的服务开放控制方案在审
| 申请号: | 202110000863.9 | 申请日: | 2021-01-05 |
| 公开(公告)号: | CN112560014A | 公开(公告)日: | 2021-03-26 |
| 发明(设计)人: | 包芃;翁庄明;彭本;李思欣;陈古文 | 申请(专利权)人: | 广州华资软件技术有限公司 |
| 主分类号: | G06F21/45 | 分类号: | G06F21/45;G06F9/448 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 510665 广*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 设置 开放 时间 限制 请求 次数 服务 控制 方案 | ||
1.一种设置开放时间和限制请求次数的服务开放控制方案,其特征在于,采用限流器的方式,将限流器放置在服务通过服务鉴权之后,到达服务处理器之前的位置,以控制开放时间和限制访问次数;包括有以下步骤:
步骤A1.在服务鉴权之后,到达服务处理器之前,引入自定义的控制开放时间限流器及限制访问次数限流器;
步骤A2.在发布服务时,开启控制开放时间限流器,设置服务的开放时间,支持按照时间段和日期段限制服务的开放时间;
步骤A3.在发布服务时,开启限制访问次数限流器,设置服务的限制请求次数,支持分别从服务和调用方的维度进行限制,用户可按照项目需求选择其中一个维度;
步骤A4.在调用方请求访问服务时,传入授权凭证和服务标识,进行鉴权,判断授权凭证和服务标识是否与所请求服务相匹配,并且服务正常,则通过鉴权,否则请求失败;
步骤A5.服务通过鉴权后,服务调用方的服务请求进入限制开放时间限流器环节,此时限制开放时间限流器进行判断当前时间是否在步骤A2设置的开放时间段内,如在开放时段内,进入下一个步骤,否则请求失败;
步骤A6.服务请求进入限制访问次数限流器环节,此时限流器根据步骤A3设置的限制范围进行判断,如果在步骤A3中设置的是以服务的维度进行限制,则根据服务标识获得一个身份秘钥KEY,如果设置的是以调用方的维度进行限制,则根据授权凭证和服务标志获得一个身份KEY;
步骤A7.调用方根据获得的KEY获取该服务在内存或redis中缓存的限流对象,判断本次访问是否将超出设定的限定次数,如果将超出上限,则请求失败,如果未超出,则允许访问服务,并记录本次访问,将该服务或调用方的累计访问次数加1;此时,服务调用方完成本次整个服务调用流程。
2.如权利要求1所述的基于设置开放时间和限制请求次数的服务开放控制方案,其特征在于,所述自定义的控制开放时间限流器是基于java语言实现的能够用于限定调用方在访问时间段内才能访问服务的功能组件。
3.如权利要求1所述的基于设置开放时间和限制请求次数的服务开放控制方案,其特征在于,所述自定义的限制访问次数限流器用于限制服务的请求次数,实现方式包括2类,一类是针对单节点模式,基于guava重写限流类方法,将限流的单位时间范围扩大到每秒、每分钟、每小时及每天的粒度,将限流对象存入内存中,用缓存的方式限时保存限流对象,以得到服务的累计访问次数,并判断是否超出设定的限定次数;另一类是针对多节点集群模式,基于redis缓存限流对象以得到服务的累计访问次数,并判断是否超出设定的次数。
4.如权利要求1所述的基于设置开放时间和限制请求次数的服务开放控制方案,其特征在于,所述时间段的时间单位精确到秒,日期段精确到天。
5.如权利要求1所述的基于设置开放时间和限制请求次数的服务开放控制方案,其特征在于,所述设置限制请求次数,支持设置单位时间内的访问次数,时间单位可以设置秒、分钟、小时和天。
6.如权利要求1所述的基于设置开放时间和限制请求次数的服务开放控制方案,其特征在于,从服务维度进行限制,限制的数据是针对服务;从调用方的维度限制,则限制的是同一个调用方调用该服务的单位次数;即服务的单位可提供请求次数限制和调用方单位时间内发起请求次数限制。
7.如权利要求1所述的基于设置开放时间和限制请求次数的服务开放控制方案,其特征在于,所述限流对象是指用于计算累计访问次数的对象,包括三个参数:KEY、开放时间、限制次数;针对从服务维度进行限流的情况,每个调用方每访问一次服务,访问次数的值加1;针对从调用方的维度进行限流的情况,调用方每访问一次服务,该调用方对应的访问次数值加1。
8.如权利要求1所述的基于设置开放时间和限制请求次数的服务开放控制方案,其特征在于,所述KEY为调用方通过鉴权和限流维度判断后可获取的身份识别密钥,在进行限流维度判断时,如果调用方所申请服务的限流设置是以服务的维度,则KEY由服务标识加密生成,如果是以调用方的维度进行限流,则KEY由授权凭证和服务标识共同加密生成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州华资软件技术有限公司,未经广州华资软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110000863.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多功能胸外科穿刺器
- 下一篇:一种用于轧钢厂设备故障诊断及报警的方法





