一种非侵入式http服务过载保护的方法和装置与流程

文档序号:33954857发布日期:2023-04-26 14:38阅读:59来源:国知局
一种非侵入式http服务过载保护的方法和装置与流程

本发明涉及通讯技术,更具体地说,它涉及一种非侵入式http服务过载保护的方法和装置。


背景技术:

1、随着互联网信息技术的发展、万物互联的物联网技术的应用,越来越多的信息服务应用于各行各业和各种设备以及各种平台,包括但不限于服务器端、pc端、移动端、第三方应用或终端等。同一种信息资源可能需要同时服务于上述各种终端设备,而超文本传输协议(hypertext transfer trotocol,简称http)作为一种标准、通用、跨平台的通信协议,被广泛应用。

2、而一个http服务节点或机器通常会通过不同的统一资源定位符(uniformresource locator简称url)来提供多个服务,以及向不同的终端或第三方提供。因此,当高并发、高访问量的情况下,如何不因某些服务、某些终端或客户端的调用而造成服务过载导致不可用继而出现服务雪崩效应,以及如何保障重要终端不受影响,是本领域所面临的问题。

3、现下,一般的应用或系统对于http服务更多的只是关注了服务资源的合法性,即鉴权。使得http服务应用的耦合度高。对于http服务的熔断或过载保护没有对应的解决方案。


技术实现思路

1、本发明要解决的技术问题是针对现有技术的不足,提供一种非侵入式http服务过载保护的方法和装置,无需侵入、无需改造,不涉及复杂的技术框架和手段,每个节点独立完成服务请求的鉴权和过载保护,无节点瓶颈。

2、本发明所述的一种非侵入式http服务过载保护的方法,包括:

3、请求准入步骤,用于根据设定的服务鉴权,分析判断业务请求是否符合准入要求;若符合,则进行下一步骤;否则,拒绝所述业务请求;

4、过载保护步骤,用于依次分析服务器当前节点的负荷率以及请求准入率;若所述负荷率和请求准入率均低于准入限制,则准许所述业务请求进入服务器;否则,拒绝所述业务请求。

5、所述请求准入步骤具体包括:

6、第一步、拦截业务请求;

7、第二步、对拦截到的业务请求进行信息完整性的验证;若验证通过,则进入下一步;否则,拒绝所述业务请求;

8、第三步、对所述业务请求进行合法性验证;若验证通过,则进入下一步;否则,拒绝所述业务请求;

9、第四步、对所述业务请求进行权限验证;若验证通过,则进入下一步;否则,拒绝所述业务请求。

10、第二步,具体包括:

11、从所述业务请求的请求头中提取明文和签名信息;若提取不到明文和签名信息,则认为所述业务请求为非法请求,予以拒绝;否则通过验证。

12、第三步,具体包括:

13、获取所述业务请求的token,根据服务器历次访问token的缓存结果对所述业务请求token唯一性进行验证;如果所述业务请求的token存在于token的缓存结果中,则对所述业务请求予以拒绝;否则,通过所述明文的appid读取服务器中的appkey配置,并结合所述明文的内容进行加密;接着将加密结果与token进行比对;若比对结果不通过,则所述业务请求的token被视为无效,予以拒绝;否则通过验证。

14、第四步,具体包括:

15、通过所述appid和url读取服务器后台的redis配置,根据所述redis配置判断所述appid是否有访问url的权限;若无,则拒绝请求;否则通过验证。

16、所述过载保护步骤,具体包括:

17、读取服务器当前节点内存中缓存的内存使用率和线程使用率,并结合所述redis配置的节点正常提供服务的内存使用率和线程使用率,判断所述服务器当前节点的内存或线程是否超过使用率阈值;若超过或与使用率阈值一致,则予以拒绝;

18、否则,继续判断所述appid在单位时间内请求url服务资源的数量是否超过阈值配置;若超过或与阈值配置的数量一致,则予以拒绝;否则,准许所述业务请求进入服务器。

19、所述业务请求被拒绝后,将向发出所述业务请求的客户端反馈拒绝准入原因信息以及提示稍后再试信息。

20、该方法还包括业务量统计步骤,用于根据所述appid和url进行业务量计数,并重新计算服务器中业务请求总数以及单位时间内业务请求的数量、最大响应时间、平均响应时间;同时将所述单位时间内业务请求的数量储存至服务器内存中,将所述业务请求总数以及单位时间内业务请求的数量、最大响应时间、平均响应时间储存至服务器的redis中。

21、该方法还包括定时更新步骤,用于定时采集和统计服务器当前节点的内存、线程的资源使用信息,同时将所述资源使用信息储存至服务器中。

22、一种非侵入式http服务过载保护的装置,包括服务单元和存储单元;所述服务器单元读取存储单元中的业务信息,并根据所述业务信息应用所述的服务过载保护的方法,判断业务请求是否准许进入服务单元。

23、有益效果

24、本发明的优点在于:本发明集服务鉴权判断、服务多维度过载保护、业务量统计功能于一体,避免了非法访问的入侵,确保服务器业务信息的安全,有效的防止了服务器过载。且本发明对客户端以及服务器无任何侵入、无需改造,不涉及复杂的技术框架和手段,仅基于内存和高速缓存redis,性能高,不仅使得每个节点独立完成服务请求的鉴权和过载保护,无节点瓶颈,还优化了服务器资源。



技术特征:

1.一种非侵入式http服务过载保护的方法,其特征在于,包括:

2.根据权利要求1所述的一种非侵入式http服务过载保护的方法,其特征在于,所述请求准入步骤具体包括:

3.根据权利要求2所述的一种非侵入式http服务过载保护的方法,其特征在于,第二步,具体包括:

4.根据权利要求3所述的一种非侵入式http服务过载保护的方法,其特征在于,第三步,具体包括:

5.根据权利要求3所述的一种非侵入式http服务过载保护的方法,其特征在于,第四步,具体包括:

6.根据权利要求5所述的一种非侵入式http服务过载保护的方法,其特征在于,所述过载保护步骤,具体包括:

7.根据权利要求6所述的一种非侵入式http服务过载保护的方法,其特征在于,所述业务请求被拒绝后,将向发出所述业务请求的客户端反馈拒绝准入原因信息以及提示稍后再试信息。

8.根据权利要求6所述的一种非侵入式http服务过载保护的方法,其特征在于,该方法还包括业务量统计步骤,用于根据所述appid和url进行业务量计数,并重新计算服务器中业务请求总数以及单位时间内业务请求的数量、最大响应时间、平均响应时间;同时将所述单位时间内业务请求的数量储存至服务器内存中,将所述业务请求总数以及单位时间内业务请求的数量、最大响应时间、平均响应时间储存至服务器的redis中。

9.根据权利要求8所述的一种非侵入式http服务过载保护的方法,其特征在于,该方法还包括定时更新步骤,用于定时采集和统计服务器当前节点的内存、线程的资源使用信息,同时将所述资源使用信息储存至服务器中。

10.一种非侵入式http服务过载保护的装置,其特征在于,包括服务单元和存储单元;所述服务器单元读取存储单元中的业务信息,并根据所述业务信息应用如权利要求1-9任一项所述的服务过载保护的方法,判断业务请求是否准许进入服务单元。


技术总结
本发明公开了一种非侵入式http服务过载保护的方法,涉及通讯技术,解决了目前对于服务的熔断或过载保护没有对应的解决方案的技术问题。根据设定的服务鉴权,分析判断业务请求是否符合准入要求;若符合,则进行下一步骤;否则,拒绝所述业务请求;依次分析服务器当前节点的负荷率以及请求准入率;若所述负荷率和请求准入率均低于准入限制,则准许所述业务请求进入服务器;否则,拒绝所述业务请求。本发明还公开了一种非侵入式http服务过载保护的装置。本发明无需侵入、无需改造,不涉及复杂的技术框架和手段,每个节点独立完成服务请求的鉴权和过载保护,无节点瓶颈。

技术研发人员:谢阳,陈健强,刘礼铭,莫健安,廖小文
受保护的技术使用者:广东亿迅科技有限公司
技术研发日:
技术公布日:2024/1/11
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1