[發明專利]一種分布式存儲塊置零方法、裝置、電子設備及存儲介質有效
| 申請號: | 201911039171.4 | 申請日: | 2019-10-29 |
| 公開(公告)號: | CN110795043B | 公開(公告)日: | 2023-06-06 |
| 發明(設計)人: | 楊飛虎 | 申請(專利權)人: | 北京浪潮數據技術有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 牛亭亭 |
| 地址: | 100085 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 分布式 存儲 塊置零 方法 裝置 電子設備 介質 | ||
本申請公開了一種分布式存儲塊置零方法,區別于現有技術通過調用dbs_wirte接口來實現塊置零效果的方式,本申請在確定接收到的WRITE_SAME命令是一個為實現塊置零效果的塊置零命令時,換用了分布式塊存儲庫libdbs提供的另一個功能接口—dbs_wirte接口通過刪除/截斷/打洞等操作從一個角度也實現了塊置零效果,諸如刪除等操作在大多數場景下擁有比dbs_wirte接口使用的寫入操作更加便捷、效率更高,而換用更簡便的操作也使得耗時更短、對存儲設備施加的負載更小。本申請還同時公開了一種分布式存儲塊置零裝置、電子設備及可讀存儲介質,具有上述有益效果。
技術領域
本申請涉及分布式存儲技術領域,特別涉及一種分布式存儲塊置零方法、裝置、電子設備及可讀存儲介質。
背景技術
在分布式存儲系統中,所有磁盤初始寫入之前,都必須進行清零操作,以通過在該磁盤的所有數據塊中寫入零的方式,清除所有可能之前遺留的數據。
現有針對分布式存儲塊的指令操作,是響應于下發的WRITE_SAME命令,通過調用dbs_wtire接口(分布式存儲提供的塊存儲庫libdbs的功能接口之一,其中的“dbs”是Distributed?block?service的英文縮寫,中文名為分布式塊服務)實現的。由于dbs_wtire接口是通過將待寫數據復制N份,再分別寫入每個目標存儲塊的方式實現的塊置零效果,大批量的復制和分別寫入將會導致執行效率低下,向存儲設備施加了較大的負載。
因此,針對現有技術存在的上述技術缺陷,如何提供一種執行效率更高、負載施加更小的分布式存儲塊置零方法,是本領域技術人員亟待解決的問題。
發明內容
本申請提供了一種分布式存儲塊置零方法、裝置、電子設備及可讀存儲介質,旨在提升分布式存儲塊置零的執行效率、減小對存儲設備施加的負載。
為實現上述目的,本申請提供了一種分布式存儲塊置零方法,包括:
接收WRITE_SAME命令;
判斷所述WRITE_SAME命令是否為塊置零命令;
若所述WRITE_SAME命令為所述塊置零命令,則調用dbs_discard接口將目標存儲塊置零。
可選的,判斷所述WRITE_SAME命令是否為塊置零命令,包括:
判斷所述WRITE_SAME命令是否附加有UNMAP標識;
若所述WRITE_SAME命令附加有所述UNMAP標識,則確定所述WRITE_SAME命令為所述塊置零命令。
可選的,當所述WRITE_SAME命令未附加有所述UNMAP標識時,還包括:
從所述WRITE_SAME命令中提取得到待寫數據;
判斷所述待寫數據是否全為0;
若所述待寫數據全為0,則確定所述WRITE_SAME命令為所述塊置零命令。
可選的,當所述WRITE_SAME命令不是所述塊置零命令時,還包括:
復制所述待寫數據,得到與所述目標存儲塊數量一致的各所述待寫數據;
調用dbs_write接口將各所述待寫數據分別寫入每個所述目標存儲塊。
為實現上述目的,本申請還提供了一種分布式存儲塊置零裝置,該裝置包括:
命令接收單元,用于接收WRITE_SAME命令;
塊置零命令判斷單元,用于判斷所述WRITE_SAME命令是否為塊置零命令;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京浪潮數據技術有限公司,未經北京浪潮數據技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911039171.4/2.html,轉載請聲明來源鉆瓜專利網。





