[發(fā)明專利]高并發(fā)數(shù)據(jù)存儲(chǔ)方法及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)在審
| 申請(qǐng)?zhí)枺?/td> | 201711406104.2 | 申請(qǐng)日: | 2017-12-22 |
| 公開(公告)號(hào): | CN108170758A | 公開(公告)日: | 2018-06-15 |
| 發(fā)明(設(shè)計(jì))人: | 劉德建;陳來件;歐寧;李永均;郭玉湖 | 申請(qǐng)(專利權(quán))人: | 福建天泉教育科技有限公司 |
| 主分類號(hào): | G06F17/30 | 分類號(hào): | G06F17/30 |
| 代理公司: | 福州市博深專利事務(wù)所(普通合伙) 35214 | 代理人: | 林志崢 |
| 地址: | 350212 福建省福州市長(zhǎng)樂*** | 國(guó)省代碼: | 福建;35 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 緩沖區(qū) 寫入 空閑緩沖區(qū)隊(duì)列 緩沖區(qū)隊(duì)列 線程池 計(jì)算機(jī)可讀存儲(chǔ)介質(zhì) 并發(fā) 數(shù)據(jù)存儲(chǔ) 隊(duì)列 隊(duì)列緩沖區(qū) 獲取系統(tǒng) 繼續(xù)執(zhí)行 節(jié)省系統(tǒng) 時(shí)間查看 無鎖 線程 預(yù)設(shè) 創(chuàng)建 取出 生產(chǎn) | ||
本發(fā)明公開了一種高并發(fā)數(shù)據(jù)存儲(chǔ)方法及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),方法包括:創(chuàng)建多個(gè)無鎖并發(fā)隊(duì)列緩沖區(qū);創(chuàng)建空閑緩沖區(qū)隊(duì)列和待消費(fèi)緩沖區(qū)隊(duì)列;從空閑緩沖區(qū)隊(duì)列中選取一緩沖區(qū)作為寫入緩沖區(qū);根據(jù)預(yù)設(shè)的周期時(shí)間查看寫入緩沖區(qū),若有數(shù)據(jù)寫入,則將寫入緩沖區(qū)加入至待消費(fèi)緩沖區(qū)隊(duì)列;繼續(xù)執(zhí)行從空閑緩沖區(qū)隊(duì)列中選取一緩沖區(qū)作為寫入緩沖區(qū)的步驟;將待消費(fèi)緩沖區(qū)隊(duì)列中的緩沖區(qū)加入至線程池隊(duì)列;線程池中的線程依次從所述線程池隊(duì)列中取出一緩沖區(qū)進(jìn)行消費(fèi)。本發(fā)明可明確獲取系統(tǒng)的負(fù)載情況、數(shù)據(jù)的生產(chǎn)和消費(fèi)速度,同時(shí)可節(jié)省系統(tǒng)資源。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域,尤其涉及一種高并發(fā)數(shù)據(jù)存儲(chǔ)方法及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
背景技術(shù)
現(xiàn)有的高并發(fā)數(shù)據(jù)存儲(chǔ)方案,使用并發(fā)隊(duì)列來緩存數(shù)據(jù)。對(duì)于并發(fā)隊(duì)列進(jìn)行數(shù)據(jù)分片,這里的分片策略可以根據(jù)時(shí)間或者主鍵的特性(如取模、hash)將隊(duì)列中的數(shù)據(jù)劃分。再將分片后的數(shù)據(jù)交由線程池進(jìn)行多線程消費(fèi)。消費(fèi)的含義為:將數(shù)據(jù)傳輸給下游組件,比如將數(shù)據(jù)傳輸至數(shù)據(jù)庫存儲(chǔ)或者如Kafka等消息中間件。
但上述方案存在以下缺點(diǎn):
1、單一的高并發(fā)隊(duì)列,無法明確的獲取到系統(tǒng)的負(fù)載情況、數(shù)據(jù)的生產(chǎn)和消費(fèi)速度。
2、對(duì)數(shù)據(jù)隊(duì)列的分片操作,無論采用何種分片策略,都將消耗一定的資源;如根據(jù)數(shù)據(jù)的主鍵進(jìn)行hash,就必須對(duì)所有的數(shù)據(jù)的主鍵進(jìn)行hash操作。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是:提供一種高并發(fā)數(shù)據(jù)存儲(chǔ)方法及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),可明確獲取系統(tǒng)的負(fù)載情況、數(shù)據(jù)的生產(chǎn)和消費(fèi)速度,同時(shí)可節(jié)省系統(tǒng)資源。
為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為:一種高并發(fā)數(shù)據(jù)存儲(chǔ)方法,包括:
創(chuàng)建多個(gè)無鎖并發(fā)隊(duì)列緩沖區(qū);
創(chuàng)建空閑緩沖區(qū)隊(duì)列和待消費(fèi)緩沖區(qū)隊(duì)列,所述空閑緩沖區(qū)隊(duì)列用于存儲(chǔ)空閑的緩沖區(qū),所述待消費(fèi)緩沖區(qū)隊(duì)列用于存儲(chǔ)待消費(fèi)的緩沖區(qū);
從所述空閑緩沖區(qū)隊(duì)列中選取一緩沖區(qū)作為寫入緩沖區(qū);
根據(jù)預(yù)設(shè)的周期時(shí)間查看所述寫入緩沖區(qū),若有數(shù)據(jù)寫入,則將所述寫入緩沖區(qū)加入至待消費(fèi)緩沖區(qū)隊(duì)列;
繼續(xù)執(zhí)行所述從所述空閑緩沖區(qū)隊(duì)列中選取一緩沖區(qū)作為寫入緩沖區(qū)的步驟;
將待消費(fèi)緩沖區(qū)隊(duì)列中的緩沖區(qū)加入至線程池隊(duì)列;
線程池中的線程依次從所述線程池隊(duì)列中取出一緩沖區(qū)進(jìn)行消費(fèi)。
本發(fā)明還涉及一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)以下步驟:
創(chuàng)建多個(gè)無鎖并發(fā)隊(duì)列緩沖區(qū);
創(chuàng)建空閑緩沖區(qū)隊(duì)列和待消費(fèi)緩沖區(qū)隊(duì)列,所述空閑緩沖區(qū)隊(duì)列用于存儲(chǔ)空閑的緩沖區(qū),所述待消費(fèi)緩沖區(qū)隊(duì)列用于存儲(chǔ)待消費(fèi)的緩沖區(qū);
從所述空閑緩沖區(qū)隊(duì)列中選取一緩沖區(qū)作為寫入緩沖區(qū);
根據(jù)預(yù)設(shè)的周期時(shí)間查看所述寫入緩沖區(qū),若有數(shù)據(jù)寫入,則將所述寫入緩沖區(qū)加入至待消費(fèi)緩沖區(qū)隊(duì)列;
繼續(xù)執(zhí)行所述從所述空閑緩沖區(qū)隊(duì)列中選取一緩沖區(qū)作為寫入緩沖區(qū)的步驟;
將待消費(fèi)緩沖區(qū)隊(duì)列中的緩沖區(qū)加入至線程池隊(duì)列;
線程池中的線程依次從所述線程池隊(duì)列中取出一緩沖區(qū)進(jìn)行消費(fèi)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于福建天泉教育科技有限公司,未經(jīng)福建天泉教育科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711406104.2/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)
- 一種主動(dòng)回收數(shù)據(jù)緩沖區(qū)的方法
- 緩沖區(qū)控制裝置及方法
- 緩沖區(qū)數(shù)的調(diào)整方法和裝置
- 一種面向多租戶的緩沖區(qū)管理方法及服務(wù)器
- 一種汽車CAN總線網(wǎng)關(guān)的報(bào)文收發(fā)方法及系統(tǒng)
- 數(shù)據(jù)緩沖方法、裝置及存儲(chǔ)介質(zhì)
- 高并發(fā)數(shù)據(jù)存儲(chǔ)方法及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 環(huán)形緩沖區(qū)的數(shù)據(jù)寫入方法、裝置、設(shè)備及介質(zhì)
- 一種能夠保證接收數(shù)據(jù)完整性的數(shù)據(jù)緩沖系統(tǒng)及方法
- 一種串口通信中的雙指針環(huán)形緩沖區(qū)設(shè)計(jì)方法及系統(tǒng)
- 一種解決存儲(chǔ)器局部失效的方法
- 分級(jí)緩沖區(qū)管理系統(tǒng)及方法
- 一種TCP流重組拼包方法和裝置
- 對(duì)多套Turbo譯碼器進(jìn)行調(diào)度的方法和裝置
- 遠(yuǎn)程消息收發(fā)吞吐量?jī)?yōu)化和等待時(shí)間縮短用系統(tǒng)和方法
- 實(shí)現(xiàn)多核移動(dòng)終端升級(jí)的方法、系統(tǒng)及裝置
- 一種緩存管理的方法和裝置
- 一種數(shù)據(jù)緩沖區(qū)的復(fù)用方法與系統(tǒng)
- 動(dòng)態(tài)共享緩沖存儲(chǔ)器及交換機(jī)
- 高并發(fā)數(shù)據(jù)存儲(chǔ)方法及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 串流數(shù)據(jù)緩沖裝置及其存取方法
- 一種零拷貝緩沖區(qū)隊(duì)列網(wǎng)絡(luò)數(shù)據(jù)發(fā)送的管理方法
- 一種零拷貝緩沖區(qū)隊(duì)列網(wǎng)絡(luò)數(shù)據(jù)接收的管理方法
- 分級(jí)緩沖區(qū)管理系統(tǒng)及方法
- 基于零拷貝方式的多應(yīng)用程序報(bào)文接收方法和裝置
- 基于流水線模式的數(shù)據(jù)包零拷貝的核間通信方法
- 一種面向Web防火墻的分組動(dòng)態(tài)存儲(chǔ)方法
- 高并發(fā)數(shù)據(jù)存儲(chǔ)方法及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 文件管理方法、系統(tǒng)以及電子設(shè)備
- 一種并行的糾刪碼編解碼方法及系統(tǒng)





