首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种避免消息队列中消息丢失的处理方法及相关设备_广州新丝路信息科技有限公司_202111032842.1 

申请/专利权人:广州新丝路信息科技有限公司

申请日:2021-09-03

公开(公告)日:2024-06-07

公开(公告)号:CN113742107B

主分类号:G06F9/54

分类号:G06F9/54;G06F16/2455

优先权:

专利状态码:有效-授权

法律状态:2024.06.07#授权;2021.12.21#实质审查的生效;2021.12.03#公开

摘要:本申请公开了一种避免消息队列中消息丢失的处理方法及相关设备,应用系统通过定时扫描存储于redis缓存中的业务消息,由于业务消息进入消息队列中通常会在短时间内即可被消费,因此将第一消息生成时间大于预设时间的业务消息判定为消息发送失败,触发消息重发补偿机制使得该业务消息能够重新进入消息队列,在保证消息队列的消息发送以及消费效率前提下,解决了由于网络抖动、消息队列宕机等情况造成的发送消息丢失、处理消息丢失等状况,导致的业务数据不一致的情况,应用系统功能紊乱的技术问题。

主权项:1.一种避免消息队列中消息丢失的处理方法,其特征在于,包括以下步骤:S101、应用系统将业务数据构成的业务消息存入redis缓存中;S102、所述应用系统向消息队列发送所述业务消息;S103、所述应用系统按照预设时间间隔扫描所述redis缓存中的所有业务消息;S104、若所述redis缓存的所有业务消息中存在第一消息生成时间大于预设时间的业务消息,则触发消息重发补偿机制,且更新所述第一消息生成时间;还包括:S105、所述应用系统监听所述业务消息在所述消息队列中的消费状态,所述消费状态包括消费成功以及消费失败;S106、若所述业务消息的消费状态更新为消费失败,则删除所述消息队列以及所述redis缓存中的所述业务消息,并将所述业务消息存入数据库中,使得所述数据库按照以预设时间间隔为定时任务,触发消费失败补偿机制;S107、若所述业务消息的消费状态更新为消费成功,则删除所述消息队列以及所述redis缓存中的所述业务消息;所述步骤S101具体包括:应用系统向redis缓存中发送业务数据构成的业务消息以及第一消息生成时间;所述应用系统接收到所述redis缓存返回的备份成功回执后,执行向数据库发送所述业务消息以及第二消息生成时间的数据库事务;所述应用系统接收Spring返回的所述数据库事务的执行成功回执;所述步骤S106具体包括:若所述业务消息的消费状态更新为消费失败,则判断所述业务消息是否包含预设标记;若所述业务消息不包含所述预设标记,则删除所述消息队列以及所述redis缓存中所述业务消息,并将所述业务消息存入数据库中,在所述数据库中将所述业务消息添加所述预设标记,记录所述业务消息的重试次数为0;若所述业务消息包含所述预设标记,则以预设时间间隔为定时任务,将所述数据库中的所述业务消息发送至所述消息队列中,并将所述业务消息的重试次数加一。

全文数据:

权利要求:

百度查询: 广州新丝路信息科技有限公司 一种避免消息队列中消息丢失的处理方法及相关设备

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。