CN112783831B - 一种文件迁移方法及装置 - Google Patents
一种文件迁移方法及装置 Download PDFInfo
- Publication number
- CN112783831B CN112783831B CN202110121146.1A CN202110121146A CN112783831B CN 112783831 B CN112783831 B CN 112783831B CN 202110121146 A CN202110121146 A CN 202110121146A CN 112783831 B CN112783831 B CN 112783831B
- Authority
- CN
- China
- Prior art keywords
- storage pool
- snapshot
- head
- file
- head object
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/119—Details of migration of file systems
-
- 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/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0647—Migration mechanisms
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及数据存储技术领域,特别涉及一种文件迁移方法及装置。该方法应用于分布式存储系统,所述分布式存储系统包括由HDD组成的容量存储池和由SSD组成的性能存储池,所述方法包括:统计所述容量存储池中存储的目标文件的Head对象和快照对象的访问热度;判断所述Head对象和所述快照对象的访问热度是否满足预设要求;若判定所述Head对象的访问热度大于第一设定阈值,且所述快照对象的访问热度小于等于所述第一设定阈值,则将所述Head对象从所述容量存储池迁移至所述性能存储池,并在所述容量存储池中对所述Head对象做克隆处理,以及在确定克隆完成之后,删除所述Head对象。
Description
技术领域
本申请涉及数据存储技术领域,特别涉及一种文件迁移方法及装置。
背景技术
硬盘是分布式存储集群的基础,硬盘的性能是提升存储集群IO速率的一个关键指标,但硬盘性能越高,价格就会越昂贵,容量相对更小,如果存储集群中全都使用高性能硬盘(如SSD),则搭建存储集群成本太高;但如果都使用普通性能硬盘(如HDD),虽然成本得到控制,但是集群IO速率又太低;因此,当前主流的架构是存储集群的硬盘由SSD和HDD组合,SSD硬盘组成性能硬盘池,负责存储访问热度较高的数据或文件;HDD硬盘组成容量硬盘池,负责存储访问热度低的文件。
为了提高存储系统(如,ceph集群)的资源利用率,需将数据热度较高的文件存储至SSD中,将数据热度较低的文件存储至HDD中,这样,就需要根据各文件的热度进行文件迁移操作。然而,在文件迁移中,拥有快照数据的文件迁移更加复杂和繁琐,ceph集群中一个文件由多个对象组成(一个对象大小为4M),当文件有快照时,文件对象数据的克隆采用的是ROW机制(写时重定向),该文件下每个对象的克隆结果是不一样的,且不同时段,一个文件的Head对象和快照对象的访问热度也不一样,那么,如何进行文件迁移,如何在性能存储池和容量存储池中存储各文件的Head对象和快照对象,以提高性能存储池的使用率,提升存储系统的性能成为亟待解决的问题。
发明内容
本申请提供了一种文件迁移方法及装置,用以解决现有技术中存在的性能存储池使用效率不高的问题。
第一方面,本申请提供了一种文件迁移方法,应用于分布式存储系统,所述分布式存储系统包括由HDD组成的容量存储池和由SSD组成的性能存储池,所述方法包括:
统计所述容量存储池中存储的目标文件的Head对象和快照对象的访问热度;
判断所述Head对象和所述快照对象的访问热度是否满足预设要求;
若判定所述Head对象的访问热度大于第一设定阈值,且所述快照对象的访问热度小于等于所述第一设定阈值,则将所述Head对象从所述容量存储池迁移至所述性能存储池,并在所述容量存储池中对所述Head对象做克隆处理,以及在确定克隆完成之后,删除所述Head对象。
可选地,将所述Head对象从所述容量存储池迁移至所述性能存储池的步骤包括:
将所述Head对象迁移至所述性能存储池;
在所述Head对象中记录在所述容量存储池中创建的快照对象的最大快照号;
在元数据文件中将所述Head对象的元数据由所述容量存储池的ID修改为所述性能存储池的ID。
可选地,在所述容量存储池中对所述Head对象做克隆处理的步骤包括:
针对所述目标文件中每一Head对象,判断该Head对象是否存在已创建的最大快照号的快照对象;
若不存在,则对该Head对象进行克隆处理;否则,不对该对象进行克隆处理。
可选地,所述方法还包括:
若判定所述Head对象和所述快照对象的访问热度均大于第一设定阈值,则将所述Head对象和所述快照对象均从所述容量存储池迁移至所述性能存储池;
在元数据文件中将所述Head对象和所述快照对象的元数据由所述容量存储池的ID修改为所述性能存储池的ID;
删除所述容量资源池中所述Head对象和所述快照对象。
可选地,所述方法还包括:
若判定所述Head对象的访问热度小于等于第一设定阈值,而所述快照对象的访问热度大于所述第一设定阈值,则将所述快照对象迁移至所述性能存储池;
对最后一次修改所述目标文件时未创建快照对象的目标Head对象进行克隆处理,得到对应的目标快照对象,并将所述目标快照对象迁移至所述性能存储池;
在所述Head对象中记录在所述容量存储池中创建的快照对象的最大快照号;
在元数据文件中将所述快照对象和所述目标快照的元数据由所述容量存储池的ID修改为所述性能存储池的ID,并在所述容量池中删除所述快照对象。
可选地,所述方法还包括:
统计所述性能存储池中存储的各文件的Head对象和快照对象的访问热度;
若判定一个文件的Head对象和/或快照对象的访问热度低于第二设定阈值,则将该文件的Head对象和/或快照对象迁移至性能存储池中。
第二方面,本申请提供了一种文件迁移装置,应用于分布式存储系统,所述分布式存储系统包括由HDD组成的容量存储池和由SSD组成的性能存储池,所述装置包括:
统计单元,用于统计所述容量存储池中存储的目标文件的Head对象和快照对象的访问热度;
判断单元,用于判断所述Head对象和所述快照对象的访问热度是否满足预设要求;
迁移单元,若所述判断单元判定所述Head对象的访问热度大于第一设定阈值,且所述快照对象的访问热度小于等于所述第一设定阈值,则所述迁移单元用于将所述Head对象从所述容量存储池迁移至所述性能存储池,并在所述容量存储池中对所述Head对象做克隆处理,以及在确定克隆完成之后,删除所述Head对象。
可选地,将所述Head对象从所述容量存储池迁移至所述性能存储池时,所述迁移单元具体用于:
将所述Head对象迁移至所述性能存储池;
在所述Head对象中记录在所述容量存储池中创建的快照对象的最大快照号;
在元数据文件中将所述Head对象的元数据由所述容量存储池的ID修改为所述性能存储池的ID。
可选地,在所述容量存储池中对所述Head对象做克隆处理时,所述迁移单元具体用于:
针对所述目标文件中每一Head对象,判断该Head对象是否存在已创建的最大快照号的快照对象;
若不存在,则对该Head对象进行克隆处理;否则,不对该对象进行克隆处理。
可选地,若所述判断单元判定所述Head对象和所述快照对象的访问热度均大于第一设定阈值,则所述迁移单元用于将所述Head对象和所述快照对象均从所述容量存储池迁移至所述性能存储池;在元数据文件中将所述Head对象和所述快照对象的元数据由所述容量存储池的ID修改为所述性能存储池的ID;删除所述容量资源池中所述Head对象和所述快照对象。
可选地,若所述判断单元判定所述Head对象的访问热度小于等于第一设定阈值,而所述快照对象的访问热度大于所述第一设定阈值,则所述迁移单元用于将所述快照对象迁移至所述性能存储池;对最后一次修改所述目标文件时未创建快照对象的目标Head对象进行克隆处理,得到对应的目标快照对象,并将所述目标快照对象迁移至所述性能存储池;在所述Head对象中记录在所述容量存储池中创建的快照对象的最大快照号;在元数据文件中将所述快照对象和所述目标快照的元数据由所述容量存储池的ID修改为所述性能存储池的ID,并在所述容量池中删除所述快照对象。
可选地,所述统计单元,还用于统计所述性能存储池中存储的各文件的Head对象和快照对象的访问热度;
若所述判断单元判定一个文件的Head对象和/或快照对象的访问热度低于第二设定阈值,则所述迁移单元用于将该文件的Head对象和/或快照对象迁移至性能存储池中。
第三方面,本申请实施例提供一种文件前便宜装置,该装置包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如上述第一方面中任一项所述的方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述第一方面中任一项所述方法的步骤。
综上可知,本申请实施例提供的文件迁移方法及装置,应用于分布式存储系统,所述分布式存储系统包括由HDD组成的容量存储池和由SSD组成的性能存储池,所述方法包括:统计所述容量存储池中存储的目标文件的Head对象和快照对象的访问热度;判断所述Head对象和所述快照对象的访问热度是否满足预设要求;若判定所述Head对象的访问热度大于第一设定阈值,且所述快照对象的访问热度小于等于所述第一设定阈值,则将所述Head对象从所述容量存储池迁移至所述性能存储池,并在所述容量存储池中对所述Head对象做克隆处理,以及在确定克隆完成之后,删除所述Head对象。
采用本申请实施例提供的文件迁移方法,若一个文件的Head对象和/或快照对象的访问热度较高时,能够将Head向从容量存储池中迁移至性能存储池中,这样,提升分布式存储集群的整体性能,提高了用户体验度,同时,不影响用户访问该文件的任一快照版本。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1为本申请实施例提供的一种文件迁移方法的详细流程图;
图2为本申请实施例提供的一种文件存储模型示意图;
图3为本申请实施例提供的一种文件迁移装置的结构示意图;
图4为本申请实施例提供的另一种文件迁移装置的结构示意图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
示例性的,参阅图1所示,为本申请实施例提供的一种文件迁移方法的详细流程图,该方法应用于分布式存储系统,上述分布式存储系统包括由HDD组成的容量存储池和由SSD组成的性能存储池,该方法包括以下步骤:
步骤100:统计上述容量存储池中存储的目标文件的Head对象和快照对象的访问热度。
需要说明的是,本申请实施例中,Head对象指的是用户当前时刻可进行读写操作的对象,快照对象(即,克隆对象),指的是某个时刻Head对象的克隆,用户只能读,不能写。
示例性的,参阅图2所示,为本申请实施例提供的一种文件存储模型示意图,假设分布式存储系统为ceph集群,对于ceph集群中受快照保护的文件,当修改文件发生克隆时,采用的是ROW机制,也就是对于一个文件,如果打了多次快照,就说明进行了多次修改。如图2所示,文件所在目录打了四次快照,obj0在打完快照snap1后进行了修改,产生了克隆对象obj0-snap1,而obj1在创建快照snap2和snap3后都进行了修改,所以分别产生了obj1-snap2和obj-snap3的克隆数据;obj2在创建snap4之后进行了修改,产生了克隆数据obj2-snap4,而对于obj3,一直没有发生过修改,没有产生克隆数据;所以文件中每个对象的克隆信息实际上是独立的。当要读取某个快照版本的文件数据时,通过查找每个对象对应快照版本的数据,然后一起组合成了文件数据,例如,要读取Snap2的文件数据,读取的文件内容是:obj0-head,obj1-snap2,obj2-snap4,obj3-head。
实际应用中,分布式存储系统可以记录各文件(文件的Head对象和快照对象)的访问次数,并确定各文件的Head对象和快照对象的访问热度,以及根据各文件的Head对象和快照对象的访问热度,确定该文件的Head对象和快照对象是否需要从容量存储池迁移至性能存储池,或者,从性能存储池迁移至容量存储池。
例如,在文件的元数据中记录文件最近n次被访问的时间间隔(次数可配置),每次被访问时,计算文件最近n次访问间隔的平均时间,当然,针对一个文件的Head对象和快照兑现可以分开统计,如,访问一次文件1的Head对象,则记录Head对象访问次数加1,访问时间xx,访问一次文件1的快照对象,则记录快照对象访问次数加1,访问时间yy。
步骤110:判断上述Head对象和上述快照对象的访问热度是否满足预设要求。
具体地,分布式存储系统可以根据容量存储池中各文件的Head对象和快照对象最近n次访问间隔的平均时间,确定各文件的Head对象和快照对象的访问热度。本申请实施例中,预设有一个第一设定阈值,若一个文件的Head对象和/或快照对象的访问热度大于该第一设定阈值,则确定该文件的Head对象和/或快照对象为访问热度较高的数据(热数据),对应的,若一个文件的Head对象和/或快照对象的访问热度小于等于该第一设定阈值,则确定该文件的Head对象和/或快照对象为访问热度较低的数据(冷数据)。
实际应用中,若一个文件的Head对象在固定时长内被用户访问的次数较多,则说明该文件的Head对象访问热度较高,此时,若将该文件的Head对象迁移至性能存储池中,则会提升分布式系统的整体性能,也能提高用户访问该文件的Head对象的效率。
步骤120:若判定上述Head对象的访问热度大于第一设定阈值,且上述快照对象的访问热度小于等于上述第一设定阈值,则将上述Head对象从上述容量存储池迁移至上述性能存储池,并在上述容量存储池中对上述Head对象做克隆处理,以及在确定克隆完成之后,删除上述Head对象。
也就是说,当用户访问容量存储池中一个文件的Head对象的频率较高(即判定该文件的Head对象的访问热度大于第一设定阈值),而访问该文件的快照对象的频率较低(即判定该文件的快照对象的访问热度小于等于第一设定阈值)时,需要将该文件的Head对象从容量存储池中迁移至性能存储池,由于性能存储池的IO性能远高于容量存储池的IO性能,这样,用户在后续访问该文件的Head对象时,就能够实现快速访问。
本申请实施例中,将上述Head对象从上述容量存储池迁移至上述性能存储池时,一种较佳地实现方式为,将上述Head对象迁移至上述性能存储池;在上述Head对象中记录在上述容量存储池中创建的快照对象的最大快照号;在元数据文件中将上述Head对象的元数据由上述容量存储池的ID修改为上述性能存储池的ID。
由上可知,在将上述Head对象从容量存储池中迁移至性能存储池中之后,为了用户能够在后续寻址到该Head对象,则需要在元数据文件中修改该Head对象的元数据,具体地,将该Head对象的poolid由原容量存储池的ID修改为性能存储池的ID。
进一步地,由于该Head对象从至容量存储池迁移至性能存储池之后,用户仍可能触发修改文件的操作,此时,仍需要进行快照操作,此时,就需要依据之前已创建的快照对象的最大快照号,进行后续快照编号的操作,例如,在迁移之前已创建4次快照操作,那么,在迁移之后,若再次出发快照操作,则需要记录为第5次快照,将快照对象的快照号设置为5。
实际应用中,执行一次文件修改,递增一个快照号。如,第一次修改文件时,无论修改几个数据块,均对应一个快照号(如,1),第二次修改文件时,无论修改几个数据块,均对应一个快照号(如,2)。此时,若发生了Head文件迁移,则需要记录最大快照号(2),在迁移至性能存储池之后,若发生了第三次文件修改,则对应的一个快照号为3。
进一步地,本申请实施例中,在上述容量存储池中对上述Head对象做克隆处理时,一种较佳地实现方式为,针对上述目标文件中每一Head对象,判断该Head对象是否存在已创建的最大快照号的快照对象;若不存在,则对该Head对象进行克隆处理;否则,不对该对象进行克隆处理。
本申请实施例中,所谓文件迁移,指的是将文件复制至另一个存储池中,在迁移完成之后,还需执行在原存储池中删除已迁移的文件的操作。具体地,在将目标文件的Head对象从容量存储池迁移至性能存储池之后,需要删除容量存储池中存储的目标文件的Head对象,那么,为了保证用户后续能够正常地在容量存储池中访问各快照文件,此时,就需要选择性的对目标文件的各Head对象进行克隆处理,由上可知,若在容量存储池中一个Head对象(一个数据块)存在已创建的最大快照号的快照对象,则无需对该一个Head对象进行克隆处理,即在容量存储池中最后一次修改文件时,修改了一个Head对象,则无需克隆该Head对象,直接删除该对象即可,若在容量存储池中最后一次修改文件时,未修改该Head对象,则需要在容量存储池中克隆一个该Head对象,在克隆完成后,删除该Head对象。
更进一步地,本申请实施例中,上述文件迁移方法还可以包括以下步骤:
若判定上述Head对象和上述快照对象的访问热度均大于第一设定阈值,则将上述Head对象和上述快照对象均从上述容量存储池迁移至上述性能存储池;在元数据文件中将上述Head对象和上述快照对象的元数据由上述容量存储池的ID修改为上述性能存储池的ID;删除上述容量资源池中上述Head对象和上述快照对象。
实际应用中,若目标文件的Head对象和快照对象的访问热度均大于第一设定阈值,即用户访问目标文件的Head对象和快照对象的频率均较高,此时,只需将该目标文件的Head对象和快照对象均迁移至容量存储池,为了保证迁移后用户仍能正常地访问目标文件,需要在元数据文件中修改目标文件的元数据信息。即将目标文件的poolid由容量存储池的ID修改为性能存储池的ID,并删除容量存储池中的目标文件。
进一步地,若判定上述Head对象的访问热度小于等于第一设定阈值,而所述快照对象的访问热度大于上述第一设定阈值,则将上述快照对象迁移至上述性能存储池;对最后一次修改上述目标文件时未创建快照对象的目标Head对象进行克隆处理,得到对应的目标快照对象,并将上述目标快照对象迁移至上述性能存储池;在上述Head对象中记录在上述容量存储池中创建的快照对象的最大快照号;在元数据文件中将上述快照对象和上述目标快照的元数据由上述容量存储池的ID修改为上述性能存储池的ID,并在上述容量池中删除上述快照对象。
也就是说,当用户访问一个文件的快照对象的频率较高,而访问该文件的Head对象的频率较低时,此时,为了提高用户体验度,可以将该文件的快照对象迁移至性能存储池,具体地,将容量存储池中归属于该文件的快照对象均迁移至性能存储池中,在迁移完成之后,将快照对象删除,进一步地,为了用户能够读取到任一次快照版本,还需要将最后一次修改该文件时,未创建快照对象的Head对象迁移至容量存储池中,迁移之后的对象,需要在元数据文件中修改其元数据,而容量存储池中存储的Head文件的元数据中需要记录已创建的快照对象的最大快照号,以便后续该文件再次修改产生新的快照对象时,基于该最大快照号生成新的快照号。在确定目标文件的快照对象迁移至性能存储池之后,将容量存储池中该目标文件的快照对象进行删除处理,以释放存储空间,Head对象仍存储在容量存储池中。之后,
用户在访问该目标文件的快照对象时,即可直接从性能存储池中访问,用户在访问该目标文件的Head对象时,仍可以从容量存储池中访问。
当然,本申请实施例中,若性能存储池中一个文件的Head对象和/或快照文件的访问热度低于第二设定阈值(该阈值小于等于上述第一设定阈值)时,仍可以采用与上述文件迁移方法同样的发明构思,将该文件的Head对象和/或快照对象从性能存储池中迁移至容量存储池。
具体地,本申请实施例中,统计上述性能存储池中存储的各文件的Head对象和快照对象的访问热度;若判定一个文件的Head对象和/或快照对象的访问热度低于第二设定阈值,则将该文件的Head对象和/或快照对象迁移至性能存储池中。
需要说明的是,将性能存储池中各文件的Head对象和/或快照对象迁移至容量存储池时,所采用的迁移方式与上述表述的将容量存储池中目标文件的Head对象和/或快照对象迁移至性能存储池时所采用的迁移方式是一样的,在此不再赘述。
基于与上述方法实施例同样的发明构思,示例性的,参阅图3所示,为本申请实施例提供的一种文件迁移装置的结构示意图,该装置应用于分布式存储系统,所述分布式存储系统包括由HDD组成的容量存储池和由SSD组成的性能存储池,所述装置包括:
统计单元30,用于统计所述容量存储池中存储的目标文件的Head对象和快照对象的访问热度;
判断单元31,用于判断所述Head对象和所述快照对象的访问热度是否满足预设要求;
迁移单元32,若所述判断单元判定所述Head对象的访问热度大于第一设定阈值,且所述快照对象的访问热度小于等于所述第一设定阈值,则所述迁移单元用于将所述Head对象从所述容量存储池迁移至所述性能存储池,并在所述容量存储池中对所述Head对象做克隆处理,以及在确定克隆完成之后,删除所述Head对象。
可选地,将所述Head对象从所述容量存储池迁移至所述性能存储池时,所述迁移单元32具体用于:
将所述Head对象迁移至所述性能存储池;
在所述Head对象中记录在所述容量存储池中创建的快照对象的最大快照号;
在元数据文件中将所述Head对象的元数据由所述容量存储池的ID修改为所述性能存储池的ID。
可选地,在所述容量存储池中对所述Head对象做克隆处理时,所述迁移单元32具体用于:
针对所述目标文件中每一Head对象,判断该Head对象是否存在已创建的最大快照号的快照对象;
若不存在,则对该Head对象进行克隆处理;否则,不对该对象进行克隆处理。
可选地,
若所述判断单元31判定所述Head对象和所述快照对象的访问热度均大于第一设定阈值,则所述迁移单元32还用于:将所述Head对象和所述快照对象均从所述容量存储池迁移至所述性能存储池;在元数据文件中将所述Head对象和所述快照对象的元数据由所述容量存储池的ID修改为所述性能存储池的ID;删除所述容量资源池中所述Head对象和所述快照对象。
可选地,若所述判断单元31判定所述Head对象的访问热度小于等于第一设定阈值,而所述快照对象的访问热度大于所述第一设定阈值,则所述迁移单元32用于将所述快照对象迁移至所述性能存储池;对最后一次修改所述目标文件时未创建快照对象的目标Head对象进行克隆处理,得到对应的目标快照对象,并将所述目标快照对象迁移至所述性能存储池;在所述Head对象中记录在所述容量存储池中创建的快照对象的最大快照号;在元数据文件中将所述快照对象和所述目标快照的元数据由所述容量存储池的ID修改为所述性能存储池的ID,并在所述容量池中删除所述快照对象。
可选地,所述统计单元30还用于统计所述性能存储池中存储的各文件的Head对象和快照对象的访问热度;
若所述判断单元31判定一个文件的Head对象和/或快照对象的访问热度低于第二设定阈值,则所述迁移单元32用于将该文件的Head对象和/或快照对象迁移至性能存储池中。
以上这些单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个单元通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
进一步地,本申请实施例提供的文件迁移装置,从硬件层面而言,所述件迁移装置的硬件架构示意图可以参见图4所示,所述件迁移装置可以包括:存储器40和处理器41,
存储器40用于存储程序指令;处理器41调用存储器40中存储的程序指令,按照获得的程序指令执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种服务器,包括用于执行上述方法实施例的至少一个处理元件(或芯片)。
可选地,本申请还提供一种程序产品,例如计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使该计算机执行上述方法实施例。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (12)
1.一种文件迁移方法,其特征在于,应用于分布式存储系统,所述分布式存储系统包括由HDD组成的容量存储池和由SSD组成的性能存储池,所述方法包括:
统计所述容量存储池中存储的目标文件的Head对象和快照对象的访问热度;
判断所述Head对象和所述快照对象的访问热度是否满足预设要求;
若判定所述Head对象的访问热度大于第一设定阈值,且所述快照对象的访问热度小于等于所述第一设定阈值,则将所述Head对象从所述容量存储池迁移至所述性能存储池,并在所述容量存储池中对所述Head对象做克隆处理,以及在确定克隆完成之后,删除所述Head对象。
2.如权利要求1所述的方法,其特征在于,将所述Head对象从所述容量存储池迁移至所述性能存储池的步骤包括:
将所述Head对象迁移至所述性能存储池;
在所述Head对象中记录在所述容量存储池中创建的快照对象的最大快照号;
在元数据文件中将所述Head对象的元数据由所述容量存储池的ID修改为所述性能存储池的ID。
3.如权利要求1所述的方法,其特征在于,在所述容量存储池中对所述Head对象做克隆处理的步骤包括:
针对所述目标文件中每一Head对象,判断该Head对象是否存在已创建的最大快照号的快照对象;
若不存在,则对该Head对象进行克隆处理;否则,不对该对象进行克隆处理。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
若判定所述Head对象和所述快照对象的访问热度均大于第一设定阈值,则将所述Head对象和所述快照对象均从所述容量存储池迁移至所述性能存储池;
在元数据文件中将所述Head对象和所述快照对象的元数据由所述容量存储池的ID修改为所述性能存储池的ID;
删除所述容量资源池中所述Head对象和所述快照对象。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
若判定所述Head对象的访问热度小于等于第一设定阈值,而所述快照对象的访问热度大于所述第一设定阈值,则将所述快照对象迁移至所述性能存储池;
对最后一次修改所述目标文件时未创建快照对象的目标Head对象进行克隆处理,得到对应的目标快照对象,并将所述目标快照对象迁移至所述性能存储池;
在所述Head对象中记录在所述容量存储池中创建的快照对象的最大快照号;
在元数据文件中将所述快照对象和所述目标快照的元数据由所述容量存储池的ID修改为所述性能存储池的ID,并在所述容量池中删除所述快照对象。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
统计所述性能存储池中存储的各文件的Head对象和快照对象的访问热度;
若判定一个文件的Head对象和/或快照对象的访问热度低于第二设定阈值,则将该文件的Head对象和/或快照对象迁移至性能存储池中。
7.一种文件迁移装置,其特征在于,应用于分布式存储系统,所述分布式存储系统包括由HDD组成的容量存储池和由SSD组成的性能存储池,所述装置包括:
统计单元,用于统计所述容量存储池中存储的目标文件的Head对象和快照对象的访问热度;
判断单元,用于判断所述Head对象和所述快照对象的访问热度是否满足预设要求;
迁移单元,若所述判断单元判定所述Head对象的访问热度大于第一设定阈值,且所述快照对象的访问热度小于等于所述第一设定阈值,则所述迁移单元用于将所述Head对象从所述容量存储池迁移至所述性能存储池,并在所述容量存储池中对所述Head对象做克隆处理,以及在确定克隆完成之后,删除所述Head对象。
8.如权利要求7所述的装置,其特征在于,将所述Head对象从所述容量存储池迁移至所述性能存储池时,所述迁移单元具体用于:
将所述Head对象迁移至所述性能存储池;
在所述Head对象中记录在所述容量存储池中创建的快照对象的最大快照号;
在元数据文件中将所述Head对象的元数据由所述容量存储池的ID修改为所述性能存储池的ID。
9.如权利要求7所述的装置,其特征在于,在所述容量存储池中对所述Head对象做克隆处理时,所述迁移单元具体用于:
针对所述目标文件中每一Head对象,判断该Head对象是否存在已创建的最大快照号的快照对象;
若不存在,则对该Head对象进行克隆处理;否则,不对该对象进行克隆处理。
10.如权利要求7所述的装置,其特征在于,
若所述判断单元判定所述Head对象和所述快照对象的访问热度均大于第一设定阈值,则所述迁移单元用于将所述Head对象和所述快照对象均从所述容量存储池迁移至所述性能存储池;在元数据文件中将所述Head对象和所述快照对象的元数据由所述容量存储池的ID修改为所述性能存储池的ID;删除所述容量资源池中所述Head对象和所述快照对象。
11.如权利要求7所述的装置,其特征在于,
若所述判断单元判定所述Head对象的访问热度小于等于第一设定阈值,而所述快照对象的访问热度大于所述第一设定阈值,则所述迁移单元用于将所述快照对象迁移至所述性能存储池;对最后一次修改所述目标文件时未创建快照对象的目标Head对象进行克隆处理,得到对应的目标快照对象,并将所述目标快照对象迁移至所述性能存储池;在所述Head对象中记录在所述容量存储池中创建的快照对象的最大快照号;在元数据文件中将所述快照对象和所述目标快照的元数据由所述容量存储池的ID修改为所述性能存储池的ID,并在所述容量池中删除所述快照对象。
12.如权利要求7所述的装置,其特征在于,
所述统计单元,还用于统计所述性能存储池中存储的各文件的Head对象和快照对象的访问热度;
若所述判断单元判定一个文件的Head对象和/或快照对象的访问热度低于第二设定阈值,则所述迁移单元用于将该文件的Head对象和/或快照对象迁移至性能存储池中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110121146.1A CN112783831B (zh) | 2021-01-28 | 2021-01-28 | 一种文件迁移方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110121146.1A CN112783831B (zh) | 2021-01-28 | 2021-01-28 | 一种文件迁移方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112783831A CN112783831A (zh) | 2021-05-11 |
CN112783831B true CN112783831B (zh) | 2022-05-27 |
Family
ID=75759563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110121146.1A Active CN112783831B (zh) | 2021-01-28 | 2021-01-28 | 一种文件迁移方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112783831B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113687781A (zh) * | 2021-07-30 | 2021-11-23 | 济南浪潮数据技术有限公司 | 一种热数据的上拉方法、装置、设备及介质 |
CN114415977B (zh) * | 2022-03-29 | 2022-10-04 | 阿里云计算有限公司 | 访问存储池的方法以及分布式存储系统 |
WO2024037233A1 (zh) * | 2022-08-17 | 2024-02-22 | 华为云计算技术有限公司 | 一种存储系统及调度方法 |
CN116719482B (zh) * | 2023-08-08 | 2024-06-11 | 腾讯科技(深圳)有限公司 | 数据迁移方法、装置和存储介质及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106047A (zh) * | 2013-01-29 | 2013-05-15 | 浪潮(北京)电子信息产业有限公司 | 一种基于对象的存储系统及其存储方法 |
CN103942157A (zh) * | 2013-01-22 | 2014-07-23 | 国际商业机器公司 | 用于计算存储环境中的数据处理的方法和系统 |
WO2016165441A1 (zh) * | 2015-09-06 | 2016-10-20 | 中兴通讯股份有限公司 | 迁移策略调整方法、容量变更建议方法及装置 |
CN107250975A (zh) * | 2014-12-09 | 2017-10-13 | 清华大学 | 数据存储系统和数据存储方法 |
CN111007990A (zh) * | 2019-12-24 | 2020-04-14 | 曙光信息产业(北京)有限公司 | 一种对快照系统中数据块引用进行快速定位的定位方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2957584A1 (en) * | 2016-02-12 | 2017-08-12 | Coho Data, Inc. | Methods, systems, and devices for adaptive data resource assignment and placement in distributed data storage systems |
-
2021
- 2021-01-28 CN CN202110121146.1A patent/CN112783831B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942157A (zh) * | 2013-01-22 | 2014-07-23 | 国际商业机器公司 | 用于计算存储环境中的数据处理的方法和系统 |
CN103106047A (zh) * | 2013-01-29 | 2013-05-15 | 浪潮(北京)电子信息产业有限公司 | 一种基于对象的存储系统及其存储方法 |
CN107250975A (zh) * | 2014-12-09 | 2017-10-13 | 清华大学 | 数据存储系统和数据存储方法 |
WO2016165441A1 (zh) * | 2015-09-06 | 2016-10-20 | 中兴通讯股份有限公司 | 迁移策略调整方法、容量变更建议方法及装置 |
CN111007990A (zh) * | 2019-12-24 | 2020-04-14 | 曙光信息产业(北京)有限公司 | 一种对快照系统中数据块引用进行快速定位的定位方法 |
Non-Patent Citations (2)
Title |
---|
云环境下面向异构负载大数据应用的资源管理机制研究;沈典;《中国优秀博硕士学位论文全文数据库(博士)信息科技辑(月刊)》;20190115(第12期);I139-13 * |
基于OPENSTACK云存储技术的研究;熊振华;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑(月刊)》;20141015(第10期);I137-27 * |
Also Published As
Publication number | Publication date |
---|---|
CN112783831A (zh) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112783831B (zh) | 一种文件迁移方法及装置 | |
CN108319654B (zh) | 计算系统、冷热数据分离方法及装置、计算机可读存储介质 | |
US20110197027A1 (en) | SYSTEM AND METHOD FOR QoS-BASED STORAGE TIERING AND MIGRATION TECHNIQUE | |
TW201126330A (en) | Method for placement of virtual volume hot-spots in storage pools using ongoing load measurements and ranking | |
WO2018006587A1 (zh) | 一种文件存储方法、终端及存储介质 | |
CN107291399B (zh) | 一种基于spdk的后端存储方法、装置及系统 | |
CN112988066B (zh) | 一种数据处理方法及装置 | |
CN108874309B (zh) | 一种管理固态硬盘中物理块的方法和装置 | |
CN108897492B (zh) | 一种数据写入方法和装置 | |
CN109710587A (zh) | 基于Ceph的数据分层方法、系统、设备和介质 | |
CN107402870B (zh) | 一种元数据服务器中日志段的处理方法及装置 | |
CN109343796B (zh) | 一种数据处理方法和装置 | |
US9411513B2 (en) | Sensitive data file attribute | |
CN106844491B (zh) | 一种临时数据的写入、读取方法及写入、读取装置 | |
CN108334383B (zh) | 一种信息处理方法及电子设备 | |
US20180121371A1 (en) | Reading by user-level processes | |
CN113268437A (zh) | 一种主动触发内存整理的方法与设备 | |
CN112800057B (zh) | 一种指纹表管理方法及装置 | |
CN106202262B (zh) | 一种信息处理方法及电子设备 | |
CN112256206A (zh) | 一种io处理方法及装置 | |
CN111435285B (zh) | 存储卷写数据方法、装置、电子设备及机器可读存储介质 | |
CN111984554B (zh) | 一种数据处理方法及装置 | |
WO2020102998A1 (zh) | 一种删除内存中索引项的方法、装置 | |
CN111399774A (zh) | 分布式存储系统下基于快照的数据处理方法和装置 | |
CN110795034A (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 |