[發(fā)明專利]消息隊列實現(xiàn)方法、裝置及電子設備在審
| 申請?zhí)枺?/td> | 202010864840.8 | 申請日: | 2020-08-25 |
| 公開(公告)號: | CN111984198A | 公開(公告)日: | 2020-11-24 |
| 發(fā)明(設計)人: | 潘大慶 | 申請(專利權(quán))人: | 北京一起教育信息咨詢有限責任公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06;G06F9/54 |
| 代理公司: | 北京集佳知識產(chǎn)權(quán)代理有限公司 11227 | 代理人: | 林哲生 |
| 地址: | 100102 北京市朝陽*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 消息 隊列 實現(xiàn) 方法 裝置 電子設備 | ||
本發(fā)明提供了一種消息隊列實現(xiàn)方法、裝置及電子設備,通過將消息隊列配置為基于硬盤的本地隊列,可以使得該消息隊列掛載在應用進程中,避免使用重量級消息隊列需要單獨搭建集群的問題,且無需繁瑣的維護工作,實現(xiàn)了消息隊列的輕量級架構(gòu),同時,在消息寫入到該消息隊列時,由于該消息隊列是由若干個子隊列組成,每個子隊列由至少兩個數(shù)據(jù)塊組成,接收到消息寫入當前子隊列的當前數(shù)據(jù)塊達到一定長度時,自動切換至下一子隊列對應的數(shù)據(jù)塊,可以避免消息同步的同時需要等待數(shù)據(jù)處理的時間過長的問題,保證了消息寫入的高效性。
技術(shù)領(lǐng)域
本發(fā)明涉及計算機技術(shù)領(lǐng)域,更具體的說,涉及一種消息隊列實現(xiàn)方式、裝置及電子設備。
背景技術(shù)
硬盤是計算機實現(xiàn)數(shù)據(jù)永久存儲的核心組件,應用程序本身和應用程序依賴的數(shù)據(jù)都存儲在硬盤上,當系統(tǒng)啟動后,會把數(shù)據(jù)從硬盤中讀取到內(nèi)存中。消息隊列是分布式應用交換信息的一種技術(shù),內(nèi)存可以通過消息隊列將硬盤的數(shù)據(jù)進行讀取。目前在生產(chǎn)環(huán)境,使用較多的消息隊列有ActiveMQ、RabbitMQ、Kafka、MetaMQ、RocketMQ等,實現(xiàn)了消息數(shù)據(jù)包的點對點傳輸、發(fā)送/訂閱等數(shù)據(jù)分發(fā)功能。但是,目前的消息隊列作為資源的啟動過程都很復雜,并且耗時很長,降低了數(shù)據(jù)寫入效率,使得采用該種消息隊列的部署維護工作較為繁瑣,并且這些隊列的部署需要使用較多的物理資源,間接的造成資源的浪費。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種消息隊列實現(xiàn)方法、裝置及電子設備,保證消息隊列輕量級架構(gòu)無需單獨部署和繁瑣維護,并保證了數(shù)據(jù)寫入的高效性。
為解決上述技術(shù)問題,本發(fā)明采用了如下技術(shù)方案:
一種消息隊列實現(xiàn)方法,包括:
配置消息隊列,所述消息隊列為基于硬盤的本地隊列,所述消息隊列包括N個子隊列,且所述子隊列包括M個數(shù)據(jù)塊,其中N為大于1的整數(shù),M為大于等于2的整數(shù);
響應于接收到消息,依據(jù)與所述消息隊列相匹配的寫入格式,將所述接收到的消息寫入到所述消息隊列,所述寫入格式為將消息寫入第i個子隊列的第j個數(shù)據(jù)塊,待所述第i個子隊列的第j個數(shù)據(jù)塊寫滿消息后,將消息寫入第i+1個子隊列的第j個數(shù)據(jù)塊,直至第N個子隊列的第j個數(shù)據(jù)塊寫滿消息后,將消息寫入第i個子隊列的第j+1個數(shù)據(jù)塊的循環(huán)往返的寫入格式,其中,i為大于等于1小于等于N的整數(shù),j為大于等于1小于等于M的整數(shù)。
可選地,所述方法還包括:
響應于所述消息隊列應用于將內(nèi)存消息寫入到硬盤時,在消息寫滿第i個子隊列的第j個數(shù)據(jù)塊,觸發(fā)數(shù)據(jù)同步機制,將所述第i個子隊列的第j個數(shù)據(jù)塊的消息同步至硬盤。
可選地,所述消息隊列的子隊列包括生產(chǎn)元信息和消費元信息,所述生產(chǎn)元信息和所述消費元信息均包括塊內(nèi)偏移、數(shù)據(jù)塊索引和位置總偏移。
可選地,所述響應于接收到消息,依據(jù)與所述消息隊列相匹配的寫入格式,將所述接收到的消息寫入到所述消息隊列,包括:
響應于接收到消息,判斷所述消息是否合法,如果是,獲取所述消息隊列的當前工作的子隊列和所述生產(chǎn)者元信息,其中,所述當前工作的子隊列為所述消息隊列的第一子隊列,第一子隊列當前數(shù)據(jù)塊為第一數(shù)據(jù)塊;
根據(jù)所述生產(chǎn)者元信息,判斷所述第一子隊列的第一數(shù)據(jù)塊是否已經(jīng)寫滿,如果否,將所述接收到的消息寫入到所述第一數(shù)據(jù)塊;
如果是,確定目標數(shù)據(jù)塊,將所述接收到的消息寫入到所述目標數(shù)據(jù)塊,所述目標數(shù)據(jù)塊為所述第一子隊列對應的第二子隊列的第一數(shù)據(jù)塊;
響應于將所述接收到的消息寫入到所述消息隊列,更新所述生產(chǎn)者元信息。
可選地,所述方法還包括:
對所述消息隊列中的消息進行讀取,包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京一起教育信息咨詢有限責任公司,未經(jīng)北京一起教育信息咨詢有限責任公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010864840.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種野外廁所用能源收集裝置
- 下一篇:一種水質(zhì)監(jiān)測浮標
- 同類專利
- 專利分類
G06F 電數(shù)字數(shù)據(jù)處理
G06F3-00 用于將所要處理的數(shù)據(jù)轉(zhuǎn)變成為計算機能夠處理的形式的輸入裝置;用于將數(shù)據(jù)從處理機傳送到輸出設備的輸出裝置,例如,接口裝置
G06F3-01 .用于用戶和計算機之間交互的輸入裝置或輸入和輸出組合裝置
G06F3-05 .在規(guī)定的時間間隔上,利用模擬量取樣的數(shù)字輸入
G06F3-06 .來自記錄載體的數(shù)字輸入,或者到記錄載體上去的數(shù)字輸出
G06F3-09 .到打字機上去的數(shù)字輸出
G06F3-12 .到打印裝置上去的數(shù)字輸出
- 互動業(yè)務終端、實現(xiàn)系統(tǒng)及實現(xiàn)方法
- 街景地圖的實現(xiàn)方法和實現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實現(xiàn)裝置及其圖像實現(xiàn)方法
- 增強現(xiàn)實的實現(xiàn)方法以及實現(xiàn)裝置
- 軟件架構(gòu)的實現(xiàn)方法和實現(xiàn)平臺
- 數(shù)值預報的實現(xiàn)方法及實現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 輸入設備實現(xiàn)方法及其實現(xiàn)裝置





