[发明专利]一种基于消息队列的分布式系统数据最终一致性方法在审
申请号: | 202011537989.1 | 申请日: | 2020-12-23 |
公开(公告)号: | CN112579620A | 公开(公告)日: | 2021-03-30 |
发明(设计)人: | 张萃;蒋秋明 | 申请(专利权)人: | 上海上实龙创智能科技股份有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/27;G06F9/54 |
代理公司: | 上海科盛知识产权代理有限公司 31225 | 代理人: | 林君如 |
地址: | 200436 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 消息 队列 分布式 系统 数据 最终 一致性 方法 | ||
1.一种基于消息队列的分布式系统数据最终一致性方法,用于保持分布式系统中不同微服务之间的数据一致性,其特征在于,包括以下步骤:
S1:分布式系统获取用户的操作以及该操作对应的数据更改请求;
S2:将数据更改请求记录到数据库,并传递至作为中间件的消息队列;
S3:对应需要修改数据的微服务调用消息队列中的数据更改请求进行数据更改,并根据处理情况反馈结果;
S4:通过查询反馈结果判断对应需要修改数据的微服务是否均处理成功,若是,则完成本次数据最终一致性流程,否则返回执行步骤S3。
2.根据权利要求1所述的一种基于消息队列的分布式系统数据最终一致性方法,其特征在于,所述的步骤S3中,对于每一个微服务的每一次调用都设置一个全局唯一标识,所述的步骤S4中,通过该全局唯一标识查询每一个微服务的每一次调用对应的反馈结果。
3.根据权利要求2所述的一种基于消息队列的分布式系统数据最终一致性方法,其特征在于,所述的全局唯一标识包括业务单据号、操作流水号或操作组合标识。
4.根据权利要求3所述的一种基于消息队列的分布式系统数据最终一致性方法,其特征在于,所述的分布式系统为用于处理订单业务的分布式系统,所述的全局唯一标识包括订单号、支付记录流水号或商户号+商户订单号。
5.根据权利要求1所述的一种基于消息队列的分布式系统数据最终一致性方法,其特征在于,所述的步骤S3中,对应的微服务调用消息队列中的数据更改请求进行数据更改的步骤具体包括:
S31:对应微服务调用消息队列中的数据更改请求,并通过业务处理服务向实时消息服务器发送数据更改请求消息;
S32:实时消息服务器记录数据更改请求消息;
S33:业务处理服务判断该数据更改请求是否已经执行,若是,则控制实时消息服务器取消该数据更改请求消息的发送,否则控制实时消息服务器进行该数据更改请求消息的发送。
6.根据权利要求5所述的一种基于消息队列的分布式系统数据最终一致性方法,其特征在于,所述的步骤S33具体包括:
S331:业务处理服务根据数据更改请求的ID,查询是否存在重复请求,若是,则执行步骤S332,否则执行步骤S333;
S332:业务处理服务向实时消息服务器发送确认发送指令,并执行步骤S334;
S333:业务处理服务向实时消息服务器发送取消发送指令,并执行步骤S334;
S334:实时消息服务器接收业务处理服务的指令,若接收到的是确认发送指令,则将记录的数据更改请求消息进行提交,对应的微服务进行数据更改,若接收到的是取消发送指令,则取消对记录的数据更改请求消息的发送。
7.根据权利要求5所述的一种基于消息队列的分布式系统数据最终一致性方法,其特征在于,所述的步骤S3中,对应的微服务调用消息队列中的数据更改请求进行数据更改的步骤还包括:
S34:消息确认系统定期查询实时消息服务器发送消息的确认情况和回滚情况;
S35:若消息确认系统查询到未确认或者回滚的消息,则向业务处理服务询问消息状态;
S36:业务服务器根据消息ID或者内容确认消息是否有效。
8.根据权利要求5-7任一项所述的一种基于消息队列的分布式系统数据最终一致性方法,其特征在于,当任何节点发生异常时,通过消息恢复系统进行消息的补单。
9.根据权利要求8所述的一种基于消息队列的分布式系统数据最终一致性方法,其特征在于,所述的消息恢复系统进行消息的补单的步骤具体包括:消息恢复系统轮询产生数据更改请求的生产者中的消息表,并将查询到超过设定时间未被确认的消息,进行重复发送。
10.根据权利要求1所述的一种基于消息队列的分布式系统数据最终一致性方法,其特征在于,所述的步骤S4中,使用全局的服务操作标识来查询操作执行的处理情况反馈结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海上实龙创智能科技股份有限公司,未经上海上实龙创智能科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011537989.1/1.html,转载请声明来源钻瓜专利网。