CN109375878A - 一种缓存资源处理方法、装置以及计算机可读存储介质 - Google Patents
一种缓存资源处理方法、装置以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109375878A CN109375878A CN201811259865.4A CN201811259865A CN109375878A CN 109375878 A CN109375878 A CN 109375878A CN 201811259865 A CN201811259865 A CN 201811259865A CN 109375878 A CN109375878 A CN 109375878A
- Authority
- CN
- China
- Prior art keywords
- write buffer
- algorithm
- buffer resource
- cache resources
- state
- 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.)
- Pending
Links
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种缓存资源处理方法、装置以及计算机可读存储介质,所述方法包括:统计写缓存资源占用情况;根据所述写缓存资源占用情况判断所述写缓存资源的状态;根据所述写缓存资源的状态,抑制随机写IO。本发明通过写缓存资源的状态选择淘汰算法,从而达到在写缓存资源紧张时抑制随机写IO,限制其对缓存资源的占用,保障系统整体性能的目的。
Description
技术领域
本发明涉及存储系统技术,尤其涉及一种缓存资源处理方法、装置以及计算机可读存储介质。
背景技术
在存储系统中,数据读写能力是关键指标,为了提高IO处理能力,缓存是数据的必经之道,已经产生了很多成熟的算法,最经典的当属最近最少使用LRU(Least RecentlyUsed)算法。
然而当前的缓存算法无法有效的处理随机写IO,特别是在缓存资源紧张的情况下:随机写IO会大量的占用缓存资源,然而缓存资源并不能有效的加速其落盘的速度,同时影响了其他IO对缓存资源的使用。虽然短期内提升了一些随机写IO的处理速度,但是可能降低系统的整体表现。该状态一旦持续,缓存资源很快会被占用完,导致性能大幅降低。
发明内容
为解决现有技术中存在的上述技术问题,本发明提供了一种缓存资源处理方法、装置以及计算机可读存储介质,用于降低随机写IO对缓存资源的占用,保障系统的整体性能。
为了达到本发明的目的,本发明实施例第一方面提供了一种缓存资源处理方法,包括:
统计写缓存资源占用情况;
根据所述写缓存资源占用情况判断所述写缓存资源的状态;
根据所述写缓存资源的状态,抑制随机写IO。
可选的,所述统计写缓存资源占用情况包括:
遍历所有缓存分区,对脏数据求和;
将脏数据之和除以写缓存上限,得出脏数据占比。
可选的,所述判断所述写缓存资源的状态包括:
根据所述脏数据占比得出所述写缓存资源的状态;
当所述脏数据占比大于预设阈值时,所述写缓存资源由非紧张状态进入紧张状态;
当所述脏数据占比小于预设阈值时,所述写缓存资源由紧张状态进入非紧张状态。
可选的,所述根据所述写缓存资源的状态,抑制随机写IO包括:
当所述写缓存资源由非紧张状态进入紧张状态时,所述缓存资源淘汰算法由第一算法切换为第二算法;
当所述写缓存资源由紧张状态进入非紧张状态时,所述缓存资源淘汰算法由第二算法切换为第一算法。
可选的,所述缓存资源淘汰算法包括:
LRU(Least Recently Used)算法、LFU(Least Frequently Used)算法、LRFU(Thecombination of LRU and LFU)算法;
其中,第一算法为LRU算法,第二算法为LRFU算法。
本发明实施例第二方面提供了一种缓存资源处理装置,其特征在于,包括:
统计模块,用于统计写缓存资源占用情况;
状态判断模块,用于根据所述写缓存资源占用情况判断所述写缓存资源的状态;
抑制模块,用于根据所述写缓存资源的状态,抑制随机写IO。
本发明实施例另一方面提供了一种计算机可读存储介质,其存储计算机程序指令,所述指令由处理器执行以实现上述任一种所述的缓存资源处理方法。
本发明所提供的缓存资源处理方法、装置以及计算机可读存储介质,统计写缓存资源占用情况;根据所述写缓存资源占用情况判断所述写缓存资源的状态;根据所述写缓存资源的状态,抑制随机写IO。由此可见,本发明通过判断写缓存资源的紧张程度,当写缓存资源充裕时采用LRU算法,当写缓存资源紧张时采用LRFU算法,从而达到在写缓存资源紧张时抑制随机写IO,限制其对缓存资源的占用,保障系统整体性能的目的。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的缓存资源处理方法的一具体实施方式的流程图;
图2为本发明提供的缓存资源处理方法的另一具体实施方式的流程图;
图3为本发明提供的缓存资源处理装置的一具体实施方式的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例提供了一种缓存资源处理方法、装置以及计算机可读存储介质,通过判断写缓存资源的紧张程度,当写缓存资源充裕时采用LRU算法,当写缓存资源紧张时采用LRFU算法,解决了现有技术中在写缓存资源紧张时随机写IO对缓存资源的占用,导致系统整体性能降低的问题。
图1示出了本发明所提供的缓存资源处理方法的一种具体实施方式的流程图,如图所示,该方法包括:
步骤S101:统计写缓存资源占用情况;
优选地,该步骤具体可包括:遍历所有缓存分区,对脏数据求和;将脏数据之和除以写缓存上限,得出脏数据占比。由脏数据占比即可反映出写缓存资源占用情况。
步骤S102:根据所述写缓存资源占用情况判断所述写缓存资源的状态;
具体地,该步骤可包括:根据所述脏数据占比得出所述写缓存资源的状态。当所述脏数据占比大于预设阈值时,所述写缓存资源由非紧张状态进入紧张状态;当所述脏数据占比小于预设阈值时,所述写缓存资源由紧张状态进入非紧张状态。
其中,所述预设阈值为预先设计确定的。
步骤S103:根据所述写缓存资源的状态,抑制随机写IO;
优选地,该步骤具体可包括:当所述写缓存资源由非紧张状态进入紧张状态时,所述缓存资源淘汰算法由第一算法切换为第二算法;
当所述写缓存资源由紧张状态进入非紧张状态时,所述缓存资源淘汰算法由第二算法切换为第一算法。
在本技术领域中,缓存资源淘汰算法包括:LRU(Least Recently Used)算法、LFU(Least Frequently Used)算法、LRFU(The combination of LRU and LFU)算法等。其中在步骤S103的优选实施例中,第一算法为LRU算法,第二算法为LRFU算法。
本发明实施例所提供的缓存资源处理方法,通过判断写缓存资源的紧张程度,当写缓存资源充裕时采用LRU算法,当写缓存资源紧张时采用LRFU算法,从而达到在写缓存资源紧张时抑制随机写IO,限制其对缓存资源的占用,保障系统整体性能的目的。
进一步地,图2示出了本发明提供的缓存资源处理方法的优选实施例的流程图,如图所示,该方法包括:
步骤S201,遍历所有缓存分区,对脏数据求和;步骤S202,将脏数据之和除以写缓存上限,得出脏数据占比;步骤S203,判断脏数据占比是否大于预设阈值,若是,则执行步骤S204,否则,执行不择S206;步骤S204,写缓存资源由非紧张状态进入紧张状态;步骤S205,缓存资源淘汰算法由LRU算法切换为LRFU算法;步骤S206,写缓存资源由紧张状态进入非紧张状态;步骤S207,缓存资源淘汰算法由LRFU算法切换为LRU算法。
如图3所示,本发明还提供了一种缓存资源处理装置,其特征在于,包括:
统计模块301,用于统计写缓存资源占用情况;
状态判断模块302,用于根据所述写缓存资源占用情况判断所述写缓存资源的状态;
抑制模块303,用于根据所述写缓存资源的状态,抑制随机写IO。
本发明还提供了一种计算机可读存储介质,其存储计算机程序指令,所述指令由处理器执行以实现上述任一实施例所述的缓存资源处理方法。
综上所述,本发明各个实施例通过判断写缓存资源的紧张程度,当写缓存资源充裕时采用LRU算法,当写缓存资源紧张时采用LRFU算法,从而达到在写缓存资源紧张时抑制随机写IO,限制其对缓存资源的占用,保障系统整体性能的目的。
在本说明书的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,″计算机可读介质″可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (7)
1.一种缓存资源处理方法,其特征在于,包括:
统计写缓存资源占用情况;
根据所述写缓存资源占用情况判断所述写缓存资源的状态;
根据所述写缓存资源的状态,抑制随机写IO。
2.根据权利要求1所述的方法,其特征在于,所述统计写缓存资源占用情况包括:
遍历所有缓存分区,对脏数据求和;
将脏数据之和除以写缓存上限,得出脏数据占比。
3.根据权利要求2所述的方法,其特征在于,所述判断所述写缓存资源的状态包括:
根据所述脏数据占比得出所述写缓存资源的状态;
当所述脏数据占比大于预设阈值时,所述写缓存资源由非紧张状态进入紧张状态;
当所述脏数据占比小于预设阈值时,所述写缓存资源由紧张状态进入非紧张状态。
4.根据权利要求3所述的方法,其特征在于,所述根据所述写缓存资源的状态,抑制随机写IO包括:
当所述写缓存资源由非紧张状态进入紧张状态时,缓存资源淘汰算法由第一算法切换为第二算法;
当所述写缓存资源由紧张状态进入非紧张状态时,缓存资源淘汰算法由第二算法切换为第一算法。
5.根据权利要求4所述的方法,其特征在于,所述缓存资源淘汰算法包括:
LRU(Least Recently Used)算法、LFU(Least Frequently Used)算法、LRFU(Thecombination of LRU and LFU)算法;
其中,第一算法为LRU算法,第二算法为LRFU算法。
6.一种缓存资源处理装置,其特征在于,包括:
统计模块,用于统计写缓存资源占用情况;
状态判断模块,用于根据所述写缓存资源占用情况判断所述写缓存资源的状态;
抑制模块,用于根据所述写缓存资源的状态,抑制随机写IO。
7.一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序指令,其特征在于,所述指令由处理器执行以实现如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811259865.4A CN109375878A (zh) | 2018-10-26 | 2018-10-26 | 一种缓存资源处理方法、装置以及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811259865.4A CN109375878A (zh) | 2018-10-26 | 2018-10-26 | 一种缓存资源处理方法、装置以及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109375878A true CN109375878A (zh) | 2019-02-22 |
Family
ID=65389807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811259865.4A Pending CN109375878A (zh) | 2018-10-26 | 2018-10-26 | 一种缓存资源处理方法、装置以及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109375878A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101055544A (zh) * | 2006-04-14 | 2007-10-17 | 国际商业机器公司 | 支持分级存储设置中多个一次性表访问操作的方法和装置 |
CN104077241A (zh) * | 2014-07-14 | 2014-10-01 | 华为技术有限公司 | 缓存淘汰算法切换处理方法及装置 |
CN104583891A (zh) * | 2012-09-25 | 2015-04-29 | 英特尔公司 | 用于非易失性主存储器系统中的自适应高速缓存更换的装置、系统和方法 |
CN106383792A (zh) * | 2016-09-20 | 2017-02-08 | 北京工业大学 | 一种基于缺失感知的异构多核缓存替换方法 |
CN106973088A (zh) * | 2017-03-16 | 2017-07-21 | 中国人民解放军理工大学 | 一种基于位置变动的联合lru与lfu的缓存更新方法及网络 |
-
2018
- 2018-10-26 CN CN201811259865.4A patent/CN109375878A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101055544A (zh) * | 2006-04-14 | 2007-10-17 | 国际商业机器公司 | 支持分级存储设置中多个一次性表访问操作的方法和装置 |
CN104583891A (zh) * | 2012-09-25 | 2015-04-29 | 英特尔公司 | 用于非易失性主存储器系统中的自适应高速缓存更换的装置、系统和方法 |
CN104077241A (zh) * | 2014-07-14 | 2014-10-01 | 华为技术有限公司 | 缓存淘汰算法切换处理方法及装置 |
CN106383792A (zh) * | 2016-09-20 | 2017-02-08 | 北京工业大学 | 一种基于缺失感知的异构多核缓存替换方法 |
CN106973088A (zh) * | 2017-03-16 | 2017-07-21 | 中国人民解放军理工大学 | 一种基于位置变动的联合lru与lfu的缓存更新方法及网络 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104090852B (zh) | 管理混合缓存的方法及设备 | |
CN105095116B (zh) | 缓存替换的方法、缓存控制器和处理器 | |
CN106569960B (zh) | 一种混合主存的末级缓存管理方法 | |
CN109032964A (zh) | 缓存替换方法及其装置、异构多核系统 | |
CN107391398B (zh) | 一种闪存缓存区的管理方法及系统 | |
CN110147331B (zh) | 缓存数据处理方法、系统及可读存储介质 | |
CN106484330A (zh) | 一种混合磁盘分层数据优化方法和装置 | |
CN104156323B (zh) | 一种高速缓冲存储器的数据块长度自适应读取方法及装置 | |
CN106547476A (zh) | 用于数据存储系统的方法和装置 | |
CN107247675B (zh) | 一种基于分类预测的缓存选择方法和系统 | |
KR101481633B1 (ko) | 플래시 메모리 기반 세가지 상태를 가지는 버퍼 관리 장치 및 방법 | |
CN108228649A (zh) | 用于数据访问的方法和设备 | |
CN109614344A (zh) | 一种缓存空间回收方法、装置、设备以及存储系统 | |
WO2023000536A1 (zh) | 一种数据处理方法、系统、设备以及介质 | |
CN107608885A (zh) | 内存泄漏点的定位方法、装置、系统及可读存储介质 | |
US20100005241A1 (en) | Detection of streaming data in cache | |
CN108304259A (zh) | 内存管理方法及系统 | |
CN109213450A (zh) | 一种基于闪存阵列的关联元数据删除方法、装置及设备 | |
CN116501249A (zh) | 一种减少gpu内存重复数据读写的方法及相关设备 | |
CN104346404A (zh) | 一种访问数据的方法、设备及系统 | |
CN110347338A (zh) | 混合内存数据交换处理方法、系统及可读存储介质 | |
CN109375878A (zh) | 一种缓存资源处理方法、装置以及计算机可读存储介质 | |
CN111338579B (zh) | 基于存储池的读写缓存优化方法、系统、终端及存储介质 | |
CN111538677A (zh) | 数据处理方法及装置 | |
CN105359116B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190222 |