CN108880873A - 一种应用于异构系统的事务补偿方法和装置 - Google Patents

一种应用于异构系统的事务补偿方法和装置 Download PDF

Info

Publication number
CN108880873A
CN108880873A CN201810569325.XA CN201810569325A CN108880873A CN 108880873 A CN108880873 A CN 108880873A CN 201810569325 A CN201810569325 A CN 201810569325A CN 108880873 A CN108880873 A CN 108880873A
Authority
CN
China
Prior art keywords
service request
exception
abnormal
time
service
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.)
Granted
Application number
CN201810569325.XA
Other languages
English (en)
Other versions
CN108880873B (zh
Inventor
杨声钢
高峰
王彬华
姜浩
赵思远
王东海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agricultural Bank Of China Financial Technology Co ltd
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN201810569325.XA priority Critical patent/CN108880873B/zh
Publication of CN108880873A publication Critical patent/CN108880873A/zh
Application granted granted Critical
Publication of CN108880873B publication Critical patent/CN108880873B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Abstract

本发明提供一种应用于异构系统的事务补偿方法和装置。方法包括:接收应用发起方发起的服务请求;记录与所述服务请求对应的关键信息;在响应所述服务请求的过程中确定发生异常时,确定所述异常为运行时异常还是非运行时异常;对于运行时异常,获取记录的与所述服务请求对应的关键信息,并依据所述记录的与所述服务请求对应的关键信息进行实时的事务补偿;对于非运行时异常,获取与所述服务请求对应的服务应答方中的数据状态,并依据所述数据状态进行事务补偿。本发明能够高效地实现异构系统的事务补偿,解决异构系统环境下保持事务一致性的问题,同时减小系统升级改造成本,以及减少系统性能损失。

Description

一种应用于异构系统的事务补偿方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用于异构系统的事务补偿方法和装置。
背景技术
异构系统是由多个不同种类的企业应用平台或系统通过网络连接而成的计算机系统,主要体现在架构、数据库、服务器等方面的不同。随着企业信息化建设的不断深入,总是会面临异构系统之间的通信、集成与整合的需求,而从业务分析、成本效益的角度来讲,企业更希望在系统架构中尽可能地形成对原有系统的重用,而原有系统的重用势必需要解决在异构系统环境下保持事务一致性的问题。
目前解决异构系统环境下事务一致性问题的最典型的方法是采取集中式事务管理器的基本设计模式。
集中式事务管理器应用的是两阶段提交技术。要实现两阶段提交,首先全局事务的数据源必须支持XA特性,也就是说如果某个业务流程处于一个全局事务内,而且对多个系统有事务操作(如资源变更),则需要实现和配置所涉及系统的数据源(事务适配器、JMS或JDBC连接池)以支持XA,而且XA协议的系统开销相当大。并且,集中式事务管理器在事务管理的过程中,需要在多个节点之间进行协调,而各节点对锁资源的释放都必须等到事务最终提交后,事务执行时间延长也就意味着锁资源发生冲突的概率增加,当事务的并发量达到一定数量时,就会出现大量事务积压甚至出现死锁,系统性能就会严重下滑。
因此,如何高效地实现异构系统的事务补偿,减小系统升级改造成本,减少系统性能损失成为当前亟待解决的问题。
发明内容
有鉴于此,本发明提供一种应用于异构系统的事务补偿方法和装置,能够高效地实现异构系统的事务补偿,解决异构系统环境下保持事务一致性的问题,同时减小系统升级改造成本,以及减少系统性能损失。技术方案如下:
基于本发明的一方面,本发明提供一种应用于异构系统的事务补偿方法,所述方法包括:
接收应用发起方发起的服务请求;
记录与所述服务请求对应的关键信息;
在响应所述服务请求的过程中确定发生异常时,确定所述异常为运行时异常还是非运行时异常;
对于运行时异常,获取记录的与所述服务请求对应的关键信息,并依据所述记录的与所述服务请求对应的关键信息进行实时的事务补偿;
对于非运行时异常,获取与所述服务请求对应的服务应答方中的数据状态,并依据所述数据状态进行事务补偿。
可选地,在响应所述服务请求的过程中确定发生异常时,确定所述异常为运行时异常还是非运行时异常包括:
在响应所述服务请求的过程中捕获到异常信息时,确定发生异常,并确定所述异常为运行时异常;
在响应所述服务请求的过程中未接收到所述服务应答方反馈的信息或链接超时中断,但接收到所述应用发起方再次发起的所述服务请求时,确定发生异常,并确定所述异常为非运行时异常。
可选地,所述运行时异常包括应用操作失败异常、数据库操作错误异常或IO异常。
可选地,所述对于非运行时异常,获取与所述服务请求对应的服务应答方中的数据状态,并依据所述数据状态进行事务补偿包括:
调用所述服务应答方的接口,获取所述服务应答方中的数据状态;
依据所述数据状态,调用所述服务应答方的相应冲正交易进行事务补偿;
待事务补偿完成后,向所述服务应答方再次发起所述服务请求。
可选地,所述方法还包括:
当向所述服务应答方再次发起所述服务请求后,确定发生运行时异常时,获取记录的与所述服务请求对应的关键信息,并依据所述记录的与所述服务请求对应的关键信息进行实时的事务补偿。
可选地,所述获取记录的与所述服务请求对应的关键信息,并依据所述记录的与所述服务请求对应的关键信息进行实时的事务补偿包括:
获取记录的与所述服务请求对应的关键信息;
根据记录的正向交易顺序,调用所述服务应答方的相应冲正交易进行实时的事务补偿。
基于本发明的另一方面,本发明还提供一种应用于异构系统的事务补偿装置,所述装置包括:
接收单元,用于接收应用发起方发起的服务请求;
缓存单元,用于记录与所述服务请求对应的关键信息;
异常监测确定单元,用于在响应所述服务请求的过程中确定发生异常时,确定所述异常为运行时异常还是非运行时异常;
运行时异常处理单元,用于对于运行时异常,获取记录的与所述服务请求对应的关键信息,并依据所述记录的与所述服务请求对应的关键信息进行实时的事务补偿;
非运行时异常处理单元,用于对于非运行时异常,获取与所述服务请求对应的服务应答方中的数据状态,并依据所述数据状态进行事务补偿。
可选地,所述异常监测确定单元具体用于:
在响应所述服务请求的过程中捕获到异常信息时,确定发生异常,并确定所述异常为运行时异常;
在响应所述服务请求的过程中所述接收单元未接收到所述服务应答方反馈的信息或链接超时中断,但接收到所述应用发起方再次发起的所述服务请求时,确定发生异常,并确定所述异常为非运行时异常。
可选地,所述运行时异常包括应用操作失败异常、数据库操作错误异常或IO异常。
可选地,所述非运行时异常处理单元包括:
数据状态获取子单元,用于调用所述服务应答方的接口,获取所述服务应答方中的数据状态;
第一事务补偿处理子单元,用于依据所述数据状态,调用所述服务应答方的相应冲正交易进行事务补偿;
发送子单元,用于待事务补偿完成后,向所述服务应答方再次发起所述服务请求。
可选地,所述运行时异常处理单元还用于:
当所述非运行时异常处理单元向所述服务应答方再次发起所述服务请求后,所述异常监测确定单元确定发生运行时异常时,获取记录的与所述服务请求对应的关键信息,并依据所述记录的与所述服务请求对应的关键信息进行实时的事务补偿。
可选地,所述运行时异常处理单元包括:
关键信息获取子单元,用于获取记录的与所述服务请求对应的关键信息;
第二事务补偿处理子单元,用于根据记录的正向交易顺序,调用所述服务应答方的相应冲正交易进行实时的事务补偿。
本发明提供的应用于异构系统的事务补偿方法和装置中,在接收到应用发起方发起的服务请求后,首先会记录与服务请求对应的关键信息,通过对关键信息的读取,能够识别所有跨系统访问的交易场景。本发明实时监测异常的发生,并在监测到异常发生后,确定所述异常为运行时异常还是非运行时异常。对于运行时异常,本发明获取记录的与该服务请求对应的关键信息,并依据该关键信息进行实时的事务补偿,有效解决了应用操作失败异常、数据库操作错误异常、IO异常等各种运行时异常导致的异构系统环境下事务不一致性的问题;对于非运行时异常,本发明获取与该服务请求对应的服务应答方中的数据状态,并依据所述数据状态进行事务补偿,有效解决了异构系统环境下由于网络异常、宕机等原因引起的事务不一致问题。本发明将异常分为运行时异常和非运行时异常,并针对这两种异常分别提出了两种对应的事务补偿方法,能够高效地实现异构系统的事务补偿,解决了异构系统环境下保持事务一致性的问题。
且,本发明提供的应用于异构系统的事务补偿方法和装置可以复用现有系统资源,在现有企业各应用系统资源重用的基础上,尽可能地减小系统升级改造成本、缩短研发周期、保障了系统的稳定运行,实现跨应用系统数据访问过程中保持事务一致。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明中跨系统服务访问过程流程图;
图2为本发明提供的一种应用于异构系统的事务补偿方法的流程图;
图3为本发明中跨系统服务访问控制的异构系统结构图;
图4为本发明中运行时异常的处理方法逻辑图;
图5为本发明中非运行时异常的处理方法逻辑图;
图6为本发明提供的一种应用于异构系统的事务补偿装置的结构示意图;
图7为本发明中非运行时异常处理单元的结构示意图;
图8为本发明中运行时异常处理单元的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
异构系统中,经常出现前端应用发起方在一次服务请求(即一个事务)中,需要调用多个后端服务器的场景,如图1所示:
(1)前端应用发起方向后端服务应答方B发起任务提交请求,后端服务应答方B返回成功信息或者失败信息给前端应用发起方;
(2)前端应用发起方收到成功信息后,再继续调用后端服务应答方A更新数据,并在后端服务应答方A返回成功信息后,再继续调用其它后端服务应答方,直到本次事务执行完成。
上述跨系统访问的过程中,如果后端服务应答方B发生异常,则后端服务应答方A不会被调用,而如果后端服务应答方A或者后续其它后端服务应答方发生异常,就必须通过异常处理机制,对整个事务进行补偿,来保证数据一致性。
事务补偿即在事务链中的任何一个正向交易(亦称正向事务操作),都必须存在一个完全符合回滚规则的冲正交易(亦称可逆事务操作)。当发起方和应答方出现数据(即事务)不一致时,利用冲正交易来补偿事务,能够最终实现数据的一致。
如图2所示,其示出了本发明提供的一种应用于异构系统的事务补偿方法,该方法可以具体由本发明提供的一种应用于异构系统的事务补偿装置来执行,本发明提供的应用于异构系统的事务补偿装置位于应用发起方与服务应答方之间,也可具体设置在前端应用服务器中,关于其具体组成结构,会在后文中详细描述,发明人在此不再赘述。本发明提供的应用于异构系统的事务补偿方法可以包括:
步骤101,接收应用发起方发起的服务请求。
本发明中应用发起方向服务应答方发起的服务请求会先发送至事务补偿装置,由事务补偿装置接收该应用发起方发起的服务请求。
结合图3所示,前端应用服务器启动后,异构系统会将异常监测服务加载到前端应用服务器的内存中,使得事务补偿装置能够实现对前端应用服务器发送的服务请求进行接收、记录,并能够自动捕获后端服务器返回的异常信息。
步骤102,记录与所述服务请求对应的关键信息。
事务补偿装置接收到应用发起方发起的服务请求后,首先记录与该服务请求对应的关键信息。具体地,可以将与该服务请求对应的关键信息缓存在线程中。其中关键信息可以包括交易号、交易申请输入数据以及用于唯一标示事务状态的数据。其中用于唯一标示事务状态的数据例如包括任务编号、环节、状态、操作类型等。
步骤103,在响应所述服务请求的过程中确定发生异常时,确定所述异常为运行时异常还是非运行时异常。
在响应所述服务请求的过程中,事务补偿装置实时监测是否发生异常,如果监测到异常时,首先确定该异常为运行时异常还是非运行时异常。
本发明中,运行时异常指的是能够被事务补偿装置自动捕获并实时处理的异常,例如包括应用操作失败异常、数据库操作错误异常、IO异常等。
非运行时异常指的是由于系统故障、宕机、网络中断等原因,前端应用服务器提交正向交易后,未收到后端服务器反馈的任何信息或者链接超时中断,而又再次接收到前端应用服务器再次提交的正向交易的异常。
基于此,本发明在响应所述服务请求的过程中如果捕获到异常信息,则确定发生异常,并确定该异常为运行时异常;在响应所述服务请求的过程中未接收到服务应答方反馈的信息或链接超时中断,但接收到应用发起方再次发起的所述服务请求时,确定发生异常,并确定所述异常为非运行时异常。
步骤104,对于运行时异常,获取记录的与所述服务请求对应的关键信息,并依据所述记录的与所述服务请求对应的关键信息进行实时的事务补偿。
具体地,本发明首先获取记录的与所述服务请求对应的关键信息,进而根据记录的正向交易顺序,调用服务应答方的相应冲正交易进行实时的事务补偿。结合图4所示,其中①:应用发起方向服务应答方发起服务请求(即提交正向交易),并利用线程缓存服务请求对应的关键信息;②:事务补偿装置监测到异常并确定该异常为运行时异常时,将其发送至事务补偿装置中用于处理运行时异常的运行时异常处理单元;③:事务补偿装置从线程缓存中查询并获取与服务请求对应的关键信息;④:根据记录的正向交易顺序,调用服务应答方的相应冲正交易进行实时的事务补偿。由此,运行时异常被正确处理,保证了异构系统下事务/数据的一致性。
步骤105,对于非运行时异常,获取与所述服务请求对应的服务应答方中的数据状态,并依据所述数据状态进行事务补偿。
本发明中,非运行时异常发生后,多个服务应答方中记录的信息可能存在不一致,当应用发起方再次发起服务请求时,由于发起方发送的关键信息与服务应答方的数据库中记录的数据不一致,服务应答方检测到数据错误并向事务补偿装置反馈异常信息。
事务补偿装置接收到该异常信息后首先调用服务应答方的接口,获取并查询服务应答方中的数据状态,从而自动分析异常发生时的系统场景。进一步,事务补偿装置根据数据状态设计不同分支,调用服务应答方的相应冲正交易进行事务补偿,拯救后端服务器数据,使其和前端发送方服务器数据一致。在待事务补偿完成后,事务补偿装置执行第二次的正向交易调用,即向服务应答方再次发起所述服务请求,以保证异构系统下事务/数据的一致性。
此外进一步的,如果事务补偿装置执行第二次的正向交易调用时再次发生运行时异常,则事务补偿装置则继续采用步骤104的方法进行事务补偿,以异构系统下事务/数据的一致性。
具体可结合图5所示,其中①:应用发起方向服务应答方发起服务请求(即提交正向交易),并利用线程缓存服务请求对应的关键信息;②:事务补偿装置监测到异常并确定该异常为非运行时异常时,将其发送至事务补偿装置中用于处理非运行时异常的非运行时异常处理单元;③:事务补偿装置调用服务应答方接口,查询当前数据状态,自动分析异常发生时的系统场景;④:调用服务应答方的相应冲正交易进行事务补偿;⑤数据处理完成后,事务补偿装置执行第二次的正向交易调用。
本发明针对跨应用系统访问发生的非运行时异常,在前端应用发起方再次发起服务请求后,通过二次事务补偿方法,可以较大范围满足多应用系统间互联时的数据一致性要求,实现了跨应用系统访问事务的一致性。
因此应用本发明提供的应用于异构系统的事务补偿方法,在接收到应用发起方发起的服务请求后,首先会记录与服务请求对应的关键信息,通过对关键信息的读取,能够识别所有跨系统访问的交易场景。本发明实时监测异常的发生,并在监测到异常发生后,确定所述异常为运行时异常还是非运行时异常。对于运行时异常,本发明获取记录的与该服务请求对应的关键信息,并依据该关键信息进行实时的事务补偿,有效解决了应用操作失败异常、数据库操作错误异常、IO异常等各种运行时异常导致的异构系统环境下事务不一致性的问题;对于非运行时异常,本发明获取与该服务请求对应的服务应答方中的数据状态,并依据所述数据状态进行事务补偿,有效解决了异构系统环境下由于网络异常、宕机等原因引起的事务不一致问题。本发明将异常分为运行时异常和非运行时异常,并针对这两种异常分别提出了两种对应的事务补偿方法,能够高效地实现异构系统的事务补偿,解决了异构系统环境下保持事务一致性的问题。
且,本发明提供的应用于异构系统的事务补偿方法和装置可以复用现有系统资源,在现有企业各应用系统资源重用的基础上,尽可能地减小系统升级改造成本、缩短研发周期、保障了系统的稳定运行,实现跨应用系统数据访问过程中保持事务一致。
基于前文本发明提供的一种应用于异构系统的事务补偿方法,本发明还提供一种应用于异构系统的事务补偿装置,如图6所示,装置可以包括:
接收单元100,用于接收应用发起方发起的服务请求;
缓存单元200,用于记录与所述服务请求对应的关键信息;
异常监测确定单元300,用于在响应所述服务请求的过程中确定发生异常时,确定所述异常为运行时异常还是非运行时异常;
运行时异常处理单元400,用于对于运行时异常,获取记录的与所述服务请求对应的关键信息,并依据所述记录的与所述服务请求对应的关键信息进行实时的事务补偿;
非运行时异常处理单元500,用于对于非运行时异常,获取与所述服务请求对应的服务应答方中的数据状态,并依据所述数据状态进行事务补偿。
其中所述异常监测确定单元300具体用于:
在响应所述服务请求的过程中捕获到异常信息时,确定发生异常,并确定所述异常为运行时异常;所述运行时异常包括应用操作失败异常、数据库操作错误异常或IO异常。
在响应所述服务请求的过程中所述接收单元未接收到所述服务应答方反馈的信息或链接超时中断,但接收到所述应用发起方再次发起的所述服务请求时,确定发生异常,并确定所述异常为非运行时异常。
如图7所示,所述非运行时异常处理单元500包括:
数据状态获取子单元501,用于调用所述服务应答方的接口,获取所述服务应答方中的数据状态;
第一事务补偿处理子单元502,用于依据所述数据状态,调用所述服务应答方的相应冲正交易进行事务补偿;
发送子单元503,用于待事务补偿完成后,向所述服务应答方再次发起所述服务请求。
所述运行时异常处理单元400还用于:
当所述非运行时异常处理单元500向所述服务应答方再次发起所述服务请求后,所述异常监测确定单元300确定发生运行时异常时,获取记录的与所述服务请求对应的关键信息,并依据所述记录的与所述服务请求对应的关键信息进行实时的事务补偿。
具体的,如图8所示,所述运行时异常处理单元400包括:
关键信息获取子单元401,用于获取记录的与所述服务请求对应的关键信息;
第二事务补偿处理子单元402,用于根据记录的正向交易顺序,调用所述服务应答方的相应冲正交易进行实时的事务补偿。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种应用于异构系统的事务补偿方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (12)

1.一种应用于异构系统的事务补偿方法,其特征在于,所述方法包括:
接收应用发起方发起的服务请求;
记录与所述服务请求对应的关键信息;
在响应所述服务请求的过程中确定发生异常时,确定所述异常为运行时异常还是非运行时异常;
对于运行时异常,获取记录的与所述服务请求对应的关键信息,并依据所述记录的与所述服务请求对应的关键信息进行实时的事务补偿;
对于非运行时异常,获取与所述服务请求对应的服务应答方中的数据状态,并依据所述数据状态进行事务补偿。
2.根据权利要求1所述的方法,其特征在于,在响应所述服务请求的过程中确定发生异常时,确定所述异常为运行时异常还是非运行时异常包括:
在响应所述服务请求的过程中捕获到异常信息时,确定发生异常,并确定所述异常为运行时异常;
在响应所述服务请求的过程中未接收到所述服务应答方反馈的信息或链接超时中断,但接收到所述应用发起方再次发起的所述服务请求时,确定发生异常,并确定所述异常为非运行时异常。
3.根据权利要求2所述的方法,其特征在于,所述运行时异常包括应用操作失败异常、数据库操作错误异常或IO异常。
4.根据权利要求1所述的方法,其特征在于,所述对于非运行时异常,获取与所述服务请求对应的服务应答方中的数据状态,并依据所述数据状态进行事务补偿包括:
调用所述服务应答方的接口,获取所述服务应答方中的数据状态;
依据所述数据状态,调用所述服务应答方的相应冲正交易进行事务补偿;
待事务补偿完成后,向所述服务应答方再次发起所述服务请求。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当向所述服务应答方再次发起所述服务请求后,确定发生运行时异常时,获取记录的与所述服务请求对应的关键信息,并依据所述记录的与所述服务请求对应的关键信息进行实时的事务补偿。
6.根据权利要求1或5所述的方法,其特征在于,所述获取记录的与所述服务请求对应的关键信息,并依据所述记录的与所述服务请求对应的关键信息进行实时的事务补偿包括:
获取记录的与所述服务请求对应的关键信息;
根据记录的正向交易顺序,调用所述服务应答方的相应冲正交易进行实时的事务补偿。
7.一种应用于异构系统的事务补偿装置,其特征在于,所述装置包括:
接收单元,用于接收应用发起方发起的服务请求;
缓存单元,用于记录与所述服务请求对应的关键信息;
异常监测确定单元,用于在响应所述服务请求的过程中确定发生异常时,确定所述异常为运行时异常还是非运行时异常;
运行时异常处理单元,用于对于运行时异常,获取记录的与所述服务请求对应的关键信息,并依据所述记录的与所述服务请求对应的关键信息进行实时的事务补偿;
非运行时异常处理单元,用于对于非运行时异常,获取与所述服务请求对应的服务应答方中的数据状态,并依据所述数据状态进行事务补偿。
8.根据权利要求7所述的装置,其特征在于,所述异常监测确定单元具体用于:
在响应所述服务请求的过程中捕获到异常信息时,确定发生异常,并确定所述异常为运行时异常;
在响应所述服务请求的过程中所述接收单元未接收到所述服务应答方反馈的信息或链接超时中断,但接收到所述应用发起方再次发起的所述服务请求时,确定发生异常,并确定所述异常为非运行时异常。
9.根据权利要求8所述的装置,其特征在于,所述运行时异常包括应用操作失败异常、数据库操作错误异常或IO异常。
10.根据权利要求7所述的装置,其特征在于,所述非运行时异常处理单元包括:
数据状态获取子单元,用于调用所述服务应答方的接口,获取所述服务应答方中的数据状态;
第一事务补偿处理子单元,用于依据所述数据状态,调用所述服务应答方的相应冲正交易进行事务补偿;
发送子单元,用于待事务补偿完成后,向所述服务应答方再次发起所述服务请求。
11.根据权利要求10所述的装置,其特征在于,所述运行时异常处理单元还用于:
当所述非运行时异常处理单元向所述服务应答方再次发起所述服务请求后,所述异常监测确定单元确定发生运行时异常时,获取记录的与所述服务请求对应的关键信息,并依据所述记录的与所述服务请求对应的关键信息进行实时的事务补偿。
12.根据权利要求7或10所述的装置,其特征在于,所述运行时异常处理单元包括:
关键信息获取子单元,用于获取记录的与所述服务请求对应的关键信息;
第二事务补偿处理子单元,用于根据记录的正向交易顺序,调用所述服务应答方的相应冲正交易进行实时的事务补偿。
CN201810569325.XA 2018-06-05 2018-06-05 一种应用于异构系统的事务补偿方法和装置 Active CN108880873B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810569325.XA CN108880873B (zh) 2018-06-05 2018-06-05 一种应用于异构系统的事务补偿方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810569325.XA CN108880873B (zh) 2018-06-05 2018-06-05 一种应用于异构系统的事务补偿方法和装置

Publications (2)

Publication Number Publication Date
CN108880873A true CN108880873A (zh) 2018-11-23
CN108880873B CN108880873B (zh) 2021-09-07

Family

ID=64335205

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810569325.XA Active CN108880873B (zh) 2018-06-05 2018-06-05 一种应用于异构系统的事务补偿方法和装置

Country Status (1)

Country Link
CN (1) CN108880873B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111258790A (zh) * 2018-12-03 2020-06-09 北京京东振世信息技术有限公司 异常补偿方法和装置
CN112492619A (zh) * 2019-09-12 2021-03-12 大唐移动通信设备有限公司 一种事务状态的管理方法、装置以及状态缓存装置
CN112783665A (zh) * 2019-11-07 2021-05-11 北京京东振世信息技术有限公司 接口补偿的方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040051875A1 (en) * 2002-09-12 2004-03-18 Eastman Kodak Company Method and system for fabricating optical film using an exposure source and reflecting surface
CN101118501A (zh) * 2007-09-06 2008-02-06 上海交通大学 基于网格的补偿事务自动产生方法
CN102780753A (zh) * 2011-11-08 2012-11-14 东南大学 一种基于约束规则的服务恢复方法
CN103020147A (zh) * 2012-11-22 2013-04-03 用友软件股份有限公司 数据集成系统和数据集成方法
CN103792011A (zh) * 2014-01-27 2014-05-14 无锡艾立德智能科技有限公司 一种自适应红外热像仪温漂补偿方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040051875A1 (en) * 2002-09-12 2004-03-18 Eastman Kodak Company Method and system for fabricating optical film using an exposure source and reflecting surface
CN101118501A (zh) * 2007-09-06 2008-02-06 上海交通大学 基于网格的补偿事务自动产生方法
CN102780753A (zh) * 2011-11-08 2012-11-14 东南大学 一种基于约束规则的服务恢复方法
CN103020147A (zh) * 2012-11-22 2013-04-03 用友软件股份有限公司 数据集成系统和数据集成方法
CN103792011A (zh) * 2014-01-27 2014-05-14 无锡艾立德智能科技有限公司 一种自适应红外热像仪温漂补偿方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YUEHUA DING,RIHUA XIANG: "A service-oriented exception handing method based on exception classification", 《PROCEEDINGS OF 2013 INTERNATIONAL CONFERENCE ON SENSOR NETWORK SECURITY TECHNOLOGY AND PRIVACY COMMUNICATION SYSTEM》 *
任怡: "分布异构环境中事务工作流技术的研究", 《中国博士优秀论文数据库》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111258790A (zh) * 2018-12-03 2020-06-09 北京京东振世信息技术有限公司 异常补偿方法和装置
CN111258790B (zh) * 2018-12-03 2023-11-03 北京京东振世信息技术有限公司 异常补偿方法和装置
CN112492619A (zh) * 2019-09-12 2021-03-12 大唐移动通信设备有限公司 一种事务状态的管理方法、装置以及状态缓存装置
CN112492619B (zh) * 2019-09-12 2022-04-01 大唐移动通信设备有限公司 一种事务状态的管理方法、装置以及状态缓存装置
CN112783665A (zh) * 2019-11-07 2021-05-11 北京京东振世信息技术有限公司 接口补偿的方法和装置
CN112783665B (zh) * 2019-11-07 2023-11-03 北京京东振世信息技术有限公司 接口补偿的方法和装置

Also Published As

Publication number Publication date
CN108880873B (zh) 2021-09-07

Similar Documents

Publication Publication Date Title
CN110990432B (zh) 一种跨机房同步分布式缓存集群的装置和方法
TWI237467B (en) Method and system for automated session resource clean-up in a distributed client-server environment
CN106502769A (zh) 分布式事务处理方法、装置及系统
KR100575497B1 (ko) 내고장성 컴퓨터 시스템
US6769003B2 (en) Parallel logging method for transaction processing system
US7912858B2 (en) Data synchronization method
CN108880873A (zh) 一种应用于异构系统的事务补偿方法和装置
CN109857558A (zh) 一种数据流处理方法及系统
US20020161840A1 (en) Adapter for interfacing with a workflow engine
EP0533407A2 (en) Heterogeneous transaction coordination
CN110022367A (zh) 一种事务处理方法和事务处理系统
CN110377410A (zh) 任务调度方法、系统、电子设备及计算机可读存储介质
US20020013846A1 (en) Apparatus, methods, and computer program products for transactional support of network management operations
US7970737B2 (en) Recovery administration of global transaction participants
CN108874587A (zh) 一种事务的最终一致性保障方法及系统
US6141679A (en) High performance distributed transaction processing methods and apparatus
CN113268471B (zh) 处理分布式事务的方法、代理连接池、系统、设备及介质
CN111277639A (zh) 一种保持数据一致性的方法和装置
CN106874130A (zh) 一种微服务架构中分布式事务的处理方法
CN111400011A (zh) 一种实时任务调度方法、系统、设备及可读存储介质
CN102571850A (zh) 事务提交系统、方法及设备
CN112148436B (zh) 去中心化的tcc事务管理方法、装置、设备及系统
CN112988751A (zh) 基于区块链的定时任务调度方法及装置
CN116319732A (zh) 一种基于RabbitMQ的消息队列集中配置管理系统及方法
CN109684048A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221110

Address after: 100005 No. 69, inner main street, Dongcheng District, Beijing, Jianguomen

Patentee after: AGRICULTURAL BANK OF CHINA

Patentee after: Agricultural Bank of China Financial Technology Co.,Ltd.

Address before: 100005 No. 69, inner main street, Dongcheng District, Beijing, Jianguomen

Patentee before: AGRICULTURAL BANK OF CHINA