[发明专利]消息队列的消费方法及装置有效
申请号: | 201611178259.0 | 申请日: | 2016-12-19 |
公开(公告)号: | CN106598760B | 公开(公告)日: | 2020-07-10 |
发明(设计)人: | 邓怡豪 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 消息 队列 消费 方法 装置 | ||
1.一种消息队列的消费方法,包括:
分别为所述消息队列中的各个消息分区分配对应的消费端进行消费,定期获取各个消费端对应的消息分区的当前消费偏移以及最大有效偏移;
根据各个消费端对应的消息分区的当前消费偏移以及最大有效偏移确定各个消费端对应的消息分区的剩余可消费量;
根据各个消费端对应的消息分区的剩余可消费量,动态调整各个消费端的消费速度;
其中,所述根据各个消费端对应的消息分区的剩余可消费量,动态调整各个消费端的消费速度的步骤具体包括:将各个消费端对应的消息分区的剩余可消费量中的最小值确定为最小可消费量;将所述最小可消费量对应的消费端的消费速度确定为参考消费速度;根据所述最小可消费量调整所述参考消费速度。
2.根据权利要求1所述的方法,其中,各个消费端对应的消息分区的剩余可消费量根据各个消费端对应的消息分区的最大有效偏移与当前消费偏移之间的差值确定。
3.根据权利要求1所述的方法,其中,所述根据所述最小可消费量调整所述参考消费速度的步骤具体包括:
当所述最小可消费量小于预设时间段内按照所述参考消费速度的消费量时,将所述参考消费速度减小为与所述最小可消费量相匹配的数值;和/或,
当所述最小可消费量大于预设时间段内按照所述参考消费速度的消费量时,将所述参考消费速度增大为与所述最小可消费量相匹配的数值。
4.根据权利要求3所述的方法,其中,所述方法进一步包括:
根据其他消费端对应的消息分区的剩余可消费量与所述最小可消费量之间的比例关系以及调整后的所述参考消费速度,对其他消费端的消费速度进行动态调整。
5.根据权利要求1-4任一所述的方法,其中,所述定期获取各个消费端对应的消息分区的当前消费偏移以及最大有效偏移的步骤具体包括:
每当消费端读取一条数据后获取该消费端对应的消息分区的当前消费偏移以及最大有效偏移;和/或,
每隔预设时间间隔获取各个消费端对应的消息分区的当前消费偏移以及最大有效偏移。
6.根据权利要求1-4任一所述的方法,其中,每当消费端从对应的消息分区中读取一条数据后,判断该条数据是否读取成功,若判断结果为是,则根据该条数据的偏移地址确定对应的消息分区的当前消费偏移;若判断结果为否,则向消费端发送读取失败提示信息,以供所述消费端重新读取该条数据。
7.根据权利要求1-4任一所述的方法,其中,所述消息队列为分布式消息队列。
8.一种消息队列的消费装置,包括:
获取模块,适于分别为所述消息队列中的各个消息分区分配对应的消费端进行消费,定期获取各个消费端对应的消息分区的当前消费偏移以及最大有效偏移;
确定模块,适于根据各个消费端对应的消息分区的当前消费偏移以及最大有效偏移确定各个消费端对应的消息分区的剩余可消费量;
第一调整模块,适于根据各个消费端对应的消息分区的剩余可消费量,动态调整各个消费端的消费速度;
其中,所述第一调整模块具体用于:将各个消费端对应的消息分区的剩余可消费量中的最小值确定为最小可消费量;将所述最小可消费量对应的消费端的消费速度确定为参考消费速度;根据所述最小可消费量调整所述参考消费速度。
9.根据权利要求8所述的装置,其中,所述确定模块具体用于:根据各个消费端对应的消息分区的最大有效偏移与当前消费偏移之间的差值确定各个消费端对应的消息分区的剩余可消费量。
10.根据权利要求8所述的装置,其中,所述第一调整模块进一步用于:
当所述最小可消费量小于预设时间段内按照所述参考消费速度的消费量时,将所述参考消费速度减小为与所述最小可消费量相匹配的数值;和/或,
当所述最小可消费量大于预设时间段内按照所述参考消费速度的消费量时,将所述参考消费速度增大为与所述最小可消费量相匹配的数值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611178259.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种应用处理方法、装置及系统
- 下一篇:基于中间件的事务连接建立方法及装置