一种交易资源处理方法、系统、计算机设备和存储介质技术方案

技术编号:38320266 阅读:10 留言:0更新日期:2023-07-29 09:02
本申请公开了一种交易资源处理方法、系统、计算机设备和存储介质,可应用于金融领域或分布式技术领域。所述方法包括:登记扣款账户的待支付事件,将待支付事件加入可信事件源;根据可信事件源的金额与账户的余额计算账户的可用额;在可用额大于0的情况下,从账户的余额中减去可信事件源的金额。在交易中使用登记事件的机制防止账户超额支付,不对交易中的扣款账户加分布式锁,分布式系统无需等待分布式锁的时间便可处理其他交易事务,提升了高并发情况下的分布式系统性能。发情况下的分布式系统性能。发情况下的分布式系统性能。

【技术实现步骤摘要】
一种交易资源处理方法、系统、计算机设备和存储介质


[0001]本申请涉及分布式
,特别是涉及一种交易资源处理方法、系统、计算机设备和存储介质。

技术介绍

[0002]随着互联网技术的发展,多个服务节点通过互联网相互协同合作处理事务的分布式系统的应用越来越普遍,分布式系统允许资源共享,即一个服务节点的资源可允许其他服务节点访问,我们将被访问频繁的资源称为热点资源。分布式系统中通过对热点资源加分布式锁来实现对不同服务的隔离,以防止个服务间相互干扰。
[0003]分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。TCC(Try

Confirm

Cancel,尝试

确认

取消)模式是一种分布式事务解决方案,顾名思义,TCC模式包含尝试阶段、确认阶段和取消阶段三个阶段。以TCC模式处理交易事务为例,交易事务中,被扣款账户中的金额为热点资源,在尝试阶段,先对扣款账户加分布式锁以防止其他交易事务的干扰产生超账户余额支付的情况,在账户记录的服务系统中创建一个待支付记录,在支付服务系统中冻结待支付的额度,解锁;若尝试阶段执行成功,则进入确认阶段,对扣款账户加分布式锁,在账户记录服务系统中确认待支付记录,在支付服务系统中从账户中扣除冻结的额度,解锁。若尝试阶段执行成功,则进入取消阶段,取消交易事务。
[0004]上述TCC模式处理交易事务的事例中,尝试和确认两个阶段都需要对扣款账户加分布式锁,以防止其他交易事务的干扰产生超额支付的情况,因此,其他交易事务只能等待上一个交易事务分布式锁结束后才能启动,由于分布式锁等待时间长会导致分布式系统整体性能低下。

技术实现思路

[0005]基于上述问题,本申请提供了一种交易资源处理方法系统、计算机设备和存储介质,以实现快速处理交易事务中的热点资源。
[0006]本申请实施例公开了如下技术方案:
[0007]本申请第一方面提供一种交易资源处理方法,包括:
[0008]登记第一交易账户的待支付事件,将所述待支付事件加入可信事件源;
[0009]根据所述可信事件源的金额与所述第一交易账户的余额计算所述第一交易账户的可用额;
[0010]判断所述可用额是否大于0,若是,从所述第一交易账户的余额中减去所述可信事件源的金额,将所述待支付事件改为已支付事件,并从可信事件源中移除,交易完成;若否,删除所述待支付事件,交易失败。
[0011]在一个可能的实现方式中,所述登记待支付事件,将所述待支付事件加入可信事件源,包括:根据账户的待支付记录,在事件源中登记待支付事件,将所述待支付事件加入
可信事件源。
[0012]在一个可能的实现方式中,所述根据所述可信事件源的金额与所述第一交易账户的余额计算所述第一交易账户的可用额,包括:计算所述可信事件源的金额与所述第一交易账户的余额的累计金额,得到所述第一交易账户的可用额。
[0013]在一个可能的实现方式中,所述方法还包括:在从所述第一交易账户余额中减去所述可信事件的金额后,登记第二交易账户余额发生变化的事件。
[0014]在一个可能的实现方式中,所述方法还包括:更新所述第一交易账户的账面余额。
[0015]本申请第二方面提供一种交易资源处理系统,包括:
[0016]登记单元,用于登记第一交易账户的待支付事件,将所述待支付事件加入可信事件源;
[0017]计算单元,用于根据所述可信事件源的金额与所述第一交易账户的余额计算所述第一交易账户的可用额;
[0018]判断单元,用于判断所述可用额是否大于0,若是,从所述第一交易账户的余额中减去所述可信事件源的金额,将所述待支付事件改为已支付事件,并从可信事件源中移除,交易完成;若否,删除所述待支付事件,交易失败。
[0019]在一个可能的实现方式中,所述登记单元,具体用于:根据账户的待支付记录,在事件源中登记待支付事件,将所述待支付事件加入可信事件源。
[0020]在一个可能的实现方式中,所述计算单元具体用于:计算所述可信事件源的金额与所述第一交易账户的余额的累计金额,得到所述第一交易账户的可用额。
[0021]本申请第三方面提供一种计算机设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如本申请实施例第一方面中任一项所述的交易资源处理方法。
[0022]本申请第四方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如本申请第一方面中任一项所述的交易资源处理方法。
[0023]相较于现有技术,本申请具有以下有益效果:
[0024]本申请提供的交易资源处理方法,登记扣款账户的待支付事件,将待支付事件加入可信事件源;根据可信事件源的金额与账户的余额计算账户的可用额;在可用额大于0的情况下,从账户的余额中减去可信事件源的金额。在交易中使用登记事件的机制防止账户超额支付,不对交易中的扣款账户加分布式锁,分布式系统无需等待分布式锁的时间便可处理其他交易事务,提升了高并发情况下的分布式系统性能。
附图说明
[0025]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0026]图1为本申请实施例提供的一种交易资源处理方法流程图;
[0027]图2为本申请实施例提供的一种交易资源处理系统结构图;
[0028]图3为本申请实施例提供的一种计算机结构图。
具体实施方式
[0029]正如前文描述,目前的TCC(Try

Confirm

Cancel,尝试

确认

取消)模式是一种分布式事务解决方案,顾名思义,TCC模式包含尝试阶段、确认阶段和取消阶段三个阶段。以TCC模式处理交易事务为例,交易事务中,被扣款账户中的金额为热点资源,在尝试阶段,先对扣款账户加分布式锁以防止其他交易事务的干扰产生超账户余额支付的情况,在账户记录的服务系统中创建一个待支付记录,在支付服务系统中冻结待支付的额度,解锁;若尝试阶段执行成功,则进入确认阶段,对扣款账户加分布式锁,在账户记录服务系统中确认待支付记录,在支付服务系统中从账户中扣除冻结的额度,解锁。若尝试阶段执行成功,则进入取消阶段,取消交易事务。上述TCC模式处理交易事务的事例中,尝试和确认两个阶段都需要对扣款账户加分布式锁,以防止其他交易事务的干扰产生超额支付的情况,因此,其他交易事务只能等待上一个交易事务分布式锁结束后才能启动,由于分布式锁等待本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种交易资源处理方法,其特征在于,包括:登记第一交易账户的待支付事件,将所述待支付事件加入可信事件源;根据所述可信事件源的金额与所述第一交易账户的余额计算所述第一交易账户的可用额;判断所述可用额是否大于0,若是,从所述第一交易账户的余额中减去所述可信事件源的金额,将所述待支付事件改为已支付事件,并从可信事件源中移除,交易完成;若否,删除所述待支付事件,交易失败。2.根据权利要求1所述的方法,其特征在于,所述登记待支付事件,将所述待支付事件加入可信事件源,包括:根据账户的待支付记录,在事件源中登记待支付事件,将所述待支付事件加入可信事件源。3.根据权利要求1所述的方法,其特征在于,所述根据所述可信事件源的金额与所述第一交易账户的余额计算所述第一交易账户的可用额,包括:计算所述可信事件源的金额与所述第一交易账户的余额的累计金额,得到所述第一交易账户的可用额。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:在从所述第一交易账户余额中减去所述可信事件的金额后,登记第二交易账户余额发生变化的事件。5.根据权利要求1

4任一项所述的方法,其特征在于,所述方法还包括:更新所述第一交易账户的账面余额。6.一种交易资源处理系统,其特征在于,包括:登记单元,用于登记第一交易账户的待支付事...

【专利技术属性】
技术研发人员:范煦凯王敏
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:

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

1