CN111277639A - 一种保持数据一致性的方法和装置 - Google Patents

一种保持数据一致性的方法和装置 Download PDF

Info

Publication number
CN111277639A
CN111277639A CN202010047460.5A CN202010047460A CN111277639A CN 111277639 A CN111277639 A CN 111277639A CN 202010047460 A CN202010047460 A CN 202010047460A CN 111277639 A CN111277639 A CN 111277639A
Authority
CN
China
Prior art keywords
service
atomic
flushing
positive
flow
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
CN202010047460.5A
Other languages
English (en)
Other versions
CN111277639B (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.)
China Construction Bank Corp
Original Assignee
China Construction Bank Corp
CCB Finetech Co Ltd
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 China Construction Bank Corp, CCB Finetech Co Ltd filed Critical China Construction Bank Corp
Priority to CN202010047460.5A priority Critical patent/CN111277639B/zh
Publication of CN111277639A publication Critical patent/CN111277639A/zh
Application granted granted Critical
Publication of CN111277639B publication Critical patent/CN111277639B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种保持数据一致性的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:拦截业务请求,并查询业务请求调用的服务组合;在调用原子服务时,将业务请求对应的原子服务按调用顺序记录于服务流水表;当任一原子服务调用异常或调用失败时,基于服务流水表生成并按反向调用顺序发送冲正报文,以对原子服务进行冲正。该实施方式能够满足日趋复杂的组合服务的一致性处理,使用上不存在现有技术的局限性,以及性能稳定且处理效率较高。

Description

一种保持数据一致性的方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种保持数据一致性的方法和装置。
背景技术
对于组合多个系统服务的业务流程,由于整个业务流程中出现了多个服务的相互调用,涉及多个系统的事务处理,必须保证事务的一致性,必须确保全部成功或者全部失败,而不允许出现部分成功部分失败的情况。当组合服务不一致场景发生后,需要第一时间通过系统自动的方法纠正不一致信息,保证组合服务前后一致。
可能导致组合服务不一致性的情况包括:网络故障导致后端服务系统超时,前端系统无法收到响应信息;后端系统故障,导致前端系统无法收到响应信息;以及后端系统报错等等。
现有的针对分布式组合服务的一致性处理,主要是采用两阶段或三阶段提交等处理方式,但是这些处理方式存在一定局限性,并不适合目前日趋复杂的组合服务的处理,特别是各种微服务架构的分布式处理。
发明内容
有鉴于此,本发明实施例提供一种保持数据一致性的方法和装置,能够满足日趋复杂的组合服务的一致性处理,使用上不存在现有技术的局限性,以及性能稳定且处理效率较高。
为实现上述目的,根据本发明实施例的一个方面,提供了一种保持数据一致性的方法。
本发明实施例的一种保持数据一致性的方法包括:
拦截业务请求,并查询所述业务请求调用的服务组合;其中,所述服务组合包括按调用顺序排列的用于处理所述业务请求的原子服务;
在调用所述原子服务时,将所述业务请求对应的原子服务按调用顺序记录于服务流水表;
当任一所述原子服务调用异常或调用失败时,基于所述服务流水表生成并按所述反向调用顺序发送冲正报文,以对所述原子服务进行冲正。
可选地,在调用所述原子服务时,将所述业务请求对应的原子服务按调用顺序记录于服务流水表,包括:
拦截所述原子服务;
对所述原子服务进行服务流水处理,得到所述原子服务的服务数据;其中,所述服务数据包括所述业务请求及其对应的用户、服务时间、交易金额、业务流水号和服务状态;
若所述原子服务为预设服务,则将所述服务数据记录于服务流水表;其中,所述服务流水表记录有所述原子服务及其对应的服务码和所述服务数据。
可选地,当任一所述原子服务调用异常或调用失败时,将所述业务请求对应的原子服务和冲正信息按服务调用顺序记录于服务流水表,包括:
在所述服务流水表中查询所述业务请求调用的所有原子服务,以及基于所述服务状态确定各个原子服务的服务状态;
当任一所述原子服务的服务状态为调用异常或调用失败时,判断所述业务请求是否要求业务一致性;
当要求业务一致性时,基于所述服务流水表生成并按所述反向调用顺序发送冲正报文,以对所述原子服务进行冲正。
可选地,基于所述服务流水表生成并按所述反向调用顺序发送冲正报文,以对所述原子服务进行冲正,包括:
从所述合服务处理内存对象中获取所述原子服务的业务流水号;
根据所述业务流水号从所述服务流水表获取所述原子服务的服务码和服务数据;
根据所述服务码从服务映射配置文件中得到所述原子服务对应的冲正服务;
基于所述原子服务对应的冲正服务和服务数据生成所述原子服务的冲正报文;
按反向调用顺序向服务系统发送所述冲正报文,以对所述原子服务进行冲正;
若冲正成功,则在所述服务流水表中记录所述原子服务的冲正状态为冲正成功;
若冲正失败,则在所述服务流水表中记录所述原子服务的冲正状态为冲正失败。
可选地,对所述原子服务进行冲正,以及更新所述冲正流水表中的冲正信息,之后还包括:
将冲正失败的原子服务记录于冲正流水表;其中,所述冲正流水表记录有业务流水号、服务请求数据、冲正状态和冲正次数;
定时查询所述冲正流水表,对冲正状态为冲正失败的原子服务发起重复冲正;
在重复冲正成功时将冲正状态修改为冲正成功,或在重复冲正失败时将冲正次数加1;以及
查询所述冲正流水表中所有原子服务的冲正状态;
若不存在冲正失败的原子服务,则更新所述服务流水表中业务请求的服务状态为冲正成功;
若存在冲正失败的原子服务,且冲正次数达到预设次数,则停止发起重复冲正,对冲正失败的原子服务执行日终对账处理。
为实现上述目的,根据本发明实施例的另一方面,提供了一种保持数据一致性的装置。
本发明实施例的一种保持数据一致性的装置包括:
拦截模块,用于拦截业务请求,并查询所述业务请求调用的服务组合;其中,所述服务组合包括按调用顺序排列的用于处理所述业务请求的原子服务;
记录模块,用于在调用所述原子服务时,将所述业务请求对应的原子服务按调用顺序记录于服务流水表;
冲正模块,用于在任一所述原子服务调用异常或调用失败时,基于所述服务流水表生成并按所述反向调用顺序发送冲正报文,以对所述原子服务进行冲正。
可选地,所述记录模块还用于:
拦截所述原子服务;
对所述原子服务进行服务流水处理,得到所述原子服务的服务数据;其中,所述服务数据包括所述业务请求及其对应的用户、服务时间、交易金额、业务流水号和服务状态;
若所述原子服务为预设服务,则将所述服务数据记录于服务流水表;其中,所述服务流水表记录有所述原子服务及其对应的服务码和所述服务数据。
可选地,所述冲正模块还用于
在所述服务流水表中查询所述业务请求调用的所有原子服务,以及基于所述服务状态确定各个原子服务的服务状态;
当任一所述原子服务的服务状态为调用异常或调用失败时,判断所述业务请求是否要求业务一致性;
当要求业务一致性时,基于所述服务流水表生成并按所述反向调用顺序发送冲正报文,以对所述原子服务进行冲正。
可选地,所述冲正模块进一步用于:
从所述组合服务处理内存对象中获取所述原子服务的业务流水号;
根据所述业务流水号从所述服务流水表获取所述原子服务的服务码和服务数据;
根据所述服务码从服务映射配置文件中得到所述原子服务对应的冲正服务;
基于所述原子服务对应的冲正服务和服务数据生成所述原子服务的冲正报文;
按反向调用顺序向服务系统发送所述冲正报文,以对所述原子服务进行冲正;
若冲正成功,则在所述服务流水表中记录所述原子服务的冲正状态为冲正成功;
若冲正失败,则在所述服务流水表中记录所述原子服务的冲正状态为冲正失败。
可选地,还包括重复冲正模块,用于:
将冲正失败的原子服务记录于冲正流水表;其中,所述冲正流水表记录有业务流水号、服务请求数据、冲正状态和冲正次数;
定时查询所述冲正流水表,对冲正状态为冲正失败的原子服务发起重复冲正;
在重复冲正成功时将冲正状态修改为冲正成功,或在重复冲正失败时将冲正次数加1;以及
查询所述服务流水表中所有原子服务的冲正状态;
若不存在冲正失败的原子服务,则更新所述服务流水表中业务请求的服务状态为冲正成功;
若存在冲正失败的原子服务,且冲正次数达到预设次数,则停止发起重复冲正,对冲正失败的原子服务执行日终对账处理。
为实现上述目的,根据本发明实施例的又一方面,提供了一种保持数据一致性的电子设备。
本发明实施例的一种保持数据一致性的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的一种保持数据一致性的方法。
为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读存储介质。
本发明实施例的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的一种保持数据一致性的方法。
上述发明中的一个实施例具有如下优点或有益效果:因为采用拦截业务请求,并查询业务请求调用的服务组合;在调用原子服务时,将业务请求对应的原子服务按调用顺序记录于服务流水表;当任一原子服务调用异常或调用失败时,基于服务流水表生成并按反向调用顺序发送冲正报文,以对原子服务进行冲正的技术手段,所以克服了现有的一致性处理方式具有局限性,且不适合日趋复杂的组合服务的技术问题,进而达到能够满足日趋复杂的组合服务的一致性处理,使用上不存在现有技术的局限性,以及性能稳定且处理效率较高的技术效果。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的保持数据一致性的方法的主要步骤的示意图;
图2是根据本发明一个可参考实施例的保持数据一致性的方法的的逻辑示意图;
图3是根据本发明实施例的保持数据一致性的方法的更新服务状态的示意图;
图4是根据本发明实施例的保持数据一致性的方法的服务同步冲正的处理逻辑示意图;
图5是根据本发明实施例的保持数据一致性的方法的服务异步冲正的处理逻辑示意图;
图6是根据本发明实施例的保持数据一致性的方法的异步冲正过程中状态更改的示意图;
图7是根据本发明实施例的保持数据一致性的装置的主要模块的示意图;
图8是本发明实施例可以应用于其中的示例性系统架构图;
图9是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要指出的是,在不冲突的情况下,本发明的实施例以及实施例中的技术特征可以相互结合。
对于组合多个系统服务的业务流程,由于整个业务流程中需要组合多个服务的相互调用,涉及多个系统的事务处理,从而容易产生业务不一致性,业务不一致的根本原因是由于业务中出现了多个服务的相互调用,并且这些服务没有一致性确认,从而导致部分成功部分失败的情况。可能导致业务不一致性的情况包括:网络故障导致后端服务系统超时,前端系统无法收到响应信息;后端系统故障,导致前端系统无法收到响应信息;后端系统报错,可能导致组合服务不一致。当交易不一致场景发生后,需要在第一时间通过自动及手动方法纠正不一致信息,保证交易前后一致。且需要提供自动保证方法,排除大部分偶发的不一致情况,减少手工处理工作量,提高时效性。
目前,解决组合服务这种分布式事务处理的方式,主要是有两阶段或三阶段提交等分布式事务处理方式,两阶段或三阶段提交是引入一个作为协调者的组件来统一掌控所有节点(称作参与者)的操作结果并最终指示这些节点是否要把操作结果进行真正的提交(例如写入冲正后的数据等)。这些处理方式在各种技术平台上已经很成熟,都有相应的API提供,但是存在一定局限性,并不适合目前日趋复杂的组合服务的处理,特别是各种微服务架构的分布式处理。其局限性比如:所有操作必须是事务性资源(包括数据库、消息队列等),存在使用上的局限性,比较适合单体应用,而现有的组合服务通常都是基于http协议的服务组合。而且由于强一致性,需要对事物进行等待,性能影响较大,业务吞吐率不高。
为此,本发明实施例提出一种保持数据一致性的方法和装置,通过对组合调用的各原子服务进行排序,形成一个按调用顺序排列的原子服务序列,每个调用都是一个原子服务,且每个原子服务都有对应的冲正服务可进行反向操作,当调用的过程中某个原子服务调用失败,则基于冲正流水表和服务流水表自动发起冲正处理,按反向调用顺序执行各个原子服务的冲正服务,进行事务回滚,并更新冲正流水表中的冲正信息,从而满足日趋复杂的组合服务的一致性处理,特别是各种微服务架构的分布式处理,使用上不存在现有技术的局限性,以及后续可以继续通过定时器策略发起重复冲正,冲正处理的性能稳定且处理效率较高。
交易一致性:是指跨系统的多个业务流程(例如同一个任务中的多个步骤)必须确保全部成功或者全部失败,而不允许出现部分成功部分失败的情况。那么,这些流程具有业务一致性。
组合服务:是指该服务是由某个服务系统的若干服务或者不同服务系统的若干服务顺序组合而成,每个服务可以有一个条件指明该服务是否需要执行。
冲正服务:又称逆向服务,反服务,就是一种将原调用服务造成的结果全部抹去的一种服务。在实际业务系统中,一般不可能将结果完全抹去,一定留下了调用痕迹,但是只要造成的结果已经和调用前一样就可以。
图1是根据本发明实施例的保持数据一致性的方法的主要步骤的示意图。
如图1所示,本发明实施例的保持数据一致性的方法主要包括以下步骤:
步骤S101:拦截业务请求,并查询业务请求调用的服务组合。
业务请求是指在完成跨系统的多个业务流程时调用多个原子服务的请求。原子组合包括按调用顺序排列的用于处理业务请求的原子服务,每个原子组合用于处理一种业务,业务上最小粒度的一系列操作,可以被抽象为一个原子服务。调用顺序表示处理一种业务时原子服务的执行顺序。根据业务请求能够查到业务请求是调用哪些原子服务。
对于业务请求,可以利用业务拦截器获取。获取到业务请求后查询服务流水表,以确定所对应的原子服务各个原子服务是否调用成功,如果所有原子服务均调用成功,则继续拦截下一业务请求,否则,该业务请求需要做冲正处理。此外,如果服务流水表中不存在业务请求对应的原子服务,则表示可能不是涉及账务的业务处理。
步骤S102:在调用原子服务时,将业务请求对应的原子服务按调用顺序记录于服务流水表。
为保证业务一致性,将业务请求所调用的原子服务,按服务调用顺序记录在服务流水表中,以便于可能需要的冲正处理。
在本发明实施例中,步骤S102可以采用以下方式实现:拦截原子服务;对原子服务进行服务流水处理,得到原子服务的服务数据;若原子服务为预设服务,则将服务数据记录于服务流水表。
对于业务请求调用了哪些原子服务,可以利用服务拦截器获取,在拦截原子服务之后,进行服务流水处理得到原子服务的服务数据,该服务数据是指原子服务的输入信息,可以包括调用原子服务的业务请求及其对应的用户、服务时间、交易金额、业务流水号和服务状态等,其中,业务流水号用于表示业务请求对应的业务,服务状态用于表示原子服务是否调用成功,可以根据需要设置调用成功、调用失败、调用异常或冲正成功等状态。对于交易或物流等涉及账务的业务处理,需要将所用到的原子服务的服务数据记录在服务流水表,预设服务即表示这些服务。作为一种优选的实施方式,服务流水表记录有原子服务及其对应的服务码和服务数据。业务流水号用于唯一地表示一个业务请求。服务码用于唯一地表示一个原子服务。
步骤S103:当任一原子服务调用异常或调用失败时,基于服务流水表生成并按反向调用顺序发送冲正报文,以对原子服务进行冲正。
对原子服务的冲正基于冲正报文实现,可以将每个原子服务的冲正报文,发送到提供原子服务的服务系统或业务处理平台,以使服务系统或业务处理平台根据冲正报文完成对原子服务的冲正处理,此外,无论冲正结果如何都对服务流水表中的冲正信息进行更新。
在本发明实施例中,步骤S103可以采用以下方式实现:当任一原子服务调用异常或调用失败时,判断业务请求是否要求业务一致性;当要求业务一致性时,基于服务流水表生成并按反向调用顺序发送冲正报文,以对原子服务进行冲正。
业务请求所调用的服务组合中,如果任意一个原子服务调用异常或调用失败,则需要做冲正处理,调用异常表示响应超时或无响应等情况。为保证业务一致性,在做冲正处理时,按反向调用顺序生成并发送冲正报文,以及记录原子服务对应的冲正信息。
反向调用顺序与调用顺序完全相反,在冲正时按反向调用顺序排列业务请求对应的原子服务,更符合冲正处理的逻辑。在冲正流水表中,冲正状态的初始可以为空,冲正次数的初始为0,且冲正状态可以设置冲正成功或冲正失败等状态。
在本发明实施例中,基于服务流水表生成并按反向调用顺序发送冲正报文,以对原子服务进行冲正的步骤,可以采用以下方式实现:从组合服务处理内存对象中获取原子服务的业务流水号;根据业务流水号从服务流水表获取原子服务的服务码和服务数据;根据服务码从服务映射配置文件中得到原子服务对应的冲正服务;基于原子服务对应的冲正服务和服务数据生成原子服务的冲正报文;按反向调用顺序向服务系统发送冲正报文,以对原子服务进行冲正;同时将冲正的流水号记录到冲正流水表,若冲正成功,则在服务流水表中记录原子服务的冲正状态为冲正成功;若冲正失败,则在服务流水表中记录原子服务的冲正状态为冲正失败。
服务映射配置文件是服务码与冲正服务的映射关系,每个原子服务都与之一一对应的冲正服务,通过服务映射配置文件来记录每个原子服务的冲正服务。服务流水表中记录了原子服务对应的服务码和服务数据(包含业务流水号),在冲正时,基于冲正流水表、服务流水表和服务映射配置文件可以得到生成冲正报文需要的冲正服务和服务数据。
本发明实施例的保持数据一致性的方法,在步骤S103之后还可以包括以下步骤:将冲正失败的原子服务记录于冲正流水表;定时查询冲正流水表,对冲正状态为冲正失败的原子服务发起重复冲正;在重复冲正成功时将冲正状态修改为冲正成功,或在重复冲正失败时将冲正次数加1;以及查询服务流水表中所有原子服务的冲正状态;若不存在冲正失败的原子服务,则更新冲正流水表中业务请求的服务状态为冲正成功;若存在冲正失败的原子服务,且冲正次数达到预设次数,则停止发起重复冲正,对冲正失败的原子服务执行日终对账处理。
作为一种优选的实施方式,冲正流水表记录了业务流水号、服务请求数据、冲正状态和冲正次数等。对于冲正信息的更新,根据冲正结果的不同而有所区别,冲正成功时主要更新冲正状态,冲正失败(包括重复冲正失败)时还要记录冲正次数。对于冲正失败的原子服务,可以通过定时器策略发起重复冲正,直到冲正成功或者满足停止冲正的条件。对于重复冲正失败的冲正次数,在达到预设次数后可以通过人工干预处理(即日终对账处理)。需要注意的是,发起重复冲正的流程与步骤S103相同,通过发送冲正报文对原子服务进行冲正,此处不予赘述。
根据本发明实施例的保持数据一致性的方法可以看出,因为采用拦截业务请求,并查询业务请求调用的服务组合;在调用原子服务时,将业务请求对应的原子服务按调用顺序记录于服务流水表;当任一原子服务调用异常或调用失败时,基于服务流水表生成并按反向调用顺序发送冲正报文,以对原子服务进行冲正的技术手段,所以克服了现有的一致性处理方式具有局限性,且不适合日趋复杂的组合服务的技术问题,进而达到能够满足日趋复杂的组合服务的一致性处理,使用上不存在现有技术的局限性,以及性能稳定且处理效率较高的技术效果。
作为一种优选的实施方式,本发明实施例的保持数据一致性的方法可以参考以下流程实施:
利用服务拦截器拦截原子服务;
对原子服务进行服务流水处理,得到原子服务的服务数据;其中,服务数据包括调用原子服务的业务请求及对应的用户、服务时间、交易金额、流水号等;
若原子服务为预设服务,则将服务数据记录于服务流水表;其中,服务流水表记录有原子服务及对应的服务码、服务时间、交易流水号、交易数据和服务状态;
利用交易拦截器拦截业务请求;
判断业务请求调用的各个原子服务是否调用成功;
若均调用成功时,则继续拦截下一业务请求;
若任一调用时,则判断服务组合(即业务请求)是否要求交易一致性;此时可以将这些原子服务与预设冲正名单比对,如果预设冲正名单包含这些原子服务则是,否则不是;其中,服务组合包括按调用顺序排列的用于处理业务请求的原子服务;
若要求交易一致性,则从组合服务处理内存对象中获取原子服务的交易流水号;
根据交易流水号从服务流水表获取原子服务的服务码、服务时间、交易流水号、交易数据等;
根据服务码从服务映射配置文件中得到原子服务对应的冲正服务;
基于这些数据生成各个原子服务的冲正报文;
按反向调用顺序向服务系统发送冲正报文,以对原子服务进行冲正;
若冲正成功,则在服务流水表中记录原子服务的冲正状态为冲正成功;
若冲正失败,则在冲正流水表中记录冲正状态为冲正失败;
将冲正失败的原子服务记录于冲正流水表;其中,冲正流水表记录有业务流水号、服务请求数据、冲正状态和冲正次数;
定时查询冲正流水表,对冲正状态为冲正失败的原子服务发起重复冲正;在重复冲正成功时,将服务流水表中原子服务的冲正状态修改为冲正成功,并更新冲正流水表的冲正状态为冲正成功;或在重复冲正失败时,在冲正流水表中记录冲正次数,并更新冲正流水表的冲正状态为冲正失败;
查询服务流水表中所有原子服务的冲正状态,若不存在冲正失败,则更新冲正流水表的服务状态为成功;若存在冲正失败,且冲正次数达到预设次数,则停止发起重复冲正,对原子服务执行日终对账处理。
为了进一步阐述本发明的技术思想,现结合具体的应用场景,对本发明的技术方案进行说明。
本发明实施例的保持数据一致性的方法主要涉及以下二个方面的处理:
一、服务流水设计
如图2所示,服务流水功能是记录系统的交易流水以及冲正流水,方便后续对服务冲正的处理。交易流水和冲正流水的记录分别通过业务拦截器和服务拦截器来实现的,原子服务在业务处理平台的执行过程中会触发服务拦截器,可以在服务拦截器的配置文件配置对应的程序来进行服务流水处理,将从原子服务中得到的服务数据作为参数传到方法中做服务流水表的输入,进行服务数据的插入或者更新操作,在发送到后端的服务系统之前还会记录服务流水初始状态(即服务状态),服务系统处理之后经过系统处理再更新服务流水表中的服务状态以及后端返回的相关数据;在业务执行的过程中,可以利用业务拦截器拦截业务请求,并在服务流水表中查询业务请求调用的所有原子服务,基于服务状态确定各个原子服务是否调用成功;
如图3所示,服务拦截器在处理过程中,调用服务之前可以设置初始服务流水状态(即初始状态9),并根据服务返回的情况,更新流水状态(即服务状态),其中,0表示成功(即调用成功),1表示失败(即调用失败),2表示异常(即调用异常)。
二、服务冲正设计
服务冲正是指组合服务其中每个服务调用失败后,通过系统自动发起的针对原服务组合进行逆向调用反交易的处理过程,主要包括服务同步冲正和服务后自动发起的异步冲正。下面对这两种冲正处理分别进行说明,异步冲正的冲正流水与同步冲正的相同,通过冲正流水表记录异步冲正流水,并在冲正服务之后修改交易状态(即服务状态)。异步冲正为服务返回结果之后由系统自动发起,仅仅修改服务流水表的服务状态和冲正流水表的冲正状态。异步冲正处理可使用定时器定时从冲正流水表中取出需冲正的服务流水号(即业务流水号),根据服务流水号取服务流水表中所有需冲正的服务数据,根据不同的后端服务从配置文件中获得相应的冲正服务,组成报文(即冲正报文)发送至相应的服务系统进行冲正。
同步冲正是在服务失败后即同步发起冲正处理,在同步冲正处理后才返回服务结果,图2中的“服务返回处理”部分,即包括了同步冲正的处理逻辑。如图4所示,服务同步冲正的处理逻辑可参考以下处理流程:
在服务失败或异常(即任一原子服务调用异常或调用失败)时,判断业务请求是否要求业务一致性(即是否需要冲正);
若否,可以组失败报文返回给渠道;
若是,根据业务流水号从服务流水表获取原子服务的服务码和服务数据;根据服务码从服务映射配置文件中得到原子服务对应的冲正服务;基于原子服务对应的冲正服务和服务数据生成原子服务的冲正报文;按反向调用顺序向服务系统发送原子服务的冲正报文,以对原子服务进行冲正;
若冲正成功,则在冲正流水表中记录原子服务的冲正状态为冲正成功;若冲正失败,则记录该冲正总流程为失败,在冲正流水表中记录冲正状态为冲正失败;
继续判断是否还有需冲正的原子服务;
判断冲正总流程结果:查询冲正流水表中所有原子服务的冲正状态;
若不存在冲正失败的原子服务,可以组失败报文返回服务失败已冲正;
若存在冲正失败的原子服务,则失败,可以组失败报文返回服务失败待冲正。
异步冲正是同步冲正处理不成功,即服务同步冲正失败的情况下,将冲正流水记录在冲正流水表,由定时器扫描该表,对冲正失败的服务自动再发起冲正处理,直到不满足冲正的条件为止。如图5所示,服务异步冲正(即重复冲正)的处理逻辑可参考以下处理流程:
利用定时器定时查询冲正流水表,对冲正状态为冲正失败的原子服务发起重复冲正;
通过冲正流水表中的业务流水号查询服务流水表,根据表中数据组报文(即冲正报文);
按反向调用顺序向服务系统发送原子服务的冲正报文,以对原子服务进行冲正;
判断服务成功/失败;
如果重复冲正成功,则更新冲正流水表记录为冲正成功,并查询当前服务中是否还有需要冲正记录;若是,则继续根据表中数据组报文(即再次生成冲正报文并执行后续步骤),若否,则更新冲正流水表为冲正成功,并判断查询冲正流水表是否还有需要冲正的原子服务(即查询所有原子服务的冲正状态);当还有需要冲正的原子服务时(即存在冲正失败的原子服务),再次通过业务流水号查询服务流水表并执行后续步骤;当没有需要冲正的原子服务时(即都是冲正成功的原子服务),可以结束定时器;
如果重复冲正失败,则更新服务流水表和冲正流水表为失败,将冲正次数加1;以及查询服务流水表是否还有需要冲正的原子服务;当还有需要冲正的原子服务时,再次通过业务流水号查询服务流水表并执行后续步骤;当没有需要冲正的原子服务时,可以结束定时器,此时可以更新服务流水表中业务请求的服务状态为成功;此外,可以在原子服务的冲正次数达到预设次数时,停止发起重复冲正,对冲正失败的原子服务执行日终对账处理。
异步冲正的最高次数可以通过参数灵活设置,例如将预设次数设置为三次,即异步冲正错误次数超过三次则不再发起重复冲正,日终有相关程序对此类交易进行日终手工对账处理(即日终对账处理)。定时器的时间间隔也可以灵活设置,尽量和交易不相差太多时间。
如图6所示,异步冲正时,冲正流水表以及服务流水表中的状态更改可参考以下处理流程:
对于冲正流水表中冲正状态的记录,根据冲正服务返回状态更新;如果还有冲正状态不为3(即冲正成功)的原子服务,则更新服务流水表状态为4(即冲正失败),再更新冲正表的状态为4,并将冲正次数加1;如果所有冲正状态不为3(即冲正成功)的原子服务的冲正都成功,则更新服务流水表状态为3;再判断是否服务所有流程都已冲正成功;若是,则更新冲正表的状态为3;若否,则更新冲正表的状态为4,并将冲正次数加1。
图7是根据本发明实施例的保持数据一致性的装置的主要模块的示意图。
如图7所示,本发明实施例的保持数据一致性的装置700包括:拦截模块701、记录模块702和冲正模块703。
其中,
拦截模块701,用于拦截业务请求,并查询所述业务请求调用的服务组合;其中,所述服务组合包括按调用顺序排列的用于处理所述业务请求的原子服务;
记录模块702,用于在调用所述原子服务时,将所述业务请求对应的原子服务按调用顺序记录于服务流水表;
冲正模块703,用于在任一所述原子服务调用异常或调用失败时,基于所述服务流水表生成并按所述反向调用顺序发送冲正报文,以对所述原子服务进行冲正。
在本发明实施例中,所述记录模块702还可以用于
拦截所述原子服务;
对所述原子服务进行服务流水处理,得到所述原子服务的服务数据;其中,所述服务数据包括所述业务请求及其对应的用户、服务时间、交易金额、业务流水号和服务状态;
若所述原子服务为预设服务,则将所述服务数据记录于服务流水表;其中,所述服务流水表记录有所述原子服务及其对应的服务码和所述服务数据。
在本发明实施例中,所述冲正模块703还可以用于:
在所述服务流水表中查询所述业务请求调用的所有原子服务,以及基于所述服务状态确定各个原子服务的服务状态;
当任一所述原子服务的服务状态为调用异常或调用失败时,判断所述业务请求是否要求业务一致性;
当要求业务一致性时,基于所述服务流水表生成并按所述反向调用顺序发送冲正报文,以对所述原子服务进行冲正。
在本发明实施例中,所述冲正模块703可以进一步用于:
从所述组合服务处理内存对象中获取所述原子服务的业务流水号;
根据所述业务流水号从所述服务流水表获取所述原子服务的服务码和服务数据;
根据所述服务码从服务映射配置文件中得到所述原子服务对应的冲正服务;
基于所述原子服务对应的冲正服务和服务数据生成所述原子服务的冲正报文;
按反向调用顺序向服务系统发送所述冲正报文,以对所述原子服务进行冲正;
若冲正成功,则在所述服务流水表中记录所述原子服务的冲正状态为冲正成功;
若冲正失败,则在所述服务流水表中记录所述原子服务的冲正状态为冲正失败。
在本发明实施例中,保持数据一致性的装置700还可以包括重复冲正模块(图中并未示出),用于:
将冲正失败的原子服务记录于冲正流水表;其中,所述冲正流水表记录有业务流水号、服务请求数据、冲正状态和冲正次数;
定时查询所述冲正流水表,对冲正状态为冲正失败的原子服务发起重复冲正;
在重复冲正成功时将冲正状态修改为冲正成功,或在重复冲正失败时将冲正次数加1;以及
查询所述服务流水表中所有原子服务的冲正状态;
若不存在冲正失败的原子服务,则更新所述服务流水表中业务请求的服务状态为冲正成功;
若存在冲正失败的原子服务,且冲正次数达到预设次数,则停止发起重复冲正,对冲正失败的原子服务执行日终对账处理。
根据本发明实施例的保持数据一致性的装置可以看出,因为采用拦截业务请求,并查询业务请求调用的服务组合;在调用原子服务时,将业务请求对应的原子服务按调用顺序记录于服务流水表;当任一原子服务调用异常或调用失败时,基于服务流水表生成并按反向调用顺序发送冲正报文,以对原子服务进行冲正的技术手段,所以克服了现有的一致性处理方式具有局限性,且不适合日趋复杂的组合服务的技术问题,进而达到能够满足日趋复杂的组合服务的一致性处理,使用上不存在现有技术的局限性,以及性能稳定且处理效率较高的技术效果。
图8示出了可以应用本发明实施例的保持数据一致性的方法或保持数据一致性的装置的示例性系统架构800。
如图8所示,系统架构800可以包括终端设备801、802、803,网络804和服务器805。网络804用以在终端设备801、802、803和服务器805之间提供通信链路的介质。网络804可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备801、802、803通过网络804与服务器805交互,以接收或发送消息等。终端设备801、802、803上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备801、802、803可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器805可以是提供各种服务的服务器,例如对用户利用终端设备801、802、803所浏览的购物类网站提供支持的后台管理服务器。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息)反馈给终端设备。
需要说明的是,本发明实施例所提供的保持数据一致性的方法一般由服务器805执行,相应地,保持数据一致性的装置一般设置于服务器805中。
应该理解,图8中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图9,其示出了适于用来实现本发明实施例的终端设备的计算机系统900的结构示意图。图9示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括拦截模块、记录模块和冲正模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,拦截模块还可以被描述为“拦截业务请求,以及查询所述业务请求调用的服务组合的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:步骤S101:拦截业务请求,并查询业务请求调用的服务组合;步骤S102:当任一原子服务调用异常或调用失败时,将业务请求对应的原子服务和冲正信息按反向调用顺序记录于冲正流水表;步骤S103:生成并按反向调用顺序发送冲正报文,以对原子服务进行冲正,以及更新冲正流水表中的冲正信息。
根据本发明实施例的技术方案,因为采用拦截业务请求,并查询业务请求调用的服务组合;在调用原子服务时,将业务请求对应的原子服务按调用顺序记录于服务流水表;当任一原子服务调用异常或调用失败时,基于服务流水表生成并按反向调用顺序发送冲正报文,以对原子服务进行冲正的技术手段,所以克服了现有的一致性处理方式具有局限性,且不适合日趋复杂的组合服务的技术问题,进而达到能够满足日趋复杂的组合服务的一致性处理,使用上不存在现有技术的局限性,以及性能稳定且处理效率较高的技术效果。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (12)

1.一种保持数据一致性的方法,其特征在于,包括:
拦截业务请求,并查询所述业务请求调用的服务组合;其中,所述服务组合包括按调用顺序排列的用于处理所述业务请求的原子服务;
在调用所述原子服务时,将所述业务请求对应的原子服务按调用顺序记录于服务流水表;
当任一所述原子服务调用异常或调用失败时,基于所述服务流水表生成并按所述反向调用顺序发送冲正报文,以对所述原子服务进行冲正。
2.根据权利要求1所述的方法,其特征在于,在调用所述原子服务时,将所述业务请求对应的原子服务和冲正信息按调用顺序记录于服务流水表,包括:
拦截所述原子服务;
对所述原子服务进行服务流水处理,得到所述原子服务的服务请求数据;其中,所述服务请求数据包括所述业务请求及其对应的用户、服务时间、交易金额、业务流水号和服务状态;
若所述原子服务为预设服务,则将所述服务请求数据记录于服务流水表;其中,所述服务流水表记录有所述原子服务及其对应的服务码和所述服务请求数据。
3.根据权利要求2所述的方法,其特征在于,当任一所述原子服务调用异常或调用失败时,基于所述服务流水表生成并按所述反向调用顺序发送冲正报文,以对所述原子服务进行冲正,包括:
在所述服务流水表中查询所述业务请求调用的所有原子服务,以及基于所述服务状态确定各个原子服务的服务状态;
当任一所述原子服务的服务状态为调用异常或调用失败时,判断所述业务请求是否要求业务一致性;
当要求业务一致性时,基于所述服务流水表生成并按反向调用顺序发送冲正报文,以对所述原子服务进行冲正。
4.根据权利要求3所述的方法,其特征在于,基于所述服务流水表生成并按所述反向调用顺序发送冲正报文,以对所述原子服务进行冲正,包括:
从所述组合服务处理内存对象中获取原子服务的业务流水号;
根据所述业务流水号从所述服务流水表获取所述原子服务的服务码和服务请求数据;
根据所述服务码从服务映射配置文件中得到所述原子服务对应的冲正服务;
基于所述原子服务对应的冲正服务和服务请求数据生成所述原子服务的冲正报文;
按反向调用顺序向服务系统发送所述冲正报文,以对所述原子服务进行冲正;
若冲正成功,则在所述服务流水表中记录所述原子服务的冲正状态为冲正成功;
若冲正失败,则在所述服务流水表中记录所述原子服务的冲正状态为冲正失败。
5.根据权利要求4所述的方法,其特征在于,对所述原子服务进行冲正,以及更新所述冲正流水表中的冲正信息,之后还包括:
将冲正失败的原子服务记录于冲正流水表;其中,所述冲正流水表记录有业务流水号、服务请求数据、冲正状态和冲正次数;
定时查询所述冲正流水表,对冲正状态为冲正失败的原子服务发起重复冲正;
在重复冲正成功时将冲正状态修改为冲正成功,或在重复冲正失败时将冲正次数加1;以及
查询所述服务流水表中所有原子服务的冲正状态;
若不存在冲正失败的原子服务,则更新所述服务流水表中业务请求的服务状态为冲正成功;
若存在冲正失败的原子服务,且冲正次数达到预设次数,则停止发起重复冲正,对冲正失败的原子服务执行日终对账处理。
6.一种保持数据一致性的装置,其特征在于,包括:
拦截模块,用于拦截业务请求,并查询所述业务请求调用的服务组合;其中,所述服务组合包括按调用顺序排列的用于处理所述业务请求的原子服务;
记录模块,用于在调用所述原子服务时,将所述业务请求对应的原子服务按调用顺序记录于服务流水表;
冲正模块,用于在任一所述原子服务调用异常或调用失败时,基于所述服务流水表生成并按所述反向调用顺序发送冲正报文,以对所述原子服务进行冲正。
7.根据权利要求6所述的装置,其特征在于,所述记录模块还用于:
拦截所述原子服务;
对所述原子服务进行服务流水处理,得到所述原子服务的服务数据;其中,所述服务数据包括所述业务请求及其对应的用户、服务时间、交易金额、业务流水号和服务状态;
若所述原子服务为预设服务,则将所述服务数据记录于服务流水表;其中,所述服务流水表记录有所述原子服务及其对应的服务码和所述服务数据。
8.根据权利要求7所述的装置,其特征在于,所述冲正模块还用于
在所述服务流水表中查询所述业务请求调用的所有原子服务,以及基于所述服务状态确定各个原子服务的服务状态;
当任一所述原子服务的服务状态为调用异常或调用失败时,判断所述业务请求是否要求业务一致性;
当要求业务一致性时,基于所述服务流水表生成并按所述反向调用顺序发送冲正报文,以对所述原子服务进行冲正。
9.根据权利要求8所述的装置,其特征在于,所述冲正模块进一步用于:
从所述组合服务处理内存对象中获取所述原子服务的业务流水号;
根据所述业务流水号从所述服务流水表获取所述原子服务的服务码和服务数据;
根据所述服务码从服务映射配置文件中得到所述原子服务对应的冲正服务;
基于所述原子服务对应的冲正服务和服务数据生成所述原子服务的冲正报文;
按反向调用顺序向服务系统发送所述冲正报文,以对所述原子服务进行冲正;
若冲正成功,则在所述服务流水表中记录所述原子服务的冲正状态为冲正成功;
若冲正失败,则在所述服务流水表中记录所述原子服务的冲正状态为冲正失败。
10.根据权利要求9所述的装置,其特征在于,还包括重复冲正模块,用于:
将冲正失败的原子服务记录于冲正流水表;其中,所述冲正流水表记录有业务流水号、服务请求数据、冲正状态和冲正次数;
定时查询所述冲正流水表,对冲正状态为冲正失败的原子服务发起重复冲正;
在重复冲正成功时将冲正状态修改为冲正成功,或在重复冲正失败时将冲正次数加1;以及
查询所述服务流水表中所有原子服务的冲正状态;
若不存在冲正失败的原子服务,则更新所述服务流水表中业务请求的服务状态为冲正成功;
若存在冲正失败的原子服务,且冲正次数达到预设次数,则停止发起重复冲正,对冲正失败的原子服务执行日终对账处理。
11.一种保持数据一致性的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-5中任一所述的方法。
CN202010047460.5A 2020-01-16 2020-01-16 一种保持数据一致性的方法和装置 Active CN111277639B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010047460.5A CN111277639B (zh) 2020-01-16 2020-01-16 一种保持数据一致性的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010047460.5A CN111277639B (zh) 2020-01-16 2020-01-16 一种保持数据一致性的方法和装置

Publications (2)

Publication Number Publication Date
CN111277639A true CN111277639A (zh) 2020-06-12
CN111277639B CN111277639B (zh) 2022-08-09

Family

ID=71001083

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010047460.5A Active CN111277639B (zh) 2020-01-16 2020-01-16 一种保持数据一致性的方法和装置

Country Status (1)

Country Link
CN (1) CN111277639B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111861746A (zh) * 2020-07-07 2020-10-30 中国建设银行股份有限公司 一种处理交易数据的方法和装置
CN112099973A (zh) * 2020-09-16 2020-12-18 中国建设银行股份有限公司 服务调用方法和装置
CN112417042A (zh) * 2020-11-19 2021-02-26 中国建设银行股份有限公司 一种处理业务请求的方法和装置
CN112434050A (zh) * 2020-10-16 2021-03-02 广东电力信息科技有限公司 电网业务处理系统的数据同步方法、装置和业务处理系统
CN112597246A (zh) * 2020-12-25 2021-04-02 中国农业银行股份有限公司 一种保持数据一致性的方法、装置及系统
CN113032176A (zh) * 2021-03-23 2021-06-25 中国邮政储蓄银行股份有限公司 基于日终对账的分布式事务双补偿方法与装置
CN113127564A (zh) * 2021-04-20 2021-07-16 建信金融科技有限责任公司 一种参数同步方法和装置

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6286045B1 (en) * 1997-05-19 2001-09-04 Matchlogic, Inc. Information storage and delivery over a computer network using centralized intelligence to monitor and control the information being delivered
US20050261914A1 (en) * 2002-07-19 2005-11-24 Microsoft Corporation Method and system for managing long running transactions
CN1996855A (zh) * 2006-12-22 2007-07-11 中国建设银行股份有限公司 一种保持数据一致性的方法及系统
US20140108367A1 (en) * 2012-10-12 2014-04-17 Tibero Co., Ltd. Client apparatus and database server for resumable transaction and method thereof
US20140258773A1 (en) * 2006-08-11 2014-09-11 Chicago Mercantile Exchange Inc. Match Server for a Financial Exchange Having Fault Tolerant Operation
CN105243586A (zh) * 2015-11-11 2016-01-13 中国建设银行股份有限公司 一种银行代理保险系统及其防错账处理方法
CN107609793A (zh) * 2017-10-09 2018-01-19 税友软件集团股份有限公司 一种处理生产交易系统异常状态的方法及装置
CN109002462A (zh) * 2018-06-04 2018-12-14 北京明朝万达科技股份有限公司 一种实现分布式事物的方法及系统
CN109034769A (zh) * 2018-07-03 2018-12-18 中国银行股份有限公司 交易数据处理方法、装置、存储介质及电子设备
CN109324925A (zh) * 2018-08-29 2019-02-12 北京仁科互动网络技术有限公司 分布式框架的事务处理方法及装置
CN110288255A (zh) * 2019-06-28 2019-09-27 深圳前海微众银行股份有限公司 一种分布式事务的流程保障方法及装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6286045B1 (en) * 1997-05-19 2001-09-04 Matchlogic, Inc. Information storage and delivery over a computer network using centralized intelligence to monitor and control the information being delivered
US20050261914A1 (en) * 2002-07-19 2005-11-24 Microsoft Corporation Method and system for managing long running transactions
US20140258773A1 (en) * 2006-08-11 2014-09-11 Chicago Mercantile Exchange Inc. Match Server for a Financial Exchange Having Fault Tolerant Operation
CN1996855A (zh) * 2006-12-22 2007-07-11 中国建设银行股份有限公司 一种保持数据一致性的方法及系统
US20140108367A1 (en) * 2012-10-12 2014-04-17 Tibero Co., Ltd. Client apparatus and database server for resumable transaction and method thereof
CN105243586A (zh) * 2015-11-11 2016-01-13 中国建设银行股份有限公司 一种银行代理保险系统及其防错账处理方法
CN107609793A (zh) * 2017-10-09 2018-01-19 税友软件集团股份有限公司 一种处理生产交易系统异常状态的方法及装置
CN109002462A (zh) * 2018-06-04 2018-12-14 北京明朝万达科技股份有限公司 一种实现分布式事物的方法及系统
CN109034769A (zh) * 2018-07-03 2018-12-18 中国银行股份有限公司 交易数据处理方法、装置、存储介质及电子设备
CN109324925A (zh) * 2018-08-29 2019-02-12 北京仁科互动网络技术有限公司 分布式框架的事务处理方法及装置
CN110288255A (zh) * 2019-06-28 2019-09-27 深圳前海微众银行股份有限公司 一种分布式事务的流程保障方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IBRAHIM JALUTA: "Enhancing concurrency and recovery in Ingres database", 《2015 2ND WORLD SYMPOSIUM ON WEB APPLICATIONS AND NETWORKING (WSWAN)》 *
于翔等: "一种基于云的应用层容错机制设计与实现", 《微型电脑应用》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111861746A (zh) * 2020-07-07 2020-10-30 中国建设银行股份有限公司 一种处理交易数据的方法和装置
CN112099973A (zh) * 2020-09-16 2020-12-18 中国建设银行股份有限公司 服务调用方法和装置
CN112434050A (zh) * 2020-10-16 2021-03-02 广东电力信息科技有限公司 电网业务处理系统的数据同步方法、装置和业务处理系统
CN112417042A (zh) * 2020-11-19 2021-02-26 中国建设银行股份有限公司 一种处理业务请求的方法和装置
CN112597246A (zh) * 2020-12-25 2021-04-02 中国农业银行股份有限公司 一种保持数据一致性的方法、装置及系统
CN112597246B (zh) * 2020-12-25 2024-04-12 中国农业银行股份有限公司 一种保持数据一致性的方法、装置及系统
CN113032176A (zh) * 2021-03-23 2021-06-25 中国邮政储蓄银行股份有限公司 基于日终对账的分布式事务双补偿方法与装置
CN113127564A (zh) * 2021-04-20 2021-07-16 建信金融科技有限责任公司 一种参数同步方法和装置

Also Published As

Publication number Publication date
CN111277639B (zh) 2022-08-09

Similar Documents

Publication Publication Date Title
CN111277639B (zh) 一种保持数据一致性的方法和装置
CN110888893A (zh) 一种基于微服务电商系统的订单处理方法
CN109873863B (zh) 服务的异步调用方法和装置
CN111127181B (zh) 一种凭证记账方法和装置
CN111309747A (zh) 数据同步方法、系统和装置
CN111831461A (zh) 一种处理业务流程的方法和装置
CN112417042A (zh) 一种处理业务请求的方法和装置
CN113760924A (zh) 一种分布式事务的处理方法和装置
US20210149709A1 (en) Method and apparatus for processing transaction
CN111259032A (zh) 一种业务处理方法和装置
CN113553206B (zh) 数据事件执行方法、装置、电子设备和计算机可读介质
CN113486033A (zh) 控制事务一致性的方法、装置、设备和计算机可读介质
CN113726885A (zh) 一种流量配额的调整方法和装置
CN113760487A (zh) 一种业务处理方法和装置
CN109087097B (zh) 一种更新链码同一标识的方法和装置
CN113141236A (zh) 一种报文处理方法和装置
CN113779122A (zh) 导出数据的方法和装置
CN111861746A (zh) 一种处理交易数据的方法和装置
CN110019671B (zh) 一种处理实时消息的方法和系统
CN116010126B (zh) 一种服务聚合方法、装置及系统
CN112948430B (zh) 一种日期数据查询方法和装置
CN113766437B (zh) 一种短信发送方法和装置
CN113592655A (zh) 交易处理方法、装置、电子设备及计算机可读介质
CN116012158A (zh) 业务处理方法、装置、设备及存储介质
CN114240660A (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: 20220926

Address after: 25 Financial Street, Xicheng District, Beijing 100033

Patentee after: CHINA CONSTRUCTION BANK Corp.

Address before: 25 Financial Street, Xicheng District, Beijing 100033

Patentee before: CHINA CONSTRUCTION BANK Corp.

Patentee before: Jianxin Financial Science and Technology Co.,Ltd.