CN114780031B - 一种基于单机存储引擎的数据处理方法和装置 - Google Patents
一种基于单机存储引擎的数据处理方法和装置 Download PDFInfo
- Publication number
- CN114780031B CN114780031B CN202210400144.0A CN202210400144A CN114780031B CN 114780031 B CN114780031 B CN 114780031B CN 202210400144 A CN202210400144 A CN 202210400144A CN 114780031 B CN114780031 B CN 114780031B
- Authority
- CN
- China
- Prior art keywords
- data block
- cache layer
- stored
- logical volume
- target
- 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
- 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供了一种基于单机存储引擎的数据处理方法和装置,涉及数据处理的技术领域,包括:获取待存储逻辑卷,并将待存储逻辑卷存入高速缓存层,并确定出待存储逻辑卷是否携带用户标记,用户标记包括:强制性标记和非强制性标记;若待存储逻辑卷携带用户标记,则基于用户标记,将待存储逻辑卷写入对应的缓存层;若待存储逻辑卷未携带用户标记,则基于空间局部性确定出待存储逻辑卷中的第一目标数据块,第一目标数据块对应的数据块存储在超高速缓存层,对应的数据块为与第一目标数据块的逻辑地址相邻的数据块;将第一目标数据块写入至超高速缓存层,解决了现有的单机混合存储引擎的数据放置机制的存储利用率和存储性能较低的技术问题。
Description
技术领域
本发明涉及数据处理的技术领域,尤其是涉及一种基于单机存储引擎的数据处理方法和装置。
背景技术
超融合基础架构是一种将计算、网络和存储等资源作为基础设施进行整合,可以根据具体业务系统需求进行选择组合和自定义,方便快捷地进行数据中心搭建和业务系统部署的一种技术架构。具体实现方式上一般是在单元节点(x86服务器)中融入软件虚拟化技术(包括计算、网络、存储、安全等虚拟化),而每一个单元节点可以通过网络聚合起来,实现模块化的无缝横向扩展(scale-out),构建统一的资源池。
在超融合基础架构所使用的单机存储引擎中,优选使用分层存储的方式,分层存储为一种混合使用多种存储设备(如SATA固态盘、NVME固态盘、机械盘等)的存储架构。
由于不同层次的存储设备在价格、容量和性能等方面相差巨大,对存储引擎而言,为更好利用不同层次的存储设备,实现正确高效的数据放置至关重要。数据放置所涉及到的情况有:当数据被写入时选择写入到缓存层还是容量层;当容量层的数据被访问多次后选择是否提升到缓存层;当性能层使用率较高时选择淘汰部分数据。错误低效的数据放置机制可能会导致数据写放大,性能不佳或抖动等后果。不仅如此,由于SATA固态盘和NVME固态盘的性能差距可达数倍,当同时使用两种固态盘作为缓存层时,其内部的数据放置情况可能也会导致存储引擎的性能差距巨大。
针对上述问题,还未提出有效的解决方案。
发明内容
有鉴于此,本发明的目的在于提供一种基于单机存储引擎的数据处理方法和装置,以缓解了现有的单机混合存储引擎的数据放置机制的存储利用率和存储性能较低的技术问题。
第一方面,本发明实施例提供了一种基于单机存储引擎的数据处理方法,包括:应用于基于单机存储引擎构建的服务器,所述服务器包括多个缓存层,其中,所述多个缓存层依次为超高速缓存层,高速缓存层和容量层,包括:获取待存储逻辑卷,将所述待存储逻辑卷存入所述高速缓存层,并确定出所述待存储逻辑卷是否携带用户标记,其中,所述用户标记包括:强制性标记和非强制性标记;若所述待存储逻辑卷携带所述用户标记,则基于所述用户标记,将所述待存储逻辑卷写入对应的缓存层;若所述待存储逻辑卷未携带所述用户标记,则基于空间局部性确定出所述待存储逻辑卷中的第一目标数据块,其中,所述第一目标数据块对应的数据块存储在所述超高速缓存层,所述对应的数据块为与所述第一目标数据块的逻辑地址相邻的数据块;将所述第一目标数据块写入至所述超高速缓存层。
进一步地,所述强制性标记用于表征所述待存储逻辑卷对应的缓存层;所述非强制性标记用于表征所述待存储逻辑卷的类型,其中,所述类型包括:热数据和冷数据。
进一步地,若所述待存储逻辑卷携带所述用户标记,则基于所述用户标记,将所述待存储逻辑卷存入对应的缓存层,包括:若所述待存储逻辑卷携带的所述非强制性标记的类型为热数据,则将所述待存储逻辑卷写入所述超高速缓存层;若所述待存储逻辑卷携带的所述非强制性标记的类型为冷数据,则将所述待存储逻辑卷写入所述容量层。
进一步地,所述方法还包括:确定出第一目标缓存层中的第二目标数据块,其中,所述第一目标缓存层包括:高速缓存层和容量层,所述第二目标数据块为所述第一目标缓存层中除所述强制性标记对应的数据块以外目标时长最短的数据块,所述目标时间为最近一次访问时刻与当前访问时刻之间的时长;若所述第一目标缓存层为所述高速缓存层,则将所述第二目标数据块和所述第二目标数据块的逻辑地址相邻的数据块写入所述超高速缓存层;若所述第一目标缓存层为所述容量层,则将所述第二目标数据块和所述第二目标数据块的逻辑地址相邻的数据块写入所述高速缓存层。
进一步地,所述方法还包括:确定出第二目标缓存层中的第三目标数据块,其中,所述第二目标缓存层包括:超高速缓存层和高速缓存层,所述第三目标数据块为所述第二目标缓存层中除所述强制性标记对应的数据块以外所述目标时长最长的数据块;若所述第二目标缓存层为所述超高速缓存层且所述高速缓存层中不包括与所述第三目标数据块相同的数据块,则将所述第三目标数据块写入所述高速缓存层,并从所述超高速缓存层中删除所述第三目标数据块;若所述第二目标缓存层为所述高速缓存层且所述容量中不包括与所述第三目标数据块相同的数据块,则将所述第三目标数据块写入所述容量层,并从所述高速缓存层中删除所述第三目标数据块。
进一步地,若所述第二目标缓存层为所述超高速缓存层且所述高速缓存层中包括与所述第三目标数据块相同的数据块,则从所述超高速缓存层中删除所述第三目标数据块;若所述第二目标缓存层为所述高速缓存层且所述容量中包括与所述第三目标数据块相同的数据块,则从所述高速缓存层中删除所述第三目标数据块。
进一步地,按照预设周期对所述多个缓存层进行扫描,确定出第四目标数据块,其中,所述第四目标数据块所处的缓存层与第四目标数据块的强制性用户标记对应的缓存层不同;将所述第四目标数据块写入所述强制性用户标记对应的缓存层。
第二方面,本发明实施例还提供了一种基于单机存储引擎的数据处理装置,应用于基于单机存储引擎构建的服务器,所述服务器包括多个缓存层,其中,所述多个缓存层依次为超高速缓存层,高速缓存层和容量层,包括:获取模块,第一写入模块,确定模块和第二写入模块,其中,所述获取模块,用于获取待存储逻辑卷,将所述待存储逻辑卷存入所述高速缓存层,并确定出所述待存储逻辑卷是否携带用户标记,其中,所述用户标记包括:强制性标记和非强制性标记;所述第一写入模块,用于在所述待存储逻辑卷携带所述用户标记的情况下,基于所述用户标记,将所述待存储逻辑卷写入对应的缓存层;所述确定模块,用于在所述待存储逻辑卷未携带所述用户标记的情况下,则基于空间局部性确定出所述待存储逻辑卷中的第一目标数据块,其中,所述第一目标数据块对应的数据块存储在所述超高速缓存层,所述对应的数据块为与所述第一目标数据块的逻辑地址相邻的数据块;所述第二写入模块,用于将所述目标数据块写入至所述超高速缓存层。
第三方面,本发明实施例还提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储支持处理器执行上述第一方面中所述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
第四方面,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序。
在本发明实施例中,通过获取待存储逻辑卷,将所述待存储逻辑卷存入所述高速缓存层,并确定出所述待存储逻辑卷是否携带用户标记,其中,所述用户标记包括:强制性标记和非强制性标记;若所述待存储逻辑卷携带所述用户标记,则基于所述用户标记,将所述待存储逻辑卷写入对应的缓存层;若所述待存储逻辑卷未携带所述用户标记,则基于空间局部性确定出所述待存储逻辑卷中的第一目标数据块,其中,所述第一目标数据块对应的数据块存储在所述超高速缓存层,所述对应的数据块为与所述第一目标数据块的逻辑地址相邻的数据块;将所述第一目标数据块写入至所述超高速缓存层,达到了通过根据待存储逻辑卷的用户标记和数据的空间局部性对数据进行写入的目的,进而解决了现有的单机混合存储引擎的数据放置机制的存储利用率和存储性能较低的技术问题,从而实现了提高单机混合存储引擎的数据放置机制的存储利用率和存储性能的技术效果。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于单机存储引擎的数据处理方法的流程图;
图2为本发明实施例提供的一种基于单机存储引擎的数据处理装置的示意图;
图3为本发明实施例提供的一种电子设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
根据本发明实施例,提供了一种基于单机存储引擎的数据处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种基于单机存储引擎的数据处理方法的流程图,如图1所示,该方法应用于基于单机存储引擎构建的服务器,所述服务器包括多个缓存层,其中,所述多个缓存层依次为超高速缓存层,高速缓存层和容量层,包括如下步骤:
步骤S102,获取待存储逻辑卷,将所述待存储逻辑卷存入所述高速缓存层,并确定出所述待存储逻辑卷是否携带用户标记,其中,所述用户标记包括:强制性标记和非强制性标记;
需要说明的是,所述强制性标记用于表征所述待存储逻辑卷对应的缓存层;所述非强制性标记用于表征所述待存储逻辑卷的类型,其中,所述类型包括:热数据和冷数据,其中,所述热数据对应的缓存层为超高速缓存层,所述冷数据对应的缓存层为容量层。
步骤S104,若所述待存储逻辑卷携带所述用户标记,则基于所述用户标记,将所述待存储逻辑卷写入对应的缓存层;
需要说明的是,如果待存储逻辑卷携带强制性标记,则根据强制性标记将待存储逻辑卷写入对应的缓存层。
如果待存储逻辑卷携带非强制性标记,则根据非强制性标确定待存储逻辑卷的类型,若待存储逻辑卷为热数据则将待存储逻辑卷写入超高速缓存层,若待存储逻辑卷为冷数据则将待存储逻辑卷写入容量层。
还需要说明的是,用户可以手动标记某个逻辑卷为冷数据或热数据,并选择该标记是否具有强制性。强制性用户标记表示用户希望将数据固定在某一存储层,非强制性用户标记代表用户对数据冷热程度的提示。在本申请中,用户标记具有最高优先级,以保证用户标记真正生效。适合标记为冷数据的业务类型有:各种类型的备份数据,文件服务器等;适合标记为热数据的业务类型有:数据库,Web服务器等。
步骤S106,若所述待存储逻辑卷未携带所述用户标记,则基于空间局部性确定出所述待存储逻辑卷中的第一目标数据块,其中,所述第一目标数据块对应的数据块存储在所述超高速缓存层,所述对应的数据块为与所述第一目标数据块的逻辑地址相邻的数据块;
需要说明的是,本申请中在经典LRU算法的基础上,引入序列这一概念来衡量数据的空间局部性。定义序列为:在同一段时间内均被访问过的逻辑地址相邻的一组数据块。任意一个数据块可称其为长度为1的序列。序列的形成并不要求请求必须严格按时间顺序,和常见的用于顺序读的预读机制不尽相同,这样可以更好地捕捉到数据请求的空间局部性。
因此,基于空间局部性确定出所述待存储逻辑卷中的第一目标数据块时,可以首先确定出待存储逻辑卷中包含的数据块所处的序列,然后,确定出序列中各个数据块的相邻逻辑地址的数据块是否存储在超高速缓存层中,若满足该条件,则将满足该条件待存储逻辑卷中的数据块确定为第一目标数据块。
步骤S108,将所述第一目标数据块写入至所述超高速缓存层。
另外,还需要说明的是,在本申请中,超高速缓存层由NVME固态盘构建,高速缓存层由SATA固态盘构建和容量层由机械盘构建。
在本发明实施例中,通过获取待存储逻辑卷,将所述待存储逻辑卷存入所述高速缓存层,并确定出所述待存储逻辑卷是否携带用户标记,其中,所述用户标记包括:强制性标记和非强制性标记;若所述待存储逻辑卷携带所述用户标记,则基于所述用户标记,将所述待存储逻辑卷写入对应的缓存层;若所述待存储逻辑卷未携带所述用户标记,则基于空间局部性确定出所述待存储逻辑卷中的第一目标数据块,其中,所述第一目标数据块对应的数据块存储在所述超高速缓存层,所述对应的数据块为与所述第一目标数据块的逻辑地址相邻的数据块;将所述第一目标数据块写入至所述超高速缓存层,达到了通过根据待存储逻辑卷的用户标记和数据的空间局部性对数据进行写入的目的,进而解决了现有的单机混合存储引擎的数据放置机制的存储利用率和存储性能较低的技术问题,从而实现了提高单机混合存储引擎的数据放置机制的存储利用率和存储性能的技术效果。
另外,需要说明的是,在获取待存储逻辑卷之后,可以判断待存储逻辑卷是否为初次写入,若是,则可以执行上述步骤S102至步骤S108。从而将待存储逻辑卷存入对应的缓存层,如果待存储逻辑卷不是初次写入,则采取write-back的策略,优先更新缓存。
在本发明实施例中,所述方法还包括如下步骤:
步骤S202,确定出第一目标缓存层中的第二目标数据块,其中,所述第一目标缓存层包括:高速缓存层和容量层,所述第二目标数据块为所述第一目标缓存层中除所述强制性标记对应的数据块以外目标时长最短的数据块,所述目标时间为最近一次访问时刻与当前访问时刻之间的时长;
步骤S204,若所述第一目标缓存层为所述高速缓存层,则将所述第二目标数据块和所述第二目标数据块的逻辑地址相邻的数据块写入所述超高速缓存层;
步骤S206,若所述第一目标缓存层为所述容量层,则将所述第二目标数据块和所述第二目标数据块的逻辑地址相邻的数据块写入所述高速缓存层。
在本发明实施例中,还提出了一种缓存提升流程,即将合适的数据块缓存到上一存储层的流程,具体流程如下:
在第一目标缓存层的所有数据块中,选择最近一次访问时间最新的前N个数据块,筛选掉带有强制性用户标记的数据块,将这些数据块(即,第二目标数据块)以及它们所在的序列提升到上一存储层。该流程实现了数据预取的功能,提高了顺序读等访问模式下的性能。
在本发明实施例中,所述方法还包括:
步骤S302,定出第二目标缓存层中的第三目标数据块,其中,所述第二目标缓存层包括:超高速缓存层和高速缓存层,所述第三目标数据块为所述第二目标缓存层中除所述强制性标记对应的数据块以外所述目标时长最长的数据块;
步骤S304,若所述第二目标缓存层为所述超高速缓存层且所述高速缓存层中不包括与所述第三目标数据块相同的数据块,则将所述第三目标数据块写入所述高速缓存层,并从所述超高速缓存层中删除所述第三目标数据块;
步骤S306,若所述第二目标缓存层为所述高速缓存层且所述容量中不包括与所述第三目标数据块相同的数据块,则将所述第三目标数据块写入所述容量层,并从所述高速缓存层中删除所述第三目标数据块。
在本发明实施例中,还提出了一种缓存淘汰流程,即将部分数据块从某一存储层移除的流程,具体流程如下:
在当前存储层(即,第二目标缓存层)的所有数据块中,选择最近一次访问时间最老的前N个数据块,筛选掉带有强制性用户标记的数据块,得到第三目标数据块,如果第二目标缓存层为超高速缓存层且高速缓存层中不包括与第三目标数据块相同的数据块,则将第三目标数据块写入高速缓存层,并从超高速缓存层中删除第三目标数据块;
若第二目标缓存层为高速缓存层且容量中不包括与第三目标数据块相同的数据块,则将第三目标数据块写入容量层,并从高速缓存层中删除第三目标数据块。
另外,若第二目标缓存层为超高速缓存层且高速缓存层中包括与第三目标数据块相同的数据块,则从超高速缓存层中删除第三目标数据块;
若第二目标缓存层为高速缓存层且容量中包括与第三目标数据块相同的数据块,则从高速缓存层中删除第三目标数据块。
在本发明实施例中,所述方法还包括如下步骤:
步骤S402,按照预设周期对所述多个缓存层进行扫描,确定出第四目标数据块,其中,所述第四目标数据块所处的缓存层与第四目标数据块的强制性用户标记对应的缓存层不同;
步骤S404,将所述第四目标数据块写入所述强制性用户标记对应的缓存层。
在本发明实施例中,因为用户可以随时标记或取消标记某个逻辑卷,为使强制性用户标记生效,需要按照预设周期扫描所有带有强制性用户标记的数据块,如果确定出多个缓存层包含第四目标数据块,则将第四目标数据块写入强制性用户标记对应的缓存层。
实施例二:
本发明实施例还提供了一种基于单机存储引擎的数据处理装置,该基于单机存储引擎的数据处理装置用于执行本发明实施例上述内容所提供的方法,以下是本发明实施例提供的基于单机存储引擎的数据处理装置的具体介绍。
如图2所示,图2为上述基于单机存储引擎的数据处理装置的示意图,该装置应用于基于单机存储引擎构建的服务器,所述服务器包括多个缓存层,其中,所述多个缓存层依次为超高速缓存层,高速缓存层和容量层,包括:获取模块10,第一写入模块20,确定模块30和第二写入模块40。
所述获取模块10,用于获取待存储逻辑卷,将所述待存储逻辑卷存入所述高速缓存层,并确定出所述待存储逻辑卷是否携带用户标记,其中,所述用户标记包括:强制性标记和非强制性标记;
所述第一写入模块20,用于在所述待存储逻辑卷携带所述用户标记的情况下,基于所述用户标记,将所述待存储逻辑卷写入对应的缓存层;
所述确定模块30,用于在所述待存储逻辑卷未携带所述用户标记的情况下,则基于空间局部性确定出所述待存储逻辑卷中的第一目标数据块,其中,所述第一目标数据块对应的数据块存储在所述超高速缓存层,所述对应的数据块为与所述第一目标数据块的逻辑地址相邻的数据块;
所述第二写入模块40,用于将所述目标数据块写入至所述超高速缓存层。
在本发明实施例中,通过获取待存储逻辑卷,将所述待存储逻辑卷存入所述高速缓存层,并确定出所述待存储逻辑卷是否携带用户标记,其中,所述用户标记包括:强制性标记和非强制性标记;若所述待存储逻辑卷携带所述用户标记,则基于所述用户标记,将所述待存储逻辑卷写入对应的缓存层;若所述待存储逻辑卷未携带所述用户标记,则基于空间局部性确定出所述待存储逻辑卷中的第一目标数据块,其中,所述第一目标数据块对应的数据块存储在所述超高速缓存层,所述对应的数据块为与所述第一目标数据块的逻辑地址相邻的数据块;将所述第一目标数据块写入至所述超高速缓存层,达到了通过根据待存储逻辑卷的用户标记和数据的空间局部性对数据进行写入的目的,进而解决了现有的单机混合存储引擎的数据放置机制的存储利用率和存储性能较低的技术问题,从而实现了提高单机混合存储引擎的数据放置机制的存储利用率和存储性能的技术效果。
实施例三:
本发明实施例还提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储支持处理器执行上述实施例一中所述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
参见图3,本发明实施例还提供一种电子设备100,包括:处理器50,存储器51,总线52和通信接口53,所述处理器50、通信接口53和存储器51通过总线52连接;处理器50用于执行存储器51中存储的可执行模块,例如计算机程序。
其中,存储器51可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口53(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线52可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器51用于存储程序,所述处理器50在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器50中,或者由处理器50实现。
处理器50可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器50中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器50可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器51,处理器50读取存储器51中的信息,结合其硬件完成上述方法的步骤。
实施例四:
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述实施例一中所述方法的步骤。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (8)
1.一种基于单机存储引擎的数据处理方法,其特征在于,应用于基于单机存储引擎构建的服务器,所述服务器包括多个缓存层,其中,所述多个缓存层依次为超高速缓存层,高速缓存层和容量层,包括:
获取待存储逻辑卷,将所述待存储逻辑卷存入所述高速缓存层,并确定出所述待存储逻辑卷是否携带用户标记,其中,所述用户标记包括:强制性标记和非强制性标记;所述强制性标记用于表征所述待存储逻辑卷对应的缓存层;所述非强制性标记用于表征所述待存储逻辑卷的类型,其中,所述类型包括:热数据和冷数据;
若所述待存储逻辑卷携带所述用户标记,则基于所述用户标记,将所述待存储逻辑卷写入对应的缓存层,包括:若所述待存储逻辑卷携带的所述非强制性标记的类型为热数据,则将所述待存储逻辑卷写入所述超高速缓存层;若所述待存储逻辑卷携带的所述非强制性标记的类型为冷数据,则将所述待存储逻辑卷写入所述容量层;
若所述待存储逻辑卷未携带所述用户标记,则基于空间局部性确定出所述待存储逻辑卷中的第一目标数据块,其中,所述第一目标数据块对应的数据块存储在所述超高速缓存层,所述对应的数据块为与所述第一目标数据块的逻辑地址相邻的数据块;
将所述第一目标数据块写入至所述超高速缓存层。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定出第一目标缓存层中的第二目标数据块,其中,所述第一目标缓存层包括:高速缓存层和容量层,所述第二目标数据块为所述第一目标缓存层中除所述强制性标记对应的数据块以外目标时长最短的数据块,所述目标时长为最近一次访问时刻与当前访问时刻之间的时长;
若所述第一目标缓存层为所述高速缓存层,则将所述第二目标数据块和所述第二目标数据块的逻辑地址相邻的数据块写入所述超高速缓存层;
若所述第一目标缓存层为所述容量层,则将所述第二目标数据块和所述第二目标数据块的逻辑地址相邻的数据块写入所述高速缓存层。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
确定出第二目标缓存层中的第三目标数据块,其中,所述第二目标缓存层包括:超高速缓存层和高速缓存层,所述第三目标数据块为所述第二目标缓存层中除所述强制性标记对应的数据块以外所述目标时长最长的数据块;
若所述第二目标缓存层为所述超高速缓存层且所述高速缓存层中不包括与所述第三目标数据块相同的数据块,则将所述第三目标数据块写入所述高速缓存层,并从所述超高速缓存层中删除所述第三目标数据块;
若所述第二目标缓存层为所述高速缓存层且所述容量中不包括与所述第三目标数据块相同的数据块,则将所述第三目标数据块写入所述容量层,并从所述高速缓存层中删除所述第三目标数据块。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述第二目标缓存层为所述超高速缓存层且所述高速缓存层中包括与所述第三目标数据块相同的数据块,则从所述超高速缓存层中删除所述第三目标数据块;
若所述第二目标缓存层为所述高速缓存层且所述容量中包括与所述第三目标数据块相同的数据块,则从所述高速缓存层中删除所述第三目标数据块。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
按照预设周期对所述多个缓存层进行扫描,确定出第四目标数据块,其中,所述第四目标数据块所处的缓存层与第四目标数据块的强制性用户标记对应的缓存层不同;
将所述第四目标数据块写入所述强制性用户标记对应的缓存层。
6.一种基于单机存储引擎的数据处理装置,其特征在于,应用于基于单机存储引擎构建的服务器,所述服务器包括多个缓存层,其中,所述多个缓存层依次为超高速缓存层,高速缓存层和容量层,包括:获取模块,第一写入模块,确定模块和第二写入模块,其中,
所述获取模块,用于获取待存储逻辑卷,将所述待存储逻辑卷存入所述高速缓存层,并确定出所述待存储逻辑卷是否携带用户标记,其中,所述用户标记包括:强制性标记和非强制性标记;所述强制性标记用于表征所述待存储逻辑卷对应的缓存层;所述非强制性标记用于表征所述待存储逻辑卷的类型,其中,所述类型包括:热数据和冷数据;
所述第一写入模块,用于在所述待存储逻辑卷携带所述用户标记的情况下,基于所述用户标记,将所述待存储逻辑卷写入对应的缓存层:若所述待存储逻辑卷携带的所述非强制性标记的类型为热数据,则将所述待存储逻辑卷写入所述超高速缓存层;若所述待存储逻辑卷携带的所述非强制性标记的类型为冷数据,则将所述待存储逻辑卷写入所述容量层;
所述确定模块,用于在所述待存储逻辑卷未携带所述用户标记的情况下,则基于空间局部性确定出所述待存储逻辑卷中的第一目标数据块,其中,所述第一目标数据块对应的数据块存储在所述超高速缓存层,所述对应的数据块为与所述第一目标数据块的逻辑地址相邻的数据块;
所述第二写入模块,用于将所述目标数据块写入至所述超高速缓存层。
7.一种电子设备,其特征在于,包括存储器以及处理器,所述存储器用于存储支持处理器执行权利要求1至5任一项所述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
8.一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,其特征在于,计算机程序被处理器运行时执行上述权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210400144.0A CN114780031B (zh) | 2022-04-15 | 2022-04-15 | 一种基于单机存储引擎的数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210400144.0A CN114780031B (zh) | 2022-04-15 | 2022-04-15 | 一种基于单机存储引擎的数据处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114780031A CN114780031A (zh) | 2022-07-22 |
CN114780031B true CN114780031B (zh) | 2022-11-11 |
Family
ID=82429740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210400144.0A Active CN114780031B (zh) | 2022-04-15 | 2022-04-15 | 一种基于单机存储引擎的数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114780031B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0675853A (ja) * | 1992-08-25 | 1994-03-18 | Oki Electric Ind Co Ltd | キャッシュメモリ装置 |
US6154815A (en) * | 1997-06-25 | 2000-11-28 | Sun Microsystems, Inc. | Non-blocking hierarchical cache throttle |
US6542967B1 (en) * | 1999-04-12 | 2003-04-01 | Novell, Inc. | Cache object store |
CN102841854A (zh) * | 2011-05-20 | 2012-12-26 | 国际商业机器公司 | 根据动态分级存储器缓存认知执行数据读取的方法和系统 |
CN104731719A (zh) * | 2013-12-24 | 2015-06-24 | 上海芯豪微电子有限公司 | 一种缓存系统和方法 |
CN105446665A (zh) * | 2015-12-18 | 2016-03-30 | 长城信息产业股份有限公司 | 一种计算机存储加速系统及其优化方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5860107A (en) * | 1996-10-07 | 1999-01-12 | International Business Machines Corporation | Processor and method for store gathering through merged store operations |
US20090006757A1 (en) * | 2007-06-29 | 2009-01-01 | Abhishek Singhal | Hierarchical cache tag architecture |
US20120054440A1 (en) * | 2010-08-31 | 2012-03-01 | Toby Doig | Systems and methods for providing a hierarchy of cache layers of different types for intext advertising |
US8990502B2 (en) * | 2010-11-23 | 2015-03-24 | International Business Machines Corporation | Write cache structure in a storage system |
US9323463B2 (en) * | 2014-08-05 | 2016-04-26 | Hitachi, Ltd. | Storage system and cache control method |
CN112380148B (zh) * | 2020-11-30 | 2022-10-25 | 海光信息技术股份有限公司 | 数据传输方法和数据传输装置 |
-
2022
- 2022-04-15 CN CN202210400144.0A patent/CN114780031B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0675853A (ja) * | 1992-08-25 | 1994-03-18 | Oki Electric Ind Co Ltd | キャッシュメモリ装置 |
US6154815A (en) * | 1997-06-25 | 2000-11-28 | Sun Microsystems, Inc. | Non-blocking hierarchical cache throttle |
US6542967B1 (en) * | 1999-04-12 | 2003-04-01 | Novell, Inc. | Cache object store |
CN102841854A (zh) * | 2011-05-20 | 2012-12-26 | 国际商业机器公司 | 根据动态分级存储器缓存认知执行数据读取的方法和系统 |
CN104731719A (zh) * | 2013-12-24 | 2015-06-24 | 上海芯豪微电子有限公司 | 一种缓存系统和方法 |
CN105446665A (zh) * | 2015-12-18 | 2016-03-30 | 长城信息产业股份有限公司 | 一种计算机存储加速系统及其优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114780031A (zh) | 2022-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20050251630A1 (en) | Preventing storage of streaming accesses in a cache | |
CN110555001B (zh) | 数据处理方法、装置、终端及介质 | |
WO2015018290A1 (zh) | 内存访问处理方法、装置及系统 | |
CN112328185B (zh) | 一种基于分布式存储的智能预读方法 | |
CN110765076A (zh) | 数据存储方法、装置、电子设备及存储介质 | |
WO2023000536A1 (zh) | 一种数据处理方法、系统、设备以及介质 | |
CN108932150A (zh) | 基于ssd和磁盘混合存储的缓存方法、装置及介质 | |
CN102282545B (zh) | 存储系统 | |
CN114780031B (zh) | 一种基于单机存储引擎的数据处理方法和装置 | |
JP6343722B2 (ja) | マルチコアシステムにおいてデータ訪問者ディレクトリにアクセスするための方法及びデバイス | |
CN114238518A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN107003932B (zh) | 多核处理器系统的缓存目录处理方法和目录控制器 | |
CN115858409A (zh) | 一种数据预取方法、计算节点和存储系统 | |
CN111796772B (zh) | 缓存的管理方法、缓存节点及分布式存储系统 | |
CN110941595B (zh) | 一种文件系统访问方法及装置 | |
CN111158606A (zh) | 存储方法、装置、计算机设备和存储介质 | |
JP2007334752A (ja) | Raid装置、raid制御プログラムおよびキャッシュ管理方法 | |
CN114116538A (zh) | 镜像的缓存管理方法、装置、设备及存储介质 | |
CN112732765B (zh) | 一种实验路径的确定方法及装置、电子设备 | |
CN110716689B (zh) | 数据处理方法、装置及计算设备 | |
CN116303125B (zh) | 请求调度方法、缓存、装置、计算机设备及存储介质 | |
CN107172447B (zh) | 数据加载方法及装置 | |
CN112612726B (zh) | 基于缓存一致性的数据存储方法、装置、处理芯片及服务器 | |
CN116595025B (zh) | 矢量瓦片的动态更新方法、终端和介质 | |
CN116360711B (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 |