一种对象存储使用块设备作为数据存储的方法技术

技术编号:36707765 阅读:26 留言:0更新日期:2023-03-01 09:31
本发明专利技术提供了一种对象存储使用块设备作为数据存储的方法,当收到处理请求后,首先利用协议网关进行基础处理,然后判断是否具有写请求;如果有写请求则判断是否有可用卷,如果没有则先创建卷,然后转换为卷地址后写入,更新元数据记录后返回客户端;如果没有写请求则从元数据查询位置,转换为卷地址后读取数据内容后,返回客户端。本发明专利技术有益效果:一种对象存储使用块设备作为数据存储的方法,移除硬盘上的文件系统层,对象协议网关直接对接裸设备,去除了文件系统层的性能衰减。去除了文件系统层的性能衰减。去除了文件系统层的性能衰减。

【技术实现步骤摘要】
一种对象存储使用块设备作为数据存储的方法


[0001]本专利技术属于分布式存储领域,尤其是涉及一种对象存储使用块设备作为数据存储的方法。

技术介绍

[0002]对象存储大多由协议层和数据引擎层和元数据服务构成,其中协议层负责S3/SWIFT或者私有对象协议的实现,往往呈现为无状态应用,数据引擎层则负责实际数据的持久化及冗余恢复等功能。目前多数的协议层和数据引擎层之间采用kv接口或文件系统接口对接,以当前流行的开源对象存储为例,ceph的rgw通过kv接口访问数据引擎rados,minio对象存储则直接使用本地文件系统作为数据引擎。虽然使用kv或者文件协议对接会使得方案更加通用,但是在某些特定场景下,例如已有资源池中,块存储本身已经通过RAID或三副本机制实现了可靠性和高性能,在不增加额外存储资源的前提下,通过部署一个简单的对象协议网关,使用已有的块设备和元数据服务,从而快速具备高性能对象存储能力不失为一种更加容易让人接受的解决办法。

技术实现思路

[0003]有鉴于此,本专利技术旨在提出一种对象存储使用块设备作为数据存储的方法,本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种对象存储使用块设备作为数据存储的方法,其特征在于:当收到处理请求后,首先利用协议网关进行基础处理,然后判断是否具有写请求;如果有写请求则判断是否有可用卷,如果没有则先创建卷,然后转换为卷地址后写入,更新元数据记录后返回客户端;如果没有写请求则从元数据查询位置,转换为卷地址后读取数据内容后,返回客户端。2.根据权利要求1所述的一种对象存储使用块设备作为数据存储的方法,其特征在于:对象存储启动时候,从配置文件读取后端数据存储类型,如果类型是块设备,则ping块管理接口是否正常,确保可以正常调用。3.根据权利要求2所述的一种对象存储使用块设备作为数据存储的方法,其特征在于:当写IO到达时,判断是否有可用块用于写入,如果没有,则调用块设备管理接口创建块,创建成功后调用open接口,将其置于打开状态,如果有可用块可用于写入,则直接写入。4.根据权利要求3所述的一种对象存储使用块设备作为数据存储的方法,其特征在于:每一个block进行编号,写入时候从0开始并以此向后写入,写入成功之后更新当前卷的写入位置,当一个写IO到来时,从请求中获取到size信息,通过size计算出需要的4K个数,且对最后一个数据块的余位置0对齐,对齐之后,读取当前卷的写入位置,并以此写入位置为offset,将对齐后的buffer写入到卷中,写入成功之后,更新当前卷的写入位置,同时将原来的...

【专利技术属性】
技术研发人员:李韶雄
申请(专利权)人:紫光云技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1