[发明专利]消息队列系统以及基于消息队列系统的消息处理方法在审
申请号: | 202010583137.X | 申请日: | 2020-06-23 |
公开(公告)号: | CN111949497A | 公开(公告)日: | 2020-11-17 |
发明(设计)人: | 陈光明 | 申请(专利权)人: | 贝壳技术有限公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 杨云云 |
地址: | 300457 天津市滨海新区经济技术开发*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 消息 队列 系统 以及 基于 处理 方法 | ||
1.一种基于消息队列系统的消息处理方法,其特征在于,所述消息队列系统包括生产端、消费端以及监听端;所述消息处理方法包括:
在生产端和消费端中注册与事件对应的钩子函数;
当所述生产端或所述消费端对消息的操作符合预设的事件时,触发执行对应的钩子函数,所述钩子函数记录并发送状态信息至所述监听端;所述状态信息为所述消息在事件后的更新状态以及更新时刻;
所述监听端创建与所述消息对应的影子消息,并将接收到的所述状态信息记录在所述影子消息中,根据所述影子消息对所述消息的处理过程进行统计。
2.根据权利要求1所述的基于消息队列系统的消息处理方法,其特征在于,所述在生产端和消费端中注册与事件对应的钩子函数,包括:
在所述生产端中注册第一钩子函数,所述第一钩子函数在消息写入事件后触发,用于将所述消息的内容、消息入队时间以及已入队状态发送至所述监听端;
相应地,当所述生产端或所述消费端对消息的操作符合预设的事件时,触发执行对应的钩子函数,包括:
当所述生产端将生成的消息写入消息队列时构成消息写入事件,触发执行所述第一钩子函数;
相应地,所述将接收到的所述状态信息记录在影子消息中,包括:
所述监听端在所述影子消息中记录接收到的所述消息的内容和消息入队时间,并将所述影子消息的状态更新为已入队。
3.根据权利要求1所述的基于消息队列系统的消息处理方法,其特征在于,所述在生产端和消费端中注册与事件对应的钩子函数,还包括:
在所述消费端中注册第二钩子函数,所述第二钩子函数在消息开始执行事件后触发,用于将所述消息的消息出队时间以及消费中状态发送至所述监听端;
相应地,当所述生产端或所述消费端对消息的操作符合预设的事件时,触发执行对应的钩子函数,包括:
当所述消费端将消息从消息队列中取出时构成消息开始执行事件,触发执行所述第二钩子函数;
相应地,将接收到的所述状态信息记录在影子消息中,包括:
所述监听端在所述影子消息中记录接收到的所述消息的消息出队时间,并将所述影子消息的状态更新为消费中。
4.根据权利要求1所述的基于消息队列系统的消息处理方法,其特征在于,所述在生产端和消费端中注册与事件对应的钩子函数,还包括:
在所述消费端中注册第三钩子函数,所述第三钩子函数在消息完成事件后触发,用于将所述消息的消息完成时间以及已完成状态发送至所述监听端;
相应地,当生产端或消费端对消息的操作符合预设的事件时,触发执行对应的钩子函数,包括:
当所述消费端将消息成功处理时构成消息完成事件,触发执行对应的第三钩子函数;
相应地,将接收到的所述状态信息在影子消息中,包括:
所述监听端在所述影子消息中记录接收到的所述消息的消息完成时间,并将所述影子消息的状态更新为已完成。
5.根据权利要求1所述的基于消息队列系统的消息处理方法,其特征在于,所述在生产端和消费端中注册与事件对应的钩子函数,还包括:
在所述消费端中注册第四钩子函数,所述第四钩子函数在消息失败事件后触发,用于将所述消息的消息失败时间、异常信息以及已失败状态发送至所述监听端;
相应地,当生产端或消费端对消息的操作符合预设的事件时,触发执行对应的钩子函数,包括:
当消费端处理消息失败时构成消息失败事件,触发执行对应的第四钩子函数;
相应地,将接收到的所述状态信息记录在影子消息中,包括:
所述监听端在所述影子消息中记录接收到所述消息的消息失败时间和异常信息,并将所述影子消息的状态更新为已失败,所述异常信息中包括消息失败的原因和调用栈信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贝壳技术有限公司,未经贝壳技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010583137.X/1.html,转载请声明来源钻瓜专利网。