CN104021123B - 用于数据迁移的方法和系统 - Google Patents
用于数据迁移的方法和系统 Download PDFInfo
- Publication number
- CN104021123B CN104021123B CN201310064513.4A CN201310064513A CN104021123B CN 104021123 B CN104021123 B CN 104021123B CN 201310064513 A CN201310064513 A CN 201310064513A CN 104021123 B CN104021123 B CN 104021123B
- Authority
- CN
- China
- Prior art keywords
- source
- location information
- target
- index
- data
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000005012 migration Effects 0.000 title claims abstract description 22
- 238000013508 migration Methods 0.000 title claims abstract description 22
- 238000013507 mapping Methods 0.000 claims abstract description 69
- 239000011159 matrix material Substances 0.000 claims abstract description 44
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000010276 construction Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000005291 magnetic effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000010304 firing Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Software Systems (AREA)
Abstract
本发明公开了一种用于数据迁移的方法和系统。其中所述方法包括:接收中间数据及其键值‑行定位信息映射表;将中间数据的每一行分别导入到目标数据表中对应的每一行,其中目标数据表的每一行具有目标物理行标识;以及基于所述目标物理行标识以及所述键值‑行定位信息映射表,建立所述目标数据表的目标索引。采用本发明的方法或者系统,可以提高在数据迁移后重新建立数据索引的效率。
Description
技术领域
本发明涉及一种数据处理方法,更具体地,涉及一种用于数据迁移的方法和系统。
背景技术
在目前的大数据时代,数据迁移是频繁发生的事情。图2示出了一个典型的数据迁移的过程,其适用于目前商业应用最广泛的各种数据库系统,其从一个源数据库(DB1)中的源数据表(表1)中,将该表中的所有数据都迁移到目标数据库(DB2)中的具有相同结构或者不同结构的目标数据表(表2)中,现有的技术一般步骤是先将源数据表(表1)中的数据导出到一个中间文件中形成中间数据,该中间文件可以采用各种文件的形式,当然也可以采用相关数据库的表的形式,但其数据信息是与源数据表中的数据信息是一致的,比如中间数据的行与内容与源数据表的行是一一对应的,接着从中间文件(MF)中将中间数据导入到目标数据表中(表2),并根据目标数据表重新生成用于对目标数据表进行检索的目标索引。
主流关系数据库中的索引通常都是B+树或B-树。其中树的叶子节点由索引项(index entries)组成,具体索引项结构为键值/行标识集合构成的二元组如:<KeyValue,{RID1,.,RIDn}>,n为自然数,其中键值(KeyValue)就是数据表中被索引的列上(一列或多列)的值,例如:表中有一“省份”列,那么如果对该列建索引的话,其相应索引叶子节点上的键值就可能是:河北、河南、湖北、湖南等,一般会按升序或降序排列。RID(行标识)就是某键值所对应的数据表中的各数据行的标示信息(唯一索引对应一行、非唯一索引可对应多行)。由于其一般对应于某数据行的具体物理存储信息,在数据迁移过程中不可重用。还是用“省份”列索引举例:那么“省份”索引中的典型性叶子节点通常如下所示:
索引叶子项1:<“河北”,{RID1,RID5,RID7,……,RIDj}>,表示键值“河北”分别在第1、5、7、……j行出现,j为自然数;
索引叶子项2:<“河南”,{RID2,RID3,RID6,……,RIDk}>,表示键值“河南”分别在第2、3、6、……k行出现,k为自然数等等。
目前关系型数据库生成索引一般包括如下步骤:
(1)数据库引擎(Database Engine)可以通过遍历(scan)各个数据表,依次抽取各数据行(记录)的索引键值key values并构造相应的“索引叶子项”;
(2)以数据库排序空间为单位,对上述“索引叶子项”进行排序,并将排序后的结果写入磁盘作为“中间排序子序列”。
(3)重复(1)、(2),直至所有数据记录被遍历并将相应索引叶子项写入“中间排序子序列”。
(4)在内存中,对各“中间排序子序列”进行归并(merge)排序并生成一个单排序序列,并用其构建索引。其过程如下:
(a)从各中间排序子序列的第一个索引项中,找到键值最小(大)的索引项,如符合条件的索引项不唯一则进行整合,用键值最小(大)的索引项构建第一个索引叶子节点;
(b)依次处理剩下的键值最小(大)的索引项;当处理的索引项填满第一个索引叶子块后,将其写入磁盘,并开始构建下一个索引叶子块;
(c)在写索引叶子块的同时,构造索引中间节点,并在其填满一个索引块后,将其写入磁盘;
(d)重复步骤(a)、(b)、(c),直至全部索引构造结束。
采用上述传统数据迁移方式存在着这样一个普遍的问题,由于目标数据表中通常存有大量数据,在目标数据表中直接重建索引经常会花费大量时间,以至于严重影响正常业务。
发明内容
本发明提供一种用于数据迁移的方法和系统。
根据本发明的一个方面,提供了一种用于数据迁移的方法,包括:接收中间数据及其键值-行定位信息映射表;将中间数据的每一行分别导入到目标数据表中对应的每一行,其中目标数据表的每一行具有目标物理行标识;以及基于所述目标物理行标识以及所述键值-行定位信息映射表,建立所述目标数据表的目标索引。
根据本发明的另一个方面,提供了一种用于数据迁移的系统,包括:接收装置,被配置用于接收中间数据及其键值-行定位信息映射表;导入装置,被配置用于将中间数据的每一行分别导入到目标数据表中对应的每一行,其中目标数据表的每一行具有目标物理行标识;以及第一目标索引建立装置,被配置用于基于所述目标物理行标识以及所述键值-行定位信息映射表,建立所述目标数据表的目标索引。
采用本发明的方法或者系统,可以提高在数据迁移后重新建立数据索引的效率。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。
图2示出了一个典型的数据迁移的过程。
图3示出了本发明用于数据迁移的方法的基本思路。
图4、5示出了本发明用于数据迁移的方法的具体实施方式。
图6、7示出了具体如何生成中间数据的键值-行定位信息映射表。
图8示出了本发明用于数据迁移的系统框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instructionmeans)的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
正是由于考虑到现有技术的缺陷,本申请人通过长期的实践,发现可以另辟蹊径地基于源数据表的源索引来解决如何加快重建目标索引这个问题。图3示出了本发明用于数据迁移的方法的基本思路。该基本思路是利用源数据库中源数据表上已有的源索引来帮助提高目标数据库目标表上索引的重建效率。源数据表的源索引是无法在目标数据表上直接使用的,其根本原因在于索引叶子项中的行标识是数据行物理存储位置编码,数据迁移过程中物理存储位置的改变必然造成对应的行标识的改变,另外,不同数据库的行标识的编码方式也一般不兼容。但源索引中的逻辑结构对目标数据表重建目标索引有帮助。如果能用某种方法导出的话,可提高目标表索引重建效率。本发明就是另辟蹊径地通过将源索引叶子项中的源物理行标识RID替换成在迁移过程保持不变的中间数据的对应的行定位信息,如表行数据(Table Row Data)在中间文件MF对应的顺序号SN(Sequence Number)—即中间数据的行号,来重用源索引中的逻辑结构,从而构成了如图3示出的键值与行号的一一对应的关系,比如图3示意示出索引键值IK1(Index Key,后面简称键值)对应的是行号3(Num3),当然一个键值还可以对应多个中间数据的行号。转化后的索引项结构如图6所示:<IKj,{SN1,..,SNn}>,j,n为自然数。而由于中间数据与目标数据表中的行号也是一一对应的(当然源数据表中的行号与目标数据的行号其实也是一一对应的),利用键值与不变的行定位信息,再获取目标数据对应的新的物理存储位置,就可以快速重建目标数据表的索引,从而取得了出乎本领域技术人员预料的技术效果。
图4、5示出了本发明用于数据迁移的方法的具体实施方式。在步骤401中,接收中间数据及其键值-行定位信息映射表。其中如在背景技术中所介绍的,迁移数据之前,一般形成中间数据。中间数据可以采用各种文件格式类型来表示,例如分界ASCII文件(DEL)或集成交换格式文件(IXF)等。中间数据的键值-行定位信息映射表是基于源数据表的物理行标识、源数据表的源索引以及对应的中间数据(源数据)行定位信息所形成的,行定位信息可以是中间数据的行号等。申请人在后面结合图6、7来详细说明具体如何生成键值-行定位信息映射表。
在步骤403中,将中间数据的每一行分别导入到目标数据表中对应的每一行,其中目标数据表的每一行具有目标物理行标识。更具体地,如图5所示,在步骤501中,将中间文件中的中间数据的每一行逐一导入到目标数据表2中对应的每一行,虽然源数据表、中间文件以及目标数据表的具体结构可能有所不同,但是其在具体数据内容上是不会改变的,其数据行也是一一对应的。在目标数据库中,目标数据表的每一行数据都会分配有新的目标物理行标识,以表明其具体的存储位置。因此可以在步骤503中记录目标物理行标识,优选地按照目标数据表的行顺序记录所述目标物理行标识从而形成了目标物理行标识序列507,其是按照行顺序依次排列的。优选目标物理行标识序列可以按照表的形式或者数组等方式存储。当然也可以在导入每一行数据时记录一个目标物理行标识从而直接形成一个目标物理行标识序列。
在步骤405中,基于所述目标物理行标识以及所述键值-行定位信息映射表,建立所述目标数据表的目标索引。优选地,利用所述目标物理行标识替换键值-行定位信息映射表中对应的中间数据行定位信息;以及基于替换后的键值-行定位信息映射表建立所述目标数据表的目标索引。优选地,其中所述基于替换后的键值-行定位信息映射表建立所述目标数据表的目标索引包括如在前面所介绍的那样以键值-行定位信息映射表中各行数据作为索引叶子项建立所述目标数据的目标索引。优选地,本发明的一方面还可以将源数据表的源索引导出作为中间索引。值得注意的是,此时的中间索引中的索引叶子项中的物理行标识还是源数据表的物理行标识,不能直接用作目标数据表的目标索引,则可以利用所述目标物理行标识依次替换键值-行定位信息映射表中对应的中间数据行号;以及基于替换后的键值-行定位信息映射表中的目标物理行标识替换所述中间索引的索引叶子项中的源物理行标识从而得到所述目标数据表的目标索引。如此则能更快地建立目标索引。更具体地如图5中的步骤505中形成目标数据表的目标索引:
(1)依次导入键值-行定位信息映射表509的每一行数据<IKj,{SN1,..,SNn}>,j,n为自然数;
(2)根据每一行中的SNi,i为自然数,直接计算在目标物理行标识序列507中的位置地址,获取新的目标物理行标识,并替换相应SNi。举例而言,对于第5行SN5(=5),则找到在目标物理行标识序列507中的第5个目标物理行标识RID5,并将该第5个目标物理行标识RID5的值在键值-行定位信息映射表509中替换掉SN5。这样最后形成的就是键值与新的目标物理行标识的映射表;
(3)最后使用替换后的键值-行定位信息映射表509直接构建目标索引。
图6、7示出了具体如何生成中间数据的键值-行定位信息映射表。在步骤601中,获取源数据表中每一行对应的源物理行标识。正如前面指出的,源数据表中的每一行都对应有其物理存储位置,而这往往被作为其源物理行标识,其与源数据表中的数据行一一对应。因此可以直接获得源数据表中每一行对应的源物理行标识。在步骤603中,基于源物理行标识以及对应的中间数据行定位信息建立源物理行标识-中间数据行定位信息映射表。本发明的一方面需要输出中间数据,而中间数据的行定位信息与源数据的每一行是一一对应的,因此可以将与源数据的每一行对应的源物理行标识同样与中间数据的行定位信息一一对应起来,从而形成了源物理行标识-中间数据行定位信息映射表。在步骤605中,根据源数据表的源索引和源物理行标识-中间数据行定位信息映射表,生成所述键值-行定位信息映射表。源数据表的源索引的索引叶子项中与其键值对应的是源物理行标识,则结合源物理行标识-中间数据行定位信息映射表,将源物理行标识-中间数据行定位信息映射表中的中间数据行定位信息替换源数据表的源索引中的索引叶子项中对应的源物理行号以生成所述键值-行定位信息映射表。更具体地,如图7所示,由源数据表以及源索引生成键值-行定位信息映射表包括:在步骤701中,导出中间数据707;在步骤703中,建立起源物理行标识-中间数据行定位信息映射表709;在步骤705中,利用源索引、源物理行标识-中间数据行定位信息映射表通过将源索引的索引叶子项中的源物理行标识替换为对应的中间数据行定位符,从而生成键值-行定位信息映射表711。
举例而言,替换前:索引叶子项1:<键值1,{RID1,RID2,..,RIDn}>;索引叶子项2:<键值2,{RID5,..,RIDm}>;..;叶子N;替换后:叶子1:<键值1,{SN1,SN2,..,SNn}>;叶子2:<键值2,{SN5,..,SNm}>;…;叶子N’。其中n,m为自然数。
本发明另一方面还提供一种如图8所示的用于数据迁移的系统800。该系统800包括:接收装置801,其被配置用于接收中间数据及其键值-行定位信息映射表;导入装置803,其被配置用于将中间数据的每一行分别导入到目标数据表中对应的每一行,其中目标数据表的每一行具有目标物理行标识;以及目标索引建立装置805,被配置用于基于所述目标物理行标识以及所述键值-行定位信息映射表,建立所述目标数据表的目标索引。上述各个装置的具体实现已经在上面进行了详细说明,在此不再赘述。
优选地,系统800还包括中间数据导出装置,其被配置用于基于源数据表导出中间数据。
优选地,系统800还包括获取装置,其被配置用于获取源数据表中每一行对应的源物理行标识;映射表建立装置,其被配置用于基于源物理行标识以及对应的中间数据行定位信息建立源物理行标识-中间数据行定位信息映射表;生成装置,其被配置用于根据源数据表的源索引和源物理行标识-中间数据行定位信息映射表,生成所述键值-行定位信息映射表。
优选地,其中所述目标索引建立装置包括:第一替换装置,被配置用于利用所述目标物理行标识替换键值-行定位信息映射表中对应的中间数据行定位信息;以及第二目标索引建立装置,被配置用于基于替换后的键值-行定位信息映射表建立所述目标数据表的目标索引。
优选地,其中所述第二目标索引建立装置包括:第三目标索引建立装置,被配置用于以替换后的键值-行定位信息映射表中各行数据作为索引叶子项建立所述目标数据的目标索引。
优选地,所述系统800还包括:中间索引导出装置,被配置用于基于源数据表的源索引导出中间索引。
优选地,其中所述目标索引建立装置包括:第二替换装置,被配置用于利用所述目标物理行标识依次替换键值-行定位信息映射表中对应的中间数据行号;以及第三替换装置,被配置用于基于替换后的键值-行定位信息映射表中的目标物理行标识替换所述中间索引的索引叶子项中的源物理行标识从而得到所述目标数据表的目标索引。
优选地,其中所述生成装置包括:第四替换装置,被配置用于将源物理行标识-中间数据行定位信息映射表中的中间数据行定位信息替换源数据表的源索引中的索引叶子项中对应的源物理行号以生成所述键值-行定位信息映射表。
优选地,其中所述行定位信息是中间数据的行号。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (14)
1.一种用于数据迁移的方法,包括:
接收中间数据及其键值-行定位信息映射表,其中该键值-行定位信息映射表是基于源数据表的物理行标识、源数据表的源索引以及对应的中间数据的行定位信息所形成的;
将中间数据的每一行分别导入到目标数据表中对应的每一行,其中目标数据表的每一行具有目标物理行标识;以及
基于所述目标物理行标识以及所述键值-行定位信息映射表,建立所述目标数据表的目标索引,
其中所述基于所述目标物理行标识以及所述键值-行定位信息映射表,建立所述目标数据表的目标索引包括:
利用所述目标物理行标识替换键值-行定位信息映射表中对应的中间数据行定位信息;以及
基于替换后的键值-行定位信息映射表建立所述目标数据表的目标索引。
2.一种如权利要求1所述的方法,还包括:
基于源数据表导出中间数据。
3.根据权利要求1或2所述的方法,还包括:
获取源数据表中每一行对应的源物理行标识;
基于源物理行标识以及对应的中间数据行定位信息建立源物理行标识-中间数据行定位信息映射表;
根据源数据表的源索引和源物理行标识-中间数据行定位信息映射表,生成所述键值-行定位信息映射表。
4.一种如权利要求1所述的方法,其中所述基于替换后的键值-行定位信息映射表建立所述目标数据表的目标索引包括:
以替换后的键值-行定位信息映射表中各行数据作为索引叶子项建立所述目标数据的目标索引。
5.一种如权利要求1所述的方法,还包括:
基于源数据表的源索引导出中间索引。
6.一种如权利要求5所述的方法,其中所述基于所述目标物理行标识以及所述键值-行定位信息映射表,建立所述目标数据表的目标索引包括:
利用所述目标物理行标识依次替换键值-行定位信息映射表中对应的中间数据行号;以及
基于替换后的键值-行定位信息映射表中的目标物理行标识替换所述中间索引的索引叶子项中的源物理行标识从而得到所述目标数据表的目标索引。
7.一种如权利要求3所述的方法,其中所述根据源数据表的源索引和源物理行标识-中间数据行号映射表,生成所述键值-行定位信息映射表包括:
将源物理行标识-中间数据行定位信息映射表中的中间数据行定位信息替换源数据表的源索引中的索引叶子项中对应的源物理行号以生成所述键值-行定位信息映射表。
8.一种用于数据迁移的系统,包括:
接收装置,被配置用于接收中间数据及其键值-行定位信息映射表,其中该键值-行定位信息映射表是基于源数据表的物理行标识、源数据表的源索引以及对应的中间数据的行定位信息所形成的;
导入装置,被配置用于将中间数据的每一行分别导入到目标数据表中对应的每一行,其中目标数据表的每一行具有目标物理行标识;以及
第一目标索引建立装置,被配置用于基于所述目标物理行标识以及所述键值-行定位信息映射表,建立所述目标数据表的目标索引,
其中所述第一目标索引建立装置包括:
第一替换装置,被配置用于利用所述目标物理行标识替换键值-行定位信息映射表中对应的中间数据行定位信息;以及
第二目标索引建立装置,被配置用于基于替换后的键值-行定位信息映射表建立所述目标数据表的目标索引。
9.一种如权利要求8所述的系统,还包括:
中间数据导出装置,被配置用于基于源数据表导出中间数据。
10.根据权利要求8或9所述的系统,还包括:
获取装置,被配置用于获取源数据表中每一行对应的源物理行标识;
映射表建立装置,被配置用于基于源物理行标识以及对应的中间数据行定位信息建立源物理行标识-中间数据行定位信息映射表;
生成装置,被配置用于根据源数据表的源索引和源物理行标识-中间数据行定位信息映射表,生成所述键值-行定位信息映射表。
11.一种如权利要求8所述的系统,其中所述第二目标索引建立装置包括:
第三目标索引建立装置,被配置用于以替换后的键值-行定位信息映射表中各行数据作为索引叶子项建立所述目标数据的目标索引。
12.一种如权利要求8所述的系统,还包括:
中间索引导出装置,被配置用于基于源数据表的源索引导出中间索引。
13.一种如权利要求12所述的系统,其中所述第一目标索引建立装置包括:
第二替换装置,被配置用于利用所述目标物理行标识依次替换键值-行定位信息映射表中对应的中间数据行号;以及
第三替换装置,被配置用于基于替换后的键值-行定位信息映射表中的目标物理行标识替换所述中间索引的索引叶子项中的源物理行标识从而得到所述目标数据表的目标索引。
14.一种如权利要求10所述的系统,其中所述生成装置包括:
第四替换装置,被配置用于将源物理行标识-中间数据行定位信息映射表中的中间数据行定位信息替换源数据表的源索引中的索引叶子项中对应的源物理行号以生成所述键值-行定位信息映射表。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310064513.4A CN104021123B (zh) | 2013-02-28 | 2013-02-28 | 用于数据迁移的方法和系统 |
US14/191,737 US9619492B2 (en) | 2013-02-28 | 2014-02-27 | Data migration |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310064513.4A CN104021123B (zh) | 2013-02-28 | 2013-02-28 | 用于数据迁移的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104021123A CN104021123A (zh) | 2014-09-03 |
CN104021123B true CN104021123B (zh) | 2017-10-31 |
Family
ID=51389284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310064513.4A Expired - Fee Related CN104021123B (zh) | 2013-02-28 | 2013-02-28 | 用于数据迁移的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9619492B2 (zh) |
CN (1) | CN104021123B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760485A (zh) * | 2016-02-17 | 2016-07-13 | 上海携程商务有限公司 | 财务数据抽取方法及系统 |
US10909120B1 (en) * | 2016-03-30 | 2021-02-02 | Groupon, Inc. | Configurable and incremental database migration framework for heterogeneous databases |
CN107766386B (zh) * | 2016-08-22 | 2023-01-10 | 中兴通讯股份有限公司 | 一种solr数据迁移方法和装置 |
CN106412059A (zh) * | 2016-09-28 | 2017-02-15 | 四川长虹电器股份有限公司 | 无法直接通信的服务器间进行可靠数据转移的方法及系统 |
US10423598B2 (en) * | 2016-10-12 | 2019-09-24 | International Business Machines Corporation | Optimized orchestration of data-migration projects with soft migration costs based on file-specific migration feasibilities |
CN106874389B (zh) | 2017-01-11 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 数据的迁移方法和装置 |
CN106897434A (zh) * | 2017-02-27 | 2017-06-27 | 济南浪潮高新科技投资发展有限公司 | 一种数据导入方法、装置及系统 |
CN110109891B (zh) * | 2018-01-18 | 2023-04-21 | 伊姆西Ip控股有限责任公司 | 用于数据迁移的方法、设备和存储介质 |
CN108304553B (zh) * | 2018-02-01 | 2021-04-27 | 平安普惠企业管理有限公司 | 数据迁移方法、装置、计算机设备和存储介质 |
CN108446315B (zh) * | 2018-02-07 | 2021-11-05 | 中国平安人寿保险股份有限公司 | 大数据迁移方法、装置、设备及存储介质 |
CN110825735B (zh) * | 2019-10-10 | 2023-08-22 | 中国平安财产保险股份有限公司 | 数据表处理方法及相关设备 |
CN112749157A (zh) * | 2019-10-30 | 2021-05-04 | 北京国双科技有限公司 | 数据表的处理方法、装置、存储介质和设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6434558B1 (en) * | 1998-12-16 | 2002-08-13 | Microsoft Corporation | Data lineage data type |
CN1934568A (zh) * | 2004-06-10 | 2007-03-21 | 国际商业机器公司 | 将源数据迁移成目标数据的方法、系统和程序 |
CN1955965A (zh) * | 2005-10-26 | 2007-05-02 | 国际商业机器公司 | 用于数据迁移的装置、系统和方法 |
CN102063500A (zh) * | 2011-01-04 | 2011-05-18 | 北京凯铭风尚网络技术有限公司 | 一种数据迁移的方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2001288757A1 (en) * | 2000-09-01 | 2002-03-13 | Op40, Inc. | System, method, uses, products, program products, and business methods for distributed internet and distributed network services |
US7240066B2 (en) | 2003-05-19 | 2007-07-03 | Microsoft Corporation | Unicode transitional code point database |
US7293040B2 (en) | 2005-02-11 | 2007-11-06 | Sybase, Inc. | System and methodology for database migration between platforms |
US7873675B2 (en) * | 2006-03-17 | 2011-01-18 | Microsoft Corporation | Set-based data importation into an enterprise resource planning system |
US8694472B2 (en) | 2007-03-14 | 2014-04-08 | Ca, Inc. | System and method for rebuilding indices for partitioned databases |
US7987164B2 (en) | 2008-01-09 | 2011-07-26 | Oracle International Corporation | Method and system for speeding up rebuild of user-defined indexes during partition maintenance operations in the database systems |
US9348883B2 (en) * | 2011-06-01 | 2016-05-24 | Clustrix, Inc. | Systems and methods for replication replay in a relational database |
-
2013
- 2013-02-28 CN CN201310064513.4A patent/CN104021123B/zh not_active Expired - Fee Related
-
2014
- 2014-02-27 US US14/191,737 patent/US9619492B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6434558B1 (en) * | 1998-12-16 | 2002-08-13 | Microsoft Corporation | Data lineage data type |
CN1934568A (zh) * | 2004-06-10 | 2007-03-21 | 国际商业机器公司 | 将源数据迁移成目标数据的方法、系统和程序 |
CN1955965A (zh) * | 2005-10-26 | 2007-05-02 | 国际商业机器公司 | 用于数据迁移的装置、系统和方法 |
CN102063500A (zh) * | 2011-01-04 | 2011-05-18 | 北京凯铭风尚网络技术有限公司 | 一种数据迁移的方法及装置 |
Non-Patent Citations (1)
Title |
---|
数据库索引与优化;刘华清 等;《现代计算机(专业版)》;20120630(第2012年第18期);第24-26页 * |
Also Published As
Publication number | Publication date |
---|---|
US20140244654A1 (en) | 2014-08-28 |
CN104021123A (zh) | 2014-09-03 |
US9619492B2 (en) | 2017-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104021123B (zh) | 用于数据迁移的方法和系统 | |
CN107807982B (zh) | 一种异构数据库的一致性校验方法及装置 | |
CN103902698B (zh) | 一种数据存储系统和存储方法 | |
CN104216894B (zh) | 用于数据查询的方法和系统 | |
CN104598376B (zh) | 一种数据驱动的分层自动化测试系统和方法 | |
JP6262874B2 (ja) | データベース実現方法 | |
CN103326732B (zh) | 压缩数据的方法、解压数据的方法、编码器和解码器 | |
CN103793422B (zh) | 基于增强星型模型的立方体元数据及查询语句生成 | |
CN103902653B (zh) | 一种构建数据仓库表血缘关系图的方法和装置 | |
CN103902701B (zh) | 一种数据存储系统和存储方法 | |
CN105630803B (zh) | 文档型数据库建立索引的方法和装置 | |
CN105184482B (zh) | 一种变压器台账数据校验系统及其方法 | |
CN107526743A (zh) | 用于压缩文件系统元数据的方法和设备 | |
CN103902702A (zh) | 一种数据存储系统和存储方法 | |
CN105808170B (zh) | 一种能够修复单磁盘错误的raid6编码方法 | |
CN107526746A (zh) | 管理文档索引的方法和设备 | |
CN107634765A (zh) | 一种物联网编码方法及系统 | |
CN106844288A (zh) | 一种随机字符串生成方法及装置 | |
CN104991741B (zh) | 一种基于键值模型的情境适配电网大数据存储方法 | |
CN106970918A (zh) | 生成国际地址唯一标识符的方法及装置 | |
CN103793401B (zh) | 建立多个数据库表的共享索引的方法及装置 | |
CN103761298B (zh) | 一种基于分布式架构的实体匹配方法 | |
CN106788455B (zh) | 一种基于包的最优局部可修复系统码的构造方法 | |
CN107766519B (zh) | 一种可视化配置数据结构的方法 | |
CN105302889B (zh) | 数据存储结构的转换方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171031 |
|
CF01 | Termination of patent right due to non-payment of annual fee |