基于Redis实现交易总数控制处理交易的方法、系统、终端设备及存储介质技术方案

技术编号:38134916 阅读:12 留言:0更新日期:2023-07-08 09:45
本发明专利技术提供了一种基于Redis实现交易总数控制处理交易的方法、系统、终端设备及存储介质,涉及计算机系统领域。本案在有限资源下,保护自身系统的稳定,同时针对下游服务对访问并发有要求的系统如(影像平台、sftp服务等),可以维持稳定的总链接数,使得整个文件相关的交易系统都平稳运行,即控制了访问行内影像平台的联机数,同时也保护了行内外提供的sftp服务的稳定,有效解决了sftp服务链接数过多被卡死的情况。的情况。的情况。

【技术实现步骤摘要】
基于Redis实现交易总数控制处理交易的方法、系统、终端设备及存储介质


[0001]本专利技术涉及计算机系统领域,具体而言,涉及一种基于Redis实现交易总数控制处理交易的方法、系统、终端设备及存储介质。

技术介绍

[0002]基于Redis的流量控制方法、装置、电子设备及存储介质,根据接收的业务请求,确定请求对应的用户标识和接口标识;确认用户标识对应的目标用户的流量限制;在流量限制大于预设流量阈值时获取与接口标识对应的目标接口的请求计数器的计数值;根据计数值与缓存存服务中金件的集群分片数,确定分片索引;从与分片索引对应的第一Redis分片中获取剩余令牌数和请求执行时间进行令牌桶限流计算,在根据计算结果确定从令牌桶中获取到令牌的情况下,向后转发业务请求,本方案可以使得同一用户标识及统一接口标识下的请求计算被均衡分配到Redis中的各个分片上,实现各分片CPU的负载均衡,从而有效避免单分片计算资源耗尽的问题。
[0003]在交易耗时不规律的情况下,令牌桶的刷新时间不好控制,从而产生超过阈值的情况,因此在需要严格控制交易并发数或者是文件服务链接数要严控的情况下就不适用了。

技术实现思路

[0004]本专利技术实施例提供一种基于Redis实现交易总数控制处理交易的方法、系统、终端设备及存储介质,在有限资源下,保护自身系统的稳定,同时针对下游服务对访问并发有要求的系统如(影像平台、sftp服务等),可以维持稳定的总链接数。
[0005]具体的,一种基于Redis实现交易总数控制处理交易的方法,具体步骤包括:
[0006]步骤S01、构建保护机制,每一次接收新的交易要根据score进行历史残留进行清理;
[0007]步骤S02、统计当前key中的成员数量,与提前设定的阈值进行比较,具体比较的方法步骤包括:
[0008]a、key不存在或成员数者小于阈值,直接在当前key下添加成员,返回当前成员数+1,业务逻辑继续执行;
[0009]b、当前成员数大于阈值,返回

2,本次请求终止,同步交易直接结束或异步交易重新排队执行;
[0010]步骤S03、业务逻辑执行结束,根据number值进行释放当前number的成员。
[0011]进一步的:基于Redis实现交易总数控制处理交易的系统,包括业务发起方以及Redis,
[0012]业务发起方用于发起业务交易,并执行收单入库以及文件处理流程;
[0013]Redis用于保证事务的一致性与原子性,通过lua脚本进行核心逻辑处理以及执行
限流lua脚本入参。
[0014]进一步的:终端设备可以包括:处理器、存储介质和总线,存储介质存储有处理器可执行的机器可读指令,当终端设备运行时,处理器与存储介质之间通过总线通信,处理器执行机器可读指令,以执行时执行如前述实施例中所述的深度学习模型训练方法的步骤。
[0015]进一步的:一种存储介质,该存储有计算机程序,所述计算机程序被处理器运行时执行上述的方法的步骤。
[0016]本专利技术的有益效果:本专利技术使得整个文件相关的交易系统都平稳运行,即控制了访问行内影像平台的联机数,同时也保护了行内外提供的sftp服务的稳定,有效解决了sftp服务链接数过多被卡死的情况。
附图说明
[0017]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0018]图1示出了本专利技术系统的组成示意图。
[0019]图2示出了本专利技术方法的流程示意图。
[0020]图3示出了本专利技术终端设备的组成示意图。
具体实施方式
[0021]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,应当理解,本专利技术中附图仅起到说明和描述的目的,并不用于限定本专利技术的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本专利技术中使用的流程图示出了根据本专利技术的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本
技术实现思路
的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
[0022]另外,本专利技术所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0023]需要说明的是,本专利技术实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。还应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。在本专利技术的描述中,还需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0024]图2示出了本专利技术方法的步骤流程图。
[0025]该方案主要是借助Redis中有序集合(zset)的属性,有效的进行成员数量管控,根
据zset中成员数量进行与预设的阈值进行比较,从而确认是否有可以放行此交易。
[0026]本专利技术为多次访问Redis,为保证事务的一致性与原子性,通过lua脚本进行核心逻辑处理。首先指定有序集合的key(合作方编码或业务编码,唯一值)、number(交易流水号,key唯一值)、score(交易时间精确到毫秒)。
[0027]执行限流lua脚本的入参有5个,key、number、score、阈值(此业务或合作方的最大访问数)、一分钟前的时间时间毫秒值(时间可根据交易时长调整,通过分析当前一分钟为比较稳妥的值)。具体实现步骤如下:
[0028]1,保护机制,每一次接收新的交易要根据score进行历史残留进行清理;
[0029]2,统计当前key中的成员数量,与提前设定的阈值进行比较:
[0030]a.key不存在或成员数者小于阈值,直接在当前key下添加成员,返回当前成员数+1,业务逻辑继续执行;
[0031]b.当前成员数大于阈值,返回

2,本次请求终止,同步交易直接结束或异步交易重新排队执行;
[0032]3,业务逻辑执行结束,根据number值进行释放当前number的成员。
[0033]保证存在Redis中的成员数量为在途的交易量,从而保证交易的总数为小本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Redis实现交易总数控制处理交易的方法,其特征在于,包括以下步骤:步骤S01、构建保护机制,每一次接收新的交易要根据score进行历史残留进行清理;步骤S02、统计当前key中的成员数量,与提前设定的阈值进行比较,具体比较的方法步骤包括:a、key不存在或成员数者小于阈值,直接在当前key下添加成员,返回当前成员数+1,业务逻辑继续执行;b、当前成员数大于阈值,返回

2,本次请求终止,同步交易直接结束或异步交易重新排队执行;步骤S03、业务逻辑执行结束,根据number值进行释放当前number的成员。2.根据权利要求1所述的方法,其特征在于,score代表精确到毫秒的交易时间。3.根据权利要求1所述的方法,其特征在于,number值代表交易流水号,同时key为唯一值。4.根据权利要求1所述的方法,其特征在于,阈值代表此...

【专利技术属性】
技术研发人员:刘著周竣涛殷超顾伟刚
申请(专利权)人:中信百信银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1