CN112783449A - 数据迁移方法及装置 - Google Patents
数据迁移方法及装置 Download PDFInfo
- Publication number
- CN112783449A CN112783449A CN202110096218.1A CN202110096218A CN112783449A CN 112783449 A CN112783449 A CN 112783449A CN 202110096218 A CN202110096218 A CN 202110096218A CN 112783449 A CN112783449 A CN 112783449A
- Authority
- CN
- China
- Prior art keywords
- data
- migration
- migrated
- logical volume
- recording bitmap
- 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
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
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
技术领域
本发明涉及数据迁移技术领域,尤指一种数据迁移方法及装置。
背景技术
在大数据时代,数据量越来越大,数据也越来越重要,把数据保存在专门的存储设备中,并通过存储设备的数据保护特性提高数据可靠性已经成为主流方式。
然而存储管理需求不是一成不变的,比如业务变化、用户关注点变化等,导致之前热门的业务现在变冷了、出现了新的热门业务等,面对需要调整业务的场景,数据迁移成为使用频率越来越高的技术,通过数据迁移技术,在不影响业务的情况下,可以把LUN中数据从高速存储介质迁移到低速存储介质中,或者从低速存储介质迁移到高速存储介质中,或者迁移到不同级别的RAID中,或者从自动精简配置LUN迁移到普通LUN,或者从普通LUN迁移到自动精简配置LUN等。
传统意义上的存储数据迁移过程中都需要两倍的空间,且需要确保两个LUN都要写入成功,造成空间和性能的额外开销,对于空间紧张、需要批量迁移数据,实现高效、并行迁移非常困难。
发明内容
针对现有技术中存在的问题,本发明实施例的主要目的在于提供一种数据迁移方法及装置,实现迁移过程中实时释放存储空间,缓解存储空间紧张,提高数据迁移效率。
为了实现上述目的,本发明实施例提供一种数据迁移方法,所述方法包括:
将源逻辑卷与目标逻辑卷设置为镜像迁移对;
根据所述源逻辑卷中待迁移数据的地址,生成迁移记录位图;
根据所述迁移记录位图,将所述源逻辑卷中的待迁移数据迁移至所述目标逻辑卷,并实时更新所述迁移记录位图;以及
若根据所述迁移记录位图,获知已迁移数据的数据量达到预设阈值时,则释放所述源逻辑卷中已迁移数据对应的空间。
可选的,在本发明一实施例中,所述迁移记录位图包括待迁移数据地址及迁移标记位;其中,所述待迁移数据地址与所述迁移标记位是一一对应的。
可选的,在本发明一实施例中,所述根据所述迁移记录位图,将所述源逻辑卷中的待迁移数据迁移至所述目标逻辑卷,并实时更新所述迁移记录位图包括:根据所述迁移记录位图中的迁移标记位,确定待迁移数据的迁移状态;若获知所述迁移状态为未迁移,则根据迁移标记位对应的待迁移数据地址,将未迁移的待迁移数据从所述源逻辑卷中迁移至所述目标逻辑卷;在待迁移数据地址对应的待迁移数据完成迁移后,更新对应的迁移标记位,以使迁移状态变更为已迁移。
可选的,在本发明一实施例中,所述若根据所述迁移记录位图,获知已迁移数据的数据量达到预设阈值时,则释放所述源逻辑卷中已迁移数据对应的空间包括:根据所述迁移记录位图中的待迁移数据地址及迁移标记位,将迁移状态为已迁移的待迁移数据作为已迁移数据,并确定所述已迁移数据的数据量;若获知所述已迁移数据的数据量达到预设阈值时,则根据已迁移数据对应的待迁移数据地址,释放所述源逻辑卷中对应的空间。
本发明实施例还提供一种数据迁移装置,所述装置包括:
镜像迁移对模块,用于将源逻辑卷与目标逻辑卷设置为镜像迁移对;
迁移记录位图模块,用于根据所述源逻辑卷中待迁移数据的地址,生成迁移记录位图;
数据迁移模块,根据所述迁移记录位图,将所述源逻辑卷中的待迁移数据迁移至所述目标逻辑卷,并实时更新所述迁移记录位图;以及
空间释放模块,用于若根据所述迁移记录位图,获知已迁移数据的数据量达到预设阈值时,则释放所述源逻辑卷中已迁移数据对应的空间。
可选的,在本发明一实施例中,所述迁移记录位图包括待迁移数据地址及迁移标记位;其中,所述待迁移数据地址与所述迁移标记位是一一对应的。
可选的,在本发明一实施例中,所述数据迁移模块包括:迁移状态单元,用于根据所述迁移记录位图中的迁移标记位,确定待迁移数据的迁移状态;数据迁移单元,若获知所述迁移状态为未迁移,则根据迁移标记位对应的待迁移数据地址,将未迁移的待迁移数据从所述源逻辑卷中迁移至所述目标逻辑卷;标记位更新单元,用于在待迁移数据地址对应的待迁移数据完成迁移后,更新对应的迁移标记位,以使迁移状态变更为已迁移。
可选的,在本发明一实施例中,所述空间释放模块包括:已迁移数据单元,用于根据所述迁移记录位图中的待迁移数据地址及迁移标记位,将迁移状态为已迁移的待迁移数据作为已迁移数据,并确定所述已迁移数据的数据量;空间释放单元,用于若获知所述已迁移数据的数据量达到预设阈值时,则根据已迁移数据对应的待迁移数据地址,释放所述源逻辑卷中对应的空间。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
本发明通过根据迁移完成情况,动态释放源逻辑卷占用的存储空间,以便给其他逻辑卷使用,对于普通逻辑卷到自动精简配置逻辑卷迁移的场景,只需要额外释放空间阈值大小的空闲存储空间,即可完成逻辑卷数据迁移,由此极大缓解了存储空间紧张,提高了数据迁移效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种数据迁移方法的流程图;
图2为本发明实施例中更新迁移记录位图的流程图;
图3为本发明实施例中释放存储空间的流程图;
图4为本发明一具体实施例中数据迁移的示意图;
图5为本发明一具体实施例中存储空间释放的示意图;
图6为本发明一具体实施例中数据迁移的流程图;
图7为本发明一具体实施例中读写处理流程图;
图8为本发明实施例一种数据迁移装置的结构示意图;
图9为本发明实施例中数据迁移模块的结构示意图;
图10为本发明实施例中空间释放模块的结构示意图;
图11为本发明一实施例所提供的电子设备的结构示意图。
具体实施方式
本发明实施例提供一种数据迁移方法及装置,可用于金融领域或其他领域,需要说明的是,本发明的数据迁移方法及装置可用于金融领域,也可用于除金融领域之外的任意领域,本发明的数据迁移方法及装置应用领域不做限定。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前数据迁移有以下两种场景:
1、设备内迁移,将LUN数据从一个RAID迁移到另外一个RAID的LUN上,迁移过程不影响LUN前端业务的I/O读写;
2、设备间迁移,将一台设备中LUN数据迁移到另外一台设备中的LUN上,迁移过程不影响LUN前端业务的I/O读写。
其中,以上数据迁移过程中都需要两倍的空间,且需要确保两个LUN都要写入成功,造成空间和性能的额外开销,对于空间紧张、需要批量迁移数据,实现高效、并行迁移非常困难。
此外,LUN(Logic Unit Number)是指一般情况下,用户会将磁盘阵列(集中存储)的磁盘空间划分成若干个下小的单元空间给主机(服务器)使用,习惯将这小更小的磁盘资源称之为Lun0、Lun1、Lun2……,即逻辑卷。RAID技术(Redundant Arrays of independentDisks)是指独立冗余磁盘阵列技术,主要利用数组原理来组成磁盘组,意在任何一颗硬盘发生故障时依然可以读出正确的数据或提高硬盘读写性能,一般有Raid0、Raid1、Raid10、Raid5等实现方式,本申请中指磁盘阵列(存储)。
如图1所示为本发明实施例一种数据迁移方法的流程图,本发明实施例提供的数据迁移方法的执行主体包括但不限于计算机。图中所示方法包括:
步骤S1,将源逻辑卷与目标逻辑卷设置为镜像迁移对。
其中,源逻辑卷中存储待迁移数据的逻辑卷,目标逻辑卷为待迁移数据需要迁移到的逻辑卷。在设置镜像迁移对之前,需要创建目标逻辑卷。创建目标逻辑卷后,将源逻辑卷与目标逻辑卷设置为镜像迁移对。其中,镜像迁移对是一种特殊的镜像对,由源逻辑卷和目标逻辑卷组成,要求目标逻辑卷容量大于等于源逻辑卷容量,实际需要迁移的空间由源逻辑卷决定。进一步的,迁移镜像对仅在迁移过程中存在。此外,迁移的源逻辑卷和目标逻辑卷可以是普通逻辑卷,也可以是自动精简配置逻辑卷。
步骤S2,根据所述源逻辑卷中待迁移数据地址,生成迁移记录位图。
其中,从源逻辑卷中获取待迁移数据的地址,生成迁移记录位图。具体的,迁移记录位图中包括源逻辑卷中待迁移数据的地址以及迁移标记,待迁移数据的地址与迁移标记是一一对应的,如表1所示。待迁移数据的地址表示待迁移数据在源逻辑卷中的存在位置,迁移标记代表该待迁移数据的迁移状态。具体的,若迁移标记位为1,则代表对应地址的待迁移数据的迁移状态为已迁移,即该待迁移数据已经从源逻辑卷迁移至目标逻辑卷。若迁移标记位为0,则代表对应地址的待迁移数据的迁移状态为未迁移,即该待迁移数据并没有从源逻辑卷迁移至目标逻辑卷。
表1
步骤S3,根据所述迁移记录位图,将所述源逻辑卷中的待迁移数据迁移至所述目标逻辑卷,并实时更新所述迁移记录位图。
其中,根据迁移记录位图进行数据迁移。具体的,将迁移记录位图中迁移标记位为0的待迁移数据,根据对应的待迁移数据地址进行数据迁移。在某条待迁移数据迁移完成后,更新迁移记录位图。具体的,将迁移记录位图中该待迁移数据的地址对应的迁移标记位更改为1。
步骤S4,若根据所述迁移记录位图,获知已迁移数据的数据量达到预设阈值时,则释放所述源逻辑卷中已迁移数据对应的空间。
其中,在数据迁移的同时,可以按照预设时间间隔对迁移记录位图进行扫描。每次扫描均判断迁移记录位图中已迁移数据的数据量是否达到预设阈值。具体的,根据迁移记录位图中迁移标记位为1的待迁移数据地址,对数据量进行累加计算,得到已迁移数据的数据量。进一步的,预设阈值可以为1GB,当已迁移数据的数据量达到1GB时,释放所有已迁移数据对应的存储空间。具体的,根据迁移记录位图中迁移标记位为1的待迁移数据地址,对源逻辑卷中对应的存储空间进行释放。
进一步的,预设阈值不唯一,即可以设置多个预设阈值。具体的,设置n个预设阈值,n为正整数,预设阈值等于1GB的整数倍。由此,每当已迁移数据量达到1GB的整数倍时,将源逻辑卷中对应的存储空间释放。
此外,将源逻辑卷中数据迁移完成的区域称为已迁移区域,该区域上新的读写操作将重定向到目标逻辑卷,且所有的读写操作请求由目标逻辑响应,写操作不需要同步写入源逻辑卷。将源逻辑卷中数据迁移未完成的区域称为待迁移区域,该区域上新的读写操作将重定向到源逻辑卷,且所有的读写操作请求由源逻辑卷响应,写操作不需要同步写入目标逻辑卷。
作为本发明的一个实施例,迁移记录位图包括待迁移数据地址及迁移标记位;其中,所述待迁移数据地址与所述迁移标记位是一一对应的。
其中,待迁移数据的地址表示待迁移数据在源逻辑卷中的存在位置,迁移标记代表该待迁移数据的迁移状态,迁移记录位图如表1所示。
在本实施例中,如图2所示,根据所述迁移记录位图,将所述源逻辑卷中的待迁移数据迁移至所述目标逻辑卷,并实时更新所述迁移记录位图包括:
步骤S21,根据所述迁移记录位图中的迁移标记位,确定待迁移数据的迁移状态。
其中,迁移标记代表该待迁移数据的迁移状态,根据迁移标记位可以确定在对应地址中的待迁移数据是否已经被迁移。
步骤S22,若获知所述迁移状态为未迁移,则根据迁移标记位对应的待迁移数据地址,将未迁移的待迁移数据从所述源逻辑卷中迁移至所述目标逻辑卷。
其中,若迁移标记位为1,则代表对应地址的待迁移数据的迁移状态为已迁移,即该待迁移数据已经从源逻辑卷迁移至目标逻辑卷。若迁移标记位为0,则代表对应地址的待迁移数据的迁移状态为未迁移,即该待迁移数据并没有从源逻辑卷迁移至目标逻辑卷。若待迁移状态为未迁移,则根据迁移记录位图中记录的待迁移数据地址,将该待迁移数据从源逻辑卷迁移至目标逻辑卷。
步骤S23,在待迁移数据地址对应的待迁移数据完成迁移后,更新对应的迁移标记位,以使迁移状态变更为已迁移。
其中,在某条待迁移数据迁移完成后,更新迁移记录位图。具体的,将迁移记录位图中该待迁移数据的地址对应的迁移标记位更改为1,即将该待迁移数据的迁移状态更新为已迁移。
在本实施例中,如图3所示,若根据所述迁移记录位图,获知已迁移数据的数据量达到预设阈值时,则释放所述源逻辑卷中已迁移数据对应的空间包括:
步骤S31,根据所述迁移记录位图中的待迁移数据地址及迁移标记位,将迁移状态为已迁移的待迁移数据作为已迁移数据,并确定所述已迁移数据的数据量。
其中,若迁移标记位为1,则代表对应地址的待迁移数据的迁移状态为已迁移。
步骤S32,若获知所述已迁移数据的数据量达到预设阈值时,则根据已迁移数据对应的待迁移数据地址,释放所述源逻辑卷中对应的空间。
其中,根据迁移记录位图中迁移标记位为1的待迁移数据地址,对数据量进行累加计算,得到已迁移数据的数据量。进一步的,预设阈值可以为1GB,当已迁移数据的数据量达到1GB时,释放所有已迁移数据对应的存储空间。具体的,根据迁移记录位图中迁移标记位为1的待迁移数据地址,对源逻辑卷中对应的存储空间进行释放。进一步的,预设阈值不唯一,即可以设置多个预设阈值。
在本发明一具体实施例中,源逻辑卷是LUN-A、目标逻辑卷是LUN-B,如图4所示为数据迁移过程。其中,通过SAN网络(存储区域网络)建立迁移镜像对,迁移镜像对可以是软件功能模块,其主要功能是:
1、基于现有镜像技术,从LUN-A迁移数据到LUN-B。
2、基于现有镜像技术,实现I/O(写/读)分发,跟踪迁移情况,把实际需要迁移的空间分为两个区域:
已迁移区域:已迁移区域读写I/O由目标LUN处理。
待迁移区域:待迁移区域读写I/O由源LUN处理。
进一步的,实时调整已迁移区域和待迁移区域的分界线,按预设策略释放源LUN上已迁移区域占用的空间。
在本实施例中,迁移的源LUN和目标LUN可以是普通LUN,也可以是自动精简配置LUN,如图6所示,以源LUN和目标LUN均为普通LUN为例进行详细说明。具体过程如下:
(1)配置LUN-A到LUN-B的迁移,创建迁移目标LUN及迁移记录位图,并分配迁移位图内存,将LUN-A/LUN-B迁移镜像对配置写入镜像配置文件并启动迁移进程,迁移记录位图初始待迁移区域是整个LUN-A,已迁移区域是0。
(2)迁移进程按LUN-A LBA(Logical Block Address逻辑区块地址)地址开始从LUN-A迁移数据到LUN-B。如图5所示,具体的,按迁移记录位图中顺序逐个读取迁移标记位为0的数据地址,获取对应地址段资源访问锁,用以将该地址中待迁移数据暂时锁住,避免被修改。获取资源访问锁后,对该地址中的数据进行迁移,并释放资源访问锁。此外,图5中①为按照1GB为单元进行迁移,②为迁移完成后,更新迁移记录位图。
迁移过程中,将根据迁移完成情况把需要迁移的空间分为两部分:
已迁移区域:该区域上新的读写I/O将重定向到LUN-B,前端业务所有的读写I/O请求由LUN-B响应,写I/O不需要同步写入LUN-A。
待迁移区域:该区域上新的读写I/O将重定向到LUN-A,前端业务所有的读写I/O请求由LUN-A响应,写I/O不需要同步写入LUN-B。
当已迁移的区域的LBA地址达到预设的释放空间阈值的整数倍时,将触发释放任务,释放源LUN占用的上一个释放空间,把该空间归还给RAID阵列组,以便给其他LUN使用。比如,假设释放空间阈值是1GB:
当已迁移的区域的LBA地址为1GB时,触发释放任务,同时继续迁移。释放任务将在后台查询LUN-A索引表,获取索引表中起始1GB记录的对应RAID的对应空间,然后修改对应RAID的空间分配表,把对应空间修改为空闲状态,把LUN-A索引表中起始1GB的记录修改为空。这样,起始1GB空间占用的RAID空间将被释放出来,可以给其他的LUN使用。其中,释放空间时,顺序对迁移记录位图中迁移标记位为1的地址对应的存储空间进行释放。
当已迁移的区域的LBA地址为2GB时,将触发释放第2个1GB空间;以此类推。
滞后释放特性,为里面避免频繁修改LUN索引表和RAID空间分配表,引致存储CPU的额外消耗使整体性能下降,可以由开发人员在代码中指定滞后LUN-A(源LUN)的释放周期,或者由用户指定LUN-A空间。
(3)迁移完成后,将短暂挂起前端业务读写I/O流量确保LUN-A和LUN-B完全一致后,随后将前端所有的读写I/O全部重定向至目标LUN-B上,系统禁用迁移镜像对清理镜像对配置文件,LUN-B继承LUN-A属性(如World Wide Name唯一标识)并删除LUN-A,恢复前端I/O流量。
其中,数据读写处理过程如图7所示,接收业务I/O请求后,根据迁移记录位图,判断业务I/O请求对应的地址中数据是否被迁移。若是,则重定向到目标LUN LBA区域,若否,则重定向到源LUN LBA区域。然后,返回业务I/O请求数据。
本发明可以实现迁移过程中任何I/O仅读写一个LUN,去掉了传统迁移方案中I/O多写一次的开销。同时,根据迁移完成情况,动态释放源LUN占用的存储空间,以便给其他LUN使用,该优点特别适用于普通LUN到自动精简配置LUN的迁移,在这种场景中,只需要额外的释放空间阈值大小的空闲存储空间,即可完成LUN数据迁移,大大提高了数据迁移效率。
如图8所示为本发明实施例一种数据迁移装置的结构示意图,图中所示装置包括:
镜像迁移对模块10,用于将源逻辑卷与目标逻辑卷设置为镜像迁移对。
其中,源逻辑卷中存储待迁移数据的逻辑卷,目标逻辑卷为待迁移数据需要迁移到的逻辑卷。在设置镜像迁移对之前,需要创建目标逻辑卷。创建目标逻辑卷后,将源逻辑卷与目标逻辑卷设置为镜像迁移对。其中,镜像迁移对是一种特殊的镜像对,由源逻辑卷和目标逻辑卷组成,要求目标逻辑卷容量大于等于源逻辑卷容量,实际需要迁移的空间由源逻辑卷决定。进一步的,迁移镜像对仅在迁移过程中存在。此外,迁移的源逻辑卷和目标逻辑卷可以是普通逻辑卷,也可以是自动精简配置逻辑卷。
迁移记录位图模块20,用于根据所述源逻辑卷中待迁移数据的地址,生成迁移记录位图。
其中,从源逻辑卷中获取待迁移数据的地址,生成迁移记录位图。具体的,迁移记录位图中包括源逻辑卷中待迁移数据的地址以及迁移标记,待迁移数据的地址与迁移标记是一一对应的。待迁移数据的地址表示待迁移数据在源逻辑卷中的存在位置,迁移标记代表该待迁移数据的迁移状态。具体的,若迁移标记位为1,则代表对应地址的待迁移数据的迁移状态为已迁移,即该待迁移数据已经从源逻辑卷迁移至目标逻辑卷。若迁移标记位为0,则代表对应地址的待迁移数据的迁移状态为未迁移,即该待迁移数据并没有从源逻辑卷迁移至目标逻辑卷。
数据迁移模块30,根据所述迁移记录位图,将所述源逻辑卷中的待迁移数据迁移至所述目标逻辑卷,并实时更新所述迁移记录位图。
其中,根据迁移记录位图进行数据迁移。具体的,将迁移记录位图中迁移标记位为0的待迁移数据,根据对应的待迁移数据地址进行数据迁移。在某条待迁移数据迁移完成后,更新迁移记录位图。具体的,将迁移记录位图中该待迁移数据的地址对应的迁移标记位更改为1。
空间释放模块40,用于若根据所述迁移记录位图,获知已迁移数据的数据量达到预设阈值时,则释放所述源逻辑卷中已迁移数据对应的空间。
其中,在数据迁移的同时,可以按照预设时间间隔对迁移记录位图进行扫描。每次扫描均判断迁移记录位图中已迁移数据的数据量是否达到预设阈值。具体的,根据迁移记录位图中迁移标记位为1的待迁移数据地址,对数据量进行累加计算,得到已迁移数据的数据量。进一步的,预设阈值可以为1GB,当已迁移数据的数据量达到1GB时,释放所有已迁移数据对应的存储空间。具体的,根据迁移记录位图中迁移标记位为1的待迁移数据地址,对源逻辑卷中对应的存储空间进行释放。
进一步的,预设阈值不唯一,即可以设置多个预设阈值。具体的,设置n个预设阈值,n为正整数,预设阈值等于1GB的整数倍。由此,每当已迁移数据量达到1GB的整数倍时,将源逻辑卷中对应的存储空间释放。
此外,将源逻辑卷中数据迁移完成的区域称为已迁移区域,该区域上新的读写操作将重定向到目标逻辑卷,且所有的读写操作请求由目标逻辑响应,写操作不需要同步写入源逻辑卷。将源逻辑卷中数据迁移未完成的区域称为待迁移区域,该区域上新的读写操作将重定向到源逻辑卷,且所有的读写操作请求由源逻辑卷响应,写操作不需要同步写入目标逻辑卷。
作为本发明的一个实施例,所述迁移记录位图包括待迁移数据地址及迁移标记位;其中,所述待迁移数据地址与所述迁移标记位是一一对应的。
在本实施例中,如图9所示,所述数据迁移模块30包括:
迁移状态单元31,用于根据所述迁移记录位图中的迁移标记位,确定待迁移数据的迁移状态;
数据迁移单元32,若获知所述迁移状态为未迁移,则根据迁移标记位对应的待迁移数据地址,将未迁移的待迁移数据从所述源逻辑卷中迁移至所述目标逻辑卷;
标记位更新单元33,用于在待迁移数据地址对应的待迁移数据完成迁移后,更新对应的迁移标记位,以使迁移状态变更为已迁移。
在本实施例中,如图10所示,所述空间释放模块40包括:
已迁移数据单元41,用于根据所述迁移记录位图中的待迁移数据地址及迁移标记位,将迁移状态为已迁移的待迁移数据作为已迁移数据,并确定所述已迁移数据的数据量;
空间释放单元42,用于若获知所述已迁移数据的数据量达到预设阈值时,则根据已迁移数据对应的待迁移数据地址,释放所述源逻辑卷中对应的空间。
基于与上述一种数据迁移方法相同的申请构思,本发明还提供了上述一种数据迁移装置。由于该一种数据迁移装置解决问题的原理与一种数据迁移方法相似,因此该一种数据迁移装置的实施可以参见一种数据迁移方法的实施,重复之处不再赘述。
本发明通过根据迁移完成情况,动态释放源逻辑卷占用的存储空间,以便给其他逻辑卷使用,对于普通逻辑卷到自动精简配置逻辑卷迁移的场景,只需要额外释放空间阈值大小的空闲存储空间,即可完成逻辑卷数据迁移,由此极大缓解了存储空间紧张,提高了数据迁移效率。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
如图11所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图11中所示的所有部件;此外,电子设备600还可以包括图11中没有示出的部件,可以参考现有技术。
如图11所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。
其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。
输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。
存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种数据迁移方法,其特征在于,所述方法包括:
将源逻辑卷与目标逻辑卷设置为镜像迁移对;
根据所述源逻辑卷中待迁移数据地址,生成迁移记录位图;
根据所述迁移记录位图,将所述源逻辑卷中的待迁移数据迁移至所述目标逻辑卷,并实时更新所述迁移记录位图;以及
若根据所述迁移记录位图,获知已迁移数据的数据量达到预设阈值时,则释放所述源逻辑卷中已迁移数据对应的空间。
2.根据权利要求1所述的方法,其特征在于,所述迁移记录位图包括待迁移数据地址及迁移标记位;其中,所述待迁移数据地址与所述迁移标记位是一一对应的。
3.根据权利要求2所述的方法,其特征在于,所述根据所述迁移记录位图,将所述源逻辑卷中的待迁移数据迁移至所述目标逻辑卷,并实时更新所述迁移记录位图包括:
根据所述迁移记录位图中的迁移标记位,确定待迁移数据的迁移状态;
若获知所述迁移状态为未迁移,则根据迁移标记位对应的待迁移数据地址,将未迁移的待迁移数据从所述源逻辑卷中迁移至所述目标逻辑卷;
在待迁移数据地址对应的待迁移数据完成迁移后,更新对应的迁移标记位,以使迁移状态变更为已迁移。
4.根据权利要求3所述的方法,其特征在于,所述若根据所述迁移记录位图,获知已迁移数据的数据量达到预设阈值时,则释放所述源逻辑卷中已迁移数据对应的空间包括:
根据所述迁移记录位图中的待迁移数据地址及迁移标记位,将迁移状态为已迁移的待迁移数据作为已迁移数据,并确定所述已迁移数据的数据量;
若获知所述已迁移数据的数据量达到预设阈值时,则根据已迁移数据对应的待迁移数据地址,释放所述源逻辑卷中对应的空间。
5.一种数据迁移装置,其特征在于,所述装置包括:
镜像迁移对模块,用于将源逻辑卷与目标逻辑卷设置为镜像迁移对;
迁移记录位图模块,用于根据所述源逻辑卷中待迁移数据地址,生成迁移记录位图;
数据迁移模块,根据所述迁移记录位图,将所述源逻辑卷中的待迁移数据迁移至所述目标逻辑卷,并实时更新所述迁移记录位图;以及
空间释放模块,用于若根据所述迁移记录位图,获知已迁移数据的数据量达到预设阈值时,则释放所述源逻辑卷中已迁移数据对应的空间。
6.根据权利要求5所述的装置,其特征在于,所述迁移记录位图包括待迁移数据地址及迁移标记位;其中,所述待迁移数据地址与所述迁移标记位是一一对应的。
7.根据权利要求6所述的装置,其特征在于,所述数据迁移模块包括:
迁移状态单元,用于根据所述迁移记录位图中的迁移标记位,确定待迁移数据的迁移状态;
数据迁移单元,若获知所述迁移状态为未迁移,则根据迁移标记位对应的待迁移数据地址,将未迁移的待迁移数据从所述源逻辑卷中迁移至所述目标逻辑卷;
标记位更新单元,用于在待迁移数据地址对应的待迁移数据完成迁移后,更新对应的迁移标记位,以使迁移状态变更为已迁移。
8.根据权利要求7所述的装置,其特征在于,所述空间释放模块包括:
已迁移数据单元,用于根据所述迁移记录位图中的待迁移数据地址及迁移标记位,将迁移状态为已迁移的待迁移数据作为已迁移数据,并确定所述已迁移数据的数据量;
空间释放单元,用于若获知所述已迁移数据的数据量达到预设阈值时,则根据已迁移数据对应的待迁移数据地址,释放所述源逻辑卷中对应的空间。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至4任一项所述方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至4任一项所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110096218.1A CN112783449A (zh) | 2021-01-25 | 2021-01-25 | 数据迁移方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110096218.1A CN112783449A (zh) | 2021-01-25 | 2021-01-25 | 数据迁移方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112783449A true CN112783449A (zh) | 2021-05-11 |
Family
ID=75758930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110096218.1A Pending CN112783449A (zh) | 2021-01-25 | 2021-01-25 | 数据迁移方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112783449A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114442941A (zh) * | 2022-01-05 | 2022-05-06 | 杭州宏杉科技股份有限公司 | 一种数据迁移方法、系统、存储介质及设备 |
CN114442943A (zh) * | 2022-01-05 | 2022-05-06 | 杭州宏杉科技股份有限公司 | 一种数据迁移方法、系统及设备 |
CN117270792A (zh) * | 2023-11-20 | 2023-12-22 | 苏州元脑智能科技有限公司 | 一种数据迁移方法、装置、设备和存储介质 |
CN117349025A (zh) * | 2023-12-01 | 2024-01-05 | 中控技术股份有限公司 | 一种组态迁移方法、装置、电子设备和存储介质 |
-
2021
- 2021-01-25 CN CN202110096218.1A patent/CN112783449A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114442941A (zh) * | 2022-01-05 | 2022-05-06 | 杭州宏杉科技股份有限公司 | 一种数据迁移方法、系统、存储介质及设备 |
CN114442943A (zh) * | 2022-01-05 | 2022-05-06 | 杭州宏杉科技股份有限公司 | 一种数据迁移方法、系统及设备 |
CN114442943B (zh) * | 2022-01-05 | 2023-04-25 | 杭州宏杉科技股份有限公司 | 一种数据迁移方法、系统及设备 |
CN114442941B (zh) * | 2022-01-05 | 2023-05-12 | 杭州宏杉科技股份有限公司 | 一种数据迁移方法、系统、存储介质及设备 |
CN117270792A (zh) * | 2023-11-20 | 2023-12-22 | 苏州元脑智能科技有限公司 | 一种数据迁移方法、装置、设备和存储介质 |
CN117349025A (zh) * | 2023-12-01 | 2024-01-05 | 中控技术股份有限公司 | 一种组态迁移方法、装置、电子设备和存储介质 |
CN117349025B (zh) * | 2023-12-01 | 2024-02-02 | 中控技术股份有限公司 | 一种组态迁移方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112783449A (zh) | 数据迁移方法及装置 | |
RU2642349C1 (ru) | Способ для сохранения данных посредством устройства хранения данных и устройство хранения данных | |
US7325112B2 (en) | High-speed snapshot method | |
JP4859837B2 (ja) | 情報記録媒体アクセス装置、及びデータ記録方法 | |
JP5603997B2 (ja) | ストレージ装置及びデータ制御方法 | |
US10120795B2 (en) | Wear-leveling nandflash memory reading/writing method | |
AU2016393275B2 (en) | Method and apparatus for accessing flash memory device | |
KR101971307B1 (ko) | 사용 비트맵을 갖는 저장 장치에 대한 효율적 액세스 기법 | |
US7694087B2 (en) | Duplicate data storing system, duplicate data storing method, and duplicate data storing program for storage device | |
CN109598156B (zh) | 一种写时重定向引擎快照流方法 | |
US7930496B2 (en) | Processing a read request to a logical volume while relocating a logical volume from a first storage location to a second storage location using a copy relationship | |
US9983826B2 (en) | Data storage device deferred secure delete | |
CN109558456A (zh) | 一种文件迁移方法、装置、设备及可读存储介质 | |
KR20110005817A (ko) | 광 디스크 드라이브처럼 동작 가능한 메모리 드라이브 및 메모리 드라이브를 광 디스크 드라이브로 가상화하는 방법 | |
JP2013210749A (ja) | プログラム、制御方法、記憶装置およびシステム | |
CN107122223A (zh) | 数据迁移方法及装置 | |
WO2016206070A1 (zh) | 一种文件更新方法及存储设备 | |
JP5594647B2 (ja) | ストレージ装置及びその制御方法 | |
CN111913664B (zh) | 一种数据写入方法及装置 | |
JP2014225297A (ja) | フラッシュメモリモジュール及びストレージ装置 | |
CN111708489B (zh) | 一种提高硬盘服务质量的方法和设备 | |
TW202137013A (zh) | 記憶體控制器與資料處理方法 | |
CN102981782A (zh) | 数据处理方法及装置 | |
CN114442941B (zh) | 一种数据迁移方法、系统、存储介质及设备 | |
TWI805937B (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 |