CN1934568A - 将源数据迁移成目标数据的方法、系统和程序 - Google Patents

将源数据迁移成目标数据的方法、系统和程序 Download PDF

Info

Publication number
CN1934568A
CN1934568A CNA2005800080043A CN200580008004A CN1934568A CN 1934568 A CN1934568 A CN 1934568A CN A2005800080043 A CNA2005800080043 A CN A2005800080043A CN 200580008004 A CN200580008004 A CN 200580008004A CN 1934568 A CN1934568 A CN 1934568A
Authority
CN
China
Prior art keywords
data
source data
write
request
information
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
CNA2005800080043A
Other languages
English (en)
Other versions
CN1934568B (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1934568A publication Critical patent/CN1934568A/zh
Application granted granted Critical
Publication of CN1934568B publication Critical patent/CN1934568B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供了将源数据迁移成目标数据的方法、系统和程序。接收将应用数据写到还没有迁移成目标数据的源数据的写请求。产生指示应用数据要写入的源数据的用于写请求的信息。应用数据写入到源数据中。接收将源数据迁移成目标数据的请求并且响应确定出所请求的要迁移的源数据与所产生的用于一个写请求的信息中指示的源数据重叠,返回重试迁移请求的指示。

Description

将源数据迁移成目标数据的方法、系统和程序
技术领域
本发明涉及将源数据迁移成目标数据的方法、系统和程序。
背景技术
为了建立和维护数据的镜像拷贝或将数据转移到目标位置的新位置,例如数据库文件、目录或任何数据组合的存储元素可以从源存储位置迁移到目标存储位置,其中迁移后数据将从该目标位置访问。例如在线或商业数据库系统的转移的许多大规模的数据转移会花费大量的时间以便在网络上迁移。而且,在迁移过程中,系统会需要允许事务处理继续。各种硬件和软件解决方案提供了在数据被迁移时向源和目标位置都传送更新的机制。迁移操作通常包括对源数据的读请求和然后向目标发出写请求。迁移系统必须解决潜在能发生在当发起从应用到源数据的写请求时,源数据正在被迁移成目标数据的冲突。例如,当旧的源数据正在写入时如果接收到新的源数据,那么新的源数据就可能没有迁移到目标位置。
一个已知的这个潜在冲突的解决方案是串行化访问源数据,直到应用数据的写或迁移完成,以至在未完成的写或迁移完成之前,任何干涉的应用写和迁移的操作都不允许发生。这延迟了向等待被当前写或迁移操作释放的锁的请求返回完成。这样,串行化防止了在源数据完成到目标数据的写之前当数据正在迁移时执行对源数据的写。而且,如果块发生了更新,那么就延迟对同一块的迁移操作直到更新完成。与串行化有关的延迟能减慢对源数据写操作和将源数据迁移成目标数据的执行。
发明内容
提供了将源数据迁移成目标数据的方法、系统和程序。接收用于将应用数据写到还没有迁移成目标数据的源数据中的写请求。为写请求产生指示应用数据要写入的源数据的信息。将应用数据写入到源数据。接收将源数据迁移成目标数据的请求并且响应确定出所请求的要迁移的源数据与所产生的用于一个写请求的信息中指示的源数据重叠而返回重试迁移请求的指示。
附图说明
现在参考附图,其中相同的标号在所有附图中都表示对应部分。
图1说明实施方式实现于的计算环境;
图2说明在干涉的写中维护的信息;
图3说明处理到要迁移源数据的写请求的操作;
图4说明迁移数据的操作;
图5说明当迁移数据时使用的读缓冲区;及
图6说明处理迁移请求的操作。
具体实施方式
在下面描述中,参考组成本发明的一部分并且说明了本发明的几个实施方式的附图。应当理解,可以利用其它实施方式并且可以做结构的和操作的改变而不背离本发明的范围。
图1说明了包括存贮器4的计算系统2。在计算机2中的进程和线程在内核地址空间6或用户地址空间8中执行,其中在内核地址空间8中执行的进程可以比那些在用户地址空间8中执行的进程以更高优先级执行。文件系统管理器10在内核地址空间6中执行以处理由在用户地址空间8中执行的迁移管理器12和应用14发出的读和写的请求。迁移管理器12发起从源存储18迁移源数据16中的块到目标存储22中目标数据20中的块的操作。文件系统管理器10在调用迁移操作的命令下执行迁移功能24来完成由迁移管理器12指定的数据的迁移操作。
源存储18和目标存储22可以在同一个存储设备或系统中,或在分离的存储设备或系统中实现。源存储18和目标存储22可以包含任何本领域已知的存储设备,这样一个存储设备或多个相互连接的设备,例如盘驱动器,配置成独立盘冗余阵列(RAID)、简单盘集群(JBOD)、直接访问存储设备(DASD)、带存储设备、例如带库的单一或多个存储单元等。计算机2通过连接26a和26b连接到源存储18和目标存储22。连接26a和26b可以包括任何本领域已知的存储和主机间的接口,比如网络连接(例如以太网、无线网、光纤信道等)或任何其它本领域已知的数据传送接口,比如高级技术附加设备(ATA)、串行ATA(SATA)、小型计算机系统接口(SCSI)等,它们对主机2可以是外部的或内部的。
迁移图28提供了源数据16中的数据单元怎样对应到目标数据20中的单元的信息,使得源数据单元转移到在迁移图28中指示的相应的目标数据单元。迁移管理器12使用迁移图28来确定将收到被迁移的源数据单元的目标数据单元。源数据16可以包括数据库、大文件、数据集、逻辑目录、逻辑卷、文件系统、程序、多媒体文件等。
干涉写列表30包括每个从应用14接收的对作为由迁移管理器12发起的数据迁移操作的一部分正在迁移到目标数据20的源数据16单元的写请求的条目。图2说明了干涉写列表30中的条目50中为来自应用14的写请求维护的信息。条目50包括指示要对其进行写的源数据16的开始的源起始地址52和写的字节长度54,其中开始52和长度54指示在将更新的源数据16中请求的数据或单元。状态域56指示写请求未完成还是已经完成。
图3说明由文件系统管理器10完成的处理对会从一个应用14迁移的源数据16的写请求的操作。图3中的操作可以通过文件系统管理器10执行迁移功能24来实现,其中迁移功能24在执行源数据经受迁移模式的操作时由文件系统管理器10调用。当从应用14接收到(在块100)的对源数据16的写请求时,如果(在块102)写数据不与任何在迁移图28中指示为没有迁移的源数据重叠,那么文件系统管理器10写(在块104)接收到的数据到源数据16和相应的目标数据20。否则如果来自应用14的写数据与迁移图28中指示为还没有迁移的源数据16重叠,那么文件系统管理器10为接收到的写请求增加(在块106)条目50(图2)到干涉写列表30,指示要写的请求的源数据,即,要写入的数据的源开始52和字节长度54的数据,还有初始为未完成的状态56。接收到的数据被写(在块108)到源数据16并且响应对源数据16的写数据的完成,干涉写列表30中的条目50的状态56,即干涉应用写请求的信息,被设置为(在块110)完成。
图4说明了由迁移管理器12执行的实现迁移操作的操作。当发起(在块150)将源数据迁移成目标数据的操作时,迁移管理器12处理(在块152)迁移图28来确定源数据16的迁移到相应的目标数据20的一个或多个单元。迁移管理器12发出(在块154)使文件系统管理器10从源数据16迁移确定的单元到相应的目标数据20的迁移请求。当接收到对迁移请求(在块156)的响应时,如果(在块158)迁移成功,那么迁移管理器12更新(在块160)迁移图28来指示源数据单元已被写并且成功地迁移到相应的目标数据20。当迁移(在块158)不成功,那么确定(在块162)是否应该重试迁移。如果是,控制返回到块154来重新为没有成功迁移的源数据16发出迁移请求。否则,如果迁移没有重试,那么执行(在块164)任何其它的错误处理。
在某些实施方式中,迁移管理器12可以通过提交读命令和例如图5中读缓冲区170的读缓冲区到文件系统管理器10发起迁移操作。在提交读缓冲区时,迁移管理器12会提交指针到读缓冲区170。文件系统管理器10执行管理器功能24来处理来自迁移管理器12的读作为用于读取请求的源数据16和将读取的源数据写到相应的目标存储22中的目标数据20中的特定迁移命令。迁移管理器12开始可以通过例如IOCTL的带外机制警告文件系统管理器10某个数据或存储处于迁移状态。IOCTL可以指定表示要迁移的设备或数据的打开文件描述符和由文件系统管理器10在当I/O命令中声明有源存储18或源数据16时执行以迁移数据的迁移功能24。
管理器功能24可以通过返回指示迁移管理器12提供的读缓冲区170(图5)没有包括所有请求的数据的对来自迁移管理器12的读的响应,指示迁移操作没有完成。为了使迁移管理器12重试迁移操作,迁移功能24可以放置指示迁移管理器12重试迁移操作的迁移重试代码172到迁移管理器12提供的读缓冲区170中。这样,迁移功能24通过提供指示不是所有请求的数据都包括在读缓冲区170中和在读缓冲区170中包含迁移重试代码172的信息的组合,向迁移管理器12指示重试迁移操作。迁移功能24可以通过重写迁移重试代码172所在的位置和在读缓冲区170中写入任何其它识别的错误代码,在读缓冲区170中提供不同的错误代码。这样,迁移管理器12当得到读取没有完成的通知时,可以寻找迁移重试代码172或其它错误代码来处理。
图6说明了在文件系统管理器10调用以处理可以由来自迁移管理器12的读请求发起的迁移请求的迁移功能24中编码的操作。这个读请求可以指示要迁移的源数据16,也可以指示在迁移图28中指示的在哪里写入源数据16的相应的目标数据20。可选地,迁移功能24可以处理迁移图28来确定指示的源数据16要迁移到的相应的目标数据20。迁移功能24处理(在块200)来自迁移管理器12到要迁移的源数据16的迁移请求。在某些实施方式中,这个请求可以包括带有读缓冲区170的到要迁移的源数据16的读请求。如果(在块202)被请求的要迁移的源数据16与具有未完成状态56的干涉写列表30中的任何条目50(图2)重叠,那么迁移功能24返回(在块204)指示重试读操作的响应。在某些实施方式中,重试请求可以通过把迁移重试代码172编码到读缓冲区170并返回指示少于所有请求的数据写入到读缓冲区170的消息来实现。这将保证迁移的源数据16是该数据最当前的版本并且源数据是在任何较新的应用数据应用后迁移的。
如果(在块202)源数据16没有与任何从应用14写入到源数据16的数据重叠,如干涉写列表30中的条目50所指示的,那么源数据16写(在块206)到迁移图28指示的相应的目标数据20位置。如果(在块208)要迁移的源数据16与干涉写列表30中的任何条目重叠,不管状态56(图2)如何,即是未完成或完成,那么重试迁移,因为有可能当迁移发生时,从应用14到迁移的源数据16的未完成写请求未完成或已完成。迁移功能24或一些其它处理然后通过在具有完成状态56的干涉写列表30上去除(在块210)所有的条目对干涉写列表30执行清除操作。迁移功能24进行到块204来重试读操作(如,通过把迁移重 试代码编码到读缓冲区并且返回指示少于所有的数据写入到了读缓冲区的消息。)响应重试读取操作去除(在块210)完成的条目,因为较早完成的干涉写请求不会引起冲突或者写入与重试的迁移操作不一致的数据。
如果(在块208)写入的源数据16没有与来自干涉写列表30中指示的应用14的任何写请求重叠,那么迁移成功并且迁移功能24(或者一些其它进程)去除(在块212)干涉写列表30中具有完成状态56(图2)的所有条目50并且也去除在迁移图28中在写入的源数据之前写入数据的那些条目50。迁移功能24然后给迁移请求返回(在块214)完成。在以读请求发起迁移请求的实施方式中,迁移功能24会给迁移管理器12返回指示读缓冲区170包括所有请求的数据的响应。
按照所述的实施方式,当迁移数据时不需要锁,以至于从应用14的写或从迁移管理器12到有迁移关系的源数据16的迁移操作被允许不使用锁或串行化来完成。这样避免了对应用写请求和迁移操作的延迟,这种延迟在使用锁和串行化时会发生。代替使用锁和串行化,使用某些所述的操作,如果有可能来自应用14的干涉写请求会导致冲突或不一致数据的迁移,那么重试迁移操作。
其它实施方式细节
所述的操作可以作为方法、装置或使用标准的编程和/或工程技术产生软件、固件、硬件或其任何组合的制品来实现。在这里使用的术语“制品”指在硬件逻辑(例如集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等)或例如磁存储介质(例如硬盘驱动器、软盘、带等)、光存储(CD-ROM、光盘等)、易失性和非易失性存贮器设备(例如EEPROM、ROM、PROM、RAM、DRAM、SRAM、固件和可编程逻辑等)的计算机可读介质中实现的代码或逻辑。在计算机可读介质中的代码是通过处理器访问和执行的。优选实施方式以其实现的代码可以进一步通过传输介质或通过网络从文件服务器访问。在这种情况下,实现代码的制品可以包括传输介质,例如网络传输线、无线传输介质、通过空间传播的信号、无线电波和红外线信号等。这样,“制品”可以包括代码所嵌入的介质。另外,“制品”可以包括硬件和包含、处理和执行代码的软件组件的组合。当然,本领域技术人员将认识到在不背离本发明范围的情况下可以对这种配置进行许多修改,并且制品可以包括本领域已知的任何信息承载介质。
所述的操作可以通过电路完成,其中“电路”指硬件或者软件或者它们的组合。用于执行所述实施方式的操作的电路可以包括硬件设备,比如集成电路芯片、可编程门阵列(PGA)和专用集成电路(ASIC)等。电路也可以包括例如集成电路的处理器组件和在例如存贮器的计算机可读介质中的代码,其中代码由处理器执行,以执行所述实施方式的操作。
在某些实施方式中,操作描述为由组件完成,组件例如文件系统管理器10、迁移功能24和迁移管理器12。在可选的实施方式中,所述操作可以由与所述的或附加的组件不同的组件完成。而且,描述为由在内核空间10或用户空间8中的组件执行的操作可以在具有与所述不同的优先级的不同的地址空间中执行。
图3、4和6说明的操作显示了特定的事件以特定的顺序发生。在可选的实施方式中,某些操作可以以不同的顺序执行、修改或去除。而且,可以在上述逻辑中加入步骤并且仍然符合所述的实施方式。而且,这里所述的操作可以顺序地发生或某些操作可以并行地处理。更进一步,操作可以由单一的处理单元或分布的处理单元执行。
上述本发明的各种实施方式的说明的提出是为了说明和描述。它不打算是穷尽的或者要将本发明限制所公开的精确形式。根据上述教义,可能有许多修改和变化。本发明的范围不打算是由该具体描述而是由其所附权利要求限定的。上述说明、例子和数据提供了制造和使用本发明的构成的完全描述。由于在不背离本发明的主旨和范围的情况下可以作出本发明的许多实施方式,因此本发明在于下文所附的权利要求。
为避免疑问,在此贯穿说明书和权利要求书使用的术语“包括”不是要解释成意思“只包括”。

Claims (33)

1、一种将源数据迁移成目标数据的方法,包括:接收用于将应用数据写到还没有迁移成目标数据的源数据中的写请求;产生指示应用数据要写入的源数据的用于该写请求的信息;将应用数据写到源数据中;接收用于将源数据迁移成目标数据的请求;并且响应确定出所请求的要迁移的源数据与所产生的用于一个写请求的信息中指示的源数据重叠,返回重试迁移请求的指示。
2、如权利要求1所述的方法,其中用于写应用数据的写请求来自应用并且迁移请求来自迁移程序。
3、如权利要求2所述的方法,其中应用和迁移程序在用户地址空间执行,并且其中所述接收写请求、产生信息、写所请求的数据、确定重叠和返回重试指示的步骤是由内核地址空间中执行的至少一个进程执行的。
4、如权利要求1、2或3所述的方法,其中所产生的用于一个写请求的信息将应用数据的写状态指示为未完成或者完成,其中重试指示在将要迁移的源数据被转移为目标数据之前并且响应确定出所请求的要迁移的源数据与所产生的用于一个具有未完成状态的写请求的信息中指示的源数据重叠而返回。
5、如前面任何一项权利要求所述的方法,其中所产生的用于一个写请求的信息将写状态指示为未完成或者完成,其中重试指示在要迁移的源数据被转移为目标数据之后并且响应确定出所请求的要迁移的源数据与所产生的用于一个具有未完成或完成状态的写请求的信息中指示的源数据重叠而返回。
6、如权利要求5所述的方法,进一步包括:响应将应用数据写到所产生的用于写请求的信息中指示的源数据中,将所产生的用于一个写请求的信息中的状态设置为完成;其中为该写请求将应用数据写到源数据中和响应迁移请求将源数据迁移成目标数据的操作是相互独立发生的。
7、如前面任何一项权利要求所述的方法,其中重试指示在将要迁移的源数据转移成目标数据之前和将要迁移的源数据转移成目标数据之后响应确定出所请求的要迁移的源数据与所产生的用于一个写的信息中指示的源数据重叠而返回。
8、如前面任何一项权利要求所述的方法,其中所产生的信息将写状态指示为未完成或者完成,所述方法进一步包括:在将源数据迁移成目标数据之后,去除所产生的用于具有完成状态的写请求的信息。
9、如权利要求8所述的方法,进一步包括:响应将要迁移的源数据写到目标数据中,去除所产生的用于对所述要迁移的源数据之前的源数据的写请求的信息。
10、如前面任何一项权利要求所述的方法,其中返回重试迁移请求的指示包括:在对迁移请求的响应中指示请求没有完成;并且在响应中包括指示重试迁移请求的重试代码。
11、如权利要求10所述的方法,其中迁移请求包括来自提供读缓冲区的迁移进程的读请求,并且其中在响应中指示迁移请求没有完成包括指示不是所有请求的数据都包括在读缓冲区中,并且其中重试代码包含在响应读请求而返回的读缓冲区中的预定位置。
12、一种将源数据迁移成目标数据的系统,包括:源存储位置;目标存储位置;存贮器;能够与源和目标存储位置和存贮器通信的电路,其中电路能够执行:(i)接收用于将应用数据写到还没有迁移成目标数据的源数据中的写请求;(ii)在存贮器中产生指示应用数据要写入的源数据的用于写请求的信息;(iii)将应用数据写到源存储位置处的源数据中;(iv)接收将源数据迁移成目标存储位置处的目标数据的请求;以及(v)响应确定出所请求的要迁移的源数据与所产生的用于一个写请求的信息中指示的源数据重叠,返回重试迁移请求的指示。
13、如权利要求12所述的系统,其中用于写应用数据的写请求来自应用并且迁移请求来自迁移程序。
14、如权利要求13所述的系统,其中电路进一步能够执行:产生用户地址空间和内核地址空间,其中应用和迁移程序在用户地址空间执行,并且其中所述接收写请求、产生信息、写所请求的数据、确定重叠和返回重试指示的步骤是由内核地址空间中执行的至少一个进程执行的。
15、如权利要求12、13或14所述的系统,其中所产生的用于一个写请求的信息将应用数据的写状态指示为未完成或者完成,其中重试指示在要迁移的源数据被转移成目标数据之前并且响应确定出所请求的要迁移的源数据与所产生的用于一个具有未完成状态的写请求的信息中指示的源数据重叠而返回。
16、如权利要求12、13、14或15所述的系统,其中所产生的用于一个写请求的信息将写状态指示为未完成或者完成,其中重试指示在要迁移的源数据被转移成目标数据之后并且响应确定出所请求的要迁移的源数据与所产生的用于一个具有未完成或完成状态的写请求的信息中指示的源数据重叠而返回。
17、如权利要求16所述的系统,其中电路进一步能够执行:响应将应用数据写到所产生的用于写请求的信息中指示的源数据中,设置所产生的用于一个写请求的信息中的状态为完成,其中为写请求将应用数据写到源数据中和响应迁移请求将源数据迁移成目标数据的操作是相互独立地发生的。
18、如权利要求12至17任何一项所述的系统,其中重试指示在将要迁移的源数据转移成目标数据之前和将要迁移的源数据转移成目标数据之后响应确定出所请求的要迁移的源数据与在所产生的用于一个写的信息中指示的源数据重叠而返回。
19、如权利要求12至18任何一项所述的系统,其中产生的信息将写状态指示为未完成或者完成,其中电路进一步能够完成:在将源数据迁移成目标数据之后,去除所产生的用于具有完成状态的写请求的信息。
20、如权利要求19所述的系统,其中电路进一步能够执行:响应将要迁移的源数据写到目标数据中,去除所产生的用于对所述要迁移的源数据之前的源数据的写请求的信息。
21、如权利要求12至20任何一项所述的系统,其中返回重试迁移请求的指示包括:在对迁移请求的响应中指示请求没有完成;并且在响应中包括指示重试迁移请求的重试代码。
22、如权利要求21所述的系统,其中迁移请求包括来自提供读缓冲区的迁移进程的读请求,并且其中在响应中指示迁移请求没有完成包括指示不是所有请求的数据被包括在读缓冲区中,并且其中重试代码包含在响应读请求而返回的读缓冲区中的预定位置。
23、一种用于将源数据迁移成目标数据的制品,其中该制品使得执行操作,所述操作包括:接收将应用数据写到还没有迁移成目标数据的源数据中的写请求;产生指示应用数据要写入的源数据的用于写请求的信息;将应用数据写到源数据中;接收将源数据迁移成目标数据的请求;并且响应确定出所请求的要迁移的源数据与所产生的用于一个写请求的信息中指示的源数据重叠,返回重试迁移请求的指示。
24、如权利要求23所述的制品,其中用于写应用数据的写请求来自应用并且迁移请求来自迁移程序。
25、如权利要求24所述的制品,其中应用和迁移程序在用户地址空间执行并且其中所述接收写请求、产生信息、写所请求的数据、确定重叠和返回重试指示的步骤是由内核地址空间中执行的至少一个进程执行的。
26、如权利要求23、24或25所述的制品,其中所产生的用于一个写请求的信息将应用数据的写状态指示为未完成或者完成,其中重试指示在要迁移的源数据被转移成目标数据之前并且响应确定出所请求的要迁移的源数据与产生的用于一个具有未完成状态的写请求的信息中指示的源数据重叠而返回。
27、如权利要求23至26任何一项所述的制品,其中所产生的用于一个写请求的信息将写状态指示为未完成或者完成,其中重试指示在要迁移的源数据被转移成目标数据之后并且响应确定出所请求的要迁移的源数据与所产生的用于一个具有未完成或完成状态的写请求的信息中指示的源数据重叠而返回。
28、如权利要求27所述的制品,其中操作进一步包括:响应将应用数据写到产生的用于写请求的信息中指示的源数据,设置所产生的用于一个写请求的信息中的状态为完成;其中为写请求将应用数据写到源数据中和响应迁移请求将源数据迁移成目标数据的操作是相互独立发生的。
29、如权利要求23至28任何一项所述的制品,其中重试指示在所请求的要迁移的源数据被转移成目标数据之前和将要迁移的源数据转移成目标数据之后响应确定出所请求的要迁移的源数据与所产生的用于一个写的信息中指示的源数据重叠而返回。
30、如权利要求23至29任何一项所述的制品,其中产生的信息将写状态指示为未完成或者完成,其中操作进一步包括:在将源数据迁移成目标数据之后,去除所产生的用于具有完成状态的写请求的信息。
31、如权利要求30所述的制品,其中操作进一步包括:响应将要迁移的源数据写到目标数据中,去除所产生的用于对所述要迁移的源数据之前的源数据的写请求的信息。
32、如权利要求23至31任何一项所述的制品,其中返回重试迁移请求的指示包括:在对迁移请求的响应中指示请求没有完成;并且在响应中包括指示重试迁移请求的重试代码。
33、如权利要求32所述的制品,其中迁移请求包括来自提供读缓冲区的迁移进程的读请求,并且其中在响应中指示迁移请求没有完成包括指示不是所有请求的数据都被包括在读缓冲区中,并且其中重试代码包含在响应读请求而返回的读缓冲区中的预定位置。
CN2005800080043A 2004-06-10 2005-05-10 将源数据迁移成目标数据的方法、系统和程序 Expired - Fee Related CN1934568B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/865,625 US7613889B2 (en) 2004-06-10 2004-06-10 System, method, and program for determining if write data overlaps source data within a data migration scheme
US10/865,625 2004-06-10
PCT/EP2005/052097 WO2005122007A2 (en) 2004-06-10 2005-05-10 Method, system, and program for migrating source data to target data

Publications (2)

Publication Number Publication Date
CN1934568A true CN1934568A (zh) 2007-03-21
CN1934568B CN1934568B (zh) 2012-03-28

Family

ID=34967457

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800080043A Expired - Fee Related CN1934568B (zh) 2004-06-10 2005-05-10 将源数据迁移成目标数据的方法、系统和程序

Country Status (6)

Country Link
US (1) US7613889B2 (zh)
EP (1) EP1754172A2 (zh)
JP (1) JP4738413B2 (zh)
KR (1) KR100962883B1 (zh)
CN (1) CN1934568B (zh)
WO (1) WO2005122007A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010037348A1 (zh) * 2008-09-27 2010-04-08 腾讯科技(深圳)有限公司 数据迁移方法、系统、数据迁移服务器及数据接口服务器
CN101887456A (zh) * 2010-06-30 2010-11-17 百视通网络电视技术发展有限责任公司 一种数据迁移系统和方法
CN102073462A (zh) * 2010-11-29 2011-05-25 华为技术有限公司 虚拟存储迁移方法、系统和虚拟机监控器
CN104021123A (zh) * 2013-02-28 2014-09-03 国际商业机器公司 用于数据迁移的方法和系统
CN111858541A (zh) * 2020-06-29 2020-10-30 广东浪潮大数据研究有限公司 一种分布式文件系统的数据迁移控制方法及相关装置

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7707186B2 (en) * 2004-06-18 2010-04-27 Emc Corporation Method and apparatus for data set migration
US7945613B2 (en) * 2007-12-05 2011-05-17 International Business Machines Corporation Method for non-disruptively associating applications and middleware components with information technology infrastructure
US8015380B2 (en) * 2008-02-01 2011-09-06 International Business Machines Corporation Launching multiple concurrent memory moves via a fully asynchronoous memory mover
US7930504B2 (en) * 2008-02-01 2011-04-19 International Business Machines Corporation Handling of address conflicts during asynchronous memory move operations
US8327101B2 (en) * 2008-02-01 2012-12-04 International Business Machines Corporation Cache management during asynchronous memory move operations
US8356151B2 (en) * 2008-02-01 2013-01-15 International Business Machines Corporation Reporting of partially performed memory move
US8095758B2 (en) * 2008-02-01 2012-01-10 International Business Machines Corporation Fully asynchronous memory mover
US8275963B2 (en) * 2008-02-01 2012-09-25 International Business Machines Corporation Asynchronous memory move across physical nodes with dual-sided communication
US8245004B2 (en) * 2008-02-01 2012-08-14 International Business Machines Corporation Mechanisms for communicating with an asynchronous memory mover to perform AMM operations
US8738872B2 (en) * 2009-04-03 2014-05-27 Peter Chi-Hsiung Liu Methods for migrating data in a server that remains substantially available for use during such migration
US20110246714A1 (en) * 2010-03-30 2011-10-06 Lenovo (Singapore) Pte. Ltd. Migrating client operating systems to remote storage
US9037538B2 (en) * 2010-05-13 2015-05-19 Hewlett-Packard Development Company, L.P. File system migration
US8112665B1 (en) * 2010-07-23 2012-02-07 Netapp, Inc. Methods and systems for rapid rollback and rapid retry of a data migration
US8825715B1 (en) * 2010-10-29 2014-09-02 Google Inc. Distributed state/mask sets
US9128942B1 (en) * 2010-12-24 2015-09-08 Netapp, Inc. On-demand operations
US20120221813A1 (en) * 2011-02-28 2012-08-30 Hitachi, Ltd. Storage apparatus and method of controlling the same
JP5860462B2 (ja) * 2011-03-02 2016-02-16 株式会社日立製作所 計算機システム及びデータ移行方法
US8515919B1 (en) * 2011-05-13 2013-08-20 Symantec Corporation Techniques for optimizing data migration
US9189760B2 (en) * 2012-11-19 2015-11-17 Sap Se System, method and computer readable medium for using performance indicators and predictive analysis for setting manufacturing equipment parameters
US9704118B2 (en) 2013-03-11 2017-07-11 Sap Se Predictive analytics in determining key performance indicators
CN104932986A (zh) * 2014-03-19 2015-09-23 中国移动通信集团公司 一种数据重分布方法及装置
CN105446888B (zh) * 2014-05-30 2018-10-12 华为技术有限公司 存储设备间移动数据的方法、控制器和存储系统
US20160335025A1 (en) * 2015-05-11 2016-11-17 Kaminario Technologies Ltd. Data migration system and method thereof
US10810031B2 (en) * 2015-09-28 2020-10-20 Red Hat Israel, Ltd. Dirty memory tracking with assigned devices by exitless paravirtualization
US11068172B1 (en) * 2015-09-30 2021-07-20 EMC IP Holding Company LLC Optimizing parallel data replication spanning physical storage devices
US10055166B1 (en) * 2016-06-30 2018-08-21 EMC IP Holding Company LLC Method, data storage system and computer program product for managing data copying
US10769074B2 (en) * 2017-11-09 2020-09-08 Microsoft Technology Licensing, Llc Computer memory content movement
US10459849B1 (en) * 2018-08-31 2019-10-29 Sas Institute Inc. Scheduling operations in an access-controlled region of memory
JP7193732B2 (ja) * 2019-04-08 2022-12-21 富士通株式会社 管理装置、情報処理システムおよび管理プログラム
US11221785B2 (en) * 2019-12-03 2022-01-11 Western Digital Technologies, Inc. Managing replication state for deleted objects
CN113127438B (zh) * 2019-12-30 2023-07-28 北京百度网讯科技有限公司 用于存储数据的方法、装置、服务器和介质
KR102405890B1 (ko) * 2020-09-28 2022-06-08 주식회사 데이타커맨드 데이터 초기 복제 방법 및 이를 수행하기 위한 컴퓨팅 장치

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0235537A (ja) * 1988-07-25 1990-02-06 Hitachi Ltd 多重化ボリューム更新制御方式
US5226159A (en) * 1989-05-15 1993-07-06 International Business Machines Corporation File lock management in a distributed data processing system
US5544347A (en) 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5263154A (en) 1992-04-20 1993-11-16 International Business Machines Corporation Method and system for incremental time zero backup copying of data
JPH06119253A (ja) * 1992-10-02 1994-04-28 Toshiba Corp 二重化メモリ制御装置
JP3022011B2 (ja) * 1992-11-27 2000-03-15 三洋電機株式会社 データバックアップシステム
JP3138575B2 (ja) * 1993-09-02 2001-02-26 日本電気株式会社 フアイル複写移行方式
US5727203A (en) * 1995-03-31 1998-03-10 Sun Microsystems, Inc. Methods and apparatus for managing a database in a distributed object operating environment using persistent and transient cache
US5956712A (en) * 1995-06-07 1999-09-21 International Business Machines Corporation Byte range locking in a distributed environment
US5680640A (en) * 1995-09-01 1997-10-21 Emc Corporation System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state
US5933653A (en) * 1996-05-31 1999-08-03 Emc Corporation Method and apparatus for mirroring data in a remote data storage system
US5822780A (en) 1996-12-31 1998-10-13 Emc Corporation Method and apparatus for hierarchical storage management for data base management systems
US6253300B1 (en) 1997-08-20 2001-06-26 Powerquest Corporation Computer partition manipulation during imaging
US6145066A (en) 1997-11-14 2000-11-07 Amdahl Corporation Computer system with transparent data migration between storage volumes
US6260124B1 (en) 1998-08-13 2001-07-10 International Business Machines Corporation System and method for dynamically resynchronizing backup data
JP2000222258A (ja) * 1999-02-04 2000-08-11 Internatl Business Mach Corp <Ibm> データベースの構造を変更する方法、データベース・アクセス要求の制御方法、オンラインシステム、データベース運用支援ミドルウエアを格納する記憶媒体、及び、移行ユーティリティを格納する記憶媒体
IE20000203A1 (en) 1999-03-25 2001-02-21 Converge Net Technologies Inc Storage domain management system
JP4175764B2 (ja) * 2000-05-18 2008-11-05 株式会社日立製作所 計算機システム
US6546457B1 (en) 2000-09-29 2003-04-08 Emc Corporation Method and apparatus for reconfiguring striped logical devices in a disk array storage
US6502170B2 (en) 2000-12-15 2002-12-31 Intel Corporation Memory-to-memory compare/exchange instructions to support non-blocking synchronization schemes
US6745285B2 (en) * 2000-12-18 2004-06-01 Sun Microsystems, Inc. System and method for synchronizing mirrored and striped disk writes
US6799258B1 (en) * 2001-01-10 2004-09-28 Datacore Software Corporation Methods and apparatus for point-in-time volumes
US6496908B1 (en) * 2001-05-18 2002-12-17 Emc Corporation Remote mirroring
US6640291B2 (en) 2001-08-10 2003-10-28 Hitachi, Ltd. Apparatus and method for online data migration with remote copy
JP4168626B2 (ja) * 2001-12-06 2008-10-22 株式会社日立製作所 記憶装置間のファイル移行方法
US6973549B1 (en) * 2001-12-10 2005-12-06 Incipient, Inc. Locking technique for control and synchronization
US6907505B2 (en) 2002-07-31 2005-06-14 Hewlett-Packard Development Company, L.P. Immediately available, statically allocated, full-logical-unit copy with a transient, snapshot-copy-like intermediate stage
US7546482B2 (en) 2002-10-28 2009-06-09 Emc Corporation Method and apparatus for monitoring the storage of data in a computer system
US7447860B1 (en) * 2003-09-29 2008-11-04 Emc Corporation System and method for managing data associated with copying and recovery procedures in a data storage environment
JP4282464B2 (ja) * 2003-12-17 2009-06-24 株式会社日立製作所 リモートコピーシステム
US7222135B2 (en) * 2003-12-29 2007-05-22 Intel Corporation Method, system, and program for managing data migration
US7421537B2 (en) * 2004-03-22 2008-09-02 Intel Corporation Migrating data between storage volumes

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010037348A1 (zh) * 2008-09-27 2010-04-08 腾讯科技(深圳)有限公司 数据迁移方法、系统、数据迁移服务器及数据接口服务器
CN101887456A (zh) * 2010-06-30 2010-11-17 百视通网络电视技术发展有限责任公司 一种数据迁移系统和方法
CN102073462A (zh) * 2010-11-29 2011-05-25 华为技术有限公司 虚拟存储迁移方法、系统和虚拟机监控器
CN102073462B (zh) * 2010-11-29 2013-04-17 华为技术有限公司 虚拟存储迁移方法、系统和虚拟机监控器
US9411620B2 (en) 2010-11-29 2016-08-09 Huawei Technologies Co., Ltd. Virtual storage migration method, virtual storage migration system and virtual machine monitor
CN104021123A (zh) * 2013-02-28 2014-09-03 国际商业机器公司 用于数据迁移的方法和系统
US9619492B2 (en) 2013-02-28 2017-04-11 International Business Machines Corporation Data migration
CN104021123B (zh) * 2013-02-28 2017-10-31 国际商业机器公司 用于数据迁移的方法和系统
CN111858541A (zh) * 2020-06-29 2020-10-30 广东浪潮大数据研究有限公司 一种分布式文件系统的数据迁移控制方法及相关装置

Also Published As

Publication number Publication date
KR100962883B1 (ko) 2010-06-09
EP1754172A2 (en) 2007-02-21
WO2005122007A3 (en) 2006-07-13
JP2008502060A (ja) 2008-01-24
US20050278492A1 (en) 2005-12-15
US7613889B2 (en) 2009-11-03
WO2005122007A2 (en) 2005-12-22
JP4738413B2 (ja) 2011-08-03
CN1934568B (zh) 2012-03-28
KR20070020052A (ko) 2007-02-16

Similar Documents

Publication Publication Date Title
CN1934568B (zh) 将源数据迁移成目标数据的方法、系统和程序
US6018746A (en) System and method for managing recovery information in a transaction processing system
US5375232A (en) Method and system for asynchronous pre-staging of backup copies in a data processing storage subsystem
US5875479A (en) Method and means for making a dual volume level copy in a DASD storage subsystem subject to updating during the copy interval
US5506977A (en) Method and controller for minimizing reads during partial stripe write operations to a disk drive
US7991758B2 (en) System and method for performing a search operation within a sequential access data storage subsystem
US5379398A (en) Method and system for concurrent access during backup copying of data
JP2557172B2 (ja) タイムゼロ・バックアップ・コピー・プロセスにおける副ファイル状態のポーリングのための方法およびシステム
CN1282066C (zh) 计算机系统中用于访问磁带设备的方法和系统
US5765200A (en) Logical positioning within a storage device by a storage controller
US20120079317A1 (en) System and method for information handling system redundant storage rebuild
US20050091455A1 (en) Automated on-line capacity expansion method for storage device
JPH07271521A (ja) 計算機システム
CN101243396B (zh) 用于在虚拟化环境中支持通用串行总线装置的方法和设备
US5548788A (en) Disk controller having host processor controls the time for transferring data to disk drive by modifying contents of the memory to indicate data is stored in the memory
JPH1063437A (ja) 記憶アレー制御機能の統合方法及びプログラム記憶装置
US20060218200A1 (en) Application of log records by storage servers
US6658541B2 (en) Computer system and a database access method thereof
US5293618A (en) Method for controlling access to a shared file and apparatus therefor
US6378052B1 (en) Data processing system and method for efficiently servicing pending requests to access a storage system
CN111291022B (zh) 一种基于区块链的数据存储系统
JPH08328987A (ja) 複数のオペレーティング・システム用のデバイス・サポートを提供するための方法およびシステム
US6557075B1 (en) Maximizing throughput in a pairwise-redundant storage system
EP1668508B1 (en) Method and apparatus for providing copies of stored data for disasters recovery
JPH0830402A (ja) パリティ格納方法

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120328

Termination date: 20150510

EXPY Termination of patent right or utility model