【技术实现步骤摘要】
一种支持多协议互通的对象多版本存储系统
[0001]本专利技术属于数据存储
,具体涉及一种支持多协议互通的对象多版本存储系统
。
技术介绍
[0002]对象存储是一种专门用于存储大规模非结构化数据的存储方式,并随着云计算
、
大数据等技术的发展,日益受到人们的关注
。
在不同的场景中,上层应用通常需要使用不同的存储访问协议来访问对象存储,如
S3、NFS、SMB
等,并且希望用不同的访问协议来访问同一份数据
。
把这种多种存储协议同时访问同一份数据的数据访问方式,称为多协议互通
。
对象存储系统中,如何支持多协议互通是一个技术难点
。
[0003]现有的多数对象存储产品通常只支持和
S3
相兼容的
RESTful API
访问方式;或者在不同的存储池上支持不同的协议
。
这些对象存储通常无法支持多种存储协议同时访问同一份数据
。
这将导致上层应用在使用过程中需要在不同的存储协议之间进行数据转换,增加了系统的复杂度和开发成本
。
[0004]而在支持多协议互通的对象存储系统中,一般只实现了各个协议中最基本的功能特性,比如创建对象,删除对象,读写对象内容等;而各协议中的多种其他功能特性都受到限制,受限的功能特性或者不被系统支持,或者无法支持协议间互通
。
在这些受限的功能特性中,多版本是最重要的功能特性之一
。 ...
【技术保护点】
【技术特征摘要】
1.
一种支持多协议互通的对象多版本存储系统,其特征在于,包括多个网关节点(
101
)和多个服务节点(
102
),多个网关节点(
101
)和多个服务节点(
102
)通过计算机网络设备相互连接和通信;每个所述网关节点(
101
)均包括:
S3
协议网关,用于提供基于
S3 API
访问存储系统的服务端点,外部应用能够通过访问
S3
协议网关上传
、
下载
、
删除文件,以及查询系统中文件的信息;
NFS
协议网关和
SMB
协议网关,均与
FUSE
内核模块连接,用于对外部应用提供虚拟的文件夹,并把虚拟的文件夹映射到
Linux
操作系统的本地文件夹上;然后通过
Linux
的
FUSE
驱动机制,把所述文件夹上接收到的系统调用适配到客户端(
103
)上;每个服务节点(
102
)均包括:分布式元数据服务端(
104
),与所述
S3
协议网关和
FUSE
驱动通信连接,用于以
Key
‑
Value
对的形式保存对象的高层元数据;对象内容服务端(
105
),与所述
S3
协议网关和
FUSE
驱动通信连接,用于以
RPC
远程调用接口的方式对外提供对象的底层元数据和对象内容;块存储(
106
),与对象内容服务端(
105
)通信连接,用于保存对象内容服务端(
105
)中的底层元数据和对象内容
。2.
根据权利要求1所述的支持多协议互通的对象多版本存储系统,其特征在于,所述高层元数据保存对象的多版本信息,并以
Key
‑
Value
对的形式保存在分布式
KV
数据库中;所述底层元数据以数据块的形式保存在块存储(
106
)上,并以写时拷贝的方式更新,所述对象内容以数据块的形式保存在块存储(
106
)上,并以日志结构方式更新
。3.
根据权利要求1所述的支持多协议互通的对象多版本存储系统,其特征在于,所述客户端(
103
)是嵌入到协议网关或
FUSE
驱动程序中的程序库,为上层程序逻辑提供能够访问的
API
接口
。4.
根据权利要求3所述的支持多协议互通的对象多版本存储系统,其特征在于,所述客户端(
103
)通过
RPC
远程调用的方法访问服务节点(
102
)中的分布式元数据服务端(
104
)来访问对象的高层元数据,并调用对象内容服务端(
105
)来访问对象的底层元数据以及对象内容的数据块
。5.
根据权利要求4所述的支持多协议互通的对象多版本存储系统,其特征在于,所述客户端(
103
)对外部提供的
API
接口分为目录操作和对象操作两大类,目录操作包括创建目录
、
删除目录
、
列出目录中内容及目录改名;对象操作包括创建对象
、
删除对象
、
打开对象
、
提交对象
、
读对象内容及写对象内容
。6.
根据权利要求1所述的支持多协议互通的对象多版本存储系统,其特征在于,所述块存储(
106
)中的一个存储单位称为一个存储池,所述存储池的物理存储结构为:存储池物理上划分为多个存储池分片,每个存储池分片由一个
iNode
卷
、
若干个
Map
卷和若干个数据卷构成;存储池分片的各个卷存储在块存储(
106
)上,存储池分片记录了对象的底层元数据,所述...
【专利技术属性】
技术研发人员:张颖,李铁,
申请(专利权)人:创云融达信息技术天津股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。