服务的熔断控制方法及装置制造方法及图纸

技术编号:23084884 阅读:29 留言:0更新日期:2020-01-11 01:05
本发明专利技术提供了一种服务的熔断控制方法及装置。该方法包括:预先在目标系统中封装断路器的功能切片,其中断路器的功能切片包括执行熔断功能和取消熔断功能的判断逻辑;将目标系统中调用外部系统接口的进程与封装的断路器的功能切片关联;监听获知触发调用外部系统接口指令时,控制在执行调用外部系统接口指令所对应的调用外部系统接口的进程之前,执行与对应的调用外部系统接口的进程相关联的断路器的功能切片,根据断路器的功能切片的执行熔断功能和取消熔断功能的判断逻辑,确定是否将当前对应的调用外部系统接口的进程进行熔断或取消熔断。本发明专利技术提高了系统调用时的处理性能。

Service fuse control method and device

【技术实现步骤摘要】
服务的熔断控制方法及装置
本专利技术涉及系统服务
,尤其涉及一种服务的熔断控制方法及装置。
技术介绍
在业务运行过程中,大部分系统都会和其他系统进行接口交互。系统与系统进行接口交互时,一般是通过服务的提供和调用逻辑来实现的,也即,系统与系统进行接口交互涉及服务提供方的系统和服务调用方的系统。对于服务提供方的系统,在发生服务障碍时,例如在某个时间段其服务能力大幅下降或者服务挂起时,提供不了相应资源,所以服务调用方的系统会一直处于请求调用状态。如果没有任何服务治理的能力,那么服务调用方的系统会强关联服务提供方的系统的服务状态,如果服务调用方的系统的集群里的每台机器都被服务提供方的系统挂起的接口影响,会造成资源得不到释放,导致服务调用方的系统的其他服务均可能受到影响,往往需要人工干预处理。针对相关技术中因服务提供方的服务障碍而导致服务调用方的系统挂起等待,进而需要人工介入的技术问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术的目的是提供一种服务的熔断控制方法及装置,用于解决现有技术中因服务提供方的服务障碍而导致服务调用方的系统挂起等待,进而需要人工介入的技术问题。为实现上述目的,根据本专利技术实施例的一方面,提供了一种服务的熔断控制方法,该方法包括:预先在目标系统中封装断路器的功能切片,其中断路器的功能切片包括执行熔断功能和取消熔断功能的判断逻辑;将目标系统中调用外部系统接口的进程与封装的断路器的功能切片关联;监听获知触发调用外部系统接口指令时,控制在执行调用外部系统接口指令所对应的调用外部系统接口的进程之前,执行与对应的调用外部系统接口的进程相关联的断路器的功能切片,根据断路器的功能切片的执行熔断功能和取消熔断功能的判断逻辑,确定是否将当前对应的调用外部系统接口的进程进行熔断或取消熔断。进一步地,目标系统包含spring开源系统框架,将调用外部系统接口的进程与封装的功能切片关联,包括:将调用外部系统接口的进程通过spring开源系统框架以annotation注释的形式引入断路器的功能切面;配置annotation注释以使在执行调用外部系统接口的进程之前执行对应断路器的功能切片。进一步地,断路器的功能切片包括的执行熔断功能和取消熔断功能的判断逻辑,包括:获取断路器的取样时间范围;在断路器的取样时间范围内统计当前所需调用的外部系统接口的总次数M,以及调用外部系统接口时出现超时的次数N;将N/M与预设熔断阈值进行比较;若N/M大于等于预设熔断阈值,则控制开启熔断功能,若N/M=0,则控制取消熔断功能。进一步地,获取断路器的取样时间范围,包括:获取调用外部系统接口指令中对于调用外部系统接口指令所对应的断路器的功能切片所指定的参数值;在目标的缓存配置中获取与指定的参数值所对应的断路器的取样时间范围,其中,目标系统的缓存配置中预设有参数值及断路器的取样时间范围的映射关系。进一步地,断路器的功能切片包括的执行熔断功能和取消熔断功能的判断逻辑,还包括:在开启熔断功能后,检测到触发调用外部系统接口的进程的调用请求时,判断调用请求指向的调用目标是否为已进行熔断的外部系统接口的进程;若判断结果为是,拒绝调用请求。进一步地,断路器的功能切片包括的执行熔断功能和取消熔断功能的判断逻辑,还包括:在开启熔断功能后的累计时间在第一时间阈值内,检测到触发调用外部系统接口的进程的调用请求时,判断调用请求指向的调用目标是否为已进行熔断的外部系统接口的进程;若判断结果为是,拒绝调用请求;在开启熔断功能后的累计时间超过第一时间阈值后,检测到触发调用外部系统接口的进程的调用请求时,判断调用请求指向的调用目标是否为已进行熔断的外部系统接口的进程;若判断结果为是,在调用请求中放行预设数量的调用请求以尝试调用对应的外部系统接口,若调用成功,取消熔断功能,以允许调用请求。为实现上述目的,根据本专利技术实施例的一方面,提供了一种服务的熔断控制装置,该装置包括:封装模块,用于预先在目标系统中封装断路器的功能切片,其中断路器的功能切片包括执行熔断功能和取消熔断功能的判断逻辑;关联模块,用于将目标系统中调用外部系统接口的进程与封装的断路器的功能切片关联;确定模块,用于监听获知触发调用外部系统接口指令时,控制在执行调用外部系统接口指令所对应的调用外部系统接口的进程之前,执行与对应的调用外部系统接口的进程相关联的断路器的功能切片,根据断路器的功能切片的执行熔断功能和取消熔断功能的判断逻辑,确定是否将当前对应的调用外部系统接口的进程进行熔断或取消熔断。进一步地,目标系统包含spring开源系统框架,关联模块包括:注释引入单元,用于将调用外部系统接口的进程通过spring开源系统框架以annotation注释的形式引入断路器的功能切面;注释配置单元,用于配置annotation注释以使在执行调用外部系统接口的进程之前执行对应断路器的功能切片。进一步地,断路器的功能切片包括的执行熔断功能和取消熔断功能的判断逻辑,包括:获取断路器的取样时间范围;在断路器的取样时间范围内统计当前所需调用的外部系统接口的总次数M,以及调用外部系统接口时出现超时的次数N;将N/M与预设熔断阈值进行比较;若N/M大于等于预设熔断阈值,则控制开启熔断功能,若N/M=0,则控制取消熔断功能。进一步地,获取断路器的取样时间范围,包括:获取调用外部系统接口指令中对于调用外部系统接口指令所对应的断路器的功能切片所指定的参数值;在目标系统的缓存配置中获取与指定的参数值所对应的断路器的取样时间范围,其中,目标系统的缓存配置中预设有参数值及断路器的取样时间范围的映射关系。进一步地,断路器的功能切片包括的执行熔断功能和取消熔断功能的判断逻辑,还包括:在开启熔断功能后,检测到触发调用外部系统接口的进程的调用请求时,判断调用请求指向的调用目标是否为已进行熔断的外部系统接口的进程;若判断结果为是,拒绝调用请求。进一步地,断路器的功能切片包括的执行熔断功能和取消熔断功能的判断逻辑,还包括:在开启熔断功能后的累计时间在第一时间阈值内,检测到触发调用外部系统接口的进程的调用请求时,判断调用请求指向的调用目标是否为已进行熔断的外部系统接口的进程;若判断结果为是,拒绝调用请求;在开启熔断功能后的累计时间超过第一时间阈值后,检测到触发调用外部系统接口的进程的调用请求时,判断调用请求指向的调用目标是否为已进行熔断的外部系统接口的进程;若判断结果为是,在调用请求中放行预设数量的调用请求以尝试调用对应的外部系统接口,若调用成功,取消熔断功能,以允许调用请求。为实现上述目的,根据本专利技术实施例的另一方面,提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述服务的熔断控制方法的步骤。为实现上述目的,本专利技术还提供计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述服务的熔断控制方法的步骤。本专利技术提供的服务的熔本文档来自技高网...

【技术保护点】
1.一种服务的熔断控制方法,其特征在于,包括:/n预先在目标系统中封装断路器的功能切片,其中所述断路器的功能切片包括执行熔断功能和取消熔断功能的判断逻辑;/n将所述目标系统中调用外部系统接口的进程与封装的所述断路器的功能切片关联;/n监听获知触发调用外部系统接口指令时,控制在执行所述调用外部系统接口指令所对应的调用外部系统接口的进程之前,执行与所述对应的调用外部系统接口的进程相关联的断路器的功能切片,根据所述断路器的功能切片的所述执行熔断功能和取消熔断功能的判断逻辑,确定是否将当前所述对应的调用外部系统接口的进程进行熔断或取消熔断。/n

【技术特征摘要】
1.一种服务的熔断控制方法,其特征在于,包括:
预先在目标系统中封装断路器的功能切片,其中所述断路器的功能切片包括执行熔断功能和取消熔断功能的判断逻辑;
将所述目标系统中调用外部系统接口的进程与封装的所述断路器的功能切片关联;
监听获知触发调用外部系统接口指令时,控制在执行所述调用外部系统接口指令所对应的调用外部系统接口的进程之前,执行与所述对应的调用外部系统接口的进程相关联的断路器的功能切片,根据所述断路器的功能切片的所述执行熔断功能和取消熔断功能的判断逻辑,确定是否将当前所述对应的调用外部系统接口的进程进行熔断或取消熔断。


2.根据权利要求1所述的方法,其特征在于,所述目标系统包含spring开源系统框架,所述将调用外部系统接口的进程与封装的所述功能切片关联,包括:
将所述调用外部系统接口的进程通过所述spring开源系统框架以annotation注释的形式引入所述断路器的功能切面;
配置所述annotation注释以使在执行所述调用外部系统接口的进程之前执行对应所述断路器的功能切片。


3.根据权利要求1所述的方法,其特征在于,所述断路器的功能切片包括的执行熔断功能和取消熔断功能的判断逻辑,包括:
获取断路器的取样时间范围;
在所述断路器的取样时间范围内统计当前所需调用的外部系统接口的总次数M,以及调用外部系统接口时出现超时的次数N;
将N/M与预设熔断阈值进行比较;
若N/M大于等于所述预设熔断阈值,则控制开启熔断功能,若N/M=0,则控制取消熔断功能。


4.根据权利要求3所述的方法,其特征在于,所述获取断路器的取样时间范围,包括:
获取所述调用外部系统接口指令中对于所述调用外部系统接口指令所对应的断路器的功能切片所指定的参数值;
在所述目标的缓存配置中获取与所述指定的参数值所对应的断路器的取样时间范围,其中,所述目标系统的缓存配置中预设有参数值及断路器的取样时间范围的映射关系。


5.根据权利要求3或4所述的方法,其特征在于,所述断路器的功能切片包括的执行熔断功能和取消熔断功能的判断逻辑,还包括:
在开启熔断功能后,检测到触发调用外部系统接口的进程的调用请求时,判断所述调用请求指向的调用目标是否为已进行熔断的外部系统接口的进程;
若判...

【专利技术属性】
技术研发人员:李依洁金磊耿哲
申请(专利权)人:平安普惠企业管理有限公司
类型:发明
国别省市:广东;44

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

1