一种基于fuse的访问对象存储集群的客户端的实现方法
【专利摘要】本发明公开了一种基于fuse的访问对象存储集群的客户端的实现方法,其具体实现过程为:客户端通过linux提供的fuse内核挂载,在客户端挂载的目录下对远端分布式对象存储系统进行访问,上述客户端分为内核模块和用户态守护进程模块两部分,其中内核模块以fuse为基础,处理用户在挂载目录下的操作形成的系统调用;用户态守护进程负责接收内核递交的系统调用请求,同时处理请求,并将请求返回给系统调用。该一种基于fuse的访问对象存储集群的客户端的实现方法与现有技术相比,极大的提高生产效率,提高集群的高可用性,实用性较强,能够节省人力,适用范围广泛,易于推广。
【专利说明】—种基于fuse的访问对象存储集群的客户端的实现方法
【技术领域】
[0001]本发明涉及计算机存储【技术领域】,具体地说是一种实用性强、基于fuse的访问对象存储集群的客户端的实现方法。
【背景技术】
[0002]随着互联网时代的到来,全世界各行各业每时每刻都在产生各种数据,为了收集管理这些数据,一些大的互联网企业或者其他产生大量数据的公司都建立了公共的或者私有的数据中心,对象存储以其良好的横向扩展性和存取效率逐渐取代文件系统成为静态海量数据存储的主流。
[0003]当前几乎所有的对象存储集群软件厂商都对外提供了访问集群的接口,用户为了更加高效的访问集群不得不去基于这些接口之上进行二次开发去访问集群,这无形之中就提高了应用的门槛。
[0004]基于此,现提供一种基于fuse的访问对象存储集群的客户端的实现方法。该方法能够挂载在客户机的文件系统目录下,然后在挂载目录下只存在一级目录,不允许创建对象,该目录实际上是对应到对象存储集群中的数据池,目录下是对象集合,通过该客户端用户可以像访问文件系统一样访问集群中的对象,从而提高生产效率。
【发明内容】
[0005]本发明的技术任务是针对以上不足之处,提供一种实用性强、基于fuse的访问对象存储集群的客户端的实现方法。
[0006]一种基于fuse的访问对象存储集群的客户端的实现方法,其具体实现过程为:
所述客户端通过linux提供的fuse内核挂载,在客户端挂载的目录下对远端分布式对象存储系统进行访问,上述客户端分为内核模块和用户态守护进程模块两部分,其中内核模块以fuse为基础,处理用户在挂载目录下的操作形成的系统调用,并且将系统调用以请求的方式放置到自定义的系统缓冲区,将要与用户态交互的数据页准备好映射到用户态地址空间;
用户态守护进程负责接收内核递交的系统调用请求,同时处理请求,并将请求返回给系统调用。
[0007]客户端在操作系统的文件树中的任意一个目录上进行挂载,在挂载点下只有一级目录,不能直接创建对象且以文件的形式展现,顶层目录为存储池,数据池下为对象。
[0008]客户端的用户态守护进程在处理请求时直接通过对象存储接口和集群进行交互,不在集群上额外存储信息,同时信息在客户端维护缓存信息。
[0009]本发明的一种基于fuse的访问对象存储集群的客户端的实现方法,具有以下优占-
^ \\\.该发明的一种基于fuse的访问对象存储集群的客户端的实现方法通过该客户端用户可以像访问文件系统一样访问集群中的对象,在该客户端维护缓存信息,极大的提高生产效率,提高集群的高可用性,实用性较强,能够节省人力,适用范围广泛,易于推广。
【专利附图】
【附图说明】
[0010]附图1为本发明的实现示意图。
【具体实施方式】
[0011]下面结合附图和具体实施例对本发明作进一步说明。
[0012]本发明提供一种基于fuse的访问对象存储集群的客户端的实现方法,如附图1所示,其具体实现过程为:
所述客户端通过linux提供的fuse内核挂载,在客户端挂载的目录下对远端分布式对象存储系统进行访问,上述客户端分为内核模块和用户态守护进程模块两部分,其中内核模块以fuse为基础,主要处理用户在挂载目录下的操作形成的系统调用,并且将系统调用以请求的方式放置到自定义的系统缓冲区,并且将要与用户态交互的数据页准备好映射到用户态地址空间。
[0013]用户态守护进程负责接收内核递交的系统调用请求,同时处理请求,并将请求返回给系统调用。
[0014]该客户端可以在操作系统的文件树中的任意一个目录上进行挂载过程,在挂载点下只有一级目录,不能直接创建对象(以文件的形式展现),顶层目录是存储池,数据池下是对象。
[0015]客户端的用户态守护进程在处理请求时直接通过对象存储接口和集群进行交互,不在集群上额外存储信息,同时信息在客户端维护缓存信息。
[0016]上述【具体实施方式】仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述【具体实施方式】,任何符合本发明的一种基于fuse的访问对象存储集群的客户端的实现方法的权利要求书的且任何所述【技术领域】的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
【权利要求】
1.一种基于fuse的访问对象存储集群的客户端的实现方法,其特征在于,其具体实现过程为: 所述客户端通过Iinux提供的fuse内核挂载,在客户端挂载的目录下对远端分布式对象存储系统进行访问,上述客户端分为内核模块和用户态守护进程模块两部分,其中 内核模块以fuse为基础,处理用户在挂载目录下的操作形成的系统调用,并且将系统调用以请求的方式放置到自定义的系统缓冲区,将要与用户态交互的数据页准备好映射到用户态地址空间; 用户态守护进程负责接收内核递交的系统调用请求,同时处理请求,并将请求返回给系统调用。
2.根据权利要求1所述的一种基于fuse的访问对象存储集群的客户端的实现方法,其特征在于,客户端在操作系统的文件树中的任意一个目录上进行挂载,在挂载点下只有一级目录,不能直接创建对象且以文件的形式展现,顶层目录为存储池,数据池下为对象。
3.根据权利要求1所述的一种基于fuse的访问对象存储集群的客户端的实现方法,其特征在于,用户态守护进程在处理请求时直接通过对象存储接口和集群进行交互,不在集群上额外存储信息,同时信息在客户端维护缓存信息。
【文档编号】H04L29/08GK104301442SQ201410650458
【公开日】2015年1月21日 申请日期:2014年11月17日 优先权日:2014年11月17日
【发明者】李 杰, 程瑶 申请人:浪潮电子信息产业股份有限公司