掌桥专利:专业的专利平台
掌桥专利
首页

一种分布式存储缓存限流的方法、系统、存储介质及设备

文献发布时间:2023-06-19 16:06:26



技术领域

本发明涉及数据存储领域,尤其涉及分布式存储系统技术领域,具体涉及分布式存储系统中的缓存管理技术领域。

背景技术

分布式存储系统是由多个存储服务器(节点)通过网络连接而成,并通过节点间的数据的均衡分布实现了高性能,高可靠性,易于扩展的数据存储。分布式存储系统支持多副本机制保证数据的可靠性,即会将数据复制为多个,并分布到集群的不同节点上,即使某个节点故障,由于在其它节点上仍有该数据的备份,仍可提供正常的读写业务。

同时,由于数据分布在多个节点上,系统利用多台存储服务器分担存储负荷,提高了系统的并发读写性能,并且随着节点数的增加,性能可以呈线性增加。由于HDD(机械硬盘)的寻道机制,其处理小IO(数据读写,Input/Output)的时延较高。为了提高集群的小IO性能,现在许多分布式存储系统都会使用高速的SSD(固态硬盘)作为缓存,如果判断客户端读写操作为小块IO,如4K或8K等IO大小,数据可以先写在SDD缓存中,并且写缓存完成后即可向客户端返回写成功,后续再将数据异步下刷至HDD主存中。

通常情况下,作为缓存的设备的容量和数量往往都远远小于主存设备,然而SSD的随机小IO性能却比HHD高了2-3个数量级,SSD大大提高了集群的随机小IO性能。然而当随机小IO较多时,虽然缓存可以很快相应来自客户端的IO,但是由于HDD的随机小IO性能较差,而随机IO又很难合并为大IO,后台下刷至HDD的速度将会低于缓存写入的速度,导致缓存水位快速升高,因此必须要有完善的机制保证缓存不会被写满导致缓存不可用、甚至OSD服务停止。

目前的解决方法主要有两种:一是在缓存到达高水位时,通过节流阀对前端业务进行限制,降低缓存的写入速度;另一种是在缓存到达高水位时,让所有IO都不在写入缓存,而是直接写入主存HDD。然而这两种方案都会导致集群性能的突降或震荡,对客户端业务造成较大的影响。

因此,针对现有技术中的上述缺点、问题,需要提出一种优化的用于分布式存储系统的缓存管理的方法,合理调控系统中缓存的使用状态,尽可能使缓存水位维持安全范围内,同时确保不会由于调控导致集群性能的突降或震荡,进而避免对客户端业务造成较大的影响。

发明内容

有鉴于此,本发明的目的在于提出一种改进的分布式存储缓存限流的方法、系统、存储介质及设备,从而解决现有技术中的上述问题。

基于上述目的,一方面,本发明提供了一种分布式存储缓存限流的方法,其中该方法包括以下步骤:

根据分布式存储配置设置高水位阈值、极高水位阈值以及数据限流块阈值;

响应于接收到写请求且所述写请求的数据块小于所述数据限流块阈值,获取当前缓存水位并将其与所述高水位阈值、所述极高水位阈值进行比较;

响应于当前缓存水位高于所述高水位阈值且低于所述极高水位阈值,根据所述写请求的对象的主副本类型计算其缓存系数,并将所述缓存系数与基于当前缓存水位计算得到的缓存率进行比较;

响应于所述缓存系数小于所述缓存率、或所述当前缓存水位低于所述高水位阈值,根据所述写请求将相应的数据写入缓存;

响应于所述写请求的数据块大于等于所述数据限流块阈值、或所述当前缓存水位高于所述极高水位阈值、或所述缓存系数大于等于所述缓存率,根据所述写请求将相应的数据写入主存。

在根据本发明的分布式存储缓存限流的方法的一些实施例中,所述响应于接收到写请求且所述写请求的数据块小于所述数据限流块阈值,获取当前缓存水位并将其与所述高水位阈值、所述极高水位阈值进行比较进一步包括:

由缓存设备的当前已用容量除以总容量得到所述当前缓存水位。

在根据本发明的分布式存储缓存限流的方法的一些实施例中,所述响应于当前缓存水位高于所述高水位阈值且低于所述极高水位阈值,根据所述写请求的对象的主副本类型计算其缓存系数,并将所述缓存系数与基于当前缓存水位计算得到的缓存率进行比较进一步包括:

根据所述写请求所在的对象存储设备是否为主设置相应对象的主副本标志位的真假。

在根据本发明的分布式存储缓存限流的方法的一些实施例中,所述响应于当前缓存水位高于所述高水位阈值且低于所述极高水位阈值,根据所述写请求的对象的主副本类型计算其缓存系数,并将所述缓存系数与基于当前缓存水位计算进一步包括:

由关于当前缓存水位的开口向下的抛物线归一化获得所述缓存率,其中当前缓存水位等于高水位阈值对应于缓存率为1,当前缓存水位等于极高水位阈值对应于缓存率为0。

在根据本发明的分布式存储缓存限流的方法的一些实施例中,所述响应于当前缓存水位高于所述高水位阈值且低于所述极高水位阈值,根据所述写请求的对象的主副本类型计算其缓存系数,并将所述缓存系数与基于当前缓存水位计算得到的缓存率进行比较进一步包括:

由横坐标为当前缓存水位的开口向下的抛物线归一化计算得到缓存率,其中通过调整抛物线参数使抛物线曲线通过(高水位阈值,100)和(极高水位阈值,0),缓存率为当前水位线在该抛物线上的纵坐标值。

在根据本发明的分布式存储缓存限流的方法的一些实施例中,所述响应于当前缓存水位高于所述高水位阈值且低于所述极高水位阈值,根据所述写请求的对象的主副本类型计算其缓存系数,并将所述缓存系数与缓存率进行比较进一步包括:

由伪随机算法生成取值在0至100之间的随机数,并结合存储池数据冗余的副本数、对象的主副本标志位计算其缓存系数。

在根据本发明的分布式存储缓存限流的方法的一些实施例中,所述响应于当前缓存水位高于所述高水位阈值且低于所述极高水位阈值,根据所述写请求的对象的主副本类型计算其缓存系数,并将所述缓存系数与缓存率进行比较进一步包括:

响应于所述主副本标志位为真,缓存系数=随机数%(100/副本数);

响应于所述主副本标志位为假,缓存系数=随机数%(100-100/副本数)

+(100/副本数)。

本发明的另一方面,还提供了一种分布式存储缓存限流的系统,其中包括:

限流模式配置模块,所述限流模式配置模块配置为根据分布式存储配置设置高水位阈值、极高水位阈值以及数据限流块阈值;

限流流程启动模块,所述限流流程启动模块配置为响应于接收到写请求且所述写请求的数据块小于所述数据限流块阈值,获取当前缓存水位并将其与所述高水位阈值、所述极高水位阈值进行比较;

缓存状态判断模块,所述缓存状态判断模块配置为响应于当前缓存水位高于所述高水位阈值且低于所述极高水位阈值,根据所述写请求的对象的主副本类型计算其缓存系数,并将所述缓存系数与基于当前缓存水位计算得到的缓存率进行比较;

缓存数据写入模块,所述缓存数据写入模块配置为响应于所述缓存系数小于所述缓存率、或所述当前缓存水位低于所述高水位阈值,根据所述写请求将相应的数据写入缓存;

主存数据写入模块,所述主存数据写入模块配置为响应于所述写请求的数据块大于等于所述数据限流块阈值、或所述当前缓存水位高于所述极高水位阈值、或所述缓存系数大于等于所述缓存率,根据所述写请求将相应的数据写入主存。

本发明的再一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被执行时实现上述任一项根据本发明的分布式存储缓存限流的方法。

本发明的又一方面,还提供了一种计算机设备,包括存储器和处理器,该存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述任一项根据本发明的分布式存储缓存限流的方法。

本发明至少具有以下有益技术效果:基于本发明的方法,提供了一种分布式存储系统缓存的高水位限流方法,在客户端进行高并发随机小IO读写时,当缓存水位升高到高水位后,可以根据当前缓存水位动态调整小IO写入缓存的缓存率,通过优选伪随机生成的缓存系数与缓存率比较决定IO是否写入缓存,缓存率越高写入缓存的IO比例越高。并且通过平滑的缓存率曲线和调整主副本的缓存系数范围来减小性能波动和提高缓存命中率。该方法避免了由于缓存压力过大导致的集群性能突降和IO的阻塞,并且可最终使小IO写入缓存和写入主存的比例达到平衡,使缓存水位维持安全范围内而不会被写满。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。

在图中:

图1示出了根据本发明的分布式存储缓存限流的方法的实施例的流程示意图;

图2示出了根据本发明的分布式存储缓存限流的方法的实施例的示意性框图;

图3示出了根据本发明的分布式存储缓存限流的方法的实施例的缓存率示意图;

图4示出了根据本发明的分布式存储缓存限流的系统的实施例的示意性框图;

图5示出了根据本发明的实现分布式存储缓存限流的方法的计算机可读存储介质的实施例的示意图;

图6示出了根据本发明的实现分布式存储缓存限流的方法的计算机设备的实施例的硬件结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称的非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备固有的其他步骤或单元。

为了避免前述现有技术中存在的问题,本发明提出了一种分布式存储系统缓存的高水位限流方法,在客户端进行高并发随机小IO读写时,当缓存水位升高到高水位后,可以根据当前缓存水位动态调整小IO写入缓存的缓存率,通过伪随机生成的缓存系数与缓存率比较决定IO是否写入缓存,缓存率越高写入缓存的IO比例越高。并且通过平滑的缓存率曲线和调整主副本的缓存系数范围来减小性能波动和提高缓存命中率。该方法避免了由于缓存压力过大导致的集群性能突降和IO的阻塞,并且可最终使小IO写入缓存和写入主存的比例达到平衡,使缓存水位维持安全范围内而不会被写满。

基于此,图1示出了根据本发明的分布式存储缓存限流的方法的实施例的流程示意图。在图1所示的流程构思中,首先在出现写请求时首先判断其是否为小IO;如果是,则进一步判断当前缓存水位是否高于高水位;如果是,则根据其是否为主本进一步分情况计算其缓存系数,并根据当前缓存水位计算缓存率;随后判断缓存系数是否小于缓存率;如果是,则将数据写入缓存;其余情况下写入主存。

整体来讲,本发明的构思基于以下流程:判断当前缓存水位是否大于高水位并且为小IO,若是则进入流程,否则IO直接写入主存;根据IO是主副本类型计算缓存系数,缓存系数通过伪随机数归一化到各自缓存率范围内生成;获取当前缓存水位计算缓存率,缓存率由关于当前缓存水位的开口向下的抛物线归一化到[0,1]后获得;当前缓存水位等于高水位时缓存率为1,当前缓存水位等于极高水位时为0;判断该IO的缓存系数是否小于缓存率,如果小于则写入缓存,否则写入主存。

为此,本发明的第一方面,提供了一种分布式存储缓存限流的方法100。图2示出了根据本发明的分布式存储缓存限流的方法的实施例的示意性框图。在如图2所示的实施例中,该方法包括:

步骤S110:根据分布式存储配置设置高水位阈值、极高水位阈值以及数据限流块阈值;

步骤S120:响应于接收到写请求且所述写请求的数据块小于所述数据限流块阈值,获取当前缓存水位并将其与所述高水位阈值、

所述极高水位阈值进行比较;

步骤S130:响应于当前缓存水位高于所述高水位阈值且低于所述极高水位阈值,根据所述写请求的对象的主副本类型计算其缓存系数,并将所述缓存系数与基于当前缓存水位计算得到的缓存率进行比较;

步骤S140:响应于所述缓存系数小于所述缓存率、或所述当前缓存水位低于所述高水位阈值,根据所述写请求将相应的数据写入缓存;

步骤S150:响应于所述写请求的数据块大于等于所述数据限流块阈值、

或所述当前缓存水位高于所述极高水位阈值、或所述缓存系数大于等于所述缓存率,根据所述写请求将相应的数据写入主存。

总的来说,针对现有技术中存在的上述问题,首先需要设置一些相关的参数以配置限流模式。因此,在步骤S110中执行限流模式配置,即根据分布式存储配置设置高水位阈值、极高水位阈值以及数据限流块阈值。具体地,需要设置高水位和极高水位的标准,即高水位阈值、极高水位阈值,该限流方法仅在缓存水位高于高水位时生效,并在高水位到极高水位之间实时调节缓存率。高水位以下不对缓存做限流,小IO可全部写入缓存,在极高水位以上所有IO都不写缓存直接写主存。这两个参数的设置需要根据系统实际配置根据实测数据进行调整。

随后当接收到写请求且所述写请求的数据块小于所述数据限流块阈值时,在步骤S120中获取当前缓存水位并将其与步骤S110中确定的高水位阈值、极高水位阈值进行比较。

如果当前缓存水位高于高水位阈值且低于极高水位阈值,也就是说,此时当前缓存水位位于高水位与极高水位之间,则进入限流流程,因此在步骤S130中根据写请求的对象的主副本类型计算其缓存系数,并将缓存系数与基于当前缓存水位计算得到的缓存率进行比较。如果缓存系数小于所述缓存率,则执行步骤S140根据写请求将相应的数据写入缓存。而如果缓存系数大于等于缓存率,则执行步骤S150根据所述写请求将相应的数据写入主存。

此外,如果步骤120进行当前缓存水位与高水位阈值、极高水位阈值进行比较时发现当前缓存水位低于高水位阈值,也就是说当前缓存足够充裕,则同样执行步骤S140根据所述写请求将相应的数据写入缓存。而如果步骤120的比较时发现当前缓存水位高于极高水位阈值,代表当前缓存使用负载已经相当繁重,则执行步骤S150根据所述写请求将相应的数据写入主存。

再者,如果在步骤120接收到写请求时发现该写请求的数据块大于等于数据限流块阈值,即该写请求不属于小IO,那么也要执行步骤S150根据所述写请求将相应的数据写入主存。

进一步地,除了前述需要设置的一些相关的参数以配置限流模式以外,在本发明的范围内,所谓的缓存水位是指由缓存设备的当前已用容量与总容量的占比关系。因此,在根据本发明的分布式存储缓存限流的方法100的一些实施例中,步骤S120:响应于接收到写请求且所述写请求的数据块小于所述数据限流块阈值,获取当前缓存水位并将其与所述高水位阈值、所述极高水位阈值进行比较进一步包括:由缓存设备的当前已用容量除以总容量得到所述当前缓存水位。

再者,在根据本发明的分布式存储缓存限流的方法100的一些实施例中,步骤S130响应于当前缓存水位高于所述高水位阈值且低于所述极高水位阈值,根据所述写请求的对象的主副本类型计算其缓存系数,并将所述缓存系数与基于当前缓存水位计算得到的缓存率进行比较进一步包括:根据所述写请求所在的对象存储设备是否为主设置相应对象的主副本标志位的真假。也就是说,在本发明的范围内,除了前述需要设置的一些相关的参数以配置限流模式以外,还为对象增加主副本标志位以标记写请求的对象的主副本类型。在写操作时根据所在OSD是否为主,若为主设置该对象主副本标志位为真,否则为假。

进一步地,在根据本发明的分布式存储缓存限流的方法100的一些实施例中,步骤S130:响应于当前缓存水位高于所述高水位阈值且低于所述极高水位阈值,根据所述写请求的对象的主副本类型计算其缓存系数,并将所述缓存系数与基于当前缓存水位计算进一步包括:由关于当前缓存水位的开口向下的抛物线归一化获得所述缓存率,其中当前缓存水位等于高水位阈值对应于缓存率为1,当前缓存水位等于极高水位阈值对应于缓存率为0。当缓存水位达到高水位后,需要根据对象主副本类型计算该对象的缓存系数。图3示出了根据本发明的分布式存储缓存限流的方法的实施例的缓存率示意图,其中横坐标中的“高水位”的点对应于高水位阈值,“极高水位”的点对应于极高水位阈值。在本发明的范围内,缓存水位处于高水位阈值时规定此时的缓存率为1,而缓存水位处于极高水位阈值时规定缓存率为0。优选地,在根据本发明的分布式存储缓存限流的方法100的一些实施例中,步骤S130中基于当前缓存水位计算得到的缓存率进一步实施为由横坐标为当前缓存水位的开口向下的抛物线归一化计算得到缓存率,其中通过调整抛物线参数使抛物线曲线通过(高水位阈值,100)和(极高水位阈值,0),缓存率为当前水位线在该抛物线上的纵坐标值。

在该方法中缓存率采用平滑的抛物线是为了减小当缓存水位到达高水位时的性能突降,避免大量IO阻塞对存储系统的稳定性造成影响。而在实际应用中,可以根据集群配置和业务模型灵活调整,如抛物线的曲度,或者也可以选择其它曲线。

在根据本发明的分布式存储缓存限流的方法100的一些实施例中,步骤S130:响应于当前缓存水位高于所述高水位阈值且低于所述极高水位阈值,根据所述写请求的对象的主副本类型计算其缓存系数,并将所述缓存系数与缓存率进行比较进一步包括:由伪随机算法生成取值在0至100之间的随机数,并结合存储池数据冗余的副本数、对象的主副本标志位计算其缓存系数。当缓存水位达到高水位后,需要根据对象主副本类型计算该对象的缓存系数。在获取分布式存储集群中存储池数据冗余的副本数的基础上,同样参考图3,对象的缓存系数由伪随机算法生成,取值范围为[0,100]。

进一步地,在根据本发明的分布式存储缓存限流的方法100的一些实施例中,步骤S130:响应于当前缓存水位高于所述高水位阈值且低于所述极高水位阈值,根据所述写请求的对象的主副本类型计算其缓存系数,并将所述缓存系数与缓存率进行比较进一步包括:

响应于所述主副本标志位为真,缓存系数=随机数%(100/副本数);

响应于所述主副本标志位为假,缓存系数=随机数%(100-100/副本数)

+(100/副本数)。

主本和副本分布在不相交的范围内,其交界处由存储池的副本数除100确定。例如存储池为3副本,即每一个业务IO写入会在集群中写入一个主本和两个副本,则主本的取值范围为[0,33],副本的取值范围为[33,100]。这样主副本对象的缓存系统仍然在整个取值范围内是均匀分布的。主副本缓存系数的归一化可以通过取余操作实现,仍以3副本为例:

主本缓存系数=随机数%(100/3)=随机数%33;

副本缓存系数=随机数%(100-100/3)+(100/3)=随机数%67+33;

综合根据本发明的前述实施例,当小IO主副本对象的缓存系数小于缓存率时,则直接写入缓存,否则写入主存。如前所述,副本的缓存系数取值范围要大于主本,因此在缓存水位从高水位到极高水位的过程中,先限制副本写入缓存的数据量,当水位升高到所有副本都不再写缓存后才开始有主本不写缓存。这样做的原因是分布式存储系统的读IO请求会从主本上读取,如果保留的是对象的主本而不是副本,可以在客户端读取时可以从高速的缓存中读取,而不必从慢速的主存中读取,提高读IO性能。

该方法对对客户端小IO写入缓存的限流可以减慢缓存水位的升高,并且随着缓存水位的升高使小IO写入缓存的比例不断减小。当小IO写入缓存的速度和缓存中数据下刷到主存的速度相同时,缓存水位也会达到平衡,直到小IO写入或下刷的速度发生变化。因此该方法可以将缓存水位的变化反馈到小IO写入缓存的比例上,然后小IO写入缓存的比例又对缓存水位起到调控作用,使小IO写入缓存的比例和缓存数据下刷的速度之间达到动态平衡,保证缓存水位不会一直升高导致写满。

也就是说,本发明提供一种分布式存储系统缓存的高水位限流方法,能够在缓存水位快速升高后平滑地限制写入缓存的数据量,并且最终使得写入缓存的数据量和写入主存的数据量达到动态平衡,充分发挥所有盘的性能,减小对客户端业务的影响。在高缓存水位时,根据缓存水位控制小IO写入缓存的比例,并利用伪随机和归一化的方法使小IO按缓存比例写入缓存或主存,平衡缓存和主存设备的压力,并防止缓存写满。

本发明的第二方面,还提供了一种分布式存储缓存限流的系统200。图4示出了根据本发明的分布式存储缓存限流的系统200的实施例的示意性框图。如图4所示,该系统包括:

限流模式配置模块210,所述限流模式配置模块210配置为根据分布式存储配置设置高水位阈值、极高水位阈值以及数据限流块阈值;

限流流程启动模块220,所述限流流程启动模块220配置为响应于接收到写请求且所述写请求的数据块小于所述数据限流块阈值,获取当前缓存水位并将其与所述高水位阈值、所述极高水位阈值进行比较;

缓存状态判断模块230,所述缓存状态判断模块230配置为响应于当前缓存水位高于所述高水位阈值且低于所述极高水位阈值,根据所述写请求的对象的主副本类型计算其缓存系数,并将所述缓存系数与基于当前缓存水位计算得到的缓存率进行比较;

缓存数据写入模块240,所述缓存数据写入模块240配置为响应于所述缓存系数小于所述缓存率、或所述当前缓存水位低于所述高水位阈值,根据所述写请求将相应的数据写入缓存;

主存数据写入模块250,所述主存数据写入模块250配置为响应于所述写请求的数据块大于等于所述数据限流块阈值、或所述当前缓存水位高于所述极高水位阈值、或所述缓存系数大于等于所述缓存率,根据所述写请求将相应的数据写入主存。

本发明实施例的第三个方面,还提供了一种计算机可读存储介质,图5示出了根据本发明实施例提供的分布式存储缓存限流的方法的计算机可读存储介质的示意图。如图5所示,计算机可读存储介质300存储有计算机程序指令310,该计算机程序指令310可以被处理器执行。该计算机程序指令310被执行时实现上述任意一项实施例的方法。

应当理解,在相互不冲突的情况下,以上针对根据本发明的分布式存储缓存限流的方法阐述的所有实施方式、特征和优势同样地适用于根据本发明的分布式存储缓存限流的系统和存储介质。

本发明实施例的第四个方面,还提供了一种计算机设备400,包括存储器420和处理器410,该存储器中存储有计算机程序,该计算机程序被该处理器执行时实现上述任意一项实施例的方法。

如图6所示,为本发明提供的执行分布式存储缓存限流的方法的计算机设备的一个实施例的硬件结构示意图。以如图6所示的计算机设备400为例,在该计算机设备中包括一个处理器410以及一个存储器420,并还可以包括:输入装置430和输出装置440。处理器410、存储器420、输入装置430和输出装置440可以通过总线或者其他方式连接,图6中以通过总线连接为例。输入装置430可接收输入的数字或字符信息,以及产生与分布式存储缓存限流的有关的信号输入。输出装置440可包括显示屏等显示设备。

存储器420作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的资源监控方法对应的程序指令/模块。存储器420可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储资源监控方法的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器420可选包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

处理器410通过运行存储在存储器420中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的资源监控方法。

最后需要说明的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDRSDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。

本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。

结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被设计成用于执行这里功能的下列部件来实现或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置。

以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。

应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

相关技术
  • 一种分布式存储缓存限流的方法、系统、存储介质及设备
  • 一种分布式存储缓存管理的方法、系统、存储介质及设备
技术分类

06120114701926