CN111882067A - 一种基于数据统计的动态熔断算法及电子设备 - Google Patents
一种基于数据统计的动态熔断算法及电子设备 Download PDFInfo
- Publication number
- CN111882067A CN111882067A CN202010724802.2A CN202010724802A CN111882067A CN 111882067 A CN111882067 A CN 111882067A CN 202010724802 A CN202010724802 A CN 202010724802A CN 111882067 A CN111882067 A CN 111882067A
- Authority
- CN
- China
- Prior art keywords
- fusing
- sliding window
- error
- algorithm
- error rate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Mathematics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Algebra (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及网络服务技术领域,具体涉及一种基于数据统计的动态熔断算法及电子设备,算法包括以下步骤:S1定义若干个滑窗M组成一个环形统计容器,并计算每个滑窗间隔的请求数、错误数和错误率;S2根据业务系统的特点,定义错误的判断逻辑;S3对整个环形滑窗进行统计,判断是否触发熔断机制;S4计算熔断期间整个环形容器中的滑窗平均出错率,并基于出错率确定尝试概率;S5熔断触发机制恢复以后,停止执行熔断运行策略;S6本次熔断完成,继续指导至下一次熔断机制触发后结束,本发明的熔断处理机制,可以保证数据集群在某些异常场景下,依然能通过相应的熔断机制确保集群可靠正常地工作,避免由于网络服务的瞬间崩溃导致的雪崩效应。
Description
技术领域
本发明涉及网络服务技术领域,具体涉及一种基于数据统计的动态熔断算法及电子设备。
背景技术
在网络服务调用中,因为网络环境所具备的不稳定性,网络请求存在着必然的不确定性。为了避免由于网络服务的瞬间崩溃导致的雪崩效应,需要有专门的熔断机制,为了让熔断机制能够起到应有的作用,需要有合理的熔断判断算法。
发明内容
针对现有技术的不足,本发明公开了一种基于数据统计的动态熔断算法及电子设备,旨在避免由于网络服务的瞬间崩溃导致的雪崩效应,让熔断机制能够起到应有的作用。
本发明通过以下技术方案予以实现:
第一方面,本发明公开一种基于数据统计的动态熔断算法,所述算法包括以下步骤:
S1定义若干个滑窗M组成一个环形统计容器,并计算每个滑窗间隔的请求数、错误数和错误率;
S2根据业务系统的特点,定义错误的判断逻辑;
S3对整个环形滑窗进行统计,判断是否触发熔断机制;
S4计算熔断期间整个环形容器中的滑窗平均出错率sum(errorRatio)/N,并基于出错率确定尝试概率T;
S5熔断触发机制恢复以后,停止执行熔断运行策略;
S6本次熔断完成,继续指导至下一次熔断机制触发后结束。
更进一步的,所述S1中,定义若干滑窗,每个滑窗有固定的时间间隔,若干个滑窗M组成一个环形统计容器,其中20≦M≦100。
更进一步的,系统请求时,基于请求时间戳落入特定的滑窗内每个滑窗时间间隔,对当前环形容器进行统计,计算每个滑窗间隔的请求数、错误数和错误率。
更进一步的,所述S2中,定义错误的判断逻辑为异常捕获、特定返回值或者超时无响应时判定为错误请求。
更进一步的,所述S3中,针对每个滑窗时间间隔,对整个环形滑窗进行统计,从当前滑窗往前推N个滑窗间隔如果某个滑窗出现错误,则计作出错滑窗,如果出错滑窗超过指定比例R,则触发熔断机制,其中N小于环形容器的大小M。
更进一步的,所述S4中,熔断期间,计算整个环形容器中的滑窗平均出错率,sum(errorRatio)/N,并基于出错率确定尝试概率T,具体计算为T=1-sum(errorRatio)/N。
第二方面,本发明公开一种电子设备,包括处理器以及存储有执行指令的存储器,当所述处理器执行所述存储器存储的所述执行指令时,所述处理器执行第一方面所述的基于数据统计的动态熔断算法。
本发明的有益效果为:
本发明的熔断处理机制,可以保证数据集群在某些异常场景下,依然能通过相应的熔断机制确保集群可靠正常地工作,避免由于网络服务的瞬间崩溃导致的雪崩效应。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是一种基于数据统计的动态熔断算法的原理步骤图;
图2是本发明实施例的运行图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本实施例公开如图1所示的一种基于数据统计的动态熔断算法,包括以下步骤:
S1定义若干个滑窗M组成一个环形统计容器,并计算每个滑窗间隔的请求数、错误数和错误率;
S2根据业务系统的特点,定义错误的判断逻辑;
S3对整个环形滑窗进行统计,判断是否触发熔断机制;
S4计算熔断期间整个环形容器中的滑窗平均出错率sum(errorRatio)/N,并基于出错率确定尝试概率T;
S5熔断触发机制恢复以后,停止执行熔断运行策略;
S6本次熔断完成,继续指导至下一次熔断机制触发后结束。
S1中,定义若干滑窗,每个滑窗有固定的时间间隔,若干个滑窗M组成一个环形统计容器,其中20≦M≦100。
系统请求时,基于请求时间戳落入特定的滑窗内每个滑窗时间间隔,对当前环形容器进行统计,计算每个滑窗间隔的请求数、错误数和错误率。
S2中,定义错误的判断逻辑为异常捕获、特定返回值或者超时无响应时判定为错误请求。
S3中,针对每个滑窗时间间隔,对整个环形滑窗进行统计,从当前滑窗往前推N个滑窗间隔如果某个滑窗出现错误,则计作出错滑窗,如果出错滑窗超过指定比例R,则触发熔断机制,其中N小于环形容器的大小M。
S4中,熔断期间,计算整个环形容器中的滑窗平均出错率,sum(errorRatio)/N,并基于出错率确定尝试概率T,具体计算为T=1-sum(errorRatio)/N。
本实施例的熔断处理机制,可以保证数据集群在某些异常场景下,依然能通过相应的熔断机制确保集群可靠正常地工作,避免由于网络服务的瞬间崩溃导致的雪崩效应。
实施例2
本实施例中,公开一种动态熔断判断及恢复算法,以支持熔断器进行熔断控制,其运行如图2所示;
定义若干滑窗,每个滑窗有固定的时间间隔(比如10秒),若干个滑窗M(20-100)组成一个环形统计容器。系统的每一次请求,会基于请求时间戳落入特定的滑窗内,每个滑窗时间间隔,对当前环形容器进行统计,计算每个滑窗间隔的请求数、错误数、错误率;
错误判断机制:根据业务系统的特点,定义错误的判断逻辑,可以是异常捕获,也可以是特定返回值,或者超时无响应,判定为错误请求;
定义熔断触发机制:每个滑窗时间间隔,对整个环形滑窗进行统计,从当前滑窗往前推N个滑窗间隔(N小于整个环形容器的大小M),如果某个滑窗出现错误,则计作出错滑窗,如果出错滑窗超过指定比例R(比如50%),则触发熔断机制;
熔断期间运行策略:熔断期间,计算整个环形容器中的滑窗平均出错率,sum(errorRatio)/N,并基于出错率确定尝试概率T(如:出错率在90%,则保持10%(1-90%)的尝试概率;
当熔断触发机制恢复以后,不再执行熔断运行策略,指导下一次熔断机制触发为止。
实施例3
本实施例公开一种电子设备,包括处理器以及存储有执行指令的存储器,当所述处理器执行所述存储器存储的所述执行指令时,所述处理器执行基于数据统计的动态熔断算法。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种基于数据统计的动态熔断算法,其特征在于,所述算法包括以下步骤:
S1定义若干个滑窗M组成一个环形统计容器,并计算每个滑窗间隔的请求数、错误数和错误率;
S2根据业务系统的特点,定义错误的判断逻辑;
S3对整个环形滑窗进行统计,判断是否触发熔断机制;
S4计算熔断期间整个环形容器中的滑窗平均出错率,并基于出错率确定尝试概率;
S5熔断触发机制恢复以后,停止执行熔断运行策略;
S6本次熔断完成,继续指导至下一次熔断机制触发后结束。
2.根据权利要求1所述的基于数据统计的动态熔断算法,其特征在于,所述S1中,定义若干滑窗,每个滑窗有固定的时间间隔,若干个滑窗M组成一个环形统计容器,其中20≦M≦100。
3.根据权利要求1所述的基于数据统计的动态熔断算法,其特征在于,系统请求时,基于请求时间戳落入特定的滑窗内每个滑窗时间间隔,对当前环形容器进行统计,计算每个滑窗间隔的请求数、错误数和错误率。
4.根据权利要求1所述的基于数据统计的动态熔断算法,其特征在于,所述S2中,定义错误的判断逻辑为异常捕获、特定返回值或者超时无响应时判定为错误请求。
5.根据权利要求1所述的基于数据统计的动态熔断算法,其特征在于,所述S3中,针对每个滑窗时间间隔,对整个环形滑窗进行统计,从当前滑窗往前推N个滑窗间隔如果某个滑窗出现错误,则计作出错滑窗,如果出错滑窗超过指定比例R,则触发熔断机制,其中N小于环形容器的大小M。
6.根据权利要求1所述的基于数据统计的动态熔断算法,其特征在于,所述S4中,熔断期间,计算整个环形容器中的滑窗平均出错率,sum(errorRatio)/N,并基于出错率确定尝试概率T,具体计算为T=1-sum(errorRatio)/N。
7.一种电子设备,包括处理器以及存储有执行指令的存储器,当所述处理器执行所述存储器存储的所述执行指令时,所述处理器执行如权利要求1至6中任一所述的基于数据统计的动态熔断算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010724802.2A CN111882067A (zh) | 2020-07-24 | 2020-07-24 | 一种基于数据统计的动态熔断算法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010724802.2A CN111882067A (zh) | 2020-07-24 | 2020-07-24 | 一种基于数据统计的动态熔断算法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111882067A true CN111882067A (zh) | 2020-11-03 |
Family
ID=73200475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010724802.2A Pending CN111882067A (zh) | 2020-07-24 | 2020-07-24 | 一种基于数据统计的动态熔断算法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111882067A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527544A (zh) * | 2020-11-23 | 2021-03-19 | 聚好看科技股份有限公司 | 一种服务器、触发熔断的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107171828A (zh) * | 2017-04-18 | 2017-09-15 | 北京思特奇信息技术股份有限公司 | 一种应对远程调用依赖的超时熔断方法和系统 |
CN109976935A (zh) * | 2019-03-14 | 2019-07-05 | 北京三快在线科技有限公司 | 微服务架构、微服务节点及其熔断恢复方法、装置 |
CN110347488A (zh) * | 2019-07-08 | 2019-10-18 | 北京字节跳动网络技术有限公司 | 一种服务处理方法、装置、终端设备及存储介质 |
CN110995472A (zh) * | 2019-11-15 | 2020-04-10 | 苏州浪潮智能科技有限公司 | 一种微服务业务熔断方法和系统 |
-
2020
- 2020-07-24 CN CN202010724802.2A patent/CN111882067A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107171828A (zh) * | 2017-04-18 | 2017-09-15 | 北京思特奇信息技术股份有限公司 | 一种应对远程调用依赖的超时熔断方法和系统 |
CN109976935A (zh) * | 2019-03-14 | 2019-07-05 | 北京三快在线科技有限公司 | 微服务架构、微服务节点及其熔断恢复方法、装置 |
CN110347488A (zh) * | 2019-07-08 | 2019-10-18 | 北京字节跳动网络技术有限公司 | 一种服务处理方法、装置、终端设备及存储介质 |
CN110995472A (zh) * | 2019-11-15 | 2020-04-10 | 苏州浪潮智能科技有限公司 | 一种微服务业务熔断方法和系统 |
Non-Patent Citations (1)
Title |
---|
飞向札幌的班机: "《https://blog.csdn.net/manzhizhen/article/details/80296655》", 13 May 2018 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527544A (zh) * | 2020-11-23 | 2021-03-19 | 聚好看科技股份有限公司 | 一种服务器、触发熔断的方法及装置 |
CN112527544B (zh) * | 2020-11-23 | 2022-04-29 | 聚好看科技股份有限公司 | 一种服务器、触发熔断的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10601643B2 (en) | Troubleshooting method and apparatus using key performance indicator information | |
US6532214B1 (en) | Controlling traffic congestion in intelligent electronic networks | |
CN109240765B (zh) | 服务资源的熔断方法、装置、设备及计算机可读存储介质 | |
US20100052924A1 (en) | Method and System for Detecting and Managing a Fault Alarm Storm | |
CN111078453B (zh) | 微服务自动熔断和恢复方法、装置、计算机设备及存储介质 | |
CN111324886A (zh) | 业务请求的处理方法、装置和服务器 | |
CN112965823B (zh) | 调用请求的控制方法、装置、电子设备和存储介质 | |
EP3264723A1 (en) | Method, related apparatus and system for processing service request | |
CN111882067A (zh) | 一种基于数据统计的动态熔断算法及电子设备 | |
CN107544838B (zh) | 一种中断处理方法及装置 | |
CN110837432A (zh) | 服务集群中异常节点的确定方法、装置和监控服务器 | |
CN110990245A (zh) | 基于调用链数据的微服务运行状态判断方法及装置 | |
CN110119314B (zh) | 一种服务器调用方法、装置、服务器及存储介质 | |
WO2021234764A1 (ja) | バーストトラフィック検出装置、バーストトラフィック検出方法およびバーストトラフィック検出プログラム | |
US8976803B2 (en) | Monitoring resource congestion in a network processor | |
CN113660145B (zh) | 基于话务管理系统动态探知与转移中继线路故障的方法 | |
CN113676403B (zh) | 一种基于动态探知的中继线路故障转移方法 | |
CN113821414A (zh) | 一种服务器保护方法、装置、电子设备及存储介质 | |
CN111580961A (zh) | 访问请求处理方法、装置、服务器及存储介质 | |
CN111061585A (zh) | 一种数据恢复方法、装置、设备及可读存储介质 | |
CN118170574A (zh) | 一种基于自适应的服务熔断算法和系统 | |
CN111629399A (zh) | 消息处理方法、装置及终端 | |
CN111585908A (zh) | 一种智能热点打散的方法、装置、存储介质及计算机设备 | |
CN110740483B (zh) | 一种在lte切换过程中的信息处理方法及装置 | |
US11765278B2 (en) | Replay agent for delivering charging event messages from a message broker in a mobile telecommunications network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201103 |
|
RJ01 | Rejection of invention patent application after publication |