一种数据限流熔断方法、装置和设备制造方法及图纸

技术编号:37407338 阅读:18 留言:0更新日期:2023-04-30 09:33
本发明专利技术涉及数据处理技术领域,具体涉及一种数据限流熔断方法、装置和设备,其中,所述方法通过获取接口数据,将接口数据存储到临时数据存储区,并在每预设时间段内对临时数据存储区内的数据进行汇总计算,并将汇总数据存储到独立的滑动时间窗口区,对独立的滑动时间窗口区中预设计算周期内的汇总数据进行汇总计算获取计算结果,并根据计算结果,通过预设的限流熔断规则,判断接口是否触发限流熔断,若触发,则对接口进行限流熔断,本申请中通过对单独接口判断是否出现异常,若出现则对单独的接口进行限流熔断,通过牺牲单独接口,确保系统整体的正常运行,解决了由于单个API接口服务出现问题导致整体服务链调用雪崩的问题。出现问题导致整体服务链调用雪崩的问题。出现问题导致整体服务链调用雪崩的问题。

【技术实现步骤摘要】
一种数据限流熔断方法、装置和设备


[0001]本专利技术涉及数据处理
,具体涉及一种数据限流熔断方法、装置和设备。

技术介绍

[0002]现有报价提供的API接口服务的大并发,大数据量调用导致服务器线程和内存资源的全部耗尽。对于API接口服务调用,往往并不怕大并发调用,而是怕长耗时和大数据量的调用,这种接口调用导致连接一直被占用,而是大数据量情况下内存资源也一直被占用而服务是否。在这种场景下往往导致线程池满,或者场景的JVM内存溢出问题,将直接导致整个JVM内存溢出宕机。我们单个API服务问题导致所有资源被抢占,而影响到所有API接口调用。在现有的微服务架构下,微服务API接口间相互依赖,形成服务链调用关系。在这种情况下依赖的API接口服务如果出现问题,那么就会导致上层的各个消费方都出现调用异常,而导致整体服务链调用雪崩。

技术实现思路

[0003]有鉴于此,本专利技术的目的在于提供一种数据限流熔断方法、装置和设备,以克服目前由于单个API接口服务出现问题导致整体服务链调用雪崩的问题。
[0004]为实现以上目的,本专利技术采用如下技术方案:
[0005]第一方面,本申请提供了一种数据限流熔断方法,包括:
[0006]获取接口数据;
[0007]将所述接口数据存储到临时数据存储区;
[0008]每预设时间段内对所述临时数据存储区内的数据进行汇总计算,并将汇总数据存储到独立的滑动时间窗口区;
[0009]对所述独立的滑动时间窗口区中预设计算周期内的汇总数据进行汇总计算获取计算结果,并根据所述计算结果,通过预设的限流熔断规则,判断所述接口是否触发限流熔断;
[0010]若触发,则对所述接口进行限流熔断。
[0011]进一步的,以上所述的方法,所述获取预设时间内的接口数据,包括:
[0012]获取用户查询API接口的调用次数;
[0013]和/或,获取订单更新API接口更新次数和更新失败次数;
[0014]和/或,获取CRM系统消费产品查询接口的调用时长。
[0015]进一步的,以上所述的方法,所述每预设时间段内对所述临时数据存储区内的数据进行汇总计算,并将汇总数据存储到独立的滑动时间窗口区,包括:
[0016]若所述接口数据为用户查询API接口的调用次数,则计算所述临时数据存储区中10秒钟内用户查询API接口的调用次数,并将计算结果存储到用户查询API接口滑动时间窗口区。
[0017]进一步的,以上所述的方法,所述每预设时间段内对所述临时数据存储区内的数
据进行汇总计算,并将汇总数据存储到独立的滑动时间窗口区,包括:
[0018]若所述接口数据为订单更新API接口更新次数和更新失败次数,则计算所述临时数据存储区中10秒钟内订单更新API接口更新次数和更新失败次数,并将计算结果存储到订单更新API接口滑动时间窗口区。
[0019]进一步的,以上所述的方法,所述每预设时间段内对所述临时数据存储区内的数据进行汇总计算,并将汇总数据存储到独立的滑动时间窗口区,包括:
[0020]若所述接口数据为CRM系统消费产品查询接口的调用时长,则计算所述临时数据存储区中1分钟内CRM系统消费产品查询接口的调用时长,并将计算结果存储到CRM系统消费产品查询接口滑动时间窗口区。
[0021]进一步的,以上所述的方法,所述对所述独立的滑动时间窗口区中预设计算周期内的汇总数据进行汇总计算获取计算结果,并根据所述计算结果,通过预设的限流熔断规则,判断所述接口是否触发限流熔断,包括:
[0022]计算所述用户查询API接口滑动时间窗口区中10分钟内的调用次数;
[0023]判断所述调用次数是否超过1万次。
[0024]进一步的,以上所述的方法,所述对所述独立的滑动时间窗口区中预设计算周期内的汇总数据进行汇总计算获取计算结果,并根据所述计算结果,通过预设的限流熔断规则,判断所述接口是否触发限流熔断,包括:
[0025]计算所述订单更新API接口滑动时间窗口区中10分钟内的更新次数和更新失败次数;
[0026]根据所述更新次数和更新失败次数,计算所述订单更新API接口滑动时间窗口区中10分钟内的更新失败率;
[0027]判断所述更新失败率是否超过百分之一。
[0028]进一步的,以上所述的方法,所述对所述独立的滑动时间窗口区中预设计算周期内的汇总数据进行汇总计算获取计算结果,并根据所述计算结果,通过预设的限流熔断规则,判断所述接口是否触发限流熔断,包括:
[0029]计算所述CRM系统消费产品查询接口滑动时间窗口区中10分钟内的调用时长;
[0030]根据所述10分钟内的调用时长,计算10分钟内所述CRM系统消费产品查询接口每分钟的平均调用时长;
[0031]判断所述平均调用时长是否超过30秒。
[0032]第二方面,本申请提供了一种数据限流熔断装置,包括:
[0033]数据获取模块,用于获取接口数据;
[0034]临时数据存储模块,用于存储所述接口数据;
[0035]汇总模块,用于每预设时间段内对所述临时数据存储模块内的数据进行汇总计算;
[0036]滑动时间窗口模块,用于存储汇总数据;
[0037]限流熔断判断模块,用于对所述滑动时间窗口模块中预设计算周期内的所述汇总数据进行汇总计算获取计算结果,并根据所述计算结果,通过预设的限流熔断规则,判断所述接口是否触发限流熔断;
[0038]限流熔断模块,用于当触发限流熔断时,对所述接口进行限流熔断。
[0039]第三方面,本申请提供了一种数据限流熔断设备,包括处理器和存储器,所述处理器与存储器相连:
[0040]其中,所述处理器,用于调用并执行所述存储器中存储的程序;
[0041]所述存储器,用于存储所述程序,所述程序至少用于执行以上任一项所述的数据限流熔断方法。
[0042]本专利技术的有益效果为:
[0043]本申请通过获取接口数据,将接口数据存储到临时数据存储区,并在每预设时间段内对临时数据存储区内的数据进行汇总计算,并将汇总数据存储到独立的滑动时间窗口区,对独立的滑动时间窗口区中预设计算周期内的汇总数据进行汇总计算获取计算结果,并根据计算结果,通过预设的限流熔断规则,判断接口是否触发限流熔断,若触发,则对接口进行限流熔断,本申请中通过对单独接口判断是否出现异常,若出现则对单独的接口进行限流熔断,通过牺牲单独接口,确保系统整体的正常运行,解决了由于单个API接口服务出现问题导致整体服务链调用雪崩的问题。
附图说明
[0044]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据限流熔断方法,其特征在于,包括:获取接口数据;将所述接口数据存储到临时数据存储区;每预设时间段内对所述临时数据存储区内的数据进行汇总计算,并将汇总数据存储到独立的滑动时间窗口区;对所述独立的滑动时间窗口区中预设计算周期内的汇总数据进行汇总计算获取计算结果,并根据所述计算结果,通过预设的限流熔断规则,判断所述接口是否触发限流熔断;若触发,则对所述接口进行限流熔断。2.根据权利要求1所述的方法,其特征在于,所述获取预设时间内的接口数据,包括:获取用户查询API接口的调用次数;和/或,获取订单更新API接口更新次数和更新失败次数;和/或,获取CRM系统消费产品查询接口的调用时长。3.根据权利要求2所述的方法,其特征在于,所述每预设时间段内对所述临时数据存储区内的数据进行汇总计算,并将汇总数据存储到独立的滑动时间窗口区,包括:若所述接口数据为用户查询API接口的调用次数,则计算所述临时数据存储区中10秒钟内用户查询API接口的调用次数,并将计算结果存储到用户查询API接口滑动时间窗口区。4.根据权利要求2所述的方法,其特征在于,所述每预设时间段内对所述临时数据存储区内的数据进行汇总计算,并将汇总数据存储到独立的滑动时间窗口区,包括:若所述接口数据为订单更新API接口更新次数和更新失败次数,则计算所述临时数据存储区中10秒钟内订单更新API接口更新次数和更新失败次数,并将计算结果存储到订单更新API接口滑动时间窗口区。5.根据权利要求2所述的方法,其特征在于,所述每预设时间段内对所述临时数据存储区内的数据进行汇总计算,并将汇总数据存储到独立的滑动时间窗口区,包括:若所述接口数据为CRM系统消费产品查询接口的调用时长,则计算所述临时数据存储区中1分钟内CRM系统消费产品查询接口的调用时长,并将计算结果存储到CRM系统消费产品查询接口滑动时间窗口区。6.根据权利要求3所述的方法,其特征在于,所述对所述独立的滑动时间窗口区中预设计算周期内的汇总数据进行汇总计算获取计算结果,并根据所述计算结果,通过...

【专利技术属性】
技术研发人员:林毕成
申请(专利权)人:上海中通吉网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1