CN105814542A - 用于数据通信网络中的分布式交易的方法和装置 - Google Patents

用于数据通信网络中的分布式交易的方法和装置 Download PDF

Info

Publication number
CN105814542A
CN105814542A CN201480058262.1A CN201480058262A CN105814542A CN 105814542 A CN105814542 A CN 105814542A CN 201480058262 A CN201480058262 A CN 201480058262A CN 105814542 A CN105814542 A CN 105814542A
Authority
CN
China
Prior art keywords
transaction
message
involved
execution
perform
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
CN201480058262.1A
Other languages
English (en)
Other versions
CN105814542B (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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN105814542A publication Critical patent/CN105814542A/zh
Application granted granted Critical
Publication of CN105814542B publication Critical patent/CN105814542B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1474Saving, restoring, recovering or retrying in transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • G06Q20/027Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP] involving a payment switch or gateway
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/085Payment architectures involving remote charge determination or related payment systems
    • G06Q20/0855Payment architectures involving remote charge determination or related payment systems involving a third party
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/407Cancellation of a transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

用于在交易执行系统中执行全局交易的方法和交易协调器节点。交易执行系统涉及支持预留/提交协议的至少一个可靠交易执行实例和不支持预留/提交协议的一个不可靠交易执行实例。交易协调器节点接收涉及由所涉及的相应交易执行实例执行的多个子交易的全局交易发起消息,并且向相应子交易的所涉及的可靠交易执行实例发送准备交易消息。在接收到对所有准备交易消息的确认时,交易协调器节点向相应子交易的所涉及的不可靠交易执行实例发送执行消息。如果执行消息成功,则交易协调器节点向相应子交易的所涉及的可靠交易执行实例发送提交准备交易。

Description

用于数据通信网络中的分布式交易的方法和装置
技术领域
本发明涉及用于在交易执行系统中执行全局交易的方法和交易协调器(orchestrator)节点。
背景技术
如今的很多系统(例如,金融机构的计算机系统)在以下意义上是隔离的:虽然它们能够通过使用例如交易文件的离线的面向批处理的交换来相互通信,但是它们不能使用双向通信协议进行在线通信。
由于该原因,隔离系统之间的通信通常是以即发即弃的方式来进行的。通过这种方式,请求方应用能够在提交请求之后继续其处理,而不论需要执行任务的服务提供商是否立即可用。除此之外,发起请求的用户不具有进行等待直到请求被完全处理的功能需要。服务请求方和服务提供商必须具有在无需直接依赖于彼此存在的情况下以其自己的步伐产生并消耗消息的能力。然而,实际上,大多数消息是通过不可靠网络发送的并且在最坏的情况下可能丢失。
问题在于当多个系统参与相同的交易时,通信的可靠性变得更重要。
原子交易是要么一起发生要么都不发生的一系列操作。原子性(atomicity)的确保防止例如对数据库的更新仅部分地发生(与完全拒绝整个系列相比,数据库的更新仅部分地发生可能引起更大的问题)。
为了能够在所有参与的系统上具有原子交易,相信消息被正确接收和处理是重要的。但是为了使情形甚至更加复杂,每一个系统也可以具有其自己的用于准许或拒绝子交易的一部分的规则。
影响是子交易中的一些子交易可能在其他子交易未完成时完成。
示例是具有两个不同当事方(银行和电力公司)的金融交易。交易是由第三方发起的。使用情况是顾客希望从电力公司购买电力券并且从其银行账户付款。
涉及必须执行或不执行的两个子交易。第一个子交易是在银行转移资金。第二个子交易是发行券。可能的错误在于银行账户可能没有钱或者券的传递失败。
如今的解决方案通常被实现为前述的即发即弃模式,在该模式下,着重于成功情况,即,所有子交易都被成功执行。
在WO2006079001中公开了使用这种即发即弃模式的计算机系统的一个示例,WO2006079001描述了包括公共网络的用于通过公共网络传递与金融交易有关的数据的系统以及多个参与的计算机系统。每一个参与的计算机系统与公共网络进行通信。每一个参与的计算机系统包括一个或多个应用以及与公共网络进行通信的网关。每一个应用与网关进行通信。每一个应用发送和接收针对一个或多个参与的计算机系统的一个或多个消息,以执行与金融交易有关的功能。网关提供用于通过公共网络在应用之间发送和接收数据的标准接口。
即发即弃模式的问题在于回退或以其他方式解决错误情况变得复杂。在一些情况下,在一些子交易已经成功执行而一些子交易还未成功执行的情况下解决正确状态甚至变得不可能。
结果是全局交易将在未定义的状态下结束,在未定义的状态下,一些部分被提交并且一些部分被回退。这使得手动清理变得必须。例如,在涉及银行和电力公司的金融交易中,券的发行的错误将需要使资金转移反转。
发明内容
本发明的目的是提供用于执行全局交易的方法和交易协调器节点。
本发明的第一方面涉及一种用于执行由交易协调器节点在交易执行系统中执行的全局交易的方法。所述交易执行系统涉及支持预留/提交协议的至少一个可靠交易执行实例和不支持预留/提交协议的一个不可靠交易执行实例。
所述交易协调器节点接收涉及由所涉及的相应交易执行实例执行的多个子交易的全局交易发起消息,并且向相应子交易的所涉及的可靠交易执行实例发送准备交易消息。
在接收到对所有准备交易消息的确认时,交易协调器节点向相应子交易的所涉及的不可靠交易执行实例发送执行消息。
如果执行消息成功,则交易协调器节点向相应子交易的所涉及的可靠交易执行实例发送提交准备交易。
优点在于,针对涉及多个可靠交易(与执行顺序无关)的全局交易,在仍然使得可以以保证的原子性来协调全局交易的同时,还允许一个不可靠交易。
在一个实施例中,在接收之后,所述交易协调器节点可以对所述所涉及的子交易进行分类,以在向所述所涉及的不可靠交易执行实例发送所述执行消息之前,向所涉及的可靠交易执行实例发送所述准备交易消息。
在另一个实施例中,在所述接收步骤之后,所述交易协调器节点可以在存储设备中登记所述全局交易发起(消息)。这使得能够自动地处理最终错误。所述登记可以包括:登记相关联的子交易。备选地,所述登记可以包括:登记相关联的子交易,其中针对每一个交易执行实例登记一个相关联的子交易。
在另一实施例中,所述交易协调器节点可以在接收时还基于所涉及的交易执行实例的数量来确定所述全局交易涉及多个子交易。
在另一实施例中,所述准备交易消息可以包括全局交易标识。
在另一实施例中,如果所述执行消息不成功,则所述交易协调器节点可以针对相应子交易的所涉及的可靠交易执行实例执行回退过程。
在备选实施例中,如果所述准备交易消息不成功,则所述交易协调器节点可以针对相应子交易的所涉及的可靠交易执行实例执行回退过程。
本发明的另一方面涉及一种用于在交易执行系统中执行全局交易的交易协调器节点,所述交易执行系统涉及支持预留/提交协议的至少一个可靠交易执行实例和不支持预留/提交协议的一个不可靠交易执行实例。
所述节点包括:处理器;以及存储器,包含当由所述处理器执行时使所述节点执行以下操作的指令:接收全局交易发起消息,所述全局交易发起消息涉及由所涉及的相应交易执行实例执行的多个子交易。
所述指令还使所述节点向相应子交易的所涉及的可靠交易执行实例发送准备交易消息;并且当接收到对所有准备交易消息的确认时,向相应子交易的所涉及的不可靠交易执行实例发送执行消息。
所述指令还使所述节点在所述执行消息成功的情况下,向相应子交易的所涉及的可靠交易执行实例发送提交准备交易。
在一个实施例中,所述存储器还包含当由所述处理器执行时使所述节点执行以下步骤的指令:对所述所涉及的子交易进行分类,以在向所述所涉及的不可靠交易执行实例发送所述执行消息之前,向所涉及的可靠交易执行实例发送所述准备交易消息。
在另一实施例中,所述存储器还包含当由所述处理器执行时使所述节点执行以下步骤的指令:在存储设备中登记所述全局交易发起消息。还可以登记相关联的子交易。备选地,可以登记子交易,其中针对每一个交易执行实例登记一个子交易。
在另一实施例中,所述存储器还包含当由所述处理器执行时使所述节点执行以下步骤的指令:基于所涉及的交易执行实例的数量来确定所述全局交易涉及多个子交易。
在另一实施例中,所述存储器还包含当由所述处理器执行时使所述节点执行以下步骤的指令:在所述准备交易消息中包括全局交易标识。
在另一实施例中,所述存储器还包含当由所述处理器执行时使所述节点执行以下步骤的指令:如果所述执行消息不成功,则针对相应子交易的所涉及的可靠交易执行实例执行回退过程。
在备选实施例中,所述存储器还包含当由所述处理器执行时使所述节点执行以下步骤的指令:如果所述准备交易消息不成功,则针对相应子交易的所涉及的可靠交易执行实例执行回退过程。
在另一备选实施例中,所述存储设备是持久存储设备。所述持久存储设备可以符合确保数据库交易被可靠处理的原则,例如,原子性、一致性、隔离性、持久性原则。
第三方面涉及一种计算机程序产品,包括非瞬时性计算机可读介质和存储在所述计算机可读介质上的计算机程序。
所述计算机程序包括计算机可读代码装置,当所述计算机可读代码装置在计算机中运行时,所述计算机可读代码装置使所述计算机执行以下步骤,其中所述计算机被配置为用于在交易执行系统中执行全局交易的交易协调器节点,所述交易执行系统涉及支持预留/提交协议的至少一个可靠交易执行实例和不支持预留/提交协议的一个不可靠交易执行实例:
-接收全局交易发起消息,所述全局交易发起消息涉及由所涉及的相应交易执行实例执行的多个子交易;
-向相应子交易的所涉及的可靠交易执行实例发送准备交易消息;并且当接收到对所有准备交易消息的确认时,向相应子交易的所涉及的不可靠交易执行实例发送执行消息;以及
-如果所述执行消息成功,则向相应子交易的所涉及的可靠交易执行实例发送提交准备交易。
现在将参照附图更详细地描述本发明的实施例。
附图说明
图1是示出了本发明的示例性实施例的概述的序列图。
图2是示出了可以在其中使用实施例的交易执行系统的框图。
图3A至图3C是示出了用于执行全局交易的方法的更详细的视图的序列图。
图4是示出了用于执行由交易协调器节点在交易执行系统中执行的全局交易的方法的流程图。
图5是示出了用于实现交易协调器节点的示例性计算环境的框图。
图6是示出了计算机程序和计算机程序产品的示例性实施例的框图。
具体实施方式
示例实施例的以下详细描述参照附图。不同附图中的相同的附图标记表示相同或者相似的元件。此外,以下详细描述不限制本解决方案。
图1是示出了本发明的示例性实施例的概述的序列图。
通过将两阶段的预留-提交序列进行扩展以便还处理不可靠提供商,可以在错误的情况下使全局交易保持完整。以如图1所示的定义的顺序执行所涉及的子交易实现该结果。
示出的示例是具有两个不同当事方(经由不可靠协议连接的银行和经由可靠(两阶段的预留-提交)协议连接的电力公司)的交易。可能的错误是在银行账户可能没有钱或者券的传递失败。
使用情况是顾客希望从电力公司购买电力券并且从其银行账户付款。
涉及必须执行或不执行的两个子交易。第一个子交易是在银行转移资金。第二个子交易是发行券。
在步骤105,由用户发起交易,并且在步骤110,通过可靠协议从协调器向电力公司发送准备发行券消息。在步骤115,接收到确认响应。在针对电力公司的几个可靠交易的情况下或者在需要其他可靠交易执行实例的情况下,针对这些交易对准备消息传送进行循环。
一旦确认了可靠交易,在步骤120,就发生不可靠交易(例如针对银行的转移资金消息)。如果转移成功,则在步骤125,协调器接收确认消息。如果针对银行的不可靠交易成功,则协调器现在可以通过按照任意顺序发送提交消息125来对未完成的准备动作进行循环,并且可以重复,直到通过确认消息130达到可靠结果为止。当提交阶段完成时,在步骤135,向用户提供状态消息。
图2是示出了可以在其中使用实施例的交易执行系统的框图。
所涉及的系统和组件包括:
-协调器210,其可以是具有本地持久存储设备的软件进程。协调器管理全局交易并且与外部目标进行通信。
-本地持久存储设备220,其可以是符合ACID(原子性、一致性、隔离性、持久性)原则的硬盘驱动器上或数据库中的存储设备。ACID是确保数据库交易被可靠地处理的属性集。
-可靠的外部目标系统230,其可以是执行预留/提交功能的软件服务。如果外部目标系统使用预留请求成功进行响应,则提交必须始终是成功的。在无响应场景的情况下,提交请求必须始终可以重新发送。
-不可靠的外部目标系统240,其可以是不执行预留/提交功能的软件服务。在一些交易执行系统中,针对特定的全局交易可能存在多个不可靠的目标系统,而在其他交易执行系统中,针对特定的全局交易可能仅存在一个不可靠的目标系统。
图3A至图3C是示出了用于执行全局交易的方法的更详细的视图的序列图。
描述了包括以下各项的系统:两个或更多个目标系统提供商1、提供商N,其支持通过潜在不可靠的网络的任何预留/提交协议(也称作准备/提交协议),例如,基于TCP的消息协议,其中,一个目标系统提供商U不支持预留/提交协议。根据本发明的实施例,可以协调一个全局交易,其中,在这种系统中确保原子性。
解决方案涉及被称作协调器的一个进程(例如,软件进程),以保存交易状态。协调器可以使用持久存储设备,例如,协调器内的本地存储设备。该本地持久存储设备可以包括本地文件或数据库。
针对涉及多个可靠分支的全局交易,在不同阶段的执行顺序是无关的。然而,通过对当前公开的不同分支进行分类,也允许一个不可靠的分支。
现在参照图3A至图3C来描述解决方案。在步骤305,用户从其客户端应用(例如,移动电话、平板电脑、个人计算机或其他通信装置)发起针对协调器的全局交易,该全局交易涉及针对多个目标系统的子交易。使用超文本传输协议(HTTP)、短消息服务(SMS)或任何其他传输协议来发送该消息。
在步骤307,完成对所涉及的子交易的分类。
在步骤310,协调器通过在存储设备(例如,数据库)中或在本地文件系统上创建针对全局交易的条目(如步骤315所示)来登记该全局交易。登记的持久性使得能够自动地处理最终的错误。协调器进一步基于所涉及的外部系统的数量来确定全局交易将由多个子交易构成。全局交易的登记还涉及登记相关联的子交易,例如,针对每一个外部系统登记一个子交易。
在步骤320,协调器向第一提供商(提供商1)发送针对子交易的准备消息。该消息包含全局交易标识以及准备信息。利用步骤325中对准备消息的响应,提供商确保具有相同的交易标识的后续提交将是成功的。可以通过不可靠网络(例如,传输控制协议(TCP)或用户数据报协议(UDP)网络)来发送准备消息。
在步骤330,通过将针对提供商1的已登记子交易更新为准备好的,协调器使针对提供商1的准备持久化(即,例如存储在持久存储器中)。
在步骤335至340,现在可以针对参与全局交易的任何其他目标系统(例如,提供商N)来执行准备过程。
在步骤345,协调器通过将已登记子交易更新为准备好的来使针对提供商N的准备持久化。
在步骤350,协调器将全局交易更新为状态提交并且将交易持久化至本地存储设备。
在步骤355,协调器通过调用不可靠提供商来开始对全局交易的提交。可以通过任意类型的网络(例如,可靠的或不可靠的,如TCP/UDP)来发送该调用。如果在步骤360中不存在响应,则协调器重新尝试调用。如果存在否定响应,则进程继续步骤382。
在步骤365,如果在步骤355中交易成功,则协调器将针对不可靠提供商的子交易持久化至本地存储设备,并且将针对不可靠提供商的子交易的状态更新为已提交的,然后继续步骤370。
在步骤370,协调器调用针对提供商1的提交。可以通过任意类型的网络(例如,可靠的或不可靠的,如TCP/UDP)来发送该请求。如果不存在响应或者如果提交未完成,则可以重发该消息。
在步骤372,协调器将针对提供商1的子交易与提交的状态一起持久化到本地存储设备。
在步骤374,针对任何其他可靠提供商以与步骤370类似的方式发送提交消息,并且在步骤378,协调器对步骤374的结果进行持久化。
在步骤380,协调器将关于全局交易的状态改变为已提交的(即,完成的/已完成的),并且将结果持久化至本地存储设备。
如果在步骤355针对不可靠提供商的子交易未成功,则在步骤382a至392a执行回退过程:
回退场景:在步骤382a,协调器将全局交易更新为回退并且将结果持久化至本地存储设备。
回退场景:在步骤384a,协调器向提供商1发送回退消息。可以针对任意类型的网络发送该消息,并且如果不存在针对提供商的响应,则重发该消息。
回退场景:在步骤386a,协调器将针对提供商1的子交易更新为已回退的。然后,将子交易持久化至本地存储设备。
回退场景:步骤388a对应于步骤384a,但是针对任何其他所涉及的提供商N。
回退场景:步骤390a对应于步骤386a,但是针对任何其他所涉及的提供商。
回退场景:在步骤392a,协调器将全局交易更新为已回退的,并且将结果持久化至本地存储设备。
类似地,在任何准备失败时(例如,在步骤320或335中),在步骤382b至392b中执行类似的回退过程。
图4是示出了用于执行由交易协调器在交易执行系统中执行的全局交易的方法的流程图。
交易执行系统涉及支持预留/提交协议的至少一个可靠交易执行实例和不支持预留/提交交易的一个不可靠交易执行实例。
在步骤410,交易协调器节点接收全局交易发起消息,所述全局交易发起消息涉及由所涉及的相应交易执行实例执行的多个子交易。
在步骤415,交易协调器节点可以在接收时还基于所涉及的交易执行实例的数量来确定全局交易涉及多个子交易。
在步骤420,交易协调器节点可以对所涉及的子交易进行分类以向步骤415中的所涉及的可靠交易执行实例发送准备交易消息。
在步骤425,交易协调器节点可以在存储设备中登记全局交易发起消息。这使得能够自动地处理最终错误。登记可以包括登记相关联的子交易。备选地,登记可以包括登记相关联的子交易,针对每一个交易执行实例登记一个子交易。
在步骤430,发送针对相应子交易的所涉及的可靠交易执行实例的准备交易消息。准备交易消息可以包括全局交易标识。
如果准备交易消息不成功,则在步骤435,交易协调器节点可以针对相应子交易的所涉及的可靠交易执行实例执行回退过程。
当在步骤440接收到对所有准备交易消息(可能已经持久化至存储设备中)的确认时,在步骤445,交易协调器节点向相应子交易的所涉及的不可靠交易执行实例发送执行消息。在发送执行消息之前,协调器可以将全局交易更新为状态提交,并且将交易持久化至本地存储设备。
如果执行消息成功,则在步骤450,交易协调器节点向相应子交易的所涉及的可靠交易执行实例发送提交准备交易。
如果执行消息不成功,则在步骤455,交易协调器节点可以针对相应子交易的所涉及的可靠交易执行实例执行回退过程。
图5是示出了用于实现用于在交易执行系统中执行全局交易的交易协调器节点的示例性计算环境的框图,其中交易执行系统涉及支持预留/提交协议的至少一个可靠交易执行实例和不支持预留/提交协议的一个不可靠交易执行实例。
尽管以上做出了清楚的描述,但是计算系统环境500只是针对诸如交易协调器节点等的涉及系统节点的合适计算环境的一个示例,而不旨在暗示对要求保护的主题的使用范围或者功能的任何限制。此外,计算环境500不旨在暗示关于要求保护的主题和在示例性操作环境500中示出的组件中的任意一个或其组合的任何依赖性或者要求。
交易协调器节点包括计算机510形式的通用计算设备。计算机510的组件可以包括但不限于:处理单元520、系统存储器530和系统总线521,系统总线521将包括系统存储器在内的各种系统组件耦合到处理单元520。系统总线521可以是若干类型的总线结构中的任意一种,包括存储器总线或者存储控制器、外围总线和使用各种总线架构中的任意一种的本地总线。
计算机510可以包括各种瞬时性和非瞬时性计算机可读介质。计算机可读介质可以是能够被计算机510访问的任何可用介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现的易失性和非易失性以及可移除和不可移除介质,用于存储信息,如计算机可读指令、数据结构、程序模块、程序单元或其他数据。计算机存储介质包括但不限于:RAM、ROM、EEPROM、闪存或其他存储器技术、CDROM、数字通用光盘(DVD)或其他光盘存储设备、磁带盒、磁带、磁盘存储设备或其他磁存储设备、或可以用于存储期望信息并且可以由计算机510存取的任何其他介质。通信介质可以以调制数据信号(如载波或其他传输机制)体现计算机可读指令、数据结构、程序模块或其他数据,并且可以包括任何合适的信息传送介质。
系统存储器530可以包括易失性和/或非易失性存储器形式的计算机存储介质,例如,只读存储器(ROM)和/或随机存取存储器(RAM)。基本输入/输出系统(BIOS)(包含有助于(例如,在启动时)在计算机510内的元件之间传输信息的基本例程)可以存储在存储器530中。存储器530还可以包含处理单元520可以立即访问和/或当前正在运行的数据和/或程序模块。作为非限制性的示例,存储器530还可以包含操作系统、应用程序、其他程序模块和程序数据。
系统存储器530可以包含加载到存储器中并且可以由处理单元或其他电路处理的指令,所述指令能够将计算机适配为执行根据所公开的解决方案的所涉及的系统节点(例如,客户端系统、协调器、本地存储设备、或目标系统(例如,提供商(1……N)或不可靠提供商))中的任意一个的步骤。
举例说明,指令可以将交易协调器节点中的计算机510适配为执行交易执行系统中的全局交易,交易执行系统涉及支持预留/提交协议的至少一个可靠交易执行实例和不支持预留/提交协议的一个不可靠交易执行实例。
指令可以在由处理器执行时使节点接收全局交易发起消息,所述全局交易发起消息涉及由所涉及的相应交易执行实例执行的多个子交易。
指令还可以使节点向相应子交易的所涉及的可靠交易执行实例发送准备交易消息,并且当接收到对所有准备交易消息的确认时向相应子交易的所涉及的不可靠交易执行实例发送执行消息。
指令还可以使节点在所述执行消息成功的情况下向相应子交易的所涉及的可靠交易执行实例发送提交准备交易。
计算机510还可以包括其他可移除的/不可移除的和易失性/非易失性的计算机存储介质。例如,计算机510可以包括从不可移除的非易失性磁介质读取或向其写入的硬盘驱动器、从可移除的非易失性磁盘读取或向其写入的磁盘驱动器、和/或从可移除的非易失性光盘(如CD-ROM或其他光介质)读取或向其写入的光盘驱动器。可以用于示例性操作环境的其他可移除/不可移除、易失性/非易失性计算机存储介质包括但不限于:磁带盒、闪存卡、数字多功能光盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器可以通过不可移除存储器接口(如接口)连接至系统总线521,并且磁盘驱动器或光盘驱动器可以通过可移除存储器接口(如接口)连接至系统总线521。
用户可以通过输入设备(例如,键盘,或者指示设备,如鼠标、轨迹球、触摸垫和/或其他指示设备)向计算机510输入命令和信息。其他输入设备可以包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪或者类似的设备。这些和/或其他输入设备可以通过耦合到系统总线521的用户输入端540和相关联的接口连接到处理单元520,但也可以通过其他接口和总线结构(例如,并行端口、游戏端口或通用串行总线(USB))连接。
图形子系统也可以连接到系统总线521。另外,监视器或者其他类型的显示设备可以通过接口(例如,输出接口550)连接到系统总线521,该接口进而与视频存储器通信。除了监视器之外,计算机还可以包括其他外围输出设备,例如,扬声器和/或打印设备,它们也可以通过输出接口550来连接。
计算机510可以利用到一个或者多个其他远程计算机(例如,远程服务器570)的逻辑连接而在联网的或者分布式环境中操作,所述远程算机可以进而具有与设备510不同的媒体功能。远程服务器570可以是个人计算机、服务器、路由器、网络PC、对等设备或其他常见的网络节点、和/或任何其他远程的媒体消耗或传输设备,并且可以包括上文关于计算机510描述的任何元件或所有元件。图5中示出的逻辑连接包括网络571(例如,局域网(LAN)或者广域网(WAN)),但是也可以包括其他网络/总线。
当在LAN联网环境中使用时,计算机510通过网络接口或适配器560连接至LAN571。当在WAN网络环境中使用时,计算机510可以包括诸如调制解调器或用于在WAN(例如,因特网)上建立通信的其他装置之类的通信组件。通信组件(如调制解调器)(可以是内置的或者是外置的)可以通过输入端540处的用户输入接口和/或其他合适的机制连接到系统总线521。
在联网环境中,关于计算机510描述的程序模块或其部分可以存储在远程存储设备中。应当注意的是,所示出和描述的网络连接是示例性的,并且可以使用建立计算机之间的通信链路的其他手段。
另外,应当注意的是,本申请使用的术语,例如,“组件”、“显示器”、“接口”和其他类似的术语旨在是指计算设备,其可以是硬件、硬件和软件的结合、软件、或者应用到计算设备的执行中的软件。例如,组件可以是但不限于:在处理器上运行的进程、处理器、对象、可执行代码、执行线程、程序和计算设备。作为示例,在计算设备上运行的应用和计算设备都可以是组件。一个或多个组件可以驻留在执行的进程和/或线程中,并且组件可以被局部化到一个计算设备上和/或分布在两个或更多个计算设备和/或通信连接的模块之间。此外,应当注意的是,本申请所使用的术语,如“系统用户”、“用户”和类似的术语旨在是指操作以上提及的计算设备的人。
当元件被称作相对于另一元件进行“连接”、“耦合”、“响应”或其变形时,它可以直接连接、耦合到或者响应于其他元件,或者可以存在中间元件。相反,当元件被称作相对于另一元件进行“直接连接”、“直接耦合”、“直接响应”或其变形时,不存在中间元件。贯穿全文,类似的标记表示类似的元件。此外,本文所使用的“耦合”、“连接”、“响应”或其变形可以包括无线耦合、连接或响应。如本文中使用的,单数形式“一”、“一个”和“该”意图还包括复数形式,除非上下文明确地另外指示。为了简洁和/或清楚,可以不对周知的功能或结构进行详细描述。术语“和/或”包括相关联的所列项目中的任意一个以及一个或多个的所有组合。
本文使用的术语“包括”、“包含”、“含有”、“涵盖”、“由……构成”、“计入”、“有”、“拥有”、“具有”或其变形是开放式的,并且包括一个或多个所记载的特征、整数、元件、步骤、组件、或功能,但是不排除存在或添加一个或多个其他特征、整数、元件、步骤、组件、功能或其组合。此外,如本文所使用的,根据拉丁语“exempligratia(例如)”得到的常见的缩写“e.g.(例如)”可以用于介绍或指定先前提及的项目的一般示例,而并不旨在限制这种项目。根据拉丁短语“idest(即)”得到的常用缩写“i.e.(即)”可以用于指定更一般引述的具体项目。
还应该注意的是,在一些备选实现中,在框中标记的功能/动作可以不以流程图中标记的顺序发生。例如依赖于所涉及的功能/动作,连续示出的两个框实际上可以实质上同时执行,或者框有时可以按照相反的顺序执行。此外,可以将流程图和/或框图中的给定框的功能分离成多个框和/或流程图的两个或更多框的功能和/或可以至少部分地集成框图。
最后,可以在所示的框之间添加/插入其他框。此外,尽管一些图包括通信路径上的箭头来指示通信的主要方向,但是将理解的是,通信可以在与所指示的箭头的相反方向上发生。
已经在本文中结合以上描述和附图公开了许多不同实施例。将理解的是,逐字描述和说明这些实施例的每一个组合和子组合将是过于重复的和混淆的。因此,包括附图的本说明书将被解释以构建实施例的各种示例性组合和子组合以及制造和使用它们的方式和过程的完整书面说明,并且将支持要求任意这种组合或子组合的权益。
在基本上不背离本解决方案的原则的前提下,可以对实施例做出许多变形和修改。在本文中,所有此类变形和修改旨在被包括在本解决方案的范围内。
此外,非限制性示例性实施例包括:(i)一种用于在数据通信网络中执行分布式全局交易的方法,该数据通信网络具有一个或多个不可靠服务提供商,该方法包括:在数据通信网络中预留分布式全局交易中与第一目标的第一子交易;尝试在数据通信网络中提交分布式全局交易中与第二目标的第二子交易,第二目标是不可靠目标;以及如果第二子交易被成功提交,则提交第一预留的子交易,否则,回退第一预留的子交易而不提交第一预留的子交易,由此确保了分布式全局交易的原子性。(ii)一种用于在数据通信网络中执行分布式交易的系统,该数据通信网络具有一个或多个不可靠服务提供商,该系统包括:处理器;存储器,包含当由处理器执行时使装置执行上述示例性实施例(i)的方法的指令。

Claims (21)

1.一种用于由交易执行系统(200)中的交易协调器节点(210)执行的全局交易的方法,所述交易执行系统(200)涉及支持预留/提交协议的至少一个可靠交易执行实例(240)和不支持预留/提交协议的一个不可靠交易执行实例(230),所述交易协调器节点执行以下步骤:
-接收(410)全局交易发起消息,所述全局交易发起消息涉及由所涉及的相应交易执行实例执行的多个子交易;
-向相应子交易的所涉及的可靠交易执行实例发送(430)准备交易消息;并且当接收(440)到对所有准备交易消息的确认时,向相应子交易的所涉及的不可靠交易执行实例发送(445)执行消息;以及
-如果所述执行消息成功,则向相应子交易的所述所涉及的可靠交易执行实例发送(450)提交准备交易。
2.根据权利要求1所述的方法,其中,在所述接收步骤之后,对所述所涉及的子交易进行分类(420),以在向所述所涉及的不可靠交易执行实例发送所述执行消息之前,向所涉及的可靠交易执行实例发送所述准备交易消息。
3.根据权利要求1至2中任一项所述的方法,其中,在所述接收步骤之后,执行另一步骤:在存储设备中登记(425)所述全局交易发起消息。
4.根据权利要求3所述的方法,其中,所述登记还包括:登记相关联的子交易。
5.根据权利要求3所述的方法,其中,所述登记还包括:登记相关联的子交易,其中针对每一个交易执行实例登记一个相关联的子交易。
6.根据权利要求1至5中任一项所述的方法,其中,所述接收步骤还包括:基于所涉及的交易执行实例的数量来确定所述全局交易涉及多个子交易。
7.根据权利要求1至6中任一项所述的方法,其中,所述准备交易消息包括全局交易标识。
8.根据前述权利要求中任一项所述的方法,其中,如果所述执行消息不成功,则针对相应子交易的所述所涉及的可靠交易执行实例执行(455)回退过程。
9.根据前述权利要求中任一项所述的方法,其中,如果所述准备交易消息不成功,则针对相应子交易的所述所涉及的可靠交易执行实例执行(435)回退过程。
10.一种交易执行系统(200)中的执行全局交易的交易协调器节点(210),所述交易执行系统(200)涉及支持预留/提交协议的至少一个可靠交易执行实例(240)和不支持预留/提交协议的一个不可靠交易执行实例(230),所述节点包括:
-处理器(520);
-存储器(530),包含当由所述处理器执行时使所述节点执行以下操作的指令:
-接收全局交易发起消息,所述全局交易发起消息涉及由所涉及的相应交易执行实例执行的多个子交易;
-向相应子交易的所涉及的可靠交易执行实例发送准备交易消息;并且当接收到对所有准备交易消息的确认时,向相应子交易的所涉及的不可靠交易执行实例发送执行消息;以及
-如果所述执行消息成功,则向相应子交易的所述所涉及的可靠交易执行实例发送提交准备交易。
11.根据权利要求10所述的交易协调器节点,其中,所述存储器还包含当由所述处理器执行时使所述节点执行以下步骤的指令:对所述所涉及的子交易进行分类,以在向所述所涉及的不可靠交易执行实例发送所述执行消息之前,向所涉及的可靠交易执行实例发送所述准备交易消息。
12.根据权利要求10至11中任一项所述的交易协调器节点,其中,所述存储器还包含当由所述处理器执行时使所述节点执行以下步骤的指令:在存储设备中登记所述全局交易发起消息。
13.根据权利要求12所述的交易协调器节点,其中,所述存储器还包含当由所述处理器执行时使所述节点执行以下步骤的指令:登记相关联的子交易。
14.根据权利要求12所述的交易协调器节点,其中,所述存储器还包含当由所述处理器执行时使所述节点执行以下步骤的指令:登记相关联的子交易,其中针对每一个交易执行实例登记一个相关联的子交易。
15.根据权利要求10至14中任一项所述的交易协调器节点,其中,所述存储器还包含当由所述处理器执行时使所述节点执行以下步骤的指令:基于所涉及的交易执行实例的数量确定所述全局交易涉及多个子交易。
16.根据权利要求10至15中任一项所述的交易协调器节点,其中,所述存储器还包含当由所述处理器执行时使所述节点执行以下步骤的指令:在所述准备交易消息中包括全局交易标识。
17.根据权利要求10至16中任一项所述的交易协调器节点,其中,所述存储器还包含当由所述处理器执行时使所述节点执行以下步骤的指令:如果所述执行消息不成功,则针对相应子交易的所述所涉及的可靠交易执行实例执行回退过程。
18.根据权利要求10至17中任一项所述的交易协调器节点,其中,所述存储器还包含当由所述处理器执行时使所述节点执行以下步骤的指令:如果所述准备交易消息不成功,则针对相应子交易的所有涉及的可靠交易执行实例执行回退过程。
19.根据权利要求10至18中任一项所述的交易协调器节点,其中,所述存储设备是持久存储设备。
20.根据权利要求19所述的交易协调器节点,其中,所述持久存储设备符合确保数据库交易被可靠处理的原则,例如,原子性、一致性、隔离性、持久性原则。
21.一种计算机程序产品(600),包括非瞬时性计算机可读介质(610)和存储在所述计算机可读介质上的计算机程序(620),所述计算机程序包括计算机可读代码装置,当所述计算机可读代码装置在计算机(510)中运行时,所述计算机可读代码装置使所述计算机执行以下步骤,其中所述计算机(510)被配置为交易执行系统(200)中的用于执行全局交易的交易协调器节点(210),所述交易执行系统(200)涉及支持预留/提交协议的至少一个可靠交易执行实例(240)和不支持预留/提交协议的一个不可靠交易执行实例(230):
-接收(410)全局交易发起消息,所述全局交易发起消息涉及由所涉及的相应交易执行实例执行的多个子交易;
-向相应子交易的所涉及的可靠交易执行实例发送(430)准备交易消息;并且当接收(440)到对所有准备交易消息的确认时,向相应子交易的所涉及的不可靠交易执行实例发送(445)执行消息;以及
-如果所述执行消息成功,则向相应子交易的所述所涉及的可靠交易执行实例发送(450)提交准备交易。
CN201480058262.1A 2013-10-25 2014-10-08 用于数据通信网络中的分布式交易的方法和装置 Active CN105814542B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361895737P 2013-10-25 2013-10-25
US61/895,737 2013-10-25
US14/165,981 2014-01-28
US14/165,981 US9418364B2 (en) 2013-10-25 2014-01-28 Method and apparatus for distributed transactions in a data communication network
PCT/SE2014/051183 WO2015060769A1 (en) 2013-10-25 2014-10-08 Method and apparatus for distributed transactions in a data communication network

Publications (2)

Publication Number Publication Date
CN105814542A true CN105814542A (zh) 2016-07-27
CN105814542B CN105814542B (zh) 2020-04-07

Family

ID=51900948

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480058262.1A Active CN105814542B (zh) 2013-10-25 2014-10-08 用于数据通信网络中的分布式交易的方法和装置

Country Status (5)

Country Link
US (1) US9418364B2 (zh)
EP (1) EP3060988B1 (zh)
CN (1) CN105814542B (zh)
DK (1) DK3060988T3 (zh)
WO (1) WO2015060769A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3001816B1 (fr) * 2013-02-05 2015-03-06 Thales Sa Systeme de processeur multi-utilisateurs de traitement d'informations
KR102437664B1 (ko) 2014-09-26 2022-08-29 오라클 인터내셔날 코포레이션 멀티테넌트 어플리케이션 서버 환경에서 트랜잭션 복구를 위한 시스템 및 방법
GB2533562A (en) * 2014-12-18 2016-06-29 Ipco 2012 Ltd An interface, method and computer program product for controlling the transfer of electronic messages
GB2533379A (en) 2014-12-18 2016-06-22 Ipco 2012 Ltd A system and server for receiving transaction requests
US10339127B2 (en) * 2016-01-28 2019-07-02 Oracle International Corporation Guaranteed commit outcome in a distributed transaction processing system
CN106503132B (zh) * 2016-10-19 2019-07-16 广州快塑电子科技有限公司 一种分布式事务管理方法及系统
CN109493204B (zh) * 2018-10-16 2023-04-18 平安科技(深圳)有限公司 基于区块链的业务记账方法及终端设备
CN110764933B (zh) * 2019-10-23 2022-12-27 北京证大向上金融信息服务有限公司 一种消息处理方法、装置、系统及计算设备
CN111045839A (zh) * 2019-12-04 2020-04-21 中国建设银行股份有限公司 分布式环境下基于两阶段事务消息的顺序调用方法及装置
CN113537959A (zh) * 2020-04-15 2021-10-22 盖·帕东 用于鲁棒通信的方法和系统
CN112835687B (zh) * 2021-01-22 2023-05-26 恒生电子股份有限公司 一种计算机事务处理方法及系统
US11997155B2 (en) 2022-01-31 2024-05-28 Discover Financial Services Trace context over file transfer communications

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080092139A1 (en) * 2006-10-11 2008-04-17 Ruby Jonathan P Extended Transactions
CN101794226A (zh) * 2010-03-08 2010-08-04 山东大学 一种适应多业务抽象层次的服务化软件构造方法和系统
CN102495979A (zh) * 2011-11-11 2012-06-13 广州大学 数字资源交易中实现可信计数的系统
US20120290460A1 (en) * 2011-05-09 2012-11-15 Curry Jr Steven Lynn Composite Public Cloud, Method and System
CN102880475A (zh) * 2012-10-23 2013-01-16 上海普元信息技术股份有限公司 计算机软件系统中基于云计算的实时事件处理系统及方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7289964B1 (en) * 1999-08-31 2007-10-30 Accenture Llp System and method for transaction services patterns in a netcentric environment
US6640244B1 (en) * 1999-08-31 2003-10-28 Accenture Llp Request batcher in a transaction services patterns environment
US7206805B1 (en) * 1999-09-09 2007-04-17 Oracle International Corporation Asynchronous transcription object management system
US7290056B1 (en) * 1999-09-09 2007-10-30 Oracle International Corporation Monitoring latency of a network to manage termination of distributed transactions
US20060167818A1 (en) 2005-01-21 2006-07-27 David Wentker Methods and system for performing data exchanges related to financial transactions over a public network
US8453163B2 (en) * 2009-06-29 2013-05-28 Software Ag Usa, Inc. Systems and/or methods for policy-based JMS broker clustering
US20130110781A1 (en) 2011-10-31 2013-05-02 Wojciech Golab Server replication and transaction commitment
US9055065B2 (en) 2011-11-21 2015-06-09 Red Hat, lnc. Managing participant order in distributed transactions
US10133596B2 (en) 2012-03-16 2018-11-20 Oracle International Corporation System and method for supporting application interoperation in a transactional middleware environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080092139A1 (en) * 2006-10-11 2008-04-17 Ruby Jonathan P Extended Transactions
CN101794226A (zh) * 2010-03-08 2010-08-04 山东大学 一种适应多业务抽象层次的服务化软件构造方法和系统
US20120290460A1 (en) * 2011-05-09 2012-11-15 Curry Jr Steven Lynn Composite Public Cloud, Method and System
CN102495979A (zh) * 2011-11-11 2012-06-13 广州大学 数字资源交易中实现可信计数的系统
CN102880475A (zh) * 2012-10-23 2013-01-16 上海普元信息技术股份有限公司 计算机软件系统中基于云计算的实时事件处理系统及方法

Also Published As

Publication number Publication date
US9418364B2 (en) 2016-08-16
EP3060988B1 (en) 2017-02-15
DK3060988T3 (en) 2017-05-22
CN105814542B (zh) 2020-04-07
EP3060988A1 (en) 2016-08-31
WO2015060769A1 (en) 2015-04-30
US20150120531A1 (en) 2015-04-30

Similar Documents

Publication Publication Date Title
CN105814542A (zh) 用于数据通信网络中的分布式交易的方法和装置
US7047243B2 (en) Coordinating transactional web services
JP6908288B2 (ja) 標準インタフェースを介して異種のコンピュータ処理装置を接続するためのシステム及び方法
Dumas et al. Web service protocols: Compatibility and adaptation.
AU2006228895B2 (en) Self-owned resources interactive method and processing method of electronic trade information and system
US7668961B2 (en) Unilateral web services interaction contract
CN112308552A (zh) 医保药品的下单方法和装置
CN108874654A (zh) 幂等有效性测试方法、装置及设备、可读介质
JP6097984B2 (ja) リアルタイムのモバイル支払処理システム
US10425778B2 (en) Distributed transactions on mobile devices via a messaging service provided by a mobile network operator
WO2019179249A1 (zh) 一种支付方法、装置及电子设备
CN110941622A (zh) 一种数据处理方法及装置
CN112819638A (zh) 交易判重的方法、装置、设备和计算机可读介质
RU2373565C2 (ru) Автоматическая генерация кода моделирования схемы обмена сообщениями
CN111681026A (zh) 资源配置方法及其装置、电子设备和计算机可读存储介质
US7343589B2 (en) Declarative state space reduction in a transactional messaging language
US20020095656A1 (en) Extensible software development using asynchronous messaging
CN104299039A (zh) 一种信息订制方法、装置及终端
US9092779B2 (en) Heuristics processing
CN113778631A (zh) 分布式事务补偿方法、装置、电子设备及可读存储介质
CN112950183A (zh) 跨链数据互换方法、系统、装置、电子设备
Aldred et al. Dimensions of coupling in middleware
CN117011058A (zh) 跨系统交易的方法、装置、设备及存储介质
EP4394682A1 (en) Trade processing program, method for processing trade, and information processing apparatus
CN112734562B (zh) 一种签约系统、方法和计算机可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant