CN105260129B - 一种回收卷空间的方法和装置 - Google Patents
一种回收卷空间的方法和装置 Download PDFInfo
- Publication number
- CN105260129B CN105260129B CN201510594984.5A CN201510594984A CN105260129B CN 105260129 B CN105260129 B CN 105260129B CN 201510594984 A CN201510594984 A CN 201510594984A CN 105260129 B CN105260129 B CN 105260129B
- Authority
- CN
- China
- Prior art keywords
- volume
- namespace
- data object
- space
- acquisition
- 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 44
- 238000004064 recycling Methods 0.000 title claims abstract description 16
- 238000012217 deletion Methods 0.000 claims abstract description 11
- 230000037430 deletion Effects 0.000 claims abstract description 11
- 230000003068 static effect Effects 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 6
- 241000406668 Loxodonta cyclotis Species 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 206010052428 Wound Diseases 0.000 description 1
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种回收卷空间的方法和装置,包括:获取需要回收的卷空间的卷的命名空间;根据获得的该卷的命名空间遍历该卷的命名空间内的数据对象,以确定该卷的命名空间内的全部数据对象的编号;按照获得的该卷的命名空间内的全部数据对象的编号进行数据对象的删除。本发明技术方案提高了回收卷空间的效率,提高了存储节点的业务处理性能,增强了用户的体验。
Description
技术领域
本发明涉及云存储领域,尤指一种回收卷空间的方法和装置。
背景技术
随着云计算及虚拟化技术的发展,传统的分散存储方式在数据资源管理和存储资源利用低的问题逐步显现出来。基于云存储系统的虚拟块设备,相比于传统的存储介质,其支持精简配置、可改变空间大小、数据易于备份、管理便捷等优势,成为构建海量存储系统的理想选择。
虚拟块设备由云存储系统以卷的形式向前端提供存储资源,经过相关功能模块处理,在客户端映射成为硬盘等设备,向该设备写入数据,即是向存储池中对应的卷空间内写入约定大小的数据对象(或称之为数据块)。在实际应用中,因用户需求变更、数据过期废弃等原因,需要对卷空间回收或重建,因此就要考虑卷空间回收效率的问题。
客户端中的数据是以数据对象的形式以一定的规则(比如哈希、轮询、随机,或者其它的均衡算法)离散地写在存储池中不同的存储节点上,因此需要约定规则为存储对象生成不同的编号,以便于数据对象的寻址,通常采用的方法是根据卷空间大小和约定的数据对象大小计算出每个对象的索引号,并加入其它静态的元数据特征生成存储对象的编号。在卷空间回收过程中的删除数据对象环节时,也会以此规则依次计算出每个数据对象的编号,从而逐一进行删除。这种回收卷空间方法的效率与卷空间大小成正比,如果卷较大时,较长的回收时间会严重影响用户的使用体验,同时长时间的并发删除操作也会影响存储节点的业务处理性能。
发明内容
为了解决上述技术问题,本发明提供了一种回收卷空间的方法和装置,能够提高回收卷空间的效率,提高存储节点的业务处理性能,增强用户的体验。
为了达到本发明目的,本发明提供了一种回收卷空间的方法,当需要回收卷空间时,包括:
获取需要回收的卷空间的卷的命名空间;
根据获得的该卷的命名空间遍历该卷的命名空间内的数据对象,以确定该卷的命名空间内的全部数据对象的编号;
按照获得的该卷的命名空间内的全部数据对象的编号进行数据对象的删除。
进一步地,该方法之前还包括:
为存储池中的各个卷生成对应的卷的命名空间;
将每个卷的数据对象放入生成的对应的卷的命名空间内。
进一步地,所述为存储池中的各个卷生成对应的卷的命名空间,包括:
获取各个卷的静态特征数据;
根据获得的各个卷的静态特征数据生成各个卷的命名空间。
进一步地,该方法还包括:将生成的卷的命名空间存储至该卷的元数据中。
进一步地,该方法之后还包括:删除所述需要回收的卷空间的卷的元数据并关闭所述需要回收的卷空间的卷。
本发明还提供了一种回收卷空间的装置,当需要回收卷空间时,包括:获取模块、处理模块和删除模块;其中,
获取模块,用于获取需要回收的卷空间的卷的命名空间;
处理模块,根据获得的该卷的命名空间遍历该卷的命名空间内的数据对象,以确定该卷的命名空间内的全部数据对象的编号;
删除模块,用于按照获得的该卷的命名空间内的全部数据对象的编号进行数据对象的删除。
进一步地,该装置还包括初始设置模块,用于:
为存储池中的各个卷生成对应的卷的命名空间;
将每个卷的数据对象放入生成的对应的卷的命名空间内。
进一步地,所述初始设置模块为存储池中的各个卷生成对应的卷的命名空间,包括:
获取各个卷的静态特征数据;
根据获得的各个卷的静态特征数据生成各个卷的命名空间。
进一步地,所述初始设置模块,还用于将生成的卷的命名空间存储至该卷的元数据中。
进一步地,所述删除模块,还用于删除所述需要回收的卷空间的卷的元数据并关闭所述需要回收的卷空间的卷。
本发明技术方案包括:获取需要回收的卷空间的卷的命名空间;根据获得的该卷的命名空间遍历该卷的命名空间内的数据对象,以确定该卷的命名空间内的全部数据对象的编号;按照获得的该卷的命名空间内的全部数据对象的编号进行数据对象的删除。本发明技术方案提高了回收卷空间的效率,提高了存储节点的业务处理性能,增强了用户的体验。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明回收卷空间的方法的流程图;
图2为本发明回收卷空间的装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
基于虚拟卷精简配置特征,数据对象并不占用全部卷空间,无需遍历所有数据对象。卷空间回收过程中,主要耗时在删除卷空间内的数据对象,也即删除数据对象的整体速度上决定了卷空间回收的效率。
要提升删除卷中数据对象的整体速度,发明人发现一个方法是对属于本卷的数据对象遵从约定的存储规则,统一命名编组,从逻辑上与存储池内其他数据对象隔离。这样在删除时就能够非常便捷地获取到卷中存在的数据对象,避免因无法获知卷中数据对象存在与否而需要根据规则计算出整卷的数据对象编号然后逐一删除一遍,由此实现将卷空间回收速度从与空间大小成正比调整为与卷中存在的数据对象的数量成正比。另外,发明人发现在实际应用中,一般情况下卷空间并未写满,仅删除存在的数据对象,可以有效地提高整体删除效率。
基于以上分析,发明人提出为存储池中每个卷生成特征唯一的命名空间,也可作为卷的元数据保存在存储系统中。这样可以有效的提高卷空间的回收效率以及提升用户的体验。
图1为本发明回收卷空间的方法的流程图,当需要回收卷空间时,如图1所示,包括:
步骤101:获取需要回收的卷空间的卷的命名空间。
进一步地,该方法之前还包括:
为存储池中的各个卷生成对应的卷的命名空间;
将每个卷的数据对象放入生成的对应的卷的命名空间内。
需要说明的是,如何将每个卷的数据对象放入生成的对应的卷的命名空间内属于本领域技术人员所熟知的惯用技术手段,在此不再赘述。
其中,为存储池中的各个卷生成对应的卷的命名空间,包括:
获取各个卷的静态特征数据;
根据获得的各个卷的静态特征数据生成各个卷的命名空间。
其中,静态特征数据至少包括但不限于身份标识(ID)。
需要说明的是,由于服务商提供的虚拟卷的实现方法有可能不同,但是卷ID作为标识应该是都有的,卷的其它静态特征数据如果有固定不变的卷名称、序列号或者其它创建时就已指定并且不再变动的数据,也可以使用。生成卷的命名空间的方法有很多,比如直接使用卷ID或者根据静态特征数据做散列计算都可以生成卷的命名空间。关于如何根据卷的静态特征数据生成卷的命名空间,属于本领域技术人员所熟知的惯用技术手段,在此不再赘述。卷的命名空间的生成方法主要是确保唯一性,如果需要指明卷的命名空间的命名方法,使用卷ID作为命名空间最为直接。
进一步地,该方法还包括:将生成的卷的命名空间存储至该卷的元数据中。进一步地,将存储有卷的命名空间的元数据存储至存储系统中该卷对应的位置。需要说明的是,关于如何将存储有卷的命名空间的元数据存储至存储系统中该卷对应的位置属于本领域技术人员所熟知的惯用技术手段,在此不再赘述,并不用来限制本发明。或者,将生成的卷的命名空间保存至客户端块设备(即数据对象)与存储系统交互的输入输出(IO)中。
进一步地,当读取或写入数据对象时,该方法还包括:
从与该数据对象的编号对应的卷的命名空间内读取该数据对象;或者,
将该数据对象写入与该数据对象的编号对应的卷的命名空间内。
需要说明的是,与该数据对象的编号对应的卷的命名空间是指包括该数据对象的编号的卷的命名空间。
步骤102:根据获得的该卷的命名空间遍历该卷的命名空间内的数据对象,以确定该卷的命名空间内的全部数据对象的编号。
步骤103:按照获得的该卷的命名空间内的全部数据对象的编号进行数据对象的删除。
进一步地,该方法之后还包括:删除需要回收的卷空间的卷的元数据并关闭需要回收的卷空间的卷。
本发明方法中,通过卷的命名空间确定到当前卷中的数据对象的编号,然后按照确定出的数据对象的编号进行数据对象的删除,不需要根据卷的大小计算出卷中的数据对象的数量,再根据对象的序号生成对象的编号依次删除一遍的繁琐过程,提高了回收卷空间的效率,从而提高了存储节点的业务处理性能,增强了用户的体验。
图2为本发明回收卷空间的装置的结构示意图,当需要回收卷空间时,如图2所示,包括:获取模块、处理模块和删除模块。其中,
获取模块,用于获取需要回收的卷空间的卷的命名空间。
处理模块,根据获得的该卷的命名空间遍历该卷的命名空间内的数据对象,以确定该卷的命名空间内的全部数据对象的编号。
删除模块,用于按照获得的该卷的命名空间内的全部数据对象的编号进行数据对象的删除。
进一步地,删除模块,还用于删除需要回收的卷空间的卷的元数据并关闭需要回收的卷空间的卷。
进一步地,该装置还包括初始设置模块,用于:
为存储池中的各个卷生成对应的卷的命名空间;
将每个卷的数据对象放入生成的对应的卷的命名空间内。
其中,初始设置模块为存储池中的各个卷生成对应的卷的命名空间,包括:
获取各个卷的静态特征数据;
根据获得的各个卷的静态特征数据生成各个卷的命名空间。
进一步地,初始设置模块,还用于将生成的卷的命名空间存储至该卷的元数据中。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种回收卷空间的方法,当需要回收卷空间时,其特征在于,包括:
获取各个卷的静态特征数据;
根据获得的各个卷的静态特征数据生成各个卷的命名空间;
将每个卷的数据对象放入生成的对应的卷的命名空间内;
获取需要回收的卷空间的卷的命名空间;
根据获得的该卷的命名空间遍历该卷的命名空间内的数据对象,以确定该卷的命名空间内的全部数据对象的编号;
按照获得的该卷的命名空间内的全部数据对象的编号进行数据对象的删除。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:将生成的卷的命名空间存储至该卷的元数据中。
3.根据权利要求1所述的方法,其特征在于,该方法之后还包括:删除所述需要回收的卷空间的卷的元数据并关闭所述需要回收的卷空间的卷。
4.一种回收卷空间的装置,当需要回收卷空间时,其特征在于,包括:初始设置模块、获取模块、处理模块和删除模块;其中,
初始设置模块,用于获取各个卷的静态特征数据,根据获得的各个卷的静态特征数据生成各个卷的命名空间;将每个卷的数据对象放入生成的对应的卷的命名空间内;
获取模块,用于获取需要回收的卷空间的卷的命名空间;
处理模块,根据获得的该卷的命名空间遍历该卷的命名空间内的数据对象,以确定该卷的命名空间内的全部数据对象的编号;
删除模块,用于按照获得的该卷的命名空间内的全部数据对象的编号进行数据对象的删除。
5.根据权利要求4所述的装置,其特征在于,所述初始设置模块,还用于将生成的卷的命名空间存储至该卷的元数据中。
6.根据权利要求4所述的装置,其特征在于,所述删除模块,还用于删除所述需要回收的卷空间的卷的元数据并关闭所述需要回收的卷空间的卷。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510594984.5A CN105260129B (zh) | 2015-09-17 | 2015-09-17 | 一种回收卷空间的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510594984.5A CN105260129B (zh) | 2015-09-17 | 2015-09-17 | 一种回收卷空间的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105260129A CN105260129A (zh) | 2016-01-20 |
CN105260129B true CN105260129B (zh) | 2018-06-26 |
Family
ID=55099837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510594984.5A Active CN105260129B (zh) | 2015-09-17 | 2015-09-17 | 一种回收卷空间的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105260129B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101556529A (zh) * | 2008-04-07 | 2009-10-14 | 株式会社日立制作所 | 具有多个存储系统模块的存储系统 |
CN102147770A (zh) * | 2011-03-28 | 2011-08-10 | 杭州电子科技大学 | 一种存储资源管理系统及方法 |
-
2015
- 2015-09-17 CN CN201510594984.5A patent/CN105260129B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101556529A (zh) * | 2008-04-07 | 2009-10-14 | 株式会社日立制作所 | 具有多个存储系统模块的存储系统 |
CN102147770A (zh) * | 2011-03-28 | 2011-08-10 | 杭州电子科技大学 | 一种存储资源管理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105260129A (zh) | 2016-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105474200B (zh) | 具有占位符的水合和脱水 | |
CN104298680B (zh) | 数据统计方法及数据统计装置 | |
CN106649349A (zh) | 用于游戏应用的数据缓存方法、装置和系统 | |
EP3779731A1 (en) | Distributed graph embedding method, apparatus and system, and device | |
CN103514210B (zh) | 小文件处理方法及装置 | |
CN106202569A (zh) | 一种基于大数据量的清洗方法 | |
CN104199728B (zh) | 图片传送信息展示方法和装置 | |
CN104503703B (zh) | 缓存的处理方法和装置 | |
CN106878370A (zh) | 一种本地缓存的更新方法和设备 | |
CN110113393A (zh) | 一种消息推送方法、装置、电子设备及介质 | |
CN109710185A (zh) | 数据处理方法及装置 | |
CN103701469A (zh) | 一种大规模图数据的压缩存储方法 | |
CN107241305A (zh) | 一种基于多核处理器的网络协议分析系统及其分析方法 | |
CN104657435A (zh) | 一种应用数据的存储管理方法和网络管理系统 | |
CN106330788B (zh) | 报文分片传输方法和装置 | |
CN110472087A (zh) | 一种表情图像推荐方法、装置、设备及介质 | |
CN107193503A (zh) | 一种数据重删方法及存储设备 | |
CN107850983A (zh) | 计算机系统、存储装置和数据的管理方法 | |
CN106874392A (zh) | 受众用户信息的索引存储及广告信息投放的方法和装置 | |
US20110264991A1 (en) | Method and System for Management of Electronic Mail Communication | |
CN106254270A (zh) | 一种队列管理方法及装置 | |
CN109196478A (zh) | 用于小对象的容错企业对象存储系统 | |
CN105260129B (zh) | 一种回收卷空间的方法和装置 | |
CN106254092A (zh) | 一种预警方法、装置及系统 | |
CN102722543B (zh) | 一种用于文件储存的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |