CN114115750B - 一种应用于全闪存存储的缓存方法和装置 - Google Patents
一种应用于全闪存存储的缓存方法和装置 Download PDFInfo
- Publication number
- CN114115750B CN114115750B CN202210081049.9A CN202210081049A CN114115750B CN 114115750 B CN114115750 B CN 114115750B CN 202210081049 A CN202210081049 A CN 202210081049A CN 114115750 B CN114115750 B CN 114115750B
- Authority
- CN
- China
- Prior art keywords
- request information
- write request
- node
- storage
- linked list
- 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
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000005055 memory storage Effects 0.000 title claims abstract description 20
- 238000003860 storage Methods 0.000 claims abstract description 152
- 238000012790 confirmation Methods 0.000 claims abstract description 38
- 238000013500 data storage Methods 0.000 claims description 21
- 230000002457 bidirectional effect Effects 0.000 claims description 15
- 238000004891 communication Methods 0.000 claims description 10
- 230000007547 defect Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
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)
- Computer Networks & Wireless Communication (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种应用于全闪存存储的缓存方法和装置,方法包括以下步骤:多路径节点获取及存储写请求信息,并将写请求信息发送至存储节点;存储节点对应写请求信息生成确认信息,并将确认信息返回至多路径节点;判断返回至多路径节点的确认信息的数量,若返回至多路径节点的确认信息数量不小于存储节点数量的二分之一,则删除存储至多路径节点的写请求信息。本申请的应用于全闪存存储的缓存方法和装置,在不降低数据安全性的同时,可以大幅度地降低分布式缓存一致性造成的写请求时延的弊端,可以提升全闪磁盘阵列的写请求信息的写入和读取的能力,可以提升应用于全闪存存储的缓存装置的整体性能。
Description
技术领域
本发明涉及数据缓存技术领域,尤其是指一种应用于全闪存存储的缓存方法和装置。
背景技术
当前的存储系统是基于分布式缓存强一致性实现的,全闪存存储架构及分布式缓存强一致性流程图如图1和图2所示。具体地,分布式缓存一致性缓存步骤为:主机下发写请求至存储集群中的节点1,节点1将写请求发送给节点2,节点2将收到的写请求写入缓存之后,通知节点1写入成功,节点1将写请求写入自身缓存之后,通知主机写入成功,主机收到存储系统写成功的响应之后,判定存储系统此时已经完成了缓存双副本,即已经实现了分布式缓存的强一致性,此时主机才可以继续下发新的写请求。现有的分布式缓存强一致性方法,会造成主机的写请求时间的时延,在数据缓存的过程中对系统的整体性能的要求性严格,且会增大全闪磁盘阵列的读写信息的压力。
因此,急需提出一种在保证数据安全性的同时,降低主机的写请求时延及提升全闪存存储整体性能的应用于全闪存存储的缓存方法和装置。
发明内容
为了解决上述技术问题,本发明提供了一种应用于全闪存存储的缓存方法和装置,可以有效降低分布式缓存强一致性造成的写请求时延的弊端,可以提升全闪存存储的信息写入和信息读取能力,可以提升应用于全闪存存储的缓存装置的数据读写性能。
为实现上述目的,本申请提出第一技术方案:
一种应用于全闪存存储的缓存方法,包括以下步骤:多路径节点获取及存储写请求信息,并将所述写请求信息发送至存储节点,所述存储节点的数量至少为2;所述存储节点对应所述写请求信息生成确认信息,并将所述确认信息返回至所述多路径节点;判断返回至所述多路径节点的所述确认信息的数量,若返回至所述多路径节点的确认信息数量不小于所述存储节点数量的二分之一,则删除存储至所述多路径节点的写请求信息。
在本发明的一个实施例中,所述多路径节点获取及存储写请求信息具体包括:所述多路径节点获取所述写请求信息,并将所述写请求信息存储至预设的链表中;基于所述链表的数据存储容量,判断所述写请求信息的数据量是否超出所述链表的数据存储容量;若所述写请求信息的数据量超出所述链表的数据存储容量,则所述多路径节点停止将所述写请求信息发送至所述存储节点。
在本发明的一个实施例中,所述多路径节点将所述写请求信息发送至存储节点还包括:所述多路径节点逐一发送所述写请求信息至任一所述存储节点,并将所述写请求信息存储至与任一所述存储节点对应设置的双向链表。
在本发明的一个实施例中,所述存储节点将所述写请求信息存储至预设的双向链表具体包括:按照从所述双向链表的头部至所述双向链表的尾部的前后顺序,依次存储所述多路径节点发送至存储节点的写请求信息。
在本发明的一个实施例中,所述存储节点将所述写请求信息存储至与其对应设置的双向链表还包括:刷写存储至所述双向链表的写请求信息;刷写存储至所述双向链表的写请求信息具体包括:获取链表的数据存储容量,定义所述链表的数据存储容量为第一阈值;基于所述第一阈值,按照预设的数据刷写规则,对存储至任一所述双向链表的写请求信息进行刷写。
在本发明的一个实施例中,所述预设的数据刷写规则具体包括:获取存储至任一所述双向链表的写请求信息的数量,基于所述第一阈值,判定存储至任一所述双向链表的写请求信息的数量是否大于所述第一阈值;若存储至任一所述双向链表的写请求信息的数量大于所述第一阈值,则按照从所述双向链表的头部至所述双向链表的尾部的前后顺序,依次刷写存储至所述双向链表的写请求信息,直至存储至所述双向链表的写请求信息的数量不大于所述第一阈值。
在本发明的一个实施例中,所述方法还包括:多路径节点逐一获取、存储读请求信息;所述多路径节点将所述读请求信息发送至任一所述存储节点,直至任一所述存储节点响应所述读请求信息。
为实现上述目的,本申请还提出第二技术方案:
一种应用于全闪存存储的缓存装置,所述装置包括:信息获取单元,所述信息获取单元以用于多路径节点获取及存储写请求信息,并将所述写请求信息发送至存储节点,所述存储节点的数量至少为2;信息回送单元,所述信息回送单元与所述信息获取单元通信连接,所述存储节点对应所述写请求信息生成确认信息,所述信息回送单元以用于将所述确认信息返回至所述多路径节点;信息判别单元,所述信息判别单元与所述信息回送单元通信连接,所述信息判别单元以用于判断返回至所述多路径节点的所述确认信息的数量,若返回至所述多路径节点的确认信息数量不小于所述存储节点数量的二分之一,则删除存储至所述多路径节点的写请求信息。
在本发明的一个实施例中,所述信息获取单元包括:信息存储模块,所述信息存储模块以用于将所述多路径节点获取得到的所述写请求信息存储至预设的链表中,将任一所述存储节点获取的写请求信息,存储至与任一所述存储节点对应设置的双向链表。
在本发明的一个实施例中,所述装置还包括:信息刷写单元,所述信息刷写单元与所述信息获取单元通信连接,所述信息书写单元基于所述链表的数量存储容量,按照预设的数据刷写规则,对存储至任一所述双向链表的写请求信息进行刷写。
本发明的上述技术方案相比现有技术具有以下优点:
本发明所述的一种应用于全闪存存储的缓存方法和装置,所述方法包括:多路径节点获取及存储写请求信息,并将所述写请求信息发送至存储节点,所述存储节点的数量至少为2;所述存储节点对应所述写请求信息生成确认信息,并将所述确认信息返回至所述多路径节点;判断返回至所述多路径节点的所述确认信息的数量,若返回至所述多路径节点的确认信息数量不小于所述存储节点数量的二分之一,则删除存储至所述多路径节点的写请求信息。本申请所述的应用于全闪存存储的缓存方法和装置,在不降低数据安全性的同时,可以大幅度地降低分布式缓存强一致性造成的写请求时延的弊端,可以有效地提升全闪磁盘阵列的请求信息的写入和读取的能力,可以提升应用于全闪存存储的缓存装置的数据信息的读取和写入的性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是现有技术中全闪存存储架构的结构示意图;
图2是现有技术中分布式缓存强一致性流程图;
图3是本发明的方法流程图;
图4是本发明的写请求信息获取、下发的流程图;
图5是本发明的数据刷写示意图;
图6是本发明的装置结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一:
参照图3所示,图3为实施例一的方法流程图。
本实施例的方法,包括以下步骤:
步骤S1、多路径节点获取及存储写请求信息,并将所述写请求信息发送至存储节点,所述存储节点的数量至少为2。
步骤S2、所述存储节点对应所述写请求信息生成确认信息,并将所述确认信息返回至所述多路径节点;
步骤S3、判断返回至所述多路径节点的所述确认信息的数量,若返回至所述多路径节点的确认信息数量不小于所述存储节点数量的二分之一,则删除存储至所述多路径节点的写请求信息。需要理解是,本申请所述的返回至所述多路径节点的确认信息数量不小于所述存储节点数量的二分之一中的确认信息数量为整数。例如:当存储节点的数量为5时,只有当返回多路径存储节点的确认信息数量大于3时,存储至多路径节点的写请求信息才会被删除。
在其中一个实施方式中,所述多路径节点获取及存储写请求信息具体包括:所述多路径节点获取所述写请求信息,并将所述写请求信息存储至预设的链表中;基于所述链表的数据存储容量,判断所述写请求信息的数据量是否超出所述链表的数据存储容量;若所述写请求信息的数据量超出所述链表的数据存储容量,则所述多路径节点停止将所述写请求信息发送至所述存储节点。需要理解的是,当所述写请求信息的数据量超出链表的数据存储容量时,所述多路径节点可以在停止将所述写请求信息发送至存储节点的同时,不停止接受所述多路径节点获取写请求信息。即如图4所示的写请求信息获取、下发的流程图,业务应用将写请求信息发送至多路径节点,即多路径节点获取写请求信息,当所述写请求信息的数据量超出链表的数据存储容量时,多路径节点将停止下发写请求信息至存储节点,而可以不停止获取业务应用发送的写请求信息。本领域的技术人员可以根据实际情况,对多路径节点的具体工作状态进行设定。
在其中一个实施方式中,所述多路径节点将所述写请求信息发送至存储节点还包括:所述多路径节点逐一发送所述写请求信息至任一所述存储节点,并将所述写请求信息存储至与任一所述存储节点对应设置的双向链表。也就是说,有多个存储节点组成了用于存储写请求信息的存储单元。还设置有多个与任一存储节点一一对应的双向链表。需要理解是,存入任一双向链表的数据可以包括但是不限于写请求信息,本领域的技术人员可以根据实际情况,合理选择存入双向链表的数据类型。
在其中一个实施方式中,存储节点将所述写请求信息存储至预设的双向链表具体包括:按照从所述双向链表的头部至所述双向链表的尾部的前后顺序,依次存储所述多路径节点发送至存储节点的写请求信息。即,将多路径节点发送至任一存储节点的写请求信息的先后顺序进行判定,将多路径节点先发送至任一存储节点的写请求信息作为老数据存储至双向链表的头部,将多路径节点后发送至任一存储节点的写请求信息作为新数据存储至双向链表的尾部。对应任一存储节点设置与其对应的双向链表,以实现最近最久未使用算法(简称:LRU算法)。
在其中一个实施方式中,所述存储节点将所述写请求信息存储至与其对应设置的双向链表还包括:刷写存储至所述双向链表的写请求信息;刷写存储至所述双向链表的写请求信息具体包括:获取链表的数据存储容量,定义所述链表的数据存储容量为第一阈值;基于所述第一阈值,按照预设的数据刷写规则,对存储至任一所述双向链表的写请求信息进行刷写。如图5所示即为写请求信息的数据刷写示意图。
在其中一个实施方式中,所述预设的数据刷写规则具体包括:获取存储至任一所述双向链表的写请求信息的数量,基于所述第一阈值,判定存储至任一所述双向链表的写请求信息的数量是否大于所述第一阈值;若存储至任一所述双向链表的写请求信息的数量大于所述第一阈值,则按照从所述双向链表的头部至所述双向链表的尾部的前后顺序,依次刷写存储至所述双向链表的写请求信息,直至存储至所述双向链表的写请求信息的数量不大于所述第一阈值。以确保刷写的写请求信息不是存储于链表中的写请求信息;也就是说,刷写的写请求信息是已经存储于任一存储节点的写请求信息,即刷写的写请求信息是已经在任一存储节点中实现了缓存一致的写请求信息。
在其中一个实施方式中,当所述存储节点的数量为2时,设定2个存储节点分别为存储节点1和存储节点2,多路径节点将从主机中获取得到的写请求信息分别发送至存储节点1和存储节点2,当存储节点1和存储节点2接收到多路径节点发送的写请求信息之后会将收到的写请求信息存储至与其对应设置的双向链表中,存储节点1和存储节点2返回确认信息至多路径节点。需要理解的是,加入存储节点1返回确认信息至多路径节点,即表示多路径节点下发的写请求信息已被存储节点1写入成功。返回至多路径节点的确认信息的数量不受存储节点的数量的影响,即虽然多路径节点已将写请求信息发送给了存储节点1和存储节点2,但是可以是存储节点1或存储节点2返回确认信息至多路径存储节点,也可以是存储节点1和存储节点2均未返回确认信息至多路径存储节点。在存储节点的数量为2时,只要返回至多路径节点的确认信息的数量超过存储节点的数量的二分之一,即返回至多路径节点的确认信息的数量不小于1,则将存储至多路径节点中的对应的写请求信息删除。
在其中一个实施方式中,当所述存储节点的数量为5时,设定6个存储节点分别为存储节点1、存储节点2、存储节点3、存储节点4和存储节点5。多路径节点将获取得到的写请求信息下发给上述5个存储节点的同时将所述写请求信息存储至与其对应设置的链表,当所述存储节点收到多路径节点发送的写请求信息,并将多路径节点发送的写请求信息成功写入与其对应设置的双向链表之后,则会发送确认信息至多路径节点。需要理解的是,每一个存储节点将多路径节点发送的写请求信息成功写入与其对应设置的双向链表之后,每一个存储节点只会发送一个确认信息至多路径节点,当多路径节点收到的确认信息的数量超出3个时,即将存储至与多路径节点对应设置的链表中的写请求信息删除。
在其中一个实施方式中,所述确认信息包括存储节点的节点标识。具体地多路径节点基于任一存储节点返回的确认信息,对所述确认信息中的节点标识进行确认,以确保所述任一存储节点发送至多路径节点的确认信息的数量为一,以防止同一存储节点发送多个确认信息至多路径节点。例如:当存储节点的数量为2时,为了便于区分本领域的技术人员可以将上述两个存储节点设定为存储节点1和存储节点2,相应地,存储节点1的节点标识可以为节点标识1,存储节点2的节点标识可以为节点标识2。需要理解的是,对于存储节点的节点标识的具体形式及具体名称不作限定,本领域的技术人员可以根据实际情况进行确定,只需确保可以基于节点标识实现对存储节点的确定即可。
在其中一个实施方式中,所述方法还包括:多路径节点逐一获取、存储读请求信息;所述多路径节点将所述读请求信息发送至任一所述存储节点,直至任一所述存储节点响应所述读请求信息。
应该理解的是,虽然图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
实施例二:
参照图6所示,图6为实施例二的应用于全闪存存储的缓存装置结构图。
本实施例的应用于全闪存存储的缓存装置,包括:信息获取单元,所述信息获取单元以用于多路径节点获取及存储写请求信息,并将所述写请求信息发送至存储节点,所述存储节点的数量至少为2;信息回送单元,所述信息回送单元与所述信息获取单元通信连接,所述存储节点对应所述写请求信息生成确认信息,所述信息回送单元以用于将所述确认信息返回至所述多路径节点;信息判别单元,所述信息判别单元与所述信息回送单元通信连接,所述信息判别单元以用于判断返回至所述多路径节点的所述确认信息的数量,若返回至所述多路径节点的确认信息数量不小于所述存储节点数量的二分之一,则删除存储至所述多路径节点的写请求信息。
在其中一个实施方式中,所述信息获取单元包括:信息存储模块,所述信息存储模块以用于将所述多路径节点获取得到的所述写请求信息存储至预设的链表中,将任一所述存储节点获取的写请求信息,存储至与任一所述存储节点对应设置的双向链表。
在其中一个实施方式中,所述装置还包括:信息刷写单元,所述信息刷写单元与所述信息获取单元通信连接,所述信息书写单元基于所述链表的数量存储容量,按照预设的数据刷写规则,对存储至任一所述双向链表的写请求信息进行刷写。
在其中一个实施方式中,所述装置还包括:信息警示单元,所述信息警示单元与所述信息获取单元通信连接,所述信息警示单元以用于显示通知所述写请求信息的数据量已超出所述链表的数据存储容量的状态;即若所述写请求信息的数据量超出所述链表的数据存储容量,则所述信息警示单元发出告警以用于通知多路径节点将停止发送所述写请求信息至存储节点。
关于应用于全闪存存储的缓存装置的具体限定可以参见上文中对于应用于全闪存存储的缓存方法的限定,在此不再赘述。上述应用于全闪存存储的缓存装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
实施例三:
本实施例提供一种计算机可读存储介质,计算机可读存储介质存储有程序,当程序被处理器执行时,使得处理器执行上述实施例一中的应用于全闪存存储的缓存方法的步骤。
本领域内的技术人员应明白,本发明实施例中的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例中是参照根据本发明实施例中实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其它等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (8)
1.一种应用于全闪存存储的缓存方法,其特征在于,所述方法包括以下步骤:
多路径节点获取及存储写请求信息,并将所述写请求信息发送至存储节点,所述存储节点的数量至少为2;
所述存储节点对应所述写请求信息生成确认信息,并将所述确认信息返回至所述多路径节点;
判断返回至所述多路径节点的所述确认信息的数量,若返回至所述多路径节点的确认信息数量不小于所述存储节点数量的二分之一,则删除存储至所述多路径节点的写请求信息;
所述多路径节点获取及存储写请求信息包括:所述多路径节点获取所述写请求信息,并将所述写请求信息存储至预设的链表中;
所述多路径节点将所述写请求信息发送至存储节点包括:所述多路径节点逐一发送所述写请求信息至任一所述存储节点,并将所述写请求信息存储至与任一所述存储节点对应设置的双向链表;
将所述写请求信息存储至与任一所述存储节点对应设置的双向链表包括:获取链表的数据存储容量,定义所述链表的数据存储容量为第一阈值;基于所述第一阈值,按照预设的数据刷写规则,对存储至任一所述双向链表的写请求信息进行刷写。
2.根据权利要求1所述的应用于全闪存存储的缓存方法,其特征在于,所述多路径节点获取及存储写请求信息具体包括:
基于所述链表的数据存储容量,判断所述写请求信息的数据量是否超出所述链表的数据存储容量;
若所述写请求信息的数据量超出所述链表的数据存储容量,则所述多路径节点停止将所述写请求信息发送至所述存储节点。
3.根据权利要求1所述的应用于全闪存存储的缓存方法,其特征在于,将所述写请求信息存储至与任一所述存储节点对应设置的双向链表具体包括:
按照从所述双向链表的头部至所述双向链表的尾部的前后顺序,依次存储所述多路径节点发送至存储节点的写请求信息。
4.根据权利要求1所述的应用于全闪存存储的缓存方法,其特征在于,所述预设的数据刷写规则具体包括:
获取存储至任一所述双向链表的写请求信息的数量,基于所述第一阈值,判定存储至任一所述双向链表的写请求信息的数量是否大于所述第一阈值;
若存储至任一所述双向链表的写请求信息的数量大于所述第一阈值,则按照从所述双向链表的头部至所述双向链表的尾部的前后顺序,依次刷写存储至所述双向链表的写请求信息,直至存储至所述双向链表的写请求信息的数量不大于所述第一阈值。
5.根据权利要求1所述的应用于全闪存存储的缓存方法,其特征在于,所述方法还包括:多路径节点逐一获取、存储读请求信息;
所述多路径节点将所述读请求信息发送至任一所述存储节点,直至任一所述存储节点响应所述读请求信息。
6.一种应用于全闪存存储的缓存装置,其特征在于,所述装置包括:
信息获取单元,所述信息获取单元以用于多路径节点获取及存储写请求信息,并将所述写请求信息发送至存储节点,所述存储节点的数量至少为2;所述信息获取单元还用于所述多路径节点获取所述写请求信息,并将所述写请求信息存储至预设的链表中;所述信息获取单元还用于所述多路径节点逐一发送所述写请求信息至任一所述存储节点,并将所述写请求信息存储至与任一所述存储节点对应设置的双向链表;所述信息获取单元还用于获取链表的数据存储容量,定义所述链表的数据存储容量为第一阈值;基于所述第一阈值,按照预设的数据刷写规则,对存储至任一所述双向链表的写请求信息进行刷写;
信息回送单元,所述信息回送单元与所述信息获取单元通信连接,所述存储节点对应所述写请求信息生成确认信息,所述信息回送单元以用于将所述确认信息返回至所述多路径节点;
信息判别单元,所述信息判别单元与所述信息回送单元通信连接,所述信息判别单元以用于判断返回至所述多路径节点的所述确认信息的数量,若返回至所述多路径节点的确认信息数量不小于所述存储节点数量的二分之一,则删除存储至所述多路径节点的写请求信息。
7.根据权利要求6所述的应用于全闪存存储的缓存装置,其特征在于,所述信息获取单元包括:
信息存储模块,所述信息存储模块以用于将所述多路径节点获取得到的所述写请求信息存储至预设的链表中,将任一所述存储节点获取的写请求信息,存储至与任一所述存储节点对应设置的双向链表。
8.根据权利要求7所述的应用于全闪存存储的缓存装置,其特征在于,所述装置还包括:
信息刷写单元,所述信息刷写单元与所述信息获取单元通信连接,所述信息书写单元基于所述链表的数量存储容量,按照预设的数据刷写规则,对存储至任一所述双向链表的写请求信息进行刷写。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210081049.9A CN114115750B (zh) | 2022-01-24 | 2022-01-24 | 一种应用于全闪存存储的缓存方法和装置 |
PCT/CN2022/141692 WO2023138306A1 (zh) | 2022-01-24 | 2022-12-23 | 应用于全闪存存储的缓存方法和装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210081049.9A CN114115750B (zh) | 2022-01-24 | 2022-01-24 | 一种应用于全闪存存储的缓存方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114115750A CN114115750A (zh) | 2022-03-01 |
CN114115750B true CN114115750B (zh) | 2022-05-13 |
Family
ID=80361247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210081049.9A Active CN114115750B (zh) | 2022-01-24 | 2022-01-24 | 一种应用于全闪存存储的缓存方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114115750B (zh) |
WO (1) | WO2023138306A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114115750B (zh) * | 2022-01-24 | 2022-05-13 | 苏州浪潮智能科技有限公司 | 一种应用于全闪存存储的缓存方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753478A (zh) * | 2008-12-05 | 2010-06-23 | 中国移动通信集团公司 | 一种分布式电子邮件系统及其服务方法 |
CN105162824A (zh) * | 2015-07-07 | 2015-12-16 | 浪潮(北京)电子信息产业有限公司 | 一种云存储系统中主机多路径部署方法和系统 |
CN105426439A (zh) * | 2015-11-05 | 2016-03-23 | 腾讯科技(深圳)有限公司 | 一种元数据的处理方法和装置 |
CN107797771A (zh) * | 2017-11-16 | 2018-03-13 | 郑州云海信息技术有限公司 | 一种多路径存储优化方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064635B (zh) * | 2012-12-19 | 2016-08-24 | 华为技术有限公司 | 分布式存储方法和分布式存储装置 |
CN107295080B (zh) * | 2017-06-19 | 2020-12-18 | 北京百度网讯科技有限公司 | 应用于分布式服务器集群的数据存储方法和服务器 |
CN110795042A (zh) * | 2019-10-29 | 2020-02-14 | 北京浪潮数据技术有限公司 | 一种全闪存储系统元数据写缓存刷盘方法及相关组件 |
CN110908613B (zh) * | 2019-11-28 | 2024-02-23 | 深信服科技股份有限公司 | 一种数据写命令处理方法、装置、电子设备及存储介质 |
CN114115750B (zh) * | 2022-01-24 | 2022-05-13 | 苏州浪潮智能科技有限公司 | 一种应用于全闪存存储的缓存方法和装置 |
-
2022
- 2022-01-24 CN CN202210081049.9A patent/CN114115750B/zh active Active
- 2022-12-23 WO PCT/CN2022/141692 patent/WO2023138306A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753478A (zh) * | 2008-12-05 | 2010-06-23 | 中国移动通信集团公司 | 一种分布式电子邮件系统及其服务方法 |
CN105162824A (zh) * | 2015-07-07 | 2015-12-16 | 浪潮(北京)电子信息产业有限公司 | 一种云存储系统中主机多路径部署方法和系统 |
CN105426439A (zh) * | 2015-11-05 | 2016-03-23 | 腾讯科技(深圳)有限公司 | 一种元数据的处理方法和装置 |
CN107797771A (zh) * | 2017-11-16 | 2018-03-13 | 郑州云海信息技术有限公司 | 一种多路径存储优化方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2023138306A1 (zh) | 2023-07-27 |
CN114115750A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10469577B2 (en) | Caching method and system based on cache cluster | |
US11307776B2 (en) | Method for accessing distributed storage system, related apparatus, and related system | |
CN102945278B (zh) | 一种数据库记录重做日志的方法和装置 | |
US20070192544A1 (en) | Method of operating replicated cache | |
US11907561B2 (en) | Data backup method and apparatus | |
CN104935654A (zh) | 一种服务器集群系统中的缓存方法、写入点客户端和读客户端 | |
CN107329704B (zh) | 一种缓存镜像方法及控制器 | |
CN107817950B (zh) | 一种数据处理方法及装置 | |
CN105824846B (zh) | 数据迁移方法及装置 | |
CN103092778B (zh) | 一种存储系统的缓存镜像方法 | |
CN111309245B (zh) | 一种分层存储写入方法和装置、读取方法和装置及系统 | |
US8275951B2 (en) | Local bitmaps for an array of redundant storage devices | |
CN114115750B (zh) | 一种应用于全闪存存储的缓存方法和装置 | |
CN109491609A (zh) | 一种缓存数据处理方法、装置、设备及可读存储介质 | |
CN116009788A (zh) | 计算集群的性能优化方法、系统、设备及存储介质 | |
CN104917788A (zh) | 一种数据存储方法及装置 | |
CN105915595B (zh) | 一种集群存储系统存取数据的方法以及集群存储系统 | |
CN108616598B (zh) | 数据同步方法、装置和分布式存储系统 | |
WO2019000423A1 (zh) | 一种数据存储方法及设备 | |
CN113467719A (zh) | 数据写入方法及装置 | |
CN110888769A (zh) | 数据处理方法及计算机设备 | |
CN112084264A (zh) | 一种日志数据同步方法、装置及服务器 | |
CN112783688B (zh) | 一种基于可用分区级的纠删码数据恢复方法及装置 | |
CN114780489A (zh) | 一种实现分布式块存储底层gc的方法及装置 | |
CN114785662A (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 |