首页> 中国专利> 一种云存储系统的元数据缓存替换方法

一种云存储系统的元数据缓存替换方法

摘要

本发明涉及缓存管理领域,公开了一种云存储系统的元数据缓存替换方法,将元数据分为私有元数据和共享元数据,将元数据缓存区分为私有缓存区和共享缓存区;分别设定针对私有缓存区和共享缓存区的替换策略,所述云存储系统根据相应的替换策略分别对共享缓存区中的共享元数据以及私有缓存区中的私有元数据分别进行替换。分别满足私有元数据和共享元数据不同的替换管理要求,避免两种元数据在缓存替换时的相互干扰,提高系统针对元数据的替换管理能力,提高元数据缓存的命中率,加快系统响应,提升系统性能。能够适应于云存储环境下,用户数量庞大、数据量庞大、负载多变的访问特性。

著录项

  • 公开/公告号CN104035807A

    专利类型发明专利

  • 公开/公告日2014-09-10

    原文格式PDF

  • 申请/专利权人 电子科技大学;

    申请/专利号CN201410312993.6

  • 申请日2014-07-02

  • 分类号G06F9/445(20060101);

  • 代理机构51226 成都希盛知识产权代理有限公司;

  • 代理人陈泽斌

  • 地址 611731 四川省成都市高新区(西区)西源大道2006号

  • 入库时间 2023-12-17 01:39:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-04-12

    授权

    授权

  • 2014-10-15

    实质审查的生效 IPC(主分类):G06F9/445 申请日:20140702

    实质审查的生效

  • 2014-09-10

    公开

    公开

说明书

技术领域

本发明涉及缓存管理领域,具体涉及一种云存储系统的元数据缓存替换方法。

背景技术

云存储是在云计算概念上延伸和衍生发展出来的一个新的概念。云计算是分布式处理、 并行处理和网格计算的发展,是透过网络将庞大的计算处理程序自动分拆成无数个较小的子 程序,再交由多部服务器所组成的庞大系统经计算分析之后将处理结果回传给用户。云存储 的概念与云计算类似,它是指通过集群应用、网格技术或分布式文件系统等功能,网络中大 量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务 访问功能的一个系统,保证数据的安全性,并节约存储空间。简单来说,云存储就是将储存 资源放到云上供人存取的一种新兴方案。使用者可以在任何时间、任何地方,透过任何可连 网的装置连接到云上方便地存取数据。

在云存储的分布式环境中,数据量往往是海量级别,因此通常采用数据和元数据解耦的 方式进行管理。所谓解耦即使用外部的配置文件,将各种框架内部的组件进行文本型的配置, 用户通过组件的名字和参数map使用组件,达到脚本性而非代码性的直接使用。而所谓元数 据是描述云存储系统内数据的结构和建立方法的数据,其独立存储于数据存储之外,可实现 业务模型与数据模型之间的映射,通过解耦合元数据和数据,把数据以用户需要的方式进行" 翻译",帮助最终用户理解和使用数据。

相应的,当前的云存储系统,通常包括用户端节点、数据存储节点和存储控制节点,其 中,用户端节点负责将客户节点的访问请求转换为对云存储系统的相应操作;数据存储节点 负责保存和管理云存储系统中的部分数据,接收和处理来自客户节点的访问请求;存储控制 节点负责对元数据进行管理,处理元数据请求,同时负责管理和控制客户节点对数据存储节 点的访问。

同时,在云存储环境下,用户数量空前庞大,同一元数据会被大量不同的客户节点进行 高频率的访问,若每次请求都要重新连接元数据服务器,然后从其内存中读取元数据,这会 消耗网络资源,也会增加系统响应时间,从而降低系统的性能。因此,当前的云存储系统大 量引入缓存技术,通过在客户端节点或存储控制节点设置元数据缓存区,客户节点通过直接 访问元数据缓存获得访问的元数据,从而提高云存储的I/O性能,减少存储控制节点的访问 压力。

而缓存设计中的核心问题,即当缓存容量不足时,缓存区的数据替换问题。目前,有许 多缓存替换策略,但主要是针对传统文件系统中用户访问数据的特征来设计的,如先入先出 的循环选择策略。传统文件系统中的数据量并不是很多,用户对数据的读写也更加频繁,这 有别于云存储环境下用户访问数据的模式。因此,现有的缓存替换策略不能很好的适应云存 储环境下的访问特性,需要一种新的缓存替换策略。

发明内容

本发明所要解决的技术问题是提供一种云存储系统的元数据缓存替换方法,能够适应于 云存储环境下,用户数量庞大、数据量庞大、负载多变的访问特性,提高云存储系统元数据 缓存的命中率,加快系统响应,提升系统性能。

本发明解决技术问题所采用的技术方案是:一种云存储系统的元数据缓存替换方法,所 述云存储系统包括元数据缓存区,将元数据分为私有元数据和共享元数据,将所述元数据缓 存区分为为私有元数据提供缓存的私有缓存区和为共享元数据提供缓存的共享缓存区;分别 设定针对私有缓存区和共享缓存区的替换策略,所述云存储系统根据相应的替换策略分别对 共享缓存区中的共享元数据以及私有缓存区中的私有元数据分别进行替换。

进一步的,所述云存储系统根据私有元数据和共享元数据的访问次数的历史数据,对私 有缓存区和共享缓存区的容量分配进行动态调整。进一步的,每经过一个调整周期Δt1,所述 私有缓存区的容量VCp和共享缓存区的容量VCs,根据共享缓存区中所有共享元数据在该调整周 期Δt1内的访问次数以及私有缓存区中所有私有元数据在该调整周期Δt1内的访问次数进行动 态调整。具体的,所述私有缓存区的容量VCp和共享缓存区的容量VCs动态调整的计算公式如 下:

S=Np/(Np+Ns)

VCp=V*S

VCs=V-VCp

其中,V为缓存区总容量,S为容量更新系数,Ns为共享缓存区中所有共享元数据在调 整周期Δt1内的访问次数,Np私有缓存区中所有私有元数据在调整周期Δt1内的访问次数。

具体的,设定共享元数据的保留值Rs对共享缓存区进行替换,所述共享元数据的保留值 Rs的计算公式如下:

Rs=NvNT

其中,Nv表示共享元数据被源客户节点以外的客户节点的访问次数,NT为共享元数据 进入共享缓存区后所经历的替换周期Δt2的个数;所述共享缓存区的替换策略为:选择Rs值 最小进行替换。

最优的,设定计算周期Δt3,记录与t时刻相邻的连续m个Δt3时间内的P值,其中,nm表示该私有元数据在第m个Δt3时间内的访问次数,Nm则表示私有缓存区中所有私 有元数据在第m个Δt3时间内的访问次数;由记录的P值确定在t时刻时所述私有元数据被再 次读取的概率Pr

设定私有元数据的保留值Rp对私有缓存区进行替换;所述私有元数据的保留值Rp的计 算公式如下:

Rp=ηPr+αNcNT+βMtNT

其中,NT为私有元数据进入私有缓存区后所经历的替换周期Δt2的个数;Mt为私有元数 据的类型,在私有元数据为文件元数据时Mt为1,在私有元数据为目录元数据时Mt为0;Nc为私有元数据的新鲜度,私有元数据调入私有缓存区时间与其创建时间的时间差小于等于60 秒时Nc为1,私有元数据调入私有缓存区时间与其创建时间的时间差大于60秒时Nc为0;η、 α和β为权重系数,η<1、α<1、β<1且η+α+β=1;

设置保留值调出阈值Rm,所述私有缓存区的替换策略为:

首先从中Rp小于阈值Rm且Nc为0的缓存项中,选择Rp最小的进行替换;

若Rp均大于阈值Rm,则从Nc为0的缓存项中,选择Rp最小的进行替换;

若Rp均大于阈值Rm且Nc均为1,则选择Rp最小的进行替换出去。

最优的,所述Pr由公式Pr=eat+b计算确定,其中,a、b为参数,由与t时刻相邻的连续 m个Δt3时间内的P值经回归分析确定。具体的,所述回归分析的包括如下步骤:

步骤1、选择指数型曲线P=ceat进行回归分析,式中c、a为参数,t为预测时间点即t 时刻;

步骤2、将P=ceat两边取对数达到lnP=lnc+at,并令

y=lnPb=lnc

将P=ceat转变为线性回归模型y=at+b,式中a、b为参数;

步骤3、采用最小二乘法来求出参数a和b。

本发明的有益效果是:根据数据是否被共享,分为私有数据和共享数据,私有数据即仅 用户自己使用的数据,共享数据即用户许可他人访问的数据,私有数据被共享后即成为共享 数据。在云存储环境下,私有数据和共享数据面对客户群体的不同,具有不同的访问特性。 因此,与私有数据和共享数据相对的,本发明将元数据区分为私有元数据和共享元数据,将 元数据缓存区分为为私有元数据提供缓存的私有缓存区和为共享元数据提供缓存的共享缓存 区,并分别设定针对私有缓存区和共享缓存区的替换策略,云存储系统根据元数据的访问频 率,按相应的替换策略进行替换。充分利用了云存储环境下,用户访问元数据的特性,分别 满足私有元数据和共享元数据不同的替换管理要求,避免两种元数据在缓存替换时的相互干 扰,提高系统针对元数据的替换管理能力,提高元数据缓存的命中率,加快系统响应,提升 系统性能。因此,能够适应于云存储环境下,用户数量庞大、数据量庞大、负载多变的访问 特性。

附图说明

图1、访问请求处理流程图。

图2、缓存区容量的动态调整示意图。

图3、私有缓存区替换流程图。

图4、共享缓存区替换流程图。

具体实施方式

下面结合说明书附图和实施例对本发明进一步说明。

一种云存储系统的元数据缓存替换方法,所述云存储系统包括元数据缓存区,将元数据 分为私有元数据和共享元数据,将所述元数据缓存区分为为私有元数据提供缓存的私有缓存 区和为共享元数据提供缓存的共享缓存区;分别设定针对私有缓存区和共享缓存区的替换策 略,所述云存储系统根据相应的替换策略分别对共享缓存区中的共享元数据以及私有缓存区 中的私有元数据分别进行替换。在访问请求到达时,系统处理流程如图1所示。私有元数据 和共享元数据根据元数据对文件数据属性的描述值进行区分。

在云存储环境下,用户请求多变而不确定,在某时间段内,可能对私有元数据的访问次 数大于对共享元数据的访问次数,也可能与之相反,因此,可能存在其中一个缓存区已满而 另一个未满的情况,造成缓存的浪费,因此,进一步的,所述云存储系统根据私有元数据和 共享元数据的访问次数的历史数据,对私有缓存区和共享缓存区的容量分配进行动态调整。

对私有缓存区和共享缓存区容量分配的动态调整,可设定极限值,并引入预测机制,仅 在预测达到极限值时触发调整程序进行调整;也可按固定时间周期进行调整,每经过一个周 期即触发调整程序进行调整。在如图所示的实施例中,采用按固定时间周期进行调整的方式, 每经过一个调整周期Δt1,所述私有缓存区的容量VCp和共享缓存区的容量VCs,根据共享缓存 区中所有共享元数据在该调整周期Δt1内的访问次数以及私有缓存区中所有私有元数据在该 调整周期Δt1内的访问次数进行动态调整。

针对具体系统及系统面对客户群体的不同,动态调整的计算公式可根据统计理论进行具 体设定。具体的,如图2所示,所述私有缓存区的容量VCp和共享缓存区的容量VCs动态调整 的计算公式如下:

S=Np/(Np+Ns)

VCp=V*S

VCs=V-VCp

其中,V为缓存区总容量,S为容量更新系数,Ns为共享缓存区中所有共享元数据在调 整周期Δt1内的访问次数,Np私有缓存区中所有私有元数据在调整周期Δt1内的访问次数。

大量的测试数据显示,用户访问负载的变化情况没有特别明显的规律,容量更新系数S 只能根据历史变化情况,预估得出容量更新系数的更新周期也即调整周期Δt1。在本实施例中, 根据经验数据得出,调整周期Δt1为六倍的算法运行周期。

针对私有缓存区和共享缓存区的替换策略,可以采用现有的替换策略,如私有缓存区采 用先进先出,而共享缓存区按现有的根据访问频率的算法进行替换。

云存储环境下,具备大量的用户,随着时间的推移,将会产生规模庞大的共享数据,而 用户往往更关注被其他用户共享的数据,这使得共享数据在某段时间内被频繁访问,很容易 成为热点数据。因此,在如图所示的实施例中,如图4所示,设定共享元数据的保留值Rs对 共享缓存区进行替换,所述共享元数据的保留值Rs的计算公式如下:

Rs=NvNT

其中,Nv表示共享元数据被源客户节点以外的客户节点的访问次数,NT为共享元数据 进入共享缓存区后所经历的替换周期Δt2的个数;所述共享缓存区的替换策略为:选择Rs值 最小进行替换。

而针对私有缓存区的替换管理,针对私有元数据和共享元数据不同的访问特性进行了分 析,具体分析如下:

一、从云存储中的文件系统整体而言,文件系统元数据表现出部分活跃性,新创建的文 件很可能会被立即访问,但在文件系统中所占的比例比较小。

二、在一定时间内,独立用户通常会集中访问某些目录,且不会在文件系统中扩散,其 访问趋势随时间的变化表现出突发性和动态规律性。

三、95%以上的元数据请求均为针对文件元数据的请求;同时,文件创建、删除和移动等 必须同时对多个元数据属性进行操作的请求,所占比例不足5%。

四、云存储环境下,数据更新迅速,用户新创建的数据在间隔较短时间后就可能被删 除,且用户很容易被新的数据吸引而忽略管理自身的数据,而在超过一定时间间隔后该数据 被删除的几率极低。

因此,进一步的,在如图所示的实施例中,设定计算周期Δt3,记录与t时刻相邻的连 续m个Δt3时间内的P值,其中,nm表示该私有元数据在第m个Δt3时间内的访问 次数,Nm则表示私有缓存区中所有私有元数据在第m个Δt3时间内的访问次数;由记录的P 值确定在t时刻时所述私有元数据被再次读取的概率Pr

设定私有元数据的保留值Rp对私有缓存区进行替换;所述私有元数据的保留值Rp的计 算公式如下:

Rp=ηPr+αNcNT+βMtNT

其中,NT为私有元数据进入私有缓存区后所经历的替换周期Δt2的个数;Mt为私有元数 据的类型,在私有元数据为文件元数据时Mt为1,在私有元数据为目录元数据时Mt为0;Nc为私有元数据的新鲜度,私有元数据调入私有缓存区时间与其创建时间的时间差小于等于60 秒时Nc为1,私有元数据调入私有缓存区时间与其创建时间的时间差大于60秒时Nc为0;η、 α和β为权重系数,η<1、α<1、β<1且η+α+β=1。在本实施例中,根据经验值,由于Pr对缓存的影响最大,η可取0.5,而Nc影响次之,α可取0.4,Mt影响最小,故β取0.1。

设置保留值调出阈值Rm,如图3所示,所述私有缓存区的替换策略为:

首先从中Rp小于阈值Rm且Nc为0的缓存项中,选择Rp最小的进行替换;

若Rp均大于阈值Rm,则从Nc为0的缓存项中,选择Rp最小的进行替换;

若Rp均大于阈值Rm且Nc均为1,则选择Rp最小的进行替换出去。

由保留值的计算公式可知,Rp取值的下限为0,上限则会随着NT的取值而变化,在本实 施例中,回归规模设为8,故NT取值也为8,则上限值为那么 Rm的取值为(0+0.5625)/2=0.28125。

针对Pr的计算,可根据时刻t相邻Δt3时间内的P值或相邻连续m个Δt3时间内的P值的 均值进行确定。而根据经验数据显示,用户对某个缓存对象的访问请求数服从某种概率分 布,这种概率分布为泊松分布,可用如下式子表示:

P(X=k)=e-μμkk!

因此,在本实施是中,引用预测机制,所述Pr由公式Pr=eat+b计算确定,其中,a、b为 参数,由与t时刻相邻的连续m个Δt3时间内的P值经回归分析确定。

进一步的,所述回归分析的包括如下步骤:

步骤1、选择指数型曲线P=ceat进行回归分析,式中c、a为参数,t为预测时间点即t 时刻;

步骤2、将P=ceat两边取对数达到lnP=lnc+at,并令

y=lnPb=lnc

将P=ceat转变为线性回归模型y=at+b,式中a、b为参数;

步骤3、采用最小二乘法来求出参数a和b。

采用最小二乘法求出a和b两个参数,首先令误差项F(a,b)的平方和最小:

F(a,b)=Σk=0n(atk+b-yk)2

由最小二乘原理可得,a和b的取值应使F(a,b)有极小值,即满足下面条件:

F(a,b)a=2Σk=0n(atk+b-yk)tk=0F(a,b)b=2Σk=0n(atk+b-yk)=0

由上述方程组解得:

a=nΣn=1ntkyk-Σk=1ntkΣk=1nyk0nΣk=1ntk2-(Σk=1ntk)2b=1nΣk=1nyk-naΣk=1ntk

确定a、b的值后,代入公式,即可得出某个缓存对象在t时刻访问概率的计算公式。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号