[发明专利]基于消息入库机制的防rabbitmq丢失消息系统及方法在审
申请号: | 202211692399.5 | 申请日: | 2022-12-28 |
公开(公告)号: | CN116089120A | 公开(公告)日: | 2023-05-09 |
发明(设计)人: | 刘建邦;李承林;徐士强;王禹博 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 孙园园 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 消息 入库 机制 rabbitmq 丢失 系统 方法 | ||
1.一种基于消息入库机制的防rabbitmq丢失消息系统,其特征在于,该系统包括,
消息入库模块,用于将产生的消息存入到redis中;其中,消息存入redis前,对消息进行预处理;
消息发送模块,用于将消息发送到rabbitmq中,根据消息发送成功或失败去redis中更改相应消息的状态;
消息消费模块,用于接收消息,进行消费;并根据消息消费成功或失败去redis中更改相应消息的状态;
定时任务处理模块,用于定时检查redis,判断是否有未发送成功以及为消费成功的消息:
若发现有未发送成功的消息,则通知生产者重新发送或者生成告警;
若发现有未消费成功的消息,则通知消费者重新消费或生成告警;
若消息成功消费,则删除redis中存储的消息信息。
2.根据权利要求1所述的基于消息入库机制的防rabbitmq丢失消息系统,其特征在于,所述消息入库模块对消息进行加工后入库,消息入库时,有如下要求:
①、以唯一性id作为key值,情况如下:
若消息自带唯一性id,则取出该消息的唯一性id作为入库的key值;
若消息未带唯一性id,则生成该消息的唯一性id作为消息的标志;
②、提取消息中有价值的信息作为消息入库内容;消息入库内容包括一个消息状态字段,消息状态字段用于标志消息的状态;消息入库时消息的状态为入库成功但是还未发送;其中,消息入库内容还包括发送次数字段以及消费次数字段;发送次数再短用于记录发送的次数;消费次数字段用于记录消费的次数。
3.根据权利要求2所述的基于消息入库机制的防rabbitmq丢失消息系统,其特征在于,消息的唯一性id生成方式采用雪花算法;
雪花算法生成的唯一性id由64个bit组成,各部分具体如下:
第一个部分:1个bit:0,因为ID默认为整数,符号位为0代表为整数;
第二个部分:41个bit:表示的是时间戳,单位是毫秒(ms);
第三个部分:5个bit:表示为机房ID;
第四个部分:5个bit:表示为机器ID;
第五个部分:12个bit:表示的是序号。
4.根据权利要求1所述的基于消息入库机制的防rabbitmq丢失消息系统,其特征在于,所述消息发送模块在消息入库成功后,发送对应消息到rabbitmq,并判断该消息是否发送成功:
若该消息发送成功,则去redis中修改对应消息的状态为已发送;
若该消息发送失败,则去redis中修改对应消息的状态为发送失败,发送失败次数加一。
5.根据权利要求1所述的基于消息入库机制的防rabbitmq丢失消息系统,其特征在于,所述消息消费模块接收到rabbitmq发送的消息后进行相应处理,并判断该消息消费是否成功:
若该消息消费成功,则去redis中删除这条消息的相关记录;
若该消息消费失败,则去redis中修改对应消息的状态为消费失败,消费次数字段加一。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211692399.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种OPA激光雷达
- 下一篇:一种提高INS误差精度的方法