基于分布式事务的支付交易数据一致性控制方法及系统与流程

文档序号:20264403发布日期:2020-04-03 18:12阅读:428来源:国知局
基于分布式事务的支付交易数据一致性控制方法及系统与流程

本发明涉及数据处理技术领域,特别是一种基于分布式事务的支付交易数据一致性控制方法及系统。



背景技术:

随着支付行业极大地推升了各行各业的效率,智能设备、刷脸支付,将越来越流行,支付的边界逐步消失。同时也带来了单日海量的业务量需求,支付系统的总行数与访问量都急剧扩大,单体系统不足以支撑起企业对高效率处理支付业务能力的需求,这时按业务功能拆分成多个服务进行分布式协同处理是个不错的选择,即分布式微服务架构成为了趋势,如何保证多服务之间数据的一致性和完整性成为不容忽视的一个问题。



技术实现要素:

为解决现有技术中存在的问题,本发明提供了一种基于分布式事务的支付交易数据一致性控制方法及系统,对支付交易数据进行分布处理,提高数据同步处理效率,同时保证数据的一致性和完整性,实现高并发、高一致性。

本发明采用的技术方案是:

一种基于分布式事务的支付交易数据一致性控制方法,包括以下步骤:

s1、接收客户端的交易请求指令;

s2、根据接收的交易请求指令进行交易数据处理;

s3、向通道发送支付请求指令;

s4、获取实时通道应答数据;

s5、根据获取的实时通道应答数据生成最终支付处理结果;

s6、将支付处理结果返回给客户端;

s7、根据支付处理结果,生成并发送交易原始凭证信息至会计系统进行会计处理。

获取通道同步应答时的退款、出款、快捷等实时应答数据,根据实时获取的通道应答数据更改支付订单信息以及对应的业务逻辑处理,并将支付处理结果返回给客户端,同时生成对应的交易原始凭证信息,发送至会计系统进行会计处理。本方法主要依赖于两大模块实现:客户端和管理端,txclient作为模块的依赖框架,提供tx-lcn的标准支持,同时具备自动超时机制和事务补偿算法为系统提供事务快速处理能力。其核心步骤为创建事务组、加入事务组、通知事务组和最终事务结果回执。过程中由管理端统一协调控制事务。

本方法通过实时获取支付交易数据,对获取的实时数据进行同步处理,用自动超时机制和事务补偿算法作为辅助来保证数据处理的及时性和一致性,有效实现数据传输的高并发性、高一致性,同时保证数据的完整性。

进一步地,步骤s2还包括以下步骤:

判断交易数据处理是否成功,如果是,则进入步骤s3;如果否,则进入步骤s6。

对交易数据处理成功与否进行判断,及时将交易数据处理结果发送给客户,提示客户,保证数据处理的有效性。

进一步地,步骤s4还包括以下步骤:

判断通道是否应答,如果是,则进入步骤s5;如果否,则进入步骤s6。

对通道应答进行判断,及时释放被占用的资源并进行事务补偿处理,保证数据的一致性。

进一步地,步骤s6还包括以下步骤:

判断支付处理结果是否成功,如果是,则进入步骤s7;如果否,则进入步骤s6。

对支付处理结果是否发送成功进行判断,如果不成功,则及时将结果反馈给客户,提示客户重新发送交易请求,保证数据的准确性和完整性。

进一步地,步骤s7包括以下步骤:

s71、根据支付处理结果,生成并发送交易原始凭证信息至会计系统;

s72、判断交易原始凭证是否发送成功,如果是,则进入步骤s73;如果否,则进入步骤s71;

s73、进行会计处理。

对交易原始凭证是否发送成功进行判断,如果不成功,则重新发送,基于可靠消息的最终一致性,可以异步,但数据绝对不能丢,保证数据的完整性。

一种基于分布式事务的支付交易数据一致性控制系统,包括请求接收模块、数据处理模块、支付发起模块、应答数据获取模块、交易处理模块、结果发送模块和会计处理模块,其中:

请求接收模块,用于接收客户端的交易请求指令;

数据处理模块,用于根据接收的交易请求指令进行交易数据处理;

支付发起模块,用于向通道发送支付请求指令;

应答数据获取模块,用于获取实时通道应答数据;

交易处理模块,用于根据获取的实时通道应答数据生成最终支付处理结果;

结果发送模块,用于将支付处理结果返回给客户端;

会计处理模块,用于根据支付处理结果,生成并发送交易原始凭证信息至会计系统进行会计处理。

通过请求接收模块接收客户端的交易请求指令,数据处理模块根据接收的交易请求指令进行交易数据处理,支付发起模块向通道发送支付请求指令,应答数据获取模块获取通道同步应答时的退款、出款、快捷等实时应答数据,根据实时获取的通道应答数据更改支付订单信息以及对应的业务逻辑处理,并通过结果发送模块将支付处理结果返回给客户端,同时会计处理模块根据支付处理结果生成对应的交易原始凭证信息,并将交易原始凭证信息发送至会计系统进行会计处理。该系统主要由两大模块组成:客户端和管理端,txclient作为模块的依赖框架,提供tx-lcn的标准支持,同时具备自动超时机制和事务补偿算法为系统提供事务快速处理能力。其核心步骤为创建事务组、加入事务组、通知事务组和最终事务结果回执。过程中由管理端统一协调控制事务。

本系统通过实时支付交易数据,对获取的实时数据进行同步处理,用自动超时机制和事务补偿算法作为辅助来保证数据处理的及时性和一致性,有效实现数据传输的高并发性、高一致性,同时保证数据的完整性。

进一步地,所述数据处理模块还包括交易判断子模块,用于判断交易数据处理是否成功,如果是,则支付发起模块工作;如果否,则结果发送模块工作。

对交易数据处理成功与否进行判断,及时将交易数据处理结果发送给客户,提示客户,保证数据处理的有效性。

进一步地,所述应答数据获取模块还包括应答判断子模块,用于判断通道是否应答,如果是,则交易处理模块工作;如果否,则结果发送模块工作。

对通道应答进行判断,及时释放被占用的资源并进行事务补偿处理,保证数据的一致性。

进一步地,所述结果发送模块还包括结果判断子模块,用于判断支付处理结果是否成功,如果是,则会计处理模块工作;如果否,则结果发送模块工作。

对支付处理结果是否发送成功进行判断,如果不成功,则及时将结果反馈给客户,提示客户重新发送交易请求,保证数据的准确性和完整性。

进一步地,所述会计处理模块包括生成子模块、判断子模块和处理子模块,其中:

生成子模块,用于根据支付处理结果,生成并发送交易原始凭证信息至会计系统;

判断子模块,用于判断交易原始凭证是否发送成功,如果是,则处理子模块工作;如果否,则生成子模块工作;

处理子模块,用于进行会计处理。

对交易原始凭证信息是否发送成功进行判断,如果不成功,则重新发送交易原始凭证信息,基于可靠消息的最终一致性,可以异步,但数据绝对不能丢,保证数据的完整性。

本发明的有益效果是:

1、对获取的实时数据进行同步处理,用自动超时机制和事务补偿算法作为辅助来保证数据处理的及时性和一致性,有效实现数据传输的高并发性、高一致性,同时保证数据的完整性;

2、对交易数据处理成功与否进行判断,及时将交易数据处理结果发送给客户,提示客户,保证数据处理的有效性;

3、对通道应答进行判断,及时释放被占用的资源并进行事务补偿处理,保证数据的一致性;

4对支付处理结果是否发送成功进行判断,如果不成功,则重新接收客户端的交易请求指令,保证数据的准确性和完整性;

5、对交易原始凭证是否发送成功进行判断,如果不成功,则重新发送,基于可靠消息的最终一致性,可以异步,但数据绝对不能丢,保证数据的完整性。

附图说明

图1为本发明实施例一种基于分布式事务的支付交易数据一致性控制方法的流程图;

图2为本发明实施例一种基于分布式事务的支付交易数据一致性控制系统的原理图。

附图标记说明:

10、请求接收模块;20、数据处理模块;201、交易判断子模块;30、支付发起模块;40、应答数据获取模块;401、应答判断子模块;50、交易处理模块;60、结果发送模块;601、结果判断子模块;70、会计处理模块;701、生成子模块;702、判断子模块;703、处理子模块。

具体实施方式

下面结合附图对本发明的实施例进行详细说明。

实施例

如图1所示,一种基于分布式事务的支付交易数据一致性控制方法,包括以下步骤:

s1、接收客户端的交易请求指令;

s2、根据接收的交易请求指令进行交易数据处理;

s3、向通道发送支付请求指令;

s4、获取实时通道应答数据;

s5、根据获取的实时通道应答数据生成最终支付处理结果;

s6、将支付处理结果返回给客户端;

s7、根据支付处理结果,生成并发送交易原始凭证信息至会计系统进行会计处理。

获取通道同步应答时的退款、出款、快捷等实时应答数据,根据实时获取的通道应答数据更改支付订单信息以及对应的业务逻辑处理,并将支付处理结果返回给客户端,同时生成对应的交易原始凭证信息,发送至会计系统进行会计处理。本方法主要依赖于两大模块实现:客户端和管理端,txclient作为模块的依赖框架,提供tx-lcn的标准支持,同时具备自动超时机制和事务补偿算法为系统提供事务快速处理能力。其核心步骤为创建事务组、加入事务组、通知事务组和最终事务结果回执。过程中由管理端统一协调控制事务。

本方法通过实时获取支付交易数据,对获取的实时数据进行同步处理,用自动超时机制和事务补偿算法作为辅助来保证数据处理的及时性和一致性,有效实现数据传输的高并发性、高一致性,同时保证数据的完整性。

在其中一个实施例中,步骤s2还包括以下步骤:

判断交易数据处理是否成功,如果是,则进入步骤s3;如果否,则进入步骤s6。

对交易数据处理成功与否进行判断,及时将交易数据处理结果发送给客户,提示客户,保证数据处理的有效性。

在其中一个实施例中,步骤s4还包括以下步骤:

判断通道是否应答,如果是,则进入步骤s5;如果否,则进入步骤s6。

对通道应答进行判断,及时释放被占用的资源并进行事务补偿处理,保证数据的一致性。

在其中一个实施例中,步骤s6还包括以下步骤:

判断支付处理结果是否成功,如果是,则进入步骤s7;如果否,则进入步骤s6。

对支付处理结果是否发送成功进行判断,如果不成功,则及时将结果反馈给客户,提示客户重新发送交易请求,保证数据的准确性和完整性。

在其中一个实施例中,步骤s7包括以下步骤:

s71、根据支付处理结果,生成并发送交易原始凭证信息至会计系统;

s72、判断交易原始凭证是否发送成功,如果是,则进入步骤s73;如果否,则进入步骤s71;

s73、进行会计处理。

对交易原始凭证是否发送成功进行判断,如果不成功,则重新发送,基于可靠消息的最终一致性,可以异步,但数据绝对不能丢,保证数据的完整性。

如图2所示,一种基于分布式事务的支付交易数据一致性控制系统,包括请求接收模块10、数据处理模块20、支付发起模块30、应答数据获取模块40、交易处理模块50、结果发送模块60和会计处理模块70,其中:

请求接收模块10,用于接收客户端的交易请求指令;

数据处理模块20,用于根据接收的交易请求指令进行交易数据处理;

支付发起模块30,用于向通道发送支付请求指令;

应答数据获取模块40,用于获取实时通道应答数据;

交易处理模块50,用于根据获取的实时通道应答数据生成最终支付处理结果;

结果发送模块60,用于将支付处理结果返回给客户端;

会计处理模块70,用于根据支付处理结果,生成并发送交易原始凭证信息至会计系统进行会计处理。

通过请求接收模块10接收客户端的交易请求指令,数据处理模块20根据接收的交易请求指令进行交易数据处理,支付发起模块30向通道发送支付请求指令,应答数据获取模块40获取通道同步应答时的退款、出款、快捷等实时应答数据,根据实时获取的通道应答数据更改支付订单信息以及对应的业务逻辑处理,并通过结果发送模块60将支付处理结果返回给客户端,同时会计处理模块70根据支付处理结果生成对应的交易原始凭证信息,并将交易原始凭证信息发送至会计系统进行会计处理。该系统主要由两大模块组成:客户端和管理端,txclient作为模块的依赖框架,提供tx-lcn的标准支持,同时具备自动超时机制和事务补偿算法为系统提供事务快速处理能力。其核心步骤为创建事务组、加入事务组、通知事务组和最终事务结果回执。过程中由管理端统一协调控制事务。

本系统通过实时支付交易数据,对获取的实时数据进行同步处理,用自动超时机制和事务补偿算法作为辅助来保证数据处理的及时性和一致性,有效实现数据传输的高并发性、高一致性,同时保证数据的完整性。

在其中一个实施例中,如图2所示,所述数据处理模块20还包括交易判断子模块201,用于判断交易数据处理是否成功,如果是,则支付发起模块30工作;如果否,则结果发送模块60工作。

对交易数据处理成功与否进行判断,及时将交易数据处理结果发送给客户,提示客户,保证数据处理的有效性。

在其中一个实施例中,如图2所示,所述应答数据获取模块40还包括应答判断子模块401,用于判断通道是否应答,如果是,则交易处理模块50工作;如果否,则结果发送模块60工作。

对通道应答进行判断,及时释放被占用的资源并进行事务补偿处理,保证数据的一致性。

在其中一个实施例中,如图2所示,所述结果发送模块60还包括结果判断子模块601,用于判断支付处理结果是否成功,如果是,则会计处理模块70工作;如果否,则发送提示信息,请求接收模块10工作。

对支付处理结果是否发送成功进行判断,如果不成功,则及时将结果反馈给客户,提示客户重新发送交易请求,保证数据的准确性和完整性。

在其中一个实施例中,如图2所示,所述会计处理模块70包括生成子模块701、判断子模块702和处理子模块703,其中:

生成子模块701,用于根据支付处理结果,生成并发送交易原始凭证信息至会计系统;

判断子模块702,用于判断交易原始凭证是否发送成功,如果是,则处理子模块703工作;如果否,则生成子模块701工作;

处理子模块703,用于进行会计处理。

对交易原始凭证信息是否发送成功进行判断,如果不成功,则重新发送交易原始凭证信息,基于可靠消息的最终一致性,可以异步,但数据绝对不能丢,保证数据的完整性。

以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1