[发明专利]一种基于消息落库的MQ消息可靠性投递解决方法在审

专利信息
申请号: 202011623035.2 申请日: 2020-12-30
公开(公告)号: CN112698969A 公开(公告)日: 2021-04-23
发明(设计)人: 胡乐成;曾繁阳 申请(专利权)人: 佰年颐堂医疗科技股份有限公司
主分类号: G06F9/54 分类号: G06F9/54;G06F9/46
代理公司: 北京八月瓜知识产权代理有限公司 11543 代理人: 李斌
地址: 250000 山东省济南市历城区*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 消息 mq 可靠性 投递 解决方法
【说明书】:

发明涉及数据消息处理方法领域,具体公开了一种基于消息落库的MQ消息可靠性投递解决方法,包括业务系统和消息服务器,通过消息信息落库,对消息信息状态进行打标,当使用本方案基于消息落库的方案时,业务数据在步骤1时已完成持久化,当执行步骤2发送消息时出现调用方请求超时的情况,该方案的分布式定时任务会检测到消息数据入库状态为未成功的消息数据,进行消息重发,本方案解决了现有技术中业务处理和消息发送一致性无法保证的问题。

技术领域

本公开涉及数据消息处理方法领域,具体涉及一种基于消息落库的MQ消息可靠性投递解决方法。

背景技术

随着分布式服务架构的流行与普及,原来在单体应用中执行的多个逻辑操作,现在被拆分成了多个服务之间的远程调用。虽然服务化为我们的系统带来了水平伸缩的能力,然而随之而来挑战就是分布式事务问题,多个服务之间使用自己单独维护的数据库,它们彼此之间不在同一个事务中,假如A执行成功了,B执行却失败了,而A的事务此时已经提交,无法回滚,那么最终就会导致两边数据不一致性的问题。

使用普通消息的处理流程,是无法保证业务处理与消息发送的一致性,根本原因在于:远程调用,其最终结果可能为成功、失败、超时。而对于超时的情况,处理方最终的结果可能是成功,也可能是失败,调用方是无法知晓的。为了保证两边数据的一致性,我们只能从其他地方寻找新的突破口。

发明内容

本发明的目的在于解决现有的业务处理和消息发送一致性无法保证的问题。

为了达到上述目的,本发明的基础方案提供一种基于消息落库的MQ消息可靠性投递解决方法,包括业务系统和消息服务器,通过消息信息落库,对消息信息状态进行打标,具体步骤如下:

步骤1:业务系统在事务内,进行业务数据入库和消息数据入库,此时消息数据入库的状态为:未成功;

步骤2:在步骤1中业务数据入库成功的前提下,消息发送者向消息服务器发送消息并完成消息持久化;

步骤3:消息服务器收到消息后,发送确认收到消息通知;

步骤4:生产者收到消息服务器发送的确认收到消息通知后,修改消息数据库中消息数据入库状态为:成功;

步骤5:布置分布式定时任务,查询数据库中消息数据入库状态为未成功且允许进行重试的数据;

步骤6:重新发送上一步中检索出来的队列消息给消息发送者;

步骤7:通过分布式定时任务,查询当前重试次数大于N的数据,修改该消息数据入库的状态为:发送失败。

进一步,还包括消息补偿表,消息补偿表包括流水号、消息主题、消息标签、业务key值、异常信息、消息投递状态0∶未成功;1∶成功;2∶失败、重试次数、允许进行重试的开始时间、创建时间和更新时间,步骤5中,通过消息补偿表中的允许进行重试的开始时间的记录值来判断是否允许进行重试。

进一步,步骤7中,通过消息补偿表的重试次数的记录值来查找当前重试次数大于N的数据。

进一步,步骤2中,消息发送者向消息服务器发送消息后,消息服务器将消息发送给消息消费者,消息消费者执行业务处理,然后将信息反馈给消息服务器。

本发明的原理及效果:

本方案在执行业务操作的时候,记录一条消息数据到数据库,并且消息数据的记录与业务数据的记录必须在同一个事务内完成,基于消息落库与普通消息处理流程相比,使用普通消息方式在调用方请求超时时,调用方回滚业务处理操作,假如处理方实际的处理状态为成功,那么将会出现业务处理未成功而消息处理成功不一致的情况。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于佰年颐堂医疗科技股份有限公司,未经佰年颐堂医疗科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202011623035.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top