CN114913004A - 服务降级方法、系统、装置、计算机设备和存储介质 - Google Patents
服务降级方法、系统、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114913004A CN114913004A CN202210667996.6A CN202210667996A CN114913004A CN 114913004 A CN114913004 A CN 114913004A CN 202210667996 A CN202210667996 A CN 202210667996A CN 114913004 A CN114913004 A CN 114913004A
- Authority
- CN
- China
- Prior art keywords
- service
- target
- degradation
- target service
- tps
- 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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Exchange Systems With Centralized Control (AREA)
Abstract
本申请涉及一种服务降级方法、系统、装置、计算机设备和存储介质,涉及智能运维领域,可用于金融领域或其他领域。所述方法包括:获取各业务的调用信息,调用信息包括业务的业务标签、业务所调用的目标服务以及目标服务所属的目标系统,根据各业务的调用信息,确定各业务对应的降级策略,降级策略用于触发对业务进行限流。针对任一业务,根据业务的调用信息,向调用信息中的目标系统下发业务对应的降级策略,以使当目标系统中的目标服务被业务调用时,目标系统根据业务对应的降级策略,对业务进行相应降级处理。采用本方法能够避免传统降级方法中各业务的互相影响,最大限度保证各业务的正常运行。
Description
技术领域
本申请涉及智能运维领域,特别是涉及一种服务降级方法、系统、装置、计算机设备和存储介质。
背景技术
随着银行业务类型和分布式系统的丰富发展,一个应用系统能同时被多个业务调用,但该应用系统所支持的单位时间内的调用量有限,当多个业务调用该应用系统的总调用量过大时,会影响整个银行系统的正常工作,为提高银行系统的高可用建设,采用服务降级、接口限流以及服务熔断等方式对银行系统进行保护。
传统技术中,通过对被调用的应用系统进行服务降级,来避免整个银行系统的全线崩溃,保证其他应用系统可以正常工作,也即当被调用的应用系统的总调用量超过阈值时,对该应用系统进行服务降级。
但是,在目前的服务降级方法中,一个应用系统往往需要被多个业务同时调用,当一个业务的调用量激增,进而导致该应用系统的总调用量超过阈值时,会触发对该应用系统的服务降级,限制该应用系统的总调用量使其小于阈值,从而造成其他业务的调用次数受限,影响其他业务的正常运行。
发明内容
基于此,有必要针对上述技术问题,提供一种能够针对各业务进行服务降级处理的服务降级方法、系统、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种服务降级方法。所述方法包括:
获取各业务的调用信息,所述调用信息包括所述业务的业务标签、所述业务所调用的目标服务以及所述目标服务所属的目标系统;
根据各所述业务的所述调用信息,确定各所述业务对应的降级策略,所述降级策略用于触发对所述业务进行限流;
针对任一所述业务,根据所述业务的所述调用信息,向所述调用信息中的所述目标系统下发所述业务对应的所述降级策略,以使当所述目标系统中的所述目标服务被所述业务调用时,所述目标系统根据所述业务对应的所述降级策略,对所述业务进行相应降级处理。
在其中一个实施例中,所述根据各所述业务的所述调用信息,确定各所述业务对应的降级策略,包括:
针对任一所述业务,根据所述业务的调用信息中的所述业务标签,确定所述业务的交易属性,所述交易属性用于表示所述业务的重要程度;
根据所述业务的所述交易属性以及所述业务的所述调用信息中的所述目标服务,确定所述业务对应的降级策略。
在其中一个实施例中,所述根据所述业务的所述交易属性以及所述业务的所述调用信息中的所述目标服务,确定所述业务对应的降级策略,包括:
针对任一所述业务,根据所述业务的历史交易数据,确定所述业务的预估交易峰值;
获取所述业务的所述调用信息中的所述目标服务所支持的最大每秒事务处理量TPS值;
根据所述业务的所述交易属性、所述业务的所述预估交易峰值、以及所述目标服务所支持的最大TPS值,确定所述业务对应的TPS阈值;
根据所述业务对应的所述TPS阈值,生成所述业务对应的降级策略。
在其中一个实施例中,所述根据所述业务的所述交易属性、所述业务的所述预估交易峰值、以及所述目标服务所支持的最大TPS值,确定所述业务对应的TPS阈值,包括:
在所述交易属性表征所述业务为第一业务类型的情况下,根据所述预估交易峰值和所述目标服务所支持的最大TPS值,确定所述业务的TPS阈值;
或者,在所述交易属性表征所述业务为第二业务类型的情况下,根据预设比例及所述目标服务所支持的最大TPS值,确定目标TPS值;
根据所述预估交易峰值和所述目标TPS值,确定所述业务的所述TPS阈值;
其中,所述第一业务类型的重要程度高于所述第二业务类型的重要程度。
第二方面,本申请还提供了一种服务降级方法,所述方法包括:
接收业务标签服务降级系统下发的各业务对应的降级策略,所述降级策略由所述业务标签服务降级系统根据所述业务的调用信息确定,所述降级策略用于触发对所述业务进行限流;
当目标服务被目标业务调用时,匹配所述目标业务对应的降级策略;
根据所述目标业务对应的所述降级策略,对所述目标业务进行相应的降级处理,以限制所述目标业务对所述目标服务的调用次数。
在其中一个实施例中,所述根据所述目标业务对应的所述降级策略,对所述目标业务进行相应的降级处理,以限制所述目标业务对所述目标服务的调用次数,包括:
根据所述目标业务的单位调用量,判断所述目标业务是否满足其对应的所述降级策略,所述单位调用量为在单位时间内,所述目标业务调用所述目标服务的次数;
当所述目标业务满足其对应的所述降级策略时,对所述目标业务进行相应的降级处理,以限制所述目标业务对所述目标服务的调用次数。
在其中一个实施例中,所述目标业务对应的所述降级策略中包括TPS阈值,所述根据所述目标业务的单位调用量,判断所述目标业务是否满足其对应的所述降级策略,包括:
统计所述目标业务在所述单位时间内针对所述目标服务的单位调用量;
在所述单位调用量大于所述TPS阈值的情况下,确定所述目标业务满足其对应的所述降级策略;或者,
在所述单位调用量小于或等于所述TPS阈值的情况下,确定所述目标业务不满足其对应的所述降级策略。
第三方面,本申请还提供了一种服务降级系统,所述系统包括:第一系统、业务标签服务降级系统和目标系统;其中,
所述第一系统,用于通过代理模块获取各业务的调用信息,并将各所述业务的所述调用信息上传至所述业务标签服务降级系统,所述调用信息包括所述业务的业务标签、所述业务所调用的目标服务以及所述目标服务所属的目标系统;
所述业务标签服务降级系统,用于根据接收到的各所述业务的所述调用信息,确定各所述业务对应的降级策略,并针对任一所述业务,将所述业务对应的所述降级策略下发至所述业务的所述调用信息中的所述目标系统,所述降级策略用于触发对所述业务进行限流;
所述目标系统,用于接收所述业务标签服务降级系统下发的各所述业务对应的所述降级策略,在所述目标服务被目标业务调用时,匹配所述目标业务对应的所述降级策略,并根据所述目标业务对应的所述降级策略,对所述目标业务进行相应的降级处理,以限制所述目标业务对所述目标服务的调用次数。
第四方面,本申请还提供了一种服务降级装置。所述装置包括:
获取模块,用于获取各业务的调用信息,所述调用信息包括所述业务的业务标签、所述业务所调用的目标服务以及所述目标服务所属的目标系统;
确定模块,用于根据各所述业务的所述调用信息,确定各所述业务对应的降级策略,所述降级策略用于触发对所述业务进行限流;
下发模块,用于针对任一所述业务,根据所述业务的所述调用信息,向所述调用信息中的所述目标系统下发所述业务对应的所述降级策略,以使当所述目标系统中的所述目标服务被所述业务调用时,所述目标系统根据所述业务对应的所述降级策略,对所述业务进行相应降级处理。
在其中一个实施例中,所述确定模块还用于:
针对任一所述业务,根据所述业务的调用信息中的所述业务标签,确定所述业务的交易属性,所述交易属性用于表示所述业务的重要程度;
根据所述业务的所述交易属性以及所述业务的所述调用信息中的所述目标服务,确定所述业务对应的降级策略。
在其中一个实施例中,所述确定模块还用于:
针对任一所述业务,根据所述业务的历史交易数据,确定所述业务的预估交易峰值;
获取所述业务的所述调用信息中的所述目标服务所支持的最大每秒事务处理量TPS值;
根据所述业务的所述交易属性、所述业务的所述预估交易峰值、以及所述目标服务所支持的最大TPS值,确定所述业务对应的TPS阈值;
根据所述业务对应的所述TPS阈值,生成所述业务对应的降级策略。
在其中一个实施例中,所述确定模块还用于:
在所述交易属性表征所述业务为第一业务类型的情况下,根据所述预估交易峰值和所述目标服务所支持的最大TPS值,确定所述业务的TPS阈值;
或者,在所述交易属性表征所述业务为第二业务类型的情况下,根据预设比例及所述目标服务所支持的最大TPS值,确定目标TPS值;
根据所述预估交易峰值和所述目标TPS值,确定所述业务的所述TPS阈值;
其中,所述第一业务类型的重要程度高于所述第二业务类型的重要程度。
第五方面,本申请还提供了一种服务降级装置,所述装置包括:
接收模块,用于接收业务标签服务降级系统下发的各业务对应的降级策略,所述降级策略由所述业务标签服务降级系统根据所述业务的调用信息确定,所述降级策略用于触发对所述业务进行限流;
匹配模块,用于当目标服务被目标业务调用时,匹配所述目标业务对应的降级策略;
降级模块,用于根据所述目标业务对应的所述降级策略,对所述目标业务进行相应的降级处理,以限制所述目标业务对所述目标服务的调用次数。
在其中一个实施例中,所述降级模块还用于:
根据所述目标业务的单位调用量,判断所述目标业务是否满足其对应的所述降级策略,所述单位调用量为在单位时间内,所述目标业务调用所述目标服务的次数;
当所述目标业务满足其对应的所述降级策略时,对所述目标业务进行相应的降级处理,以限制所述目标业务对所述目标服务的调用次数。
在其中一个实施例中,所述降级模块还用于:
统计所述目标业务在所述单位时间内针对所述目标服务的单位调用量;
在所述单位调用量大于所述TPS阈值的情况下,确定所述目标业务满足其对应的所述降级策略;或者,
在所述单位调用量小于或等于所述TPS阈值的情况下,确定所述目标业务不满足其对应的所述降级策略。
第六方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取各业务的调用信息,所述调用信息包括所述业务的业务标签、所述业务所调用的目标服务以及所述目标服务所属的目标系统;
根据各所述业务的所述调用信息,确定各所述业务对应的降级策略,所述降级策略用于触发对所述业务进行限流;
针对任一所述业务,根据所述业务的所述调用信息,向所述调用信息中的所述目标系统下发所述业务对应的所述降级策略,以使当所述目标系统中的所述目标服务被所述业务调用时,所述目标系统根据所述业务对应的所述降级策略,对所述业务进行相应降级处理。
第七方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取各业务的调用信息,所述调用信息包括所述业务的业务标签、所述业务所调用的目标服务以及所述目标服务所属的目标系统;
根据各所述业务的所述调用信息,确定各所述业务对应的降级策略,所述降级策略用于触发对所述业务进行限流;
针对任一所述业务,根据所述业务的所述调用信息,向所述调用信息中的所述目标系统下发所述业务对应的所述降级策略,以使当所述目标系统中的所述目标服务被所述业务调用时,所述目标系统根据所述业务对应的所述降级策略,对所述业务进行相应降级处理。
第八方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取各业务的调用信息,所述调用信息包括所述业务的业务标签、所述业务所调用的目标服务以及所述目标服务所属的目标系统;
根据各所述业务的所述调用信息,确定各所述业务对应的降级策略,所述降级策略用于触发对所述业务进行限流;
针对任一所述业务,根据所述业务的所述调用信息,向所述调用信息中的所述目标系统下发所述业务对应的所述降级策略,以使当所述目标系统中的所述目标服务被所述业务调用时,所述目标系统根据所述业务对应的所述降级策略,对所述业务进行相应降级处理。
上述服务降级方法、系统、装置、计算机设备、存储介质和计算机程序产品,获取各业务的调用信息,调用信息包括业务的业务标签、业务所调用的目标服务以及目标服务所属的目标系统,并根据各业务的调用信息,确定各业务对应的降级策略,降级策略用于触发对业务进行限流,针对任一业务,根据业务的调用信息,向调用信息中的目标系统下发业务对应的降级策略,以使当目标系统中的目标服务被业务调用时,目标系统根据业务对应的降级策略,对业务进行相应降级处理。基于上述服务降级方法、系统、装置、计算机设备、存储介质和计算机程序产品,通过各业务的调用信息,来确定各业务对应的降级策略,并向调用信息中的目标系统下发业务对应的降级策略,当目标系统中的目标服务被业务调用时,就可以根据该业务对应的降级策略,对该业务进行相应降级处理,也即目标系统可以通过各业务对应的降级策略,分别对各业务进行相应降级处理,也即可以针对性的对相应业务进行降级,而无需对应用系统的服务降级,避免了业务之间的互相影响,最大限度保证了各业务的正常运行,提高了业务的稳定性。
附图说明
图1为一个实施例中服务降级方法的应用环境图;
图2为一个实施例中服务降级方法的流程示意图;
图3为另一个实施例中服务降级方法的流程示意图;
图4为另一个实施例中服务降级方法的流程示意图;
图5为另一个实施例中服务降级方法的流程示意图;
图6为另一个实施例中服务降级方法的流程示意图;
图7为另一个实施例中服务降级方法的流程示意图;
图8为另一个实施例中服务降级方法的流程示意图;
图9为一个实施例中服务降级装置的结构示意图;
图10为另一个实施例中服务降级装置的结构示意图;
图11为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的服务降级方法,可以应用于如图1所示的服务降级系统中。其中,第一系统102中包括各业务,目标系统106中包括各目标服务,当第一系统102中的任一业务开始运行时,该业务会调用目标系统106中的目标服务。业务标签服务降级系统104分别与第一系统102和目标系统106通信连接,第一系统102部署有agent,利用agent来拦截各业务的调用信息,并将各业务的调用信息上传至业务标签服务降级系统104。业务标签服务降级系统104根据各业务的调用信息,确定各业务对应的降级策略,并根据业务的调用信息中的目标系统,向目标系统106下发业务对应的降级策略,当目标系统106中的目标服务被业务调用时,目标系统106会根据业务对应的降级策略,来判断是否对该业务进行降级处理。
在一个实施例中,如图2所示,提供了一种服务降级方法,本方法可以应业务标签服务降级系统,业务标签服务降级系统可以通过终端实现,也可以通过服务器实现。本实施例中,该方法包括以下步骤:
步骤202,获取各业务的调用信息,调用信息包括业务的业务标签、业务所调用的目标服务以及目标服务所属的目标系统。
本申请实施例中,对于各业务,可以分别获取业务的调用信息。示例性的,可以通过在业务所属的系统中部署agent,利用agent拦截各业务的调用信息,并将各业务的调用信息上送至业务标签服务降级系统中。其中,业务的调用信息可以表示业务正常运行时调用相关服务的调用关系,调用信息包括业务的业务标签、业务所调用的目标服务以及目标服务所属的目标系统,其中,不同业务分别对应不同的业务标签,其中,业务标签为其所对应的业务的标识信息,本申请实施例中不对业务标签做具体限定,凡是能够标识业务的标识信息均可以作为业务标签。示例性的,在业务为“查询账户余额”的情况下,其对应的业务标签可以设置为a1,在业务为“修改账户密码”的情况下,其对应的业务标签为a2,在业务为“查询贷款条件”的情况下,其对应的业务标签为b1。
业务在运行时需要调用其对应的目标服务,进行相应的处理或操作,以得到该业务的运行结果,因此,不同业务所调用的目标服务也不同。示例性的,仍以上述示例为例,业务“查询账户余额”在运行时,就需要调用目标服务c1以从数据库中读取账户余额,业务“修改账户密码”在运行时,需要调用目标服务c2,以修改账户密码并将新密码保存到数据库中。同时,在实际应用中,存在业务和业务所调用的目标服务分别属于不同应用系统的情况,故调用信息中还需要包括目标服务所属的目标系统,在后续处理中,就可以根据调用信息中的目标系统,将生成的业务对应的降级策略下发至相应的目标系统中,以使得各目标系统根据各业务对应的降级策略进行后续操作。
仍以上述示例为例,业务“查询账户余额”在调用服务c1时,其对应的调用信息包括业务标签:a1、目标服务:服务c1、目标系统:系统C;业务“修改账户密码”的调用信息包括业务标签:a2、目标服务:服务c2、目标系统:系统C;业务“查询贷款条件”的调用信息包括业务标签:b1、目标服务:服务c1、目标系统:系统C。
步骤204,根据各业务的调用信息,确定各业务对应的降级策略,降级策略用于触发对业务进行限流。
本申请实施例中,针对任一业务,可以根据业务的调用信息中的业务标签和业务所调用的目标服务,来确定该业务对应的降级策略,其中,降级策略用于触发对业务进行限流,也即当某一业务满足降级策略时,目标系统将根据该降级策略对该业务限流,当业务不满足降级策略时,目标系统不对该业务做特殊处理,也即不进行针对该业务的限流,在一示例性实施例中,可以通过限制业务对目标服务的调用次数,实现对业务的降级,也即实现对该业务的限流。
步骤206,针对任一业务,根据业务的调用信息,向调用信息中的目标系统下发业务对应的降级策略,以使当目标系统中的目标服务被业务调用时,目标系统根据业务对应的降级策略,对业务进行相应降级处理。
本申请实施例中,针对任一业务,可以根据该业务的调用信息中的目标系统,向该目标系统下发业务对应的降级策略。当目标系统中的任一目标服务被业务调用时,目标系统会根据匹配到的该业务调用该目标服务时对应的降级策略,对业务进行相应降级处理,其中,降级处理会限制业务对目标服务的调用次数,即,在对业务进行降级处理的过程中,在单位时间内,若业务对目标服务的调用次数超过了限制值时,目标系统会拦截该业务对目标服务的调用请求,以达到限制业务对目标服务的调用次数的目的。
示例性的,仍以上述示例为例,依次确定了业务“查询账户余额”调用服务c1时对应的降级策略1、业务“修改账户密码”调用服务c2时对应的降级策略2、业务“查询贷款条件”调用服务c1时对应的降级策略3,上述三个业务的调用信息中的目标系统均为系统C,则将降级策略1、降级策略2和降级策略3下发至系统C,当系统C中的服务c1被业务“查询账户余额”调用,则需要判断业务“查询账户余额”是否满足降级策略1,若满足,则对业务“查询账户余额”进行降级处理,限制业务“查询账户余额”对服务c1的调用次数;若不满足,则不对业务“查询账户余额”进行降级处理。
上述服务降级方法中,通过各业务的调用信息,来确定各业务对应的降级策略,并向调用信息中的目标系统下发业务对应的降级策略,当目标系统中的目标服务被业务调用时,就可以根据该业务对应的降级策略,对该业务进行相应降级处理,也即目标系统可以通过各业务对应的降级策略,分别对各业务进行相应降级处理,也即可以针对性的对相应业务进行降级,而无需对应用系统的服务降级,避免了业务之间的互相影响,最大限度保证了各业务的正常运行,提高了业务的稳定性。
在一个实施例中,如图3所示,步骤202包括:
步骤302,针对任一业务,根据业务的调用信息中的业务标签,确定业务的交易属性,交易属性用于表示业务的重要程度。
本申请实施例中,交易属性用于表示业务的重要程度,针对任一业务,可以根据业务的调用信息中的业务标签,确定业务的重要程度,进而得到业务的交易属性。示例性的,本申请实施例中按照业务的重要程度可以将业务的重要程度划分为重要和不重要,进而业务的交易属性可以包括表征业务的重要程度为重要的第一业务类型和表征业务的重要程度为不重要的第二业务类型。实际上,以上将重要程度划分重要和不重要、以及第一业务类型和第二类型对应的交易属性仅作为本申请实施例中交易属性的一种示例,本申请实施例中不对业务重要程度的划分方式做具体限定,实际可以根据需要对重要程度进行更细粒度的划分。
本申请实施例中,业务的重要程度可以根据业务的领域、属性和交易量等信息来确定,也即可以通过业务的业务标签确定该业务的领域、属性和交易量等信息,进而确定业务的重要程度,得到业务的交易属性。
示例性的,业务的重要程度可以由该业务是否涉及客户账务、是否涉及客户账户安全、是否属于top级交易和业务的实际交易量来决定,当业务满足上述“涉及客户账务、涉及客户账户安全、属于top级交易”中的任一项条件时,该业务即为重要业务;当业务不满足上述任一项条件时,业务的实际交易量大于预设交易量,或者将系统中各业务的实际交易量按从高到低排序,该业务的排名在预设名次之前,则该业务也属于重要业务;系统中的其他剩余业务即为非重要业务。
业务的调用信息中的业务标签可以代表该业务,在银行系统中,根据业务的内容可以将业务的业务标签进行分类,仍以上述示例为例,业务“查询账户余额”涉及客户账务,则涉及客户账务的业务类型中包括业务标签a1,业务“修改账户密码”涉及客户账户安全,则涉及客户账户的业务类型中包括业务标签a2。
因此,根据业务的调用信息中的业务标签,确定业务的交易属性的过程如下:首先,可以获取业务标签所属的业务类型,若业务标签存在“涉及客户账务、涉及客户账户安全、属于top级交易”中的任一项业务类型中,则该业务的交易属性为重要,若业务标签并未命中上述任一项,根据业务标签获取该业务的实际交易量,再根据实际交易量,来确定业务的交易属性。
示例性的,仍以上述示例为例,业务“查询账户余额”的业务标签为a1,业务“修改账户密码”的业务标签为a2,业务“查询贷款条件”的业务标签为b1,根据各业务的业务标签,可以确定业务“查询账户余额”和业务“修改账户密码”的交易属性均为重要,业务标签b1不属于前述“涉及客户账务、涉及客户账户安全、属于top级交易”中的任一项业务类型,且根据业务标签b1获取到的实际交易量不大于预设交易量,则业务“查询贷款条件”的交易属性为不重要。
步骤304,根据业务的交易属性以及业务的调用信息中的目标服务,确定业务对应的降级策略。
本申请实施例中,业务的调用信息中的目标服务即为业务所调用的目标服务,则根据业务的交易属性以及业务的调用信息中的目标服务,确定业务对应的降级策略,也即,根据业务交易属性所表征的的重要程度和业务所调用的目标服务,来确定业务对应的降级策略。示例性的,降级策略中可以包括业务单位时间内所能调用目标服务的最大次数,则可以根据业务对应的重要程度和目标服务,确定业务单位时间内所能调用目标服务的最大次数,进而根据业务单位时间内所能调用目标服务的最大次数,构建业务对应的降级策略。
本实施例中,通过确定业务的交易属性,并根据业务的交易属性以及业务的调用信息中的目标服务,确定业务对应的降级策略,并下发至目标系统,进而使得目标系统可以根据上述业务对应的降级策略,对业务进行降级处理,能够优先保证重要业务的稳定性,避免了非重要业务量的激增造成重要业务停止运行的情况。
在一个实施例中,如图4所示,步骤304包括:
步骤402,针对任一业务,根据业务的历史交易数据,确定业务的预估交易峰值。
本申请实施例中,针对任一业务,首先获取业务的历史交易数据,其中,历史交易数据为预设周期内的业务交易量,预设周期可以根据实际需要确定。之后可以根据业务的历史交易数据,确定业务的预估交易峰值,例如:获取到业务标签为a1的业务的业务交易量:过去一天内,业务的交易峰值(即最大交易量),进而根据该交易峰值,可以确定业务的预估交易峰值。
在实际应用中,可以根据业务的历史交易峰值和该业务的未来推广计划,确定业务的预估交易峰值,例如:业务的历史交易峰值为1000次/秒,计划未来该业务的客户达到20万,而为满足20万客户的日常交易,该业务的交易峰值需要达到1100次/秒,则该业务的预估交易峰值为1100次/秒。
步骤404,获取业务的调用信息中的目标服务所支持的最大每秒事务处理量TPS值。
本申请实施例中,每秒事务处理量(TPS,transaction per second)表示某系统服务的瞬时服务能力,也即目标服务在一秒钟内处理的业务的调用请求数,获取业务的调用信息中的目标服务所支持的最大每秒事务处理量TPS值,也即获取目标服务最多能在一秒钟内处理多少个调用请求。在实际应用过程中,可以在目标服务所属的目标系统中部署agent,业务标签服务降级系统与目标系统中的agent通信连接,agent可以获取目标服务的最大TPS值,并将最大TPS值上传至业务标签服务降级系统中。
步骤406,根据业务的交易属性、业务的预估交易峰值、以及目标服务所支持的最大TPS值,确定业务对应的TPS阈值。
本申请实施例中,业务的交易量会随时间变化,在某一时刻业务的交易量可以达到一个时间段内的最大值,上述交易量的最大值即为业务的交易峰值,例如,在一个小时内,业务的交易量最大值为1000笔/秒,则该业务的交易峰值为1000笔/秒,预估交易峰值为在未来一段时间内业务的交易量最大值,待确认的业务对应的TPS阈值为业务在单位时间内(每秒内)对目标服务的最大调用次数。在银行系统中,业务对目标服务的调用次数与业务的交易量呈正相关,例如:完成业务的一次交易,业务会对目标服务进行一次调用,则业务的预估交易峰值(交易量/秒)与业务对应的TPS阈值也呈正相关,因此,可以根据业务的预估交易峰值,并结合业务的重要程度、目标服务所支持的最大TPS值,确定业务对应的TPS阈值。
示例性的,可以根据业务的预估交易峰值,确定在满足该业务的日常交易的情况下,该业务对目标服务的预估调用次数,同时,根据业务的重要程度和目标服务所支持的最大TPS值,可以确定目标服务可以为该业务提供的最大调用量,最后,根据业务对目标服务的预估调用次数以及目标服务可以为该业务提供的最大调用量,确定业务对应的TPS阈值,当业务在单位时间对目标服务的调用量大于其对应的TPS阈值时,即触发对该业务的降级处理。
步骤408,根据业务对应的TPS阈值,生成业务对应的降级策略。
本申请实施例中,根据业务对应的TPS阈值,来生成业务对应的降级策略,其中业务对应的降级策略包括:业务的业务标签、业务所调用的目标服务和业务对应的TPS阈值。
本申请实施例中,根据业务的交易属性、业务的预估交易峰值、以及目标服务所支持的最大TPS值,确定业务对应的TPS阈值,并根据业务对应的TPS阈值,确定业务对应的降级策略,向调用信息中的目标系统下发业务对应的降级策略,当目标系统中的目标服务被业务调用时,就可以根据该业务对应的降级策略,对该业务进行相应降级处理,也即目标系统可以通过各业务对应的降级策略,分别对各业务进行相应降级处理,也即可以针对性的对相应业务进行降级,而无需对应用系统的服务降级,避免了业务之间的互相影响,最大限度保证了各业务的正常运行,提高了业务的稳定性。
在一个实施例中,步骤406包括:
在交易属性表征业务为第一业务类型的情况下,根据预估交易峰值和目标服务所支持的最大TPS值,确定业务的TPS阈值。
本申请实施例中,业务的交易属性包括第一业务类型和第二业务类型,第一业务类型的重要程度高于第二业务类型,因此,对于交易属性为第一业务类型的业务,根据预估交易峰值和目标服务所支持的最大TPS值,确定业务的TPS值,其中,首先根据预估交易峰值,确定业务的第一TPS阈值,例如:可以将预估交易峰值作为业务的第一TPS阈值,或者可以根据预估交易峰值和该业务的历史交易波动情况,确定业务的第一TPS阈值,其中预估交易峰值可以由过去第一时间范围内的历史交易量确定,历史交易波动情况由过去第二时间范围内的历史交易量确定,第二时间范围远远大于第一时间范围,例如:一种业务的预估交易峰值为100笔/秒,也就是说该业务在一秒内最多会对目标服务进行100次调用,则可以确定该业务的第一TPS阈值为100次/秒;或者,一种业务的预估交易峰值为100笔/秒,该业务的历史交易波动情况为:交易峰值上浮5笔/秒,则可以确定该业务的第一TPS阈值为105次/秒。
需要说明的是,上述根据预估交易峰值,确定业务的第一TPS阈值的过程仅为本申请实施例中的一个示例,在实际应用中,根据预估交易峰值,确定业务的第一TPS阈值时,可以根据目标系统的需要,根据预估交易峰值与其他依据,来确定业务的第一TPS阈值,本实施例中对根据预估交易峰值,确定业务的第一TPS阈值的过程不作具体限定。
之后,将第一TPS阈值与目标服务所支持的最大TPS值相比,当第一TPS阈值大于最大TPS值时,令最大TPS值为业务的TPS阈值;当第一TPS阈值小于或等于最大TPS值时,令第一TPS阈值为业务的TPS阈值。
例如,仍以前述示例为例,情况一:业务的预估交易峰值为1100次/秒,且该业务的交易属性为第一业务类型,目标服务所支持的最大TPS值1200次/秒,根据预估交易峰值1100次/秒确定的第一TPS阈值为1100次/秒,第一TPS阈值小于最大TPS值,则该业务的TPS阈值为1100次/秒;情况二:业务的预估交易峰值为1300次/秒,且该业务的交易属性为第一业务类型,目标服务所支持的最大TPS值1200次/秒,根据预估交易峰值1300次/秒,确定的第一TPS阈值为1300次/秒,第一TPS阈值大于最大TPS值,则该业务的TPS阈值为1200次/秒。
或者,如图5所示,步骤502,在交易属性表征业务为第二业务类型的情况下,根据预设比例及目标服务所支持的最大TPS值,确定目标TPS值。
本申请实施例中,当业务的交易属性为第二业务类型时,可以将预设比例和目标服务所支持的最大TPS值进行乘积处理,得到目标TPS值,其中,预设比例(可以为预先设定的数值)小于1,不同业务对应的预设比例可以相同也可以不同。示例性的,可以根据系统运行情况、实际应用需要、以及业务的重要程度,来确定预设比例,例如:业务1和业务2的交易属性均为第二业务类型,且业务1与业务2相比,业务2的重要程度高于业务1,则可以令业务2对应的预设比例为1/5,令业务1对应的预设比例为1/10。
仍以上述示例为例,业务1的预设比例为1/10,目标服务所支持的最大TPS值1200次/秒,可以得到业务1的目标TPS值为120次/秒。
步骤504,根据预估交易峰值和目标TPS值,确定业务的TPS阈值。
其中,第一业务类型的重要程度高于第二业务类型的重要程度。
本申请实施例中,根据预估交易峰值和目标TPS值,确定业务的TPS值,其中,首先根据预估交易峰值,确定业务的第一TPS阈值,之后将第一TPS阈值与目标TPS值相比,当第一TPS阈值大于目标TPS值时,令目标TPS值为业务的TPS阈值;当第一TPS阈值小于或等于目标TPS值时,令第一TPS阈值为业务的TPS阈值。
例如,仍以前述示例为例,情况一:业务1的预估交易峰值为110次/秒,且该业务的交易属性为第二业务类型,目标TPS值120次/秒,根据预估交易峰值110次/秒确定的第一TPS阈值为110次/秒,第一TPS阈值小于目标TPS值,则该业务的TPS阈值为110次/秒;情况二:业务1的预估交易峰值为130次/秒,且该业务的交易属性为第二业务类型,目标服务所支持的最大TPS值120次/秒,根据预估交易峰值130次/秒,确定的第一TPS阈值为130次/秒,第一TPS阈值大于目标TPS值,则该业务的TPS阈值为120次/秒。
本申请实施例中,通过各业务的调用信息,来确定各业务对应的降级策略,并向调用信息中的目标系统下发业务对应的降级策略,当目标系统中的目标服务被业务调用时,就可以根据该业务对应的降级策略,对该业务进行相应降级处理,也即目标系统可以通过各业务对应的降级策略,分别对各业务进行相应降级处理,也即可以针对性的对相应业务进行降级,而无需对应用系统的服务降级,避免了业务之间的互相影响,最大限度保证了各业务的正常运行,提高了业务的稳定性。
在一个实施例中,如图6所示,提供了一种服务降级方法,本方法可以应用于目标系统,目标系统可以通过终端实现,也可以通过服务器实现,本实施例中,所述方法包括以下步骤:
步骤602,接收业务标签服务降级系统下发的各业务对应的降级策略,降级策略由业务标签服务降级系统根据业务的调用信息确定,降级策略用于触发对业务进行限流。
本申请实施例中,业务标签服务降级系统根据业务的调用信息,生成各业务对应的降级策略后,会将各业务对应的降级策略下发至目标系统,目标系统则接收业务标签服务降级系统下发的各业务对应的降级策略,降级策略的生成和下发等过程具体参照前述实施例的相关描述即可,本公开实施例中在此不再赘述。
步骤604,当目标服务被目标业务调用时,匹配目标业务对应的降级策略。
本申请实施例中,当目标服务被目标业务调用时,首先可以接收到来自目标业务的调用报文,调用报文中包括目标业务的业务标签以及所调用的目标服务,降级策略中包括业务的业务标签和目标服务,因此,可以根据调用报文中的信息与目标系统中的各降级策略进行匹配,也即,可以获取调用报文中的目标业务的业务标签和目标服务,并匹配同时包含上述业务标签和上述目标服务的降级策略。
步骤606,根据目标业务对应的降级策略,对目标业务进行相应的降级处理,以限制目标业务对目标服务的调用次数。
本申请实施例中,匹配到目标业务对应的降级策略后,即根据目标业务对应的降级策略,对业务进行相应的降级处理,以限制目标业务对目标服务的调用次数。其中,对业务进行降级处理,即将目标业务对目标服务的调用次数限制在降级策略指定的范围内,当在单位时间内,目标业务对目标服务的调用次数超出该指定的范围时,目标系统会拦截目标业务对目标服务的调用请求,以达到限制目标业务对目标服务的调用次数的目的。
本申请实施例中,通过各业务的调用信息,来确定各业务对应的降级策略,并向调用信息中的目标系统下发业务对应的降级策略,当目标系统中的目标服务被业务调用时,就可以根据该业务对应的降级策略,对该业务进行相应降级处理,也即目标系统可以通过各业务对应的降级策略,分别对各业务进行相应降级处理,也即可以针对性的对相应业务进行降级,而无需对应用系统的服务降级,避免了业务之间的互相影响,最大限度保证了各业务的正常运行,提高了业务的稳定性。
在一个实施例中,如图7所示,步骤606包括:
步骤702,根据目标业务的单位调用量,判断目标业务是否满足其对应的降级策略,单位调用量为在单位时间内,目标业务调用目标服务的次数。
本申请实施例中,降级策略可以用于指定目标业务单位时间内对目标服务的调用最大次数。单位调用量为在单位时间内,目标业务调用目标服务的次数,进而可以根据目标业务单位时间内对目标服务的单位调用量,判断其是否满足其对应的降级策略。例如:当目标业务的单位调用量大于其对应的降级策略所指示的调用最大次数时,则该目标业务满足其对应的降级策略,目标系统会根据其对应的降级策略对该目标业务进行降级处理,否则,目标业务不满足其对应的降级策略,目标系统不会对该目标业务进行特殊处理。
步骤704,当目标业务满足其对应的降级策略时,对目标业务进行相应的降级处理,以限制目标业务对目标服务的调用次数。
本申请实施例中,当目标业务满足其对应的降级策略时,目标系统将根据该降级策略对目标业务进行相应的降级处理,也即,目标系统会根据该降级策略限制目标业务对目标服务的调用次数,将目标业务对目标服务的调用次数限制在TPS阈值范围内,目标业务对目标服务的调用次数最大为TPS阈值,当目标业务不满足其对应的降级策略时,目标系统不对该业务做特殊处理,也即不限制目标业务对目标服务的调用次数。
本申请实施例中,通过各业务的调用信息,来确定各业务对应的降级策略,并向调用信息中的目标系统下发业务对应的降级策略,当目标系统中的目标服务被业务调用时,就可以根据该业务对应的降级策略,对该业务进行相应降级处理,也即目标系统可以通过各业务对应的降级策略,分别对各业务进行相应降级处理,也即可以针对性的对相应业务进行降级,而无需对应用系统的服务降级,避免了业务之间的互相影响,最大限度保证了各业务的正常运行,提高了业务的稳定性。
在一个实施例中,如图8所示,目标业务对应的降级策略中包括TPS阈值,步骤702包括:
步骤802,统计目标业务在单位时间内针对目标服务的单位调用量。
本申请实施例中,当目标服务被目标业务所调用时,目标系统开始对目标业务调用目标服务的调用请求进行计数,统计得到目标业务在单位时间内调用目标服务的调用请求数,得到目标业务在单位时间内针对目标服务的单位调用量,其中,目标业务对应的降级策略中包括TPS阈值,TPS值TPS阈值为业务在单位时间内(每秒内)对目标服务的最大调用量,其中,TPS阈值的具体确定过程参照前述实施例的相关描述即可,本公开实施例在此不再赘述。。
步骤804,在单位调用量大于TPS阈值的情况下,确定目标业务满足其对应的降级策略。
本申请实施例中,当单位调用量大于TPS阈值时,目标业务的单位调用量过大,会对目标服务和目标系统的正常工作产生负面影响,为保证目标服务和目标系统的正常工作,此时目标业务满足其对应的降级策略,目标系统应该根据降级策略限制目标业务的单位调用量。
步骤806,在单位调用量小于或等于TPS阈值的情况下,确定目标业务不满足其对应的降级策略。
在本申请实施例中,当单位调用量小于或等于TPS阈值时,不会对目标服务和目标系统的正常工作产生负面影响,此时,目标业务不满足其对应的降级策略,不限制目标业务的单位调用量。
本申请实施例中,目标系统可以通过各业务对应的降级策略,分别对各业务进行相应降级处理,也即可以针对性的对相应业务进行降级,而无需对应用系统的服务降级,避免了业务之间的互相影响,最大限度保证了各业务的正常运行,提高了业务的稳定性。
在一个示例性的实施例中,服务降级系统如图1所示,其中以业务“查询账户余额”、业务“修改账户密码”、业务“查询贷款条件”为例,首先,获取各业务的调用信息,得到业务“查询账户余额”的调用信息包括业务标签:a1、目标服务:服务c1、目标系统:系统C;业务“修改账户密码”的调用信息包括业务标签:a2、目标服务:服务c2、目标系统:系统C;业务“查询贷款条件”的调用信息包括业务标签:b1、目标服务:服务c1、目标系统:系统C。
根据各业务的调用信息中的业务标签,确定业务的交易属性,其中,业务标签a1属于涉及客户账务的业务类型,则业务“查询账户余额”的交易属性为第一业务类型,业务标签a2属于涉及客户账户安全的业务类型,则业务“修改账户密码”的交易属性为第一业务类型,而业务标签b1不属于前述“涉及客户账务、涉及客户账户安全、属于top级交易”中的任一项业务类型,且根据业务标签b1获取到的实际交易量不大于预设交易量,则业务“查询贷款条件”的交易属性为第二业务类型。
之后,根据各业务的历史交易量,确定各业务的预估交易峰值,下述过程中,用各业务标签表示各业务,针对业务a1,获取业务a1的历史交易量:历史交易峰值为1000次/秒,计划未来该业务的客户达到20万,而为满足20万客户的日常交易,该业务的交易峰值需要达到1100次/秒,则该业务的预估交易峰值为1100次/秒,其他业务也以上述方式,确定各业务的预估交易峰值。
针对业务a1,其目标服务为服务c1,获取服务c1所支持的最大TPS值1200次/秒,业务a1的交易属性为第一业务类型,根据预估交易峰值1100次/秒确定的第一TPS阈值为1100次/秒,此时,第一TPS阈值小于最大TPS值,则该业务的TPS阈值为1100次/秒。
针对业务b1,其目标服务为服务c1,获取服务c1所支持的最大TPS值1200次/秒,业务b1的交易属性为第二业务类型,业务b1所对应的预设比例为1/10,此时,得到目标TPS值为120次/秒,根据预估交易峰值110次/秒确定的第一TPS阈值为110次/秒,第一TPS阈值小于最大TPS值,则该业务的TPS阈值为110次/秒。
根据上述方法,可以得到上述三个业务对应的降级策略,其中,降级策略1包括:a1,服务c1,TPS阈值1;降级策略2包括:a2,服务c2,TPS阈值2;降级策略3包括:b1,服务c1,TPS阈值3。其中,三个业务的目标系统均为系统C,则将降级策略1、降级策略2、降级策略3下发至系统C。
系统C接收业务标签服务降级系统下发的降级策略1、降级策略2、降级策略3,以服务c1被业务a1调用为例,首先匹配到降级策略1,并统计在每秒内业务a1调用服务c1的次数为1150,此时,1150大于业务a1的TPS阈值1100次/秒,业务a1满足降级策略1,则系统C会拦截业务a1对服务c1的调用请求,以使业务a1的单位调用量小于或等于TPS阈值1100次/秒,同时业务标签服务降级系统将收到的相应的降级信息,并将降级信息推送告警至相应系统和规则维护人员。
业务标签服务降级系统也会将各业务的调用信息、历史交易峰值、该业务的目标服务的最大TPS值、该业务的TPS阈值显示在前端降级策略设置页面,以供规则维护人员对降级策略进行维护和修改。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图1所示,还提供了一种服务降级系统,所述系统包括:第一系统、业务标签服务降级系统和目标系统;其中,
第一系统,用于通过代理模块获取各业务的调用信息,并将各业务的调用信息上传至业务标签服务降级系统,调用信息包括业务的业务标签、业务所调用的目标服务以及目标服务所属的目标系统;
业务标签服务降级系统,用于根据接收到的各业务的调用信息,确定各业务对应的降级策略,并针对任一业务,将业务对应的降级策略下发至业务的调用信息中的目标系统,降级策略用于触发对业务进行限流;
目标系统,用于接收业务标签服务降级系统下发的各业务对应的降级策略,在目标服务被目标业务调用时,匹配目标业务对应的降级策略,并根据目标业务对应的降级策略,对目标业务进行相应的降级处理,以限制目标业务对目标服务的调用次数。
本申请实施例中,可以在第一系统中设置agent代理系统,第一系统中包括各业务,当业务开始调用目标服务时,agent代理系统就可以获取到业务的调用信息,并将各业务的调用信息上传至业务标签服务降级系统,调用信息包括业务的业务标签、业务所调用的目标服务以及目标服务所属的目标系统。
业务标签服务降级系统则接收第一系统上传的各业务的调用信息,并根据各业务的调用信息,确定各业务对应的降级策略,并针对任一业务,将业务对应的降级策略下发至业务的调用信息中的目标系统。
之后,目标系统接收各业务对应的降级策略,在目标系统中的目标服务被目标业务调用时,再根据目标业务对应的降级策略进行后续处理,过程如下:匹配目标业务对应的降级策略,并根据目标业务对应的降级策略,对目标业务进行相应的降级处理,以限制目标业务对目标服务的调用次数。
本公开实施例中,业务标签服务降级系统和目标系统生成降级策略和应用降级策略的具体过程参照前述实施例的相关描述即可,本公开实施例在此不再赘述。
本申请实施例中,通过各业务的调用信息,来确定各业务对应的降级策略,并向调用信息中的目标系统下发业务对应的降级策略,当目标系统中的目标服务被业务调用时,就可以根据该业务对应的降级策略,对该业务进行相应降级处理,也即目标系统可以通过各业务对应的降级策略,分别对各业务进行相应降级处理,也即可以针对性的对相应业务进行降级,而无需对应用系统的服务降级,避免了业务之间的互相影响,最大限度保证了各业务的正常运行,提高了业务的稳定性。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的服务降级方法的服务降级装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个服务降级装置实施例中的具体限定可以参见上文中对于服务降级方法的限定,在此不再赘述。
在一个实施例中,如图9所示,提供了一种服务降级装置,包括:获取模块902、确定模块904和下发模块906,其中:
获取模块902,用于获取各业务的调用信息,调用信息包括业务的业务标签、业务所调用的目标服务以及目标服务所属的目标系统;
确定模块904,用于根据各业务的调用信息,确定各业务对应的降级策略,降级策略用于触发对业务进行限流;
下发模块906,用于针对任一业务,根据业务的调用信息,向调用信息中的目标系统下发业务对应的降级策略,以使当目标系统中的目标服务被业务调用时,目标系统根据业务对应的降级策略,对业务进行相应降级处理。
本申请实施例中,通过各业务的调用信息,来确定各业务对应的降级策略,并向调用信息中的目标系统下发业务对应的降级策略,当目标系统中的目标服务被业务调用时,就可以根据该业务对应的降级策略,对该业务进行相应降级处理,也即目标系统可以通过各业务对应的降级策略,分别对各业务进行相应降级处理,也即可以针对性的对相应业务进行降级,而无需对应用系统的服务降级,避免了业务之间的互相影响,最大限度保证了各业务的正常运行,提高了业务的稳定性。
在一个实施例中,所述确定模块904还用于:
针对任一业务,根据业务的调用信息中的业务标签,确定业务的交易属性,交易属性用于表示业务的重要程度;
根据业务的交易属性以及业务的调用信息中的目标服务,确定业务对应的降级策略。
在一个实施例中,所述确定模块904还用于:
针对任一业务,根据业务的历史交易数据,确定业务的预估交易峰值;
获取业务的调用信息中的目标服务所支持的最大每秒事务处理量TPS值;
根据业务的交易属性、业务的预估交易峰值、以及目标服务所支持的最大TPS值,确定业务对应的TPS阈值;
根据业务对应的TPS阈值,生成业务对应的降级策略。
在一个实施例中,所述确定模块904还用于:
在交易属性表征业务为第一业务类型的情况下,根据预估交易峰值和目标服务所支持的最大TPS值,确定业务的TPS阈值;
或者,在交易属性表征业务为第二业务类型的情况下,根据预设比例及目标服务所支持的最大TPS值,确定目标TPS值;
根据预估交易峰值和目标TPS值,确定业务的TPS阈值;
其中,第一业务类型的重要程度高于第二业务类型的重要程度。
在一个实施例中,如图10所示,提供了一种服务降级装置,包括:接收模块1002、匹配模块1004和降级模块1006,其中,
接收模块1002,用于接收业务标签服务降级系统下发的各业务对应的降级策略,降级策略由业务标签服务降级系统根据业务的调用信息确定,降级策略用于触发对业务进行限流;
匹配模块1004,用于当目标服务被目标业务调用时,匹配目标业务对应的降级策略;
降级模块1006,用于根据目标业务对应的降级策略,对目标业务进行相应的降级处理,以限制目标业务对目标服务的调用次数。
本申请实施例中,目标系统可以通过各业务对应的降级策略,分别对各业务进行相应降级处理,也即可以针对性的对相应业务进行降级,而无需对应用系统的服务降级,避免了业务之间的互相影响,最大限度保证了各业务的正常运行,提高了业务的稳定性。
在其中一个实施例中,所述降级模块1006还用于:
根据目标业务的单位调用量,判断目标业务是否满足其对应的降级策略,单位调用量为在单位时间内,目标业务调用目标服务的次数;
当目标业务满足其对应的降级策略时,对目标业务进行相应的降级处理,以限制目标业务对目标服务的调用次数。
在其中一个实施例中,所述降级模块1006还用于:
统计目标业务在单位时间内针对目标服务的单位调用量;
在单位调用量大于TPS阈值的情况下,确定目标业务满足其对应的降级策略;或者,
在单位调用量小于或等于TPS阈值的情况下,确定目标业务不满足其对应的降级策略。
上述服务降级装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种服务降级方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本申请提供的服务降级方法、系统和装置、计算机设备和存储介质可用于金融领域在智能运维领域,也可用于除金融领域之外的任意领域,本申请对服务降级的方法、系统和装置、计算机设备和存储介质的应用领域不做限定。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (13)
1.一种服务降级方法,其特征在于,所述方法包括:
获取各业务的调用信息,所述调用信息包括所述业务的业务标签、所述业务所调用的目标服务以及所述目标服务所属的目标系统;
根据各所述业务的所述调用信息,确定各所述业务对应的降级策略,所述降级策略用于触发对所述业务进行限流;
针对任一所述业务,根据所述业务的所述调用信息,向所述调用信息中的所述目标系统下发所述业务对应的所述降级策略,以使当所述目标系统中的所述目标服务被所述业务调用时,所述目标系统根据所述业务对应的所述降级策略,对所述业务进行相应降级处理。
2.根据权利要求1所述的方法,其特征在于,所述根据各所述业务的所述调用信息,确定各所述业务对应的降级策略,包括:
针对任一所述业务,根据所述业务的调用信息中的所述业务标签,确定所述业务的交易属性,所述交易属性用于表示所述业务的重要程度;
根据所述业务的所述交易属性以及所述业务的所述调用信息中的所述目标服务,确定所述业务对应的降级策略。
3.根据权利要求2所述的方法,其特征在于,所述根据所述业务的所述交易属性以及所述业务的所述调用信息中的所述目标服务,确定所述业务对应的降级策略,包括:
针对任一所述业务,根据所述业务的历史交易数据,确定所述业务的预估交易峰值;
获取所述业务的所述调用信息中的所述目标服务所支持的最大每秒事务处理量TPS值;
根据所述业务的所述交易属性、所述业务的所述预估交易峰值、以及所述目标服务所支持的最大TPS值,确定所述业务对应的TPS阈值;
根据所述业务对应的所述TPS阈值,生成所述业务对应的降级策略。
4.根据权利要求3所述的方法,其特征在于,所述根据所述业务的所述交易属性、所述业务的所述预估交易峰值、以及所述目标服务所支持的最大TPS值,确定所述业务对应的TPS阈值,包括:
在所述交易属性表征所述业务为第一业务类型的情况下,根据所述预估交易峰值和所述目标服务所支持的最大TPS值,确定所述业务的TPS阈值;
或者,在所述交易属性表征所述业务为第二业务类型的情况下,根据预设比例及所述目标服务所支持的最大TPS值,确定目标TPS值;
根据所述预估交易峰值和所述目标TPS值,确定所述业务的所述TPS阈值;
其中,所述第一业务类型的重要程度高于所述第二业务类型的重要程度。
5.一种服务降级方法,其特征在于,所述方法包括:
接收业务标签服务降级系统下发的各业务对应的降级策略,所述降级策略由所述业务标签服务降级系统根据所述业务的调用信息确定,所述降级策略用于触发对所述业务进行限流;
当目标服务被目标业务调用时,匹配所述目标业务对应的降级策略;
根据所述目标业务对应的所述降级策略,对所述目标业务进行相应的降级处理,以限制所述目标业务对所述目标服务的调用次数。
6.根据权利要求5所述的方法,其特征在于,所述根据所述目标业务对应的所述降级策略,对所述目标业务进行相应的降级处理,以限制所述目标业务对所述目标服务的调用次数,包括:
根据所述目标业务的单位调用量,判断所述目标业务是否满足其对应的所述降级策略,所述单位调用量为在单位时间内,所述目标业务调用所述目标服务的次数;
当所述目标业务满足其对应的所述降级策略时,对所述目标业务进行相应的降级处理,以限制所述目标业务对所述目标服务的调用次数。
7.根据权利要求6所述的方法,其特征在于,所述目标业务对应的所述降级策略中包括TPS阈值,所述根据所述目标业务的单位调用量,判断所述目标业务是否满足其对应的所述降级策略,包括:
统计所述目标业务在所述单位时间内针对所述目标服务的单位调用量;
在所述单位调用量大于所述TPS阈值的情况下,确定所述目标业务满足其对应的所述降级策略;或者,
在所述单位调用量小于或等于所述TPS阈值的情况下,确定所述目标业务不满足其对应的所述降级策略。
8.一种服务降级系统,其特征在于,所述系统包括:第一系统、业务标签服务降级系统和目标系统;其中,
所述第一系统,用于通过代理模块获取各业务的调用信息,并将各所述业务的所述调用信息上传至所述业务标签服务降级系统,所述调用信息包括所述业务的业务标签、所述业务所调用的目标服务以及所述目标服务所属的目标系统;
所述业务标签服务降级系统,用于根据接收到的各所述业务的所述调用信息,确定各所述业务对应的降级策略,并针对任一所述业务,将所述业务对应的所述降级策略下发至所述业务的所述调用信息中的所述目标系统,所述降级策略用于触发对所述业务进行限流;
所述目标系统,用于接收所述业务标签服务降级系统下发的各所述业务对应的所述降级策略,在所述目标服务被目标业务调用时,匹配所述目标业务对应的所述降级策略,并根据所述目标业务对应的所述降级策略,对所述目标业务进行相应的降级处理,以限制所述目标业务对所述目标服务的调用次数。
9.一种服务降级装置,其特征在于,所述装置包括:
获取模块,用于获取各业务的调用信息,所述调用信息包括所述业务的业务标签、所述业务所调用的目标服务以及所述目标服务所属的目标系统;
确定模块,用于根据各所述业务的所述调用信息,确定各所述业务对应的降级策略,所述降级策略用于触发对所述业务进行限流;
下发模块,用于针对任一所述业务,根据所述业务的所述调用信息,向所述调用信息中的所述目标系统下发所述业务对应的所述降级策略,以使当所述目标系统中的所述目标服务被所述业务调用时,所述目标系统根据所述业务对应的所述降级策略,对所述业务进行相应降级处理。
10.一种服务降级装置,其特征在于,所述装置包括:
接收模块,用于接收业务标签服务降级系统下发的各业务对应的降级策略,所述降级策略由所述业务标签服务降级系统根据所述业务的调用信息确定,所述降级策略用于触发对所述业务进行限流;
匹配模块,用于当目标服务被目标业务调用时,匹配所述目标业务对应的降级策略;
降级模块,用于根据所述目标业务对应的所述降级策略,对所述目标业务进行相应的降级处理,以限制所述目标业务对所述目标服务的调用次数。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
13.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210667996.6A CN114913004A (zh) | 2022-06-14 | 2022-06-14 | 服务降级方法、系统、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210667996.6A CN114913004A (zh) | 2022-06-14 | 2022-06-14 | 服务降级方法、系统、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114913004A true CN114913004A (zh) | 2022-08-16 |
Family
ID=82769741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210667996.6A Pending CN114913004A (zh) | 2022-06-14 | 2022-06-14 | 服务降级方法、系统、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114913004A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115080363A (zh) * | 2022-08-23 | 2022-09-20 | 中国中金财富证券有限公司 | 一种基于业务日志的系统容量评估方法及装置 |
CN115801685A (zh) * | 2022-12-21 | 2023-03-14 | 平安银行股份有限公司 | 应用服务限流方法、装置、设备和存储介质 |
CN116957807A (zh) * | 2023-09-21 | 2023-10-27 | 成都天用唯勤科技股份有限公司 | 一种高并发多维度分布式交易系统用交易降级方法及系统 |
WO2024066374A1 (zh) * | 2022-09-26 | 2024-04-04 | 京东科技信息技术有限公司 | 业务降级方法、装置、设备、计算机可读介质和程序产品 |
-
2022
- 2022-06-14 CN CN202210667996.6A patent/CN114913004A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115080363A (zh) * | 2022-08-23 | 2022-09-20 | 中国中金财富证券有限公司 | 一种基于业务日志的系统容量评估方法及装置 |
CN115080363B (zh) * | 2022-08-23 | 2022-11-15 | 中国中金财富证券有限公司 | 一种基于业务日志的系统容量评估方法及装置 |
WO2024066374A1 (zh) * | 2022-09-26 | 2024-04-04 | 京东科技信息技术有限公司 | 业务降级方法、装置、设备、计算机可读介质和程序产品 |
CN115801685A (zh) * | 2022-12-21 | 2023-03-14 | 平安银行股份有限公司 | 应用服务限流方法、装置、设备和存储介质 |
CN116957807A (zh) * | 2023-09-21 | 2023-10-27 | 成都天用唯勤科技股份有限公司 | 一种高并发多维度分布式交易系统用交易降级方法及系统 |
CN116957807B (zh) * | 2023-09-21 | 2023-12-08 | 成都天用唯勤科技股份有限公司 | 一种高并发多维度分布式交易系统用交易降级方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114913004A (zh) | 服务降级方法、系统、装置、计算机设备和存储介质 | |
CN112766907A (zh) | 业务数据的处理方法、装置和服务器 | |
CN112232818A (zh) | 数据对账方法、装置、计算机设备和存储介质 | |
CN109191287A (zh) | 一种区块链智能合约的分片方法、装置及电子设备 | |
CN110462601A (zh) | 使用可视化数据组织和图形识别计算机行为 | |
CN110191097A (zh) | 登录页面安全性的检测方法、系统、设备及存储介质 | |
US20170373988A1 (en) | Systems for proactive modification of resource utilization and demand | |
CN110766430B (zh) | 基于机器学习算法的资源分配方法 | |
US11334371B1 (en) | Systems and methods for multiple comparison correction during configurable application feature experiments | |
CN113256422B (zh) | 分仓账户识别方法、装置、计算机设备和存储介质 | |
CN114257411A (zh) | 交易流量控制方法、装置、设备、介质和计算机程序产品 | |
CN114565443A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN114221807A (zh) | 访问请求处理方法、装置、监控设备及存储介质 | |
CN110969430A (zh) | 可疑用户的识别方法、装置、计算机设备和存储介质 | |
CN111047336A (zh) | 用户标签推送、用户标签展示方法、装置和计算机设备 | |
CN113240458B (zh) | 广告竞价超时率可靠保障方法、系统、终端及存储介质 | |
CN116882648A (zh) | 账户资源分配方法、装置、计算机设备和存储介质 | |
CN117255132A (zh) | 客户端限流方法、装置、计算机设备和存储介质 | |
US20230085144A1 (en) | System and method for real-time management of data records | |
CN117437022A (zh) | 资源处理方法、装置、计算机设备和存储介质 | |
CN115580752A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN117171444A (zh) | 问卷信息推送方法、装置、计算机设备和存储介质 | |
CN115841348A (zh) | 虚拟资源处理方法、装置、计算机设备和存储介质 | |
US20180232808A1 (en) | Apparatuses, methods and systems for electronic trading distribution | |
CN115914363A (zh) | 消息推送方法、装置、计算机设备和存储介质 |
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 |