【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及将源数据迁移成目标数据的方法、系统和程序。
技术介绍
为了建立和维护数据的镜像拷贝或将数据转移到目标位置的新位置,例如数据库文件、目录或任何数据组合的存储元素可以从源存储位置迁移到目标存储位置,其中迁移后数据将从该目标位置访问。例如在线或商业数据库系统的转移的许多大规模的数据转移会花费大量的时间以便在网络上迁移。而且,在迁移过程中,系统会需要允许事务处理继续。各种硬件和软件解决方案提供了在数据被迁移时向源和目标位置都传送更新的机制。迁移操作通常包括对源数据的读请求和然后向目标发出写请求。迁移系统必须解决潜在能发生在当发起从应用到源数据的写请求时,源数据正在被迁移成目标数据的冲突。例如,当旧的源数据正在写入时如果接收到新的源数据,那么新的源数据就可能没有迁移到目标位置。一个已知的这个潜在冲突的解决方案是串行化访问源数据,直到应用数据的写或迁移完成,以至在未完成的写或迁移完成之前,任何干涉的应用写和迁移的操作都不允许发生。这延迟了向等待被当前写或迁移操作释放的锁的请求返回完成。这样,串行化防止了在源数据完成到目标数据的写之前当数据正在迁移时执行对源数据的写。而且,如果块发生了更新,那么就延迟对同一块的迁移操作直到更新完成。与串行化有关的延迟能减慢对源数据写操作和将源数据迁移成目标数据的执行。
技术实现思路
提供了将源数据迁移成目标数据的方法、系统和程序。接收用于将应用数据写到还没有迁移成目标数据的源数据中的写请求。为写请求产生指示应用数据要写入的源数据的信息。将应用数据写入到源数据。接收将源数据迁移成目标数据的请求并且响应确定出所请求的要迁移的源 ...
【技术保护点】
一种将源数据迁移成目标数据的方法,包括:接收用于将应用数据写到还没有迁移成目标数据的源数据中的写请求;产生指示应用数据要写入的源数据的用于该写请求的信息;将应用数据写到源数据中;接收用于将源数据迁移成目标数据的请求;并且响应确定出所请求的要迁移的源数据与所产生的用于一个写请求的信息中指示的源数据重叠,返回重试迁移请求的指示。
【技术特征摘要】
【国外来华专利技术】US 2004-6-10 10/865,6251.一种将源数据迁移成目标数据的方法,包括接收用于将应用数据写到还没有迁移成目标数据的源数据中的写请求;产生指示应用数据要写入的源数据的用于该写请求的信息;将应用数据写到源数据中;接收用于将源数据迁移成目标数据的请求;并且响应确定出所请求的要迁移的源数据与所产生的用于一个写请求的信息中指示的源数据重叠,返回重试迁移请求的指示。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所述的系统,其中所产生的用于一个写请求的信息将写状态指示为未完成或者完成,其中重试指示在要迁移的源数据被转移成目标数据之后并且响应确定出所请求的要...
【专利技术属性】
技术研发人员:克里斯多弗约汉斯塔库蒂斯,威廉罗伯特哈塞尔顿,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。