[發(fā)明專利]Key-Value數(shù)據(jù)庫用戶請求的高速并發(fā)處理方法有效
| 申請?zhí)枺?/td> | 201310164022.7 | 申請日: | 2013-05-07 |
| 公開(公告)號: | CN103218455A | 公開(公告)日: | 2013-07-24 |
| 發(fā)明(設(shè)計)人: | 李根;王睿伯;盧凱;遲萬慶;馮華;蔣杰;劉勇鵬;高穎慧;唐宏偉;樊葆華;王小平 | 申請(專利權(quán))人: | 中國人民解放軍國防科學(xué)技術(shù)大學(xué) |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06F9/38 |
| 代理公司: | 湖南兆弘專利事務(wù)所 43008 | 代理人: | 趙洪;譚武藝 |
| 地址: | 410073 湖南省長沙市硯瓦池正*** | 國省代碼: | 湖南;43 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | key value 數(shù)據(jù)庫 用戶 請求 高速 并發(fā) 處理 方法 | ||
1.一種Key-Value數(shù)據(jù)庫用戶請求的高速并發(fā)處理方法,其特征在于實施步驟如下:
1)接收用戶請求并按接收順序加入請求緩沖隊列;
2)首先初始化用于存儲鍵碼與待處理隊列之間一一映射關(guān)系的鍵碼分類排隊表,然后持續(xù)按照先進先出的順序從所述請求緩沖隊列中彈出用戶請求,根據(jù)用戶請求中鍵碼的不同分揀到不同待處理隊列中,并將鍵碼與待處理隊列的映射關(guān)系添加至所述鍵碼分類排隊表中;
3)首先初始化用于可并發(fā)處理的請求集合,然后持續(xù)彈出各個待處理隊列頭部的用戶請求并加入至所述請求集合中,使用預(yù)設(shè)數(shù)量的工作者線程并行處理所述請求集合中的用戶請求,并向用戶返回處理結(jié)果。
2.根據(jù)權(quán)利要求1所述的Key-Value數(shù)據(jù)庫用戶請求的高速并發(fā)處理方法,其特征在于,所述步驟1)的詳細實施步驟如下:
1.1)監(jiān)控用戶指定的網(wǎng)絡(luò)端口,當(dāng)有一個新的套接字用戶連接建立后為對應(yīng)的用戶啟動一個接收線程,通過各個用戶對應(yīng)的接收線程分別接收用戶發(fā)出的用戶請求;
1.2)將接收的用戶請求附帶上用戶消息,然后按接收順序添加到請求緩沖隊列的頭部。
3.根據(jù)權(quán)利要求2所述的Key-Value數(shù)據(jù)庫用戶請求的高速并發(fā)處理方法,其特征在于,所述步驟2)的詳細實施步驟如下:
2.1)初始化用于存儲鍵碼與待處理隊列之間一一映射關(guān)系的鍵碼分類排隊表為空,跳轉(zhuǎn)執(zhí)行下一步;
2.2)判斷所述請求緩沖隊列是否為空,如果所述請求緩沖隊列為空則繼續(xù)等待直至請求緩沖隊列非空,在請求緩沖隊列非空時跳轉(zhuǎn)執(zhí)行下一步;
2.3)按照先進先出的原則,從所述請求緩沖隊列的尾部彈出最先進入所述請求緩沖隊列的用戶請求,跳轉(zhuǎn)執(zhí)行下一步;
2.4)在所述鍵碼分類排隊表中查找是否有與被彈出用戶請求的鍵碼相對應(yīng)的待處理隊列,如果有則將被彈出用戶請求添加到所述對應(yīng)的待處理隊列尾部,將被彈出用戶請求的鍵碼和所述待處理隊列的映射關(guān)系添加至所述鍵碼分類排隊表中;否則,新建一個以被彈出用戶請求為頭的待處理隊列,將被彈出用戶請求的鍵碼和新建待處理隊列的映射關(guān)系添加至所述鍵碼分類排隊表中;跳轉(zhuǎn)執(zhí)行下一步;
2.5)跳轉(zhuǎn)執(zhí)行步驟2.2)。
4.根據(jù)權(quán)利要求3所述的Key-Value數(shù)據(jù)庫用戶請求的高速并發(fā)處理方法,其特征在于,所述步驟3)的詳細實施步驟如下:
3.1)初始化用于存儲可并發(fā)處理用戶請求的請求集合為空,跳轉(zhuǎn)執(zhí)行下一步;
3.2)檢查所述鍵碼分類排隊表中是否有新增鍵碼與待處理隊列之間的映射關(guān)系,如果沒有則繼續(xù)等待直到所述鍵碼分類排隊表中有新增鍵碼與待處理隊列之間的映射關(guān)系,在所述鍵碼分類排隊表有新增鍵碼與待處理隊列之間的映射關(guān)系時則跳轉(zhuǎn)執(zhí)行下一步;
3.3)找出所述新增鍵碼與待處理隊列之間的映射關(guān)系,將所述新增的映射關(guān)系中鍵碼所對應(yīng)各個待處理隊列頭部的用戶請求彈出并添加到所述請求集合中,跳轉(zhuǎn)執(zhí)行下一步;
3.4)判斷預(yù)設(shè)數(shù)量的工作者線程是否啟動,如果沒有則啟動預(yù)設(shè)數(shù)量的工作者線程;通過所述工作者線程并發(fā)執(zhí)行所述請求集合中用戶請求并返回執(zhí)行結(jié)果,在所述請求集合中的所有用戶請求被處理完畢后返回執(zhí)行步驟3.2)。
5.根據(jù)權(quán)利要求4所述的Key-Value數(shù)據(jù)庫用戶請求的高速并發(fā)處理方法,其特征在于,所述步驟3.4)中通過工作者線程并發(fā)執(zhí)行所述請求集合中用戶請求并返回執(zhí)行結(jié)果的詳細實施步驟如下:
3.4.1)判斷所述請求集合是否為空,如果請求集合為空則等待;在所述請求集合非空時,跳轉(zhuǎn)執(zhí)行下一步;
3.4.2)從所述請求集合中隨機取出一個用戶請求作為當(dāng)前用戶請求發(fā)送給Key-Value數(shù)據(jù)庫的后端數(shù)據(jù)處理引擎進行讀寫數(shù)據(jù);
3.4.3)將Key-Value數(shù)據(jù)庫的后端數(shù)據(jù)處理引擎輸出當(dāng)前用戶請求的執(zhí)行結(jié)果返回給用戶,在所述鍵碼分類排隊表中檢查當(dāng)前用戶請求的鍵碼對應(yīng)的待處理隊列中是否仍有用戶請求,如果仍有用戶請求則從所述對應(yīng)的待處理隊列的頭部彈出一個用戶請求并添加到所述請求集合中,如果沒有用戶請求則將當(dāng)前用戶請求的鍵碼與對應(yīng)的待處理隊列的映射關(guān)系從所述鍵碼分類排隊表中刪除;
3.4.4)跳轉(zhuǎn)執(zhí)行步驟3.4.1)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國人民解放軍國防科學(xué)技術(shù)大學(xué),未經(jīng)中國人民解放軍國防科學(xué)技術(shù)大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310164022.7/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種燒錄密鑰的方法、數(shù)字終端及系統(tǒng)
- 一種采用雙key值的高維索引結(jié)構(gòu)構(gòu)建方法和檢索方法
- 一種保證KEY安全燒錄的方法、發(fā)送端、工具端及燒錄端
- HDCP KEY發(fā)送方法、燒錄方法及裝置
- redis緩存清理方法、服務(wù)器及計算機可讀存儲介質(zhì)
- key-value數(shù)據(jù)庫中的數(shù)據(jù)壓縮方法、訪問方法和系統(tǒng)
- Key碼確定方法、裝置、設(shè)備及存儲介質(zhì)
- key文件的合成方法、裝置及計算機可讀存儲介質(zhì)
- 緩存集群優(yōu)化方法、設(shè)備及存儲介質(zhì)
- 熱Key數(shù)據(jù)并發(fā)響應(yīng)方法、裝置、設(shè)備及存儲介質(zhì)
- 一種key與value分開存儲的key-value存儲系統(tǒng)設(shè)計方法
- 基于無向圖的用戶賬號查找方法及裝置
- 信號發(fā)生器和用于生成信號變化曲線的方法
- 一種數(shù)據(jù)處理方法以及NVMe存儲器
- 針對區(qū)塊鏈數(shù)據(jù)庫的數(shù)據(jù)壓縮方法、訪問方法和系統(tǒng)
- key-value數(shù)據(jù)庫中的數(shù)據(jù)壓縮方法、存儲方法、訪問方法和系統(tǒng)
- key-value數(shù)據(jù)庫中的數(shù)據(jù)壓縮方法、訪問方法和系統(tǒng)
- 一種數(shù)據(jù)處理方法以及NVMe存儲器
- 一種分布式對象存儲元數(shù)據(jù)的存儲方法、設(shè)備及存儲介質(zhì)
- 一種handle標(biāo)識解析狀態(tài)的確定方法及裝置
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構(gòu)筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構(gòu)筑方法、以及數(shù)據(jù)庫檢索方法
- 數(shù)據(jù)庫和數(shù)據(jù)庫處理方法
- 數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫更新方法、數(shù)據(jù)庫以及數(shù)據(jù)庫更新程序
- 容器數(shù)據(jù)庫
- 數(shù)據(jù)庫同步方法及數(shù)據(jù)庫
- 一種MongoDB數(shù)據(jù)庫對象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲方法、裝置、電子設(shè)備及存儲介質(zhì)
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置





