CN117055819A - 一种存储卷删除方法、系统、设备及介质 - Google Patents
一种存储卷删除方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN117055819A CN117055819A CN202311108871.0A CN202311108871A CN117055819A CN 117055819 A CN117055819 A CN 117055819A CN 202311108871 A CN202311108871 A CN 202311108871A CN 117055819 A CN117055819 A CN 117055819A
- Authority
- CN
- China
- Prior art keywords
- volume
- deletion
- controller
- variable
- task
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012217 deletion Methods 0.000 claims abstract description 217
- 230000037430 deletion Effects 0.000 claims abstract description 217
- 238000013507 mapping Methods 0.000 claims abstract description 50
- 230000004044 response Effects 0.000 claims abstract description 46
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
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
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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
-
- 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)
- 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)
Abstract
本发明属于存储领域,具体涉及一种存储卷删除方法、系统、设备及介质。其中方法包括:为每个存储卷创建第一卷删变量,并将第一卷删变量的预定数据位与存储系统上的控制器建立单一映射关联关系;响应于产生删除任务,将删除任务发送给各个控制器,并通过各个控制器执行删除任务;响应于对应的控制器执行完删除任务,将控制器在第一卷删变量上关联的位置的预定数据位的数值置为预定值;判断第一卷删变量的数据是否等于目标值,响应于第一卷删变量的数据等于目标值,向上层应用发送存储卷删除任务执行完成,并将第一卷删变量初始化。通过本发明提出的一种存储卷删除方法,能够完全释放控制器的运行效能,可有效提高控制器处理存储卷删除任务能力。
Description
技术领域
本发明属于存储领域,具体涉及一种存储卷删除方法、系统、设备及介质。
背景技术
在高端存储上,一般为多个控制器为一个存储系统,此时所有的存储系统相关的业务都会平均分配到多个控制器上去一起处理,具体组织方式如图1所示。无归属卷则是存储系统中一种新类型的卷,这种卷没有固定的归属控制器,每个控制器管理着一定量的数据和元数据。在传统的存储系统中,往往是由两个控制器组成,主控制器负责管理存储系统的全部业务,第二个控制器负责把主控制器的内容进行备份,并且当坏掉一个控制器后随时准备接手业务。删卷时也是在第二个控制器上进行处理后,相关的内容同步给主控制器,删卷完成后,只发送一次消息就可以进行下一步的处理,把结果反馈给用户。
在高端存储上由于所有控制器都要处理删卷任务,所以只发送一次消息是不够的。在以往的技术实践中,往往每个控制器都要发送一次消息,并把这个消息同步给所有的控制器,当所有控制器都完成其消息的同步后,并且检测所有在线的控制器都发送了消息后,才能开始去进行下一步的处理。但这样的话不仅要在每个控制器存储好几个已发送消息的控制器的变量,而且每一次同步消息也极其的耗时,影响了删卷的响应速度,降低了用户的体验。
发明内容
为解决上述问题,本发明提出一种存储卷删除方法,包括:
为每个存储卷创建第一卷删变量,并将所述第一卷删变量的预定数据位与存储系统上的控制器建立单一映射关联关系;
响应于产生删除任务,将所述删除任务发送给各个控制器,并通过各个控制器执行所述删除任务;
响应于对应的控制器执行完所述删除任务,将所述控制器在第一卷删变量上关联的位置的预定数据位的数值置为预定值;
判断所述第一卷删变量的数据是否等于目标值,响应于所述第一卷删变量的数据等于目标值,向上层应用发送所述存储卷删除任务执行完成,并将所述第一卷删变量初始化。
在本发明的一些实施方式中,为每个存储卷创建第一卷删变量,并将所述第一卷删变量的预定数据位与存储系统上的控制器建立单一映射关联关系的步骤包括:
根据磁盘上控制器个数确定所述第一卷删变量的位数,并将所述第一卷删变量的每一位与磁盘上对应的控制器进行一一关联。
在本发明的一些实施方式中,方法还包括:
根据磁盘中控制器的个数将磁盘的元数据地址映射树拆分成与所述控制器的个数相同的元数据地址映射子树,并将所述元数据地址映射子树分别分配给对应的控制器。
在本发明的一些实施方式中,响应于产生删除任务,将所述删除任务发送给各个控制器,并通过各个控制器执行所述删除任务的步骤包括:
将相同的删除任务分发给各个控制器,在各个控制器上基于所述控制器对应的元数据地址映射子树和收到所述删除任务执行对目标元数据的删除操作。
在本发明的一些实施方式中,响应于产生删除任务,将所述删除任务发送给各个控制器,并通过各个控制器执行所述删除任务的步骤包括:
根据所述删除任务中的目标元数据所属的元数据地址映射子树对所述删除任务进行分类,将所述分类结果发送至元数据地址映射子树对应的控制器上,并根据所述分类结果生成第二卷删变量。
在本发明的一些实施方式中,判断所述第一卷删变量的数据是否等于目标值,响应于所述第一卷删变量的数据等于目标值,向上层应用发送所述存储卷删除任务执行完成,并将所述第一卷删变量初始化的步骤包括:
将所述第一卷删变量和所述第二卷删变量进行对比,响应于对比结果一致,则将所述删除任务的执行结果设置为完成;
响应于所述对比结果不一致,则将所述删除任务的执行结果设置为未完成。
在本发明的一些实施方式中,为每个存储卷创建第一卷删变量的步骤包括:
响应于任意的存储卷创建,在内存中创建关于所述存储卷的第一卷删变量并将所述第一卷删变量初始化为第二预定值。
本发明的另一方面还提出一种存储卷删除系统,包括:
初始化模块,所述初始化模块配置用于为每个存储卷创建第一卷删变量,并将所述第一卷删变量的预定数据位与存储系统上的控制器建立单一映射关联关系;
存储卷删除模块,所述存储卷删除模块配置用于响应于产生删除任务,将所述删除任务发送给各个控制器,并通过各个控制器执行所述删除任务;
存储卷控制模块,所述存储卷控制模块配置用于响应于对应的控制器执行完所述删除任务,将所述控制器在第一卷删变量上关联的位置的预定数据位的数值置为预定值;
存储卷判断模块,所述存储卷判断模块配置用于判断所述第一卷删变量的数据是否等于目标值,响应于所述第一卷删变量的数据等于目标值,向上层应用发送所述存储卷删除任务执行完成,并将所述第一卷删变量初始化。
本发明的又一方面还提出一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现上述实施方式中任意一项所述方法的步骤。
本发明的再一方面还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述实施方式中任意一项所述方法的步骤。
通过本发明提出的一种存储卷删除方法,对每个存储卷设定第一卷删变量并通过第一卷删变量中的对应位置来记录多个控制器对存储卷的删除操作,并根据第一卷删变量的变化判断删除任务是否完成,相比与传统的多个控制器相互通信删除进度的实现方式,各个控制器的删除任务无需等待其他控制器的删除任务的执行,并且各个控制器只负责处理分配到的任务,不存在相应的限制条件,能够完全释放控制器的运行效能,可有效提高控制器处理存储卷删除任务。
进一步,针对不同的控制器发送不同的删除任务,并通过第二卷删变量对收到删除任务的控制器的执行状态进行校验,没有分配到删除任务的控制器可自由执行其他任务,无需处理任何相关内容,实现对删除任务无关的控制器的调度隔离。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为传统的存储卷删除机制示意图;
图2为本发明实施例提供的一种存储卷删除方法的流程示意图;
图3为本发明实施例提供的一种存储卷删除方法的实施示意图;
图4为本发明实施例提供的一种存储卷删除系统的结构示意图;
图5为本发明实施例提供的一种计算机设备的结构示意图;
图6为本发明实施例提供的一种计算机可读存储介质的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
本发明旨在解决传统的高端存储删除精简池及精简卷时,因多个控制器之间的调度及通信机制造成的高耗时的问题。由于传统的高端存储系统中设置较多的控制器并行执行相应的存储操作,尤其在删除存储卷时,在处理一个存储卷的删除任务时需要多个控制器之间相互通知对应的操作状态,并且只有在所有控制器都完成其消息的同步,并且检测所有在线的控制器都发送了消息后,才能开始去进行下一步的处理。这一机制已经严重影响多个控制器之间的并行性。
为解决上述问题,本发明提出一种存储卷删除方法,如图2所示,包括:
步骤S1、为每个存储卷创建第一卷删变量,并将所述第一卷删变量的预定数据位与存储系统上的控制器建立单一映射关联关系;
步骤S2、响应于产生删除任务,将所述删除任务发送给各个控制器,并通过各个控制器执行所述删除任务;
步骤S3、响应于对应的控制器执行完所述删除任务,将所述控制器在第一卷删变量上关联的位置的预定数据位的数值置为预定值;
步骤S4、判断所述第一卷删变量的数据是否等于目标值,响应于所述第一卷删变量的数据等于目标值,向上层应用发送所述存储卷删除任务执行完成,并将所述第一卷删变量初始化。
在本发明的一些实施例中,在步骤S1中,对存储系统中的每个存储卷创建一个第一卷删变量,每一个存储卷都对应一个第一卷删变量。进一步,将存储系统上的控制器与第一卷删变量中的对应位置建立映射关系,即假设控制器的个数为4个,则将第一卷删变量中4个bit位作为对应的位置,然后根据控制器的编号或序号,将控制器和上述4个bit进行绑定。
在步骤S2中,当产生在某个存储卷中的删除任务时,将删除任务发送到存储系统上的各个控制器中,通过各个控制器同时并行执行删除任务。
在步骤S3中,当控制器根据删除任务处理完其所负责的删除任务之后,根据控制器所对应的编号,将该控制器该存储卷的第一卷删变量上的对应的bit位的值置为1。例如如果完成删卷任务的控制器是1,删除任务所对应的存储卷的编号为009,则将编号为009的存储卷的对应的第一卷删变量中与控制器1对应的位置上的值置为1。假设控制器1对应的是第一卷删变量的第一位,则将第一位的值置为1,以此类推,假设其他控制器随后也执行完,则根据执行完成的先后顺序依次将对应的位置的值置为1。
在步骤S4中,定期或者是每当发生一次关于第一卷删变量的更新就判断一次第一卷删变量的值是否全为1,全为1则代表各个控制器均执行完对应的删除任务。不全为1则说明存在个别的控制器未执行完对应的删除任务。如果执行完删除任务,则将第一卷删变量的值重新初始化为0,并向上层的调度程序发送对某存储卷删除操作完成的信息。
在本发明的一些实施方式中,为每个存储卷创建第一卷删变量,并将所述第一卷删变量的预定数据位与存储系统上的控制器建立单一映射关联关系的步骤包括:
根据磁盘上控制器个数确定所述第一卷删变量的位数,并将所述第一卷删变量的每一位与磁盘上对应的控制器进行一一关联。
在本发明的一些实施例中,第一卷删变量的数据长度与存储系统的控制器的个数一一对应并建立对应的关联关系,即有几个控制器则设置对应个bit长度的第一卷删变量,并且每个bit位都与对应的控制器绑定,当对应的控制器执行完删除任务之后,将对应的bit位的数值置为1。
在本发明的一些实施方式中,方法还包括:
根据存储系统中控制器的个数将存储系统的元数据地址映射树拆分成与所述控制器的个数相同的元数据地址映射子树,并将所述元数据地址映射子树分别分配给对应的控制器。
在本发明的一些实施例中,在向每个存储卷写入数据后,会有对应的元数据保存下来,通过逻辑地址(L)与物理地址(P),从而形成LP树,一个卷的容量有上限,所以LP树的个数也有上限,一般情况下是4096棵树为上限,平均分成4份,即四个子树,每一个控制器处理一份,也就是1024棵树。
在本发明的一些实施方式中,响应于产生删除任务,将所述删除任务发送给各个控制器,并通过各个控制器执行所述删除任务的步骤包括:
将相同的删除任务分发给各个控制器,在各个控制器上基于所述控制器对应的元数据地址映射子树和收到所述删除任务执行对目标元数据的删除操作。
在本发明的一些实施例中,分发删除任务是向所有的控制器发送同样的删除任务,如前所述,每个控制器都处理元数据地址映射子树,在控制器收到删除任务之后,便根据分到的元数据地址映射子树执行删除任务。即每个控制器去处理对应的1024棵树,通过遍历每一个LP树,根据对应树的坐标去获取其根节点的地址,然后通过这个地址去逐层遍历每一个L和P,再通过LP去找到PL,从而进行下一步的处理,将对应的元数据执行删除操作,一层一层遍历,直至清空。
在本发明的一些实施方式中,响应于产生删除任务,将所述删除任务发送给各个控制器,并通过各个控制器执行所述删除任务的步骤包括:
根据所述删除任务中的目标元数据所属的元数据地址映射子树对所述删除任务进行分类,将所述分类结果发送至元数据地址映射子树对应的控制器上,并根据所述分类结果生成第二卷删变量。
在本实施例中,下发给控制器的删除任务是根据对应的控制器所处理或所分配的元数据地址映射子树进行初步分类后再发送给对应的控制器执行,这种情况下,每个控制器分配到的删除任务只与其自身所处理的元数据地址映射子树相关,不会收到超出其所处理的元数据地址映射子树之外的删除任务。
进一步,针对每个控制器分到的删除任务设定第二卷删变量,即如果对应的控制器有需要执行的删除任务,则在第二卷删变量上该控制器所对应的bit位的值为1。如果删除任务中不存在该控制器执行的操作,则对应的bit位的值为0。
在本发明的一些实施方式中,判断所述第一卷删变量的数据是否等于目标值,响应于所述第一卷删变量的数据等于目标值,向上层应用发送所述存储卷删除任务执行完成,并将所述第一卷删变量初始化的步骤包括:
将所述第一卷删变量和所述第二卷删变量进行对比,响应于对比结果一致,则将所述删除任务的执行结果设置为完成;
响应于所述对比结果不一致,则将所述删除任务的执行结果设置为未完成。
在本实施例中,如前所述,在将删除任务分类后再分配给控制器,会存在部分控制器没有删除任务的情况,基于此设计了第二卷删变量,而没有分配删除任务的控制器不会去更新第一卷删变量,因此需要用第二卷删变量和第一卷删变量的对比来验证一个存储卷的删除任务是否完成,即如果对比结果一致,则说明删除完成,如果不一致则说明存在对应的控制器在执行删除任务还未完成。在这种情况下,则将对该存储卷的删除任务也设置为未完成,并且未分配到删除任务的控制器不会操作第一卷删变量的对应数值的更改,当控制器的个数较多时,不会出现多个控制器抢夺第一卷删变量的情况。
进一步,在通过第二卷删变量对第一卷删变量进行对比来判断各个控制器是否执行完时,只需根据第二卷删变量中值为1(假设值为1表示对应的控制器分配有删除任务)的位置,从第一卷删变量中对应位置读取数据进行比较,可大大降低对第一卷删变量和预定值的对比。例如假设某存储系统中,控制器的个数为32个,第一卷删变量至少需要32位,每一位分别对应1个控制器,如果采用和预定值(32个全为1的值)比较,这种机制下,32个控制器在拿到相同的删除任务后,需要对删除任务中相应的元数据进行判断,即判断要删除的元数据是否在该控制器所处理的元数据地址映射子树上,如果在,则将对应的元数据进行删除,然后再将第一卷删变量对应的位置置为1。如果不在,无需删除,但同样需要将第一卷删变量对应的位置置为1。进一步,需要等32个控制器全部对第一卷删变量的值进行修改后才将第一卷删变量与预定值比较,即和32个1比较,以判断是否所有的控制器都执行完成。
而在采用第二卷删变量的实施例中,以同样32个控制器为例,基于32个控制器所处理的元数据地址映射子树上的范围对删除任务进行分配,当对应的控制器的元数据地址映射子树上不存在要删除的元数据时,则无需分配任务,对应的第二卷删变量的值为0,控制器无需任何操作。当对比第一卷删变量和第二卷删变量时,只需根据第二卷删变量中为1的bit位的位置,从第一卷删变量中读取相应位置的数值进行一一对比,无需全部读取进行对比,即可大大降低控制器的数据操作量,以及对比时的数据读取和计算量。特别地,如果只需1个控制器去执行删除任务,则只需一个控制器操作第一卷删变量,对比时只需对比1个bit位上的数据是否一致即可。
在本发明的一些实施方式中,为每个存储卷创建第一卷删变量的步骤包括:
响应于任意的存储卷创建,在内存中创建关于所述存储卷的第一卷删变量并将所述第一卷删变量初始化为第二预定值。
在本发明的一些实施例中,在存储卷创建时,便对每个存储卷创建对应的第一卷删变量,同时将第一卷删变量的值全部置为0。
实施例:
如图3所示,在内存中分配一个byte位的deleteNodes用来记录哪个控制器完成了自己负责的删卷任务,当一个控制器完成了自己负责的删卷任务后,就会去执行更改这个deleteNodes,由于每个控制器都有自己的下标,自己是哪个下标就把这个deleteNodes转移成二进制后的哪一位置为1。当这个deleteNodes的所有位都置为1后,就能够确定所有控制器都完成了对应删除卷任务的处理。
在存储系统创建完精简池和精简卷后,对每一个卷都要声明一个其对应的deleteNodes(相当于第一卷删变量)在内存中进行保存。
在完成卷的创建之后,首先要将这个deleteNodes进行初始化为0,代表所有的控制器都没在进行或完成这个任务。
当我们将卷写入数据后,会有对应的元数据保存下来,通过逻辑地址(L)与物理地址(P),从而形成LP树,一个卷的容量有上限,所以LP树的个数也有上限,一般情况下是4096棵树为上限,平均分成4份,每一个控制器处理一份,也就是1024棵树。
启动删卷时,每个控制器去处理对应的1024棵树,通过遍历每一个LP树,根据对应树的坐标去获取其根节点的地址,然后通过这个地址去逐层遍历每一个L和P,再通过LP去找到PL,从而进行下一步的处理,将对应的元数据执行删除操作,一层一层遍历,直至清空。
当一个控制器完成删卷任务后,通过并的方式将deleteNodes的对应下标置为1,同时与之前已经声明过的所有在线的控制器(onlineNodes)的值进行比较。onlineNodes(相当于预定值,如果删除任务是分别发送给各个控制器的情况下,onlineNodes相当于第二卷删变量,即用来和第一卷删变量对比)是只要该控制器在线即将其下标对应的比特位置为1。
当所有控制器都完成删卷任务后,deleteNodes的值应与onlineNodes的值相等时,去进行下一步删卷的处理、反馈给用户等操作。同时将deleteNodes的值清零,回归到初始状态或者把申请deleteNodes所占用的内存去释放掉。
当有控制器发生异常状态后,会有一个控制器接手他未完成的任务,删除从1024棵树变成2048棵树,但是onlineNodes的值也会随着在线控制器的数量的变化而进行改变。故判断deleteNodes与onlineNodes的值相等从而结束删卷任务的条件并没有发生改变,所以不影响最后的结束条件。
其中deleteNodes和onlineNodes的变量的大小是根据控制器的数量来决定的,4个控制器只需要4个比特位,如果以后拓展到了32个控制器的话,deleteNodes的大小就应为32个比特位,也就是4个字节的大小。通过deleteNodes来记录各个控制器的执行状态,可以有效提高删除精简池精简卷的速度以及多控制器同时删除带来的反馈速度的提升。
通过本发明提出的一种存储卷删除方法,可以有效提升在高端存储上删除精简池精简卷的删除速度,在正常情况下这种删除精简卷的速度是同等正常情况下删卷速度的4倍左右,因为参与处理删卷的控制器个数从一个提升到了4个,所以删卷的速度也会因为参与控制器数量的提升而提升。
将元数据按照控制器个数去平均分份全部都参与到删卷的任务中来,提升了删除精简池精简卷的速度。通过一个deleteNodes变量来确定对应控制器是否完成任务,提升了各个控制器同步消息时的响应速度。
本发明的另一方面还提出一种存储卷删除系统,如图4所示,其包括:
初始化模块1,所述初始化模块1配置用于为每个存储卷创建第一卷删变量,并将所述第一卷删变量的预定数据位与存储系统上的控制器建立单一映射关联关系;
存储卷删除模块2,所述存储卷删除模块2配置用于响应于产生删除任务,将所述删除任务发送给各个控制器,并通过各个控制器执行所述删除任务;
存储卷控制模块3,所述存储卷控制模块3配置用于响应于对应的控制器执行完所述删除任务,将所述控制器在第一卷删变量上关联的位置的预定数据位的数值置为预定值;
存储卷判断模块4,所述存储卷判断模块4配置用于判断所述第一卷删变量的数据是否等于目标值,响应于所述第一卷删变量的数据等于目标值,向上层应用发送所述存储卷删除任务执行完成,并将所述第一卷删变量初始化。
如图5所示,本发明的又一方面还提出一种计算机设备,包括:
至少一个处理器21;以及
存储器22,所述存储器22存储有可在所述处理器21上运行的计算机指令23,所述指令23由所述处理器21执行时实现一种存储卷删除方法,包括:
为每个存储卷创建第一卷删变量,并将所述第一卷删变量的预定数据位与存储系统上的控制器建立单一映射关联关系;
响应于产生删除任务,将所述删除任务发送给各个控制器,并通过各个控制器执行所述删除任务;
响应于对应的控制器执行完所述删除任务,将所述控制器在第一卷删变量上关联的位置的预定数据位的数值置为预定值;
判断所述第一卷删变量的数据是否等于目标值,响应于所述第一卷删变量的数据等于目标值,向上层应用发送所述存储卷删除任务执行完成,并将所述第一卷删变量初始化。
在本发明的一些实施方式中,为每个存储卷创建第一卷删变量,并将所述第一卷删变量的预定数据位与存储系统上的控制器建立单一映射关联关系的步骤包括:
根据存储系统上控制器个数确定所述第一卷删变量的位数,并将所述第一卷删变量的每一位与存储系统上对应的控制器进行一一关联。
在本发明的一些实施方式中,方法还包括:
根据存储系统中控制器的个数将存储系统的元数据地址映射树拆分成与所述控制器的个数相同的元数据地址映射子树,并将所述元数据地址映射子树分别分配给对应的控制器。
在本发明的一些实施方式中,响应于产生删除任务,将所述删除任务发送给各个控制器,并通过各个控制器执行所述删除任务的步骤包括:
将相同的删除任务分发给各个控制器,在各个控制器上基于所述控制器对应的元数据地址映射子树和收到所述删除任务执行对目标元数据的删除操作。
在本发明的一些实施方式中,响应于产生删除任务,将所述删除任务发送给各个控制器,并通过各个控制器执行所述删除任务的步骤包括:
根据所述删除任务中的目标元数据所属的元数据地址映射子树对所述删除任务进行分类,将所述分类结果发送至元数据地址映射子树对应的控制器上,并根据所述分类结果生成第二卷删变量。
在本发明的一些实施方式中,判断所述第一卷删变量的数据是否等于目标值,响应于所述第一卷删变量的数据等于目标值,向上层应用发送所述存储卷删除任务执行完成,并将所述第一卷删变量初始化的步骤包括:
将所述第一卷删变量和所述第二卷删变量进行对比,响应于对比结果一致,则将所述删除任务的执行结果设置为完成;
响应于所述对比结果不一致,则将所述删除任务的执行结果设置为未完成。
在本发明的一些实施方式中,为每个存储卷创建第一卷删变量的步骤包括:
响应于任意的存储卷创建,在内存中创建关于所述存储卷的第一卷删变量并将所述第一卷删变量初始化为第二预定值。
如图6所示,本发明的再一方面还提出一种计算机可读存储介质401,所述计算机可读存储介质401存储有计算机程序402,所述计算机程序402被处理器执行时实现一种存储卷删除方法,包括:
为每个存储卷创建第一卷删变量,并将所述第一卷删变量的预定数据位与存储系统上的控制器建立单一映射关联关系;
响应于产生删除任务,将所述删除任务发送给各个控制器,并通过各个控制器执行所述删除任务;
响应于对应的控制器执行完所述删除任务,将所述控制器在第一卷删变量上关联的位置的预定数据位的数值置为预定值;
判断所述第一卷删变量的数据是否等于目标值,响应于所述第一卷删变量的数据等于目标值,向上层应用发送所述存储卷删除任务执行完成,并将所述第一卷删变量初始化。
在本发明的一些实施方式中,为每个存储卷创建第一卷删变量,并将所述第一卷删变量的预定数据位与存储系统上的控制器建立单一映射关联关系的步骤包括:
根据存储系统上控制器个数确定所述第一卷删变量的位数,并将所述第一卷删变量的每一位与存储系统上对应的控制器进行一一关联。
在本发明的一些实施方式中,方法还包括:
根据存储系统中控制器的个数将存储系统的元数据地址映射树拆分成与所述控制器的个数相同的元数据地址映射子树,并将所述元数据地址映射子树分别分配给对应的控制器。
在本发明的一些实施方式中,响应于产生删除任务,将所述删除任务发送给各个控制器,并通过各个控制器执行所述删除任务的步骤包括:
将相同的删除任务分发给各个控制器,在各个控制器上基于所述控制器对应的元数据地址映射子树和收到所述删除任务执行对目标元数据的删除操作。
在本发明的一些实施方式中,响应于产生删除任务,将所述删除任务发送给各个控制器,并通过各个控制器执行所述删除任务的步骤包括:
根据所述删除任务中的目标元数据所属的元数据地址映射子树对所述删除任务进行分类,将所述分类结果发送至元数据地址映射子树对应的控制器上,并根据所述分类结果生成第二卷删变量。
在本发明的一些实施方式中,判断所述第一卷删变量的数据是否等于目标值,响应于所述第一卷删变量的数据等于目标值,向上层应用发送所述存储卷删除任务执行完成,并将所述第一卷删变量初始化的步骤包括:
将所述第一卷删变量和所述第二卷删变量进行对比,响应于对比结果一致,则将所述删除任务的执行结果设置为完成;
响应于所述对比结果不一致,则将所述删除任务的执行结果设置为未完成。
在本发明的一些实施方式中,为每个存储卷创建第一卷删变量的步骤包括:
响应于任意的存储卷创建,在内存中创建关于所述存储卷的第一卷删变量并将所述第一卷删变量初始化为第二预定值。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种存储卷删除方法,其特征在于,包括:
为每个存储卷创建第一卷删变量,并将所述第一卷删变量的预定数据位与存储系统上的控制器建立单一映射关联关系;
响应于产生删除任务,将所述删除任务发送给各个控制器,并通过各个控制器执行所述删除任务;
响应于对应的控制器执行完所述删除任务,将所述控制器在第一卷删变量上关联的位置的预定数据位的数值置为预定值;
判断所述第一卷删变量的数据是否等于目标值,响应于所述第一卷删变量的数据等于目标值,向上层应用发送所述存储卷删除任务执行完成,并将所述第一卷删变量初始化。
2.根据权利要求1所述的方法,其特征在于,所述为每个存储卷创建第一卷删变量,并将所述第一卷删变量的预定数据位与存储系统上的控制器建立单一映射关联关系的步骤包括:
根据磁盘上控制器个数确定所述第一卷删变量的位数,并将所述第一卷删变量的每一位与磁盘上对应的控制器进行一一关联。
3.根据权利要求1所述的方法,其特征在于,还包括:
根据磁盘中控制器的个数将磁盘的元数据地址映射树拆分成与所述控制器的个数相同的元数据地址映射子树,并将所述元数据地址映射子树分别分配给对应的控制器。
4.根据权利要求3所述的方法,其特征在于,所述响应于产生删除任务,将所述删除任务发送给各个控制器,并通过各个控制器执行所述删除任务的步骤包括:
将相同的删除任务分发给各个控制器,在各个控制器上基于所述控制器对应的元数据地址映射子树和收到所述删除任务执行对目标元数据的删除操作。
5.根据权利要求3所述的方法,其特征在于,所述响应于产生删除任务,将所述删除任务发送给各个控制器,并通过各个控制器执行所述删除任务的步骤包括:
根据所述删除任务中的目标元数据所属的元数据地址映射子树对所述删除任务进行分类,将所述分类结果发送至元数据地址映射子树对应的控制器上,通过对应的控制器执行所述分类任务,并根据所述分类结果生成第二卷删变量。
6.根据权利要求5所述的方法,其特征在于,所述判断所述第一卷删变量的数据是否等于目标值,响应于所述第一卷删变量的数据等于目标值,向上层应用发送所述存储卷删除任务执行完成,并将所述第一卷删变量初始化的步骤包括:
将所述第一卷删变量和所述第二卷删变量进行对比,响应于对比结果一致,则将所述删除任务的执行结果设置为完成;
响应于所述对比结果不一致,则将所述删除任务的执行结果设置为未完成。
7.根据权利要求1所述的方法,其特征在于,所述为每个存储卷创建第一卷删变量的步骤包括:
响应于任意的存储卷创建,在内存中创建关于所述存储卷的第一卷删变量并将所述第一卷删变量初始化为第二预定值。
8.一种存储卷删除系统,其特征在于,包括:
初始化模块,所述初始化模块配置用于为每个存储卷创建第一卷删变量,并将所述第一卷删变量的预定数据位与存储系统上的控制器建立单一映射关联关系;
存储卷删除模块,所述存储卷删除模块配置用于响应于产生删除任务,将所述删除任务发送给各个控制器,并通过各个控制器执行所述删除任务;
存储卷控制模块,所述存储卷控制模块配置用于响应于对应的控制器执行完所述删除任务,将所述控制器在第一卷删变量上关联的位置的预定数据位的数值置为预定值;
存储卷判断模块,所述存储卷判断模块配置用于判断所述第一卷删变量的数据是否等于目标值,响应于所述第一卷删变量的数据等于目标值,向上层应用发送所述存储卷删除任务执行完成,并将所述第一卷删变量初始化。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-7任意一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311108871.0A CN117055819A (zh) | 2023-08-30 | 2023-08-30 | 一种存储卷删除方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311108871.0A CN117055819A (zh) | 2023-08-30 | 2023-08-30 | 一种存储卷删除方法、系统、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117055819A true CN117055819A (zh) | 2023-11-14 |
Family
ID=88667498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311108871.0A Pending CN117055819A (zh) | 2023-08-30 | 2023-08-30 | 一种存储卷删除方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117055819A (zh) |
-
2023
- 2023-08-30 CN CN202311108871.0A patent/CN117055819A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11023448B2 (en) | Data scrubbing method and apparatus, and computer readable storage medium | |
JP6458752B2 (ja) | ストレージ制御装置、ストレージシステム、ストレージ制御方法、および、プログラム | |
CN105700939A (zh) | 一种分布式系统中多线程同步的方法和系统 | |
CN103634379B (zh) | 一种分布式存储空间的管理方法和分布式存储系统 | |
JP4849960B2 (ja) | レプリケーションボリュームの容量拡張方法 | |
CN113037794B (zh) | 计算资源配置调度方法、装置及系统 | |
JP6475304B2 (ja) | トランザクション処理方法および装置 | |
US20190199794A1 (en) | Efficient replication of changes to a byte-addressable persistent memory over a network | |
EP3442201A1 (en) | Cloud platform construction method and cloud platform | |
CN108920725B (zh) | 一种对象存储的方法及对象存储网关 | |
CN104793981B (zh) | 一种虚拟机集群的在线快照管理方法及装置 | |
US11080909B2 (en) | Image layer processing method and computing device | |
JP2022521412A (ja) | 分散システムにおける非同期ストレージ管理 | |
CN107977310B (zh) | 一种遍历测试命令生成方法及装置 | |
US10491674B2 (en) | Network topology templates for internal states of management and control planes | |
CN111078119A (zh) | 一种数据重建方法、系统、装置及计算机可读存储介质 | |
US10693731B2 (en) | Flow entry management method and device | |
CN117055819A (zh) | 一种存储卷删除方法、系统、设备及介质 | |
CN111107120B (zh) | 一种Redis集群的构建方法及系统 | |
CN109358813A (zh) | 一种分布式存储系统的扩容方法及装置 | |
US10592112B2 (en) | Storage system software upgrade and data migration | |
US20180129516A1 (en) | Parameter determination device, parameter determination method, and medium | |
JP4639112B2 (ja) | リモートコピートポロジチェック方法 | |
US10437473B2 (en) | Storage system and method for scanning for devices | |
CN111769992A (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 |