CN106648468A - 一种数据迁移过程中对io请求的控制方法及系统 - Google Patents
一种数据迁移过程中对io请求的控制方法及系统 Download PDFInfo
- Publication number
- CN106648468A CN106648468A CN201611245589.7A CN201611245589A CN106648468A CN 106648468 A CN106648468 A CN 106648468A CN 201611245589 A CN201611245589 A CN 201611245589A CN 106648468 A CN106648468 A CN 106648468A
- Authority
- CN
- China
- Prior art keywords
- data
- request
- lba
- migration
- current
- 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
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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
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)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据迁移过程中对IO请求的控制方法及系统,该方法包括:将逻辑卷划分为若干大小相等的第一数据区段,定义第一数据区段为数据迁移的单位;检测当前IO请求的数据块所对应的第一数据区段的数据区域的数据迁移状态;根据当前IO请求的数据块所对应的第一数据区段的数据区域的数据迁移状态控制IO请求的执行动作。在数据迁移过程中,用户恰好对迁移的存储单元执行IO请求,则判断当前IO请求对应的第一数据区段的数据迁移状态,判断第一数据区段的数据迁移和该IO请求是否冲突,然后根据判断结果对IO请求进行控制,从而避免了对正在进行迁移的存储单元执行IO操作,在成迁移完成后的数据不一致、丢失和破坏等情况的出现。
Description
技术领域
本发明涉及数据迁移技术领域,特别是涉及一种数据迁移过程中对IO请求的控制方法及系统。
背景技术
随着信息技术的发展,在存储软件领域常常会遇到数据迁移的情况。数据迁移指的是不同存储设备之间的数据转移,将数据移动到新的存储空间,原来的存储空间释放,以便可以容纳新数据。
数据迁移可以平衡不同存储设备的可用空间,也可以平衡不同控制器的IO负载。自动分层技术就是借助迁移完成数据的交换。迁移涉及大量数据复制,所以整个迁移过程通常耗费时间较长,但是对用户透明,不应影响用户的IO操作。如果在数据迁移过程中,用户恰好对进行迁移的存储单元执行IO操作,此时如果不控制IO请求,可能会导致迁移完成后数据不一致、丢失、破坏等情况。
因此,如何在数据迁移过程中对IO请求进行控制,避免对正在进行迁移的存储单元执行IO操作在成迁移完成后的数据不一致、丢失和破坏等情况的出现,是本领域技术人员目前需要解决的技术问题。
发明内容
本发明的目的是提供一种数据迁移过程中对IO请求的控制方法及系统,可以在数据迁移过程中对IO请求进行控制,避免对正在进行迁移的存储单元执行IO操作在成迁移完成后的数据不一致、丢失和破坏等情况的出现。
为解决上述技术问题,本发明提供了如下技术方案:
一种数据迁移过程中对IO请求的控制方法,包括:
将逻辑卷划分为若干大小相等的第一数据区段,定义所述第一数据区段为数据迁移的单位;
检测当前IO请求的数据块所对应的第一数据区段的数据区域的数据迁移状态;
根据所述当前IO请求的数据块所对应的第一数据区段的数据区域的数据迁移状态控制所述IO请求的执行动作。
优选地,所述检测当前IO请求的数据块所对应的第一数据区段的数据区域的数据迁移状态,包括:
将所述当前IO请求的数据块所对应的第一数据区段分解为若干LBA;
通过预设算法对该第一数据区段进行迁移标记,标记该第一数据区段中已完成数据迁移的LBA和未完成数据迁移的LBA;
计算所述当前IO请求的数据块的起始LBA和终止LBA;
检测所述当前IO请求的数据块的起始LBA和/或所述终止LBA所对应的第一数据区段的LBA的数据迁移状态。
优选地,所述通过预设算法对该第一数据区段进行迁移标记,标记该第一数据区段中已完成数据迁移的LBA和未完成数据迁移的LBA,包括:
通过High Water Mark算法来标记该第一数据区段中已完成数据迁移的位置,定义High Water以下的数据已完成数据迁移,High Water以上的数据未完成数据迁移。
优选地,所述检测所述当前IO请求的数据块的起始LBA和/或所述终止LBA所对应的第一数据区段的LBA的数据迁移状态,包括:
根据所述当前IO请求的数据块的起始LBA和/或所述终止LBA与所述High Water的位置关系,判定所述当前IO请求的数据块的起始LBA和/或所述终止LBA所对应的第一数据区段的LBA的数据迁移状态。
优选地,所述根据所述当前IO请求的数据块所对应的第一数据区段的数据区域的数据迁移状态控制所述IO请求的执行动作,包括:
若所述起始LBA大于所述High Water,则直接执行IO请求;
若所述终止LBA小于所述High Water,则控制所述IO请求作用于数据迁移的目的第一数据区段;
若所述High Water在所述起始LBA和所述终止LBA之间,则控制所述IO请求在该第一数据区段的数据迁移不影响所述IO请求的操作时再执行所述IO请求。
一种数据迁移过程中对IO请求的控制系统,包括:
划分模块,用于将逻辑卷划分为若干大小相等的第一数据区段,定义所述第一数据区段为数据迁移的单位;
检测模块,用于检测当前IO请求的数据块所对应的第一数据区段的数据区域的数据迁移状态;
控制模块,用于根据所述当前IO请求的数据块所对应的第一数据区段的数据区域的数据迁移状态控制所述IO请求的执行动作。
优选地,所述检测模块包括:
分解单元,用于将所述当前IO请求的数据块所对应的第一数据区段分解为若干LBA;
标记单元,用于通过预设算法对该第一数据区段进行迁移标记,标记该第一数据区段中已完成数据迁移的LBA和未完成数据迁移的LBA;
计算单元,用于计算所述当前IO请求的数据块的起始LBA和终止LBA;
检测单元,用于检测所述当前IO请求的数据块的起始LBA和/或所述终止LBA所对应的第一数据区段的LBA的数据迁移状态。
优选地,所述标记单元为High Water标记单元,用于通过High Water Mark算法来标记该第一数据区段中已完成数据迁移的位置,定义High Water以下的数据已完成数据迁移,High Water以上的数据未完成数据迁移。
优选地,所述检测单元包括:
对比子单元,用于比对所述当前IO请求的数据块的起始LBA和/或所述终止LBA与所述High Water的位置关系;
判定子单元,用于根据所述当前IO请求的数据块的起始LBA和/或所述终止LBA与所述High Water的位置关系,判定所述当前IO请求的数据块的起始LBA和/或所述终止LBA所对应的第一数据区段的LBA的数据迁移状态。
优选地,所述控制模块包括:
第一控制单元,用于在所述起始LBA大于所述High Water时,直接执行IO请求;
第二控制单元,用于在所述终止LBA小于所述High Water时,控制所述IO请求作用于数据迁移的目的第一数据区段;
第三控制单元,用于在所述High Water在所述起始LBA和所述终止LBA之间时,控制所述IO请求在该第一数据区段的数据迁移不影响所述IO请求的操作时再执行所述IO请求。
与现有技术相比,上述技术方案具有以下优点:
本发明所提供的一种数据迁移过程中对IO请求的控制方法,包括:将逻辑卷划分为若干大小相等的第一数据区段,定义第一数据区段为数据迁移的单位;检测当前IO请求的数据块所对应的第一数据区段的数据区域的数据迁移状态;根据当前IO请求的数据块所对应的第一数据区段的数据区域的数据迁移状态控制IO请求的执行动作。在本技术方案中,通过对逻辑卷进行数据区段划分,以第一数据区段作为数据迁移的单位,当在数据迁移过程中,用户恰好对迁移的存储单元执行IO请求,则判断当前IO请求对应的第一数据区段的数据迁移状态,判断此时第一数据区段的数据迁移和该IO请求是否冲突,然后根据判断的结果来对IO请求进行相应控制,从而避免了对正在进行迁移的存储单元执行IO操作,在成迁移完成后的数据不一致、丢失和破坏等情况的出现。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种具体实施方式所提供的数据迁移过程中对IO请求的控制方法流程图;
图2为本发明一种具体实施方式所提供的数据迁移过程中对IO请求的控制系统结构示意图。
具体实施方式
本发明的核心是提供一种数据迁移过程中对IO请求的控制方法及系统,可以在数据迁移过程中对IO请求进行控制,避免对正在进行迁移的存储单元执行IO操作在成迁移完成后的数据不一致、丢失和破坏等情况的出现。
为了使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
在以下描述中阐述了具体细节以便于充分理解本发明。但是本发明能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广。因此本发明不受下面公开的具体实施的限制。
请参考图1,图1为本发明一种具体实施方式所提供的数据迁移过程中对IO请求的控制方法流程图。
本发明的一种具体实施方式提供了一种数据迁移过程中对IO请求的控制方法,包括:
S11:将逻辑卷划分为若干大小相等的第一数据区段,定义第一数据区段为数据迁移的单位。
经逻辑卷划分为多个大小相等的第一数据区段Extent,每个Extent对应实际的存储区域。
S12:检测当前IO请求的数据块所对应的第一数据区段的数据区域的数据迁移状态。
即检测当前IO请求的数据块对应的存储区域的数据的迁移状态,检测该存储区域的数据是否已完成迁移。
S13:根据当前IO请求的数据块所对应的第一数据区段的数据区域的数据迁移状态控制IO请求的执行动作。
由于IO请求的数据块所对应的第一数据区段的数据区域的数据的迁移状态不同,对IO请求的影响不同。若该数据区域的数据未迁移,则表示对IO请求没有影响,可以控制IO请求继续执行;若该数据区域的数据已迁移完成,则IO请求还需要作用于该数据区域的数据迁移的目的Extent;若该数据区域的数据正在迁移,则会对请求造成很大的影响,此时若不控制IO请求,使其继续执行则可能会造成数据迁移之后数据不一致或者丢失破坏等情况,因此,此时应该暂停IO请求,需要等待该数据区域的数据迁移状态不会对IO请求造成影响时再继续执行IO请求的操作。
通过对逻辑卷进行数据区段划分,以第一数据区段作为数据迁移的单位,当在数据迁移过程中,用户恰好对迁移的存储单元执行IO请求,则判断当前IO请求对应的第一数据区段的数据迁移状态,判断此时第一数据区段的数据迁移和该IO请求是否冲突,然后根据判断的结果来对IO请求进行相应控制,从而避免了对正在进行迁移的存储单元执行IO操作,在成迁移完成后的数据不一致、丢失和破坏等情况的出现。
在本发明的一种实施方式中,检测当前IO请求的数据块所对应的第一数据区段的数据区域的数据迁移状态,包括:
将当前IO请求的数据块所对应的第一数据区段分解为若干LBA,即每个Extent包含多个LBA(Logical Block Address),用Extent作为数据迁移的单位。
通过预设算法对该第一数据区段进行迁移标记,标记该第一数据区段中已完成数据迁移的LBA和未完成数据迁移的LBA。通过预设算法对该第一数据区段进行迁移标记,标记该第一数据区段中已完成数据迁移的LBA和未完成数据迁移的LBA,包括:通过HighWater Mark算法来标记该第一数据区段中已完成数据迁移的位置,定义High Water以下的数据已完成数据迁移,High Water以上的数据未完成数据迁移。
当一个Extent在做数据迁移时,此时如果存在用户对该Extent进行IO请求,则需要确定数据迁移是否影响该IO请求。因此,计算当前IO请求的数据块的起始LBA和终止LBA。
检测当前IO请求的数据块的起始LBA和/或终止LBA所对应的第一数据区段的LBA的数据迁移状态。
在本实施方式中,检测当前IO请求的数据块的起始LBA和/或终止LBA所对应的第一数据区段的LBA的数据迁移状态,优选包括:
根据当前IO请求的数据块的起始LBA和/或终止LBA与High Water的位置关系,判定当前IO请求的数据块的起始LBA和/或终止LBA所对应的第一数据区段的LBA的数据迁移状态。
其中,根据当前IO请求的数据块所对应的第一数据区段的数据区域的数据迁移状态控制IO请求的执行动作,包括:
若起始LBA大于High Water,表示该IO请求的数据区域还未迁移过,该Extent的数据迁移不会与该IO请求冲突,则直接正常执行IO请求即可;
若终止LBA小于High Water,这时表示IO请求的数据区域已经被迁移,为了保证数据的一致性,则控制IO请求作用于数据迁移的目的第一数据区段,即控制IO请求作用于数据迁移的目的Extent;
若High Water在起始LBA和终止LBA之间,表示迁移对IO请求有影响,需要等待该Extent的数据迁移不会对IO执行产生影响再执行IO请求,则控制IO请求在该第一数据区段的数据迁移不影响IO请求的操作时再执行IO请求。
在本实施方式中,以Extent为单位进行数据迁移和IO请求,即每个IO请求作用于单个的Extent。采用了High Water Mark算法标记Extent的数据迁移位置,实现数据迁移过程中对IO请求的控制,最大限度地降低数据迁移对IO请求的影响。避免对正在进行迁移的存储单元执行IO操作在成迁移完成后的数据不一致、丢失和破坏等情况的出现。
请参考图2,图2为本发明一种具体实施方式所提供的数据迁移过程中对IO请求的控制系统结构示意图。
相应地,本发明一种实施方式还提供了一种数据迁移过程中对IO请求的控制系统,包括:
划分模块1,用于将逻辑卷划分为若干大小相等的第一数据区段,定义第一数据区段为数据迁移的单位;
检测模块2,用于检测当前IO请求的数据块所对应的第一数据区段的数据区域的数据迁移状态;
控制模块3,用于根据当前IO请求的数据块所对应的第一数据区段的数据区域的数据迁移状态控制IO请求的执行动作。
通过对逻辑卷进行数据区段划分,以第一数据区段作为数据迁移的单位,当在数据迁移过程中,用户恰好对迁移的存储单元执行IO请求,则判断当前IO请求对应的第一数据区段的数据迁移状态,判断此时第一数据区段的数据迁移和该IO请求是否冲突,然后根据判断的结果来对IO请求进行相应控制,从而避免了对正在进行迁移的存储单元执行IO操作,在成迁移完成后的数据不一致、丢失和破坏等情况的出现。
在本发明的一种实施方式中,检测模块包括:分解单元,用于将当前IO请求的数据块所对应的第一数据区段分解为若干LBA;标记单元,用于通过预设算法对该第一数据区段进行迁移标记,标记该第一数据区段中已完成数据迁移的LBA和未完成数据迁移的LBA;计算单元,用于计算当前IO请求的数据块的起始LBA和终止LBA;检测单元,用于检测当前IO请求的数据块的起始LBA和/或终止LBA所对应的第一数据区段的LBA的数据迁移状态。
优选标记单元为High Water标记单元,用于通过High Water Mark算法来标记该第一数据区段中已完成数据迁移的位置,定义High Water以下的数据已完成数据迁移,High Water以上的数据未完成数据迁移。
进一步地,检测单元包括:对比子单元,用于比对当前IO请求的数据块的起始LBA和/或终止LBA与High Water的位置关系;判定子单元,用于根据当前IO请求的数据块的起始LBA和/或终止LBA与High Water的位置关系,判定当前IO请求的数据块的起始LBA和/或终止LBA所对应的第一数据区段的LBA的数据迁移状态。
控制模块包括:第一控制单元,用于在起始LBA大于High Water时,直接执行IO请求;第二控制单元,用于在终止LBA小于High Water时,控制IO请求作用于数据迁移的目的第一数据区段;第三控制单元,用于在High Water在起始LBA和终止LBA之间时,控制IO请求在该第一数据区段的数据迁移不影响IO请求的操作时再执行IO请求。
在本实施方式中,将当前IO请求的数据块所对应的第一数据区段分解为若干LBA,即每个Extent包含多个LBA(Logical Block Address),用Extent作为数据迁移的单位。以Extent为单位进行数据迁移和IO请求,即每个IO请求作用于单个的Extent。
通过High Water Mark算法来标记该第一数据区段中已完成数据迁移的位置,定义High Water以下的数据已完成数据迁移,High Water以上的数据未完成数据迁移。当一个Extent在做数据迁移时,此时如果存在用户对该Extent进行IO请求,则需要确定数据迁移是否影响该IO请求。因此,计算当前IO请求的数据块的起始LBA和终止LBA。若起始LBA大于High Water,表示该IO请求的数据区域还未迁移过,该Extent的数据迁移不会与该IO请求冲突,则直接正常执行IO请求即可;若终止LBA小于High Water,这时表示IO请求的数据区域已经被迁移,为了保证数据的一致性,则控制IO请求作用于数据迁移的目的第一数据区段,即控制IO请求作用于数据迁移的目的Extent;若High Water在起始LBA和终止LBA之间,表示迁移对IO请求有影响,需要等待该Extent的数据迁移不会对IO执行产生影响再执行IO请求,则控制IO请求在该第一数据区段的数据迁移不影响IO请求的操作时再执行IO请求。
在本实施方式中,以Extent为单位进行数据迁移和IO请求,采用了High WaterMark算法标记Extent的数据迁移位置,实现数据迁移过程中对IO请求的控制,最大限度地降低数据迁移对IO请求的影响。避免对正在进行迁移的存储单元执行IO操作在成迁移完成后的数据不一致、丢失和破坏等情况的出现。
综上所述,本发明所提供的数据迁移过程中对IO请求的控制方法及系统,以Extent为单位进行数据迁移和IO请求,采用了High Water Mark算法标记Extent的数据迁移位置,可以在数据迁移过程中根据当前IO请求对应的数据区域的数据迁移状态获知对IO请求的影响,从而控制IO请求的执行进程,避免对正在进行迁移的存储单元执行IO操作在成迁移完成后的数据不一致、丢失和破坏等情况的出现。
以上对本发明所提供的一种数据迁移过程中对IO请求的控制方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种数据迁移过程中对IO请求的控制方法,其特征在于,包括:
将逻辑卷划分为若干大小相等的第一数据区段,定义所述第一数据区段为数据迁移的单位;
检测当前IO请求的数据块所对应的第一数据区段的数据区域的数据迁移状态;
根据所述当前IO请求的数据块所对应的第一数据区段的数据区域的数据迁移状态控制所述IO请求的执行动作。
2.根据权利要求1所述的方法,其特征在于,所述检测当前IO请求的数据块所对应的第一数据区段的数据区域的数据迁移状态,包括:
将所述当前IO请求的数据块所对应的第一数据区段分解为若干LBA;
通过预设算法对该第一数据区段进行迁移标记,标记该第一数据区段中已完成数据迁移的LBA和未完成数据迁移的LBA;
计算所述当前IO请求的数据块的起始LBA和终止LBA;
检测所述当前IO请求的数据块的起始LBA和/或所述终止LBA所对应的第一数据区段的LBA的数据迁移状态。
3.根据权利要求2所述的方法,其特征在于,所述通过预设算法对该第一数据区段进行迁移标记,标记该第一数据区段中已完成数据迁移的LBA和未完成数据迁移的LBA,包括:
通过High Water Mark算法来标记该第一数据区段中已完成数据迁移的位置,定义High Water以下的数据已完成数据迁移,High Water以上的数据未完成数据迁移。
4.根据权利要求3所述的方法,其特征在于,所述检测所述当前IO请求的数据块的起始LBA和/或所述终止LBA所对应的第一数据区段的LBA的数据迁移状态,包括:
根据所述当前IO请求的数据块的起始LBA和/或所述终止LBA与所述High Water的位置关系,判定所述当前IO请求的数据块的起始LBA和/或所述终止LBA所对应的第一数据区段的LBA的数据迁移状态。
5.根据权利要求4所述的方法,其特征在于,所述根据所述当前IO请求的数据块所对应的第一数据区段的数据区域的数据迁移状态控制所述IO请求的执行动作,包括:
若所述起始LBA大于所述High Water,则直接执行IO请求;
若所述终止LBA小于所述High Water,则控制所述IO请求作用于数据迁移的目的第一数据区段;
若所述High Water在所述起始LBA和所述终止LBA之间,则控制所述IO请求在该第一数据区段的数据迁移不影响所述IO请求的操作时再执行所述IO请求。
6.一种数据迁移过程中对IO请求的控制系统,其特征在于,包括:
划分模块,用于将逻辑卷划分为若干大小相等的第一数据区段,定义所述第一数据区段为数据迁移的单位;
检测模块,用于检测当前IO请求的数据块所对应的第一数据区段的数据区域的数据迁移状态;
控制模块,用于根据所述当前IO请求的数据块所对应的第一数据区段的数据区域的数据迁移状态控制所述IO请求的执行动作。
7.根据权利要求6所述的系统,其特征在于,所述检测模块包括:
分解单元,用于将所述当前IO请求的数据块所对应的第一数据区段分解为若干LBA;
标记单元,用于通过预设算法对该第一数据区段进行迁移标记,标记该第一数据区段中已完成数据迁移的LBA和未完成数据迁移的LBA;
计算单元,用于计算所述当前IO请求的数据块的起始LBA和终止LBA;
检测单元,用于检测所述当前IO请求的数据块的起始LBA和/或所述终止LBA所对应的第一数据区段的LBA的数据迁移状态。
8.根据权利要求6所述的系统,其特征在于,所述标记单元为High Water标记单元,用于通过High Water Mark算法来标记该第一数据区段中已完成数据迁移的位置,定义HighWater以下的数据已完成数据迁移,High Water以上的数据未完成数据迁移。
9.根据权利要求8所述的系统,其特征在于,所述检测单元包括:
对比子单元,用于比对所述当前IO请求的数据块的起始LBA和/或所述终止LBA与所述High Water的位置关系;
判定子单元,用于根据所述当前IO请求的数据块的起始LBA和/或所述终止LBA与所述High Water的位置关系,判定所述当前IO请求的数据块的起始LBA和/或所述终止LBA所对应的第一数据区段的LBA的数据迁移状态。
10.根据权利要求9所述的系统,其特征在于,所述控制模块包括:
第一控制单元,用于在所述起始LBA大于所述High Water时,直接执行IO请求;
第二控制单元,用于在所述终止LBA小于所述High Water时,控制所述IO请求作用于数据迁移的目的第一数据区段;
第三控制单元,用于在所述High Water在所述起始LBA和所述终止LBA之间时,控制所述IO请求在该第一数据区段的数据迁移不影响所述IO请求的操作时再执行所述IO请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611245589.7A CN106648468A (zh) | 2016-12-29 | 2016-12-29 | 一种数据迁移过程中对io请求的控制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611245589.7A CN106648468A (zh) | 2016-12-29 | 2016-12-29 | 一种数据迁移过程中对io请求的控制方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106648468A true CN106648468A (zh) | 2017-05-10 |
Family
ID=58836146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611245589.7A Pending CN106648468A (zh) | 2016-12-29 | 2016-12-29 | 一种数据迁移过程中对io请求的控制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106648468A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107479832A (zh) * | 2017-08-18 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种基于ca端口的存储离线数据迁移方法 |
CN109086005A (zh) * | 2018-07-19 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种数据处理的方法及装置 |
CN109388347A (zh) * | 2018-10-15 | 2019-02-26 | 郑州云海信息技术有限公司 | 一种数据迁移方法及装置 |
CN111427519A (zh) * | 2020-06-10 | 2020-07-17 | 广东睿江云计算股份有限公司 | 一种分布式存储数据迁移方法及装置 |
CN115840540A (zh) * | 2023-02-23 | 2023-03-24 | 苏州浪潮智能科技有限公司 | Raid阵列扩容方法、装置、设备、raid卡及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073462A (zh) * | 2010-11-29 | 2011-05-25 | 华为技术有限公司 | 虚拟存储迁移方法、系统和虚拟机监控器 |
CN104407806A (zh) * | 2014-10-09 | 2015-03-11 | 杭州华为企业通信技术有限公司 | 独立磁盘冗余阵列组硬盘信息的修改方法和装置 |
CN104536919A (zh) * | 2014-12-11 | 2015-04-22 | 浪潮(北京)电子信息产业有限公司 | 一种克隆系统中避免io冲突的方法和装置 |
-
2016
- 2016-12-29 CN CN201611245589.7A patent/CN106648468A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073462A (zh) * | 2010-11-29 | 2011-05-25 | 华为技术有限公司 | 虚拟存储迁移方法、系统和虚拟机监控器 |
CN104407806A (zh) * | 2014-10-09 | 2015-03-11 | 杭州华为企业通信技术有限公司 | 独立磁盘冗余阵列组硬盘信息的修改方法和装置 |
CN104536919A (zh) * | 2014-12-11 | 2015-04-22 | 浪潮(北京)电子信息产业有限公司 | 一种克隆系统中避免io冲突的方法和装置 |
Non-Patent Citations (2)
Title |
---|
吴洪桥,张敬波,何维,贾文珏,马立广: "多源影像数据分级存储与数据迁移规则研究", 《国土资源信息化》 * |
郭刚,于炯,鲁亮,英昌甜,尹路通: "内存云分级存储架构下的数据迁移模型", 《计算机应用》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107479832A (zh) * | 2017-08-18 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种基于ca端口的存储离线数据迁移方法 |
CN109086005A (zh) * | 2018-07-19 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种数据处理的方法及装置 |
CN109388347A (zh) * | 2018-10-15 | 2019-02-26 | 郑州云海信息技术有限公司 | 一种数据迁移方法及装置 |
CN111427519A (zh) * | 2020-06-10 | 2020-07-17 | 广东睿江云计算股份有限公司 | 一种分布式存储数据迁移方法及装置 |
CN111427519B (zh) * | 2020-06-10 | 2020-10-16 | 广东睿江云计算股份有限公司 | 一种分布式存储数据迁移方法及装置 |
CN115840540A (zh) * | 2023-02-23 | 2023-03-24 | 苏州浪潮智能科技有限公司 | Raid阵列扩容方法、装置、设备、raid卡及介质 |
CN115840540B (zh) * | 2023-02-23 | 2023-05-02 | 苏州浪潮智能科技有限公司 | Raid阵列扩容方法、装置、设备、raid卡及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106648468A (zh) | 一种数据迁移过程中对io请求的控制方法及系统 | |
CN104951396B (zh) | 基于虚拟机创建软件性能测试环境的方法和装置 | |
JP2006099763A5 (zh) | ||
CN111124305B (zh) | 固态硬盘磨损均衡方法、装置及计算机可读存储介质 | |
CN104571693B (zh) | 信息处理方法及电子设备 | |
CN103116563B (zh) | 一种主机通信方法、一种主机及通信系统 | |
TW201303686A (zh) | 電容式觸控螢幕系統及其操作方法 | |
CN104503565A (zh) | 移动设备的功耗管理方法、装置及移动设备 | |
CN112130768A (zh) | 磁盘阵列在线扩容方法、装置及计算机可读存储介质 | |
US9424212B2 (en) | Operating system-managed interrupt steering in multiprocessor systems | |
CN105892877A (zh) | 多指并拢或打开手势的识别方法、装置及终端设备 | |
JP5591969B1 (ja) | マルチコアプロセッサおよび制御方法 | |
CN107220121A (zh) | 一种numa架构下沙箱环境测试方法及其系统 | |
CN109992366A (zh) | 任务调度方法及调度装置 | |
CN107703319A (zh) | 生化分析仪的试剂余量管理方法及装置、生化分析仪、存储介质 | |
CN110134215A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN102629231B (zh) | 一种检测任务堆栈的方法 | |
CN107423110A (zh) | 一种基于libvirt的虚拟机实时监测方法及其装置 | |
CN110209597A (zh) | 处理访问请求的方法、装置、设备和存储介质 | |
CN112463333A (zh) | 一种基于多线程并发的数据存取方法、装置和介质 | |
CN109324765A (zh) | 一种磁盘状态检测方法、装置、设备及存储介质 | |
CN109543217B (zh) | 串行等效的fpga并行布局方法 | |
CN113849238A (zh) | 数据通信方法、装置、电子设备及可读存储介质 | |
WO2020224218A1 (zh) | 基于hbase的数据写入方法、系统、装置及可读存储介质 | |
CN109298809A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170510 |
|
RJ01 | Rejection of invention patent application after publication |