[发明专利]一种消息传输方法和装置有效
申请号: | 201711472720.8 | 申请日: | 2017-12-29 |
公开(公告)号: | CN109995801B | 公开(公告)日: | 2022-11-08 |
发明(设计)人: | 程晓明 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | H04L67/568 | 分类号: | H04L67/568;H04L67/146;G06F9/54 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;杨晓伟 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 消息 传输 方法 装置 | ||
本发明公开了一种消息传输方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:接收至少一个消费标识;确认存在与所述消费标识相对应的存储队列时,获取与所述消息类型相同的消息,然后将所述消息存入所述存储队列中;输出所述存储队列中的消息。该实施方式通过向消息队列发送消费标识,消息队列将消息存入依据该消费标识构建的存储队列中,通过该存储队列与消费者进行消息传输,解决了现有技术中必须预先确定消息模式的技术问题,增加了用户使用的灵活性。
技术领域
本发明涉及计算机领域,尤其涉及一种消息传输方法和装置。
背景技术
Java消息服务(Java Message Service,JMS)是Java EE(Java PlatformEnterprise Edition)中面向消息的中间件(message-oriented middleware)的技术规范,中间件即为消息队列。JMS用于在两个应用程序之间,或者在分布式系统中发送和接收消息,以实现异步的消息通信。
目前JMS支持两种消息模式,一种是点对点模式,另一种是发布-订阅模式。点对点模式的实现过程为:用户在消息队列中创建一个队列(Queue);生产者(Producer)连接消息队列的Queue,然后向Queue发送消息;消费者(Consumer)连接消息队列的Queue,然后从Queue接收消息。发布-订阅模式的实现过程为:用户在消息队列中创建一个主题(Topic);生产者(Producer)连接消息队列的Topic,然后向Topic发送消息;消费者(Consumer)连接消息队列的Topic,然后从Topic接收消息。在点对点模式中,任何一个生产者生产的消息只会被若干消费者中的其中一个消费;而在发布-订阅模式中,任何一个生产者生产的消息都会被所有消费者消费。
现有技术中进行消息传输时,需由用户预先确定消息模式后,根据消息模式在消息队列中创建Queue(点对点模式)或者Topic(发布-订阅模式);然后生产者、消息队列和消费者按照上述实现过程进行消息传输。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
(1)现有技术中必须由用户预先确定消息模式才能进行消息传输,而在实际使用中用户可能无法确定消息模式;
(2)现有技术中消息队列在使用过程中,无法动态变更消息模式,比如无法从点对点模式变更为发布-订阅模式。
发明内容
有鉴于此,本发明实施例提供一种消息传输方法和装置,消费者向消息队列发送一个消费标识,消息队列将消息存入依据该消费标识构建的存储队列中,通过该存储队列与消费者进行消息传输。解决了现有技术中必须预先确定消息模式的技术问题,增加了用户使用的灵活性。
为实现上述目的,根据本发明实施例的一个方面,提供了一种消息传输方法。
本发明实施例的一种消息传输方法,包括:接收至少一个消费标识;其中,所述消费标识包括消息类型;确认存在与所述消费标识相对应的存储队列时,获取与所述消息类型相同的消息,然后将所述消息存入所述存储队列中;输出所述存储队列中的消息。
可选地,所述消费标识为多个;所述确认存在与所述消费标识相对应的存储队列时,获取与所述消息类型相同的消息,然后将所述消息存入所述存储队列中,包括:确认各所述消费标识均相同并且存在与所述消费标识相对应的存储队列时,从存储器获取与所述消息类型相同的消息,然后将所述消息存入所述存储队列中;确认各所述消费标识存在不同并且存在与各所述消费标识相对应的存储队列时,从存储器分别获取与各所述消息类型相同的消息,然后将所述消息分别存入各所述存储队列中。
可选地,当各所述消费标识均相同时,所述输出所述存储队列中的消息,包括:将所述消息随机输出至与所述存储队列相对应的消费者中的一个;当各所述消费标识存在不同时,所述输出所述存储队列中的消息,包括:将各所述存储队列中的消息分别输出至与各所述存储队列相对应的消费者。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711472720.8/2.html,转载请声明来源钻瓜专利网。