CN113421076A - 分布式转账方法、装置、设备及存储介质 - Google Patents
分布式转账方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113421076A CN113421076A CN202110691852.XA CN202110691852A CN113421076A CN 113421076 A CN113421076 A CN 113421076A CN 202110691852 A CN202110691852 A CN 202110691852A CN 113421076 A CN113421076 A CN 113421076A
- Authority
- CN
- China
- Prior art keywords
- transfer
- state information
- amount data
- information
- state
- 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.)
- Pending
Links
- 238000012546 transfer Methods 0.000 title claims abstract description 623
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000004044 response Effects 0.000 claims abstract description 104
- 230000005540 biological transmission Effects 0.000 claims description 45
- 239000003999 initiator Substances 0.000 claims description 20
- 241000533950 Leucojum Species 0.000 claims description 18
- 230000000977 initiatory effect Effects 0.000 abstract description 11
- 238000004904 shortening Methods 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 6
- 238000012795 verification Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
- G06Q20/102—Bill distribution or payments
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明涉及大数据领域,公开了一种分布式转账方法、装置、设备及存储介质,用于缩短转账过程中转账发起行终端的响应时间。分布式转账方法包括:接收用户端发送的转账请求,根据转账请求创建转账订单,转账订单包括转账金额数据;将转账订单中转账金额数据的状态设为锁定状态,得到初始状态信息,对初始状态信息进行标识,得到中间状态信息;通过预置的中间状态定时任务,对中间状态信息进行查询,得到目标状态信息;根据目标状态信息对转账金额数据进行删除或退回处理,得到转账结果,并将转账结果发送至用户端。此外,本发明还涉及区块链技术,转账结果可存储于区块链节点中。
Description
技术领域
本发明涉及批量更新领域,尤其涉及一种分布式转账方法、装置、设备及存储介质。
背景技术
银行项目的分布式架构大致如下,一个银行的一个支行部署一个节点,相同节点之间的业务就是本地事务、不同节点之间的业务就是分布式事务,转账业务主要包括以下三种情况:支行内转账,即同一家银行的相同支行内转账;行内转账,即同一家银行的非同支行内转账;跨行转账,即和其他银行的系统进行转账,其中,支行内转账属于本地事务,行内转账和跨行转账属于分布式事务。
然而,现有的分布式转账过程需要等待其他银行或支行的终端进行响应和状态更新,导致转账过程中转账发起行终端的响应时间长。
发明内容
本发明提供了一种分布式转账方法、装置、设备及存储介质,用于通过调用雪花算法创建交易流水号,将转账订单中的转账金额数据设为锁定状态,判断转账收款行的转账接口的响应状态,并进行标识,得到中间状态信息,通过定时任务对中间状态信息进行查询和处理,缩短了转账过程中转账发起行终端的响应时间。
本发明第一方面提供了一种分布式转账方法,包括:接收用户端发送的转账请求,根据所述转账请求创建转账订单,所述转账订单包括转账金额数据;将所述转账订单中所述转账金额数据的状态设为锁定状态,得到初始状态信息,对所述初始状态信息进行标识,得到中间状态信息;通过预置的中间状态定时任务,对所述中间状态信息进行查询,得到目标状态信息;根据所述目标状态信息对所述转账金额数据进行删除或退回处理,得到转账结果,并将所述转账结果发送至用户端。
可选的,在本发明第一方面的第一种实现方式中,所述接收用户端发送的转账请求,根据所述转账请求创建转账订单,所述转账订单包括转账金额数据包括:接收用户端发送的转账请求,对所述转账请求进行解析,得到关键信息,所述关键信息包括转账发起方信息、转账收款方信息和转账金额数据;调用预置的雪花算法创建交易流水号,将所述转账发起方信息、所述转账收款方信息、所述转账金额数据和所述交易流水号写入预置的订单创建模板,得到转账订单。
可选的,在本发明第一方面的第二种实现方式中,所述将所述转账订单中所述转账金额数据的状态设为锁定状态,得到初始状态信息,对所述初始状态信息进行标识,得到中间状态信息包括:将所述转账订单中所述转账金额数据的状态设为锁定状态,得到初始状态信息,所述初始状态信息用于指示所述转账金额数据锁定成功;获取转账接口响应状态,以及所述转账金额数据的传输状态,判断所述转账接口响应状态是否为响应成功,以及所述传输状态是否为传输成功,得到判断结果,根据所述判断结果对所述初始状态信息进行标识,得到中间状态信息。
可选的,在本发明第一方面的第三种实现方式中,所述获取转账接口响应状态,以及所述转账金额数据的传输状态,判断所述转账接口响应状态是否为响应成功,以及所述传输状态是否为传输成功,得到判断结果,根据所述判断结果对所述初始状态信息进行标识,得到中间状态信息包括:获取转账接口响应状态,以及所述转账金额数据的传输状态,判断所述转账接口响应状态是否为响应成功,以及所述传输状态是否为传输成功,得到判断结果;当所述判断结果表示所述转账接口响应状态为响应成功,且所述传输状态为传输成功时,将所述初始状态信息标识为转账成功,得到第一中间状态信息;当所述判断结果表示所述转账接口响应状态为响应成功,但所述传输状态为传输失败时,将所述初始状态信息标识为转账状态未知,得到第二中间状态信息;当所述判断结果表示所述转账接口响应状态为响应失败时,将所述初始状态信息标识为转账失败,得到第三中间状态信息;将所述第一中间状态信息、所述第二中间状态信息和所述第三中间状态信息合并,得到中间状态信息。
可选的,在本发明第一方面的第四种实现方式中,所述通过预置的中间状态定时任务,对所述中间状态信息进行查询,得到目标状态信息包括:通过预置的中间状态定时任务,实时查询所述中间状态信息中的第二中间状态信息,所述中间状态信息包括第一中间状态信息、第二中间状态信息和第三中间状态信息,所述第二中间状态信息用于指示标识为转账状态未知的信息;获取转账接口的复调用响应状态和转账金额数据的复传输状态,当所述复调用响应状态为响应成功,且所述转账金额数据的复传输状态为传输成功时,将所述第二中间状态信息标识为转账成功,并与所述第一中间状态信息合并,得到第一目标状态信息;当所述复调用响应状态为响应失败时,将所述第二中间状态信息标识为转账失败,并与所述第三中间状态信息合并,得到第二目标状态信息;将所述第一目标状态信息和所述第二目标状态信息合并,得到目标状态信息。
可选的,在本发明第一方面的第五种实现方式中,所述根据所述目标状态信息对所述转账金额数据进行删除或退回处理,得到转账结果,并将所述转账结果发送至用户端包括:读取所述目标状态信息中的第一目标状态信息,从所述转账金额数据中提取与所述第一目标状态信息对应的转账金额数据,得到第一目标转账金额数据,将所述第一目标转账金额数据删除,得到第一转账结果,所述第一目标状态信息用于指示标识为转账成功的信息;读取所述目标状态信息中的第二目标状态信息,从所述转账金额数据中提取与所述第二目标状态信息对应的转账金额数据,得到第二目标转账金额数据,将所述第二目标转账金额数据退回至用户端,得到第二转账结果,所述第二目标状态信息用于指示标识为转账失败的信息;将所述第一转账结果和所述第二转账结果合并,得到转账结果,将所述转账结果发送至用户端。
可选的,在本发明第一方面的第六种实现方式中,在根据所述目标状态信息对所述转账金额数据进行删除或退回处理,得到转账结果,并将所述转账结果发送至用户端之后,所述方法还包括:通过预置的锁定状态定时任务,对所述转账金额数据进行查询,得到已冻结数据,所述已冻结数据为预设时长内始终处于锁定状态的转账金额数据;对所述已冻结数据进行解锁处理,得到解锁后的数据,并将所述解锁后的数据退回至用户端
本发明第二方面提供了一种分布式转账装置,包括:接收模块,用于接收用户端发送的转账请求,根据所述转账请求创建转账订单,所述转账订单包括转账金额数据;标识模块,用于将所述转账订单中所述转账金额数据的状态设为锁定状态,得到初始状态信息,对所述初始状态信息进行标识,得到中间状态信息;查询模块,用于通过预置的中间状态定时任务,对所述中间状态信息进行查询,得到目标状态信息;发送模块,用于根据所述目标状态信息对所述转账金额数据进行删除或退回处理,得到转账结果,并将所述转账结果发送至用户端。
可选的,在本发明第二方面的第一种实现方式中,所述接收模块包括:接收单元,用于接收用户端发送的转账请求,对所述转账请求进行解析,得到关键信息,所述关键信息包括转账发起方信息、转账收款方信息和转账金额数据;创建单元,用于调用预置的雪花算法创建交易流水号,将所述转账发起方信息、所述转账收款方信息、所述转账金额数据和所述交易流水号写入预置的订单创建模板,得到转账订单。
可选的,在本发明第二方面的第二种实现方式中,所述标识模块包括:锁定单元,用于将所述转账订单中所述转账金额数据的状态设为锁定状态,得到初始状态信息,所述初始状态信息用于指示所述转账金额数据锁定成功;判断单元,用于获取转账接口响应状态,以及所述转账金额数据的传输状态,判断所述转账接口响应状态是否为响应成功,以及所述传输状态是否为传输成功,得到判断结果,根据所述判断结果对所述初始状态信息进行标识,得到中间状态信息。
可选的,在本发明第二方面的第三种实现方式中,所述判断单元具体用于:获取转账接口响应状态,以及所述转账金额数据的传输状态,判断所述转账接口响应状态是否为响应成功,以及所述传输状态是否为传输成功,得到判断结果;当所述判断结果表示所述转账接口响应状态为响应成功,且所述传输状态为传输成功时,将所述初始状态信息标识为转账成功,得到第一中间状态信息;当所述判断结果表示所述转账接口响应状态为响应成功,但所述传输状态为传输失败时,将所述初始状态信息标识为转账状态未知,得到第二中间状态信息;当所述判断结果表示所述转账接口响应状态为响应失败时,将所述初始状态信息标识为转账失败,得到第三中间状态信息;将所述第一中间状态信息、所述第二中间状态信息和所述第三中间状态信息合并,得到中间状态信息。
可选的,在本发明第二方面的第四种实现方式中,所述查询模块包括:第一查询单元,用于通过预置的中间状态定时任务,实时查询所述中间状态信息中的第二中间状态信息,所述中间状态信息包括第一中间状态信息、第二中间状态信息和第三中间状态信息,所述第二中间状态信息用于指示标识为转账状态未知的信息;第一标识单元,用于获取转账接口的复调用响应状态和转账金额数据的复传输状态,当所述复调用响应状态为响应成功,且所述转账金额数据的复传输状态为传输成功时,将所述第二中间状态信息标识为转账成功,并与所述第一中间状态信息合并,得到第一目标状态信息;第二标识单元,用于当所述复调用响应状态为响应失败时,将所述第二中间状态信息标识为转账失败,并与所述第三中间状态信息合并,得到第二目标状态信息;第一合并单元,用于将所述第一目标状态信息和所述第二目标状态信息合并,得到目标状态信息。
可选的,在本发明第二方面的第五种实现方式中,所述发送模块包括:第一提取单元,用于读取所述目标状态信息中的第一目标状态信息,从所述转账金额数据中提取与所述第一目标状态信息对应的转账金额数据,得到第一目标转账金额数据,将所述第一目标转账金额数据删除,得到第一转账结果,所述第一目标状态信息用于指示标识为转账成功的信息;第二提取单元,用于读取所述目标状态信息中的第二目标状态信息,从所述转账金额数据中提取与所述第二目标状态信息对应的转账金额数据,得到第二目标转账金额数据,将所述第二目标转账金额数据退回至用户端,得到第二转账结果,所述第二目标状态信息用于指示标识为转账失败的信息;第二合并单元,用于将所述第一转账结果和所述第二转账结果合并,得到转账结果,将所述转账结果发送至用户端。
可选的,在本发明第二方面的第六种实现方式中,在所述发送模块之后,所述分布式转账装置还包括解锁模块,所述解锁模块包括:第二查询单元,用于通过预置的锁定状态定时任务,对所述转账金额数据进行查询,得到已冻结数据,所述已冻结数据为预设时长内始终处于锁定状态的转账金额数据;解锁单元,用于对所述已冻结数据进行解锁处理,得到解锁后的数据,并将所述解锁后的数据退回至用户端。
本发明第三方面提供了一种分布式转账设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述分布式转账设备执行上述的分布式转账方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的分布式转账方法。
本发明提供的技术方案中,接收用户端发送的转账请求,根据所述转账请求创建转账订单,所述转账订单包括转账金额数据;将所述转账订单中所述转账金额数据的状态设为锁定状态,得到初始状态信息,对所述初始状态信息进行标识,得到中间状态信息;通过预置的中间状态定时任务,对所述中间状态信息进行查询,得到目标状态信息;根据所述目标状态信息对所述转账金额数据进行删除或退回处理,得到转账结果,并将所述转账结果发送至用户端。本发明实施例中,通过调用雪花算法创建交易流水号,将转账订单中的转账金额数据设为锁定状态,判断转账收款行的转账接口的响应状态,并进行标识,得到中间状态信息,通过定时任务对中间状态信息进行查询和处理,缩短了转账过程中转账发起行终端的响应时间。
附图说明
图1为本发明实施例中分布式转账方法的一个实施例示意图;
图2为本发明实施例中分布式转账方法的另一个实施例示意图;
图3为本发明实施例中分布式转账装置的一个实施例示意图;
图4为本发明实施例中分布式转账装置的另一个实施例示意图;
图5为本发明实施例中分布式转账设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种分布式转账方法、装置、设备及存储介质,用于通过调用雪花算法创建交易流水号,将转账订单中的转账金额数据设为锁定状态,判断转账收款行的转账接口的响应状态,并进行标识,得到中间状态信息,通过定时任务对中间状态信息进行查询和处理,缩短了转账过程中转账发起行终端的响应时间。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中分布式转账方法的一个实施例包括:
101、接收用户端发送的转账请求,根据转账请求创建转账订单,转账订单包括转账金额数据。
可以理解的是,本发明的执行主体可以为分布式转账装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
服务器接收用户端发送的转账请求,根据转账请求创建转账订单,转账订单包括转账金额数据。转账订单除了包括转账金额数据之外,还包括转账发起方信息、转账收款方信息和交易流水号。用户可在银行营业网点开通手机银行业务或通过用户端自行注册等方式开通手机银行业务,通过安装在智能手机上的用户端软件输入转账发起方信息、转账收款方信息、转账金额数据和交易密码等,完成转账交易信息的输入,其中,转账发起方信息包括但不限于发起方姓名、发起方手机号和发起银行相关信息等,转账收款方信息包括但不限于收款方姓名、收款方手机号和收款银行相关信息等,服务器接收到用户端发送的转账请求后,调用雪花算法生成唯一的交易流水号,将转账发起方信息、转账收款方信息、转账金额数据和交易流水号写入预置的订单创建模板,从而完成转账订单的创建。
102、将转账订单中转账金额数据的状态设为锁定状态,得到初始状态信息,对初始状态信息进行标识,得到中间状态信息。
服务器将转账订单中转账金额数据的状态设为锁定状态,得到初始状态信息,对初始状态信息进行标识,得到中间状态信息。当转账金额数据锁定成功时即可立即响应用户,后面一系列流程不需要立刻执行,服务器将后续的流程封装成消息存入消息中间件,由消息中间件确保该消息最终能执行,服务器根据转账收款行的转账接口响应状态以及转账金额数据的传输状态可以将初始状态信息标识为转账成功或转账状态未知或转账失败,得到中间状态信息。
103、通过预置的中间状态定时任务,对中间状态信息进行查询,得到目标状态信息。
服务器通过预置的中间状态定时任务,对中间状态信息进行查询,得到目标状态信息。服务器查询中间状态信息中标识为转账状态未知的信息,并调用转账收款行终端的转账接口,当复调用后的转账接口响应状态为响应成功且转账数据传输成功时,将转账状态未知的信息重新标识为转账成功,当复调用后的转账接口响应状态为响应失败时,将转账状态未知的信息重新标识为转账失败,通过给订单增加状态标识,非终态(即标识为转账状态未知)的订单通过定时任务扫描出来,并针对各个状态执行不同的策略即可保证转账结果的准确性。
104、根据目标状态信息对转账金额数据进行删除或退回处理,得到转账结果,并将转账结果发送至用户端。
服务器根据目标状态信息对转账金额数据进行删除或退回处理,得到转账结果,并将转账结果发送至用户端。服务器读取目标状态信息中标识为转账成功的第一目标状态信息,把锁定的转账金额数据真实扣减掉,并把该信息标识为核销成功状态,若服务器读取到目标状态信息中标识为转账失败的第二目标状态信息,则将处于锁定状态的转账金额数据退回至用户端,最终将转账结果发送至用户端,转账结果包括核销成功结果或转账失败结果。
本发明实施例中,通过调用雪花算法创建交易流水号,将转账订单中的转账金额数据设为锁定状态,判断转账收款行的转账接口的响应状态,并进行标识,得到中间状态信息,通过定时任务对中间状态信息进行查询和处理,缩短了转账过程中转账发起行终端的响应时间。
请参阅图2,本发明实施例中分布式转账方法的另一个实施例包括:
201、接收用户端发送的转账请求,根据转账请求创建转账订单,转账订单包括转账金额数据。
服务器接收用户端发送的转账请求,根据转账请求创建转账订单,转账订单包括转账金额数据。具体的,服务器接收用户端发送的转账请求,对转账请求进行解析,得到关键信息,关键信息包括转账发起方信息、转账收款方信息和转账金额数据;调用预置的雪花算法创建交易流水号,将转账发起方信息、转账收款方信息、转账金额数据和交易流水号写入预置的订单创建模板,得到转账订单。
用户可在银行营业网点开通手机银行业务或通过用户端自行注册等方式开通手机银行业务,通过安装在智能手机上的用户端软件输入转账收款方信息、转账金额数据和交易密码等,完成转账交易信息的输入,其中,转账发起方信息包括但不限于发起方姓名、发起方手机号和发起银行相关信息等,转账收款方信息包括但不限于收款方姓名、收款方手机号、收款银行相关信息等,服务器接收到用户端发送的转账请求后,对转账请求进行基于正则表达式的解析,提取出转账发起方信息、转账收款方信息和转账金额数据(即关键信息),调用雪花算法生成唯一的交易流水号,雪花算法是开源的分布式编码生成算法,本实施例中采用雪花算法得到64位long类型的交易流水号,其中,long类型为一种基础数据类型,雪花算法由1位标识位、41位时间戳位、10位存储机器码以及12位随机数构成,服务器将10位存储机器码拆分成2位数据中心位以及8位机器id位,需要预先获取在预设的配置文件中的2位数据中心ID对2位数据中心位进行填充,雪花算法的41位时间戳的生成规则为当前时间戳减去设定的开始时间戳,服务器通过调用预置的订单创建模板,基于转账发起方信息、转账收款方信息、转账金额数据和交易流水号创建转账订单。
202、将转账订单中转账金额数据的状态设为锁定状态,得到初始状态信息,初始状态信息用于指示转账金额数据锁定成功。
服务器将转账订单中的转账金额数据的状态设为锁定状态,得到初始状态信息,初始状态信息用于指示转账金额数据锁定成功。当转账金额数据锁定成功时即可立即响应用户,后面一系列流程不需要立刻执行,服务器将后续的流程封装成消息存入消息中间件,由消息中间件确保该消息最终能执行,转账金额数据锁定成功后,服务器才进行后续的操作。
203、获取转账接口响应状态,以及转账金额数据的传输状态,判断转账接口响应状态是否为响应成功,以及传输状态是否为传输成功,得到判断结果,根据判断结果对初始状态信息进行标识,得到中间状态信息。
服务器获取转账接口响应状态,以及转账金额数据的传输状态,判断转账接口响应状态是否为响应成功,以及传输状态是否为传输成功,得到判断结果,根据判断结果对初始状态信息进行标识,得到中间状态信息。具体的,服务器获取转账接口响应状态,以及转账金额数据的传输状态,判断转账接口响应状态是否为响应成功,以及传输状态是否为传输成功,得到判断结果;当判断结果表示转账接口响应状态为响应成功,且传输状态为传输成功时,服务器将初始状态信息标识为转账成功,得到第一中间状态信息;当判断结果表示转账接口响应状态为响应成功,但传输状态为传输失败时,服务器将初始状态信息标识为转账状态未知,得到第二中间状态信息;当判断结果表示转账接口响应状态为响应失败时,服务器将初始状态信息标识为转账失败,得到第三中间状态信息;服务器将第一中间状态信息、第二中间状态信息和第三中间状态信息合并,得到中间状态信息。
服务器对转账收款行的转账接口响应状态和转账金额数据的传输状态进行判断,当转账接口响应状态为响应成功且转账金额数据成功传输至转账收款行终端时,将初始状态信息标识为转账成功,得到第一中间状态信息,例如:有一笔资金数据要从A银行的终端转到B银行的终端,服务器调用B银行终端的接口,向B银行终端发送转账请求,B银行终端接收到请求,并给相应的账户加上了资金,通知A银行终端转账成功,当转账接口响应状态为响应成功但转账金额数据没有传输至转账收款行终端时,将初始状态信息标识为转账状态未知,得到第二中间状态信息,例如:服务器调用B银行终端的接口,向B银行终端发送转账请求,B银行终端收到了请求并给出了响应,由于网络原因,B银行终端的响应丢失,导致A银行终端未接收到响应,转账金额数据没有传输至B银行终端,服务器标识为转账状态未知,当转账接口响应状态为响应失败时,将初始状态信息标识为转账失败,得到第三中间状态信息,例如:服务器调用B银行终端的接口,向B银行终端发送转账请求,B银行终端没有接收到转账请求,服务器标识为转账失败,最终将第一中间状态信息、第二中间状态信息和第三中间状态信息合并得到中间状态信息。
204、通过预置的中间状态定时任务,对中间状态信息进行查询,得到目标状态信息。
服务器通过预置的中间状态定时任务,对中间状态信息进行查询,得到目标状态信息。具体的,服务器通过预置的中间状态定时任务,实时查询中间状态信息中的第二中间状态信息,中间状态信息包括第一中间状态信息、第二中间状态信息和第三中间状态信息,第二中间状态信息用于指示标识为转账状态未知的信息;服务器获取转账接口的复调用响应状态和转账金额数据的复传输状态,当复调用响应状态为响应成功,且转账金额数据的复传输状态为传输成功时,将第二中间状态信息标识为转账成功,并与第一中间状态信息合并,得到第一目标状态信息;服务器当复调用响应状态为响应失败时,将第二中间状态信息标识为转账失败,并与第三中间状态信息合并,得到第二目标状态信息;服务器将第一目标状态信息和第二目标状态信息合并,得到目标状态信息。
服务器通过预置的中间状态定时任务,对转账状态进行实时查询和处理,通过查询中间状态信息中的第二中间状态信息,重新调用转账收款行终端的转账接口,对非终态的订单进行实时更新,其中,复调用响应状态表示重新调用转账接口后对应的转账接口响应状态,转账金额数据的复传输状态表示重新调用转账接口后对应的转账金额数据的传输状态,例如:有一笔资金数据要从A银行的终端转到B银行的终端,一开始转账接口响应成功但转账金额数据没有传输至转账收款行终端,服务器通过定时任务检测到这一信息并复调用B银行终端的转账接口,B银行终端接收到请求,并给相应的账户加上了资金,通知A银行终端转账成功,服务器将第二中间状态信息标识为转账成功,与中间状态信息中标识为转账成功的第一中间状态信息合并,得到第一目标状态信息,或是复调用转账接口后B银行终端还是没有接收到转账请求,转账金额数据没有传输至B银行终端,服务器将第二中间状态信息标识为转账失败,与中间状态信息中标识为转账失败的第三中间状态信息合并,得到第二目标状态信息,并将第一目标状态信息和第二目标状态信息合并得到目标状态信息。
205、根据目标状态信息对转账金额数据进行删除或退回处理,得到转账结果,并将转账结果发送至用户端。
服务器根据目标状态信息对转账金额数据进行删除或退回处理,得到转账结果,并将转账结果发送至用户端。具体的,服务器读取目标状态信息中的第一目标状态信息,从转账金额数据中提取与第一目标状态信息对应的转账金额数据,得到第一目标转账金额数据,将第一目标转账金额数据删除,得到第一转账结果,第一目标状态信息用于指示标识为转账成功的信息;服务器读取目标状态信息中的第二目标状态信息,从转账金额数据中提取与第二目标状态信息对应的转账金额数据,得到第二目标转账金额数据,将第二目标转账金额数据退回至用户端,得到第二转账结果,第二目标状态信息用于指示标识为转账失败的信息;服务器将第一转账结果和第二转账结果合并,得到转账结果,将转账结果发送至用户端。
服务器读取目标状态信息中标识为转账成功的第一目标状态信息,从转账金额数据中提取与第一目标状态信息对应的转账金额数据,把锁定的转账金额数据(即第一目标转账金额数据)真实扣减掉,并把第一目标状态信息标识为核销成功状态,将核销成功的信息确定为第一转账结果,服务器读取目标状态信息中标识为转账失败的第二目标状态信息,从转账金额数据中提取与第二目标状态信息对应的转账金额数据,将处于锁定状态的转账金额数据进行解锁处理(即第二目标转账金额数据)并退回至用户端,得到第二转账结果,将第一转账结果和第二转账结果合并,得到转账结果,最终将转账结果发送至用户端,转账结果包括核销成功结果或转账失败结果。在将转账结果发送至用户端之后,服务器通过预置的锁定状态定时任务对转账金额数据进行实时查询,将预设市场内始终处于锁定状态的转账金额数据进行解锁处理,并退回至用户端。
本发明实施例中,通过调用雪花算法创建交易流水号,将转账订单中的转账金额数据设为锁定状态,判断转账收款行的转账接口的响应状态,并进行标识,得到中间状态信息,通过定时任务对中间状态信息进行查询和处理,缩短了转账过程中转账发起行终端的响应时间。
上面对本发明实施例中分布式转账方法进行了描述,下面对本发明实施例中分布式转账装置进行描述,请参阅图3,本发明实施例中分布式转账装置的一个实施例包括:
接收模块301,用于接收用户端发送的转账请求,根据转账请求创建转账订单,转账订单包括转账金额数据;
标识模块302,用于将转账订单中转账金额数据的状态设为锁定状态,得到初始状态信息,对初始状态信息进行标识,得到中间状态信息;
查询模块303,用于通过预置的中间状态定时任务,对中间状态信息进行查询,得到目标状态信息;
发送模块304,用于根据目标状态信息对转账金额数据进行删除或退回处理,得到转账结果,并将转账结果发送至用户端。
本发明实施例中,通过调用雪花算法创建交易流水号,将转账订单中的转账金额数据设为锁定状态,判断转账收款行的转账接口的响应状态,并进行标识,得到中间状态信息,通过定时任务对中间状态信息进行查询和处理,缩短了转账过程中转账发起行终端的响应时间。
请参阅图4,本发明实施例中分布式转账装置的另一个实施例包括:
接收模块301,用于接收用户端发送的转账请求,根据转账请求创建转账订单,转账订单包括转账金额数据;
标识模块302,用于将转账订单中转账金额数据的状态设为锁定状态,得到初始状态信息,对初始状态信息进行标识,得到中间状态信息;
其中,标识模块302具体包括:
锁定单元3021,用于将转账订单中转账金额数据的状态设为锁定状态,得到初始状态信息,初始状态信息用于指示转账金额数据锁定成功;
判断单元3022,用于获取转账接口响应状态,以及转账金额数据的传输状态,判断转账接口响应状态是否为响应成功,以及传输状态是否为传输成功,得到判断结果,根据判断结果对初始状态信息进行标识,得到中间状态信息。
查询模块303,用于通过预置的中间状态定时任务,对中间状态信息进行查询,得到目标状态信息;
发送模块304,用于根据目标状态信息对转账金额数据进行删除或退回处理,得到转账结果,并将转账结果发送至用户端。
可选的,接收模块301包括:
接收单元3011,用于接收用户端发送的转账请求,对转账请求进行解析,得到关键信息,关键信息包括转账发起方信息、转账收款方信息和转账金额数据;
创建单元3012,用于调用预置的雪花算法创建交易流水号,将转账发起方信息、转账收款方信息、转账金额数据和交易流水号写入预置的订单创建模板,得到转账订单。
可选的,判断单元3022还可以具体用于:
获取转账接口响应状态,以及转账金额数据的传输状态,判断转账接口响应状态是否为响应成功,以及传输状态是否为传输成功,得到判断结果;当判断结果表示转账接口响应状态为响应成功,且传输状态为传输成功时,将初始状态信息标识为转账成功,得到第一中间状态信息;当判断结果表示转账接口响应状态为响应成功,但传输状态为传输失败时,将初始状态信息标识为转账状态未知,得到第二中间状态信息;当判断结果表示转账接口响应状态为响应失败时,将初始状态信息标识为转账失败,得到第三中间状态信息;将第一中间状态信息、第二中间状态信息和第三中间状态信息合并,得到中间状态信息。
可选的,查询模块303包括:
第一查询单元3031,用于通过预置的中间状态定时任务,实时查询中间状态信息中的第二中间状态信息,中间状态信息包括第一中间状态信息、第二中间状态信息和第三中间状态信息,第二中间状态信息用于指示标识为转账状态未知的信息;
第一标识单元3032,用于获取转账接口的复调用响应状态和转账金额数据的复传输状态,当复调用响应状态为响应成功,且转账金额数据的复传输状态为传输成功时,将第二中间状态信息标识为转账成功,并与第一中间状态信息合并,得到第一目标状态信息;
第二标识单元3033,用于当复调用响应状态为响应失败时,将第二中间状态信息标识为转账失败,并与第三中间状态信息合并,得到第二目标状态信息;
第一合并单元3034,用于将第一目标状态信息和第二目标状态信息合并,得到目标状态信息。
可选的,发送模块304包括:
第一提取单元3041,用于读取目标状态信息中的第一目标状态信息,从转账金额数据中提取与第一目标状态信息对应的转账金额数据,得到第一目标转账金额数据,将第一目标转账金额数据删除,得到第一转账结果,第一目标状态信息用于指示标识为转账成功的信息;
第二提取单元3042,用于读取目标状态信息中的第二目标状态信息,从转账金额数据中提取与第二目标状态信息对应的转账金额数据,得到第二目标转账金额数据,将第二目标转账金额数据退回至用户端,得到第二转账结果,第二目标状态信息用于指示标识为转账失败的信息;
第二合并单元3043,用于将第一转账结果和第二转账结果合并,得到转账结果,将转账结果发送至用户端。
可选的,在发送模块304之后,分布式转账装置还包括解锁模块305,包括:
第二查询单元3051,用于通过预置的锁定状态定时任务,对转账金额数据进行查询,得到已冻结数据,已冻结数据为预设时长内始终处于锁定状态的转账金额数据;
解锁单元3052,用于对已冻结数据进行解锁处理,得到解锁后的数据,并将解锁后的数据退回至用户端。
本发明实施例中,通过调用雪花算法创建交易流水号,将转账订单中的转账金额数据设为锁定状态,判断转账收款行的转账接口的响应状态,并进行标识,得到中间状态信息,通过定时任务对中间状态信息进行查询和处理,缩短了转账过程中转账发起行终端的响应时间。
上面图3和图4从模块化功能实体的角度对本发明实施例中的分布式转账装置进行详细描述,下面从硬件处理的角度对本发明实施例中分布式转账设备进行详细描述。
图5是本发明实施例提供的一种分布式转账设备的结构示意图,该分布式转账设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对分布式转账设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在分布式转账设备500上执行存储介质530中的一系列指令操作。
分布式转账设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5示出的分布式转账设备结构并不构成对分布式转账设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种分布式转账设备,所述计算机设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述分布式转账方法的步骤。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述分布式转账方法的步骤。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种分布式转账方法,其特征在于,所述分布式转账方法包括:
接收用户端发送的转账请求,根据所述转账请求创建转账订单,所述转账订单包括转账金额数据;
将所述转账订单中所述转账金额数据的状态设为锁定状态,得到初始状态信息,对所述初始状态信息进行标识,得到中间状态信息;
通过预置的中间状态定时任务,对所述中间状态信息进行查询,得到目标状态信息;
根据所述目标状态信息对所述转账金额数据进行删除或退回处理,得到转账结果,并将所述转账结果发送至用户端。
2.根据权利要求1所述的分布式转账方法,其特征在于,所述接收用户端发送的转账请求,根据所述转账请求创建转账订单,所述转账订单包括转账金额数据包括:
接收用户端发送的转账请求,对所述转账请求进行解析,得到关键信息,所述关键信息包括转账发起方信息、转账收款方信息和转账金额数据;
调用预置的雪花算法创建交易流水号,将所述转账发起方信息、所述转账收款方信息、所述转账金额数据和所述交易流水号写入预置的订单创建模板,得到转账订单。
3.根据权利要求1所述的分布式转账方法,其特征在于,所述将所述转账订单中所述转账金额数据的状态设为锁定状态,得到初始状态信息,对所述初始状态信息进行标识,得到中间状态信息包括:
将所述转账订单中所述转账金额数据的状态设为锁定状态,得到初始状态信息,所述初始状态信息用于指示所述转账金额数据锁定成功;
获取转账接口响应状态,以及所述转账金额数据的传输状态,判断所述转账接口响应状态是否为响应成功,以及所述传输状态是否为传输成功,得到判断结果,根据所述判断结果对所述初始状态信息进行标识,得到中间状态信息。
4.根据权利要求3所述的分布式转账方法,其特征在于,所述获取转账接口响应状态,以及所述转账金额数据的传输状态,判断所述转账接口响应状态是否为响应成功,以及所述传输状态是否为传输成功,得到判断结果,根据所述判断结果对所述初始状态信息进行标识,得到中间状态信息包括:
获取转账接口响应状态,以及所述转账金额数据的传输状态,判断所述转账接口响应状态是否为响应成功,以及所述传输状态是否为传输成功,得到判断结果;
当所述判断结果表示所述转账接口响应状态为响应成功,且所述传输状态为传输成功时,将所述初始状态信息标识为转账成功,得到第一中间状态信息;
当所述判断结果表示所述转账接口响应状态为响应成功,但所述传输状态为传输失败时,将所述初始状态信息标识为转账状态未知,得到第二中间状态信息;
当所述判断结果表示所述转账接口响应状态为响应失败时,将所述初始状态信息标识为转账失败,得到第三中间状态信息;
将所述第一中间状态信息、所述第二中间状态信息和所述第三中间状态信息合并,得到中间状态信息。
5.根据权利要求1所述的分布式转账方法,其特征在于,所述通过预置的中间状态定时任务,对所述中间状态信息进行查询,得到目标状态信息包括:
通过预置的中间状态定时任务,实时查询所述中间状态信息中的第二中间状态信息,所述中间状态信息包括第一中间状态信息、第二中间状态信息和第三中间状态信息,所述第二中间状态信息用于指示标识为转账状态未知的信息;
获取转账接口的复调用响应状态和转账金额数据的复传输状态,当所述复调用响应状态为响应成功,且所述转账金额数据的复传输状态为传输成功时,将所述第二中间状态信息标识为转账成功,并与所述第一中间状态信息合并,得到第一目标状态信息;
当所述复调用响应状态为响应失败时,将所述第二中间状态信息标识为转账失败,并与所述第三中间状态信息合并,得到第二目标状态信息;
将所述第一目标状态信息和所述第二目标状态信息合并,得到目标状态信息。
6.根据权利要求1所述的分布式转账方法,其特征在于,所述根据所述目标状态信息对所述转账金额数据进行删除或退回处理,得到转账结果,并将所述转账结果发送至用户端包括:
读取所述目标状态信息中的第一目标状态信息,从所述转账金额数据中提取与所述第一目标状态信息对应的转账金额数据,得到第一目标转账金额数据,将所述第一目标转账金额数据删除,得到第一转账结果,所述第一目标状态信息用于指示标识为转账成功的信息;
读取所述目标状态信息中的第二目标状态信息,从所述转账金额数据中提取与所述第二目标状态信息对应的转账金额数据,得到第二目标转账金额数据,将所述第二目标转账金额数据退回至用户端,得到第二转账结果,所述第二目标状态信息用于指示标识为转账失败的信息;
将所述第一转账结果和所述第二转账结果合并,得到转账结果,将所述转账结果发送至用户端。
7.根据权利要求1-6中任一项所述的分布式转账方法,其特征在于,在根据所述目标状态信息对所述转账金额数据进行删除或退回处理,得到转账结果,并将所述转账结果发送至用户端之后,所述方法还包括:
通过预置的锁定状态定时任务,对所述转账金额数据进行查询,得到已冻结数据,所述已冻结数据为预设时长内始终处于锁定状态的转账金额数据;
对所述已冻结数据进行解锁处理,得到解锁后的数据,并将所述解锁后的数据退回至用户端。
8.一种分布式转账装置,其特征在于,所述分布式转账装置包括:
接收模块,用于接收用户端发送的转账请求,根据所述转账请求创建转账订单,所述转账订单包括转账金额数据;
标识模块,用于将所述转账订单中所述转账金额数据的状态设为锁定状态,得到初始状态信息,对所述初始状态信息进行标识,得到中间状态信息;
查询模块,用于通过预置的中间状态定时任务,对所述中间状态信息进行查询,得到目标状态信息;
发送模块,用于根据所述目标状态信息对所述转账金额数据进行删除或退回处理,得到转账结果,并将所述转账结果发送至用户端。
9.一种分布式转账设备,其特征在于,所述分布式转账设备包括:
存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述分布式转账设备执行如权利要求1-7中任意一项所述的分布式转账方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-7中任一项所述分布式转账方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110691852.XA CN113421076A (zh) | 2021-06-22 | 2021-06-22 | 分布式转账方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110691852.XA CN113421076A (zh) | 2021-06-22 | 2021-06-22 | 分布式转账方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113421076A true CN113421076A (zh) | 2021-09-21 |
Family
ID=77789903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110691852.XA Pending CN113421076A (zh) | 2021-06-22 | 2021-06-22 | 分布式转账方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113421076A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930469A (zh) * | 2012-11-13 | 2013-02-13 | 中国民生银行股份有限公司 | 转账数据处理方法和装置 |
CN109461079A (zh) * | 2018-10-29 | 2019-03-12 | 众安信息技术服务有限公司 | 基于区块链的交易处理方法和装置 |
CN109683867A (zh) * | 2018-12-27 | 2019-04-26 | 石更箭数据科技(上海)有限公司 | 一种对接区块链的方法及其装置、介质、终端 |
-
2021
- 2021-06-22 CN CN202110691852.XA patent/CN113421076A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930469A (zh) * | 2012-11-13 | 2013-02-13 | 中国民生银行股份有限公司 | 转账数据处理方法和装置 |
CN109461079A (zh) * | 2018-10-29 | 2019-03-12 | 众安信息技术服务有限公司 | 基于区块链的交易处理方法和装置 |
CN109683867A (zh) * | 2018-12-27 | 2019-04-26 | 石更箭数据科技(上海)有限公司 | 一种对接区块链的方法及其装置、介质、终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110430162B (zh) | 一种跨链发送可认证消息的方法和装置 | |
CN112862612A (zh) | 一种跨链发送资源的方法和装置 | |
CN107256387B (zh) | 指纹认证方法、系统和计算机可读存储介质 | |
CN112835612A (zh) | 一种基于区块链的电子文档版本管理方法及装置 | |
CN111049696B (zh) | 用于区块链系统的节点管理的方法、节点和计算设备 | |
CN110839029A (zh) | 一种微服务注册方法和装置 | |
CN111310207B (zh) | 电子商务数据处理方法、装置、电子商务系统及服务器 | |
US20190370789A1 (en) | Distributed block chain cryptocurrency system for securement against unauthorised transactions | |
CN110223075B (zh) | 身份认证方法、装置、计算机设备和存储介质 | |
CN111260475A (zh) | 一种数据处理方法、区块链节点设备及存储介质 | |
CN111399993A (zh) | 一种关联事务请求的跨链实现方法、装置、设备和介质 | |
CN113421076A (zh) | 分布式转账方法、装置、设备及存储介质 | |
CN110728504A (zh) | 区块链的数据处理方法、装置、设备及可读存储介质 | |
CN113342481B (zh) | 一种事务状态的确认方法及装置 | |
CN111767580B (zh) | 一种基于区块链的实物交接方法及装置 | |
CN113472781A (zh) | 一种服务获取方法、服务器及计算机可读存储介质 | |
CN113297610A (zh) | 基于区块链的信息处理方法、区块链节点和系统 | |
CN110599347A (zh) | 票据处理方法、装置、计算机可读存储介质和计算机设备 | |
CN116720818B (zh) | 基于区块链的仓储处理方法、装置、计算机设备 | |
CN112785433B (zh) | 一种数字货币信息记录系统、方法和存储介质 | |
CN109670763A (zh) | 一种数据处理方法及系统、终端和服务器 | |
CN116523632A (zh) | 信息调度方法、装置、电子设备和交互系统 | |
CN117237108A (zh) | 一种交易异常检测方法及相关装置 | |
CN117395039A (zh) | 区块链数据处理方法、装置、设备及存储介质 | |
CN116010436A (zh) | 物流扫描数据的更新方法、装置、设备及存储介质 |
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 |