[发明专利]一种分布式存储块置零方法、装置、电子设备及存储介质有效
申请号: | 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.vipzhuanli.com/pat/books/201911039171.4/2.html,转载请声明来源钻瓜专利网。