一种分布式系统事务管理方法及装置制造方法及图纸

技术编号:16345813 阅读:30 留言:0更新日期:2017-10-03 22:17
本发明专利技术公开了一种分布式系统事务管理方法及装置,方法包括:监测参与业务活动的主服务模块、各从服务模块的操作是否正常,主服务模块用于发起并完成整个业务活动,从服务模块用于提供可被调用的业务方法;若各服务模块的操作都正常,则确认提交业务活动,控制各服务模块执行确认操作;若至少一个服务模块的操作出现异常,则取消提交业务活动,控制各服务模块执行取消操作。本发明专利技术方法及装置,通过监测参与业务活动的主服务模块、各从服务模块的操作是否正常,若各服务模块的操作都正常,则确认提交业务活动;若至少一个服务模块的操作出现异常,则取消提交业务活动,各服务模块取消已执行的业务,恢复数据,从而实现了各服务模块之间数据的一致性。

【技术实现步骤摘要】
一种分布式系统事务管理方法及装置
本专利技术涉及计算机
,特别是涉及一种分布式系统事务管理方法及装置。
技术介绍
分布式系统是建立在网络之上的系统,它可以将一个庞大复杂的系统分解为若干个小的服务模块,各服务模块之间通过远程调用的方式互相通信,协同处理业务。随着网络系统架构的演进,基于分布式系统的灵活性和可插拔的特性,越来越受到开发者的青睐。对于传统的单节点网络系统,由于是单节点部署,因此可以使用本地事务进行事务管理,来保证数据的一致性。而对于分布式系统,每一服务模块作为一个独立系统拥有自己的事务管理机制,当发生模块和模块之间的调用时,就必须解决因为其调用方执行发生异常被调用方需回滚自己数据,或者被调用方发生异常调用方需回滚数据的问题,否则会导致数据的不一致。举例来说,服务A中的业务是在数据库中插入一条数据,然后调用服务B的业务方法,服务B的业务也是在数据库中插入一条数据。假设服务B的方法在执行过程中发生异常,那么服务A中之前插入的数据需要从数据库中删除,避免脏数据的出现。而整个过程中服务A和服务B是相互隔离的,如何通知服务A自动完成数据的回滚操作是需要解决的问题。现有技术中,分布式系统主流采用的事务管理方案是两阶段提交和三阶段提交,但这两种方案都存在同步阻塞问题,导致实现复杂,还存在性能较差的弊端。
技术实现思路
本专利技术的目的是提供一种分布式系统事务管理方法及装置,实现了各服务模块间数据的一致性,并可克服现有方法存在的弊端。为解决上述技术问题,本专利技术提供如下技术方案:一种分布式系统事务管理方法,包括:监测参与业务活动的主服务模块、各从服务模块的操作是否正常,所述主服务模块用于发起并完成整个业务活动,所述从服务模块用于提供可被调用的业务方法;若各服务模块的操作都正常,则确认提交所述业务活动,控制各服务模块执行确认操作;若至少一个服务模块的操作出现异常,则取消提交所述业务活动,控制各服务模块执行取消操作。可选地,还包括:对所述主服务模块预配置确认操作方法和取消操作方法,对所述从服务模块预配置确认操作方法和取消操作方法,所述确认操作方法指服务模块执行业务活动要进行的处理逻辑,所述取消操作方法指服务模块取消执行业务活动要进行的处理逻辑。可选地,当监测到出现未预知的问题阻断事务进行时,以预设方式恢复事务。可选地,所述预设方式为:以预设时间间隔恢复事务,当恢复事务的次数达到预设最大次数时,停止恢复。可选地,还包括:对所述主服务模块与各所述从服务模块之间进行调用的调用信息保存,并将所述调用信息展示给用户。一种分布式系统事务管理装置,包括:监测模块,用于监测参与业务活动的主服务模块、各从服务模块的操作是否正常,所述主服务模块用于发起并完成整个业务活动,所述从服务模块用于提供可被调用的业务方法;控制模块,用于若各服务模块的操作都正常,则确认提交所述业务活动,控制各服务模块执行确认操作;若至少一个服务模块的操作出现异常,则取消提交所述业务活动,控制各服务模块执行取消操作。可选地,还包括:配置模块,用于对所述主服务模块预配置确认操作方法和取消操作方法,对所述从服务模块预配置确认操作方法和取消操作方法,所述确认操作方法指服务模块执行业务活动要进行的处理逻辑,所述取消操作方法指服务模块取消执行业务活动要进行的处理逻辑。可选地,还包括:事务恢复模块,用于当监测到出现未预知的问题阻断事务进行时,以预设方式恢复事务。可选地,所述预设方式为:以预设时间间隔恢复事务,当恢复事务的次数达到预设最大次数时,停止恢复。可选地,还包括:数据库,用于对所述主服务模块与各所述从服务模块之间进行调用的调用信息保存;控制台,用于将所述调用信息展示给用户。由上述技术方案可知,本专利技术所提供的分布式系统事务管理方法及装置,监测参与业务活动的主服务模块、各从服务模块的操作是否正常,若各服务模块的操作都正常,则确认提交所述业务活动,控制各服务模块执行确认操作;若至少一个服务模块的操作出现异常,则取消提交所述业务活动,控制各服务模块执行取消操作,取消已执行的业务,恢复数据,从而保证了各服务模块之间数据的一致性。本专利技术分布式系统事务管理方法及装置,实现了各服务模块间数据的一致性,与现有方法相比,克服了现有方法存在的实施复杂,性能较差的弊端。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种分布式系统事务管理方法的示意图;图2为本专利技术实施例中分布式系统的示意图;图3为本专利技术实施例提供的一种分布式系统事务管理装置的示意图;图4为本专利技术实施例中分布式系统事务管理装置的连接示意图。具体实施方式为了使本
的人员更好地理解本专利技术中的技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。请参考图1,本专利技术实施例提供的一种分布式系统事务管理方法,包括:S10:监测参与业务活动的主服务模块、各从服务模块的操作是否正常,所述主服务模块用于发起并完成整个业务活动,所述从服务模块用于提供可被调用的业务方法。可参考图2,在分布式系统中,一个完整的业务活动由一个主服务模块20和若干从服务模块21组成,其中,主服务模块20用于发起并完成整个业务活动,从服务模块21用于提供可被调用的业务方法。在主服务模块20发起一个业务活动后,主服务模块20和各从服务模块21根据该业务活动进行相应的一些操作。其中,从服务模块21进行的操作包括:在主服务模块20发起业务活动后,从服务模块21为所述业务活动预留资源。在此过程中,监测主服务模块20、各从服务模块21进行的操作,并日志记录各服务模块进行的操作。优选的,可以将记录的各服务模块的操作日志记录存储在数据库中。S11:若各服务模块的操作都正常,则确认提交所述业务活动,控制各服务模块执行确认操作。这里所说的确认操作是指确认执行业务活动。若监测到各服务模块,包括主服务模块20和从服务模块21,进行操作都正常,则确认提交所述业务活动,控制主服务模块20、各从服务模块21确认执行业务活动。这样,在主服务模块和各从服务模块进行操作都正常时,保证各服务模块都执行业务活动,使各服务模块之间数据保持一致。在具体实施时,会预先在主服务模块20中配置确认操作方法,会预先在从服务模块21中配置确认操作方法,确认操作方法指服务模块执行业务活动要进行的处理逻辑。S12:若至少一个服务模块的操作出现异常,则取消提交所述业务活动,控制各服务模块执行取消操作。这里所说的取消操作是指取消执行业务活动。若监测到各服务模块,包括主服务模块20和从服务模块21中至少一个进行操作出现异常时,则取消提交所述业务活动,控制主服务模块20、各从服务模块21取消执行业务活动。这样,当各服务模块中至少一个操作出现异常,则对所有参与业务活动的服本文档来自技高网
...
一种分布式系统事务管理方法及装置

【技术保护点】
一种分布式系统事务管理方法,其特征在于,包括:监测参与业务活动的主服务模块、各从服务模块的操作是否正常,所述主服务模块用于发起并完成整个业务活动,所述从服务模块用于提供可被调用的业务方法;若各服务模块的操作都正常,则确认提交所述业务活动,控制各服务模块执行确认操作;若至少一个服务模块的操作出现异常,则取消提交所述业务活动,控制各服务模块执行取消操作。

【技术特征摘要】
1.一种分布式系统事务管理方法,其特征在于,包括:监测参与业务活动的主服务模块、各从服务模块的操作是否正常,所述主服务模块用于发起并完成整个业务活动,所述从服务模块用于提供可被调用的业务方法;若各服务模块的操作都正常,则确认提交所述业务活动,控制各服务模块执行确认操作;若至少一个服务模块的操作出现异常,则取消提交所述业务活动,控制各服务模块执行取消操作。2.根据权利要求1所述的分布式系统事务管理方法,其特征在于,还包括:对所述主服务模块预配置确认操作方法和取消操作方法,对所述从服务模块预配置确认操作方法和取消操作方法,所述确认操作方法指服务模块执行业务活动要进行的处理逻辑,所述取消操作方法指服务模块取消执行业务活动要进行的处理逻辑。3.根据权利要求1所述的分布式系统事务管理方法,其特征在于,当监测到出现未预知的问题阻断事务进行时,以预设方式恢复事务。4.根据权利要求3所述的分布式系统事务管理方法,其特征在于,所述预设方式为:以预设时间间隔恢复事务,当恢复事务的次数达到预设最大次数时,停止恢复。5.根据权利要求1所述的分布式系统事务管理方法,其特征在于,还包括:对所述主服务模块与各所述从服务模块之间进行调用的调用信息保存,并将所述调用信息展示给用户。6.一种分布式系统事务管理装置,其特征在于,包...

【专利技术属性】
技术研发人员:郭涛
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1