CN111045987A - 一种基于Ceph分布式文件系统加速元数据访问的方法和系统 - Google Patents

一种基于Ceph分布式文件系统加速元数据访问的方法和系统 Download PDF

Info

Publication number
CN111045987A
CN111045987A CN201911296941.3A CN201911296941A CN111045987A CN 111045987 A CN111045987 A CN 111045987A CN 201911296941 A CN201911296941 A CN 201911296941A CN 111045987 A CN111045987 A CN 111045987A
Authority
CN
China
Prior art keywords
file
ceph
module
client
directory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911296941.3A
Other languages
English (en)
Other versions
CN111045987B (zh
Inventor
唐卓
朱锦涛
李肯立
蒋冰婷
肖雄
李文
阳王东
周旭
刘楚波
曹嵘晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan University
Original Assignee
Hunan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hunan University filed Critical Hunan University
Priority to CN201911296941.3A priority Critical patent/CN111045987B/zh
Publication of CN111045987A publication Critical patent/CN111045987A/zh
Application granted granted Critical
Publication of CN111045987B publication Critical patent/CN111045987B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于Ceph分布式文件系统加速元数据访问的方法,包括:利用时间戳链表获取每个文件元数据的访问次数;采集每个元数据的时间属性和访问次数;重复使用K‑Means算法对这些元数据进行聚类,找到两个聚类中心点;利用上述两个聚类中心,设置预取门槛值,当某个文件的点击次数达到门槛值就去MDS预取。并在MDS服务器中选择符合要求的元数据;本发明能够解决现有Ceph分布式文件系统元数据访问机制中存在的缓存命中率低、元数据传输次数过多、元数据的查询效率低的技术问题。

Description

一种基于Ceph分布式文件系统加速元数据访问的方法和系统
技术领域
本发明属于分布式文件系统技术领域,更具体地,涉及一种基于Ceph 分布式文件系统加速元数据访问的方法和系统。
背景技术
近来,由于网络的发展和生活水平的提高,对大规模存储技术的需求日 益增大。而其中,分布式存储文件系统由于其可扩展性和可靠性赢得不少青 睐,Ceph分布式文件系统正是其中一员。Ceph分布式文件系统从传统文件 系统出发,它保留了文件元数据的功能。但不同于本地的文件系统,Ceph分 布式文件系统允许通过网络访问系统,它是通过网络将多个机器连在一起 从而组成一个大的存储系统,采用C/S架构,并允许多个用户使用。
Ceph分布式文件系统用伪随机数据分布函数CRUSH代替了常用的分 配表技术,使用这种分配方式,只要知道文件的名字,就可以计算出文件具 体存储的位置,这是最终的数据的访问方式,而元数据则去元数据服务器 (Metadata Server,简称MDS)遍历。这种方式能在最大程度上将数据和元 数据分离开来,达到解耦的效果。例如,客户端先通过MDS执行元数据操 作(如open),再和对象存储设备(Object Storage Device,简称OSD)交流 获取最终的文件内容。
然而,现有的Ceph分布式文件系统中使用的是元数据访问方法是基于 最近最少使用(Least recently used,简称LRU)算法,它保留最近访问的数 据,淘汰长时间未使用的数据。然而,这种元数据访问方法只考虑了时间的 维度,却没有考虑到空间的维度,因此,该方法存在缓存命中率低、元数据 传输次数过多、元数据的查询效率低的缺陷。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于Ceph分 布式文件系统加速元数据访问的方法和系统,其目的在于,解决现有Ceph 分布式文件系统元数据访问机制中存在的缓存命中率低、元数据传输次数 过多、元数据的查询效率低的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于Ceph分布 式文件系统加速元数据访问的方法,包括以下步骤:
(1)客户端从用户接收文件处理请求,将根据该文件处理请求所对应 的文件路径、以及该文件路径包括的所有Ceph目录项在客户端中建立一个 时间戳列表;
(2)客户端设置计数器j=1;
(3)客户端判断计数器j是否大于时间戳列表中Ceph目录项的地址 的总数,如果是则进入步骤(7),否则转入步骤(4);
(4)客户端判断步骤(1)建立的时间戳列表中第j个Ceph目录项的 地址对应的时间戳数量是否大于等于预设阈值,如果是则转入步骤(5),否 则过程结束;
(5)客户端在其缓存中查找与第j个Ceph目录项对应的文件编号,并 通过查找到的该文件编号获取对应的文件大小、文件创建时间、文件最近一 次修改时间、以及文件点击次数;
(6)客户端设置j=j+1,并返回步骤(3);
(7)客户端使用聚类算法对获得的所有Ceph目录项对应的文件编号、 文件大小、文件创建时间、文件最近一次修改时间、以及文件点击次数进行 聚类处理,以得到两个聚类中心;
(8)客户端将时间戳列表删除,并从用户接收下一次文件处理请求, 并重复上述步骤(1)到(7),以得到两个新的聚类中心,其中在执行步骤 (7)时,需要将本次在执行步骤(5)过程中生成的文件编号、文件大小、 文件创建时间、文件最近一次修改时间、以及文件点击次数,与上一次执行 步骤(5)过程中生成的文件编号、文件大小、文件创建时间、文件最近一 次修改时间、以及文件点击次数分别进行合并,并对合并得到的结果进行聚 类处理,以得到两个新的聚类中心,每个聚类中心中包含有对应的文件点击 次数;
(9)客户端计算步骤(7)得到的两个聚类中心和步骤(8)得到的两 个新的聚类中心之间的欧式距离,并判断该欧氏距离是否小于或等于一预 设阈值,如果是则进入步骤(10),否则返回步骤(8);
(10)客户端从用户接收文件处理请求,将根据该文件处理请求所对应 的文件路径、以及该文件路径包括的所有Ceph目录项在客户端中建立一个 时间戳列表;
(11)客户端设置计数器k=1;
(12)客户端判断计数器k是否大于步骤(10)建立的时间戳列表中 Ceph目录项的地址的总数,如果是则过程结束,否则转入步骤(13);
(13)客户端判断步骤(10)建立的时间戳列表中第k个Ceph目录项 的地址对应的时间戳数量是否大于等于预设阈值,如果是则转入步骤(14), 否则过程结束;
(14)客户端将该第k个Ceph目录项发送到服务端;
(15)服务端判断第k个Ceph目录项是文件还是文件夹,如果是文件 则转入步骤(16),如果是文件夹则转入步骤(17);
(16)服务端获取该第k个Ceph目录项所在目录下的所有Ceph目录 项,然后进入步骤(18);
(17)服务端获取第k个Ceph目录项对应目录下的所有Ceph目录项;
(18)服务端查找与每个Ceph目录项对应的文件编号,并通过查找到 的该文件编号获取对应的文件大小、文件创建时间、文件最近一次修改时间、 以及文件点击次数,并计算每个Ceph目录项对应的文件编号、文件大小、 文件创建时间、文件最近一次修改时间、以及文件点击次数与步骤(8)得 到的两个新的聚类中心之间的两个欧氏距离;
(19)针对每个Ceph目录项而言,服务端判断该Ceph目录项到两个 新的聚类中心中文件点击次数较大的一个聚类中心的欧式距离是否比到另 一个聚类中心的欧式距离更小,如果是则将该Ceph目录项发送到客户端, 过程结束,否则放弃该Ceph目录项,然后转入步骤(20);
(20)服务端设置k=k+1,并返回步骤(12)。
优选地,步骤(1)具体包括以下子步骤:
(1-1)客户端从用户接收文件处理请求,获取该文件处理请求对应的 文件路径、以及该文件路径包括的所有Ceph目录项;
(1-2)客户端设置计数器i=1;
(1-3)客户端判断计数器i是否大于文件路径中Ceph目录项的总数, 如果是则过程结束,否则转入步骤(1-4);
(1-4)客户端判断该文件路径中的第i个Ceph目录项是否存储在客户 端的缓存中,如果不是则转入步骤(1-5),如果是则转入步骤(1-6);
(1-5)客户端从元数据服务器MDS获取该第i个Ceph目录项,将该 第i个Ceph目录项的地址、以及当前时间戳作为键值对插入客户端的时间 戳列表中,然后转入步骤(1-7);
(1-6)客户端将当前时间戳插入时间戳列表中与该第i个Ceph目录项 对应的值链表中;
(1-7)设置i=i+1,并返回步骤(1-3)。
优选地,文件路径下的第一个Ceph目录项就是根目录,第二个Ceph 目录项是该根目录的下级子目录,…,以此类推。
优选地,步骤(7)中使用的聚类算法是K-means聚类算法。
按照本发明的另一方面,提供了一种基于Ceph分布式文件系统加速元 数据访问的系统,包括:
第一模块,其设置于客户端中,用于从用户接收文件处理请求,将根据 该文件处理请求所对应的文件路径、以及该文件路径包括的所有Ceph目录 项在客户端中建立一个时间戳列表;
第二模块,其设置于客户端中,用于设置计数器j=1;
第三模块,其设置于客户端中,用于判断计数器j是否大于时间戳列表 中Ceph目录项的地址的总数,如果是则进入第七模块,否则转入第四模块;
第四模块,其设置于客户端中,用于判断第一模块建立的时间戳列表中 第j个Ceph目录项的地址对应的时间戳数量是否大于等于预设阈值,如果 是则转入第五模块,否则过程结束;
第五模块,其设置于客户端中,用于在其缓存中查找与第j个Ceph目 录项对应的文件编号,并通过查找到的该文件编号获取对应的文件大小、文 件创建时间、文件最近一次修改时间、以及文件点击次数;
第六模块,其设置于客户端中,用于设置j=j+1,并返回第三模块;
第七模块,其设置于客户端中,用于使用聚类算法对获得的所有Ceph 目录项对应的文件编号、文件大小、文件创建时间、文件最近一次修改时间、 以及文件点击次数进行聚类处理,以得到两个聚类中心;
第八模块,其设置于客户端中,用于将时间戳列表删除,并从用户接收 下一次文件处理请求,并重复上述第一模块到第七模块,以得到两个新的聚 类中心,其中在执行第七模块时,需要将本次在执行第五模块过程中生成的 文件编号、文件大小、文件创建时间、文件最近一次修改时间、以及文件点 击次数,与上一次执行第五模块过程中生成的文件编号、文件大小、文件创 建时间、文件最近一次修改时间、以及文件点击次数分别进行合并,并对合 并得到的结果进行聚类处理,以得到两个新的聚类中心,每个聚类中心中包 含有对应的文件点击次数;
第九模块,其设置于客户端中,用于计算第七模块得到的两个聚类中心 和第八模块得到的两个新的聚类中心之间的欧式距离,并判断该欧氏距离 是否小于或等于一预设阈值,如果是则进入第十模块,否则返回第八模块;
第十模块,其设置于客户端中,用于从用户接收文件处理请求,将根据 该文件处理请求所对应的文件路径、以及该文件路径包括的所有Ceph目录 项在客户端中建立一个时间戳列表;
第十一模块,其设置于客户端中,用于设置计数器k=1;
第十二模块,其设置于客户端中,用于判断计数器k是否大于第十模 块建立的时间戳列表中第十三模块;
第十三模块,其设置于客户端中,用于判断第十模块建立的时间戳列表 中第k个Ceph目录项的地址对应的时间戳数量是否大于等于预设阈值,如 果是则转入第十四模块,否则过程结束;
第十四模块,其设置于客户端中,用于将该第k个Ceph目录项发送到 服务端;
第十五模块,其设置于服务端中,用于判断第k个Ceph目录项是文件 还是文件夹,如果是文件则转入第十六模块,如果是文件夹则转入第十七模 块;
第十六模块,其设置于服务端中,用于获取该第k个Ceph目录项所在 目录下的所有Ceph目录项,然后进入第十八模块;
第十七模块,其设置于服务端中,用于获取第k个Ceph目录项对应目 录下的所有Ceph目录项;
第十八模块,其设置于服务端中,用于查找与每个Ceph目录项对应的 文件编号,并通过查找到的该文件编号获取对应的文件大小、文件创建时间、 文件最近一次修改时间、以及文件点击次数,并计算每个Ceph目录项对应 的文件编号、文件大小、文件创建时间、文件最近一次修改时间、以及文件 点击次数与第八模块得到的两个新的聚类中心之间的两个欧氏距离;
第十九模块,其设置于服务端中,用于针对每个Ceph目录项而言,判 断该Ceph目录项到两个新的聚类中心中文件点击次数较大的一个聚类中 心的欧式距离是否比到另一个聚类中心的欧式距离更小,如果是则将该 Ceph目录项发送到客户端,过程结束,否则放弃该Ceph目录项,然后转入 第二十模块;
第二十模块,其设置于服务端中,用于服务端设置k=k+1,并返回第十 二模块。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取 得下列有益效果:
1、本发明能够解决现有Ceph分布式文件系统元数据访问机制中存在 的客户端缓存算法考虑不周全的问题:由于本发明使用了步骤(1)到步骤 (18),采用聚类算法找到符合要求的元数据,对其进行预取,有效地提高 了客户端缓存的元数据命中率,降低了元数据的传输次数;
2、本发明利用了文件的空间局部性,即某一文件在使用过之后,其周 围其他文件也可能在之后被使用这一特性,从而有效地提高了预取的准确 性;
3、本发明利用了文件的时间局部性,也就是某一文件在使用过之后, 很大概率会在下次继续使用到这一特性,从而更进一步提高了预取的准确 性;
4、本发明通过多次聚类,减少了聚类中可能存在的局部最优解情况发 生的概率。
附图说明
图1是本发明基于Ceph分布式文件系统加速元数据访问的方法的流程 图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及 实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施 例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明 各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互 组合。
对于Ceph分布式文件系统而言,一个典型的文件读写的过程如下, 客户端先在缓存中查找所需要的元数据,找到则直接使用,没有找到则向 MDS发送一个请求。MDS将遍历用户的请求文件路径,将文件路径中的 各个文件名翻译成文件的信息,例如,用户发送打开“/root/hello.txt”, Ceph分布式文件系统将其解析成两个文件,一个是“/root”文件夹,一个是 “hello.txt”文件。MDS将解析好的元数据发送给客户端,客户端会根据 MDS返回的文件编号计算文件内容存放地方,根据计算的结果去OSD取 数据。
如图1所示,本发明提供了一种基于Ceph分布式文件系统加速元数据 访问的方法,包括以下步骤:
(1)客户端从用户接收文件处理请求,将根据该文件处理请求所对应 的文件路径、以及该文件路径包括的所有Ceph目录项(Ceph Dentry,简称 CDentry)在客户端中建立一个时间戳列表;
本步骤具体包括以下子步骤:
(1-1)客户端从用户接收文件处理请求,获取该文件处理请求对应的 文件路径、以及该文件路径包括的所有Ceph目录项;
(1-2)客户端设置计数器i=1;
(1-3)客户端判断计数器i是否大于文件路径中Ceph目录项的总数, 如果是则过程结束,否则转入步骤(1-4);
(1-4)客户端判断该文件路径中的第i个Ceph目录项是否存储在客户 端的缓存中,如果不是则转入步骤(1-5),如果是则转入步骤(1-6);
(1-5)客户端从元数据服务器(Metadata Server,简称MDS)获取该 第i个Ceph目录项,将该第i个Ceph目录项的地址、以及当前时间戳作为 键值对插入客户端的时间戳列表中,然后转入步骤(1-7);
(1-6)客户端将当前时间戳插入时间戳列表中与该第i个Ceph目录项 对应的值链表中;
(1-7)设置i=i+1,并返回步骤(1-3);
(2)客户端设置计数器j=1;
(3)客户端判断计数器j是否大于时间戳列表中Ceph目录项的地址 的总数,如果是则进入步骤(7),否则转入步骤(4);
(4)客户端判断步骤(1)建立的时间戳列表中第j个Ceph目录项的 地址对应的时间戳数量是否大于等于预设阈值,如果是则转入步骤(5),否 则过程结束;
在本步骤中,预设阈值的大小是2到4之间,优选为3。
(5)客户端在其缓存中查找与第j个Ceph目录项对应的文件编号,并 通过查找到的该文件编号获取对应的文件大小、文件创建时间、文件最近一 次修改时间、以及文件点击次数;
具体而言,文件路径下的第一个Ceph目录项就是根目录,第二个Ceph 目录项是该根目录的下级子目录,…以此类推。
(6)设置j=j+1,并返回步骤(3);
(7)使用聚类算法对获得的所有Ceph目录项对应的文件编号、文件 大小、文件创建时间、文件最近一次修改时间、以及文件点击次数进行聚类 处理,以得到两个聚类中心;
具体而言,本步骤中使用的聚类算法是K-means聚类算法。
(8)客户端将时间戳列表删除,并从用户接收下一次文件处理请求, 并重复上述步骤(1)到(7),以得到两个新的聚类中心,其中在执行步骤 (7)时,需要将本次在执行步骤(5)过程中生成的文件编号、文件大小、 文件创建时间、文件最近一次修改时间、以及文件点击次数,与上一次执行 步骤(5)过程中生成的文件编号、文件大小、文件创建时间、文件最近一 次修改时间、以及文件点击次数分别进行合并,并对合并得到的结果进行聚 类处理,以得到两个新的聚类中心,每个聚类中心中包含有对应的文件点击 次数;
(9)客户端计算步骤(7)得到的两个聚类中心和步骤(8)得到的两 个新的聚类中心之间的欧式距离,并判断该欧氏距离是否小于或等于一预 设阈值,如果是则进入步骤(10),否则返回步骤(8);
在本步骤中,预设阈值等于0.01。
(10)客户端从用户接收文件处理请求,将根据该文件处理请求所对应 的文件路径、以及该文件路径包括的所有Ceph目录项在客户端中建立一个 时间戳列表;
(11)客户端设置计数器k=1;
(12)客户端判断计数器k是否大于步骤(10)建立的时间戳列表中 Ceph目录项的地址的总数,如果是则过程结束,否则转入步骤(13);
(13)客户端判断步骤(10)建立的时间戳列表中第k个Ceph目录项 的地址对应的时间戳数量是否大于等于预设阈值,如果是则转入步骤(14), 否则过程结束;
在本步骤中,预设阈值的大小是2到4之间,优选为3。
(14)客户端将该第k个Ceph目录项发送到服务端;
(15)服务端判断第k个Ceph目录项是文件还是文件夹,如果是文件 则转入步骤(16),如果是文件夹则转入步骤(17);
(16)服务端获取该第k个Ceph目录项所在目录下的所有Ceph目录 项,然后进入步骤(18);
(17)服务端获取第k个Ceph目录项对应目录下的所有Ceph目录 项;
(18)服务端查找与每个Ceph目录项对应的文件编号,并通过查找到 的该文件编号获取对应的文件大小、文件创建时间、文件最近一次修改时间、 以及文件点击次数,并计算每个Ceph目录项对应的文件编号、文件大小、 文件创建时间、文件最近一次修改时间、以及文件点击次数与步骤(8)得 到的两个新的聚类中心之间的两个欧氏距离;
(19)针对每个Ceph目录项而言,服务端判断该Ceph目录项到两个 新的聚类中心中文件点击次数较大的一个聚类中心的欧式距离是否比到另 一个聚类中心的欧式距离更小,如果是则将该Ceph目录项发送到客户端, 过程结束,否则放弃该Ceph目录项,然后转入步骤(20);
(20)服务端设置k=k+1,并返回步骤(12)。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同 替换和改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种基于Ceph分布式文件系统加速元数据访问的方法,其特征在于,包括以下步骤:
(1)客户端从用户接收文件处理请求,将根据该文件处理请求所对应的文件路径、以及该文件路径包括的所有Ceph目录项在客户端中建立一个时间戳列表;
(2)客户端设置计数器j=1;
(3)客户端判断计数器j是否大于时间戳列表中Ceph目录项的地址的总数,如果是则进入步骤(7),否则转入步骤(4);
(4)客户端判断步骤(1)建立的时间戳列表中第j个Ceph目录项的地址对应的时间戳数量是否大于等于预设阈值,如果是则转入步骤(5),否则过程结束;
(5)客户端在其缓存中查找与第j个Ceph目录项对应的文件编号,并通过查找到的该文件编号获取对应的文件大小、文件创建时间、文件最近一次修改时间、以及文件点击次数;
(6)客户端设置j=j+1,并返回步骤(3);
(7)客户端使用聚类算法对获得的所有Ceph目录项对应的文件编号、文件大小、文件创建时间、文件最近一次修改时间、以及文件点击次数进行聚类处理,以得到两个聚类中心;
(8)客户端将时间戳列表删除,并从用户接收下一次文件处理请求,并重复上述步骤(1)到(7),以得到两个新的聚类中心,其中在执行步骤(7)时,需要将本次在执行步骤(5)过程中生成的文件编号、文件大小、文件创建时间、文件最近一次修改时间、以及文件点击次数,与上一次执行步骤(5)过程中生成的文件编号、文件大小、文件创建时间、文件最近一次修改时间、以及文件点击次数分别进行合并,并对合并得到的结果进行聚类处理,以得到两个新的聚类中心,每个聚类中心中包含有对应的文件点击次数;
(9)客户端计算步骤(7)得到的两个聚类中心和步骤(8)得到的两个新的聚类中心之间的欧式距离,并判断该欧氏距离是否小于或等于一预设阈值,如果是则进入步骤(10),否则返回步骤(8);
(10)客户端从用户接收文件处理请求,将根据该文件处理请求所对应的文件路径、以及该文件路径包括的所有Ceph目录项在客户端中建立一个时间戳列表;
(11)客户端设置计数器k=1;
(12)客户端判断计数器k是否大于步骤(10)建立的时间戳列表中Ceph目录项的地址的总数,如果是则过程结束,否则转入步骤(13);
(13)客户端判断步骤(10)建立的时间戳列表中第k个Ceph目录项的地址对应的时间戳数量是否大于等于预设阈值,如果是则转入步骤(14),否则过程结束;
(14)客户端将该第k个Ceph目录项发送到服务端;
(15)服务端判断第k个Ceph目录项是文件还是文件夹,如果是文件则转入步骤(16),如果是文件夹则转入步骤(17);
(16)服务端获取该第k个Ceph目录项所在目录下的所有Ceph目录项,然后进入步骤(18);
(17)服务端获取第k个Ceph目录项对应目录下的所有Ceph目录项;
(18)服务端查找与每个Ceph目录项对应的文件编号,并通过查找到的该文件编号获取对应的文件大小、文件创建时间、文件最近一次修改时间、以及文件点击次数,并计算每个Ceph目录项对应的文件编号、文件大小、文件创建时间、文件最近一次修改时间、以及文件点击次数与步骤(8)得到的两个新的聚类中心之间的两个欧氏距离;
(19)针对每个Ceph目录项而言,服务端判断该Ceph目录项到两个新的聚类中心中文件点击次数较大的一个聚类中心的欧式距离是否比到另一个聚类中心的欧式距离更小,如果是则将该Ceph目录项发送到客户端,过程结束,否则放弃该Ceph目录项,然后转入步骤(20);
(20)服务端设置k=k+1,并返回步骤(12)。
2.根据权利要求1所述的方法,其特征在于,步骤(1)具体包括以下子步骤:
(1-1)客户端从用户接收文件处理请求,获取该文件处理请求对应的文件路径、以及该文件路径包括的所有Ceph目录项;
(1-2)客户端设置计数器i=1;
(1-3)客户端判断计数器i是否大于文件路径中Ceph目录项的总数,如果是则过程结束,否则转入步骤(1-4);
(1-4)客户端判断该文件路径中的第i个Ceph目录项是否存储在客户端的缓存中,如果不是则转入步骤(1-5),如果是则转入步骤(1-6);
(1-5)客户端从元数据服务器MDS获取该第i个Ceph目录项,将该第i个Ceph目录项的地址、以及当前时间戳作为键值对插入客户端的时间戳列表中,然后转入步骤(1-7);
(1-6)客户端将当前时间戳插入时间戳列表中与该第i个Ceph目录项对应的值链表中;
(1-7)设置i=i+1,并返回步骤(1-3)。
3.根据权利要求1所述的方法,其特征在于,文件路径下的第一个Ceph目录项就是根目录,第二个Ceph目录项是该根目录的下级子目录,…,以此类推。
4.根据权利要求1所述的方法,其特征在于,步骤(7)中使用的聚类算法是K-Means聚类算法。
5.一种基于Ceph分布式文件系统加速元数据访问的系统,其特征在于,包括:
第一模块,其设置于客户端中,用于从用户接收文件处理请求,将根据该文件处理请求所对应的文件路径、以及该文件路径包括的所有Ceph目录项在客户端中建立一个时间戳列表;
第二模块,其设置于客户端中,用于设置计数器j=1;
第三模块,其设置于客户端中,用于判断计数器j是否大于时间戳列表中Ceph目录项的地址的总数,如果是则进入第七模块,否则转入第四模块;
第四模块,其设置于客户端中,用于判断第一模块建立的时间戳列表中第j个Ceph目录项的地址对应的时间戳数量是否大于等于预设阈值,如果是则转入第五模块,否则过程结束;
第五模块,其设置于客户端中,用于在其缓存中查找与第j个Ceph目录项对应的文件编号,并通过查找到的该文件编号获取对应的文件大小、文件创建时间、文件最近一次修改时间、以及文件点击次数;
第六模块,其设置于客户端中,用于设置j=j+1,并返回第三模块;
第七模块,其设置于客户端中,用于使用聚类算法对获得的所有Ceph目录项对应的文件编号、文件大小、文件创建时间、文件最近一次修改时间、以及文件点击次数进行聚类处理,以得到两个聚类中心;
第八模块,其设置于客户端中,用于将时间戳列表删除,并从用户接收下一次文件处理请求,并重复上述第一模块到第七模块,以得到两个新的聚类中心,其中在执行第七模块时,需要将本次在执行第五模块过程中生成的文件编号、文件大小、文件创建时间、文件最近一次修改时间、以及文件点击次数,与上一次执行第五模块过程中生成的文件编号、文件大小、文件创建时间、文件最近一次修改时间、以及文件点击次数分别进行合并,并对合并得到的结果进行聚类处理,以得到两个新的聚类中心,每个聚类中心中包含有对应的文件点击次数;
第九模块,其设置于客户端中,用于计算第七模块得到的两个聚类中心和第八模块得到的两个新的聚类中心之间的欧式距离,并判断该欧氏距离是否小于或等于一预设阈值,如果是则进入第十模块,否则返回第八模块;
第十模块,其设置于客户端中,用于从用户接收文件处理请求,将根据该文件处理请求所对应的文件路径、以及该文件路径包括的所有Ceph目录项在客户端中建立一个时间戳列表;
第十一模块,其设置于客户端中,用于设置计数器k=1;
第十二模块,其设置于客户端中,用于判断计数器k是否大于第十模块建立的时间戳列表中Ceph目录项的地址的总数,如果是则结束,否则进入第十三模块;
第十三模块,其设置于客户端中,用于判断第十模块建立的时间戳列表中第k个Ceph目录项的地址对应的时间戳数量是否大于等于预设阈值,如果是则转入第十四模块,否则过程结束;
第十四模块,其设置于客户端中,用于将该第k个Ceph目录项发送到服务端;
第十五模块,其设置于服务端中,用于判断第k个Ceph目录项是文件还是文件夹,如果是文件则转入第十六模块,如果是文件夹则转入第十七模块;
第十六模块,其设置于服务端中,用于获取该第k个Ceph目录项所在目录下的所有Ceph目录项,然后进入第十八模块;
第十七模块,其设置于服务端中,用于获取第k个Ceph目录项对应目录下的所有Ceph目录项;
第十八模块,其设置于服务端中,用于查找与每个Ceph目录项对应的文件编号,并通过查找到的该文件编号获取对应的文件大小、文件创建时间、文件最近一次修改时间、以及文件点击次数,并计算每个Ceph目录项对应的文件编号、文件大小、文件创建时间、文件最近一次修改时间、以及文件点击次数与第八模块得到的两个新的聚类中心之间的两个欧氏距离;
第十九模块,其设置于服务端中,用于针对每个Ceph目录项而言,判断该Ceph目录项到两个新的聚类中心中文件点击次数较大的一个聚类中心的欧式距离是否比到另一个聚类中心的欧式距离更小,如果是则将该Ceph目录项发送到客户端,过程结束,否则放弃该Ceph目录项,然后转入第二十模块;
第二十模块,其设置于服务端中,用于服务端设置k=k+1,并返回第十二模块。
CN201911296941.3A 2019-12-17 2019-12-17 一种基于Ceph分布式文件系统加速元数据访问的方法和系统 Active CN111045987B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911296941.3A CN111045987B (zh) 2019-12-17 2019-12-17 一种基于Ceph分布式文件系统加速元数据访问的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911296941.3A CN111045987B (zh) 2019-12-17 2019-12-17 一种基于Ceph分布式文件系统加速元数据访问的方法和系统

Publications (2)

Publication Number Publication Date
CN111045987A true CN111045987A (zh) 2020-04-21
CN111045987B CN111045987B (zh) 2020-12-15

Family

ID=70236886

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911296941.3A Active CN111045987B (zh) 2019-12-17 2019-12-17 一种基于Ceph分布式文件系统加速元数据访问的方法和系统

Country Status (1)

Country Link
CN (1) CN111045987B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112131145A (zh) * 2020-09-08 2020-12-25 北京易捷思达科技发展有限公司 应用于ceph的缓存方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160334998A1 (en) * 2015-05-15 2016-11-17 Cisco Technology, Inc. Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system
CN109710587A (zh) * 2018-12-29 2019-05-03 优刻得科技股份有限公司 基于Ceph的数据分层方法、系统、设备和介质
CN110491478A (zh) * 2019-08-22 2019-11-22 中电健康云科技有限公司 一种基于ceph的影像文件分布式储存系统及其实现方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160334998A1 (en) * 2015-05-15 2016-11-17 Cisco Technology, Inc. Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system
CN109710587A (zh) * 2018-12-29 2019-05-03 优刻得科技股份有限公司 基于Ceph的数据分层方法、系统、设备和介质
CN110491478A (zh) * 2019-08-22 2019-11-22 中电健康云科技有限公司 一种基于ceph的影像文件分布式储存系统及其实现方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
X. ZHANG等: "Ceph Distributed File System Benchmarks on an Openstack Cloud", 《2015 IEEE INTERNATIONAL CONFERENCE ON CLOUD COMPUTING IN EMERGING MARKETS (CCEM)》 *
周江等: "面向大数据分析的分布式文件系统关键技术", 《计算机研究与发展》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112131145A (zh) * 2020-09-08 2020-12-25 北京易捷思达科技发展有限公司 应用于ceph的缓存方法及装置
CN112131145B (zh) * 2020-09-08 2021-11-09 北京易捷思达科技发展有限公司 应用于ceph的缓存方法及装置

Also Published As

Publication number Publication date
CN111045987B (zh) 2020-12-15

Similar Documents

Publication Publication Date Title
US10958752B2 (en) Providing access to managed content
CN103544261B (zh) 一种海量结构化日志数据全局索引管理方法及装置
CN100462979C (zh) 分布式索引文件的检索方法、检索系统及检索服务器
CN108304444B (zh) 信息查询方法及装置
US9646060B2 (en) Method and server for pushing information proactively
Zheng et al. Reference-based framework for spatio-temporal trajectory compression and query processing
CN108920600B (zh) 一种基于数据关联性的分布式文件系统元数据预取方法
US20040205044A1 (en) Method for storing inverted index, method for on-line updating the same and inverted index mechanism
CN104424258A (zh) 多维数据查询的方法、查询服务器、列存储服务器及系统
EP3565292B1 (en) Method and device for searching for cache update
WO2013030595A1 (en) Identifying data items
CN107783985B (zh) 一种分布式数据库查询方法、装置及管理系统
US9262511B2 (en) System and method for indexing streams containing unstructured text data
CN109344122B (zh) 一种基于文件预创策略的分布式元数据管理方法及系统
CN106681995B (zh) 数据缓存方法、数据查询方法及装置
CN113986873A (zh) 一种海量物联网数据模型化的处理、存储与共享方法
US20150249719A1 (en) Method and device for pushing information
CN102982099A (zh) 一种个性化并行分词处理系统及其处理方法
CN111045987B (zh) 一种基于Ceph分布式文件系统加速元数据访问的方法和系统
CN105912696A (zh) 一种基于对数归并的dns索引创建方法及查询方法
CN108647266A (zh) 一种异构数据快速分布存储、交互方法
WO2012119339A1 (zh) 搜索方法及装置
CN107659626B (zh) 面向临时元数据的分离存储方法
CN109144951A (zh) 一种基于分布式文件系统的目录更新方法及元数据服务器
CN112699187A (zh) 关联数据处理方法、装置、设备、介质及产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant