CN116028225A - 交易请求分组处理方法、装置、电子设备及存储介质 - Google Patents
交易请求分组处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116028225A CN116028225A CN202310029562.8A CN202310029562A CN116028225A CN 116028225 A CN116028225 A CN 116028225A CN 202310029562 A CN202310029562 A CN 202310029562A CN 116028225 A CN116028225 A CN 116028225A
- Authority
- CN
- China
- Prior art keywords
- transaction
- transaction request
- abnormal
- abnormal transaction
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种交易请求分组处理方法、装置、电子设备及存储介质。该方法包括:对接收的交易请求进行异常交易识别,判断交易请求是否为异常交易请求;利用预定的交易分组规则对异常交易请求执行分组操作,将属于同一类别的异常交易请求划分到同一异常交易分组内;对每个异常交易分组分别设置相应的交易请求分组处理策略,并为每个异常交易分组分配单独的线程池;依据交易请求分组处理策略,利用异常交易分组对应的线程池对异常交易分组内的异常交易请求进行处理。本申请实现了资源隔离,提升了应用服务器资源的利用率,提升了系统的稳定性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种交易请求分组处理方法、装置、电子设备及存储介质。
背景技术
应用服务器内部对于交易请求的处理通常采用统一的处理流程和完全相同的内部资源进行处理,目前应用服务器无法针对不同业务和不同交易请求之间进行资源隔离,只能使用统一的共享资源进行交易处理。这将会导致大并发场景下,如果用户应用中的某一类交易出现异常或者由于某种原因响应时间很慢,就会占用大量的应用服务器资源,导致其他正常的交易请求没有资源进行处理,降低应用服务器资源的利用率,更严重的甚至可能会耗尽应用服务器的所有资源,导致系统崩溃。
发明内容
有鉴于此,本申请实施例提供了一种交易请求分组处理方法、装置、电子设备及存储介质,以解决现有技术存在的异常交易占用大量资源,导致应用服务器资源的利用率降低,系统崩溃的问题。
本申请实施例的第一方面,提供了一种交易请求分组处理方法,包括:对接收的交易请求进行异常交易识别,判断交易请求是否为异常交易请求;利用预定的交易分组规则对异常交易请求执行分组操作,将属于同一类别的异常交易请求划分到同一异常交易分组内;对每个异常交易分组分别设置相应的交易请求分组处理策略,并为每个异常交易分组分配单独的线程池;依据交易请求分组处理策略,利用异常交易分组对应的线程池对异常交易分组内的异常交易请求进行处理。
本申请实施例的第二方面,提供了一种交易请求分组处理装置,包括:识别模块,被配置为对接收的交易请求进行异常交易识别,判断交易请求是否为异常交易请求;分组模块,被配置为利用预定的交易分组规则对异常交易请求执行分组操作,将属于同一类别的异常交易请求划分到同一异常交易分组内;设置模块,被配置为对每个异常交易分组分别设置相应的交易请求分组处理策略,并为每个异常交易分组分配单独的线程池;处理模块,被配置为依据交易请求分组处理策略,利用异常交易分组对应的线程池对异常交易分组内的异常交易请求进行处理。
根据本申请实施例的第三方面,提供了一种电子设备,包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时实现上述任一实施例的方法。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,其特征在于,计算机程序被处理器执行时实现上述任一实施例的方法。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过对接收的交易请求进行异常交易识别,判断交易请求是否为异常交易请求;利用预定的交易分组规则对异常交易请求执行分组操作,将属于同一类别的异常交易请求划分到同一异常交易分组内;对每个异常交易分组分别设置相应的交易请求分组处理策略,并为每个异常交易分组分配单独的线程池;依据交易请求分组处理策略,利用异常交易分组对应的线程池对异常交易分组内的异常交易请求进行处理。本申请将不同异常交易分组使用单独的线程池进行处理,保证不同异常交易分组之间的资源隔离,保证正常交易请求不会由于异常交易请求占用过多应用服务器资源而无法处理,提升应用服务器资源的利用率,提升系统的稳定性,避免出现系统崩溃。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请实施例提供的慢交易分组管控功能的整体架构示意图;
图2是本申请实施例提供的交易请求分组处理方法的流程示意图;
图3是本申请实施例提供的交易请求分组处理装置的结构示意图;
图4是本申请实施例提供的电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
本申请技术方案的执行主体可以是交易管控平台中的应用服务器,交易管控平台也称交易管控系统,交易管控平台主要包含异常交易识别、交易分组管理、交易管控策略下发、交易监控以及交易资源监控几个部分。其中,异常交易管控系统可实现对监控信息和配置操作的界面化展示与管理,系统技术实现对原有业务应用无影响,不侵入应用,不对现有应用有任何改动。下面对本申请在实际应用中涉及的异常交易管控系统的架构及工作原理进行详细说明,具体可以包括以下内容:
异常交易管控系统支持应用服务器中间件及其上部署的web应用,将通过JVM扩展接口、字节码解析,以及通过增加HTTP的交易路由及分组策略来实现慢交易管控(即异常交易管控)及临界资源管控,并通过采用配置交易策略及临界资源管控策略来实现对慢交易和临界资源的优化配置,管理及监控。
异常交易管控平台采用流行B/S框架搭建交易管控系统的服务架构,交易管控模块进行分组管理及策略配置,配置策略会下发至慢交易分组策略库,慢交易分组策略库采用分布式内存库,依据请求的访问量可支持扩展,链路分析引擎则负责慢交易识别、慢交易指标监控、交易链路追踪、交易链路分析以及交易指标监控等。
异常交易管控系统的基本实现原理是:基于JavaAgent技术构建一个独立于应用程序的探针服务,用来协助监测JVM上运行的程序,替换web容器上运行的javax.servlet.http.HttpServlet中的service()方法,使用它可以实现虚拟机级别的AOP功能,实现对交易的分组管理,以及交易监控功能,通过非侵入方式对临界资源进行监控、数据展示,对核心指标进行管控功能。
异常交易管控系统主要分为如下几个模块:
JVM信息采集Collector服务模块:将基于JVM中的Web中间件进行信息收集及监控,通过JVM扩展接口及字节码解析等方式进行慢交易以及临界资源池的管控与分析。
链路分析服务引擎:对交易链路数据分析,慢交易的发现及监控,对临界资源连接池连接数的活跃度、占满情况以及连接资源的泄露情况等进行分析及管控,同时支持慢交易分组规则、慢交易配置规则、慢交易的查杀规则的下发及监控。
集中运维管理平台,将采用Web界面形式展示慢交易和临界资源的可视化监控,也通过集中运维手段来实现交易链路的分析结果呈现,慢交易的配置管理、慢交易的分组管理、慢交易的最大访问量控制策略,慢交易的策略配置及下发等,也对临界资源提供可视化监控,也将通过集中运维提供对资源池动态采集及分析数据的动态展现,对连接池的多项监控指标进行可视化展现,支持连接池的分析与处理,也支持临界资源的配置管理、策略管理、资源限制等。
异常交易管控系统采用如下数据架构:
异常交易管控平台主要包括两大类数据,一类是通过在Web容器部署采集Collector服务模块:将基于JVM中的Web中间件进行信息收集及监控,通过JVM扩展接口及字节码解析等方式进行慢交易以及临界资源池的管控与分析,并将监控指标及慢交易数据进行分析、整合及统计,用于集中运维管理平台的前端展现;还有一类主要用于前台策略数据及配置数据的缓存下发,用于在Web容器侧的策略执行模块进行策略控制及策略管控。
慢交易数据收集及指标监控业务,是通过非侵入方式对Web容器,容器中的Http服务、JDBC连接池资源、数据库资源、Dubbo服务资源、线程池资源等进行慢交易请求数据的收集及指标的收集及监控,然后整理数据存入原子数据仓库,然后在链路分析引擎模块中对原子数据进行数据整合及统计信息整理,并为前端的慢交易管控系统、JDBC连接池资源监控系统、数据库资源监控系统、Dubbo服务调用监控系统及线程池资源的监控等提供数据支撑。
异常交易管控系统中的慢交易管控包括以下功能架构:
慢交易管控主要包括慢交易识别、交易分组管理、交易管控策略下发、交易监控等几个部分。交易分组慢交易管控系统可实现对监控信息和配置操作的界面化展示与管理,系统对原有业务应用无影响,不侵入应用,不对现有应用有任何改动。
慢交易识别:通过JVM扩展接口及字节码解析方式进行交易链路分析及监控,通过下发慢交易识别参数进行慢交易识别,并对识别的慢交易进行标识和入库操作。
交易分组管理:支持自定义交易分组规则,并对交易进行分组划分,可通过运维平台进行交易分组规则的可视化配置及调整,对于交易治理策略,将会实时进行路由同步,并通过慢交易管控模块进行分组规则、慢交易治理规则等下发及同步。
交易链路监控:通过实时进行交易链路监控,并对交易链路进行实时分析及统计,为可视化数据展现提供必要数据。
其中,交易分组管理中主要包括对识别出的慢交易进行分组管控,下面结合附图以及具体实施例对慢交易分组管控功能的实现过程进行说明,图1是本申请实施例提供的慢交易分组管控功能的整体架构示意图。如图1所示,该慢交易分组管控功能具体可以包括:
慢交易分组管控功能使用java字节码注入技术,实现在应用启动前或运行期间,通过对HttpServlet类的service方法进行修改,在http请求的入口处使用后台服务下发的分组策略对URI进行交易分组控制,根据分组情况检查当前请求所属业务组的处理情况,如果发现当前请求的业务组已经达到最大允许线程数量时,则停止请求的后续处理步骤,直接返回错误;前端可实现管控规则的配置,关于分组配置规则可实时同步至实时路由。
需要说明的是,本申请实施例的交易请求分组处理方法是以慢交易分组管控的实现过程为例进行说明的,本申请的异常交易请求包含了被识别为慢交易的请求,以及无法被执行的交易请求,下面结合附图以及具体实施例对本申请所提供的交易请求分组处理方法进行详细说明。
图2是本申请实施例提供的交易请求分组处理方法的流程示意图。图2的交易请求分组处理方法可以由应用服务器执行。如图2所示,该交易请求分组处理方法具体可以包括:
S201,对接收的交易请求进行异常交易识别,判断交易请求是否为异常交易请求;
S202,利用预定的交易分组规则对异常交易请求执行分组操作,将属于同一类别的异常交易请求划分到同一异常交易分组内;
S203,对每个异常交易分组分别设置相应的交易请求分组处理策略,并为每个异常交易分组分配单独的线程池;
S204,依据交易请求分组处理策略,利用异常交易分组对应的线程池对异常交易分组内的异常交易请求进行处理。
具体地,本申请的交易请求可以是客户端通过http协议发送到应用服务器的请求,应用服务器在接收交易请求之后,可以对http协议进行解析,将解析后的交易请求发送给相应业务的程序来执行。
在实际应用中,本申请还可实现屏蔽前端http请求来源,例如可以适用于以下场景:由软负载/F5发给应用服务器的请求,通过dubbo微服务框架由服务直接调用服务方式发送给应用服务器的请求;由应用直接通过http转发发给另一个应用服务器的请求。
进一步地,在本申请实施例中,内存缓存采用分布式内存数据缓存中间件,分布式环境下为各应用提供高效、稳定、安全的内存数据存取、共享和处理服务;支持弹性可伸缩部署,简化分布式环境中内存管理的复杂性。
进一步地,在本申请实施例中,JVM(Java Virtual Machine,Java虚拟机)使用Java虚拟机,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
在一些实施例中,对接收的交易请求进行异常交易识别,判断交易请求是否为异常交易请求,包括:在预设的交易请求处理链路的关键节点中插入探针,利用探针获取交易请求的处理时间,根据交易请求的处理时间进行阈值判断,以确定交易请求是否为异常交易请求。
具体地,应用服务器通过对交易请求处理链路(简称交易链路)进行实时监控和分析,进行异常交易识别,交易链路可以认为是由交易请求的处理流程节点所组成的链路。本申请实施例是采用在交易链路的关键节点中插入探针的方式实现对交易链路中交易请求的实时监控和分析。下面结合具体实施例对基于探针的方法进行异常交易请求识别的过程及原理进行详细说明,具体可以包括以下内容:
通过在交易链路的关键节点中插入探针采集交易请求的处理数据,比如处理时间等信息,根据交易请求的处理数据来判断交易请求是否为异常交易请求;其中,探针可以认为是插入到关键节点中的监控代码和解析代码,这部分代码用于获取交易请求的处理时间(也称执行时间)和关键数据,因此在关键节点中插入探针也可以理解为在代码中设置埋点。
在一个具体示例中,本申请的探针采用Java探针,Java探针可以基于JavaAgent来实现,Java探针实现的主要原理是使用-javaagent参数在运行期间对代码进行修改或注入用户代码,Java探针的主要作用在于负责收集并格式化关键节点的交易处理数据,并将交易处理数据发送到后台服务。
进一步地,在获取关键节点的交易请求的处理时间之后,将交易请求的处理时间与阈值(即时间阈值)进行比较,当交易请求的处理时间超过阈值时,认为该交易请求属于异常交易请求,即判断该交易为异常交易;当交易请求的处理时间未超过阈值时,则认为该交易请求属于正常交易请求,即判断该交易为正常交易。
需要说明的是,本申请实施例的异常交易中包含慢交易,所谓的慢交易是指被判定为处理时间超过时间阈值,但可以被执行的请求,与其他异常交易相比,慢交易的处理时间虽然超过了时间阈值,但是却被识别为可执行的交易,也就是说,慢交易是指处理耗时较长且能够被执行的交易请求。异常交易中还包含一些无法执行的交易请求,这部分交易请求可能由于代码或环境错误等原因导致无法被执行。
在一个更具体的示例中,本申请通过在HttpServlet(用于表征应用服务器处理交易的关键节点)的service方法里面加入探针,收集service方法的执行时间(即交易请求的处理时间),根据service方法的执行时间来判断交易请求是否为异常交易。其中,关键节点可以包括交易链路中使用service方法进行交易请求处理的节点。
根据本申请实施例提供的技术方案,本申请通过在交易链路的关键节点中插入探针的方式实现交易请求的监控和异常交易识别,极大提升了应用服务器对异常交易识别的速度,为之后的异常交易分组和交易请求分组处理策略确立了基础,缩短了交易请求分组处理的时间。
在一些实施例中,在对接收的交易请求进行异常交易识别之后,该方法还包括:获取异常交易请求对应的交易请求标识,将交易请求标识与对应的异常交易请求之间建立映射关系,并生成异常交易请求列表,将异常交易请求列表存入数据库中。
具体地,本申请在识别异常交易请求之后,将对异常交易请求进行标识和入库,例如:通过获取各个异常交易请求对应的交易请求标识,根据交易请求标识,将每个交易请求标识与各自对应的异常交易请求建立映射关系,根据映射关系生成异常交易请求列表,最后将异常交易请求列表存入数据库,同时写入内存并保存在本地文件中。
根据本申请实施例提供的技术方案,本申请通过对异常交易请求进行标识和入库,并且生成异常交易请求列表,在后续对异常交易请求执行分组操作时,通过对数据库中的异常交易请求列表中的交易请求标识进行查询,可快速获取相应的异常交易请求,提升异常交易分组的效率。
在一些实施例中,利用预定的交易分组规则对异常交易请求执行分组操作,包括:根据交易请求标识确定每个异常交易请求对应的应用类别,将属于同一应用类别的异常交易请求划分到同一异常交易分组内。
具体地,应用服务器可以通过自定义的交易分组规则对异常交易进行分组,不同的异常交易分组由单独的应用服务资源(即分配单独的线程池)进行处理,保证不同异常交易分组之间的资源隔离,正常交易不会由于慢交易和异常交易导致资源被占用而无法处理。
进一步地,在一个具体示例中,本申请可以采用根据应用类别进行分组的方式执行分组操作,该交易分组规则具体可以包括以下内容:
根据每个异常交易请求对应的交易请求标识,确定每个异常交易请求对应的应用类别,将属于同一应用类别的异常交易请求划分到同一异常交易分组内,即一个异常交易分组内只包含属于同一类应用的异常交易请求。
另外,在实际应用中,也可以采用其他交易分组规则来实现异常交易分组,例如可以将所有的异常交易请求都划分到同一个异常交易分组内。交易分组规则可以根据实际需求进行人为手动配置,因此本申请实施例不限于上述交易分组规则,任何可实现对异常交易请求按照某种特定的规则进行分组的方式均适用于本申请。
在一些实施例中,对每个异常交易分组分别设置相应的交易请求分组处理策略,并为每个异常交易分组分配单独的线程池,包括:在管理控制台为每个异常交易分组单独设置相应的交易请求分组处理策略,将交易请求分组处理策略发送给交易路由,以使交易路由为每个异常交易分组分配单独的线程池;其中,交易请求分组处理策略包括交易请求限流策略和交易请求降级策略。
具体地,本申请通过管理控制台为不同的异常交易分组设置对应的交易请求分组处理策略,即为不同的异常交易分组设置单独的交易处理策略,并将这些交易处理策略同步更新到前端交易路由,以便前端交易路由可以实时的对慢交易和异常交易进行管控和治理。
进一步地,在使用管理控制台制定完交易处理策略之后,将制定好的交易处理策略下发给前端的路由模块(即交易路由)执行,因此,交易处理策略中的限流等操作均是在前端的路由模块内实现的,路由模块属于应用服务器内部中的一个模块。
在实际应用中,利用后台服务将各个异常交易分组对应的交易处理策略数据读取并按一定结构放入缓存,同时下发给前端的实时路由管控服务使用。路由管控服务支持对异常交易进行配置策略的管控,包括按比例分流、黑名单及白名单访问、最大访问流量控制等策略。策略下发之后,路由模块会为不同的异常交易分组分配单独的线程池进行处理,即每个异常交易分组都会分配一个工作线程来处理,从而实现不同异常交易分组之间线程资源的隔离,避免线程资源被耗尽。
需要说明的是,本申请在对异常交易请求进行分组确定异常交易分组,并且为每个异常交易分组制定对应的交易处理策略之后,对于后续应用服务器接收的交易请求,直接根据交易分组规则对其进行分组,并且利用交易处理策略对异常交易分组内的实时更新的异常交易请求进行对应交易处理策略的管控。
在本申请实施例中,所有被判定为异常交易的交易请求都将划分到异常交易分组内,对于交易请求中被判定为正常交易的请求(即正常交易请求),需要将正常交易请求划分到正常交易分组内,未进行特别分组的交易请求都将在正常交易分组内按照进行正常交易分组的策略处理。
在一些实施例中,依据交易请求分组处理策略,利用异常交易分组对应的线程池对异常交易分组内的异常交易请求进行处理,包括:当异常交易分组对应的交易请求分组处理策略为交易请求限流策略时,对异常交易请求的线程数、等待队列大小和等待队列超时时间进行限制,并将超过等待队列大小或等待队列超时时间的异常交易请求丢弃;当异常交易分组对应的交易请求分组处理策略为交易请求降级策略时,对异常交易请求返回交易失败结果,并终止异常交易请求的执行。
具体地,本申请实施例提供了两种针对异常交易请求的分组处理策略,即交易请求限流策略和交易请求降级策略,下面结合具体实施例对这两种交易请求分组处理策略的内容进行详细说明,具体可以包括以下内容:
在交易请求限流策略中,交易路由会限制相应异常交易分组内的异常交易请求所能使用的线程数,例如限制异常交易所使用的线程资源,将之前可以使用100个线程资源的异常交易请求限制为可以使用10个线程资源;另外,还可以限制异常交易请求的等待队列大小及等待队列超时时间,当该异常交易分组内的异常交易请求超出等待队列的请求或者超过等待队列超时时间时会被直接丢弃。
在交易请求降级策略中,交易路由对相应异常交易分组内的异常交易请求直接快速返回失败结果,并终止交易请求的执行,因此,交易请求降级策略也称为快速失败处理策略,基于该处理策略直接向客户端返回失败结果,避免由于代码的错误持续占用资源。
需要说明的是,除了以上两种分组处理策略外,在实际应用中,还可根据需求设置其他不同的交易策略,例如包括但不限于以下处理策略:
异步执行策略:交易分组若选择异步执行策略,则在并发请求数达到限定阈值后开启异步执行策略,进行阈值外请求异步处理隔离措施,保护现有的线程资源,避免由于线程长时间占用,造成服务无法访问;
请求拒绝策略:交易分组若选择请求拒绝策略,则在并发请求数达到限定阈值后开启请求拒绝策略,进行请求拒绝隔离措施,对于阈值内的并发请求给予支持,但是超过阈值后的请求数,给予拒绝连接响应处理。
正常请求策略:适用于正常交易请求的处理策略,对于正常交易分组内的交易请求或者没有加入异常交易分组的交易请求,异常管控交易模块都会对此类请求执行正常逻辑,不做隔离处理。
在一些实施例中,该方法还包括:将判断为非异常交易请求的正常交易请求划分到正常交易分组内,对正常交易分组内的正常交易请求采用正常交易处理策略进行处理。
具体地,本申请的异常交易管控系统除了对异常交易请求按照分组规则进行分组,制定相应的分组处理策略,以及按照分组处理策略进行处理之外,对于正常交易请求也可以按照应用服务器原有的处理方式进行处理,即采用正常处理策略执行请求。
根据本申请实施例提供的技术方案,本申请为解决现有的交易处理系统针对不同业务和不同交易之间使用统一共享资源处理,无法实现资源隔离和分组管控的问题,提出了一种交易请求分组处理方法,通过在交易链路的关键节点中注入探针来识别出异常交易请求,并且按照分组规则对异常交易请求分组,针对不同的异常交易分组采用单独的应用服务资源(线程资源)进行处理,本申请通过将异常交易从正常交易中识别出来,避免异常交易占用正常交易的处理资源,实现资源隔离;之后为每个异常交易分组制定相应的交易处理策略,并将交易处理策略下发给交易路由执行,保证不同分组内的异常交易请求采用不同的策略进行处理,提高了异常交易请求的处理效率,本申请提升了应用服务器资源的利用率,避免系统崩溃问题的发生。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图3是本申请实施例提供的交易请求分组处理装置的结构示意图。如图3所示,该融合关键主题信息的文本摘要生成装置包括:
识别模块301,被配置为对接收的交易请求进行异常交易识别,判断交易请求是否为异常交易请求;
分组模块302,被配置为利用预定的交易分组规则对异常交易请求执行分组操作,将属于同一类别的异常交易请求划分到同一异常交易分组内;
设置模块303,被配置为对每个异常交易分组分别设置相应的交易请求分组处理策略,并为每个异常交易分组分配单独的线程池;
处理模块304,被配置为依据交易请求分组处理策略,利用异常交易分组对应的线程池对异常交易分组内的异常交易请求进行处理。
在一些实施例中,图3的识别模块301在预设的交易请求处理链路的关键节点中插入探针,利用探针获取交易请求的处理时间,根据交易请求的处理时间进行阈值判断,以确定交易请求是否为异常交易请求。
在一些实施例中,图3的识别模块301在对接收的交易请求进行异常交易识别之后,获取异常交易请求对应的交易请求标识,将交易请求标识与对应的异常交易请求之间建立映射关系,并生成异常交易请求列表,将异常交易请求列表存入数据库中。
在一些实施例中,图3的分组模块302根据交易请求标识确定每个异常交易请求对应的应用类别,将属于同一应用类别的异常交易请求划分到同一异常交易分组内。
在一些实施例中,图3的设置模块303在管理控制台为每个异常交易分组单独设置相应的交易请求分组处理策略,将交易请求分组处理策略发送给交易路由,以使交易路由为每个异常交易分组分配单独的线程池;其中,交易请求分组处理策略包括交易请求限流策略和交易请求降级策略。
在一些实施例中,图3的处理模块304当异常交易分组对应的交易请求分组处理策略为交易请求限流策略时,对异常交易请求的线程数、等待队列大小和或者等待队列超时时间进行限制,并将超过等待队列大小或等待队列超时时间的异常交易请求丢弃;当异常交易分组对应的交易请求分组处理策略为交易请求降级策略时,对异常交易请求返回交易失败结果,并终止异常交易请求的执行。
在一些实施例中,图3的处理模块304将判断为非异常交易请求的正常交易请求划分到正常交易分组内,对正常交易分组内的正常交易请求采用正常交易处理策略进行处理。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图4是本申请实施例提供的电子设备4的结构示意图。如图4所示,该实施例的电子设备4包括:处理器401和存储器402,存储器402用于存储可在处理器401上运行的计算机程序403。处理器401执行计算机程序403时实现上述各个方法实施例中的步骤。或者,处理器401执行计算机程序403时实现上述各装置实施例中各模块/单元的功能。
示例性地,计算机程序403可以被分割成一个或多个模块/单元,一个或多个模块/单元被存储在存储器402中,并由处理器401执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序403在电子设备4中的执行过程。
电子设备4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备4可以包括但不仅限于处理器401和存储器402。本领域技术人员可以理解,图4仅仅是电子设备4的示例,并不构成对电子设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如,电子设备还可以包括输入输出设备、网络接入设备、总线等。
处理器401可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器402可以是电子设备4的内部存储单元,例如,电子设备4的硬盘或内存。存储器402也可以是电子设备4的外部存储设备,例如,电子设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器402还可以既包括电子设备4的内部存储单元也包括外部存储设备。存储器402用于存储计算机程序以及电子设备所需的其它程序和数据。存储器402还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所申请的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种交易请求分组处理方法,其特征在于,包括:
对接收的交易请求进行异常交易识别,判断所述交易请求是否为异常交易5请求;
利用预定的交易分组规则对所述异常交易请求执行分组操作,将属于同一类别的所述异常交易请求划分到同一异常交易分组内;
对每个所述异常交易分组分别设置相应的交易请求分组处理策略,并为每个所述异常交易分组分配单独的线程池;
0依据所述交易请求分组处理策略,利用所述异常交易分组对应的线程池对所述异常交易分组内的所述异常交易请求进行处理。
2.根据权利要求1所述的方法,其特征在于,所述对接收的交易请求进行异常交易识别,判断所述交易请求是否为异常交易请求,包括:
在预设的交易请求处理链路的关键节点中插入探针,利用所述探针获取所5述交易请求的处理时间,根据所述交易请求的处理时间进行阈值判断,以确定所述交易请求是否为异常交易请求。
3.根据权利要求1所述的方法,其特征在于,在所述对接收的交易请求进行异常交易识别之后,所述方法还包括:
获取所述异常交易请求对应的交易请求标识,将所述交易请求标识与对应0的所述异常交易请求之间建立映射关系,并生成异常交易请求列表,将所述异常交易请求列表存入数据库中。
4.根据权利要求3所述的方法,其特征在于,所述利用预定的交易分组规则对所述异常交易请求执行分组操作,包括:
根据所述交易请求标识确定每个所述异常交易请求对应的应用类别,将属5于同一所述应用类别的所述异常交易请求划分到同一所述异常交易分组内。
5.根据权利要求1所述的方法,其特征在于,所述对每个所述异常交易分组分别设置相应的交易请求分组处理策略,并为每个所述异常交易分组分配单独的线程池,包括:
在管理控制台为每个所述异常交易分组单独设置相应的交易请求分组处理策略,将所述交易请求分组处理策略发送给交易路由,以使所述交易路由为每个所述异常交易分组分配单独的线程池;
其中,所述交易请求分组处理策略包括交易请求限流策略和交易请求降级策略。
6.根据权利要求5所述的方法,其特征在于,所述依据所述交易请求分组处理策略,利用所述异常交易分组对应的线程池对所述异常交易分组内的所述异常交易请求进行处理,包括:
当所述异常交易分组对应的交易请求分组处理策略为所述交易请求限流策略时,对所述异常交易请求的线程数、等待队列大小和或者等待队列超时时间进行限制,并将超过所述等待队列大小或所述等待队列超时时间的异常交易请求丢弃;
当所述异常交易分组对应的交易请求分组处理策略为所述交易请求降级策略时,对所述异常交易请求返回交易失败结果,并终止所述异常交易请求的执行。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将判断为非异常交易请求的正常交易请求划分到正常交易分组内,对所述正常交易分组内的所述正常交易请求采用正常交易处理策略进行处理。
8.一种交易请求分组处理装置,其特征在于,包括:
识别模块,被配置为对接收的交易请求进行异常交易识别,判断所述交易请求是否为异常交易请求;
分组模块,被配置为利用预定的交易分组规则对所述异常交易请求执行分组操作,将属于同一类别的所述异常交易请求划分到同一异常交易分组内;
设置模块,被配置为对每个所述异常交易分组分别设置相应的交易请求分组处理策略,并为每个所述异常交易分组分配单独的线程池;
处理模块,被配置为依据所述交易请求分组处理策略,利用所述异常交易分组对应的线程池对所述异常交易分组内的所述异常交易请求进行处理。
9.一种电子设备,包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310029562.8A CN116028225A (zh) | 2023-01-09 | 2023-01-09 | 交易请求分组处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310029562.8A CN116028225A (zh) | 2023-01-09 | 2023-01-09 | 交易请求分组处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116028225A true CN116028225A (zh) | 2023-04-28 |
Family
ID=86079157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310029562.8A Pending CN116028225A (zh) | 2023-01-09 | 2023-01-09 | 交易请求分组处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116028225A (zh) |
-
2023
- 2023-01-09 CN CN202310029562.8A patent/CN116028225A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
RU2419986C2 (ru) | Объединение многострочных протокольных вхождений | |
CN104869155B (zh) | 数据审计方法及装置 | |
CN105468619B (zh) | 用于数据库连接池的资源分配方法和装置 | |
EP2713270A1 (en) | Resource scheduling method and device | |
CN113765980A (zh) | 一种限流方法、装置、系统、服务器和存储介质 | |
CN113067875B (zh) | 基于微服务网关动态流控的访问方法和装置以及设备 | |
CN109271243A (zh) | 一种集群任务管理系统 | |
CN111490890A (zh) | 基于微服务架构的分级注册方法、装置、存储介质及设备 | |
CN110503297B (zh) | 业务场景获取方法、装置、电子设备及介质 | |
CN111258760A (zh) | 一种平台管理方法、系统、装置及存储介质 | |
CN113422808B (zh) | 物联网平台http信息推送方法、系统、装置及介质 | |
US6157617A (en) | Method and system of network packet accounting | |
CN111597041B (zh) | 一种分布式系统的调用方法、装置、终端设备及服务器 | |
CN106201711B (zh) | 一种任务处理方法及服务器 | |
CN116028225A (zh) | 交易请求分组处理方法、装置、电子设备及存储介质 | |
CN112286930A (zh) | redis业务方资源共享的方法、装置、存储介质及电子设备 | |
CN115086299B (zh) | 文件下载方法、装置、设备、介质和程序产品 | |
CN107508765B (zh) | 一种消息处理方法及设备 | |
EP4357931A1 (en) | Shard adjustment method and apparatus for time series database, device, and readable storage medium | |
CN115580618A (zh) | 一种负载均衡方法、装置、设备及介质 | |
CN114185681A (zh) | 一种自动化限流处理方法及装置 | |
CN115701145A (zh) | 流量管理方法、装置、设备及计算机可读存储介质 | |
CN108255825A (zh) | 用于动态分配数据库连接的方法和装置 | |
CN112148508A (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 |