CN107332906A - 分布式系统事务管理方法及装置 - Google Patents
分布式系统事务管理方法及装置 Download PDFInfo
- Publication number
- CN107332906A CN107332906A CN201710521704.7A CN201710521704A CN107332906A CN 107332906 A CN107332906 A CN 107332906A CN 201710521704 A CN201710521704 A CN 201710521704A CN 107332906 A CN107332906 A CN 107332906A
- Authority
- CN
- China
- Prior art keywords
- node
- message
- masters
- business operation
- passive side
- 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.)
- Pending
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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- 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/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种分布式系统事务管理方法及装置,方法包括:在接收到主动方节点发送的消息时,对消息进行存储并将消息状态标记为待确认,并向主动方节点发送消息的存储结果;在接收到主动方节点发送的已开始执行业务操作的指示消息时,将消息状态更新为待发送;在主动方节点执行完业务操作后,当接收到主动方节点返回的业务操作结果时,若业务操作结果为业务处理成功,则将消息发送给被动方节点,并将消息状态更新为已发送;在被动方节点执行完业务操作后,当被动方节点返回的业务操作结果为业务处理失败时,将该业务操作结果发送给主动方节点,指示主动方节点进行回滚操作。本发明方法及装置,实现了保持主动方节点与被动方节点之间的数据一致性。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种分布式系统事务管理方法及装置。
背景技术
分布式系统是建立在网络之上的装置,它可以将一个庞大复杂的装置分解为若干个小的服务节点,各节点之间通过远程调用的方式实现互相通信。共享物理和逻辑资源,并且协同处理事务。分布式系统由于具有高可用、高开发的特点越来越受到开发者的青睐。
对于传统的单节点网络装置,由于是单节点部署,因此可以使用本地事务进行事务管理,来保证数据的一致性。然而对于分布式系统,每一服务模块作为一个独立装置拥有自己的事务管理机制,当发生模块和模块之间的调用时,就必须解决因为其调用方执行发生异常被调用方回滚自己数据,或者被调用方发生异常调用方需回滚数据的问题,否则会导致数据的不一致。举例来说,服务A中的业务是在数据库中插入一条数据,然后调用服务B的业务方法,服务B的业务也是在数据库中插入一条数据。假设服务B的方法在执行过程中发生异常,那么服务A中之前插入的数据需要从数据库中删除,避免脏数据的出现。而整个过程中服务A和服务B是相互隔离的,如何通知服务A自动完成数据的回滚操作是需要考虑的问题。
现有分布式系统主流采用的事务管理方案,处理效率低,如果应用于目前的分布式架构,数据会锁定跨整个事务,直至事务结束,这会导致装置性能非常低,影响用户体验。
发明内容
本发明的目的是提供一种分布式系统事务管理方法及装置,能够实现分布式系统中各服务节点间数据的一致性,并可克服现有方法存在的缺陷。
为实现上述目的,本发明提供如下技术方案:
一种分布式系统事务管理方法,包括:
在接收到主动方节点发送的消息时,对消息进行存储并将消息状态标记为待确认,并向所述主动方节点发送所述消息的存储结果;
在接收到所述主动方节点发送的已开始执行业务操作的指示消息时,将消息状态更新为待发送,所述主动方节点在接收到所述存储结果并且所述存储结果为存储成功时开始执行业务操作;
在所述主动方节点执行完业务操作后,当接收到所述主动方节点返回的业务操作结果时,若所述业务操作结果为业务处理成功,则将所述消息发送给被动方节点,并将消息状态更新为已发送;
在所述被动方节点接收到所述消息,执行完业务操作后,当所述被动方节点返回的业务操作结果为业务处理失败时,则将该业务操作结果发送给所述主动方节点,以指示所述主动方节点进行回滚操作。
可选地,还包括:
对所述主动方节点与所述被动方节点之间进行调用的调用信息保存,并将所述调用信息展示给用户;
将存储的所述消息、接收到的所述指示消息、接收到的主动方节点的业务操作结果以及被动方节点的业务操作结果展示给用户,并可由用户根据展示信息进行人为管理各类消息以及干预调用事务。
可选地,还包括:查询消息状态为待发送的消息的存储时长,若存储时长超过第一阈值,则将存储的所述消息删除。
可选地,还包括:查询消息状态为已发送的消息的存储时长,若存储时长已超过第二阈值,但未收到所述被动方节点返回的业务操作结果,则将所述消息重新发送给所述被动方节点。
可选地,当监测到出现未预知的问题阻断事务进行时,以预设方式恢复事务。
一种分布式系统事务管理装置,包括:
消息存储模块,用于在接收到主动方节点发送的消息时,对消息进行存储;
消息状态标记模块,用于在接收到主动方节点发送的所述消息时,将消息状态标记为待确认,并在接收到所述主动方节点发送的已开始执行业务操作的指示消息时,将消息状态更新为待发送,所述主动方节点在接收到存储结果并且所述存储结果为存储成功时开始执行业务操作;还用于在所述主动方节点执行完业务操作后,当接收到所述主动方节点返回的业务操作结果时,若所述业务操作结果为业务处理成功,则将所述消息发送给被动方节点,并将消息状态更新为已发送;
消息处理模块,用于在对所述消息存储后,向所述主动方节点发送所述消息的存储结果,并在所述主动方节点执行完业务操作后,当接收到所述主动方节点返回的业务操作结果时,若所述业务操作结果为业务处理成功,则将所述消息发送给被动方节点;还用于在所述被动方节点接收到所述消息,执行完业务操作后,当所述被动方节点返回的业务操作结果为业务处理失败时,则将该业务操作结果发送给所述主动方节点,以指示所述主动方节点进行回滚操作。
可选地,还包括:
数据库,用于对所述主动方节点与所述被动方节点之间进行调用的调用信息保存;
控制台,用于对所述主动方节点与所述被动方节点之间进行调用的调用信息展示给用户,还用于将存储的所述消息、接收到的所述指示消息、接收到的主动方节点的业务操作结果以及被动方节点的业务操作结果展示给用户,并可由用户根据展示信息进行人为管理各类消息以及干预调用事务。
可选地,还包括:
消息查询模块,用于查询消息状态为待发送的消息的存储时长,若存储时长超过第一阈值,则将存储的所述消息删除。
可选地,所述消息查询模块还用于查询消息状态为已发送的消息的存储时长,若存储时长已超过第二阈值,但未收到所述被动方节点返回的业务操作结果,则将所述消息重新发送给所述被动方节点。
可选地,事务恢复模块,用于当监测到出现未预知的问题阻断事务进行时,以预设方式恢复事务。
由上述技术方案可知,本发明所提供的分布式系统事务管理方法及装置,在要进行一项业务事务时,主动方节点首先发送消息,在接收到消息时对消息进行存储并将消息状态标记为待确认;主动方节点在确认消息存储后,开始执行业务活动,此时将消息状态标记为待发送;在主动方节点执行完业务操作后,根据主动方节点返回的业务操作结果,若业务操作结果为业务处理成功,则将消息发送给被动方节点并将消息状态标记为已发送;在被动方节点执行完业务操作后,返回的业务操作结果为业务处理失败时,则将该业务操作结果发送给主动方节点,以指示主动方节点进行回滚操作。
本发明分布式系统事务管理方法及装置,采用异步消息机制,通过在主动方节点和被动方节点之间传递消息进行通信,当主动方节点没有成功执行业务操作时,被动方节点将不执行业务;而当被动方节点执行业务失败时,主动方节点会根据结果指示进行回滚操作,从而实现了保持主动方节点与被动方节点之间的数据一致性,并且与现有方法相比,本发明方法及装置能克服现有技术的缺陷,处理效率高,提高了系统性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种分布式系统事务管理方法的流程图;
图2为本发明实施例中分布式系统的示意图;
图3为本发明实施例提供的一种分布式系统事务管理装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
请参考图1,本发明实施例提供的一种分布式系统事务管理方法,包括步骤:
S10:在接收到主动方节点发送的消息时,对消息进行存储并将消息状态标记为待确认,并向所述主动方节点发送所述消息的存储结果。
首先需要说明的是,本方法中各步骤由设置的消息装置来执行,消息装置作为主动方节点与被动方节点之间传输消息的中间体。
可参考图2,在分布式系统中,一个完整的业务活动由一个主动方服务节点20和若干被动方服务节点21组成。其中,主动方节点20用于发起并完成整个业务活动,被动方节点21用于提供可被调用的业务方法。
在即将要进行一项业务活动时,首先主动方节点20发送消息,主动方节点20通过该消息来通知其它被动方节点21执行业务活动,被动方节点21在接收到该消息时才开始执行业务活动。
消息装置在接收到主动方节点20发送的所述消息时,并不将消息直接投递给被动方节点21,而是将消息存储,同时标记消息状态,将消息状态标记为待确认。
优选的,在具体实施时,可以在接收到消息后将消息持久化到存储区域,能够将消息持久存储。
消息装置在将消息存储后,向主动方节点20发送所述消息的存储结果。
在这一阶段过程中,如果主动方节点20向消息装置发送消息过程中将消息成功传输给消息装置,以及,在消息装置向主动方节点20发送存储结果的过程中传输成功,则主动方节点20会成功接收到存储结果。
而如果在主动方节点20向消息装置发送消息过程中,没有成功将消息传输给消息装置,或者,在消息装置向主动方节点20发送存储结果过程中没有传输成功,会导致出现主动方节点20接收不到存储结果。
S11:在接收到所述主动方节点发送的已开始执行业务操作的指示消息时,将消息状态更新为待发送,所述主动方节点在接收到所述存储结果并且所述存储结果为存储成功时开始执行业务操作。
主动方节点20在接收到存储结果,若存储结果为存储失败时,主动方节点20不执行业务操作,此时主动方节点20需要重新向消息装置发送所述消息。
主动方节点20在接收到存储结果,并且存储结果为存储成功时,开始执行业务操作,并向消息装置发送已开始执行业务操作的指示消息。
消息装置在接收到指示消息后,将消息状态更新为待发送。
在这一阶段过程中,若在主动方节点20向消息装置发送指示消息过程中传输失败,消息装置将没有接收到指示消息,这种情况下消息状态保持为待确认。
S12:在所述主动方节点执行完业务操作后,当接收到所述主动方节点返回的业务操作结果时,若所述业务操作结果为业务处理成功,则将所述消息发送给被动方节点,并将消息状态更新为已发送。
当主动方节点20执行完业务操作后,将业务操作结果发送给消息装置。
消息装置在接收到主动方节点20发送的业务操作结果后,若业务操作结果为业务处理失败,则不将所述消息发送给被动方节点21。这样,在主动方节点20没有成功执行业务操作时,被动方节点21也并不执行业务操作,从而保证了主动方节点、被动方节点的数据一致性,实现了分布式系统的数据一致性。
在具体实施时,若消息装置接收到的业务操作结果为业务处理失败,则将存储的所述消息删除。
消息装置在接收到主动方节点20发送的业务操作结果后,若业务操作结果为业务处理成功,则将消息发送给被动方节点21。并将消息状态更新为已发送。
S13:在所述被动方节点接收到所述消息,执行完业务操作后,当所述被动方节点返回的业务操作结果为业务处理失败时,则将该业务操作结果发送给所述主动方节点,以指示所述主动方节点进行回滚操作。
被动方节点21接收到消息后,执行业务操作。
若被动方节点21执行业务成功,将业务处理成功的业务操作结果发送给消息装置。则本次业务活动执行成功,主动方节点20和被动方节点21都执行完成业务操作。
若被动方节点21执行业务失败,将业务处理失败的业务操作结果发送给消息装置。此时消息装置将这一业务操作结果发送给主动方节点20。
主动方节点20接收到该结果,得知被动方节点21没有成功执行业务操作,则进行回滚操作,进行数据恢复。从而保证主动方节点与被动方节点的数据一致性。
因此,本实施例分布式系统事务管理方法,利用异步消息机制,实现服务模块之间的调用,各个服务模块配置简单,调用灵活高效,提高了系统性能,给用户带来了良好的使用体验。
并且,通过全面的异步消息处理和管理机制,防止因为各类异常引发的消息处理失败而导致数据不一致的问题。
本实施例分布式系统事务管理方法中,还包括:对所述主动方节点与所述被动方节点之间进行调用的调用信息保存,并将所述调用信息展示给用户。
本方法中还包括:将存储的所述消息、接收到的所述指示消息、接收到的主动方节点的业务操作结果以及被动方节点的业务操作结果展示给用户,并可由用户根据展示信息进行人为管理各类消息以及干预调用事务。
在本分布式系统中设置数据库,将主动方节点与各被动方节点之间进行调用的调用信息存储在数据库中,成为本事务管理方案的数据基础。
在本分布式系统中可设置控制台,将主动方节点与各被动方节点之间的调用信息展示到控制台,从而管理员可以通过控制台查询调用信息,查看事务的执行情况。并能够人为干预事务的执行,能够通过控制台控制选择某服务节点作为主动方节点,控制主动方节点发起业务活动,并选择被调用的被动方节点。
并且,将主动方节点、被动方节点与消息装置之间发送的各异步消息展示到控制台,管理员可以通过控制台查看消息,根据消息获得事务的执行情况,并可由用户根据展示信息进行人为管理各类消息以及干预调用事务。
因此,本实施例分布式系统事务管理方法对事务管理具有可视性,管理方便,使得在每次发起一次跨服务调用时,能够在数据库中保留调用记录,方便管理、查看和干预。
进一步的,本实施例分布式系统事务管理方法,还包括:查询消息状态为待发送的消息的存储时长,若存储时长超过第一阈值,则将存储的所述消息删除。
查询消息装置中记录的消息状态,查询其中消息状态为待发送的消息的存储时长,若存储时长超过第一阈值,表明主动方节点在执行业务操作时没有执行成功,相应的业务活动已停止,则将存储的该消息删除。
进一步的,本实施例分布式系统事务管理方法,还包括:查询消息状态为已发送的消息的存储时长,若存储时长已超过第二阈值,但未收到所述被动方节点返回的业务操作结果,则将所述消息重新发送给所述被动方节点。
消息装置在接收到主动方节点发送的业务处理成功的业务操作结果后,将存储的消息发送给被动方节点。查询消息状态为已发送的消息的存储时长,若存储时长已超过第二阈值,但未收到所述被动方节点返回的业务操作结果,可能是在消息装置向被动方节点发送消息的过程中出现异常,消息没有成功发送到被动方节点,这种情况下向被动方节点重新发送所述消息。
进一步的,本实施例分布式系统事务管理方法,还包括:当监测到出现未预知的问题阻断事务进行时,以预设方式恢复事务。这样保证业务活动和数据的一致性。
在具体实施时,所述预设方式可以是:以预设时间间隔恢复事务,当恢复事务的次数达到预设最大次数时,停止恢复。
当监测到出现不可预知的问题,导致事务活动执行中断时,会定期恢复事务,具体为以预设时间间隔定期恢复事务,并当恢复事务的次数达到预设最大次数时停止恢复,即在恢复事务的执行次数超过预设最大次数时不再进行恢复,示例性的,用户可设置恢复事务的时间间隔以及预设最大次数,比如时间间隔为120s,预设最大次数为30次。
另外优选的,本方法中,开发人员可以不采用默认的恢复方式,如果想自定义恢复策略可以按照需求自行配置。
由此可见本实施例分布式系统事务管理方法提供了方案事务的安全保障。可以防止因为不可抗拒因素比如断电导致的事务中断。
相应的,请参考图3,本发明实施例还提供一种分布式系统事务管理装置,包括:
消息存储模块30,用于在接收到主动方节点发送的消息时,对消息进行存储;
消息状态标记模块31,用于在接收到主动方节点发送的所述消息时,将消息状态标记为待确认,并在接收到所述主动方节点发送的已开始执行业务操作的指示消息时,将消息状态更新为待发送,所述主动方节点在接收到存储结果并且所述存储结果为存储成功时开始执行业务操作;还用于在所述主动方节点执行完业务操作后,当接收到所述主动方节点返回的业务操作结果时,若所述业务操作结果为业务处理成功,则将所述消息发送给被动方节点,并将消息状态更新为已发送;
消息处理模块32,用于在对所述消息存储后,向所述主动方节点发送所述消息的存储结果,并在所述主动方节点执行完业务操作后,当接收到所述主动方节点返回的业务操作结果时,若所述业务操作结果为业务处理成功,则将所述消息发送给被动方节点;还用于在所述被动方节点接收到所述消息,执行完业务操作后,当所述被动方节点返回的业务操作结果为业务处理失败时,则将该业务操作结果发送给所述主动方节点,以指示所述主动方节点进行回滚操作。
可以看出,本实施例分布式系统事务管理装置,在要进行一项业务事务时,主动方节点首先发送消息,在接收到消息时对消息进行存储并将消息状态标记为待确认;主动方节点在确认消息存储后,开始执行业务活动,此时将消息状态标记为待发送;在主动方节点执行完业务操作后,根据主动方节点返回的业务操作结果,若业务操作结果为业务处理成功,则将消息发送给被动方节点并将消息状态标记为已发送;在被动方节点执行完业务操作后,返回的业务操作结果为业务处理失败时,则将该业务操作结果发送给主动方节点,以指示主动方节点进行回滚操作。
本实施例分布式系统事务管理装置,采用异步消息机制,通过在主动方节点和被动方节点之间传递消息进行通信,当主动方节点没有成功执行业务操作时,被动方节点将不执行业务;而当被动方节点执行业务失败时,主动方节点会根据结果指示进行回滚操作,从而实现了保持主动方节点与被动方节点之间的数据一致性,并且与现有方法相比,本实施例装置能克服现有技术的缺陷,处理效率高,提高了系统性能。
进一步的,本实施例分布式系统事务管理装置,还包括:
数据库,用于对所述主动方节点与所述被动方节点之间进行调用的调用信息保存;
控制台,用于对所述主动方节点与所述被动方节点之间进行调用的调用信息展示给用户,还用于将存储的所述消息、接收到的所述指示消息、接收到的主动方节点的业务操作结果以及被动方节点的业务操作结果展示给用户,并可由用户根据展示信息进行人为管理各类消息以及干预调用事务。
本装置中设置控制台,将主动方节点与各被动方节点之间的调用信息展示到控制台,从而管理员可以通过控制台查询调用信息,查看事务的执行情况。并能够人为干预事务的执行,能够通过控制台控制选择某服务模块作为主动方节点,控制主动方节点发起业务活动,并选择被调用的被动方节点。
并且,将主动方节点、被动方节点与消息装置之间发送的各异步消息展示到控制台,管理员可以通过控制台查看消息,根据消息获得事务的执行情况,并可由用户根据展示信息进行人为管理各类消息以及干预调用事务。
因此,本实施例分布式系统事务管理装置对事务管理具有可视性,管理方便,使得在每次发起一次跨服务调用时,能够在数据库中保留调用记录,方便管理、查看和干预。
本实施例装置还包括:
消息查询模块,用于查询消息状态为待发送的消息的存储时长,若存储时长超过第一阈值,则将存储的所述消息删除。
通过查询消息装置中记录的消息状态,查询其中消息状态为待发送的消息的存储时长,若存储时长超过第一阈值,表明主动方节点在执行业务操作时没有执行成功,相应的业务活动已停止,则将存储的该消息删除。
进一步的,所述消息查询模块还用于查询消息状态为已发送的消息的存储时长,若存储时长已超过第二阈值,但未收到所述被动方节点返回的业务操作结果,则将所述消息重新发送给所述被动方节点。
消息装置在接收到主动方节点发送的业务处理成功的业务操作结果后,将存储的消息发送给被动方节点。查询消息状态为已发送的消息的存储时长,若存储时长已超过第二阈值,但未收到所述被动方节点返回的业务操作结果,可能是在消息装置向被动方节点发送消息的过程中出现异常,消息没有成功发送到被动方节点,这种情况下向被动方节点重新发送所述消息。
本实施例分布式系统事务管理装置还包括:
事务恢复模块,用于当监测到出现未预知的问题阻断事务进行时,以预设方式恢复事务。
以上对本发明所提供的分布式系统事务管理方法及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种分布式系统事务管理方法,其特征在于,包括:
在接收到主动方节点发送的消息时,对消息进行存储并将消息状态标记为待确认,并向所述主动方节点发送所述消息的存储结果;
在接收到所述主动方节点发送的已开始执行业务操作的指示消息时,将消息状态更新为待发送,所述主动方节点在接收到所述存储结果并且所述存储结果为存储成功时开始执行业务操作;
在所述主动方节点执行完业务操作后,当接收到所述主动方节点返回的业务操作结果时,若所述业务操作结果为业务处理成功,则将所述消息发送给被动方节点,并将消息状态更新为已发送;
在所述被动方节点接收到所述消息,执行完业务操作后,当所述被动方节点返回的业务操作结果为业务处理失败时,则将该业务操作结果发送给所述主动方节点,以指示所述主动方节点进行回滚操作。
2.根据权利要求1所述的分布式系统事务管理方法,其特征在于,还包括:
对所述主动方节点与所述被动方节点之间进行调用的调用信息保存,并将所述调用信息展示给用户;
将存储的所述消息、接收到的所述指示消息、接收到的主动方节点的业务操作结果以及被动方节点的业务操作结果展示给用户,并可由用户根据展示信息进行人为管理各类消息以及干预调用事务。
3.根据权利要求1所述的分布式系统事务管理方法,其特征在于,还包括:查询消息状态为待发送的消息的存储时长,若存储时长超过第一阈值,则将存储的所述消息删除。
4.根据权利要求3所述的分布式系统事务管理方法,其特征在于,还包括:查询消息状态为已发送的消息的存储时长,若存储时长已超过第二阈值,但未收到所述被动方节点返回的业务操作结果,则将所述消息重新发送给所述被动方节点。
5.根据权利要求1-4任一项所述的分布式系统事务管理方法,其特征在于,还包括:当监测到出现未预知的问题阻断事务进行时,以预设方式恢复事务。
6.一种分布式系统事务管理装置,其特征在于,包括:
消息存储模块,用于在接收到主动方节点发送的消息时,对消息进行存储;
消息状态标记模块,用于在接收到主动方节点发送的所述消息时,将消息状态标记为待确认,并在接收到所述主动方节点发送的已开始执行业务操作的指示消息时,将消息状态更新为待发送,所述主动方节点在接收到存储结果并且所述存储结果为存储成功时开始执行业务操作;还用于在所述主动方节点执行完业务操作后,当接收到所述主动方节点返回的业务操作结果时,若所述业务操作结果为业务处理成功,则将所述消息发送给被动方节点,并将消息状态更新为已发送;
消息处理模块,用于在对所述消息存储后,向所述主动方节点发送所述消息的存储结果,并在所述主动方节点执行完业务操作后,当接收到所述主动方节点返回的业务操作结果时,若所述业务操作结果为业务处理成功,则将所述消息发送给被动方节点;还用于在所述被动方节点接收到所述消息,执行完业务操作后,当所述被动方节点返回的业务操作结果为业务处理失败时,则将该业务操作结果发送给所述主动方节点,以指示所述主动方节点进行回滚操作。
7.根据权利要求6所述的分布式系统事务管理装置,其特征在于,还包括:
数据库,用于对所述主动方节点与所述被动方节点之间进行调用的调用信息保存;
控制台,用于对所述主动方节点与所述被动方节点之间进行调用的调用信息展示给用户,还用于将存储的所述消息、接收到的所述指示消息、接收到的主动方节点的业务操作结果以及被动方节点的业务操作结果展示给用户,并可由用户根据展示信息进行人为管理各类消息以及干预调用事务。
8.根据权利要求6所述的分布式系统事务管理装置,其特征在于,还包括:
消息查询模块,用于查询消息状态为待发送的消息的存储时长,若存储时长超过第一阈值,则将存储的所述消息删除。
9.根据权利要求8所述的分布式系统事务管理装置,其特征在于,所述消息查询模块还用于查询消息状态为已发送的消息的存储时长,若存储时长已超过第二阈值,但未收到所述被动方节点返回的业务操作结果,则将所述消息重新发送给所述被动方节点。
10.根据权利要求6-9任一项所述的分布式系统事务管理装置,其特征在于,还包括:
事务恢复模块,用于当监测到出现未预知的问题阻断事务进行时,以预设方式恢复事务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710521704.7A CN107332906A (zh) | 2017-06-30 | 2017-06-30 | 分布式系统事务管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710521704.7A CN107332906A (zh) | 2017-06-30 | 2017-06-30 | 分布式系统事务管理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107332906A true CN107332906A (zh) | 2017-11-07 |
Family
ID=60199422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710521704.7A Pending CN107332906A (zh) | 2017-06-30 | 2017-06-30 | 分布式系统事务管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107332906A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108153598A (zh) * | 2017-12-25 | 2018-06-12 | 东软集团股份有限公司 | 基于微服务架构的数据一致性方法以及装置 |
CN108228352A (zh) * | 2017-12-29 | 2018-06-29 | 北京视觉世界科技有限公司 | 事件过滤方法及装置 |
CN108965457A (zh) * | 2018-08-02 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种分布式集群系统的消息传递方法、装置、设备及介质 |
CN109542639A (zh) * | 2018-11-06 | 2019-03-29 | 用友网络科技股份有限公司 | 一种保障微服务调用数据一致性的处理方法、处理装置 |
CN109885382A (zh) * | 2019-01-16 | 2019-06-14 | 深圳壹账通智能科技有限公司 | 跨系统分布式事务处理方法和分布式事务处理的系统 |
CN110049113A (zh) * | 2019-04-02 | 2019-07-23 | 中国联合网络通信集团有限公司 | 业务消息处理方法及装置 |
CN110830387A (zh) * | 2018-08-10 | 2020-02-21 | 中国移动通信有限公司研究院 | 一种pfd发送失败的处理方法、装置、设备及介质 |
CN111786875A (zh) * | 2020-06-10 | 2020-10-16 | 武汉遂意语联网络科技有限公司 | 基于分布式架构的数据处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002093420A2 (en) * | 2001-05-15 | 2002-11-21 | International Business Machines Corporation | Method for managing distributed savepoints across multiple dbms's within a distributed transaction |
CN101089857A (zh) * | 2007-07-24 | 2007-12-19 | 中兴通讯股份有限公司 | 一种内存数据库事务管理方法及系统 |
CN103559082A (zh) * | 2013-11-04 | 2014-02-05 | 北京华胜天成科技股份有限公司 | 一种基于队列的分布式任务调度方法、装置及系统 |
CN103559245A (zh) * | 2013-10-29 | 2014-02-05 | 华为技术有限公司 | 一种分布式事务提交故障的处理方法、装置和系统 |
CN106775959A (zh) * | 2016-12-06 | 2017-05-31 | 上海亿账通互联网科技有限公司 | 分布式事务处理方法和系统 |
-
2017
- 2017-06-30 CN CN201710521704.7A patent/CN107332906A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002093420A2 (en) * | 2001-05-15 | 2002-11-21 | International Business Machines Corporation | Method for managing distributed savepoints across multiple dbms's within a distributed transaction |
CN101089857A (zh) * | 2007-07-24 | 2007-12-19 | 中兴通讯股份有限公司 | 一种内存数据库事务管理方法及系统 |
CN103559245A (zh) * | 2013-10-29 | 2014-02-05 | 华为技术有限公司 | 一种分布式事务提交故障的处理方法、装置和系统 |
CN103559082A (zh) * | 2013-11-04 | 2014-02-05 | 北京华胜天成科技股份有限公司 | 一种基于队列的分布式任务调度方法、装置及系统 |
CN106775959A (zh) * | 2016-12-06 | 2017-05-31 | 上海亿账通互联网科技有限公司 | 分布式事务处理方法和系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108153598A (zh) * | 2017-12-25 | 2018-06-12 | 东软集团股份有限公司 | 基于微服务架构的数据一致性方法以及装置 |
CN108153598B (zh) * | 2017-12-25 | 2021-06-25 | 东软集团股份有限公司 | 基于微服务架构的数据一致性方法以及装置 |
CN108228352A (zh) * | 2017-12-29 | 2018-06-29 | 北京视觉世界科技有限公司 | 事件过滤方法及装置 |
CN108965457A (zh) * | 2018-08-02 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种分布式集群系统的消息传递方法、装置、设备及介质 |
CN110830387A (zh) * | 2018-08-10 | 2020-02-21 | 中国移动通信有限公司研究院 | 一种pfd发送失败的处理方法、装置、设备及介质 |
CN109542639A (zh) * | 2018-11-06 | 2019-03-29 | 用友网络科技股份有限公司 | 一种保障微服务调用数据一致性的处理方法、处理装置 |
CN109885382A (zh) * | 2019-01-16 | 2019-06-14 | 深圳壹账通智能科技有限公司 | 跨系统分布式事务处理方法和分布式事务处理的系统 |
CN110049113A (zh) * | 2019-04-02 | 2019-07-23 | 中国联合网络通信集团有限公司 | 业务消息处理方法及装置 |
CN111786875A (zh) * | 2020-06-10 | 2020-10-16 | 武汉遂意语联网络科技有限公司 | 基于分布式架构的数据处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107332906A (zh) | 分布式系统事务管理方法及装置 | |
CN103580906B (zh) | 一种数据备份的方法、系统及服务器 | |
CN110177084A (zh) | 用于防御网络攻击的分布式存储系统元服务结构、构建方法及系统架构 | |
CN100563391C (zh) | 移动通信终端设备数据保护的方法、系统及设备 | |
CN107092521A (zh) | 一种分布式任务调度方法、装置及系统 | |
CN107046810A (zh) | 一种虚拟机备份信息迁移方法、装置和系统 | |
CN106936623A (zh) | 分布式缓存系统及缓存集群的管理方法 | |
CN103399806A (zh) | 网络备份更新管理方法及其系统 | |
CN109714409A (zh) | 一种消息的管理方法和系统 | |
CN108038005A (zh) | 基于zookeeper的共享资源访问方法、客户端、服务端、系统 | |
CN107197012A (zh) | 一种基于元数据管理系统的服务发布及监管系统及方法 | |
CN106790092A (zh) | 远程过程调用服务端控制系统及方法 | |
DE60038298T2 (de) | Computer-Software Produkt und Verfahren für eine Kommunikationseinheit und eine Hilfsmitteleinheit für ein nicht kontrolliertes Kommunikationsnetz | |
CN106797404A (zh) | 用于远程控制的方法,装置,系统和云端智能机器人 | |
CN109391691A (zh) | 一种单节点故障下nas服务的恢复方法及相关装置 | |
CN106603319A (zh) | 一种故障处理的方法、管理服务器以及逻辑服务器 | |
CN109302324A (zh) | 一种私有云监控预警方法及系统 | |
CN110417913A (zh) | 一种基于Rabbit MQ的云服务器异步创建方法 | |
CN106792639A (zh) | 一种无线ap中实现用户数据恢复的方法及系统 | |
CN102025728A (zh) | 客户端/服务端架构下的调度方法和服务器 | |
CN110213359A (zh) | 一种基于d2d的车联网组网数据推送系统和方法 | |
CN110134541A (zh) | 存储集群的配置信息的切换方法、系统、设备及存储介质 | |
CN106940656A (zh) | 一种任务调度方法及装置 | |
CN107168642A (zh) | 一种数据存储方法及系统 | |
CN107229510A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171107 |
|
RJ01 | Rejection of invention patent application after publication |