[发明专利]基于消息队列的消息消费方法、装置及设备有效
申请号: | 201911417643.5 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111552575B | 公开(公告)日: | 2023-09-12 |
发明(设计)人: | 张阳;崔昌栋;钱佳林;柴猛;崔永超;尹涛;陈慧敏;姜凯洋;朱树强;张朝旭;刘文杰;王仁斌;张宏振 | 申请(专利权)人: | 远景智能国际私人投资有限公司;上海远景科创智能科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 宁立存 |
地址: | 新加坡上坡大*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 消息 队列 消费 方法 装置 设备 | ||
本申请公开了一种基于消息队列的消息消费方法、装置及设备,属于计算机数据通讯领域。该方法包括:将消息写入消息文件中对应的本次写入位置,消息是生产者程序生成的,本次写入位置是按照循环写入顺序在n个消息文件中确定出的写入位置,n为正整数;获取消费者程序在消息文件中对应的本次读取位置,本次读取位置是按照循环读取顺序在n个消息文件中确定出的读取位置;响应于本次写入位置与本次读取位置重合,将本次读取位置更新为目标读取位置,目标读取位置是沿循环写入顺序的写入方向上位于本次读取位置之后的读取位置;将目标读取位置读取到的所述消息文件中的消息,发送至消费者程序。
技术领域
本申请涉及计算机数据通讯领域,特别涉及一种基于消息队列的消息消费方法、装置及设备。
背景技术
消息队列(Message Queue,MQ)是一种应用程序间的通信方式,应用程序在将消息发送至消息队列后可以立即返回,由消息系统来确保消息的可靠传递。消息的生产者(消息发布者)将消息发布到消息队列中,消息的消费者(消息主动获取者)从消息队列中获取消息,生产者和消费者之间互不干扰。
发明内容
本申请实施例提供了一种基于消息队列的消息消费方法、装置及设备,使得消费速度较低的消费者在读取消息时对消息传输系统中的生产者或其他消费者的影响降到最低。所述技术方案如下:
根据本申请的一个方面,一种基于消息队列的消息消费方法,所述方法包括:
将消息写入消息文件中对应的本次写入位置,所述消息是生产者程序生成的,所述本次写入位置是按照循环写入顺序在n个消息文件中确定出的写入位置,n为正整数;
获取消费者程序在所述消息文件中对应的本次读取位置,所述本次读取位置是按照循环读取顺序在所述n个消息文件中确定出的读取位置;
响应于所述本次写入位置与所述本次读取位置重合,将所述本次读取位置更新为目标读取位置,所述目标读取位置是沿所述循环写入顺序的写入方向上位于所述本次读取位置之后的读取位置;
将所述目标读取位置读取到的所述消息文件中的消息,发送至所述消费者程序。
根据本申请的另一方面,提供了一种基于消息队列的消息消费装置,所述装置包括:
写入模块,用于将消息写入消息文件中对应的本次写入位置,所述消息是生产者程序生成的,所述本次写入位置是按照循环写入顺序在n个消息文件中确定出的写入位置,n为正整数;
获取模块,用于获取消费者程序在所述消息文件中对应的本次读取位置,所述本次读取位置是按照循环读取顺序在所述n个消息文件中确定出的读取位置;
处理模块,用于响应于所述本次写入位置与所述本次读取位置重合,将所述本次读取位置更新为目标读取位置,所述目标读取位置是沿所述循环写入顺序的写入方向上位于所述本次读取位置之后的读取位置;
读取模块,用于将所述目标读取位置读取到的所述消息文件中的消息,发送至所述消费者程序。
根据本申请的另一方面,提供了一种计算机设备,所述计算机设备设置有传感器,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的基于消息队列的消息消费方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
在本次写入位置与本次读取位置重合时,通过将本次读取位置更新为目标读取位置,即将本次读取位置沿循环写入顺序的写入方向进行更新,使得消费者程序的读取位置与写入位置重新保持一段距离,对于偶尔消费速度较低的消费者程序,只会丢失小部分消息。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于远景智能国际私人投资有限公司;上海远景科创智能科技有限公司,未经远景智能国际私人投资有限公司;上海远景科创智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911417643.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种洗脱剂的切换检测方法
- 下一篇:有源多工中继器附件