CN112925639B - 一种自适应交易限流方法、装置及系统 - Google Patents
一种自适应交易限流方法、装置及系统 Download PDFInfo
- Publication number
- CN112925639B CN112925639B CN202110183737.1A CN202110183737A CN112925639B CN 112925639 B CN112925639 B CN 112925639B CN 202110183737 A CN202110183737 A CN 202110183737A CN 112925639 B CN112925639 B CN 112925639B
- Authority
- CN
- China
- Prior art keywords
- transaction
- amount
- limit
- concurrent
- value
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 53
- 238000012545 processing Methods 0.000 claims abstract description 77
- 230000015654 memory Effects 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 12
- 239000000203 mixture Substances 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 230000001186 cumulative effect Effects 0.000 claims description 2
- 238000012546 transfer Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computational Mathematics (AREA)
- Quality & Reliability (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Probability & Statistics with Applications (AREA)
- Operations Research (AREA)
- Evolutionary Biology (AREA)
- Algebra (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer And Data Communications (AREA)
Abstract
本文提供了一种自适应交易限流方法、装置及系统,其中,自适应交易限流方法包括:采集预定时间段内各交易处理模块的交易日志数据;根据采集的交易日志数据及预先确定的各单一交易的极限并发交易量,确定交易混合请求场景中各交易的极限并发交易量;根据交易混合请求场景中各交易的极限并发交易量,确定各交易的限流值;将各交易的限流值发送至交易处理模块,以使所述交易处理模块根据各交易的限流值进行交易限流。本文能够实现交易限流值的动态配置,提高交易限流值配置的合理性及精确性。同时,还可以提高系统自配置能力,降低人力投入,从而有效降低整体运营成本。
Description
技术领域
本文涉及计算机软件系统性能管理领域,尤其涉及一种自适应交易限流方法、装置及系统。
背景技术
软件系统部署上线后,受制于硬件和网络环境等限制,其性能往往是存在上限的。为防止来自真实业务的请求压力大于软件系统性能上限,一般在软件系统中都存在交易管控机制。
当前业界主流的交易管控方案为基于单一交易限制单位时间内请求量,通过静态配置管理实现,其中,单位时间例如为1分钟,1秒钟等,可根据需求进行设定。此种方式下,各交易限流值彼此独立,在真实应用场景下,会存在业务繁忙时段,业务繁忙时段将会出现多客户同时发出交易的情况,且各交易并不相同,例如,在某时间点,A客户做登录,B客户做转账,C客户做账户查询,那么对于交易系统来说,同一时间就需要处理登录、转账、查询等多类交易的混合请求。在大量客户多类交易混合请求时,很难对每一交易的限流值进行合理配置,且静态配置对于实时变化的交易情况,很难做到精确合理。
发明内容
本文用于解决现有技术中,交易管控方案将单一交易限制单位时间内请求量作为各交易的限流值,该种方式中各交易限流值静态配置且彼此独立,仅适用于同一时间请求一类交易的情况,并不适用于大量用户对多类交易同时请求的场景,因此,静态配置交易限流量的方式存在不合理及不精确的问题。
为了解决上述技术问题,本文的第一方面提供一种自适应交易限流方法,包括:
采集预定时间段内各交易处理模块的交易日志数据;
根据采集的交易日志数据及预先确定的各单一交易的极限并发交易量,确定交易混合请求场景中各交易的极限并发交易量;
根据交易混合请求场景中各交易的极限并发交易量,确定各交易的限流值;
将各交易的限流值发送至交易处理模块,以使所述交易处理模块根据各交易的限流值进行交易限流。
本文进一步实施例中,根据采集的交易日志数据及预先确定的各单一交易的极限并发交易量,确定交易混合请求场景中各交易的极限并发交易量,包括:
根据采集的交易日志数据,计算交易混合请求场景中各交易量占比分布;
根据交易混合请求场景中各交易量占比分布及预先确定的各单一交易的极限并发交易量,计算交易混合请求场景中各交易的极限并发交易量。
本文进一步实施例中,根据交易混合请求场景中各交易量占比分布及预先确定的各单一交易的极限并发交易量,计算交易混合请求场景中各交易的极限并发交易量,包括利用如下公式计算交易混合请求场景中各交易的极限并发交易量:
其中,QT为交易混合请求场景中交易T的并发交易量,PT为交易T在交易混合请求场景中的占比,n为交易种类,Pi为交易i在交易混合请求场景中的占比,Mi为单一交易i的极限并发交易量。
本文进一步实施例中,根据交易混合请求场景中各交易的极限并发交易量,确定各交易的限流值,包括:
将交易混合请求场景中各交易的极限并发交易量作为各交易的限流值;或
将交易混合请求场景中各交易的极限并发交易量乘以系统性能阈值所得量作为各交易的限流值。
本文进一步实施例中,所述系统性能阈值计算过程包括:
采集预定时间段内系统性能数据;
计算系统性能数据的均值;
根据系统性能数据的均值,确定系统性能的期望值;
根据所述系统性能的期望值及累计泊松分布,计算系统性能阈值。
本文进一步实施例中,根据所述系统性能的期望值及累计泊松分布,计算系统性能阈值,包括利用如下公式计算系统性能阈值:
a<F(Pr,μ)<1;
其中,F为累计泊松分布概率,Pr为系统性能阈值,μ为系统性能期望值,a为置信区间值,k为次数。
本文进一步实施例中,自适应交易限流方法还包括:
根据采集的交易日志数据,计算客户的交易画像;
根据所述客户的交易画像,确定所述客户的服务限制信息;
将所述客户的服务限制信息发送至交易处理模块,以使所述交易处理模块根据各交易的限流值及所述客户的服务限制信息进行交易限流。
本文进一步实施例中,自适应交易限流方法还包括:
对于达到限流值的交易,判断该交易的实时性等级;
若实时性等级大于预定值,则将该交易的交易请求转发至空闲交易处理模块;
若实时性等级小于或等于预定值,则返回提示信息至客户。
本文的第二方面提供一种自适应交易限流装置,包括:
数据采集模块,用于采集预定时间段内各交易处理模块的交易日志数据;
数据计算模块,用于根据采集的交易日志数据及预先确定的各单一交易的极限并发交易量,确定交易混合请求场景中各交易的极限并发交易量;
限流配置模块,用于根据交易混合请求场景中各交易的极限并发交易量,确定各交易的限流值;将各交易的限流值发送至交易处理模块,以使所述交易处理模块根据各交易的限流值进行交易限流。
本文的第三方面提供一种自适应交易限流系统,包括:网关、交易处理装置及自适应交易限流装置;
所述网关连接所述交易处理装置及所述自适应交易限流装置,用于接收各交易的限流值,根据各交易的限流值生成限流策略,将所述限流策略发送至所述交易处理装置;
所述交易处理装置用于根据限流策略进行交易限流;
所述自适应交易限流装置连接所述交易处理装置,用于从所述交易处理装置处采集交易日志数据;根据采集的交易日志数据及预先确定的各单一交易的极限并发交易量,确定交易混合请求场景中各交易的极限并发交易量;根据交易混合请求场景中各交易的极限并发交易量,确定各交易的限流值;将各交易的限流值发送至所述网关。
本文的第四方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述任一实施例所述的自适应交易限流方法。
本文的第五方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行计算机程序,所述计算机程序被处理器执行时实现前述任一实施例所述的自适应交易限流方法。
本文提供的自适应交易限流方法、装置及系统,通过根据预定时间段内采集的交易日志数据及预先确定的各单一交易的极限并发交易量,确定系统性能达到极限时交易混合请求场景中各交易的极限并发交易量,根据交易混合请求场景中各交易的极限并发交易量,确定各交易的限流值,能够实现交易限流值的动态配置,提高交易限流值配置的合理性及精确性。同时,还可以提高系统自配置能力,降低人力投入,从而有效降低整体运营成本。
为让本文的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本文实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本文的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本文实施例自适应交易限流方法的第一流程图;
图2示出了本文实施例系统性能阈值计算过程的流程图;
图3示出了本文实施例计算各交易并发交易量过程的流程图;
图4示出了本文实施例自适应交易限流方法的第二流程图;
图5示出了本文实施例自适应交易限流方法的第三流程图;
图6示出了本文实施例自适应交易限流方法装置的结构图;
图7示出了本文实施例自适应交易限流系统的结构图;
图8示出了本文实施例自适应交易限流系统的交互图;
图9示出了本文实施例计算机设备的结构图。
附图符号说明:
600、自适应交易限流装置;
700、交易处理装置;
800、网关;
610、数据采集模块;
620、数据计算模块;
630、限流配置模块;
640、统计模块;
902、计算机设备;
904、处理器;
906、存储器;
908、驱动机构;
910、输入/输出模块;
912、输入设备;
914、输出设备;
916、呈现设备;
918、图形用户接口;
920、网络接口;
922、通信链路;
924、通信总线。
具体实施方式
下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。
现有技术中,常见的B/S(Browser/Server,浏览器/服务器)、C/S(Client/Server,客户/服务器)架构软件系统(包括但不限于银行软件系统、金融领域软件系统等),均采用交易方式实现业务逻辑。如下实施例中,如不做具体说明,系统均至B/S、C/S等架构的软件系统,系统性能也指软件系统性能。
每一个交易均能够完成一个特定功能,且交易可以看作是软件系统实现某个功能的最小单位,使用一个特定的交易代码标识,并预先规定好交易上送数据及返回数据的格式。客户在使用系统时,前端页面或客户端将客户请求分解为具体交易,之后上送至服务器进行处理,服务器返回处理结果。其中,以银行交易系统为例,客户请求为登录、转账等。每一客户请求可分解为一个或多个交易,以转账为例,转账请求在交易系统中可拆分为检查转出方可用余额、检查转入方账户状态、检查转入方账号与户名匹配、转出方余额扣减、转入方余额这五个交易。假设某系统交易代码清单如下表一所示。
表一
交易代码标识 | 交易功能 |
A | 检查转出方可用余额 |
B | 检查转入方账户状态 |
C | 出方余额扣减 |
D | 转入方余额增加 |
... | ... |
现有技术中,交易管控方案将单一交易限制单位时间内请求量作为各交易的限流值,该种方式中各交易限流值静态配置且彼此独立,仅适用于同一时间请求一类交易的情况,并不适用于大量用户对多类交易同时请求的场景(即混合交易场景),因此,静态配置交易限流量的方式存在不合理及不精确的问题。
为了解决上述技术问题,本文一实施例中,提供一种自适应交易限流方法,如图1所示,自适应交易限流方法包括:
步骤110,采集预定时间段内各交易处理模块的交易日志数据。
本步骤中,可主动从交易处理模块中采集交易日志数据,或由交易处理模块主动上传交易日志数据,本文对具体采集形式不做限定。预定时间段例如为N个单位时间,N的个数可视具体需求进行设定,单位时间例如为10秒、1分钟、5分钟等。交易处理模块设置于计算节点(为集群服务模式)中,用于处理交易。交易日志数据为处理交易过程中产生的数据,包括但不限于交易时间和交易代码标识等。
步骤120,根据采集的交易日志数据及预先确定的各单一交易的极限并发交易量,确定交易混合请求场景中各交易的极限并发交易量。
本步骤中,单一交易的极限并发交易量通过压力测试确定,单一交易的极限并发交易量指的是系统中仅有单一交易T时,在系统资源耗尽时每秒交易量,记为MT=N。对系统中所有交易进行压力测试后,得到各单一交易的极限并发交易量,记录于表二中。
表二
交易代码标识 | 单一交易的极限并发交易量 |
A | MA |
B | MB |
C | MC |
D | MD |
... | ... |
本文所述的交易混合请求场景指的是符合实际情况的同时发出多类交易请求的场景,例如在同一时间点,A用户做登录,B用户做转账,C用户做账户查询等。交易混合请求场景中各交易的极限并发交易量,指的是在当前交易分布情况下,系统性能达到极限时各交易的极限并发交易量。
本步骤考虑了多类交易并发处理占用系统性能的情况,能够得到符合实际情况的真实并发交易量。
步骤130,根据交易混合请求场景中各交易的极限并发交易量,确定各交易的限流值。
本步骤中,可将交易混合请求场景中各交易的极限并发交易量作为各交易的限流值。具体实施时,考虑到系统运行时,一般都会留一定性能冗余,不可将性能容量用尽,因此,还可将交易混合请求场景中各交易的极限并发交易量乘以系统性能阈值所得量作为各交易的限流值。各交易限流值可记录于如下表三中。
表三
交易代码标识 | 限流值 |
A | QA |
B | QB |
C | QC |
D | QD |
... | ... |
其中,系统性能阈值可根据当前交易情况实时计算,一般交易情况具有一定的随机性,基本服从泊松分布,因此,可利用泊松分布确定系统性能阈值。具体的,如图2所示,系统性能阈值计算过程包括:
步骤210,采集预定时间段内系统性能数据。
本步骤中,例如采集前N分钟的系统性能数据,且每分钟采集一次系统性能数据,则可以得到系统性能数据L1,L2,L3...LN。系统性能数据指的是一个百分比数据,极限值为1(即100%),其组成要素包括CPU、内存、网络带宽等系统资源使用率,根据应用特性,可调整不同要素的权重。例如计算密集型的应用,可以令CPU使用率权重为1,其他要素权重为0。又例如大数据量计算密集型应用,可令CPU使用率权重0.6,内存使用率权重0.4。
步骤220,计算系统性能数据的均值。
本步骤中,可采用如下公式(1)计算系统性能的均值:
其中,为系统性能均值,N为系统性能数据总量,Li为第i个系统性能数据。
步骤230,根据系统性能数据的均值,确定系统性能的期望值。
本步骤中,可将系统性能的期望值设置为10倍性能均值向上取整,如下公式所示:其中,μ为系统性能的期望值,为向上取整。
此处10倍取整的意义即将系统性能值划分为0-0.1,0.1-0.2,...0.9-1这十个区间。具体实施时,还可将系统性能值划分为更多个区间,本文对此不作具体限定。
步骤240,根据系统性能的期望值及累计泊松分布,计算系统性能阈值。其中,应用于系统性能预测的累计泊松分布概率公式(2)为:
其中,F为累计泊松分布概率,μ为系统性能期望值,k为次数,Pr为系统性能阈值,Pr意义在于根据近一段时间的系统性能情况,预测的未来一段时间内系统性能可能达到的最大值。
具体实施时,可通过设置如下置信区间的方式,确定Pr的取值:
a<F(Pr,μ)<1 (3)
其中,a为置信区间,取值范围为[0,1],即预测未来系统性能极限有a*100%可能性小于Pr。a的取值可根据实际情况确定,本文对其具体取值不做限定。一具体实施方式中,a的取值例如为0.9。
步骤140,将各交易的限流值发送至交易处理模块,以使所述交易处理模块根据各交易的限流值进行交易限流。
本步骤中,可直接将交易限流值发送至交易处理模块,或将交易限流值先发送至限流配置模块,由限流配置模块根据交易的限流值生成限流政策(限流政策中规定了交易的限流值,例如为限流值参数表),并将限流政策发送至交易处理模块。交易处理模块按照最近接到的限流政策进行交易限流。交易处理模块部署于计算节点中,计算节点为集群式服务模式,包括但先不限于计算机设备、服务器等。各计算节点中存储的交易的限流值相同,因计算节点的负载均衡机制,可以保证各计算节点的负载大致相等。
本实施例实施时,步骤110可由数据采集模块实现,步骤120及步骤130可由数据处理模块实现,步骤140可由限流配置模块实现,其中,数据采集模块及数据处理模块配置于各计算节点中,限流配置模块配置于网关中,如图7所示。
本实施例通过根据预定时间段内采集的交易日志数据及预先确定的各单一交易的极限并发交易量,确定交易混合请求场景中各交易的极限并发交易量,根据交易混合请求场景中各交易的极限并发交易量,确定各交易的限流值,能够实现交易限流值的动态配置,提高交易限流值配置的合理性及精确性。同时,还可以提高系统自配置能力,降低人力投入,从而有效降低整体运营成本。
本文进一步实施例中,考虑到交易混合请求场景中各交易量占比分布会随着时间变化,为了保证计算出的各交易限流值的有效性,每间隔预定时间间隔,例如每隔N个单位时间间隔,重复上述步骤110至步骤140,以重新确定各交易的限流值,从而持续更新限流值配置。
本文进一步实施例中,如图3所示,上述步骤120根据采集的交易日志数据及预先确定的各单一交易的极限并发交易量,确定交易混合请求场景中各交易的极限并发交易量,包括:
步骤310,根据采集的交易日志数据,计算交易混合请求场景中各交易量占比分布。
本步骤中,采集的交易日志数据可以为系统上线运行一段时间(例如一周、一个月等)后N个单位时间产生的数据,在系统上线一段时间内,暂不对交易进行限流配置。
根据采集的交易日志数据,统计每一交易T的交易总量ST,统计得到各交易的交易总量ST之后,利用如下公式计算每一交易T的交易量占比PT:
其中,PT为每一交易T的交易量占(即交易T在交易混合请求场景中的占比),ST为每一交易T的交易总量,n为交易种类总数,为所有交易的交易总量的和,例如系统中一共有A、B、C、D四种交易,则为SA+SB+SC+SD。本文中的每一交易T指的是每类交易T,不是每个交易。
据此生成交易量占比分布表如表四。
表四
交易代码标识 | 交易量占比 |
A | PA |
B | PB |
C | PC |
D | PD |
... | ... |
步骤320,根据交易混合请求场景中各交易量占比分布及预先确定的各单一交易的极限并发交易量,计算交易混合请求场景中各交易的极限并发交易量。
一具体实施方式中,利用如下公式计算交易混合请求场景中各交易的极限并发交易量:
其中,QT为交易混合请求场景中交易T的并发交易量,PT为交易T在交易混合请求场景中的占比,n为交易种类,Pi为交易i在交易混合请求场景中的占比,Mi为单一交易i的极限并发交易量。
公式(5)的含义为:在当前交易量占比分布下,系统性能达到极限时,各交易的极限并发交易量。
的含义为:对每一交易,计算其交易量占比与极限并发交易量的比值后,进行求和。
上述计算交易混合请求场景中各交易的极限并发交易量公式的具体推导包括:
(1)根据上文对极限并发交易量的定义可知,在系统中仅有交易T时,全部系统性能可支撑交易量为MT,设全部系统性能容量为1,则单笔交易T的系统资源消耗为1/MT。
(2)假设在真实环境,多交易混合情况下,系统性能到达极限时的总交易量为Q,那么根据交易量占比分布表,此时针对任一交易T,其交易量即为Q×PT,因此交易T对系统整体性能的消耗为Q×PT/MT。
(3)由于全部系统性能容量为1,因此对所有交易系统性能消耗求和,其和应为1,即可以得到如下公式:
根据上述公式(6),经过变换之后,可以得到Q的计算公式为:
此时再根据交易占比,即可计算出每个交易在当前交易占比分布情况下,系统性能达到极限时的交易量即为:
本文一实施例中,除了从系统性能方面对交易量进行限流外,还可从客户交易画像方面对交易量进行限流,从而实现精准限流。具体的,如图4所示,自适应交易限流方法除了包括上述步骤110至步骤140外,还包括:
步骤410,根据交易日志数据,计算客户的交易画像。
本步骤中,客户的交易画像包括但不限于客户的交易频率、交易行为、各类交易量等,凡是能够表示客户特性的参数均属于本文所述的客户的交易画像。
步骤420,根据客户的交易画像,确定客户的服务限制信息。
本步骤中,客户的服务限制信息包括:客户服务限流、客户服务等级等。本文对客户的服务限制信息的具体表现形式不做限定。
步骤430,将客户的服务限制信息发送至交易处理模块,以使交易处理模块根据各交易的限流值及客户的服务限制信息进行交易限流。
本实施例具体实施时,上述步骤410及步骤430可执行于网关中的计算器中。
本实施例将系统性能方面限流与客户维度方面限流相结合,能够防止系统性能崩溃,还可以防止单一客户因异常或恶意攻击占用大量系统资源,挤占其他客户资源的发生。
为了避免某些计算节点中的交易已达到限流值而无法即时处理的情况发生,本文一实施例中,如图5所示,除了包括上述步骤110至步骤140以及步骤410至步骤430外,自适应交易限流方法还包括:
步骤510,对于达到限流值的交易,判断该交易的实时性等级。
若实时性等级大于预定值,说明该交易对实时性要求较高,则执行步骤520。若实时性等级小于或等于预定值,说明该交易对实时性要求较低,则执行步骤530。
具体的,对于实时性要求的判断主要是业务层面的判断,可从客户体验角度判断实现。客户期待值越低的交易,实时性等级也越低,例如查询历史账单、历史交易明细等,由于数据量较大,客户本就不期待立刻返回结果。反之,客户期待值越高的交易,实时性等级也越高,例如对于转账等资金敏感交易,客户期待指令下达后立刻得到结果,此即实时性要求较高的交易。
本步骤中,可由交易处理模块在交易达到限流值时通知网关,交易已达到限流值,网关可依据交易的性质继续实时性等级分析。
步骤520,将该交易的交易请求转发至空闲计算节点。
本步骤中,可由网关先将交易请求发送至外部缓存队列中(kafka、RabbitMQ),待后续分配给其他计算节点处理,以削峰填谷的方式降低系统瞬时压力。
步骤530,返回提示信息至客户。其中,提示信息用户提示客户稍后重试。
本文进一步实施例中,为了避免出现系统资源持续紧张的问题,采集交易日志数据的同时,还采集各应用服务器和数据库服务器的系统系统性能数据,若持续一定时间段内全部应用服务器的性能资源占用率大于一定阈值(例如CPU使用率高于80%),但数据库服务器尚有冗余时,利用Kubernetes等编排管理工具提供的动态扩缩能力,动态对应用服务器实施扩容。在持续观察到全部应用服务器性能资源空闲时,动态对应用服务器实施缩容。
本文提供的自适应交易限流方法,由于各交易限流值由当前交易占比分布实时计算得出,因此能够最大化提高系统整体交易处理能力,不会因为个别交易触发限流后,影响其他相关交易进行,导致系统整体性能没有得到有效利用。同时,由于数据持续收集,持续计算,配置实时更新,因此限流机制能够符合当前交易整体情况,最大化利用系统资源。另外,还免去人工采集数据和维护系统参数的工作,降低人力投入,结合以上两个优点,预期整体运营成本可以得到有效降低。
基于同一发明构思,本文还提供一种自适应交易限流装置,如下面的实施例所述。由于自适应交易限流装置解决问题的原理与自适应交易限流方法相似,因此自适应交易限流装置的实施可以参见自适应交易限流方法,重复之处不再赘述。
本实施例提供的自适应交易限流装置包括多个功能模块,均可以由专用或者通用芯片实现,还可以通过软件程序实现,本文对此不作限定。如图6所示,自适应交易限流装置600包括:
数据采集模块610,用于采集预定时间段内各交易处理模块的交易日志数据;
数据计算模块620,用于根据采集的交易日志数据及预先确定的各单一交易的极限并发交易量,确定交易混合请求场景中各交易的极限并发交易量;根据交易混合请求场景中各交易的极限并发交易量,确定各交易的限流值;
限流配置模块630,用于将各交易的限流值发送至交易处理模块,以使所述交易处理模块根据各交易的限流值进行交易限流。
具体实施时,数据采集模块610及数据计算模块620可设置于计算节点中,限流配置模块630设置于网关中,限流配置模块630接收数据计算模块620发送的各交易的限流值,根据交易的限流值生成限流政策(限流政策中规定了交易的限流值,例如为限流值参数表),并将限流政策发送至交易处理模块,交易处理模块按照最近接到的限流政策进行交易限流。
进一步实施例中,还包括:统计模块640,用于根据交易日志数据,计算客户的交易画像;根据客户的交易画像,确定客户的服务限制信息;将客户的服务限制信息发送至交易处理模块,以使交易处理模块根据各交易的限流值及所述客户的服务限制信息进行交易限流。
本文进一步实施例中,还提供一种自适应交易限流系统,如图6及图7所示,自适应交易限流系统包括:网关800、交易处理装置700及自适应交易限流装置600。
网关800连接交易处理装置700及自适应交易限流装置600,用于接收各交易的限流值,根据各交易的限流值生成限流策略,将限流策略发送至交易处理装置700。
交易处理装置700用于根据限流策略进行交易限流。
自适应交易限流装置600连接交易处理装置700,用于从交易处理装置700处采集交易日志数据;根据采集的交易日志数据及预先确定的各单一交易的极限并发交易量,确定系统性能达到极限时交易混合请求场景中各交易的极限并发交易量;根据交易混合请求场景中各交易的极限并发交易量,确定各交易的限流值;将各交易的限流值发送至网关800。
本实施例提供的自适应交易限流系统通过根据预定时间段内采集的交易日志数据及预先确定的各单一交易的极限并发交易量,确定系统性能达到极限时交易混合请求场景中各交易的极限并发交易量,根据交易混合请求场景中各交易的极限并发交易量,确定各交易的限流值,能够实现交易限流值的动态配置,提高交易限流值配置的合理性及精确性。同时,还可以提高系统自配置能力,降低人力投入,从而有效降低整体运营成本。
为了更清楚说明本文技术方案,下面以一具体实施例详细说明自适应交易限流系统的交互过程,具体的,如图8所示,包括:
步骤810,交易处理装置将产生的交易日志数据发送至自适应交易限流装置。
步骤820,自适应交易限流装置根据预定时间段内的交易日志数据,计算交易混合请求场景中各交易量占比分布。
步骤830,自适应交易限流装置根据交易混合请求场景中各交易量占比分布及预先确定的各单一交易的极限并发交易量,采用如下公式计算交易混合请求场景中各交易的极限并发交易量:
其中,QT为交易混合请求场景中交易T的并发交易量,PT为交易T在交易混合请求场景中的占比,n为交易种类,Pi为交易i在交易混合请求场景中的占比,Mi为单一交易i的极限并发交易量。
根据交易混合请求场景中各交易的极限并发交易量利用如下公式计算交易的限流值,并计算结果发送至网关:
其中,QT’为交易混合请求场景中交易T的并发交易量,Pr为系统性能阈值,PT为交易T在交易混合请求场景中的占比,n为交易种类,Pi为交易i在交易混合请求场景中的占比,Mi为单一交易i的极限并发交易量。
步骤840,网关根据各交易的限流值及统计得到的客户画像信息生成限流策略,将限流策略发送至各交易处理装置。
步骤850,各交易处理装置根据限流策略进行交易限流。
步骤860,交易处理装置在某交易A达到限流值时,则将交易A的交易请求发送至网关。
步骤870,网关判断交易A的实时性等级,若实时性等级大于预定值,则将交易A的交易请求转发至空闲交易处理装置处理,若实时性等级小于预定值,则向客户发出提示信息。
本文一实施例中,还提供一种计算机设备,如图9所示,计算机设备902可以包括一个或多个处理器904,诸如一个或多个中央处理单元(CPU),每个处理单元可以实现一个或多个硬件线程。计算机设备902还可以包括任何存储器906,其用于存储诸如代码、设置、数据等之类的任何种类的信息。具体的,存储器906中存储有上述任一实施例所述的自适应交易限流方法。非限制性的,比如,存储器906可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备902的固定或可移除部件。在一种情况下,当处理器904执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备902可以执行相关联指令的任一操作。计算机设备902还包括用于与任何存储器交互的一个或多个驱动机构908,诸如硬盘驱动机构、光盘驱动机构等。
计算机设备902还可以包括输入/输出模块910(I/O),其用于接收各种输入(经由输入设备912)和用于提供各种输出(经由输出设备914))。一个具体输出机构可以包括呈现设备916和相关联的图形用户接口918(GUI)。在其他实施例中,还可以不包括输入/输出模块910(I/O)、输入设备912以及输出设备914,仅作为网络中的一台计算机设备。计算机设备902还可以包括一个或多个网络接口920,其用于经由一个或多个通信链路922与其他设备交换数据。一个或多个通信总线924将上文所描述的部件耦合在一起。
通信链路922可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路922可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
本文一实施例中,还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行计算机程序,所述计算机程序被处理器执行时实现前述任一实施例所述的自适应交易限流方法。
本文一实施例中,还提供一种计算机可读指令,其中当处理器执行所述指令时,其中的程序使得处理器执行前述任一实施例所述的自适应交易限流方法。
应理解,在本文的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本文实施例的实施过程构成任何限定。
还应理解,在本文实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本文的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本文所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本文实施例方案的目的。
另外,在本文各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本文的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本文各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本文中应用了具体实施例对本文的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本文的方法及其核心思想;同时,对于本领域的一般技术人员,依据本文的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本文的限制。
Claims (10)
1.一种自适应交易限流方法,其特征在于,包括:
采集预定时间段内各交易处理模块的交易日志数据;
根据采集的交易日志数据及预先确定的各单一交易的极限并发交易量,确定交易混合请求场景中各交易的极限并发交易量;
根据交易混合请求场景中各交易的极限并发交易量,确定各交易的限流值;
将各交易的限流值发送至交易处理模块,以使所述交易处理模块根据各交易的限流值进行交易限流;
根据采集的交易日志数据及预先确定的各单一交易的极限并发交易量,确定交易混合请求场景中各交易的极限并发交易量,包括:
根据采集的交易日志数据,计算交易混合请求场景中各交易量占比分布;
根据交易混合请求场景中各交易量占比分布及预先确定的各单一交易的极限并发交易量,利用如下公式计算交易混合请求场景中各交易的极限并发交易量:
其中,QT为交易混合请求场景中交易T的并发交易量,PT为交易T在交易混合请求场景中的占比,n为交易种类,Pi为交易i在交易混合请求场景中的占比,Mi为单一交易i的极限并发交易量。
2.如权利要求1所述的自适应交易限流方法,其特征在于,根据交易混合请求场景中各交易的极限并发交易量,确定各交易的限流值,包括:
将交易混合请求场景中各交易的极限并发交易量作为各交易的限流值;或
将交易混合请求场景中各交易的极限并发交易量乘以系统性能阈值所得量作为各交易的限流值。
3.如权利要求2所述的自适应交易限流方法,其特征在于,所述系统性能阈值计算过程包括:
采集预定时间段内系统性能数据;
计算系统性能数据的均值;
根据系统性能数据的均值,确定系统性能的期望值;
根据所述系统性能的期望值及累计泊松分布,计算系统性能阈值。
4.如权利要求3所述的自适应交易限流方法,其特征在于,根据所述系统性能的期望值及累计泊松分布,计算系统性能阈值,包括利用如下公式计算系统性能阈值:
a<F(Pr,μ)<1;
其中,F为累计泊松分布概率,Pr为系统性能阈值,μ为系统性能期望值,a为置信区间值,k为次数。
5.如权利要求1所述的自适应交易限流方法,其特征在于,还包括:
根据采集的交易日志数据,计算客户的交易画像;
根据所述客户的交易画像,确定所述客户的服务限制信息;
将所述客户的服务限制信息发送至交易处理模块,以使所述交易处理模块根据各交易的限流值及所述客户的服务限制信息进行交易限流。
6.如权利要求1所述的自适应交易限流方法,其特征在于,还包括:
对于达到限流值的交易,判断该交易的实时性等级;
若实时性等级大于预定值,则将该交易的交易请求转发至空闲交易处理模块;
若实时性等级小于或等于预定值,则返回提示信息至客户。
7.一种自适应交易限流装置,其特征在于,包括:
数据采集模块,用于采集预定时间段内各交易处理模块的交易日志数据;
数据计算模块,用于根据采集的交易日志数据及预先确定的各单一交易的极限并发交易量,确定交易混合请求场景中各交易的极限并发交易量;
限流配置模块,用于根据交易混合请求场景中各交易的极限并发交易量,确定各交易的限流值;将各交易的限流值发送至交易处理模块,以使所述交易处理模块根据各交易的限流值进行交易限流;
根据采集的交易日志数据及预先确定的各单一交易的极限并发交易量,确定交易混合请求场景中各交易的极限并发交易量,包括:
根据采集的交易日志数据,计算交易混合请求场景中各交易量占比分布;
根据交易混合请求场景中各交易量占比分布及预先确定的各单一交易的极限并发交易量,利用如下公式计算交易混合请求场景中各交易的极限并发交易量:
其中,QT为交易混合请求场景中交易T的并发交易量,PT为交易T在交易混合请求场景中的占比,n为交易种类,Pi为交易i在交易混合请求场景中的占比,Mi为单一交易i的极限并发交易量。
8.一种自适应交易限流系统,其特征在于,包括:网关、交易处理装置及自适应交易限流装置;
所述网关连接所述交易处理装置及所述自适应交易限流装置,用于接收各交易的限流值,根据各交易的限流值生成限流策略,将所述限流策略发送至所述交易处理装置;
所述交易处理装置用于根据限流策略进行交易限流;
所述自适应交易限流装置连接所述交易处理装置,用于从所述交易处理装置处采集交易日志数据;根据采集的交易日志数据及预先确定的各单一交易的极限并发交易量,确定交易混合请求场景中各交易的极限并发交易量;根据交易混合请求场景中各交易的极限并发交易量,确定各交易的限流值;将各交易的限流值发送至所述网关;
根据采集的交易日志数据及预先确定的各单一交易的极限并发交易量,确定交易混合请求场景中各交易的极限并发交易量,包括:
根据采集的交易日志数据,计算交易混合请求场景中各交易量占比分布;
根据交易混合请求场景中各交易量占比分布及预先确定的各单一交易的极限并发交易量,利用如下公式计算交易混合请求场景中各交易的极限并发交易量:
其中,QT为交易混合请求场景中交易T的并发交易量,PT为交易T在交易混合请求场景中的占比,n为交易种类,Pi为交易i在交易混合请求场景中的占比,Mi为单一交易i的极限并发交易量。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述的自适应交易限流方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行计算机程序,所述计算机程序被处理器执行时实现权利要求1至6任一项所述的自适应交易限流方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110183737.1A CN112925639B (zh) | 2021-02-10 | 2021-02-10 | 一种自适应交易限流方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110183737.1A CN112925639B (zh) | 2021-02-10 | 2021-02-10 | 一种自适应交易限流方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112925639A CN112925639A (zh) | 2021-06-08 |
CN112925639B true CN112925639B (zh) | 2024-06-28 |
Family
ID=76171510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110183737.1A Active CN112925639B (zh) | 2021-02-10 | 2021-02-10 | 一种自适应交易限流方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112925639B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107592345A (zh) * | 2017-08-28 | 2018-01-16 | 中国工商银行股份有限公司 | 交易限流装置、方法及交易系统 |
CN107707488A (zh) * | 2017-10-25 | 2018-02-16 | 北京数码视讯支付技术有限公司 | 支付联机交易流量控制方法、限流服务端及客户端 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413416B (zh) * | 2019-07-31 | 2022-05-17 | 中国工商银行股份有限公司 | 一种分布式服务器的限流方法及装置 |
CN110401720B (zh) * | 2019-07-31 | 2022-08-30 | 中国工商银行股份有限公司 | 信息处理方法、装置、系统、应用服务器和介质 |
CN110830384B (zh) * | 2019-09-30 | 2023-04-18 | 浙江口碑网络技术有限公司 | 业务流量的限流方法、装置及系统 |
-
2021
- 2021-02-10 CN CN202110183737.1A patent/CN112925639B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107592345A (zh) * | 2017-08-28 | 2018-01-16 | 中国工商银行股份有限公司 | 交易限流装置、方法及交易系统 |
CN107707488A (zh) * | 2017-10-25 | 2018-02-16 | 北京数码视讯支付技术有限公司 | 支付联机交易流量控制方法、限流服务端及客户端 |
Also Published As
Publication number | Publication date |
---|---|
CN112925639A (zh) | 2021-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102144220B (zh) | 分布式数据处理系统 | |
EP3014804B1 (en) | Burst mode control | |
CN101576844A (zh) | 软件系统性能测试方法和系统 | |
CN111641563B (zh) | 基于分布式场景的流量自适应方法与系统 | |
US7600229B1 (en) | Methods and apparatus for load balancing processing of management information | |
CN116708450A (zh) | 负载均衡方法、装置、电子设备及计算机可读存储介质 | |
CN111858458A (zh) | 一种互联通道的调整方法、装置、系统、设备和介质 | |
CN113312359B (zh) | 一种分布式作业进度计算方法、装置和存储介质 | |
CN110956500A (zh) | 一种广告实时竞价系统中降低广告请求耗时的方法及系统 | |
CN113992586B (zh) | 流量控制方法、装置、计算机设备和存储介质 | |
CN112925639B (zh) | 一种自适应交易限流方法、装置及系统 | |
CN111858021B (zh) | 交易渠道选择方法、线上交易方法以及相关装置 | |
CN104270466B (zh) | 数据上报方法及相关设备 | |
CN116192849A (zh) | 一种异构加速板卡计算方法、装置、设备及介质 | |
CN113626283A (zh) | 一种分布式系统节点资源评估方法、装置 | |
CN113850661A (zh) | 支付路由方法、装置、计算机设备和存储介质 | |
CN112633866A (zh) | 一种支付运营方法、装置、电子设备及存储介质 | |
CN111913732A (zh) | 一种服务更新方法、装置及管理服务器、存储介质 | |
CN111367680A (zh) | 一种作业任务分配方法、装置、服务器、系统及存储介质 | |
CN112667392A (zh) | 云计算资源分配方法、装置、计算机设备和存储介质 | |
CN109062707A (zh) | 电子装置及其限制进程间通信的方法、存储介质 | |
CN111127210B (zh) | 一种业务处理方法及装置 | |
CN115442432B (zh) | 一种控制方法、装置、设备及存储介质 | |
CN110012053B (zh) | Soa系统架构下的系统调用方法、装置、设备及soa系统架构 | |
EP2166451A1 (en) | Distributed data processing system |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |