CN110764711B - 一种io数据分类删除方法、装置和计算机可读存储介质 - Google Patents
一种io数据分类删除方法、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN110764711B CN110764711B CN201911039094.2A CN201911039094A CN110764711B CN 110764711 B CN110764711 B CN 110764711B CN 201911039094 A CN201911039094 A CN 201911039094A CN 110764711 B CN110764711 B CN 110764711B
- Authority
- CN
- China
- Prior art keywords
- data
- linked list
- primary
- pio
- volume
- 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/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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- 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
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)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种IO数据分类删除方法、装置和计算机可读存储介质,执行IO数据的读写操作时,根据IO数据与存储卷的映射关系,将IO数据挂载到相匹配的一级链表上。将各一级链表上完成响应的PIO数据或者超过第一预设时间未被调用的PIO数据迁移到二级链表上;当一级链表为空或者超过第二预设时间未从二级链表中调用数据,则将二级链表上的数据删除。在该技术方案中,通过对每个存储卷设置一级链表,保证了同一存储卷的数据记录在同一链表中,无需再根据卷ID从链表查询所需清理的数据,有效的提升了IO数据的清理效率。并且通过设置一级链表和二级链表,将已经完成响应或者长时间未被调用的数据迁移到二级链表上,可以快速的将无用的数据删除。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种IO数据分类删除方法、装置和计算机可读存储介质。
背景技术
在Linux***下,执行删除存储卷的操作,该操作需要清理卷所对应的主机数据即HIO数据。一个存储卷往往包括有多个HIO数据,每个HIO数据由多个PIO数据组成,在数据处理过程中一般以PIO数据为最小处理单元。
现有技术中清理IO数据的方法是根据命令行传过来的卷ID在链表上查找HIO,对查找到的HIO进行大小判断是否属于该卷,如果属于该卷,则对HIO打上需要删除的标记,然后在打上标记的HIO的链表上查找PIO,并根据大小判断PIO是否属于该卷,如果属于就会将PIO从链表上移除并且释放,整个过程需要进行大量的循环和判断,导致IO数据的清理效率较低。
可见,如何提升IO数据的清理效率,是本领域技术人员需要解决的问题。
发明内容
本发明实施例的目的是提供一种IO数据分类删除方法、装置和计算机可读存储介质,可以提升IO数据的清理效率。
为解决上述技术问题,本发明实施例提供一种IO数据分类删除方法,包括:
执行IO数据的读写操作时,根据IO数据与存储卷的映射关系,将所述IO数据挂载到相匹配的一级链表上;其中,每个存储卷有其对应的一级链表和二级链表;
将各所述一级链表上完成响应的PIO数据或者超过第一预设时间未被调用的PIO数据迁移到二级链表上;
当所述一级链表为空或者超过第二预设时间未从所述二级链表中调用数据,则将所述二级链表上的数据删除。
可选地,所述将各所述一级链表上完成响应的PIO数据或者超过第一预设时间未被调用的PIO数据迁移到二级链表上包括:
将各所述一级链表上完成响应的PIO数据或者超过第一预设时间未被调用的PIO数据按照其所属的HIO分类迁移到二级链表上;
相应的,当所述一级链表为空或者超过第二预设时间未从所述二级链表中调用数据,则将所述二级链表上的数据删除包括:
当所述一级链表上的目标HIO为空或者超过第二预设时间未从所述二级链表中调用与所述HIO对应的PIO数据,则将所述二级链表上归属于所述目标HIO的PIO数据删除。
可选地,所述执行IO数据的读写操作时,根据IO数据与存储卷的映射关系,将所述IO数据挂载到相匹配的一级链表上包括:
当执行IO数据的读写操作时,判断IO数据的数据量大小是否超过预设阈值;
若否,则根据IO数据与存储卷的映射关系,查找相匹配的一级链表,并将所述IO数据挂载到所述一级链表上;
若是,则根据IO数据与存储卷的映射关系,查找相匹配的一级链表,以及与所述一级链表ID相邻的目标链表,将所述IO数据拆分挂载到所述一级链表以及所述目标链表上;其中,拆分后的IO数据设置有相同的数据标识。
可选地,在所述一级链表为空或者超过第二预设时间未从所述二级链表中调用数据,则将所述二级链表上的数据删除之后还包括:
将所述目标链表中与已删除的数据具有相同数据标识的数据删除。
可选地,在所述根据IO数据与存储卷的映射关系,将所述IO数据挂载到相匹配的一级链表之后还包括:
接收数据查询指令;其中,所述数据查询指令中携带有卷ID以及数据标识;
判断与所述卷ID相匹配的目标一级链表中是否存在与数据标识相对应的数据;
若是,则从所述目标一级链表中读取与所述数据标识相对应的数据;
若否,则从与所述卷ID相匹配的目标二级链表中读取与所述数据标识相对应的数据。
本发明实施例还提供了一种IO数据分类删除装置,包括挂载单元、迁移单元和删除单元;
所述挂载单元,用于执行IO数据的读写操作时,根据IO数据与存储卷的映射关系,将所述IO数据挂载到相匹配的一级链表上;其中,每个存储卷有其对应的一级链表和二级链表;
所述迁移单元,用于将各所述一级链表上完成响应的PIO数据或者超过第一预设时间未被调用的PIO数据迁移到二级链表上;
所述删除单元,用于当所述一级链表为空或者超过第二预设时间未从所述二级链表中调用数据,则将所述二级链表上的数据删除。
可选地,所述迁移单元具体用于将各所述一级链表上完成响应的PIO数据或者超过第一预设时间未被调用的PIO数据按照其所属的HIO分类迁移到二级链表上;
相应的所述删除单元具体用于当所述一级链表上的目标HIO为空或者超过第二预设时间未从所述二级链表中调用与所述HIO对应的PIO数据,则将所述二级链表上归属于所述目标HIO的PIO数据删除。
可选地,所述挂载单元包括判断子单元、查找子单元和拆分子单元;
所述判断子单元,用于当执行IO数据的读写操作时,判断IO数据的数据量大小是否超过预设阈值;若否,则触发所述查找子单元;若是,则触发所述拆分子单元;
所述查找子单元,用于根据IO数据与存储卷的映射关系,查找相匹配的一级链表,并将所述IO数据挂载到所述一级链表上;
所述拆分子单元,用于根据IO数据与存储卷的映射关系,查找相匹配的一级链表,以及与所述一级链表ID相邻的目标链表,将所述IO数据拆分挂载到所述一级链表以及所述目标链表上;其中,拆分后的IO数据设置有相同的数据标识。
可选地,所述删除单元还用于将所述目标链表中与已删除的数据具有相同数据标识的数据删除。
可选地,还包括接收单元、查询单元、第一读取单元和第二读取单元;
所述接收单元,用于接收数据查询指令;其中,所述数据查询指令中携带有卷ID以及数据标识;
所述查询单元,用于判断与所述卷ID相匹配的目标一级链表中是否存在与数据标识相对应的数据;若是,则触发所述第一读取单元;若否,则触发所述第二读取单元;
所述第一读取单元,用于从所述目标一级链表中读取与所述数据标识相对应的数据;
所述第二读取单元,用于从与所述卷ID相匹配的目标二级链表中读取与所述数据标识相对应的数据。
本发明实施例还提供了一种IO数据分类删除装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上述任意一项所述IO数据分类删除方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述IO数据分类删除方法的步骤。
由上述技术方案可以看出,执行IO数据的读写操作时,根据IO数据与存储卷的映射关系,将IO数据挂载到相匹配的一级链表上。考虑到存储卷共用一个链表时,需要执行大量的循环和判断才能够找到所需删除的数据,因此在该技术方案中对于每个存储卷设置其对应的一级链表和二级链表,实现了不同存储卷上IO数据的有序管理。将各一级链表上完成响应的PIO数据或者超过第一预设时间未被调用的PIO数据迁移到二级链表上;当所述一级链表为空或者超过第二预设时间未从所述二级链表中调用数据,则将所述二级链表上的数据删除。在该技术方案中,通过对每个存储卷设置一级链表,保证了同一存储卷的数据记录在同一链表中,无需再根据卷ID从链表查询所需清理的数据,有效的提升了IO数据的清理效率。并且通过设置一级链表和二级链表,将已经完成响应或者长时间未被调用的数据迁移到二级链表上,可以快速的将无用的数据删除。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种IO数据分类删除方法的流程图;
图2为本发明实施例提供的一种IO数据分类删除装置的结构示意图;
图3为本发明实施例提供的一种IO数据分类删除装置的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
接下来,详细介绍本发明实施例所提供的一种IO数据分类删除方法。图1为本发明实施例提供的一种IO数据分类删除方法的流程图,该方法包括:
S101:执行IO数据的读写操作时,根据IO数据与存储卷的映射关系,将IO数据挂载到相匹配的一级链表上。
其中,每个存储卷有其对应的一级链表和二级链表。
一级链表用于记录需要执行读写操作的IO数据,二级链表用于记录已经完成响应的IO数据或者长时间未被调用的IO数据。
同一个存储卷上的各IO数据的数据量大小相近,不同存储卷上的IO数据的数据量大小具有较大的偏差。在映射关系中可以记录每个存储卷所对应的单个IO数据的数据量大小。
在执行IO数据的读写操作时,根据该IO数据的数据量大小,便可以从映射关系中查找到相匹配的一级链表。
考虑到实际应用中,可能会出现IO数据的数据量大小超过各存储卷所对应的数据量大小,此时需要对该IO数据进行拆分存储。具体的,当执行IO数据的读写操作时,可以判断IO数据的数据量大小是否超过预设阈值。
当IO数据的数据量大小未超过预设阈值时,,则根据IO数据与存储卷的映射关系,查找相匹配的一级链表,并将IO数据挂载到一级链表上。
当IO数据的数据量大小超过预设阈值时,则说明该IO数据无法直接存储在一个一级链表上,此时可以根据IO数据与存储卷的映射关系,查找相匹配的一个一级链表,以及与该一级链表的链表ID相邻的目标链表,将IO数据拆分挂载到一级链表以及目标链表上。
当IO数据的数据量大小超过预设阈值时,可承载的数据量最大的一级链表即为与该IO数据相匹配的一级链表。
每个一级链表有其对应的链表ID,在实际应用中,可以根据各一级链表所对应的数据量大小,对各一级链表进行降序或升序排列,然后对排序后的各一级链表依次设置相对应的链表ID。
与一级链表ID相邻的目标链表的个数可以有一个,也可能有多个。目标链表的个数需要根据当前的IO数据的数据量大小以及各链表所能记录的数据量大小确定出。
例如,当前执行读写操作的IO数据的数据量大小为10M,根据各一级链表能够承载的数据量大小进行降序排列,第一个一级链表所对应的数据量大小为8M,第二个一级链表所对应的数据量大小为6M,此时需要将IO数据拆分为8M和2M的数据包,将8M的数据包挂载到第一个一级链表,将2M的数据包挂载到第二个一级链表。
为了便于后续IO数据的查收,需要将拆分后的IO数据设置相同的数据标识。
S102:将各一级链表上完成响应的PIO数据或者超过第一预设时间未被调用的PIO数据迁移到二级链表上。
根据主机的不同,可以将IO数据划分为不同的主机数据即HIO数据,每个HIO数据包括有多个PIO数据。在执行IO数据的读写操作时是以PIO数据为最小处理单元。
考虑到已经完成响应的PIO数据或者长时间未被调用的PIO数据后续被继续使用的概率较低,因此可以将这些数据看作是无效数据。在本发明实施例中,可以将无效数据迁移到二级链表上。
其中,第一预设时间的取值可以根据实际需求设定,在此不做限定。
S103:当一级链表为空或者超过第二预设时间未从二级链表中调用数据,则将二级链表上的数据删除。
通过设置二级链表可以将无效数据从一级链表中迁移出来,进行独立的存储,以便于可以对无效数据进行批量删除。
随着时间的推移,完成响应的数据越来越多,即从一级链表上迁移到二级链表上的数据会逐渐增多,为了降低频繁的执行数据的删除操作,在本发明实施例中,可以在一级链表为空或者超过第二预设时间未从二级链表中调用数据时,则执行无效数据的删除操作即将二级链表上的数据删除。
由于各PIO数据有其所属的HIO,因此在执行PIO数据的存储以及迁移操作时,可以以其所属的HIO进行分类存储和迁移。具体的,可以将各一级链表上完成响应的PIO数据或者超过第一预设时间未被调用的PIO数据按照其所属的HIO分类迁移到二级链表上;
相应的,当一级链表上的目标HIO为空或者超过第二预设时间未从二级链表中调用与HIO对应的PIO数据,则将二级链表上归属于目标HIO的PIO数据删除。
其中,第二预设时间的取值可以根据实际需求设定,在此不做限定。
由上述技术方案可以看出,执行IO数据的读写操作时,根据IO数据与存储卷的映射关系,将IO数据挂载到相匹配的一级链表上。考虑到存储卷共用一个链表时,需要执行大量的循环和判断才能够找到所需删除的数据,因此在该技术方案中对于每个存储卷设置其对应的一级链表和二级链表,实现了不同存储卷上IO数据的有序管理。将各一级链表上完成响应的PIO数据或者超过第一预设时间未被调用的PIO数据迁移到二级链表上;当所述一级链表为空或者超过第二预设时间未从所述二级链表中调用数据,则将所述二级链表上的数据删除。在该技术方案中,通过对每个存储卷设置一级链表和二级链表,保证了同一存储卷的数据记录在同一链表中,无需再根据卷ID从链表查询所需清理的数据,有效的提升了IO数据的清理效率。并且通过设置一级链表和二级链表,将完成响应或者长时间未被调用的数据迁移到二级链表上,可以自动将无用的数据删除。
考虑到实际应用中会存在IO数据拆分存储的情况,在执行数据的删除操作时,为了减少同一个IO数据存在部分数据残留的情况发生,在一级链表为空或者超过第二预设时间未从二级链表中调用数据,则将二级链表上的数据删除之后,可以进一步将目标链表中与已删除的数据具有相同数据标识的数据删除。
考虑到实际应用中会存在IO数据拆分存储的情况,在执行数据的查询操作时,为了避免查询得到的IO数据不完整,可以在接收到携带有卷ID以及数据标识的数据查询指令之后,判断与卷ID相匹配的目标一级链表中是否存在与数据标识相对应的数据。
每个一级链表有其对应的卷ID,考虑到IO数据会存在拆分存储的情况,与卷ID相匹配的目标一级链表除了包括与卷ID具有对应关系的一级链表外,还包括与该一级链表相邻的一级链表。这些链表均可以看作目标一级链表。
当目标一级链表中存在与数据标识相对应的数据时,此时可以从目标一级链表中读取与数据标识相对应的数据。
当目标一级链表中不存在与数据标识相对应的数据时,则说明数据可能迁移到了二级链表,此时可以从与卷ID相匹配的目标二级链表中读取与数据标识相对应的数据。
通过对同一个IO数据设置相同的数据标识,根据卷ID和数据标识查找数据,保证了所获取的IO数据的完整性。
图2为本发明实施例提供的一种IO数据分类删除装置的结构示意图,包括挂载单元21、迁移单元22和删除单元23;
挂载单元21,用于执行IO数据的读写操作时,根据IO数据与存储卷的映射关系,将IO数据挂载到相匹配的一级链表上;其中,每个存储卷有其对应的一级链表和二级链表;
迁移单元22,用于将各一级链表上完成响应的PIO数据或者超过第一预设时间未被调用的PIO数据迁移到二级链表上;
删除单元23,用于当一级链表为空或者超过第二预设时间未从二级链表中调用数据,则将二级链表上的数据删除。
可选地,迁移单元具体用于将各一级链表上完成响应的PIO数据或者超过第一预设时间未被调用的PIO数据按照其所属的HIO分类迁移到二级链表上;
相应的删除单元具体用于当一级链表上的目标HIO为空或者超过第二预设时间未从二级链表中调用与HIO对应的PIO数据,则将二级链表上归属于目标HIO的PIO数据删除。
可选地,挂载单元包括判断子单元、查找子单元和拆分子单元;
判断子单元,用于当执行IO数据的读写操作时,判断IO数据的数据量大小是否超过预设阈值;若否,则触发查找子单元;若是,则触发拆分子单元;
查找子单元,用于根据IO数据与存储卷的映射关系,查找相匹配的一级链表,并将IO数据挂载到一级链表上;
拆分子单元,用于根据IO数据与存储卷的映射关系,查找相匹配的一级链表,以及与一级链表ID相邻的目标链表,将IO数据拆分挂载到一级链表以及目标链表上;其中,拆分后的IO数据设置有相同的数据标识。
可选地,删除单元还用于将目标链表中与已删除的数据具有相同数据标识的数据删除。
可选地,还包括接收单元、查询单元、第一读取单元和第二读取单元;
接收单元,用于接收数据查询指令;其中,数据查询指令中携带有卷ID以及数据标识;
查询单元,用于判断与卷ID相匹配的目标一级链表中是否存在与数据标识相对应的数据;若是,则触发第一读取单元;若否,则触发第二读取单元;
第一读取单元,用于从目标一级链表中读取与数据标识相对应的数据;
第二读取单元,用于从与卷ID相匹配的目标二级链表中读取与数据标识相对应的数据。
图2所对应实施例中特征的说明可以参见图1所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,执行IO数据的读写操作时,根据IO数据与存储卷的映射关系,将IO数据挂载到相匹配的一级链表上。考虑到存储卷共用一个链表时,需要执行大量的循环和判断才能够找到所需删除的数据,因此在该技术方案中对于每个存储卷设置其对应的一级链表和二级链表,实现了不同存储卷上IO数据的有序管理。将各一级链表上完成响应的PIO数据或者超过第一预设时间未被调用的PIO数据迁移到二级链表上;当所述一级链表为空或者超过第二预设时间未从所述二级链表中调用数据,则将所述二级链表上的数据删除。在该技术方案中,通过对每个存储卷设置一级链表和二级链表,保证了同一存储卷的数据记录在同一链表中,无需再根据卷ID从链表查询所需清理的数据,有效的提升了IO数据的清理效率。并且通过设置一级链表和二级链表,将完成响应或者长时间未被调用的数据迁移到二级链表上,可以自动将无用的数据删除。
图3为本发明实施例提供的一种IO数据分类删除装置30的硬件结构示意图,包括:
存储器31,用于存储计算机程序;
处理器32,用于执行计算机程序以实现如上述任意一项IO数据分类删除方法的步骤。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述任一项IO数据分类删除方法的步骤。
以上对本发明实施例所提供的一种IO数据分类删除方法、装置和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
Claims (8)
1.一种IO数据分类删除方法,其特征在于,包括:
执行IO数据的读写操作时,根据IO数据与存储卷的映射关系,将所述IO数据挂载到相匹配的一级链表上;其中,每个存储卷有其对应的一级链表和二级链表;
将各所述一级链表上完成响应的PIO数据或者超过第一预设时间未被调用的PIO数据迁移到二级链表上;
当所述一级链表为空或者超过第二预设时间未从所述二级链表中调用数据,则将所述二级链表上的数据删除;
所述执行IO数据的读写操作时,根据IO数据与存储卷的映射关系,将所述IO数据挂载到相匹配的一级链表上包括:
当执行IO数据的读写操作时,判断IO数据的数据量大小是否超过预设阈值;
若否,则根据IO数据与存储卷的映射关系,查找相匹配的一级链表,并将所述IO数据挂载到所述一级链表上;
若是,则根据IO数据与存储卷的映射关系,查找相匹配的一级链表,以及与所述一级链表ID相邻的目标链表,将所述IO数据拆分挂载到所述一级链表以及所述目标链表上;其中,拆分后的IO数据设置有相同的数据标识;
当IO数据的数据量大小超过预设阈值时,可承载的数据量最大的一级链表即为与该IO数据相匹配的一级链表。
2.根据权利要求1所述的方法,其特征在于,所述将各所述一级链表上完成响应的PIO数据或者超过第一预设时间未被调用的PIO数据迁移到二级链表上包括:
将各所述一级链表上完成响应的PIO数据或者超过第一预设时间未被调用的PIO数据按照其所属的HIO分类迁移到二级链表上;
相应的,当所述一级链表为空或者超过第二预设时间未从所述二级链表中调用数据,则将所述二级链表上的数据删除包括:
当所述一级链表上的目标HIO为空或者超过第二预设时间未从所述二级链表中调用与所述HIO对应的PIO数据,则将所述二级链表上归属于所述目标HIO的PIO数据删除。
3.根据权利要求1所述的方法,其特征在于,在所述一级链表为空或者超过第二预设时间未从所述二级链表中调用数据,则将所述二级链表上的数据删除之后还包括:
将所述目标链表中与已删除的数据具有相同数据标识的数据删除。
4.根据权利要求1-3任意一项所述的方法,其特征在于,在所述根据IO数据与存储卷的映射关系,将所述IO数据挂载到相匹配的一级链表之后还包括:
接收数据查询指令;其中,所述数据查询指令中携带有卷ID以及数据标识;
判断与所述卷ID相匹配的目标一级链表中是否存在与数据标识相对应的数据;
若是,则从所述目标一级链表中读取与所述数据标识相对应的数据;
若否,则从与所述卷ID相匹配的目标二级链表中读取与所述数据标识相对应的数据。
5.一种IO数据分类删除装置,其特征在于,包括挂载单元、迁移单元和删除单元;
所述挂载单元,用于执行IO数据的读写操作时,根据IO数据与存储卷的映射关系,将所述IO数据挂载到相匹配的一级链表上;其中,每个存储卷有其对应的一级链表和二级链表;
所述迁移单元,用于将各所述一级链表上完成响应的PIO数据或者超过第一预设时间未被调用的PIO数据迁移到二级链表上;
所述删除单元,用于当所述一级链表为空或者超过第二预设时间未从所述二级链表中调用数据,则将所述二级链表上的数据删除;
所述挂载单元包括判断子单元、查找子单元和拆分子单元;
所述判断子单元,用于当执行IO数据的读写操作时,判断IO数据的数据量大小是否超过预设阈值;若否,则触发所述查找子单元;若是,则触发所述拆分子单元;
所述查找子单元,用于根据IO数据与存储卷的映射关系,查找相匹配的一级链表,并将所述IO数据挂载到所述一级链表上;
所述拆分子单元,用于根据IO数据与存储卷的映射关系,查找相匹配的一级链表,以及与所述一级链表ID相邻的目标链表,将所述IO数据拆分挂载到所述一级链表以及所述目标链表上;其中,拆分后的IO数据设置有相同的数据标识;当IO数据的数据量大小超过预设阈值时,可承载的数据量最大的一级链表即为与该IO数据相匹配的一级链表。
6.根据权利要求5所述的装置,其特征在于,所述迁移单元具体用于将各所述一级链表上完成响应的PIO数据或者超过第一预设时间未被调用的PIO数据按照其所属的HIO分类迁移到二级链表上;
相应的所述删除单元具体用于当所述一级链表上的目标HIO为空或者超过第二预设时间未从所述二级链表中调用与所述HIO对应的PIO数据,则将所述二级链表上归属于所述目标HIO的PIO数据删除。
7.一种IO数据分类删除装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至4任意一项所述IO数据分类删除方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述IO数据分类删除方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911039094.2A CN110764711B (zh) | 2019-10-29 | 2019-10-29 | 一种io数据分类删除方法、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911039094.2A CN110764711B (zh) | 2019-10-29 | 2019-10-29 | 一种io数据分类删除方法、装置和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110764711A CN110764711A (zh) | 2020-02-07 |
CN110764711B true CN110764711B (zh) | 2022-03-22 |
Family
ID=69334843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911039094.2A Active CN110764711B (zh) | 2019-10-29 | 2019-10-29 | 一种io数据分类删除方法、装置和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110764711B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448517B (zh) * | 2021-06-04 | 2022-08-09 | 山东英信计算机技术有限公司 | 一种固态硬盘写大块数据处理方法、装置、设备及介质 |
CN116088770B (zh) * | 2023-03-20 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 数据管理方法及装置、***、电子设备、存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8850124B1 (en) * | 2005-06-10 | 2014-09-30 | American Megatrends, Inc. | Method, system, apparatus, and computer-readable medium for implementing caching in a storage system |
CN106484334A (zh) * | 2016-10-20 | 2017-03-08 | 郑州云海信息技术有限公司 | 一种释放预读资源的方法及装置 |
CN106991060A (zh) * | 2017-02-27 | 2017-07-28 | 华为技术有限公司 | 一种读cache的淘汰优化方法及装置 |
CN108121813A (zh) * | 2017-12-27 | 2018-06-05 | 东软集团股份有限公司 | 数据管理方法、装置、***、存储介质及电子设备 |
CN108280229A (zh) * | 2018-02-26 | 2018-07-13 | 腾讯科技(深圳)有限公司 | 内存数据读写方法和装置 |
CN109582467A (zh) * | 2018-12-18 | 2019-04-05 | 广东浪潮大数据研究有限公司 | 一种存储***中io请求的处理方法、***及相关装置 |
-
2019
- 2019-10-29 CN CN201911039094.2A patent/CN110764711B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8850124B1 (en) * | 2005-06-10 | 2014-09-30 | American Megatrends, Inc. | Method, system, apparatus, and computer-readable medium for implementing caching in a storage system |
CN106484334A (zh) * | 2016-10-20 | 2017-03-08 | 郑州云海信息技术有限公司 | 一种释放预读资源的方法及装置 |
CN106991060A (zh) * | 2017-02-27 | 2017-07-28 | 华为技术有限公司 | 一种读cache的淘汰优化方法及装置 |
CN108121813A (zh) * | 2017-12-27 | 2018-06-05 | 东软集团股份有限公司 | 数据管理方法、装置、***、存储介质及电子设备 |
CN108280229A (zh) * | 2018-02-26 | 2018-07-13 | 腾讯科技(深圳)有限公司 | 内存数据读写方法和装置 |
CN109582467A (zh) * | 2018-12-18 | 2019-04-05 | 广东浪潮大数据研究有限公司 | 一种存储***中io请求的处理方法、***及相关装置 |
Non-Patent Citations (2)
Title |
---|
Optimized Service Chain Placement Using Genetic Algorithm;Mohammad Ali Khoshkholghi;《IEEE》;20190822;全文 * |
集群化的虚拟共享卷服务***研究;杨树庆;《中国优秀硕士学位论文全文数据库(信息科技辑)》;20061015;I137-35 * |
Also Published As
Publication number | Publication date |
---|---|
CN110764711A (zh) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8224875B1 (en) | Systems and methods for removing unreferenced data segments from deduplicated data systems | |
RU2581560C2 (ru) | Способ сканирования файлов, клиентский компьютер и сервер | |
US10037336B1 (en) | Performing block deduplication using block sequence classifications | |
CN101826107B (zh) | 哈希数据处理方法和装置 | |
CN109800218B (zh) | 分布式存储***、存储节点设备和数据去重方法 | |
CN110764711B (zh) | 一种io数据分类删除方法、装置和计算机可读存储介质 | |
RU2014127817A (ru) | Система и способ управления и организации кэша веб-браузера | |
CN109726177A (zh) | 一种基于HBase的海量文件分区索引方法 | |
CN111198856B (zh) | 文件管理方法、装置、计算机设备和存储介质 | |
CN110888837B (zh) | 对象存储小文件归并方法及装置 | |
CN111339293B (zh) | 告警事件的数据处理方法、装置和告警事件的分类方法 | |
US20120254173A1 (en) | Grouping data | |
CN107480260B (zh) | 大数据实时分析方法、装置、计算设备及计算机存储介质 | |
CN104092670A (zh) | 网络缓存服务器处理文件的方法及处理缓存文件的设备 | |
CN107608860A (zh) | 一种错误日志分类存储的方法、装置、设备 | |
CN105243027A (zh) | 在存储设备中存储数据的方法和存储控制器 | |
CN111782707A (zh) | 一种数据查询方法及*** | |
CN108334675B (zh) | 数字飞行器工况集批量仿真的人工智能处理方法及*** | |
CN109144428A (zh) | 一种应用于固态硬盘的垃圾回收方法、设备及介质 | |
CN104035822A (zh) | 一种低开销的高效内存去冗余方法及*** | |
CN107193498B (zh) | 一种对数据进行去重复处理的方法及装置 | |
CN110352410A (zh) | 跟踪索引节点的访问模式以及预提取索引节点 | |
CN105701128A (zh) | 一种查询语句的优化方法和装置 | |
CN107590233B (zh) | 一种文件管理方法及装置 | |
CN104750846A (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 |