一种分布式事务处理的方法、装置、系统和存储介质制造方法及图纸

技术编号:31228339 阅读:17 留言:0更新日期:2021-12-08 09:39
本申请公开了一种分布式事务处理的方法、装置、系统和存储介质,包括:在接收到用户的业务请求时,第一业务系统将产生的业务数据进行保存,并将业务数据的状态设置为未完成的状态;第一业务系统发送由消息队列(MQ)消息体组成的业务消息,在接收到业务回执时,将业务数据的状态设置为已完成的状态。应用本申请方法实施例方案,由于将业务消息和业务回执利用MQ消息体的格式,采用异步方式传输,降低了第一业务系统和第二业务系统之间的耦合性;且,第一业务系统为业务数据设置了状态,并根据业务消息的执行情况变更其业务数据的状态,从而在不引入事务协调者的情况下,仍然可以保证分布式系统中数据的一致性,降低了系统的复杂性。降低了系统的复杂性。降低了系统的复杂性。

【技术实现步骤摘要】
一种分布式事务处理的方法、装置、系统和存储介质


[0001]本申请涉及计算机
,尤其涉及一种分布式事务处理的方法、一种分布式事务处理的装置、一种分布式事务处理的系统、一种计算机可读存储介质以及一种电子设备。

技术介绍

[0002]随着业务系统复杂性的增加,单台计算机或服务器已经很难单独进行处理,需要由多台计算机或服务器协作处理。为了增强在多台机器上运行的系统的可扩展性、稳定性和执行效率,通常将多台机器采用分布式系统的结构来组织。
[0003]由于同一业务分布在不同的机器节点上实现,为了保证数据的一致性,就需要分布式系统采用某种机制进行分布式事务管理。现有技术可以采用两阶段提交(2PC,Two-phase Commit)方案和补偿事务(TCC,Try-Confirm-Cancel)方案来保证数据的一致性。不管是2PC方案,还是TCC方案,都需要引入事务协调者,由事务协调者确定各个阶段的同步工作,大大增加了系统的复杂性。

技术实现思路

[0004]针对上述现有技术,本申请提供一种分布式事务处理的方法,可以克服现有技术引本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种分布式事务处理的方法,其特征在于,该方法包括:在接收到用户的业务请求时,第一业务系统将产生的业务数据进行保存,并将所述业务数据的状态设置为未完成的状态,所述业务数据为针对所述用户的业务请求所产生的数据;所述第一业务系统发送由消息队列(MQ)消息体组成的业务消息,所述业务消息为针对所述用户的业务请求所产生的需要由第二业务系统执行的消息;所述第一业务系统接收由MQ消息体组成的业务回执时,将所述业务数据的状态设置为已完成的状态,所述业务回执为所述第二业务系统执行完所述业务消息后反馈的消息,所述第一业务系统和所述第二业务系统构成分布式系统。2.根据权利要求1所述的方法,其特征在于,所述第一业务系统发送由MQ消息体组成的业务消息的步骤包括:所述第一业务系统将由所述MQ消息体组成的业务消息发送给中间件队列服务器,所述中间件队列服务器将所述MQ业务放置于消息队列中,由所述第二业务系统从所述消息队列中获取所述业务消息;所述第一业务系统接收由MQ消息体组成的业务回执的步骤包括:所述第一业务系统从所述中间件队列服务器的消息队列中获取所述业务回执,所述业务回执为所述第二业务系统执行完所述业务消息后发送给所述中间件队列服务器的。3.根据权利要求2所述的方法,其特征在于,所述第一业务系统将产生的业务数据进行保存的步骤包括:所述第一业务系统先将产生的业务数据保存在业务数据库中;所述第一业务系统再将所述业务数据保存在中间件缓存服务器;所述将业务数据的状态设置为已完成的状态的步骤之后,该方法进一步包括:所述第一业务系统删除所述中间件缓存服务器中的所述业务数据。4.根据权利要求3所述的方法,其特征在于,所述第一业务系统再将所述业务数据保存在中间件缓存服务器之后,该方法进一步包括:根据设置的时间间隔查询所述中间件缓存服务器中的业务数据,并判断所述业务数据为未完成的状态的时长是否超出预设的延迟时间阈值;如果超出预设的延迟时间阈值,则所述第一业务系统利用远程过程调用(RPC)接口调用所述第二业务系统,获取所述业务消息执行结果;所述业务消息执行结果为成功时,将所述业务数据库中的业务数据设置为已完成的状态,且删除所述中间件缓存服务器中的所述业务数据;所述业务消息执行结果为失败时,将所述业务消息重新发送给所述中间件队列服务器。5.一种分布式事务处理的装置,其特征在于,该装置包括:收发模块、存储操作模块和状态设置模块,其中:所述收发模块,用于接收用户的业务请求;发送由消息队列(MQ)消息体组成的业务消息,所述业务消息为针对所述用户的业务请求所产生的需要由第二业务系统执行的消息;接收由MQ消息体组成的业务回执,所述业务回执为所述第二业务系统执行完所述业务消息后反馈的消息;所述存储操作模块,用于将产生的业务数据进行保存,所述业务数据为针对所述用户的业务请求所产生的数据;
所述状态设置模块,用于将产生的业务数据进行保存时将所述业务数据的状态设置为未完成的状态;在接收由MQ消息体组成的业务回执时将所述业务数据的状态设置为已完成的状态。6.根据权利要求5所述的装置,其特征在于,所述收发模块发送由MQ消息体组成的业务消息时用于:将由所述MQ消息体组成的业务消息发送给中间件队列服务器,所述中间件队列服务器将所述MQ业务放置于消息队列中,由所述第二业务系统从所述消息队列中获取所述业务消息;所述收发模块接收由MQ消息体组成的业务回执时用于:从所述中间件队列服务器的消息队列中获取所述业务回执,所述业务回执为所述第二业务系统执行完所述业务消息后发送给所述中间件队列服务器的。7.根据权利要求6所述的装置,其特征在于,所述存储操作模块将产生的业务数据进行保存时用于:先将产生的...

【专利技术属性】
技术研发人员:李鹏程
申请(专利权)人:北京京东世纪贸易有限公司
类型:发明
国别省市:

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

1