[發明專利]消息隊列實現方法、裝置及電子設備在審
| 申請號: | 202010864840.8 | 申請日: | 2020-08-25 |
| 公開(公告)號: | CN111984198A | 公開(公告)日: | 2020-11-24 |
| 發明(設計)人: | 潘大慶 | 申請(專利權)人: | 北京一起教育信息咨詢有限責任公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06;G06F9/54 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 林哲生 |
| 地址: | 100102 北京市朝陽*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 消息 隊列 實現 方法 裝置 電子設備 | ||
1.一種消息隊列實現方法,其特征在于,包括:
配置消息隊列,所述消息隊列為基于硬盤的本地隊列,所述消息隊列包括N個子隊列,且所述子隊列包括M個數據塊,其中N為大于1的整數,M為大于等于2的整數;
響應于接收到消息,依據與所述消息隊列相匹配的寫入格式,將所述接收到的消息寫入到所述消息隊列,所述寫入格式為將消息寫入第i個子隊列的第j個數據塊,待所述第i個子隊列的第j個數據塊寫滿消息后,將消息寫入第i+1個子隊列的第j個數據塊,直至第N個子隊列的第j個數據塊寫滿消息后,將消息寫入第i個子隊列的第j+1個數據塊的循環往返的寫入格式,其中,i為大于等于1小于等于N的整數,j為大于等于1小于等于M的整數。
2.根據權利要求1所述的方法,其特征在于,所述方法還包括:
響應于所述消息隊列應用于將內存消息寫入到硬盤時,在消息寫滿第i個子隊列的第j個數據塊,觸發數據同步機制,將所述第i個子隊列的第j個數據塊的消息同步至硬盤。
3.根據權利要求1所述的方法,其特征在于,所述消息隊列的子隊列包括生產元信息和消費元信息,所述生產元信息和所述消費元信息均包括塊內偏移、數據塊索引和位置總偏移。
4.根據權利要求3所述的方法,其特征在于,所述響應于接收到消息,依據與所述消息隊列相匹配的寫入格式,將所述接收到的消息寫入到所述消息隊列,包括:
響應于接收到消息,判斷所述消息是否合法,如果是,獲取所述消息隊列的當前工作的子隊列和所述生產者元信息,其中,所述當前工作的子隊列為所述消息隊列的第一子隊列,第一子隊列當前數據塊為第一數據塊;
根據所述生產者元信息,判斷所述第一子隊列的第一數據塊是否已經寫滿,如果否,將所述接收到的消息寫入到所述第一數據塊;
如果是,確定目標數據塊,將所述接收到的消息寫入到所述目標數據塊,所述目標數據塊為所述第一子隊列對應的第二子隊列的第一數據塊;
響應于將所述接收到的消息寫入到所述消息隊列,更新所述生產者元信息。
5.根據權利要求3所述的方法,其特征在于,所述方法還包括:
對所述消息隊列中的消息進行讀取,包括:
獲取所述消息隊列當前工作的子隊列;
若當前工作的子隊列中的當前數據塊的消息已被完整讀取,獲取到當前數據塊對應的目標數據塊,對所述下目標數據塊的消息進行讀取,所述目標數據塊為當前工作的子隊列對應的下一子隊列中的與所述當前數據塊在所述當前工作的子隊列中位置相同的數據塊;
若所述當前數據塊還存在未被讀取的消息,對所述當前數據塊進行消息讀取;
依據讀取到的消息,更新消費者元信息。
6.根據權利要求2所述的方法,其特征在于,所述方法還包括:
建立多個硬盤與內存的映射表,并確定硬盤的消息寫入的上限閾值;
響應于消息向內存寫入時,通過所述映射表輪詢與所述內存映射的多個硬盤,使得當消息寫入量達到當前硬盤上限閾值時,向下一硬盤寫入消息。
7.一種消息隊列實現裝置,其特征在于,包括:
配置單元,用于所述消息隊列為基于硬盤的本地隊列,所述消息隊列包括N個子隊列,且所述子隊列包括M個數據塊,其中N為大于1的整數,M為大于等于2的整數;
寫入單元,用于響應于接收到消息,依據與所述消息隊列相匹配的寫入格式,將所述接收到的消息寫入到所述消息隊列,所述寫入格式為將消息寫入第i個子隊列的第j個數據塊,待所述第i個子隊列的第j個數據塊寫滿消息后,將消息寫入第i+1個子隊列的第j個數據塊,直至第N個子隊列的第j個數據塊寫滿消息后,將消息寫入第i個子隊列的第j+1個數據塊的循環往返的寫入格式,其中,i為大于等于1小于等于N的整數,j為大于等于1小于等于M的整數。
8.根據權利要求7所述的裝置,其特征在于,所述裝置還包括:
同步單元,用于響應于所述消息隊列應用于將內存消息寫入到硬盤時,在消息寫滿第i個子隊列的第j個數據塊,觸發數據同步機制,將所述第i個子隊列的第j個數據塊的消息同步至硬盤。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京一起教育信息咨詢有限責任公司,未經北京一起教育信息咨詢有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010864840.8/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種野外廁所用能源收集裝置
- 下一篇:一種水質監測浮標





