交易撤销方法、装置、设备、介质和计算机程序产品
文献发布时间:2024-01-17 01:14:25
技术领域
本发明涉及数据分析技术领域,尤其涉及一种交易撤销方法、装置、设备、介质和计算机程序产品。
背景技术
在金融机构的交易系统中,由于柜面操作或者转账金额填写错误等问题,需要对已经完成的交易进行撤销操作,使得交易回归到未操作的状态。
撤销交易是针对某些特殊交易执行回退的功能。而撤销交易这一功能部署在分布式系统中,不像传统软件场景单机回滚交易即可。在分布式环境中,撤销交易需逐步代用待撤销的交易,在每笔交易呼出微服务的时候需要进行异常情况的捕捉,避免微服务之间调用发生网络波动异常等情况,所以撤销交易一致性需要得到保障。
若交易支持撤销,需要编写代码支持交易撤销。而金融机构的交易有很多种类型,需要人工编写大量代码,交易撤销的人工成本极高,导致交易撤销难以实现。
发明内容
本发明提供一种交易撤销方法、装置、设备、介质和计算机程序产品,用以解决交易撤销难以实现的问题。
一方面,本发明提供一种交易撤销方法,包括:
获取撤销请求,并根据所述撤销请求确定待撤销的目标交易;
配置所述目标交易对应的撤销逻辑,并根据所述撤销逻辑对各个目标设备进行撤销外呼,所述目标设备是撤销所述目标交易的子交易的设备;
在接收到各个所述目标设备反馈的外呼成功消息时,确定所述目标交易撤销成功。
在一实施例中,所述配置所述目标交易对应的撤销逻辑的步骤包括:
确定所述目标交易对应的子交易;
在存储各个所述子交易对应的交易信息时,配置所述目标交易对应的撤销逻辑。
在一实施例中,所述确定所述目标交易对应的子交易的步骤之后,还包括:
在未存储任一个所述子交易对应的交易信息时,确定第一子交易撤销失败,所述第一子交易是未存储交易信息的子交易;
对第二子交易进行冲正处理,以使所述目标交易回滚至未交易状态,所述第二子交易是存储有交易信息的子交易。
在一实施例中,所述对第二子交易进行冲正处理的步骤包括:
确定所述第一子交易在所述目标交易中的交易次序;
在根据所述交易次序,确定所述第一子交易在所述目标交易中不是首位进行交易的子交易时,对所述第二子交易进行冲正处理。
在一实施例中,所述确定所述目标交易撤销成功的步骤包括:
获取各个所述目标设备的外呼时长,所述外呼时长是所述目标设备进行撤销外呼与接收所述外呼成功消息之间的间隔时长;
在各个所述目标设备的外呼时长未超过预设时长,确定所述目标交易撤销成功。
在一实施例中,所述获取撤销请求的步骤包括:
接收待处理请求,并获取所述待处理请求对应的交易类型字段;
在所述交易类型字段为预设字段时,确定所述待处理请求为撤销请求。
另一方面,本发明还提供一种交易撤销装置,包括:
获取模块,用于获取撤销请求,并根据所述撤销请求确定待撤销的目标交易;
配置模块,用于配置所述目标交易对应的撤销逻辑,并根据所述撤销逻辑对各个目标设备进行撤销外呼,所述目标设备是撤销所述目标交易的子交易的设备;
确定模块,用于在接收到各个所述目标设备反馈的外呼成功消息时,确定所述目标交易撤销成功。
另一方面,本发明还提供一种交易撤销设备,包括:存储器以及处理器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如上所述的交易撤销方法。
另一方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上所述的交易撤销方法。
另一方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的交易撤销方法。
本发明提供的交易撤销方法、装置、设备、介质和计算机程序产品,获取撤销请求,并根据撤销请求确定待撤销的目标交易,再配置目标交易对应的撤销逻辑,基于撤销逻辑对各个子交易所在的目标设备进行撤销外呼,在接收到各个设备反馈的外呼成功消息时,确定目标交易撤销成功。本发明中,在进行交易撤销时,为交易配置撤销逻辑,无需人工编码交易的撤销逻辑,使得交易的撤销易于实现。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本发明实现交易撤销方法的应用场景示意图;
图2为本发明交易撤销方法第一实施例的流程示意图;
图3为本发明交易撤销方法第二实施例的流程示意图;
图4为本发明交易撤销方法第三实施例的流程示意图;
图5为本发明交易撤销方法第四实施例的流程示意图;
图6为本发明交易撤销装置的模块示意图;
图7为本发明交易撤销设备的硬件结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在金融机构的交易系统中,由于柜面操作或者转账金额填写错误等问题,需要对已经完成的交易进行撤销操作,使得交易回归到未操作的状态。
撤销交易是针对某些特殊交易执行回退的功能。而撤销交易这一功能部署在分布式系统中,不像传统软件场景单机回滚交易即可。在分布式环境中,撤销交易需逐步代用待撤销的交易,在每笔交易呼出微服务的时候需要进行异常情况的捕捉,避免微服务之间调用发生网络波动异常等情况,所以撤销交易一致性需要得到保障。
本专利发明人发现,若交易支持撤销,需要编写代码支持交易撤销。而金融机构的交易有很多种类型,需要人工编写大量代码,交易撤销的人工成本极高,导致交易撤销难以实现。
本专利发明人因此想到,在进行交易撤销时,为交易配置撤销逻辑,无需人工编码交易的撤销逻辑,使得交易的撤销易于实现。
需要说明的是,本发明所涉及数据是经用户授权或者是经过各方充分授权的数据,本发明对数据的采集、传播、使用等,均符合国家相关法律法规要求。
以下对本发明涉及的名词进行解释。
正交易:表示一种正向的交易逻辑,是为了达到某种业务效果而开发的一类交易。
冲正交易:是一类和正交易有着逆向逻辑的交易,为了除去正交易的所做的业务效果而开发的一种逆向的交易逻辑。
一致性:在分布式环境中,一致性是指数据在多个副本之间能够保持一致性。当一个系统在数据一致的状态下执行更新操作后,应该保证系统的数据仍然处于一致的状态。在分布式系统中,如果能够在一个数据项的更新操作执行成功后,所有的用户都可以读取到其最新的值,那么这样的系统就具有强一致性。
最终一致性:最终一致性强调系统中所有的数据副本,在经过一段时间的同步之后,最终能够达到一致的状态。
参照图1,图1为本发明交易撤销方法涉及的应用场景图。交易撤销装5置100获取撤销请求,并通过撤销请求确定待撤销的目标交易,再为目标交
易配置撤销逻辑,从而通过撤销逻辑向各个子交易所在的设备200进行撤销外呼,各个设备200反馈外呼成功消息时,即可确定目标交易撤销成功。
下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解
决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对0于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,
对本发明的实施例进行描述。
参照图2,图2为本发明交易撤销方法的第一实施例,交易撤销方法包括以下步骤:
步骤S201,获取撤销请求,并根据撤销请求确定待撤销的目标交易。
5在本实施例中,执行主体为交易撤销装置,为了便于描述,以下采用装
置指代交易撤销装置。装置可以是任意具备数据能力的终端设备。
装置获取撤销请求。在一示例中,装置可接收外部设备发送的撤销请求。
撤销请求中携带有已经完成的交易的标识。
在另一示例中,装置接收待处理请求,获取待处理请求所对应的交易类0型字段,也即解析待处理请求得到交易类型字段。装置对交易类型字段进行
校验,以确定交易类型字段是否为预设字段。若交易类型字段是预设字段时,即可确定待处理请求为撤销请求。示例性的,撤销请求中的字段携带有特定的字段,若是待处理请求对应的交易类型字段包含有该特定的字段,即可确定交易类型字段是预设字段,也即待处理请求是撤销请求。
5装置在获得撤销请求,解析撤销请求得到交易标识,从而基于交易标识
确定待撤销的目标交易。
步骤S202,配置目标交易对应的撤销逻辑,并根据撤销逻辑对各个目标设备进行撤销外呼,目标设备是撤销目标交易的子交易的设备。
装置中设置有模型,装置通过模型配置目标交易所对应的撤销逻辑。示0例性的,装置确定目标交易的特性,模型基于目标交易的特性为目标交易的特性匹配对应的逻辑代码,通过各个逻辑代码即可构建目标交易的撤销逻辑。
需要说明的是,撤销交易与正交易的步骤类型,因而撤销交易的撤销逻辑与正交易的执行逻辑大量重合,模型可以基于正交易的执行逻辑配置撤销交易所对应的撤销逻辑。
在本实施例中,目标交易是组合交易,也即目标交易由多个子交易构成,执行每个子交易的设备定义为目标设备,可以理解的是,目标设备是撤销目标交易的子交易的设备。装置基于撤销逻辑对各个目标设备进行撤销外呼,也即装置基于撤销逻辑请求各个目标设备撤销目标交易所包括的子交易。撤销逻辑包括了对各个子交易进行外呼的顺序以及目标设备撤销子交易的参数等。
步骤S203,在接收到各个目标设备反馈的外呼成功消息时,确定目标交易撤销成功。
装置在接收到各个目标设备反馈的外呼成功消息时,即可确定目标交易撤销成功。示例性的,外呼成功指的是目标设备成功的撤销子交易,也即外呼成功消息指的是目标设备成功撤销子交易的提示信息。
在本实施例中,获取撤销请求,并根据撤销请求确定待撤销的目标交易,再配置目标交易对应的撤销逻辑,基于撤销逻辑对各个子交易所在的目标设备进行撤销外呼,在接收到各个设备反馈的外呼成功消息时,确定目标交易撤销成功。本实施例中,在进行交易撤销时,为交易配置撤销逻辑,无需人工编码交易的撤销逻辑,使得交易的撤销易于实现。
参照图3,图3为本发明交易撤销方法第二实施例,基于第一实施例,步骤S203包括:
步骤S301,确定目标交易对应的子交易。
步骤S302,在存储各个子交易对应的交易信息时,确定目标交易撤销成功。
在本实施例中,撤销交易和正交易一样处理,所以撤销交易也会记录流水,避免撤销失败,需要根据流水遍历冲正的情况。也即子交易进行撤销会产出交易流水,且子交易的交易流水与子交易的交易标识关联存储。装置在外呼之前需要确定各个子交易是否撤销成功。具体的,装置先确定目标交易对应的子交易,并获取子交易所对应的交易标识。装置在得到交易标识后,基于交易标识从存储空间中获取子交易对应的交易信息。
装置若查找到每个子交易所对应的交易信息后,即可确定每个子交易撤销成功,装置则配置目标交易对应的撤销逻辑,进而基于撤销逻辑对各个目标设备进行撤销外呼。
在本实施例中,装置确定目标交易对应的子交易,若是存储各个子交易对应的交易信息时,即可配置撤销逻辑进行撤销外呼。
参照图4,图4为本发明交易撤销方法第三实施例,基于第二实施例,步骤S301之后,还包括:
步骤S401,在未存储任一个子交易对应的交易信息时,确定第一子交易撤销失败,第一子交易是未存储交易信息的子交易。
步骤S402,对第二子交易进行冲正处理,以使目标交易回滚至未交易状态,第二子交易是存储有交易信息的子交易。
在本实施例中,装置在检测到未存储任一个子交易对应的交易信息时,即可确定第一子交易撤销失败,第一子交易是未存储有交易信息的子交易。
目标交易是组合交易包括多个子交易,需要保证各个子交易的最终一致性,也即需要保证各个子交易最终的结果是一致的。若是部分子交易撤销失败,部分子交易撤销成功,则各个子交易的撤销状态不一致,也即各个子交易最终的撤销结果不一致,需要进行冲正处理。对此,装置对第二子交易进行冲正处理,第二子交易是存储有交易信息的子交易,也即第二子交易是撤销成功的子交易。对第二子交易进行冲正处理使得第二子交易由撤销成功的状态改为撤销失败的状态,从而使得各个子交易保持最终一致性,也即使得目标交易回滚至未交易的状态。当然,若是装置未存储任何子交易的交易信息,则各个子交易均是撤销失败,则不需要对子交易进行冲正处理。
需要说明的是,每个子交易具有交易次序,例如,目标交易包括子交易a、子交易b以及子交易c,子交易a的交易次序为第一,子交易b的交易次序为第二,子交易c的交易次数为第三。在进行撤销时,会先对交易次序为第一的子交易a进行撤销,再对交易次序为第二的子交易b进行撤销,最后对交易次序为第三子交易c进行撤销。若是交易次序为第一的子交易撤销失败,则不会对交易次序为第二以及第三的子交易b以及子交易c进行撤销,且各个子交易均撤销失败,此种情况不需要进行冲正处理。因而,会出现有未存储有子交易的交易信息但不需要进行冲正处理的情况。对此,装置确定第一子交易在目标交易中的交易次序,在根据交易次序确定第一子交易在目标交易中不是首位进行交易的子交易时,对第二子交易进行冲正处理,从而规避了未存储有子交易的交易信息但不需要进行冲正处理的情况出现。
在本实施例中,通过获取交易流水即可确定是否需要进行冲正处理,将撤销交易与冲正处理进行了解耦,以适用任何交易的冲正处理。此外,开发人员只需关注交易流水,而无需关心撤销交易的执行步骤,降低了撤销交易的开发难度。
在本实施例中,当装置未存储有任一个子交易对应的交易信息时,对存储有交易信息的子交易信息冲正处理,从而保证各个子交易的最终一致性。
参照图5,图5为本发明交易撤销方法第四实施例,基于第一至第三中任一实施例,步骤S203包括:
步骤S501,获取各个目标设备的外呼时长,外呼时长是目标设备进行撤销外呼与接收外呼成功消息之间的间隔时长。
步骤S502,在各个目标设备的外呼时长未超过预设时长,确定目标交易撤销成功。
在本实施例中,装置需要确定是否外呼超时,若外呼超时,则交易撤销失败。具体的,装置获取各个目标设备的外呼时长,外呼时长是目标设备进行撤销外呼与装置接收外呼成功消息之间的间隔时长。装置判断外呼时长是否超过预设时长。若是各个目标设备的外呼时长未超过预设时长,即可确定目标交易撤销成功。若是任一个目标设备的外呼时长超过预设时长,则目标设备所对应的子交易撤销失败,则需要进行冲正处理,也即对外呼时长未超过预设时长的子交易进行冲正交易。
在本实施例中,装置获取各个目标设备的外呼时长,若是各个目标设备的外呼时长未超过预设时长,则确定目标交易撤销成功。
本发明还提供一种交易撤销装置,参照图6,交易撤销装置600包括:
获取模块610,用于获取撤销请求,并根据撤销请求确定待撤销的目标交易;
配置模块620,用于配置目标交易对应的撤销逻辑,并根据撤销逻辑对各个目标设备进行撤销外呼,目标设备是撤销目标交易的子交易的设备;
确定模块630,用于在接收到各个目标设备反馈的外呼成功消息时,确定目标交易撤销成功。
在一实施例中,交易撤销装置600包括:
确定模块630,用于确定目标交易对应的子交易;
确定模块630,用于在存储各个子交易对应的交易信息时,确定目标交易撤销成功。
在一实施例中,交易撤销装置600包括:
确定模块630,用于在未存储任一个子交易对应的交易信息时,确定第一子交易撤销失败,第一子交易是未存储交易信息的子交易;
处理模块,用于对第二子交易进行冲正处理,以使目标交易回滚至未交易状态,第二子交易是存储有交易信息的子交易。
在一实施例中,交易撤销装置600包括:
确定模块630,用于确定第一子交易在目标交易中的交易次序;
确定模块630,用于在根据交易次序,确定第一子交易在目标交易中不是首位进行交易的子交易时,对第二子交易进行冲正处理。
在一实施例中,交易撤销装置600包括:
获取模块610,用于获取各个目标设备的外呼时长,外呼时长是目标设备进行撤销外呼与接收外呼成功消息之间的间隔时长;
确定模块630,用于在各个目标设备的外呼时长未超过预设时长,确定目标交易撤销成功。
在一实施例中,交易撤销装置600包括:
接收模块,用于接收待处理请求,并获取待处理请求对应的交易类型字段;
确定模块630,用于在交易类型字段为预设字段时,确定待处理请求为撤销请求。
图7是根据一示例性实施例示出的一种交易撤销设备的硬件结构图。
交易撤销设备700可以包括:处理器701,例如CPU,存储器702以及收发器703。本领域技术人员可以理解,图7中示出的结构并不构成对交易撤销设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器701可以调用存储器702内存储的计算机程序(计算机执行指令),以完成上述的交易撤销方法的全部或部分步骤。
收发器703用于接收外部设备发送的信息以及向外部设备发送信息。
一种非临时性计算机可读存储介质,当该存储介质中的指令(计算机执行指令)由交易撤销设备的处理器执行时,使得交易撤销设备能够执行上述交易撤销方法。
一种计算机程序产品,包括计算机程序,当该计算机程序由交易撤销设备的处理器执行时,使得交易撤销设备能够执行上述交易撤销方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本发明旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。
- 图像分类方法及装置、电子设备、计算机程序及存储介质
- 用于调整、制造、以及操作无线电收发信机、移动收发信机、基站收发信机的调整电路和装置、方法、以及计算机程序、和用于计算机程序或指令的存储设备
- 一种风险交易识别方法、装置、设备及介质
- 应用于请求方客户端资源流交易方法、装置、设备及介质
- 新能源交易方法、装置、设备及存储介质
- 还款撤销方法、装置、计算机程序产品和存储介质
- 区块链交易装置、方法、设备、介质及计算机程序产品