【技术实现步骤摘要】
分布式事务的处理方法、装置及消息生产方、消费方系统
本专利技术涉及数据处理
,特别涉及一种分布式事务的处理方法、装置及消息生产方、消费方系统。
技术介绍
随着微服务架构的大行其道,各系统间的调用是越来越多。微服务倡导将复杂的单体应用拆分为若干个功能简单、松耦合的服务,这样可以降低开发难度、增强扩展性、便于敏捷开发。当前被越来越多的开发者推崇,很多互联网行业巨头、开源社区等都开始了微服务的讨论和实践,但同时系统微服务化后,一个看似简单的功能,内部可能需要调用多个服务并操作多个数据库实现,服务调用的分布式事务问题变的非常突出,现在还没有一个通用方案很好的解决微服务产生的事务问题,分布式事务已经成为微服务落地最大的阻碍,也是最具挑战性的一个技术难题,分布式事务处理数据的一致性模型可以分成以下三类:1.强一致性:数据更新成功后,任意时刻所有副本中的数据都是一致的,一般采用同步的方式实现。2.弱一致性:数据更新成功后,系统不承诺立即可以读到最新写入的值,也不承诺具体多久之后可以读到。3.最终一致性:弱一致 ...
【技术保护点】
1.一种分布式事务的处理方法,其特征在于,包括:/n消息生产方系统在接收到分布式事务处理触发指令时,处理消息生产方系统内的事务;在处理分布式事务的同时,将处理分布式事务所涉及的各数据写入本地事件表;在消息生产方系统内的事务处理成功后,发送第一处理结果消息至消息消费方系统;/n消息消费方系统执行如下事务处理及反馈的步骤:根据第一处理结果消息,处理消息消费方系统内的事务,将处理结果反馈信息发送至消息生产方系统;/n消息生产方系统根据所述处理结果反馈信息,更新所述本地事件表;/n其中,在整个分布式事务处理过程出现异常时,执行如下重试处理的步骤:/n消息生产方系统定时轮询所述本地事 ...
【技术特征摘要】
1.一种分布式事务的处理方法,其特征在于,包括:
消息生产方系统在接收到分布式事务处理触发指令时,处理消息生产方系统内的事务;在处理分布式事务的同时,将处理分布式事务所涉及的各数据写入本地事件表;在消息生产方系统内的事务处理成功后,发送第一处理结果消息至消息消费方系统;
消息消费方系统执行如下事务处理及反馈的步骤:根据第一处理结果消息,处理消息消费方系统内的事务,将处理结果反馈信息发送至消息生产方系统;
消息生产方系统根据所述处理结果反馈信息,更新所述本地事件表;
其中,在整个分布式事务处理过程出现异常时,执行如下重试处理的步骤:
消息生产方系统定时轮询所述本地事件表,通过预先配置的最大重试次数和重试间隔,将本地事件表中处理失败或预设时间段内未处理成功的数据重新发送;
消息消费方系统在接收到重新发送的数据时,执行所述事务处理及反馈的步骤,得到重新处理结果反馈信息;
消息生产方系统根据所述重新处理结果反馈信息,更新所述本地事件表;
其中,在重试处理的步骤执行失败时,执行如下批量补偿处理的步骤:
消息生产方系统在预设时段后,读取本地事件表,将达到重试次数上限仍无法发送成功的消息取出,组成批量待核对文本,发送至消息消费方系统;
消息消费方系统根据所述批量待核对文本,处理消息消费方系统内的事务,将处理结果形成批量反馈文本返回消息生产方系统;
消息生产方系统根据批量反馈文本,更新本地事件表。
2.如权利要求1所述的分布式事务的处理方法,其特征在于,根据第一处理结果消息,处理消息消费方系统内的事务,将第二处理结果反馈信息发送至消息生产方系统,包括:
根据第一处理结果消息中的事件标识和事件发生时间,进行解析、幂等、时序及并发控制的处理后,完成消息消费方系统内本地事务的处理,将处理结果反馈信息发送至消息生产方系统。
3.如权利要求1所述的分布式事务的处理方法,其特征在于,所述本地事件表包括:事件标识、事件发生时间、处理状态、下次重试时间及各个业务数据信息;
所述第一处理结果消息包括:事件标识、事件发生时间和交易状态;
所述处理结果反馈信息包括:事件标识、事件发生时间和交易状态。
4.如权利要求3所述的分布式事务的处理方法,其特征在于,所述第一处理结果消息还包括:事件消息重发次数、事件消息下次重发时间及各个业务数据信息;
所述处理结果反馈信息还包括:事件消息重发次数、事件消息下次重发时间及处理结果。
5.一种分布式事务的处理方法,应用于消息生产方系统,其特征在于,包括:
在接收到分布式事务处理触发指令时,处理消息生产方系统内的事务;
在处理分布式事务的同时,将处理分布式事务所涉及的各数据写入本地事件表;
在消息生产方系统内的事务处理成功后,发送第一处理结果消息至消息消费方系统;
根据处理结果反馈信息,更新所述本地事件表;
其中,在整个分布式事务处理过程出现异常时,执行如下重试处理的步骤:
定时轮询所述本地事件表,通过预先配置的最大重试次数和重试间隔,将本地事件表中处理失败或预设时间段内未处理成功的数据重新发送;
根据重新处理结果反馈信息,更新所述本地事件表;
其中,在重试处理的步骤执行失败时,执行如下批量补偿处理的步骤:
在预设时段后,读取本地事件表,将达到重试次数上限仍无法发送成功的消息取出,组成批量待核对文本,发送至消息消费方系统;
根据批量反馈文本,更新本地事件表。
6.一种分布式事务的处理方法,应用于消息消费方系统,其特征在于,包括:
接收第一处理结果消息;
执行如下事务处理的步骤:根据第一处理结果消息,处理消息消费方系统内的事务;
执行如下反馈的步骤:将处理结果反馈信息发送至消息生产方系统;
其中,在整个分布式事务处理过程出现异常时,执行如下重试处理的步骤:在接收到重新发送的数据时,执行所述事务处理及反馈的步骤,得到重新处理结果反馈信息;
其中,在重试处理的步骤执行失败时,执行如下批量补偿处理的步骤:根据所述批量待核对文本,处理消息消费方系统内的事务,将处理结果形成批量反馈文本返回消息生产方系统。
7.如权利要求6所述的分布式事务的处理方法,其特征在于,根据第一处理结果消息,处理消息消费方系统内的事务,将处理结果反馈信息发送至消息生产方系统,包括:根据第一处理结果消息中的事件标识和事件发生...
【专利技术属性】
技术研发人员:钱峰,
申请(专利权)人:中国银行股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。