[发明专利]基于消息队列的消息传输方法、装置及设备有效
申请号: | 201911417652.4 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111400056B | 公开(公告)日: | 2023-07-28 |
发明(设计)人: | 张阳;崔昌栋;钱佳林;柴猛;崔永超;尹涛;陈慧敏;姜凯洋;朱树强;张朝旭;刘文杰;王仁斌;张宏振 | 申请(专利权)人: | 远景智能国际私人投资有限公司;上海远景科创智能科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 宁立存 |
地址: | 新加坡上坡大*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 消息 队列 传输 方法 装置 设备 | ||
本申请公开了一种基于消息队列的消息传输方法、装置及设备,属于计算机数据通讯领域。所述方法包括:获取消息文件,所述消息文件采用所述消息队列的形式存储有生产者程序生成的消息,该消息文件可以是被创建的固定大小的消息持久化文件;从消费者状态数据中确定消费者程序在所述消息文件上的读取位置,所述消费者状态数据与所述消费者程序一一对应;根据所述读取位置读取所述消息文件中的第一消息;将所述第一消息发送至所述消费者程序。当多个消费者程序读取消息队列中的消息时,无需消息队列将消息拷贝多份消息副本,实现了多个消费者彼此独立地消费消息,提高了消息队列的传输消息的效率。
技术领域
本申请涉及计算机数据通讯领域,特别涉及一种基于消息队列的消息传输方法、装置及设备。
背景技术
消息队列(Message Queue,MQ)是一种应用程序间的通信方式,应用程序在将消息发送至消息队列后可以立即返回,由消息系统来确保消息的可靠传递。消息的生产者(消息发布者)将消息发布到消息队列中,消息的消费者(消息主动获取者)从消息队列中获取消息,生产者和消费者之间互不干扰。
相关技术中,消费者通过消息通道(channel)主动获取消息队列中的消息,消费通道是指消费者从消息队列中主动获取消息的途径,当多个消费者消费同一类型的消息时,消息队列将一份消息拷贝为多份消息副本,多个消费者从各自对应的消息通道中获取一份消息副本。
基于上述情况,多个消费者消费同一类型的消息时,需要占用较大的存储空间,消息队列在传输消息时的效率较低。
发明内容
本申请实施例提供了一种基于消息队列的消息传输方法、装置及设备,使得多个消费者消费同一类型的消息时,消息队列在传输消息的效率较高。所述技术方案如下:
根据本申请的一个方面,一种基于消息队列的消息传输方法,所述方法包括:
获取消息文件,所述消息文件采用所述消息队列的形式存储有生产者程序生成的消息;
从消费者状态数据中确定消费者程序在所述消息文件上的读取位置,所述消费者状态数据与所述消费者程序一一对应;
根据所述读取位置读取所述消息文件中的第一消息;
将所述第一消息发送至所述消费者程序。
根据本申请的另一方面,提供了一种基于消息队列的消息传输装置,所述装置包括:
获取模块,用于获取消息文件,所述消息文件采用所述消息队列的形式存储有生产者程序生成的消息;
处理模块,用于从消费者状态数据中确定消费者程序在所述消息文件上的读取位置,所述消费者状态数据与所述消费者程序一一对应;
读取模块,用于根据所述读取位置读取所述消息文件中的第一消息;
发送模块,用于将所述第一消息发送至所述消费者程序。
根据本申请的另一方面,提供了一种计算机设备,所述计算机设备设置有传感器,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的基于消息队列的消息传输方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过消息队列获取存储有消息的消息文件,根据消费者状态数据确定消费者程序的读取位置,根据消费者的读取位置将读取到的消息发送至消费者程序。当多个消费者程序读取消息队列中的消息时,无需消息队列将消息拷贝多份消息副本,实现了多个消费者彼此独立地消费消息,提高了消息队列的传输消息的效率。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于远景智能国际私人投资有限公司;上海远景科创智能科技有限公司,未经远景智能国际私人投资有限公司;上海远景科创智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911417652.4/2.html,转载请声明来源钻瓜专利网。