CN115576868B - 一种多级映射框架、数据操作请求处理方法及系统 - Google Patents
一种多级映射框架、数据操作请求处理方法及系统 Download PDFInfo
- Publication number
- CN115576868B CN115576868B CN202211479284.8A CN202211479284A CN115576868B CN 115576868 B CN115576868 B CN 115576868B CN 202211479284 A CN202211479284 A CN 202211479284A CN 115576868 B CN115576868 B CN 115576868B
- Authority
- CN
- China
- Prior art keywords
- data
- layer
- writing
- page layer
- write
- 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
- 238000013507 mapping Methods 0.000 title claims abstract description 176
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 238000013500 data storage Methods 0.000 claims abstract description 64
- 238000000034 method Methods 0.000 claims abstract description 55
- 238000012217 deletion Methods 0.000 claims description 69
- 230000037430 deletion Effects 0.000 claims description 69
- 230000008569 process Effects 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 21
- 238000012005 ligant binding assay Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 10
- 230000001172 regenerating effect Effects 0.000 claims description 2
- 239000002699 waste material Substances 0.000 abstract description 18
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- 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/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种多级映射框架、数据操作请求处理方法及系统,所属的技术领域为数据存储技术。所述多级映射框架根据数据存储集群内的inode索引和B树构建得到,多级映射框架自上至下包括根页层、顶页层、中间页层、叶页层、虚拟块层和物理块层;其中,根页层用于实现对顶页层的映射,顶页层用于分配volume标识符并实现对中间页层的映射,中间页层用于缓存数据并实现对叶页层的映射,叶页层用于设置数据写入计数字段,虚拟块层用于更新数据写入计数字段的值,物理块层用于存储数据,数据写入计数字段用于控制是否对物理块层执行操作。本申请能够避免数据复写和删除引起的存储资源浪费。
Description
技术领域
本申请涉及数据存储技术领域,特别涉及一种多级映射框架、数据操作请求处理方法及系统。
背景技术
在大数据时代下,无时无刻不产生大量数据,这些数据不仅需要安全可靠的存储下来同时还需将它们以极高的I/O速率存储在后台存储环境中,这样每个互联网用户才能快速访问这些数据。
在提高I/O性能方面,业界已使用多级缓存cache方式,通过多级哈希映射方式加速存取I/O数据的速度,并且使用多控节点组成的集群技术,主节点负责处理主机的I/O请求,辅助节点负责存储系统的后台任务(例如,RAID阵列初始化、巡检和重构任务等等),以此来提高存储系统的I/O性能。但是这两种方法仍不能显著提高I/O性能,例如多个银行分行的多存储系统通常由多个主机设备通过一个网络进行共享,在多个主机设备上运行的应用程序都包含多个功能多样的应用程序进程。这些进程通过主机发出I/O请求,以使数据安全可靠的存储于各分行的存储系统上,在这种情况下势必会有数据的复写和删除,导致存储资源浪费。
因此,如何避免数据复写和删除引起的存储资源浪费是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种多级映射框架、一种数据操作请求处理方法、一种数据操作请求处理系统、一种电子设备及一种存储介质,能够避免数据复写和删除引起的存储资源浪费。
本申请所解决的技术问题为如何避免数据复写和删除引起的存储资源浪费。为解决上述技术问题,本申请提供一种多级映射框架,所述多级映射框架根据数据存储集群内的inode索引和B树构建得到,所述多级映射框架自上至下包括根页层、顶页层、中间页层、叶页层、虚拟块层和物理块层;所述数据存储集群用于根据所述多级映射框架执行数据操作请求对应的操作;
其中,所述根页层用于实现对所述顶页层的映射,所述顶页层用于分配volume标识符并实现对所述中间页层的映射,所述中间页层用于缓存数据并实现对所述叶页层的映射,所述叶页层用于设置数据写入计数字段,所述虚拟块层用于更新所述数据写入计数字段的值,所述物理块层用于存储数据,所述数据写入计数字段用于控制是否对所述物理块层执行操作。
本申请还提供一种数据操作请求处理方法,应用于数据存储集群,所述数据存储集群运行有上述的多级映射框架,所述数据操作请求处理方法,包括:
若接收到数据写入请求,则确定发送所述数据写入请求的主机设备的第一主机LBA,利用inode表查询所述第一主机LBA对应的inode索引;
利用所述第一主机LBA和所述inode索引映射到对应的顶页层,并在所述顶页层内为待写入数据分配volume标识符;
利用所述中间页层缓存所述数据写入请求对应的所述待写入数据;
将所述待写入数据写入所述volume标识符对应的叶页层;
利用所述volume标识符对应的叶页层将所述待写入数据压缩为映射表并添加数据写入计数字段,将所述映射表和对应的数据写入计数字段写入所述虚拟块层;
利用所述虚拟块层根据所述映射表的数据写入计数字段确定写入方式;其中,所述写入方式包括物理写入和逻辑写入;
若所述写入方式为物理写入,则将所述映射表写入至对应的物理块层,并将所述映射表的数据写入计数字段的值设置为1;
若所述写入方式为逻辑写入,则将所述映射表的数据写入计数字段的值加1。
可选的,在利用inode表查询所述第一主机LBA对应的inode索引之前,还包括:
从Linux内核的超级块super block数据结构中读取所述inode表;
其中,所述inode表中存储有inode索引与存储系统的对应关系。
可选的,利用所述虚拟块层根据所述映射表的数据写入计数字段确定写入方式,包括:
若所述映射表的数据写入计数字段大于或等于1,则利用所述虚拟块层判定所述待写入数据的写入方式为逻辑写入;
若所述映射表的数据写入计数字段为0,则利用所述虚拟块层判定所述待写入数据的写入方式为物理写入。
可选的,利用所述中间页层缓存所述数据写入请求对应的所述待写入数据,包括:
利用所述顶页层查询发送所述数据写入请求的主机设备的数据读写频率;
根据所述数据读写频率将所述待写入数据缓存至所述中间页层的热数据区域或冷数据区域;
其中,所述热数据区域用于存储读写频率大于预设值的数据,所述冷数据区域用于存储读写频率小于或等于所述预设值的数据。
可选的,利用所述顶页层查询发送所述数据写入请求的主机设备的数据读写频率,包括:
根据所述第一主机LBA计算发送所述数据写入请求的主机设备在所述顶页层中对应的页结构,在所述页结构中查询发送所述数据写入请求的主机设备的数据读写频率。
可选的,将所述待写入数据写入所述volume标识符对应的叶页层,包括:
将所述中间页层的热数据区域或冷数据区域中缓存的待写入数据写入所述volume标识符对应的叶页层。
可选的,在将所述映射表写入至所述物理块层之后,还包括:
将所述物理块层中的数据落盘至RAID阵列。
可选的,还包括:
若接收到数据读取请求,则确定发送所述数据读取请求的主机设备的第二主机LBA,根据所述第二主机LBA在所述多级映射框架中查询所述数据读取请求对应的待读取数据的数据存储位置;
根据所述数据存储位置从缓存或内存中读取并返回所述待读取数据。
可选的,在根据所述第二主机LBA在所述多级映射框架中查询所述数据读取请求对应的待读取数据的数据存储位置之后,还包括:
在所述顶页层中更新发送所述数据读取请求的主机设备的数据读写频率。
本申请还提供一种数据操作请求处理方法,应用于数据存储集群,所述数据存储集群运行有上述的多级映射框架,所述数据操作请求处理方法,包括:
若接收到数据删除请求,则确定发送所述数据删除请求的主机设备的第三主机LBA,根据所述第三主机LBA在所述多级映射框架中查询所述数据删除请求对应的待删除数据的数据写入计算字段;
根据所述待删除数据的数据写入计算字段确定删除方式;其中,所述删除方式包括物理删除和逻辑删除;
若所述删除方式为物理删除,则在所述物理块层中删除所述待删除数据,并将所述待删除数据的数据写入计数字段的值设置为0;
若所述删除方式为逻辑删除,则将所述待删除数据的数据写入计数字段的值减1。
可选的,根据所述待删除数据的数据写入计算字段确定删除方式,包括:
若所述待删除数据的数据写入计数字段大于或等于2,则所述虚拟块层判定所述待删除数据的删除方式为逻辑删除;
若所述待删除数据的数据写入计数字段为1,则所述虚拟块层判定所述待删除数据的删除方式为物理删除。
本申请还提供了一种数据操作请求处理系统,应用于数据存储集群,所述数据存储集群运行有如上述的多级映射框架,所述数据操作请求处理系统,包括:
写入请求接收模块,用于若接收到数据写入请求,则确定发送所述数据写入请求的主机设备的第一主机LBA,利用inode表查询所述第一主机LBA对应的inode索引;
标识符确定模块,用于利用所述第一主机LBA和所述inode索引映射到对应的顶页层,并在所述顶页层内为待写入数据分配volume标识符;
缓存模块,用于利用所述中间页层缓存所述数据写入请求对应的所述待写入数据;
叶页层写模块,用于将所述待写入数据写入所述volume标识符对应的叶页层;
虚拟块层写入模块,用于利用所述volume标识符对应的叶页层将所述待写入数据压缩为映射表并添加数据写入计数字段,将所述映射表和对应的数据写入计数字段写入所述虚拟块层;
物理块层写入模块,用于利用所述虚拟块层根据所述映射表的数据写入计数字段确定写入方式;其中,所述写入方式包括物理写入和逻辑写入;还用于若所述写入方式为物理写入,则将所述映射表写入至对应的物理块层,并将所述映射表的数据写入计数字段的值设置为1;还用于若所述写入方式为逻辑写入,则将所述映射表的数据写入计数字段的值加1。
本申请还提供了一种数据操作请求处理系统,应用于数据存储集群,所述数据存储集群运行有上述的多级映射框架,所述数据操作请求处理系统,包括:
查询模块,用于若接收到数据删除请求,则确定发送所述数据删除请求的主机设备的第三主机LBA,根据所述第三主机LBA在所述多级映射框架中查询所述数据删除请求对应的待删除数据的数据写入计算字段;
删除方式确定模块,用于根据所述待删除数据的数据写入计算字段确定删除方式;其中,所述删除方式包括物理删除和逻辑删除;
删除执行模块,用于若所述删除方式为物理删除,则在所述物理块层中删除所述待删除数据,并将所述待删除数据的数据写入计数字段的值设置为0;还用于若所述删除方式为逻辑删除,则将所述待删除数据的数据写入计数字段的值减1。
本申请还提供了一种存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述数据操作请求处理方法执行的步骤。
本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述数据操作请求处理方法执行的步骤。
本申请提供了一种多级映射框架,所述多级映射框架根据数据存储集群内的inode索引和B树构建得到,所述多级映射框架自上至下包括根页层、顶页层、中间页层、叶页层、虚拟块层和物理块层;所述数据存储集群用于根据所述多级映射框架执行数据操作请求对应的操作;其中,所述根页层用于实现对所述顶页层的映射,所述顶页层用于分配volume标识符并实现对所述中间页层的映射,所述中间页层用于缓存数据并实现对所述叶页层的映射,所述叶页层用于设置数据写入计数字段,所述虚拟块层用于更新所述数据写入计数字段的值,所述物理块层用于存储数据,所述数据写入计数字段用于控制是否对所述物理块层执行操作。
本申请根据数据存储集群内的inode索引和B树构建多级映射框架,多级映射框架自上至下依次包括根页层、顶页层、中间页层、叶页层、虚拟块层和物理块层,若数据存储集群接收到数据操作请求,则根据多级映射框架执行相应的操作。在上述多级映射框架中使用数据写入计数字段统计同一数据在数据存储集群中的存储次数,进而根据数据写入计数字段控制是否对所述物理块层执行操作,以控制数据重写和删除,因此本申请能够避免数据复写和删除引起的存储资源浪费。本申请同时还提供了一种数据操作请求处理方法、一种数据操作请求处理系统、一种存储介质和一种电子设备,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种数据操作请求处理方法的流程图;
图2为本申请实施例所提供的一种多级映射框架的结构示意图;
图3为本申请实施例所提供的一种数据写入计数为1的虚拟块层的示意图;
图4为本申请实施例所提供的一种数据写入计数为2的虚拟块层的示意图;
图5为本申请实施例所提供的一种数据操作请求处理系统的结构示意图;
图6为本申请实施例所提供的一种电子设备的结构示意图;
图7为本申请实施例所提供的一种存储介质的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种多级映射框架,所述多级映射框架根据数据存储集群内的inode索引和B树构建得到,所述多级映射框架自上至下包括根页层、顶页层、中间页层、叶页层、虚拟块层和物理块层;所述数据存储集群用于根据所述多级映射框架执行数据操作请求对应的操作。
其中,所述根页层用于实现对所述顶页层的映射,所述顶页层用于分配volume标识符并实现对所述中间页层的映射,所述中间页层用于缓存数据并实现对所述叶页层的映射,所述叶页层用于设置数据写入计数字段,所述虚拟块层用于更新所述数据写入计数字段的值,所述物理块层用于存储数据,所述数据写入计数字段用于控制是否对所述物理块层执行操作。
上述实施例根据数据存储集群内的inode索引和B树构建多级映射框架,多级映射框架自上至下依次包括根页层、顶页层、中间页层、叶页层、虚拟块层和物理块层,若数据存储集群接收到数据操作请求,则根据多级映射框架执行相应的操作。在上述多级映射框架中使用数据写入计数字段统计同一数据在数据存储集群中的存储次数,进而根据数据写入计数字段控制是否对所述物理块层执行操作,以控制数据重写和删除,因此本实施例能够避免数据复写和删除引起的存储资源浪费。
下面请参见图1,图1为本申请实施例所提供的一种数据操作请求处理方法的流程图。
具体步骤可以包括:
S101:根据所述数据存储集群内的inode索引和B树构建多级映射框架;
其中,本实施例可以应用于数据存储集群,该数据存储集群可以包括多个主机设备。在本步骤之前可以存在获取数据存储集群的inode索引和B树,进而基于上述inode索引和B树(又称B-tree,是一种自平衡的树,能够保持数据有序。这种数据结构能够让查找数据、顺序访问、插入数据及删除的动作,都在对数时间内完成)可以构建多级映射框架。
上述多级映射框架自上至下可以包括根页层、顶页层、中间页层、叶页层、虚拟块层和物理块层,所述根页层用于实现对所述顶页层的映射,所述顶页层用于分配volume(逻辑卷,主机I/O访问数据的逻辑单元,由逻辑单元block块组成)标识符并实现对所述中间页层的映射,所述中间页层用于缓存数据并实现对所述叶页层的映射,所述叶页层用于设置数据写入计数字段,所述虚拟块层用于更新所述数据写入计数字段的值,所述数据写入计数字段用于控制是否对所述物理块层执行操作。
S102:接收数据操作请求;
其中,上述数据操作请求可以为数据写入请求、数据删除请求或数据读取请求,数据操作请求可以为客户端向数据存储集群发送的请求。
S103:根据所述多级映射框架执行所述数据操作请求对应的操作。
其中,在接收到数据操作请求之后,本申请可以通过多级映射框架确定待写入数据、待删除数据或待读取数据所在的叶页层,进而执行相应的数据写入操作、数据删除操作或数据读取操作。
本实施例根据数据存储集群内的inode索引和B树构建多级映射框架,多级映射框架自上至下依次包括根页层、顶页层、中间页层、叶页层、虚拟块层和物理块层,若数据存储集群接收到数据操作请求,则根据多级映射框架执行相应的操作。在上述多级映射框架中使用数据写入计数字段统计同一数据在数据存储集群中的存储次数,进而根据数据写入计数字段控制是否对所述物理块层执行操作,以控制数据重写和删除,因此本实施例能够避免数据复写和删除引起的存储资源浪费。
作为一种可行的实施方式,若所述数据操作请求为数据写入请求,则根据所述多级映射框架执行所述数据操作请求对应的操作,包括以下步骤:
步骤A1:确定发送所述数据写入请求的主机设备的第一主机LBA(logic blockaddress,逻辑区块地址),利用inode表查询所述第一主机LBA对应的inode索引;
其中,在利用inode表查询所述第一主机LBA对应的inode索引之前,还可以从Linux内核的超级块super block数据结构中读取所述inode表;其中,所述inode表中存储有inode索引与存储系统的对应关系。
步骤A2:利用所述第一主机LBA和所述inode索引映射到对应的顶页层,并在所述顶页层内为待写入数据分配volume标识符;
步骤A3:利用所述中间页层缓存所述数据写入请求对应的所述待写入数据;
作为一种可行的实施方式,利用所述中间页层缓存待写入数据的过程包括:利用所述顶页层查询发送所述数据写入请求的主机设备的数据读写频率;根据所述数据读写频率将所述待写入数据缓存至所述中间页层的热数据区域或冷数据区域;其中,所述热数据区域用于存储读写频率大于预设值的数据,所述冷数据区域用于存储读写频率小于或等于所述预设值的数据。
进一步的,上述过程中利用所述顶页层查询发送所述数据写入请求的主机设备的数据读写频率的过程包括:根据所述第一主机LBA计算发送所述数据写入请求的主机设备在所述顶页层中对应的页结构,在所述页结构中查询发送所述数据写入请求的主机设备的数据读写频率。
步骤A4:将所述待写入数据写入所述volume标识符对应的叶页层;
具体的,本实施例可以将所述中间页层的热数据区域或冷数据区域中缓存的待写入数据写入所述volume标识符对应的叶页层。
步骤A5:利用所述volume标识符对应的叶页层将所述待写入数据压缩为映射表并添加数据写入计数字段,将所述映射表和对应的数据写入计数字段写入所述虚拟块层;
步骤A6:利用所述虚拟块层根据所述映射表的数据写入计数字段确定写入方式;其中,所述写入方式包括物理写入和逻辑写入;
作为一种可行的实施方式,上述虚拟块层确定所述待写入数据的写入方式的过程包括:若所述映射表的数据写入计数字段大于或等于1,则所述虚拟块层判定所述待写入数据的写入方式为逻辑写入;若所述映射表的数据写入计数字段为0,则所述虚拟块层判定所述待写入数据的写入方式为物理写入。
逻辑写入指:只对数据写入计数字段加1但不向物理块层写入实际写入数据的操作;物理写入指:向物理块层写入实际写入数据的操作。
步骤A7:若所述写入方式为物理写入,则将所述映射表写入至对应的物理块层,并将所述映射表的数据写入计数字段的值设置为1;
步骤A8:若所述写入方式为逻辑写入,则将所述映射表的数据写入计数字段的值加1。
进一步的,在将所述映射表写入至所述物理块层之后,还可以将所述物理块层中的数据落盘至RAID阵列(Redundant Array of Independent Disks 独立磁盘组成的具有冗余性的阵列)。
作为一种可行的实施方式,若所述数据操作请求为数据删除请求,则根据所述多级映射框架执行所述数据操作请求对应的操作,包括以下步骤:
步骤B1:确定发送所述数据删除请求的主机设备的第三主机LBA,根据所述第三主机LBA在所述多级映射框架中查询所述数据删除请求对应的待删除数据的数据写入计算字段;
步骤B2:根据所述待删除数据的数据写入计算字段确定删除方式;
其中,所述删除方式包括物理删除和逻辑删除;
作为一种可行的实施方式,根据所述待删除数据的数据写入计算字段确定删除方式的过程包括:若所述待删除数据的数据写入计数字段大于或等于2,则所述虚拟块层判定所述待删除数据的删除方式为逻辑删除;若所述待删除数据的数据写入计数字段为1,则所述虚拟块层判定所述待删除数据的删除方式为物理删除。
步骤B3:若所述删除方式为物理删除,则在所述物理块层中删除所述待删除数据,并将所述待删除数据的数据写入计数字段的值设置为0;
步骤B4:若所述删除方式为逻辑删除,则将所述待删除数据的数据写入计数字段的值减1。
作为一种可行的实施方式,若所述数据操作请求为数据读取请求,则根据所述多级映射框架执行所述数据操作请求对应的操作的过程包括:
步骤C1:根据所述数据存储集群内的inode索引和B树构建多级映射框架;
步骤C2:接收数据读取请求;
步骤C3:确定发送所述数据读取请求的主机设备的第二主机LBA,根据所述第二主机LBA在所述多级映射框架中查询所述数据读取请求对应的待读取数据的数据存储位置;
步骤C4:根据所述数据存储位置从缓存或内存中读取并返回所述待读取数据。
进一步的,在根据所述第二主机LBA在所述多级映射框架中查询所述数据读取请求对应的待读取数据的数据存储位置之后,还可以在所述顶页层中更新发送所述数据读取请求的主机设备的数据读写频率。
下面通过在实际应用中的实施例说明上述实施例描述的流程。
目前业界对于解决数据的复写和删除并没有很好的方法,常用的多级缓存哈希映射算法方式只是在一定程度上提高读取I/O(输入和输出)数据的速度,并没有解决在数据的复写和删除方面多次浪费存储资源的问题。哈希又称为hash算法,使用key-value这样一对一的映射关系,主要用于数据查询方面,根据事先设定好的key值查询数据,可以显著提高数据的查询速度。
针对数据的复写和删除问题,本实施例在存储环境的软件层面增加了多级映射机制,由于多存储系统通常由多个主机设备通过一个网络进行共享,所以设计将多存储系统映射到同一片逻辑空间区域。在存储环境中增加多级逻辑地址空间,新增的逻辑地址空间有效解决了数据复写和删除方面存在的存储资源浪费问题,以确保相同的数据不会过多消耗存储资源。
本实施例将Linux操作系统中的inode节点和B树这种数据结构结合在一起,针对存储领域中存在的存储资源浪费痛点,能够有效解决存储领域中数据复写和删除时多次浪费存储资源的问题。
请参见图2,图2为本申请实施例所提供的一种多级映射框架的结构示意图,图中示出了对应各存储系统的根页层(包括0~16EB的逻辑地址空间、inode[0]~inode[N])、对应各主机的顶叶层、对应冷热数据的中间页层、对应volume卷的叶页层、virtual block(虚拟块)层、physical block(物理块)层、超级块super block。根页层可以映射512各B树至顶叶层,每个顶叶层对应4KB的空间。在virtual block层内可以将待写入数据压缩为映射表并添加数据写入计数。physical block层内的2MB用户数据包括写入的多个4KB数据。EB(Exabyte,艾字节)计算机存储单位,主要用于存储领域,64位计算机系统的可用最大的虚拟内存空间为16EB,数据转换公式1EB=1024PB=1024TB。
逻辑页:内存管理都将逻辑页字段的低12位置为0,这样一个逻辑页就是4K大小。
如图2所示,本实施例使用多个inode节点管理多个存储系统,然后使用Linux内核中的超级块super block数据结构管理一个inode表,通过该inode表管理所有的inode,inode表中的每个inode和存储环境中的每个存储系统是一一对应关系,从而实现对多存储系统的管理,inode表如图2中虚线框所示。超级块标识一个inode表,inode表中的每个inode节点表示每个存储系统。每个inode节点最多可以映射512个主机,为每个主机的业务处理提供一个逻辑页的内存空间(即占用4KB的内存空间),本实施例将多个主机向多个存储系统发起的I/O请求对应顶页层。主机访问的热数据和冷数据对应中间页层,每个中间页的前2KB存放频繁访问的热数据,后2KB存放很少访问的冷数据。主机I/O访问数据的逻辑单元是volume卷,volume卷对应图2中的叶页层。叶页层之下的是VB(virtual block)层,volume卷中的数据通过压缩算法压缩为映射表并添加数据写入计数字段放入VB层,所有主机的I/O访问请求都在VB层通过数据写入计数字段判断是否数据重写,如果数据写入计数为0则表明存储环境中没有该数据,将数据写入用户指定的物理磁盘后数据写入计数字段加1变为1。如果数据写入计数字段大于等于1则表明该数据已被写入过,这种情况的处理方法是将叶页指向的数据写入计数加1,此时就不会进行数据重写。VB即virtual block(虚拟块),本实施例在多级B树映射中增加了VB虚拟块。PB即physical block(物理块),本实施例在多级B树映射中增加了PB物理块。
基于图2所示的多级映射框架中实现数据写入的过程如下:
步骤D1:根页层中数据包括主机LBA和inode索引组成的key值,inode的不同索引代表不同的存储系统(例如上述多个银行分行的多存储系统)。
步骤D2:根据主机LBA和inode索引组成的key值映射到顶页层,在顶页层存放有关于数据的读写频率,根据数据的读写频率判断该数据是冷数据还是热数据,使用上层传入的主机LBA和本层自生成的volume标识符与冷热数据标识符重新生成一个key值。volume标识符可以由系统自动分配。
步骤D3:使用该key值映射到中间页层,中间页层对应冷热数据层,该层会根据上层传入的冷热数据标识符判断得出数据是放入前2KB的热数据区域还是后2KB的冷数据区域,并根据上层传入的volume标识符将数据写入叶页层。
步骤D4:叶页层对应逻辑卷volume,在该层使用volume索引和数据写入计数字段重新生成一个key值,使用该key值映射到VB层,并将volume卷中的数据通过压缩算法压缩为映射表并添加数据写入计数字段,然后写入VB层。
步骤D5:在VB层会对数据写入计数字段进行逻辑判断,然后映射到下层PB层。PB层以4KB逻辑页为单位存放主机I/O请求的数据,如果数据写入计数为0则表明存储环境中没有该数据,将数据写入用户指定的物理磁盘后数据写入计数字段加1变为1。如果数据写入计数字段大于等于1则表明该数据已被写入过,这种情况的处理方法是将叶页指向的数据写入计数加1,此时就不会进行数据重写。
步骤D6:在PB层被组织好的用户数据最终落盘到RAID阵列。
请参见图3和图4,图3为本申请实施例提供的一种数据写入计数为1的虚拟块层的示意图,图4为本申请实施例提供的一种数据写入计数为2的虚拟块层的示意图。
在图3的叶页层中的volume[100]通过虚拟块VB层引用物理块PB层中阴影部分数据,因为存储环境中只有volume[100]对该阴影部分中的数据进行引用,所以数据写入计数字段为1。在图4叶页层中的volume[100+i]通过VB层引用PB层中阴影部分数据。因此,加上volume[100]对应的数据写入计数得出新的数据写入计数字段为2。如果后续主机I/O请求是在同样的主机LBA和inode索引进行数据写入则被判断为数据重写,就不会进行物理磁盘写入操作。如果主机I/O请求是在同样的主机LBA和inode索引上进行数据删除,由于在其他存储系统上仍需该数据(例如其他银行分行的存储系统上仍需该数据),就不会进行真实的物理操作删除操作。通过上述介绍的方法解决存储资源浪费问题。
本实施例针对存储环境出现概率较高的存储资源浪费问题,在存储系统的软件层面增加了多级映射机制,并创新性的将Linux超级块、inode与B树相结合提出一种全新的多级映射机制。同时在实现细节上加入数据写入计数字段用以控制数据重写和删除,很好地解决了在数据重写和删除方面存在的存储资源浪费问题。本实施例提出的方法中所涉及的多级映射机制以及提出的数据写入计数字段,是用于实现指定逻辑功能的一种算法和全局变量,可以由C语言或者C++实现。多级映射机制不仅可以在本业务场景下使用,还可以应用在大数据、互联网、人工智能等其他业务场景下使用。
在多存储系统的存储环境下,当多个主机通过同一个网络向多个存储系统发出主机I/O请求时会存在数据重写和删除的情况,在这种情况下,存在严重的存储资源浪费问题。本发明在存储环境的软件层面增加了多级映射机制,并创新性的将Linux超级块、inode与B树相结合提出一种全新的多级映射机制。将该机制运用到本发明中,同时在实现细节上加入数据写入计数字段,使用数据写入计数字段控制数据重写和删除的逻辑处理,很好地解决了在数据重写和删除方面存在的存储资源浪费问题。本实施例在具体实现细节上提出了一种多级映射机制,并在具体实现细节上创新性的将Linux超级块、inode与B树相结合,提出一种全新的多级映射机制,能够有效解决存储环境中存在的存储资源浪费问题。
请参见图5,图5为本申请实施例所提供的一种数据操作请求处理系统的结构示意图,应用于数据存储集群,所述数据存储集群运行有上述的多级映射框架,所述数据操作请求处理系统,包括:
写入请求接收模块,用于若接收到数据写入请求,则确定发送所述数据写入请求的主机设备的第一主机LBA,利用inode表查询所述第一主机LBA对应的inode索引;
标识符确定模块,用于利用所述第一主机LBA和所述inode索引映射到对应的顶页层,并在所述顶页层内为待写入数据分配volume标识符;
缓存模块,用于利用所述中间页层缓存所述数据写入请求对应的所述待写入数据;
叶页层写模块,用于将所述待写入数据写入所述volume标识符对应的叶页层;
虚拟块层写入模块,用于利用所述volume标识符对应的叶页层将所述待写入数据压缩为映射表并添加数据写入计数字段,将所述映射表和对应的数据写入计数字段写入所述虚拟块层;
物理块层写入模块,用于利用所述虚拟块层根据所述映射表的数据写入计数字段确定写入方式;其中,所述写入方式包括物理写入和逻辑写入;还用于若所述写入方式为物理写入,则将所述映射表写入至对应的物理块层,并将所述映射表的数据写入计数字段的值设置为1;还用于若所述写入方式为逻辑写入,则将所述映射表的数据写入计数字段的值加1。
上述实施例根据数据存储集群内的inode索引和B树构建多级映射框架,多级映射框架自上至下依次包括根页层、顶页层、中间页层、叶页层、虚拟块层和物理块层,若数据存储集群接收到数据操作请求,则根据多级映射框架执行相应的操作。在上述多级映射框架中使用数据写入计数字段统计同一数据在数据存储集群中的存储次数,进而根据数据写入计数字段控制是否对所述物理块层执行操作,以控制数据重写和删除,因此本实施例能够避免数据复写和删除引起的存储资源浪费。
进一步的,还包括:
读表模块,用于在利用inode表查询所述第一主机LBA对应的inode索引之前,从Linux内核的超级块super block数据结构中读取所述inode表;
其中,所述inode表中存储有inode索引与存储系统的对应关系。
进一步的,虚拟块层写入模块利用所述虚拟块层根据所述映射表的数据写入计数字段确定写入方式的过程包括:若所述映射表的数据写入计数字段大于或等于1,则利用所述虚拟块层判定所述待写入数据的写入方式为逻辑写入;若所述映射表的数据写入计数字段为0,则利用所述虚拟块层判定所述待写入数据的写入方式为物理写入。
进一步的,缓存模块利用所述中间页层缓存所述数据写入请求对应的所述待写入数据的过程包括:利用所述顶页层查询发送所述数据写入请求的主机设备的数据读写频率;根据所述数据读写频率将所述待写入数据缓存至所述中间页层的热数据区域或冷数据区域;其中,所述热数据区域用于存储读写频率大于预设值的数据,所述冷数据区域用于存储读写频率小于或等于所述预设值的数据。
进一步的,缓存模块利用所述顶页层查询发送所述数据写入请求的主机设备的数据读写频率的过程包括:根据所述第一主机LBA计算发送所述数据写入请求的主机设备在所述顶页层中对应的页结构,在所述页结构中查询发送所述数据写入请求的主机设备的数据读写频率。
进一步的,叶页层写模块将所述待写入数据写入所述volume标识符对应的叶页层的过程包括:将所述中间页层的热数据区域或冷数据区域中缓存的待写入数据写入所述volume标识符对应的叶页层。
进一步的,还包括:
落盘模块,用于在将所述映射表写入至所述物理块层之后,将所述物理块层中的数据落盘至RAID阵列。
进一步的,还包括:
数据读取模块,用于若接收到数据读取请求,则确定发送所述数据读取请求的主机设备的第二主机LBA,根据所述第二主机LBA在所述多级映射框架中查询所述数据读取请求对应的待读取数据的数据存储位置;还用于根据所述数据存储位置从缓存或内存中读取并返回所述待读取数据。
进一步的,还包括:
频率更新模块,用于在根据所述第二主机LBA在所述多级映射框架中查询所述数据读取请求对应的待读取数据的数据存储位置之后,在所述顶页层中更新发送所述数据读取请求的主机设备的数据读写频率。
本申请实施例还提供一种数据操作请求处理系统,应用于数据存储集群,所述数据存储集群运行有上述的多级映射框架,所述数据操作请求处理系统,包括:
查询模块,用于若接收到数据删除请求,则确定发送所述数据删除请求的主机设备的第三主机LBA,根据所述第三主机LBA在所述多级映射框架中查询所述数据删除请求对应的待删除数据的数据写入计算字段;
删除方式确定模块,用于根据所述待删除数据的数据写入计算字段确定删除方式;其中,所述删除方式包括物理删除和逻辑删除;
删除执行模块,用于若所述删除方式为物理删除,则在所述物理块层中删除所述待删除数据,并将所述待删除数据的数据写入计数字段的值设置为0;还用于若所述删除方式为逻辑删除,则将所述待删除数据的数据写入计数字段的值减1。
上述实施例根据数据存储集群内的inode索引和B树构建多级映射框架,多级映射框架自上至下依次包括根页层、顶页层、中间页层、叶页层、虚拟块层和物理块层,若数据存储集群接收到数据操作请求,则根据多级映射框架执行相应的操作。在上述多级映射框架中使用数据写入计数字段统计同一数据在数据存储集群中的存储次数,进而根据数据写入计数字段控制是否对所述物理块层执行操作,以控制数据重写和删除,因此本实施例能够避免数据复写和删除引起的存储资源浪费。
进一步的,删除方式确定模块根据所述待删除数据的数据写入计算字段确定删除方式的过程包括:若所述待删除数据的数据写入计数字段大于或等于2,则所述虚拟块层判定所述待删除数据的删除方式为逻辑删除;若所述待删除数据的数据写入计数字段为1,则所述虚拟块层判定所述待删除数据的删除方式为物理删除。
由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。图6为本申请实施例所提供的一种电子设备的结构示意图,如图6所示,电子设备包括:
通信接口601,能够与其它设备比如网络设备等进行信息交互;
处理器602,与通信接口601连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的数据操作请求处理方法。而所述计算机程序存储在存储器603上。
当然,实际应用时,电子设备中的各个组件通过总线系统604耦合在一起。可理解,总线系统604用于实现这些组件之间的连接通信。总线系统604除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为总线系统604。
本申请还提供了一种存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:半导体存储芯片、U盘、移动硬盘、只读存储器(Read-Only Memory ,ROM)、随机存取存储器(Random Access Memory ,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。图7为本申请实施例所提供的一种存储介质的结构示意图,该存储介质可以为非易失或非瞬时的存储芯片,具体包括译码驱动、存储矩阵、读写电路、地址线、数据线、片选线和读/写控制线。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (16)
1.一种多级映射框架,其特征在于,所述多级映射框架根据数据存储集群内的inode索引和B树构建得到,所述多级映射框架自上至下包括根页层、顶页层、中间页层、叶页层、虚拟块层和物理块层;所述数据存储集群用于根据所述多级映射框架执行数据操作请求对应的操作;
其中,所述根页层用于实现对所述顶页层的映射,所述顶页层用于分配volume标识符并实现对所述中间页层的映射,所述中间页层用于缓存数据并实现对所述叶页层的映射,所述叶页层用于设置数据写入计数字段,所述虚拟块层用于更新所述数据写入计数字段的值,所述物理块层用于存储数据,所述数据写入计数字段用于控制是否对所述物理块层执行操作;
其中,所述根页层与所述数据存储集群内的存储系统对应,所述根页层中的数据包括主机LBA和inode索引组成的key值;所述顶页层与所述数据存储集群内的主机对应,所述中间页层包括用于缓存数据的热数据区域和冷数据区域,所述叶页层与主机的volume卷对应;
所述根页层实现对所述顶页层的映射过程包括:根据主机LBA和inode索引组成的key值映射到顶页层;
所述顶页层实现对所述中间页层的映射过程包括:使用所述根页层传入的主机LBA和所述顶页层自生成的volume标识符与冷热数据标识符重新生成一个key值,使用新的key值映射到所述中间页层;
所述中间页层实现对所述叶页层的映射过程包括:根据上层传入的volume标识符将数据写入叶页层。
2.一种数据操作请求处理方法,其特征在于,应用于数据存储集群,所述数据存储集群运行有如权利要求1所述的多级映射框架,所述数据操作请求处理方法,包括:
若接收到数据写入请求,则确定发送所述数据写入请求的主机设备的第一主机LBA,利用inode表查询所述第一主机LBA对应的inode索引;
利用所述第一主机LBA和所述inode索引映射到对应的顶页层,并在所述顶页层内为待写入数据分配volume标识符;
利用所述中间页层缓存所述数据写入请求对应的所述待写入数据;
将所述待写入数据写入所述volume标识符对应的叶页层;
利用所述volume标识符对应的叶页层将所述待写入数据压缩为映射表并添加数据写入计数字段,将所述映射表和对应的数据写入计数字段写入所述虚拟块层;
利用所述虚拟块层根据所述映射表的数据写入计数字段确定写入方式;其中,所述写入方式包括物理写入和逻辑写入;
若所述写入方式为物理写入,则将所述映射表写入至对应的物理块层,并将所述映射表的数据写入计数字段的值设置为1;
若所述写入方式为逻辑写入,则将所述映射表的数据写入计数字段的值加1。
3.根据权利要求2所述数据操作请求处理方法,其特征在于,在利用inode表查询所述第一主机LBA对应的inode索引之前,还包括:
从Linux内核的超级块super block数据结构中读取所述inode表;
其中,所述inode表中存储有inode索引与存储系统的对应关系。
4.根据权利要求2所述数据操作请求处理方法,其特征在于,利用所述虚拟块层根据所述映射表的数据写入计数字段确定写入方式,包括:
若所述映射表的数据写入计数字段大于或等于1,则利用所述虚拟块层判定所述待写入数据的写入方式为逻辑写入;
若所述映射表的数据写入计数字段为0,则利用所述虚拟块层判定所述待写入数据的写入方式为物理写入。
5.根据权利要求2所述数据操作请求处理方法,其特征在于,利用所述中间页层缓存所述数据写入请求对应的所述待写入数据,包括:
利用所述顶页层查询发送所述数据写入请求的主机设备的数据读写频率;
根据所述数据读写频率将所述待写入数据缓存至所述中间页层的热数据区域或冷数据区域;
其中,所述热数据区域用于存储读写频率大于预设值的数据,所述冷数据区域用于存储读写频率小于或等于所述预设值的数据。
6.根据权利要求5所述数据操作请求处理方法,其特征在于,利用所述顶页层查询发送所述数据写入请求的主机设备的数据读写频率,包括:
根据所述第一主机LBA计算发送所述数据写入请求的主机设备在所述顶页层中对应的页结构,在所述页结构中查询发送所述数据写入请求的主机设备的数据读写频率。
7.根据权利要求5所述数据操作请求处理方法,其特征在于,将所述待写入数据写入所述volume标识符对应的叶页层,包括:
将所述中间页层的热数据区域或冷数据区域中缓存的待写入数据写入所述volume标识符对应的叶页层。
8.根据权利要求2所述数据操作请求处理方法,其特征在于,在将所述映射表写入至所述物理块层之后,还包括:
将所述物理块层中的数据落盘至RAID阵列。
9.根据权利要求2所述数据操作请求处理方法,其特征在于,还包括:
若接收到数据读取请求,则确定发送所述数据读取请求的主机设备的第二主机LBA,根据所述第二主机LBA在所述多级映射框架中查询所述数据读取请求对应的待读取数据的数据存储位置;
根据所述数据存储位置从缓存或内存中读取并返回所述待读取数据。
10.根据权利要求9所述数据操作请求处理方法,其特征在于,在根据所述第二主机LBA在所述多级映射框架中查询所述数据读取请求对应的待读取数据的数据存储位置之后,还包括:
在所述顶页层中更新发送所述数据读取请求的主机设备的数据读写频率。
11.一种数据操作请求处理方法,其特征在于,应用于数据存储集群,所述数据存储集群运行有如权利要求1所述的多级映射框架,所述数据操作请求处理方法,包括:
若接收到数据删除请求,则确定发送所述数据删除请求的主机设备的第三主机LBA,根据所述第三主机LBA在所述多级映射框架中查询所述数据删除请求对应的待删除数据的数据写入计算字段;
根据所述待删除数据的数据写入计算字段确定删除方式;其中,所述删除方式包括物理删除和逻辑删除;
若所述删除方式为物理删除,则在所述物理块层中删除所述待删除数据,并将所述待删除数据的数据写入计数字段的值设置为0;
若所述删除方式为逻辑删除,则将所述待删除数据的数据写入计数字段的值减1。
12.根据权利要求11所述数据操作请求处理方法,其特征在于,根据所述待删除数据的数据写入计算字段确定删除方式,包括:
若所述待删除数据的数据写入计数字段大于或等于2,则所述虚拟块层判定所述待删除数据的删除方式为逻辑删除;
若所述待删除数据的数据写入计数字段为1,则所述虚拟块层判定所述待删除数据的删除方式为物理删除。
13.一种数据操作请求处理系统,其特征在于,应用于数据存储集群,所述数据存储集群运行有如权利要求1所述的多级映射框架,所述数据操作请求处理系统,包括:
写入请求接收模块,用于若接收到数据写入请求,则确定发送所述数据写入请求的主机设备的第一主机LBA,利用inode表查询所述第一主机LBA对应的inode索引;
标识符确定模块,用于利用所述第一主机LBA和所述inode索引映射到对应的顶页层,并在所述顶页层内为待写入数据分配volume标识符;
缓存模块,用于利用所述中间页层缓存所述数据写入请求对应的所述待写入数据;
叶页层写模块,用于将所述待写入数据写入所述volume标识符对应的叶页层;
虚拟块层写入模块,用于利用所述volume标识符对应的叶页层将所述待写入数据压缩为映射表并添加数据写入计数字段,将所述映射表和对应的数据写入计数字段写入所述虚拟块层;
物理块层写入模块,用于利用所述虚拟块层根据所述映射表的数据写入计数字段确定写入方式;其中,所述写入方式包括物理写入和逻辑写入;还用于若所述写入方式为物理写入,则将所述映射表写入至对应的物理块层,并将所述映射表的数据写入计数字段的值设置为1;还用于若所述写入方式为逻辑写入,则将所述映射表的数据写入计数字段的值加1。
14.一种数据操作请求处理系统,其特征在于,应用于数据存储集群,所述数据存储集群运行有如权利要求1所述的多级映射框架,所述数据操作请求处理系统,包括:
查询模块,用于若接收到数据删除请求,则确定发送所述数据删除请求的主机设备的第三主机LBA,根据所述第三主机LBA在所述多级映射框架中查询所述数据删除请求对应的待删除数据的数据写入计算字段;
删除方式确定模块,用于根据所述待删除数据的数据写入计算字段确定删除方式;其中,所述删除方式包括物理删除和逻辑删除;
删除执行模块,用于若所述删除方式为物理删除,则在所述物理块层中删除所述待删除数据,并将所述待删除数据的数据写入计数字段的值设置为0;还用于若所述删除方式为逻辑删除,则将所述待删除数据的数据写入计数字段的值减1。
15.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如权利要求2至12任一项所述数据操作请求处理方法的步骤。
16.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求2至12任一项所述数据操作请求处理方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211479284.8A CN115576868B (zh) | 2022-11-24 | 2022-11-24 | 一种多级映射框架、数据操作请求处理方法及系统 |
PCT/CN2023/095867 WO2024108939A1 (zh) | 2022-11-24 | 2023-05-23 | 一种多级映射框架、数据操作请求处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211479284.8A CN115576868B (zh) | 2022-11-24 | 2022-11-24 | 一种多级映射框架、数据操作请求处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115576868A CN115576868A (zh) | 2023-01-06 |
CN115576868B true CN115576868B (zh) | 2023-03-03 |
Family
ID=84590644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211479284.8A Active CN115576868B (zh) | 2022-11-24 | 2022-11-24 | 一种多级映射框架、数据操作请求处理方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115576868B (zh) |
WO (1) | WO2024108939A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115576868B (zh) * | 2022-11-24 | 2023-03-03 | 苏州浪潮智能科技有限公司 | 一种多级映射框架、数据操作请求处理方法及系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI480733B (zh) * | 2012-03-29 | 2015-04-11 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
CN106326134B (zh) * | 2015-06-30 | 2019-10-01 | 华为技术有限公司 | Ftl地址映射的方法及装置 |
CN107016100A (zh) * | 2017-04-10 | 2017-08-04 | 重庆大学 | 一种基于非易失性内存文件系统的元数据管理方法 |
CN109690522B (zh) * | 2018-08-27 | 2024-02-27 | 袁振南 | 一种基于b+树索引的数据更新方法、装置及存储装置 |
CN110674051A (zh) * | 2019-09-24 | 2020-01-10 | 中国科学院微电子研究所 | 一种数据存储方法及装置 |
US11232043B2 (en) * | 2020-04-30 | 2022-01-25 | EMC IP Holding Company LLC | Mapping virtual block addresses to portions of a logical address space that point to the virtual block addresses |
CN112506438B (zh) * | 2020-12-14 | 2024-03-26 | 深圳大普微电子科技有限公司 | 一种映射表管理方法及固态硬盘 |
CN115185858B (zh) * | 2022-09-09 | 2023-01-24 | 北京特纳飞电子技术有限公司 | 地址映射表的处理方法、装置和存储设备 |
CN115576868B (zh) * | 2022-11-24 | 2023-03-03 | 苏州浪潮智能科技有限公司 | 一种多级映射框架、数据操作请求处理方法及系统 |
-
2022
- 2022-11-24 CN CN202211479284.8A patent/CN115576868B/zh active Active
-
2023
- 2023-05-23 WO PCT/CN2023/095867 patent/WO2024108939A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024108939A1 (zh) | 2024-05-30 |
CN115576868A (zh) | 2023-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10831734B2 (en) | Update-insert for key-value storage interface | |
US9405473B2 (en) | Dense tree volume metadata update logging and checkpointing | |
US9342256B2 (en) | Epoch based storage management for a storage device | |
US8805902B2 (en) | Managing snapshot storage pools | |
US10133511B2 (en) | Optimized segment cleaning technique | |
EP3036616B1 (en) | Management of extent based metadata with dense tree structures within a distributed storage architecture | |
US7584229B2 (en) | Method and system for priority-based allocation in a storage pool | |
US20150193169A1 (en) | Global in-line extent-based deduplication | |
JPH08234921A (ja) | アドレス・スペースを管理するための方法及び記憶サブシステム | |
US11675789B2 (en) | Tracking utilization of data blocks in a storage system | |
Lee et al. | An efficient index buffer management scheme for implementing a B-tree on NAND flash memory | |
US10963377B2 (en) | Compressed pages having data and compression metadata | |
CN111324305B (zh) | 一种分布式存储系统中数据写入/读取方法 | |
CN115576868B (zh) | 一种多级映射框架、数据操作请求处理方法及系统 | |
US20240283463A1 (en) | Data compression method and apparatus | |
US7424574B1 (en) | Method and apparatus for dynamic striping | |
CN117573676A (zh) | 基于存储系统的地址处理方法、装置、存储系统及介质 | |
CN110162268B (zh) | 利用实时计算用于逐分块数据组织和放置的方法和系统 | |
US11789917B2 (en) | Data deduplication in a storage system | |
US7533225B1 (en) | Method and apparatus for enabling adaptive endianness | |
US11748300B2 (en) | Reverse deletion of a chain of snapshots | |
US20240176741A1 (en) | Caching techniques using a two-level read cache | |
US11803314B2 (en) | Techniques for performing metadata updates | |
US12039193B2 (en) | Apparatus, method and computer program for managing memory page updates within non-volatile memory | |
US20240319876A1 (en) | Caching techniques using a unified cache of metadata leaf objects with mixed pointer types and lazy content resolution |
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 |