CN110377572A - 一种缓存空间管理方法、装置、设备及介质 - Google Patents
一种缓存空间管理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN110377572A CN110377572A CN201910650713.5A CN201910650713A CN110377572A CN 110377572 A CN110377572 A CN 110377572A CN 201910650713 A CN201910650713 A CN 201910650713A CN 110377572 A CN110377572 A CN 110377572A
- Authority
- CN
- China
- Prior art keywords
- spatial cache
- data
- capacity
- cache
- spatial
- 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
Links
- 238000007726 management method Methods 0.000 title claims abstract description 34
- 238000003860 storage Methods 0.000 claims abstract description 102
- 238000000034 method Methods 0.000 claims abstract description 35
- 230000008685 targeting Effects 0.000 claims abstract description 21
- 230000002596 correlated effect Effects 0.000 claims abstract description 11
- 230000015654 memory Effects 0.000 claims description 23
- 230000000875 corresponding effect Effects 0.000 claims description 13
- 238000000151 deposition Methods 0.000 claims description 4
- 230000003111 delayed effect Effects 0.000 claims 1
- 230000015572 biosynthetic process Effects 0.000 abstract description 4
- 238000003786 synthesis reaction Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 13
- 230000004044 response Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 238000012360 testing method Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 230000001737 promoting effect Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000001565 modulated differential scanning calorimetry Methods 0.000 description 2
- 210000004985 myeloid-derived suppressor cell Anatomy 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种缓存空间管理方法、装置、设备及介质,所述方法包括构建缓存空间,所述缓存空间包括第一缓存空间和第二缓存空间;所述第一缓存空间中的数据先于所述第二缓存空间中的数据被访问;为所述第一缓存空间设置至少一个第一存储对象,所述第一存储对象用于存储预取数据和第一缓存数据;为所述第二缓存空间设置至少一个第二存储对象,所述第二存储对象用于存储第二缓存数据;动态调整第一缓存空间和第二缓存空间的容量的容量,以使得第一缓存空间的容量的变化量与目标命中率的导数正相关。本发明能够始终将缓存空间对访问请求指向的数据的综合命中率保持在较高状态,提升了数据预取和数据缓存的准确度。
Description
技术领域
本发明涉及缓存领域,尤其涉及一种缓存空间管理方法、装置、设备及介质。
背景技术
分布式文件系统中常利用缓存提升文件访问的响应速度。为了提升缓存对于文件访问请求指向的数据的命中率,现有技术中提供了多种缓存策略,比如最近最少使用策略,多级最近最少使用策略等,但是这些策略都在固定容量的缓存中被使用,而缓存容量的固定性影响了缓存对文件访问请求指向的数据的命中率,成为了制约提升缓存命中率的瓶颈。
发明内容
为了解决现有技术中使用固定容量的缓存而导致的难以提升缓存命中率的技术问题,本发明实施例提供一种缓存空间管理方法、装置、设备及介质。
一方面,本发明提供了一种缓存空间管理方法,所述方法包括:
构建缓存空间,所述缓存空间包括第一缓存空间和第二缓存空间;所述第一缓存空间中的数据的访问优先级高于所述第二缓存空间中的数据的访问优先级;
为所述第一缓存空间设置至少一个第一存储对象,所述第一存储对象用于存储预取数据和第一缓存数据;为所述第二缓存空间设置至少一个第二存储对象,所述第二存储对象用于存储第二缓存数据;
动态调整第一缓存空间的容量,以使得第一缓存空间的容量的变化量与目标命中率的导数正相关,所述目标命中率为预取命中率和缓存命中率的总和,预取命中率为第一缓存空间中预取数据的命中率,所述缓存命中率为第一缓存空间中第一缓存数据的命中率和第二缓存空间中第二缓存数据的命中率的总和;
根据调整后的第一缓存空间的容量,调整第二缓存空间的容量,以使得所述第一缓存空间的容量与所述第二缓存空间中第二缓存数据所占数据存储空间的容量的总和保持不变。
另一方面,本发明提供了一种缓存空间管理装置,所述装置包括:
缓存空间构建模块,用于构建缓存空间,所述缓存空间包括第一缓存空间和第二缓存空间;所述第一缓存空间中的数据的访问优先级高于所述第二缓存空间中的数据的访问优先级;
存储对象设置模块,用于为所述第一缓存空间设置至少一个第一存储对象,所述第一存储对象用于存储预取数据和第一缓存数据;为所述第二缓存空间设置至少一个第二存储对象,所述第二存储对象用于存储第二缓存数据;
第一缓存空间动态调整模块,用于动态调整第一缓存空间的容量,以使得第一缓存空间的容量的变化量与目标命中率的导数正相关,所述目标命中率为预取命中率和缓存命中率的总和,预取命中率为第一缓存空间中预取数据的命中率,所述缓存命中率为第一缓存空间中第一缓存数据的命中率和第二缓存空间中第二缓存数据的命中率的总和;
第二缓存空间动态调整模块,用于根据调整后的第一缓存空间的容量,调整第二缓存空间的容量,以使得所述第一缓存空间的容量与所述第二缓存空间中第二缓存数据所占数据存储空间的容量的总和保持不变。
另一方面,本发明提供了一种设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现一种缓存空间管理方法。
另一方面,本发明提供了一种计算机存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行一种缓存空间管理方法。
本发明提供了一种缓存空间管理方法、装置、设备及介质。本发明通过划分多个缓存空间,对每个缓存空间进行存储对象的条带化管理,并及时根据缓存空间对于数据访问请求指向的数据的命中情况动态调整各个缓存空间的容量,实现了对用于进行数据预取和数据缓存的空间的动态管理,从而能够始终将缓存空间对访问请求指向的数据的综合命中率保持在较高状态,提升了数据预取和数据缓存的准确度,从而加快了对访问请求的响应速度,增加了用户粘度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明提供的本发明实施例中可行的实施环境的架构示意图;
图2是本发明提供的缓存空间结构示意图;
图3是本发明提供的本发明实施例中TRL缓存管理策略施行环境示意图;
图4是本发明提供的缓存空间管理方法流程图;
图5是本发明提供的缓存空间命中率、prefetch hit的发生概率和cached hit的发生概率示意图;
图6是本发明提供的包括底部空间的缓存空间示意图;
图7是本发明提供的缓存空间调整策略图;
图8是本发明提供的动态调整第一缓存空间的容量流程图;
图9是本发明提供的动态调整第一缓存空间的容量的执行方法流程图;
图10是本发明提供的动态调整第一缓存空间的容量的相关逻辑流程图;
图11是本发明提供的本发明实施例中技术方案的实验效果示意图;
图12是本发明提供的一种缓存空间管理装置框图;
图13是本发明提供的一种用于实现本发明实施例所提供的方法的设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了使本发明实施例公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明实施例进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明实施例,并不用于限定本发明实施例。首先,对本发明实施例涉及到的现有技术及相关概念进行描述:
OpenStack:OpenStack是一个由NASA(美国国家航空航天局)和全球三大云计算中心之一的Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。基于OpenStack开发的云计算产品有很多,可以轻松实现私有云或者混合云。
Cephfs:是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式文件系统。Cephfs文件系统的访问一般分为两个步骤:首先打开文件,也就是通过文件的路径和文件名查找出文件的元数据信息,例如Inode,元数据信息中包含了文件的一些属性,比如创建时间、修改时间、所属者等,其中最重要的就是文件数据的位置信息;其次通过这个位置信息就可以对文件数据进行读写操作。一般文件元数据在第一次打开之后会一直持有,也就是持有文件句柄,而后面的操作就是连续的文件数据读写。Cephfs中通过缓存读未命中进行预取能提升下一次读请求缓存命中。
LRU:最近最少使用缓存淘汰算法。是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间t,当须淘汰一个页面时,选择现有页面中其t值最大的,即最近最久未使用的页面予以淘汰。
TRL:Two Rank LRU,二级LRU算法,使用两级缓存空间实施的二级LRU算法,所述两级缓存空间的优先级不同。
Inode:分布式文件系统元数据,记录文件数据存放的位置信息。
Dir:目录,代表一个文件夹。
Dentry:目录项,代表一个文件夹下面的每一个项,可以是文件或者自目录。
MDS:元数据服务器,负责文件系统命名空间的管理,也就是分布式文件系统统的目录树结构。
OSD:对象存储设备。是分布式文件系统中数据的存储设备,对于OSD而言,文件的数据和元数据是一样的,不加以区分,并且一般一个OSD对应一个磁盘。
Monitor:分布式文件系统管理器。管理分布式文件系统的各种信息,包括元数据服务器管理图(MDSMap)、对象存储设备管理图(OSDMap)等,这些Map结构管理分布式文件系统状态和扩展等功能。
Client模块:负责接收从应用程序发过来的文件请求操作,并根据不同的操作类型进入不同的逻辑处理。
MDSC(MDS Client)模块:负责根据请求操作文件的名字找出其元数据Inode信息,通过在客户端本地缓存中进行查找,如未命中则到MDS分布式缓存中查找,如仍未命中则继续到OSD中查找。
Striper模块:负责按照RADOS中的对象大小和条带单元对文件进行条带化分片操作,以提高文件的并发操作。
ObjectCacher模块:负责缓存和预取文件读写的数据,对缓存和预取的内容以对象为单位进行组织管理。
Objecter模块:缓存未命中时负责通过Crush算法计算出数据的目标OSD位置,实现无需查文件的元数据表,只需计算就可确定数据分布。
Crush算法:Crush是受控复制的分布式哈希算法,是Cephfs里面用于控制数据分布的一种方法,能够高效稳定的将数据分布在普通的结构化的集群中。它是一种伪随机的算法,在相同的环境下,相似的输入得到的结果之间没有相关性,相同的输入得到的结果是确定的。它只需要一个集群的描述地图和一些规则就可以根据一个整型的输入得到存放数据的一个设备列表。Client在有输入输出操作的时候,可能会执行CRUSH算法。
RADOS:是Cephfs的核心之一,能够在动态变化和异质结构的存储设备机群之上提供一种稳定、可扩展、高性能的单一逻辑对象存储接口和能够实现节点的自适应和自管理的存储系统。
RAID 0又称为Stripe或Striping,它代表了所有磁盘阵列级别中最高的存储性能。RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。
vdbench:是一个输入/输出工作负载生成器,用于验证数据完整性和度量直接附加和网络连接的存储的性能。它是一个免费的工具,容易使用,而且常常用于测试和基准测试。
为了便于详述本发明实施例中的技术方案,本发明实施例首先介绍本发明实施例的实施环境。
请参考图1,其示出了本发明实施例中可行的实施环境的架构示意图。如图1所示,所述实施环境中包括操作请求响应模块集、MDS集群、MON集群和OSD集群。其中MDS集群综合管理文件的目录树信息,OSD集群综合存储文件的实体信息,MON集群存储所述实施环境的各种管理信息。
所述操作请求响应模块集用于响应用户的应用操作请求,其可以通过对外暴露的接口接收来自客户端应用程序操作请求(Application Operation),所述操作请求响应模块集包括客户端模块、MDSC模块、Striper模块、ObjectCache模块和Objecter模块。
所述ObjectCacher模块基于对象条带进行数据的缓存和预取,其可以同时支持数据缓存和数据预取两种数据管理策略,相应的,所述ObjectCacher模块对应的缓存空间中也至少存储有缓存数据和预取数据两种数据。数据预取是指通过计算和访存的重叠,提前发出预取请求以便在该数据真正被使用到时已提前将数据块取入缓存空间。
具体地,本发明实施例中ObjectCacher模块对于缓存空间使用TRL缓存管理策略进行管理,即数据预取和数据缓存均在二级缓存空间中基于TRL缓存管理策略施行。本发明实施例首先公开缓存空间结构。请参考图2,其示出了缓存空间结构示意图。其中Object表示的是RADOS中每个存储对象,默认大小是4M。对存储对象Object进行条带化以得到至少一个条带存储单元,每个条带存储单元的大小记为su,故本发明实施例中以su指代Object中的某个条带存储单元,RADOS中的Object存储对象会类似RAID 0进行数据条带化,一个Object会分成几个条带存储单元。bh是每个su中的某一偏移量,其指向某块数据的存储位置。
请参考图3,其示出了本发明实施例中TRL缓存管理策略施行环境示意图。为了施行所述TRL缓存管理策略,本发明实施例中使用两个支持LRU缓存策略的缓存空间,即第一缓存空间和第二缓存空间,每个缓存空间中包括多个存储对象(Object),每个存储对象均包括至少一个条带,其中第一缓存空间中的条带由Up指代;第二缓存空间中的条带由Bottom指代,第一缓存空间的优先级高于第二缓存空间,所述第一缓存空间中存储有预取数据块(prefetch bh)和第一缓存数据块(cached bh),所述第二缓存空间中存储有第二缓存数据块(cached bh)和空数据块(empty bh)。
所述第一缓存空间和第二缓存空间中的每个条带均为链表结构,每个条带中的多个链表节点可以缓存不同的数据块(bh)。
第一缓存空间的容量极限值为预取数据的容量极值,超过了第一缓存空间容量的预取数据自会被淘汰。因此,第一缓存空间的容量极限值可以影响到整个缓存空间的命中率。若所述第一缓存空间的容量极限值无法进行自适应变动,则缓存空间的综合命中率就无法改善。正如目前的一些现有技术,其使用固定容量的缓存空间以用于预取数据,预取数据的大小不能适用于所有的场景。因为预取考虑的一个局部性原理,所以有些时候预取的数据可能不是将来要访问的数据,这种预取的不准确性不仅没有提升缓存命中率,反而会占用宝贵的缓存资源、增大与OSD之间通信的网络流量以及产生缓存空间污染。为改善这一情况,本发明实施例中第一缓存空间的容量极限值可以根据实际情况进行自适应变动,从而提升缓存空间的综合命中率。
为了能够达到通过自适应调整缓存空间容量提升缓存空间命中率的技术目的,本发明实施例公开一种缓存空间管理方法,所述缓存空间管理方法可以被应用于本发明实施例所述的实施环境中的ObjectCacher模块之中,也可以被应用于其他分布式文件系统,如图4所示,所述管理方法包括:
S101.构建缓存空间,所述缓存空间包括第一缓存空间和第二缓存空间;所述第一缓存空间中的数据的访问优先级高于所述第二缓存空间中的数据的访问优先级。
当需要在分布式系统中进行数据访问时,均要首先完成对数据的定位,即查找所述数据在缓存空间中或内存空间中的位置。内存空间的响应速度较慢,而响应速度较快的缓存空间的设置则起到了提升了布式系统的响应速度的作用。本发明实施例中的缓存空间包括第一缓存空间和第二缓存空间,在需要进行数据的定位时,首先查询第一缓存空间,若第一缓存空间命中数据,则可以直接响应,若第一缓存空间未命中数据,则到第二缓存空间进行查询。
S103.为所述第一缓存空间设置至少一个第一存储对象,所述第一存储对象用于存储预取数据和第一缓存数据;为所述第二缓存空间设置至少一个第二存储对象,所述第二存储对象用于存储第二缓存数据。
具体地,每个所述第一存储对象和所述第二存储对象中均包括至少一个条带存储单元。
具体地,所述第一缓存空间、第二缓存空间、存储对象、条带存储单元的具体含义上文已有解释,在此不再赘述。
存储有第一缓存数据的数据块即为前文所述的第一存储对象的第一缓存数据块,存储有预取数据的数据块即为前文所述的第一存储对象的预取数据块,而第二存储对象中中未存储任何数据的数据块为空数据块,存储有第二缓存数据的数据块为第二缓存数据块。
S105.动态调整第一缓存空间的容量,以使得第一缓存空间的容量的变化量与目标命中率的导数正相关,所述目标命中率为预取命中率和缓存命中率的总和,预取命中率为第一缓存空间中预取数据的命中率,所述缓存命中率为第一缓存空间中第一缓存数据的命中率和第二缓存空间中第二缓存数据的命中率的总和。
第一缓存空间中的容量极限值Nu对应于缓存预取窗口的最大容量,淘汰超过缓存预取窗口的预取数据可以解决预取不准确、缓存空间污染等问题,由此可见Nu的设置直接影响到缓存空间的缓存命中率。本发明实施例研究发现通过使得第一缓存空间的容量的变化量与目标命中率的导数正相关可以使缓存空间命中率趋于最优。
本发明实施例中第一缓存空间存储有预取数据(prefetch数据)和第一缓存数据(cached数据),本发明实施例中以prefetch hit表明一次查询即被预取数据命中的事件,以cached hit表明一次查询即被第一缓存数据或第二缓存数据命中的事件。第一缓存空间的容量极限值Nu作为预取容量的窗口大小,窗口越大,预取容量越多,那预取数据的命中率也会上升,而缓存空间总容量固定,预取数据越多,第一缓存数据和第二缓存数据的容量总和越少,其相应的命中率就会降低。简而言之,prefetch hit的发生概率随Nu单调增,cached hit的发生概率则单调减。不仅如此,相应的变化速率也呈现单调性,随着预取窗口的增大,prefetch hit的发生概率增长速率逐渐降低,呈现单调减的特性;相反,cachedhit的发生概率的减少呈现单调增的特性。请参考图5,其示出了缓存空间命中率、prefetchhit的发生概率和cached hit的发生概率示意图。图5中,当第一缓存空间存储容量为Nu取值为Nu′时,prefetch hit与cached hit发生概率之和,即缓存空间命中率存在峰值,此时缓存空间达到最佳命中率。
本发明实施例中使用PB代表第一缓存空间中预取数据命中率(prefetch hit的发生概率),使用CB代表缓存空间中缓存数据命中率(cached hit的发生概率),通过PB和CB之和来度量整个缓存空间命中率。假设有两个函数表示PB和CB与第一缓存空间容量极限值Nu的关系,分别为PB=f1(Nu)和CB=f2(Nu),其导数分别就是PB和CB的变化速率,由图5可知f1(Nu)的导数为正数,且单调减,f2(Nu)导数的负值为正数,且单调增。根据导数理论,当为0时,PB与CB之和存在最大值,如图5中缓存空间命中率曲线存在一个峰值,这个峰值的对应的第一缓存空间容量极限值Nu′也就是能使缓存空间命中率最大的点。
步骤S105中动态调整第一缓存空间的目的在于使得当前的第一缓存空间的容量极限值趋向于峰值Nu′,如果当前第一缓存空间的容量极限值Nu处在Nu′左侧,则需增加Nu的值,在右侧则减小。根据上述内容可知,动态调整第一缓存空间可以根据公式Nu′-Nu=β*α确定。其中β为一个常量,代表第一缓存空间自适应调整的幅度,α为目标命中率根据公式Nu′-Nu=β*α可知,第一缓存空间的容量的变化量与目标命中率的导数正相关可以作为一种可行的调整策略。在一个优选的实施例中,第一缓存空间的容量的变化量与目标命中率的导数成正比,而比值即为β。
如图6所示,本发明实施例中将第一缓存空间的底部空间定义为Up bottom(Ub),并将第二缓存空间的底部空间定义为Global bottom(Gb)。第一缓存空间的底部空间指向第一缓存空间底部存储有数据的至少一个条带存储单元,所述第二缓存空间的底部空间指向第二缓存空间底部存储有数据的至少一个条带存储单元。第一缓存空间的动态调整反映在根据微分定义Ub的变化上,相应的第二缓存空间的动态调整反映在Gb的变化上。即通过调整第一缓存空间的底部空间的位置调整第一缓存空间的容量,通过调整第二缓存空间的底部空间的位置调整第二缓存空间的容量。在比较小的变化范围内,导数的值等价于变化量,即PB的导数值近似的等于一段时间ΔT内,Up的增量ΔNu内的命中次数又因为Up的变化量与第一缓存空间的底部空间的变化量是一致的,所以可以使用Ub内的命中率ΔP近似等价于即
由于缓存空间的总容量一定,如果Ub容量增加ΔNu,则Gb也会相应减少。但是Ub中增加ΔNu中全部存储有数据,而Gb中可能只有部分空间存储有数据,因此Gb的容量减少量应该为ΔNu的λ倍,才能够使得缓存空间的总存储数据的容量不变,如图7所示。λ具体值与Ub的数据量和Gb的数据量有关,其近似可以取第一缓存空间的底部空间的数据量与第二缓存空间的底部空间的数据量的比值。根据微分定义,整个缓存空间中近似于λΔNu范围内的数据的命中次数同理使用Gb命中率ΔC来近似等价由此可知,
综上所述可知,由Nu′-Nu=β*α可以推导出从这一公式可以看出,第一缓存空间的调整跟Ub中预取数据的命中率ΔP和Gb中缓存数据的命中率ΔC有关,除此之外还有两个系数χ和λ,其中χ表示调整第一缓存空间变化的幅度,其对应于调整的灵敏度。若χ值过高,则可能产生过调节,使得图5中原本位于最佳位置Nu′左侧的当前Nu被调节至最佳位置Nu′的右侧;若χ值过低,则可能产生欠调节,使得图5中原本位于最佳位置Nu′左侧的当前Nu被调节后依然位于最佳位置Nu′的左侧,调节效果较弱。因此,χ可以根据实际的实验结果进行设定,以灵敏度合理为准。
在一个可行的实施例中,根据进行第一缓存空间的调节,如图8所述,所述动态调整第一缓存空间的容量,包括:
S1.获取第一缓存空间的底部空间对应的数据的第一命中率。
S3.获取第二缓存空间的底部空间对应的数据的第二命中率。
根据上述内容可知第一命中率即为ΔP,第二命中率即为ΔC。
S5.根据所述第一命中率和所述第二命中率调整第一缓存空间的容量。
根据上述内容,为了简化动态调整第一缓存空间的容量的复杂度,本发明实施例给出具体地动态调整第一缓存空间的容量的执行方法,所述动态调整第一缓存空间的容量,如图9所示,包括:
S1051.在目标操作中,若第一缓存空间的底部空间命中待访问数据,则根据公式Nu'=Nu+χ增加第一缓存空间的容量,其中Nu',Nu分别为调整后的第一缓存空间的容量和当前的第一缓存空间的容量。
所述目标操作可以为每一次的数据访问操作,也可以为指定的数据访问操作,也可以在数据访问操作构成的序列中,每间隔N个元素设定一个目标操作,本发明实施例中通过目标操作触发第一缓存空间的动态调整,因此目标操作的设定逻辑可以影响第一缓存空间的调整频率。
公式Nu'=Nu+χ事实上根据公式将ΔP和ΔC分别取为1和0而得到。
S1053.在目标操作中,若第二缓存空间的底部空间命中待访问数据,则根据公式减少第一缓存空间的容量。
公式事实上根据公式将ΔP和ΔC分别取为0和1而得到。此时Nu进行减小调整操作,减少操作的系数λ为正数,表示S1053单次执行时第一缓存空间容量减少的幅度比S1051单次执行时第一缓存空间容量增加的幅度小一些。
S1055.在目标操作中,若第二缓存空间的底部空间和第一缓存空间的底部空间同时命中待访问数据,则不进行调整。
在缓存空间的内容比较少时,第二缓存空间的底部空间和第一缓存空间的底部空间可能出现重叠,如果命中发生在重叠区,则不做调整。
本发明实施例中动态调整第一缓存空间的触发是根据第一缓存空间的底部空间和第二缓存空间的底部空间的具体命中情况来进行的。因此这两个区域范围的设置直接影响到命中情况,进而影响对第一缓存空间的调整。对这两个区域的设置可以根据本领域技术人员的经验来进行设定,也可以根据实际情况进行适应调整。本发明实施例中这里第一缓存空间的底部空间的容量和第二缓存空间的底部空间的容量可以均优选设置为缓存空间总容量的10%。
在一个可行的实施例中,所述动态调整第一缓存空间的容量,如图10所示,还包括:
S1052.当所述缓存空间为空时,直接获取缓存数据或预取数据,并将获取到的缓存数据或预取数据加入第一缓存空间的底部空间。
当所述缓存空间被构建后,其内容为空,新写入或者缓存预取的数据被加入第一缓存空间的底部空间,一旦第一缓存空间被充满,则数据就需要被降级并淘汰到第二缓存空间之中,并进行自适应调整。因此,第一缓存空间的容量影响后续的动态调整策略的执行启动时间,根据相关实验显示,当第一缓存空间的容量在所述缓存空间的总容量的50%-60%最为合理。
S1054.若所述第一缓存空间被充满,则执行动态调整策略,以便于动态调整第一缓存空间的容量。
在一个可行的实施例中,通过设定标志位来控制动态调整策略的执行,若所述标志位为真,则动态调整策略被执行,若所述标志位为假,则不执行所述动态调整策略。所述动态调整策略即为本发明实施例中详述的动态调整方法,在此不再赘述。
S107.根据调整后的第一缓存空间的容量,调整第二缓存空间的容量,以使得所述第一缓存空间的容量与所述第二缓存空间中第二缓存数据所占数据存储空间的容量的总和保持不变。
本发明实施例公开的一种缓存空间管理方法,通过划分多个缓存空间,对每个缓存空间进行存储对象的条带化管理,并及时根据缓存空间对于数据访问请求指向的数据的命中情况动态调整各个缓存空间的容量,实现了对用于进行数据预取和数据缓存的空间的动态管理,从而能够始终将缓存空间对访问请求指向的数据的综合命中率保持在较高状态,提升了数据预取和数据缓存的准确度。本发明实施例通过提升数据预取和数据缓存的准确度,降低了到OSD设备中访问数据的概率,从而加快了对访问请求的响应速度,增加了用户粘度。
请参考图11,其示出了对于本发明实施例中技术方案的实验效果。通过vdbench测试使用本发明实施例中所述的缓存空间管理方法进行缓存空间管理的文件系统的数据访问性能,所述文件系统基于其缓存空间使用TRL进行缓存管理。所有测试采用一种文件目录结构,文件目录深度为1,每个目录下有10个项,每个项中有1000个文件,每个文件数据量32K,每次读写访问4K,并发线程数为2。由此可知,测试系统的文件数目10000,每个文件32KB,则321MB内存可缓存文件数据。对Cephfs分别设置缓存大小为200MB、400MB以及600MB来测试文件系统的性能。如图11所示,Origin为未使用本发明实施例所述方法进行缓存空间管理的情况下获取的测试数据,prefetch为使用本发明实施例所述方法进行缓存空间管理的情况下获取的测试数据。图11中是各种缓存下测试的顺序读与随机读性能,通过测试可知,缓存容量的增大响应时间有明显减少,本文的优化方案对于顺序和随机都能较好提高性能,三种容量下,顺序读响应时间分别减少10.62%、13.73%和21.18%,随机读响应时间分别减少了1.33%、10.82%和16.62%,可见本发明实施例取得的技术效果显著,能够显著提升文件系统的响应性能。
本发明实施例还提供一种缓存空间管理装置,如图12所示,所述装置包括:
缓存空间构建模块201,用于构建缓存空间,所述缓存空间包括第一缓存空间和第二缓存空间;所述第一缓存空间中的数据的访问优先级高于所述第二缓存空间中的数据的访问优先级;
存储对象设置模块203,用于为所述第一缓存空间设置至少一个第一存储对象,所述第一存储对象用于存储预取数据和第一缓存数据;为所述第二缓存空间设置至少一个第二存储对象,所述第二存储对象用于存储第二缓存数据;
第一缓存空间动态调整模块205,用于动态调整第一缓存空间的容量,以使得第一缓存空间的容量的变化量与目标命中率的导数正相关,所述目标命中率为预取命中率和缓存命中率的总和,预取命中率为第一缓存空间中预取数据的命中率,所述缓存命中率为第一缓存空间中第一缓存数据的命中率和第二缓存空间中第二缓存数据的命中率的总和;
第二缓存空间动态调整模块207,用于根据调整后的第一缓存空间的容量,调整第二缓存空间的容量,以使得所述第一缓存空间的容量与所述第二缓存空间中第二缓存数据所占数据存储空间的容量的总和保持不变。
优选的,每个所述第一存储对象和所述第二存储对象中均包括至少一个条带存储单元,所述装置还包括:
第一缓存空间的底部空间获取模块,用于获取第一缓存空间的底部空间;所述第一缓存空间的底部空间指向第一缓存空间底部存储有数据的至少一个条带存储单元;
第二缓存空间的底部空间获取模块,用于获取第二缓存空间的底部空间;所述第二缓存空间的底部空间指向第二缓存空间底部存储有数据的至少一个条带存储单元。
具体地,本发明实施例所述一种缓存空间管理装置与方法实施例均基于相同发明构思。
本发明实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行本发明实施例所述的方法,所述方法至少包括:
一种缓存空间管理方法,述方法包括:
构建缓存空间,所述缓存空间包括第一缓存空间和第二缓存空间;所述第一缓存空间中的数据的访问优先级高于所述第二缓存空间中的数据的访问优先级;
为所述第一缓存空间设置至少一个第一存储对象,所述第一存储对象用于存储预取数据和第一缓存数据;为所述第二缓存空间设置至少一个第二存储对象,所述第二存储对象用于存储第二缓存数据;
动态调整第一缓存空间的容量,以使得第一缓存空间的容量的变化量与目标命中率的导数正相关,所述目标命中率为预取命中率和缓存命中率的总和,预取命中率为第一缓存空间中预取数据的命中率,所述缓存命中率为第一缓存空间中第一缓存数据的命中率和第二缓存空间中第二缓存数据的命中率的总和;
根据调整后的第一缓存空间的容量,调整第二缓存空间的容量,以使得所述第一缓存空间的容量与所述第二缓存空间中第二缓存数据所占数据存储空间的容量的总和保持不变。
优选的,所述动态调整第一缓存空间的容量,以使得第一缓存空间的容量的变化量与目标命中率的导数正相关,包括:
动态调整第一缓存空间的容量,以使得第一缓存空间的容量的变化量与目标命中率的导数成正比。
优选的,每个所述第一存储对象和所述第二存储对象中均包括至少一个条带存储单元,所述方法还包括;
获取第一缓存空间的底部空间;所述第一缓存空间的底部空间指向第一缓存空间底部存储有数据的至少一个条带存储单元;
获取第二缓存空间的底部空间;所述第二缓存空间的底部空间指向第二缓存空间底部存储有数据的至少一个条带存储单元。
优选的,所述动态调整第一缓存空间的容量,包括;
获取第一缓存空间的底部空间对应的数据的第一命中率;
获取第二缓存空间的底部空间对应的数据的第二命中率;
根据所述第一命中率和所述第二命中率调整第一缓存空间的容量。
优选的,所述所述动态调整第一缓存空间的容量,包括;
在目标操作中,若第一缓存空间的底部空间命中待访问数据,则根据公式Nu'=Nu+χ增加第一缓存空间的容量,其中Nu',Nu分别为调整后的第一缓存空间的容量和当前的第一缓存空间的容量,χ表示调整第一缓存空间变化的幅度;
在目标操作中,若第二缓存空间的底部空间命中待访问数据,则根据公式减少第一缓存空间的容量;λ与第一缓存空间的底部空间的数据量以及第二缓存空间的底部空间的数据量均有关;
在目标操作中,若第二缓存空间的底部空间和第一缓存空间的底部空间同时命中待访问数据,则不进行调整。
优选的,所述方法还包括:
当所述缓存空间为空时,直接获取缓存数据或预取数据,并将获取到的缓存数据或预取数据加入第一缓存空间的底部空间。
进一步地,图13示出了一种用于实现本发明实施例所提供的方法的设备的硬件结构示意图,所述设备可以参与构成或包含本发明实施例所提供的装置或系统。如图13所示,设备10可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图13所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,设备10还可包括比图13中所示更多或者更少的组件,或者具有与图13所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到设备10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中所述的方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的一种缓存空间管理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括设备10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(NetworkInterfaceController,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与设备10(或移动设备)的用户界面进行交互。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种缓存空间管理方法,其特征在于,所述方法包括:
构建缓存空间,所述缓存空间包括第一缓存空间和第二缓存空间;所述第一缓存空间中的数据的访问优先级高于所述第二缓存空间中的数据的访问优先级;
为所述第一缓存空间设置至少一个第一存储对象,所述第一存储对象用于存储预取数据和第一缓存数据;为所述第二缓存空间设置至少一个第二存储对象,所述第二存储对象用于存储第二缓存数据;
动态调整第一缓存空间的容量,以使得第一缓存空间的容量的变化量与目标命中率的导数正相关,所述目标命中率为预取命中率和缓存命中率的总和,预取命中率为第一缓存空间中预取数据的命中率,所述缓存命中率为第一缓存空间中第一缓存数据的命中率和第二缓存空间中第二缓存数据的命中率的总和;
根据调整后的第一缓存空间的容量,调整第二缓存空间的容量,以使得所述第一缓存空间的容量与所述第二缓存空间中第二缓存数据所占数据存储空间的容量的总和保持不变。
2.根据权利要求1所述的方法,其特征在于,所述动态调整第一缓存空间的容量,以使得第一缓存空间的容量的变化量与目标命中率的导数正相关,包括:
动态调整第一缓存空间的容量,以使得第一缓存空间的容量的变化量与目标命中率的导数成正比。
3.根据权利要求1所述的方法,其特征在于,每个所述第一存储对象和所述第二存储对象中均包括至少一个条带存储单元,所述方法还包括;
获取第一缓存空间的底部空间;所述第一缓存空间的底部空间指向第一缓存空间底部存储有数据的至少一个条带存储单元;
获取第二缓存空间的底部空间;所述第二缓存空间的底部空间指向第二缓存空间底部存储有数据的至少一个条带存储单元。
4.根据权利要求3所述的方法,其特征在于,所述动态调整第一缓存空间的容量,包括;
获取第一缓存空间的底部空间对应的数据的第一命中率;
获取第二缓存空间的底部空间对应的数据的第二命中率;
根据所述第一命中率和所述第二命中率调整第一缓存空间的容量。
5.根据权利要求3所述的方法,其特征在于,所述所述动态调整第一缓存空间的容量,包括;
在目标操作中,若第一缓存空间的底部空间命中待访问数据,则根据公式Nu'=Nu+χ增加第一缓存空间的容量,其中Nu',Nu分别为调整后的第一缓存空间的容量和当前的第一缓存空间的容量,χ表示调整第一缓存空间变化的幅度;
在目标操作中,若第二缓存空间的底部空间命中待访问数据,则根据公式减少第一缓存空间的容量;λ与第一缓存空间的底部空间的数据量以及第二缓存空间的底部空间的数据量均有关;
在目标操作中,若第二缓存空间的底部空间和第一缓存空间的底部空间同时命中待访问数据,则不进行调整。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当所述缓存空间为空时,直接获取缓存数据或预取数据,并将获取到的缓存数据或预取数据加入第一缓存空间的底部空间。
7.一种缓存空间管理装置,其特征在于,所述装置包括:
缓存空间构建模块,用于构建缓存空间,所述缓存空间包括第一缓存空间和第二缓存空间;所述第一缓存空间中的数据的访问优先级高于所述第二缓存空间中的数据的访问优先级;
存储对象设置模块,用于为所述第一缓存空间设置至少一个第一存储对象,所述第一存储对象用于存储预取数据和第一缓存数据;为所述第二缓存空间设置至少一个第二存储对象,所述第二存储对象用于存储第二缓存数据;
第一缓存空间动态调整模块,用于动态调整第一缓存空间的容量,以使得第一缓存空间的容量的变化量与目标命中率的导数正相关,所述目标命中率为预取命中率和缓存命中率的总和,预取命中率为第一缓存空间中预取数据的命中率,所述缓存命中率为第一缓存空间中第一缓存数据的命中率和第二缓存空间中第二缓存数据的命中率的总和;
第二缓存空间动态调整模块,用于根据调整后的第一缓存空间的容量,调整第二缓存空间的容量,以使得所述第一缓存空间的容量与所述第二缓存空间中第二缓存数据所占数据存储空间的容量的总和保持不变。
8.根据权利要求7所述的装置,其特征在于,每个所述第一存储对象和所述第二存储对象中均包括至少一个条带存储单元,所述装置还包括:
第一缓存空间的底部空间获取模块,用于获取第一缓存空间的底部空间;所述第一缓存空间的底部空间指向第一缓存空间底部存储有数据的至少一个条带存储单元;
第二缓存空间的底部空间获取模块,用于获取第二缓存空间的底部空间;所述第二缓存空间的底部空间指向第二缓存空间底部存储有数据的至少一个条带存储单元。
9.一种设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1-6任一项所述的一种缓存空间管理方法。
10.一种计算机存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行权利要求1-6任一项所述的一种缓存空间管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910650713.5A CN110377572B (zh) | 2019-07-18 | 2019-07-18 | 一种缓存空间管理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910650713.5A CN110377572B (zh) | 2019-07-18 | 2019-07-18 | 一种缓存空间管理方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110377572A true CN110377572A (zh) | 2019-10-25 |
CN110377572B CN110377572B (zh) | 2024-02-13 |
Family
ID=68253918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910650713.5A Active CN110377572B (zh) | 2019-07-18 | 2019-07-18 | 一种缓存空间管理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110377572B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110865947A (zh) * | 2019-11-14 | 2020-03-06 | 中国人民解放军国防科技大学 | 一种面向预取数据的高速缓存管理方法 |
CN111309650A (zh) * | 2020-02-11 | 2020-06-19 | 广州市百果园信息技术有限公司 | 缓存控制方法、装置、存储介质及设备 |
CN112328632A (zh) * | 2020-10-09 | 2021-02-05 | 福建亿榕信息技术有限公司 | 一种分布式两级缓存的方法和系统 |
CN112417350A (zh) * | 2020-09-17 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 数据存储调整方法、装置及计算机设备 |
CN112737975A (zh) * | 2020-12-25 | 2021-04-30 | 珠海西山居移动游戏科技有限公司 | 缓冲区容量调整方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040215884A1 (en) * | 1999-11-05 | 2004-10-28 | Daniel Lambright | Segmenting cache to provide varying service levels |
CN1852318A (zh) * | 2006-04-19 | 2006-10-25 | 华中科技大学 | 适用于对象网络存储的分布式多级缓存系统 |
CN101692229A (zh) * | 2009-07-28 | 2010-04-07 | 武汉大学 | 基于数据内容的三维空间数据自适应多级缓存系统 |
CN101763226A (zh) * | 2010-01-19 | 2010-06-30 | 北京航空航天大学 | 一种虚拟存储设备的缓存方法 |
-
2019
- 2019-07-18 CN CN201910650713.5A patent/CN110377572B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040215884A1 (en) * | 1999-11-05 | 2004-10-28 | Daniel Lambright | Segmenting cache to provide varying service levels |
CN1852318A (zh) * | 2006-04-19 | 2006-10-25 | 华中科技大学 | 适用于对象网络存储的分布式多级缓存系统 |
CN101692229A (zh) * | 2009-07-28 | 2010-04-07 | 武汉大学 | 基于数据内容的三维空间数据自适应多级缓存系统 |
CN101763226A (zh) * | 2010-01-19 | 2010-06-30 | 北京航空航天大学 | 一种虚拟存储设备的缓存方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110865947A (zh) * | 2019-11-14 | 2020-03-06 | 中国人民解放军国防科技大学 | 一种面向预取数据的高速缓存管理方法 |
CN110865947B (zh) * | 2019-11-14 | 2022-02-08 | 中国人民解放军国防科技大学 | 一种面向预取数据的高速缓存管理方法 |
CN111309650A (zh) * | 2020-02-11 | 2020-06-19 | 广州市百果园信息技术有限公司 | 缓存控制方法、装置、存储介质及设备 |
CN111309650B (zh) * | 2020-02-11 | 2024-01-05 | 广州市百果园信息技术有限公司 | 缓存控制方法、装置、存储介质及设备 |
CN112417350A (zh) * | 2020-09-17 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 数据存储调整方法、装置及计算机设备 |
CN112417350B (zh) * | 2020-09-17 | 2023-03-24 | 上海哔哩哔哩科技有限公司 | 数据存储调整方法、装置及计算机设备 |
CN112328632A (zh) * | 2020-10-09 | 2021-02-05 | 福建亿榕信息技术有限公司 | 一种分布式两级缓存的方法和系统 |
CN112328632B (zh) * | 2020-10-09 | 2022-06-14 | 福建亿榕信息技术有限公司 | 一种分布式两级缓存的方法和系统 |
CN112737975A (zh) * | 2020-12-25 | 2021-04-30 | 珠海西山居移动游戏科技有限公司 | 缓冲区容量调整方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110377572B (zh) | 2024-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110377572A (zh) | 一种缓存空间管理方法、装置、设备及介质 | |
US10126964B2 (en) | Hardware based map acceleration using forward and reverse cache tables | |
CN104850358B (zh) | 一种磁光电混合存储系统及其数据获取和存储方法 | |
US11347428B2 (en) | Solid state tier optimization using a content addressable caching layer | |
US5606688A (en) | Method and apparatus for dynamic cache memory allocation via single-reference residency times | |
US8397016B2 (en) | Efficient use of hybrid media in cache architectures | |
US20160253269A1 (en) | Spatial Sampling for Efficient Cache Utility Curve Estimation and Cache Allocation | |
US8966204B2 (en) | Data migration between memory locations | |
US20130238851A1 (en) | Hybrid storage aggregate block tracking | |
US20140351505A1 (en) | Providing data attributes to a storage manager to use to select a storage tier to use for a data set management operation | |
CN114860163B (zh) | 一种存储系统、内存管理方法和管理节点 | |
US8572325B2 (en) | Dynamic adjustment of read/write ratio of a disk cache | |
US11809330B2 (en) | Information processing apparatus and method | |
CN110268391A (zh) | 用于缓存数据的系统和方法 | |
CN106911743B (zh) | 小文件的写聚合、读聚合方法及系统和客户端 | |
CN103530387A (zh) | 一种hdfs针对小文件的改进方法 | |
US10127156B1 (en) | Caching techniques | |
Dong et al. | Correlation based file prefetching approach for hadoop | |
CN109002503A (zh) | 一种元数据读取方法、装置、设备及可读存储介质 | |
CN114697683A (zh) | 流媒体文件的智能调度方法、设备和计算机程序产品 | |
Hou et al. | GDS-LC: A latency-and cost-aware client caching scheme for cloud storage | |
JP6394231B2 (ja) | データ配置制御プログラム、データ配置制御装置およびデータ配置制御方法 | |
US20130086325A1 (en) | Dynamic cache system and method of formation | |
CN109446115A (zh) | 一种映射表管理方法、装置和计算机可读存储介质 | |
JP2013210846A (ja) | ストレージ制御装置、ストレージシステムおよびストレージ制御方法 |
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 |