[發明專利]一種消息傳輸方法和裝置有效
| 申請號: | 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.szxzyx.cn/pat/books/201711472720.8/2.html,轉載請聲明來源鉆瓜專利網。





