一种对数据库访问的熔断方法及电子设备技术

技术编号:27495514 阅读:23 留言:0更新日期:2021-03-02 18:16
本说明书一个或多个实施例提供一种对数据库访问熔断的方法及电子设备,所述数据库访问熔断的方法包括在应用系统与每个数据库之间均设置数据访问层,并在所述数据访问层与所述应用系统之间构建熔断组件;应用系统获取原始请求信号后,经过所述熔断组件及数据访问层向所述数据库发送请求访问信号;根据所述数据库是否响应所述请求访问信号,设置所述熔断组件的状态,以控制应用系统与数据库之间的请求访问路径的熔断状态。本发明专利技术通过在应用系统和数据库中间添加数据访问层,并在应用系统和数据访问层间添加熔断组件,通过熔断组件来控制应用系统对数据库的访问的熔断状态,有效的解决了因请求阻塞而导致的线程资源浪费从而影响系统使用的问题。响系统使用的问题。响系统使用的问题。

【技术实现步骤摘要】
一种对数据库访问的熔断方法及电子设备


[0001]本说明书一个或多个实施例涉及服务熔断
,尤其涉及一种对数据库访问的熔断方法及电子设备。

技术介绍

[0002]服务熔断一般是指软件系统中由于过载而造成整个系统故障,从而采取的一种保护措施,所以熔断保护也称过载保护,很多时候可能只是系统出现局部的、小规模的故障,由于得不到及时的解决,使影响范围扩大,导致了全局性的影响。
[0003]现有技术中对于数据库的访问采用了分布式的架构模式,一般通过应用系统与多个数据库建立直接建立多个独立的访问路线。
[0004]专利技术人发现,现有技术中,由应用系统和数据库直接建立的访问路线难以进行访问的熔断,因访问无法熔断造成请求的阻塞,使系统线程资源的被占用,导致系统不可用。

技术实现思路

[0005]有鉴于此,本说明书一个或多个实施例的目的在于提出一种对数据库访问的熔断方法及电子设备,以解决应用系统对于数据库访问难以熔断的问题。
[0006]基于上述目的,本说明书一个或多个实施例提供了一种对数据库访问的熔断方法,包括:
[0007]在应用系统与每个数据库之间均设置数据访问层,并在所述数据访问层与所述应用系统之间构建熔断组件;
[0008]应用系统获取原始请求信号后,经过所述熔断组件及数据访问层向所述数据库发送请求访问信号;
[0009]根据所述数据库是否响应所述请求访问信号,设置所述熔断组件的状态,以控制应用系统与数据库之间的请求访问路径的熔断状态。
[0010]作为一种可选的实施方式,所述熔断组件为hystr ix熔断组件;
[0011]作为一种可选的实施方式,所述熔断组的件状态包括:
[0012]关闭状态,所述关闭状态下请求可以放行,当熔断组件统计的无响应次数达到预设值时,所述关闭状态转换为打开状态;
[0013]打开状态,所述打开状态下请求被阻断,当经过预设周期后,所述打开状态转换为半开状态;
[0014]半开状态,所述半开状态下只有一个请求被放行,若获得响应,则转换为关闭状态,否则转换为打开状态。
[0015]作为一种可选的实施方式,所述预设值为100。
[0016]作为一种可选的实施方式,所述预设周期为10秒。
[0017]作为一种可选的实施方式,所述熔断状态包括熔断和恢复;
[0018]所述熔断为从所述半开状态转换为打开状态;
[0019]所述恢复为从所述半开状态转换为关闭状态。
[0020]作为一种可选的实施方式,所述应用系统和数据访问层通过http连接。
[0021]作为一种可选的实施方式,所述数据访问层和数据库通过ttbc连接。
[0022]与上述获得方法相对应的,本专利技术实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的方法。
[0023]从上面所述可以看出,本说明书一个或多个实施例提供的对数据库访问的熔断方法,不同于一般应用系统和数据库直接建立的访问路线,在应用系统和数据库中间添加一个数据访问层,通过在应用系统和数据访问层间添加熔断组件,熔断组件根据数据库得到的请求是否响应,来控制应用系统对数据库的访问的熔断状态,有效的解决了因请求阻塞而导致的线程资源浪费从而影响系统使用的问题。
附图说明
[0024]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0025]图1为本说明书一个或多个实施例的获得方法的示意图;
[0026]图2为本说明书一个或多个实施例的熔断处理流程示意图;
[0027]图3为本说明书一个或多个实施例的电子设备示意图。
具体实施方式
[0028]为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本公开进一步详细说明。
[0029]为了实现上述专利技术目的,本专利技术实施例提供了一种对数据库访问熔断的方法,包括:
[0030]在应用系统与每个数据库之间均设置数据访问层,并在所述数据访问层与所述应用系统之间构建熔断组件;
[0031]应用系统获取原始请求信号后,经过所述熔断组件及数据访问层向所述数据库发送请求访问信号;
[0032]根据所述数据库是否响应所述请求访问信号,设置所述熔断组件的状态,以控制应用系统与数据库之间的请求访问路径的熔断状态。
[0033]本专利技术实施例中,通过在数据库和应用系统中间添加一个数据访问层,使系统应用通过数据访问层进行请求的传递,形成应用到应用的微服务,在应用系统和数据访问层间设置熔断组件,通过熔断组件的工作原理来调节系统访问的熔断和恢复,进而调节了应用系统和数据库间的访问的熔断,将原本难以处理的应用系统和数据库的访问熔断得以解决,有效的解决了因请求阻塞而导致的线程资源浪费从而影响系统使用的问题。
[0034]请参考图1,本专利技术实施例提供了一种对数据库访问熔断的方法,包括:
[0035]S100、在应用系统与每个数据库之间均设置数据访问层,并在所述数据访问层与
所述应用系统之间构建熔断组件。
[0036]可选的,所述熔断组件为hystrix熔断组件;
[0037]通过hystrix熔断组件的使用,提供了逻辑上的延时、错误容忍及对访问的熔断,有效的解决了因请求阻塞而导致的线程资源浪费从而影响系统使用的问题。
[0038]S200、应用系统获取原始请求信号后,经过所述熔断组件及数据访问层向所述数据库发送请求访问信号。
[0039]S300根据所述数据库是否响应所述请求访问信号,设置所述熔断组件的状态,以控制应用系统与数据库之间的请求访问路径的熔断状态。
[0040]如图2所示,数据库发生问题时,具体处理步骤为:
[0041]步骤1:应用系统的其中一个数据库(比如数据库2)出现问题,导致该数据库不可用;
[0042]步骤2:用于处理该数据库的数据访问层2由于线程阻塞,会阻塞发往数据库2的请求,在应用系统访问量不下降的情况下,数据访问层2会逐步消耗线程资源,导致数据访问层2最终不可用;
[0043]步骤3:在应用系统检测到请求达到预设值后依旧得不到响应,则通过熔断组件2(比如hystrix)来熔断对数据访问层2的请求;
[0044]步骤4:在数据访问应用2的连接被熔断后,当有访问数据库2的请求,应用系统被告知服务不可用,熔断组件2将处于半开状态,在预设周期内对数据访问层2的进行访问,若数据库2恢复正常,则会产生一个响应,熔断组件2 由半开状态转为打开状态,在数据访问层2恢复正常后再重启对数据访问层2 的连接,若数据库2未恢复正常,则熔断组件2处于半开状态,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种对数据库访问熔断的方法,其特征在于,包括:在应用系统与每个数据库之间均设置数据访问层,并在所述数据访问层与所述应用系统之间构建熔断组件;应用系统获取原始请求信号后,经过所述熔断组件及数据访问层向所述数据库发送请求访问信号;根据所述数据库是否响应所述请求访问信号,设置所述熔断组件的状态,以控制应用系统与数据库之间的请求访问路径的熔断状态。2.根据权利要求1所述的对数据库访问熔断的方法,其特征在于,所述熔断组件为hystrix熔断组件。3.根据权利要求1所述的对数据库访问熔断的方法,其特征在于,所述熔断组的件状态包括:关闭状态,所述关闭状态下请求可以放行,当熔断组件统计的无响应次数达到预设值时,所述关闭状态转换为打开状态;打开状态,所述打开状态下请求被阻断,当经过预设周期后,所述打开状态转换为半开状态;半开状态,所述半开状态下只有一个请求被放行...

【专利技术属性】
技术研发人员:刘海青洪坤
申请(专利权)人:中国人寿保险股份有限公司
类型:发明
国别省市:

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

1