1.本发明涉及大数据处理领域,尤其涉及一种跨系统分布式事务处理方法及系统。
背景技术:
2.随着互联网的快速发展,软件系统由原来的单体应用转变为分布式应用,分布式系统会把一个应用系统拆分为可独立部署的多个服务,因此需要服务与服务之间远程协作才能完成事务操作,这种分布式系统环境下由不同的服务之间通过网络远程协作完成事务称之为分布式事务。
3.然而,发现上述方式至少存在如下技术问题:
4.现有技术金融领域分布式联机交易在跨多个系统时存在业务数据一致性问题。
技术实现要素:
5.本技术实施例通过提供一种跨系统分布式事务处理方法及系统,解决了现有技术金融领域分布式联机交易在跨多个系统时存在业务数据一致性问题的技术问题,达到通过整合各分布式事务方案的优点,将分布式事务融合到分布式的联机交易中,实现了分布式事务的可配置化和报警,分布式联机交易事务回滚方式的可配置化,解决了金融领域分布式联机交易事务一致性问题,降低了分布式联机交易事务一致性难度,提高研发效率的技术效果。
6.鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的方法。
7.第一方面,本技术实施例提供了一种跨系统分布式事务处理方法,所述方法包括:获得第一联机交易服务接口;获得第一调用指令,根据所述第一调用指令联机交易使用方对所述第一联机交易服务接口进行调用,获得第一联机交易事务节点记录,并对所述第一联机交易事务节点记录进行数据存储;根据第一联机交易响应操作获得第一联机交易事务执行状态,将所述第一联机交易事务执行状态记录至所述第一联机交易事务节点记录;当所述第一联机交易事务执行状态为联机超时或联机交易执行失败时,进行事务同步回滚或重试处理;当所述事务同步回滚失败时,记录至事务异步回滚中,当所述重试处理失败时,记录至事务异步重试处理中;配置联机交易事务参数信息;根据所述联机交易事务参数信息,获得预设失败最大次数、预设重试最大次数和预设报警方式;当所述事务异步回滚的失败次数超过所述预设失败最大次数时,基于所述预设报警方式进行失败报警,当所述事务异步重试处理的次数超过预设重试最大次数时,基于所述预设报警方式进行异常报警。
8.另一方面,本技术还提供了一种跨系统分布式事务处理系统,所述系统包括:第一获得单元,所述第一获得单元用于获得第一联机交易服务接口;第一调用单元,所述第一调用单元用于获得第一调用指令,根据所述第一调用指令联机交易使用方对所述第一联机交易服务接口进行调用,获得第一联机交易事务节点记录,并对所述第一联机交易事务节点记录进行数据存储;第一记录单元,所述第一记录单元用于根据第一联机交易响应操作获
得第一联机交易事务执行状态,将所述第一联机交易事务执行状态记录至所述第一联机交易事务节点记录;第一处理单元,所述第一处理单元用于当所述第一联机交易事务执行状态为联机超时或联机交易执行失败时,进行事务同步回滚或重试处理;第二记录单元,所述第二记录单元用于当所述事务同步回滚失败时,记录至事务异步回滚中,当所述重试处理失败时,记录至事务异步重试处理中;第一配置单元,所述第一配置单元用于配置联机交易事务参数信息;第二获得单元,所述第二获得单元用于根据所述联机交易事务参数信息,获得预设失败最大次数、预设重试最大次数和预设报警方式;第一报警单元,所述第一报警单元用于当所述事务异步回滚的失败次数超过所述预设失败最大次数时,基于所述预设报警方式进行失败报警,当所述事务异步重试处理的次数超过预设重试最大次数时,基于所述预设报警方式进行异常报警。
9.第三方面,本发明实施例提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述收发器、所述存储器和所述处理器通过所述总线相连,所述计算机程序被所述处理器执行时实现上述任意一项所述的控制输出数据的方法中的步骤。
10.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的控制输出数据的方法中的步骤。
11.本技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
12.由于采用了根据第一调用指令联机交易使用方对所述第一联机交易服务接口进行调用,获得第一联机交易事务节点记录,并对所述第一联机交易事务节点记录进行数据存储;根据第一联机交易响应操作获得第一联机交易事务执行状态,将所述第一联机交易事务执行状态记录至所述第一联机交易事务节点记录;当所述第一联机交易事务执行状态为联机超时或联机交易执行失败时,进行事务同步回滚或重试处理;当所述事务同步回滚失败时,记录至事务异步回滚中,当所述重试处理失败时,记录至事务异步重试处理中;当所述事务异步回滚的失败次数超过预设失败最大次数时,基于所述预设报警方式进行失败报警,当所述事务异步重试处理的次数超过预设重试最大次数时,基于所述预设报警方式进行异常报警。进而达到通过整合各分布式事务方案的优点,将分布式事务融合到分布式的联机交易中,实现了分布式事务的可配置化和报警,分布式联机交易事务回滚方式的可配置化,解决了金融领域分布式联机交易事务一致性问题,降低了分布式联机交易事务一致性难度,提高研发效率的技术效果。
13.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
14.图1为本技术实施例一种跨系统分布式事务处理方法的流程示意图;
15.图2为本技术实施例一种跨系统分布式事务处理系统的结构示意图;
16.图3为本技术实施例所提供的一种用于执行控制输出数据的方法的电子设备的结构示意图。
17.附图标记说明:第一获得单元11,第一调用单元12,第一记录单元13,第一处理单元14,第二记录单元15,第一配置单元16,第二获得单元17,第一报警单元18,总线1110,处理器1120,收发器1130,总线接口1140,存储器1150,操作系统1151,应用程序1152和用户接口1160。
具体实施方式
18.在本发明实施例的描述中,所属技术领域的技术人员应当知道,本发明实施例可以实现为方法、装置、电子设备及计算机可读存储介质。因此,本发明实施例可以具体实现为以下形式:完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、硬件和软件结合的形式。此外,在一些实施例中,本发明实施例还可以实现为在一个或多个计算机可读存储介质中的计算机程序产品的形式,该计算机可读存储介质中包含计算机程序代码。
19.上述计算机可读存储介质可以采用一个或多个计算机可读存储介质的任意组合。计算机可读存储介质包括:电、磁、光、电磁、红外或半导体的系统、装置或器件,或者以上任意的组合。计算机可读存储介质更具体的例子包括:便携式计算机磁盘、硬盘、随机存取存储器、只读存储器、可擦除可编程只读存储器、闪存、光纤、光盘只读存储器、光存储器件、磁存储器件或以上任意组合。在本发明实施例中,计算机可读存储介质可以是任意包含或存储程序的有形介质,该程序可以被指令执行系统、装置、器件使用或与其结合使用。
20.本发明实施例通过流程图和/或方框图描述所提供的方法、装置、电子设备。
21.应当理解,流程图和/或方框图的每个方框以及流程图和/或方框图中各方框的组合,都可以由计算机可读程序指令实现。这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,这些计算机可读程序指令通过计算机或其他可编程数据处理装置执行,产生了实现流程图和/或方框图中的方框规定的功能/操作的装置。
22.也可以将这些计算机可读程序指令存储在能使得计算机或其他可编程数据处理装置以特定方式工作的计算机可读存储介质中。这样,存储在计算机可读存储介质中的指令就产生出一个包括实现流程图和/或方框图中的方框规定的功能/操作的指令装置产品。
23.也可以将计算机可读程序指令加载到计算机、其他可编程数据处理装置或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程数据处理装置上执行的指令能够提供实现流程图和/或方框图中的方框规定的功能/操作的过程。
24.下面结合本发明实施例中的附图对本发明实施例进行描述。
25.实施例一
26.如图1所示,本技术实施例提供了一种跨系统分布式事务处理方法,所述方法包括:
27.步骤s100:获得第一联机交易服务接口;
28.具体而言,随着互联网的快速发展,软件系统由原来的单体应用转变为分布式应用,分布式系统会把一个应用系统拆分为可独立部署的多个服务,因此需要服务与服务之间远程协作才能完成事务操作,这种分布式系统环境下由不同的服务之间通过网络远程协作完成事务称之为分布式事务,例如用户注册送积分事务、创建订单减库存事务,银行转账
事务等都是分布式事务。联机交易就意味着系统对外直接提供的交易,该类交易具有事务性,可回滚;实时性,交易有生命周期,并有超时机制等,调用方需实时等待被调方的反馈,成功或失败皆有反馈;并发性,同一类甚至同一个交易可同时被多个线程调用,相互间有锁处理机制,如取款交易,余额的查询(可能出现余额不足的情况)及更新、交易流水的生成、账户使用记录的生成、会计凭证的生成、。所述第一联机交易服务接口是联机交易服务方对外提供的业务/功能服务接口,系统或功能间有业务逻辑关系,比如:erp系统中,采购入库后,会生成库存入库单,影响可用量等,接口间有业务逻辑的上下游关系,可能会涉及跨系统或者模块的逻辑控制,以及反向操作。
29.步骤s200:获得第一调用指令,根据所述第一调用指令联机交易使用方对所述第一联机交易服务接口进行调用,获得第一联机交易事务节点记录,并对所述第一联机交易事务节点记录进行数据存储;
30.具体而言,当联机交易使用方调用该联机交易时,根据所述第一调用指令联机交易使用方对所述第一联机交易服务接口进行调用,获得第一联机交易事务节点记录,所述第一联机交易事务节点记录用于记录请求调用方信息,服务器信息,请求时间戳,请求全局唯一标识,报文内容、当前联机交易所属步骤(一个联机交易内部依赖多个联机交易时,依赖的各联机交易所属执行步骤)、回滚状态、当前联机交易事务处理状态等信息。对所述第一联机交易事务节点记录进行数据存储,如调用该联机交易时首先对该联机交易请求报文进行数据存储(关系型数据库/非关系型数据库/文件等方式),实现联机事务信息数据的存储,该数据为事务执行失败提供回滚参考。
31.步骤s300:根据第一联机交易响应操作获得第一联机交易事务执行状态,将所述第一联机交易事务执行状态记录至所述第一联机交易事务节点记录;
32.进一步而言,所述第一联机交易事务执行状态包括:联机超时、联机交易执行异常、联机交易执行成功/失败。
33.具体而言,联机交易使用方调用所述第一联机交易服务接口,根据第一联机交易响应操作即业务/功能服务接口需要做响应的操作,如订单微服务和库存微服务操作,获得第一联机交易事务执行状态。所述第一联机交易事务执行状态包括:联机超时、联机交易执行异常、联机交易执行成功/失败,联机超时即网络连接超时,就是在程序默认的等待时间内没有得到服务器的响应,网络连接超时可能的原因有:网络断开、网络阻塞、网络不稳定、系统问题等;联机交易执行异常是联机服务提供方处理异常,是指程序运行过程中发生的一些不正常事件,如除0溢出,数组下标越界,所要读取的文件不存在等;联机交易执行成功/失败是联机服务方处理成功/失败。将所述第一联机交易事务执行状态记录至所述第一联机交易事务节点记录的数据中,实现联机事务执行状态信息数据的存储,为后续事务执行失败提供回滚参考。
34.步骤s400:当所述第一联机交易事务执行状态为联机超时或联机交易执行失败时,进行事务同步回滚或重试处理;
35.步骤s500:当所述事务同步回滚失败时,记录至事务异步回滚中,当所述重试处理失败时,记录至事务异步重试处理中;
36.具体而言,事务就是一系列相关数据库操作的集合,因此,只有事务里的所有操作都正常完成才算一次事务提交,如果有一个操作不完成,数据库就恢复到操作前状态,这叫
做事务回滚。例如,在将资金从一个账户转移到另一个账户的银行应用中,一个账户将一定的金额贷记到一个数据库表中,同时另一个账户将相同的金额借记到另一个数据库表中,由于计算机可能会因停电、网络中断等而出现故障,因此有可能更新了一个表中的行,但没有更新另一个表中的行,如果数据库支持事务,则可以将数据库操作组成一个事务,以防止因这些事件而使数据库出现不一致,如果事务中的某个点发生故障,则所有更新都可以回滚到事务开始之前的状态。
37.当所述第一联机交易事务执行状态为联机超时或联机交易执行失败时,进行实时事务同步回滚或重试处理,事务同步回滚是同步线程回滚,该操作为实时调用,如xa方案:是一个分布式事务协议,它大致分为两部分:事务管理器和本地资源管理器,其中本地资源管理器往往由数据库实现,而事务管理器作为全局的调度者,负责各个本地资源的提交和回滚。优点为接口标准化,缺点是阻塞协议,影响系统吞吐和可伸缩性,性能不理想,很难满足互联网大并发需求,缺乏容错机制。当所述事务同步回滚失败时,将自动记录到事务异步回滚处理中,异步回滚是异步线程回滚,如mq事务消息是一种异步确保型的实现方案,将同步阻塞的事务变成异步的,避免了对数据库事务的争用,当所述重试处理失败时,将根据配置自动记录到事务异步重试处理中。通过结合现有分布式方案,将分布式事务融合到分布式的联机交易中。
38.步骤s600:配置联机交易事务参数信息;
39.步骤s700:根据所述联机交易事务参数信息,获得预设失败最大次数、预设重试最大次数和预设报警方式;
40.具体而言,对联机交易事务进行配置,所述联机交易事务参数信息包括配置联机交易事务场景,可回滚失败/重试失败的最大次数,回滚异常/重试异常报警方式,同步回滚处理/异步方式,每次事务回滚间隔时间等于事务相关参数信息。根据所述联机交易事务参数信息,获得预设失败最大次数,即联机交易事务回滚处理的失败最大设置次数、预设重试最大次数,即联机交易事务重试处理的设置最大次数和预设报警方式,即超过预设次数后进行报警的方式。整合了各分布式事务方案的优点,实现了分布式事务的可配置化和报警,分布式联机交易事务回滚方式的可配置化。
41.步骤s800:当所述事务异步回滚的失败次数超过所述预设失败最大次数时,基于所述预设报警方式进行失败报警,当所述事务异步重试处理的次数超过预设重试最大次数时,基于所述预设报警方式进行异常报警。
42.具体而言,当所述事务异步回滚的失败次数超过所述预设失败最大次数时,通过所述预设报警方式如报警邮件+手机短信等方式信息进行提醒,以实现事务失败报警功能,此时可根据情况人工接入处理该事务;当所述事务异步重试处理的次数超过预设重试最大次数时,通过所述预设报警方式如报警邮件+手机短信等方式信息进行提醒,以实现事务异常报警功能,此时可根据情况人工接入处理该事务。通过整合各分布式事务方案的优点,将分布式事务融合到分布式的联机交易中,实现了分布式事务的可配置化和报警,分布式联机交易事务回滚方式的可配置化,解决了金融领域分布式联机交易事务一致性问题,降低了分布式联机交易事务一致性难度,进而提高了研发效率。
43.进一步而言,本技术实施例s300还包括:
44.步骤s310:根据所述联机交易事务参数信息,获得联机交易事务场景;
45.步骤s320:当所述第一联机交易事务执行状态为联机超时或联机交易执行异常时,根据所述联机交易事务场景进行所述事务同步回滚、所述重试处理或所述事务异步回滚、所述事务异步重试处理。
46.具体而言,根据所述联机交易事务参数信息,配置联机交易事务场景,例如电商平台中创建订单:预留库存、预扣减积分、锁定优惠券;支付平台中创建支付订单(选银行卡支付):查询账户、查询限制规则,符合条件的就创建支付订单并跳转银行;银行平台中创建交易订单:查找账户、创建交易记录、判断账户余额并扣款、增加积分、通知支付平台;支付平台收到银行扣款结果:更改订单状态、给账户加款、给积分账户增加积分、生成会计分录、通知电商平台等;电商平台收到支付平台的支付结果:更改订单状态、扣减库存、扣减积分、使用优惠券、增加消费积分等。当所述第一联机交易事务执行状态为联机超时、联机交易执行异常时需要根据所述联机交易事务场景即具体实际场景进行事务同步回滚/重试处理或者事务异步回滚/重试处理。在开发框架中自动进行事务的回滚和重试,降低分布式事务的开发难度,提高了开发的效率,提高了分布式事务的健壮性,降低了分布式联机事务的整体难度。
47.进一步而言,本技术实施例还包括:
48.步骤s910:根据异步mq消息或所述第一联机交易事务节点记录,进行所述事务异步回滚。
49.具体而言,通过异步mq消息或定时任务扫描数据存储中所述第一联机交易事务节点记录的数据,实现对事务回滚的异步处理,mq(message queue消息队列),是一种应用程序对应用程序的通讯方法,应用程序通过读写出入队列的消息来进行通信,两者无需建立连接,发布者和消费者无需知道对方的存在。异步mq消息是异步发送,消息发送者不需要等待消息消费者处理消息,甚至不需要等待消息投递完成就可以继续发送消息,这是因为消息发送者默认消息接收最终可以收到这条消息并进行处理,例如支付宝、微信的支付结果通知,具有无需等待、面向消息与解耦和位置独立的优点,采用异步处理,将大大节省了服务器的请求响应时间,从而提高了系统的吞吐量。
50.进一步而言,本技术实施例步骤s910还包括:
51.步骤s911:获得第一调用触发步骤;
52.步骤s912:根据所述第一调用触发步骤,获得第一回滚顺序;
53.步骤s913:根据所述第一回滚顺序,进行所述事务异步回滚。
54.具体而言,事务异步回滚将根据所述第一调用触发步骤即其在当前调用触发的步骤,以所述第一回滚顺序进行所述事务异步回滚,即进行有后向前的回滚操作,如联机交易中依赖其他联机交易步骤a,b,c,d,那么回滚顺序则为d,c,b,a,在开发框架中自动进行事务的回滚,降低分布式事务的开发难度,提高了开发的效率,节省了服务器的请求响应时间,降低了分布式联机事务的整体难度。
55.进一步而言,本技术实施例步骤还包括:
56.步骤s921:获得第二调用指令,根据所述第二调用指令调用所述事务同步回滚;
57.步骤s922:基于所述联机交易事务参数信息,对所述事务同步回滚进行处理。
58.具体而言,异步回滚处理可根据所述第二调用指令调用所述事务同步回滚处理,基于所述联机交易事务参数信息,确定可允许最大回滚次数和回滚时间间隔,如果联机交
易事务回滚处理的失败次数超过设置的最大次数后进行报警邮件+手机短信等方式信息提醒,以实现事务失败报警功能,此时可根据情况人工接入处理该事务。实现了分布式事务回滚、事务重试多样化,分布式事务的可配置化和报警,分布式联机交易事务回滚方式的可配置化,解决了金融领域分布式联机交易事务一致性问题,降低了分布式联机交易事务一致性难度,进而提高了研发效率。
59.进一步而言,本技术实施例步骤s922还包括:
60.步骤s9221:根据所述事务异步重试处理获得第三调用指令,所述第三调用指令重新调用所述第一联机交易服务接口;
61.步骤s9222:基于所述联机交易事务参数信息,对所述第一联机交易服务接口进行处理。
62.具体而言,如果是所述事务异步重试处理,则根据所述第三调用指令重新发起对所述第一联机交易服务接口的调用,并基于配置的所述联机交易事务参数信息,对所述第一联机交易服务接口进行处理,自动调启后续流程。整合了各分布式事务方案的优点,实现事务回滚和事务重试的可配置化,解决金融领域分布式联机交易事务一致性问题,降低了分布式联机交易事务一致性难度,进而提高了研发效率。
63.综上所述,本技术实施例所提供的一种跨系统分布式事务处理方法及系统具有如下技术效果:
64.由于采用了根据第一调用指令联机交易使用方对所述第一联机交易服务接口进行调用,获得第一联机交易事务节点记录,并对所述第一联机交易事务节点记录进行数据存储;根据第一联机交易响应操作获得第一联机交易事务执行状态,将所述第一联机交易事务执行状态记录至所述第一联机交易事务节点记录;当所述第一联机交易事务执行状态为联机超时或联机交易执行失败时,进行事务同步回滚或重试处理;当所述事务同步回滚失败时,记录至事务异步回滚中,当所述重试处理失败时,记录至事务异步重试处理中;当所述事务异步回滚的失败次数超过预设失败最大次数时,基于所述预设报警方式进行失败报警,当所述事务异步重试处理的次数超过预设重试最大次数时,基于所述预设报警方式进行异常报警。进而达到通过整合各分布式事务方案的优点,将分布式事务融合到分布式的联机交易中,实现了分布式事务的可配置化和报警,分布式联机交易事务回滚方式的可配置化,解决了金融领域分布式联机交易事务一致性问题,降低了分布式联机交易事务一致性难度,提高研发效率的技术效果。
65.实施例二
66.基于与前述实施例中一种跨系统分布式事务处理方法同样发明构思,本发明还提供了一种跨系统分布式事务处理系统,如图2所示,所述系统包括:
67.第一获得单元11,所述第一获得单元11用于获得第一联机交易服务接口;
68.第一调用单元12,所述第一调用单元12用于获得第一调用指令,根据所述第一调用指令联机交易使用方对所述第一联机交易服务接口进行调用,获得第一联机交易事务节点记录,并对所述第一联机交易事务节点记录进行数据存储;
69.第一记录单元13,所述第一记录单元13用于根据第一联机交易响应操作获得第一联机交易事务执行状态,将所述第一联机交易事务执行状态记录至所述第一联机交易事务节点记录;
70.第一处理单元14,所述第一处理单元14用于当所述第一联机交易事务执行状态为联机超时或联机交易执行失败时,进行事务同步回滚或重试处理;
71.第二记录单元15,所述第二记录单元15用于当所述事务同步回滚失败时,记录至事务异步回滚中,当所述重试处理失败时,记录至事务异步重试处理中;
72.第一配置单元16,所述第一配置单元16用于配置联机交易事务参数信息;
73.第二获得单元17,所述第二获得单元17用于根据所述联机交易事务参数信息,获得预设失败最大次数、预设重试最大次数和预设报警方式;
74.第一报警单元18,所述第一报警单元18用于当所述事务异步回滚的失败次数超过所述预设失败最大次数时,基于所述预设报警方式进行失败报警,当所述事务异步重试处理的次数超过预设重试最大次数时,基于所述预设报警方式进行异常报警。
75.进一步的,所述系统还包括:
76.第三获得单元,所述第三获得单元用于根据所述联机交易事务参数信息,获得联机交易事务场景;
77.第二处理单元,所述第二处理单元用于当所述第一联机交易事务执行状态为联机超时或联机交易执行异常时,根据所述联机交易事务场景进行所述事务同步回滚、所述重试处理或所述事务异步回滚、所述事务异步重试处理。
78.进一步的,所述系统还包括:
79.第三处理单元,所述第三处理单元用于根据异步mq消息或所述第一联机交易事务节点记录,进行所述事务异步回滚。
80.进一步的,所述系统还包括:
81.第四获得单元,所述第四获得单元用于获得第一调用触发步骤;
82.第五获得单元,所述第五获得单元用于根据所述第一调用触发步骤,获得第一回滚顺序;
83.第四处理单元,所述第四处理单元用于根据所述第一回滚顺序,进行所述事务异步回滚。
84.进一步的,所述系统还包括:
85.第二调用单元,所述第二调用单元用于获得第二调用指令,根据所述第二调用指令调用所述事务同步回滚;
86.第五处理单元,所述第五处理单元用于基于所述联机交易事务参数信息,对所述事务同步回滚进行处理。
87.进一步的,所述系统还包括:
88.第三调用单元,所述第三调用单元用于根据所述事务异步重试处理获得第三调用指令,所述第三调用指令重新调用所述第一联机交易服务接口;
89.第六处理单元,所述第六处理单元用于基于所述联机交易事务参数信息,对所述第一联机交易服务接口进行处理。
90.前述图1实施例一中的一种跨系统分布式事务处理方法的各种变化方式和具体实例同样适用于本实施例的一种跨系统分布式事务处理系统,通过前述对一种跨系统分布式事务处理方法的详细描述,本领域技术人员可以清楚的知道本实施例中一种跨系统分布式事务处理系统的实施方法,所以为了说明书的简洁,在此不再详述。
91.此外,本发明实施例还提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该收发器、该存储器和处理器分别通过总线相连,计算机程序被处理器执行时实现上述控制输出数据的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
92.示例性电子设备
93.具体的,参见图3所示,本发明实施例还提供了一种电子设备,该电子设备包括总线1110、处理器1120、收发器1130、总线接口1140、存储器1150和用户接口1160。
94.在本发明实施例中,该电子设备还包括:存储在存储器1150上并可在处理器1120上运行的计算机程序,计算机程序被处理器1120执行时实现上述控制输出数据的方法实施例的各个过程。
95.收发器1130,用于在处理器1120的控制下接收和发送数据。
96.本发明实施例中,总线架构(用总线1110来代表),总线1110可以包括任意数量互联的总线和桥,总线1110将包括由处理器1120代表的一个或多个处理器与存储器1150代表的存储器的各种电路连接在一起。
97.总线1110表示若干类型的总线结构中的任何一种总线结构中的一个或多个,包括存储器总线和存储器控制器、外围总线、加速图形端口、处理器或使用各种总线体系结构中的任意总线结构的局域总线。作为示例而非限制,这样的体系结构包括:工业标准体系结构总线、微通道体系结构总线、扩展总线、视频电子标准协会、外围部件互连总线。
98.处理器1120可以是一种集成电路芯片,具有信号处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中硬件的集成逻辑电路或软件形式的指令完成。上述的处理器包括:通用处理器、中央处理器、网络处理器、数字信号处理器、专用集成电路、现场可编程门阵列、复杂可编程逻辑器件、可编程逻辑阵列、微控制单元或其他可编程逻辑器件、分立门、晶体管逻辑器件、分立硬件组件。可以实现或执行本发明实施例中公开的各方法、步骤和逻辑框图。例如,处理器可以是单核处理器或多核处理器,处理器可以集成于单颗芯片或位于多颗不同的芯片。
99.处理器1120可以是微处理器或任何常规的处理器。结合本发明实施例所公开的方法步骤可以直接由硬件译码处理器执行完成,或者由译码处理器中的硬件和软件模块组合执行完成。软件模块可以位于随机存取存储器、闪存、只读存储器、可编程只读存储器、可擦除可编程只读存储器、寄存器等本领域公知的可读存储介质中。所述可读存储介质位于存储器中,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
100.总线1110还可以将,例如外围设备、稳压器或功率管理电路等各种其他电路连接在一起,总线接口1140在总线1110和收发器1130之间提供接口,这些都是本领域所公知的。因此,本发明实施例不再对其进行进一步描述。
101.收发器1130可以是一个元件,也可以是多个元件,例如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。例如:收发器1130从其他设备接收外部数据,收发器1130用于将处理器1120处理后的数据发送给其他设备。取决于计算机装置的性质,还可以提供用户接口1160,例如:触摸屏、物理键盘、显示器、鼠标、扬声器、麦克风、轨迹球、操纵杆、触控笔。
102.应理解,在本发明实施例中,存储器1150可进一步包括相对于处理器1120远程设
置的存储器,这些远程设置的存储器可以通过网络连接至服务器。上述网络的一个或多个部分可以是自组织网络、内联网、外联网、虚拟专用网、局域网、无线局域网、广域网、无线广域网、城域网、互联网、公共交换电话网、普通老式电话业务网、蜂窝电话网、无线网络、无线保真网络以和两个或更多个上述网络的组合。例如,蜂窝电话网和无线网络可以是全球移动通信装置、码分多址装置、全球微波互联接入装置、通用分组无线业务装置、宽带码分多址装置、长期演进装置、lte频分双工装置、lte时分双工装置、先进长期演进装置、通用移动通信装置、增强移动宽带装置、海量机器类通信装置、超可靠低时延通信装置等。
103.应理解,本发明实施例中的存储器1150可以是易失性存储器或非易失性存储器,或可包括易失性存储器和非易失性存储器两者。其中,非易失性存储器包括:只读存储器、可编程只读存储器、可擦除可编程只读存储器、电可擦除可编程只读存储器,或闪存。
104.易失性存储器包括:随机存取存储器,其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如:静态随机存取存储器、动态随机存取存储器、同步动态随机存取存储器、双倍数据速率同步动态随机存取存储器、增强型同步动态随机存取存储器、同步连接动态随机存取存储器和直接内存总线随机存取存储器。本发明实施例描述的电子设备的存储器1150包括但不限于上述和任意其他适合类型的存储器。
105.在本发明实施例中,存储器1150存储了操作系统1151和应用程序1152的如下元素:可执行模块、数据结构,或者其子集,或者其扩展集。
106.具体而言,操作系统1151包含各种装置程序,例如:框架层、核心库层、驱动层等,用于实现各种基础业务和处理基于硬件的任务。应用程序1152包含各种应用程序,例如:媒体播放器、浏览器,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序1152中。应用程序1152包括:小程序、对象、组件、逻辑、数据结构和其他执行特定任务或实现特定抽象数据类型的计算机装置可执行指令。
107.此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述控制输出数据的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
108.以上所述,仅为本发明实施例的具体实施方式,但本发明实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例披露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明实施例的保护范围之内。因此,本发明实施例的保护范围应以权利要求的保护范围为准。
技术特征:
1.一种跨系统分布式事务处理方法,其特征在于,所述方法包括:获得第一联机交易服务接口;获得第一调用指令,根据所述第一调用指令联机交易使用方对所述第一联机交易服务接口进行调用,获得第一联机交易事务节点记录,并对所述第一联机交易事务节点记录进行数据存储;根据第一联机交易响应操作获得第一联机交易事务执行状态,将所述第一联机交易事务执行状态记录至所述第一联机交易事务节点记录;当所述第一联机交易事务执行状态为联机超时或联机交易执行失败时,进行事务同步回滚或重试处理;当所述事务同步回滚失败时,记录至事务异步回滚中,当所述重试处理失败时,记录至事务异步重试处理中;配置联机交易事务参数信息;根据所述联机交易事务参数信息,获得预设失败最大次数、预设重试最大次数和预设报警方式;当所述事务异步回滚的失败次数超过所述预设失败最大次数时,基于所述预设报警方式进行失败报警,当所述事务异步重试处理的次数超过预设重试最大次数时,基于所述预设报警方式进行异常报警。2.如权利要求1所述的方法,其特征在于,所述第一联机交易事务执行状态包括:联机超时、联机交易执行异常、联机交易执行成功/失败。3.如权利要求2所述的方法,其特征在于,所述方法包括:根据所述联机交易事务参数信息,获得联机交易事务场景;当所述第一联机交易事务执行状态为联机超时或联机交易执行异常时,根据所述联机交易事务场景进行所述事务同步回滚、所述重试处理或所述事务异步回滚、所述事务异步重试处理。4.如权利要求1所述的方法,其特征在于,所述方法包括:根据异步mq消息或所述第一联机交易事务节点记录,进行所述事务异步回滚。5.如权利要求4所述的方法,其特征在于,所述方法包括:获得第一调用触发步骤;根据所述第一调用触发步骤,获得第一回滚顺序;根据所述第一回滚顺序,进行所述事务异步回滚。6.如权利要求4所述的方法,其特征在于,所述方法包括:获得第二调用指令,根据所述第二调用指令调用所述事务同步回滚;基于所述联机交易事务参数信息,对所述事务同步回滚进行处理。7.如权利要求6所述的方法,其特征在于,所述方法包括:根据所述事务异步重试处理获得第三调用指令,所述第三调用指令重新调用所述第一联机交易服务接口;基于所述联机交易事务参数信息,对所述第一联机交易服务接口进行处理。8.一种跨系统分布式事务处理系统,其特征在于,所述系统包括:第一获得单元,所述第一获得单元用于获得第一联机交易服务接口;
第一调用单元,所述第一调用单元用于获得第一调用指令,根据所述第一调用指令联机交易使用方对所述第一联机交易服务接口进行调用,获得第一联机交易事务节点记录,并对所述第一联机交易事务节点记录进行数据存储;第一记录单元,所述第一记录单元用于根据第一联机交易响应操作获得第一联机交易事务执行状态,将所述第一联机交易事务执行状态记录至所述第一联机交易事务节点记录;第一处理单元,所述第一处理单元用于当所述第一联机交易事务执行状态为联机超时或联机交易执行失败时,进行事务同步回滚或重试处理;第二记录单元,所述第二记录单元用于当所述事务同步回滚失败时,记录至事务异步回滚中,当所述重试处理失败时,记录至事务异步重试处理中;第一配置单元,所述第一配置单元用于配置联机交易事务参数信息;第二获得单元,所述第二获得单元用于根据所述联机交易事务参数信息,获得预设失败最大次数、预设重试最大次数和预设报警方式;第一报警单元,所述第一报警单元用于当所述事务异步回滚的失败次数超过所述预设失败最大次数时,基于所述预设报警方式进行失败报警,当所述事务异步重试处理的次数超过预设重试最大次数时,基于所述预设报警方式进行异常报警。9.一种跨系统分布式事务处理处理电子设备,包括总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述收发器、所述存储器和所述处理器通过所述总线相连,其特征在于,所述计算机程序被所述处理器执行时实现如权利要求1-7中任一项所述方法中的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述方法中的步骤。11.一种计算机程序产品,包括计算机程序和/或指令,其特征在于,该计算程序和/或指令被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
技术总结
本发明公开了一种跨系统分布式事务处理方法及系统,涉及大数据处理领域,所述方法包括:对第一联机交易服务接口进行调用,获得第一联机交易事务节点记录;将第一联机交易事务执行状态记录至第一联机交易事务节点记录;当第一联机交易事务执行状态为联机超时或联机交易执行失败时,进行事务同步回滚或重试处理;当事务同步回滚失败时,记录至事务异步回滚中,当重试处理失败时,记录至事务异步重试处理中;当事务异步回滚的失败次数超过所述预设失败最大次数时,基于预设报警方式进行失败报警,当事务异步重试处理的次数超过预设重试最大次数时进行异常报警。解决了现有技术金融领域分布式联机交易在跨多个系统时存在业务数据一致性问题。数据一致性问题。数据一致性问题。
技术研发人员:孟宪胜 刘鸿清 邱晓海
受保护的技术使用者:中国建设银行股份有限公司
技术研发日:2021.12.08
技术公布日:2022/3/8