[发明专利]转账方法、装置、存储介质及设备在审
申请号: | 201911215685.0 | 申请日: | 2019-12-02 |
公开(公告)号: | CN112990900A | 公开(公告)日: | 2021-06-18 |
发明(设计)人: | 甘颖;孟凡帅;李杰;张智明 | 申请(专利权)人: | 贝壳技术有限公司 |
主分类号: | G06Q20/10 | 分类号: | G06Q20/10 |
代理公司: | 北京润平知识产权代理有限公司 11283 | 代理人: | 肖冰滨;王晓晓 |
地址: | 300280 天津市滨海新区南港*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 转账 方法 装置 存储 介质 设备 | ||
本发明实施例提供一种转账方法、装置、存储介质及设备,属于计算机技术领域。所述方法包括:接收业务方发送的包含有转账参数的转账请求,所述转账参数包括入款账户、出款账户、转账金额以及订单号;判断所述转账参数是否满足转账要求;当所述转账参数满足所述转账要求时,将所述转账请求加入出款队列中等待执行出款操作;当对所述转账请求对应的所述出款账户执行出款操作后,将所述转账请求加入入款队列中等待执行入款操作;当对所述转账请求对应的所述入款账户执行入款操作后,将与所述转账请求对应的订单号和交易流水号返回所述业务方。本发明实施例适用于转账处理过程中。
技术领域
本发明涉及计算机技术领域,具体地涉及一种转账方法、装置、存储介质及设备。
背景技术
在现有的虚拟币系统的转账过程中,将账户A出款账户B入款的流程,都是作为一个流程事务来完成出入款操作。现有技术中的转账操作明显存在两个缺点:一个缺点是性能降低,出入款操作将出款操作和入款操作作为一个事务执行,账户A出款后,在账户B入款的时候,账户A要等待账户B入款结束后才能执行其它操作,导致系统吞吐量降低;另一个缺点是,假如现在存在两个转账请求,其中一个转账请求为账户A出款账户B入款,另一个转账请求为退款请求,是账户B出款,账户A入款,如果此刻两个转账请求分别在两个事务中,则可能导致死锁问题。
发明内容
本发明实施例的目的是提供一种转账方法、装置、存储介质及设备,解决了现有技术中转账操作时存在的性能瓶颈和死锁问题,将一个转账事务分为两件事务来处理,出款操作时仅对出款账户加锁,其它账户不需要加锁,而入款操作时仅对入款账户加锁,从而可以让出款账户和入款账户都无需等待对方的出款和入款操作的完成,提升性能,出款和入款的分离避免了死锁情况的出现。
为了实现上述目的,本发明实施例提供一种转账方法,所述方法包括:接收业务方发送的包含有转账参数的转账请求,所述转账参数包括入款账户、出款账户、转账金额以及订单号;判断所述转账参数是否满足转账要求;当所述转账参数满足所述转账要求时,将所述转账请求加入出款队列中等待执行出款操作;当对所述转账请求对应的所述出款账户执行出款操作后,将所述转账请求加入入款队列中等待执行入款操作;当对所述转账请求对应的所述入款账户执行入款操作后,将与所述转账请求对应的订单号和交易流水号返回所述业务方。
进一步地,所述转账要求包括所述出款账户满足交易操作的要求、所述出款账户中的余额大于或等于所述转账金额以及所述入款账户满足交易操作的要求。
进一步地,所述当所述转账参数满足所述转账要求时,将所述转账请求加入出款队列中等待执行出款操作的步骤,包括:当所述转账参数满足所述转账要求时,将所述转账请求存入数据库中,并将所述数据库中的所述转账请求的状态标识为未出款状态;生成所述转账请求对应的交易流水号,并将所述交易流水号返回至所述业务方;将所述转账请求加入出款队列中等待执行出款操作。
进一步地,在所述对所述转账请求对应的所述出款账户执行出款操作的步骤之后,所述方法还包括:将所述数据库中的所述转账请求的状态标识为未入款状态,并删除所述出款队列中的所述转账请求。
进一步地,在所述对所述转账请求对应的所述入款账户执行入款操作的步骤之后,所述方法还包括:将所述数据库中的所述转账请求的状态标识为已入款状态,并删除所述入款队列中的所述转账请求。
进一步地,所述方法还包括:间隔设定时间查看所述数据库中的转账请求的状态;将所述数据库中状态为未出款状态以及未入款状态的转账请求,分别加入所述出款队列和所述入款队列中等待执行对应的出款和入款操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贝壳技术有限公司,未经贝壳技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911215685.0/2.html,转载请声明来源钻瓜专利网。