CN102945275A - 文件碎片整理方法、装置及设备 - Google Patents

文件碎片整理方法、装置及设备 Download PDF

Info

Publication number
CN102945275A
CN102945275A CN2012104438622A CN201210443862A CN102945275A CN 102945275 A CN102945275 A CN 102945275A CN 2012104438622 A CN2012104438622 A CN 2012104438622A CN 201210443862 A CN201210443862 A CN 201210443862A CN 102945275 A CN102945275 A CN 102945275A
Authority
CN
China
Prior art keywords
virtual
file
memory device
virtual volume
scrolling
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.)
Granted
Application number
CN2012104438622A
Other languages
English (en)
Other versions
CN102945275B (zh
Inventor
李经纬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
XFusion Digital Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210443862.2A priority Critical patent/CN102945275B/zh
Publication of CN102945275A publication Critical patent/CN102945275A/zh
Application granted granted Critical
Publication of CN102945275B publication Critical patent/CN102945275B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出了一种文件碎片整理方法和装置,该方法包括:向存储设备发送读取文件的信息的请求;接收所述存储设备发送的文件的信息,以获得所述文件的碎片在所述存储设备的虚拟卷上的分布;向所述存储设备查询并获得所述存储设备中虚拟卷页的大小,所述虚拟卷页是所述虚拟卷的最小存储单位;根据所述文件的碎片在所述虚拟卷上的分布以及所述虚拟卷页的大小,计算获得所述文件的碎片在所述虚拟卷页上的分布;向存储设备发送文件碎片整理请求,使得所述存储设备根据所述文件的碎片在所述虚拟卷页上的分布更改所述存储设备的磁盘块与虚拟卷页的映射关系,使所述文件在虚拟卷上呈现连续存储状态。

Description

文件碎片整理方法、装置及设备
技术领域
本发明涉及数据存储技术领域,尤其涉及一种文件碎片整理方法、装置及设备。
背景技术
Windows操作系统下的文件系统会存在文件碎片化的问题,即文件被分散保存在磁盘的不同地方,而不是连续地保存。碎片化的文件会导致文件系统不得不用更多的IO(输入输出,Input Output)来进行读写操作,这显然会降低性能,增加不必要的CPU、IO和带宽开销。
目前常采用磁盘碎片整理工具来对碎片进行整理,如Windows操作系统自带的碎片整理工具,或其它第三方的磁盘碎片整理工具。传统的磁盘碎片整理工具整理磁盘碎片的方法是将文件碎片从其原存储位置搬运到空闲的存储空间上,将分散的碎片重新以连续的方式排列回原存储空间上,从而形成文件在存储空间上的连续保存。
但是这样的磁盘碎片整理方法会带来以下问题:在碎片整理的过程中几乎不能进行IO访问;对于剩余磁盘空间过小,或严重碎片化的文件,整理时间非常长且整理效果很差,甚至由于不存在足够的空闲存储空间,而根本无法对其进行碎片整理。
发明内容
有鉴于此,本发明实施例提供了一种在整理过程对主机IO基本无影响,且不受磁盘空间过小或文件严重碎片化的影响的文件碎片整理方法、装置及设备。
为达此目的,在第一方面,本发明提出了一种文件碎片整理方法,包括:
向存储设备发送读取文件的信息的请求;
接收所述存储设备发送的文件的信息,以获得所述文件的碎片在所述存储设备的虚拟卷上的分布;
向所述存储设备查询并获得所述存储设备中虚拟卷页的大小,所述虚拟卷页是所述虚拟卷的最小存储单位;
根据所述文件的碎片在所述虚拟卷上的分布以及所述虚拟卷页的大小,计算获得所述文件的碎片在所述虚拟卷页上的分布;
向所述存储设备发送文件碎片整理请求,使得所述存储设备根据所述文件的碎片在所述虚拟卷页上的分布更改所述存储设备的磁盘块与虚拟卷页的映射关系,使所述文件在虚拟卷上呈现连续存储状态。
结合第一方面,在第一种可能的实施方式中,所述文件碎片整理方法还包括:
判断所述文件的碎片中是否有数据没有按虚拟卷页对齐;
如果是,则计算所述没有按虚拟卷页对齐的数据所需的空闲虚拟卷页的数量;
向所述存储设备发送分配指令,所述分配指令包括所述没有按虚拟卷页对齐的数据所需的空闲虚拟卷页的数量,使得所述存储设备按照所述分配指令分配空闲虚拟卷页;
向所述存储设备发送数据搬移指令,使得所述存储设备将所述没有按虚拟卷页对齐的数据搬移至所述空闲虚拟卷页,使所述数据按虚拟卷页对齐。
结合第一方面,在第二种可能的实施方式中,所述文件碎片整理方法还包括:修改所述文件的元数据。
结合第一方面,在第三种可能的实施方式中,在所述向存储设备发送文件碎片整理请求之前还包括:对所述文件进行加锁处理,以禁止访问所述文件。
在第二方面,本发明提出了一种文件碎片整理方法,包括:
根据主机发送的读取文件的信息的请求,向所述主机发送文件的信息,以提供所述文件的碎片在所述存储设备的虚拟卷上的分布;
根据所述主机发送的查询请求,向所述主机发送虚拟卷页的大小,所述虚拟卷页是虚拟卷的最小存储单位;
接收主机发送的文件碎片整理请求,所述文件碎片整理请求包括所述文件的碎片在所述虚拟卷页上的分布;
根据所述文件的碎片在所述虚拟卷页上的分布更改所述存储设备的磁盘块与虚拟卷页的映射关系,使所述文件在虚拟卷上呈现连续存储状态。
结合第二方面,在第一种可能的实施方式中,所述文件碎片整理方法还包括:
当所述主机判断出所述文件的碎片中有数据没有按虚拟卷页对齐时,接收所述主机发送的分配指令,所述分配指令包括所述没有按虚拟卷页对齐的数据所需的空闲虚拟卷页的数量;
给所述没有按虚拟卷页对齐的数据分配空闲虚拟卷页;
接收所述主机发送的数据搬移指令;
将所述没有按虚拟卷页对齐的数据搬移至所述空闲虚拟卷页,使所述数据按虚拟卷页对齐。
在第三方面,本发明提出了一种文件碎片整理装置,其特征在于,包括:
信息请求模块,向存储设备发送读取文件的信息的请求;
信息获取模块,接收所述存储设备发送的文件的信息,以获得所述文件的碎片在所述存储设备的虚拟卷上的分布;
查询模块,向所述存储设备查询并获得所述存储设备中虚拟卷页的大小,所述虚拟卷页是所述虚拟卷的最小存储单位;
计算模块,根据所述文件的碎片在所述虚拟卷上的分布以及所述虚拟卷页的大小,计算获得所述文件的碎片在所述虚拟卷页上的分布;
整理请求模块,向所述存储设备发送文件碎片整理请求,使得所述存储设备根据所述文件的碎片在所述虚拟卷页上的分布更改所述存储设备的磁盘块与虚拟卷页的映射关系,使所述文件在虚拟卷上呈现连续存储状态。
结合第三方面,在第一种可能的实施方式中,所述文件碎片整理装置还包括:
判断模块,判断所述文件的碎片中是否有数据没有按虚拟卷页对齐;如果是,则计算所述没有按虚拟卷页对齐的数据所需的空闲虚拟卷页的数量;
分配指令模块,向所述存储设备发送分配指令,所述分配指令包括所述没有按虚拟卷页对齐的数据所需的空闲虚拟卷页的数量,使得所述存储设备按照所述分配指令分配空闲虚拟卷页;
搬移指令模块,向所述存储设备发送数据搬移指令,使得所述存储设备将所述没有按虚拟卷页对齐的数据搬移至所述空闲虚拟卷页,使所述数据按虚拟卷页对齐。
结合第三方面,在第二种可能的实施方式中,所述文件碎片整理装置还包括:修改模块,修改所述文件的元数据。
结合第三方面,在第三种可能的实施方式中,所述文件碎片整理装置还包括:加锁模块,在所述向存储设备发送文件碎片整理请求之前对所述文件进行加锁处理,以禁止访问所述文件。
在第四方面,本发明提出了一种文件碎片整理装置,包括:
信息提供模块,根据主机发送的读取文件的信息的请求,向所述主机发送文件的信息,以提供所述文件的碎片在所述存储设备的虚拟卷上的分布;
查询响应模块,根据所述主机发送的查询请求,向所述主机发送虚拟卷页的大小,所述虚拟卷页是虚拟卷的最小存储单位;
整理请求接收模块,接收主机发送的文件碎片整理请求,所述文件碎片整理请求包括所述文件的碎片在所述虚拟卷页上的分布;
更改模块,根据所述文件的碎片在所述虚拟卷页上的分布更改所述存储设备的磁盘块与虚拟卷页的映射关系,使所述文件在虚拟卷上呈现连续存储状态。
结合第四方面,在第一种可能的实施方式中,所述文件碎片整理装置还包括:
分配指令接收模块,当所述主机判断出所述文件的碎片中有数据没有按虚拟卷页对齐时,接收所述主机发送的分配指令,所述分配指令包括所述没有按虚拟卷页对齐的数据所需的空闲虚拟卷页的数量;
分配模块,给所述没有按虚拟卷页对齐的数据分配空闲虚拟卷页;
搬移指令接收模块,接收所述主机发送的数据搬移指令;
搬移模块,将所述没有按虚拟卷页对齐的数据搬移至所述空闲虚拟卷页,使所述数据按虚拟卷页对齐。
本发明实施例在计算获得文件的碎片在存储设备的虚拟卷页上的分布以后,通过对所述存储设备的磁盘块与虚拟卷页的映射关系进行更改,使得文件在虚拟卷上呈现连续存储状态,由于没有对所述存储设备的磁盘块上的数据本身进行修改,所以对所述存储设备的磁盘块上的文件的物理存储形态没有改变,对主机IO也基本无影响,基本不损伤磁盘的寿命,且不受磁盘空间过小或文件严重碎片化的影响。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了磁盘阵列的分块及虚拟化的示意图;
图2示出了根据本发明的一个实施例的一种文件碎片整理方法的流程图;
图3a示出了文件碎片按虚拟卷页对齐的一个示例的虚拟卷的示意图;
图3b示出了根据本发明的一个实施例对图3a所示的虚拟卷进行文件碎片整理后得到的虚拟卷的示意图;
图4a示出了文件碎片没有按虚拟卷页对齐的一个示例的虚拟卷的示意图;
图4b示出了根据本发明的一个实施例对图4a所示的虚拟卷进行虚拟卷页对齐处理的示意图;
图4c示出了根据本发明的一个实施例对图4a所示的虚拟卷进行文件碎片整理后得到的虚拟卷的示意图;
图5示出了根据本发明的一个实施例的虚拟卷页对齐处理的流程图;
图6示出了根据本发明的另一个实施例的一种文件碎片整理方法的结构图;
图7示出了根据本发明的另一个实施例的虚拟卷页对齐处理的结构图;
图8示出了根据本发明的一个实施例的文件碎片整理装置的结构图;
图9示出了根据本发明的另一个实施例的文件碎片整理装置的结构图;
图10示出了根据本发明的另一个实施例的文件碎片整理装置的结构图;
图11示出了根据本发明的另一个实施例的文件碎片整理装置的结构图;
图12示出了根据本发明的一个实施例的一种文件碎片整理设备的结构图。
具体实施方式
下面将详细参考本发明的各实施例,其示例显示在附图和下文描述中。尽管结合示例性实施例描述了本发明,但应该理解,本说明书无意将本发明限制于这些示例性实施例。相反,本发明不仅覆盖这些示例性实施例,而且也覆盖包含在由所附权利要求书限定的本发明的实质和范围内的各种替代物、修改、等价物和其它实施例。
如图1所示,现代存储技术中的磁盘阵列的虚拟化功能将存储设备上所有磁盘的存储空间进行分块,然后将各个磁盘块按一定的原则组合成虚拟卷,向用户呈现为LUN(逻辑单元号,Logical Unit Number)。图1显示了基于RAID(独立冗余磁盘阵列,Redundant Array of Inexpensive Disks)原则组合虚拟卷的情况,其包括被分块的磁盘101,由磁盘块组成的RAID102,和由RAID组成的虚拟卷103。实际上,也可基于其他原则组合虚拟卷。此时每一个虚拟卷都有一个最小的组成单位(如果有RAID,则最小组成单位为RAID的大小;如果没有使用RAID,则最小的组成单位可以为上述磁盘块的大小),下文将虚拟卷的最小组成单位称为虚拟卷页。换言之,虚拟卷可由很多个物理空间连续或不连续的磁盘块组成,实际实现中,一般由将磁盘块映射到虚拟卷页的映射表对各个磁盘块进行组织,从而对用户以虚拟卷的形式呈现为一个连续的空间。
图2显示了根据本发明的一个实施例的一种文件碎片整理方法的流程图,在该实施例中,该方法主要包括:
S201,向存储设备发送读取文件的信息的请求;
S202,接收所述存储设备发送的文件的信息,以获得所述文件的碎片在所述存储设备的虚拟卷上的分布;
S203,向所述存储设备查询并获得所述存储设备中虚拟卷页的大小,所述虚拟卷页是所述虚拟卷的最小存储单位;
S204,根据所述文件的碎片在所述虚拟卷上的分布以及所述虚拟卷页的大小,计算获得所述文件的碎片在所述虚拟卷页上的分布;
S205,向所述存储设备发送文件碎片整理请求,使得所述存储设备根据所述文件的碎片在所述虚拟卷页上的分布更改所述存储设备的磁盘块与虚拟卷页的映射关系,使所述文件在虚拟卷上呈现连续存储状态。
在该实施例中,通过更改所述存储设备的磁盘块与虚拟卷中的虚拟卷页的映射关系,可将原本映射到不连续的虚拟卷页上的碎片映射到连续的虚拟卷页上,以在虚拟卷上呈现连续的存储状态,使得文件操作系统能够在虚拟卷上对文件进行连续读取。
由于在该实施例中,文件在磁盘上的物理存储状态并未改变,几乎不发生或仅发生很少的实际物理存储空间上的数据搬运,因此碎片整理的过程基本不损伤磁盘的寿命,且数据搬运可在存储后台进行,不消耗主机的CPU,使得整理速度至少提高1~2个数量级,且对主机IO基本无影响。
优选地,主机可例如通过文件系统API(应用编程接口,application programming interface))与存储设备进行通信。
优选地,在步骤S202中,所述文件的信息可从文件的元数据获得。在一个示例中,可通过文件的信息获得文件碎片在虚拟卷上逻辑地址,作为文件的碎片在虚拟卷上的分布。
优选地,在获得文件的碎片在虚拟卷上的分布以及虚拟卷页的大小之后,在步骤S204中,可计算获得文件的各碎片分别分布在哪些虚拟卷页上,作为文件的碎片在虚拟卷页上的分布。
其中,步骤S203也可在步骤S201之前进行,也就是说,本发明对获得文件的信息的操作与获得虚拟卷页的大小的操作的执行顺序不做限定。
在图3a所示的本发明的一个实施例中,文件的碎片在所述虚拟卷页上的分布为:按虚拟卷页对齐,即虚拟卷页被同一文件的碎片填充。具言之,如图3a所示,每一个方块代表一个虚拟卷页,多个阴影表示的碎片301代表一个文件的多个碎片,多个网格表示的碎片302代表另一个文件的多个碎片。如图3a所示的,碎片301映射在不连续的虚拟卷页上,碎片302也映射在不连续的虚拟卷页上,且碎片301和碎片302全部是按虚拟卷页对齐的,即每个虚拟卷页都被同一文件的碎片填充。在该实施例这种情况下,可在计算获得文件的碎片在虚拟卷页上的上述分布后,直接向存储设备发送文件碎片整理请求,使得所述存储设备根据所述文件的碎片在所述虚拟卷页上的分布更改所述存储设备的磁盘块与虚拟卷页的映射关系,使所述文件在虚拟卷上呈现连续存储状态,从而完成碎片整理。
图3b示出了按照图2所示实施例的方法对图3a所示的虚拟卷进行碎片整理后得到的数据呈连续分布状态的虚拟卷的示意图。
在图4a所示的本发明的另一个实施例中,文件的碎片在所述虚拟卷页上的分布为:没有按虚拟卷页对齐,即存在一个虚拟卷页被属于不同文件的碎片填充的情况。如图4a所示,每一个方块代表一个虚拟卷页,阴影表示的碎片401、网格表示的碎片402以及网点表示的碎片403分别代表三个文件的碎片。在虚线框出的区域中,有四个虚拟卷页存在文件碎片没有按虚拟卷页对齐的情况,即这四个虚拟卷页没有被来自同一文件的碎片填充满,而是被来自两个(或两个以上)的文件的碎片填充满。在这种情况下,可以在计算获得文件的碎片在虚拟卷页上的分布后,执行图5所示的虚拟卷页对齐处理,包括:
S501,判断所述文件的碎片中是否有数据没有按虚拟卷页对齐,如果是,则进入步骤S502,如果否,则结束该处理;
S502,计算所述没有按虚拟卷页对齐的数据所需的空闲虚拟卷页的数量,并进入步骤S503;
S503,向所述存储设备发送分配指令,所述分配指令包括所述没有按虚拟卷页对齐的数据所需的空闲虚拟卷页的数量,使得所述存储设备按照所述分配指令分配空闲虚拟卷页;
S504,向所述存储设备发送数据搬移指令,使得所述存储设备将所述没有按虚拟卷页对齐的数据搬移至所述空闲虚拟卷页,使搬移后的数据按虚拟卷页对齐。
在完成上述处理之后,可向存储设备发送文件碎片整理请求,使得所述存储设备根据所述文件的碎片在虚拟卷页(包含上述空闲虚拟卷页)上的分布更改所述存储设备的磁盘块与虚拟卷页的映射关系,使所述文件在虚拟卷上呈现连续存储状态。
优选地,在完成映射关系的更改之后,可释放空闲虚拟卷页。
图4b示出了根据图5所示的处理进行虚拟卷页对齐的过程,其中图4b的左侧示出了图4a中需要进行虚拟卷页对齐的数据,右侧示出了向分配的空闲虚拟卷页中搬移数据后得到按虚拟卷页对齐的数据。其中右侧的方块401a,402a,403a分别是图4a中的虚线框内的未按虚拟卷页对齐的碎片401、402、403构成的对齐后的虚拟卷页。
优选地,使得除位于两文件的交界处的虚拟卷页外,每个空闲的虚拟卷页上仅包含一个文件的碎片,并通过使任意一个包含两个文件的碎片的虚拟卷页(图4b中以方块404所示为例)刚好位于两个文件的交界处,使得无需为该虚拟卷页对应的两个文件的碎片分配空闲虚拟卷页并搬移该两个碎片,从而进一步节省整理时间。
优选地,该数据搬移可在后台进行,不消耗主机的CPU,对主机IO基本无影响。图4c示出了图4a所示的虚拟卷在完成碎片整理后得到的结果。
图4a中示出的是部分碎片按虚拟卷页对齐、部分碎片没有按虚拟卷页对齐的示例,类似的,对于全部碎片均没有按虚拟卷页对齐的情况,可依照步骤S501-S504对文件碎片进行搬移之后,针对搬移后的碎片在空闲虚拟卷页上的分布更改所述存储设备的磁盘块与虚拟卷页的映射关系,使文件在虚拟卷上呈现连续存储状态,完成碎片整理,并释放上述空闲虚拟卷页。
优选地,在步骤S205之后,可修改文件的元数据,以记录更改映射关系后的文件的信息。
优选地,在步骤S205开始之前还可对文件进行加锁,以禁止对该文件的访问,并可在上述步骤S205之后,解锁该文件。
图6示出了根据本发明的另一实施例的一种文件碎片整理方法,包括:
S601,根据主机发送的读取文件的信息的请求,向所述主机发送文件的信息,以提供所述文件的碎片在所述存储设备的虚拟卷上的分布;
S602,根据所述主机发送的查询请求,向所述主机发送虚拟卷页的大小,所述虚拟卷页是虚拟卷的最小存储单位;
S603,接收主机发送的文件碎片整理请求,所述文件碎片整理请求包括所述文件的碎片在所述虚拟卷页上的分布;
S604,根据所述文件的碎片在所述虚拟卷页上的分布更改所述存储设备的磁盘块与虚拟卷页的映射关系,使所述文件在虚拟卷上呈现连续存储状态。
优选地,当所述主机判断出所述文件的碎片中有数据没有按虚拟卷页对齐时,上述实施例中的方法还包括如图7所示的虚拟卷页对齐处理:
S701,接收所述主机发送的分配指令,所述分配指令包括所述没有按虚拟卷页对齐的数据所需的空闲虚拟卷页的数量;
S702,给所述没有按虚拟卷页对齐的数据分配空闲虚拟卷页;
S703,接收所述主机发送的数据搬移指令;
S704,将所述没有按虚拟卷页对齐的数据搬移至所述空闲虚拟卷页,使所述数据按虚拟卷页对齐。
图8示出了根据本发明的一个实施例的文件碎片整理装置800,包括:
信息请求模块801,向存储设备发送读取文件的信息的请求;
信息获取模块802,接收所述存储设备发送的文件的信息,以获得所述文件的碎片在所述存储设备的虚拟卷上的分布;
查询模块803,向所述存储设备查询并获得所述存储设备中虚拟卷页的大小,所述虚拟卷页是所述虚拟卷的最小存储单位;
计算模块804,根据所述文件的碎片在所述虚拟卷上的分布以及所述虚拟卷页的大小,计算获得所述文件的碎片在所述虚拟卷页上的分布;
整理请求模块805,向存储设备发送文件碎片整理请求,使得所述存储设备根据所述文件的碎片在所述虚拟卷页上的分布更改所述存储设备的磁盘块与虚拟卷页的映射关系,使所述文件在虚拟卷上呈现连续存储状态。
在图9所示的一个优选实施例中,所述文件碎片整理装置在图8所示的实施例的基础上还可包括如下模块,以实现虚拟卷页对齐:
判断模块901,判断所述文件的碎片中是否有数据没有按虚拟卷页对齐;如果是,则计算所述没有按虚拟卷页对齐的数据所需的空闲虚拟卷页的数量;
分配指令模块902,向所述存储设备发送分配指令,所述分配指令包括所述没有按虚拟卷页对齐的数据所需的空闲虚拟卷页的数量,使得所述存储设备按照所述分配指令分配空闲虚拟卷页;
搬移指令模块903,向所述存储设备发送数据搬移指令,使得所述存储设备将所述没有按虚拟卷页对齐的数据搬移至所述空闲虚拟卷页,使所述数据按虚拟卷页对齐。
优选地,所述文件碎片整理装置还可包括修改模块,以修改所述文件的元数据。
优选地,所述文件碎片整理装置还可包括加锁模块,以对所述文件进行加锁处理,从而禁止访问所述文件。
图10示出了根据本发明的另一实施例的一种文件碎片整理装置1000,包括:
信息提供模块1001,根据主机发送的读取文件的信息的请求,向所述主机发送文件的信息,以提供所述文件的碎片在所述存储设备的虚拟卷上的分布;
查询响应模块1002,根据所述主机发送的查询请求,向所述主机发送虚拟卷页的大小,所述虚拟卷页是虚拟卷的最小存储单位;
整理请求接收模块1003,接收主机发送的文件碎片整理请求,所述文件碎片整理请求包括所述文件的碎片在所述虚拟卷页上的分布;
更改模块1004,根据所述文件的碎片在所述虚拟卷页上的分布更改所述存储设备的磁盘块与虚拟卷页的映射关系,使所述文件在虚拟卷上呈现连续存储状态。
图11示出了本发明的另一优选实施例,其中文件碎片整理装置在图10所示的实施例的基础上还包括以下模块,以实现虚拟卷页对齐:
分配指令接收模块1101,当所述主机判断出所述文件的碎片中有数据没有按虚拟卷页对齐时,接收所述主机发送的分配指令,所述分配指令包括所述没有按虚拟卷页对齐的数据所需的空闲虚拟卷页的数量;
分配模块1102,给所述没有按虚拟卷页对齐的数据分配空闲虚拟卷页;
搬移指令接收模块1103,接收所述主机发送的数据搬移指令;
搬移模块1104,将所述没有按虚拟卷页对齐的数据搬移至所述空闲虚拟卷页,使所述数据按虚拟卷页对齐。
在本发明的一个实施例中,还提出一种文件碎片整理设备,其包括上述的文件碎片整理装置。
图12示出了本发明的另一个实施例的一种文件碎片整理设备的结构框图。所述设备1200可以是包含计算能力的主机服务器,或者是个人计算机PC,或者是可携带的便携式计算机或终端等等,本发明具体实施例并不对计算节点的具体实现做限定。所述设备包括:
处理器(processor)1210、通信接口(CommunicationsInterface)1220、存储器(memory array)1230和总线1240。
处理器1210、通信接口1220、以及存储器1230通过总线1240完成相互间的通信。
通信接口1220用于与网元通信,比如虚拟机管理中心、共享存储等。
处理器1210用于执行程序。
具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。
处理器1210可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器1230用于存放文件。存储器1230可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器,存储器1230也可以是存储器阵列。其中所述存储器1230可被分块,且所述块可按一定的原则组合成虚拟卷。
程序具体可用于:
向存储设备发送读取文件的信息的请求;
接收所述存储设备发送的文件的信息,以获得所述文件的碎片在所述存储设备的虚拟卷上的分布;
向所述存储设备查询并获得所述存储设备中虚拟卷页的大小,所述虚拟卷页是所述虚拟卷的最小存储单位;
根据所述文件的碎片在所述虚拟卷上的分布以及所述虚拟卷页的大小,计算获得所述文件的碎片在所述虚拟卷页上的分布;
向存储设备发送文件碎片整理请求,使得所述存储设备根据所述文件的碎片在所述虚拟卷页上的分布更改所述存储设备的磁盘块与虚拟卷页的映射关系,使所述文件在虚拟卷上呈现连续存储状态。
优选地,存储器1230提供以下指令供处理器1210调用:
指令1,查询虚拟卷页大小的指令;
指令2,根据所述文件的碎片在所述虚拟卷页上的分布更改所述存储设备的磁盘块与虚拟卷页的映射关系,使所述文件在虚拟卷上呈现连续存储状态的指令;
指令3,分配空闲虚拟卷页的指令,及对应的释放指令;
指令4,将所述没有按虚拟卷页对齐的数据搬移至所述空闲虚拟卷页,使所述数据按虚拟卷页对齐的指令。
优选地,对于按虚拟卷页对齐的数据,处理器直接调用指令1和指令2整理文件碎片;对于没有按虚拟卷页对齐的数据,处理器调用指令1至指令4来整理文件碎片。
本发明提出的文件碎片整理方法、装置及系统,由于仅发生很少的数据搬运,且数据搬运在存储后台进行,不消耗主机的CPU,碎片整理速度至少提高1~2个数量级。
由于仅发生很少的数据搬运,且数据搬运在存储后台进行,不消耗主机的CPU,仅需要在重新碎片整理过程中对用户的主机IO基本无影响。
由于仅发生很少的数据搬运,碎片整理过程基本不损伤磁盘的寿命。
由于仅需要分配少量的空闲虚拟卷页进行数据搬运,所以剩余磁盘空间过小,或严重碎片化的文件整理效果完全不受影响。
采用本发明后,用户能够将碎片整理常态化,每日业务压力最小的数分钟完成碎片的整理。保持存储的无碎片化状态。
上文为了描绘和描述的目的,呈现了本发明的特定示例性实施例。这些示例性实施例并非穷举的,或将本发明限制为公开的精确形式,明显地,根据上述教示的诸多修改和变化都是可行的。选择并描述这些示例性实施例是为了解释本发明的特定原理及其实际应用,从而使本领域技术人员制造并使用本发明的各个示例性实施例,及其各种替代物和修改。事实上本发明的范围由所附的权利要求书及其等价物限定。

Claims (12)

1.一种文件碎片整理方法,其特征在于,包括:
向存储设备发送读取文件的信息的请求;
接收所述存储设备发送的文件的信息,以获得所述文件的碎片在所述存储设备的虚拟卷上的分布;
向所述存储设备查询并获得所述存储设备中虚拟卷页的大小,所述虚拟卷页是所述虚拟卷的最小存储单位;
根据所述文件的碎片在所述虚拟卷上的分布以及所述虚拟卷页的大小,计算获得所述文件的碎片在所述虚拟卷页上的分布;
向所述存储设备发送文件碎片整理请求,使得所述存储设备根据所述文件的碎片在所述虚拟卷页上的分布更改所述存储设备的磁盘块与虚拟卷页的映射关系,使所述文件在虚拟卷上呈现连续存储状态。
2.根据权利要求1所述的方法,其特征在于,还包括:
判断所述文件的碎片中是否有数据没有按虚拟卷页对齐;
如果是,则计算所述没有按虚拟卷页对齐的数据所需的空闲虚拟卷页的数量;
向所述存储设备发送分配指令,所述分配指令包括所述没有按虚拟卷页对齐的数据所需的空闲虚拟卷页的数量,使得所述存储设备按照所述分配指令分配空闲虚拟卷页;
向所述存储设备发送数据搬移指令,使得所述存储设备将所述没有按虚拟卷页对齐的数据搬移至所述空闲虚拟卷页,使所述数据按虚拟卷页对齐。
3.根据权利要求1所述的方法,其特征在于,还包括:
修改所述文件的元数据。
4.根据权利要求1所述的方法,其特征在于,在所述向存储设备发送文件碎片整理请求之前还包括:
对所述文件进行加锁处理,以禁止访问所述文件。
5.一种文件碎片整理方法,其特征在于,包括:
根据主机发送的读取文件的信息的请求,向所述主机发送文件的信息,以提供所述文件的碎片在所述存储设备的虚拟卷上的分布;
根据所述主机发送的查询请求,向所述主机发送虚拟卷页的大小,所述虚拟卷页是虚拟卷的最小存储单位;
接收主机发送的文件碎片整理请求,所述文件碎片整理请求包括所述文件的碎片在所述虚拟卷页上的分布;
根据所述文件的碎片在所述虚拟卷页上的分布更改所述存储设备的磁盘块与虚拟卷页的映射关系,使所述文件在虚拟卷上呈现连续存储状态。
6.根据权利要求5所述的方法,其特征在于,还包括:
当所述主机判断出所述文件的碎片中有数据没有按虚拟卷页对齐时,接收所述主机发送的分配指令,所述分配指令包括所述没有按虚拟卷页对齐的数据所需的空闲虚拟卷页的数量;
给所述没有按虚拟卷页对齐的数据分配空闲虚拟卷页;
接收所述主机发送的数据搬移指令;
将所述没有按虚拟卷页对齐的数据搬移至所述空闲虚拟卷页,使所述数据按虚拟卷页对齐。
7.一种文件碎片整理装置,其特征在于,包括:
信息请求模块,向存储设备发送读取文件的信息的请求;
信息获取模块,接收所述存储设备发送的文件的信息,以获得所述文件的碎片在所述存储设备的虚拟卷上的分布;
查询模块,向所述存储设备查询并获得所述存储设备中虚拟卷页的大小,所述虚拟卷页是所述虚拟卷的最小存储单位;
计算模块,根据所述信息获取模块获得的所述文件的碎片在所述虚拟卷上的分布以及所述查询模块查询到的所述虚拟卷页的大小,计算获得所述文件的碎片在所述虚拟卷页上的分布;
整理请求模块,向所述存储设备发送文件碎片整理请求,使得所述存储设备根据所述文件的碎片在所述虚拟卷页上的分布更改所述存储设备的磁盘块与虚拟卷页的映射关系,使所述文件在虚拟卷上呈现连续存储状态。
8.根据权利要求7所述的装置,其特征在于,还包括:
判断模块,判断所述文件的碎片中是否有数据没有按虚拟卷页对齐;如果是,则计算所述没有按虚拟卷页对齐的数据所需的空闲虚拟卷页的数量;
分配指令模块,向所述存储设备发送分配指令,所述分配指令包括所述没有按虚拟卷页对齐的数据所需的空闲虚拟卷页的数量,使得所述存储设备按照所述分配指令分配空闲虚拟卷页;
搬移指令模块,向所述存储设备发送数据搬移指令,使得所述存储设备将所述没有按虚拟卷页对齐的数据搬移至所述空闲虚拟卷页,使所述数据按虚拟卷页对齐。
9.根据权利要求8所述的装置,其特征在于,还包括:
修改模块,修改所述文件的元数据。
10.根据权利要求7所述的装置,其特征在于,还包括:
加锁模块,在所述向存储设备发送文件碎片整理请求之前对所述文件进行加锁处理,以禁止访问所述文件。
11.一种文件碎片整理装置,其特征在于,包括:
信息提供模块,根据主机发送的读取文件的信息的请求,向所述主机发送文件的信息,以提供所述文件的碎片在所述存储设备的虚拟卷上的分布;
查询响应模块,根据所述主机发送的查询请求,向所述主机发送虚拟卷页的大小,所述虚拟卷页是虚拟卷的最小存储单位;
整理请求接收模块,接收主机发送的文件碎片整理请求,所述文件碎片整理请求包括所述文件的碎片在所述虚拟卷页上的分布;
更改模块,根据所述文件的碎片在所述虚拟卷页上的分布更改所述存储设备的磁盘块与虚拟卷页的映射关系,使所述文件在虚拟卷上呈现连续存储状态。
12.根据权利要求11所述的装置,其特征在于,还包括:
分配指令接收模块,当所述主机判断出所述文件的碎片中有数据没有按虚拟卷页对齐时,接收所述主机发送的分配指令,所述分配指令包括所述没有按虚拟卷页对齐的数据所需的空闲虚拟卷页的数量;
分配模块,给所述没有按虚拟卷页对齐的数据分配空闲虚拟卷页;
搬移指令接收模块,接收所述主机发送的数据搬移指令;
搬移模块,将所述没有按虚拟卷页对齐的数据搬移至所述空闲虚拟卷页,使所述数据按虚拟卷页对齐。
CN201210443862.2A 2012-11-08 2012-11-08 文件碎片整理方法、装置及设备 Active CN102945275B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210443862.2A CN102945275B (zh) 2012-11-08 2012-11-08 文件碎片整理方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210443862.2A CN102945275B (zh) 2012-11-08 2012-11-08 文件碎片整理方法、装置及设备

Publications (2)

Publication Number Publication Date
CN102945275A true CN102945275A (zh) 2013-02-27
CN102945275B CN102945275B (zh) 2016-03-02

Family

ID=47728219

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210443862.2A Active CN102945275B (zh) 2012-11-08 2012-11-08 文件碎片整理方法、装置及设备

Country Status (1)

Country Link
CN (1) CN102945275B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425761A (zh) * 2013-08-05 2013-12-04 珠海金山网络游戏科技有限公司 一种对打包文件进行碎片整理的方法、系统及设备
CN104933169A (zh) * 2015-06-29 2015-09-23 南开大学 基于热点文件优先的文件系统碎片整理方法
CN106611364A (zh) * 2015-10-22 2017-05-03 中国电信股份有限公司 存储碎片整理方法及装置
CN107239412A (zh) * 2017-06-19 2017-10-10 杭州宏杉科技股份有限公司 基于Thin‑LUN的存储空间配置方法、数据写入方法及存储设备
WO2018032743A1 (zh) * 2016-08-19 2018-02-22 华为技术有限公司 一种文件碎片评估方法及终端
CN109542900A (zh) * 2018-11-08 2019-03-29 中国银联股份有限公司 一种数据处理方法及装置
CN111913909A (zh) * 2019-05-08 2020-11-10 厦门网宿有限公司 一种分布式存储系统中的重新分片方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101661486A (zh) * 2008-08-28 2010-03-03 国际商业机器公司 对包含虚拟机的宿主机硬盘进行碎片整理的方法和系统
CN102194010A (zh) * 2011-06-16 2011-09-21 华中科技大学 虚拟文件系统碎片的零拷贝整理方法
CN102521145A (zh) * 2011-12-23 2012-06-27 东信和平智能卡股份有限公司 Java卡系统及其空间分配处理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101661486A (zh) * 2008-08-28 2010-03-03 国际商业机器公司 对包含虚拟机的宿主机硬盘进行碎片整理的方法和系统
CN102194010A (zh) * 2011-06-16 2011-09-21 华中科技大学 虚拟文件系统碎片的零拷贝整理方法
CN102521145A (zh) * 2011-12-23 2012-06-27 东信和平智能卡股份有限公司 Java卡系统及其空间分配处理方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425761B (zh) * 2013-08-05 2017-02-08 珠海金山网络游戏科技有限公司 一种对打包文件进行碎片整理的方法、系统及设备
CN103425761A (zh) * 2013-08-05 2013-12-04 珠海金山网络游戏科技有限公司 一种对打包文件进行碎片整理的方法、系统及设备
CN104933169B (zh) * 2015-06-29 2018-05-01 南开大学 基于热点文件优先的文件系统碎片整理方法
CN104933169A (zh) * 2015-06-29 2015-09-23 南开大学 基于热点文件优先的文件系统碎片整理方法
CN106611364A (zh) * 2015-10-22 2017-05-03 中国电信股份有限公司 存储碎片整理方法及装置
CN106611364B (zh) * 2015-10-22 2020-07-24 中国电信股份有限公司 存储碎片整理方法及装置
WO2018032743A1 (zh) * 2016-08-19 2018-02-22 华为技术有限公司 一种文件碎片评估方法及终端
CN107239412A (zh) * 2017-06-19 2017-10-10 杭州宏杉科技股份有限公司 基于Thin‑LUN的存储空间配置方法、数据写入方法及存储设备
CN109542900A (zh) * 2018-11-08 2019-03-29 中国银联股份有限公司 一种数据处理方法及装置
CN111913909A (zh) * 2019-05-08 2020-11-10 厦门网宿有限公司 一种分布式存储系统中的重新分片方法及系统
WO2020224023A1 (zh) * 2019-05-08 2020-11-12 厦门网宿有限公司 一种分布式存储系统中的重新分片方法及系统
US11314701B2 (en) 2019-05-08 2022-04-26 Xiamen Wangsu Co. Ltd. Resharding method and system for a distributed storage system
CN111913909B (zh) * 2019-05-08 2024-02-23 厦门网宿有限公司 一种分布式存储系统中的重新分片方法及系统

Also Published As

Publication number Publication date
CN102945275B (zh) 2016-03-02

Similar Documents

Publication Publication Date Title
CN102945275B (zh) 文件碎片整理方法、装置及设备
CN106708425B (zh) 分布式多模存储管理
US9792227B2 (en) Heterogeneous unified memory
US11082206B2 (en) Layout-independent cryptographic stamp of a distributed dataset
US11029853B2 (en) Dynamic segment allocation for write requests by a storage system
US10031675B1 (en) Method and system for tiering data
KR102541492B1 (ko) 다중 모드 동작들을 위해 다중 파티션을 포함하는 저장 장치, 및 그것의 동작 방법
KR102586805B1 (ko) 저장 매체를 다중 모드로 동작시키는 관리 시스템, 그것을 포함하는 저장 시스템, 및 그것을 이용하여 저장 매체를 관리하는 방법
CN110663019A (zh) 用于叠瓦式磁记录(smr)的文件系统
KR20170056414A (ko) 사용자 데이터에 대해 선별 잠재 노출 맵핑을 수행하기 위한 장치, 방법, 및 다중 모드 저장 장치
CN103703450A (zh) Ssd存储访问的方法和装置
CN103020174A (zh) 相似性分析方法、装置及系统
US11093143B2 (en) Methods and systems for managing key-value solid state drives (KV SSDS)
CN104102693A (zh) 对象处理方法和装置
CN104866428A (zh) 数据存取方法和数据存取装置
US20130275671A1 (en) Creating encrypted storage volumes
CN111949210A (zh) 分布式存储系统中元数据存储方法、系统及存储介质
CN104750432A (zh) 一种数据存储方法及装置
CN103049546B (zh) 一种管理、访问系统日志的方法和装置
CN116848517A (zh) 使用基于数据指纹的数据地址的高速缓存编索引
EP3936998A1 (en) Method for managing namespaces in storage device and storage device employing the same
CN103645995B (zh) 写数据的方法及装置
US11379128B2 (en) Application-based storage device configuration settings
US20150356108A1 (en) Storage system and storage system control method
US9557935B2 (en) Computing system including storage system and method of writing data thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211221

Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province

Patentee after: xFusion Digital Technologies Co., Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.