[發(fā)明專利]消息隊(duì)列處理方法、裝置和消息隊(duì)列管理系統(tǒng)在審
| 申請?zhí)枺?/td> | 202111130070.5 | 申請日: | 2021-09-26 |
| 公開(公告)號: | CN114035972A | 公開(公告)日: | 2022-02-11 |
| 發(fā)明(設(shè)計(jì))人: | 田六合;張美平;劉偉光;潘東元 | 申請(專利權(quán))人: | 阿里巴巴(中國)有限公司;阿里云計(jì)算有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54 |
| 代理公司: | 北京智信四方知識產(chǎn)權(quán)代理有限公司 11519 | 代理人: | 宋海龍 |
| 地址: | 310052 浙江省杭州市濱江*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 消息 隊(duì)列 處理 方法 裝置 管理 系統(tǒng) | ||
本公開實(shí)施例公開了消息隊(duì)列處理方法、裝置和消息隊(duì)列管理系統(tǒng)。消息隊(duì)列處理方法包括:在消息隊(duì)列存儲(chǔ)節(jié)點(diǎn)的虛擬內(nèi)存中建立用于緩存熱消息的第一緩存區(qū)和用于緩存冷消息的第二緩存區(qū);根據(jù)對消息隊(duì)列的讀取請求,確定所述讀取請求所請求的消息的索引值;根據(jù)所述索引值確定從所述第一緩存區(qū)讀取所請求的消息還是位于所述第二緩存區(qū);從所述第一緩存區(qū)或所述第二緩存區(qū)返回所述讀取請求所請求的消息,可以實(shí)現(xiàn)對冷熱消息數(shù)據(jù)采用不同緩存區(qū)進(jìn)行緩存,使得冷熱消息數(shù)據(jù)的讀緩存進(jìn)行了物理上的分離,減少了系統(tǒng)大量冷讀對于硬盤IO的占用,而且可以通過控制第二緩存區(qū)來減少硬盤的冷讀訪問,防止硬盤讀寫出現(xiàn)性能瓶頸。
技術(shù)領(lǐng)域
本公開涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及消息隊(duì)列處理方法、裝置和消息隊(duì)列管理系統(tǒng)。
背景技術(shù)
目前的面向消息的系統(tǒng)(消息中間件)是在分布式系統(tǒng)中完成消息的發(fā)送和接收的基礎(chǔ)軟件。消息中間件也可以稱為消息隊(duì)列,是指用高效可靠的消息傳遞機(jī)制進(jìn)行與平臺無關(guān)的數(shù)據(jù)交流,并基于數(shù)據(jù)通信來進(jìn)行分布式系統(tǒng)的集成。消息隊(duì)列可以在分布式環(huán)境下擴(kuò)展進(jìn)程的通信。但是,現(xiàn)有技術(shù)的消息隊(duì)列產(chǎn)品在流計(jì)算以及大量歷史數(shù)據(jù)消費(fèi)的場景下常常面臨冷熱數(shù)據(jù)讀寫問題,最終導(dǎo)致性能瓶頸。例如,一種現(xiàn)有技術(shù)的消息隊(duì)列目前面臨的問題如下:
·消息隊(duì)列在延遲消費(fèi)的情況下會(huì)產(chǎn)生硬盤讀寫的性能瓶頸,尤其是在多隊(duì)列延遲消費(fèi)場景下會(huì)出現(xiàn)嚴(yán)重的性能問題和服務(wù)質(zhì)量問題。
·消息隊(duì)列的streaming模式(或稱為流模式)會(huì)存在大量的冷讀(讀取冷消息),會(huì)嚴(yán)重影響消息寫入時(shí)的性能。冷讀會(huì)大量占用內(nèi)存資源并嚴(yán)重影響跟隨消費(fèi)(熱消息消費(fèi))以及消息的寫入(頁面緩存區(qū)Page Cache的資源競爭以及硬盤IO的競爭),而且冷讀的時(shí)延長,吞吐量低。
又例如,現(xiàn)有技術(shù)的另一種消息隊(duì)列在流計(jì)算場景中并沒有考慮冷熱消息數(shù)據(jù)讀寫分離,在大量讀取歷史數(shù)據(jù)時(shí)會(huì)存在以下技術(shù)上的缺點(diǎn):
·當(dāng)客戶端由于各種原因從服務(wù)端拉取消息的起始位點(diǎn)很小時(shí),此時(shí)客戶端拉取的數(shù)據(jù)將不會(huì)命中Page Cache,數(shù)據(jù)存儲(chǔ)在硬盤上,大量的數(shù)據(jù)會(huì)從硬盤進(jìn)行冷讀,導(dǎo)致消息數(shù)據(jù)讀取的性能不高,進(jìn)一步影響消息消費(fèi)的速度,整體系統(tǒng)性能收到嚴(yán)重影響。
·當(dāng)大量的數(shù)據(jù)從硬盤中讀取時(shí),會(huì)占用硬盤的IO,導(dǎo)致IO產(chǎn)生瓶頸,進(jìn)而影響本身存儲(chǔ)節(jié)點(diǎn)熱數(shù)據(jù)的讀寫,最終導(dǎo)致系統(tǒng)整體讀寫性能下降。
·由于讀取的數(shù)據(jù)很多是冷數(shù)據(jù),讀取到內(nèi)存中之后會(huì)大量占用系統(tǒng)的PageCache,與消息的寫入以及熱讀(熱消息讀取)部分?jǐn)?shù)據(jù)競爭緩存,從而影響原本屬于熱數(shù)據(jù)的Page Cache的容量,最終導(dǎo)致整體的讀寫產(chǎn)生性能瓶頸。
因此,現(xiàn)有技術(shù)的消息隊(duì)列沒有考慮冷熱消息數(shù)據(jù)讀寫分離,導(dǎo)致采用消息隊(duì)列的系統(tǒng)在消息讀寫方面產(chǎn)生性能瓶頸
發(fā)明內(nèi)容
為了解決相關(guān)技術(shù)中的問題,本公開實(shí)施例提供消息隊(duì)列處理方法、裝置和消息隊(duì)列管理系統(tǒng),對冷熱消息數(shù)據(jù)采用不同的緩存區(qū)進(jìn)行緩存,將冷熱消息數(shù)據(jù)的讀緩存進(jìn)行了物理上的分離,克服了大量冷消息數(shù)據(jù)讀取時(shí)對整體系統(tǒng)性能的影響,提高了系統(tǒng)整體的讀寫性能以及吞吐量,而且針對消息場景中流模式的大量冷消息數(shù)據(jù)讀取提供了更強(qiáng)的支持。
第一方面,本公開實(shí)施例中提供了一種消息隊(duì)列處理方法,其中,所述方法包括:
在消息隊(duì)列存儲(chǔ)節(jié)點(diǎn)的虛擬內(nèi)存中建立用于緩存熱消息的第一緩存區(qū)和用于緩存冷消息的第二緩存區(qū);
根據(jù)對消息隊(duì)列的讀取請求,確定所述讀取請求所請求的消息的索引值;
根據(jù)所述索引值確定從所述第一緩存區(qū)還是從所述第二緩存區(qū)讀取所請求的消息;
從所述第一緩存區(qū)或所述第二緩存區(qū)返回所述讀取請求所請求的消息。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于阿里巴巴(中國)有限公司;阿里云計(jì)算有限公司,未經(jīng)阿里巴巴(中國)有限公司;阿里云計(jì)算有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111130070.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 隊(duì)列調(diào)度系統(tǒng)及方法
- 一種從多隊(duì)列節(jié)點(diǎn)獲取消息的方法及系統(tǒng)
- 隊(duì)列請求處理方法和裝置
- 一種隊(duì)列清空方法以及相關(guān)設(shè)備
- 一種基于Linux通用塊層多隊(duì)列的優(yōu)化系統(tǒng)及方法
- 一種分離存儲(chǔ)的隊(duì)列實(shí)現(xiàn)方法及裝置
- 一種數(shù)據(jù)處理方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 一種接口擁塞時(shí)延的計(jì)算方法及裝置
- 一種報(bào)文調(diào)度方法及裝置
- RDMA網(wǎng)絡(luò)下的網(wǎng)卡隊(duì)列創(chuàng)建方法以及裝置
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測試終端的測試方法
- 一種服裝用人體測量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





