CN110147331B - 缓存数据处理方法、***及可读存储介质 - Google Patents
缓存数据处理方法、***及可读存储介质 Download PDFInfo
- Publication number
- CN110147331B CN110147331B CN201910408451.1A CN201910408451A CN110147331B CN 110147331 B CN110147331 B CN 110147331B CN 201910408451 A CN201910408451 A CN 201910408451A CN 110147331 B CN110147331 B CN 110147331B
- Authority
- CN
- China
- Prior art keywords
- source address
- current source
- access
- data block
- data
- 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.)
- Active
Links
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种缓存数据处理方法、***及可读存储介质,所述方法包括:根据访问周期内当前源地址的空间访问量确定当前源地址是否为冷源地址;当所述当前源地址为冷源地址时,判断所述当前源地址在第一访问位置的数据块的引用计数是否小于预设值;若是,则将所述当前源地址删除;若否,则将所述当前源地址移动至第二访问位置并进行保存,所述当前源地址在第二访问位置的数据块的引用计数大于第一访问位置。本发明能够解决传统的缓存替换方法中,块被标识为冷块或热块完全由其源地址的访问频率或最后一次访问时间决定,而与每次访问的有效内容(实际访问的内容大小)及共享强度无关,从而导致较低的空间利用率的问题,满足了实际应用需求。
Description
技术领域
本发明涉及计算机信息存储技术领域,特别是涉及一种缓存数据处理方法、***及可读存储介质。
背景技术
缓存,作为提高计算机***性能的一种重要手段,近年来在存储领域已经得到了工业界和学术界的广泛关注。在存储***中,缓存的主要作用是减缓平滑两级***之间的性能差异。缓存替换,则是为了在缓存空间已满的时候,选择某个数据块被替换出缓存。缓存替换是通过每次从缓存空间中替换再次被访问概率最低的数据块,从而能带来更好的缓存命中率,获得较高的性能提升。
随着现代工作负载的增加,对缓存容量的需求将很快超过缓存设备的有限容量。因此,一些研究人员提出应用重复数据删除或压缩技术,通过减少数据占用,有效地增加缓存逻辑容量。重复数据删除(Deduplication),简称“去重”,侧重于识别和删除冗余数据,以减少数据占用。
重复数据删除,作为备份和存档存储***中有效减少数据的一项经过验证的技术,也显示出通过删除冗余数据来增加存储缓存的逻辑空间容量的前景。然而,现有的重复数据删除开销很大,缓存替换策略的效率反而更低。其次,在存储缓存中,块大小是固定的,所有请求都需要与缓存的块大小对齐。在传统的缓存替换方法中,块被标识为冷块或热块完全由其源地址的访问频率或最后一次访问时间决定,而与每次访问的有效内容(实际访问的内容大小)及共享强度无关,从而导致较低的空间利用率。
发明内容
为了解决上述问题,本发明的目的是提供一种能够通过提高缓存命中率来提高空间利用率及***性能的缓存数据处理方法、***、可读存储介质。
根据本发明提供的缓存数据处理方法,应用于数据缓存***,包括:
根据访问周期内当前源地址的空间访问量确定当前源地址是否为冷源地址;
当所述当前源地址为冷源地址时,判断所述当前源地址在第一访问位置的数据块的引用计数是否小于预设值;
若是,则将所述当前源地址删除;
若否,则将所述当前源地址移动至第二访问位置并进行保存,所述当前源地址在第二访问位置的数据块的引用计数大于第一访问位置。
根据本发明提供的缓存数据处理方法,首先根据访问周期内当前源地址的空间访问量确定当前源地址是否为冷源地址,从而可以更准确地识别块的内容热度,尤其是对于大块,最小化误报热块;通过当所述当前源地址为冷源地址时,判断所述当前源地址在第一访问位置的数据块的引用计数是否小于预设值,来确定是否对当前源地址进行删除或者是位置的迁移的操作,从而实现数据块的替换与相关源地址的访问时间进行关联,作为数据块热度衡量的因素,最终实现通过提高缓存命中率来提高空间利用率及***性能。本发明提供的缓存数据处理方法,通过同一数据块相关联的不同的逻辑地址的个数作为数据块热度的衡量因素之一,以及利用bitmap技术来识别大的数据块中的某些小粒度的访问区域,优化了数据块的缓存替换策略,达到提升存储***性能的目的。
另外,根据本发明上述的缓存数据处理方法,还可以具有如下附加的技术特征:
进一步地,根据访问周期内当前源地址的空间访问量确定当前源地址是否为冷源地址的步骤包括:
将所述当前源地址的地址空间划分为若干子地址空间;
通过位图记录每个子地址空间的访问状态;
当所述当前源地址中的子地址空间的访问量小于预设访问量,且在该访问周期内未被访问,则所述当前源地址为冷源地址。
进一步地,任一数据块均对应多个源地址,将所述当前源地址删除的步骤之后,所述方法还包括:
当所述当前源地址所对应的数据块被其他任一源地址所引用,则判断访问周期内该数据块被其他源地址所引用的引用计数是否小于预设值;
若是,则将其他源地址及被引用的该数据块同时删除。
进一步地,任一数据块均对应多个源地址,将所述当前源地址删除的步骤之后,所述方法还包括:当所述当前源地址所对应的数据块未被其他源地址所引用,则将该数据块删除。
进一步地,将所述当前源地址移动至第二访问位置并进行保存的步骤之后,所述方法还包括:
判断位于所述第二访问位置的当前源地址的引用计数的减少量是否小于预设减少量;
若是,则将所述当前源地址删除;
若否,则将所述当前源地址保留并进入下一访问周期。
进一步地,所述访问周期为所述当前源地址由第二访问位置移动至第一访问位置的时间。
进一步地,所述方法还包括:
将源地址存储于第一存储区,将所述源地址所对应的数据块存储于第二存储区;
对每个所述数据块所对应的源地址进行哈希计算,以得到数据块指纹,建立所述数据块指纹与数据块对应的布隆过滤器数组。
进一步地,所述方法还包括:
当接收到一数据块缓存指令时;
判断当前数据块的布隆过滤器是否被命中,以确定所述当前数据块是否为第二存储区内的重复数据块;
当所述当前数据块为第二存储区内的重复数据块时,拒绝所述当前数据的缓存,并生成一拒绝日志。
本发明的另一实施例提出一种缓存数据处理***,解决现有的缓存替换方法中,块被标识为冷块或热块完全由其源地址的访问频率或最后一次访问时间决定,而与每次访问的有效内容(实际访问的内容大小)及共享强度无关,从而导致较低的空间利用率的问题,提高了用户数据缓存体验的满意度。
根据本发明实施例的缓存数据处理***,包括:
确定模块,用于根据访问周期内当前源地址的空间访问量确定当前源地址是否为冷源地址;
判断模块,用于当所述当前源地址为冷源地址时,判断所述当前源地址在第一访问位置的数据块的引用计数是否小于预设值;
删除模块,用于将所述当前源地址删除;
迁移模块,用于将所述当前源地址移动至第二访问位置并进行保存,所述当前源地址在第二访问位置的数据块的引用计数大于第一访问位置。
本发明的另一个实施例还提出一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实施例了解到。
附图说明
图1是本发明第一实施例提出的缓存数据处理方法的流程图;
图2是图1中步骤S101的具体流程图;
图3是图1的具体实施例的原理结构示意图;
图4是图1的体实施例的原理结构示意图;
图5是本发明第二实施例提出的缓存数据处理***的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明第一实施例提出的一种缓存数据处理方法,其中,包括步骤S101~S104:
步骤S101,根据访问周期内当前源地址的空间访问量确定当前源地址是否为冷源地址。
本实施例中,以数据缓存设备为例进行说明,但需要了解的是,本发明实施例并不限于此,本发明实施例的方法可以应用在任何数据缓存设备中,即任何可进行数据缓存的电子设备中。具体的,现有技术中,传统的缓存替换方法中,块被标识为冷块或热块完全由其源地址的访问频率或最后一次访问时间决定,而与每次访问的有效内容(实际访问的内容大小)无关;且每个数据块都由唯一的逻辑地址标识,所有数据块的逻辑地址彼此独立,但是对于重复数据删除,每个数据块都是由其数据内容标识的,这些数据内容可以由多个逻辑地址共同指向,因此,在数据块内容相同的多个逻辑地址之间共享数据内容会导致它们的访问相互依赖。
具体实施时,将缓存设备的存储区划分为第一存储区及第二存储区。其中第一存储区用于存储源地址,第二存储区用于存储该源地址所对应的数据块。将缓存中数据的元数据(即逻辑地址,数据块指纹等信息)与数据块(实际存储的数据内容)分开管理,从而实现了缓存数据的去重,且进一步提高了缓存的存储空间,从而大大地提高了缓存的命中率。
进一步地,对每个所述数据块所对应的源地址进行哈希计算,以得到数据块指纹,建立所述数据块指纹与数据块对应的布隆过滤器数组。其中,通过所述布隆过滤器数组的设置,实现了对当前缓存设备中的数据块及该数据块所对应的源地址进行整合处理,以便于进行新数据块缓存时,及时确定该新数据块是否为重复数据块,即所述缓存设备中已存在于该新数据块内容相同的数据块,避免了重复数据块的存储而降低该缓存设备的空间利用率及***性能。
进一步地,当接收到一数据块缓存指令时;判断当前数据块的布隆过滤器是否被命中,以确定所述当前数据块是否为第二存储区内的重复数据块;当所述当前数据块为第二存储区内的重复数据块时,拒绝所述当前数据的缓存,并生成一拒绝日志。
可以理解的,当接收到一数据块缓存指令时,通过提取当前数据块中的布隆过滤器中的数据块的关键信息以确定当前数据块是否为第二存储区内的重复数据块,当所述当前数据块为第二存储区中的重复数据块时,则拒绝当前数据块的写入,并通过生成相应的拒绝日志来对当前的写入信息及写入结果进行记录,提高了***的性能,且实现了写入记录的可追溯性。
在本实施例中,通过当用户进行数据缓存的请求时,根据访问周期内当前源地址的空间访问量确定当前源地址是否为冷源地址,从而可以更准确地识别块的内容热度,尤其是对于大块,最小化误报热块。
请参阅图2,根据访问周期内当前源地址的空间访问量确定当前源地址是否为冷源地址的方法包括如下步骤:
步骤S1011,将所述当前源地址的地址空间划分为若干子地址空间。
步骤S1012,通过位图记录每个子地址空间的访问状态。
步骤S1013,当所述当前源地址中的子地址空间的访问量小于预设访问量,且在该访问周期内未被访问,则所述当前源地址为冷源地址。
由于在数据缓存中,块大小是固定的,并且所有请求都需要与高速缓存的块大小对齐。在传统的高速缓存替换中,无论每次访问的有效内容如何,其数据块的冷/热都完全由该数据块的源地址的访问频率或最后访问时间来确定。因此,为了更准确的确定第二存储区内各数据块的访问状态,需要对各源地址的地址空间进行准确划分与访问状态确定。
具体的,将每个源地址的地址空间换分为多个小部分,可以均匀划分也可非均匀划分,并通过位图来记录每个部分的访问状态,如果访问一个位图部分,则可在位图中的相应位置设置为1,否则设置为0,也可通过颜色填充进行区别。此外,还可以在该位图中增加一个标志指示位,以确定该源地址是否在一个访问周期内被访问。当一个源地址的地址空间访问量小于预设值,且在一个访问周期内未被访问,则所述当前源地址为冷源地址。
步骤S102,若所述当前源地址为冷源地址;
步骤S103,判断所述当前源地址在第一访问位置的数据块的引用计数是否小于预设值,若是,则执行步骤S104,若否,则执行步骤S105。
步骤S104,将所述当前源地址删除。
如上所述,当所述当前源地址为冷源地址,且在第一访问位置的数据块的引用计数小于预设值,则将所述当前源地址删除。
其中,任一数据块均对应多个源地址,即至少一个源地址,将所述当前源地址删除的步骤之后,所述方法还包括:
当所述当前源地址所对应的数据块被其他任一源地址所引用,则判断访问周期内该数据块被其他源地址所引用的引用计数是否小于预设值;
若是,则将其他源地址及被引用的该数据块同时删除。
可以理解的,若所述当前源地址随对应的数据块被其他任意一源地址所引用,则说明当前源地址所对应的数据块并不是free块,即并不是一个没有被进行数据访问或引用的数据块,若将该数据块删除则会影响其他源地址对该数据块的正常访问或引用。因此需要判断该访问周期内其他源地址对该数据块的访问或引用情况,当其他源地址对该数据块的访问或引用的次数为零或者小于其他预设值,则将其他源地址及被引用的该数据块同时删除,以便于新数据块的正常写入,同时也避免了该数据块长期未被访问或引用却占用了较大的存储空间,而导致***的性能降低。
进一步地,在本发明其他实施例中,任一数据块均对应多个源地址,即至少一个源地址,将所述当前源地址删除的步骤之后,所述方法还包括:当所述当前源地址所对应的数据块未被其他源地址所引用,则将该数据块删除,以增加第二存储区的数据缓存量。
步骤S104,将所述当前源地址移动至第二访问位置并进行保存,所述当前源地址在第二访问位置的数据块的引用计数大于第一访问位置。
如上所述,当所述当前源地址为冷源地址,且在第一访问位置的数据块的引用计数大于或等于预设值,则将所述当前源地址移动至第二访问位置,其中第二访问位置的数据块的数据块被引用的次数大于第一访问位置。
其中,将所述当前源地址移动至第二访问位置并进行保存的步骤之后,所述方法还包括:
判断位于所述第二访问位置的当前源地址的引用计数的减少量是否小于预设减少量;
若是,则将所述当前源地址删除;
若否,则将所述当前源地址保留并进入下一访问周期。
可以理解的,通过在将当前源地址由第一访问位置移动到第二访问位置,来表明当前源地址引用计数及有效的空间访问量都比较高,当第二访问位置的当前源地址的引用计数的减少量小于预设减少量或者未被引用,则表明当前源地址为冷源地址,因此将其删除,以减少当前数据块的被引用的计数;当第二访问位置的当前源地址的引用计数的减少量大于或等于预设减少量,即引用计数或有效空间访问量均为非倒数第一,将所述当前源地址保留并进入下一访问周期。
现有技术中的两个高速缓存的块A和B,块大小为4KB;如果在块B之前访问块A,则块B将被识别为比块A更热,即使块B仅访问1KB数据,块A访问4KB数据。此时,如果缓存已满,则将删除块A并保留块B。但是,块B仅包含1KB的有效数据,而块B需要4KB的缓存空间,从而降低了空间利用率。此外,随着高速缓存块的大小增加,该空间利用率将降低,这将严重影响高速缓存命中率。
请参阅图3,作为一个具体的实施例,然而本实施例中,如:第二存储区只能容纳3个数据块,访问部分的百分比阈值设置为50%。为简单起见,我们假设每个块只有一个源地址,因此我们使用块而不是源地址来说明该数据缓存的工作原理。在该示例中,在时间T1,T2和T3,块A,B和C进入缓存;它们的标志设置为1。在时间T4,数据块D需要进入缓存,但没有可进行替换的数据块。因此首先检查第一访问位置LRU的数据块A的访问状态。因为数据块A的访问部分超过50%且其标志为1,所以数据块A不会被删除(如果标志位为0,则表示在此周期内没有内访问过,那么,即使访问部分超过50%,也会被删除,此操作是为了防止某些长时间不被访问的,但曾经访问部分超过50%的数据块被保留在缓存中浪费缓存空间);它移动到第二访问位置MRU并且其标志被重置0。然后检查块B,而对于数据块B,由于其访问部分仅为25%,它被删除。因此,在时间T4之后,块D进入高速缓存中的第二访问位置MRU,块B被删除,块A的标志被设置为0。在时间T5,当再次访问A时,块A移动到第二访问位置MRU并且其标志被设置为1。
请参阅图4,进一步地,如第二存储区中有三个块,A,B和C;数据块A被引用2次;数据块B被引用3次;数据块C引用一次。仅仅使用引用的计数来识别热/冷块时,块B是最热的,块C是最冷的;将删除块C及其关联的源地址C1,以便为新块腾出空间。但是,如果块C是刚刚才访问过的,由于数据块访问的时间局部性,很有可能在不久的将来会再次访问块C,则删除块C将降低缓存命中率。并且如果***不会长时间访问块B,则存储块B会浪费数据缓存的空间(即,存储块B)和元数据缓存(存储块B的三个源地址:B1、B2、B3)。
为了解决这个问题,因此需考虑数据块引用计数和访问时间位置,以找到free块并关联要删除的源地址。其中,有两个基本假设:首先,很可能在不久的将来具有高度引用的数据块的源地址会被再次访问;第二,最近可能不再访问位于元数据缓存中的第一访问位置LRU的源地址。基于这两个假设,仅需关注第一访问位置LRU中的源地址,并将这些源地址指向的数据块分为两类:一类是仅引用一次的数据块,另一类是块被多次引用。对于第一访问位置LRU中的每个源地址,如果它指向前一类的块,则删除它;否则将该源地址移动到元数据缓存的第二访问位置MRU(最近最多被访问的数据块)以保持它,并进一步观察该源地址指向的数据块的引用计数在下一个周期中将如何变化。这里的周期是指源地址从第二访问位置MRU到第一访问位置LRU所需的时间。如果在下一个周期中该数据块的引用计数显著减少,则源地址将被删除;否则它将被保留并进入下一个周期。
根据本发明提供的缓存数据处理方法,首先根据访问周期内当前源地址的空间访问量确定当前源地址是否为冷源地址,从而可以更准确地识别块的内容热度,尤其是对于大块,最小化误报热块;通过当所述当前源地址为冷源地址时,判断所述当前源地址在第一访问位置的数据块的引用计数是否小于预设值,来确定是否对当前源地址进行删除或者是位置的迁移的操作,从而实现数据块的替换与相关源地址的访问时间进行关联,作为数据块热度衡量的因素,最终实现通过提高缓存命中率来提高空间利用率及***性能。本发明提供的缓存数据处理方法,通过同一数据块相关联的不同的逻辑地址的个数作为数据块热度的衡量因素之一,以及利用bitmap技术来识别大的数据块中的某些小粒度的访问区域,优化了数据块的缓存替换策略,达到提升存储***性能的目的。
请参阅图5,基于同一发明构思,本发明第二实施例提供的缓存数据处理***,包括:
计算模块10,用于将源地址存储于第一存储区,将所述源地址所对应的数据块存储于第二存储区;对每个所述数据块所对应的源地址进行哈希计算,以得到数据块指纹,建立所述数据块指纹与数据块对应的布隆过滤器数组。
预判模块20,用于当接收到一数据块缓存指令时;
判断当前数据块的布隆过滤器是否被命中,以确定所述当前数据块是否为第二存储区内的重复数据块;
当所述当前数据块为第二存储区内的重复数据块时,拒绝所述当前数据的缓存,并生成一拒绝日志。
确定模块30,用于根据访问周期内当前源地址的空间访问量确定当前源地址是否为冷源地址。
本实施例中,所述确定模块30包括:
划分单元31,用于将所述当前源地址的地址空间划分为若干子地址空间。
记录单元32,用于通过位图记录每个子地址空间的访问状态。
确定单元33,用于当所述当前源地址中的子地址空间的访问量小于预设访问量,且在该访问周期内未被访问,则所述当前源地址为冷源地址。
判断模块40,用于当所述当前源地址为冷源地址时,判断所述当前源地址在第一访问位置的数据块的引用计数是否小于预设值。
删除模块50,用于将所述当前源地址删除。
本实施例中,任一数据块均对应多个源地址,所述删除模块30包括:
第一删除单元51,用于当所述当前源地址所对应的数据块被其他任一源地址所引用,则判断访问周期内该数据块被其他源地址所引用的引用计数是否小于预设值;若是,则将其他源地址及被引用的该数据块同时删除。
第二删除单元52,用于当所述当前源地址所对应的数据块未被其他源地址所引用,则将该数据块删除。
迁移模块60,用于将所述当前源地址移动至第二访问位置并进行保存,所述当前源地址在第二访问位置的数据块的引用计数大于第一访问位置,其中所述访问周期为所述当前源地址由第二访问位置移动至第一访问位置的时间。
迁移模块60,还用于判断位于所述第二访问位置的当前源地址的引用计数的减少量是否小于预设减少量;
若是,则将所述当前源地址删除;
若否,则将所述当前源地址保留并进入下一访问周期。
根据本发明提供的缓存数据处理***,首先根据访问周期内当前源地址的空间访问量确定当前源地址是否为冷源地址,从而可以更准确地识别块的内容热度,尤其是对于大块,最小化误报热块;通过当所述当前源地址为冷源地址时,判断所述当前源地址在第一访问位置的数据块的引用计数是否小于预设值,来确定是否对当前源地址进行删除或者是位置的迁移的操作,从而实现数据块的替换与相关源地址的访问时间进行关联,作为数据块热度衡量的因素,最终实现通过提高缓存命中率来提高空间利用率及***性能。本发明提供的缓存数据处理方法,通过同一数据块相关联的不同的逻辑地址的个数作为数据块热度的衡量因素之一,以及利用bitmap技术来识别大的数据块中的某些小粒度的访问区域,优化了数据块的缓存替换策略,达到提升存储***性能的目的。
本发明实施例提出的缓存数据处理***的技术特征和技术效果与本发明实施例提出的方法相同,在此不予赘述。
此外,本发明的实施例还提出一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
此外,本发明的实施例还提出一种缓存设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现上述方法的步骤。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种缓存数据处理方法,应用于数据缓存***,其特征在于,所述方法包括如下步骤:
根据访问周期内当前源地址的空间访问量确定当前源地址是否为冷源地址;
当所述当前源地址为冷源地址时,判断所述当前源地址在第一访问位置的数据块的引用计数是否小于预设值;
若是,则将所述当前源地址删除;
若否,则将所述当前源地址移动至第二访问位置并进行保存,所述当前源地址在第二访问位置的数据块的引用计数大于第一访问位置;其中,所述第一访问位置为LRU,所述第二访问位置为MRU。
2.根据权利要求1所述的缓存数据处理方法,其特征在于,根据访问周期内当前源地址的空间访问量确定当前源地址是否为冷源地址的步骤包括:
将所述当前源地址的地址空间划分为若干子地址空间;
通过位图记录每个子地址空间的访问状态;
当所述当前源地址中的子地址空间的访问量小于预设访问量,且在该访问周期内未被访问,则所述当前源地址为冷源地址。
3.根据权利要求1所述的缓存数据处理方法,其特征在于,任一数据块均对应多个源地址,将所述当前源地址删除的步骤之后,所述方法还包括:
当所述当前源地址所对应的数据块被其他任一源地址所引用,则判断访问周期内该数据块被其他源地址所引用的引用计数是否小于预设值;
若是,则将其他源地址及被引用的该数据块同时删除。
4.根据权利要求1所述的缓存数据处理方法,其特征在于,任一数据块均对应多个源地址,将所述当前源地址删除的步骤之后,所述方法还包括:当所述当前源地址所对应的数据块未被其他源地址所引用,则将该数据块删除。
5.根据权利要求1所述的缓存数据处理方法,其特征在于,将所述当前源地址移动至第二访问位置并进行保存的步骤之后,所述方法还包括:
判断位于所述第二访问位置的当前源地址的引用计数的减少量是否小于预设减少量;
若是,则将所述当前源地址删除;
若否,则将所述当前源地址保留并进入下一访问周期。
6.根据权利要求1所述的缓存数据处理方法,其特征在于,所述访问周期为所述当前源地址由第二访问位置移动至第一访问位置的时间。
7.根据权利要求1所述的缓存数据处理方法,其特征在于,所述方法还包括:
将源地址存储于第一存储区,将所述源地址所对应的数据块存储于第二存储区;
对每个所述数据块所对应的源地址进行哈希计算,以得到数据块指纹,建立所述数据块指纹与数据块对应的布隆过滤器数组。
8.根据权利要求7所述的缓存数据处理方法,其特征在于,所述方法还包括:
当接收到一数据块缓存指令时;
判断当前数据块的布隆过滤器是否被命中,以确定所述当前数据块是否为第二存储区内的重复数据块;
当所述当前数据块为第二存储区内的重复数据块时,拒绝所述当前数据的缓存,并生成一拒绝日志。
9.一种缓存数据处理***,其特征在于,所述***包括:
确定模块,用于根据访问周期内当前源地址的空间访问量确定当前源地址是否为冷源地址;
判断模块,用于当所述当前源地址为冷源地址时,判断所述当前源地址在第一访问位置的数据块的引用计数是否小于预设值;
删除模块,用于将所述当前源地址删除;
迁移模块,用于将所述当前源地址移动至第二访问位置并进行保存,所述当前源地址在第二访问位置的数据块的引用计数大于第一访问位置;其中,所述第一访问位置为LRU,所述第二访问位置为MRU。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8任意一项所述的缓存数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910408451.1A CN110147331B (zh) | 2019-05-16 | 2019-05-16 | 缓存数据处理方法、***及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910408451.1A CN110147331B (zh) | 2019-05-16 | 2019-05-16 | 缓存数据处理方法、***及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110147331A CN110147331A (zh) | 2019-08-20 |
CN110147331B true CN110147331B (zh) | 2021-04-02 |
Family
ID=67594359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910408451.1A Active CN110147331B (zh) | 2019-05-16 | 2019-05-16 | 缓存数据处理方法、***及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110147331B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309262B (zh) * | 2020-02-16 | 2021-01-29 | 西安奥卡云数据科技有限公司 | 一种分布式存储缓存读取和写入方法 |
CN112269947A (zh) * | 2020-09-23 | 2021-01-26 | 咪咕文化科技有限公司 | 空间文本数据的缓存方法、装置、电子设备及存储介质 |
US11507273B2 (en) * | 2020-09-29 | 2022-11-22 | EMC IP Holding Company LLC | Data reduction in block-based storage systems using content-based block alignment |
CN113282523B (zh) * | 2021-05-08 | 2022-09-30 | 重庆大学 | 一种缓存分片的动态调整方法、装置以及存储介质 |
CN113282524B (zh) * | 2021-05-08 | 2022-08-16 | 重庆大学 | 一种缓存分片的配置方法、装置以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104166631A (zh) * | 2014-09-11 | 2014-11-26 | 浪潮(北京)电子信息产业有限公司 | LLC中Cache行的替换方法 |
CN104516824A (zh) * | 2013-10-01 | 2015-04-15 | 国际商业机器公司 | 数据存储***中的存储管理方法和*** |
CN106649313A (zh) * | 2015-10-29 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 用于处理缓存数据的方法和设备 |
CN108415669A (zh) * | 2018-03-15 | 2018-08-17 | 深信服科技股份有限公司 | 存储***的数据去重方法及装置、计算机装置及存储介质 |
CN108763110A (zh) * | 2018-03-22 | 2018-11-06 | 新华三技术有限公司 | 一种数据缓存方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101989236B (zh) * | 2010-11-04 | 2012-05-09 | 浙江大学 | 一种指令缓存锁实现方法 |
US9645944B2 (en) * | 2012-05-07 | 2017-05-09 | International Business Machines Corporation | Enhancing data caching performance |
US9135173B2 (en) * | 2013-01-22 | 2015-09-15 | International Business Machines Corporation | Thinly provisioned flash cache with shared storage pool |
US9632932B1 (en) * | 2013-06-21 | 2017-04-25 | Marvell International Ltd. | Backup-power-free cache memory system |
US9355035B2 (en) * | 2013-11-18 | 2016-05-31 | Globalfoundries Inc. | Dynamic write priority based on virtual write queue high water mark for set associative cache using cache cleaner when modified sets exceed threshold |
CN106326142B (zh) * | 2015-06-17 | 2019-05-21 | 群联电子股份有限公司 | 缓冲存储器存取方法、存储器控制器与存储器存储装置 |
CN105354246B (zh) * | 2015-10-13 | 2018-11-02 | 华南理工大学 | 一种基于分布式内存计算的数据去重方法 |
-
2019
- 2019-05-16 CN CN201910408451.1A patent/CN110147331B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104516824A (zh) * | 2013-10-01 | 2015-04-15 | 国际商业机器公司 | 数据存储***中的存储管理方法和*** |
CN104166631A (zh) * | 2014-09-11 | 2014-11-26 | 浪潮(北京)电子信息产业有限公司 | LLC中Cache行的替换方法 |
CN106649313A (zh) * | 2015-10-29 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 用于处理缓存数据的方法和设备 |
CN108415669A (zh) * | 2018-03-15 | 2018-08-17 | 深信服科技股份有限公司 | 存储***的数据去重方法及装置、计算机装置及存储介质 |
CN108763110A (zh) * | 2018-03-22 | 2018-11-06 | 新华三技术有限公司 | 一种数据缓存方法及装置 |
Non-Patent Citations (1)
Title |
---|
《Fast Memory Deduplication of Disk Cache Pages in Virtual Environments》;Yan Niu等;《2015 IEEE Fifth International Conference on Big Data and Cloud Computing》;20150828;第31-37页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110147331A (zh) | 2019-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110147331B (zh) | 缓存数据处理方法、***及可读存储介质 | |
US10019369B2 (en) | Apparatuses and methods for pre-fetching and write-back for a segmented cache memory | |
US9128847B2 (en) | Cache control apparatus and cache control method | |
CN108920387B (zh) | 降低读延迟的方法、装置、计算机设备及存储介质 | |
US8949544B2 (en) | Bypassing a cache when handling memory requests | |
US9361236B2 (en) | Handling write requests for a data array | |
CN108139968B (zh) | 确定垃圾收集器线程数量及活动管理的方法及设备 | |
CN105930282B (zh) | 一种用于nand flash的数据缓存方法 | |
US20060106984A1 (en) | Methods and apparatus for efficient memory usage | |
CN103631536B (zh) | 一种利用ssd的无效数据优化raid5/6写性能的方法 | |
CN110727685B (zh) | 一种基于Cassandra数据库的数据压缩方法、设备以及存储介质 | |
CN107423229B (zh) | 一种面向页级ftl的缓冲区改进方法 | |
US10635581B2 (en) | Hybrid drive garbage collection | |
CN110059027A (zh) | 执行维护操作的装置和方法 | |
CN103473150A (zh) | 一种用于数据去重***中的碎片重写方法 | |
CN110347338B (zh) | 混合内存数据交换处理方法、***及可读存储介质 | |
JP2008502069A (ja) | メモリ・キャッシュ制御装置及びそのためのコヒーレンシ動作を実行する方法 | |
US20240061789A1 (en) | Methods, apparatuses, and electronic devices for evicting memory block in cache | |
CN110413211B (zh) | 存储管理方法、电子设备以及计算机可读介质 | |
CN108920096A (zh) | 一种ssd的数据储存方法、装置、计算机设备及存储介质 | |
WO2023000536A1 (zh) | 一种数据处理方法、***、设备以及介质 | |
CN107590084A (zh) | 一种基于分类策略的页级缓冲区改进方法 | |
US7761665B2 (en) | Handling of cache accesses in a data processing apparatus | |
US8732404B2 (en) | Method and apparatus for managing buffer cache to perform page replacement by using reference time information regarding time at which page is referred to | |
CN109002400B (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 |