CN107465725A - 基于客户信息控制***的异构长事务处理***及方法 - Google Patents
基于客户信息控制***的异构长事务处理***及方法 Download PDFInfo
- Publication number
- CN107465725A CN107465725A CN201710594229.6A CN201710594229A CN107465725A CN 107465725 A CN107465725 A CN 107465725A CN 201710594229 A CN201710594229 A CN 201710594229A CN 107465725 A CN107465725 A CN 107465725A
- Authority
- CN
- China
- Prior art keywords
- transaction
- business
- issued transaction
- server
- issued
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/566—Grouping or aggregating service requests, e.g. for unified processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/567—Integrating service provisioning from a plurality of service providers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/289—Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2895—Intermediate processing functionally located close to the data provider application, e.g. reverse proxies
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种基于客户信息控制***的异构长事务处理***及方法,涉及客户信息控制***技术领域。***中业务请求客户端向一至多个业务归属服务器发送各业务归属服务器对应的事务处理请求;业务归属服务器根据事务处理请求,执行第一事务处理,并将第一事务处理的执行结果向业务请求客户端进行反馈;异步将事务控制令牌信息发送给与事务处理请求相关的业务相关服务器;业务相关服务器根据事务控制令牌信息,执行第二事务处理,并异步将第二事务处理的执行结果和事务控制令牌信息发送给业务归属服务器;业务归属服务器根据事务控制令牌信息和第二事务处理的执行结果,执行第三事务处理,并生成第三事务处理的执行结果。
Description
技术领域
本发明涉及客户信息控制***技术领域,尤其涉及基于客户信息控制***的异构长事务处理***及方法。
背景技术
客户信息控制***(Customer Information Control System,简称CICS)是IBM公司推出的交易中间件,在主机平台、开放平台、WIN平台等均有对应产品。CICS交易处理中间件主要支持联机交易服务(On-Line Transaction Processing简称OLTP),提供用户实时的交易请求与响应。CICS的事务处理包括4个属性,即ACID属性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。CICS是一个强大的交易事务处理平台,其具有商务级事务管理器所要求的整合性、可恢复性、安全性和可用性,是个强有力的联机事务处理管理***;CICS还可以提供跨平台的接口,形成可移植的应用和开发技术,具有广泛的跨平台可操作性。
在涉及多台服务器共同参与才能完成的长事务处理过程中,CICS在这种特定场景下就会面临问题。此处以两台服务器(服务器A和服务器B)共同参与同一事务处理为例来说明:
(1)、服务器A完成自身事务处理后,提交给服务器B。服务器B的事务如果处理时间很长,按照CICS的事务ACID控制原则,即要保持事务的隔离性、一致性,服务器A中事务所用到的资源将会被锁定,不允许其他应用访问到事务处理过程中的资源,直到整个事务被提交或者回滚。这就造成服务器A中的资源被长时间锁定,***的可用性将受到影响。
(2)、如果服务器A与服务器B之间的网络通讯得不到有效保障,按照CICS的数据同步交互原则,一旦发生网络通讯异常,就会造成整个链路上的资源等待,直到服务器B有效返回,***可用性也是不可接受的。
(3)、在服务器B完成了事务处理后,对于服务器A如果处理时间长或网络通讯异常,同样也会造成整个链路上的资源等待,***可用性也将受影响。
可见,现有的CICS交易中间件在异构环境长事务处理环境中存在对***、数据库等资源的锁定争用问题,以及网络通讯异常、***不可靠等因素造成的***可用性和用户体验较差的问题。
发明内容
本发明提供了一种基于客户信息控制***的异构长事务处理***及方法,以解决现有的CICS交易中间件在异构环境长事务处理环境中存在对***、数据库等资源的锁定争用问题,以及网络通讯异常、***不可靠等因素造成的***可用性和用户体验较差的问题。
为达到上述目的,本发明采用如下技术方案:
一种基于客户信息控制***的异构长事务处理***,包括:业务请求客户端、基于CICS应用的一至多个业务归属服务器以及非基于CICS应用的一至多个业务相关服务器;所述业务请求客户端能够与所述业务归属服务器进行通信;所述业务归属服务器能够与所述业务相关服务器进行通信;
所述业务请求客户端,用于向一至多个业务归属服务器发送各业务归属服务器对应的事务处理请求;
所述业务归属服务器,用于根据所述事务处理请求,执行第一事务处理,并将第一事务处理的执行结果向所述业务请求客户端进行反馈;异步将事务控制令牌信息发送给与所述事务处理请求相关的业务相关服务器;
所述业务相关服务器,用于根据所述事务控制令牌信息,执行第二事务处理,并异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器;
所述业务归属服务器,还用于根据所述事务控制令牌信息和所述第二事务处理的执行结果,执行第三事务处理,并生成第三事务处理的执行结果。
具体的,所述业务归属服务器与所述业务相关服务器之间构建有适配器。
进一步的,所述业务归属服务器,还用于:
在第一事务处理的执行结果表示第一事务处理执行成功时,将第一事务处理提交,并将第一事务处理的执行结果的相关数据更新到业务归属服务器的数据库中的事务处理请求的相关数据。
另外,所述业务归属服务器,异步将事务控制令牌信息发送给与所述事务处理请求相关的业务相关服务器。
另外,所述业务相关服务器,具体用于:
根据所述事务控制令牌信息,执行第二事务处理;
在第二事务处理的执行结果表示第二事务处理执行成功时,将第二事务处理提交;
异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器。
此外,所述业务归属服务器,具体用于:
根据所述事务控制令牌信息和表示第二事务处理执行成功的第二事务处理的执行结果,执行第三事务处理,生成第三事务处理的执行结果,并将第三事务处理的执行结果的相关数据更新到业务归属服务器的数据库中的事务处理请求的相关数据。
另外,所述业务相关服务器,具体用于:
根据所述事务控制令牌信息,执行第二事务处理;
在第二事务处理的执行结果表示第二事务处理执行失败时,将第二事务处理回滚;
异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器。
另外,所述业务归属服务器,具体用于:
根据所述事务控制令牌信息和表示第二事务处理执行失败的第二事务处理的执行结果,执行第三事务处理,生成第三事务处理的执行结果,并将第三事务处理的执行结果的相关数据更新到业务归属服务器的数据库中的事务处理请求的相关数据;所述第三事务处理为所述第一事务处理的反向操作,所述第三事务处理的执行结果用于将事务恢复到未执行第一事务处理的状态。
进一步的,所述业务请求客户端,还用于向所述业务归属服务器发送事务查询请求;
所述业务归属服务器,还用于根据所述事务查询请求,从业务归属服务器的数据库中获取所述事务处理请求的相关数据。
基于客户信息控制***的异构长事务处理***包括:业务请求客户端、基于CICS应用的一至多个业务归属服务器以及非基于CICS应用的一至多个业务相关服务器;所述业务请求客户端能够与所述业务归属服务器进行通信;所述业务归属服务器能够与所述业务相关服务器进行通信;
所述方法包括:
所述业务请求客户端向一至多个业务归属服务器发送各业务归属服务器对应的事务处理请求;
所述业务归属服务器根据所述事务处理请求,执行第一事务处理,并将第一事务处理的执行结果向所述业务请求客户端进行反馈;
所述业务归属服务器异步将事务控制令牌信息发送给与所述事务处理请求相关的业务相关服务器;
所述业务相关服务器根据所述事务控制令牌信息,执行第二事务处理,并异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器;
所述业务归属服务器根据所述事务控制令牌信息和所述第二事务处理的执行结果,执行第三事务处理,并生成第三事务处理的执行结果。
进一步的,所述基于客户信息控制***的异构长事务处理方法,还包括:
所述业务归属服务器在第一事务处理的执行结果表示第一事务处理执行成功时,将第一事务处理提交,并将第一事务处理的执行结果的相关数据更新到业务归属服务器的数据库中的事务处理请求的相关数据。
具体的,所述业务归属服务器异步将事务控制令牌信息发送给与所述事务处理请求相关的业务相关服务器,包括:
所述业务归属服务器异步将事务控制令牌信息发送给与所述事务处理请求相关的业务相关服务器。
具体的,所述业务相关服务器根据所述事务控制令牌信息,执行第二事务处理,并异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器,包括:
所述业务相关服务器根据所述事务控制令牌信息,执行第二事务处理;
所述业务相关服务器在第二事务处理的执行结果表示第二事务处理执行成功时,将第二事务处理提交;
所述业务相关服务器异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器。
具体的,所述业务归属服务器根据所述事务控制令牌信息和所述第二事务处理的执行结果,执行第三事务处理,并生成第三事务处理的执行结果,包括:
所述业务归属服务器根据所述事务控制令牌信息和表示第二事务处理执行成功的第二事务处理的执行结果,执行第三事务处理,生成第三事务处理的执行结果,并将第三事务处理的执行结果的相关数据更新到业务归属服务器的数据库中的事务处理请求的相关数据。
具体的,所述业务相关服务器根据所述事务控制令牌信息,执行第二事务处理,并异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器,包括:
所述业务相关服务器根据所述事务控制令牌信息,执行第二事务处理;
所述业务相关服务器在第二事务处理的执行结果表示第二事务处理执行失败时,将第二事务处理回滚;
所述业务相关服务器异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器。
具体的,所述业务归属服务器根据所述事务控制令牌信息和所述第二事务处理的执行结果,执行第三事务处理,并生成第三事务处理的执行结果,包括:
所述业务归属服务器根据所述事务控制令牌信息和表示第二事务处理执行失败的第二事务处理的执行结果,执行第三事务处理,生成第三事务处理的执行结果,并将第三事务处理的执行结果的相关数据更新到业务归属服务器的数据库中的事务处理请求的相关数据;
其中,所述第三事务处理为所述第一事务处理的反向操作,所述第三事务处理的执行结果用于将事务恢复到未执行第一事务处理的状态。
进一步的,所述的基于客户信息控制***的异构长事务处理方法,还包括:
所述业务请求客户端向所述业务归属服务器发送事务查询请求;
所述业务归属服务器根据所述事务查询请求,从业务归属服务器的数据库中获取所述事务处理请求的相关数据。
本发明提供的基于客户信息控制***的异构长事务处理***及方法,业务请求客户端向一至多个业务归属服务器发送各业务归属服务器对应的事务处理请求;所述业务归属服务器根据所述事务处理请求,执行第一事务处理,并将第一事务处理的执行结果向所述业务请求客户端进行反馈;异步将事务控制令牌信息发送给与所述事务处理请求相关的业务相关服务器;所述业务相关服务器根据所述事务控制令牌信息,执行第二事务处理,并异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器;所述业务归属服务器根据所述事务控制令牌信息和所述第二事务处理的执行结果,执行第三事务处理,并生成第三事务处理的执行结果。可见,在业务归属服务器中进行事务处理时,可先行直接向业务请求客户端进行反馈,并异步将事务控制令牌信息发送给与所述事务处理请求相关的业务相关服务器,从而无需等待业务相关服务器的处理过程,即使出现网络通讯异常,***不可靠等因素,业务请求客户端也可先得到反馈结果;同样的,业务相关服务器在处理后也可异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器,再由业务归属服务器进行后续事务处理。可见本发明实施例可以解决现有的CICS交易中间件在异构环境长事务处理环境中存在对***、数据库等资源的锁定争用问题,以及网络通讯异常、***不可靠等因素造成的***可用性和用户体验较差的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于客户信息控制***的异构长事务处理***的结构示意图;
图2为本发明实施例中的涉及两个服务器(服务器A和服务器B)的事务处理简化模型示意图;
图3为本发明实施例提供的一种基于客户信息控制***的异构长事务处理方法的流程图一;
图4为本发明实施例提供的一种基于客户信息控制***的异构长事务处理方法的流程图二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供一种基于客户信息控制***的异构长事务处理***10,包括:业务请求客户端101、基于CICS(客户信息控制***,Customer InformationControl System)应用的一至多个业务归属服务器102以及非基于CICS应用的一至多个业务相关服务器103;所述业务请求客户端101能够与所述业务归属服务器102进行通信;所述业务归属服务器102能够与所述业务相关服务器103进行通信。
值得说明的是,本发明提供的基于客户信息控制***的异构长事务处理***10的适用范围可以是基于CICS的交易事务处理应用,特别是以下场景:①涉及内外部多个异构服务器的长事务处理;②服务器的服务质量及通讯网络得不到有效保证;③业务对于***服务的可用性和性能有很高的要求。
所述业务请求客户端101,用于向一至多个业务归属服务器102发送各业务归属服务器102对应的事务处理请求。
所述业务归属服务器102,用于根据所述事务处理请求,执行第一事务处理,并将第一事务处理的执行结果向所述业务请求客户端101进行反馈;异步将事务控制令牌信息发送给与所述事务处理请求相关的业务相关服务器103。
所述业务相关服务器103,用于根据所述事务控制令牌信息,执行第二事务处理,并异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器102。
所述业务归属服务器102,还用于根据所述事务控制令牌信息和所述第二事务处理的执行结果,执行第三事务处理,并生成第三事务处理的执行结果。
具体的,如图1所示,所述业务归属服务器102与所述业务相关服务器103之间构建有适配器104。
由于CICS跨平台交互的特性,CICS作为交易中间件,不同服务器之间需要基于同一交易中间件CICS进行事务控制。如果服务器A(业务归属服务器)为CICS平台,而服务器B(业务相关服务器)为非CICS平台,就无法基于同一交易中间件CICS进行事务控制,因此此处***交互需要通过适配器完成协议转换。
进一步的,所述业务归属服务器102,还用于:
在第一事务处理的执行结果表示第一事务处理执行成功时,将第一事务处理提交,并将第一事务处理的执行结果的相关数据更新到业务归属服务器102的数据库中的事务处理请求的相关数据。
另外,所述业务归属服务器102,异步将事务控制令牌信息发送给与所述事务处理请求相关的业务相关服务器103。
另外,所述业务相关服务器103,具体用于:
根据所述事务控制令牌信息,执行第二事务处理。
在第二事务处理的执行结果表示第二事务处理执行成功时,将第二事务处理提交。
异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器102。
此外,所述业务归属服务器102,具体用于:
根据所述事务控制令牌信息和表示第二事务处理执行成功的第二事务处理的执行结果,执行第三事务处理,生成第三事务处理的执行结果,并将第三事务处理的执行结果的相关数据更新到业务归属服务器102的数据库中的事务处理请求的相关数据。
另外,所述业务相关服务器103,具体用于:
根据所述事务控制令牌信息,执行第二事务处理。
在第二事务处理的执行结果表示第二事务处理执行失败时,将第二事务处理回滚。
异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器102。
另外,所述业务归属服务器102,具体用于:
根据所述事务控制令牌信息和表示第二事务处理执行失败的第二事务处理的执行结果,执行第三事务处理,生成第三事务处理的执行结果,并将第三事务处理的执行结果的相关数据更新到业务归属服务器102的数据库中的事务处理请求的相关数据;所述第三事务处理为所述第一事务处理的反向操作,所述第三事务处理的执行结果用于将事务恢复到未执行第一事务处理的状态。
进一步的,所述业务请求客户端101,还用于向所述业务归属服务器102发送事务查询请求。
所述业务归属服务器102,还用于根据所述事务查询请求,从业务归属服务器102的数据库中获取所述事务处理请求的相关数据。
基于上述图1所示的一种基于客户信息控制***的异构长事务处理***10,如图2所示,下面以涉及两个服务器(服务器A和服务器B)的事务处理简化模型说明基于客户信息控制***的异构长事务处理***10。一项业务处理涉及基于CICS应用的服务器A(相当于业务归属服务器)和非CICS应用的服务器B(相当于业务相关服务器),服务器A作为业务归属方,服务器B作为业务相关方,服务器B的处理结果对服务器A有直接影响。
整个业务处理过程可分解为两个业务请求,业务请求1负责发起事务及快速响应,业务请求2负责获取事务处理结果。
首先,业务请求客户端向服务器A发起业务请求1,服务器A执行事务a1,并将事务a1的执行结果反馈给请求1。事务a1如果执行成功,事务a1将提交并更新相关数据。服务器A异步将事务控制令牌信息传递给服务器B。
之后,服务器B的事务b如果执行顺利,则事务b将提交。服务器B异步将事务控制令牌信息传递给服务器A,按照业务逻辑关系,服务器A将执行事务a2,事务a2更新相关数据。
另外,若服务器B的事务b如果执行失败,则事务b将回滚。由于服务器A的事务a1已经被提交,需要执行一个补偿操作。服务器B异步将事务控制令牌信息传递给服务器A,服务器A执行事务a3。事务a3将执行事务a1的反向操作,即恢复到未执行事务a1前的状态。
之后业务请求客户端向服务器A发起业务请求2,服务器A执行查询交易a4,通过查询交易a4获取相关业务数据并反馈给业务请求客户端。
可见,本发明提供的基于客户信息控制***的异构长事务处理***,可以称为在CICS应用在异构环境下的异步柔性事务控制处理机制。柔性事务控制是相对于CICS的ACID刚性事务而言的。该处理***将异构环境下客户信息控制***的长事务处理,由“同步阻塞事务控制方式”转变为“基于事务责任链的异步事务处理模式”。首先,按照快速响应的原则,业务请求客户端将向业务归属服务器发起的长事务处理分解成“业务请求发起”和“处理结果获取”两步,优先满足客户快速响应的处理要求。然后,按照参与方的职责,将长事务处理分解为“多个逻辑事务单元”来建立“事务责任链”,通过事务控制令牌在事务责任链中异步动态流转,完成长事务处理。最后,业务请求客户端通过查询交易从业务归属服务器获取事务处理结果。
本发明提供的基于客户信息控制***的异构长事务处理***,业务请求客户端向一至多个业务归属服务器发送各业务归属服务器对应的事务处理请求;所述业务归属服务器根据所述事务处理请求,执行第一事务处理,并将第一事务处理的执行结果向所述业务请求客户端进行反馈;异步将事务控制令牌信息发送给与所述事务处理请求相关的业务相关服务器;所述业务相关服务器根据所述事务控制令牌信息,执行第二事务处理,并异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器;所述业务归属服务器根据所述事务控制令牌信息和所述第二事务处理的执行结果,执行第三事务处理,并生成第三事务处理的执行结果。可见,在业务归属服务器中进行事务处理时,可先行直接向业务请求客户端进行反馈,并异步将事务控制令牌信息发送给与所述事务处理请求相关的业务相关服务器,从而无需等待业务相关服务器的处理过程,即使出现网络通讯异常,***不可靠等因素,业务请求客户端也可先行得到反馈结果;同样的,业务相关服务器在处理后也可异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器,再由业务归属服务器进行后续事务处理。可见本发明实施例可以解决现有的CICS交易中间件在异构环境长事务处理环境中存在对***、数据库等资源的锁定争用问题,以及网络通讯异常、***不可靠等因素造成的***可用性和用户体验较差的问题。
对应于上述图1所述的基于客户信息控制***的异构长事务处理***,如图3所示,本发明实施例提供的基于客户信息控制***的异构长事务处理方法,包括:
步骤201、业务请求客户端向一至多个业务归属服务器发送各业务归属服务器对应的事务处理请求。
步骤202、业务归属服务器根据事务处理请求,执行第一事务处理,并将第一事务处理的执行结果向业务请求客户端进行反馈。
步骤203、业务归属服务器异步将事务控制令牌信息发送给与事务处理请求相关的业务相关服务器。
步骤204、业务相关服务器根据事务控制令牌信息,执行第二事务处理,并异步将第二事务处理的执行结果和事务控制令牌信息发送给业务归属服务器。
步骤205、业务归属服务器根据事务控制令牌信息和第二事务处理的执行结果,执行第三事务处理,并生成第三事务处理的执行结果。
本发明提供的基于客户信息控制***的异构长事务处理方法,可以解决现有的CICS交易中间件在异构环境长事务处理环境中存在对***、数据库等资源的锁定争用问题,以及网络通讯异常、***不可靠等因素造成的***可用性和用户体验较差的问题。
为了使本领域的技术人员更好的了解本发明,下面列举一个更为详细的方法实施例,如图4所示,本发明提供的基于客户信息控制***的异构长事务处理方法,包括:
步骤301、业务请求客户端向一至多个业务归属服务器发送各业务归属服务器对应的事务处理请求。
步骤302、业务归属服务器根据事务处理请求,执行第一事务处理,并将第一事务处理的执行结果向业务请求客户端进行反馈。
步骤303、业务归属服务器在第一事务处理的执行结果表示第一事务处理执行成功时,将第一事务处理提交,并将第一事务处理的执行结果的相关数据更新到业务归属服务器的数据库中的事务处理请求的相关数据。
步骤304、业务归属服务器异步将事务控制令牌信息发送给与所述事务处理请求相关的业务相关服务器。
在步骤304之后执行305或者步骤309。
步骤305、业务相关服务器根据所述事务控制令牌信息,执行第二事务处理。
步骤306、业务相关服务器在第二事务处理的执行结果表示第二事务处理执行成功时,将第二事务处理提交。
步骤307、业务相关服务器异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器。
步骤308、业务归属服务器根据所述事务控制令牌信息和表示第二事务处理执行成功的第二事务处理的执行结果,执行第三事务处理,生成第三事务处理的执行结果,并将第三事务处理的执行结果的相关数据更新到业务归属服务器的数据库中的事务处理请求的相关数据。
步骤309、业务相关服务器根据所述事务控制令牌信息,执行第二事务处理。
步骤310、业务相关服务器在第二事务处理的执行结果表示第二事务处理执行失败时,将第二事务处理回滚。
步骤311、业务相关服务器异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器。
步骤312、业务归属服务器根据所述事务控制令牌信息和表示第二事务处理执行失败的第二事务处理的执行结果,执行第三事务处理,生成第三事务处理的执行结果,并将第三事务处理的执行结果的相关数据更新到业务归属服务器的数据库中的事务处理请求的相关数据。
其中,所述第三事务处理为所述第一事务处理的反向操作,所述第三事务处理的执行结果用于将事务恢复到未执行第一事务处理的状态。
在步骤308和步骤312之后执行步骤313。
步骤313、业务请求客户端向所述业务归属服务器发送事务查询请求。
步骤314、业务归属服务器根据所述事务查询请求,从业务归属服务器的数据库中获取所述事务处理请求的相关数据。
本发明实施例提供的基于客户信息控制***的异构长事务处理方法,业务请求客户端向一至多个业务归属服务器发送各业务归属服务器对应的事务处理请求;所述业务归属服务器根据所述事务处理请求,执行第一事务处理,并将第一事务处理的执行结果向所述业务请求客户端进行反馈;异步将事务控制令牌信息发送给与所述事务处理请求相关的业务相关服务器;所述业务相关服务器根据所述事务控制令牌信息,执行第二事务处理,并异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器;所述业务归属服务器根据所述事务控制令牌信息和所述第二事务处理的执行结果,执行第三事务处理,并生成第三事务处理的执行结果。可见,在业务归属服务器中进行事务处理时,可先行直接向业务请求客户端进行反馈,并异步将事务控制令牌信息发送给与所述事务处理请求相关的业务相关服务器,从而无需等待业务相关服务器的处理过程,即使出现网络通讯异常,***不可靠等因素,业务请求客户端也可先得到反馈结果;同样的,业务相关服务器在处理后也可异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器,再由业务归属服务器进行后续事务处理。可见本发明实施例可以解决现有的CICS交易中间件在异构环境长事务处理环境中存在对***、数据库等资源的锁定争用问题,以及网络通讯异常、***不可靠等因素造成的***可用性和用户体验较差的问题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (17)
1.一种基于客户信息控制***的异构长事务处理***,其特征在于,包括:业务请求客户端、基于CICS应用的一至多个业务归属服务器以及非基于CICS应用的一至多个业务相关服务器;所述业务请求客户端能够与所述业务归属服务器进行通信;所述业务归属服务器能够与所述业务相关服务器进行通信;
所述业务请求客户端,用于向一至多个业务归属服务器发送各业务归属服务器对应的事务处理请求;
所述业务归属服务器,用于根据所述事务处理请求,执行第一事务处理,并将第一事务处理的执行结果向所述业务请求客户端进行反馈;异步将事务控制令牌信息发送给与所述事务处理请求相关的业务相关服务器;
所述业务相关服务器,用于根据所述事务控制令牌信息,执行第二事务处理,并异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器;
所述业务归属服务器,还用于根据所述事务控制令牌信息和所述第二事务处理的执行结果,执行第三事务处理,并生成第三事务处理的执行结果。
2.根据权利要求1所述的基于客户信息控制***的异构长事务处理***,其特征在于,所述业务归属服务器与所述业务相关服务器之间构建有适配器。
3.根据权利要求2所述的基于客户信息控制***的异构长事务处理***,其特征在于,所述业务归属服务器,还用于:
在第一事务处理的执行结果表示第一事务处理执行成功时,将第一事务处理提交,并将第一事务处理的执行结果的相关数据更新到业务归属服务器的数据库中的事务处理请求的相关数据。
4.根据权利要求3所述的基于客户信息控制***的异构长事务处理***,其特征在于,所述业务归属服务器,具体用于异步将事务控制令牌信息发送给与所述事务处理请求相关的业务相关服务器。
5.根据权利要求4所述的基于客户信息控制***的异构长事务处理***,其特征在于,所述业务相关服务器,具体用于:
根据所述事务控制令牌信息,执行第二事务处理;
在第二事务处理的执行结果表示第二事务处理执行成功时,将第二事务处理提交;
异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器。
6.根据权利要求5所述的基于客户信息控制***的异构长事务处理***,其特征在于,所述业务归属服务器,具体用于:
根据所述事务控制令牌信息和表示第二事务处理执行成功的第二事务处理的执行结果,执行第三事务处理,生成第三事务处理的执行结果,并将第三事务处理的执行结果的相关数据更新到业务归属服务器的数据库中的事务处理请求的相关数据。
7.根据权利要求4所述的基于客户信息控制***的异构长事务处理***,其特征在于,所述业务相关服务器,具体用于:
根据所述事务控制令牌信息,执行第二事务处理;
在第二事务处理的执行结果表示第二事务处理执行失败时,将第二事务处理回滚;
异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器。
8.根据权利要求7所述的基于客户信息控制***的异构长事务处理***,其特征在于,所述业务归属服务器,具体用于:
根据所述事务控制令牌信息和表示第二事务处理执行失败的第二事务处理的执行结果,执行第三事务处理,生成第三事务处理的执行结果,并将第三事务处理的执行结果的相关数据更新到业务归属服务器的数据库中的事务处理请求的相关数据;所述第三事务处理为所述第一事务处理的反向操作,所述第三事务处理的执行结果用于将事务恢复到未执行第一事务处理的状态。
9.根据权利要求6或8所述的基于客户信息控制***的异构长事务处理***,其特征在于,所述业务请求客户端,还用于向所述业务归属服务器发送事务查询请求;
所述业务归属服务器,还用于根据所述事务查询请求,从业务归属服务器的数据库中获取所述事务处理请求的相关数据。
10.一种基于客户信息控制***的异构长事务处理方法,其特征在于,应用于一种基于客户信息控制***的异构长事务处理***,所述***包括:业务请求客户端、基于CICS应用的一至多个业务归属服务器以及非基于CICS应用的一至多个业务相关服务器;所述业务请求客户端能够与所述业务归属服务器进行通信;所述业务归属服务器能够与所述业务相关服务器进行通信;
所述方法包括:
所述业务请求客户端向一至多个业务归属服务器发送各业务归属服务器对应的事务处理请求;
所述业务归属服务器根据所述事务处理请求,执行第一事务处理,并将第一事务处理的执行结果向所述业务请求客户端进行反馈;
所述业务归属服务器异步将事务控制令牌信息发送给与所述事务处理请求相关的业务相关服务器;
所述业务相关服务器根据所述事务控制令牌信息,执行第二事务处理,并异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器;
所述业务归属服务器根据所述事务控制令牌信息和所述第二事务处理的执行结果,执行第三事务处理,并生成第三事务处理的执行结果。
11.根据权利要求10所述的基于客户信息控制***的异构长事务处理方法,其特征在于,还包括:
所述业务归属服务器在第一事务处理的执行结果表示第一事务处理执行成功时,将第一事务处理提交,并将第一事务处理的执行结果的相关数据更新到业务归属服务器的数据库中的事务处理请求的相关数据。
12.根据权利要求11所述的基于客户信息控制***的异构长事务处理方法,其特征在于,所述业务归属服务器异步将事务控制令牌信息发送给与所述事务处理请求相关的业务相关服务器,包括:
所述业务归属服务器异步将事务控制令牌信息发送给与所述事务处理请求相关的业务相关服务器。
13.根据权利要求12所述的基于客户信息控制***的异构长事务处理方法,其特征在于,所述业务相关服务器根据所述事务控制令牌信息,执行第二事务处理,并异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器,包括:
所述业务相关服务器根据所述事务控制令牌信息,执行第二事务处理;
所述业务相关服务器在第二事务处理的执行结果表示第二事务处理执行成功时,将第二事务处理提交;
所述业务相关服务器异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器。
14.根据权利要求13所述的基于客户信息控制***的异构长事务处理方法,其特征在于,所述业务归属服务器根据所述事务控制令牌信息和所述第二事务处理的执行结果,执行第三事务处理,并生成第三事务处理的执行结果,包括:
所述业务归属服务器根据所述事务控制令牌信息和表示第二事务处理执行成功的第二事务处理的执行结果,执行第三事务处理,生成第三事务处理的执行结果,并将第三事务处理的执行结果的相关数据更新到业务归属服务器的数据库中的事务处理请求的相关数据。
15.根据权利要求12所述的基于客户信息控制***的异构长事务处理方法,其特征在于,所述业务相关服务器根据所述事务控制令牌信息,执行第二事务处理,并异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器,包括:
所述业务相关服务器根据所述事务控制令牌信息,执行第二事务处理;
所述业务相关服务器在第二事务处理的执行结果表示第二事务处理执行失败时,将第二事务处理回滚;
所述业务相关服务器异步将第二事务处理的执行结果和所述事务控制令牌信息发送给所述业务归属服务器。
16.根据权利要求15所述的基于客户信息控制***的异构长事务处理方法,其特征在于,所述业务归属服务器根据所述事务控制令牌信息和所述第二事务处理的执行结果,执行第三事务处理,并生成第三事务处理的执行结果,包括:
所述业务归属服务器根据所述事务控制令牌信息和表示第二事务处理执行失败的第二事务处理的执行结果,执行第三事务处理,生成第三事务处理的执行结果,并将第三事务处理的执行结果的相关数据更新到业务归属服务器的数据库中的事务处理请求的相关数据;
其中,所述第三事务处理为所述第一事务处理的反向操作,所述第三事务处理的执行结果用于将事务恢复到未执行第一事务处理的状态。
17.根据权利要求14或16所述的基于客户信息控制***的异构长事务处理方法,其特征在于,还包括:
所述业务请求客户端向所述业务归属服务器发送事务查询请求;
所述业务归属服务器根据所述事务查询请求,从业务归属服务器的数据库中获取所述事务处理请求的相关数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710594229.6A CN107465725B (zh) | 2017-07-20 | 2017-07-20 | 基于客户信息控制***的异构长事务处理***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710594229.6A CN107465725B (zh) | 2017-07-20 | 2017-07-20 | 基于客户信息控制***的异构长事务处理***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107465725A true CN107465725A (zh) | 2017-12-12 |
CN107465725B CN107465725B (zh) | 2020-11-06 |
Family
ID=60546813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710594229.6A Active CN107465725B (zh) | 2017-07-20 | 2017-07-20 | 基于客户信息控制***的异构长事务处理***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107465725B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109460288A (zh) * | 2018-10-30 | 2019-03-12 | 腾讯科技(成都)有限公司 | 一种事务处理方法、管理服务器、事务处理***和存储介质 |
CN111240851A (zh) * | 2018-11-29 | 2020-06-05 | 优信拍(北京)信息科技有限公司 | 基于切面编程的事务处理方法、装置、设备及*** |
CN113515353A (zh) * | 2021-06-04 | 2021-10-19 | 深圳奥哲网络科技有限公司 | 长事务处理方法、***、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1798031A (zh) * | 2004-12-27 | 2006-07-05 | 北京航空航天大学 | Web服务事务处理***及处理方法 |
CN102831156A (zh) * | 2012-06-29 | 2012-12-19 | 浙江大学 | 一种云计算平台上的分布式事务处理方法 |
CN104572077A (zh) * | 2014-12-12 | 2015-04-29 | 百度在线网络技术(北京)有限公司 | 数据库事务的处理方法及业务*** |
CN104793988A (zh) * | 2014-01-20 | 2015-07-22 | 阿里巴巴集团控股有限公司 | 跨数据库分布式事务的实现方法和装置 |
CN105718572A (zh) * | 2016-01-21 | 2016-06-29 | 成都索贝数码科技股份有限公司 | 一种异构数据复合对象的事务一致性达成方法与*** |
US20170177698A1 (en) * | 2015-12-21 | 2017-06-22 | Sap Se | Decentralized transaction commit protocol |
-
2017
- 2017-07-20 CN CN201710594229.6A patent/CN107465725B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1798031A (zh) * | 2004-12-27 | 2006-07-05 | 北京航空航天大学 | Web服务事务处理***及处理方法 |
CN102831156A (zh) * | 2012-06-29 | 2012-12-19 | 浙江大学 | 一种云计算平台上的分布式事务处理方法 |
CN104793988A (zh) * | 2014-01-20 | 2015-07-22 | 阿里巴巴集团控股有限公司 | 跨数据库分布式事务的实现方法和装置 |
CN104572077A (zh) * | 2014-12-12 | 2015-04-29 | 百度在线网络技术(北京)有限公司 | 数据库事务的处理方法及业务*** |
US20170177698A1 (en) * | 2015-12-21 | 2017-06-22 | Sap Se | Decentralized transaction commit protocol |
CN105718572A (zh) * | 2016-01-21 | 2016-06-29 | 成都索贝数码科技股份有限公司 | 一种异构数据复合对象的事务一致性达成方法与*** |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109460288A (zh) * | 2018-10-30 | 2019-03-12 | 腾讯科技(成都)有限公司 | 一种事务处理方法、管理服务器、事务处理***和存储介质 |
CN111240851A (zh) * | 2018-11-29 | 2020-06-05 | 优信拍(北京)信息科技有限公司 | 基于切面编程的事务处理方法、装置、设备及*** |
CN111240851B (zh) * | 2018-11-29 | 2024-05-24 | 合肥优荃信息科技有限公司 | 基于切面编程的事务处理方法、装置、设备及*** |
CN113515353A (zh) * | 2021-06-04 | 2021-10-19 | 深圳奥哲网络科技有限公司 | 长事务处理方法、***、电子设备及存储介质 |
CN113515353B (zh) * | 2021-06-04 | 2024-05-14 | 深圳奥哲网络科技有限公司 | 长事务处理方法、***、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107465725B (zh) | 2020-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7269623B2 (en) | System and method for distributed multimodal collaboration using a tuple-space | |
CN105573828B (zh) | 一种操作处理方法及装置 | |
US9239868B2 (en) | Virtual session management and reestablishment | |
US7552218B2 (en) | Transparent session migration across servers | |
US9176772B2 (en) | Suspending and resuming of sessions | |
US7624112B2 (en) | Asynchronously storing transaction information from memory to a persistent storage | |
CN103473318B (zh) | 一种面向内存数据网格的分布式事务保障方法 | |
US6275843B1 (en) | Method and apparatus for processing multiple service requests within a global transaction by a single server application program instance | |
US8510754B1 (en) | Shared persistent objects | |
US20040221031A1 (en) | Method and apparatus using connection pools in communication networks | |
US20070239728A1 (en) | System and method for transactional session management | |
US20060206583A1 (en) | Framework for managing client application data in offline and online environments | |
EP0702295A1 (en) | System for building optimal commit trees in a distributed transaction system | |
CN109753364A (zh) | 一种基于网络的分布式锁的实现方法、设备及介质 | |
EP0707265A2 (en) | A system and method for creating an object oriented transaction service that interoperates with procedural transaction coordinators | |
CN107437222B (zh) | 基于银行柜面前端的联机业务数据的处理方法及*** | |
US10904238B2 (en) | Access token management for state preservation and reuse | |
CN107465725A (zh) | 基于客户信息控制***的异构长事务处理***及方法 | |
CN111260474A (zh) | 跨区块链的资产交易方法、装置、设备、***和存储介质 | |
JP3574030B2 (ja) | コンピューティング装置、操作方法およびプログラム記憶装置 | |
JP4976128B2 (ja) | サーバ間の透過的なセッション移送 | |
WO2007055883A1 (en) | Asynchronous just-in-time compilation | |
US7484215B2 (en) | Method, system and program product for processing a transaction | |
US20030236926A1 (en) | Method of propagating invocation contexts through a distributed object system | |
CN116614470A (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 |