一种缓存系统和在缓存系统中缓存数据的方法

文档序号:6355687阅读:169来源:国知局
专利名称:一种缓存系统和在缓存系统中缓存数据的方法
技术领域
本发明涉及计算机存储领域,尤其涉及一种缓存系统和在缓存系统中缓存数据的 方法。
背景技术
如今高速缓存是提升存储系统有效带宽和响应性能的有效方法和关键资源,是实 现处理能力高效能线性提升的关键保障,在高端磁盘阵列中,相比于控制器数量、物理存储 资源的增长带来的性能提升,高速缓存对系统性能的影响则更加明显。由于单一控制器物 理内存资源的有限性,在面向PB级海量数据并发处理的存储结构中,怎样实现高性价比的 存储处理能力提升成为关键。

发明内容
本发明提供的一种缓存系统和在缓存系统中缓存数据的方法,要解决的技术问题 是如何在有限的缓存资源条件的约束下提升存储系统的响应性能。为解决上述技术问题,本发明提供了如下技术方案一种缓存系统,包括缓存模块,包含第一缓存介质和第二缓存介质,其中所述第一缓存介质的读写速 度级别高于所述第二缓存介质的第二读写速度级别;获取模块,用于获取所述第一缓存介质中第一数据的第一访问热度以及所述第二 缓存介质中第二数据的第二访问热度;管理模块,用于在所述第一访问热度小于预先设置的第一数据的访问热度下限值 时,将所述第一数据迁移到所述第二缓存介质;用于在所述第二访问热度高于预先设置的 第二数据的访问热度上限值时,将所述第二数据迁移到所述第一缓存介质。优选的,所述系统还具有如下特点所述第一缓存介质为物理内存,所述第二缓存 介质为固态硬盘(SSD)或者高性能(FC)磁盘;或者,所述第一缓存介质为固态硬盘,所述第 二缓存介质为高性能磁盘。优选的,所述系统还具有如下特点所述缓存模块的个数为多个,所述系统还包 括备份模块,用于在每个数据所在的缓存模块之外的其他缓存模块对数据进行备 份。一种缓存系统,包括缓存模块,包含第一缓存介质和第二缓存介质,其中所述第一缓存介质的读写速 度级别高于所述第二缓存介质的第二读写速度级别,所述第一缓存介质的第一存储空间级 别低于所述第二缓存介质的存储空间级别;获取模块,用于当接收到数据的访问请求时,获取所述访问请求所要求的读写速 度级别以及所述数据所占的存储空间级别;
迁移模块,用于在所述访问请求所要求的读写速度级别大于预先设置的读写速度 级别阈值时,将所述数据迁移到所述第一缓存介质进行缓存;在所述数据所占的存储空间 级别大于预先设置的存储空间阈值时,将所述数据迁移到所述第二缓存介质进行缓存。优选的,所述系统还具有如下特点所述第一缓存介质为物理内存,所述第二缓存 介质为固态硬盘(SSD)或者高性能(FC)磁盘;或者,所述第一缓存介质为固态硬盘,所述第 二缓存介质为高性能磁盘。一种在缓存系统中缓存数据的方法,所述缓存系统包括缓存模块,包含第一缓存 介质和第二缓存介质,其中所述第一缓存介质的读写速度级别高于所述第二缓存介质的第 二读写速度级别;其中所述方法包括获取所述第一缓存介质中第一数据的第一访问热度以及所述第二缓存介质中第 二数据的第二访问热度;在所述第一访问热度低于预先设置的第一数据的访问热度下限值时,将所述第一 数据迁移到所述第二缓存介质;在所述第二访问热度高于预先设置的第二数据的访问热度 上限值时,将所述第二数据迁移到所述第一缓存介质。优选的,所述方法还具有如下特点所述第一缓存介质为物理内存,所述第二缓存 介质为固态硬盘(SSD)或者高性能(FC)磁盘;或者,所述第一缓存介质为固态硬盘,所述第 二缓存介质为高性能磁盘。优选的,所述方法还具有如下特点所述方法还包括在所述缓存系统包括多个缓存模块时,在每个数据所在的缓存模块之外的其他缓 存模块对数据进行备份。一种在缓存系统中缓存数据的方法,所述缓存系统包括缓存模块,包含第一缓存 介质和第二缓存介质,其中所述第一缓存介质的读写速度级别高于所述第二缓存介质的第 二读写速度级别,所述第一缓存介质的第一存储空间级别低于所述第二缓存介质的存储空 间级别;其中所述方法包括当接收到数据的访问请求时,获取所述访问请求所要求的读写速度级别以及所述 数据所占的存储空间级别;在所述访问请求所要求的读写速度级别大于预先设置的读写速度级别阈值时,将 所述数据迁移到所述第一缓存介质进行缓存;在数据所占的存储空间级别大于预先设置的 存储空间级别阈值时,将所述数据迁移到所述第二缓存介质进行缓存。优选的,所述方法还具有如下特点所述方法还包括在所述缓存系统包括多个缓存模块时,在每个数据所在的缓存模块之外的其他缓 存模块对数据进行备份。与现有技术相比,本发明提供方案,在有限的缓存资源条件的约束下,通过多级缓 存资源协调调度和缓存分区等方法,提升存储系统的有效带宽和响应性能。


图1为本发明实施例一提供的缓存系统的结构示意图;图2为本发明实施例二提供的缓存系统的结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对 本发明作进一步的详细描述。需要说明的是,在不冲突的情况下,本申请中的实施例及实施 例中的特征可以相互任意组合。实施例一图1为本发明实施例一提供的缓存系统的结构示意图。图1所示系统实施例包 括缓存模块110,包含第一缓存介质111和第二缓存介质112,其中所述第一缓存介 质111的读写速度级别高于所述第二缓存介质112的第二读写速度级别;获取模块120,用于获取所述第一缓存介质111中第一数据的第一访问热度以及 所述第二缓存介质112中第二数据的第二访问热度;管理模块130,用于在所述第一访问热度低于预先设置的第一数据的访问热度下 限值时,将所述第一数据迁移到所述第二缓存介质112 ;用于在所述第二访问热度高于预 先设置的第二数据的访问热度上限值时,将所述第二数据迁移到所述第一缓存介质111。所述第一缓存介质111和第二缓存介质112的读写速度级别为不同数量级。即该 第一缓存介质和第二缓存介质的IO响应特性是不同级别的。例如,第一缓存介质的速度为 lGB/s,第二缓存介质的读写速度级别为lOOMB/s。具体而言,所述第一缓存介质111为物理内存,所述第二缓存介质112为固态硬盘 (Solid State Disk,SSD)或者高性能(FC)磁盘;或者,所述第一缓存介质111为固态硬盘, 所述第二缓存介质112为高性能磁盘。当然,在实际应用中,可以设置在缓存模块中设置三种不同IO响应特性的缓存介 质。按照读写速度级别从大到小的顺序依次为第一缓存介质、第二缓存和第三缓存介质,其 中对于第一缓存介质中的第一数据而言,有如下两种处理方式方式一如果所述第一数据当前的访问热度小于第一数据的访问热度下限值,将 该第一数据迁移到第二缓存介质或第三缓存介质进行存储;方式二如果所述第一数据当前的访问热度小于第一数据的访问热度下限值,判 断所述第一数据当前的访问热度是否大于一第一迁移位置判断值,如果大于,则将第一数 据迁移到所述第二缓存介质;否则,将所述第一数据迁移到第三缓存介质。对于第二缓存介质中的第二数据而言,如果所述第二数据当前的访问热度小于第 二数据的访问热度下限值,将该第二数据迁移到第三缓存介质进行存储;如果大于或等于 所述第二数据的访问热度上限值,则将该第二数据迁移到第三缓存介质进行存储。对于第三缓存介质中的第三数据而言,有如下两种处理方式方式一如果所述第三数据当前的访问热度大于或等于第三数据的访问热度上限 值,将该第一数据迁移到第一缓存介质或第二缓存介质进行存储;方式二如果所述第一数据当前的访问热度小于第一数据的访问热度下限值,判 断所述第一数据当前的访问热度是否大于一第二迁移位置判断值,如果大于,则将第三数 据迁移到所述第一缓存介质;否则,将所述第三数据迁移到第三缓存介质。在实际应用中,如果缓存模块中有三种不同IO特性的缓存介质,可以是物理内存、固态硬盘和高性能磁盘。当然,本领域技术人员可以选择其他缓存介质代替上述中的至 少一种。在本例中,访问热度可以通过访问频率来表示,即访问的频率越高,则访问热度越 高,相应的,访问频率越低,访问热度越低。而访问频率可以通过单位时间内数据被访问的 次数来确定。其中现有技术中其他用于计算数据的访问热度的方法均适用于本发明,此处不再 赘述。可选的,为了达到在缓存模块故障时无需从后端缓存介质提取读该数据,以保证 最大程度上保证高端应用的实时性和可用性,所述系统中缓存模块的个数为多个,所述系 统还包括备份模块,用于在每个数据所在的缓存模块之外的其他缓存模块对数据进行备 份。与上述系统对应的,本发明还提供一种在缓存系统中缓存数据的方法,所述缓存 系统包括缓存模块,包含第一缓存介质和第二缓存介质,其中所述第一缓存介质的读写速 度级别高于所述第二缓存介质的第二读写速度级别;其中所述方法包括获取所述第一缓存介质中第一数据的第一访问热度以及所述第二缓存介质中第 二数据的第二访问热度;在所述第一访问热度低于预先设置的第一数据的访问热度下限值时,将所述第一 数据迁移到所述第二缓存介质;在所述第二访问热度高于预先设置的第二数据的访问热度 上限值时,将所述第二数据迁移到所述第一缓存介质。其中所述第一缓存介质为物理内存,所述第二缓存介质为固态硬盘(SSD)或者高 性能(FC)磁盘;或者,所述第一缓存介质为固态硬盘,所述第二缓存介质为高性能磁盘。可选的,所述方法还包括在所述缓存系统包括多个缓存模块时,在每个数据所在 的缓存模块之外的其他缓存模块对数据进行备份。在实际应用中,可以将访问热度高的数据迁移到读写速度级别快的缓存介质中进 行缓存,以保证在频繁读写时由该读写速度级别快的缓存介质保证相应的相应效能。通过 将热度低的数据从读写速度级别快的缓存介质迁移到读写速度级别慢的缓存介质中进行 存储,保证了系统资源的合理应用,提升了系统的性能。本发明实施例一提供的方案,在有限的缓存资源条件的约束下,通过有效组织和 使用多种高性能缓存资源,实现缓存资源的统一管理、负载均衡和并发访问控制等功能,并 在多级缓存资源之间根据缓存数据访问热度对数据的缓存位置进行平滑迁移,以提升存储 系统的有效带宽和响应性能。实施例二图2为本发明实施例二提供的缓存系统的结构示意图。图2所示缓存系统包括缓 存模块210,包含第一缓存介质211和第二缓存介质112,其中所述第一缓存介质211的读 写速度级别高于所述第二缓存介质212的第二读写速度级别,所述第一缓存介质211的第 一存储空间级别低于所述第二缓存介质212的存储空间级别;获取模块220,用于当接收到数据的访问请求时,获取所述访问请求所要求的读写 速度级别以及所述数据所占的存储空间级别;迁移模块230,用于在所述访问请求所要求的读写速度级别大于预先设置的读写速度级别阈值时,将所述数据迁移到所述第一缓存介质进行缓存;在所述数据所占的存储 空间级别大于预先设置的存储空间阈值时,将所述数据迁移到所述第二缓存介质进行缓存。其中所述第一缓存介质为物理内存,所述第二缓存介质为固态硬盘(SSD)或者高 性能(FC)磁盘;或者,所述第一缓存介质为固态硬盘,所述第二缓存介质为高性能磁盘。其中所述访问请求所要求的读写速度级别可以根据该访问请求对响应时间的要 求来确定,其中所要求的响应时间越短,所需的读写速度级别越高;反之亦然。当然,还可以 根据外部对数据的处理任务进行确定,如果是读取数据进行模拟仿真,则读写速度级别较 高,如果只是数据存储位置的转移,即读写速度级别较低。其中现有技术中其他用于确定读 写速度级别的方法均适用于本发明,此处不再赘述。其中所述数据所占的存储空间级别可以该数据的实际大小来确定,例如数据的大 小为500M,则需要将该数据缓存到第二缓存介质。可选的,为了达到在缓存模块故障时无需从后端缓存介质提取读该数据,以保证 最大程度上保证高端应用的实时性和可用性,所述系统中缓存模块的个数为多个,所述系 统还包括备份模块,用于在每个数据所在的缓存模块之外的其他缓存模块对数据进行备 份。与上述系统对应的,本发明还提供一种在缓存系统中缓存数据的方法,所述缓存 系统包括缓存模块,包含第一缓存介质和第二缓存介质,其中所述第一缓存介质的读写速 度级别高于所述第二缓存介质的第二读写速度级别,所述第一缓存介质的第一存储空间级 别低于所述第二缓存介质的存储空间级别;其中所述方法包括当接收到数据的访问请求时,获取所述访问请求所要求的读写速度级别以及所述 数据所占的存储空间级别;在所述访问请求所要求的读写速度级别大于预先设置的读写速度级别阈值时,将 所述数据迁移到所述第一缓存介质进行缓存;在数据所占的存储空间级别大于预先设置的 存储空间级别阈值时,将所述数据迁移到所述第二缓存介质进行缓存。其中所述第一缓存介质为物理内存,所述第二缓存介质为固态硬盘(SSD)或者高 性能(FC)磁盘;或者,所述第一缓存介质为固态硬盘,所述第二缓存介质为高性能磁盘。可选的,所述方法还包括在所述缓存系统包括多个缓存模块时,在每个数据所在 的缓存模块之外的其他缓存模块对数据进行备份。本发明实施例二提供的方案,在访问数据时,根据访问请求对IOPS的需求选择缓 存该数据的缓存介质,保证了访问请求对读写速度级别的要求,提升存储系统的响应性能; 同时,根据数据所占的存储空间信息选择缓存该数据的缓存介质,保证了访问请求对缓存 空间的要求,提升存储系统的有效带宽。本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程 序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在 相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤 之一或其组合。可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可 以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电
8路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现, 它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为 独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机 可读取存储介质可以是只读存储器,磁盘或光盘等。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。
权利要求
1.一种缓存系统,其特征在于,包括缓存模块,包含第一缓存介质和第二缓存介质,其中所述第一缓存介质的读写速度级 别高于所述第二缓存介质的第二读写速度级别;获取模块,用于获取所述第一缓存介质中第一数据的第一访问热度以及所述第二缓存 介质中第二数据的第二访问热度;管理模块,用于在所述第一访问热度小于预先设置的第一数据的访问热度下限值时, 将所述第一数据迁移到所述第二缓存介质;用于在所述第二访问热度高于预先设置的第二 数据的访问热度上限值时,将所述第二数据迁移到所述第一缓存介质。
2.根据权利要求1所述的系统,其特征在于,所述第一缓存介质为物理内存,所述第二 缓存介质为固态硬盘(SSD)或者高性能(FC)磁盘;或者,所述第一缓存介质为固态硬盘,所 述第二缓存介质为高性能磁盘。
3.根据权利要求1或2所述的系统,其特征在于,所述缓存模块的个数为多个,所述系 统还包括 备份模块,用于在每个数据所在的缓存模块之外的其他缓存模块对数据进行备份。
4.一种缓存系统,其特征在于,包括缓存模块,包含第一缓存介质和第二缓存介质,其中所述第一缓存介质的读写速度级 别高于所述第二缓存介质的第二读写速度级别,所述第一缓存介质的第一存储空间级别低 于所述第二缓存介质的存储空间级别;获取模块,用于当接收到数据的访问请求时,获取所述访问请求所要求的读写速度级 别以及所述数据所占的存储空间级别;迁移模块,用于在所述访问请求所要求的读写速度级别大于预先设置的读写速度级别 阈值时,将所述数据迁移到所述第一缓存介质进行缓存;在所述数据所占的存储空间级别 大于预先设置的存储空间阈值时,将所述数据迁移到所述第二缓存介质进行缓存。
5.根据权利要求4所述的系统,其特征在于,所述第一缓存介质为物理内存,所述第二 缓存介质为固态硬盘(SSD)或者高性能(FC)磁盘;或者,所述第一缓存介质为固态硬盘,所 述第二缓存介质为高性能磁盘。
6.一种在缓存系统中缓存数据的方法,其特征在于,所述缓存系统包括缓存模块,包含 第一缓存介质和第二缓存介质,其中所述第一缓存介质的读写速度级别高于所述第二缓存 介质的第二读写速度级别;其中所述方法包括获取所述第一缓存介质中第一数据的第一访问热度以及所述第二缓存介质中第二数 据的第二访问热度;在所述第一访问热度低于预先设置的第一数据的访问热度下限值时,将所述第一数据 迁移到所述第二缓存介质;在所述第二访问热度高于预先设置的第二数据的访问热度上限 值时,将所述第二数据迁移到所述第一缓存介质。
7.根据权利要求6所述的方法,其特征在于,所述第一缓存介质为物理内存,所述第二 缓存介质为固态硬盘(SSD)或者高性能(FC)磁盘;或者,所述第一缓存介质为固态硬盘,所 述第二缓存介质为高性能磁盘。
8.根据权利要求6或7所述的系统,其特征在于,所述方法还包括在所述缓存系统包括多个缓存模块时,在每个数据所在的缓存模块之外的其他缓存模块对数据进行备份。
9.一种在缓存系统中缓存数据的方法,其特征在于,所述缓存系统包括缓存模块,包含 第一缓存介质和第二缓存介质,其中所述第一缓存介质的读写速度级别高于所述第二缓存 介质的第二读写速度级别,所述第一缓存介质的第一存储空间级别低于所述第二缓存介质 的存储空间级别;其中所述方法包括当接收到数据的访问请求时,获取所述访问请求所要求的读写速度级别以及所述数据 所占的存储空间级别;在所述访问请求所要求的读写速度级别大于预先设置的读写速度级别阈值时,将所述 数据迁移到所述第一缓存介质进行缓存;在数据所占的存储空间级别大于预先设置的存储 空间级别阈值时,将所述数据迁移到所述第二缓存介质进行缓存。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括在所述缓存系统包括多个缓存模块时,在每个数据所在的缓存模块之外的其他缓存模 块对数据进行备份。
全文摘要
本发明提供一种缓存系统和在缓存系统中缓存数据的方法,所述系统,包括缓存模块,包含第一缓存介质和第二缓存介质,其中所述第一缓存介质的读写速度级别高于所述第二缓存介质的第二读写速度级别;获取模块,用于获取所述第一缓存介质中第一数据的第一访问热度以及所述第二缓存介质中第二数据的第二访问热度;管理模块,用于在所述第一访问热度小于预先设置的第一数据的访问热度下限值时,将所述第一数据迁移到所述第二缓存介质;用于在所述第二访问热度高于预先设置的第二数据的访问热度上限值时,将所述第二数据迁移到所述第一缓存介质。
文档编号G06F11/14GK102117248SQ20111005622
公开日2011年7月6日 申请日期2011年3月9日 优先权日2011年3月9日
发明者张立强, 胡振 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1