[發(fā)明專利]一種讀寫性能優(yōu)化方法及裝置有效
| 申請?zhí)枺?/td> | 202110481138.8 | 申請日: | 2021-04-30 |
| 公開(公告)號: | CN113253925B | 公開(公告)日: | 2022-08-30 |
| 發(fā)明(設(shè)計)人: | 王潤強 | 申請(專利權(quán))人: | 新華三大數(shù)據(jù)技術(shù)有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 450000 河南省鄭州市鄭州高*** | 國省代碼: | 河南;41 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 讀寫 性能 優(yōu)化 方法 裝置 | ||
本申請涉及分布式存儲技術(shù)領(lǐng)域,特別涉及一種讀寫性能優(yōu)化方法及裝置。該方法包括:接收目標客戶端發(fā)送的業(yè)務(wù)命令,并判斷所述業(yè)務(wù)命令的類型;若判定所述業(yè)務(wù)命令為目標對象的讀/寫請求,則基于所述業(yè)務(wù)命令對所述目標對象進行讀/寫處理;在所述讀/寫請求執(zhí)行完成后,若object?map中所述目標對象的狀態(tài)不變/由其它狀態(tài)調(diào)整為有數(shù)據(jù)狀態(tài),則不通知除所述目標客戶端之外的其它客戶端更新object?map;否則,通知所述其它客戶端更新object?map。
技術(shù)領(lǐng)域
本申請涉及分布式存儲技術(shù)領(lǐng)域,特別涉及一種讀寫性能優(yōu)化方法及裝置。
背景技術(shù)
Ceph是開源的軟件定義存儲,在經(jīng)過了數(shù)年的發(fā)展之后,目前已得到眾多云計算廠商的支持并被廣泛應(yīng)用。RedHat及OpenStack都可與Ceph整合以支持虛擬機鏡像的后端存儲。
在支持object-map特性之前,組成image的各數(shù)據(jù)對象的存在狀態(tài)是未知的。當需要做一些遍歷image所有數(shù)據(jù)對象的操作時,即使組成image的真實存在的數(shù)據(jù)對象非常稀疏,執(zhí)行類似于克隆分離、已使用容量計算等操作時,依然需要遍歷整個image的所有數(shù)據(jù)對象,導(dǎo)致執(zhí)行時間較長。
引入object-map特性可以有效緩解上述問題,就是將image中所有數(shù)據(jù)對象的存在狀態(tài)記錄在一個獨立的元數(shù)據(jù)對象中,也即rbd_object_map對象。每個數(shù)據(jù)對象的狀態(tài)使用兩個比特位進行表示。
雖然引入object-map特性,解決了遍歷image所有數(shù)據(jù)對象的耗時問題。但維護object-map也需要付出一定的性能代價。實際應(yīng)用中,IO請求會修改object-map,因此多客戶端場景下發(fā)IO請求時,客戶端首先需要競爭到exclusive-lock鎖,才能下發(fā)IO寫數(shù)據(jù),將多客戶端的并發(fā)IO請求限制為串行下發(fā)。為了保證多客戶端場景下的object-map準確性,所有涉及object-map的操作,首先需要獲取exclusive-lock,重新加載object-map,或者將請求發(fā)送到持有exclusive-lock的客戶端去執(zhí)行,在多客戶端場景,嚴重影響了image的寫IO性能。對于上述問題,目前尚未提出有效的解決方案。
發(fā)明內(nèi)容
本申請?zhí)峁┝艘环N讀寫性能優(yōu)化方法及裝置,用以解決現(xiàn)有技術(shù)中存在的多客戶端場景下IO性能低的問題。
第一方面,本申請?zhí)峁┝艘环N讀寫性能優(yōu)化方法,應(yīng)用于分布式存儲塊設(shè)備,所述方法包括:
接收目標客戶端發(fā)送的業(yè)務(wù)命令,并判斷所述業(yè)務(wù)命令的類型;
若判定所述業(yè)務(wù)命令為目標對象的讀/寫請求,則基于所述業(yè)務(wù)命令對所述目標對象進行讀/寫處理;
在所述讀/寫請求執(zhí)行完成后,若object-map中所述目標對象的狀態(tài)不變/由其它狀態(tài)調(diào)整為有數(shù)據(jù)狀態(tài),則不通知除所述目標客戶端之外的其它客戶端更新object-map;否則,通知所述其它客戶端更新object-map。
可選地,所述業(yè)務(wù)命令為管理流請求,所述方法還包括:
將獨占鎖配置給所述目標客戶端發(fā)送的所述管理流請求,并基于所述獨占鎖,執(zhí)行所述目標客戶端發(fā)送的所述管理流請求,以及基于所述管理流請求調(diào)整object-map中各對象的狀態(tài),得到更新后的object-map。
可選地,所述其它狀態(tài)包括:無數(shù)據(jù)狀態(tài),待刪除狀態(tài)和快照保護狀態(tài);
所述管理流請求包括:分布式存儲塊設(shè)備的擴容請求,元數(shù)據(jù)設(shè)置請求,元數(shù)據(jù)刪除請求,分布式存儲塊設(shè)備快照的創(chuàng)建請求、快照的刪除請求、快照的回滾請求。
可選地,基于所述管理流請求調(diào)整object-map中各對象的狀態(tài)之后,所述方法還包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于新華三大數(shù)據(jù)技術(shù)有限公司,未經(jīng)新華三大數(shù)據(jù)技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110481138.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字數(shù)據(jù)處理
G06F3-00 用于將所要處理的數(shù)據(jù)轉(zhuǎn)變成為計算機能夠處理的形式的輸入裝置;用于將數(shù)據(jù)從處理機傳送到輸出設(shè)備的輸出裝置,例如,接口裝置
G06F3-01 .用于用戶和計算機之間交互的輸入裝置或輸入和輸出組合裝置
G06F3-05 .在規(guī)定的時間間隔上,利用模擬量取樣的數(shù)字輸入
G06F3-06 .來自記錄載體的數(shù)字輸入,或者到記錄載體上去的數(shù)字輸出
G06F3-09 .到打字機上去的數(shù)字輸出
G06F3-12 .到打印裝置上去的數(shù)字輸出





