[發明專利]一種消息備份方法、裝置、電子設備及計算機存儲介質在審
| 申請號: | 202010434032.8 | 申請日: | 2020-05-21 |
| 公開(公告)號: | CN113703954A | 公開(公告)日: | 2021-11-26 |
| 發明(設計)人: | 胡宗棠 | 申請(專利權)人: | 中移(蘇州)軟件技術有限公司;中國移動通信集團有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F9/54 |
| 代理公司: | 北京派特恩知識產權代理有限公司 11270 | 代理人: | 姚璐;張穎玲 |
| 地址: | 215163 江蘇*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 消息 備份 方法 裝置 電子設備 計算機 存儲 介質 | ||
本申請公開了一種消息備份方法、裝置、電子設備及計算機可讀存儲介質。所述方法包括:通過源任務線程從源消息隊列集群中獲取消息,將所述消息發送至運行時進程的內存中;通過目標任務線程從所述運行時進程的內存中獲取所述消息,將所述消息轉儲至目標消息隊列集群中;其中,所述源消息隊列集群和所述目標消息隊列集群支持的數據格式和/或傳輸協議不同。本申請能夠實現將源消息隊列集群中的消息復制至目標消息隊列集群中,且通過利用源任務線程和目標任務線程,能夠將從源消息隊列集群拉取消息并存儲至運行時進程的內存,和將運行時進程中存儲的消息轉發至目標消息隊列集群的任務解耦,支持異構類型的消息集群之間的復制備份。
技術領域
本申請涉及通信技術領域,尤其涉及一種消息備份方法、裝置、電子設備及計算機存儲介質。
背景技術
消息隊列(MQ,Message Queue)就是消息在傳輸過程中用于保存消息的容器,在一次發送接收的通信過程中,其主要充當了“中轉站”的角色,在消息隊列的內部提供通信路由并保證消息的可靠傳遞。如果發送消息時接收者不可用,消息隊列本身會在一段時間內保留積壓的消息,直到可以成功地傳遞它。消息隊列是構建各種重要的業務系統時一款重要的中間件,在對業務系統進行設計、選型和架構搭建時需要考慮消息隊列的穩定性、可靠性和可用性。目前,消息隊列已經逐漸成為企業IT系統內部通信的核心手段之一,可以說當前絕大部分的大型分布式互聯網業務系統都基于消息隊列來構建的。消息隊列具有低耦合、可靠投遞、廣播、流量控制、最終一致性等一系列的功能,是異步通信的主要手段之一。
隨著分布式協調組件ZooKeeper和Raft算法的出現,多副本特性已經成為消息中間件所必備的一個特性。目前,開源消息隊列Kafka采用ZooKeeper組件來實現同一個集群內部多副本之間協調選主節點,做到如果出現某一個或者幾個副本節點所在的虛擬機或者容器宕機的情況下,靠ZooKeeper組件依然可以從剩余的副本節點中選出主節點。而開源消息隊列RocketMQ則采用了非依賴第三方組件(比如ZooKeeper)的方式,通過自己在存儲層實現Raft算法協議來做到選主節點和日志消息復制的目標,以達到同一個集群內各個節點做到高可用的目的。但上述兩款開源中間件的多副本特性,只是保證了同一個集群內部消息的高可用,但如果出現整個消息隊列集群節點均宕機的情況,消息隊列服務依舊無法對外提供消息服務。
在一種相關方案中,采用開源版本Kafka的MirrorMaker實現跨消息隊列集群的同步復制。該開源版本消息隊列組件的整體方案通過采用一個中間進程實現跨消息隊列集群的消息復制與同步,該中間進程既是消息的消費者,也是消息的發送者。在采用此實施方式時,用于跨集群消息隊列同步的進程為單進程實例,當該單進程實例出現內存溢出、進程僵死、所部署的機器宕機和進程中的隊列阻塞等異常情況時,消息跨集群復制與備份將無法繼續進行,嚴重影響消息隊列集群的可用性。而且,該實施方式中消息復制與備份都在同一個進程中完成,效率較低,無法像分布式集群部署那樣充分利用各個節點任務調度的優勢,實現消息復制和備份整體的高吞吐量、低延遲和高并發特點。
在另一種相關方案中,采用開源版本ActiveMQ的NetworkBridge實現跨集群消息隊列的同步復制。該開源版本的消息隊列組件目前只能支持同類型消息隊列集群的消息備份復制,即僅限于支持源消息隊列和目標待備份的集群均為ActiveMQ的消息隊列集群的跨集群消息的復制和備份。該方案不支持異構類型的消息隊列集群的消息復制與備份,如果用戶有把源消息隊列集群的消息遷移、備份至異構類型消息隊列集群,則該方案是無法支持和實現的。比如,用戶使用的原始消息隊列為ActiveMQ消息隊列,而待備份、遷移和復制的目標消息隊列集群為RocketMQ或者Kafka時,則該方法無法實現跨集群消息的復制和備份。
綜上所述,目前的跨消息隊列集群的消息復制與備份方案存在可靠性和可用性較低、無法實現異構類型的消息隊列集群之間的消息遷移和備份等問題。
發明內容
為解決上述技術問題,本申請實施例提供了一種消息備份方法及裝置。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中移(蘇州)軟件技術有限公司;中國移動通信集團有限公司,未經中移(蘇州)軟件技術有限公司;中國移動通信集團有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010434032.8/2.html,轉載請聲明來源鉆瓜專利網。





