[发明专利]一种消息处理系统和消息处理方法有效
申请号: | 202111617631.4 | 申请日: | 2021-12-27 |
公开(公告)号: | CN114253748B | 公开(公告)日: | 2023-01-31 |
发明(设计)人: | 叶刚 | 申请(专利权)人: | 北京宇信科技集团股份有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F11/14 |
代理公司: | 北京卓岚智财知识产权代理有限公司 11624 | 代理人: | 沈煜华 |
地址: | 100044 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 消息 处理 系统 方法 | ||
1.一种消息处理系统,其特征在于,所述消息处理系统包括:
消息生产端,用于向消息代理发送处于预发送状态的消息,执行本地业务操作并将业务操作结果持久化到第一数据库,向所述消息代理发送业务操作结果;所述消息生产端,还用于:指定分片因子,所述分片因子包括借据号;先将所述分片因子进行哈希处理后再对消息代理的数量进行取模运算获得数字值,基于所述数字值确定feign的索引号;根据所述feign的索引号确定调用与所述索引号相匹配的消息代理;其中,所述消息生产端具体用于通过spring-cloud技术栈的feign接口向所述消息代理发送http请求;
消息代理,用于将消息发送行为与所述消息生产端隔离;所述消息代理包括:接收模块,用于接收处于预发送状态的消息;第二数据库,用于存储所述处于预发送状态的消息;处理模块,其包括:预发送消息处理子模块,用于当所述消息生产端发送的与所述业务操作结果相关联的确认信息指示业务操作成功时,则将所述处于预发送状态的消息的状态修改为发送中状态,并且控制发送模块向消息队列发送消息;如果所述确认信息指示业务操作失败时,则删除所述处于预发送状态的消息;发送模块,用于在所述处理模块的控制下向所述消息队列发送消息;
消息队列,用于对所述消息代理发送的消息进行缓存;
消息消费端,用于通过定义一个实现IMsgRecieveCallbackHandler接口的自定义类接收消息并处理本地业务;
消息状态监控系统,用于在所述消息的全生命周期中对所述消息的状态进行监控,并且当所述消息的状态异常时,触发所述消息代理对状态异常的消息进行处理;所述消息状态监控系统,具体用于:监听所述消息代理中的异常预发送状态消息,所述异常预发送状态消息是指处于预发送状态的持续时长超过预设的第一时间阈值的消息,将所述异常预发送状态消息删除;监控所述消息代理中的异常发送中状态消息,所述异常发送中状态消息是指处于发送中状态的持续时长超过预设的第二时间阈值的消息,触发所述消息代理对所述异常发送中状态消息进行重新发送;
其中,所述消息代理的部署模式包括:
所述消息代理包括多个分区,在至少一个分区中仅配置一台机器,在至少一个分区中配置多台机器,并且在配置多台机器的分区中,多台机器具有共同的服务器标识且运行相应的克隆实例,当任意一个分区中的机器宕机时,将待处理消息分流到其他正常的分区内的克隆实例未失效的机器上。
2.根据权利要求1所述的系统,其特征在于,所述处理模块还包括:
消息状态监测及处理子模块,用于执行如下任意一种或多种操作:
定时清理消息或者定时备份消息;
删除已死亡的消息;
发起对已死亡消息的重新发送;
查询已超时的消息,对所述已超时的消息进行重新发送;
查询已超时并且超过预设发送次数的消息,触发人工处理。
3.根据权利要求1所述的系统,其特征在于,所述消息消费端,具体用于监听所述消息队列中的消息,所述消息由所述消息代理负责投递;当所述消息队列中消息被成功地投递到消息消费端后,接收所述消息并根据接收到的消息来处理本地业务;在处理完本地业务后,将处理结果存入所述消息消费端的业务数据库,并向所述消息代理发布通知,所述通知指示所述消息已被成功消费。
4.根据权利要求1所述的系统,其特征在于,所述消息状态监控系统,具体用于:
监测所述异常发送中状态消息的重新发送次数,当所述重新发送次数超出预设的重发次数阈值时,将所述异常发送中状态消息标记为已死亡的消息,并且发出指示进行人工处理的通知。
5.根据权利要求1所述的系统,其特征在于,所述消息状态监控系统,还用于:定期查询所述消息生产端的业务操作结果,如果所述业务执行结果为业务操作已成功,则触发所述消息代理将消息发送至所述消息队列。
6.根据权利要求1所述的系统,其特征在于,所述消息状态监控系统,还用于:当所述消息生产端和所述消息消费端的数据是一致的,触发所述消息代理更新消息的状态为已消费。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京宇信科技集团股份有限公司,未经北京宇信科技集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111617631.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于缩减解码的方法和音频解码器
- 下一篇:用于缩减解码的方法和音频解码器