CN108062256A - 一种应用程序的访问方法和装置 - Google Patents
一种应用程序的访问方法和装置 Download PDFInfo
- Publication number
- CN108062256A CN108062256A CN201711107308.6A CN201711107308A CN108062256A CN 108062256 A CN108062256 A CN 108062256A CN 201711107308 A CN201711107308 A CN 201711107308A CN 108062256 A CN108062256 A CN 108062256A
- Authority
- CN
- China
- Prior art keywords
- access
- application program
- request message
- closed state
- access request
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/076—Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0709—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/875—Monitoring of systems including the internet
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了一种应用程序的访问方法和装置,所述方法包括:在预设统计周期内,统计访问响应消息符合预设条件的次数;所述访问响应消息由被访问对象针对应用程序发送的访问请求消息返回;当访问响应消息符合预设条件的次数大于预设阈值时,则触发关闭状态;在关闭状态下,当应用程序发送访问请求消息时,抛出异常,禁止所述访问请求消息发送到被访问对象。本发明实施例可以在应用程序访问各种被访问对象时,提供熔断保护机制,满足对应用程序提供保护的需求。
Description
技术领域
本发明涉及程序技术领域,特别是涉及一种应用程序的访问方法和一种应用程序的访问装置。
背景技术
无论是在SOA(Service-Oriented Architecture,面向服务的架构)架构时代还是微服务时代,通过服务调用进行***的集成与交互已经是软件行业的共识。随着服务数量的急剧膨胀,尤其是云服务时代的到来,服务治理已经成为服务时代不可缺少的能力。其包含的主要功能包括:服务注册与发现、服务路由、负载均衡、流量控制、并发控制、安全认证以及熔断机制等。
本地应用调用远程服务时,由于远程服务处理能力下降或者其他问题导致服务出现大量的超时,由此导致本地虚拟机的线程不能得到及时释放,由于线程是虚拟机的宝贵资源,一旦大量占用将会导致本地应用没有多余的线程处理其他请求从而导致本地应用的服务能力降低,再加上大量的服务超时会导致许多服务调用结果未知,在要求数据事务一致性高的金融业造成的影响更为巨大。为了解决这一问题,增加了对本地应用与目标服务的保护机制—熔断机制。
熔断机制大致的原理如下:
对服务超时以及调用异常进行统计计数,在周期时间内如果超时的次数或者异常次数达到了设置的阈值,则直接抛出异常。在设定的时间内(例如5秒内)的服务访问都会直接抛出异常,超过设定时间会发起一次试探访问,如果访问结果为成功则计数清零;如果试探访问失败,则在设定时间内的服务访问依然抛出异常,直到设定时间结束再发起下一次试探访问。
目前的熔断机制在软件业并没有形成规范,
目前现有的技术方案基本上针对的都是服务的,在软件***的运行过程中除了调用远程服务超时会导致业务数据不一致以及线程资源不能得到释放外,数据库、文件***的访问等操作也可能导致这些问题的出现。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种应用程序的访问方法和相应的一种应用程序的访问装置。
为了解决上述问题,本发明实施例公开了一种应用程序的访问方法,包括:
在预设统计周期内,统计访问响应消息符合预设条件的次数;所述访问响应消息由被访问对象针对应用程序发送的访问请求消息返回;
当访问响应消息符合预设条件的次数大于预设阈值时,则触发关闭状态;在关闭状态下,当应用程序发送访问请求消息时,抛出异常,禁止所述访问请求消息发送到被访问对象。
优选的,所述当访问响应消息符合预设条件的次数大于预设阈值时,则触发关闭状态的步骤包括:
当针对带有特定访问参数的访问请求消息的访问响应消息,符合熔断条件的次数达到预设次数时,则触发关闭状态。
优选的,还包括:
若访问响应消息所针对的应用程序为目标应用程序,则保持正常状态;在正常状态下,不对应用程序发送的访问请求消息进行限制。
优选的,还包括:
当访问响应消息包括预设返回参数时,抛出异常。
优选的,预设条件包括:访问请求消息访问失败、访问请求消息超时、访问请求消息被拒绝。
优选的,还包括:
在到达触发关闭状态之后的预设时间段时,切换为半关闭状态;在半关闭状态下,禁止应用程序发送大于预设个数的访问请求消息。
优选的,还包括:
在半关闭状态下,若应用程序发送的访问请求消息访问成功,则切换为正常状态,并重置统计周期;
在半关闭状态下,若应用程序发送的访问请求消息访问失败,则切换为关闭状态。
本发明实施例还公开了一种应用程序的访问装置,包括:
统计模块,用于在预设统计周期内,统计访问响应消息符合预设条件的次数;所述访问响应消息由被访问对象针对应用程序发送的访问请求消息返回;
关闭状态触发模块,用于当访问响应消息符合预设条件的次数大于预设阈值时,则触发关闭状态;在关闭状态下,当应用程序发送访问请求消息时,抛出异常,禁止所述访问请求消息发送到被访问对象。
本发明实施例还公开了一种装置,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如上所述的一个或多个的方法。
本发明实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如上所述的一个或多个的方法。
本发明实施例包括以下优点:
在本发明实施例中,熔断功能执行程序可以获取应用程序访问各种被访问对象(如:远程服务、数据库)时返回的访问响应消息,并统计访问响应消息符合预设条件的次数。当访问响应消息符合预设条件的次数大于预设阈值时,则触发关闭状态;在关闭状态下,当应用程序发送访问请求消息时,抛出异常,禁止访问请求消息发送到被访问对象。本发明实施例的熔断功能执行程序可以在应用程序访问各种被访问对象时,提供熔断保护机制,满足对应用程序提供保护的需求。
在本发明实施例中,可以不只是根据访问是否超时、访问是否异常来作为触发关闭状态的依据。用户可以根据需要自行配置预设条件。
在本发明实施例中,熔断功能执行程序可以分别统计带有不同访问参数的访问请求消息的访问响应消息,符合熔断条件的次数达到预设次数,实现多维度的统计。
附图说明
图1是本发明的一种应用程序的访问方法实施例1的步骤流程图;
图2是本发明的一种应用程序的访问方法实施例2的步骤流程图
图3是本发明实施例中熔断功能执行程序的工作示意图;
图4是本发明的一种应用程序的访问装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种应用程序的访问方法实施例1的步骤流程图,具体可以包括如下步骤:
步骤101,在预设统计周期内,统计访问响应消息符合预设条件的次数;所述访问响应消息由被访问对象针对应用程序发送的访问请求消息返回;
当应用程序需要访问被访问对象时,向被访问对象发送访问请求消息。在本发明实施例中,被访问对象可以包括:远程服务、数据库、文件***、缓存等可以被应用程序访问的对象。
熔断功能执行程序可以按照可配置的统计周期统计被访问对象返回的访问响应消息。
开发者只需要在关键的代码***上根据文档进行少量代码编写或者在基于Spring框架开发的代码进行配置即可实现对应用程序的熔断保护机制。
在本发明实施例中,预设条件可以包括:访问请求消息访问失败、访问请求消息超时、访问请求消息被拒绝。
在本发明实施例中,可以不只是根据访问是否超时、访问是否异常来作为触发关闭状态的依据。在实际中,用户可以根据需要自行配置预设条件。例如,设置基于条件表达式的熔断阈值配置,closeCondition:“accessCount>100and timeoutRate>50”表示访问请求消息总数大于100并且超时率大于50%时触发关闭状态。
步骤102,当访问响应消息符合预设条件的次数大于预设阈值时,则触发关闭状态;在关闭状态下,当应用程序发送访问请求消息时,抛出异常,禁止所述访问请求消息发送到被访问对象。
在本发明实施例中,熔断功能执行程序可以获取应用程序访问各种被访问对象(如:远程服务、数据库)时返回的访问响应消息,并统计访问响应消息符合预设条件的次数。当访问响应消息符合预设条件的次数大于预设阈值时,则触发关闭状态;在关闭状态下,当应用程序发送访问请求消息时,抛出异常,禁止访问请求消息发送到被访问对象。本发明实施例的熔断功能执行程序可以在应用程序访问各种被访问对象时,提供熔断保护机制,满足需求。
参照图2,示出了本发明的一种应用程序的访问方法实施例2的步骤流程图,具体可以包括如下步骤:
步骤201,在预设统计周期内,统计访问响应消息符合预设条件的次数;所述访问响应消息由被访问对象针对应用程序发送的访问请求消息返回;
在本发明实施例中,被访问对象可以包括:远程服务、数据库、文件***、缓存等可以被应用程序访问的对象。
熔断功能执行程序可以按照可配置的统计周期统计被访问对象返回的访问响应消息。
开发者只需要在关键的代码***上根据文档进行少量代码编写或者在基于Spring框架开发的代码进行配置即可实现对应用程序的熔断保护机制。
在本发明实施例中,预设条件可以包括:访问请求消息访问失败、访问请求消息超时、访问请求消息被拒绝。
在本发明实施例中,提供了判断失败的表达式,“failedCondition:respParam.returnCode.type=E”表示访问响应消息中的returnCode的type属性为字符串“E”时表示应用程序的访问结果为失败。
在本发明实施例中,可以不只是根据访问是否超时、访问是否异常来作为触发关闭状态的依据。用户可以根据需要自行配置预设条件。
步骤202,当访问响应消息符合预设条件的次数大于预设阈值时,则触发关闭状态;在关闭状态下,当应用程序发送访问请求消息时,抛出异常,禁止所述访问请求消息发送到被访问对象。
在本发明实施例中,所述步骤202可以包括如下子步骤:
子步骤S11,当针对带有特定访问参数的访问请求消息的访问响应消息,符合熔断条件的次数达到预设次数时,则触发关闭状态。
在本发明实施例中,访问请求消息中可以包括有多种参数。例如,在访问银行***时,访问请求消息中的访问参数可以包括:接口名称、渠道号、应用程序编号等。
熔断功能执行程序可以分别统计带有不同访问参数的访问请求消息的访问响应消息,符合熔断条件的次数达到预设次数,实现多维度的统计。
例如,groupBys:[reqParam.interface+reqParam.channelId,reqParam.applicationId],groupBys表示多个分组,逗号“,”为分隔符。此示例中reqParam.interface+reqParam.channelId表示请求参数中的接口名称与渠道号的组合为一个计数维度,同时请求参数中的应用编号为另一计数维度,当两个计数维度中有一个计数信息触发了熔断条件都会触发熔断。
维度1:统计针对带有相同的接口名称和渠道号的访问请求消息的访问响应消息,符合熔断条件的次数达到预设次数。
维度2:统计针对带有相同的应用程序编号的访问请求消息的访问响应消息,符合熔断条件的次数达到预设次数。
步骤203,若访问响应消息所针对的应用程序为目标应用程序,则保持正常状态;在正常状态下,不对应用程序发送的访问请求消息进行限制。
在本发明实施例中,对于目标应用程序发起的访问,熔断功能执行程序不对其进行控制。
例如,提供熔断过滤机制,即对一些特殊交易场景取消熔断的限制,filterCondition:reqParam.application=‘cmbc’表示如果是cmbc应用程序发起的访问则不受熔断功能执行程序的控制。
步骤204,当访问响应消息包括预设返回参数时,抛出异常。
在一些情况下,虽然被访问对象返回的访问响应消息并不是访问超时消息、访问异常消息、而是返回了业务结果,但业务结果实际为空。此时,熔断功能执行程序可以认为访问失败,并抛出异常。
例如,提供了熔断机制触发时程序返回结果的配置机制,rejectResult:“returnnull”表示返回空,默认是抛出异常。
步骤205,在到达触发关闭状态之后的预设时间段时,切换为半关闭状态;在半关闭状态下,禁止应用程序发送大于预设个数的访问请求消息。
预设时间段可以由用户配置,例如,在触发关闭状态的5秒之后,自动切换为半关闭状态。
在半关闭状态下,熔断功能执行程序允许应用程序发送并发数为1的访问请求消息。
步骤206,在半关闭状态下,若应用程序发送的访问请求消息访问成功,则切换为正常状态,并重置统计周期;
步骤207,在半关闭状态下,若应用程序发送的访问请求消息访问失败,则切换为关闭状态。
为了使本领域技术人员能够更好地理解本发明实施例,下面通过一个例子对本发明实施例加以说明:
参照图3所示为本发明实施例中熔断功能执行程序的工作示意图。
熔断功能执行程序,获得被访问对象针对应用程序发送的访问请求消息返回的访问响应消息。分别统计访问次数、统计访问响应消息为访问失败、访问超时、访问拒绝的次数。
当在一个统计周期内,某种统计项的次数达到熔断阈值时,则熔断功能执行程序可以从正常状态切换为关闭状态。在关闭状态下,当应用程序发送访问请求消息时,抛出异常,禁止访问请求消息发送到被访问对象。
等待一段时间后,熔断功能执行程序从关闭状态切换为半关闭状态。在半关闭状态下,允许应用程序发送一个访问请求消息,其余的访问请求消息则被禁止发送到被访问对象。
在半关闭状态下,若应用程序发送的访问请求消息访问成功,则切换为正常状态,并重置统计周期;
在半关闭状态下,若应用程序发送的访问请求消息访问失败,则切换为关闭状态。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图4,示出了本发明的一种应用程序的访问装置实施例的结构框图,具体可以包括如下模块:
统计模块401,用于在预设统计周期内,统计访问响应消息符合预设条件的次数;所述访问响应消息由被访问对象针对应用程序发送的访问请求消息返回;
关闭状态触发模块402,用于当访问响应消息符合预设条件的次数大于预设阈值时,则触发关闭状态;在关闭状态下,当应用程序发送访问请求消息时,抛出异常,禁止所述访问请求消息发送到被访问对象。
在本发明实施例中,所述关闭状态触发模块402可以包括:
关闭状态触发子模块,用于当针对带有特定访问参数的访问请求消息的访问响应消息,符合熔断条件的次数达到预设次数时,则触发关闭状态。
在本发明实施例中,所述装置还可以包括:
正常状态保持模块,用于若访问响应消息所针对的应用程序为目标应用程序,则保持正常状态;在正常状态下,不对应用程序发送的访问请求消息进行限制。
在本发明实施例中,所述装置还可以包括:
参数异常模块,用于当访问响应消息包括预设返回参数时,抛出异常。
在本发明实施例中,预设条件包括:访问请求消息访问失败、访问请求消息超时、访问请求消息被拒绝。
在本发明实施例中,所述装置还可以包括:
半关闭状态切换模块,用于在到达触发关闭状态之后的预设时间段时,切换为半关闭状态;在半关闭状态下,禁止应用程序发送大于预设个数的访问请求消息。
在本发明实施例中,所述装置还可以包括:
正常状态切换模块,用于在半关闭状态下,若应用程序发送的访问请求消息访问成功,则切换为正常状态,并重置统计周期;
关闭状态切换模块,用于在半关闭状态下,若应用程序发送的访问请求消息访问失败,则切换为关闭状态。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还公开了一种装置,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如上实施例所述的方法。
本发明实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如如上实施例所述的方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种应用程序的访问方法和一种应用程序的访问装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种应用程序的访问方法,其特征在于,包括:
在预设统计周期内,统计访问响应消息符合预设条件的次数;所述访问响应消息由被访问对象针对应用程序发送的访问请求消息返回;
当访问响应消息符合预设条件的次数大于预设阈值时,则触发关闭状态;在关闭状态下,当应用程序发送访问请求消息时,抛出异常,禁止所述访问请求消息发送到被访问对象。
2.根据权利要求1所述的方法,其特征在于,所述当访问响应消息符合预设条件的次数大于预设阈值时,则触发关闭状态的步骤包括:
当针对带有特定访问参数的访问请求消息的访问响应消息,符合熔断条件的次数达到预设次数时,则触发关闭状态。
3.根据权利要求1所述的方法,其特征在于,还包括:
若访问响应消息所针对的应用程序为目标应用程序,则保持正常状态;在正常状态下,不对应用程序发送的访问请求消息进行限制。
4.根据权利要求1所述的方法,其特征在于,还包括:
当访问响应消息包括预设返回参数时,抛出异常。
5.根据权利要求1所述的方法,其特征在于,预设条件包括:访问请求消息访问失败、访问请求消息超时、访问请求消息被拒绝。
6.根据权利要求1-5任一项所述的方法,其特征在于,还包括:
在到达触发关闭状态之后的预设时间段时,切换为半关闭状态;在半关闭状态下,禁止应用程序发送大于预设个数的访问请求消息。
7.根据权利要求6所述的方法,其特征在于,还包括:
在半关闭状态下,若应用程序发送的访问请求消息访问成功,则切换为正常状态,并重置统计周期;
在半关闭状态下,若应用程序发送的访问请求消息访问失败,则切换为关闭状态。
8.一种应用程序的访问装置,其特征在于,包括:
统计模块,用于在预设统计周期内,统计访问响应消息符合预设条件的次数;所述访问响应消息由被访问对象针对应用程序发送的访问请求消息返回;
关闭状态触发模块,用于当访问响应消息符合预设条件的次数大于预设阈值时,则触发关闭状态;在关闭状态下,当应用程序发送访问请求消息时,抛出异常,禁止所述访问请求消息发送到被访问对象。
9.一种装置,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如权利要求1-7所述的一个或多个的方法。
10.一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如权利要求1-7所述的一个或多个的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711107308.6A CN108062256A (zh) | 2017-11-10 | 2017-11-10 | 一种应用程序的访问方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711107308.6A CN108062256A (zh) | 2017-11-10 | 2017-11-10 | 一种应用程序的访问方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108062256A true CN108062256A (zh) | 2018-05-22 |
Family
ID=62135706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711107308.6A Pending CN108062256A (zh) | 2017-11-10 | 2017-11-10 | 一种应用程序的访问方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108062256A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109274547A (zh) * | 2018-08-17 | 2019-01-25 | 中国平安人寿保险股份有限公司 | 基于网络安全的服务熔断方法、装置、设备及存储介质 |
CN109343955A (zh) * | 2018-09-14 | 2019-02-15 | 网易无尾熊(杭州)科技有限公司 | 推荐服务调用方法、介质、装置和计算设备 |
CN109408207A (zh) * | 2018-09-20 | 2019-03-01 | 北京小米移动软件有限公司 | 微服务访问控制方法、装置及存储介质 |
CN110138669A (zh) * | 2019-04-15 | 2019-08-16 | 中国平安人寿保险股份有限公司 | 接口访问处理方法、装置、计算机设备及存储介质 |
CN110380987A (zh) * | 2019-09-10 | 2019-10-25 | 浪潮云信息技术有限公司 | 一种处理调用服务的请求的方法及装置 |
CN110554927A (zh) * | 2019-09-12 | 2019-12-10 | 北京笔新互联网科技有限公司 | 基于区块链的微服务调用方法 |
CN110795367A (zh) * | 2019-10-23 | 2020-02-14 | 北京达佳互联信息技术有限公司 | 一种存储访问控制方法和装置 |
CN111866156A (zh) * | 2020-07-27 | 2020-10-30 | 网易(杭州)网络有限公司 | 熔断处理方法及装置 |
CN112256454A (zh) * | 2020-10-30 | 2021-01-22 | 上海哔哩哔哩科技有限公司 | 消息延时处理方法和*** |
CN112416636A (zh) * | 2020-10-29 | 2021-02-26 | 中国人寿保险股份有限公司 | 一种对数据库访问的熔断方法及电子设备 |
CN113238919A (zh) * | 2021-04-26 | 2021-08-10 | 北京京东拓先科技有限公司 | 一种用户访问数的统计方法、装置及*** |
CN113268290A (zh) * | 2021-06-16 | 2021-08-17 | 中移(杭州)信息技术有限公司 | 软件容器优化方法、装置、设备及计算机程序产品 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1976349A (zh) * | 2001-10-05 | 2007-06-06 | Bea***公司 | 爪哇小服务程序和http客户机间异步消息接发的***和方法 |
CN101778004A (zh) * | 2006-01-23 | 2010-07-14 | Lg电子株式会社 | 用于执行基于门限值调度的设备管理的终端和方法 |
CN103095786A (zh) * | 2011-11-08 | 2013-05-08 | 阿里巴巴集团控股有限公司 | 在线业务请求识别方法、***、服务器及在线服务器集群 |
CN104602277A (zh) * | 2014-12-26 | 2015-05-06 | 大唐移动通信设备有限公司 | 一种异常切换的优化处理方法及*** |
US20160034314A1 (en) * | 1999-06-21 | 2016-02-04 | Jia Xu | Method of computing latest start times to allow real-time process overruns |
CN106020948A (zh) * | 2016-05-10 | 2016-10-12 | ***股份有限公司 | 一种流程调度方法及装置 |
CN107092660A (zh) * | 2017-03-28 | 2017-08-25 | 成都优易数据有限公司 | 一种网站服务器爬虫识别方法和装置 |
CN107257363A (zh) * | 2017-05-27 | 2017-10-17 | 北京思特奇信息技术股份有限公司 | 一种响应请求端请求的方法及*** |
-
2017
- 2017-11-10 CN CN201711107308.6A patent/CN108062256A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160034314A1 (en) * | 1999-06-21 | 2016-02-04 | Jia Xu | Method of computing latest start times to allow real-time process overruns |
CN1976349A (zh) * | 2001-10-05 | 2007-06-06 | Bea***公司 | 爪哇小服务程序和http客户机间异步消息接发的***和方法 |
CN101778004A (zh) * | 2006-01-23 | 2010-07-14 | Lg电子株式会社 | 用于执行基于门限值调度的设备管理的终端和方法 |
CN103095786A (zh) * | 2011-11-08 | 2013-05-08 | 阿里巴巴集团控股有限公司 | 在线业务请求识别方法、***、服务器及在线服务器集群 |
CN104602277A (zh) * | 2014-12-26 | 2015-05-06 | 大唐移动通信设备有限公司 | 一种异常切换的优化处理方法及*** |
CN106020948A (zh) * | 2016-05-10 | 2016-10-12 | ***股份有限公司 | 一种流程调度方法及装置 |
CN107092660A (zh) * | 2017-03-28 | 2017-08-25 | 成都优易数据有限公司 | 一种网站服务器爬虫识别方法和装置 |
CN107257363A (zh) * | 2017-05-27 | 2017-10-17 | 北京思特奇信息技术股份有限公司 | 一种响应请求端请求的方法及*** |
Non-Patent Citations (1)
Title |
---|
JOHN: "《https://johng.cn/circuit-breaker-pattern/》", 18 May 2017 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109274547A (zh) * | 2018-08-17 | 2019-01-25 | 中国平安人寿保险股份有限公司 | 基于网络安全的服务熔断方法、装置、设备及存储介质 |
CN109343955A (zh) * | 2018-09-14 | 2019-02-15 | 网易无尾熊(杭州)科技有限公司 | 推荐服务调用方法、介质、装置和计算设备 |
CN109343955B (zh) * | 2018-09-14 | 2021-03-16 | 阿里巴巴(中国)有限公司 | 推荐服务调用方法、介质、装置和计算设备 |
CN109408207B (zh) * | 2018-09-20 | 2021-10-22 | 北京小米移动软件有限公司 | 微服务访问控制方法、装置及存储介质 |
CN109408207A (zh) * | 2018-09-20 | 2019-03-01 | 北京小米移动软件有限公司 | 微服务访问控制方法、装置及存储介质 |
CN110138669A (zh) * | 2019-04-15 | 2019-08-16 | 中国平安人寿保险股份有限公司 | 接口访问处理方法、装置、计算机设备及存储介质 |
CN110380987A (zh) * | 2019-09-10 | 2019-10-25 | 浪潮云信息技术有限公司 | 一种处理调用服务的请求的方法及装置 |
CN110554927A (zh) * | 2019-09-12 | 2019-12-10 | 北京笔新互联网科技有限公司 | 基于区块链的微服务调用方法 |
CN110795367A (zh) * | 2019-10-23 | 2020-02-14 | 北京达佳互联信息技术有限公司 | 一种存储访问控制方法和装置 |
CN111866156A (zh) * | 2020-07-27 | 2020-10-30 | 网易(杭州)网络有限公司 | 熔断处理方法及装置 |
CN111866156B (zh) * | 2020-07-27 | 2023-07-18 | 网易(杭州)网络有限公司 | 熔断处理方法及装置 |
CN112416636A (zh) * | 2020-10-29 | 2021-02-26 | 中国人寿保险股份有限公司 | 一种对数据库访问的熔断方法及电子设备 |
CN112256454A (zh) * | 2020-10-30 | 2021-01-22 | 上海哔哩哔哩科技有限公司 | 消息延时处理方法和*** |
CN112256454B (zh) * | 2020-10-30 | 2023-05-12 | 上海哔哩哔哩科技有限公司 | 消息延时处理方法和*** |
CN113238919A (zh) * | 2021-04-26 | 2021-08-10 | 北京京东拓先科技有限公司 | 一种用户访问数的统计方法、装置及*** |
CN113268290A (zh) * | 2021-06-16 | 2021-08-17 | 中移(杭州)信息技术有限公司 | 软件容器优化方法、装置、设备及计算机程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108062256A (zh) | 一种应用程序的访问方法和装置 | |
US20190392617A1 (en) | Visual workflow model | |
US9122524B2 (en) | Identifying and throttling tasks based on task interactivity | |
CN108345977B (zh) | 一种业务处理方法及装置 | |
US10572411B2 (en) | Preventing software thread blocking due to interrupts | |
CN108345535A (zh) | mock测试方法、装置及设备 | |
US20200151013A1 (en) | Multi-tenant license enforcement across job requests | |
WO2022007638A1 (zh) | 一种数据处理方法、装置、设备及*** | |
CN1952898A (zh) | 采用进程线程的自适应分区的进程调度程序 | |
CN110362409A (zh) | 基于多种类型的资源分配方法、装置、设备及存储介质 | |
US9311144B1 (en) | Processing virtual transactions of a workflow in atomic manner in a workflow management computer system | |
CN108536578A (zh) | 一种测试方法及装置 | |
CN111817974A (zh) | 基于令牌桶的接口限流方法、装置、***及可读存储介质 | |
US11281510B2 (en) | Intelligent scaling in microservice-based distributed systems | |
JP2000056986A (ja) | ソフトウエア割り込み機構 | |
US20200274758A1 (en) | Provisioning hybrid cloud resources in an operating environment | |
EP4404539A1 (en) | Resource scheduling method, apparatus and system, device, medium, and program product | |
CN111176869B (zh) | 超时检测方法、装置、设备及存储介质 | |
US20200142822A1 (en) | Multi-tenant cloud elastic garbage collector | |
CN111324357B (zh) | 应用程序接入风控平台的方法及相关设备 | |
US10705887B2 (en) | Copying objects between programming languages | |
US7966161B1 (en) | Event processing of combination entities in modeling environments | |
US11531674B2 (en) | System and method for supporting rollback of changes made to target systems via an integration platform | |
CN115658126A (zh) | 一种基于SpringMVC管理对外http接口的方法 | |
CN109246077A (zh) | 分布式并发交易校验方法、装置和计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180522 |