[发明专利]消息队列的消费方法及装置有效
| 申请号: | 201611219207.3 | 申请日: | 2016-12-26 |
| 公开(公告)号: | CN106789741B | 公开(公告)日: | 2020-02-18 |
| 发明(设计)人: | 邓怡豪 | 申请(专利权)人: | 北京奇虎科技有限公司 |
| 主分类号: | H04L12/879 | 分类号: | H04L12/879 |
| 代理公司: | 北京市浩天知识产权代理事务所(普通合伙) 11276 | 代理人: | 宋菲;刘兰兰 |
| 地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 消息 队列 消费 方法 装置 | ||
1.一种消息队列的消费方法,包括:
当消费任务启动时,建立与后台数据库之间的通信连接;
通过所述通信连接从所述后台数据库中获取与所述消费任务对应的消息队列的当前偏移信息;
若获取成功,则根据获取到的当前偏移信息读取所述消息队列中的消息数据;
每当从所述消息队列中读取一条消息数据后,根据该条消息数据对应的偏移地址在所述后台数据库中更新所述消息队列的当前偏移信息;
其中,所述通过所述通信连接从所述后台数据库中获取与所述消费任务对应的消息队列的当前偏移信息的步骤之后,进一步包括:获取所述消息队列的有效数据范围;
所述若获取成功,则根据获取到的当前偏移信息读取所述消息队列中的消息数据的步骤具体包括:
判断所述获取到的当前偏移信息是否在所述有效数据范围内,若判断结果为是,从所述当前偏移信息对应的位置逐条读取所述消息队列中的消息数据;若判断结果为否,从所述有效数据范围中的最旧数据对应的位置逐条读取所述消息队列中的消息数据。
2.根据权利要求1所述的方法,其中,所述根据该条消息数据对应的偏移地址在所述后台数据库中更新所述消息队列的当前偏移信息的步骤具体包括:
创建用于更新偏移信息的事务,该事务包括:用于写入该条消息数据对应的偏移地址的第一操作,以及用于写入该条消息数据的数据内容的第二操作;
当该事务中包含的第一操作和第二操作都执行成功时,向所述后台数据库提交该事务。
3.根据权利要求2所述的方法,其中,当该事务中包含的第一操作和/或第二操作执行失败时,回滚该事务,并重启所述消费任务。
4.根据权利要求1所述的方法,其中,进一步包括:若获取失败,则从所述有效数据范围中的最旧数据对应的位置逐条读取所述消息队列中的消息数据。
5.根据权利要求4所述的方法,其中,所述消息队列包括多个消息分区,则所述消费任务对应的消息队列的当前偏移信息具体为:所述消费任务对应的消息分区的当前偏移信息。
6.根据权利要求1-5任一所述的方法,其中,所述消息队列为分布式消息队列。
7.一种消息队列的消费装置,包括:
建立模块,适于当消费任务启动时,建立与后台数据库之间的通信连接;
获取模块,适于通过所述通信连接从所述后台数据库中获取与所述消费任务对应的消息队列的当前偏移信息;
读取模块,适于在获取成功时,根据获取到的当前偏移信息读取所述消息队列中的消息数据;
更新模块,适于每当从所述消息队列中读取一条消息数据后,根据该条消息数据对应的偏移地址在所述后台数据库中更新所述消息队列的当前偏移信息;
其中,所述装置进一步包括:有效数据范围获取模块,所述有效数据范围获取模块适于获取所述消息队列的有效数据范围;
所述读取模块适于判断所述获取到的当前偏移信息是否在所述有效数据范围内,若判断结果为是,从所述当前偏移信息对应的位置逐条读取所述消息队列中的消息数据;若判断结果为否,从所述有效数据范围中的最旧数据对应的位置逐条读取所述消息队列中的消息数据。
8.根据权利要求7所述的装置,其中,所述更新模块具体适于:创建用于更新偏移信息的事务,该事务包括:用于写入该条消息数据对应的偏移地址的第一操作,以及用于写入该条消息数据的数据内容的第二操作;
当该事务中包含的第一操作和第二操作都执行成功时,向所述后台数据库提交该事务。
9.根据权利要求8所述的装置,其中,所述更新模块进一步适于:当该事务中包含的第一操作和/或第二操作执行失败时,回滚该事务,并重启所述消费任务。
10.根据权利要求7所述的装置,其中,所述读取模块进一步用于:在获取当前偏移信息失败时,从所述有效数据范围中的最旧数据对应的位置逐条读取所述消息队列中的消息数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611219207.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:医用洞巾及其热轧SM吸水垫
- 下一篇:一种灭菌网篮存放架





