【技术实现步骤摘要】
一种Ceph分布式对象存储目录检索方法及装置
[0001]本专利技术涉及分布式存储
,尤其涉及一种Ceph分布式对象存储目录检索方法及装置。
技术介绍
[0002]Ceph是具有高性能、高可用、高可扩展且特性丰富的分布式存储系统,支持文件存储、对象存储及块存储。其中在对象存储中,Ceph提供的RGW组件(rados gateway),可以支持对接S3协议和Switch协议,客户端通过协议进行对象(文件)的上传/下载/删除/检索等功能。同时Ceph对象存储支持使用nfs
‑
ganesha对桶进行挂载,并以类似于文件存储的方式访问对象存储的内容,极大的提高了访问对象存储的方便性。
[0003]由于对象存储本身的特性,它没有文件系统那样的文件目录树结构,所以对象系统的检索只能是通过前缀(prefix),下到osd中将满足前缀的所有对象进行枚举,然后再根据请求的具体内容对所有枚举结果进行提取。但是很多时候,用户只是想枚举某层目录下的子目录或文件对象,对于文件对象的枚举,目前的机制可以满足大部分检索请求,因为对象存储检索对象本来就是枚举这些对象,所以枚举出多少只要返回上层就可以了。但对于目录的枚举,尤其是目录下又嵌套非常多目录的情况,目前的检索机制就非常低效,只能是将这些嵌套目录的最底层对象枚举出来后进行提取。
技术实现思路
[0004]有鉴于此,本专利技术提供了一种Ceph分布式对象存储目录检索方法及装置,用以解决对于目录的枚举,尤其是目录下又嵌套非常多目录的情况,目前的检索机 ...
【技术保护点】
【技术特征摘要】
1.一种Ceph分布式对象存储目录检索方法,其特征在于,包括:获取各个目录结构的访问次数,依据所述访问次数将所述各个目录结构分别划分到热链表、温链表和冷链表中;在接收到对目标目录结构的检索请求的情况下,获取所述检索请求的检索类型,其中,所述检索类型包括:写入请求、读取请求、删除请求、拷贝请求和移动请求中的一种或几种;依据所述检索类型依次在所述热链表、所述温链表和所述冷链表中对所述目标目录结构进行检索。2.根据权利要求1所述的方法,其特征在于,依据所述访问次数将所述各个目录结构分别划分到热链表、温链表和冷链表中,包括:判断当前访问次数是否大于预设的访问次数阈值,若是,将所述当前访问次数对应的目录结构划分至所述热链表,若否,将所述当前访问次数对应的目录结构划分至所述冷链表;在所述热链表中链表长度大于所述热链表的最大长度的情况下,将所述热链表中大于所述最大长度的部分划分至所述温链表;在检测到任一目标结构目录划分至所述温链表的情况下,开始计时,若其经过预设时长后仍处于所述温链表中,将其添加至所述冷链表。3.根据权利要求2所述的方法,其特征在于,还包括:所述热链表中的当前目录结构在大于热链表窗口值的情况下被访问,将所述当前目录结构重新移动到所述热链表的头部。4.根据权利要求2所述的方法,其特征在于,在所述检索类型为写入请求和拷贝请求的情况下,依据所述检索类型依次在所述热链表、所述温链表和所述冷链表中对所述目标目录结构进行检索,包括:判断所述目标目录结构是否存储在所述热链表中,若是,获取所述目标目录结构的实际层数和位置,依据所述实际层数和所述位置令所述目标目录结构记录的直接子目录数或者直接对象数+1或者保持不变;若否,判断所述目标目录结构是否存储在所述温链表中;若所述目标目录结构不存储在所述温链表中,则查找所述冷链表中是否存在所述目标目录结构,若所述冷链表中存在所述目标目录结构,更新所述目标目录结构的实际层数和位置,或,若所述冷链表中不存在所述目标目录结构,将所述目标目录结构添加到所述冷链表中。5.根据权利要求2所述的方法,其特征在于,在所述检索类型为读取请求的情况下,依据所述检索类型依次在所述热链表、所述温链表和所述冷链表中对所述目标目录结构进行检索,包括:判断所述目标目录结构是否存储在所述热链表中,若是,直接读取所述目标目录结构中的直接目录树和直接对象数;若否,判断所述目标目录结构是否存储在所述温链表中;若所述目标目录结构不存储在所述温链表中,则查找所述冷链表中是否存在所述目标目录结构,若所述冷链表中存在所述目标目录结构,在osd中读取所述目标目录结构,则所述目标目录结构的访问次数加一,若所述冷链表中不存在所述目标目录结构,在osd中读取
所述目标目录结构,异步写入所述冷链表。6.根据权利要求4或5所述的方法,其特征在于,还包括:若所述目标目录结构存在所述...
【专利技术属性】
技术研发人员:甄风华,
申请(专利权)人:湖南快乐阳光互动娱乐传媒有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。