CN111177028A - 一种动态多级缓存的方法和设备 - Google Patents
一种动态多级缓存的方法和设备 Download PDFInfo
- Publication number
- CN111177028A CN111177028A CN201911379799.9A CN201911379799A CN111177028A CN 111177028 A CN111177028 A CN 111177028A CN 201911379799 A CN201911379799 A CN 201911379799A CN 111177028 A CN111177028 A CN 111177028A
- Authority
- CN
- China
- Prior art keywords
- function
- cache
- level
- advanced
- level function
- 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
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000004044 response Effects 0.000 claims abstract description 22
- 230000006870 function Effects 0.000 claims description 134
- 238000011084 recovery Methods 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 11
- 238000012545 processing Methods 0.000 abstract description 9
- 238000004590 computer program Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
Abstract
本发明提供了一种动态多级缓存的方法和设备,该方法包括以下步骤:将高级功能的访问时间提取到主缓存的访问时间之前;将高级功能添加到副缓存中;以卷为单位判断高级功能是否开启;响应于高级功能开启,I/O先访问副缓存中的高级功能后再访问主缓存。通过使用本发明的方法,能够以卷为单位监控副缓存开关状态,以卷为单位颗粒度很小,非常灵活,无高级特性时,I/O直接进入主缓存,大幅减少处理过程,大幅提升性能,提高产品竞争力。
Description
技术领域
本领域涉及计算机领域,并且更具体地涉及一种动态多级缓存的方法和设备。
背景技术
存储系统中可以简单的划分为基础功能模块和高级功能模块。其中高级功能模块主要包含:快照、卷拷贝、精简卷等。这些高级特性,在功能上给用户提供了更高的商业价值,必不可缺。
在功能齐全的应用场景下,多级缓存对产品的整体性能是有提升效果。然而,当用户未使用高级特性的场景下,多级缓存反而降低了产品性能。
发明内容
有鉴于此,本发明实施例的目的在于提出一种动态多级缓存的方法和设备,通过使用本发明的方法,能够以卷为单位监控副缓存开关状态,以卷为单位颗粒度很小,非常灵活,无高级特性时,I/O直接进入主缓存,大幅减少处理过程,大幅提升性能,提高产品竞争力。
基于上述目的,本发明的实施例的一个方面提供了一种动态多级缓存的方法,包括以下步骤:
将高级功能的访问时间提取到主缓存的访问时间之前;
将高级功能添加到副缓存中;
以卷为单位判断高级功能是否开启;
响应于高级功能开启,I/O先访问副缓存中的高级功能后再访问主缓存。
根据本发明的一个实施例,还包括:响应于高级功能未开启,I/O直接访问主缓存。
根据本发明的一个实施例,高级功能为存储中与落盘无直接关系,且只关注写I/O的功能。
根据本发明的一个实施例,高级功能包括快照功能、灾备功能、精简卷功能。
根据本发明的一个实施例,以卷为单位判断高级功能是否开启包括:
监控每个高级功能的开关值;
响应于所有高级功能开关值均为关闭,判断高级功能未开启;
响应于高级功能开关值中的至少一个为开启,判断高级功能开启。
本发明的实施例的另一个方面,还提供了一种动态多级缓存的设备,设备包括:
提取模块,提取模块配置为将高级功能的访问时间提取到主缓存的访问时间之前;
添加模块,添加模块配置为将高级功能添加到副缓存中;
高级功能判断模块,高级功能判断模块配置为以卷为单位判断高级功能是否开启;
访问模块,访问模块配置为响应于高级功能开启,I/O先访问副缓存中的高级功能后再访问主缓存。
根据本发明的一个实施例,访问模块还配置为响应于高级功能未开启,I/O直接访问主缓存。
根据本发明的一个实施例,高级功能为存储中与落盘无直接关系,且只关注写I/O的功能。
根据本发明的一个实施例,高级功能包括快照功能、灾备功能、精简卷功能。
根据本发明的一个实施例,高级功能判断模块还配置为:监控每个高级功能的开关值;响应于所有高级功能开关值均为关闭,判断高级功能未开启;响应于高级功能开关值中的至少一个为开启,判断高级功能开启。
本发明具有以下有益技术效果:本发明实施例提供的动态多级缓存的方法,通过将高级功能的访问时间提取到主缓存的访问时间之前;将高级功能添加到副缓存中;以卷为单位判断高级功能是否开启;响应于高级功能开启,I/O先访问副缓存中的高级功能后再访问主缓存的技术方案,能够以卷为单位监控副缓存开关状态,以卷为单位颗粒度很小,非常灵活,无高级特性时,I/O直接进入主缓存,大幅减少处理过程,大幅提升性能,提高产品竞争力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为根据本发明一个实施例的动态多级缓存的方法的示意性流程图;
图2为根据本发明一个实施例的动态多级缓存的设备的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
基于上述目的,本发明的实施例的第一个方面,提出了一种动态多级缓存的方法的一个实施例。图1示出的是该方法的示意性流程图。
如图1中所示,该方法可以包括以下步骤:
S1将高级功能的访问时间提取到主缓存的访问时间之前,一般高级功能的访问时间较短,将高级功能提取到主缓存的访问时间之前可以优先访问高级功能而不用等待很长时间,这样可以给用户良好的体验感;
S2将高级功能添加到副缓存中,将高级功能与主缓存分开可以正价产品的整体性能,这样可以将整个存储看做I/O流经各个业务模块,是先进入副缓存,再从副缓存进入下个模块,例如依次经过:副缓存、快照、灾备、精简卷、主缓存等;
S3以卷为单位判断高级功能是否开启,根据业务是否开启高级功能来进行不同的访问可以在不使用高级功能的场景下增加访问速度提高产品性能;
S4响应于高级功能开启,I/O先访问副缓存中的高级功能后再访问主缓存,高级功能开启时,访问路径可以依次为副缓存、快照、灾备、精简卷、主缓存等。在副缓存完成镜像,并合入哈希表后可以判断为写I/O落入了副缓存,然后立即应答主机,副缓存立即下发写I/O,依次经历快照、灾备、精简卷等高级功能后写I/O最终落入主缓存,落入主缓存后立即应答副缓存,并清空副缓存相关数据。副缓存收到应答消息后:发送镜像消息,将所有节点的数据状态从“修改过状态”更新为“非修改过状态”,各个节点都有定时器,周期检测是否有“非修改过状态”的数据,如果有,则回收相关资源。
通过本发明的技术方案,能够以卷为单位监控副缓存开关状态,以卷为单位颗粒度很小,非常灵活,无高级特性时,I/O直接进入主缓存,大幅减少处理过程,大幅提升性能,提高产品竞争力。
在本发明的一个优选实施例中,还包括:响应于高级功能未开启,I/O直接访问主缓存。写I/O跳过副缓存及相关高级功能,直接进入主缓存。这样可以提高访问速度,减少处理流程。
在本发明的一个优选实施例中,高级功能为存储中与落盘无直接关系,且只关注写I/O的功能。在本发明的一个优选实施例中,高级功能包括快照功能、灾备功能、精简卷功能。在其他实施例中还包括其他高级功能。
在本发明的一个优选实施例中,以卷为单位判断高级功能是否开启包括:
监控每个高级功能的开关值;
响应于所有高级功能开关值均为关闭,判断高级功能未开启;
响应于高级功能开关值中的至少一个为开启,判断高级功能开启。
在本发明的一个实施例中,高级功能开关状态监听包括以下步骤:
1.建立与卷id对应的事件列表,该表中包括数组下标与卷id对应,里面储存卷对应的高级功能的开关状态;
2.所有卷初始化时,默认高级特性不开启;
3.以卷为单位,监听所有高级功能的开关状态;
4.任意高级功能开启则打开副缓存,所有高级功能关闭时,则关闭副缓存。
其中,副缓存关闭:副缓存收到I/O后,不做处理,直接传递给后面的业务模块。副缓存开启:副缓存收到I/O后,完成自身完整的处理过程(数据块转换、镜像、合入hash表等),处理完成后再将I/O传递给后面的业务模块。
开关过程其实就是缓存模式的切换过程,需要静默处理,具体流程为:
1.副缓存停止接受新I/O,并将内部I/O放入列表暂存;
2等待所有副缓存已经下发的I/O完成;
3完成相关状态位切换后,将暂存列表的I/O取出,重新激活;
4恢复接受新I/O进入副缓存;
5按照对应的缓存模式逻辑(缓存开关)处理I/O。
副缓存的开关要遵守严格的流程,以避免数据丢失、数据不一致、耗时过长等问题。
通过本发明的技术方案,能够以卷为单位监控副缓存开关状态,以卷为单位颗粒度很小,非常灵活,无高级特性时,I/O直接进入主缓存,大幅减少处理过程,大幅提升性能,提高产品竞争力。
需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,上述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中存储介质可为磁碟、光盘、只读存储器(Read-Only Memory,ROM)或随机存取存储器(Random AccessMemory,RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
此外,根据本发明实施例公开的方法还可以被实现为由CPU执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被CPU执行时,执行本发明实施例公开的方法中限定的上述功能。
基于上述目的,本发明的实施例的第二个方面,提出了一种动态多级缓存的设备,如图2所示,设备200包括:
提取模块201,提取模块201配置为将高级功能的访问时间提取到主缓存的访问时间之前;
添加模块202,添加模块202配置为将高级功能添加到副缓存中;
高级功能判断模块203,高级功能判断模块203配置为以卷为单位判断高级功能是否开启;
访问模块204,访问模块204配置为响应于高级功能开启,I/O先访问副缓存中的高级功能后再访问主缓存。
在本发明的一个优选实施例中,访问模块204还配置为响应于高级功能未开启,I/O直接访问主缓存。
在本发明的一个优选实施例中,高级功能为存储中与落盘无直接关系,且只关注写I/O的功能。
在本发明的一个优选实施例中,高级功能包括快照功能、灾备功能、精简卷功能。
在本发明的一个优选实施例中,高级功能判断模块203还配置为:监控每个高级功能的开关值;响应于所有高级功能开关值均为关闭,判断高级功能未开启;响应于高级功能开关值中的至少一个为开启,判断高级功能开启。
需要特别指出的是,上述系统的实施例采用了上述方法的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到上述方法的其他实施例中。
此外,上述方法步骤以及系统单元或模块也可以利用控制器以及用于存储使得控制器实现上述步骤或单元或模块功能的计算机程序的计算机可读存储介质实现。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
上述实施例,特别是任何“优选”实施例是实现的可能示例,并且仅为了清楚地理解本发明的原理而提出。可以在不脱离本文所描述的技术的精神和原理的情况下对上述实施例进行许多变化和修改。所有修改旨在被包括在本公开的范围内并且由所附权利要求保护。
Claims (10)
1.一种动态多级缓存的方法,其特征在于,包括以下步骤:
将高级功能的访问时间提取到主缓存的访问时间之前;
将所述高级功能添加到副缓存中;
以卷为单位判断所述高级功能是否开启;
响应于所述高级功能开启,I/O先访问所述副缓存中的所述高级功能后再访问主缓存。
2.根据权利要求1所述的方法,其特征在于,还包括:响应于所述高级功能未开启,I/O直接访问主缓存。
3.根据权利要求1所述的方法,其特征在于,所述高级功能为存储中与落盘无直接关系,且只关注写I/O的功能。
4.根据权利要求3所述的方法,其特征在于,所述高级功能包括快照功能、灾备功能、精简卷功能。
5.根据权利要求1所述的方法,其特征在于,以卷为单位判断所述高级功能是否开启包括:
监控每个所述高级功能的开关值;
响应于所有所述高级功能开关值均为关闭,判断所述高级功能未开启;
响应于所述高级功能开关值中的至少一个为开启,判断所述高级功能开启。
6.一种动态多级缓存的设备,其特征在于,所述设备包括:
提取模块,所述提取模块配置为将高级功能的访问时间提取到主缓存的访问时间之前;
添加模块,所述添加模块配置为将所述高级功能添加到副缓存中;
高级功能判断模块,所述高级功能判断模块配置为以卷为单位判断所述高级功能是否开启;
访问模块,所述访问模块配置为响应于所述高级功能开启,I/O先访问所述副缓存中的所述高级功能后再访问主缓存。
7.根据权利要求6所述的设备,其特征在于,所述访问模块还配置为响应于所述高级功能未开启,I/O直接访问主缓存。
8.根据权利要求6所述的设备,其特征在于,所述高级功能为存储中与落盘无直接关系,且只关注写I/O的功能。
9.根据权利要求8所述的设备,其特征在于,所述高级功能包括快照功能、灾备功能、精简卷功能。
10.根据权利要求6所述的设备,其特征在于,所述高级功能判断模块还配置为:监控每个所述高级功能的开关值;响应于所有所述高级功能开关值均为关闭,判断所述高级功能未开启;响应于所述高级功能开关值中的至少一个为开启,判断所述高级功能开启。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911379799.9A CN111177028B (zh) | 2019-12-27 | 2019-12-27 | 一种动态多级缓存的方法和设备 |
PCT/CN2020/111235 WO2021128904A1 (zh) | 2019-12-27 | 2020-08-26 | 一种动态多级缓存的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911379799.9A CN111177028B (zh) | 2019-12-27 | 2019-12-27 | 一种动态多级缓存的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111177028A true CN111177028A (zh) | 2020-05-19 |
CN111177028B CN111177028B (zh) | 2022-07-19 |
Family
ID=70654199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911379799.9A Active CN111177028B (zh) | 2019-12-27 | 2019-12-27 | 一种动态多级缓存的方法和设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111177028B (zh) |
WO (1) | WO2021128904A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021128904A1 (zh) * | 2019-12-27 | 2021-07-01 | 苏州浪潮智能科技有限公司 | 一种动态多级缓存的方法和设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335512A (zh) * | 2015-10-30 | 2016-02-17 | 小米科技有限责任公司 | 数据查询方法及装置 |
US20160328691A1 (en) * | 2010-07-12 | 2016-11-10 | International Business Machines Corporation | Advanced function usage-based billing |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840308B (zh) * | 2009-10-28 | 2014-06-18 | 创新科存储技术有限公司 | 一种分级存储系统及其逻辑卷管理方法 |
CN103092532B (zh) * | 2013-01-21 | 2016-03-23 | 浪潮(北京)电子信息产业有限公司 | 一种集群存储系统的存储方法 |
US20150242133A1 (en) * | 2014-02-21 | 2015-08-27 | Lsi Corporation | Storage workload hinting |
CN104063283B (zh) * | 2014-06-09 | 2017-06-16 | 北京海泰方圆科技股份有限公司 | 一种资源管理器的资源调度方法 |
CN109902034B (zh) * | 2019-02-25 | 2021-09-10 | 杭州宏杉科技股份有限公司 | 快照创建方法、装置、电子设备及机器可读存储介质 |
CN111177028B (zh) * | 2019-12-27 | 2022-07-19 | 苏州浪潮智能科技有限公司 | 一种动态多级缓存的方法和设备 |
-
2019
- 2019-12-27 CN CN201911379799.9A patent/CN111177028B/zh active Active
-
2020
- 2020-08-26 WO PCT/CN2020/111235 patent/WO2021128904A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160328691A1 (en) * | 2010-07-12 | 2016-11-10 | International Business Machines Corporation | Advanced function usage-based billing |
CN105335512A (zh) * | 2015-10-30 | 2016-02-17 | 小米科技有限责任公司 | 数据查询方法及装置 |
Non-Patent Citations (1)
Title |
---|
祖文强等: "可配置及历史信息感知的多级缓存策略", 《计算机研究与发展》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021128904A1 (zh) * | 2019-12-27 | 2021-07-01 | 苏州浪潮智能科技有限公司 | 一种动态多级缓存的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111177028B (zh) | 2022-07-19 |
WO2021128904A1 (zh) | 2021-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110807064B (zh) | Rac分布式数据库集群系统中的数据恢复装置 | |
WO2020211791A1 (zh) | 匿名页面管理方法、装置、终端设备及可读存储介质 | |
CN111258921B (zh) | 垃圾内存回收方法及装置、电子设备、存储介质 | |
CN105868122A (zh) | 快闪存储设备的数据处理方法及装置 | |
CN110543386B (zh) | 一种数据存储方法、装置、设备和存储介质 | |
CN105144113A (zh) | 从快照恢复应用 | |
US20090327295A1 (en) | Maintenance of exo-file system metadata on removable storage device | |
WO2018113484A1 (zh) | 一种多副本数据恢复方法及装置 | |
CN107943501A (zh) | 嵌入式设备升级方法、装置、计算机设备和存储介质 | |
CN111324303A (zh) | Ssd垃圾回收方法、装置、计算机设备及存储介质 | |
CN111177028B (zh) | 一种动态多级缓存的方法和设备 | |
CN109408149A (zh) | 应用程序的启动方法、装置、设备以及存储介质 | |
CN104360953B (zh) | 数据拷贝方法及装置 | |
CN108287761B (zh) | 内存回收方法及装置、终端设备及计算机可读存储介质 | |
KR100631765B1 (ko) | 플래시 메모리의 데이터 처리 장치 및 방법 | |
CN101847110A (zh) | 数据存储系统及其备份方法 | |
CN110658993A (zh) | 一种快照回滚方法、装置、设备及存储介质 | |
CN103714059A (zh) | 一种更新数据的方法及装置 | |
CN108228472B (zh) | 终端设备控制方法及装置、终端设备及计算机可读存储介质 | |
CN102103885B (zh) | Sd卡清除忙状态的方法及清除忙状态电路 | |
CN110990313A (zh) | 一种i3c总线处理时钟拉伸的方法、设备以及存储介质 | |
CN115203116B (zh) | 一种axi总线传输方法、系统和芯片 | |
CN114064357A (zh) | 数据备份方法、装置、电子设备及存储介质 | |
CN117234431B (zh) | 缓存管理方法、装置、电子设备及存储介质 | |
CN113330411B (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 |