交易限流方法、装置、设备、存储介质和程序产品与流程

allin2024-08-09  110

1.本技术涉及信息安全
技术领域
:,特别是涉及一种交易限流方法、装置、设备、存储介质和程序产品。
背景技术
::2.随着互联网技术的不断发展,通过互联网来完成交易的用户数量也越来越多。当短时间内用户的交易请求提交的数量较大时,银行核心系统无法对大量的交易请求进行处理,因此需要对交易进行限流,保证银行核心系统的稳定运行。3.相关技术中,银行核心系统可以通过前端限流的方式对交易进行限流,该方式是银行核心系统拒绝执行超过自身容量范围的交易,阻止交易进入银行核心系统。4.因此,上述交易限流的方式中不够灵活,从而造成交易成功率低。技术实现要素:5.基于此,有必要针对上述技术问题,提供一种能够提高交易成功率的交易限流方法、装置、设备、计算机可读存储介质和程序产品。6.第一方面,本技术提供了一种交易限流方法,该方法包括:7.响应于多个交易的处理请求,确定各交易的交易类型,得到至少一个交易队列;每个交易队列对应一种交易类型;8.获取各交易队列的交易类型对应的令牌桶中当前的令牌数量;令牌桶中令牌的产生速率根据银行核心系统的交易容量确定;9.从各交易队列中确定与对应令牌桶中令牌数量相同的交易,获得待处理交易;10.通过各令牌桶中的令牌将待处理交易发送至银行核心系统;其中,每个交易对应一个令牌。11.在其中一个实施例中,确定各交易的交易类型,得到至少一个交易队列,包括:12.按照预设的交易类型对多个交易进行划分,得到每个交易的交易类型;13.将交易类型相同的交易的交易编号存储至对应交易队列,得到各交易队列。14.在其中一个实施例中,该方法还包括:15.将交易类型相同的交易的交易内容存储至预设数据库中的交易指令表中;每个交易类型对应一种交易指令表。16.在其中一个实施例中,从各交易队列中确定与对应令牌桶中令牌数量相同的交易,获得待处理交易,包括:17.从各交易队列中,获取与对应令牌桶中令牌数量相同的交易编号;18.根据获取的交易编号,从交易指令表中获取各交易编号对应的交易内容,得到待处理交易。19.在其中一个实施例中,获取各交易队列的交易类型对应的令牌桶中当前的令牌数量,包括:20.根据交易类型和扫描频率之间的映射关系,确定各交易队列的交易类型的扫描频率;21.按照扫描频率,对各交易队列的交易类型对应的令牌桶中的令牌进行扫描,得到扫描结果;22.根据扫描结果确定各令牌桶中当前的令牌数量。23.在其中一个实施例中,该方法还包括:24.获取银行核心系统反馈的失败代码;其中,失败代码表征银行核心系统的交易容量已溢满,且不同交易类型的交易容量溢满时交易代码时反馈接口不同;25.根据失败代码的反馈接口,确定交易容量溢满的交易类型的第一令牌桶和交易容量未溢满的交易类型的第二令牌桶;26.对第一令牌桶进行令牌产生速率降低处理,并对第二令牌桶进行令牌产生速率增加处理。27.在其中一个实施例中,对第一令牌桶进行令牌产生速率降低处理,包括:28.获取第一令牌桶的当前令牌产生速率,以及接收到失败代码时产生的失败交易数量;29.根据当前令牌产生速率和失败交易数量,确定第一令牌桶的第一调整令牌产生速率;第一调整令牌产生速率小于当前令牌产生速率。30.在其中一个实施例中,对第二令牌桶进行令牌产生速率增加处理,包括:31.获取第二令牌桶的初始令牌产生速率、当前时刻到初始时刻之间的间隔时长;初始时刻表征第二令牌桶初始产生令牌的时刻;32.根据初始令牌产生速率和间隔时长,确定第二令牌桶的第二调整令牌产生速率;第二调整令牌产生速率大于第二令牌的当前令牌产生速率。33.第二方面,本技术还提供了一种交易限流装置,该装置包括:34.第一确定模块,用于响应于多个交易的处理请求,确定各交易的交易类型,得到至少一个交易队列;每个交易队列对应一种交易类型;35.第一获取模块,用于获取各交易队列的交易类型对应的令牌桶中当前的令牌数量;令牌桶中令牌的产生速率根据银行核心系统的交易容量确定;36.第二获取模块,用于从各交易队列中确定与对应令牌桶中令牌数量相同的交易,获得待处理交易;37.发送模块,用于通过各令牌桶中的令牌将待处理交易发送至银行核心系统;其中,每个交易对应一个令牌。38.第三方面,本技术还提供了一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现第一方面方法实施例中的所有步骤。39.第四方面,本技术还提供了一种计算机可读存储介质。计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现第一方面方法实施例中的所有步骤。40.第五方面,本技术还提供了一种计算机程序产品。计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面方法实施例中的所有步骤。41.上述交易限流方法、装置、设备、存储介质和程序产品,该方法中响应于多个交易的处理请求,确定各交易的交易类型,得到至少一个交易队列,并获取各交易队列的交易类型对应的令牌桶中当前的令牌数量,然后从各交易队列中确定与对应令牌桶中令牌数量相同的交易,获得待处理交易,最后通过各令牌桶中的令牌将待处理交易发送至银行核心系统。该方法中,由于每个交易队列对应一种交易类型,从而可以方便的标记各交易的交易类型,避免在处理的过程中发生交易类型混乱的情况;同时,每个交易都对应一个令牌,一个令牌能够保证一个交易发送至银行核心系统,且令牌桶中令牌的产生速率可以根据银行核心系统的交易容量进行动态的进行调整,使得银行核心系统的交易容量一直处于未满的状态,可以灵活的对交易进行限流,提高交易成功率。附图说明42.图1为一个实施例中交易限流方法的应用环境图;43.图2为一个实施例中交易限流方法的流程示意图;44.图3为一个实施例中交易限流方法的流程示意图;45.图4为一个实施例中交易限流方法的流程示意图;46.图5为一个实施例中交易限流方法的流程示意图;47.图6为一个实施例中交易限流方法的流程示意图;48.图7为一个实施例中交易限流方法的流程示意图;49.图8为一个实施例中交易限流方法的流程示意图;50.图9为一个实施例中交易限流方法的流程示意图;51.图10为一个实施例中交易限流方法的流程示意图;52.图11为一个实施例中交易限流装置的结构框图;53.图12为一个实施例中计算机设备的内部结构图。具体实施方式54.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。55.需要说明的是,本公开的交易限流方法、装置、设备、存储介质和程序产品可以应用在信息安全领域,也可用于除信息安全领域外的其他
技术领域
:,本公开对交易限流方法、装置、设备、存储介质和程序产品的应用领域不做限定。56.本技术实施例提供的交易限流方法,可以应用于如图1所示的应用环境中。客户端与银行业中的计算机设备进行通信。银企系统和银行核心系统可以设置在银行端中的计算机设备上,且银企系统和银行核心系统可以运行在同一计算机设备上,也可以运行在银行端中的不同的计算机设备上,本技术实施例对此不作限定。其中,客户端和银行端的计算机设备均可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、智能电视和便携式可穿戴设备等等,便携式可穿戴设备可为智能手表、智能手环、头戴设备等。57.银行进行交易限流的目的是为了保证银行核心系统在系统性能容量范围内稳定运行,避免由于交易过多造成银行核心系统的崩塌。传统技术中,银行核心系统通过前端限流的方式达到对交易限流的目的。其中,前端限流具体是指对于超过一定并发量或者流量的交易将被拒绝执行,阻止交易流入到银行核心系统中。例如,前端限流可以通过控制传输控制协议(transmissioncontrolprotocol,tcp)连接的数量、程序后台执行任务的线程数量和并发参数来实现。另外,银行核心系统也可以通过后端限流的方式达到对交易限流的目的,当网银系统或者银企系统接收到客户端发送的交易请求后,对该交易进行处理,再将该交易提交给银行核心系统。在该过程中,网银系统或者银企系统通过控制交易提交速率,保证银行核心系统接收到的交易量不超过银行核心系统的系统性能容量,避免由于交易量超过系统性能容量而导致交易失败。当银企系统为异构系统或者银行核心系统本身的性能容量不清楚时,对交易的限流依赖于银行核心系统的历史数据中心的相关参数,维护过程中需要人工对其调整。同时由于客户端提交交易的速率和银行核心系统交易处理的交易速率存在差别,当在某一个时间段内,用户通过客户端同时提交大量的交易,交易量超过银行核心系统的限流阈值,使得大量交易由于限流而造成交易失败。58.首先,传统技术中银企系统作为企业和银行交互的渠道,通过接收客户的交易并将该交易提交到后台系统,扮演着网关的角色。银企系统同时服务大量的合作方企业,当其中某一个企业提交的交易未超过银行核心系统的限流阈值,但全局范围内提交到银企系统的不同企业的交易数量,很有可能因个别企业交易量较大从而超过银行核心系统的限流阈值,这样,本身交易量很小的企业的交易可能造成交易失败的情况,交易限流的准确率不高。其次,传统技术中在不同的交易时段内,客户的交易量会有所不同,部分时间段会产生巨量交易,且银行核心系统随着系统升级,在各个时间段,银行核心系统的容量也会不同。因此,需要有一种机制能动态调整限流策略。基于此,本技术提供一种交易限流方法、装置、设备、存储介质和程序产品,能够从不同用户以及不同的交易类型考虑,全局执行较优的限流策略,以及动态地调整交易限流,从而提高交易的成功率。59.下面以具体的实施例对本技术提供的交易限流方法进行说明。需要说明的是,下述实施例中的各方法步骤的执行主体从硬件角度讲实际为运行有银企系统的计算机设备,但为清楚示意,下述实施例中将以银企系统代称为执行主体进行说明。60.在一个实施例中,如图2所示,提供了一种交易限流方法,以该方法应用于图1中的银企系统为例进行说明,包括以下步骤:61.s201,响应于多个交易的处理请求,确定各交易的交易类型,得到至少一个交易队列;每个交易队列对应一种交易类型。62.其中,交易类型是指根据交易的不同性质进行分类,例如,交易类型可以是支付转账、账户查询、结售汇、理财和修改个人信息等。结售汇是指结汇与售汇业务,结汇指用户按照汇率将买进外汇和卖出外汇进行结清的过程,售汇是指是外汇指定银行将外汇卖给外汇使用者,并根据交易行为发生之日的人民币汇率收取等值人民币的行为,银行的结售汇是指银行为用户及其自身办理的结汇和售汇业务。63.在实际应用中,对于不同交易类型的业务是不同的子系统进行处理,例如,假设银企系统可以接受三种交易类型,这三种交易类型分别为支付转账pay、账户查询acctqry和结售汇fx,不同的用户均可以调用这三种交易,而银行核心系统中有3个银行核心子系统分别处理这三种交易类型。64.不同用户发送交易的处理请求的速度不同,假设有n个用户同时提交不同交易类型的交易,n个用户提交交易的处理请求的速度可以为s1,s2,…,sn,该交易的处理请求的速度单位为每秒交易数(transactionpersecond,tps)。需要说明的是,考虑到实际应用时不止存在网速差异,同一用户在发送不同类型交易时,其发送请求的速度也可以是不同的。65.对应地,银行核心系统在接收到用户端发送过程的交易处理请求后,不同的银行核心子系统在处理这些交易时,其限流阈值也不同,例如,支付转账对应子系统的限流阈值的每秒交易数(transactionpersecond,)是atps,账户查询对应子系统的限流阈值为btps,结售汇对应子系统的限流阈值为ctps。66.可选的,银企系统可以实时的接收多个用户的多个交易处理请求,或者,银企系统也可以按照预设的时间间隔周期性的接收多个用户的多个交易处理请求。根据多个交易的处理请求内容,可以确定每个交易的处理请求对应的交易类型。67.进一步的,为了方便记录各交易的交易类型,在银企系统中为同一种交易类型配置一个交易队列,每个交易类型对应一个交易队列,将同一种交易类型中的处理请求存储至对应的交易队列中。例如,支付转账类型对应a交易队列,当支付转账类型中的处理请求,将该交易内容存储至a交易队列中。68.可选地,每个交易队列中可以只存储交易的交易编号,且每个交易队列中的交易按照交易时间进行正序排列,对应交易队列中的交易编号按照先进先出(firstinputfirstoutput,fifo)的方式进行处理,交易队列可以由key-value类型的数据库进行存储,每个交易队列可以设置为无限大。例如,支付转账对应的交易队列为poolpay,账户查询对应的交易队列为poolacctqry,结售汇对应的交易队列为poolfx。69.s202,获取各交易队列的交易类型对应的令牌桶中当前的令牌数量;令牌桶中令牌的产生速率根据银行核心系统的交易容量确定。70.其中,令牌桶是指网络流量整形(trafficshaping)和速率限制(ratelimiting)中最常使用的一种算法。大小固定的令牌桶可自行以恒定的速率源源不断地产生令牌。如果令牌不被消耗,或令牌被消耗的速度小于产生的速度,令牌就会不断增多,直到把桶填满。后面再产生的令牌会从桶中溢出,最大令牌数不会超过桶大小。传送到令牌桶的交易的处理请求需要消耗令牌。令牌桶控制机制基于令牌桶中是否存在令牌来指示什么时候可以向银行核心系统发送交易的处理请求。上述银行核心系统的交易容量是指银行核心系统的最大交易容量与已使用交易容量的差值,其表示银行核心系统中还可以处理的交易容量。71.在银企系统初始化时,可以为每个交易类型配置一个令牌桶限流算法,配置固定的令牌桶大小和令牌桶中令牌的产生速率。例如,支付转账对应的令牌桶限流算法可以为instancepay,账户查询对应的交易队列为instanceacctqry,结售汇对应的交易队列为instancefx。初始的令牌产生速率可以根据交易类型查找历史动态参数表,若该历史动态参数表中可以查到该交易类型的限流参数时,将该限流参数作为令牌桶中令牌的生成速率;若该历史动态参数表中没有查到该交易类型的限流参数时,为每个交易类型配置默认的令牌生成速率。例如,令牌生成速率可以为每秒生成10枚令牌,即instancepay[10]、instanceacctqry[10]和instancefx[10]。[0072]本技术实施例中,每一个交易队列的交易类型对应一个令牌桶,可以根据银行核心系统的交易容量调整每个令牌桶中的令牌产生速率,当银行核心系统的交易容量较小或者已满时,将令牌桶中的令牌产生速率降低;当银行核心系统的交易容量较大时,将令牌桶中的令牌产生速率增大。当短时交易数量巨大时,令牌桶中的令牌用完,新的令牌未产生时,将交易提交至交易队列中等待后续处理,此时交易队列变为pool[t1],缓存多个交易后,交易队列变为pool[t1,t2,t3,…]。[0073]进一步的,可选的,银企系统可以通过预设的扫描频率扫描各个交易队列的交易类型对应的令牌桶,得到令牌桶中当前的令牌数量,或者,银企系统可以通过令牌桶中初始令牌的数量、各个时刻的令牌的产生速率以及当下时刻的令牌产生速率,根据相关公式计算出令牌桶中当前的令牌数量。[0074]s203,从各交易队列中确定与对应令牌桶中令牌数量相同的交易,获得待处理交易。[0075]具体的,一个令牌可以将一个交易发送至银行核心系统,银企系统通过步骤s202获取到令牌桶中令牌数量后,从该令牌桶对应的交易队列中获取与该令牌数量相同数量的交易,将获取的与令牌数量相同的交易作为待处理交易。其中,交易队列中的交易编号可以按照交易的处理请求的先后顺序进行排列,交易的处理请求的时间越早,交易对应的交易编号在交易队列中的位置越靠前。例如,当a交易队列对应的令牌桶中令牌的数量为5时,在a交易队列中获取5个交易,将这5个交易作为待处理交易。[0076]s204,通过各令牌桶中的令牌将待处理交易发送至银行核心系统;其中,每个交易对应一个令牌。[0077]具体的,一个交易对应一个令牌,一个令牌可以将一个交易发送至银行核心系统,待处理交易的数量与令牌桶中令牌数量一致,银企系统可以将待处理交易通过对应的令牌发送至银行核心系统,银行核心系统接收到待处理交易以及对应的令牌后,对待处理交易进行处理。[0078]上述交易限流方法中,该方法中响应于多个交易的处理请求,确定各交易的交易类型,得到至少一个交易队列,并获取各交易队列的交易类型对应的令牌桶中当前的令牌数量,然后从各交易队列中确定与对应令牌桶中令牌数量相同的交易,获得待处理交易,最后通过各令牌桶中的令牌将待处理交易发送至银行核心系统。该方法中,由于每个交易队列对应一种交易类型,从而可以方便的标记各交易的交易类型,避免在处理的过程中发生交易类型混乱的情况;同时,每个交易都对应一个令牌,一个令牌能够保证一个交易发送至银行核心系统,且令牌桶中令牌的产生速率可以根据银行核心系统的交易容量进行动态的进行调整,使得银行核心系统的交易容量一直处于未满的状态,可以灵活的对交易进行限流,提高交易成功率。[0079]图3为本技术实施例提供的交易限流方法的流程示意图。本技术实施例涉及根据确定各交易的交易类型,得到至少一个交易队列的一种可选的实现方式。在图2所示实施例的基础上,如图3所示,上述s201可以包括如下步骤:[0080]s301,按照预设的交易类型对多个交易进行划分,得到每个交易的交易类型。[0081]具体的,预设的交易类型为支付转账、账户查询和结售汇时,银企系统可以根据交易的处理请求确定该交易对应的交易类型,将多个交易都进行划分,可以得到每个交易对应的交易类型。例如,当交易的处理请求内容为“向xxxxxx账户转账xxx元”,该交易的处理请求内容对应的交易类型为支付转账类型;当交易的处理请求内容为“查询xxxxxx账户的余额”,该交易的处理请求内容对应的交易类型为账户查询类型。[0082]s302,将交易类型相同的交易的交易编号存储至对应交易队列,得到各交易队列。[0083]具体的,各个交易队列中可以按照交易的处理请求的时间顺序存储交易队列对应交易类型中的交易的交易编号,银企系统可以同一交易类型中交易的交易编号存储至对应的交易队列中,得到各交易队列。其中,每个交易队列的大小可以为无限大。例如,支付转账、账户查询、结售汇交易类型分别对应a交易队列、b交易队列和c交易队列,当支付转账类型中的处理请求对应的交易编号为001、002、003号时,将001、002、003交易编号存储至a交易队列中。[0084]在另一个实施例中,本技术实施例涉及将交易内容存储至数据库的一种可选的实现方式。上述步骤还可以包括:将交易类型相同的交易的交易内容存储至预设数据库中的交易指令表中;每个交易类型对应一种交易指令表。[0085]具体的,预设数据库可以是层次式数据库、网络式数据库或关系式数据库,关系式数据库可以为oracle数据库或mysql数据库。预设数据库中每个交易类型都对应一种交易指令表。银企系统可以将一种交易类型中的交易内容存储至数据库中与该交易类型对应的交易指令表中。例如,支付转账、账户查询和结售汇交易类型分别对应预设数据库中的第一交易指令表instr_table_pay、第二交易指令表instr_table_acctqry、和第三交易指令表instr_table_fx,将支付转账交易类型中交易的交易内容存储至预设数据库中的第一交易指令表中,将账户查询交易类型中交易的交易内容存储至预设数据库中的第二交易指令表中,将结售汇交易类型中交易的交易内容存储至预设数据库中的第三交易指令表中。[0086]进一步的,可以理解的是,交易存储到对应的交易指令表中后,银企系统将交易提交至交易线程中,交易线程从对应的令牌桶中获取令牌,将交易发送至银行核心系统。例如,支付转账对应的交易线程可以为processpay,账户查询对应的交易队列为processacctqry,结售汇对应的交易队列为processfx。[0087]进一步的,可以理解的是,在预设的数据库中建立一张历史动态限流参数表,该历史动态限流参数表中包括交易类型、限流参数值和更新时间戳等信息,其中,每个交易类型对应一个限流参数值,根据该限流参数值确定各交易类型对应的令牌桶中令牌的初始速率。[0088]上述交易限流方法中,将交易类型相同的交易的交易内容存储至预设数据库中的交易指令表中,该方法中的每个交易类型都对应一种交易指令表,将交易对应的交易内容在数据库中分开存储,方便对交易内容的读取,提高了交易处理的效率。[0089]上述交易限流方法中,该方法可以按照预设的交易类型对多个交易进行划分,得到每个交易的交易类型,然后将交易类型相同的交易的交易编号存储至对应交易队列,得到各交易队列。该方法将多个交易划分到不同的交易类型中,方便了后续银行核心系统的处理过程;同时将交易的交易编号存储至交易队列中,方便后续的统计分析,在使用过程中无需遍历,仅需要在交易队列中获取交易的交易编号,根据交易编号从数据库中获取交易的交易内容,过程更加便捷,提高了交易处理效率。[0090]图4为本技术实施例提供的交易限流方法的流程示意图。本技术实施例涉及从各交易队列中确定与对应令牌桶中令牌数量相同的交易,获得待处理交易的一种可选的实现方式。如图4所示,上述步骤可以包括如下步骤:[0091]s401,从各交易队列中,获取与对应令牌桶中令牌数量相同的交易编号。[0092]具体的,令牌桶中有多少令牌,说明该令牌桶对应的交易类型中有多少交易可以传输至银行核心系统,当银企系统获取到交易队列对应的令牌桶中令牌的数量后,从该令牌桶对应的交易队列中获取与令牌数量一致的交易编号。例如,当令牌桶对应的交易类型为支付交易类型,令牌桶中的令牌数量为3,从支付交易类型对应的交易队列中获取排列在交易队列中前3个的交易编号。[0093]s402,根据获取的交易编号,从交易指令表中获取各交易编号对应的交易内容,得到待处理交易。[0094]具体的,银企系统从令牌桶对应的交易队列中获取到交易编号后,根据交易编号与交易内容的对应关系,从交易类型对应的交易指令表中获取到交易内容,将该交易内容作为待处理交易。[0095]上述交易限流方法中,银企系统可以从各交易队列中,获取与对应令牌桶中令牌数量相同的交易编号,然后根据获取的交易编号,从交易指令表中获取各交易编号对应的交易内容,得到待处理交易。该方法中先获取令牌桶中令牌数量,再根据令牌数量获取与令牌数量相同的交易内容,通过令牌可以精准的控制了传输至银行核心系统的交易内容数量,能够有效的对交易过程进行限流。[0096]图5为本技术实施例提供的交易限流方法的流程示意图。本技术实施例涉及获取各交易队列的交易类型对应的令牌桶中当前的令牌数量的一种可选的实现方式。在图2所示实施例的基础上,如图5所示,上述s202可以包括如下步骤:[0097]s501,根据交易类型和扫描频率之间的映射关系,确定各交易队列的交易类型的扫描频率。[0098]具体的,由于不同交易类型对应的令牌桶中令牌的生成速率不同,银企系统可以对不同的交易类型设置对应的扫描频率,交易类型和扫描频率之间是一一对应的映射关系。例如,支付交易类型对应的令牌的生成速率相比于账户查询类型对应的令牌的生成速率较大,设置支付交易类型的扫描频率大于账户查询类型的扫描频率,支付交易类型的扫描频率可以为80毫秒每次,账户查询类型的扫描频率可以为100毫秒每次,该扫描间隔时间一般略大于交易处理的平均时间。[0099]s502,按照扫描频率,对各交易队列的交易类型对应的令牌桶中的令牌进行扫描,得到扫描结果。[0100]具体的,银企系统可以根据步骤s501获得的扫描频率,对令牌桶中的令牌进行扫描,得到不同令牌桶的扫描结果。例如,交易支付类型对应的扫描频率为80毫秒每次,支付交易类型每隔80毫秒对支付交易类型对应的令牌桶中的令牌进行扫描,得到支付交易类型对应的扫描结果;账户查询类型对应的扫描频率为100毫秒每次,账户查询类型每隔100毫秒对账户查询类型对应的令牌桶中的令牌进行扫描,得到账户查询类型对应的扫描结果。[0101]s503,根据扫描结果确定各令牌桶中当前的令牌数量。[0102]具体的,令牌的数量可以直接通过扫描获得,银企系统可以将扫描结果作为令牌桶中当前的令牌数量。例如,当扫描结果为4时,令牌桶中当前的令牌数量为4个。[0103]上述交易限流方法中,根据交易类型和扫描频率之间的映射关系,确定各交易队列的交易类型的扫描频率,按照扫描频率,对各交易队列的交易类型对应的令牌桶中的令牌进行扫描,得到扫描结果,根据扫描结果确定各令牌桶中当前的令牌数量[0104]图6为本技术实施例提供的交易限流方法的流程示意图。本技术实施例涉及根据是根据返回失败代码,增加令牌桶中令牌的产生速率的一种可选的实现方式。在图2所示实施例的基础上,如图6所示,上述步骤还可以包括:[0105]s601,获取银行核心系统反馈的失败代码;其中,失败代码表征银行核心系统的交易容量已溢满,且不同交易类型的交易容量溢满时交易代码时反馈接口不同。[0106]具体的,银企系统可以与银行核心系统设定具体的失败代码,例如,失败代码可以是x0001。当银企系统获取到银行核心系统反馈的失败代码后,说明银行核心系统中某一个交易类型对应的交易容量已溢满,或者,银行核心系统中所有的交易类型对应的交易容量已溢满。不同交易类型的交易容量溢满时交易代码时反馈接口是不同的,例如,支付交易类型的交易容量对应的反馈接口为第一接口,账户查询类型的交易容量对应的反馈接口为第二接口,结售汇类型的交易容量对应的反馈接口为第三接口。[0107]s602,根据失败代码的反馈接口,确定交易容量溢满的交易类型的第一令牌桶和交易容量未溢满的交易类型的第二令牌桶。[0108]具体的,若失败代码的反馈接口为支付交易类型对应的一个接口,交易容量溢满的交易类型为支付交易类型,支付交易类型对应的令牌桶确定为第一令牌桶;其他所有的交易类型对应的交易容量未溢满,将其他所有的交易类型对应的令牌桶都确定为第二令牌桶。若失败代码的反馈接口为全部接口时,将全部交易类型对应的令牌桶确定为第一令牌桶;交易容量未溢满的交易容量未[0109]s603,对第一令牌桶进行令牌产生速率降低处理,并对第二令牌桶进行令牌产生速率增加处理。[0110]具体的,第一令牌桶对应的交易容量已溢满,需要对交易进行限流,因此对第一令牌桶中令牌的产生速率降低,以达到交易限流的目的,而第二令牌桶对应的交易容量还未溢满,需要提高交易的处理速度,因此对第二令牌桶中令牌的产生速率进行增加处理。[0111]上述交易限流方法中,银企系统根据失败代码的反馈接口,确定交易容量溢满的交易类型的第一令牌桶和交易容量未溢满的交易类型的第二令牌桶,对第一令牌桶进行令牌产生速率降低处理,并对第二令牌桶进行令牌产生速率增加处理。该方法根据获取的失败代码,调整不同交易类型对应的令牌桶中令牌的产生速率,在容量溢满的情况下能够及时减少令牌生成速率,减少交易进入银行核心系统的数量,达到交易限流的目的;并且对容量未溢满的交易类型增加令牌生成速率,使得进入银行核心系统的交易数量增多,在保证交易数量不超过交易容量的情况下,提高交易的处理速率。[0112]图7为本技术实施例提供的交易限流方法的流程示意图。本技术实施例涉及对第一令牌桶进行令牌产生速率降低处理的一种可选的实现方式。在图6所示实施例的基础上,如图7所示,上述s603还可以包括:[0113]s701,获取第一令牌桶的当前令牌产生速率,以及接收到失败代码时产生的失败交易数量。[0114]可选的,银企系统可以根据两个相邻扫描结果的差值,估计第一令牌桶的当前令牌产生速率。可选的,银企系统可以根据第一令牌桶的相关参数计算第一令牌桶的当前令牌产生速率。本实施例对于获取第一令牌桶的当前令牌产生速率的方式不做限定。同时银企系统还需获取接收到失败代码的数量,将该失败代码的数量作为失败交易数量。[0115]s702,根据当前令牌产生速率和失败交易数量,确定第一令牌桶的第一调整令牌产生速率;第一调整令牌产生速率小于当前令牌产生速率。[0116]具体的,失败交易数量越多,说明该交易对应的交易容易已溢满,需要将令牌生成速率设置的越低,银企系统可以将当前令牌产生速率和失败交易数量输入至相关计算公式中,得到第一令牌桶的第一调整令牌产生速率。例如,当前令牌生成速率可以表示为当前令牌生成速率与lnn的差值,该当前令牌生成速率向上取整,n为一定时间t内失败交易数量,且每个t时间调整一次令牌生成速率大小,如支付交易类型对应的令牌桶中令牌生成速率当前大小为30,t固定为1分钟,且这1分钟内失败了1000笔交易,则当前时刻令牌生成速率为30-ln1000,结果为23。[0117]上述交易限流方法中,银企系统通过获取第一令牌桶的当前令牌产生速率,以及接收到失败代码时产生的失败交易数量,根据当前令牌产生速率和失败交易数量,确定第一令牌桶的第一调整令牌产生速率。该方法中,第一调整令牌产生速率小于当前令牌产生速率,在未接收到银行核心系统发送的失败代码时,提高令牌的产生速率,提高了交易的处理效率。[0118]图8为本技术实施例提供的交易限流方法的流程示意图。本技术实施例涉及对第二令牌桶进行令牌产生速率增加处理的一种可选的实现方式。在图6所示实施例的基础上,如图8所示,上述s602还可以包括:[0119]s801,获取第二令牌桶的初始令牌产生速率、当前时刻到初始时刻之间的间隔时长;初始时刻表征第二令牌桶初始产生令牌的时刻。[0120]具体的,第二令牌桶的初始令牌产生速率可以根据第二令牌桶对应的交易类型,在“历史动态限流参数表”中查找该交易类型对应的限流参数,将该限流参数值作为第二令牌桶的初始令牌产生速率,若“历史动态限流参数表”中没有找到该交易类型对应的限流参数,则为第二令牌桶配置默认的令牌桶产生速率。例如,令牌产生速率可以为10枚令牌每秒,1s/10=100毫秒,即每100毫秒产生一枚新的令牌。计算当前时刻与初始时刻的时间差值,将该时间差值作为当前时刻到初始时刻之间的间隔时长。[0121]s802,根据初始令牌产生速率和间隔时长,确定第二令牌桶的第二调整令牌产生速率;第二调整令牌产生速率大于第二令牌的当前令牌产生速率。[0122]具体的,随着时间的推移,令牌的产生速率可以线性的增大,也可以非线性的增大。银企系统可以设置相同间隔时长内令牌的速率进行增长。例如,当前时刻的令牌生成速率可以表示为初始令牌产生速率与lnx的和,该当前时刻的令牌生成速率向下取整,ln为自然对数,x初始值为1,当时间间隔为10分钟,x=x+1。初始时令牌生成速率=10+ln1=10。经过80分钟,令牌生成速率=10+ln9,结果为12;经过210分钟,令牌生成速率=10+ln23,结果为13……以此类推,可以确定第二令牌桶的令牌产生速率。[0123]进一步的,可以理解的是,可以通过一个全局计数器计算各交易队列中的值,在预设的时间间隔内,若计数器的计数结果为0时,当前时间段内未出现令牌桶限流情况;若计数器的计数结果为非0时,按照步骤s802的方法增加令牌产生速率,计算完成后将计数器归0。[0124]上述交易限流方法中,银企系统通过获取第二令牌桶的初始令牌产生速率、当前时刻到初始时刻之间的间隔时长,然后根据初始令牌产生速率和间隔时长,确定第二令牌桶的第二调整令牌产生速率。该方法中,初始时刻表征第二令牌桶初始产生令牌的时刻,第二调整令牌产生速率大于第二令牌的当前令牌产生速率,在接收到银行核心系统发送的失败代码时,及时降低令牌的产生速率,能够有效的阻止交易进入银行核心系统,以达到交易限流的目的。[0125]在一个实施例中,为了便于本领域技术人员的理解,以下对交易限流方法进行详细介绍,如图9所示,该方法可以包括:[0126]s901,按照预设的交易类型对多个交易进行划分,得到每个交易的交易类型;[0127]s902,将交易类型相同的交易的交易编号存储至对应交易队列,得到各交易队列;[0128]s903,将交易类型相同的交易的交易内容存储至预设数据库中的交易指令表中;[0129]s904,根据交易类型和扫描频率之间的映射关系,确定各交易队列的交易类型的扫描频率;[0130]s905,按照扫描频率,对各交易队列的交易类型对应的令牌桶中的令牌进行扫描,得到扫描结果;[0131]s906,根据扫描结果确定各令牌桶中当前的令牌数量;[0132]s907,从各交易队列中,获取与对应令牌桶中令牌数量相同的交易编号;[0133]s908,根据获取的交易编号,从交易指令表中获取各交易编号对应的交易内容,得到待处理交易;[0134]s909,通过各令牌桶中的令牌将待处理交易发送至银行核心系统;[0135]s910,获取银行核心系统反馈的失败代码;[0136]s911,根据失败代码的反馈接口,确定交易容量溢满的交易类型的第一令牌桶和交易容量未溢满的交易类型的第二令牌桶;[0137]s912,获取第一令牌桶的当前令牌产生速率,以及接收到失败代码时产生的失败交易数量;[0138]s913,根据当前令牌产生速率和失败交易数量,确定第一令牌桶的第一调整令牌产生速率;[0139]s914,获取第二令牌桶的初始令牌产生速率、当前时刻到初始时刻之间的间隔时长;[0140]s915,根据初始令牌产生速率和间隔时长,确定第二令牌桶的第二调整令牌产生速率。[0141]需要说明的是,针对上述s901-s915中的描述可以参见上述实施例中相关的描述,且其效果类似,本实施例在此不再赘述。[0142]进一步的,图10表示交易限流方法的流程示意图,首先对银企系统进行系统初始化,包括对每个交易的缓存队列初始化和令牌桶算法初始化,根据历史动态参数表对令牌桶算法的参数进行初始化,令牌桶算法参数包括令牌桶大小和令牌生成速率,当银企系统与用户的erp系统联机后,用户通过erp系统提交交易,银企系统接收到交易后,系统模块1将该交易存储至对应的交易的数据库指令表中,系统模块2从数据库中获取交易,扫描令牌桶的大小,从令牌桶中获取令牌,当获取到令牌后,将令牌数量一致的交易发送至银行核心系统;当没有获取到令牌后,将该交易插入对应交易的缓存队列中,系统模块3从令牌桶中获取剩余的令牌数量,根据该令牌数量从缓存队列中获取对应数量的交易,为每一笔交易申请令牌,当获取到令牌后,将令牌数量一致的交易发送至银行核心系统;当没有获取到令牌,继续将该交易插入对应交易的缓存队列中。当银行核心系统返回交易错误代码后,系统模块4根据交易错误代码数量计算新的限流阈值,确定令牌生成速率,同时将新的限流阈值更新到历史动态参数表中。[0143]上述交易限流方法中,银企直连系统按照预设的交易类型对多个交易进行划分,得到每个交易的交易类型,将交易类型相同的交易的交易编号存储至对应交易队列,得到各交易队列,将交易类型相同的交易的交易内容存储至预设数据库中的交易指令表中,然后根据交易类型和扫描频率之间的映射关系,确定各交易队列的交易类型的扫描频率,按照扫描频率对各交易队列的交易类型对应的令牌桶中的令牌进行扫描,得到扫描结果,根据扫描结果确定各令牌桶中当前的令牌数量,从各交易队列中获取与对应令牌桶中令牌数量相同的交易编号,再根据获取的交易编号,从交易指令表中获取各交易编号对应的交易内容,得到待处理交易,最后通过各令牌桶中的令牌将待处理交易发送至银行核心系统,获取银行核心系统反馈的失败代码,根据失败代码的反馈接口,确定交易容量溢满的交易类型的第一令牌桶和交易容量未溢满的交易类型的第二令牌桶,获取第一令牌桶的当前令牌产生速率,以及接收到失败代码时产生的失败交易数量,根据当前令牌产生速率和失败交易数量,确定第一令牌桶的第一调整令牌产生速率,获取第二令牌桶的初始令牌产生速率、当前时刻到初始时刻之间的间隔时长,根据初始令牌产生速率和间隔时长,确定第二令牌桶的第二调整令牌产生速率。该方法中一个令牌能够保证一个交易发送至银行核心系统,且令牌桶中令牌的产生速率可以根据银行核心系统的交易容量进行动态的进行调整,使得银行核心系统的交易容量一直处于未满的状态,可以灵活的对交易进行限流,提高交易成功率。[0144]应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。[0145]基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的交易限流方法的交易限流装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个交易限流装置实施例中的具体限定可以参见上文中对于交易限流方法的限定,在此不再赘述。[0146]在一个实施例中,如图11所示,提供了一种交易限流装置,包括:第一确定模块11、第一获取模块12、第二获取模块13和发送模块14,其中:[0147]第一确定模块11,用于响应于多个交易的处理请求,确定各交易的交易类型,得到至少一个交易队列;每个交易队列对应一种交易类型;[0148]第一获取模块12,用于获取各交易队列的交易类型对应的令牌桶中当前的令牌数量;令牌桶中令牌的产生速率根据银行核心系统的交易容量确定;[0149]第二获取模块13,用于从各交易队列中确定与对应令牌桶中令牌数量相同的交易,获得待处理交易;[0150]发送模块14,用于通过各令牌桶中的令牌将待处理交易发送至银行核心系统;其中,每个交易对应一个令牌。[0151]本实施例提供的交易限流装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。[0152]在一个实施例中,上述第一确定模块11包括:划分单元和第一确定单元,其中:[0153]划分单元,用于按照预设的交易类型对多个交易进行划分,得到每个交易的交易类型;[0154]第一确定单元,用于将交易类型相同的交易的交易编号存储至对应交易队列,得到各交易队列。[0155]本实施例提供的交易限流装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。[0156]在一个实施例中,上述第一确定模块11还包括:存储单元,其中:[0157]存储单元,用于将交易类型相同的交易的交易内容存储至预设数据库中的交易指令表中;每个交易类型对应一种交易指令表。[0158]本实施例提供的交易限流装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。[0159]可选的,上述存储单元具体用于从各交易队列中,获取与对应令牌桶中令牌数量相同的交易编号;根据获取的交易编号,从交易指令表中获取各交易编号对应的交易内容,得到待处理交易。[0160]本实施例提供的交易限流装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。[0161]在一个实施例中,上述第一获取模块12包括:第二确定单元、扫描模块和第三确定单元,其中:[0162]第二确定单元,用于根据交易类型和扫描频率之间的映射关系,确定各交易队列的交易类型的扫描频率;[0163]扫描模块,用于按照扫描频率,对各交易队列的交易类型对应的令牌桶中的令牌进行扫描,得到扫描结果;[0164]第三确定单元,用于根据扫描结果确定各令牌桶中当前的令牌数量。[0165]本实施例提供的交易限流装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。[0166]在一个实施例中,上述交易限流装置还包括:第三获取模块、第二确定模块和处理模块,其中:[0167]第三获取模块,用于获取银行核心系统反馈的失败代码;其中,失败代码表征银行核心系统的交易容量已溢满,且不同交易类型的交易容量溢满时交易代码时反馈接口不同;[0168]第二确定模块,用于根据失败代码的反馈接口,确定交易容量溢满的交易类型的第一令牌桶和交易容量未溢满的交易类型的第二令牌桶;[0169]处理模块,用于对第一令牌桶进行令牌产生速率降低处理,并对第二令牌桶进行令牌产生速率增加处理。[0170]本实施例提供的交易限流装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。[0171]在一个实施例中,上述处理模块包括:第一获取单元和第三确定单元,其中:[0172]第一获取单元,用于获取第一令牌桶的当前令牌产生速率,以及接收到失败代码时产生的失败交易数量;[0173]第三确定单元,用于根据当前令牌产生速率和失败交易数量,确定第一令牌桶的第一调整令牌产生速率;第一调整令牌产生速率小于当前令牌产生速率。[0174]本实施例提供的交易限流装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。[0175]在一个实施例中,上述处理模块包括:第二获取单元和第四确定单元,其中:[0176]第二获取单元,用于获取第二令牌桶的初始令牌产生速率、当前时刻到初始时刻之间的间隔时长;初始时刻表征第二令牌桶初始产生令牌的时刻;[0177]第四确定单元,用于根据初始令牌产生速率和间隔时长,确定第二令牌桶的第二调整令牌产生速率;第二调整令牌产生速率大于第二令牌的当前令牌产生速率。[0178]本实施例提供的交易限流装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。[0179]上述交易限流装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。[0180]在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储交易限流数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种交易限流方法。[0181]本领域技术人员可以理解,图12中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。[0182]在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述方法实施例中的所有内容。[0183]在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例中的所有内容。[0184]在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述方法实施例中的所有内容。[0185]需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。[0186]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistiverandomaccessmemory,mram)、铁电存储器(ferroelectricrandomaccessmemory,fram)、相变存储器(phasechangememory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。[0187]以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。[0188]以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。当前第1页12当前第1页12
技术特征:
1.一种交易限流方法,其特征在于,所述方法包括:响应于多个交易的处理请求,确定各所述交易的交易类型,得到至少一个交易队列;每个交易队列对应一种交易类型;获取各所述交易队列的交易类型对应的令牌桶中当前的令牌数量;令牌桶中令牌的产生速率根据银行核心系统的交易容量确定;从各所述交易队列中确定与对应令牌桶中令牌数量相同的交易,获得待处理交易;通过各令牌桶中的令牌将所述待处理交易发送至所述银行核心系统;其中,每个交易对应一个令牌。2.根据权利要求1所述的方法,其特征在于,所述确定各所述交易的交易类型,得到至少一个交易队列,包括:按照预设的交易类型对所述多个交易进行划分,得到每个交易的交易类型;将交易类型相同的交易的交易编号存储至对应交易队列,得到各所述交易队列。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:将交易类型相同的交易的交易内容存储至预设数据库中的交易指令表中;每个交易类型对应一种交易指令表。4.根据权利要求3所述的方法,其特征在于,所述从各所述交易队列中确定与对应令牌桶中令牌数量相同的交易,获得待处理交易,包括:从各所述交易队列中,获取与对应令牌桶中令牌数量相同的交易编号;根据获取的交易编号,从所述交易指令表中获取各交易编号对应的交易内容,得到所述待处理交易。5.根据权利要求1-4任一项所述的方法,其特征在于,所述获取各所述交易队列的交易类型对应的令牌桶中当前的令牌数量,包括:根据交易类型和扫描频率之间的映射关系,确定各所述交易队列的交易类型的扫描频率;按照所述扫描频率,对各所述交易队列的交易类型对应的令牌桶中的令牌进行扫描,得到扫描结果;根据所述扫描结果确定各所述令牌桶中当前的令牌数量。6.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:获取所述银行核心系统反馈的失败代码;其中,所述失败代码表征所述银行核心系统的交易容量已溢满,且不同交易类型的交易容量溢满时所述交易代码时反馈接口不同;根据所述失败代码的反馈接口,确定交易容量溢满的交易类型的第一令牌桶和交易容量未溢满的交易类型的第二令牌桶;对所述第一令牌桶进行令牌产生速率降低处理,并对所述第二令牌桶进行令牌产生速率增加处理。7.根据权利要求6所述的方法,其特征在于,所述对所述第一令牌桶进行令牌产生速率降低处理,包括:获取所述第一令牌桶的当前令牌产生速率,以及接收到所述失败代码时产生的失败交易数量;根据所述当前令牌产生速率和所述失败交易数量,确定所述第一令牌桶的第一调整令
牌产生速率;所述第一调整令牌产生速率小于所述当前令牌产生速率。8.根据权利要求6所述的方法,其特征在于,所述对所述第二令牌桶进行令牌产生速率增加处理,包括:获取所述第二令牌桶的初始令牌产生速率、当前时刻到初始时刻之间的间隔时长;所述初始时刻表征所述第二令牌桶初始产生令牌的时刻;根据所述初始令牌产生速率和所述间隔时长,确定所述第二令牌桶的第二调整令牌产生速率;所述第二调整令牌产生速率大于所述第二令牌的当前令牌产生速率。9.一种交易限流装置,其特征在于,所述装置包括:第一确定模块,用于响应于多个交易的处理请求,确定各所述交易的交易类型,得到至少一个交易队列;每个交易队列对应一种交易类型;第一获取模块,用于获取各所述交易队列的交易类型对应的令牌桶中当前的令牌数量;令牌桶中令牌的产生速率根据银行核心系统的交易容量确定;第二获取模块,用于从各所述交易队列中确定与对应令牌桶中令牌数量相同的交易,获得待处理交易;发送模块,用于通过各令牌桶中的令牌将所述待处理交易发送至所述银行核心系统;其中,每个交易对应一个令牌。10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。12.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。

技术总结
本申请涉及信息安全技术领域,尤其是涉及一种交易限流方法、装置、设备、存储介质和程序产品。该方法包括:响应于多个交易的处理请求,确定各交易的交易类型,每个交易队列对应一种交易类型,得到至少一个交易队列;获取各交易队列的交易类型对应的令牌桶中当前的令牌数量;令牌桶中令牌的产生速率根据银行核心系统的交易容量确定;从各交易队列中确定与对应令牌桶中令牌数量相同的交易,获得待处理交易;每个交易对应一个令牌,通过各令牌桶中的令牌将待处理交易发送至银行核心系统。采用本方法能够提高交易成功率。能够提高交易成功率。能够提高交易成功率。


技术研发人员:沈聪 嵇海锋 杨旭 胡天皓
受保护的技术使用者:中国工商银行股份有限公司
技术研发日:2022.03.28
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-16121.html

最新回复(0)